馬國棟 , 閻樹田 , 賀成柱 , 楊 晨
(1.蘭州理工大學(xué) 機(jī)電工程學(xué)院,甘肅 蘭州 730050;2.甘肅省裝備制造業(yè)數(shù)字化設(shè)計(jì)公共服務(wù)平臺 甘肅 蘭州 730030)
自適應(yīng)濾波器是現(xiàn)代信號處理的重要組成部分。因其濾波功能強(qiáng)大,成為信號處理和自動(dòng)控制應(yīng)用領(lǐng)域不可或缺的設(shè)備。自適應(yīng)濾波器的算法決定了其性能,根據(jù)濾波器算法優(yōu)化準(zhǔn)則不同,自適應(yīng)濾波器算法可分為兩類基本算法:最小均方誤差(LMS)算法和遞歸最小二乘(RLS)算法[1]。
自適應(yīng)濾波算法推導(dǎo)較為繁瑣,推導(dǎo)過程中涉及到多個(gè)關(guān)系的建立及多個(gè)參數(shù)的假設(shè),而這些都是在一種理想的狀態(tài)下完成的[2]。文中針對兩種算法進(jìn)行了公式推導(dǎo)。在LMS算法中,本文主要抓住使得輸出誤差序列e(n)均方值最小及如何使得目標(biāo)函數(shù)s取得最小值為突破點(diǎn),進(jìn)而引出自相關(guān)矩陣、期望信號與輸人信號的相關(guān)矢量、非奇異矩陣等概念與假設(shè),再使用數(shù)學(xué)方法進(jìn)行計(jì)算推導(dǎo),使得復(fù)雜的算法在理解上具有層次感,使讀者對算法的結(jié)構(gòu)一目了然。同樣在RLS算法中,本文主要以“遺忘因子”的概念為跳板,分析權(quán)重的范圍,通過對比,取濾波器的實(shí)際輸入d*(i)作為期望響應(yīng)d(i),并選擇合適的代價(jià)函數(shù)。這樣不僅可以優(yōu)化算法,也使得算法在理解上更具有層次感,便于讀者理解學(xué)習(xí)。
同時(shí),文中按照原理推導(dǎo)、軟件編程、軟件仿真的試驗(yàn)方法與步驟,使用MATLAB軟件[3-4]設(shè)計(jì)自適應(yīng)數(shù)字濾波器。設(shè)置輸入信號、噪聲信號,通過輸出信號的圖像走勢對兩種算法的優(yōu)缺點(diǎn)進(jìn)行對比分析,便于讀者對兩種算法的學(xué)習(xí)及對濾波器的設(shè)計(jì)。
自適應(yīng)濾波的基本原理就是利用前一時(shí)刻獲得濾波器參數(shù)的結(jié)果自動(dòng)調(diào)節(jié)現(xiàn)時(shí)刻的濾波器參數(shù),以適應(yīng)信號和噪聲未知的或隨時(shí)間變化的統(tǒng)計(jì)特性,從而實(shí)現(xiàn)最優(yōu)濾波。因此,自適應(yīng)濾波器具有自我調(diào)節(jié)和跟蹤能力。自適應(yīng)濾波器的一般結(jié)構(gòu)如圖1所示[5-6]。
圖1中x(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)整,調(diào)整的目的使得誤差信號e(n)最小。
圖1 自適應(yīng)濾波器的一般結(jié)構(gòu)Fig.1 General structure of adaptive filter
最小均方算法即LMS算法是B.Widrow和Hoff提出的來,由于實(shí)現(xiàn)簡單且對信號統(tǒng)計(jì)特性變化具有穩(wěn)健性,因此獲得極為廣泛的應(yīng)用。
給定系統(tǒng)的輸入信號為:X(n)=[x(n),x(n-1),…,x(n-N)]T,
輸入輸出關(guān)系式為:
其中 W(n)=[ω0(n),ω1(n),…,ωN(n)]T為濾波器的 N+1個(gè)權(quán)系數(shù)構(gòu)成的權(quán)系數(shù)矢量,誤差信號為
LMS算法根據(jù)誤差信號來調(diào)整濾波器系數(shù),使輸出誤差序列e(n)的均方值最小。
式(3)中,R=E[X(n)x(n-m)],m=0,1...,N,為(N+1)×(N+1)維輸入信號的自相關(guān)矩陣;
P=E[f(n)X(n)]為(N+1)×1 維期望信號與輸入信號的相關(guān)矢量。
目標(biāo)函數(shù)s是W(n)的二次函數(shù),其圖形是N+2維空間中一個(gè)中間下凹的超拋物面,它有唯一的最低點(diǎn),即最小均方值,該曲面稱為均方誤差性能曲面為了最快尋找到最小點(diǎn),要按照梯度負(fù)方向移動(dòng)。
令Δ(n)表示n時(shí)刻的(N+1)×1維梯度矢量,則自適應(yīng)濾波器系數(shù)矢量的變化與梯度的關(guān)系為:
式中,μ為自適應(yīng)步長,為正的實(shí)常數(shù)。
對于LMS算法
式(1)、式(2)、式(7)聯(lián)立即構(gòu)成 LMS 算法的迭代公式。
遞歸最小二乘算法即RLS算法,它是利用在已知n-1時(shí)濾波器抽頭權(quán)系數(shù)的情況下,通過簡單的更新,求出n時(shí)刻的濾波器抽頭權(quán)系數(shù)。使用指數(shù)加權(quán)的誤差平方和J(n)=∑λn-i|ε(i)|2(0<λ<1,稱為遺忘因子),引入遺忘因子作用是離 n 時(shí)刻近的誤差附較大重,離n時(shí)刻遠(yuǎn)的誤差賦較小權(quán)重,確保在過去某一段時(shí)間的觀測數(shù)據(jù)被“遺忘”,從而使濾波器可以工作在非平穩(wěn)狀態(tài)下:ε(i)=d(i)-wH(n)u(i)
定義估計(jì)誤差:ε(i)=d(i)-y(i)=d(i)-wH(n)u(i),其中 d(i)為期望相應(yīng),y(i)為濾波器輸出,可取濾波器的實(shí)際輸入d*(i)作為期望響應(yīng) d(i)。
由以上式子可見指數(shù)加權(quán)最小二乘法的解轉(zhuǎn)化為Wiener濾波器的形式:wopt=R-1r。因抽頭權(quán)向量取得是n時(shí)刻的 w(n),而非 i時(shí)刻的 w(i);所以,當(dāng) i≤n 時(shí),
化簡得:w(n)=w(n-1)+k(n)e*(n)
總結(jié)RLS算法的一般步驟為:
1)初始化:w(0)=0,R(0)=δ-1I.
2)更新:對于 n=1,2,…計(jì)算:
濾波:y(n)=wH(n-1)u(n);估計(jì)誤差:e(n)=d(n)-y(n);更更新權(quán)向量:w(n)=w(n-1)+k(n)e*(n);更新
根據(jù)上述算法的推導(dǎo),使用MATLAB軟件對LMS算法進(jìn)行仿真分析,假設(shè)輸入信號:x(s)=10×sin(0.5×t),噪聲信號為隨機(jī)信號,通過軟件編程可得仿真結(jié)果如下:
圖2 標(biāo)準(zhǔn)的輸入信號與隨機(jī)的噪聲信號Fig.2 Standard input signal and the random noise signal
圖3 濾波器三種輸出比對Fig.3 Three output matching filter
使用MATLAB軟件對RLS算法進(jìn)行仿真分析,假設(shè)輸入信號:x(k)=A0cos(w0t+φ0)+b(k),噪聲信號:xr(k)=A0cos(w0t+φ0),設(shè)置濾波器階數(shù)為 200,采樣周期為 1 ms。 仿真結(jié)果如圖4~6所示。
圖2~3的仿真分析可以明顯看出LMS算法具有計(jì)算量小,易于實(shí)現(xiàn),性能穩(wěn)定的特點(diǎn);隨機(jī)噪聲信號的期望輸出與輸入信號的波形重合度較高;同時(shí)也可以看出,誤差的走勢較為平緩,其跟蹤能力較慢,對非平穩(wěn)信號的適應(yīng)性差;為滿足較好的算法收斂和穩(wěn)態(tài)誤差的要求值不可能取得太大,這也就決定了LMS算法的收斂速度不快。
圖4 輸入信號Fig.4 Input signal
圖5 誤差與輸出信號Fig.5 Error and output signals
圖6 Cxx矩陣曲線Fig.6 Cxx matrix curve
圖4 ~6是RLS算法得出的結(jié)果。可以看出,系數(shù)的變化曲線在200步時(shí)有一個(gè)超調(diào),這是由于向量為零,200步以后的變化曲線僅代表值,獲得的濾波器的傳遞函數(shù)類似于LMS濾波器的傳遞函數(shù)。它的中心頻率調(diào)整為正弦信號頻率,即75 rad/s。如圖6所示曲線在采樣步數(shù)時(shí)突變。200步以后曲線值變小。這也正說明了RLS算法具有較好的收斂性能和跟蹤能力,但它卻需要更多的計(jì)算量來完成,不利于適時(shí)實(shí)現(xiàn)。
自適應(yīng)濾波是信號處理的重要基礎(chǔ),在各個(gè)領(lǐng)域取得了廣泛的應(yīng)用。在實(shí)際問題中,需要研究有效、實(shí)用的自適應(yīng)算法。本文對自適應(yīng)濾波算法原理進(jìn)行化繁為簡地推導(dǎo),并使用MATLAB軟件對兩種算法進(jìn)行仿真分析。對讀者根據(jù)實(shí)際需要選擇濾波器的算法,設(shè)計(jì)自適應(yīng)濾波器具有一定的參考價(jià)值。
[1]鄭田娟.LMS與RLE自適應(yīng)濾波算法對比研究[J].科技廣場,2012(3):20-21.ZHENG Tian-juan.Comparative study of LMS and RLS adaptive algorithms[J].Science Mosaic,2012(3):20-21.
[2]謝勝利,何昭水,高鷹.信號處理的自適應(yīng)理論[M].北京:科學(xué)出版社,2006.
[3]飛思科技產(chǎn)品研發(fā)中心.MATLAB7輔助信號處理技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2005.
[4]陳懷琛.數(shù)字信號處理教程-MATLAB釋義與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2004.
[5]Simon Haykin著,鄭寶玉等譯.自適應(yīng)濾波器原理[M].4版.北京:電子工業(yè)出版社,2010.
[6]龔耀寰.自適應(yīng)濾波器[M].北京:電子工業(yè)出版社,1989.