宋麗萍
(阜陽職業(yè)技術學院,安徽 阜陽 236000)
隨著互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的迅速發(fā)展,物聯(lián)網(wǎng)的核心技術之一無線傳感器網(wǎng)絡(Wireless Sensor Networks,WSN)也被廣泛應用于各大領域,它是人與自然環(huán)境的交互接口,由于 WSN具有體積小、重量輕、功耗少、易實現(xiàn)等特點,所以WSN在惡劣環(huán)境條件下也可以正常工作,WSN 具備的優(yōu)點使一些底層有用的信息可以被隨時獲取,并廣泛應用于智能家居控制、環(huán)境監(jiān)測等領域,WSN的廣泛應用將給人們的生活帶來不可估量的影響[1].
WSN應用比較廣泛的核心技術之一是定位技術,而GPS定位技術因其成本高,信號穿透性差,遇到障礙物無法穿透等各種原因,在室內(nèi)定位應用中效果不理想.而隨著WIFI網(wǎng)絡的普及,基于WIFI的室內(nèi)定位也逐漸被人所關注,WIFI的定位優(yōu)點是它不需要附加訪問接入設備,但由于受環(huán)境影響,WIFI的位置性能也不夠精確并且具有較高的耗能,因此其應用也受到了限制.如何利用 WSN獲取準確的位置信息,實現(xiàn)低功耗、低成本的 WSN 室內(nèi)定位是人們持續(xù)關注的熱點之一[2].
根據(jù)定位是否有測距的需求,WSN定位算法分為基于測距的定位方法和基于非測距的定位方法.在WSN中,大部分定位主要還是基于距離測量,基于測距的定位算法主要有基于時間到達TOA(Time Of Arrival)、基于時間差TDOA(Time Difference Of Arrival)和基于接收信號強度指示RSSI(Received Signal Strength Indication)的三類定位算法[3].
TOA 測距原理主要是通過測量到達時間來測距離,測距分為單向和雙向測距技術兩種方法,單向測距方法只測量起點到終點的時間,其測距的示意圖如圖1所示.
這里假設V為傳輸?shù)乃俣龋琓為時間,則距離為S=VT.
而雙向測距不但測量起點到終點的到達時間,還要測量終點回到起點的到達時間,其測距的示意圖如圖2所示.
圖1 單向測距方法示意圖圖2 雙向測距方法示意圖
這里假設V為傳輸?shù)乃俣龋琓1為到達時間,T2為返回時間,則距離為S=V(T1+T2)/2.
從以上兩種測距方法可以看出,TOA測距方法在時間上對同步性的要求較嚴格.而對于WSN中的節(jié)點來說,時間上的同步是很難做到的.
TDOA測距的原理是同一時間向外發(fā)射頻率不同的兩種超聲波信號,兩種超聲波信號的到達時間是不同的,距離是利用兩種超聲波信號到達的時間差值來計算.其測距示意圖如圖3所示.
由于超聲波信號距離較短,并且在實際環(huán)境中還存在著很多影響超聲波的障礙物,因此在實際應用中不受歡迎.
RSSI是 Received Signal Strength Indication的縮寫,意為接收信號強度,RSSI 測距的原理是通過兩節(jié)點不同距離時的 RSSI 值建立RSSI距離模型,由得到的 RSSI計算出相應的距離值[4].其測距示意圖如圖 4所示.
圖3 TDOA測距方法示意圖圖4 RSSI測距方法示意圖
基于 RSSI 的測距是一種基于測量距離的無線定位算法,對定位的精度要求不高,而且不需額外的硬件設備,實現(xiàn)簡單,通過軟件即可實現(xiàn),成本較低, 因此被廣泛應用.
假設某一盲節(jié)點P和3個錨節(jié)點O1、O2、O3,L1、L2、L3為通過接收錨節(jié)點發(fā)出的信息得到的盲節(jié)點P與3個錨節(jié)點O1、O2、O3之間的距離,那么分別以錨節(jié)點O1、O2、O3為圓心,L1、L2、L3為半徑的圓的交點就是盲節(jié)點P,如圖5所示[5].
在實際的定位中,由于噪聲的干擾不可避免,因此總是存在測量誤差,三個圓不能精確地相交于一個點,而是形成一片區(qū)域.此種情況下,通常采用基于 RSSI 的三角形質(zhì)心定位算法來解決定位,如圖6所示.O1(x1,y1)、O2(x2,y2)、O3(x3,y3)為選取的錨節(jié)點,P為盲節(jié)點,假設O1到盲節(jié)點P的距離為L1,O2到盲節(jié)點P的距離為L2,O3到盲節(jié)點P的距離為L3.根據(jù)測距模型,分別以O1、O2、O3為圓心,以L1、L2、L3為半徑畫圓,三個圓相交形成一片重疊區(qū)域[6].
圖5 三邊測量法圖6 三角形質(zhì)心定位算法模型圖
假設A、B、C是三個圓相交形成的重疊區(qū)域的三個交點,A(xA,yA)、B(xB,yB)、C(xC,yC)為三個交點的坐標,以A、B、C這三個點為頂點作一三角形,盲節(jié)點即為三角形質(zhì)心P.相交點A的計算方法為:
同理,計算出相交點B和C.此時,可得到盲節(jié)點的坐標為:
質(zhì)心定位算法是一種基于網(wǎng)絡連通性的定位算法[7].是由Nirupama Bulusu等人提出的,在WSN中,假如在一片區(qū)域內(nèi)分布有n個錨節(jié)點,錨節(jié)點的坐標為(x1,y1) (x2,y2) …(xi,yi) …(xn,yn) ,則由n個錨節(jié)點組成的n-1邊的多邊形質(zhì)心(x,y) 為:
在WSN的實際應用中,利用網(wǎng)絡連通性,錨節(jié)點周期性地向周圍分布的節(jié)點發(fā)送數(shù)據(jù)包,該數(shù)據(jù)包中包含錨節(jié)點的位置數(shù)據(jù),盲節(jié)點接連不斷的接收數(shù)據(jù)信息,當接收到一定數(shù)量的錨節(jié)點信息后,盲節(jié)點的位置就是由這些錨節(jié)點組成的多邊形的質(zhì)心.由于在傳播過程中會發(fā)生廣播,無線信號會發(fā)生變化,另外質(zhì)心定位算法依賴于錨節(jié)點,因此定位精度受錨節(jié)點的密度影響很大,質(zhì)心定位算法的應用并不理想.
由于錨節(jié)點的分布影響質(zhì)心定位算法的精度,所以當監(jiān)測區(qū)域內(nèi)盲節(jié)點周圍存在的錨節(jié)點極少或因?qū)?jié)點部署不當而導致盲節(jié)點無法定位時,將會對定位精度產(chǎn)生很大的影響.針對此種情況,提出一種改進的算法:將已經(jīng)實現(xiàn)定位的盲節(jié)點與錨節(jié)點一起周期性地廣播數(shù)據(jù)信息包,這種利用定位過的盲節(jié)點實現(xiàn)對未定位的盲節(jié)點的定位,可以充分利用WSN中監(jiān)測區(qū)域內(nèi)的節(jié)點,以此提高盲節(jié)點的定位精度.該算法流程圖如圖7所示.
圖7 算法改進流程圖圖8 算法改進前與改進后的定位誤差圖
為了比較算法改進前與改進后的效率,進行了仿真實驗,實驗使用 Matlab軟件進行,假設在一片寬為100米的正方形區(qū)域內(nèi)有40個隨機分布的盲節(jié)點,100個錨節(jié)點,在不同通信半徑下,對定位算法在改進前與改進后的誤差進行比較,仿真結(jié)果如圖8所示.
實驗仿真結(jié)果顯示,算法改進前后的定位誤差隨著通信半徑的逐步變大而逐步減小,越來越多的節(jié)點參與到定位中來,定位的精度也有了一定的提高,在通信半徑相同的情況下,算法改進后的定位誤差小于算法改進前的定位誤差,由此說明,改進后的質(zhì)心定位算法的定位精度比改進前的質(zhì)心定位算法的定位精度提高了很多,實現(xiàn)了定位精度的改進效果,算法的改進具有一定的意義[8].
隨著信息技術的不斷發(fā)展,WSN的應用已經(jīng)逐步深入到人們生活的多個領域,與相關的應用越來越多.本文以定位算法為核心,對基于測距的相關的定位技術、定位算法進行了闡述,分析了三邊定位算法及普通的質(zhì)心定位算法,針對其定位的不穩(wěn)定性和影響定位精度的方面,提出了基于 RSSI 的改進的質(zhì)心定位算法,對于影響定位精度的因素進行了多方面的考慮與分析,針對通信半徑不同的情況下,將算法改進前與改進后兩個方面進行對比分析,仿真驗證結(jié)果表明,算法改進后的定位精度優(yōu)于傳統(tǒng)算法的定位精度.對于 WSN 的探究,本文提出了有關算法的改進和驗證,隨著應用的不斷深入與擴展,會有越來越多的人加入到此領域的研究之中,探究的視角也會越來越寬廣.