what is the peak amplitude of fft?
40 views (last 30 days)
Show older comments
Hi, I have a theoretical question about FFT. I'm trying to use fft to process some datas that I got with an accelerometer. I've already applied a low pass filter to my signal to reduce noise and also applied a flat top window in order to have the most accurate amplitude possible. Doing this I obtain a quite nice spectrum with only one peak at the frequency that I'm interested in, which is what I'm supposed to obtain by the way. Now the question is, and it's a question that probably comes from my low understanding of FFT, is the FFT peak amplitude supposed to be the same value as the max amplitude of the original signal? Or is it supposed to be something else? FFT is something that I've wrapped my head around only in the last few weeks for a uni project without really knowing much about it. Thank you in advance for you help.
3 Comments
Answers (1)
William Rose
on 18 May 2024
The peak amplitudes of a signal in the time and frequency domains are different.
This is true even when there is just a single sinusoid. For example, here is a singe-sinusoid signal with peak=1 in the time domain, and peak=6 in the frequency domain.
t=0:11; f=0:1/12:11/12;
a=1; x=a*cos(2*pi*t/12);
X=fft(x); % X=FFT of x
Xos=[X(1);2*X(2:6)]; % one-sided amplitude spectrum
subplot(211), plot(t,x,'-r.')
xlabel('Time'); ylabel('Amplitude');
subplot(212), plot(f,abs(fft(x)),'-b.')
xlabel('Frequency'); ylabel('Amplitude');
Another issue that makes it not useful to compare the peaks in the time and frequency domains is that there is more than one way to normalize the FFT. The default normalization is shown above.
An alternative representation of the frequency contenbt of a signal is the one-sided spectrum - in which the amplitudes are shown for frequencies from 0 up to fs/2=half the sampling frequency. This is popular because the Fourier transform of a real signal is conjugate-symmetric about fs/2. When presenting a single-sided spectrum, one multiplies the FFT amplitudes by 2, except at f=0 and f=fs/2, where the amplitudes are left unchanged. If I had plotted the single-sided amplitude spectrum, there would be one peak, not two, and its amplitude would be 12, not 6.
There are also other approaches to normalizing the FFT.
I mention the different normalization approaches in order to emphasize the fact that the amplitudes in the time and frequency domains are not directly comparable.
By the way, I have also examined accelerometer data in the frequency domain, for the cranium during soccer heading, and for the lower extremity while figure skating, and while running.
0 Comments
See Also
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!