毛芃暉,胡 東
(杭州電子科技大學(xué),浙江 杭州 310018)
在無(wú)線電監(jiān)測(cè)過程中,由于電磁環(huán)境較為復(fù)雜,難以識(shí)別與測(cè)量信號(hào)的基本參數(shù)信息,其中對(duì)信號(hào)的頻譜分析尤為困難。在對(duì)信號(hào)的離散譜進(jìn)行處理時(shí),經(jīng)常出現(xiàn)頻譜泄露和柵欄效應(yīng)的現(xiàn)象,信號(hào)的頻率估計(jì)容易產(chǎn)生較大的誤差。
為解決離散譜估計(jì)誤差較大的問題,國(guó)內(nèi)外許多學(xué)者已經(jīng)研究出了不少頻率估計(jì)的方法。文獻(xiàn)[1]提出了基于Fitz 算法來(lái)進(jìn)行頻率估計(jì),在低信噪比下也有很好的性能,但適用頻率范圍有限。文獻(xiàn)[2]基于Kay 算法的特點(diǎn)通過最大似然估計(jì)得到修正權(quán)值矩陣,可在采樣點(diǎn)不多的情況下完成頻率估計(jì),但頻偏估計(jì)范圍較窄。文獻(xiàn)[3]提出了一種多步插值的頻偏估計(jì)算法,該算法有效降低了計(jì)算的復(fù)雜度,但需要一定的信噪比門限。文獻(xiàn)[4]提出了一種相位差分法,將載波估計(jì)轉(zhuǎn)為相位差估計(jì)問題,計(jì)算精度不高。文獻(xiàn)[5]采用了能量重心法對(duì)離散頻譜進(jìn)行頻率校正,該方法較為簡(jiǎn)單易行,但不適用于頻率密集的場(chǎng)合,有一定的局限性且精度不夠高。文獻(xiàn)[6]使用的Rife 算法是利用最大譜線及次大譜線來(lái)計(jì)算信號(hào)頻率估計(jì),該算法的精度較高,但由于快速傅里葉變換(Fast Fourier Transform,F(xiàn)FT)只能對(duì)有限個(gè)樣點(diǎn)值進(jìn)行處理,時(shí)域上的截?cái)嗪苡锌赡軙?huì)帶來(lái)較大的誤差。文獻(xiàn)[7]提出了一種M-Rife 算法,通過使用插值和頻譜偏移可以大幅度提高頻率估計(jì)的精度,且算法復(fù)雜度較低,頻譜估計(jì)范圍廣,但計(jì)算量太大,在實(shí)際工程中并不適用。文獻(xiàn)[8]、文獻(xiàn)[9]、文獻(xiàn)[10]都是在FFT 變換的基礎(chǔ)上對(duì)Rife 算法進(jìn)行了改進(jìn),但算法復(fù)雜度較高,實(shí)現(xiàn)難度較大。
本文提出了一種基于M-Rife 算法的頻率估計(jì)方法,先計(jì)算出頻率在能量重心法中粗估計(jì)結(jié)果的誤差,再結(jié)合M-Rife 算法做信號(hào)的精確估計(jì)。理論分析和仿真結(jié)果證明,該方法計(jì)算較為簡(jiǎn)單,且適用于不同的調(diào)制信號(hào),計(jì)算精度與傳統(tǒng)Rife 算法相比也有所提高。
假設(shè)接收到的信號(hào)經(jīng)過基帶調(diào)制后為:
式中:M為載波相位的取值數(shù);Ts為信號(hào)周期;i=1,2,…,M;Es為每個(gè)符號(hào)的能量;fc為載波頻率。抽樣后的信號(hào)進(jìn)行正交分解可表示為:
式中:I(n)為信號(hào)的同相分量;Q(n)為信號(hào)的正交分量。信號(hào)經(jīng)過高斯白噪聲信道后得到的信號(hào)模型為S(t)=x(t)+z(t),其中,z(t)為信號(hào)噪聲大小。
能量重心法是一種基于離散譜的校正算法,其校正原理是利用對(duì)稱窗函數(shù)功率譜的能量重心無(wú)窮逼近坐標(biāo)原點(diǎn)的特性,并通過使用窗譜函數(shù)主瓣內(nèi)功率譜較大的譜線精準(zhǔn)估計(jì)出信號(hào)主瓣重心的位置,從而實(shí)現(xiàn)對(duì)頻譜的校正[11]。窗函數(shù)的功率譜函數(shù)可以表示為:
功率譜最大譜線值為:
式中:l為頻偏;ω(x)為窗函數(shù)的頻譜模函數(shù);ω(-l)為窗譜能量。根據(jù)文獻(xiàn)[5]可知能量校正法在白噪聲背景下的歸一化頻率校正的公式為:
式中:n為校正點(diǎn)數(shù);m為主瓣內(nèi)峰值最大點(diǎn)的譜線號(hào);Gi為功率譜內(nèi)第i條譜線值。能量重心法的校正精度在一定程度上由所選用的窗譜函數(shù)能量特性來(lái)決定,而在矩形窗、Hamming 窗、Blackman 窗等常見窗函數(shù)中,當(dāng)n足夠大時(shí),離散窗譜的能量重心都十分接近原點(diǎn),其中由于Hanning 窗功率譜的能量主要集中在主瓣內(nèi),所以能量重心法的校正精度最高。以Hanning 窗為例,Hanning 窗的時(shí)域表達(dá)式為:
式中:N為窗長(zhǎng)點(diǎn)數(shù)。N的功率譜模函數(shù)的計(jì)算式為:
式中:x0為需要分析的信號(hào)的歸一化頻率。通常選取3 條譜線來(lái)進(jìn)行離散頻譜的能量重心校正,即利用功率譜內(nèi)峰值最大的譜線和與之相鄰的兩條譜線,求出其頻率估計(jì)量為:
能量重心法簡(jiǎn)單易行,可運(yùn)用于不同窗函數(shù)公式,但在實(shí)際應(yīng)用中可能會(huì)存在各種噪聲的干擾使得譜線的定位出現(xiàn)偏差,估計(jì)性能降低。
Rife 算法主要是利用最大譜線和次大譜線值來(lái)推導(dǎo)出公式[12]:
式中:|X(k0)|為最大譜線值。當(dāng)|X(k0+1)|≤|X(k0-1)|時(shí),r=-1;當(dāng)|X(k0+1)|≥|X(k0-1)|時(shí),r=1。在理想的無(wú)信噪比條件下,使用Rife 算法進(jìn)行頻率估計(jì)得到的誤差較?。坏趯?shí)際有噪環(huán)境下,Rife 算法存在一定信噪比門限,且計(jì)算機(jī)模擬結(jié)果表明,當(dāng)f0越靠近fs(k0+r)/N時(shí),信號(hào)的頻率估計(jì)誤差越大。而當(dāng)信噪比較低時(shí),最大譜線與次大譜線距離較為接近,對(duì)譜線幅度也有一定影響,信號(hào)的估計(jì)誤差也會(huì)變大。為使頻率估計(jì)更為準(zhǔn)確,在Rife 算法的基礎(chǔ)上建立了M-Rife 算法。M-Rife 算法首先執(zhí)行Rife 算法1 次,并把所得到的最大譜線和次大譜線之間的頻譜區(qū)域劃分為相等的3 段。找出最大譜線后,使用離散傅里葉變換的譜估計(jì)方法可得到一個(gè)粗估計(jì)的頻率值。當(dāng)Rife 算法計(jì)算的頻率值為粗估計(jì)頻率值的1/3 時(shí),得到的頻率估計(jì)值的精確度較高,可直接返回估計(jì)值;當(dāng)估計(jì)到的頻率值接近粗估計(jì)頻率值的1/3 時(shí),則將目標(biāo)信號(hào)頻移fs/N/3,之后再次使用Rife 算法進(jìn)行估計(jì),獲得新的頻率估計(jì)值后,再將先前的頻移除去,便可以得到精確度更高的估計(jì)值。M-Rife 算法的頻譜量化位移公式[13]為:
其頻移后的時(shí)域表達(dá)式為:
對(duì)x′(n)重新執(zhí)行一次Rife 算法,并將由上述公式得到的頻移除去,最終得到的信號(hào)估計(jì)頻率為:
由于Rife 算法和M-Rife 算法都存在不足,本文將能量重心法與M-Rife 算法相結(jié)合,提出一種新的載頻估計(jì)方法。由于M-Rife 算法需在信號(hào)FFT 變換后得到,F(xiàn)FT 變換很難保證截?cái)嗟男盘?hào)為周期信號(hào),因此會(huì)引起能量泄露,導(dǎo)致得到的離散頻譜的頻率產(chǎn)生較大的誤差[14]。能量重心法和M-Rife 算法都是基于最大譜線值和次大譜線值來(lái)估計(jì)頻率的,而能量重心法計(jì)算精度大,能對(duì)多段平均功率譜直接進(jìn)行頻率校正,所以本文采用能量重心法來(lái)計(jì)算M-Rife 算法所需的頻率補(bǔ)償。首先,選取一段均勻分布的頻段,在此頻段中選取N個(gè)頻率點(diǎn),利用Hanning 窗旁瓣較小且衰減較快的性質(zhì)對(duì)信號(hào)進(jìn)行加Hanning 窗截?cái)?,并選取合適的采樣頻率后對(duì)信號(hào)等間隔采樣得到序列:
對(duì)s(n)加窗函數(shù)ωN(n),將得到的信號(hào)序列進(jìn)行離散傅里葉變換求出信號(hào)頻譜為:
式中:Gω(k),Xω(k),Zω(k)分別為sω(k),x(n)ωN(n),z(n)ωN(n)的離散傅里葉變換頻譜。根據(jù)式(5)進(jìn)行頻率估計(jì),對(duì)每個(gè)頻率點(diǎn)做多次蒙特卡羅仿真,計(jì)算出每次仿真得到的估計(jì)頻率值的均方根誤差,均方根誤差最小的頻率值即為每個(gè)頻率點(diǎn)的最佳校正頻率δi,最后求出N個(gè)最佳校正頻率的平均值即為該頻段內(nèi)的最佳校正值,則有:
在求得m的基礎(chǔ)上校正的M-Rife 公式可變?yōu)椋?/p>
式中:|X(k1)|為M-Rife 算法中信號(hào)頻移后得到的功率譜最大譜線的幅值;|X(k1+r)|為次大譜線的幅值。
在加性高斯白噪聲信道的條件下,對(duì)本文算法用MATLAB 進(jìn)行蒙特卡羅仿真和分析,并通過比較不同信號(hào)在Rife 算法和改進(jìn)后的算法下得到的頻率估計(jì)值的歸一化誤差均值和方差來(lái)評(píng)估算法性能。信號(hào)的歸一化平均誤差曲線(Normalized Mean Error,NME)的理論值[15]為:
歸一化均方誤差曲線(Normalized Mean Square Error,NMSE)公式為:
按照式(16)中定義的信號(hào)修正計(jì)算方法,相關(guān)參數(shù)設(shè)置如下:在頻段內(nèi)選取10 個(gè)頻率點(diǎn),采樣點(diǎn)數(shù)為1 024;仿真時(shí)選用2FSK、4PSK、16QAM這3 種常見的數(shù)字信號(hào)進(jìn)行實(shí)驗(yàn),信號(hào)載波頻率為1 000 Hz,采樣頻率為1 000 Hz,采樣點(diǎn)數(shù)為 4 096,信噪比范圍在0~20 dB。具體的仿真結(jié)果分析如下文所述。
兩種載頻估計(jì)方法在每個(gè)信噪比下分別進(jìn)行100 次蒙特卡羅仿真得到的誤差均值如圖1 所示。
圖1 不同信噪比下兩種算法的誤差均值曲線
通過圖1 可以看出,本文提出的頻率估計(jì)算法的估計(jì)誤差均值遠(yuǎn)遠(yuǎn)小于Rife 算法估計(jì)的誤差均值,說(shuō)明通過能量重心法的計(jì)算,可以求出M-Rife算法載頻估計(jì)所需的校正值。特別是在信噪比較小時(shí),M-Rife 算法的誤差較大,而改進(jìn)后的算法在低信噪比時(shí)仍能保持較好的性能。
兩種載頻估計(jì)方法在每個(gè)信噪比下分別進(jìn)行100 次蒙特卡羅實(shí)驗(yàn)得到的誤差方差如圖2 所示。
圖2 不同信噪比下兩種算法的誤差方差曲線
通過圖2 可以看出,在不同信噪比的條件下,本文提出的新方法的頻率估計(jì)誤差方差都比較低,證明改進(jìn)后的算法在不同的噪聲條件下仍舊可以保持很好的性能,在信噪比變化較大的情況下穩(wěn)定性也比傳統(tǒng)的Rife 算法更好。
本文通過能量重心法來(lái)估計(jì)信號(hào)頻率并以此來(lái)計(jì)算出信號(hào)產(chǎn)生的頻率偏差,然后用求得的頻率偏差值來(lái)補(bǔ)償M-Rife 法的估計(jì)頻率,得到最終精準(zhǔn)估計(jì)值。該方法易于實(shí)現(xiàn),在不同信噪比下對(duì)比Rife 算法在估計(jì)性能方面有很大的優(yōu)勢(shì),也能適用于不同類型的調(diào)制信號(hào),非常適合在無(wú)線電頻譜監(jiān)測(cè)中使用。