陳思佳 趙知勁
(1.杭州電子科技大學通信工程學院,浙江杭州 310018;2.中國電子科技集團第36研究所通信系統(tǒng)信息控制技術國家級重點實驗室,浙江嘉興 314001)
稀疏系統(tǒng)是指單位脈沖響應的零或近零值的數(shù)量遠多于非零大值的系統(tǒng).研究表明,稀疏系統(tǒng)廣泛存在于現(xiàn)實世界中,如無線信道估計、聲學回聲消除、稀疏系統(tǒng)辨識等.稀疏系統(tǒng)辨識中,傳統(tǒng)的自適應濾波算法,例如最小均方(least mean square,LMS)算法,由于沒有利用稀疏特性,導致該算法性能顯著退化.谷源濤教授受套索算法(least absolute shrinkage and selection operator,LASSO)[1]、壓縮感知[2]等稀疏技術的啟發(fā),利用稀疏性約束,將與稀疏性有重要關聯(lián)的L1范數(shù)引入LMS算法,提出零吸引最小均方(zero attracting LMS,ZA?LMS)算法[3]和加權零吸引最小均方(reweighted zero attracting LMS,RZA?LMS)算法[4].當非零權值的數(shù)量增加時,RZA?LMS 算法性能優(yōu)于ZA?LMS 算法.為了在保持較快收斂速度下減小穩(wěn)態(tài)誤差,范濤等人提出了基于誤差函數(shù)的變步長加權零吸引最小均方(variable step size RZA?LMS,VSS?RZA?LMS)算法[5].為了解決塊稀疏系統(tǒng)辨識問題,Yan 提出了塊稀疏加權零吸引歸一化LMS(block sparse reweighted zero attracting normalized LMS,BS?RZA?NLMS)算法[6].針對輸入信號頻譜動態(tài)范圍較大時,閆震海將加權的L1范數(shù)應用到改進的多帶結構子帶自適應濾波(improved multibandstructured subband adaptive filter,IMSAF)算法中,提出了基于加權L1范數(shù)約束的改進的多帶結構子帶自適應濾波(L1?reweighted improved multiband-structured subband adaptive filter,L1?RIMSAF)算法[7].
在實際系統(tǒng)中,常伴有顯著脈沖特性的噪聲,這些脈沖噪聲有來自于自然環(huán)境的,也有來自人造設備的.α穩(wěn)定分布模型可以很好地描述這類噪聲[8].由于上述算法在脈沖噪聲下的性能嚴重退化,Nikias等人用誤差函數(shù)的p范數(shù)(分散系數(shù)的帶噪估計)取代平方誤差函數(shù),提出了最小平均p范數(shù)(least meanp-norm,LMP)算法[9];蘆璐等人提出了魯棒擴散型歸一化LMP(robust diffusion normalized LMP,RDNLMP)算法[10],周琳將零吸引思想應用到LMP算法中,提出了零吸引最小平均p范數(shù)(zero attracting LMP,ZA?LMP)算法[11].與ZA?LMS算法相比,ZA?LMP算法雖然提高了穩(wěn)態(tài)性能,但收斂速度大大降低.
ZA?LMP算法的零吸引項對所有單位脈沖響應施以相同的吸引力,不能辨別零與非零值.針對該問題,本文將加權零吸引思想引入到LMP算法中,提出了加權零吸引最小平均p范數(shù)(reweighted zero attracting LMP,RZA?LMP)算法;為了在保持較快收斂速度下進一步減小穩(wěn)態(tài)誤差,將基于無噪先驗誤差的變步長思想應用到RZA?LMP算法中,提出了變步長零吸引最小平均p范數(shù)改進(improved variable stepsize RZA?LMP,IVSS?RZA?LMP)算法.在迭代初期,該算法的無噪先驗誤差功率較大,因此使用較大的步長;隨著無噪先驗誤差功率減小,步長也相應減小;當達到穩(wěn)態(tài)時,權重矢量不再隨機調整.
本文以稀疏系統(tǒng)(單位脈沖響應稀疏)的自適應辨識為背景,系統(tǒng)辨識框圖如圖1所示.令未知系統(tǒng)的有限長單位脈沖響應和輸入信號分別為
其中L為脈沖響應長度.未知系統(tǒng)的輸出為
圖1 系統(tǒng)辨識框圖Fig.1 System identification block diagram
系統(tǒng)輸出yo(n)受到α穩(wěn)定分布的環(huán)境噪聲v(n)干擾.自適應濾波器的期望輸出為
當x(n)通過權重矢量為w(n)的自適應濾波器,得到其輸出信號為
其中:x(n?i+1)表示輸入信號x(n)中的第i個分量;wi(n)表示第n次更新得到的權值矢量w(n)的第i個分量.誤差信號為
自適應濾波器自適應地調整權重矢量w(n),使其趨近于wo從而達到系統(tǒng)辨識的目的.
在α穩(wěn)定分布噪聲背景下,選擇代價函數(shù)為J=E[|e(n)|p],利用隨機梯度下降法可得LMP算法的權重矢量w(n)更新公式[9]為
其中:μ是步長且0<μ<1;p為范數(shù)中的指數(shù)變量,且0
在稀疏系統(tǒng)中,引入加權零吸引[4]思想,得到RZA?LMP算法的代價函數(shù)為
其中:γRZA為非負的平衡因子,ε為一個非負的常數(shù).同理,利用隨機梯度下降法,得到權重矢量更新公式:
其中ρ為零吸引控制因子,控制零吸引力的大小,其值為這就是本文提出的RZA?LMP算法.
由式(9)可以看出,RZA?LMP算法通過事先設定閾值ε對權重矢量的零和非零系數(shù)加以區(qū)分[4],根據(jù)系數(shù)值的大小施加不同的吸引力.當|wi(n)|ε時,認為該系數(shù)為零系數(shù),因此RZA?LMP算法對其施以較大的吸引力,使其快速收斂.當|wi(n)|?ε時,認為該系數(shù)為非零系數(shù),則RZA?LMP算法對這些系數(shù)的收斂影響有限.
固定步長的自適應濾波算法不能同時獲得較小的穩(wěn)態(tài)誤差和較快的收斂速度[12].為了解決這一問題,將基于誤差函數(shù)的變步長方法[5](本文稱為變步長基本方法)應用到RZA?LMP算法中;步長函數(shù)計算如下:
無噪先驗誤差ef(n)是指將環(huán)境噪聲v(n)剔除之后的估計誤差值:
無噪先驗誤差功率為
將式(10)的S(n)代替式(9)的μ,得到VSS–RZA–LMP基本算法(簡記為BVSS?RZA?LMP)的權重矢量更新公式為
當變步長函數(shù)S(n)滿足[15]
BVSS?RZA?LMP算法的權重矢量w(n)一定收斂.
由BVSS?RZA?LMP算法可見,隨著迭代進行,權重矢量一直在調整,且具有隨機性;然而當達到穩(wěn)態(tài)時,希望權重矢量做微小甚至不調整;因此,本文提出一種變步長方法,其步長函數(shù)計算如下:
其中k為無噪先驗誤差功率因子.改進算法的主要思想是當無噪先驗誤差功率大于閾值c時,利用式(19)的步長函數(shù)S(n)和式(16)更新權重矢量;當小于等于閾值c時,權重矢量不再調整,即
由此得到本文提出的VSS?RZA?LMP改進算法(簡記為IVSS?RZA?LMP),具體算法步驟如下:
步驟1選擇合適的參數(shù),初始化w(0)=0,rex(0)=0,
步驟2計算e(n)=d(n)?wT(n ?1)x(n);
步驟3由式(13)?(15)計算
步驟4若(n)>c,由式(19)計算步長S(n),然后根據(jù)式(16)更新權重矢量w(n);
步驟5否則,根據(jù)式(20)更新權重矢量w(n).
表1給出了RZA–LMP,BVSS–RZA–LMP和IVSS–RZA–LMP三種算法在第n次迭代時的迭代步驟,以及所需的乘加次數(shù).第n次迭代時,利用式(21)所示的歸一化均方偏差(normalized mean square deviation,NMSD)[5]對算法的收斂性能和穩(wěn)態(tài)性能進行評估,其值越小,說明系統(tǒng)辨識越準確.
表中:N0為3種算法的NMSD值分別達到收斂狀態(tài)的迭代次數(shù),L為稀疏系統(tǒng)的脈沖響應長度.
由表1可知,因為稀疏系統(tǒng)的脈沖響應長度L為常數(shù),所以在迭代次數(shù)為N時,IVSS?RZA?LMP算法的計算復雜度為O(N).
表1 3種算法的計算復雜度Table 1 Computational complexity of the three algorithms
本文將BVSS?RZA–LMP和IVSS?RZA–LMP算法應用于線性稀疏系統(tǒng)辨識,該稀疏系統(tǒng)的單位脈沖響應序列為有限長,且大部分單位脈沖響應序列值為零.利用稀疏度[16]衡量系統(tǒng)的稀疏性.
MATLAB是一種高級的矩陣語言,提供了大量的內置函數(shù),操作簡單高效,從而廣泛地應用于信號處理領域.本文首先利用MATLAB仿真構造一個線性稀疏系統(tǒng),選擇稀疏系統(tǒng)的脈沖響應長度L=110,稀疏度為.然后,在MATLAB 環(huán)境下編程實現(xiàn)BVSS–RZA–LMP和IVSS–RZA–LMP兩種算法.實驗中,輸入信號x(n)是均值為0、方差為1的高斯隨機信號;觀測噪聲v(n)為α穩(wěn)定分布噪聲,其各參數(shù)分別設置為對稱系數(shù)β=0、位置參數(shù)a=0、特征指數(shù)α=1.5、分散系數(shù)γ=0.002.設置信噪比SNR=2 dB;迭代次數(shù)N=6000;各算法的范數(shù)p均為1.15.所有仿真曲線都是100次蒙特卡洛仿真結果的平均.
實驗1α穩(wěn)定分布噪聲背景下ZA?LMS,RZA–LMS,ZA?LMP,RZA?LMP算法的性能比較.4種算法的固定步長μ=0.01,ZA?LMS和ZA?LMP算法的零吸引控制因子ρ=1.5×10?4;RZA?LMS 和RZA?LMP算法的零吸引控制因子ρ=7×10?4,加權零吸引閾值ε=0.05,得到4種算法的NMSD曲線如圖2所示.
由圖2可見,在α穩(wěn)定分布噪聲背景下,當步長相等時,ZA?LMP和RZA?LMP 算法的穩(wěn)態(tài)誤差分別為?13.04 dB和?14.33 dB;而ZA–LMS和RZA–LMS算法的穩(wěn)態(tài)誤差因波動劇烈無法準確得到.綜上可得,RZA–LMP算法性能最好,ZA–LMP算法次之,RZA–LMS和ZA?LMS算法的性能均較差.
圖2 4種算法的性能比較Fig.2 Performance comparison of the four algorithms
實驗2α穩(wěn)定分布噪聲背景下無噪先驗誤差功率因子k對IVSS–RZA–LMP算法的影響.IVSS–RZA–LMP算法的變步長系數(shù)η=0.01,零吸引控制因子ρ=7×10?4,加權零吸引閾值ε=0.05,指數(shù)權重因子λ=0.97,δ=1×10?6,無噪先驗誤差功率閾值c=0.3.無噪先驗誤差功率因子k的取值范圍從0.1至0.9,間隔為0.2,得到IVSS?RZA?LMP 算法的NMSD曲線如圖3所示.
圖3 不同k下IVSS?RZA?LMP算法的NMSD曲線Fig.3 NMSD curve of IVSS?RZA?LMP algorithm under different k
由圖3 可知,在無噪先驗誤差功率因子k分別為0.1,0.3,0.5,0.7 和0.9 時,IVSS?RZA?LMP 算法收斂時的NMSD 值分別為?15.11 dB,?20.25 dB,?22.12 dB,?21.0 dB 和?19.4 dB,且NMSD 達到收斂所需的時間分別為0.03326 s,0.01728 s,0.01650 s,0.01562 s和0.01678 s.因此可得,當無噪先驗誤差功率因子k=0.5時,IVSS?RZA?LMP算法能夠在相對較短的時間內達到最小的NMSD值.下文仿真取k=0.5.
實驗3α穩(wěn)定分布噪聲背景下無噪先驗誤差功率閾值c對IVSS–RZA–LMP算法的影響.IVSS–RZA–LMP算法的無噪先驗誤差功率閾值c分別取0.05,0.1,0.2,0.3,0.4,其他各參數(shù)同實驗2,得到IVSS?RZA?LMP算法的NMSD曲線如圖4所示.
由圖4可知,無噪先驗誤差功率閾值c的值越小,IVSS?RZA?LMP算法收斂所需的時間越長,α穩(wěn)態(tài)誤差越小;但當閾值c過小時,該算法收斂后的穩(wěn)定性降低.這是因為是將環(huán)境噪聲剔除之后的估計誤差功率,越小,則表示IVSS?RZA?LMP算法的權重矢量w(n)離最優(yōu)值wo越近,當小于等于閾值c時,IVSS?RZA?LMP算法認為此時已經達到了穩(wěn)態(tài),因此權重矢量w(n)不再更新.然而,當閾值c過小時,該算法在到達穩(wěn)態(tài)一段時間內仍繼續(xù)更新權重矢量,即w(n)繼續(xù)隨機波動,相應地,也隨機波動,從而使變步長S(n)隨機波動,這導致IVSS?RZA?LMP算法收斂后的穩(wěn)定性較差.綜上所述,選擇合適的無噪先驗誤差功率閾值c能夠保證IVSS?RZA?LMP算法收斂后的穩(wěn)定性,根據(jù)圖4的仿真結果可得,當c=0.1時,IVSS?RZA?LMP算法的穩(wěn)態(tài)誤差較小且穩(wěn)定性較好.下文仿真取c=0.1.
圖4 不同c下IVSS?RZA?LMP算法的NMSD曲線Fig.4 NMSD curve of IVSS?RZA?LMP algorithm under different c
實驗4α穩(wěn)定分布噪聲背景下LMP,ZA?LMP,RZA–LMP,BVSS–RZA–LMP,IVSS–RZA–LMP算法的性能比較.5種算法的參數(shù)設置如表2所示,得到5種算法的NMSD曲線如圖5所示.
表2 5種算法參數(shù)Table 2 Parameters of the five algorithms
圖5 5種算法的性能比較Fig.5 Performance comparison of the five algorithms
由 圖5 可 知,LMP,ZA?LMP,RZA?LMP,IVSS?RZA–LMP 算法的穩(wěn)態(tài)誤差分別為?12.76 dB,?13.94 dB,?15.38 dB 和?30.18 dB,BVSS?RZA?LMP 算法的穩(wěn)態(tài)誤差波動大,其值不確定.LMP,ZA?LMP,RZA?LMP算法達到穩(wěn)態(tài)所需的時間分別為0.0094 s,0.0097 s,0.0101 s;IVSS?RZA?LMP算法的NMSD達到LMP,ZA?LMP,RZA?LMP穩(wěn)態(tài)NMSD 值所需時間分別為0.0085 s,0.0089 s,0.0094 s,與其他3 種算法的時間相當;因此,在5 種算法中,IVSS?RZA?LMP算法在較快收斂的同時能夠獲得最小的穩(wěn)態(tài)誤差,性能最好,BVSS?RZA?LMP算法因穩(wěn)態(tài)性能差而不適用.
實驗5α穩(wěn)定分布噪聲背景下,不同稀疏度下的LMP,ZA–LMP,RZA–LMP,IVSS–RZA–LMP算法性能比較.各算法參數(shù)同實驗4.分別取稀疏度為,4種算法的仿真結果分別如圖6(a)和6(b)所示.
圖6 不同稀疏度下4種算法性能比較Fig.6 Performance comparison of the four algorithms with different sparsity
由圖6可以看出,隨著系統(tǒng)稀疏度的增加,IVSS?RZA?LMP算法一直保持著最低的穩(wěn)態(tài)誤差.當系統(tǒng)較稀疏時(稀疏度為,IVSS?RZA?LMP 算法的NMSD 達到LMP,ZA–LMP和RZA?LMP穩(wěn)態(tài)NMSD值所需時間幾乎相同;當系統(tǒng)稀疏度增大時,前者所需時間有所增加.
針對α穩(wěn)定分布噪聲下,稀疏系統(tǒng)中自適應算法無法在收斂速度較快時獲得較小的穩(wěn)態(tài)誤差的問題,本文提出變步長加權零吸引最小平均p范數(shù)基本(BVSS?RZA?LMP)算法和變步長加權零吸引最小平均p范數(shù)改進(IVSS?RZA?LMP)算法.系統(tǒng)辨識的仿真結果表明,在α穩(wěn)定分布噪聲下,BVSS?RZA?LMP算法因穩(wěn)態(tài)性能較差而不適用;IVSS?RZA?LMP算法在系統(tǒng)稀疏度較小時,能夠同時獲得較小的穩(wěn)態(tài)誤差和較快的收斂速度,且具有較好的穩(wěn)態(tài)性能.