危厚琴 馬惜平
(北華大學電氣信息學院,吉林 吉林132021)
(1)無線傳感器網(wǎng)絡定位的幾個常用術語:
到達時間:信號從一個節(jié)點傳播到另一個節(jié)點所需時間。
到達時間差:不同傳播速度的信號從一個節(jié)點到達另一個基點所需要的時間之差。
到達角度:節(jié)點接收到的信號相對于自身軸線的角度。
視距關系(Light of Sight,LOS):兩個節(jié)點之間沒有障礙物,能夠直接通信。
非視距關系(Non Light of Sight,NLOS),兩個節(jié)點之間有障礙物,不能直接通信。
跳數(shù)(Hop Count),兩個節(jié)點之間的跳段之和。
(2)無線傳感器網(wǎng)絡定位的基本概念
無線傳感器網(wǎng)絡中的節(jié)點定位是指傳感器節(jié)點根據(jù)網(wǎng)絡中少數(shù)已知節(jié)點的位置信息,通過一定的定位技術確定網(wǎng)絡中其他節(jié)點的位置信息的過程。
在無線傳感器網(wǎng)絡中節(jié)點通??梢苑譃樾艠斯?jié)點和未知節(jié)點,其中信標節(jié)點也稱為錨節(jié)點或者參考點,未知節(jié)點也稱為普通節(jié)點。信標節(jié)點是位置信息已知的節(jié)點,未知節(jié)點是未知信息未知的節(jié)點。信標節(jié)點一般所占比例很小,通常通過手工配置或者配備GPS接收器來獲取自身的位置信息。
除此之外還有一種節(jié)點稱為鄰居節(jié)點,鄰居節(jié)點是指傳感器節(jié)點通信半徑內(nèi)的其他節(jié)點。
WSN定位方法有兩種:基于測距和無需測距。
1)基于測距
基于測距(Range-based):假設在傳感器網(wǎng)絡中某些節(jié)點位置信息已知,通過某些手段來估算其他節(jié)點的位置信息。在這里面通常有兩個步驟:測距和位置估算。
因為要通過信標節(jié)點得到未知節(jié)點的位置信息,必須先確定信標節(jié)點到未知節(jié)點的距離,才能得到未知節(jié)點的位置信息。
①通常測距的方法有4種:
A、基于到達時間(TOA)的測距
這種方法是根據(jù)已知信號的傳播速度及信號在發(fā)送節(jié)點和接收節(jié)點之間的傳播時間來估算距離,這種方法要求能夠非常精確地獲取發(fā)送節(jié)點和接收節(jié)點之間的傳播時延,這個是比較困難的,難度很大,不太適合無線傳感器網(wǎng)絡。
B、基于到達時間差(TDOA)的測距
這種方法中發(fā)送節(jié)點同時發(fā)送兩種不同傳播速度的信號、接收節(jié)點根據(jù)兩種信號到達的時間差和他們的傳播速度來計算距離。假若兩種信號的傳寶速度為v1和v2,到達時間分別為t1和t2,發(fā)送節(jié)點到接收節(jié)點的距離為d,則有:
可得d=(t1-t2)v1v2/(v2-v1)
C、基于到達角度(AOA)的測距
這種方法根據(jù)接收信號到達時候與自身軸線的角度來計算,這種方法對硬件成本要求很高,要求配備天線陣列,不太適合無線傳感器網(wǎng)絡。
D、基于接收信號強度(RSS)的測距
信號在傳播過程中會有衰減,無線信號的發(fā)射功率和接收功率存在某種映射關系,因此可以利用關系這個來估算距離。
②常用的位置估算方法有下面兩種:
A、三邊測量法
上面舉的例子中的位置估算方法就是三邊測量法,此處不再贅述。
至于某些文獻上提到的三角測量法個人覺得跟三邊測量法是一回事,就不再介紹了。
B、最大似然估計法
2)無需測距(range-free)
無需測距的定位算法不需要直接測量節(jié)點之間的距離或者角度,而是根據(jù)網(wǎng)絡的連通性來實現(xiàn)位置估計得,典型的無需測距的算法主要有以下幾種:
(1)質(zhì)心算法
質(zhì)心算法基于兩個假設條件:射頻信號的傳播遵循理想的圓球模型;節(jié)點的通信半徑相同且不會改變。
質(zhì)心算法是一種完全基于網(wǎng)絡連通性的定位算法,其計算和實施難度都比較小,但是算法精度不高,并且通常要求信標節(jié)點具有較高的密度。
(2)DV-HOP(Distance Vector-Hop)算法
DV-HOP算法是為了避免對節(jié)點距離直接測量而提出的一種基于矢量路由的非測距定位算法。該算法的核心思想是通過距離矢量路由方法獲取未知節(jié)點與信標節(jié)點之間的最小跳數(shù),并計算每跳的平均距離,然后以每跳的平均距離與最小跳數(shù)的乘積作為未知節(jié)點與信標節(jié)點的估算距離,再使用三邊測量法估算未知節(jié)點的坐標位置。
(3)APIT算法
APIT算法的基本思想同質(zhì)心算法的思想類似,它利用由信標節(jié)點組成的三角形覆蓋重疊區(qū)域來確定未知節(jié)點的位置。在APIT算法中,未知節(jié)點首先在其鄰居節(jié)點中收集信標節(jié)點的信息。然后任意選取3個信標節(jié)點,判斷自己是否在這3個信標節(jié)點組成的三角形區(qū)域內(nèi),然后不斷這樣循環(huán)選取3個信標節(jié)點進行判斷,這樣,未知節(jié)點可以確定多個包含自己的三角形區(qū)域,這些三角形區(qū)域的重疊部分是一個多邊形,它確定了更小的包含未知節(jié)點的區(qū)域,然后以這個多邊形區(qū)域的質(zhì)心作為未知節(jié)點的坐標。
(4)MAP算法
MAP是一種基于移動信標節(jié)點的非測距定位算法,也有稱為MAN。其基本思想是利用可移動的信標節(jié)點在監(jiān)測區(qū)域中移動并周期性的廣播其當前的位置信息,然后可以確定兩條以未知節(jié)點為圓心的弦,這兩條弦的垂直平分線的交點就是圓心。
該算法有與其他非測距定位算法相比有較高的精確度,但是缺點是移動節(jié)點是必須要有足夠能量支持其在監(jiān)測區(qū)域內(nèi)移動,并且當未知節(jié)點的位置發(fā)生變化時,該算法有比較大的誤差。
(5)Amorphous算法
(6)凸規(guī)劃定位算法
凸規(guī)劃定位算法的核心思想是:如果兩個節(jié)點能夠直接進行通信,則它們之間的距離必定小于節(jié)點的通信半徑。
(7)Ring-Overlapping算法
上算法都是有信標節(jié)點的定位算法,曾有人提出了一些沒有信標節(jié)點的定位算法如SPA算法,這種算法主要是建立全局坐標系來估算未知節(jié)點的位置,但是這種算法復雜度非常高,不適合用于大規(guī)模網(wǎng)絡,也有人提出針對SPA算法的改進算法,如SDGPSN算法。
還有一部分人提出了一些其他的算法,比如AFL算法,其利用的是局部估算方法。還有人提出了基于分簇的定位算法。
無線傳感器網(wǎng)絡定位技術雖然在眾多領域中應用,但其應用環(huán)境來說相對單一化,也就是說每一種算法針對的只是某一個問題,或者某一種特定的場景。在實際生活中,一單環(huán)境發(fā)生變化,該算法就會出現(xiàn)較大誤差,甚至不再適用。因此為了適應復雜多變發(fā)的環(huán)境,我們應該研制出更多種類的定位算法或者定位系統(tǒng)。另外,安全隱患也是另一個需要研究的內(nèi)容,一方面是需要節(jié)點的位置信息,另一方面,透露節(jié)點的位置信息,就會造成網(wǎng)絡安全問題。解決這一問題的最好途徑就是對信息進行加密。因此,無線傳感器定位技術的研究任重而道遠。