what is the peak amplitude of fft?

40 次查看(过去 30 天)
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 个评论
Claudio Gerosa
Claudio Gerosa 2024-4-23
Thank you very much. It is much clearer now.

请先登录,再进行评论。

回答(1 个)

William Rose
William Rose 2024-5-18
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.

类别

Help CenterFile Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by