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 个评论

This is closer to the DFT than the FFT.
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
%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 个评论

compare the result with fft(x), it's the same
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