無線傳感器網絡的許多應用要求節點知道自身的位置信息,才能向用戶提供有用的檢測服務。沒有節點位置信息的監測數據在很多場合下是沒有意義的。比如,對於森林火災檢測、天然氣管道監測等應用,當有事件發生時,人們關心的一個首要問題就是事件發生在哪里,此時如果只知道發生了火災卻不知道火災具體的發生地點,這種監測沒有任何實質的意義,因此節點的位置信息對於很多場合是至關重要的。
在許多場合下,傳感器節點被隨機部署在某個區域,節點事先無法知道自身的位置,因此需要在部署后通過定位技術來獲取自身的位置信息。目前最常見的定位技術就是GPS(Global Positioning System)了,它能夠通過衛星對節點進行定位,並且能夠達到比較高的精度。因此要想對傳感器節點進行定位,最容易想到的方法就是給每個節點配備一個GPS接收器,但是這種方法不適用於傳感器網絡,主要原因有以下幾點:
1)GPS接收器通常能耗高,而對於無線傳感器網絡中的節點來說,一般能耗很有限,給每個節點配備一個GPS接收器會大大縮短網絡壽命;
2)GPS接收器成本比較高,給無線傳感器網絡中的每個節點配備一個GPS接收器,需要投入很大成本,尤其對於大規模的無線傳感器網絡來說不是很適合;
因此來說,很有必要來研究一下這些算法,能夠適合無線傳感器的網絡的技術。
1)節點定位的基本概念;
無線傳感器網絡中的節點定位是指傳感器節點根據網絡中少數已知節點的位置信息,通過一定的定位技術確定網絡中其他節點的位置信息的過程。
在無線傳感器網絡中節點通常可以分為信標節點(beacon node or anchor node)和未知節點(unknown node),其中信標節點也稱為錨節點或者參考點,未知節點也稱為普通節點。信標節點是位置信息已知的節點,未知節點是未知信息未知的節點。信標節點一般所占比例很小,通常通過手工配置或者配備GPS接收器來獲取自身的位置信息。
2)節點定位的基本思路
節點定位的基本思路主要有兩種:
1.基於測距(Range-based):假設在傳感器網絡中某些節點位置信息已知,通過某些手段來估算其他節點的位置信息。在這里面通常有兩個步驟:
- 測距
- 位置估算
通常測距的方法有4種:
1)基於到達時間(TOA)的測距
這種方法是根據已知信號的傳播速度及信號在發送節點和接收節點之間的傳播時間來估算距離,這種方法要求能夠非常精確地獲取發送節點和接收節點之間的傳播時延,這個是比較困難的,難度很大,不太適合無線傳感器網絡。
2)基於到達時間差(TDOA)的測距
這種方法中發送節點同時發送兩種不同傳播速度的信號、接收節點根據兩種信號到達的時間差和他們的傳播速度來計算距離。假若兩種信號的傳寶速度為v1和v2,到達時間分別為t1和t2,發送節點到接收節點的距離為d,則有:
t1-t2=d/v1-d/v2
可得d=(t1-t2)v1v2/(v2-v1)
3)基於到達角度(AOA)的測距
這種方法根據接收信號到達時候與自身軸線的角度來計算,這種方法對硬件成本要求很高,要求配備天線陣列,不太適合無線傳感器網絡
4)基於接收信號強度(RSS)的測距
信號在傳播過程中會有衰減,無線信號的發射功率和接收功率存在某種映射關系,因此可以利用關系這個來估算距離,
通常測距的方法有4種:
1)基於到達時間(TOA)的測距
這種方法是根據已知信號的傳播速度及信號在發送節點和接收節點之間的傳播時間來估算距離,這種方法要求能夠非常精確地獲取發送節點和接收節點之間的傳播時延,這個是比較困難的,難度很大,不太適合無線傳感器網絡。
2)基於到達時間差(TDOA)的測距
這種方法中發送節點同時發送兩種不同傳播速度的信號、接收節點根據兩種信號到達的時間差和他們的傳播速度來計算距離。假若兩種信號的傳寶速度為v1和v2,到達時間分別為t1和t2,發送節點到接收節點的距離為d,則有:
t1-t2=d/v1-d/v2
可得d=(t1-t2)v1v2/(v2-v1)
3)基於到達角度(AOA)的測距
這種方法根據接收信號到達時候與自身軸線的角度來計算,這種方法對硬件成本要求很高,要求配備天線陣列,不太適合無線傳感器網絡
4)基於接收信號強度(RSS)的測距
信號在傳播過程中會有衰減,無線信號的發射功率和接收功率存在某種映射關系,因此可以利用關系這個來估算距離,