趙季紅,謝志勇,曲 樺,王明欣,劉 熙
(1. 西安郵電大學 通信與信息工程學院,陜西 西安 710121;2. 西安交通大學 電子與信息工程學院,陜西 西安 710049)
無線傳感網絡是一種由大量隨機布散的傳感器和地面數據處理中心組成的網絡,具有快速展開、魯棒性強、容錯性高等特點,可實現對目標的數據采集、處理和傳輸.在實際的工程應用中,由于地形的差異(山川、礦井等)及所處環境(樓層、海洋、空中等)的不同,傳感器被隨機地分布在三維區域,并隨著海洋的洋流運動或空氣的氣流而發生移動.因此,解決節點三維狀態估計的問題,對國防、衛星通信、飛機通信、車載網、工業控制、環境監測、健康護理等應用具有深遠的意義[1-3].
傳感網絡中節點位置信息對觀測數據的影響使得傳感網節點狀態估計成為目前研究的熱點之一.其主要借助信標節點來實現傳感節點的狀態估計,通常選用的信標節點分為靜態信標和動態信標.靜態信標估計性能較好,但需大量部署,成本較高,所以一般采用移動信標節點來實現傳感網節點估計.常用的幾種觀測方法[4]有:到達角(Angle Of Arrival,AOA)、到達時間(Time Of Arrival,TOA)、到達時間差(Time Difference Of Arrival,DTOA)、接收的信號強度(Received Signal Strength Indicator,RSSI)以及一些混合的方法.
由于三維空間網絡環境復雜,通常采用接收的信號強度進行觀測距離的測量.雖然其可以降低傳感器的硬件成本和損耗,但在信號傳輸過程中易受到環境噪聲的影響.在這種情況下,傳統的加權最小二乘節點定位[5]和加權質心定位方法[6]的估計精度較低,通常需要利用濾波器對噪聲進行處理,來進一步提高節點估計的精度.由于接收的信號強度的測量方程通常是非線性的,文獻[5]利用拓展卡爾曼濾波器(Extended Kalman Filter,EKF)對噪聲進行了處理,但拓展卡爾曼濾波器忽略了高階項來處理非線性問題,導致估計誤差較大.為了更好地解決非線性的問題,文獻[7]提出一種無跡卡爾曼濾波器(Unscented Kalman Filter,UKF),它通過確定性采樣得到一系列的樣本點,并經過非線性方程進行傳遞,得到了更高階的精度.文獻[8]采用無跡卡爾曼濾波器提高了節點估計的效果.但以上方法只對理想的高斯噪聲有較好的性能,而實際傳感網絡中由于受到系統自身的誤操作、人為指令的影響,使得到的測量值通常帶有重尾的非高斯干擾,因此針對非高斯噪聲影響下的節點估計已成為一個亟待解決的問題.文獻[9]提出了一種魯棒的方法——互相關熵,其不僅可以獲得二階統計量,還可以獲得更高階的統計量.基于它的準則被稱為最大互相關熵準則(Maximum Correntropy Criterion,MCC),這種方法在一些領域已得到了廣泛的應用[9-10].特別是針對觀測噪聲呈現重尾的非高斯狀況,文獻[11]提出了一種將最大互相關熵準則與無跡卡爾曼濾波器結合的最大互相關熵無跡卡爾曼濾波(Maximum Correntropy Unscented Kalman Filter,MCUKF)算法,其采用基于最大互相關熵準則的非線性回歸方法重新構建觀測信息,提高了無跡卡爾曼濾波器的魯棒性.
針對上述非高斯噪聲干擾下的節點狀態估計問題,筆者將最大互相關熵無跡卡爾曼濾波算法引入到傳感網中,并對其簡化,提出一種加權質心定位算法和簡化最大互相關熵無跡卡爾曼濾波算法結合的節點三維估計方法.該方法首先利用加權質心定位算法對傳感節點信息進行預處理,得到近似的估計值,再通過簡化最大互相關熵無跡卡爾曼濾波進行魯棒性濾波處理來提高節點狀態估計的性能.
(1) 狀態方程模型.其為
xk+1=f(k,xk)+qk=F·xk+qk,
(1)
其中,xk+1=[xk+1,yk+1,zk+1]T,表示未知節點在第k+1時刻的狀態向量;f(k,xk)表示k時刻關于xk的一個函數;qk為過程高斯白噪聲,其協方差矩陣為Qk;F為狀態轉移矩陣,F是單位矩陣.
(2) 觀測方程模型.
根據文獻[5],選用自由空間傳播模型和對數-常態分布模型作為傳播路徑損耗模型,則觀測方程為
其中,yk+1表示未知節點接收虛擬移動信標節點位置信號時接收的信號強度值;作為傳感網絡的觀測向量,h(·)表示觀測的非線性函數,并且假設h(·)是連續可微的;rk+1為觀測白噪聲,其協方差矩陣為Rk+1;P表示發射功率;G表示天線的接收增益;(xbk+1,ybk+1,zbk+1)表示第k+1 時刻的信標節點的坐標;Ld0表示信號傳播距離d0的路徑損耗;d表示未知節點到信標節點的距離;n0表示路徑衰減因子;f表示信號頻率.
針對非線性的問題,無跡卡爾曼濾波器是一種有效的處理方法.它利用無跡變換在估計點附近確定采樣點(Sigma點集),并用這些Sigma點集表示的高斯密度去近似表示狀態的概率密度函數.通常無跡卡爾曼濾波器在狀態更新和觀測更新時都要進行Sigma點集的計算.
從1.1節的節點估計模型中可知,狀態方程(1)為線性方程,觀測方程(2)是由信標節點收發的信號強度建立的非線性方程.對于線性方程,為了節約計算周期和提高濾波精度,可以選用理論上最優的卡爾曼濾波器進行濾波,不必再利用無跡變換產生Sigma點集來近似; 對于非線性觀測方程,使用無跡卡爾曼濾波器進行濾波.基于這一思想,結合最大互相關熵準則對非高斯噪聲的強魯棒性,得到一種簡化最大互相關熵無跡卡爾曼濾波算法.
簡化最大互相關熵無跡卡爾曼濾波算法的步驟如下.



