陳燕+楊永雙
摘要:對無線傳感器網(wǎng)絡(luò)定位中常用的質(zhì)心算法進(jìn)行了改進(jìn)。改進(jìn)算法將盲節(jié)點(diǎn)接收到的RSSI數(shù)據(jù)轉(zhuǎn)換為距離,并將距離作為錨節(jié)點(diǎn)權(quán)值,從而估計(jì)出盲節(jié)點(diǎn)的坐標(biāo)位置。仿真結(jié)果表明,改進(jìn)算法提高了定位精度,降低了定位誤差,且沒有增添系統(tǒng)通信負(fù)擔(dān)及計(jì)算量。
關(guān)鍵詞:WSN定位;RSSI;加權(quán)質(zhì)心算法DOI:10.11907/rjdk.162748中圖分類號:TP312文獻(xiàn)標(biāo)識碼:A
文章編號:16727800(2017)004004103
0引言
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)由大量傳感器節(jié)點(diǎn)構(gòu)成,通過各類傳感器完成監(jiān)測對象信息的感知、采集和傳輸。WSN應(yīng)用范圍非常廣,涉及工業(yè)控制、農(nóng)業(yè)控制、環(huán)境監(jiān)測、醫(yī)療監(jiān)護(hù)、智能家居、倉儲物流等諸多領(lǐng)域,具有廣闊的產(chǎn)業(yè)發(fā)展前景[1]。傳感器節(jié)點(diǎn)定位技術(shù)是WSN的關(guān)鍵技術(shù)之一,是一個(gè)重要的研究方向。 WSN定位算法分為兩類[2]:一類是基于測距的定位算法。該算法將接收到的信號強(qiáng)度(Received Signal Strength Indicator,RSSI)、到達(dá)時(shí)間(Time of Arrival,TOA)、到達(dá)時(shí)間差(Time Difference of Arrival,TDOA)、到達(dá)角度(Angle of Arrival, AOA)等信號參數(shù)轉(zhuǎn)化為距離,然后通過三邊法、三角法、極大似然估計(jì)法等計(jì)算出位置信息。這種算法需要測量未知節(jié)點(diǎn)和參考節(jié)點(diǎn)之間的距離或角度信息,因此基于測距的定位算法對傳感器節(jié)點(diǎn)硬件有要求,但定位精度較高;另一類是基于非測距的定位算法。該算法通過網(wǎng)絡(luò)的連通性和跳數(shù)來定位,需要較高密度的參考節(jié)點(diǎn)。常見的非測距定位算法有質(zhì)心算法、APIT算法、DV-HOP、MDS-MAP算法等等。 質(zhì)心算法[3]完全基于網(wǎng)絡(luò)連通性,誤差較大,是一種定位精度不高的算法,但是質(zhì)心算法非常簡單,計(jì)算量少,可用于對未知節(jié)點(diǎn)坐標(biāo)的簡單估計(jì)。本文研究了加權(quán)質(zhì)心定位算法,給出了改進(jìn)算法思路,并提出了一種改進(jìn)方法,通過實(shí)驗(yàn)仿真驗(yàn)證了該算法的有效性。
1質(zhì)心定位算法 質(zhì)心算法是基于網(wǎng)絡(luò)連通性的定位算法。該算法的定位思想為:將在盲節(jié)點(diǎn)通信范圍內(nèi)的錨節(jié)點(diǎn)組成一個(gè)多邊形,多邊形的質(zhì)心即為該盲節(jié)點(diǎn)的估計(jì)位置。從式(1)可以看出質(zhì)心定位算法非常簡單,且不需要增加額外的硬件設(shè)施。但盲節(jié)點(diǎn)是通過鄰居錨節(jié)點(diǎn)組成的多邊形質(zhì)心來確定自身的估計(jì)位置,因此算法的精確度與錨節(jié)點(diǎn)的密度有很大關(guān)系。當(dāng)鄰居錨節(jié)點(diǎn)數(shù)較少時(shí),定位精度會比較低。 質(zhì)心定位算法雖然估計(jì)出了未知節(jié)點(diǎn)的位置信息,但算法中所有錨節(jié)點(diǎn)的加權(quán)權(quán)值都一樣,沒有考慮到不同位置的錨節(jié)點(diǎn)對未知節(jié)點(diǎn)坐標(biāo)有不同的影響力,因此需對不同的錨節(jié)點(diǎn)加上不同的加權(quán)權(quán)值。加權(quán)質(zhì)心算法[3]計(jì)算公式為:
2距離損耗模型定位系統(tǒng)進(jìn)行距離測量時(shí),一般選用以下的距離損耗模型[4]:
其中,A表示射頻參數(shù),其定義是距離發(fā)射器1m處所接收信號平均能量的絕對值,用dBm表示,n為環(huán)境因子,d表示與發(fā)射節(jié)點(diǎn)之間的距離。由式(3)可將接收到的RSSI值轉(zhuǎn)換為距離d。
3加權(quán)質(zhì)心定位算法改進(jìn)為了進(jìn)一步提高定位精度,降低盲節(jié)點(diǎn)定位產(chǎn)生的誤差,同時(shí)不增加通信開銷,節(jié)約能耗,本文對加權(quán)定位算法作了進(jìn)一步改進(jìn)。
3.1未知節(jié)點(diǎn)誤差設(shè)未知節(jié)點(diǎn)i的真實(shí)坐標(biāo)為(x′,y′),通過定位算法得出估計(jì)坐標(biāo)為(x,y)。定位誤差使用相對定位誤差[5],定義為:
其中N為盲節(jié)點(diǎn)個(gè)數(shù),Ei為第i個(gè)盲節(jié)點(diǎn)定位誤差。
3.2改進(jìn)思路不同距離的錨節(jié)點(diǎn)對盲節(jié)點(diǎn)的定位影響是不同的,錨節(jié)點(diǎn)和盲節(jié)點(diǎn)距離越近,對盲節(jié)點(diǎn)定位的影響越大;距離越遠(yuǎn),對盲節(jié)點(diǎn)的定位影響越小。因此,可以通過錨節(jié)點(diǎn)與盲節(jié)點(diǎn)之間的RSSI值計(jì)算出錨節(jié)點(diǎn)和盲節(jié)點(diǎn)間的距離,以此作為每個(gè)錨節(jié)點(diǎn)坐標(biāo)對應(yīng)的加權(quán)權(quán)值,反映每個(gè)錨節(jié)點(diǎn)坐標(biāo)對質(zhì)心位置的影響程度。定義各個(gè)錨節(jié)點(diǎn)的加權(quán)因子ωi = SX(1dki SX),即各個(gè)錨節(jié)點(diǎn)的加權(quán)權(quán)值與它們距盲節(jié)點(diǎn)的距離成反比,距離越近,給予的權(quán)值越大;距離越遠(yuǎn),給予的權(quán)值越小。當(dāng)距離指數(shù)k取不同值時(shí),可得到如圖2所示的曲線。圖2的仿真環(huán)境:在200m×200m區(qū)域內(nèi),40個(gè)錨節(jié)點(diǎn)和200個(gè)盲節(jié)點(diǎn)隨機(jī)分布,節(jié)點(diǎn)的通信半徑設(shè)為20m,k從0.1~5,步長取0.1。從圖2可以看出,當(dāng)指數(shù)k在2附近時(shí)定位誤差最小。k越大,距離盲節(jié)點(diǎn)最近的錨節(jié)點(diǎn)給予的權(quán)值也就越大,特別是大于2之后,盲節(jié)點(diǎn)就越接近該錨節(jié)點(diǎn),也就越可能遠(yuǎn)離盲節(jié)點(diǎn)的實(shí)際位置,這樣就加大了定位誤差。圖3是仿真運(yùn)行1 000次各指數(shù)出現(xiàn)誤差最小值的次數(shù)。經(jīng)統(tǒng)計(jì),誤差最小值95%出現(xiàn)在指數(shù)k=[1.9,2.0,2.1,2.2],考慮到方便計(jì)算,k取2,即加權(quán)系數(shù)ωi = SX(1d2i SX)。
3.3改進(jìn)算法步驟(1)錨節(jié)點(diǎn)周期性地向周圍環(huán)境發(fā)送節(jié)點(diǎn)ID、自身位置信息等。
3.4仿真分析本文采用Matlab軟件作為仿真平臺,仿真場景為一定區(qū)域內(nèi)隨機(jī)布置若干個(gè)傳感器節(jié)點(diǎn),所有傳感器節(jié)點(diǎn)均具有相同的結(jié)構(gòu)并且發(fā)射功率相同。圖4為其中的一個(gè)仿真環(huán)境,在100m×100m區(qū)域內(nèi),40個(gè)錨節(jié)點(diǎn)和200個(gè)盲節(jié)點(diǎn)隨機(jī)分布,節(jié)點(diǎn)的通信半徑設(shè)為20m。
圖5為節(jié)點(diǎn)的通信半徑變化時(shí)仿真程序運(yùn)行1000次的平均結(jié)果。仿真環(huán)境:200m×200m,60個(gè)錨節(jié)點(diǎn),240個(gè)盲節(jié)點(diǎn)。從圖5可以看出,當(dāng)加權(quán)指數(shù)取2時(shí),平均定位誤差最小。隨著通信半徑的增加,定位誤差會隨之減小,這是因?yàn)橥ㄐ虐霃降脑黾邮箙⑴c定位的錨節(jié)點(diǎn)數(shù)目增加,定位精度得到了提高。為當(dāng)錨節(jié)點(diǎn)數(shù)改變時(shí),仿真程序運(yùn)行1000次的平均結(jié)果如圖6所示。仿真環(huán)境:200m×200m環(huán)境,盲節(jié)點(diǎn)數(shù)為200個(gè),通信半徑為35m。從圖6可以看出,當(dāng)加權(quán)指數(shù)取2時(shí),平均定位誤差最小。隨著錨節(jié)點(diǎn)數(shù)的增加,定位誤差會隨之減小,這是因?yàn)殄^節(jié)點(diǎn)增加使參與定位的錨節(jié)點(diǎn)數(shù)目增加,定位精度得到了提高。
4結(jié)語 本文利用RSSI值和距離之間的轉(zhuǎn)換,將接收到的RSSI值轉(zhuǎn)換為距離,并以此為錨節(jié)點(diǎn)加權(quán)系數(shù),對質(zhì)心定位算法進(jìn)行了改進(jìn)。從仿真結(jié)果可以看出,本文提出的算法提高了定位精度,降低了定位誤差,且沒有增添系統(tǒng)通信負(fù)擔(dān),也沒有加大系統(tǒng)計(jì)算量。
參考文獻(xiàn)參考文獻(xiàn):[1]楊錚,吳陳沭,劉云浩.位置計(jì)算:無線網(wǎng)絡(luò)定位與可定位性[M].北京:清華大學(xué)出版社,2014.[2]劉鋒,章登義.基于RSSI的無線傳感器網(wǎng)絡(luò)質(zhì)心定位算法[J].計(jì)算機(jī)科學(xué),2012,39(6):9698.
[3]楊新宇,孔慶茹,戴湘軍.一種改進(jìn)的加權(quán)質(zhì)心定位算法[J].西安交通大學(xué)學(xué)報(bào),2010,44(8):14.
[4]朱明輝,張會清.基于RSSI的室內(nèi)測距模型的研究[J].傳感器與微系統(tǒng),2010,29(8):1922.
[5]吳磊,侯忠偉,許登元,等.無線傳感器網(wǎng)絡(luò)中基于錨節(jié)點(diǎn)功率調(diào)節(jié)的加權(quán)質(zhì)心定位算法[J].微電子學(xué)與計(jì)算機(jī),2012,29(10):177180.
(責(zé)任編輯:杜能鋼)