任騰飛,周 潔
(西安工業(yè)大學(xué)電子信息工程學(xué)院,西安 710021)
近年來,無線傳感器網(wǎng)絡(luò)在目標(biāo)跟蹤、場(chǎng)景監(jiān)測(cè)、網(wǎng)絡(luò)信息安全等方面得到了廣泛應(yīng)用。傳感器節(jié)點(diǎn)隨機(jī)地布置在目標(biāo)區(qū)域中來獲取目標(biāo)運(yùn)動(dòng)、方位等信息[1]。傳感器節(jié)點(diǎn)布置后,能量會(huì)隨著時(shí)間逐漸耗盡并且難以充電,因此能量是一個(gè)需要重點(diǎn)考慮的因素,在實(shí)際的使用中往往需要同時(shí)滿足效率、能耗等諸多約束。例如在實(shí)際跟蹤場(chǎng)景中,如果調(diào)用全部節(jié)點(diǎn)進(jìn)行目標(biāo)的狀態(tài)估計(jì),部分節(jié)點(diǎn)可能會(huì)因遠(yuǎn)離目標(biāo)而導(dǎo)致其對(duì)于提升估計(jì)精度的作用很小,但仍要消耗一定的通信能量[2]。因此,可以考慮在節(jié)點(diǎn)規(guī)劃中加入能量約束條件來進(jìn)行合理的節(jié)點(diǎn)選取。
如今國內(nèi)外專家、學(xué)者針對(duì)節(jié)點(diǎn)能量約束進(jìn)行了許多研究,其中,胡波等[3]提出了一種自適應(yīng)節(jié)點(diǎn)調(diào)度算法,該方法將問題建模為馬爾可夫決策過程迭代求解代價(jià),綜合考慮了誤差與傳感器能量消耗。李強(qiáng)懿[4]設(shè)計(jì)一種基于證據(jù)理論的節(jié)點(diǎn)部署方案,來延長(zhǎng)網(wǎng)絡(luò)使用壽命。彭鐸[5]將簇頭選取過程進(jìn)行分解,將復(fù)雜決策問題拆分為層次結(jié)構(gòu)模型,均衡了節(jié)點(diǎn)能耗。文獻(xiàn)[6]提出一種利用RSSI測(cè)距的偽節(jié)點(diǎn)規(guī)劃定位算法。利用規(guī)劃算法從插入的偽節(jié)點(diǎn)中找出與未知節(jié)點(diǎn)匹配程度最佳的位置,并以此定位未知節(jié)點(diǎn)。降低了節(jié)點(diǎn)能耗。文獻(xiàn)[7]研究了存在有限的帶寬資源與能量約束下的多跳無線傳感器網(wǎng)絡(luò)的目標(biāo)跟蹤問題,基于粒子濾波算法將傳感器節(jié)點(diǎn)的觀測(cè)數(shù)據(jù)量化壓縮為二元信號(hào),并采用二元中繼策略將信息傳遞給融合中心,降低了網(wǎng)絡(luò)能耗,提升了跟蹤精度。
以上所提出的節(jié)點(diǎn)規(guī)劃算法僅重點(diǎn)考慮了領(lǐng)導(dǎo)節(jié)點(diǎn)改變時(shí)所產(chǎn)生的能量消耗,而將子節(jié)點(diǎn)傳輸數(shù)據(jù)給領(lǐng)導(dǎo)節(jié)點(diǎn)產(chǎn)生的開銷作為固定值,存在著一定的局限性[8]。本文提出基于節(jié)點(diǎn)能量約束的規(guī)劃算法。根據(jù)跟蹤中的誤差矩陣來進(jìn)行節(jié)點(diǎn)規(guī)劃,在約束條件下關(guān)注領(lǐng)導(dǎo)節(jié)點(diǎn)改變與數(shù)據(jù)傳輸所產(chǎn)生的能量消耗,主要貢獻(xiàn)總結(jié)如下:
(1)首先構(gòu)建節(jié)點(diǎn)跟蹤模型,提出簇結(jié)構(gòu)的分布式連接網(wǎng)絡(luò),設(shè)有子節(jié)點(diǎn)與領(lǐng)導(dǎo)節(jié)點(diǎn)。
(2)基于能量約束提出的節(jié)點(diǎn)規(guī)劃算法,根據(jù)信息形式的擴(kuò)展卡爾曼濾波算法完成目標(biāo)跟蹤與節(jié)點(diǎn)規(guī)劃過程。
(3)構(gòu)建仿真模型并驗(yàn)證所提出算法的有效性。
將N個(gè)傳感器部署在目標(biāo)區(qū)域,S1,S2,…,SN代表各自位置,如圖1所示。當(dāng)被跟蹤目標(biāo)在傳感器節(jié)點(diǎn)網(wǎng)絡(luò)中機(jī)動(dòng)時(shí),其k時(shí)刻的狀態(tài)為xk=其中(xk,yk)為k時(shí)刻的目標(biāo)位置,為x和y方向上的速度,目標(biāo)的動(dòng)態(tài)模型如下:
圖1 無線傳感器網(wǎng)絡(luò)模型
式中:A為轉(zhuǎn)移矩陣,G是常數(shù)矩陣;噪聲uk-1。
在k時(shí)刻,第i個(gè)節(jié)點(diǎn)的觀測(cè)方程為
記各節(jié)點(diǎn)的觀測(cè)為
狀態(tài)的估計(jì)量:
式中:和Mk代表估計(jì)狀態(tài)與誤差,和Pk代表預(yù)測(cè)狀態(tài)和誤差。信息形式的擴(kuò)展卡爾曼濾波算法迭代形式:
依據(jù)能量約束條件來進(jìn)行目標(biāo)跟蹤與節(jié)點(diǎn)規(guī)劃,在第k時(shí)刻對(duì)目標(biāo)狀態(tài)進(jìn)行估計(jì)后,規(guī)劃k+1時(shí)刻傳輸數(shù)據(jù)的子節(jié)點(diǎn)與領(lǐng)導(dǎo)節(jié)點(diǎn),降低傳感器節(jié)點(diǎn)網(wǎng)絡(luò)能量消耗,減小k+1時(shí)刻目標(biāo)狀態(tài)估計(jì)誤差。
(1)數(shù)據(jù)聚合:領(lǐng)導(dǎo)節(jié)點(diǎn)收集其他傳感器節(jié)點(diǎn)發(fā)送的數(shù)據(jù),并利用k時(shí)刻和k-1時(shí)刻數(shù)據(jù)信息對(duì)目標(biāo)狀態(tài)進(jìn)行更新;
(2)目標(biāo)跟蹤:通過更新目標(biāo)狀態(tài),規(guī)劃k+1時(shí)刻的領(lǐng)導(dǎo)節(jié)點(diǎn)與其他子節(jié)點(diǎn);
(3)傳感器調(diào)度:領(lǐng)導(dǎo)節(jié)點(diǎn)將目標(biāo)狀態(tài)、估計(jì)誤差等數(shù)據(jù)傳遞給下一時(shí)刻領(lǐng)導(dǎo)節(jié)點(diǎn)。
圖2 目標(biāo)跟蹤與節(jié)點(diǎn)規(guī)劃流程圖
能量消耗主要由以下幾部分構(gòu)成:
(1)子節(jié)點(diǎn)得到觀測(cè)數(shù)據(jù),然后傳輸給領(lǐng)導(dǎo)節(jié)點(diǎn)所產(chǎn)生的能量消耗;
(2)領(lǐng)導(dǎo)節(jié)點(diǎn)接收子節(jié)點(diǎn)傳輸?shù)哪繕?biāo)估計(jì)狀態(tài)等信息,并在領(lǐng)導(dǎo)節(jié)點(diǎn)發(fā)生改變時(shí),傳輸給下一個(gè)領(lǐng)導(dǎo)節(jié)點(diǎn)產(chǎn)生的消耗。
式(11)分為兩部分:數(shù)據(jù)聚合的能耗與領(lǐng)導(dǎo)節(jié)點(diǎn)間傳輸信息能耗。
信息形式的擴(kuò)展卡爾曼濾波算法進(jìn)行節(jié)點(diǎn)規(guī)劃利用的是估計(jì)誤差矩陣Mk,根據(jù)式(6)-(10),通過第k步估計(jì)出目標(biāo)的狀態(tài)x?k和誤差矩陣Mk,不用第k+1步的觀測(cè)Zk+1也可以得到誤差矩陣Mk+1,因此,就可以在第k步利用Mk+1決定第k+1步哪些節(jié)點(diǎn)數(shù)據(jù)參與了目標(biāo)跟蹤。根據(jù)式(8),Mk+1可以描述為
目標(biāo)問題表示為
ai∈{ 0 ,1},c∈{s1,s2,…,sN},a=[a1,a2,…,aN]T,b為通信能量約束。
式(13)中,a與c為兩種不同變量,借助高斯-賽德爾方法(Gauss-Seidel method),進(jìn)行交替迭代求解。即先固定變量c,求得ak+1的最優(yōu)解:
然后將變量a固定來求解ck+1。假設(shè)新的領(lǐng)導(dǎo)節(jié)點(diǎn)在選中的子節(jié)點(diǎn)中產(chǎn)生,即ck+1∈{si|ai=1,1≤i≤N},則ck+1可通過式(15)求得:
針對(duì)式(15)整數(shù)規(guī)劃問題,引入了凸松弛方法,該方法是將非凸限制條件ai∈{0,1}松弛為凸限制條件0≤ai≤1。則F(·)為關(guān)于a的凸函數(shù),可以使用內(nèi)點(diǎn)法來求解該凸優(yōu)化問題:
節(jié)點(diǎn)規(guī)劃算法流程如圖3所示。
圖3 節(jié)點(diǎn)規(guī)劃算法流程
為了驗(yàn)證所提節(jié)點(diǎn)規(guī)劃算法應(yīng)用在目標(biāo)跟蹤方面的性能,以參考算法做對(duì)照,同樣是基于領(lǐng)導(dǎo)節(jié)點(diǎn),在節(jié)點(diǎn)規(guī)劃中只考慮領(lǐng)導(dǎo)節(jié)點(diǎn)轉(zhuǎn)變所產(chǎn)生的能量消耗。通過仿真實(shí)驗(yàn)驗(yàn)證,該算法更優(yōu)。
在監(jiān)測(cè)區(qū)域內(nèi),隨機(jī)、均勻地布置傳感器節(jié)點(diǎn),節(jié)點(diǎn)數(shù)為200。待跟蹤目標(biāo)按照式(1)移動(dòng),其中:
假設(shè)噪聲uk來自于擾動(dòng),q=0.05,均值為0,協(xié)方差矩陣為Q:
觀測(cè)方程可以表示為
其中:是觀測(cè)值;P0=500,r(xk)=[xk,yk]T;噪聲均值為0,方差為1。
每次進(jìn)行40步跟蹤,通過200次蒙特卡洛計(jì)算。圖4為目標(biāo)跟蹤與節(jié)點(diǎn)規(guī)劃過程。圖中五角星代表領(lǐng)導(dǎo)節(jié)點(diǎn)位置,隨著每一步跟蹤,實(shí)線代表的真實(shí)軌跡與虛線代表的預(yù)測(cè)軌跡幾乎重合,同時(shí)相連的五角星形成了領(lǐng)導(dǎo)節(jié)點(diǎn)的更替路徑。在通信能量約束為2000時(shí),本文與對(duì)比算法的誤差變化曲線如圖5所示。
圖4 無線傳感器網(wǎng)絡(luò)中進(jìn)行目標(biāo)跟蹤及節(jié)點(diǎn)規(guī)劃的過程
圖5 算法誤差對(duì)比
本文在進(jìn)行目標(biāo)跟蹤與節(jié)點(diǎn)規(guī)劃過程中引入能量約束條件,綜合考慮數(shù)據(jù)傳輸和領(lǐng)導(dǎo)節(jié)點(diǎn)改變的能耗來選擇領(lǐng)導(dǎo)節(jié)點(diǎn),有效地提升了目標(biāo)跟蹤性能。在計(jì)算中對(duì)目標(biāo)估計(jì)節(jié)點(diǎn)和待選擇的領(lǐng)導(dǎo)節(jié)點(diǎn)位置進(jìn)行迭代求解,降低了該問題的復(fù)雜性。仿真結(jié)果表明,通過合理的選取與規(guī)劃領(lǐng)導(dǎo)節(jié)點(diǎn),使目標(biāo)跟蹤性能得到了提升。