吳 會(huì) 豪, 樊 磊, 宋 煥 煥, 蘭 振 平, 李 萍
( 大連工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院, 遼寧 大連 116034 )
加性白噪聲背景中的正弦信號(hào)頻率估計(jì),是數(shù)字信號(hào)處理領(lǐng)域的一個(gè)基本且重要的研究課題,在通信、雷達(dá)、聲吶、電子測(cè)量、儀器儀表、電力系統(tǒng)、線性系統(tǒng)識(shí)別等領(lǐng)域都有著極為廣泛的研究與應(yīng)用[1-16]。在這些領(lǐng)域的典型應(yīng)用系統(tǒng)中,接收信號(hào)的模型多為正弦信號(hào),對(duì)正弦信號(hào)頻率進(jìn)行估計(jì)的算法性能是這些研究與應(yīng)用的關(guān)鍵和重要的基礎(chǔ),甚至決定了整個(gè)系統(tǒng)的可用性。
現(xiàn)有的正弦信號(hào)頻率估計(jì)算法可以分為兩大類:時(shí)域估計(jì)算法[1-4]和頻域估計(jì)算法[5-16]。時(shí)域估計(jì)算法中,Rife等[1]提出的最大似然估計(jì)算法,估計(jì)誤差可以達(dá)到理論下限值,即克拉美羅下限,但算法十分復(fù)雜,運(yùn)算量大。Kay[2]提出了使用采樣序列的相位差估計(jì)頻率的方法,雖然解決了相位模糊問(wèn)題,但是信噪比閾值比較高。Tu等[3]提出了一種基于相位校正自相關(guān)的頻率估計(jì)方法,通過(guò)計(jì)算所構(gòu)造的誤差函數(shù)的最小值得到頻率估計(jì)值。整體上看,時(shí)域估計(jì)算法的共同問(wèn)題在于運(yùn)算復(fù)雜度高,對(duì)硬件要求高,無(wú)法在一些需要進(jìn)行實(shí)時(shí)處理的場(chǎng)景中得到很好的應(yīng)用。
頻域估計(jì)算法通常利用離散傅立葉變換進(jìn)行正弦信號(hào)頻率估計(jì),是一種極為有效的方法。離散傅立葉變換處理可以帶來(lái)信噪比增益,在信噪比較低的情況下,估計(jì)的精度依然較好。而且基于離散傅立葉變換的頻率估計(jì)算法可以利用快速傅立葉變換(fast Fourier transform,F(xiàn)FT)來(lái)實(shí)現(xiàn)更高效的運(yùn)算,更加適用于需要實(shí)時(shí)處理的場(chǎng)景之中?;陔x散傅立葉變換的頻率估計(jì)方法一般分兩步進(jìn)行。首先,對(duì)接收到的正弦信號(hào)采樣序列進(jìn)行離散傅立葉變換,搜索離散傅立葉變換的幅度最大譜線實(shí)現(xiàn)粗估計(jì)。然后,采用離散傅立葉變換幅度最大譜線附近的若干譜線對(duì)信號(hào)頻率進(jìn)行插值,即進(jìn)行進(jìn)一步的精估計(jì)?,F(xiàn)有的基于離散傅立葉變換的頻域估計(jì)算法,一般只是在精估計(jì)階段采用的插值策略有所不同。Quinn[5]通過(guò)對(duì)三個(gè)連續(xù)的離散傅立葉變換系數(shù)進(jìn)行復(fù)插值,獲得了頻率的估計(jì)值,但是在相對(duì)頻率偏差接近0時(shí)估計(jì)誤差較大。Candan[6]利用離散傅立葉變換幅度最大譜線及其左右兩側(cè)相鄰的兩根譜線來(lái)實(shí)現(xiàn)精估計(jì),算法在采樣點(diǎn)數(shù)較少時(shí)也可保持較穩(wěn)定的性能,但是精度并不是很高。Yang等[7]提出了一種三譜線合理組合的非迭代頻率估計(jì)方法,先對(duì)采樣序列進(jìn)行N點(diǎn)時(shí)域補(bǔ)零,再進(jìn)行2N點(diǎn)FFT,然后按照最小二乘法思想,采用幅度最大的三根譜線進(jìn)行頻率插值,由于在估計(jì)表達(dá)式推導(dǎo)過(guò)程中使用了泰勒級(jí)數(shù)展開(kāi),并忽略了高階項(xiàng),導(dǎo)致了估計(jì)偏差的產(chǎn)生。Fang等[8]提出對(duì)信號(hào)采樣序列補(bǔ)零填充后進(jìn)行2N點(diǎn)FFT,并采用第二大和第三大譜線來(lái)對(duì)信號(hào)頻率進(jìn)行精估計(jì),該算法估計(jì)精度高于Candan算法,但對(duì)信號(hào)進(jìn)行時(shí)域補(bǔ)零填充,帶來(lái)了運(yùn)算量的增加。Aboutanios等[9]采用位于幅度最大譜線和次大譜線中點(diǎn)位置,以及幅度最大譜線和第三大譜線中點(diǎn)位置的兩點(diǎn)DTFT采樣值進(jìn)行精估計(jì),并且通過(guò)迭代,使得估計(jì)精度得到很大的提高,但是,隨著迭代次數(shù)的增加,計(jì)算量會(huì)逐漸增大。Serbes對(duì)文獻(xiàn)[9]中的AM算法進(jìn)行了改進(jìn),先采用文獻(xiàn)[10]中無(wú)偏的AM算法進(jìn)行第一次迭代,然后采用對(duì)稱地位于最大譜線兩側(cè)的兩點(diǎn)DTFT采樣值進(jìn)行頻率插值,即HAQSE算法[11],使得估計(jì)精度進(jìn)一步提高。
現(xiàn)有的基于離散傅立葉變換的頻域插值估計(jì)算法,所使用的譜線不論具體位置如何,也不論譜線數(shù)量的多少,采用的都是對(duì)稱地位于離散傅立葉變換最大譜線兩側(cè)的若干譜線。這樣一來(lái),所采用的譜線中,必然會(huì)有幅度小于最大譜線的,這樣的譜線在低信噪比時(shí),比較容易受到噪聲的影響,從而導(dǎo)致算法估計(jì)性能的下降。因此,本研究提出了一種基于離散傅立葉變換和DTFT插值的正弦信號(hào)頻率估計(jì)算法,采用離散傅立葉變換最大譜線及其同側(cè)的兩根DTFT譜線來(lái)對(duì)頻率進(jìn)行插值。并采用迭代算法,以提高算法的估計(jì)精度。迭代后,所采用的譜線幅度均不小于離散傅立葉變換最大譜線幅度。
加性白噪聲背景中,單一頻率的復(fù)正弦信號(hào)[10]可以表示為
x(n)=s(n)+w(n),n=0,1,…,N-1
(1)
s(n)=Aej(2πf0n/fs+θ0),n=0,1,…,N-1
(2)
式中:s(n)為待估計(jì)的正弦信號(hào);w(n)為均值為0、方差為σ2的加性白噪聲;N為信號(hào)長(zhǎng)度,即采樣點(diǎn)數(shù);A、f0和θ0分別為信號(hào)的幅度、頻率和初始相位;fs為采樣頻率。
對(duì)待估計(jì)的正弦信號(hào)s(n)進(jìn)行N點(diǎn)離散傅立葉變換[14]可以得到:
(3)
式中:k=0,1,…,N-1;m是離散傅立葉變換頻譜中幅度最大譜線的離散頻率索引值。
經(jīng)過(guò)離散傅立葉變換的正弦信號(hào)頻率可以表示為
f0=(m+δ)Δf
(4)
式中:δ為離散傅立葉變換幅度最大譜線與信號(hào)頻率之間相對(duì)頻率偏差,δ∈(-0.5,0.5)。Δf=fs/N,為離散傅立葉變換的頻率分辨率,即離散傅立葉變換頻譜中相鄰譜線的頻率間隔。
基于離散傅立葉變換插值的正弦信號(hào)頻率估計(jì)方法是通過(guò)搜索信號(hào)離散傅立葉變換頻譜中幅度最大譜線S[m]的位置,得到信號(hào)頻率的粗估計(jì)值為m·Δf。對(duì)f0進(jìn)行精估計(jì),即對(duì)相對(duì)頻率偏差(δ)的估計(jì)。
為了表達(dá)簡(jiǎn)便,統(tǒng)一將S[m+k]記為Sk。這樣離散傅立葉變換頻譜中的幅度最大譜線的表達(dá)式為
(5)
現(xiàn)有的頻域估計(jì)算法,采用的都是離散傅立葉變換幅度最大譜線S0和對(duì)稱地位于S0兩側(cè)的若干譜線來(lái)對(duì)相對(duì)頻率偏差(δ)進(jìn)行估計(jì)。譜線在低信噪比時(shí),比較容易受到噪聲的影響,從而會(huì)導(dǎo)致算法估計(jì)性能的下降。為了獲得性能更好的頻率估計(jì)算法,利用離散傅立葉變換幅度最大譜線S0的幅度|S0|以及信號(hào)頻譜在離散頻率軸m+0.1和m+0.2(或者m-0.1和m-0.2)處的兩根DTFT譜線幅度|S0.1|和|S0.2|(或者|S-0.1|和|S-0.2|)來(lái)對(duì)相對(duì)頻率偏差δ進(jìn)行估計(jì)。由于信號(hào)s(n)的N點(diǎn)離散傅立葉變換離散頻譜只出現(xiàn)在離散頻率k取整數(shù)值的位置,所以S0.1和S0.2不能直接利用離散傅立葉變換計(jì)算。為了得到這兩根譜線,可以利用s(n)的DTFT來(lái)計(jì)算。
序列s(n)的DTFT[15]表示為
(6)
式中:ω為數(shù)字角頻率。
考慮到信號(hào)觀測(cè)為一個(gè)周期,即0~T,采樣后序列s(n)范圍0~(N-1),利用ω=2πfT/N將角頻率替換為頻率f,于是序列s(n)的DTFT可表示為
(7)
式中:0≤f 利用式(7)可以計(jì)算序列s(n)在任意頻率f(f (8) 分別把f=(m+0.1)Δf和f=(m+0.2)Δf代入上式,可以求得兩根DTFT譜線S0.1和S0.2的表達(dá)式如式(9)、(10)所示。 S0.1=S(f)|f=(m+0.1)Δf= (9) S0.2=S(f)|f=(m+0.2)Δf= (10) 于是,三條譜線的幅度|S0|,|S0.1|和|S0.2|的表達(dá)式如式(11)~(13)。 (11) (12) (13) 由式(11)~(13)可以得到 (14) (15) 整理可得: |S0|sin 0.1πcot πδsin 0.2π- |S0|cos 0.1πsin 0.2π (16) |S0|sin 0.2πcot πδsin 0.1π- |S0|cos 0.2πsin 0.1π (17) 式(16)減式(17)并整理可得: (18) 得到δ的估計(jì)表達(dá)式為 (19) 當(dāng)使用最大譜線左側(cè)的兩條DTFT譜線S-0.1和S-0.2時(shí),可得: (20) 將兩種情況的表達(dá)式寫(xiě)作一個(gè)估計(jì)表達(dá)式如式(21)所示。 (21) 步驟1對(duì)x(n)進(jìn)行N點(diǎn)FFT得到X[k],找到最大譜線X0; (22) U=-d,-d-0.1,-d-0.2 (23) 經(jīng)該迭代算法迭代,d和最大譜線位置更新后,所采用的另外兩根譜線的幅度均不小于最大譜線的幅度。因此所采用的三根譜線幅度均比較大,都不易受到噪聲的影響,算法的頻率估計(jì)性能得到了提升。 為了驗(yàn)證本研究所提出算法的性能,通過(guò)仿真實(shí)驗(yàn),將提出算法的性能與現(xiàn)有同類算法以及CRLB進(jìn)行比較。用于進(jìn)行對(duì)比的各種算法包括Candan算法[6]、RCTSL算法[7]、Fang算法[8]、AM算法[9]和HAQSE算法[11]。其中Candan算法是現(xiàn)有不補(bǔ)零且不迭代算法中性能最好的,RCTSL算法和Fang算法是兩種典型的時(shí)域補(bǔ)零算法,AM算法和HAQSE算法是現(xiàn)有的基于離散傅立葉變換插值算法中精度很高的算法。各種算法對(duì)相對(duì)頻率偏差δ的估計(jì)表達(dá)式見(jiàn)表1。 表1 各種算法的估計(jì)表達(dá)式 當(dāng)復(fù)正弦信號(hào)的幅值、頻率和初始相位未知時(shí),克拉美羅下限可以表示為[1] (24) 當(dāng)f0=(N/4+δ)fS/N,N=8時(shí),在無(wú)噪聲的條件下,本算法與現(xiàn)有幾種算法的頻率估計(jì)偏差與相對(duì)頻率偏差δ∈(-0.5,0.5)之間的關(guān)系如圖1所示。從圖中可以看出,本算法與HAQSE算法的估計(jì)偏差在δ∈(-0.5,0.5)始終為0,表現(xiàn)優(yōu)于其他算法。AM算法、Fang算法以及RCTSL算法在δ=0時(shí)相對(duì)頻率偏差接近0,但都在δ的整個(gè)取值范圍內(nèi)不穩(wěn)定。AM算法大約在|δ|=0.3時(shí)估計(jì)偏差達(dá)到最大。Fang算法大約在|δ|=0.25附近估計(jì)偏差達(dá)到最大值。RCTSL算法大約在|δ|=0.12和0.38時(shí),估計(jì)偏差達(dá)到最大。 圖1 各種算法估計(jì)偏差隨δ的變化 當(dāng)f0=(N/4+δ)fS/N,SNR=10 dB,N=32時(shí),本算法與現(xiàn)有幾種算法頻率估計(jì)的均方根誤差RMSE隨相對(duì)頻率偏差δ變化的關(guān)系如圖2所示。從圖中可以看出,當(dāng)δ在(-0.5,0.5)整個(gè)區(qū)間范圍內(nèi)變化時(shí),本算法頻率估計(jì)的RMSE與理論下限值CRLB的比值始終接近于1,并且相較于現(xiàn)有算法而言更小。雖然在|δ|>0.45時(shí),本算法的RMSE高于Fang算法和RCTSL算法,但本算法整體的RMSE表現(xiàn)要遠(yuǎn)遠(yuǎn)優(yōu)于這兩種算法。因此,本算法頻率估計(jì)的精度高于現(xiàn)有算法。 圖2 各種算法RMSE隨δ的變化情況 當(dāng)f0=(N/4+δ)fS/N,N=16,δ=0.2時(shí),本算法與現(xiàn)有算法的均方根誤差隨信噪比(signal-noise ratio,SNR)的變化情況如圖3所示。可以看出,當(dāng)信噪比在0~90 dB時(shí),本算法的RMSE始終接近CRLB,并小于其他算法的RMSE。一次迭代的AM算法在信噪比高于40 dB 的時(shí)候,開(kāi)始逐漸偏離CRLB。RCTSL算法在信噪比高于50 dB時(shí)逐漸偏離CRLB。同樣的,F(xiàn)ang算法和Candan算法在信噪比高于55 dB 時(shí)也開(kāi)始偏離CRLB。在中低信噪比時(shí)Candan算法的估計(jì)精度要明顯低于其他算法。因此,本算法的估計(jì)精度高于其他算法,并且在0~90 dB范圍內(nèi)保持穩(wěn)定。 圖3 各種算法的RMSE隨信噪比的變化情況(δ=0.2) 當(dāng)f0=(N/4+δ)fS/N,N=16,δ=0.2時(shí),本算法、二次迭代的AM算法和HAQSE算法的均方根誤差隨信噪比的變化情況如圖4所示。可以看出,當(dāng)信噪比在0~90 dB范圍變化時(shí),本算法的RMSE小于其他兩種算法的RMSE,并且始終接近CRLB。同時(shí),當(dāng)信噪比高于75 dB時(shí),二次迭代的AM算法的RMSE逐步偏離CRLB。AM與HAQSE算法是現(xiàn)有算法中估計(jì)精度很高的算法。本算法的估計(jì)精度高于這兩種算法。 圖4 本算法、AM算法和HAQSE算法的RMSE隨信噪比的變化情況(δ=0.2) 當(dāng)f0=(N/4+δ)fS/N,N=16,δ=0.4時(shí),本算法與其他算法的RMSE隨信噪比的變化情況如圖5所示。從圖中可以觀察到,當(dāng)SNR從0變化到90 dB時(shí),本算法的誤差小于其他算法,并且始終接近CRLB。一次迭代的AM算法和Candan算法的RMSE曲線在SNR高于45 dB時(shí),開(kāi)始逐漸遠(yuǎn)離CRLB曲線。還可以觀察出,F(xiàn)ang算法和RCTSL算法的RMSE曲線分別在信噪比高于75和85 dB時(shí)開(kāi)始遠(yuǎn)離CRLB曲線。除此之外,在中低信噪比時(shí),Candan算法的RMSE曲線要高于所有其他算法。 圖5 各種算法的RMSE隨信噪比的變化情況(δ=0.4) 當(dāng)f0=(N/4+δ)fS/N,N=16,δ=0.4時(shí),本算法、二次迭代的AM算法和HAQSE算法的RMSE隨信噪比的變化情況如圖6所示??梢?jiàn),當(dāng)SNR從0變化到90 dB時(shí),本算法的RMSE低于其他兩種算法的RMSE,并始終接近CRLB。還可以觀察到,當(dāng)信噪比高于80 dB時(shí),二次迭代的AM算法的RMSE曲線會(huì)逐漸遠(yuǎn)離CRLB。本算法的估計(jì)精度高于另兩種算法。 圖6 本算法、AM算法和HAQSE算法的RMSE隨信噪比的變化情況(δ=0.4) 各種算法的運(yùn)算量如表2所示,其中AM算法按照2次迭代統(tǒng)計(jì)。從表中可以看出,本算法的運(yùn)算量要小于RCTSL算法、Fang算法、AM算法以及HAQSE算法。其中RCTSL算法和Fang算法均是基于時(shí)域補(bǔ)零和2N點(diǎn)離散傅立葉變換的算法,運(yùn)算量要高于不進(jìn)行時(shí)域補(bǔ)零的其他算法。Candan算法的運(yùn)算復(fù)雜度低于其他算法。但是從圖3~6仿真結(jié)果可知,Candan算法的估計(jì)精度是所有方法中最低的,并且在高信噪比時(shí)表現(xiàn)不佳。 表2 各種算法的運(yùn)算量 本研究提出的基于離散傅立葉變換和DTFT三譜線插值的復(fù)正弦信號(hào)頻率估計(jì)方法在精估計(jì)階段,使用離散傅立葉變換最大譜線及其同側(cè)的兩根DTFT譜線來(lái)對(duì)頻率進(jìn)行插值。并采用了迭代算法,以提高算法的估計(jì)精度。仿真結(jié)果表明,當(dāng)信噪比從0變化到90 dB時(shí),算法的估計(jì)誤差小于現(xiàn)有同類的離散傅立葉變換插值算法,并始終保持接近CRLB。在高信噪比的條件下,算法的估計(jì)精度優(yōu)勢(shì)更為明顯。此外運(yùn)算量分析表明,算法的運(yùn)算量低于RCTSL算法、Fang算法、AM算法和HAQSE算法。因此,本算法比現(xiàn)有的方法更加適用于實(shí)時(shí)處理的應(yīng)用場(chǎng)景之中。2 迭代算法
3 仿 真
4 結(jié) 論