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

2 views (last 30 days)
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 Comments
Yona
Yona on 27 Aug 2014
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 on 27 Aug 2014
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 :)

Sign in to comment.

Accepted Answer

Andy L
Andy L on 27 Aug 2014
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.

More Answers (0)

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!