新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA實現(xiàn)的FFT插值正弦波頻率估計

基于FPGA實現(xiàn)的FFT插值正弦波頻率估計

作者: 時間:2010-03-25 來源:網(wǎng)絡(luò) 收藏

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

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


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

2 算法硬件實現(xiàn)
本文算法充分利用了并行計算的優(yōu)點,在實現(xiàn)時采用流水線模式,經(jīng)過固有時間后,每個時鐘周期可以輸出一個指定操作的結(jié)果,提高了算法的運算速度。
從前面的分析可知,整個測頻算法主要包括粗測頻和精測頻2個部分:首先對信號作FFT運算并進行譜峰搜索得到峰值位置;再通過FFT運算得到頻率偏差δ1,δ2;粗測頻部分可以直接調(diào)用相關(guān)FPGA的FFT庫函數(shù)完成。從式(3)可知精測頻部分需要大量計算三角函數(shù),本文采用查表法來實現(xiàn)。整個算法流程如圖2所示。



關(guān)鍵詞: FPGA FFT 插值 正弦波

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