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