<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種新的變步長LMS自適應濾波算法在DSP上的實現

          一種新的變步長LMS自適應濾波算法在DSP上的實現

          作者: 時間:2010-12-07 來源:網絡 收藏

          Widrow和Hoff等人于1960年提出最小均方誤差(),由于其結構簡單,計算量小,穩(wěn)定性好,易于等優(yōu)點而得到廣泛的應用。的缺點是收斂速度慢,它克服不了收斂速度和穩(wěn)態(tài)誤差這一對固有矛盾:在收斂的前提下,如果取較大值,雖然收斂速度能得到提高,但穩(wěn)態(tài)誤差會隨之增大,反之穩(wěn)態(tài)誤差雖然降低但收斂速度就會變慢。為解決這一矛盾,人們提出了許多改進型自。其中很大一類是變算法。文獻[4]提出Sigmoid函數變LMS算法(SVSLMS)。該算法在初始階段或未知系統(tǒng)的系數參數發(fā)生變化時,其步長較大,從而使該算法有較快的收斂速度;而在算法收斂后,不管主輸入端干擾信號e(n)有多大,都保持很小的調整步長,從而獲得較小的穩(wěn)態(tài)失調噪聲。但Sigmoid函數過于復雜,且在誤差e(n)接近零處變化太大,不具有緩慢變化的特性,使得SVSLMS算法在自穩(wěn)態(tài)階段仍有較大的步長變化;文獻[5]提出的算法引入了多個調整參數,因而步長因子不易設計和控制;文獻[6-8]提出了3種與誤差信號成非線性關系的步長設計方法,該類算法具有較好的收斂性能,但3種算法在計算步長因子時,都存在指數運算。在數字信號處理中,進行一次指數運算需要的計算量,相當于進行多次乘法運算的計算量。

          因此這類算法在時,增大了計算復雜度。為克服上述變步長LMS自器存在的不足,在此提出了一種新的變步長LMS自適應算法,該算法具有良好的收斂性能,較快的收斂速度,較小的穩(wěn)態(tài)誤差.良好的魯棒性,并且在求變步長因子時計算量較小。

          1 新的變步長LMS算法分析

          基本的固定步長LMS算法的迭代公式可以表述為:



          式中:X(n)表示時刻n的輸入信號矢量;W(n)表示時刻n自適應器的權系數;d(n)是期望輸出值;e(n)是誤差;μ是控制穩(wěn)定性和收斂速度的參量(步長因子)。本文基于文獻[6,7]建立一個步長μ(n)和誤差e(n)的函數關系:反正切函數是一個關于自變量的增函數,且在零附近變化平緩,而且是一個有界函數,函數值不會發(fā)散。根據W(k+1)=W(k)=w*=最佳Wiener解,即2μ(n)e(n)X(n)=0并且0μ(n)1/λmax,即Oe(n)X(n)O=0,求得e(n)最小值。
          根據上述討論,可將新算法的變步長μ(n)取為:

          μ(n)=βαtan(αOe(n)X(n)O)

          初始時刻Oe(n)X(n)O很大,由于反正切是一個自變量的增函數,所以μ(n)較大;隨著算法不斷地向穩(wěn)態(tài)趨近,Oe(n)X(n)O不斷減小,μ(n)也隨之不斷減小;當達到穩(wěn)態(tài)時,Oe(n)X(n)O很小,μ(n)也很小,此時的穩(wěn)態(tài)失調誤差也很小。

          由圖1可看出α越大,相同誤差水平時的步長也越大,但在誤差接近為零時步長變化越劇烈。圖2是β取不同值時的步長變化曲線,可以看出隨著β的減小步長也在減小。

          本文引用地址:http://www.ex-cimer.com/article/151273.htm



          2 仿真及結果分析

          下面通過計算機仿真來驗證算法的收斂性能。仿真條件為:自適應濾波器的階數為L=2;未知系統(tǒng)的FIR系數為W=[0,0]T;參考輸入信號x(n)是零均值,方差為1的高斯白噪聲;v(n)為與x(n)不相關的高斯白噪聲。分別做200次獨立的仿真,采樣點數為1 000,然后求其統(tǒng)計平均,得出學習曲線。

          圖3是α固定,不同β值對應的收斂曲線。隨著β值的增大,算法的收斂速度逐漸加快。圖4是β保持不變,不同α值對應的收斂曲線,隨著α逐漸減小,算法的誤差也隨之減小,但達到穩(wěn)態(tài)的時間逐漸增加。

          文獻[7]提出了一種改進的變步長LMS算法,其步長變化為e(n)X(n)的函數:

          μ(n)=β[1-exp(-αOe(n)x(n)O2)]

          該算法取α=15,β=0.3。圖5是在第500個采樣點時刻未知系統(tǒng)發(fā)生時變,系數矢量變?yōu)閃=[0.2,0.5]T時本文算法與文獻[7]算法的比較,分別做500次獨立的仿真,然后求其統(tǒng)計平均,得出學習曲線??梢钥闯霰疚乃鏊惴ň哂懈斓氖諗克俣?,更快地回到穩(wěn)態(tài),說明此算法具有更好的魯棒性,并且計算量更小。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();