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