王艷
(1.西安歐亞學(xué)院 金融學(xué)院, 西安 710061; 2.西安交通大學(xué) 軟件學(xué)院, 西安 710061)
無線傳感器技術(shù)的快速發(fā)展,使得新的網(wǎng)絡(luò)結(jié)構(gòu)和算法被不斷提出,分布式網(wǎng)絡(luò)估計通過節(jié)點間的信息共享增強了計算的魯棒性和估計的準(zhǔn)確性,在精確農(nóng)業(yè)、環(huán)境監(jiān)測等實際工程中廣泛應(yīng)用[1],分布式估計的性能,直接影響著能否對未知系統(tǒng)更加準(zhǔn)確快速的進行估計,而將自適應(yīng)濾波與無線傳感器網(wǎng)絡(luò)有效結(jié)合,成為分布式估計的研究熱點[2]。為此,Lopes等人[3]將擴散算法與LMS算法結(jié)合,提出了擴散LMS算法,受到廣泛關(guān)注,但其基于節(jié)點能量和數(shù)據(jù)通信是無限制的。Cattivelli等人[4]提出基于擴散式的DLMS算法,能夠有效地實現(xiàn)分布式估計,但在實際工程中常遇到脈沖噪聲干擾,估計性能降低;Wen等人[5]提出DLMS/F算法進行改進,盡管有效處理了脈沖干擾,但是穩(wěn)定性脆弱;Ni等人[6]通過對誤差函數(shù)進行符號函數(shù)化提出DSELMS算法,算法結(jié)構(gòu)簡單且在處理脈沖噪聲時性能非常優(yōu)越,但其算法穩(wěn)態(tài)誤差大;陳文曉等[7]提出了在擴散LMS算法中先后采用符號函數(shù)和改進的符號函數(shù)量化策略,解決網(wǎng)絡(luò)中數(shù)據(jù)運算量大及傳輸速率受限問題;張勇剛[8]等提出了一種SDVTNLMS算法,解決固定階數(shù)算法不能很好解決階數(shù)未知或時變參數(shù)的問題。
綜上所述,如何設(shè)計分布式自適應(yīng)濾波算法,使其具備快速收斂和低穩(wěn)態(tài)誤差,是目前急需解決的問題。為此設(shè)計了一種基于未知參數(shù)估計值約束的改進LMS自適應(yīng)濾波算法,通過相鄰迭代的參數(shù)估計值約束迭代步長,保證算法的快速收斂和低穩(wěn)態(tài)誤差,仿真實驗結(jié)果驗證了算法的有效性。
圖1所示為空間分布的由K個傳感器組成的強連接網(wǎng)絡(luò),其中第k個傳感器在時刻i測量值為dk(i),dk(i)∈dk(i),其相應(yīng)的1×M維回歸向量為Xk(i),Xk(i)與dk(i)都是零均值的隨機過程,則自適應(yīng)濾波的目標(biāo)為通過{Xk(i),dk(i)}估計分布式網(wǎng)絡(luò)中每個節(jié)點的參數(shù)向量W0∈CM×1,則第k個節(jié)點的輸出信號測量值為:
(1)
圖1 K個傳感器組成的分布式網(wǎng)絡(luò)
則圖中節(jié)點的參數(shù)向量W0∈CM×1可以通過式(2)傳統(tǒng)LMS算法所示的全局最優(yōu)代價函數(shù)計算。
(2)
式中E(·)表示計算數(shù)據(jù)期望。擴散LMS算法[3]將當(dāng)前時刻節(jié)點k的鄰居節(jié)點參數(shù)估計值Wj(i-1),j∈Nk融入到下一時刻k局部自適應(yīng)濾濾器中進行W0的估計。其局部迭代方法為:
(3)
ek(i)=dk(i)-Xk(i)Φk(i-1)
(4)
Wk(i)=Φk(i-1)+μkek(i)Xk(i)
(5)
式中 常數(shù)μk>0為迭代步長;Nk為節(jié)點k的鄰居節(jié)點集合(包括k節(jié)點自身),如圖1所示,其為與節(jié)點k有直接通信鏈路關(guān)系的節(jié)點的集合,正實數(shù)ck,j為各節(jié)點的融合權(quán)值且滿足:
∑j∈Njck,j=1,ck,j=0 ifj?Nn
(6)
擴散LMS算法簡單受到廣泛關(guān)注,但其基于節(jié)點能量和數(shù)據(jù)通訊是無限制的假設(shè),與實際不一致[9-10],為此引入未知參數(shù)估計值約束,提出基于參數(shù)估計值約束的分布式自適應(yīng)濾波算法。
在擴散LMS自適應(yīng)濾波基礎(chǔ)上,對全局最優(yōu)代價函數(shù)(2)使用式(7)所示的局部最優(yōu)代價函數(shù):
(7)
式中通過將未知參數(shù)估計值約束加入到局部最優(yōu)代價函數(shù)中,通過相鄰兩次迭代結(jié)果差控制迭代步進,以加快迭速率,減少計算量和節(jié)點通信量。
根據(jù)式(7)算法主要包括參數(shù)融合和自適應(yīng)迭代兩部分,節(jié)點k的參數(shù)估計中間值:
(8)
式中μ0是收斂初始步長;δ是很小的正數(shù),防止分母為0無意義;ek,i=dk(i)-Xk(i)Wk(i);φk是局部中間估計值。計算所有節(jié)點的中間值后,則節(jié)點局部參數(shù)估計值為:
(9)
式中Nk為節(jié)點k的鄰居節(jié)點集合;正實系數(shù)ck,j是融合權(quán)值,用來確定鄰居節(jié)點參數(shù)對節(jié)點k的貢獻度,且當(dāng)j?Nk時,ck,j=0。
提出的分布式自適應(yīng)網(wǎng)絡(luò)濾波算法流程如下:
初始化:對所有節(jié)點n的初始化參數(shù)都是{wk,-1=0},δ,μ。
設(shè)定非負的融合權(quán)重{ck,l}且滿足∑l∈Nkck,l=1,對每個節(jié)點都進行多次迭代。則第k個節(jié)點在第i次的迭代表達式為:
φk(i)=Wk(i-1)+
為了便于后面分析,先給出以下定義,系統(tǒng)參數(shù)真實值與估計值差值為:
Vk(i-1)=Wo-Wk(i-1)
(10)
Φk(i-1)=Wo-φk(i)
(11)
系統(tǒng)的所有系數(shù)估計值為:
W(i) = col {W1(i),W2(i),…,Wk(i)}
(12)
φ(i) = col {φ1(i),φ2(i),…,φk(i)}
(13)
由真實值與估計值差值組成的向量為:
V(i) = col {V1(i),V2(i),…,Vk(i)}
(14)
Φ(i) = col {Φ1(i),Φ2(i),…,Φk(i)}
(15)
則式(8)和(9)化簡式為:
Φ(i)=V(i-1)-ΓS(i)X(i)
(16)
V(i)=ATΦ(i)
(17)
式中?表示Kronecker乘積;
A={ck,j},A=A?Ik;
S(i)=diag(en(i)),S(i)=S(i)?Ik;
X(i) = col {X1(i),X2(i),…,Xk(i)};
Γ(i) =
結(jié)合式(16)和(17)可得式(18)。
V(i)=ATV(i-1)-ATΓS(i)X(i)
(18)
E[V(i)]=ATE[V(i-1)]-ATΓE{S(i)X(i)}
(19)
式(18)等號兩端取數(shù)學(xué)期望后,對于第k個傳感器,當(dāng)取數(shù)據(jù)期望后的式(19)收斂,則有步長μ(i)的約束區(qū)間為:
(20)
即在式(19)所給定的區(qū)間內(nèi),分析式(18)的數(shù)據(jù)期望,可得E[Vi(∞)] = 0,表明所提算法能對目標(biāo)進行有效地估計。
實驗驗證文中算法的性能,實驗環(huán)境為Inter(R) Core(TM) i5-2430M CPU @ 2.40 GHz、6.00 G內(nèi)存,MATLAB R2016a軟件。實驗對比算法為:DSELMS[6]、DLMS[4]、DLMS/F[5]和文中算法(記為EILMS。在脈沖干擾下進行系統(tǒng)識別,系統(tǒng)長度L=15,噪聲為基于概率p(1)=Pr的Bernoulli序列,由模型v(i)=A(i)·I(i)生成,A(i)表示零均值、方差為0.01的高斯序列。信號采樣點數(shù)為10 000,蒙特卡洛次數(shù)為50。無線傳感器網(wǎng)絡(luò)由20個節(jié)點組成。采用均方誤差來衡量算法性能:
(21)
如圖2所示為實驗使用的網(wǎng)絡(luò)連接圖,其中 圖2(a)所示為第一組實驗網(wǎng)絡(luò)連接圖,當(dāng)兩節(jié)點連接且距離L≤0.3時,認為是相互連通鄰居節(jié)點,Pr=0.1,圖2(b)所示為第二組實驗使用的網(wǎng)絡(luò)連接圖,當(dāng)兩節(jié)點之間的連通概率大于或等于0.2時認為是相互連通的鄰居節(jié)點,Pr=0.03。
圖2 實驗采用的分布式網(wǎng)絡(luò)
圖3 實驗使用的信號和噪聲的方差
圖4和圖5所示為4種算法參數(shù)估計值MSD曲線,相比于DSELMS算法,EILMS算法穩(wěn)態(tài)誤差更??;而與DLMS算法和DLMS/F算法相比,EILMS算法的收斂速度有明顯優(yōu)勢,從兩組實驗結(jié)果可看出所提算法在收斂速度和穩(wěn)態(tài)誤差方面都取得較好的效果,主要因為在算法運行初期Wk(i)較小,算法具有較快的收斂速度,而算法后期μ(i)與μ(i-1)相差不大,保證了算法具有較小的穩(wěn)態(tài)誤差。
DSELMS算法由于直接對估計誤差en(i)進行非線性約束使其等效步長在收斂初期比較大,能夠快速收斂,但是其在穩(wěn)態(tài)誤差方面性能表現(xiàn)不夠優(yōu)越。同DSELMS算法原理相似,文中算法運行初期通過較小的預(yù)設(shè)Wk(i)值,從而使算法具有較快的收斂速度,而當(dāng)算法趨于穩(wěn)定時,通過調(diào)整抱定代步長,相比于DSELMS算法,又可獲得更小的穩(wěn)態(tài)誤差。
圖4 參數(shù)估計值隨迭代數(shù)的MSD曲線
圖5 參數(shù)估計值隨迭代數(shù)的MSD曲線
從表1實驗結(jié)果可知:相比DSELMS、DLMS和DLMS/F算法,EILMS算法在保證收斂速度的同時,在穩(wěn)態(tài)誤差方面分別改進了23.4 dB、3.1 dB和0.3 dB;22.9 dB、2.2 dB和1 dB。
表1 實驗中所得穩(wěn)態(tài)誤差
在進行分布式估計時,為了同時具備快的收斂速度和低的穩(wěn)態(tài)誤差,同時結(jié)構(gòu)簡單又能處理受脈沖干擾的系統(tǒng),提出一種適用于分布式網(wǎng)絡(luò)的通過系數(shù)估計值的范數(shù)值調(diào)整算法迭代步長的改進自適應(yīng)濾波算法,分析了其收斂發(fā)性能。實驗結(jié)果表明,相比已有算法,文中算法性能更優(yōu)。