fft second argument function matlab
Show older comments
Hi,
To do the fft I noticed in my homework the second argument is the sampling frequency but I don't understand why. Anyone with a simple explanation? Thank you.
Answers (2)
Are you talking about the built-in function fft? Then the 2nd argument is not the sampling frequency. See https://www.mathworks.com/help/matlab/ref/fft.html:
Y = fft(X,n) returns the n-point DFT.
The meaning of n is explained by the formula: https://www.mathworks.com/help/matlab/ref/fft.html#buuutyt-6: It is the sum over n elements.
If you do not mean the built-in fft function, please explain this, because then the readers cannot know, what you are talking about.
2 Comments
Nuchto
on 16 Dec 2017
Jan
on 17 Dec 2017
Well, this might make sense, or in other words, this need not be nonsense. Of course you can use the sampling frequency to define the number of elements for the Fourier transformation. The question is, if you really want this. So please explain, what this code line should achieve. Without knowing this detail, it is impossible to decide, if the code is correct or not. If e.g. winLength is 1, calling fft is nonsense.
Star Strider
on 16 Dec 2017
0 votes
Your function returns a segment of length ‘winLength’ of the data, and (apparently) calculates the Fourier transform of length ‘Fs’. Here, 'Fs' is most likely a 1-second window of the signal.
8 Comments
Nuchto
on 16 Dec 2017
Star Strider
on 17 Dec 2017
It depends on what ‘fs’ is. It likely defines the frequency vector, and therefore is important in producing an accurate estimate (or plot) of the Fourier transformed signal in the frequency domain.
Nuchto
on 17 Dec 2017
Star Strider
on 17 Dec 2017
I agree.
The core MATLAB fft function simply returns the Fourier transform. I have no idea what your function is doing.
Nuchto
on 17 Dec 2017
Star Strider
on 17 Dec 2017
Without seeing the code in the function, it is impossible to tell. If it is the length of the Fourier transform, then that limits the signal window to one second.
Nuchto
on 17 Dec 2017
Star Strider
on 17 Dec 2017
I am aware of that.
If you use the sampling frequency ‘fs’ as the length of the Fourier transform, you may not get all the frequency resolution you otherwise would if your signal is more than one second long. I always use either the length of the signal, or nextpow2 of the length to specify the Fourier transform length.
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!