Extracting amplitude of signal from FFT plot

fftsignal processing

I am busy with to extract peak amplitude of a noisy 1 hz signal. As you can see the image, the signal is very noisy.1Hznoisy signal I need its average amplitude peak value. However i can easily and perfectly find its frequency from FFT plot (i can find it after some smoothing algorithm). My aim is to reach average peak amplitude of this periodic signal. So can i extract peak amplitude value by using maximum amplitude of FFT plot?
If yes, how? Inverse FFT?
Thanks a lot,
Cem

Best Answer

This looks rather similar to this MATLAB example. The maximum of the FFT plot is the estimated amplitude (perhaps with a scaling factor).

Note the ~10% error in the amplitude estimation of the 120Hz signal- not coincidentally it's higher by the noise floor. Perhaps you can estimate the noise floor if it's reasonably flat in your case and subtract it to get a better estimate. More samples will also help, but at 1Hz it may take quite a long time.

enter image description here