基于RSSI的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )距離修正定位算法
?、圻x取距離最近的3 個(gè)錨節點(diǎn);
?、芡ㄟ^(guò)式(4)計算三線(xiàn)交點(diǎn)D1 坐標;
?、莘謩e計算3 個(gè)錨節點(diǎn)與交點(diǎn)的距離;
?、尥ㄟ^(guò)式(5)計算總體修正系數;
?、咄ㄟ^(guò)式(6)分別計算各自的修正系數,然后通過(guò)式(7)計算修正后的距離;
?、嘣俅瓮ㄟ^(guò)式(4)計算修正后的三線(xiàn)交點(diǎn)D2 的坐標,D2的坐標即為點(diǎn)O 的近似值。
3 仿真分析
用MATLAB 進(jìn)行算法仿真,基本初始條件是無(wú)線(xiàn)傳感器網(wǎng)絡(luò )位于100 m×100 m 的區域內,該區域左下角為(0,0),右上角為(100,100)。區域內均勻部署4、9、16、25個(gè)錨節點(diǎn),其中部署16 個(gè)錨節點(diǎn)的位置如表1 所示。
未知節點(diǎn)隨機分布在區域內,路徑損耗系數設為2.4,每次仿真實(shí)驗進(jìn)行500 次,仿真結果取500 次的平均值,各次仿真實(shí)驗結果如表2 所示。
表1 16 個(gè)錨節點(diǎn)位置坐標
表2 仿真結果
從仿真結果可以看出,當錨節點(diǎn)數目較少時(shí),增加錨節點(diǎn)數量可以顯著(zhù)提高定位精度。路徑損耗系統對定位精度也有影響,路徑損耗系統越大,定位精度越高。從表2 可以看出,距離修正次數增多對定位精度沒(méi)有顯著(zhù)的影響,也就是說(shuō)一般情況下只需要進(jìn)行一次距離修正即可,采用距離修正與不采用距離修正相比,定位精度明顯提高。
4 結語(yǔ)
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )基于RSSI 測距的定位算法由于實(shí)現簡(jiǎn)單,應用十分廣泛。但由于RSSI 測距的精度不高,降低了節點(diǎn)定位精度。基于RSSI 的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )距離修正定位算法利用RSSI測距,通過(guò)確定相交區域近似質(zhì)心,以此為參考點(diǎn)對距離進(jìn)行修正,然后確定未知節點(diǎn)位置。仿真結果表明,該算法對測距誤差具有較高的容忍程度,并且具備很高的定位精度。如圖2 所示,三圓相交還存在無(wú)3 個(gè)交點(diǎn)的情況,下一步工作將詳細研究圖2所示各種情況對該算法的影響,從而對算法進(jìn)行改進(jìn)完善。
圖2 三圓相交區域無(wú)3 個(gè)交點(diǎn)的情況
評論