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