http://blog.csdn.net/sunfoot001/archive/2010/09/22/5900917.aspx
fft譜分析中的柵欄效應和頻譜泄露
柵欄效應:
對采樣信號的頻譜,為提高計算效率,通常采用FFT算法進行計算,設數(shù)據(jù)點數(shù)為:
N = T/dt = T.fs
則計算得到的離散頻率點為:
Xs(fi) , fi = i.fs/N , i = 0,1,2,.....,N/2
這就相當于透過柵欄觀賞風景,只能看到頻譜的一部分,而其它頻率點看不見,因此很可能使一部分有用的頻率成份被漏掉,此種現(xiàn)象被稱為柵欄效應。
比如,通過以下的實驗可以看到柵欄效應:
實驗內容為用505Hz正弦波信號的頻譜分析來說明柵欄效應所造成的頻譜計算誤差。
設定采樣頻率:fs=5120Hz,軟件中默認的FFT計算點數(shù)為 512,其離散頻率點為:
fi = i.fs/N = i.5120/512=10 , i= 0,1,2,....,N/2
位于505Hz 位置的真實譜峰被擋住看不見,看見的只是它們在相鄰頻率500Hz或510Hz處能量泄漏的值。
若設 fs=2560Hz,則頻率間隔df=fs/N=5Hz,重復上述分析步驟,這時在505位置有譜線,我們就能得到它們的精確值。
從時域看,這個條件相當于對信號進行整周期采樣,實際中常用此方法來提高周期信號的頻譜分析精度。
頻譜泄露:
工程實際中能觀測到的信號不可能是無限長的,只能從某時刻開始觀測有限時間長度T的一段,這就相當于用一個窗函數(shù)對信號進行截斷:

xs(t)=x(t).u(t)
截斷后信號的頻譜為:
Xs(f)=X(f)*U(f)
若x(t)為一單一成份的正弦函數(shù),u(t)為矩形窗函數(shù)
clc;
fs=1024;%采樣頻率為1000Hz;
N=2048;
t=0:1/fs:N/fs;%
x=3*cos(2*pi*56*t)+2*cos(2*pi*23*t);%產(chǎn)生正弦波信號;
subplot(2,1,1)
%plot(t(1:50),x(1:50));%畫出時域內的信號前50個采樣點;
plot(t(1:256),x(1:256));
Y=fft(x,N); %對X進行512點的傅立葉變換;
Y1=abs(Y);
Y2=Y1/(N/2);%換算成實際的幅度
f= (0:N)*fs/N; %設置頻率軸(橫軸)坐標,1000為采樣頻率;fs/N是每個采%樣點對應的頻率,*(0:N)為了讓頻率從0開始表示。
subplot(2,1,2)
plot(f(1:N/2),Y2(1:N/2));%畫出頻域內的信號
%%%%%%%%%%%%%%%%%wln%%%%%%%%%%%%%%%%%%%%%%%%
頻率分辨率------------可以分辨出的頻率最小間隔
對于t=0:1/fs:N/fs;其實寫成t=0:1/fs:t0;t0>=N/fs好理解,這只是時間上的設置,與頻譜泄露無關,只要t0>=N/f就行;但我們主要是為了求FFT的,故時間上寫成t=0:1/fs:N/fs
采樣頻率確定為fs,原信號頻率為f0,fs>=2f0,信號的分辨率比如對于x=3*cos(2*pi*504*t)+2*cos(2*pi*203.5*t);只有頻率分辨率達到0.5,才能盡量減少頻譜泄露。
采樣頻率fs=1024,采樣點數(shù)為N=2048,則某點n所表示的頻率為:Fn=(n-1)*fs/N,F(xiàn)n所能分辨到頻率為為fs/N=0.5??梢浴?/p>
%%%%%%%%%%%%%%%%%wln%%%%%%%%%%%%%%%%%%%%%%%%
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/sunfoot001/archive/2010/09/22/5900917.aspx
愛華網(wǎng)


