《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 改進(jìn)的LMS算法自適應(yīng)濾波器的DSP實(shí)現(xiàn)

改進(jìn)的LMS算法自適應(yīng)濾波器的DSP實(shí)現(xiàn)

2009-07-16
作者:趙巧紅,曾照福

  摘 要: 分析了變步長(zhǎng)LMS算法自適應(yīng)濾波器基本原理,使用MATLAB對(duì)其進(jìn)行仿真,并應(yīng)用SZ-EPP5402評(píng)估板進(jìn)行了DSP實(shí)現(xiàn),結(jié)果表明,變步長(zhǎng)LMS算法能夠克服固定步長(zhǎng)LMS算法的矛盾,具有較快收斂速度與較小穩(wěn)態(tài)誤差。
??? 關(guān)鍵詞: LMS算法;自適應(yīng)濾波器;DSP

?

?? 在數(shù)字信號(hào)處理中,濾波技術(shù)占有極其重要的地位。自適應(yīng)濾波器是利用前一時(shí)刻已獲得的濾波器參數(shù),自動(dòng)地調(diào)節(jié)、更新現(xiàn)時(shí)刻的濾波器參數(shù),以適應(yīng)信號(hào)和噪聲未知的統(tǒng)計(jì)特性,從而實(shí)現(xiàn)最優(yōu)濾波[1]。當(dāng)在未知統(tǒng)計(jì)特性的環(huán)境下處理觀測(cè)信號(hào)時(shí),利用自適應(yīng)濾波器可以獲得令人滿意的效果,其性能遠(yuǎn)超過(guò)通用方法所設(shè)計(jì)的固定參數(shù)濾波器。在通信、雷達(dá)、聲納、控制工程及生物醫(yī)學(xué)等領(lǐng)域應(yīng)用廣泛。
  選擇DSP完成自適應(yīng)濾波器的設(shè)計(jì),具有穩(wěn)定性好、精確度高、不受環(huán)境影響、靈活性好等優(yōu)點(diǎn)。固定步長(zhǎng)LMS算法濾波器在收斂速度與穩(wěn)態(tài)誤差之間存在矛盾,加快收斂速度的同時(shí)也會(huì)增大穩(wěn)態(tài)誤差。本文使用變步長(zhǎng)LMS算法對(duì)其進(jìn)行改進(jìn),在TMS320C5402DSP芯片上實(shí)現(xiàn)了基于固定步長(zhǎng)與變步長(zhǎng)LMS算法的自適應(yīng)濾波器,結(jié)果表明,變步長(zhǎng)LMS算法自適應(yīng)濾波器性能得到明顯改善,在加大其收斂速度的同時(shí)也很好地減小了穩(wěn)態(tài)誤差。
1? 自適應(yīng)濾波器基本結(jié)構(gòu)和LMS算法???
1.1? 自適應(yīng)濾波器基本結(jié)構(gòu)
  自適應(yīng)濾波器由2個(gè)分離的部分組成[2]:(1)濾波器,為完成期望的處理功能而設(shè)計(jì);(2)自適應(yīng)算法,調(diào)節(jié)濾波器系數(shù),以改進(jìn)性能。自適應(yīng)橫向型濾波器的結(jié)構(gòu)如圖1所示。圖1中x(n)為輸入信號(hào),通過(guò)權(quán)系數(shù)可調(diào)的數(shù)字濾波器產(chǎn)生輸出信號(hào)y(n),將y(n)與期望信號(hào)d(n)進(jìn)行比較,得到誤差信號(hào)e(n)。e(n)和x(n)通過(guò)自適應(yīng)算法對(duì)濾波器參數(shù)進(jìn)行調(diào)整,按照某種算法準(zhǔn)則判斷誤差信號(hào)e(n)是否達(dá)到最小。重復(fù)以上過(guò)程,濾波器逐漸掌握了輸入信號(hào)與噪聲規(guī)律,以此為依據(jù)調(diào)節(jié)自身參數(shù),達(dá)到最佳濾波效果。令W(n)為圖1中濾波器系數(shù)矢量,即W(n)=[W0(n),W1(n),…,WN(n)],則自適應(yīng)濾波器的輸出為:
  

