?第一部分 設(shè)計概述
自適應(yīng)濾波是近幾十年發(fā)展起來的信號處理理論的的新分支。隨著人們在該領(lǐng)域研究的不斷深入,自適應(yīng)處理的理論和技術(shù)日趨完善,其應(yīng)用領(lǐng)域也越來越廣泛。自適應(yīng)濾波在通信、控制、語言分析和綜合、地震信號處理、雷達和聲吶波束形成,以及醫(yī)學(xué)診斷等諸多科學(xué)領(lǐng)域均有著廣泛的應(yīng)用,也正是這些應(yīng)用又反過來推動了自適應(yīng)濾波理論和技術(shù)的發(fā)展。
自適應(yīng)濾波是在維納濾波、卡爾曼濾波等線性濾波基礎(chǔ)上發(fā)展起來的一種最佳濾波方法。自適應(yīng)濾波器使之能夠根據(jù)環(huán)境的改變,采用某種自適應(yīng)算法來改變?yōu)V波器參數(shù),不改變結(jié)構(gòu)。現(xiàn)代通信信號處理發(fā)展到 3G、4G 時代后,每秒上百兆比特處理速度的要求對于自適應(yīng) 處理技術(shù)是一個極大的挑戰(zhàn)。使用具有高度并行結(jié)構(gòu)的 FPGA 實現(xiàn)自適應(yīng)算法以及完成相應(yīng)的調(diào)整和優(yōu)化,相比于在 DSP 芯片上的算法實現(xiàn)可以達到更高的運行速度。
直接求解維納-霍夫方程是不現(xiàn)實的,因為不僅無法事先的知輸入信號的統(tǒng)計特征,也無法利用FPGA等硬件平臺快速實現(xiàn)諸如矩陣求逆等復(fù)雜的數(shù)學(xué)運算。一種可行的途徑是尋找到一種迭代算法,通過不斷的迭代運算,使濾波器系數(shù)最終收斂到最佳值,盡量接近維納-霍夫方程中的最優(yōu)解。LSM算法是由WID容我和Hoff于1960年提出的,該算法基于最小均方誤差準則,在梯度法的基礎(chǔ)上,通過改進均方誤差梯度的估計值計算方法,取單個誤差樣本平方的梯度作為均方誤差梯度的估計值,有效減少了運算量,降低了最陡下降算法的復(fù)雜度,具有結(jié)構(gòu)相對簡單、運算量較小等優(yōu)勢,近年來在地球物理信號處理、通信信號處理、語音信號處理等領(lǐng)域得到了越來越多的應(yīng)用。
實現(xiàn)展示:
圖1-1自適應(yīng)濾波器測試波形圖
圖1-2自適應(yīng)濾波器實物測試圖
圖1-3自適應(yīng)濾波器仿真波形圖
第二部分 實現(xiàn)原理描述
2.1 計劃實現(xiàn)及已實現(xiàn)功能
(1)在MATLAB上進行仿真,驗證自適應(yīng)濾波的自適應(yīng)性;
(2)在HLS上實現(xiàn)并行化,最終達到LSM并行化計算能力,參數(shù)自動調(diào)整等功能;
(3)下載到板卡上進行測試,經(jīng)過反復(fù)測試優(yōu)化,最終實現(xiàn)基于HLS的自適應(yīng)濾波。
2.2 項目技術(shù)方案
自適濾波器是一種變系數(shù)的數(shù)字濾波器,由于其能夠根據(jù)算法動態(tài)調(diào)整濾波系數(shù),始終能夠保持一個較好的濾波性能,目前已經(jīng)在自適應(yīng)噪聲對消、移動通信信道均衡、自適應(yīng)信號增強以及信號預(yù)測等領(lǐng)域得到了廣泛的應(yīng)用。
圖 2-1 自適應(yīng)濾波器框圖
圖2-1為自適應(yīng)濾波器框圖,主要包括數(shù)字濾波器硬件和自適應(yīng)算法兩個大的部分。自適應(yīng)濾波器硬件是基礎(chǔ),算法是靈魂。實際應(yīng)用中,一般利用誤差信號e(n)構(gòu)造自適應(yīng)濾波算法所需要的目標函數(shù),在此基礎(chǔ)上再定義濾波器的更新規(guī)則,從而構(gòu)建不同的自適應(yīng)算法。
LMS算法全稱最小均方誤差算法的簡稱,LMS算法是在維納濾波器的基礎(chǔ)上改進來的。我們知道,經(jīng)典的維納濾波器采用的是最陡下降沿算法來求解自適應(yīng)濾波器的最優(yōu)解,濾波器系數(shù)的最優(yōu)解如(2-1)所示:
LMS算法的實現(xiàn)結(jié)構(gòu)如圖2-2所示,由上圖可知,完成一次LMS算法權(quán)值更新需要經(jīng)過比較多的乘法器、加減法器、移位操作。當?shù)谝唤M輸入信號進入自適應(yīng)算法系統(tǒng)時,首先要完成N此乘法運算,而后依次完成加法運算、1次減法運算、N次乘法運算、N次移位操作及N次加法運算。
第三部分 完成情況及性能參數(shù)
MATLAB仿真如圖3-1和圖3-2所示,首先生成一個原始信號,和高斯噪聲信號,并將噪聲信號假如到原始信號中,再分別將原始信號和加噪后的信號作為參考信號dn和系統(tǒng)輸入信號xn,最終通過自適應(yīng)濾波算法,得到如圖3-2所示的濾波結(jié)果,從圖3-2分析可得,信號的濾波效果很好,誤差很小,收斂于0.02。從仿真的角度,實現(xiàn)了基于LMS的自適應(yīng)濾波器設(shè)計。
圖3-1 MATLAB仿真的原始信號和噪聲信號
圖3-2 MATLAB的濾波信號
系統(tǒng)仿真完成后,在HLS中撰寫LMS算法的濾波器,代碼如圖3-4所示,圖3-3為優(yōu)化后的資源占用情況和時鐘總結(jié)情況,又分析可以看出,系統(tǒng)的數(shù)據(jù)處理到輸出只需要一個時鐘,實現(xiàn)了系統(tǒng)的流水線實時處理。再從資源的角度分析,可以看到,使用了40個DSP,105個LUT和1036個FF,資源占用滿足要求,可以實現(xiàn)下板測試。
圖3-3 HLS優(yōu)化的結(jié)果
圖3-4 HLS代碼
在仿真完成后,生成IP核并導(dǎo)入Vivado創(chuàng)建工程,使用MATLAB生成參考信號和系統(tǒng)輸入信號,并寫入文本,再制作成Vivado可用的.coe文件,在Vivado中添加ROM IP 核,并添加制作好的數(shù)據(jù)源.coe文件,作為整個系統(tǒng)的輸入信號。完成整個系統(tǒng)的搭建,最后下板測試,下板測試結(jié)果如圖3-5所示,使用Vivado的ila工具,抓取數(shù)據(jù)源和濾波結(jié)果,從抓取到的波形可以看出,濾波后的信號效果比較理想,完成了自適應(yīng)濾波的功能。
圖 3-5下載板卡測試
?
-
FPGA
+關(guān)注
關(guān)注
1645文章
22034瀏覽量
617879 -
LMS算法
+關(guān)注
關(guān)注
1文章
20瀏覽量
10422 -
自適應(yīng)濾波器
+關(guān)注
關(guān)注
3文章
13瀏覽量
10975
原文標題:基于 FPGA LMS 算法的自適應(yīng)濾波器設(shè)計
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于AccelDSP的自適應(yīng)濾波器設(shè)計
變步長LMS自適應(yīng)濾波算法及其分析
基于粒子群算法的自適應(yīng)LMS濾波器設(shè)計及可重構(gòu)硬件實現(xiàn)
改進的變階數(shù)LMS自適應(yīng)濾波算法
LMS自適應(yīng)濾波算法中參考信號的選取問題
用FPGA實現(xiàn)LMS自適應(yīng)濾波
自適應(yīng)LMS濾波器在FPGA中的實現(xiàn)
改進的LMS算法自適應(yīng)濾波器的DSP實現(xiàn)
LMS自適應(yīng)濾波器的仿真與實現(xiàn)
LMS自適應(yīng)濾波器的FPGA實現(xiàn)

基于LMS算法與RLS算法的自適應(yīng)濾波

LMS自適應(yīng)濾波器的算法原理和應(yīng)該如何實現(xiàn)

LMS自適應(yīng)濾波器的MATLAB仿真和DSP實現(xiàn)
歸一化LMS算法自適應(yīng)濾波器的MATLAB仿真與DSP實現(xiàn)

評論