羅宏等 藍 耿 聶良剛* 粟光旺 伍一坤
1(廣西財經學院 廣西 南寧 530003)2(廣西大學 廣西 南寧 530001)
目標定位與跟蹤是無線傳感器網絡(WSN)的基礎研究領域之一[1]。要實現WSN中準確的目標定位和跟蹤,需要提高目標初始位置的精度和動態實時目標的測距精度。
國內外學者圍繞WSN中實時目標的準確跟蹤進行了大量的研究。文獻[2]將接收信號強度指示器(Received Signal Strength Indicator, RSSI)測量融合到遞歸貝葉斯框架濾波器中,研究了初始位置的濾波方法,但是該方法具有局部性,無法提高全局精確度;文獻[3]和文獻[4]采用全局濾波法對WSN中目標的初始位置進行了精確估計,但該方法沒有考慮目標的實時動態性。文獻[5]基于卡爾曼濾波(Kalman Filter, KF)研究了動態目標定位和跟蹤過程中噪聲的數量和分布以及測量對應用的影響,但是所利用的噪聲與實際情況有較大的偏差,對實際應用難以做出有效評估。文獻[6]提出了一種基于無跡卡爾曼濾波(Unscented Kalman Filter, UKF)的定位和跟蹤算法,該算法利用人體步行的動態模型來跟蹤目標的位置和速度,需要大量的傳感器,增加了傳感器的復雜度和成本。文獻[7]采用單傳感器基于距離感知法對WSN中目標的距離進行了測量,但實驗結果表明其測量結果誤差較大。文獻[8]和文獻[9]避免了文獻[7]的缺點,采用多傳感器基于泛函距離對動態目標的距離和位置進行了測量,但其實驗結果依然與理論之間存在較大誤差。文獻[10]采用神經網絡法對WSN中的二維動態目標進行了高精度定位和跟蹤,但其計算耗時較長,具有一定的時滯性。文獻[11]引入了一些移動傳感器節點(mns)與社交網絡服務(Social Networking Services, SNS)相結合,形成一種能力更強、能量約束更小的混合WSN。在此基礎上,提出了一種有效的混合無線傳感器網絡目標跟蹤方案,實現了移動節點和移動節點的動態調度。然而,當節點數量較多時,該方案的魯棒性會受到一定的影響。文獻[12]將機器學習與反向神經網絡(Back Propagation Neural Networks, BPNN)相結合,用于跟蹤以某種加速度移動的目標,然而,BPNN需要大量迭代運算才能收斂到所需的解決方案。文獻[13]采用概率神經網絡(Probabilistic Neural Network, PNN)克服了BPNN的局限性,只需要很少的訓練樣本就可以工作,但是BPNN無法解決測量噪聲和目標速度突變的不確定性。
可以看出,現有方法很難同時得到準確的初始值以及定位和跟蹤的精確值。因此,提出了一種WSN中改進(FOA-GRNN)法結合迭代Cubature卡爾曼濾波的實時目標跟蹤方法,主要創新點包括:
(1) 在零平均值高斯測量噪聲的背景下,利用GRNN算法對初始位置進行確定,可提高初始位置的定位精度,提高二維動態目標位置的估計能力。
(2) 針對測量噪聲和目標速度突變的不確定性,利用迭代Cubature卡爾曼濾波對WSN中單運動目標進行實時二維跟蹤,提高了動態跟蹤的實時性和跟蹤精度。
(3) 結合FOA-GRNN快速收斂的優點和迭代Cunbature卡爾曼濾波精度較高的優點,降低了大規模目標跟蹤和定位的絕對誤差,一定程度上降低了定位所花費的計算開銷。
實驗結果表明,與其他現有算法相比,本文方法在大規模動態目標定位和跟蹤的問題上,具有更好的目標定位和跟蹤能力,獲得了更高的定位和跟蹤精度,同時,定位所花費的時間也在可接受范圍內。
改進的FOA-GRNN可以快速地收斂到基礎(線性或非線性)回歸表面,它能夠在稀疏數據集上快速訓練,并且對連續函數逼近特別有用。圖1給出了改進的FOA-GRNN的結構,它主要由輸入層、模式層、求和層和輸出層組成[14]。輸入層接收輸入信號,而模式層對輸入空間到模式空間的數據進行非線性變換。隱藏層中的神經元數量通常等于訓練集中的模式數量。求和層執行求和操作,其中將模式層節點的輸出與適當的互連權值相乘以進行求和,從而生成網絡的輸出。輸出層節點由一個單獨輸出表示。

