摘 要:針對擴(kuò)展卡爾曼濾波(EKF)在機(jī)動目標(biāo)跟蹤中傳感器對機(jī)動目標(biāo)進(jìn)行測距時存在的噪聲問題,提出了一種基于改進(jìn)RSSI測距的WSN機(jī)動目標(biāo)跟蹤算法。首先,利用魚鷹優(yōu)化算法迭代尋優(yōu)適合BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值;其次,將傳感器的接收信號強(qiáng)度值作為神經(jīng)網(wǎng)絡(luò)的輸入值,距離作為輸出值對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練;最后,利用擴(kuò)展卡爾曼濾波算法進(jìn)行定位跟蹤,利用勻速圓周運(yùn)動模型(CM)進(jìn)行濾波跟蹤。使用EKF算法和RSSI算法與文中算法進(jìn)行比較,以均方根誤差為評價指標(biāo)。經(jīng)過仿真實驗對比表明,所提算法相較于上述算法均方根誤差分別降低了21%和56%。
關(guān)鍵詞:WSN機(jī)動目標(biāo)跟蹤;BP神經(jīng)網(wǎng)絡(luò);魚鷹優(yōu)化算法;擴(kuò)展卡爾曼濾波;RSSI測距;濾波跟蹤
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2024)08-00-05
DOI:10.16667/j.issn.2095-1302.2024.08.009
0 引 言
WSN是一種綜合智能信息系統(tǒng),集信息采集、傳輸和處理于一體,是構(gòu)建新一代分布式處理系統(tǒng)的有力工具。在WSN中,目標(biāo)跟蹤是一個重要的應(yīng)用領(lǐng)域。由于傳感器節(jié)點體積小、價格低廉,通常采用無線通信方式以及WSN隨機(jī)部署,具有自組織性、魯棒性和隱蔽性等特點,非常適合于定位和跟蹤移動目標(biāo)。目前實現(xiàn)WSN目標(biāo)跟蹤的方法主要是通過定位得到目標(biāo)軌跡?,F(xiàn)有定位算法根據(jù)是否測距分為兩類:第一類為測距算法與非測距算法,測距算法主要包括角度和距離的測量,例如接收信號強(qiáng)度(RSSI)、到達(dá)時間(TOA)、到達(dá)時間差(TDOA)和到達(dá)角度(AOA)等。而非測距算法依賴于節(jié)點的連通性,如定位的跳數(shù),無需任何額外的硬件支持,典型的算法有DV-Hop算法、APIT算法等。這類算法通常具有較高的跟蹤實時性,但跟蹤精度較差。第二類為基于采樣數(shù)據(jù)預(yù)測得到跟蹤軌跡。常用的方法有兩種,其中一種為濾波算法,常見的濾波算法有卡爾曼濾波(KF)、擴(kuò)展卡爾曼濾波(EKF)、無跡卡爾曼濾波(UKF)、粒子濾波(PF)等。KF算法僅適用于線性系統(tǒng),EKF、UKF及PF算法等適用于非線性系統(tǒng);另一種為基于神經(jīng)網(wǎng)絡(luò)算法,例如BP網(wǎng)絡(luò)、RPF網(wǎng)絡(luò)、遺傳算法等,根據(jù)節(jié)點觀察到的目標(biāo)信息對目標(biāo)進(jìn)行預(yù)測跟蹤。此類算法雖對軌跡的跟蹤兼容性強(qiáng),但很難兼顧跟蹤精度和實時性要求。
針對跟蹤準(zhǔn)確性較差的問題,國內(nèi)外許多學(xué)者進(jìn)行了研究,文獻(xiàn)[1]提出了一種利用BP神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network)修正擴(kuò)展卡爾曼濾波器從而提高跟蹤準(zhǔn)確性的方法。但是BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值都是隨機(jī)生成的,往往會造成較大的預(yù)測誤差。文獻(xiàn)[2]提出了一種基于RSSI測距模型修正的EKF跟蹤算法,但RSSI測距不穩(wěn)定,會嚴(yán)重影響跟蹤的準(zhǔn)確性。文獻(xiàn)[3]提出了利用粒子群優(yōu)化算法修正擴(kuò)展卡爾曼濾波器的協(xié)方差矩陣來達(dá)到提升跟蹤精準(zhǔn)度的目的。但是粒子群算法在處理動態(tài)環(huán)境問題時,可能會出現(xiàn)適應(yīng)度函數(shù)變化速度快的情況,使算法無法適應(yīng)變化,導(dǎo)致在噪聲值較大的非線性運(yùn)動模型下無法取得良好的跟蹤效果[4]。
在實際運(yùn)用過程中,機(jī)動目標(biāo)通常都以非線性運(yùn)動模式來運(yùn)動,因此在跟蹤過程中存在很大困難。目前,在現(xiàn)有傳感器觀測模型中,通常采用直接測距的方式,而直接測距的方式往往會產(chǎn)生較大的誤差;且在實際運(yùn)用中,直接測距并不能準(zhǔn)確測量出傳感器到目標(biāo)的距離。同時,采樣數(shù)據(jù)的精確性也直接影響著跟蹤的精準(zhǔn)度[5]。所以,文中提出了一種基于改進(jìn)RSSI測距的WSN機(jī)動目標(biāo)跟蹤算法。首先利用魚鷹優(yōu)化算法迭代尋優(yōu)適合BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,將傳感器的接收信號強(qiáng)度作為神經(jīng)網(wǎng)絡(luò)的輸入值,將距離值作為輸出值,得到機(jī)動目標(biāo)與傳感器之間的節(jié)點距離;之后通過EKF算法迭代預(yù)測得到目標(biāo)的跟蹤軌跡。通過對比標(biāo)準(zhǔn)的EKF和RSSI算法,發(fā)現(xiàn)文中算法的跟蹤誤差相較于以上兩種算法的跟蹤誤差更小,具有更好的實用性和跟蹤準(zhǔn)確性[6-7]。
1 傳感器的觀測模型
針對WSN區(qū)域內(nèi)的跟蹤問題,假設(shè)傳感器網(wǎng)絡(luò)中傳感器都為同一型號,傳感器采用的觀測模型如下:
(1)
(2)
式中:(x, y)為目標(biāo)在t時刻的位置;(xi, yi)為傳感器i的位置;ui為協(xié)方差Q生成的隨機(jī)噪聲;ri為觀測噪聲。
由式(1)和式(2)可知,傳統(tǒng)的機(jī)動目標(biāo)測距模型易受到隨機(jī)噪聲的干擾,而在機(jī)動目標(biāo)跟蹤的過程中,噪聲大小往往無法提前獲知。采用傳統(tǒng)的測距模型會導(dǎo)致傳感器在環(huán)境噪聲未知的情況下,觀測準(zhǔn)確性下降。同時,該測距模型采用直接測距的方法,此方法往往過于理想,并不能在實際測距中獲得較好效果[8]。所以,文中提出了一種基于OOA-BP的RSSI測距模型取代傳統(tǒng)的測距模型。
2 改進(jìn)策略
2.1 RSSI測距模型及干擾分析
RSSI是指未知節(jié)點接收到錨節(jié)點發(fā)送的能量信號強(qiáng)度。在信號傳播過程中,能量會因為距離的增加而逐漸減弱,存在信號損耗。因此也就有了信號損耗模型,常見的信號損耗模型主要有自由空間傳播模型、對數(shù)-常態(tài)分布模型等[9]。信號傳輸模型如圖1所示。
相對于自由空間傳播模型,對數(shù)-常態(tài)分布模型具有更準(zhǔn)確、更適用于復(fù)雜環(huán)境、更好的預(yù)測性能和更好的系統(tǒng)性能等優(yōu)勢[10]。因此文中選擇對數(shù)-常態(tài)分布模型作為研究對象,見式(3):
(3)
式中:P(d)是在參考距離d處的接收信號強(qiáng)度;一般P(d0)取值為1,代表傳播1 m后的路徑傳播損耗;Xσ是隨機(jī)變量,表示其他因素對信號強(qiáng)度的影響。
RSSI測距指將未知節(jié)點收到來自其對應(yīng)錨節(jié)點的RSSI值,利用公式(4)轉(zhuǎn)換成兩者之間的距離:
(4)
式中:A為1 m處的信號強(qiáng)度值;n為信號傳輸常數(shù),與環(huán)境有關(guān)。其中,A和n的取值,見表1所列。
傳統(tǒng)的測距模型選取固定的A和n值,利用RSSI(d)轉(zhuǎn)換公式得出距離。根據(jù)表1可知,不同的環(huán)境參數(shù)值下得到的距離值差別較大,從而影響了最終的定位效果。
2.2 BP神經(jīng)網(wǎng)絡(luò)算法
BP神經(jīng)網(wǎng)絡(luò)是一種監(jiān)督學(xué)習(xí)算法,根據(jù)Kolmogorov定理可推斷出任何連續(xù)的函數(shù)都可以用一個三層的BP神經(jīng)網(wǎng)絡(luò)實現(xiàn),其主要結(jié)構(gòu)包括輸入層、隱藏層和輸出層,每個層都由多個神經(jīng)元節(jié)點組成。BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程是信號的前向傳播和誤差的反向傳播[11-12]。BP神經(jīng)網(wǎng)絡(luò)模型如圖2所示。
第一階段為正向傳播。首先將每個輸入的RSSI值與其對應(yīng)的權(quán)值相乘。權(quán)值是在模型訓(xùn)練之前隨機(jī)生成的一個數(shù)值,用于表示輸入對輸出的重要程度。其次將每個乘積的結(jié)果與其對應(yīng)的偏置向量相加,偏置向量也是在模型訓(xùn)練之前隨機(jī)生成的一個數(shù)值,用于調(diào)整整體輸出的偏移量,計算公式見式(5):
(5)
式中:Ij為凈輸入值;Wij為神經(jīng)元j到神經(jīng)元i的權(quán)值;Oi為輸入值,此處為輸入的RSSI值;Bj為偏置向量。
將得到的結(jié)果Ij代入式(6),利用sigmoid激活函數(shù)計算,得到輸出的距離值:
(6)
式中:Oj為神經(jīng)網(wǎng)絡(luò)中的輸出值,此處為神經(jīng)網(wǎng)絡(luò)預(yù)測的距離值。
第二階段為反向傳播。目的是對神經(jīng)網(wǎng)絡(luò)的輸出距離和真實距離之間的誤差進(jìn)行分析,該誤差為神經(jīng)網(wǎng)絡(luò)在當(dāng)前狀態(tài)下的性能表現(xiàn)。通過調(diào)整網(wǎng)絡(luò)的權(quán)重和偏差實現(xiàn)誤差最小化,以提高網(wǎng)絡(luò)性能,式(7)為算法誤差函數(shù):
(7)
式中:Tj為真實的距離值。
通過式(7)計算出最后一層的誤差,然后將該誤差利用梯度下降法進(jìn)行反向傳播,將后一層的誤差通過權(quán)重矩陣傳遞到上一層,計算每個神經(jīng)元的誤差,根據(jù)誤差和學(xué)習(xí)率更新每個神經(jīng)元的權(quán)值和閾值。使用更新后的權(quán)值和閾值再次進(jìn)行正向傳播,計算輸出的距離值,直到輸出的距離值和真實距離值之間的誤差小于設(shè)置的閾值為止,否則將一直循環(huán)更新權(quán)值和閾值[13-14]。
(8)
(9)
式中:W'ij為權(quán)重的更新量;B'j為偏置更新量;l為學(xué)習(xí)率,取值范圍為(0, 1)。
2.3 OAA-BP算法
針對BP神經(jīng)網(wǎng)絡(luò)隨機(jī)生成的權(quán)值和閾值以及因隨機(jī)選擇性導(dǎo)致BP神經(jīng)網(wǎng)絡(luò)算法收斂速度慢的問題,文中采用魚鷹優(yōu)化算法(Osprey Optimization Algorithm, OOA)來尋找最優(yōu)的初始權(quán)值和閾值,在降低測距誤差的同時提升算法的收斂速度。
魚鷹優(yōu)化算法是一種基于魚鷹行為的優(yōu)化算法,該算法通過模擬魚鷹獵食行為來尋優(yōu),具有尋優(yōu)能力強(qiáng)、收斂速度快等特點。算法具體步驟如下。
(1)初始化
在OOA中,初始化魚鷹種群位置的計算見式(10):
(10)
式中:xi, j為魚鷹個體;ubj為尋優(yōu)的上邊界;lbj為尋優(yōu)的下邊界;r為[0, 1]區(qū)間的隨機(jī)值。
(2)探索階段
魚鷹由于其強(qiáng)大的視力,能夠探測水下魚類的位置。在確定了魚的位置后,它們攻擊并在水下捕魚。OOA中種群更新的第一階段是基于對魚鷹這種自然行為的模擬而建模。對魚鷹攻擊魚類的建模會導(dǎo)致魚鷹在搜索空間中的位置發(fā)生顯著變化,這增強(qiáng)了OOA在識別最佳區(qū)域和逃離局部最優(yōu)方面的探索能力。
每只魚鷹的魚組用式(11)指定:
(11)
式中:FPi為第i個魚鷹個體的位置;Xbest為最佳魚鷹的個體位置;Fk是目標(biāo)函數(shù)值;Fi是第i個魚鷹所獲得的目標(biāo)函數(shù)值;Xk是魚鷹位置的總體矩陣。
魚鷹隨機(jī)檢測到其中一條魚的位置并攻擊。在模擬魚鷹向魚移動的基礎(chǔ)上,使用式(12)和式(13)計算相應(yīng)魚鷹的新位置。如果該新位置更優(yōu),則根據(jù)式(14)替換魚鷹的先前位置。
(12)
(13)
(14)
式中:t為迭代次數(shù)。
OOA中種群更新的第二階段將魚帶到合適位置建模導(dǎo)致魚鷹在搜索空間中的位置發(fā)生微小變化,使OOA在局部搜索中的利用能力增強(qiáng),并在發(fā)現(xiàn)的解決方案附近收斂得到更好的解決方案[15-16]。
在OOA算法中,為了模擬魚鷹的這種自然行為,對種群中的每個成員,使用式(15)和式(16)計算一個新的隨機(jī)位置作為“適合食用的位置”。如果目標(biāo)函數(shù)的值在這個新位置上得到改善,則根據(jù)式(17)替換相應(yīng)魚鷹的先前
位置。
(15)
(16)
(17)
在針對傳統(tǒng)信號傳播路徑損耗模型過度依賴于信號強(qiáng)度A和信號傳輸常數(shù)n的問題上,利用魚鷹算法動態(tài)優(yōu)化算法迭代尋優(yōu)適合BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值。
3 仿真實驗及分析
3.1 機(jī)動目標(biāo)運(yùn)動模型建模
在進(jìn)行性能測試時,主要針對勻速圓周運(yùn)動模型。勻速圓周運(yùn)動模型的運(yùn)動狀態(tài)方程如下:
(18)
(19)
(20)
式中:wk為狀態(tài)方程中的系統(tǒng)噪聲;Δt為采樣周期。
3.2 WSN測距模型建模
針對WSN區(qū)域內(nèi)的跟蹤問題,假設(shè)傳感器網(wǎng)絡(luò)中的傳感器均為同一型號,傳感器采用的觀測模型如下:
(21)
式中:Pi(k+1)為目標(biāo)節(jié)點i的發(fā)送信號強(qiáng)度;Ri, j為點i,j之間的幾何距離;α表示衰減因子,根據(jù)環(huán)境和大氣條件,其取值范圍為2~5。
3.3 仿真條件
在100 m×100 m的無線傳感器網(wǎng)絡(luò)監(jiān)控區(qū)域內(nèi)隨機(jī)布置30個傳感器,傳感器的通信半徑設(shè)為30 m,采樣周期設(shè)為0.1 s,采樣點數(shù)設(shè)為50。
OOA算法中,種群數(shù)量M設(shè)為30個,算法最大迭代次數(shù)設(shè)為50次。
在仿真實驗中,將RMSE作為衡量跟蹤效果的標(biāo)準(zhǔn),公式如下:
(22)
式中:RMSE為節(jié)點的歸一化平均定位誤差;為t時刻預(yù)估坐標(biāo);(xi, yi)為實際未知節(jié)點坐標(biāo)。
3.4 仿真結(jié)果
3.4.1 測距誤差分析
首先利用隨機(jī)函數(shù)生成500個隨機(jī)數(shù)作為實驗距離值,取A=-45 dBm、n=2,代入式(4)計算其對應(yīng)的RSSI值,然后按照11∶1的比例隨機(jī)選擇550對數(shù)據(jù)作為各神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)集,50對數(shù)據(jù)作為測試集,其中信號強(qiáng)度作為輸入值,距離值作為輸出值。采用4種不同的神經(jīng)網(wǎng)絡(luò),即GA-BP、WOA-BP、BP神經(jīng)網(wǎng)絡(luò)和文中的OAA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行實驗。OOA-BP的參數(shù)設(shè)置中鯨魚的種群數(shù)量為30、最大迭代次數(shù)為50次,在回歸值為0.98、隱藏層個數(shù)為11的條件下進(jìn)行實驗。
以測距之差Δn為評價指標(biāo),得到測距誤差對比見表2所列。
Δn=|d測試-d| (23)
式中:d測試分別為OOA-BP、WOA-BP、BP、GA-BP神經(jīng)網(wǎng)絡(luò)輸出的預(yù)測距離值;d為真實距離值。
由表2可以看出,OOA-BP測距的平均誤差為0.04 m,OOA-BP測距的最小誤差為0.027 0 m,最大測距誤差為
0.05 m;GA-BP測距的最小誤差為0.147 m,最大測距誤差為0.410 6 m,平均測距誤差為0.277 1 m;BP測距誤差的最小誤差為0.776 8 m,最大測距誤差為1.085 1 m,平均測距誤差為0.885 7 m。證明OOA-BP具有更好的穩(wěn)定性和測距精度。
3.4.2 跟蹤誤差分析
軌跡的x方向初始值為35 m處,y方向初始值設(shè)置為10 m處,x方向和y方向的速度初始值設(shè)為5 m/s,Ω設(shè)置為0.122。
通過上述過程建立目標(biāo)模型并且設(shè)置仿真的初始條件后,使用文中算法對軌跡進(jìn)行跟蹤。為了驗證文中算法的有效性,使用該算法和EKF算法、RSSI算法對機(jī)動目標(biāo)跟蹤進(jìn)行了100次重復(fù)實驗,使用RMSE(均方根誤差)作為評價算法性能的標(biāo)準(zhǔn)。表3為3種算法的跟蹤誤差對比,仿真結(jié)果表明,在跟蹤精度和誤差方面,各算法的優(yōu)劣順序依次為文中算法、EKF算法、RSSI算法。
目標(biāo)跟蹤軌跡二維空間軌跡對比如圖3所示。由圖3和表3可知,文中算法的跟蹤軌跡和真實軌跡幾乎重合,跟蹤軌跡的均方根誤差僅為0.552 4。由此可見,利用文中算法對非線性模型目標(biāo)進(jìn)行跟蹤是有效的。
圖4為3種算法的位置誤差對比圖,由表3和圖4可知,與EKF算法和RSSI算法相比,文中算法的位置和均方根誤差相較于以上2種算法均有所下降??梢钥闯鑫闹兴惴ㄔ诜蔷€性運(yùn)動系統(tǒng)中具有較好的跟蹤性能。
4 結(jié) 語
文中提出了一種基于改進(jìn)RSSI測距的WSN機(jī)動目標(biāo)跟蹤算法,利用基于OOA-BP神經(jīng)網(wǎng)絡(luò)的RSSI測距模型取代傳統(tǒng)測距模型,將傳感器的接收信號強(qiáng)度值作為神經(jīng)網(wǎng)絡(luò)的輸入值,距離作為輸出值進(jìn)行訓(xùn)練。利用勻速圓周運(yùn)動模型(CM)進(jìn)行濾波跟蹤,證明該算法的有效性。使用EKF算法、RSSI算法與本文算法進(jìn)行比較,得到位置的均方根誤差曲線。經(jīng)過對比表明,所提算法相較于其他兩種算法均方根誤差均大幅下降。
參考文獻(xiàn)
[1]部德強(qiáng).神經(jīng)網(wǎng)絡(luò)校正EKF在定位追蹤中的應(yīng)用[J].導(dǎo)航定位學(xué)報,2021,9(6):84-89.
[2]李化,朱鉀.一種基于EKF的WSN目標(biāo)跟蹤改進(jìn)算法[J].山西大學(xué)學(xué)報(自然科學(xué)版),2017,40(4):743-749.
[3]李磊,蘇中,王一靜,等.基于粒子群優(yōu)化的擴(kuò)展卡爾曼濾波飛行器軌跡跟蹤算法[C]// 第三十三屆中國仿真大會論文集.北京:[出版者不詳],2021:64-69.
[4] MOSLEH M F,ZAITER M J,HASHIM A H.Position estimation using trilateration based on TOA/RSS and AOA measurement [J]. Journal of physics: conference series,2021(1):012002.
[5]崔玉強(qiáng).無線傳感器網(wǎng)絡(luò)節(jié)點定位和目標(biāo)跟蹤算法研究[D].哈爾濱:哈爾濱工程大學(xué),2021.
[6]魏穎,郭魯.基于改進(jìn)布谷鳥粒子濾波算法的WSN目標(biāo)跟蹤[J].計算機(jī)測量與控制,2022,30(7):273-279.
[7]劉松旭,張大鵬,烏云娜,等.基于RSSI模型的無線傳感器網(wǎng)絡(luò)定位算法[J].計算機(jī)仿真,2022,39(1):427-431.
[8] MUNADHIL Z,GHARGHAN S K, MUTLAG A H,et al. Neural network-based alzheimer’s patient localization for wireless sensor network in an indoor environment [J]. IEEE access, 2020,8:150527-150538.
[9]邱玉康.大規(guī)模WSN中節(jié)點定位與目標(biāo)跟蹤技術(shù)研究[D].成都:電子科技大學(xué),2022.
[10]韓光,高緒明.基于WSN的無人值守變電站定位跟蹤算法[J].自動化技術(shù)與應(yīng)用,2021,40(5):63-67.
[11]楊艷芳,王偉,王召巴.基于WSN室內(nèi)定位的路徑損耗模型參數(shù)算法研究[J].電子測量技術(shù),2021,44(13):54-58.
[12]郭靜,王學(xué)成,袁春萍.基于Kalman濾波的無線傳感器網(wǎng)絡(luò)多目標(biāo)跟蹤[J].信息技術(shù),2017,41(7):103-106.
[13]張?zhí)煊?無線傳感網(wǎng)絡(luò)的目標(biāo)跟蹤技術(shù)[J].電子技術(shù)與軟件工程,2021,28(7):41-42.
[14]李鑫,劉楊,劉立業(yè). WSNs中一種基于強(qiáng)化學(xué)習(xí)的跟蹤調(diào)度算法[J].無線電工程,2023,53(5):1221-1227.
[15]壽向晨,杜嘉迪. WSN中一種改進(jìn)的目標(biāo)跟蹤方法[J].無線電工程,2012,42(4):1-5.
[16]王祺堯,馮輝,胡波,等.無線傳感網(wǎng)跟蹤任務(wù)中的目標(biāo)運(yùn)動模型估計與節(jié)點調(diào)度[J].復(fù)旦學(xué)報(自然科學(xué)版),2019,58(2):221-230.
收稿日期:2023-08-22 修回日期:2023-09-28
基金項目:國家自然科學(xué)基金(62265010);國家自然科學(xué)基金(62061204);蘭州理工大學(xué)博士基金(061905)
作者簡介:彭 鐸(1976—),男,博士,蘭州理工大學(xué)副教授,碩導(dǎo),主要研究方向為無線傳感器網(wǎng)絡(luò)、光纖網(wǎng)絡(luò)、無線通信。
謝 (2000—),男,蘭州理工大學(xué)通信工程專業(yè)研究生,主要研究方向為無線傳感器網(wǎng)絡(luò)目標(biāo)跟蹤。
劉明碩(2000—),男,蘭州理工大學(xué)通信工程專業(yè)研究生,主要研究方向為無線傳感器網(wǎng)絡(luò)定位。