《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > FPGA實現(xiàn)FFT插值正弦波頻率估計
FPGA實現(xiàn)FFT插值正弦波頻率估計
摘要: 本文在分析Rife,,MRife和傅里葉系數(shù)插值迭代3種算法的基礎(chǔ)上,,將串行迭代變?yōu)椴⑿械纱说贸隽艘环N快速頻率估計算法,,并分析了新算法與前3種算法的異同,。計算機(jī)仿真結(jié)果證實新算法能夠快速、高精度估計單頻信號的頻率,,便于工程實現(xiàn),,適合應(yīng)用在雷達(dá)、電子對抗等對處理實時性要求非常高的領(lǐng)域,。
關(guān)鍵詞: FPGA FFT 正弦波 頻率估計
Abstract:
Key words :

        對被噪聲污染的正弦波信號進(jìn)行頻率估計是信號參數(shù)估計中的經(jīng)典問題,,目前國內(nèi)外已提出不少方法。文獻(xiàn)給出了在高斯白噪聲中對正弦波信號頻率進(jìn)行最大似然估計算法,,該算法能夠達(dá)到卡拉美-羅限(CRB),,但計算量大,實現(xiàn)困難,。FFT頻率估計方法具有速度快,、便于實時處理的特性而得到了廣泛應(yīng)用。但FFT頻率估計方法得到的是離散頻率值,,當(dāng)信號頻率與FFT離散頻率不重合時,,由于FFT的“柵欄”效應(yīng),信號的實際頻率應(yīng)位于兩條譜線之間,。顯然僅僅利用FFT幅度最大值估計信號頻率難以滿足精度要求,,因此各種插值算法應(yīng)運(yùn)而生。文獻(xiàn)給出了Rife算法,,在對輸入信號進(jìn)行一次FFT運(yùn)算后,,利用最大譜線及其相鄰的一根次大譜線進(jìn)行插值來確定真實頻率位置。當(dāng)信號的真實頻率處于兩相鄰量化頻率之間的中心區(qū)域時,,Rife算法精度很高,,但是在FFT量化頻率附近的誤差卻較大。文獻(xiàn)提出了一種修正Rife算法,,通過對信號進(jìn)行頻移,,使新信號的頻率位于兩個相鄰量化頻率點(diǎn)的中心區(qū)域,然后再利用Rife算法進(jìn)行頻率估計,。文獻(xiàn)提出了基于傅里葉系數(shù)插值迭代的頻率估計方法,,該方法能夠有效提高精度,但需要多次串行迭代,不利于發(fā)揮FPGA并行處理的優(yōu)勢,。本文分析了以上3種算法的特點(diǎn),,并以之為基礎(chǔ)結(jié)合FPGA的并行處理優(yōu)勢,提出了一種利用信號FFT插值系數(shù)的幅度和相位信息來構(gòu)造頻率修正項的新算法,。

  1 基于FFT插值的正弦波頻率估計法

  1.1 算法原理

  單一頻率正弦信號表示為:

 

  式中:A,,f0,θ分別為正弦信號的幅度,、頻率和初相,;fs為采樣頻率。目前基于FFT的正弦信號頻率估計分為2個過程來實現(xiàn):粗測頻和精測頻,。粗測頻通過直接觀察FFT幅譜最大值點(diǎn)m來完成,,受觀測時長T的限制,誤差范圍為±l/(2T),。假設(shè)為信號頻率的真實值,,δ為信號頻率與其FFT幅度最大處對應(yīng)頻率的相對偏差,m,,與δ的關(guān)系如式(2)所示:

 

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

 

  本文提出的算法分為粗測頻(步驟1)和精測頻(步驟2,3),,頻率估計值為粗測結(jié)果與精測結(jié)果之和,。

  1.2 算法分析

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

 

  該算法也可認(rèn)為是對Rife算法的一種修正,通過適當(dāng)增加運(yùn)算量提高了估計精度,。當(dāng)p=O及p=1時,,該算法退化為Rife算法。

  與MRife算法相比:MRife算法是通過對原始信號進(jìn)行平移,,然后對平移后的信號做FFT,,重新用Rife算法計算δ。從式(3)可以發(fā)現(xiàn)“信號平移+FFT”與Xm+p時域運(yùn)算是一致的,,所不同的是,,由于計算單個Xm+p只需N次復(fù)數(shù)乘法和N次復(fù)數(shù)加法,,運(yùn)算量比“信號平移+FFT”小,因此本文算法可同時計算多個Xm+p,,Xm+p-1,,以提高估計精度。

  2 算法硬件實現(xiàn)

  本文算法充分利用了FPGA并行計算的優(yōu)點(diǎn),,在FPGA實現(xiàn)時采用流水線模式,,經(jīng)過固有時間后,每個時鐘周期可以輸出一個指定操作的結(jié)果,,提高了算法的運(yùn)算速度,。

  從前面的分析可知,整個測頻算法主要包括粗測頻和精測頻2個部分:首先對信號作FFT運(yùn)算并進(jìn)行譜峰搜索得到峰值位置,;再通過插值FFT運(yùn)算得到頻率偏差δ1,δ2,;粗測頻部分可以直接調(diào)用相關(guān)FPGA的FFT庫函數(shù)完成,。從式(3)可知精測頻部分需要大量計算三角函數(shù),本文采用查表法來實現(xiàn),。整個算法流程如圖2所示,。

 

 

3 仿真分析

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

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

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

  4 結(jié)論

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。