圖1 FOA-GRNN跟蹤算法框圖
改進FOA-GRNN架構的輸入是在特定時間實例從錨節點接收信號的RSSI值,其輸出為在該時刻移動節點估計的x軸和y軸坐標。在WSN節點定位中,錨點為已知自身位置的傳感器節點。而節點中,無線信號強度通常用接收信號強度指示(RSSI)衡量,RSSI為接收功率Pre與參考功率Pref的比值。現實中,由于無線信號的傳播易受障礙物、多徑傳播等因素的干擾,理想的Pre分布是不存在的,影響RSSI與距離的一致性。因此,接收多組數據之后進行卡爾曼濾波處理,一定程度上消除信號波動產生的誤差。
改進的FOA-GRNN的離散時間目標運動模型和觀測模型的形式如下:
(1)
dmax=max[di]
(2)
(3)
式中:N和M分別是當前迭代次數和最大迭代次數;xi和yi是第i個果蠅的橫坐標和縱坐標位置;di是第i個果蠅與坐標原點的距離;dmin和dmax分別是最大距離和最小距離;Δi是待優化選擇的寬度系數。
改進FOA-GRNN算法中,每個錨點可視為一只果蠅,即對初始位置初始化和果蠅位置賦值后,計算果蠅與原點之間的距離和果蠅的味道濃度,并根據果蠅的味道濃度尋找出最優個體,保存最優個體的位置。最后,根據收斂條件設置迭代次數,直到滿足迭代條件,該執行過程結束。主要步驟為:
(1) 對果蠅的初始位置進行初始化。
(2) 對第i個果蠅的位置進行賦值。
(3) 計算所有果蠅與坐標原點之間的距離di。
(4) 以均方根誤差作為判斷函數來計算第i個果蠅的味道濃度taste(x):
(4)
tastei=F3(Δi)
(5)

(5) 找到tastei最小的個體,即:
Ttaste=min(tastei)
(6)
式中:Ttaste為tastei最小的個體。
tastei最小的個體的位置為:
(7)
(6) 循環執行步驟(2)-步驟(5),直到滿足收斂條件,結束循環。
當底層系統是線性的,系統動力學中的噪聲是高斯的,具有零均值時,Cubature卡爾曼濾波(Cubature Kalman Filtering, CKF)采用spherical-radial cubature準則積分,則可計算第n個目標與坐標原點之間的距離dn為:
(8)
根據最小二乘法估計方法可得到:
A=(BTB)-1BTC
(9)
(10)
(11)
式中:A、B和C分別是狀態轉換、控制輸入轉換和測量轉換矩陣。
矩陣A將可選控制輸入向量Uk與狀態相關聯。這里Wk-1和Vk+1分別是過程噪聲和觀測噪聲,并且假設是正態分布的零均值白高斯,分別具有協方差Rk(Wk~N(0,Rk))和Ωk(Vk~N(0,Ωk))。假設這兩個噪聲彼此獨立,即它們是不相關的[15],對于等速模型,式(9)-式(11)中的矩陣如下:

(12)

