FFT時域與頻域的關系,以及采樣速率與采樣點的影響


首先對於FFT來說,輸入的信號是一個按一定采樣頻率獲得的信號序列,而輸出是每個采樣點對應的頻率的幅度(能量)。

下面詳細分析:

在FFT的輸出數據中,第一個值是直流分量的振幅(這樣對應周期有無窮的可能性),而第2個對應第一個采樣點,第3個對應第二個...第n個對應第n-1個采樣點。而且這些采樣點是有對稱的關系的,即:X(i) = X(n-i)。所以只需要關注前N/2個采樣點就可以了,而每個采樣點與頻率的關系有下面公式給出:Fn = (n-1)*Fs/N, Fs采樣頻率;Fn頻率;n采樣點;N采樣總數

同時得到信號周期:Tn = N/((n-1)*Fs)

我們借助這個公式我們來分析一下采樣頻率與采樣點對輸出頻率分辨率的影響,很明顯Fs(頻率采樣率)越低,N(采樣點)越多輸出頻率分辨率越高,這樣我們考慮到時域,頻率分辨率越高,時間分辨率反而越低。。。

下面看兩個例子:

例一:

>> A = [1,2,1,2,1,2];
>> fft(A)

ans =

9 0 0 -3 0 0

這里第一個點的頻率為0,對應的數字是9,序列A很可能沒有周期,還有一個可能是-3對應的周期,-3對應采樣點為n=4,默認Fs=1,所以周期為T = 6/(3*1) = 2;

例二:

Fn = 5;
N = 300;
Fs = 40;
t = [0:1/Fs:N/Fs];
S = cos(2*pi*Fn*t);
abs(fft(S));
plot(abs(fft(S)));

這里信號頻率為:Fn = 5。我們通過計算當n=37.5是對應的頻率為5。

但是運行上面的程序,在n=39對應的采樣點處得到峰值(峰值對應原信號的頻率),這里不准確是由於頻率分辨率的精度的問題,可以通過改變Fs或者N來解決這個問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM