,
(浙江工業(yè)大學(xué) 信息工程學(xué)院,浙江 杭州 310023)
隨著技術(shù)的發(fā)展,人們的生活水平不斷提高,人們對(duì)于通信設(shè)備的使用需求大大增加,需求增加的同時(shí)人們對(duì)通信服務(wù)質(zhì)量的要求也在不斷提高,其中就包括噪聲消除.自適應(yīng)濾波技術(shù)[1-2]作為當(dāng)前主流的噪聲消除模塊被大量應(yīng)用于通信、雷達(dá)和車載系統(tǒng)等眾多領(lǐng)域,其理論模型最早于1960年由Widrow和Hoff提出.它作為信號(hào)處理方向的具體應(yīng)用分支,能夠根據(jù)系統(tǒng)環(huán)境和噪聲特點(diǎn)自適應(yīng)地改進(jìn)濾波器的濾波參數(shù),使得濾波器能夠動(dòng)態(tài)地調(diào)整輸入信號(hào),提取有用信號(hào),達(dá)到最佳濾波的效果[3].Kwong等[4]提到的經(jīng)典LMS算法計(jì)算簡便,但是算法中的固定步長無法滿足收斂速度和穩(wěn)態(tài)誤差之間的矛盾;曾召華等[5]提到的NLMS算法雖然克服了LMS算法中固定步長產(chǎn)生的收斂速度和穩(wěn)態(tài)誤差之間的矛盾,但是其步長受到了信號(hào)噪聲的影響;覃景繁等[6]提出了一種基于Sigmoid函數(shù)的變步長LMS算法,該算法能獲得較快的收斂速度,較小的穩(wěn)態(tài)誤差,但是算法較復(fù)雜,計(jì)算量大,且在誤差接近于0時(shí)會(huì)有較大的步長調(diào)整,不利于算法穩(wěn)定;楊逸等[7]提出了一種指數(shù)因子變步長算法,該算法原理相似,同樣能獲得較快的收斂速度,但同樣算法較復(fù)雜.
筆者主要針對(duì)語音通信系統(tǒng)環(huán)境,建立了一種新的步長和誤差的非線性函數(shù)關(guān)系,提出了一種新的變步長LMS算法,算法簡單易計(jì)算.此算法在收斂初期能夠產(chǎn)生較大的步長,而在收斂穩(wěn)態(tài)期能夠產(chǎn)生較小的步長,符合算法的收斂原則.而且此算法在收斂穩(wěn)態(tài)時(shí)具有較小的步長調(diào)整過程,克服了傳統(tǒng)算法在收斂穩(wěn)態(tài)期步長調(diào)整過大的缺陷,符合算法的穩(wěn)定原理.同時(shí)也對(duì)新算法的參數(shù)進(jìn)行仿真分析.
LMS算法是固定步長的線性自適應(yīng)濾波算法[8],它是依據(jù)有用信號(hào)和實(shí)際輸出信號(hào)的誤差的均方值來協(xié)調(diào)步長,用其來改善濾波器參數(shù),因其每次改變的步長為固定值μ,因此稱為固定步長濾波算法.圖1為語音通信系統(tǒng)中的自適應(yīng)濾波器的原理框圖.信號(hào)源發(fā)出的信號(hào)d(n)作為原始期望信號(hào)被傳入濾波器中.由于現(xiàn)實(shí)因素影響,實(shí)際接收到的信號(hào)并不是單純的有用信號(hào),容易被待濾除信號(hào)v(n)干擾.因此,真正輸入信號(hào)為待濾除信號(hào)和有用信號(hào)的疊加信號(hào)x(n).y(n)為經(jīng)由濾波器濾波后的輸出信號(hào),e(n)為輸出信號(hào)和期望信號(hào)的誤差.
圖1 自適應(yīng)濾波器濾波框圖Fig.1 Frame diagram of adaptive filter
將有用信號(hào)和待濾除信號(hào)疊加后的信號(hào)x(n)傳入自適應(yīng)濾波器,通過自適應(yīng)濾波后輸出的信號(hào)y(n)與原期望信號(hào)d(n)進(jìn)行比較,得到誤差信號(hào)e(n),通過誤差信號(hào)的反饋來修改自適應(yīng)算法的濾波參數(shù)w(n)來逐漸地調(diào)整自適應(yīng)濾波器的收斂.在理想情況下,自適應(yīng)濾波后的輸出信號(hào)會(huì)無限接近于原始期望信號(hào),即e(n)均方值無限接近0,在此情況下,即認(rèn)為完美濾波.
在通信系統(tǒng)中,假定圖1中的自適應(yīng)濾波器為FIR濾波器[9-10],而信號(hào)輸入端的原始信號(hào)輸入矢量X(n)和自適應(yīng)參數(shù)W(n)分別設(shè)置為
X(n)=[x(n),x(n-1),…,x(n-m+1)]T
W(n)=[w0(n),w1(n),…,wm-1(n)]T
其中:m為濾波器階數(shù);n為當(dāng)前取樣點(diǎn).
LMS算法的主要步驟如下:
1) 對(duì)算法進(jìn)行初始化,即
W(n)=0
2) 對(duì)實(shí)際輸入信號(hào)x(n)進(jìn)行濾波,得到輸出信號(hào)y(n),即
3) 通過比較期望信號(hào)和輸出信號(hào)來得到誤差信號(hào),即
e(n)=d(n)-y(n)
4) 由得到的誤差信號(hào)來調(diào)整W(n),即
W(n+1)=W(n)+2μX(n)e(n)
反復(fù)不斷地重復(fù)步驟2)~4)直到誤差e(n)趨于0且穩(wěn)定.式中:μ為步長因子,為固定常數(shù)值,它的收斂范圍為0<μ<1/λmax,λmax為輸入信號(hào)方差矩陣的最大特征值.μ主要是用來控制算法的收斂速度和穩(wěn)態(tài)誤差,如果μ過小,則算法收斂慢但是穩(wěn)定;如果μ過大,則算法收斂速度很快但是不穩(wěn)定.因此,固定步長自適應(yīng)濾波算法雖然簡單易實(shí)現(xiàn),但是它存在收斂速度和穩(wěn)定性上的矛盾,需要通過一種變步長的自適應(yīng)濾波算法來克服這種矛盾.
根據(jù)覃景繁等[11]提出的步長調(diào)整原理,合格的變步長算法應(yīng)能在算法收斂初期產(chǎn)生較大的步長來得到較快的收斂速度,從而能夠更快地得到期望信號(hào).而在收斂穩(wěn)態(tài)期,這時(shí)算法的權(quán)值量已經(jīng)非常接近最優(yōu)值了,需要算法能夠保持較小的步長來保持穩(wěn)態(tài),防止產(chǎn)生較大的誤差,從而達(dá)到較小的穩(wěn)態(tài)誤差.當(dāng)前的變步長LMS算法雖然能夠滿足步長調(diào)整原理,但是大多算法無法在收斂穩(wěn)態(tài)期保證步長的緩慢變化,常常會(huì)有穩(wěn)態(tài)期較小的誤差變化而導(dǎo)致步長的極大變化,從而造成一系列連鎖的較大誤差,不利于算法穩(wěn)定性.覃景繁等[6]提到的算法雖然擁有較快的收斂速度,但是在低誤差的情況下?lián)碛休^大的步長變化度,不利于穩(wěn)定性.因此,筆者提出了一種新的變步長算法,建立了一種新的步長和誤差的非線性關(guān)系.此算法完全滿足上述的步長變化原則,計(jì)算簡便,復(fù)雜度低.而且新算法能夠使步長在收斂穩(wěn)態(tài)期不會(huì)產(chǎn)生較大的變化,防止偶爾誤差的變化導(dǎo)致步長的極大變化,增大算法的適應(yīng)性,有利于算法穩(wěn)定性.新的步長因子為
因此,新的迭代公式為
式中:α為參數(shù),主要是用來控制步長的變化范圍;β為參數(shù),主要是控制步長變化函數(shù)的變化陡峭程度.
步長μ和誤差e(n)的關(guān)系如圖2,3所示.當(dāng)在收斂初級(jí)誤差較大時(shí),能對(duì)應(yīng)有較大的步長來得到較快的收斂速度;而在收斂穩(wěn)態(tài)期誤差較小時(shí),能對(duì)應(yīng)有較小的步長來得到緩慢的收斂速度,符合算法的收斂原理.從圖2,3中可以看出:算法在收斂穩(wěn)態(tài)期誤差趨于0時(shí)的步長變化梯度比較平緩,能夠使算法由于偶然的誤差激蕩造成的步長變化不會(huì)那么大,符合算法的穩(wěn)定原理.因?yàn)橹挥挟?dāng)μ滿足0<μ<1/λmax時(shí),算法才會(huì)收斂,所以α和β必須要保證使μ符合要求.而并不是所有滿足條件的α和β都能使算法在收斂初期使步長較大,收斂穩(wěn)態(tài)期使步長變小.如圖2所示,假如收斂初期的誤差為0.5,則α=0.2,β=1.5和α=0.2,β=2的2組能夠在初期較快的收斂,而α=0.2,β=4的那組由于在初期沒有獲得較大的步長,無法獲得較好的收斂效果.在滿足算法收斂的前提下,β需要盡可能的小.而如圖3所示,假如收斂初期的誤差為0.6,則α=0.8,β=1.5那組能夠在初期較快的收斂,而α=0.2,β=1.5的那組無法獲得較好的收斂效果.在滿足算法收斂的前提下,α需要盡可能的大.
圖2 不同β參數(shù)下誤差和步長關(guān)系的曲線圖Fig.2 Graph of the relationship of error and step size in different β
圖3 不同α參數(shù)下誤差和步長關(guān)系的曲線圖Fig.3 Graph of the relationship of error and step size in different α
在β相同的情況下,選擇較大的α能獲得較快收斂速度的同時(shí)也會(huì)產(chǎn)生較大的穩(wěn)態(tài)誤差.對(duì)參數(shù)α的取定要根據(jù)實(shí)際的應(yīng)用環(huán)境,對(duì)收斂速度有較高要求的話,可以選擇較大的α值;對(duì)穩(wěn)態(tài)誤差有較高要求的話,則應(yīng)該選擇合適的α值.
為了分析給出的變步長LMS算法的收斂能力以及α和β對(duì)算法收斂性能的影響,通過Matlab仿真工具[12]來對(duì)新算法的穩(wěn)態(tài)誤差和收斂速度等方面進(jìn)行仿真分析.選擇原始期望信號(hào)d(n)=sin(2πn/10),待濾除信號(hào)是均值為0,信噪比為20 dB的加性白噪聲,濾波器階數(shù)為8.在進(jìn)行100 次獨(dú)立仿真實(shí)驗(yàn)后,取誤差的平均值作為最后的穩(wěn)態(tài)誤差考量標(biāo)準(zhǔn).
圖4為α固定不變、β不同時(shí)的收斂曲線圖.從圖4中可以看出:隨著β值的減小,算法的收斂速度逐漸提升,β不能小于1.如果β<1,則算法在穩(wěn)態(tài)誤差趨于0時(shí)會(huì)有較大的步長變化度,不符合步長變
化原理.在實(shí)驗(yàn)中,當(dāng)β=1.1時(shí),算法會(huì)出現(xiàn)不收斂的情況,因此實(shí)驗(yàn)的最佳β約為1.2.
圖4 不同β參數(shù)的收斂曲線圖Fig.4 The convergence curves of the different β
圖5 不同α參數(shù)的收斂曲線圖Fig.5 The convergence curves of the different α
圖5為β固定不變、α不同的收斂曲線圖.從圖6中可以看出:隨著α值的增大,算法的收斂速度逐漸提升,α不能大于1/λmax.如果大于1/λmax,則算法會(huì)發(fā)散.在實(shí)驗(yàn)的條件中,當(dāng)α=0.9時(shí),算法會(huì)發(fā)散,α為0.8~0.9時(shí),有時(shí)會(huì)出現(xiàn)不收斂情況,因此實(shí)驗(yàn)的最佳α約為0.8.
圖6 互不相同的2組α和β值的收斂曲線比較圖Fig.6 The comparison of convergence curves of the different α and different β
圖6給出的為2組不同的參數(shù)α和β值的收斂比較圖,從圖中看出α=0.2,β=4的收斂曲線由于參數(shù)的設(shè)置導(dǎo)致收斂初期的步長較小導(dǎo)致收斂速度過慢,而α=0.8,β=1.2的收斂曲線由于參數(shù)設(shè)置使算法能在收斂初期得到一個(gè)合適的步長來完成快速收斂,滿足變步長步長調(diào)整原則,使算法有較好的收斂性能,與上述的理論分析一致.
劉劍鋒等[13]提出了一種基于Lorentzian函數(shù)的變步長LMS算法,該算法通過Lorentzian函數(shù)來關(guān)聯(lián)誤差和步長.盧炳乾等[14]提出了一種基于正弦函數(shù)的變步長LMS算法,該算法通過正弦函數(shù)來構(gòu)造了誤差和步長的非線性關(guān)系.羅小東等[15]提出了一種基于Sigmoid函數(shù)的變步長LMS算法,該算法通過Sigmoid函數(shù)來構(gòu)造誤差和步長的函數(shù)關(guān)系.圖7是新算法與3種已有變步長LMS算法在不同信噪比下的收斂比較圖.采用本文獻(xiàn)中的條件,主輸入端輸入信號(hào)為d(n)=sin(2πn/10),加性干擾信號(hào)為白噪聲,濾波器階數(shù)為8,采用各自參考文獻(xiàn)中的最佳參數(shù)值.其中基于Lorentzian函數(shù)的變步長LMS算法的算法參數(shù)設(shè)置為:α=0.05,δ=0.01;基于正弦函數(shù)的變步長LMS算法的算法參數(shù)設(shè)置為:α=10,β=0.04;基于Sigmoid函數(shù)的變步長LMS算法的算法參數(shù)設(shè)置為α=300,β=0.2.仿真100次求平均誤差統(tǒng)計(jì)出曲線圖.
圖7中仿真結(jié)果顯示:新算法在不同的信噪比下,均比其他3種算法擁有更好的收斂性能,因此新算法在自適應(yīng)濾波上具有更好的適用性.
圖7 新算法與3種變步長LMS算法在不同信噪比下的收斂比較圖Fig.7 The convergence curves of proposed algorithm and three existing variable step size LMS algorithm in different SNR
針對(duì)語音通信的情況下,通過將仿真環(huán)境中的正弦波替換成語音信號(hào)來驗(yàn)證新算法的優(yōu)劣性.同樣采用圖7中的算法參數(shù),濾波器階數(shù)為32,噪聲信號(hào)為信噪比為20 dB的白噪聲,采樣頻率為8 kHz.圖8為語音信號(hào)和帶噪信號(hào)的波形圖,圖9展示了各算法濾波后的語音波形.仿真結(jié)果顯示,新算法相對(duì)于其他算法具有較好的濾波能力,在語音信號(hào)處理上具有一定的適用性.
圖8 語音信號(hào)與帶噪信號(hào)波形圖Fig.8 The waveform of speech signal and noise signal
圖9 基于各函數(shù)的變步長LMS算法濾波后的信號(hào)波形Fig.9 The waveform after filtering by the variable step-size LMS algorithms base on different functions
研究了傳統(tǒng)的固定步長LMS算法的優(yōu)缺點(diǎn),針對(duì)其缺陷和現(xiàn)在變步長算法步長調(diào)整原理,提出了一種新的變步長LMS算法.新算法通過建立一種新的步長和誤差之間的非線性函數(shù)關(guān)系來實(shí)現(xiàn)步長的變化,并同時(shí)對(duì)新算法的各個(gè)參數(shù)進(jìn)行分析.該算法有在收斂初期產(chǎn)生較大的步長同時(shí)在穩(wěn)態(tài)期產(chǎn)生較小的步長來緩解穩(wěn)態(tài)誤差的特點(diǎn).同時(shí),該算法克服了傳統(tǒng)算法在收斂穩(wěn)態(tài)期步長變化過快的不足.理論分析和實(shí)驗(yàn)仿真都驗(yàn)證了該算法相對(duì)于已有算法都具有較好的收斂特性.下一步需要對(duì)算法參數(shù)進(jìn)行精度上的進(jìn)一步提升,同時(shí)對(duì)算法的限制性進(jìn)行進(jìn)一步的研究.
[1] HUANG B, XIAO Y, MA Y, et al. A simplified variable step-size LMS algorithm for Fourier analysis and its statistical properties[J]. Signal processing,2015,117:69-81.
[2] LU J, QIU X, ZOU H. A modified frequency-domain block LMS algorithm with guaranteed optimal steady-state performance[J]. Signal processing,2014,104(6):27-32.
[3] 孫明軒,余林江.離散時(shí)變系統(tǒng)的自適應(yīng)迭代學(xué)習(xí)控制[J].浙江工業(yè)大學(xué)學(xué)報(bào),2013,41(1):84-90.
[4] KWONG R H, JOHNSTON E W. A variable step size LMS algorithm[J]. IEEE transactions on signal processing,1992,40(7):1633-1642.
[5] 曾召華,劉貴忠,趙建平.LMS和歸一化LMS算法收斂門限與步長的確定[J].電子與信息學(xué)報(bào),2003,25(11):1469-1474.
[6] 覃景繁,韋崗.基于S型函數(shù)的變步長LMS自適應(yīng)濾波算法[J].無線電工程,1996(4):44-47.
[7] 楊逸,曹祥玉,楊群.基于指數(shù)函數(shù)的歸一化變步長LMS算法[J].計(jì)算機(jī)工程,2012,38(10):134-136.
[8] SIMON H.自適應(yīng)濾波器原理[M].鄭寶玉,譯.4版.北京:電子工業(yè)出版社,2010.
[9] 金燕,王明,葛遠(yuǎn)香.基于FPGA的抗混疊FIR數(shù)字濾波器的設(shè)計(jì)與實(shí)現(xiàn)[J].浙江工業(yè)大學(xué)學(xué)報(bào),2010,38(2):192-196.
[10] 趙旋,何德峰,周洲.網(wǎng)絡(luò)控制系統(tǒng)多變量DMC算法的穩(wěn)定性分析[J].浙江工業(yè)大學(xué)學(xué)報(bào),2012,40(2):209-212.
[11] 覃景繁,歐陽景正.一種新的變步長LMS自適應(yīng)濾波算法[J].數(shù)據(jù)采集與處理,1997(3):171-174.
[12] 李正周.MATLAB數(shù)字信號(hào)處理與應(yīng)用[M].北京:清華大學(xué)出版社,2008.
[13] 劉劍鋒,蔣卓勤,李娟,等.一種基于Lorentzian函數(shù)的變步長LMS自適應(yīng)濾波算法[J].指揮控制與仿真,2009,31(2):42-44.
[14] 盧炳乾,馮存前,龍戈農(nóng).一種基于正弦函數(shù)的新變步長LMS算法[J].空軍工程大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,14(2):47-50.
[15] 羅小東,賈振紅,王強(qiáng).一種新的變步長LMS自適應(yīng)濾波算法[J].電子學(xué)報(bào),2006,34(6):1123-1126.