1.2? LMS算法
  最常用的判斷e(n)的準(zhǔn)則為最小均方算法,即LMS算法。算法的目標(biāo)是通過(guò)調(diào)整系數(shù),使輸出誤差序列e(n)=d(n)-y(n)的均方值最小化,并且根據(jù)這個(gè)判據(jù)來(lái)修改權(quán)系數(shù)[3]。其中誤差序列的均方值又叫“均方誤差”MSE(Mean Square Error),即:

  

  目標(biāo)函數(shù)ε是W的二次函數(shù),形成一個(gè)碗狀拋物面(性能曲面),此曲面有唯一最低點(diǎn)即為碗底最小點(diǎn),自適應(yīng)濾波系數(shù)的起始值位于曲面的某一點(diǎn),經(jīng)過(guò)自適應(yīng)調(diào)節(jié),濾波系數(shù)變化,向碗底最小點(diǎn)移動(dòng),最終到達(dá)最小點(diǎn)[4]。系數(shù)變化按照梯度負(fù)方向移動(dòng)達(dá)到最小點(diǎn)的速度最快,令▽(n)表示n時(shí)刻的N×1維梯度矢量,N是濾波器系數(shù)個(gè)數(shù),自適應(yīng)濾波器系數(shù)矢量的變化與梯度的關(guān)系為:
???

將式(7)代入式(6)得到:

  初始收斂速度與穩(wěn)態(tài)誤差是衡量自適應(yīng)濾波算法優(yōu)劣的2個(gè)重要技術(shù)指標(biāo)[5]。減小步長(zhǎng)μ可減小自適應(yīng)算法的穩(wěn)態(tài)誤差,但卻減慢了算法初始收斂速度;增大步長(zhǎng)μ可加快算法收斂速度,但卻增大了穩(wěn)態(tài)誤差。因此,固定步長(zhǎng)LMS算法在加快算法初始收斂速度與減小穩(wěn)態(tài)誤差之間存在矛盾。
2?變步長(zhǎng)LMS算法
??? 為了克服固定步長(zhǎng)LMS算法收斂速度與穩(wěn)態(tài)誤差之間的矛盾,提出變步長(zhǎng)LMS自適應(yīng)算法。即在初始階段選用較大步長(zhǎng),使算法有較快初始收斂速度,隨著收斂加深之后采用較小步長(zhǎng)來(lái)減小穩(wěn)態(tài)誤差。本文中變步長(zhǎng)μ公式為:
  

  在變步長(zhǎng)LMS算法中,由于,在此范圍內(nèi),變步長(zhǎng)LMS算法得以收斂,而由于μ(n)是變化的,在初始階段選用較大步長(zhǎng)μ1,使得變步長(zhǎng)LMS算法比固定步長(zhǎng)LMS算法具有更快的收斂速度。當(dāng)算法逐漸進(jìn)入收斂穩(wěn)定時(shí),選用較小步長(zhǎng)μ2,使穩(wěn)態(tài)誤差隨步長(zhǎng)減小而減小,因此,變步長(zhǎng)LMS算法具有比固定步長(zhǎng)LMS算法更小的穩(wěn)態(tài)誤差。
3?自適應(yīng)濾波器的MATLAB仿真
??? 實(shí)驗(yàn)中,設(shè)計(jì)一個(gè)簡(jiǎn)單二階加權(quán)自適應(yīng)橫向?yàn)V波器,用單頻正弦信號(hào)與一個(gè)隨機(jī)噪聲進(jìn)行疊加作為系統(tǒng)輸入信號(hào)x(n),選取1 000個(gè)采樣點(diǎn),根據(jù)自適應(yīng)濾波器迭代方程設(shè)計(jì)自適應(yīng)濾波器,對(duì)輸入信號(hào)x(n)進(jìn)行濾波。固定步長(zhǎng)LMS算法選用步長(zhǎng)μ為0.002 6,變步長(zhǎng)LMS算法在算法初始300個(gè)采樣點(diǎn)時(shí)選取μ1為0.004 2,在算法初始收斂逐漸加深后,后面700個(gè)采樣點(diǎn)選取μ2為0.002 1。仿真結(jié)果如圖2所示。
??? 從圖2(b)中可以看出,固定步長(zhǎng)LMS算法濾波結(jié)果在開(kāi)始階段收斂速度比較慢,有較大穩(wěn)態(tài)誤差,算法有待改善。圖2(c)中變步長(zhǎng)LMS算法濾波結(jié)果比固定步長(zhǎng)LMS算法具有更快初始收斂速度與較小穩(wěn)態(tài)誤差,濾波效果得到明顯改善,濾波性能優(yōu)于固定步長(zhǎng)LMS算法。從仿真角度證明了變步長(zhǎng)LMS算法的優(yōu)越性與可行性。

