Other ways to improve fft amplitude

2 views (last 30 days)
Are there any other ways to improve the amplitude accuracy of fft, other than filtering the signal and using a flat top window, which I've already tried? Thank you in advance.

Accepted Answer

Star Strider
Star Strider on 24 Apr 2024
Another option may be to zero-pad the fft using:
Fs = signal_sampling_frequency
L = signal_length;
NFFT = 2^nextpow2(L)
FTsignal = fft(signal.*window, NFFT)/sum(window)
Fv = Fs*(0:(NFFT/2))/NFFT; % Frequency Vector
or something similar.
Increase ‘NFFT’ by powers-of-2 (for the most efficient results) to increase the frequency resolution of the result. This may reduce spectral leakage, since that may also improve the amplitude (magnitude) estimation. Experiment with this to see if it works in your situation.
  4 Comments
Star Strider
Star Strider on 24 Apr 2024
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.

Sign in to comment.

More Answers (0)

Categories

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

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!