假設(shè)采樣頻率為Fs,信號(hào)頻率F,采樣點(diǎn)數(shù)為N。那么FFT之后結(jié)果就是一個(gè)為N點(diǎn)的復(fù)數(shù)。每一個(gè)點(diǎn)就對(duì)應(yīng)著一個(gè)頻率點(diǎn)。這個(gè)點(diǎn)的模值,就是該頻率值下的幅度特性。具體跟原始信號(hào)的幅度有什么關(guān)系呢?假設(shè)原始信號(hào)的峰值為A,那么FFT的結(jié)果的每個(gè)點(diǎn)(除了第一個(gè)點(diǎn)直流分量之外)的模值就是A的N/2倍。而第一個(gè)點(diǎn)就是直流分量,它的模值就是直流分量的N倍。而每個(gè)點(diǎn)的相位呢,就是在該頻率下的信號(hào)的相位。
由于奈奎斯特(Nyquist)采樣定理, 采樣頻率為Fs的采樣信號(hào), 只能重建原信號(hào). 所以, 頻譜橫坐標(biāo)的最大值只能是Fs/2. 即有效的點(diǎn), 為前 N/2 個(gè)點(diǎn), 后面 N/2 個(gè)點(diǎn)是前面一般的簡(jiǎn)單重復(fù). 即模值的A/2的來(lái)源.
而頻率分辨率即:
例如某點(diǎn)n所表示的頻率為:Fn=(n-1)*Fs/N。由上面的公式可以看出,F(xiàn)n所能分辨到頻率為為Fs/N,如果采樣頻率Fs為1024Hz,采樣點(diǎn)數(shù)為1024點(diǎn),則可以分辨到1Hz。1024Hz的采樣率采樣1024點(diǎn),剛好是1秒,也就是說(shuō),采樣1秒時(shí)間的信號(hào)并做FFT,則結(jié)果可以分析到1Hz,如果采樣2秒時(shí)間的信號(hào)并做FFT,則結(jié)果可以分析到0.5Hz。如果要提高頻率分辨力,則必須增加采樣點(diǎn)數(shù),也即采樣時(shí)間。頻率分辨率和采樣時(shí)間是倒數(shù)關(guān)系。
附: fft_understand.m
Fs = 15000; % Sampling frequency
T = 1/Fs; % Sampling period
L = 1024; % Length of signal
t = (0:L-1)*T; % Time vector
f1 = 1500;
f2 = 2500;
n = 0:L-1;
S = 0.7*cos(2*pi*f1*t) + sin(2*pi*f2*t);
Y = fft(S);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L; % Define the frequency domain f
plot(f,P1)
title('Single-Sided Amplitude Spectrum of S(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')