4?自適應(yīng)濾波器的DSP實(shí)現(xiàn)
  為了提高LMS算法的處理速度且減小系統(tǒng)硬件規(guī)模,采用TI公司的TMS320C5402芯片作為核心芯片實(shí)現(xiàn)該算法。該處理器采用程序與數(shù)據(jù)分開(kāi)的哈佛體系結(jié)構(gòu),片上有16 KB存儲(chǔ)器,外部擴(kuò)展32 KB的數(shù)據(jù)存儲(chǔ)器,64 KB的程序存儲(chǔ)器;具有高度并行性。用C語(yǔ)言實(shí)現(xiàn)變步長(zhǎng)LMS算法子程序流程如圖3所示。其中,N為迭代次數(shù);order為階數(shù);μ1、μ2為步長(zhǎng);count為當(dāng)前采樣點(diǎn);NS為采樣點(diǎn)數(shù)。


  在圖3中,首先輸入濾波器迭代次數(shù)N,步長(zhǎng)μ1、μ2,采樣點(diǎn)數(shù)NS的值,初始化濾波器系數(shù)矢量W(0)為零,定義2個(gè)指針i、j,分別指向?yàn)V波器系數(shù)階數(shù)order與當(dāng)前采樣點(diǎn)數(shù)count,當(dāng)階數(shù)小于迭代次數(shù)N,且采樣點(diǎn)數(shù)小于總采樣點(diǎn)數(shù)的1/3時(shí),進(jìn)行迭代運(yùn)算1,此時(shí)步長(zhǎng)為μ1;大于1/3時(shí),進(jìn)行迭代運(yùn)算2,步長(zhǎng)為μ2。
??? 設(shè)計(jì)中,采用1 500 Hz的期望信號(hào)與312 Hz的噪聲信號(hào)疊加作為30個(gè)系數(shù)的自適應(yīng)濾波器的一個(gè)輸入信號(hào),對(duì)于每一個(gè)時(shí)刻n,計(jì)算自適應(yīng)濾波器的輸出,誤差信號(hào)是輸出信號(hào)與期望信號(hào)的差值。固定步長(zhǎng)LMS算法與變步長(zhǎng)LMS算法在SZ-EPP5402評(píng)估板上實(shí)現(xiàn)的結(jié)果如圖4所示。


 ?? 從圖4(b)中可以看出,在濾波初始階段,濾波結(jié)果不明顯,輸入的疊加信號(hào)經(jīng)過(guò)自適應(yīng)濾波器后,在初始階段噪聲沒(méi)有得到明顯抑制,存在較大穩(wěn)態(tài)誤差,收斂速度比較慢,收斂速度和穩(wěn)態(tài)誤差都有待改善。從圖4(c)中可以看出,在濾波初始階段,穩(wěn)態(tài)誤差已得到明顯改善,有較小穩(wěn)態(tài)誤差,初始收斂速度也有所加快,輸入的疊加信號(hào)經(jīng)過(guò)自適應(yīng)濾波器后,噪聲得到明顯抑制,濾波性能明顯優(yōu)于固定步長(zhǎng)LMS算法,具有較快收斂速度與較小穩(wěn)態(tài)誤差,很好地克服了固定步長(zhǎng)存在的矛盾。
  初始收斂速度與穩(wěn)態(tài)誤差是衡量自適應(yīng)濾波算法性能優(yōu)劣的2個(gè)重要技術(shù)指標(biāo)。本文通過(guò)對(duì)固定步長(zhǎng)和變步長(zhǎng)LMS算法自適應(yīng)濾波器進(jìn)行MATLAB仿真與DSP實(shí)現(xiàn),比較二者結(jié)果,證明了變步長(zhǎng)LMS算法能夠保證較快的收斂速度與較小的穩(wěn)態(tài)誤差,并能有效去除不相關(guān)的獨(dú)立噪聲干擾,克服固定步長(zhǎng)在增大初始收斂速度與減小穩(wěn)態(tài)誤差之間存在的矛盾,優(yōu)化了自適應(yīng)濾波器的性能,濾波效果明顯。


參考文獻(xiàn)
[1] SHIREEN W, TAO L I.A DSP-based active power filter for low voltage distribution systems[J].Electric Power
Systems Research,2008,78:1561-1567.
[2] 呂振肅,熊景松.一種改進(jìn)的變步長(zhǎng)LMS自適應(yīng)算法[J].信號(hào)處理,2008,24(1):144-146.
[3] KUKRER O,HOCANIN A.Frequency-response-shaped LMS adaptive filter[J].Digital Signal Processing,2006,
16:855-869.
[4] 葉永生,余容桂,吳霄.一種新的自適應(yīng)最小均方算法及其應(yīng)用研究[J].電測(cè)與儀表,2008,45(7):19-22.
[5] 張會(huì)生,閆學(xué)斌,秦勇,等.LMS算法自適應(yīng)濾波器的DSP實(shí)現(xiàn)[J].通信技術(shù),2006(10):72-73.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。