基于FPGA的高速自適應(yīng)濾波器的實(shí)現(xiàn)
摘 要: 在LMS算法進(jìn)行變步長處理的基礎(chǔ)上,結(jié)合馳豫超前流水線技術(shù)和時(shí)序重構(gòu)技術(shù)提出了創(chuàng)新結(jié)構(gòu)和改進(jìn)算法,在FPGA的仿真綜合環(huán)境中設(shè)計(jì)實(shí)現(xiàn)了該高速自適應(yīng)濾波器,并且在Altera DE2-70開發(fā)板上進(jìn)行了板級(jí)測試。
關(guān)鍵詞: 自適應(yīng)濾波器;FPGA;DSP Builder;馳豫超前技術(shù);流水線;時(shí)序重構(gòu)
現(xiàn)代通信信號(hào)處理發(fā)展到3G、4G時(shí)代后,每秒上百兆比特處理速度的要求對(duì)于自適應(yīng)處理技術(shù)是一個(gè)極大的挑戰(zhàn)。使用具有高度并行結(jié)構(gòu)的FPGA實(shí)現(xiàn)自適應(yīng)算法以及完成相應(yīng)的調(diào)整和優(yōu)化,相比于在DSP芯片上的算法實(shí)現(xiàn)可以達(dá)到更高的運(yùn)行速度。本文分析了自適應(yīng)LMS算法及其在FPGA上的實(shí)現(xiàn),并進(jìn)行算法結(jié)構(gòu)的改進(jìn)優(yōu)化,利用DSP Builder在Altera DE2-70平臺(tái)的FPGA芯片上實(shí)現(xiàn)相應(yīng)自適應(yīng)算法并下載到目標(biāo)板上進(jìn)行板級(jí)測試。
1 自適應(yīng)LMS算法[1-2]
自適應(yīng)濾波器的特點(diǎn)在于濾波器參數(shù)可以自動(dòng)地根據(jù)某種準(zhǔn)則調(diào)整到相應(yīng)的最優(yōu)濾波情況。其基本框圖如圖1所示。
圖中,X(n)為輸入信號(hào),y(n)為濾波信號(hào),d(n)為期望信號(hào),e(n)為誤差信號(hào),用來調(diào)整自適應(yīng)濾波權(quán)系數(shù)。自適應(yīng)濾波函數(shù)H(z)的濾波參系數(shù)是通過一定的自適應(yīng)算法,根據(jù)誤差信號(hào)e(n)進(jìn)行自動(dòng)調(diào)整,目的是使得誤差e(n)的模值越來越小。
自適應(yīng)LMS算法表述如下:
2 算法的仿真和FPGA實(shí)現(xiàn)
本設(shè)計(jì)使用的工具DSP Builder是Altera公司推出的基于Altera FPGA芯片的系統(tǒng)級(jí)(算法級(jí))設(shè)計(jì)工具,它架構(gòu)在多個(gè)軟件工具之上,并把系統(tǒng)級(jí)和RTL級(jí)兩個(gè)設(shè)計(jì)領(lǐng)域的設(shè)計(jì)工具連接起來,最大程度地發(fā)揮了兩種工具的優(yōu)勢[3]。它依賴于Matlab/Simulink進(jìn)行建模和仿真,可以把建模設(shè)計(jì)文件轉(zhuǎn)換為硬件描述語言文件。
考慮橫向LMS算法的FPGA實(shí)現(xiàn)時(shí),有兩種拓?fù)浣Y(jié)構(gòu)可以選擇。一種是直接型FIR結(jié)構(gòu),另一種是轉(zhuǎn)置型FIR結(jié)構(gòu)。從算法效果上來說,這兩種結(jié)構(gòu)是一致的,但是轉(zhuǎn)置型結(jié)構(gòu)的濾波部分的關(guān)鍵路徑會(huì)更短,能夠綜合出更高主頻的電路[4]。故在Simulink中利用DSP Builder采用轉(zhuǎn)置型LMS結(jié)構(gòu)(Transpose Form-LMS)進(jìn)行建模,模型參數(shù)為8階16位定點(diǎn)格式。
對(duì)于收斂步長因子的選取采用二進(jìn)制移位的方式,只改變數(shù)據(jù)的連線,不會(huì)增加系統(tǒng)資源消耗和計(jì)算時(shí)間消耗。這里將迭代處理部分左移動(dòng)10位,即收斂步長因子為2-10,約為0.001。Simulink中,仿真信號(hào)為模值等于1的正弦波疊加方差為0.01的高斯白噪聲,建立自適應(yīng)噪聲對(duì)消模型,濾波情況如圖2所示。