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