simple fft code problem

x=rand(1,8);
for k=1:8
for m=1:8
l(m)=x(m)*exp(-i*2*pi*k*m/8);
end
X(k)=sum(l);
end
X=X
I used this code to implement the fast Fourier transform but it didn't work. Is there any help?

2 件のコメント

Matt J
Matt J 2012 年 12 月 3 日
This is closer to the DFT than the FFT.
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 12 月 3 日
It's right, this is 'nt FFT algorithm, but the FFT is just a faster way to calculate a DFT. the result will be the same

サインインしてコメントする。

 採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2012 年 12 月 3 日
編集済み: Azzi Abdelmalek 2012 年 12 月 3 日

0 投票

%k and m start at 0
x=rand(1,8);
for k=0:7
for m=0:7
l(m+1)=x(m+1)*exp(-i*k*m*pi/4);
end
X(k+1)=sum(l);
end
%or
R=exp(-i*2*pi/8)
k=0:7;
XX=exp(-i*pi/4).^(k'*k)*x'
Remark: for big array, you must use FFT algorithm

2 件のコメント

Azzi Abdelmalek
Azzi Abdelmalek 2012 年 12 月 3 日
compare the result with fft(x), it's the same
ayman osama
ayman osama 2012 年 12 月 3 日
thank u for help

サインインしてコメントする。

その他の回答 (0 件)

製品

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by