摘 要: 闡述了現(xiàn)代信號處理的具體過程,分析了在頻域中對信號進行頻譜分析時產生頻譜泄漏現(xiàn)象的原因。在分析研究傳統(tǒng)的減小頻譜泄露所采取的手段的基礎上,進一步提出了如何通過合適窗函數(shù)的選擇以減小頻譜泄露對信號分析的影響,探討了提高頻譜分析質量的方法,并給出了相應的Matlab仿真結果。
??? 關鍵詞: 窗函數(shù);頻譜泄露;頻譜分析
?
在現(xiàn)代信號處理中,由于信號的頻域分析比時域分析具有更加清晰的物理概念和深刻含義,因而在信息技術領域FFT運算和頻譜分析是一種常用的分析手段[1]。對信號進行頻譜分析首先需要通過信號的傅里葉變換計算出信號對應的頻譜函數(shù)。但是由于實際應用中接觸到的大量非周期連續(xù)信號x(t)的頻譜函數(shù)X(jω)是連續(xù)函數(shù),利用計算機對其進行頻譜分析時往往需要對信號進行離散化處理以近似分析相應的頻譜。在離散化處理過程中由于被處理信號的有限記錄長度和時域、頻域的離散性往往造成在頻譜分析中會出現(xiàn)一些特殊的效應:混疊現(xiàn)象、泄漏現(xiàn)象和柵欄現(xiàn)象。本文主要結合信號分析中常用的窗函數(shù),針對頻譜分析中出現(xiàn)的泄漏現(xiàn)象進行分析研究,給出減小頻譜泄露的辦法以提高頻譜分析的質量。
1 泄露現(xiàn)象產生機理分析
利用離散傅里葉變換分析連續(xù)非周期信號x(t)的傅里葉變換X(jω),需要對于x(t)進行如圖1所示的離散化處理(其中Hr(jω)為重建低通濾波器)。設x[k]表示對連續(xù)信號x[t]的等間隔T抽樣得到的離散信號[2],亦即:x[k]=x(t)|t=kT,則離散信號x[k]的離散時間傅里葉變換X(ejω)與連續(xù)信號x(t)的傅里葉變換X(jω)的關系為:


其中ωsam=2π/T=2πfsam表示對連續(xù)信號抽樣的角頻率,fsam為抽樣頻率,ω為模擬角頻率,Ω為數(shù)字角頻率。由(1)式可知,X(ejΩ)是X(jω)的周期化,且周期是2π??梢娫跐M足抽樣定理的前提下,采用離散手段分析連續(xù)信號的頻譜X(jω)時,可以將x(t)經(jīng)等間隔T抽樣得到序列x[k],再對x[k]進行N點的離散傅里葉變換,得到X(ejΩ)在[0,2π)上N個頻譜抽樣點X[m],從而得到X(jω)的頻譜信息。
??? 如果連續(xù)信號x(t)在時域為無限長,在對其進行離散化處理后得到了離散序列x[k]也同樣為無限長序列,則無法使用DFT分析,在具體的信號處理過程中往往采取對獲得的離散序列x[k]進行時域加窗截短處理,使之成為有限長序列xN(k),即:
??? 
其中wN[k]為窗函數(shù)。
??? 在信號的加窗處理過程中,常用的窗函數(shù)主要有矩形窗和漢明窗(Hamming)、漢寧窗(Hanning)、布萊克曼窗(Blackman)等非矩形窗,不同的窗函數(shù)在信號處理中對譜函數(shù)質量的影響很大[3],因此合理地選擇窗函數(shù)在信號的處理中顯得尤為重要。
??? 使用長度為N的矩形窗函數(shù)RN[k]對離散序列x[k]加窗,相當于對序列x[k]直接截斷,對于(2)式,采用矩形窗函數(shù)RN[k]加窗后所得序列xN[k]的頻譜XN(ejΩ)為:
??? 
??? 其幅度譜如圖2所示。從圖中可以看出,矩形窗的幅度譜函數(shù)主要是高度為N的主瓣以及若干個幅度較小的旁瓣組成,頻譜中的旁瓣主要是由于矩形窗在兩個端點突然截斷而在譜中產生的高頻分量引起的。因而在利用矩形窗對信號進行加窗處理時,得到的譜函數(shù)會以譜的實際頻率值為中心,以窗函數(shù)頻譜波形的形狀向兩邊擴散,這樣就產生了在頻譜分析中所謂的“頻譜泄露”現(xiàn)象。

