張 兢,史文進(jìn),李冠迪,張莉楠
(重慶理工大學(xué),重慶 400054)
無(wú)線(xiàn)傳感網(wǎng)絡(luò)中基于RSSI質(zhì)心定位的改進(jìn)算法
張 兢,史文進(jìn),李冠迪,張莉楠
(重慶理工大學(xué),重慶 400054)
節(jié)點(diǎn)定位是無(wú)線(xiàn)傳感網(wǎng)絡(luò)的關(guān)鍵技術(shù)之一,已經(jīng)在軍用,民用方面得到很廣泛的應(yīng)用。傳統(tǒng)的質(zhì)心定位算法依賴(lài)于網(wǎng)絡(luò)、錨節(jié)點(diǎn)的數(shù)量、節(jié)點(diǎn)分布,常常定位不到目標(biāo),致使定位誤差較大。為了提高定位精度,提出利用基于RSSI的質(zhì)心定位算法定位未知節(jié)點(diǎn),然后將已定位節(jié)點(diǎn)當(dāng)作錨節(jié)點(diǎn)對(duì)未定位節(jié)點(diǎn)進(jìn)行定位的改進(jìn)算法。對(duì)算法進(jìn)行仿真測(cè)試、分析驗(yàn)證,結(jié)果表明:定位誤差減小,定位精度明顯提高。
無(wú)線(xiàn)傳感器網(wǎng)絡(luò);節(jié)點(diǎn)定位;RSSI;質(zhì)心定位改進(jìn)算法
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)(wireless senor network,WSN)是由大量具有數(shù)據(jù)獲取能力、無(wú)線(xiàn)通信傳輸數(shù)據(jù)能力、數(shù)據(jù)處理能力的微型傳感器節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò)。在被監(jiān)測(cè)區(qū)域放置成千上萬(wàn)的微型傳感器節(jié)點(diǎn),節(jié)點(diǎn)之間相互通信,形成一個(gè)以無(wú)線(xiàn)連接傳輸方式的網(wǎng)絡(luò)。借助節(jié)點(diǎn)之間的協(xié)作感知或者對(duì)外部變化的監(jiān)視,可對(duì)采集的信息進(jìn)行預(yù)處理,同時(shí)通過(guò)基站將數(shù)據(jù)發(fā)送給用戶(hù)。利用WSN的信息獲取和處理技術(shù),在軍事國(guó)防、環(huán)境監(jiān)測(cè)、搶險(xiǎn)救災(zāi)、醫(yī)療衛(wèi)生和工農(nóng)業(yè)控制等領(lǐng)域具有十分廣闊的應(yīng)用前景[1-3]。無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的目標(biāo)位置識(shí)別、跟蹤或目標(biāo)定位是指通過(guò)分布區(qū)域內(nèi)節(jié)點(diǎn)的物理坐標(biāo)建立一個(gè)類(lèi)似于GPS衛(wèi)星定位無(wú)線(xiàn)傳感器網(wǎng)絡(luò)地圖[4]。
目前,無(wú)線(xiàn)傳感網(wǎng)絡(luò)的節(jié)點(diǎn)定位技術(shù)已經(jīng)成為其應(yīng)用領(lǐng)域的關(guān)鍵支撐技術(shù)之一。定位算法從定位手段上分兩大類(lèi),基于測(cè)距算法(range-based)和無(wú)需測(cè)距算法(range-free)。基于測(cè)距算法主要包括三邊法測(cè)量、三角測(cè)量或最大似然法[5]?;跍y(cè)距算法在處理實(shí)際節(jié)點(diǎn)間的距離時(shí)需要額外器件,導(dǎo)致系統(tǒng)功耗增加,但與無(wú)需測(cè)距算法相比較,其定位精度更高。
在WSN中,節(jié)點(diǎn)向周?chē)従庸?jié)點(diǎn)發(fā)送信息,必須確定自身節(jié)點(diǎn)位置。由于網(wǎng)絡(luò)中節(jié)點(diǎn)分布多、規(guī)模大,使得通過(guò)中心基站查詢(xún)節(jié)點(diǎn)位置無(wú)法在短時(shí)間內(nèi)完成。因此,節(jié)點(diǎn)在發(fā)送信息的數(shù)據(jù)中需包含自身的坐標(biāo)信息。另外,WSN中節(jié)點(diǎn)定位涉及定位精度、節(jié)點(diǎn)規(guī)模、容錯(cuò)性和魯棒性、能耗等。平衡定位精度是無(wú)線(xiàn)傳感器網(wǎng)絡(luò)定位的關(guān)鍵。
1.1 RSSI定位算法
基于RSSI(received signal strength indicator,RSSI) 的測(cè)距技術(shù)是利用信號(hào)能量損耗測(cè)量距離的一種技術(shù)[6]。無(wú)線(xiàn)傳感器節(jié)點(diǎn)的信號(hào)強(qiáng)度與其傳輸距離有關(guān),RSSI值越大,節(jié)點(diǎn)距離越小,可通過(guò)RSSI值的計(jì)算將相關(guān)的信號(hào)強(qiáng)度轉(zhuǎn)化為傳輸距離。信號(hào)在傳播過(guò)程中會(huì)衰減,損耗與信號(hào)的傳播路徑有關(guān)。一般RSSI測(cè)距使用的無(wú)線(xiàn)信號(hào)模型分為理論模型和經(jīng)驗(yàn)?zāi)P?。?jīng)驗(yàn)?zāi)P蛥?shù)取值可以根據(jù)經(jīng)驗(yàn)選取,模型比較簡(jiǎn)單,精度不是很高,易于大致估計(jì)。理論模型主要有自由空間傳播模型、對(duì)數(shù)損耗模型、兩徑傳播模型、對(duì)數(shù)-常態(tài)分布模型等[7]。
實(shí)際應(yīng)用環(huán)境中,由于多徑、繞射、障礙物等因素,無(wú)線(xiàn)信號(hào)傳播路徑損耗對(duì)RSSI測(cè)量精度有很大影響,使得無(wú)線(xiàn)信號(hào)傳播模型十分復(fù)雜[8]。信號(hào)能量的衰減易受到外界環(huán)境的干擾,導(dǎo)致測(cè)量的誤差加劇。文獻(xiàn)[9]開(kāi)展了對(duì)數(shù)-常態(tài)分布模型的研究,該模型能模擬RSSI值與距離之間的衰減,主要公式如下:
(1)
如果考慮復(fù)雜外界環(huán)境因素,式(1)可以表述為
(2)
其中:PL(d)表示距離d0時(shí)的無(wú)線(xiàn)電波信號(hào)損耗值,d0一般取值為1;N為信號(hào)的衰減因子,一般與環(huán)境因素有關(guān);d為節(jié)點(diǎn)之間的距離;ε是滿(mǎn)足高斯分布的因子[10]。信標(biāo)節(jié)點(diǎn)測(cè)得的RSSI值越大,距離越近,對(duì)節(jié)點(diǎn)定位具有更大的決定權(quán)。所以,無(wú)線(xiàn)傳感網(wǎng)絡(luò)的傳感器節(jié)點(diǎn)接收到的RSSI值滿(mǎn)足下列關(guān)系:
RSSI=Pt+Gr-PL(d)
(3)
式中:RSSI通過(guò)測(cè)量獲得;Pt為發(fā)射功率;Gr為天線(xiàn)增益(dB)。利用式(1)~(3)就可以計(jì)算出通信距離d。信號(hào)在傳播的過(guò)程中受到距離和障礙物的影響。信號(hào)的功率強(qiáng)度隨之衰減,會(huì)間接影響精度,所以只有短距離傳輸可以得到良好的精度。
1.2 質(zhì)心算法
質(zhì)心算法[11]是Nirupama Bulusu等提出的一種僅基于網(wǎng)絡(luò)連通性的室外定位算法。具體如下:在無(wú)線(xiàn)傳感網(wǎng)絡(luò)中,在一個(gè)確定的區(qū)域分布n個(gè)錨節(jié)點(diǎn),錨節(jié)點(diǎn)在周期T時(shí)間內(nèi)向周?chē)l(fā)送J個(gè)包含自身位置信息的數(shù)據(jù)包,則定位時(shí)間為
(4)
而未知節(jié)點(diǎn)接收到每個(gè)錨節(jié)點(diǎn)的發(fā)送的數(shù)據(jù)包通信成功率為
(5)
其中:Nreceive(i,t)表示在定位時(shí)間內(nèi)收到來(lái)自錨節(jié)點(diǎn)的分組數(shù);Nsend(i,t)表示定位時(shí)間內(nèi)發(fā)送的總分組數(shù)。設(shè)定未知節(jié)點(diǎn)通信成功率的閾值為CMth,當(dāng)CMth (6) 于是可得未知節(jié)點(diǎn)的估計(jì)位置。該質(zhì)心定位算法相比于加權(quán)質(zhì)心算法和三邊測(cè)量法簡(jiǎn)單,但位置錯(cuò)誤率高。 在無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的實(shí)際操作過(guò)程中,利用質(zhì)心算法求取網(wǎng)絡(luò)中未知節(jié)點(diǎn)的位置時(shí),利用網(wǎng)絡(luò)連通性,錨節(jié)點(diǎn)周期性地向周?chē)?jié)點(diǎn)發(fā)送包含自己位置信息的數(shù)據(jù)包,未知節(jié)點(diǎn)不停收到來(lái)自不同錨節(jié)點(diǎn)的消息。當(dāng)在通信范圍內(nèi)收到一定數(shù)量的錨節(jié)點(diǎn)信息后,確定自身位置為周?chē)^節(jié)點(diǎn)所組成的多邊形的質(zhì)心。質(zhì)心定位算法的整個(gè)定位過(guò)程在數(shù)學(xué)上并不理想,因?yàn)闊o(wú)線(xiàn)信號(hào)傳播模型[13]不是嚴(yán)格意義的球型,在傳播過(guò)程中會(huì)發(fā)生很多變化;其次,整個(gè)過(guò)程需要錨節(jié)點(diǎn)的廣播,通信量較大;最后,質(zhì)心算法以錨節(jié)點(diǎn)為基礎(chǔ),因此網(wǎng)絡(luò)中節(jié)點(diǎn)定位精度對(duì)錨節(jié)點(diǎn)密度有很大依賴(lài)性。 傳統(tǒng)的質(zhì)心定位算法簡(jiǎn)單、可行性高,但定位誤差較大,常常定位不到目標(biāo)。為了提高定位精度,提出基于RSSI的質(zhì)心定位算法,通過(guò)將RSSI的信號(hào)強(qiáng)度轉(zhuǎn)化為傳輸距離,就可以提高定位精度。即:鄰居節(jié)點(diǎn)接收到信息后,記錄錨節(jié)點(diǎn)的RSSI值;計(jì)算以錨節(jié)點(diǎn)為圓心的傳輸距離,記錄下以傳輸距離為半徑的所有圓的相交節(jié)點(diǎn);對(duì)交點(diǎn)采用質(zhì)心算法,這樣就可以估計(jì)未知節(jié)點(diǎn)坐標(biāo)。如圖1示,A、B、C是錨節(jié)點(diǎn),未知節(jié)點(diǎn)P1必然落在三角形O1O2O3中。進(jìn)一步對(duì)此算法進(jìn)行仿真驗(yàn)證。 圖1 質(zhì)心算法和RSSI算法結(jié)合 由于質(zhì)心定位算法是非測(cè)距算法,所以該算法在定位未知節(jié)點(diǎn)時(shí)易受到錨節(jié)點(diǎn)分布的影響。如果監(jiān)測(cè)區(qū)域某個(gè)未知節(jié)點(diǎn)周?chē)鷽](méi)有錨節(jié)點(diǎn)或者有極少錨節(jié)點(diǎn),將會(huì)影響最終未知節(jié)點(diǎn)定位的精度,甚至導(dǎo)致未知節(jié)點(diǎn)的無(wú)法定位。針對(duì)該特殊情況,在原算法的基礎(chǔ)上重復(fù)利用未知節(jié)點(diǎn)。一般情況下,通過(guò)基于RSSI質(zhì)心定位算法估算出某未知節(jié)點(diǎn)位置坐標(biāo)后,將該未知節(jié)點(diǎn)置于一邊,會(huì)造成對(duì)節(jié)點(diǎn)的極大浪費(fèi)和資源的不充分利用。改進(jìn)算法是將已經(jīng)實(shí)現(xiàn)定位的某一個(gè)或者某幾個(gè)未知節(jié)點(diǎn)當(dāng)作錨節(jié)點(diǎn)使用,那么就可以和錨節(jié)點(diǎn)一樣周期性地廣播包含自身ID信息和位置信息的數(shù)據(jù)包,這樣就可充分利用定位過(guò)的未知節(jié)點(diǎn)實(shí)現(xiàn)對(duì)未知節(jié)點(diǎn)的定位,從而提高未知節(jié)點(diǎn)的定位精度以及減少未能定位的節(jié)點(diǎn)。 此種改進(jìn)實(shí)現(xiàn)了對(duì)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中監(jiān)測(cè)區(qū)域內(nèi)節(jié)點(diǎn)的充分利用,極大地提高了定位精度,同時(shí)解決了可能因節(jié)點(diǎn)部署不當(dāng)而導(dǎo)致部分未知節(jié)點(diǎn)無(wú)法定位的問(wèn)題。該算法流程見(jiàn)圖2。 圖2 基于RSSI質(zhì)心定位的改進(jìn)算法流程 實(shí)驗(yàn)環(huán)境使用Matlab 2010b版本仿真軟件,無(wú)線(xiàn)載頻2.4 GHz,未知節(jié)點(diǎn)30個(gè),隨機(jī)分布。在100 m×100 m的區(qū)域均勻分布100個(gè)錨節(jié)點(diǎn),通信半徑為50 m,取平均誤差值,比較質(zhì)心定位算法、基于RSSI質(zhì)心定位改進(jìn)算法誤差。仿真結(jié)果如圖3所示。 圖3中:實(shí)點(diǎn)號(hào)是錨節(jié)點(diǎn);星號(hào)是未知節(jié)點(diǎn);圓圈是算法估計(jì)位置;紅色連線(xiàn)是定位誤差。結(jié)果表明:根據(jù)誤差的表示,基于RSSI質(zhì)心改進(jìn)定位算法對(duì)未知節(jié)點(diǎn)的位置估計(jì)誤差較小,而且定位的未知節(jié)點(diǎn)更多,定位效果更好。 改變通信半徑,每次仿真100次,取其實(shí)驗(yàn)的平均值。設(shè)未知節(jié)點(diǎn)真實(shí)坐標(biāo)為(x,y),改進(jìn)算法估計(jì)節(jié)點(diǎn)的坐標(biāo)為(xest,yest),根據(jù)誤差公式: (7) 在不同通信半徑下,對(duì)基于RSSI質(zhì)心改進(jìn)算法與質(zhì)心定位算法誤差進(jìn)行比較,仿真結(jié)果如圖4所示。 仿真結(jié)果表明:基于RSSI質(zhì)心定位改進(jìn)算法要比普通質(zhì)心定位算法誤差小。隨著通信距離的增大,定位誤差逐步減少,并在通信半徑達(dá)到一定值后趨于誤差平層。如果未知移動(dòng)節(jié)點(diǎn)越靠近參考節(jié)點(diǎn),錨節(jié)點(diǎn)越多,則結(jié)果誤差就越小。 圖3 質(zhì)心定位、基于RSSI質(zhì)心改進(jìn)算法的誤差比較 圖4 基于RSSI的質(zhì)心改進(jìn)算法與質(zhì)心算法的比較 隨著定位技術(shù)的發(fā)展,廉價(jià)無(wú)線(xiàn)定位服務(wù)大眾化趨勢(shì)加劇。傳統(tǒng)的質(zhì)心定位算法簡(jiǎn)單、可行性高,但定位誤差不高,常常定位不到目標(biāo)。對(duì)基于RSSI的質(zhì)心定位改進(jìn)算法進(jìn)行仿真,結(jié)果表明:其定位精度比傳統(tǒng)的質(zhì)心算法高,且對(duì)硬件要求不高,能適用于低成本、發(fā)射效率相對(duì)較高的無(wú)線(xiàn)定位系統(tǒng)。 [1] 何艷麗.無(wú)線(xiàn)傳感器網(wǎng)絡(luò)質(zhì)心定位算法研究[J].計(jì)算機(jī)仿真,2011,28(5):163-165,219. HE Yanli.Research on Centroid Localization Algorithm for Wirless Sensor Networks based RSSI[J].Computer Simulation,2011,28(5):163-165,219. [2] 王方.無(wú)線(xiàn)傳感器網(wǎng)絡(luò)在采礦安全生產(chǎn)中的應(yīng)用[J].電子元件與材料,2014,33(2):90-91. WANG Fang.Application of Wireless Sensor Network in Mining Safety Production[J].Electronic Components and Materials,2014,33(2):90-91. [3] 雷建軍,夏英,趙闊.能量有效的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)數(shù)據(jù)收集協(xié)議[J].重慶郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,26(5):582-586. LEI Jianjun,XIA Ying,ZHAO Kuo.Energy efficient data collection protocol for wireless sensor networks[J].Journal of Chongqing University of Posts and Telecommunications(Natural Science Edition), 2014,33(2):90-91. [4] KOTWAL S B,VERMA S,ABROL R K.Approaches of Self Localization in Wireless Sensor Networks and Directions in 3D[J].International Journal of Computer Applications,2012,50(11):1-10. [5] 戴瑩,王建平,張崇巍.無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位算法的研究與改進(jìn)[J].傳感技術(shù)學(xué)報(bào),2010,23(4):567-570. DAI Ying,WANG Jianping,Zhang Chongwei.Research and improvement of localization algorithms for wireless sensor networks[J].Chinese Journal of Sensors and Actuators,2010,23(4):567-570. [6] 黃俊霖.基于RSSI 分級(jí)的 WSN 節(jié)點(diǎn)定位算法研究[D].西安:西安電子科技大學(xué),2013. HUANG Junlin.Research of WSN Node Localization Algorithm Based on RSSI Class[D].Xi’an:XiDian University,2013. [7] 張先超,劉興長(zhǎng),鐘一洋,等.基于RSSI和融合智能優(yōu)化算法的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)定位算法[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2015(9):116-121. ZHANG Xianchao,LIU Xingchang,ZHONG Yiyang,et al.Wireless Sensor Networks Locating Algorithm Based on RSSI and Hybrid Intelligent Optimization Algorithm[J].Journal of Chongqing University of Technology(Natural Science),2015(9):116-121. [8] 李剛,陳俊杰.信標(biāo)節(jié)RSS自校正的WSN三維定位[J].華中科技大學(xué)學(xué)報(bào),2011,39(20):348-350. LI Gang,CHEN Junjie.3D localization in WSN based on beacon node RSSI self-correcting[J].Huazhong University of Science & Technology,2011,39(2):348-350. [9] 章堅(jiān)武,張璐,應(yīng)瑛,等.基于ZigBee的RSSI測(cè)距研究[J].傳感技術(shù)學(xué)報(bào),2009,22(2):285-288. ZHANG Jianwu,ZHANG Lu,YING Ying,et al.Research on Distance Measurement Based on RSSI of ZigBee[J].Chinese Journal of Sensors and Actuators,2009,22(2):285-288. [10]劉瑜,衣曉,何友.基于分治求精的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位算法[J].系統(tǒng)工程與電子技術(shù),2012,34(9):1906-1913. LIU Yu,YI Xiao,HE You.Divide-and-conquer and Refinement Method Based Localization Algorithm for Wireless Sensor Networks[J].Systems Engineering and Electronics,2012,34(9):1906-1913. [11]SIMON J.Comparison of different mobile WSN node localization techniques within the controlled microclimatic environment[C]//Inte-lligent Systems and Informatics (SISY),2014 IEEE 12th International Symposium on.[S.l.]:IEEE,2014:79-82. [12]丁恩杰,喬欣,常飛,等.基于RSSI WSNs加權(quán)質(zhì)心定位算法的改進(jìn)[J]傳感器與微系統(tǒng),2013,32(7):53-56. DING Enjie,QIAO Xin,CHANG Fei,et al.Improve-ment of weighted centroid localization algorithm for WSNs based on RSSI[J].Transducer and Mic rosystem Technologies,2013,32(7):53-56. [13]BOUKERCHE A,OLIVEIRA H A B F,NAKAMURA E F,et al.Localization systems for wireless sensor networks[J].IEEE Wireless Communications,2007,14(6):6-12. (責(zé)任編輯 楊黎麗) Improved RSSI-Based Centroid Localization Algorithm for Wireless Sensor Networks ZHANG Jing, SHI Wen-jin, LI Guan-di, Zhang Li-nan (Chongqing University of Technology, Chongqing 400054,China) Node localization is one of the key technologies on wireless sensor network, which has been got a wide application in military and civilian areas. The positioning accuracy of centroid localization algorithm completely depends on the size and the distribution density of anchor nodes. The density of anchor nodes is small and distributed randomly in actual application, so the positioning accuracy of centroid localization algorithm is relatively low. In order to improve the accuracy of nodes, a method is proposed based on received signal strength indicator and wireless sensor network centroid localization algorithm. Improved RSSI-based Centroid Localization Algorithm that targets the known-localization nodes as unknown-localization nodes is proposed. Through the simulation algorithm for testing and analysis, the simulation results show that the positioning error of the centroid localization algorithm is obviously reduced and the node location accuracy is improved. WSN; node localization; RSSI; improved centroid localization algorithm 2016-09-30 作者簡(jiǎn)介:張兢(1965—),女,教授,主要從事電子技術(shù)、測(cè)試技術(shù)和信號(hào)處理方面的研究,E-mail:zhjing@cqut.edu.cn; 史文進(jìn)(1989—),男,碩士研究生,主要從事無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)研究。 張兢,史文進(jìn),李冠迪,等.無(wú)線(xiàn)傳感網(wǎng)絡(luò)中基于RSSI質(zhì)心定位的改進(jìn)算法[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2017(3):132-136. format:ZHANG Jing, SHI Wen-jin, LI Guan-di, et al.Improved RSSI-Based Centroid Localization Algorithm for Wireless Sensor Networks[J].Journal of Chongqing University of Technology(Natural Science),2017(3):132-136. 10.3969/j.issn.1674-8425(z).2017.03.020 TN911 A 1674-8425(2017)03-0132-053 基于RSSI的質(zhì)心定位改進(jìn)算法
4 仿真驗(yàn)證
5 結(jié)束語(yǔ)