張騰達 董敬濤 楊蕾 盧榮勝 張育中
摘 ?要:頻率分辨率是數(shù)字信號處理課程中的一個重要概念,因為它對DFT參數(shù)的選擇有著重要影響。在教學過程中,容易將頻率分辨率和計算分辨率相混淆。文章首先介紹了頻率分辨率和計算分辨率的基本概念,然后以含有等幅的兩個單頻的信號為例,對DFT何時能分辨兩個等幅單頻信號的譜峰和序列尾部補0的作用進行了詳細分析,并對相應MATLAB仿真結(jié)果進行論證。
關(guān)鍵詞:數(shù)字信號處理;頻率分辨率;DFT;計算分辨率;MATLAB
中圖分類號:G642 ? ? ? 文獻標志碼:A ? ? ? ? ?文章編號:2096-000X(2022)01-0087-05
Abstract: Frequency resolution is an important concept in the course of digital signal processing, because it has an important influence on the selection of DFT parameters. In the teaching process, it is easy to confuse frequency resolution with computational resolution. Here, the basic concepts of frequency resolution and computational resolution are firstly introduced. Then, a signal containing two single-frequency components with equal amplitude is used to demonstrate the way to distinguish the spectral peaks of the signal using DFT and the role of the supplemental zero at the end of the sequence of the signal. Finally, we verify the results using MATLAB simulation.
Keywords: digital signal processing; frequency resolution; DFT; computational resolution; MATLAB
用DFT(FFT)對模擬信號進行頻譜分析是本科數(shù)字信號處理課程中的一個重點內(nèi)容,而頻率分辨率又是頻譜分析中的一個難點,學生普遍對這部分內(nèi)容理解不深入,對頻率分辨率和計算分辨率這兩個概念容易混淆。為此,筆者總結(jié)出講解這部分內(nèi)容的幾個要點,可使學生更深入地掌握頻率分辨率,并加深對DFT的理解,為DFT在工程實踐中的正確應用打好基礎(chǔ)。
一、頻率分辨率和計算分辨率
頻率分辨率是指所用的算法能將信號中兩個靠得很近的譜峰保持分開的能力[1]。在實際應用中是指分辨兩個不同頻率信號的最小間隔。進行頻譜分析最有效的方法通常是離散傅里葉變換(DFT)。DFT的實質(zhì)是對序列頻譜X(ejω)進行采樣,其結(jié)果就是離散的數(shù)字域頻譜X(k)。
對模擬信號進行采樣得到序列,假設(shè)采樣頻率為fs,采樣點數(shù)為N,采樣間隔為Ts,數(shù)據(jù)記錄長度為T0,進行DFT的點數(shù)為R,則頻率分辨率F0為:
F0=1/T0=1/NTs=fs/N 。 ?(1)
要提高頻率分辨率,在采樣頻率fs一定的情況下,只能增加采樣點數(shù)N,但N太大會影響系統(tǒng)的處理速度;而采樣點數(shù)N一定時,必須減少采樣頻率,在滿足采樣定理的條件下,這樣會減少頻譜分析的范圍。由此看來,為了保證一定的頻率分辨率,在進行頻譜分析時,采樣頻率和采樣點數(shù)要同時考慮。頻率分辨率在有的文獻上也被稱為“物理分辨率”[2],為了和物理分辨率相區(qū)別,把做DFT時所得到的最小頻率間隔稱為“計算分辨率”[2],即該分辨率是靠計算得到的,但它并不能反映真實的頻譜分辨能力,則計算分辨率F為:
F=fs/R。 ? ? ? ? ? ?(2)
一般情況下R?叟N。R=N時,頻率分辨率等于計算分辨率;R>N時,相當于將N點的采樣序列補0至R點,然后再計算R點的DFT,此時計算分辨率優(yōu)于頻率分辨率,達到改善頻譜可視效果,因此計算分辨率有文獻也稱為“可視分辨率”[3]。
二、兩個等幅單頻信號譜峰的分辨
在用DFT(FFT)對模擬信號進行頻譜分析時,假設(shè)對模擬信號進行采樣得到的序列為x(n),對它用矩形窗進行截斷,得到長度為N的采樣序列:
矩形窗的幅度譜RfN(ω)如圖1所示,它有一個主瓣,主瓣旁邊有許多旁瓣,主瓣的寬度為4π/N。信號的頻譜與矩形窗的頻譜函數(shù)進行卷積,使截斷后信號的頻譜波形不同于原來的頻譜。
例如x(n)=cos(ω0n),ω0=π/4時,它的理論頻譜應該在±ω0處的兩條譜線,并以2π為周期進行延拓,波形如圖2(a)所示,用矩形窗將x(n)截斷后的幅度譜一般如圖2(b)所示,截斷后在以信號頻率±π/4為中心的頻帶范圍內(nèi)均有譜線出現(xiàn)[5],截斷后信號的頻譜與截斷前信號的頻譜顯著不同。
由圖2可知,窗函數(shù)的主瓣使信號頻譜中的每一條譜線都展寬成為有一定寬度的譜峰,若兩個譜峰間距過小則譜峰融合,會被認為是單一頻率成分,從而導致頻率分辨率降低。那什么情況下能分辨兩個等幅單頻信號的譜峰呢?
假定x(t)是由兩個頻率分別為f1和f2的等幅余弦信號組成,對其采樣,采樣間隔為Ts,得到序列x(n),相應的數(shù)字頻率為ω1和ω2,對矩形窗截斷后的xN(n)做頻譜分析,其頻率分辨率將會受到矩形窗的窗譜主瓣寬度的影響。本文是以矩形窗為例,如果為其他窗函數(shù)截斷時,則情況會有所不同,因為不同窗函數(shù)的窗譜主瓣寬度不同。
從圖7中可以看出,當f1、f2的頻率差?駐f略小于F0時,還能夠分辨出f1、f2的譜峰,但有些不清晰;從圖8中可以看出,當頻率差?駐f小于F0較多時,f1、f2兩個譜峰的主瓣區(qū)間疊加融合,形成一個大的譜峰,從而完全分辨不出f1、f2的譜峰。
三、序列尾部補0的作用
1. 序列尾部補0可以減小柵欄效應,提高計算分辨率,改善頻譜的可視效果。
序列x(n)的R點DFT,其實際上是序列x(n)的DTFT X(ejω)在[0,2π]區(qū)間上的R點采樣值,兩個采樣點之間的頻譜值是不知道的,就好像被柵欄遮住一樣,因此這種現(xiàn)象就被稱為柵欄效應。為了減輕柵欄效應,可以通過增多DFT的變換點數(shù)R來實現(xiàn)。
例如f1=0.10Hz,f2=0.25Hz,N=16時,則記錄長度T0=N*Ts=16s,頻率分辨率F0=1/T0=0.0625Hz,頻率差?駐f=|f2- f1|=0.15Hz,此時?駐f>2F0=0.125,故能完全分辨出兩個譜峰。
當R分別為16、32、64和128時,其對應頻譜的MATLAB仿真結(jié)果如圖9至圖12所示。
圖9中R=16,其計算分辨率為fs/R=0.0625,從圖9可以看出,兩個譜峰f1和f2雖然能夠分辨出來,但可視效果不好。隨著R的逐漸增大,計算分辨率越來越高,可視效果越來越好,即從圖10到圖12就能越來越清楚地分辨出f1和f2的兩個譜峰。
2. 序列尾部補0不能提高頻率分辨率,提高頻率分辨率必須增加數(shù)據(jù)的記錄長度。
例如f1=0.21Hz,f2=0.25Hz時,取N=16,R=128,頻率分辨率F0=0.0625Hz,頻率差?駐f=|f2-f1|=0.04Hz,此時?駐f<F0,其對應頻譜的MATLAB仿真結(jié)果如圖13所示,顯然從圖中完全不能分辨出f1、f2的兩個譜峰。
那能否通過增大R來提高圖13的頻率分辨率呢?答案是否定的。將圖13中的R分別增大到256和512,其他參數(shù)不變時,得到的頻譜分別如圖14和圖15所示。
從圖14和圖15中可以看出,R增大后,增加了頻譜采樣密度,提高了計算分辨率,但依然不能分辨出f1和f2的兩個譜峰,即并沒有提高頻率分辨率。這是因為決定實際頻率分辨率的是采樣后序列x(n)的DTFT,即DFT的頻譜包絡(luò),不同的頻譜包絡(luò)代表不同的頻率分辨率,頻譜包絡(luò)不變就意味著頻率分辨率不變,圖13、圖14和圖15中的頻譜包絡(luò)并沒有變化,就表明這三種情況下實際的頻率分辨率并沒變化。
要提高頻率分辨率,只能增加實際序列的記錄長度。在采樣頻率fs不變時,即采樣間隔Ts不變,要增加實際序列的記錄長度,就必須增加采樣點數(shù)N,因為T0=N*Ts。將圖13中的N分別增大到32和64,其他參數(shù)不變時,得到的頻譜的MATLAB仿真結(jié)果分別如圖16和圖17所示。
在圖16中,頻率差?駐f=0.04Hz不變,這時N=32,其頻率分辨率F0=1/T0=1/32=0.03125Hz,此時F0<?駐f<2F0,故能分辨出兩個譜峰f1和f2,但兩個譜峰有部分重疊。
在圖17中,頻率差?駐f=0.04Hz依然不變。這時N=64,其頻率分辨率F0=1/T0=1/64=0.015625Hz,顯然有?駐f>2F0,故能完全分辨出兩個譜峰f1和f2。
3. 序列尾部補0可使數(shù)據(jù)R為2的整數(shù)次冪,以便于使用快速傅里葉變換算法(FFT)。
四、結(jié)束語
用DFT(FFT)對模擬信號進行頻譜分析時, 頻率分辨率只與序列的記錄長度成反比,因此,要提高頻率分辨率,只能增加實際序列的記錄長度,而不能通過序列尾部補0來實現(xiàn),但序列尾部補0可以減小柵欄效應,提高計算分辨率,改善頻譜的可視效果。
對含有兩個等幅單頻f1和f2的模擬信號進行時域采樣,并以矩形窗截斷時,利用DFT進行頻譜分析,當f1和f2的頻率差?駐f滿足?駐f ?2F0時,f1和f2兩個譜峰的主瓣完全沒有重疊,可以完全分辨出f1和f2的譜峰;當F0<?駐f<2F0時,f1和f2兩個譜峰的主瓣區(qū)間有小部分重疊,但還是可以分辨出f1和f2的譜峰;當?駐f ?F0時,情況比較復雜,當?駐f略小于F0時,還能夠分辨出f1和f2的譜峰,但有些不清晰;當?駐f小于F0較多時,f1和f2兩個譜峰的主瓣區(qū)間疊加融合成一個大的譜峰,從而完全分辨不出f1和f2的譜峰。
參考文獻:
[1]胡廣書.數(shù)字信號處理:理論、算法與實現(xiàn)(第三版)[M].北京:清華大學出版社,2012.
[2]Sophocles J O. Introduction to Signal Processing[M]. Prentice-Hall,1996;北京:清華大學出版社,1999(影印).
[3]趙彥斌,張永瑞.信號譜分析中參數(shù)選擇對頻率分辨率的影響[J].電子科技,2005(11):8-11.
[4]程佩青.數(shù)字信號處理教程(第四版)[M].北京:清華大學出版社,2013.
[5]高西全,丁玉美,闊永紅.數(shù)字信號處理——原理、實現(xiàn)及應用(第2版)[M].北京:電子工業(yè)出版社,2010.
[6]張小虹.信號截短對頻譜分辨率的影響[J].電氣電子教學學報,2005(1):21-24+94.
[7]劉密歌.頻率分辨率的研究[J].電子測量技術(shù),2020,43(6):165-168.
[8]王剛,王艷芬,張曉光,等.關(guān)于離散傅里葉變換頻率分辨率的討論[J].電氣電子教學學報,2006(6):18-20+24.