(8)

其中,ωm和ωc表示算法點集的權值.
(5) 計算增益矩陣Kk+1:
(12)
(7) 當k等于預先設定的時間步長時,算法結束;否則,k=k+1,返回步驟(2).
首先由方程(1)和(2)得到以下的非線性模型:
(15)
其中,η(xk+1)表示xk+1|k與xk+1的差值.
對算法第(2)步得到的協方差矩陣Pk+1|k和Rk+1的聯合矩陣ψk+1進行楚列斯基分解:
(16)
Dk+1=g(xk+1)+ek+1,
(17)


(18)

由文獻[11],得到修改后的協方差為
(19)

通常選取核寬度為σ的高斯核函數為

節點估計算法將加權質心定位和簡化最大互相關熵無跡卡爾曼濾波算法相結合,算法的過程概括如下.
(1) 部署虛擬信標節點的運動狀態,并以固定頻率發送帶有虛擬信標節點位置狀態信息的數據包.
(2) 未知節點接收虛擬信標節點的數據包,并只保存前s個最大接收的信號強度值和虛擬信標節點的數據包.
(3) 對未知節點接收到的信號值接收的信號強度進行由大到小的排序,并得到以下3個數據集合.
a. 未知節點接收到的信標節點接收的信號強度值A={I1,I2,…,Is},I1≥I2≥…≥Is;
b. 未知節點和接收的信號強度值對應的信標節點的距離B={d1,d2,…,ds};
c. 信標節點的虛擬位置信息集合C={(xb1,yb1,zb1),(xb2,yb2,zb2),…,(xbs,ybs,zbs)}.
(4) 利用觀測距離集合B,計算得到相應的s個權值W={W1,W2,…,Ws},其中Wi= 1/di, 1≤i≤s.
(5) 采用加權質心定位算法計算未知節點的近似位置信息(xi,yi,zi):
(22)


圖1 信標節點移動路徑
在10 km×10 km×10 km的三維空間區域隨機部署100個傳感節點.空中的傳感節點用帶有傳感器的無人機等進行乘載,在空間中進行一個微小的移動.在 0~ 10 km 的豎直高空中,每隔 250 m 虛擬信標節點按照如圖1(一種經典的信標節點移動模型[12])所示的路徑進行一次遍歷,通信半徑為 250 m.
用加權質心定位算法、加權最小二乘算法、基于加權質心定位和拓展卡爾曼濾波器、無跡卡爾曼濾波器、最大互相關熵無跡卡爾曼濾波、簡化最大互相關熵無跡卡爾曼濾波結合的方法進行實驗,對空間中100個傳感節點的k時刻狀態和單個移動節點在K時間間隔內的狀態進行估計,以未知節點實際狀態和估計狀態之間的相對距離作為比較基準,具體表述形式如下:
其中,E1l與E2k表示比較基準,AE1與AE2表示平均誤差.L=100,為三維空間中部署的100個傳感節點;K= 60 s,表示移動節點的變化時間.
利用Matlab2015a軟件進行仿真,無線電發射參數參照MICA2mote,發射功率和天線的接收增益之和P+G= 111 dB.由于三維的傳感網絡環境復雜,且路徑損耗大,故取路徑衰減因子n0= 3.2,取方差ε2= 0.4,取d0= 1 m.卡爾曼濾波算法的初始協方差矩陣P0|0= 0.6 diag(1,1,1),過程噪聲的協方差矩陣Qk=0 ,非高斯觀測噪聲為
γd~0.8N(0,ε2)+0.2N(0,100ε2) .
(27)
表1給出了對所有傳感節點在某個時刻的狀態進行估計時,各種估計方法的平均誤差AE1.可以看出,加權質心定位算法明顯優于加權最小二乘算法,最大互相關熵無跡卡爾曼濾波和簡化最大互相關熵無跡卡爾曼濾波在相同的核寬度的情況下,具有相同的估計性能.特別當σ=2 時,它們在幾種估計方法中表現出最小的平均誤差AE1.另外,在進行3、15、25次濾波器迭代過程中,相同核寬度下最大互相關熵無跡卡爾曼濾波算法的運行時間分別為 0.114 1 s、0.328 5 s、0.550 9 s,簡化最大互相關熵無跡卡爾曼濾波算法的運行時間分別為 0.090 8 s、0.258 6 s、0.437 1 s,相對于最大互相關熵無跡卡爾曼濾波算法,簡化最大互相關熵無跡卡爾曼濾波算法在運行時間上分別減少了20.45%、21.27%、20.67%.

