摘 要:自適應(yīng)濾波器技術(shù)因其各方面的優(yōu)越性能,已經(jīng)在數(shù)字通信、工業(yè)控制和雷達等領(lǐng)域獲得了廣泛應(yīng)用。本文主要介紹自適應(yīng)濾波器的Matlab設(shè)計方法,且以LMS算法作為范例進行MatLab仿真,結(jié)果可見設(shè)計的自適應(yīng)濾波器具有良好的性能和較強的可操作性。
關(guān)鍵詞:自適應(yīng)濾波器 MatLab LMS算法
中圖分類號:TP391 文獻標(biāo)識碼:A 文章編號:1672-3791(2013)06(b)-0004-01
在現(xiàn)代通信以及控制工程中,濾波是一種廣泛應(yīng)用的信號處理方法,當(dāng)外界環(huán)境特性未知,信號傳遞不斷變化時,我們通常會選用通過自身算法改變?yōu)V波器自身的參數(shù)和結(jié)構(gòu)的自適應(yīng)濾波器。它主要包括自適應(yīng)處理器(參數(shù)可調(diào)數(shù)字濾波器)和算法,其中自適應(yīng)處理器分為FIR數(shù)字濾波器、IIR數(shù)字濾波器和格形數(shù)字濾波器。本文主要對自適應(yīng)濾波器設(shè)計的LMS算法以及其MatLab仿真進行分析研究。
1 自適應(yīng)濾波器的原理
自適應(yīng)濾波器以輸入和輸出信號的統(tǒng)計特性的估計為依據(jù),采取特定算法自動地調(diào)整濾波器系數(shù),使其達到最佳濾波特性;它可以是連續(xù)域或者離散域的,離散域自適應(yīng)濾波器由一組抽頭延遲線、可變加權(quán)系數(shù)和自動調(diào)整系數(shù)的機構(gòu)組成。離散域自適應(yīng)濾波器的輸入信號經(jīng)過自適應(yīng)處理器后產(chǎn)生輸出信號,然后和作為參考的輸入信號進行對比,產(chǎn)生誤差輸出信號,通過設(shè)計的自適應(yīng)濾波算法的反饋調(diào)節(jié)調(diào)整濾波器的參數(shù),最終輸出誤差信號均方差的最小值。自適應(yīng)濾波器的算法決定著濾波器參考信號的處理能力,在最佳準(zhǔn)則條件下算法能夠大大提高其輸出信噪比。自適應(yīng)算法通??梢苑譃樽钚【剿惴ǎ↙MS)和遞推最小二乘算法(RLS),LMS算法簡單、運算方便、易于實現(xiàn),但收斂的速度相對較慢,且其速度和輸入信號的統(tǒng)計特性直接相關(guān)。
2 自適應(yīng)濾波器的LMS算法
LMS算法是自適應(yīng)濾波器的基礎(chǔ),是一種隨機性遞推算法,該算法主要包含下面三個方程:y(k)=∑w(i)x(k-i+1)
e(k)=d(k)-y(k)
w(k+1)=w(k)+2ue(k)x(k-i) (0≤i≤M-1)
在以上三個式子當(dāng)中:x為自適應(yīng)濾波的輸入濾波;y為自適應(yīng)濾波的輸出濾波;d為參考信號的濾波;e為誤差值;w為權(quán)重系數(shù);u為步長;M為自適應(yīng)濾波器的階數(shù)。步長是表示迭代快慢的物理量,步長越大,其自適應(yīng)的時間越短,自適應(yīng)的速度也越快,同時也會引起很大的失調(diào)現(xiàn)象,當(dāng)它大于某一個值時,系統(tǒng)呈現(xiàn)發(fā)散狀態(tài);步長越小,失調(diào)性就越小,系統(tǒng)的穩(wěn)定性也加強,但是其自適應(yīng)的時間變得非常長。步長因子受濾波階數(shù)及輸入信號功率的影響,在輸入某同一信號時,為保持系統(tǒng)收斂性,步長應(yīng)與濾波階數(shù)成反比,且步長值根據(jù)濾波器階數(shù)的變化而做相應(yīng)變化,這樣在信號處理過程中才能取得最佳效果,若濾波器階數(shù)一定,則LMS算法的收斂速度將只受步長的影響,自適應(yīng)濾波器的級數(shù)通常同噪聲通道對應(yīng)的傳遞函數(shù)的階數(shù)保持一致。如果級數(shù)大于傳遞函數(shù)的階數(shù),會造成失調(diào)增大,只有當(dāng)兩者數(shù)值相等時,才能發(fā)揮出自適應(yīng)濾波器的最佳性能;當(dāng)自適應(yīng)濾波器的信噪比增大時,LMS算法的性能將受到很大的影響,在設(shè)計時可以采用頻域LMS算法來克服這一局限性。
3 自適應(yīng)濾波器的MatLab仿真分析
在MATLAB中,信號處理工具箱可以看作工具集合,包含生成波形、設(shè)計濾波器、參數(shù)模型以及頻譜分析等多個常見功能,使用MATLAB信號處理工具箱,可以很方便地求解數(shù)字濾波器問題,同時還可以十分便捷地在圖形化界面上編輯和修改數(shù)字濾波。對設(shè)計的LMS算法在MatLab上進行仿真實驗,選取自適應(yīng)步長為0.0006,對比信噪比分別取20 dB,5 dB和-5 dB時自適應(yīng)濾波器輸出的波形,另外給定信噪比為10 dB時,對比自適應(yīng)步長取0.0002,0.0006,0.002不同值時的系統(tǒng)誤差的波形,如圖1所示,通過觀察分析仿真結(jié)果得出以下結(jié)論。
步長一定時,輸入信噪比越大,自適應(yīng)濾波器輸出波形越好,所需濾波器長度相對較短;信噪比一定時,如果步長過大,就會導(dǎo)致自適應(yīng)濾波器無法收斂,伴隨著迭代次數(shù)的不斷增加,自適應(yīng)濾波器始終無法收斂。步長越大,造成的系統(tǒng)誤差就越小,但是步長過小時,對算法的收斂產(chǎn)生嚴(yán)重的影響,從而導(dǎo)致自適應(yīng)濾波器無法取得理想的濾波效果。
4 結(jié)語
自適應(yīng)濾波器的初始收斂速度以及穩(wěn)態(tài)誤差是衡量其性能好壞的重要指標(biāo),本文主要給出了基于LMS算法的自適應(yīng)濾波器的設(shè)計方法,同時對其性能在MatLab上進行仿真。分析仿真結(jié)果我們得出該方案是可以實現(xiàn)的,基于LMS算法設(shè)計的自適應(yīng)濾波器在對含噪信號進行處理時,能夠取得很好的濾波效果,去噪效果顯著;分析誤差結(jié)果發(fā)現(xiàn)初始信號的誤差值較大,這是由于LMS算法的局限性引起的,因此為取得更加理想的效果,必須根據(jù)需要對LMS算法進行必要的改進。
參考文獻
[1]趙海斌.MATLAB應(yīng)用大全[M].北京:清華大學(xué)出版社,2012.
[2]陳杰.MATLAB寶典[M].北京:電子工業(yè)出版社,2011.
[3]張朝柱.自適應(yīng)信號處理技術(shù)[M].北京:北京理工大學(xué)出版社,2010.