0 引 言
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,定位WSN)是研究物聯(lián)網(wǎng)的感知層,通過(guò)節(jié)點(diǎn)形成數(shù)據(jù)收集、基于整理和傳送的無(wú)線系統(tǒng)。定位技術(shù)中的傳感位置信息在傳感器網(wǎng)絡(luò)中具有舉足輕重的地位,被應(yīng)用在諸多領(lǐng)域。基于 RSSI(Received Signal Strength Indicator,RSSI)的測(cè)距算法因無(wú)需額外的硬件且消耗能量更少而被廣泛用于無(wú)線傳感網(wǎng)絡(luò)定位。
1 RSSI 定位原理
RSSI 定位算法 :發(fā)射端發(fā)射無(wú)線信號(hào),接收端依據(jù)收到的信號(hào)計(jì)算出路徑消耗,再按照信號(hào)傳播模型,將路徑消耗轉(zhuǎn)變?yōu)槭瞻l(fā)端的距離,之后根據(jù)節(jié)點(diǎn)位置估算法計(jì)算未知節(jié)點(diǎn)的坐標(biāo)。
RSSI 定位過(guò)程包括 3 個(gè)階段,分別為測(cè)距階段、定位階段、修正階段 [1]。
2 RSSI 測(cè)距階段
2.1 測(cè)距建模
目前較多使用理論模型中的對(duì)數(shù) - 正態(tài)分布模型 :
式中 :PL(d)為距離發(fā)射節(jié)點(diǎn) d 處的信號(hào)強(qiáng)度 ;PL(d0)為參考距離 d0 處的信號(hào)強(qiáng)度 ;n 為路徑衰減指數(shù) ;Xσ 為均值為 0,方差為 σ 的高斯隨機(jī)變量。
有研究表明,環(huán)境中各種因素的影響,使得不同鏈路的路徑衰減指數(shù)不同 [2],為 RSSI 測(cè)距帶來(lái)了不同程度的誤差,因此采用在路徑衰減指數(shù)中加入高斯噪聲的誤差方法,得到改進(jìn)后的信號(hào)傳播模型 :
式中 :m 為均值為 0,方差為 σm 的高斯隨機(jī)變量。
2.2 定位數(shù)據(jù)預(yù)處理
由于實(shí)際定位環(huán)境中存在障礙物、噪聲和多徑效應(yīng)等影響因素,因此在使用接收到的信號(hào)強(qiáng)度 RSSI 值之前需進(jìn)行預(yù)處理。
(1)參考節(jié)點(diǎn)優(yōu)選策略 :接收到的 RSSI 值越大表明參考節(jié)點(diǎn)與未知節(jié)點(diǎn)間隔越近,信號(hào)衰減越小,所受環(huán)境干擾也越小 ;當(dāng) 3 個(gè)參考節(jié)點(diǎn)的位置組成近似等邊三角形時(shí),定位信息越準(zhǔn)確 [3]。對(duì)收到的 RSSI 值按從大到小的順序排列,選擇RSSI 值較大,且能夠與其他節(jié)點(diǎn)構(gòu)成或接近等邊三角形的節(jié)點(diǎn)參與定位。 (2)數(shù)據(jù)濾波 :為減小測(cè)距誤差,對(duì)于同一組節(jié)點(diǎn)獲取多組 RSSI 值,并對(duì)所得數(shù)據(jù)進(jìn)行濾波處理。濾波方法包括均值、中值、高斯、粒子、卡爾曼濾波等 [4]。
2.3 測(cè)量距離修正
使用建立好的無(wú)線信道傳播模型計(jì)算出未定位節(jié)點(diǎn)與已知節(jié)點(diǎn)間的初始距離,通過(guò)已知節(jié)點(diǎn)間的測(cè)量距離和真實(shí)距離得到測(cè)量誤差。未定位節(jié)點(diǎn)與已知節(jié)點(diǎn)之間的初始距離被校正后得到校正距離 [5]。設(shè)參考節(jié)點(diǎn)記為 Ri(xi,yi):
式中 :n 為 Ri 的鄰居參考節(jié)點(diǎn)個(gè)數(shù) ;rik(k=1,2,…,n,k ≠ i)為參考節(jié)點(diǎn) Ri 到其鄰居參考節(jié)點(diǎn)的實(shí)際距離 ;dik(k=1,2,…,n,k ≠ i)為參考節(jié)點(diǎn) Ri 到其鄰居參考節(jié)點(diǎn)的測(cè)量距離 ;μi 為參考節(jié)點(diǎn) Ri 處實(shí)際距離與測(cè)量距離的距離相對(duì)誤差。
式中 :dui 是未知節(jié)點(diǎn)和參考節(jié)點(diǎn) Ri 之間的測(cè)量距離 ;dcui 是未知節(jié)點(diǎn)和參考節(jié)點(diǎn) Ri 之間的修正距離。
3 RSSI 定位階段
根據(jù)校正距離和參考節(jié)點(diǎn)的坐標(biāo),使用三邊定位法、極大似然估計(jì)法、三角定位法估算出未知節(jié)點(diǎn)的初始位置 [6]。以上三種是比較常用的定位方法,還有其他改進(jìn)或更精確的方法。因?yàn)闊o(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)耗能有限、計(jì)算能力有限,在選擇定位方法時(shí)要考慮節(jié)點(diǎn)能量和計(jì)算復(fù)雜度。
4 RSSI 修正階段
對(duì)定位階段估算出的未知節(jié)點(diǎn)初始坐標(biāo)進(jìn)行修正,在不增加硬件成本的前提下,進(jìn)一步減小誤差,提高節(jié)點(diǎn)定位精確度,得到更加準(zhǔn)確的位置信息。
每個(gè)參與定位的參考節(jié)點(diǎn)都會(huì)對(duì)未知節(jié)點(diǎn)的坐標(biāo)產(chǎn)生不同的影響,權(quán)值就是描述這一影響的因子,常見(jiàn)的有
在監(jiān)測(cè)區(qū)域內(nèi)參考節(jié)點(diǎn)個(gè)數(shù)越多,未知節(jié)點(diǎn)的定位信息就越準(zhǔn)確 [10],對(duì)于已經(jīng)定位的未知節(jié)點(diǎn),只要符合參考節(jié)點(diǎn)優(yōu)選策略,就可以進(jìn)入下一輪定位。
5 算法仿真
用 Matlab 2015 對(duì)本文所提出的 RSSI 算法進(jìn)行測(cè)試,實(shí)驗(yàn)在 100 m×100 m 區(qū)域內(nèi),節(jié)點(diǎn)隨機(jī)分布。測(cè)試結(jié)果顯示,該算法最大限度地改善了定位誤差。
6 結(jié) 語(yǔ)
本文從 RSSI 定位過(guò)程的三個(gè)階段系統(tǒng)分析了定位的具體實(shí)現(xiàn)方法以及存在的問(wèn)題,并給出改進(jìn)措施。對(duì)于一些改進(jìn)方式的選擇要依據(jù)具體情況而定,只有綜合考慮定位的全過(guò)程,才能從根本上提高定位精度,提供更加準(zhǔn)確的位置信息。