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

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

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

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

?

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

  

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

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

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

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

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


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


 ?? 從圖4(b)中可以看出,,在濾波初始階段,,濾波結(jié)果不明顯,輸入的疊加信號經(jīng)過自適應(yīng)濾波器后,,在初始階段噪聲沒有得到明顯抑制,,存在較大穩(wěn)態(tài)誤差,收斂速度比較慢,,收斂速度和穩(wěn)態(tài)誤差都有待改善,。從圖4(c)中可以看出,在濾波初始階段,,穩(wěn)態(tài)誤差已得到明顯改善,,有較小穩(wěn)態(tài)誤差,,初始收斂速度也有所加快,輸入的疊加信號經(jīng)過自適應(yīng)濾波器后,,噪聲得到明顯抑制,,濾波性能明顯優(yōu)于固定步長LMS算法,具有較快收斂速度與較小穩(wěn)態(tài)誤差,,很好地克服了固定步長存在的矛盾,。
  初始收斂速度與穩(wěn)態(tài)誤差是衡量自適應(yīng)濾波算法性能優(yōu)劣的2個重要技術(shù)指標(biāo)。本文通過對固定步長和變步長LMS算法自適應(yīng)濾波器進(jìn)行MATLAB仿真與DSP實(shí)現(xiàn),,比較二者結(jié)果,,證明了變步長LMS算法能夠保證較快的收斂速度與較小的穩(wěn)態(tài)誤差,并能有效去除不相關(guān)的獨(dú)立噪聲干擾,,克服固定步長在增大初始收斂速度與減小穩(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)的變步長LMS自適應(yīng)算法[J].信號處理,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].電測與儀表,,2008,,45(7):19-22.
[5] 張會生,閆學(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)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。