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