现有的定位算法一类是基于测距技术,还有无需测距这两大类[33]。基于测距技术定位算法主要包括到达角度(AOA, Angle of Arrival),到达时间(TOA, Time of Arrival),到达时间差(TDOA, Time Difference of Arrival),接收信号强度(RSSI, Received Signal Strength Indicator)等。其中RSSI定位主要方法有以下几种: 1) 通过最大似然法参数估计来估算用户位置的定位方法。 2) 估算用户位置时利用接收功率的概率密度分布同时结合Cramer-Rao下限来定位。想要定位精度相对较高,就要使用距离为基础的定位方法。不过这样做也提升了对应节点的硬件要求。测量距离或角度基础参数过程中使用的信号如无线电波等,会让障碍物等环境因素影响到定位算法[3]。26950
不需要测距技术的定位算法实现定位功能相对精确只是根据位置己知的锚节点和网络连通性等信息[21]。锚节点与需要定位节点一起组成的网络模型,在没有基础网络设施支持的情况下也是可行的[22]。如果传感器网络的方向要求或拓展情况较为复杂,算法的评测将不可避免地呈现较差的结果[23]。常见的距离无关定位方法有APIT定位算法,质心定位算法,DV-Hop定位算法[3]。准确度相对不够的Range-free算法对节点的硬件要求也就没有那么高了,因为节点间的方位信息以及距离不要绝对表示。在大规模这种类型的布局中,较低的节点成本显得很优越。距离无关的特性让其受外界环境所导致的制约很小,因此即使定位精度不是很好也是人们都乐意注重的定位研究对象。两类算法各有各的特点。如今己有一些具有代表性的应用于无线传感器网络的定位系统被提出了,包括AHLoS, Active Bats, Calamari, SpotON, Microsoft's RADAR, Cricket等。下面简单介绍其中几个系统。论文网
AHLos系统用于定位的算法使用了迭代[34]。我们从具体定位过程来了解这个算法。首先利用到达时间差的原理运算,可以获得未知节点与其相毗邻节点的距离。邻居节点中已知(或已转化为已知)的节点不小于三个时,计算未知节点自己所在位置(使用极大似然估计方法)。并且此时的未知节点转成已知的信标节点即转化信标节点,与此同时邻居节点也会知道它的位置。周围少于三个信标节点的待测节点在上述转化信标节点个数慢慢增加后,数目满足的邻居信标节点就能计算所要知道的位置。算法就反复进行这样的过程,一直到所有节点的位置都可以计算出来[11]。
Calamari定位系统的实验得出的结论:在理想环境下,很长一段时间的信道衰落服从对数正态分布。但是,它的实验结果在与上述情况截然不同的干扰相对严重的环境下并不理想。适当调整信号在传播过程中损耗模型的参数,让Calamari定位系统得到的定位结果可以往好的方向发展 [13]。
在SpotON定位系统中,接收到的信号强度可以用来调整RSSI预测模型直至相对准确地估计距离。上述方法的实际实施是很简单的,不过由于信道质量对它的结果有影响,误差就会随之相应改变。通常,RSSI值误差到±7dB的时候,距离的测量误差会相应到±50% [12]。
Microsoft's RADAR定位系统受障碍物的阻隔、多径传播等因素影响,想要实现以接收信号强度为基础精确定位难度不小。它实现位置确定与“指纹识别”方法息息相关,处理各个环境下的射频信号衰减指纹也就是特征值实现的。
Cricket系统目的为定位不动或改变位置的节点在建筑物里的哪里一个地方。该系统在随机两个位置的距离获取以及定位方面没有很好的解决办法。系统使用了超声波,虽然把定位相对误差约束到不大于10%,但信号传播的方向性还有改进余地。 测距技术定位算法国内外研究现状:http://www.751com.cn/yanjiu/lunwen_21265.html