程良 張永強(qiáng) 趙正健 李璐
關(guān)鍵詞:二次柵格掃描;RSSI;卡爾曼濾波
中圖分類號:TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號:1009-3044(2023)10-0096-03
0 引言
隨著當(dāng)下科學(xué)技術(shù)的不斷發(fā)展,各行各業(yè)都在享受著互聯(lián)網(wǎng)帶來的便捷性。對于目標(biāo)位置的重要性不言而喻。無線傳感器網(wǎng)絡(luò)是由許多帶有功率接收功能的傳感器節(jié)點(diǎn)組成,通過自組網(wǎng)方式能夠形成一個(gè)穩(wěn)定、健壯的網(wǎng)絡(luò)[1]。利用該網(wǎng)絡(luò)可實(shí)現(xiàn)目標(biāo)對象的定位。相比于傳統(tǒng)定位方式,無線傳感器網(wǎng)絡(luò)所形成的定位方式具有價(jià)格低廉,穩(wěn)定性強(qiáng)等優(yōu)點(diǎn)。但定位精度一直是無線定位算法發(fā)展的一個(gè)瓶頸。根據(jù)定位算法原理的不同可以將其分為兩類,測距以及非測距的方式[2]。其中基于測距過于依賴硬件,導(dǎo)致成本上升。非測距是目前主要的研究方向。但誤差較大,現(xiàn)在普遍的做法是利用各種算法進(jìn)行優(yōu)化,其中二次柵格掃描與質(zhì)心迭代定位算法相比于其他定位算法精度較高[3]。不過,該算法中大量使用了RSSI值進(jìn)行運(yùn)算,致使實(shí)驗(yàn)存在累計(jì)誤差。本文通過優(yōu)化RSSI值來解決累計(jì)誤差對該算法產(chǎn)生的影響。
1 Grid-Scan 算法描述
Grid-Scan算法也稱作網(wǎng)格算法,是將各個(gè)錨節(jié)點(diǎn)的通信區(qū)域全部用小格子來填充。每個(gè)錨節(jié)點(diǎn)都可以接收通信區(qū)域內(nèi)各節(jié)點(diǎn)的坐標(biāo)和RSSI信息等[4]。未知節(jié)點(diǎn)是我們需要定位的節(jié)點(diǎn),將該未知節(jié)點(diǎn)周圍能夠與之通信的錨節(jié)點(diǎn)的通信圓分別畫出,再將重合區(qū)域用外接矩形表示出來并用ER標(biāo)識(shí),如圖1[5]。把該外接矩形中的小格子全部標(biāo)記成1,如圖2。
2 優(yōu)化算法
2.1優(yōu)化RSSI 值
2.1.1 RSSI 的測距模型
信號在傳播過程中,距離的變化會(huì)導(dǎo)致接收信號強(qiáng)度的變化,利用這個(gè)變化可以得到信號強(qiáng)度的衰減與距離的關(guān)系。目前普遍以shadowing模型為基礎(chǔ)來得到相應(yīng)的傳播模型。用以下公式表示。
3 仿真實(shí)驗(yàn)
3.1 實(shí)驗(yàn)設(shè)計(jì)
本文以Matlab為仿真工具,通過隨機(jī)網(wǎng)絡(luò)拓?fù)浞绞絹砟M現(xiàn)實(shí)場景中的定位情況,以此來分析改進(jìn)算法與其他算法之間的定位誤差。將文中所提出的改進(jìn)算法稱為RSSTG-TCLLA算法,二次柵格掃描與三角質(zhì)心迭代算法稱為TGTCL-LA,二次柵格掃描算法記為Grid-scan 算法,文獻(xiàn)[4]中的算法稱為VGridscan算法。利用式(14)來計(jì)算歸一化平均定位誤差。
3.2 通信半徑對定位誤差的影響
設(shè)節(jié)點(diǎn)個(gè)數(shù)為200個(gè),錨節(jié)點(diǎn)個(gè)數(shù)為30個(gè),柵格邊長為2米,仿真結(jié)果如圖4所示。
由圖4可以得到,四種算法隨著通信半徑的增大,定位誤差均在減小。其中RSSTG-TCLLA算法的平均定位誤差相對于TG-TCLLA算法,VGrid-scan算法,Grid-scan 算法分別減少了8.65%,11.59% 以及13.6%。
3.3 節(jié)點(diǎn)個(gè)數(shù)對定位誤差的影響
設(shè)節(jié)點(diǎn)個(gè)數(shù)為N、錨節(jié)點(diǎn)個(gè)數(shù)為0.3N、通信半徑為20米、柵格邊長為2米。
由圖5可得,當(dāng)其他條件不變時(shí),節(jié)點(diǎn)個(gè)數(shù)越多,整體定位誤差就會(huì)越小,相比于Grid-scan 算法、VGrid-Scan 算法、TG-TCLLA 算法,文中提出的RSSTG-TCLLA 算法在平均定位誤差上分別減小了14.72%、12.35%以及10.28%。
3.4 錨節(jié)點(diǎn)個(gè)數(shù)對定位誤差的影響
設(shè)節(jié)點(diǎn)總數(shù)為200個(gè),通信半徑為20米,柵格長2 米,錨節(jié)點(diǎn)作為整個(gè)定位區(qū)域的參考點(diǎn),它的數(shù)量直接決定著整體的定位性能。
由圖6得,文中所提RSSTG-TCLLA算法與Gridscan算法、VGrid-Scan算法、TG-TCLLA算法相比,平均定位誤差分別減小了11.2%,9.6%以及5.8%。
3.5 柵格邊長對定位誤差的影響
設(shè)節(jié)點(diǎn)個(gè)數(shù)為200,通信半徑為20米,錨節(jié)點(diǎn)為30個(gè),隨機(jī)拓?fù)涔?jié)點(diǎn)網(wǎng)絡(luò)。
如圖7所示,隨著柵格邊長的減小,算法的定位誤差也在降低。文中提到的RSSITG-TCLLA算法相比較于Grid-scan算法、VGrid-Scan算法以及TG-TCLLA 算法在平均定位誤差上減小了9.56%,7.68% 以及3.25%。
4 結(jié)束語
由于二次柵格掃描與三角質(zhì)心迭代定位算法,都是以節(jié)點(diǎn)的RSSI值為基礎(chǔ)進(jìn)行運(yùn)算,所以保證RSSI 值正確與穩(wěn)定是決定整個(gè)實(shí)驗(yàn)準(zhǔn)確性的必要條件。常規(guī)的濾波方式對RSSI值的優(yōu)化能力有限,同時(shí)不能解決RSSI中的極端數(shù)據(jù)問題。普通卡爾曼濾波算法也存在自身發(fā)散性問題,進(jìn)而影響RSSI值的準(zhǔn)確性。本文采用改進(jìn)型卡爾曼濾波方式不僅能解決極端數(shù)據(jù)問題,同時(shí)引入漸消因子消除了卡爾曼自身帶來的累積誤差。從而提高了柵格掃描的精度范圍,使整個(gè)網(wǎng)絡(luò)的定位效果更精確。