2 泄露現(xiàn)象的消除
??? 泄漏現(xiàn)象的產生主要是由于窗函數(shù)的突然截斷信號在譜函數(shù)中產生旁瓣而引起的,對于矩形窗函數(shù)的幅度譜|WN(ejΩ)|,其主瓣峰值和第一旁瓣峰值的比值為:
??? 
譜函數(shù)中主瓣的幅值與旁瓣幅度的比值越大則泄漏現(xiàn)象對信號頻譜分析的影響就越小。增加窗信號窗口的寬度N可以增加主瓣的高度,減小其寬度,改善頻譜的分辨率[4]。
設待分析連續(xù)信號為x(t)=cos(2πft),其中f=100 Hz,設采樣頻率fsam=600 Hz,采用矩形窗對其進行加窗截短,采樣長度分別為32和64,利用Matlab軟件可以得到如圖3所示的仿真結果。

?? 由仿真可以看出,增加窗信號窗口的寬度N可以減小WN(ejΩ)的主瓣寬度,改善頻譜分辨率,但是減小主瓣寬度同時也降低了窗函數(shù)抑制雜波的能力;再者增加N也會增加旁瓣的能量,影響信號中弱信號頻率分量的分辨,有時甚至導致更多的頻率泄露,可見單純地增加窗口寬度N并不能真正意義上地減小頻率泄漏現(xiàn)象。
由于泄露現(xiàn)象是由窗函數(shù)突然截斷信號x[k]而引起的,采用如圖4所示幅度逐漸減小的非矩形窗對信號進行加窗[5],由于信號x[k]是被逐漸截斷,在一定程度上可以減小泄露對頻譜分析的影響。
?

對于同樣連續(xù)信號x(t)=cos(2πft),采用長度為N=32,分別用矩形窗和漢寧窗對其進行加窗截短,利用Matlab軟件可以得到如圖5所示的仿真結果[6]。從仿真圖可以看出采用漢寧窗進行加窗截短比采用矩形窗在得到的頻譜中頻率的泄露要小,但是其頻譜的主瓣幅值相對減小,頻譜的分辨率將被降低。

??? 當然還可以采用其他幾種幅度逐漸減小的非矩形窗函數(shù)如漢明窗或者布萊克曼窗對信號進行加窗處理。對于漢明窗,其窗函數(shù)的幅度譜旁瓣的最大泄露為-41dB,大于漢寧窗的-21dB,衰減效果較為明顯,但是其遠隔旁瓣的衰減速度僅為-2dB/個,遠遠小于漢寧窗的-6dB/個,因而從整體處理效果來看,選擇漢寧窗對信號進行截短處理要比采用漢明窗效果更好。對于布萊克曼窗雖然旁瓣的衰減大,但計算相對復雜,因而采用布萊克曼窗對信號進行加窗處理往往會使頻譜分析趨于復雜化。
? 連續(xù)信號的離散化頻譜分析不僅有頻率泄露現(xiàn)象,同時還會出現(xiàn)諸如混疊和柵欄現(xiàn)象,對于混疊可以采用在抽樣前添加抗混疊濾波器的方式進行處理[7],以提高頻譜的分析精度。而對于柵欄現(xiàn)象可以在譜函數(shù)XN(ej?贅)中抽取更多的樣點值,在序列xN[k]后補零構成一個L>N序列xL[k],將序列人為地改為L點,改變采樣點的位置,使各采樣點的間隔更小,從而提高頻率檢測的精度[8],減小柵欄現(xiàn)象對頻譜分析的影響。
??? 本文針對連續(xù)信號在頻域分析中常常出現(xiàn)的頻譜泄漏現(xiàn)象產生的原因進行了分析研究,提出了在頻譜分析中減小頻譜泄露的方法與途徑,給出了Matlab軟件的仿真結果。采用此種處理手段可以使信號的頻譜分析精度更準確,函數(shù)譜更加貼近實際,處理效果更加理想。
參考文獻
[1] 丁玉美,高西全.數(shù)字信號處理[M].西安:西安電子科技大學出版社,2000.
[2] 程佩青.數(shù)字信號處理教程第二版[M].北京:清華大學出版社,2001.
[3] 陳敏歌.基于窗函數(shù)法的FIR數(shù)字濾波器的設計[J].陜西師范大學學報,2007,35:72-74.
[4] 陳衛(wèi)東,楊紹全.加窗離散傅里葉變換測頻分辨率研究[J].西安電子科技大學學報,2000,27(2):157-160.
[5] 許珉,張鴻博.基于Blankman-harris窗的加窗FFT插值修正算法[J].鄭州大學學報,2005,26(4):99-101.
[6] 陳懷琛,吳大正.Matlab及在電子信息課程中的應用第二版[M].北京:電子工業(yè)出版社,2003.
[7] 汪安民,王殊,陳明欣.一種抗混疊非均勻周期采樣及其頻譜分析方法[J].信號處理,2007,21(3):240-242.
[8] 周建雄,陳付彬.補零離散傅立葉變換的插值算法[J].信號處理,2007,23(5):690-694.
?