(13)
CKF的運行可以描述為兩個簡單的步驟:預測和更新。預測步驟利用前一個時間步驟k的估計值來生成當前時間步驟k+1的估計值。而在更新步驟中,利用當前時間步驟的測量來細化預測步驟的預測,從而改進預測步驟。預測和更新中的計算式如式(14)-式(17)所示。
預測:
(14)
Ωk+1=BRkBT+Ωk
(15)
更新:
(16)
(17)
式中:矩陣K稱為卡爾曼增益矩陣;“^”表示狀態向量的估計值。
本文方法基于改進FOA-GRNN法,利用從錨點接收的模擬(RSSI)值和實際目標二維位置對GRNN進行訓練,從而獲得單個目標在二維運動時的準確初始位置。然后,利用迭代Cubature卡爾曼濾波法對實時目標進行精準定位和測距,獲得實時目標的準確定位和跟蹤信息。最后,將改進的FOA-GRNN法和迭代Cubature卡爾曼濾波法相結合實現在WSN中實時目標跟蹤和定位。其流程如圖2所示。

圖2 本文方法執行流程
本文方法利用 MATLAB搭建系統仿真模型,該系統由一組已知坐標的靜態錨節點組成,部署在200 m×200 m的仿真區域內,移動目標如圖3所示,外部為基站。假設移動目標攜帶1個WSN節點,該節點接收由每個時間步長tstep的所有錨節點廣播的無線信號。在每個時間步驟從所有錨點收集的RSSI值被發送到外部基站[16]。這意味著假定目標充當收發器,而錨定節點充當具有完全各向同性天線的發射器。

圖3 目標的在橫軸上的實際速度
為了簡單起見,將跟蹤目標限制在單個目標的估計上。該系統的運行時間為Trun,分為幾個時間段。選擇恒速模型描述各種狀態遷移模型,如隨機行走、勻速、恒加速度、多項式模型、辛格加速度模型、平均自適應加速度模型等。

(18)
(19)
式中:Δt是兩個連續時刻之間的離散化時間步長,使得Δt=tstep。目標運動在Trun期間經歷速度的變化,如式(20)-式(23)所示。
(20)
(21)
(22)
(23)
圖3和圖4分別給出了在橫軸和縱軸上的速度,負速度值表示目標移動到一個坐標值比前一次實例小的位置。

圖4 目標的在縱軸上的實際速度


(24)

(25)

平均定位誤差:
(26)
均方根誤差(RMSE):
(27)
(28)
(29)
本文算法的完整執行流程由三部分組成。第一部分是離線FOA-GRNN訓練階段,涉及FOA-GRNN的訓練。第二部分是使用FOA-GRNN的在線位置估計。第三部分是使用KF框架的在線位置估計。
表1給出了模擬參數,初始目標狀態為A=(20,15,10,5),離散時間步長為tstep=0.1 s,總模擬時長為Trun=50 s。

表1 本文算法的仿真參數
表2-表5給出了在不同tstep下Erroravg、ErrorU、ErrorV和ErrorRMSE,avg的模擬結果。圖5給出了平均定位誤差百分比Erroravg與均方根誤差百分比ErrorRMSE,avg的對比圖,可以看出,平均誤差百分比Erroravg與均方根誤差百分比ErrorRMSE,avg總體呈現一樣的變化趨勢,即隨著步長tstep的增加,平均誤差百分比Erroravg與均方根誤差百分比ErrorRMSE,avg都會逐漸增加,這意味著為了增加定位的精度,應該選擇較小的離散步長tstep。同時,從圖5中還可以得到一個結論:平均誤差與均方差誤差之間的差異性較小。因此,既可以用平均定位誤差來衡量定位準確度,又可以用均方差誤差來衡量定位準確度。

表2 平均定為誤差的模擬結果

表3 定位結果在橫軸上的均方差

表4 定位結果在縱軸上的均方差

表5 平均均方差

圖5 平均定位誤差百分比與均方根誤差百分比的對比
圖6展示了定位誤差在橫向和縱向上的分布,可以看出,隨著離散步長tstep的增加,橫向誤差和縱向誤差都會增加,當tstep小于0.5 s時,橫向誤差ErrorU小于縱向誤差ErrorV,當tstep大于0.5 s后,縱向誤差ErrorV小于橫向誤差ErrorU,并且ErrorU和ErrorV的差異較小。