表1 非高斯噪聲下不同估計方法的平均誤差AE1
圖2描述了以加權質心定位算法的估計值作為拓展卡爾曼濾波器、無跡卡爾曼濾波器、最大互相關熵無跡卡爾曼濾波、簡化最大互相關熵無跡卡爾曼濾波的初始值時,迭代次數和算法平均估計誤差的關系.由于加權質心定位方法不能消除測量接收的信號強度時噪聲的影響,隨著迭代次數的增加,拓展卡爾曼濾波器、無跡卡爾曼濾波器、最大互相關熵無跡卡爾曼濾波、簡化最大互相關熵無跡卡爾曼濾波的方法均能提高未知節點的估計精度.在迭代次數達到15次之后,平均誤差基本變化不大,且最大互相關熵無跡卡爾曼濾波和簡化最大互相關熵無跡卡爾曼濾波具有相同的估計性能.特別當核寬度σ=2,迭代次數為15次時,最大互相關熵無跡卡爾曼濾波和簡化最大互相關熵無跡卡爾曼濾波在5種濾波算法中性能最佳.
為了降低估計算法的復雜度,以下實驗選用的迭代次數為15次.圖3描述了簡化最大互相關熵無跡卡爾曼濾波算法利用虛擬信標節點對部署在空間的各個傳感節點在某個時刻的狀態進行估計的性能,其中核寬度σ=2,星號節點表示部署在空間中的傳感器節點,與星號節點相連的圓圈表示通過新算法估計的節點狀態.可見在處理非高斯噪聲下的節點問題時,新算法能夠對未知節點進行有效的估計.
圖4描述了在非高斯觀測噪聲下,多種估計方法對未知節點進行狀態估計時的估計誤差,其中簡化最大互相關熵無跡卡爾曼濾波的核寬度σ=2.由于環境噪聲的影響,加權質心定位估計算法的誤差明顯大于其他的估計方法的,而其他方法將加權質心定位算法的估計狀態作為初始值,并對噪聲進行了處理,提高了節點估計的精度.在處理基于非線性方程的問題時,由于無跡卡爾曼濾波器類型的濾波器利用更高階精度的無跡變換,因此,表現出比拓展卡爾曼濾波器更好的性能.另外在處理非高斯的觀測噪聲時,由于互相關熵的強魯棒性,簡化最大互相關熵無跡卡爾曼濾波算法在各種估計方法中得到最小的估計誤差.

圖2 卡爾曼濾波類方法的平均估計誤差曲線圖3 非高斯噪聲下簡化最大互相關熵無跡卡爾曼濾波算法的估計性能

圖4 各種節點估計方法的估計誤差圖5 各種節點估計方法對單個移動節點狀態的估計曲線
表2列出了時間間隔K=60 s內,不同方法對單個移動節點狀態估計的平均誤差.可以看到,在沒有對噪聲進行濾波前,加權質心定位的方法優于加權最小二乘的方法;通過濾波器進行濾波后,最大互相關熵無跡卡爾曼濾波和簡化最大互相關熵無跡卡爾曼濾波表現出相同的估計性能,并且當σ=2 時,得到最小的平均誤差AE2.

表2 非高斯噪聲下不同估計方法對單個移動節點的平均誤差AE2
圖5描述了非高斯噪聲下不同方法對單個移動未知節點在一段時間內的狀態估計曲線,其中簡化最大互相關熵無跡卡爾曼濾波的核寬度σ=2.這些方法首先以加權質心定位方法得到移動節點的近似狀態信息,再利用各種濾波器對未知節點的狀態進行估計.由圖可知,無跡卡爾曼濾波器和簡化最大互相關熵無跡卡爾曼濾波方法均比拓展卡爾曼濾波器方法表現出較好的估計性能,特別在處理非高斯問題時,簡化最大互相關熵無跡卡爾曼濾波比無跡卡爾曼濾波器表現出更好的魯棒性和性能.
筆者提出一種加權質心定位和簡化最大互相關熵無跡卡爾曼濾波器相結合的方法,主要解決傳感網絡環境中受到非高斯噪聲干擾時,傳感節點三維狀態估計問題.首先利用虛擬信標節點替代部署大量信標節點,通過加權質心定位的算法對傳感節點進行近似的估計,然后結合狀態方程的估計模型,采用簡化最大互相關熵無跡卡爾曼濾波算法來解決傳統方法在非高斯噪聲環境下估計精度較低的缺陷,并節約了一般最大互相關熵無跡卡爾曼濾波算法的時間成本.與4種典型的節點估計方法相比,新算法在具有非高斯噪聲的傳感網絡中表現出了更好的性能.