How to decrease frequency resolution by keeping RMS same in MATLAB
9 views (last 30 days)
Show older comments
Hello, I am having the FFT of a signal with 0.1 Hz resolution with total frequency range of 0Hz to 500Hz (Sampling rate is 1000Hz, time signal length is 10sec), but i want FFT with 0.390016Hz resolution, how can i perform this change in MATLAB, as i am new to MATLAB, any help in this regard would be much appreciated, thanks in advance
0 Comments
Accepted Answer
dpb
on 25 Jun 2021
Frequency resolution is solely dependent upon the sample rate and number of FFT points used -- you since the number of points is an integer you may/may not be able to hit the exact frequency spacing to the full precision, but can get close...
Fs=1000;
dfWanted=0.390016;
NFFT=Fs/2/dfWanted;
>> NFFT
NFFT =
1.281998687233344e+03
>>
Hence, your closest N for the desired frequency resolution would be
>> round(NFFT)
ans =
1282
>>
and the actual df you'll get will be
>> Fs/2/1282
ans =
0.390015600624025
>>
9 Comments
dpb
on 29 Jun 2021
Interesting, indeed. Be curious how that would/does compare to the idea of converting back to time domain and recomputing. I note they don't give any real examples of measured signals
More Answers (0)
See Also
Categories
Find more on Signal Processing Toolbox 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!