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 Comments

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

Sign in to comment.

 Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 3 Dec 2012
Edited: Azzi Abdelmalek on 3 Dec 2012
%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 Comments

compare the result with fft(x), it's the same
thank u for help

Sign in to comment.

More Answers (0)

Products

Tags

Community Treasure Hunt

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

Start Hunting!