于新穎
(山西大學商務(wù)學院 信息學院,山西 太原 030031)
自適應(yīng)濾波算法分析及仿真
于新穎
(山西大學商務(wù)學院 信息學院,山西 太原 030031)
主要對自適應(yīng)濾波算法展開了研究和討論,重點對LMS算法、NLMS算法以及RLS算法做了詳細的說明和對比,在算法原理、算法性能分析方面說明了各自算法的優(yōu)越性。通過MATLAB仿真,對每種算法的收斂性、學習曲線和誤差分析等方面進行了分析。
自適應(yīng);噪聲對消;LMS算法;NLMS算法;RLS算法
由于真實客觀環(huán)境中噪聲的特性常常是不平穩(wěn)的,因而自適應(yīng)濾波在噪聲對消中的應(yīng)用有著廣闊的發(fā)展前景。隨著自適應(yīng)噪聲對消技術(shù)的發(fā)展,應(yīng)用于自適應(yīng)噪聲對消系統(tǒng)的算法也發(fā)生了很大的變遷。其中最常用的是LMS(最小均方算法)和RLS(遞歸最小二乘算法),而LMS算法[1]以其算法簡單,運算量小,實現(xiàn)容易等優(yōu)點而得到了廣泛應(yīng)用,但固定步長的LMS算法在收斂速率,跟蹤速率和權(quán)失調(diào)噪聲要求方面存在矛盾;為了解決這一矛盾,人們研究出了變步長的LMS算法。但基于變步長LMS的算法存在收斂特性和失調(diào)量受步長影響的缺點,且最優(yōu)步長不太容易確定,因此NLMS,ELMS等關(guān)于LMS的改進的濾波算法得到了發(fā)展。RLS這種算法是對輸入信號自相關(guān)的矩陣求逆,進而不斷遞推估計實現(xiàn)權(quán)值更新的,具有更快的收斂速度,但這種算法計算起來較為復(fù)雜,存儲量大,不適用于實時性要求高的場合;另外一個使用局限是,輸入信號自相關(guān)的矩陣求逆之后必須具有正定性,否則會引起算法發(fā)散。
1.1 最小均方(LMS)算法
LMS算法是隨機梯度算法家族中的一員,簡單性是它的一個顯著特點,而且它不需要計算有關(guān)的相關(guān)函數(shù),也不需要矩陣求逆運算,因此它也是線性自適應(yīng)濾波算法的參考標準[2]。
LMS算法采用的是一種瞬時估計,即用n時刻的平方誤差性能函數(shù)|e(n)|2作為瞬時均方誤差ξ=E[e2(n)]的估值,其實質(zhì)是以當前輸出誤差、當前參考信號和當前權(quán)系數(shù)求得下個時刻的權(quán)系數(shù)。
LMS算法輸出信號y(n)、輸出誤差e(n)及權(quán)系數(shù)W(n)的計算公式為:
y(n)=W(n)XT(n) .
(1)
e(n)=d(n)-y(n)=d(n)-W(n)XT(n) .
(2)
W(n+1)=W(n)+2μe(n)X(n) .
(3)
其中μ是控制自適應(yīng)速度與穩(wěn)定性的增益常數(shù),稱為步長因子,選擇時,應(yīng)該綜合考慮收斂速度和穩(wěn)態(tài)誤差的要求。
自適應(yīng)濾波器收斂的條件是:
LMS算法的優(yōu)點是結(jié)構(gòu)較為簡單,適應(yīng)變化能力強,但其則具有收斂的速度較慢的缺點。為了能適用于信號實時性處理的場合,如何提高LMS這種算法的自適應(yīng)速度就顯得尤為重要。
局限LMS算法收斂這一要素的主要原因有:
1) 步長因子不能過大,不然算法最終不收斂;
2) 收斂速度及均方誤差不能兼得。
這兩個原因都與步長有關(guān),LMS算法中的步長是唯一能夠控制算法迭代過程的參量,必然是改進LMS算法性能的唯一著手點。
1.2 歸一化最小均方(NLMS)算法
LMS算法是通過對梯度矢量各分量單個數(shù)據(jù)取樣值的估計得到的,沒有進行平均,才會使梯度估計中存在著噪聲。NLMS引入變步長的迭代過程[3],加快了收斂速度。
NLMS算法的輸出信號y(n)、輸出誤差e(n)及權(quán)系數(shù)W(n)的計算公式為:
y(n)=W(n)XT(n) .
(4)
e(n)=d(n)-y(n) .
(5)
(6)
此即歸一化LMS算法,其步長被輸入信號的范數(shù)平方除,因而較LMS算法具有更好的穩(wěn)定性和收斂性。
1.3 遞歸最小二乘(RLS)算法
RLS算法是一個遞歸實現(xiàn),其收斂速率比一般的LMS濾波器快一個數(shù)量級,因此它在線性自適應(yīng)濾波器中應(yīng)用非常廣泛[4]。
RLS算法的輸出信號y(n)、輸出誤差e(n)及權(quán)系數(shù)W(n)的計算公式為:
y(n)=WT(n-1)X(n) .
(7)
e(n)=d(n)-y(n) .
(8)
W(n)=W(n-1)+g(n)[d(n)-X(n)WT(n-1)] .
(9)
其中,增益矢量g(n)=C(n-1)X(n)/[λ+XT(n)C(n-1)X(n)];C(n)為自相關(guān)矩陣Rxx(n)的逆矩陣,其定義式為C(n)=λ-1[C(n-1)-g(n)XT(n)C(n-1)],且C(0)=δ-1I(I為單位矩陣,δ為小的正實數(shù));常數(shù)λ是遺忘因子,要求0<λ≤1。
RLS算法主要應(yīng)用于系統(tǒng)辨識、自適應(yīng)控制和自適應(yīng)信號處理等領(lǐng)域。主要優(yōu)點是收斂速度快,因此在快速信道均衡、 實時系統(tǒng)辨識和實際序列分析中得到廣泛的應(yīng)用[4],其主要缺點是每次迭代計算量大。
2.1 LMS算法的MATLAB仿真
輸入為正弦信號與隨機噪聲的迭加,隨機噪聲的幅值小于1,在取不同步長情況下,LMS算法的誤差函數(shù)曲線如圖1所示,誤差函數(shù)圖中縱坐標表示誤差的大小。
(a) u=0.03,N=300,k=16
(b) u=0.03,N=300,k=32
(c) u=0.05,N=300,k=32
2.2 NLMS算法的MATLAB仿真
1) 輸入為正弦信號與隨機噪聲的迭加,隨機噪聲的幅值小于1。NLMS均值曲線圖仿真結(jié)果如圖2所示。每個圖中的橫坐標都表示迭代次數(shù),學習曲線中縱坐標表示均方誤差的大小。
圖2 NLMS算法u=0.8和u=1學習曲線
2) 當輸入信號為正弦函數(shù)與噪聲的疊加時,LMS和NLMS的性能對比如圖3所示。
圖3 LMS和NLMS算法的誤差比較
2.3 RLS算法的MATLAB仿真
仿真采用多權(quán)的自適應(yīng)橫向濾波系統(tǒng),期望響應(yīng)是一個經(jīng)過濾波的高斯隨機噪聲,采用RLS算法的自適應(yīng)濾波學習曲線和矢量估計誤差曲線如圖4所示。
(a) RLS算法的學習曲線
(b) RLS算法的誤差曲線
1) LMS算法最大的優(yōu)點是易于實現(xiàn),而且對有限寄存器長度造成的實現(xiàn)誤差不敏感,在實際生活和生產(chǎn)中應(yīng)用較為廣泛。
由圖1三組不同情況下LMS算法的誤差圖的對比可以看出,開始時誤差比較類似于正弦函數(shù),隨著自適應(yīng)過程的進行,誤差越來越小并且隨機性增大,隨著迭代次數(shù)的增加逐漸趨于零附近。由圖(b)、圖(c)比較可知,u越小,收斂速度越慢,但穩(wěn)態(tài)誤差較??;由圖(a)、圖(b)比較可知,階數(shù)k越小,收斂越快,但穩(wěn)態(tài)誤差較大。從而驗證了在迭代收斂過程中,誤差函數(shù)隨著迭代次數(shù)的增加逐漸趨于零,學習曲線也趨于在附近小幅度波動,甚至為零。但是LMS算法的收斂速度和其穩(wěn)定性能是相互矛盾的;步長較大時收斂速度較快,但其穩(wěn)定性較差;步長較小時收斂速度較慢,但其穩(wěn)定性較好。
2) 由圖2可知,u越大,曲線收斂的越快,越容易趨于零,但曲線卻更不光滑,振蕩較大,符合NLMS算法的規(guī)律。另外,在NLMS算法中,當u太大時,學習曲線反而會發(fā)散;克服了LMS算法的缺點,算法本身可看成是一種變步長的自適應(yīng)算法,它的步長大小與輸入信號的信噪比有關(guān)。
3) RLS算法在收斂速度和信號穩(wěn)定性方面的性能都比LMS和NLMS算法良好,收斂速度比LMS算法快一個數(shù)量級,收斂性能與輸入信號的頻譜特性無關(guān)而且對信號的跟蹤能力較強,誤差較小。但是RLS算法涉及到矩陣求逆,計算復(fù)雜度很高,所需的存儲量極大,不利于實時實現(xiàn)[5]。
本論文主要介紹了三種常用的自適應(yīng)算法:LMS、NLMS及RLS,并通過MATLAB仿真,從收斂性、誤差函數(shù)和學習曲線等方面對這三種算法進行了簡單的分析。結(jié)果表明,LMS算法易于廣泛的應(yīng)用,但步長因子存在難以調(diào)和的矛盾;NLMS在收斂速度上有了明顯的改進,是對于LMS的優(yōu)化;RLS收斂速度和穩(wěn)定性都很好,但計算量過大,不利于大范圍推廣。
[1] 王海峰,陳偉,黃秋元.基于LMS算法自適應(yīng)噪聲抵消器的分析研究[J].計算機與數(shù)字工程,2009,37(3):85-87.
[2] 秦彥平.基于DSP地下漏水定位系統(tǒng)的自適應(yīng)濾波器設(shè)計[D].內(nèi)蒙古大學,2010.
[3] 文靜,文玉梅,李平.基于噪聲白化準則的自適應(yīng)噪聲抵消方法[J].儀器儀表學報,2010,31(8):1693-1698.
[4] 肖林.LMS和RLS算法的研究與實現(xiàn)[J].中山大學研究生期刊,2010,31(2):73-81.
[5] 余慧.基于DSP反饋自適應(yīng)噪聲抵消器研究與設(shè)計[D].湖南大學,2010.
The Analysis and Simulation of Adaptive Filtering Algorithms
Yu Xinying
(SchoolofInformation,BusinessCollegeofShanxiUniversity,TaiyuanShanxi030031,China)
This paper mainly makes a study and discussion about the algorithms of adaptive filtering. It focuses on the detail description and comparison of the LMS algorithm, NLMS algorithm and RLS algorithm, shows the superiority of each algorithm through the principle and performance. With the help of MATLAB simulation, this paper analyzes the convergence, learning curve and error analysis of each algorithm.
adaptive; noise cancellation; LMS algorithm; NLMS algorithm; RLS algorithm
2016-08-24
于新穎(1987- ),女,河北唐山人,助教,碩士研究生,自適應(yīng)信號處理方向。
1674- 4578(2016)06- 0007- 02
TP701
A