章堅(jiān)武,余皓,章謙驊
(1.杭州電子科技大學(xué)通信工程學(xué)院,浙江 杭州 310018;2.之江實(shí)驗(yàn)室智能網(wǎng)絡(luò)研究中心,浙江 杭州 311121)
隨著現(xiàn)代通信技術(shù)的發(fā)展,毫米波通信以及同時(shí)同頻全雙工通信是目前5G 研究中的熱點(diǎn)研究領(lǐng)域[1-2]。在這些研究領(lǐng)域中,為更好地進(jìn)行高指向性波束校準(zhǔn)以及相應(yīng)的信號(hào)檢測(cè),需要進(jìn)行干擾噪聲的自適應(yīng)對(duì)消,該類問(wèn)題是目前的研究難點(diǎn)之一。Widrow 等[3]最早在20 世紀(jì)80 年代提出了最小均方誤差(LMS,least mean square)算法,LMS 算法具有計(jì)算簡(jiǎn)便、實(shí)現(xiàn)難度低、適應(yīng)能力強(qiáng)等特點(diǎn),在雷達(dá)波束成形、干擾噪聲自適應(yīng)對(duì)消和新一代移動(dòng)通信技術(shù)等領(lǐng)域被廣泛應(yīng)用[4-8]。
傳統(tǒng)LMS 算法的步長(zhǎng)為定值(下文稱為定步長(zhǎng)LMS 算法),不能同時(shí)滿足快速收斂和低穩(wěn)態(tài)誤差的要求。鑒于此,為了改善定步長(zhǎng)LMS 算法的性能,研究者開(kāi)展了大量的研究。文獻(xiàn)[9]提出了基于S 函數(shù)的變步長(zhǎng)LMS 算法,該算法利用S 函數(shù)控制步長(zhǎng)變化,使步長(zhǎng)因子在收斂初期取得一個(gè)較大值,在接近或達(dá)到收斂時(shí),賦予步長(zhǎng)因子一個(gè)較小值。相較于定步長(zhǎng)LMS 算法,變步長(zhǎng)LMS 算法具有更快的收斂速度和更低的穩(wěn)態(tài)誤差。但在趨于收斂時(shí),由于S 函數(shù)的特性,該算法在接近原點(diǎn)時(shí)曲線過(guò)于陡峭,會(huì)導(dǎo)致步長(zhǎng)因子取值迅速變化,使算法在穩(wěn)態(tài)時(shí)的誤差變大。文獻(xiàn)[10]將S 函數(shù)經(jīng)過(guò)平移翻轉(zhuǎn)變換,并引入?yún)?shù)改善了S 函數(shù)的底部變化,獲得了較好的性能,但由于該算法模型過(guò)于復(fù)雜,影響了算法的靈活性。文獻(xiàn)[11]則基于具有S函數(shù)曲線特性的Q 函數(shù),并利用補(bǔ)償項(xiàng)的相對(duì)誤差互相關(guān)函數(shù)控制步長(zhǎng)的更新,提出了一種新的變步長(zhǎng)LMS 算法,由于Q 函數(shù)的特性,該算法同樣面臨著收斂時(shí)穩(wěn)態(tài)誤差大的問(wèn)題。文獻(xiàn)[12]使用了梯度的統(tǒng)計(jì)平均控制步長(zhǎng)因子,提高了算法的收斂速度并獲得了較好的穩(wěn)態(tài)誤差性能,不足是該算法的抗干擾性能較差,且引入的判斷門限使算法的復(fù)雜度過(guò)高。文獻(xiàn)[13]通過(guò)引入指數(shù)函數(shù),提出了基于指數(shù)函數(shù)的變步長(zhǎng)算法,但該算法在運(yùn)行過(guò)程中使用了過(guò)多的指數(shù)運(yùn)算,同樣導(dǎo)致算法的復(fù)雜度過(guò)高。文獻(xiàn)[14]在文獻(xiàn)[13]的基礎(chǔ)上,將其中的變步長(zhǎng)方法用于部分濾波加權(quán)系數(shù)的更新,提高了收斂速度,并降低了復(fù)雜度。然而,在低信噪比環(huán)境下,該算法在接近收斂時(shí)的步長(zhǎng)較大,導(dǎo)致穩(wěn)態(tài)性能較差。文獻(xiàn)[15-16]則建立了步長(zhǎng)因子與迭代次數(shù)的非線性關(guān)系,可以提高算法的收斂速度,同時(shí)改善了抗干擾性能,但它們的跟蹤性能卻明顯不足。
綜上所述,已有的變步長(zhǎng)算法不能同時(shí)較好地解決噪聲干擾、系統(tǒng)跟蹤性能差、穩(wěn)態(tài)誤差較高等問(wèn)題。為了解決以上問(wèn)題,本文提出了基于改進(jìn)雙曲正切函數(shù)的變步長(zhǎng)LMS 算法(IVSSLMS,improved variable step-size LMS),該算法在雙曲正切函數(shù)的基礎(chǔ)上,利用誤差信號(hào)的相關(guān)值和步長(zhǎng)反饋因子,共同調(diào)節(jié)步長(zhǎng)因子的取值,使算法在保證快速收斂的同時(shí),降低穩(wěn)態(tài)誤差,并提高了算法的系統(tǒng)跟蹤性能。與已有變步長(zhǎng)算法對(duì)比,本文所提算法具有更優(yōu)異的性能。
自適應(yīng)濾波器的原理框架如圖1 所示。輸入信號(hào)x(n)經(jīng)過(guò)未知系統(tǒng)與外界噪聲v(n)疊加后形成期望信號(hào)d(n),x(n)經(jīng)過(guò)自適應(yīng)濾波器后的輸出信號(hào)為y(n)。將期望信號(hào)d(n)與輸出信號(hào)y(n)相減得到誤差信號(hào)e(n)。e(n)反饋給自適應(yīng)濾波器來(lái)更新自適應(yīng)濾波器的加權(quán)系數(shù)向量,使更新后的輸出信號(hào)更加接近于期望信號(hào),從而達(dá)到自適應(yīng)濾波的目的。
圖1 自適應(yīng)濾波器原理框架
自適應(yīng)濾波器的輸出信號(hào)y(n) 為
其中,X(n)=[x(n),x(n?1),…,x(n?M+1)]T,W(n)=[w(n),w(n?1),…,w(n?M+1)]T均為自適應(yīng)濾波器的加權(quán)系數(shù)向量,M為自適應(yīng)濾波器的階數(shù)。誤差信號(hào)e(n)為期望信號(hào)與自適應(yīng)濾波器輸出信號(hào)之差,其值為
誤差信號(hào)的均方誤差(MSE,mean square error)E[e2(n)]為
LMS 算法自適應(yīng)濾波器的加權(quán)系數(shù)更新式為
其中,μ為步長(zhǎng)因子,其值為常數(shù);?(·)為求梯度。
對(duì)均方誤差的梯度向量?I進(jìn)行估計(jì),如式(5)所示。
聯(lián)立式(4)和式(5)可得
定步長(zhǎng)的LMS 算法的流程為
由文獻(xiàn)[1]可知,LMS 算法的收斂條件為
其中,λmax為自適應(yīng)濾波器輸入信號(hào)自相關(guān)矩陣的最大特征值。
傳統(tǒng)的定步長(zhǎng)LMS 算法中步長(zhǎng)因子為恒定值,不能同時(shí)改善收斂速度和穩(wěn)態(tài)誤差性能,為了解決這種問(wèn)題,各種變步長(zhǎng)算法被提出。覃景繁等[17]給出的步長(zhǎng)選取原則為步長(zhǎng)因子在算法初期應(yīng)取得一個(gè)較大值,使算法能夠快速收斂,當(dāng)算法趨于收斂時(shí),使步長(zhǎng)因子取得一個(gè)較小值,以減小穩(wěn)態(tài)誤差。
由于步長(zhǎng)因子為正值,將式(11)變成偶函數(shù),即
文獻(xiàn)[18]在雙曲正切函數(shù)的基礎(chǔ)上,利用誤差信號(hào)的相關(guān)值e(n)e(n-1),代替e(n)減小了隨機(jī)噪聲的干擾,并通過(guò)引入?yún)?shù)改善了步長(zhǎng)因子的底部特性,一定程度上解決了定步長(zhǎng)LMS 算法的缺陷。但該算法的系統(tǒng)跟蹤能力略顯不足,因此,為了加強(qiáng)步長(zhǎng)與輸入信號(hào)的關(guān)系,使算法具有良好的跟蹤能力,本文在文獻(xiàn)[18]的基礎(chǔ)上加入一個(gè)步長(zhǎng)反饋因子J(n),J(n)的表達(dá)式如式(13)所示。
將誤差信號(hào)的相關(guān)值e(n)e(n?1)代替e(n),并把J(n)的二范數(shù)作為自變量代入式(12)中,得到式(14)。
為防止輸入信號(hào)功率突然增大導(dǎo)致算法發(fā)散,在加權(quán)系數(shù)向量更新時(shí),加入“歸一化”算法對(duì)μ(n)進(jìn)行限制,即
其中,φ是為了避免分母過(guò)小而設(shè)置的常數(shù),取值為0.01。
至此,IVSSLMS 算法流程可總結(jié)為
由式(18)可知,當(dāng)e(n)→0時(shí),;當(dāng)e(n)→∞時(shí),,即μ(n)的最大值為α。由式(10)可得,IVSSLMS 算法的收斂條件為
本節(jié)通過(guò)誤差函數(shù)與步長(zhǎng)因子的關(guān)系曲線,將IVSSLMS 算法中參數(shù)對(duì)步長(zhǎng)的影響進(jìn)行討論分析,關(guān)系曲線如圖2 所示。其中,圖2(a)為β=20、m=600、k=0.6,α分別為0.1、0.2、0.3 時(shí)的步長(zhǎng)曲線;圖2(b)為α=0.3、m=600、k=0.6,β分別為15、25、50時(shí)的步長(zhǎng)曲線;圖2(c)為α=0.3、β=20、k=0.6,m分別取60、600、6 000 時(shí)的步長(zhǎng)曲線;圖2(d)為α=0.3、β=20、m=600,k取0.3、0.6、0.9 時(shí)的步長(zhǎng)曲線。
從圖2 可以看出,參數(shù)α對(duì)步長(zhǎng)的取值起到了至關(guān)重要的作用。隨著α的增大,步長(zhǎng)的取值也較大,即在滿足式(20)的情況下,較大的α能獲得較大的步長(zhǎng),算法能獲得較高的收斂速度。
參數(shù)β、m、k對(duì)步長(zhǎng)函數(shù)的形狀影響較大。可以看到,β越小,m越大,k越小,則在同一誤差值下,步長(zhǎng)的取值越小。另外,由圖2(d)可以看出,若k選的過(guò)大,誤差信號(hào)還未為0 時(shí),步長(zhǎng)因子就已經(jīng)為0 或幾乎為0,這將嚴(yán)重減緩算法的收斂速度。因此,在實(shí)際的工程運(yùn)用中,需要對(duì)α、β、m、k的取值進(jìn)行折中考慮。
圖2 各參數(shù)變化時(shí)μ(n)與e(n)曲線
式(18)中涉及隨機(jī)性的因子只有e(n)e(n-1)||J(n)||2,采用統(tǒng)計(jì)平均來(lái)分析系統(tǒng)的抗干擾能力。步長(zhǎng)反饋因子J(n)=kJ(n?1)+e(n)X(n),其中,J(0)為零向量,將步長(zhǎng)反饋因子進(jìn)行簡(jiǎn)化得到
計(jì)算e(n)e(n-1)||J(n)||2的期望為
由式(22)可以得到,當(dāng)i≠j時(shí),由于0<k< 1,n→∞,E{e(n)e(n?1)||J(n)||2}=0,即此時(shí)的步長(zhǎng)變化對(duì)算法沒(méi)有干擾。
當(dāng)i=j時(shí),式(22)可以寫成
由式(23)可知,系統(tǒng)的統(tǒng)計(jì)平均特性不含噪聲v(n),系統(tǒng)不受獨(dú)立噪聲v(n)的影響。因此IVSSLMS算法利用調(diào)節(jié)步長(zhǎng)因子可以提高算法的抗干擾能力。
本文的所有仿真在MATLAB R2016a 軟件下進(jìn)行。設(shè)自適應(yīng)濾波器的階數(shù)M=6,假設(shè)未知系統(tǒng)為橫向FIR(finite impulse response)結(jié)構(gòu),抽頭系數(shù)為[?0.580 6,0.653 7,?0.322 3,0.657 7,?0.058 2,0.289 5],在迭代次數(shù)N=500 時(shí)將系統(tǒng)的抽頭系數(shù)設(shè)置為[?0.580 6,0.485 6,?0.238 7,0.159 6,?0.325 4,0.102 5]。假設(shè)自適應(yīng)濾波器的輸入信號(hào)x(n)和干擾噪聲v(n)均為0 均值的高斯白噪聲,x(n)的方差為1,v(n)的方差為0.001,即信噪比為30 dB。系統(tǒng)的取樣點(diǎn)數(shù)為1 000,每條學(xué)習(xí)曲線均為200 次獨(dú)立仿真后求其統(tǒng)計(jì)平均的結(jié)果。參數(shù)α和β變化時(shí)的學(xué)習(xí)曲線如圖3 所示。
圖3(a)是β=3 000、m=10、k=0.9,α分別取0.1、0.5、0.8、1.0、1.5 時(shí)的學(xué)習(xí)曲線。分析圖3(a)可知,在α從0.1 增加到1.5 的過(guò)程中,算法的收斂速度越來(lái)越快,但穩(wěn)態(tài)誤差也相應(yīng)提高。當(dāng)α=0.1 時(shí),算法達(dá)到穩(wěn)態(tài)的次數(shù)為200 左右;當(dāng)α=1.5 時(shí),算法達(dá)到穩(wěn)態(tài)的次數(shù)為50 左右,但α=1.5 時(shí)的穩(wěn)態(tài)誤差較大。經(jīng)過(guò)仿真驗(yàn)證,α為0.8 左右時(shí)算法性能較優(yōu)異。在工程應(yīng)用中,α的取值首先需要分析輸入信號(hào)的統(tǒng)計(jì)特性,其次還要使α值滿足式(20)。
圖3(b)是α=0.8、m=10、k=0.9,β分別取2、25、200、3 500、40 000 時(shí)的學(xué)習(xí)曲線。分析圖3(b)可知,隨著β的增大,算法的穩(wěn)態(tài)誤差和收斂效果都逐漸變好。當(dāng)β分別為3 500 和40 000 時(shí),兩者的收斂速度和穩(wěn)態(tài)誤差接近。為了降低系統(tǒng)的計(jì)算量,提高算法的運(yùn)行速度,經(jīng)過(guò)仿真驗(yàn)證,β為3 500左右時(shí)算法性能較優(yōu)異。
圖3 參數(shù)α 和β 變化時(shí)的迭代次數(shù)與均方誤差曲線
參數(shù)m和k變化時(shí)的學(xué)習(xí)曲線如圖4 所示。
圖4(a)是α=0.8、β=3 000、k=0.9,m分別取1、15、150、5 000、10 000 時(shí)的學(xué)習(xí)曲線,分析圖4(a)可知,m=1 時(shí)的學(xué)習(xí)曲線與m=15 時(shí)學(xué)習(xí)曲線的收斂速度相近,但m=15 時(shí)的穩(wěn)態(tài)誤差較低。經(jīng)過(guò)仿真驗(yàn)證,m為15 左右時(shí)算法性能較優(yōu)異。
圖4(b)是α=0.8、β=3 000、m=1 000,k分別取0.6、0.7、0.8、0.9、1.5 時(shí)的學(xué)習(xí)曲線,分析圖4(b)可知,參數(shù)k越大,對(duì)應(yīng)算法趨于穩(wěn)態(tài)時(shí)的誤差越小。但k的值過(guò)大會(huì)導(dǎo)致算法的收斂速度降低,如k=1.5 所示。經(jīng)過(guò)仿真驗(yàn)證,k為0.9 左右時(shí)算法性能較優(yōu)異。
圖4 參數(shù)m 和k 變化時(shí)的迭代次數(shù)與均方誤差曲線
本節(jié)將分析IVSSLMS 算法的穩(wěn)健性,仿真設(shè)置的環(huán)境與5.1 節(jié)設(shè)置的環(huán)境相同,算法參數(shù)設(shè)置為α=0.85、β=3 500、k=0.9、m=15。不同信噪比下算法的學(xué)習(xí)曲線如圖5 所示。
圖5 不同信噪比下的學(xué)習(xí)曲線
由圖5 可知,在IVSSLMS 算法達(dá)到穩(wěn)態(tài)后,隨著系統(tǒng)參數(shù)的改變,IVSSLMS 算法仍可以快速恢復(fù)到收斂狀態(tài),這表明IVSSLMS 算法具有較好的跟蹤能力。在低信噪比條件下,IVSSLMS 算法仍可以保持良好的性能,這表明IVSSLMS 算法具有良好的穩(wěn)健性。
本節(jié)將IVSSLMS 算法與文獻(xiàn)[18-21]這幾種變步長(zhǎng)算法在信噪比分別為30 dB 和15 dB 時(shí)進(jìn)行仿真,仿真設(shè)置的環(huán)境與5.1 節(jié)設(shè)置的環(huán)境相同。幾種變長(zhǎng)算法對(duì)比如表1 所示。
系統(tǒng)取樣點(diǎn)為1 000、每條曲線均為200 次獨(dú)立仿真后取平均的結(jié)果,仿真結(jié)果如圖6 所示。
由圖 6(a)可知,當(dāng)信噪比為 30 dB 時(shí),IVSSLMS 算法的收斂速度和穩(wěn)態(tài)誤差性能均明顯高于其他4 種變步長(zhǎng)LMS 算法,文獻(xiàn)[18]算法在系統(tǒng)響應(yīng)發(fā)生變化時(shí),收斂速度和穩(wěn)態(tài)誤差性能均受到嚴(yán)重影響,表明該算法的系統(tǒng)跟蹤能力較差。文獻(xiàn)[19]算法的穩(wěn)態(tài)誤差較高。文獻(xiàn)[20]算法的收斂速度快于文獻(xiàn)[21]算法,但穩(wěn)態(tài)誤差高于文獻(xiàn)[21]算法。由圖6(b)可知,當(dāng)信噪比為15 dB 時(shí),文獻(xiàn)[18-20]算法的收斂速度均快于文獻(xiàn)[21]算法,但穩(wěn)態(tài)誤差低于文獻(xiàn)[21]算法。文獻(xiàn)[21]算法的穩(wěn)態(tài)誤差接近于 IVSSLMS 算法,但I(xiàn)VSSLMS 算法的收斂速度比文獻(xiàn)[21]算法快了2 倍以上。通過(guò)以上對(duì)比分析可知,在高低信噪比背景下,相比于這4 種變步長(zhǎng)LMS 算法,IVSSLMS算法的收斂速度優(yōu)勢(shì)明顯,穩(wěn)態(tài)誤差也較低,對(duì)外界系統(tǒng)的適應(yīng)性也更強(qiáng)。
表1 幾種變步長(zhǎng)算法對(duì)比
圖6 不同信噪比環(huán)境下各算法的學(xué)習(xí)曲線
本文分析了多種已有變步長(zhǎng)LMS 算法,提出了一種新的變步長(zhǎng)算法IVSSLMS。該算法基于改進(jìn)的雙曲正切函數(shù),引入步長(zhǎng)反饋因子和誤差信號(hào)的相關(guān)值控制步長(zhǎng)因子的更新,使在收斂初期步長(zhǎng)獲得較大值提高算法的收斂速度,在趨于收斂時(shí)步長(zhǎng)獲得恒定的較小值減小穩(wěn)態(tài)誤差。仿真實(shí)驗(yàn)表明,IVSSLMS 算法在高/低信噪比下的性能相較于其他變步長(zhǎng)算法更優(yōu)異。但I(xiàn)VSSLMS 算法引入的參數(shù)較多,與其他變步長(zhǎng)算法相比計(jì)算量稍大,但以目前的硬件水平是完全可以接受的,因此IVSSLMS 算法具有廣闊的工程應(yīng)用場(chǎng)景和較高的實(shí)際應(yīng)用價(jià)值。