FFT (fast fourier transform) matlab default example (need explanation)

4 次查看(过去 30 天)
I try to figure out how the FFT command works on matlab and I came across this example that matlab central gives out at this link http://www.mathworks.com/help/matlab/ref/fft.html
Can somebody explain to me how this code works?? If not all the code than this part of it
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1); %why 2+1 ????
  2 个评论
Yona
Yona 2014-8-27
NFFT/2+1
is equal to
(NFFT/2)+1
in 0:10 you have 11 point because you have the start and stop too. so you need to add another point.
John Bitzios
John Bitzios 2014-8-27
Thanks for the reply Yona! Can you explain the whole thing from top to bottom so I can get the whole picture?? That would help me a lot :)

请先登录,再进行评论。

采纳的回答

Andy L
Andy L 2014-8-27
L is the length of your signal. It is used to determine the time vector t and so on. nextpow2 is used to pad the signal passed to fft - this speeds up it's computation compared to a signal not of that length. Your question RE line 3 was already answered.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by