无线传感器网络的许多应用要求节点知道自身的位置信息,才能向用户提供有用的检测服务。没有节点位置信息的监测数据在很多场合下是没有意义的。比如,对于森林火灾检测、天然气管道监测等应用,当有事件发生时,人们关心的一个首要问题就是事件发生在哪里,此时如果只知道发生了火灾却不知道火灾具体的发生地点,这种监测没有任何实质的意义,因此节点的位置信息对于很多场合是至关重要的。
在许多场合下,传感器节点被随机部署在某个区域,节点事先无法知道自身的位置,因此需要在部署后通过定位技术来获取自身的位置信息。目前最常见的定位技术就是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)的测距
信号在传播过程中会有衰减,无线信号的发射功率和接收功率存在某种映射关系,因此可以利用关系这个来估算距离,