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 Kommentare

Matt J
Matt J am 3 Dez. 2012
This is closer to the DFT than the FFT.
Azzi Abdelmalek
Azzi Abdelmalek am 3 Dez. 2012
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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 3 Dez. 2012
Bearbeitet: Azzi Abdelmalek am 3 Dez. 2012

0 Stimmen

%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 Kommentare

Azzi Abdelmalek
Azzi Abdelmalek am 3 Dez. 2012
compare the result with fft(x), it's the same
ayman osama
ayman osama am 3 Dez. 2012
thank u for help

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Fourier Analysis and Filtering finden Sie in Hilfe-Center und File Exchange

Produkte

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by