一種FFT插值正弦波快速頻率估計算法
對被噪聲污染的正弦波信號進(jìn)行頻率估計是信號參數估計中的經(jīng)典問(wèn)題,目前國內外已提出不少方法。文獻給出了在高斯白噪聲中對正弦波信號頻率進(jìn)行最大似然估計算法,該算法能夠達到卡拉美-羅限(CRB),但計算量大,實(shí)現困難。FFT頻率估計方法具有速度快、便于實(shí)時(shí)處理的特性而得到了廣泛應用。但FFT頻率估計方法得到的是離散頻率值,當信號頻率與FFT離散頻率不重合時(shí),由于FFT的“柵欄”效應,信號的實(shí)際頻率應位于兩條譜線(xiàn)之間。顯然僅僅利用FFT幅度最大值估計信號頻率難以滿(mǎn)足精度要求,因此各種插值算法應運而生。文獻給出了Rife算法,在對輸入信號進(jìn)行一次FFT運算后,利用最大譜線(xiàn)及其相鄰的一根次大譜線(xiàn)進(jìn)行插值來(lái)確定真實(shí)頻率位置。當信號的真實(shí)頻率處于兩相鄰量化頻率之間的中心區域時(shí),Rife算法精度很高,但是在FFT量化頻率附近的誤差卻較大。文獻提出了一種修正Rife算法,通過(guò)對信號進(jìn)行頻移,使新信號的頻率位于兩個(gè)相鄰量化頻率點(diǎn)的中心區域,然后再利用Rife算法進(jìn)行頻率估計。文獻提出了基于傅里葉系數插值迭代的頻率估計方法,該方法能夠有效提高精度,但需要多次串行迭代,不利于發(fā)揮FPGA并行處理的優(yōu)勢。本文分析了以上3種算法的特點(diǎn),并以之為基礎結合FPGA的并行處理優(yōu)勢,提出了一種利用信號FFT插值系數的幅度和相位信息來(lái)構造頻率修正項的新算法。
本文引用地址:http://dyxdggzs.com/article/201809/389153.htm1 基于FFT插值的正弦波頻率估計法
1.1 算法原理
單一頻率正弦信號表示為:
式中:A,f0,θ分別為正弦信號的幅度、頻率和初相;fs為采樣頻率。目前基于FFT的正弦信號頻率估計分為2個(gè)過(guò)程來(lái)實(shí)現:粗測頻和精測頻。粗測頻通過(guò)直接觀(guān)察FFT幅譜最大值點(diǎn)m來(lái)完成,受觀(guān)測時(shí)長(cháng)T的限制,誤差范圍為±l/(2T)。假設為信號頻率的真實(shí)值,δ為信號頻率與其FFT幅度最大處對應頻率的相對偏差,m,與δ的關(guān)系如式(2)所示:

考慮到FPGA并行計算的特點(diǎn),利用流水線(xiàn)結構同時(shí)計算多個(gè)Xm+p,Xm+p-1值,將串行迭代變?yōu)椴⑿械?,其運算步驟歸納如下:

本文提出的算法分為粗測頻(步驟1)和精測頻(步驟2,3),頻率估計值為粗測結果與精測結果之和。
1.2 算法分析
本文算法與文獻提到的算法主要區別在于步驟3。算法將正弦波信號所在頻段[m-1,m+1]細化為5個(gè)子頻段,如圖1所示,并根據δ1值的大小判斷信號譜線(xiàn)位置,使信號的頻率位于某子頻段的中心區域再進(jìn)行頻率估計。

該算法也可認為是對Rife算法的一種修正,通過(guò)適當增加運算量提高了估計精度。當p=O及p=1時(shí),該算法退化為Rife算法。
與MRife算法相比:MRife算法是通過(guò)對原始信號進(jìn)行平移,然后對平移后的信號做FFT,重新用Rife算法計算δ。從式(3)可以發(fā)現“信號平移+FFT”與Xm+p時(shí)域運算是一致的,所不同的是,由于計算單個(gè)Xm+p只需N次復數乘法和N次復數加法,運算量比“信號平移+FFT”小,因此本文算法可同時(shí)計算多個(gè)Xm+p,Xm+p-1,以提高估計精度。
2 算法硬件實(shí)現
本文算法充分利用了FPGA并行計算的優(yōu)點(diǎn),在FPGA實(shí)現時(shí)采用流水線(xiàn)模式,經(jīng)過(guò)固有時(shí)間后,每個(gè)時(shí)鐘周期可以輸出一個(gè)指定操作的結果,提高了算法的運算速度。
從前面的分析可知,整個(gè)測頻算法主要包括粗測頻和精測頻2個(gè)部分:首先對信號作FFT運算并進(jìn)行譜峰搜索得到峰值位置;再通過(guò)插值FFT運算得到頻率偏差δ1,δ2;粗測頻部分可以直接調用相關(guān)FPGA的FFT庫函數完成。從式(3)可知精測頻部分需要大量計算三角函數,本文采用查表法來(lái)實(shí)現。整個(gè)算法流程如圖2所示。

3 仿真分析
信噪比定義為:,σ為噪聲均方誤差。對正弦波信號,在相位、幅度和頻率3個(gè)參數均是未知的情況下,頻率估計的方差下限為:

式中N為樣本數。在仿真中設fs=167 MHz,N=512,因此兩條譜線(xiàn)間的頻率差為△f=fs/N?,F取fi=45.5△f+(i-1)△f/20(i=l,2,…,21)的正弦波,即對應FFT后峰值位置與信號真實(shí)峰值偏差δ為[-0.5,0.5]。對每個(gè)頻率fi的取值分別作l 000次Monte Carlo試驗,計算δl,δ2的均方根誤差(RMSE),定義比率R=RMSE/CRB,仿真結果如圖3、圖4所示。RSN取-20 dB~0 dB,步長(cháng)為0.5 dB,分別做1 000次Monte Carlo試驗,計算新算法的歸一化頻率估計均方誤差,仿真結果如圖5所示。

仿真結果表明δ2不隨被估計信號的頻率分布而產(chǎn)生波動(dòng);當RSN>-14 dB時(shí),新算法頻率估計值的方差在整個(gè)頻段都接近卡拉美-羅限,具有穩定的性能。

4 結論
本文在分析Rife,MRife和傅里葉系數插值迭代3種算法的基礎上,將串行迭代變?yōu)椴⑿械?,由此得出了一種快速頻率估計算法,并分析了新算法與前3種算法的異同。計算機仿真結果證實(shí)新算法能夠快速、高精度估計單頻信號的頻率,便于工程實(shí)現,適合應用在雷達、電子對抗等對處理實(shí)時(shí)性要求非常高的領(lǐng)域。
評論