How can I get more delicate FFT ?
1 view (last 30 days)
Show older comments
Hello
I have FFT and Power Spectrum density codes but it's not working in a condition that I want.
My codes can extract frequencies each 0.5Hz steps
only at the condition which data time point is 2 times more than sampling rate,
for example, sampling rate = 1000 and data time point =2000.
But when data time point is same with sampling rate or less,
I can't extract frequencies in each 0.5Hz.
Is there any codes recommended to extract frequencies what I want to do?
2 Comments
Adam
on 12 Apr 2018
Edited: Adam
on 12 Apr 2018
You can pad your signal, or equivalently use a larger FFT-size to get information at different frequencies than those that would come from the standard set of frequencies you would get just from using the signal length as the FFT size. I have generally always used the next power of 2 up from my signal length as an FFT size, but I think with modern FFT algorithms the speed increase from using a power of 2 (which was the original motivation) is not really much of a factor now anyway.
It is worth understanding well what this gives you though as you can't magically increase the resolution even though it visually looks like you are doing. You can get a finer range of frequencies though that allows you to resolve e.g. 0.5Hz from 1.5Hz as oppose to 1Hz from 2Hz.
This article is well worth reading and did a lot to improve my understanding of the subtle differences you get from different changes you can make with an FFT,
Answers (0)
See Also
Categories
Find more on Parametric Spectral Estimation in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!