基于FPGA的FFT算法優(yōu)化及其在磁共振譜儀中的應用
旋轉因子WN的二進(jìn)制表示可看作是若干項2次冪數相加組合而成的數,那么一個(gè)數與WN相乘即可通過(guò)在移位操作的基礎上執行相應的加法操作來(lái)實(shí)現。根據正弦函數與余弦函數的對稱(chēng)性,第5階與第6階與相乘所占用的乘法器完全可以省略。
如式(11)所示,在WN的二進(jìn)制序列中,在不引入噪聲的基礎上把N個(gè)移位寄存器和N-1個(gè)加法器的運算用2個(gè)移位寄存器和1個(gè)減法器來(lái)實(shí)現。這樣不僅可以大大減少硬件資源的消耗,最大的優(yōu)點(diǎn)是不消耗RAM和乘法器資源,因此速度很快。
2.3 FPGA邏輯資源與性能分析
該設計中的64點(diǎn)并行FFT模塊通過(guò)在不同系列芯片綜合仿真后,系統時(shí)鐘最高可達285 MHz,完全滿(mǎn)足設計要求。所占用的FPGA邏輯資源和性能與Xilinx FFT IPcore比較如表1所示。
Xilinx公司的ISE集成開(kāi)發(fā)環(huán)境可以提供成熟的FFT IP核,但是由于占用大量的DSP Slices,可移植性很差,但該設計中由于沒(méi)有用到DSP Slices,可移植性很強。圖7為64點(diǎn)并行FFT模塊的時(shí)序圖,圖中運算器的數據處理時(shí)間為1個(gè)時(shí)鐘周期,數據處理的延時(shí)Tlatency為37個(gè)時(shí)鐘周期,使得整個(gè)運算器的數據處理吞吐率高達656 Gb/s,而數據延時(shí)時(shí)間僅為0.129 μs,與Xilinx公司和Altera公司已經(jīng)成熟的FFT處理器相比時(shí)延大大減少,提高了FFT處理器實(shí)時(shí)處理性能。
3 結語(yǔ)
該設計通過(guò)對64點(diǎn)并行FFT進(jìn)行改進(jìn),大大提高了信號處理的實(shí)時(shí)性,所占用的FPGA邏輯資源和有限字長(cháng)效應引起的噪聲也得到了優(yōu)化,可移植性大大增強。該設計已經(jīng)完成了硬件電路的設計與調試,結果證明通過(guò)雙通道頻譜圖對由于增益與相位不平衡產(chǎn)生的鏡像峰進(jìn)行調節,可大大提高譜儀信號檢測的準確性,也使譜儀的應用更加方便。
評論