圖6 橫向誤差與縱向誤差的對比
2.4.1絕對誤差對比
圖7對比了文獻[4]、文獻[8]和文獻[11]與本文算法的絕對誤差。可以看出,隨著離散步長tstep的增加,橫向絕對誤差會逐漸增加,相比于文獻[4]、文獻[8]和文獻[11]的算法,本文算法在絕大部分范圍內具有更低的橫向絕對誤差,這說明本文算法相比于傳統算法,具有更高的橫向定位和跟蹤精度。

圖7 算法橫向絕對誤差對比
圖8展示了本文算法所得到的縱向絕對誤差結果與文獻[4]、文獻[8]和文獻[11]中算法所得到的縱向絕對誤差的對比。可以看出,隨著離散步長tstep的增加,4種算法所得到的縱向絕對誤差會逐漸增加,相比于文獻[4]、文獻[8]和文獻[11]的算法,本文算法在絕大部分范圍內具有更低的縱向絕對誤差,這說明本文算法相比于傳統算法,具有更高的縱向定位和跟蹤精度。

圖8 算法縱向絕對誤差對比
圖9展示了本文算法所得到的絕對誤差結果與文獻[4]、文獻[8]和文獻[11]中算法所得到的絕對誤差的對比。可以看出,隨著離散步長tstep的增加,4種算法所得到的絕對誤差會逐漸增加,相比于文獻[4]、文獻[8]和文獻[11]的算法,本文算法在絕大部分范圍內具有更低的絕對誤差,這說明所提出的算法相比于傳統算法,具有更高的定位和跟蹤精度。

圖9 算法絕對誤差對比
2.4.2執行時間對比
一方面隨著離散步長tstep的增加,4種算法所得到的絕對誤差結果都會增加,這說明減小離散步長tstep可提高定位精度和準確度;另一方面,太小的離散步長tstep會增加定位算法的計算時間,導致定位和跟蹤的時間較長,不利于實際應用。
為了說明本文算法在計算時間上的優勢,圖10展示了本文算法與文獻[4]、文獻[8]和文獻[11]在離散步長tstep相等的前提下在200 m范圍內,對同等數量動態目標定位所花費的時間對比。

圖10 算法計算時間對比
可以看出,在相同的定位和跟蹤范圍內,即定位半徑為200 m的前提下,定位和跟蹤的目標數量由500個逐漸增加到5 000個。與文獻[4]、文獻[8]和文獻[11]相比,在執行時間上,本文算法整體處于劣勢。需要指出的是,在實際應用中,人們更加注重定位算法的準確度,因為定位誤差才是真正影響算法應用的瓶頸問題,換言之,算法的精確度才是首要考慮的因素。與文獻[8]和文獻[11]算法相比,本文算法雖然在執行時間上不具有全面優勢,但是一定范圍內能夠得到最小的執行時間,如當目標數量為2 500時,本文算法在定位精度和執行時間上均具有明顯的優勢。
綜合考慮定位算法的準確度和執行時間的對比結果,本文算法具有更好的綜合性能,在保證具有較短執行時間的基礎上,利用本文算法能夠獲得更高的定位準確度。
本文提出一種WSN中改進FOA-GRNN結合迭代Cubature卡爾曼濾波的實時目標跟蹤方法,研究了在大范圍定位和跟蹤區域下對大量定位和跟蹤目標進行準確定位和跟蹤的問題。本文方法提高了定位和跟蹤的準確度,降低了定位和跟蹤的誤差百分比和絕對誤差。
下一步研究重點包括:1) 將FOA-GRNN與其他更加智能的濾波算法相結合,進一步提高WSN中目標定位和跟蹤的精度;2) 繼續改進FOA-GRNN算法的計算結構,進一步降低本文算法在大規模目標定位和跟蹤上的計算時間。