室内定位算法及其混合算法剖析
随着科技的发展,LBS 服务越来越深入人们的日常生活和工作,随着需求的增加,相应
的室内定位技术也如雨后春笋般涌现出来并发展迅速,WIFI、蓝牙、Zigebee、地磁、UWB、
WLAN 等众多技术各有特色,但其核心的定位原理究竟怎样呢,今天小编就在这里与大家共
同探讨常见的室内定位算法及其混合算法。
1 .1 AOA 定位
基于到达角(Angle Of Arrival, AOA)也称为三角测量是一种远程定位系统,
即通过已知移动设备和多个接入点间的角度进行定位。在 AOA 远程定位系统中,
两个已知位置和方向的基站需要计算出发送自用户信号的角度。角度是通过不断
调控方向天线波束,直到最大的信号长度或者相干相位来得到的。位置通过每个
基站 AOA 测量的轨迹的交点计算得出,而 AOA 测量的轨迹为直线,如下图 1-1
所示。
图 1-1 AOA 定位示意图
在二维空间中,假设第 N 个基站的坐标为
,移动待测点 MS 的坐标
为
,通过上图可以建立 BS 与 MS 的几何位置关系,表述如下:
(1-1)
式中, 为第 N 个基站获得的方位角信息,由两个基站的 AOA 得到方程组,
BS1BS2MS12),(nnyxyx,nnnxxyytann
即可求得移动待测点的坐标
。
(1-2)
如果用户和基站不在同一个平面内,需要用三维方向天线进行测量,用更多
的基站能够大大提高精度。系统的整体精度取决于信号传播,方向天线的精度,
以及天线到设备的距离。AOA 定位的优点是不需要与每一个天线做时间同步,缺
点是需要额外的硬件,有可能无法满足节点对硬件尺寸和功耗的要求,且算法复
杂度较高。因此,在应用上有较大的局限性。
1.2 TOF 定位
基于飞行时间(Time of Flight, TOF)的测距技术与 TDOA 有所不同,TOF 测
距技术主要是通过测量节点间信号传输的时间消耗来估算距离,而 TDOA 是通
过不同信号到达同一节点或者一个信号到达不同节点的时间差来估算节点间距
离。TOF 测距技术主要包括到达时间(TOA) 测量以及往返时间(TWR)测量等。
它们都是在已知信号传播速度的前提下,通过节点之间信号传播的时间测量来达
到测距目的。TOA 测距过程中锚节点向未知节点发送测距信号,未知节点接收
信号的同时记录信号到达时间,发射节点和接收节点之间保持精确的时间同步,
从而获得信号在两个节点之间的传播时间。TOA 测距精度高,但对时间同步要
求严格,需要额外的硬件辅助,这制约了它的应用范围。TWR 测距通过记录节
点间信号往返时间来计算节点间距离,TWR 测距过程简单,易于实现,不需要
额外硬件来确保两节点时间同步,但是容易受到时钟偏移的影响。以下着重介绍
两种无需时间同步和额外硬件的 TOF 测距方法:TWR 和 SDS-TWR,它们通过记
录节点间信号往返时间来计算节点间距离。
一、TWR 测距方法
TWR 测距方法需要两节点间的协作通信,记录信号在两节点的往返时间,
具体测距过程如图 2-10 所示。未知节点 Node1 向锚节点 Node2 发送一个数据包,
当 Node2 节点收到数据包时,会立即回复一个确认来响应这个数据包。Node1
记录从发送数据包到接收确认的时间 ;
Node2 记录了从收到数据包到回应 ACK 的时间 ,用 时间减去周转时间
就是两节点的数据包传递过程中的往返时间,那么 Node1 到 Node2 的距离
),(yx222111tantanxxyyxxyy1T2T1T2T
就可以表示为
,其中 表示信号传播速度。如图 1-2 所示。
图 1-2 TWR 测距过程示意图
在 TWR 测距算法中分别用到了两节点的时钟进行计时,尽管不需要两节点
时钟严格同步,但是要求时钟的频率和相位保持一致,否则两节点间会出现时钟
偏移,记录的时间不在同一标准下,会造成比较严重的测距误差。当然可以选用
高稳定性的时钟来降低这种误差的影响,但那是比较昂贵的,无法在无线传感器
网络中大规模使用。SDS-TWR 测距方法在同等硬件条件下可以很大程度上降低
TWR 测距方法的时钟偏移影响。
二、SDS-TWR 测距方法
整体来看,SDS-TWR 测距方法是在 TWR 测距方法的基础上进行了节点间
对称测距,如图 1-3 所示,具体过程如下:
第一个阶段,节点 Node1 向节点 Node2 发送测距数据包,节点 Node2 收
到测距包后,立即向 Node1 回复一个确认包 ACK,处理时间为 。当节点 Node1
收到来自节点 Node2 的确认后,记录节点 Node1 从发送测距数据包到收到确
认包所用的时间 ;
第二个阶段,节点 Node2 向节点 Node1 发送测距数据包,节点 Node1 收到
数据包后,经过时间 给节点 Node2 回复一个确认包,当节点 Node2 收到来自
节点 Node1 的确认后,节点 Node2 得到从发出数据包到收到确认的时间 ;
第三个阶段,节点 Node2 把记录的时间 和 通过数据包发送到节点
Node1,这样在节点 Node1 端得到了两对时间值
、
;
由 以 上 获 得 的 时 间 值 , 计 算 Node1 和 Node2 之 间 的 距 离 :
vTT221vNode1T1Node2T2数据包ACK2T1T3T4T2T4T),(21TT),(43TT
,其中 为信号的传播速度。如图 1-3 所示。
图 1-3 SDS-TWR 测距过程示意图
SDS-TWR 测距方法虽然降低了时钟偏移在 TWR 测距中的影响,提高了测
距精度,但是仍存在一些问题,有些文献还指出 SDS-TWR 在两节点反应时间不
同的情况下会引起测距误差,并且差异的程度越大,测距误差也会随之增加,针
对这个问题引入了补偿函数来减小两节点间反应时间差异对测距的影响,通过多
次往返对称测距求平均减轻时钟偏移对距离估计的影响,提高了测距精度。除了
节点自身的时钟问题外,外界环境对 TOF 测距的影响也很大,比如在 NLOS 环
境下,信号在节点间无法沿直线路径到达,而通过其他路径传播会增加时间延迟,
使得测距误差增大。
1.3 TOA 定位
基于信号达到时间(Time of Arrival, TOA)是一种通过计算信号由发射器到
达接收点的延迟时间来确定二者相对距离的方法。由于一般情况下超声波、电磁
波等在空气中的传播速度是确定的,因此,信号发射点到接收点的相对距离可以
通过物理学中的时间-速度公式求得:d=vt。在理想状态下,通过时延计算的相
对距离能够满足定位的需要。
当采用一个接收器时,目标可能出现的位置在以接收器为中心,以两者相对
距离为半径的圆形轨迹上,因此无法确定目标的确切坐标。当采用两个接收器时,
))()((413421TTTTvvNode1T1Node2T2数据包发送ACK数据包发送ACK数据包发送T3T4
两个接收器形成的圆形轨迹有可能相交于两个点,因而目标的位置也无法进行准
确的判定。通过理论和实践可知,对于一个待定位的目标来说,需要三个不在同
一直线的接收器就可以实现精确的定位任务。假定待定位的目标为 O,三个接收
器分别为 、 、 ,那么采用 TOA 定位的原理如图 1-4 所示:
图 1-4 TOA 定位示意图
其中, 、 、 分别为各个接收器与目标 O 之间通过信号的时间延迟计
算的相对距离,每个接收器以相对距离为半径形成一个圆形轨迹。假设接收器
的坐标为
,定位目标的估计坐标为
,由于每个接收器在定位空间部
署时位置确定,因此 的具体坐标在计算过程中为已知的。利用三个圆形方程能
够完全计算出唯一的交点,计算公式如(1-3)所示:
(1-3)
由上式可以求得目标 O 点的坐标为:
(1-4)
从以上的描述和计算方法可以看出,使用 TOA 进行定位相对比较简单,在
某些超声波定位中,由于超声波波速较小,基本满足对物体定位精度的要求。但
是 TOA 存在一个主要问题在于:当传播介质的速度很快时,如电磁波,在发射
点和接收点之间进行需要高精度的时间测量装置来记录时间。如果时间测量设备
精度不高,由于介质传播速度非常快,因此很细微的时间偏差都有可能使计算出
的相对距离产生非常大的误差,从而造成定位精度的不准确。因此,在实际应用
中,如果信号传播速度较慢或定位精度不高的远距离定位时,采用 TOA 方法进
1R2R3RR1R2R3d1d2d31d2d3diRiixy、00y、xiR203203232022022220120121)()()()()()(yyxxdyyxxdyyxxd22232322232221232321232113232313100)(2)(2)(2)(2ddyyxxddyyxxyyxxyyxxyx
行定位是一种可行的定位方案。
1.4 TDOA 定位
与 TOA 类似,基于达到时间差(Time Difference of Arrival)定位所使用的观
测值也是发射点到接收点的时间延迟。然而不同的是,TDOA 在定位过程中需要
的是两个接收点的时间差值,通过三组差值方程式就能够推导出定位目标的一个
三维坐标。
TDOA 的基本原理是利用双曲线的特性,即双曲线上的点到两焦点距离之差
为定值。
TDOA 多天线定位系统的定位方式分为以下几步:
(1)测量出两接收天线接收到的信号到达时间差;
(2)将该时间差转化为距离,并带入双曲线方程,形成联立双曲线方程 组;
(3)利用有效算法求解该联立方程组的解,即待定位点坐标。
图 1-13 双曲线定位原理图
为了能够得到三组差值方程式并且便于计算,一般至少需要 4 个接收点,其
中 3 个作为普通的接收点,另一个作为参考点,即定位的起始原点。假设 4 个接
收器分别为
目标节点为 O,信号在介质中的传播速度为 ,那么求解
O 坐标的方程如公式(1-5)所示:
(1-5)
其中,
表示一个三维坐标, 为各个接收点收到信号的时间值。
TDOA 定位方法能够避免收发器之间的时间同步问题,精度高于 TOA,但同
样需要高精度的计时设备作支撑,而且功率控制会造成距离测量站较近的发射点
ABC,,,,3210RRRRv)()()()()()()()()()()()(032020202302302300220202022022022001202020210210210ttvzyxzzyyxxttvzyxzzyyxxttvzyxzzyyxxzyx,,t
功率变小的情况,因此会带来较大的误差。
1.5 基于 RSSI 定位
基于接收信号强度(Received Signal Strength Indication, RSSI)的定位方法是
根据无线电波传播规律,无线信号能量在传播过程中,会有损耗,而这种损耗与
传播路径相关的性质进行定位的,可以建立以下两种模型:RSSI 测距模型和 RSSI
指纹库模型。
一、RSSI 测距模型
RSSI 测距法,正是利用此相关性得出发射节点到接收节点之间距离。无线信
号的发射功率与接收功率的关系可以表示为式(1-6):
(1-6)
其中 是无线接收端接收功率, 为无线发射端发射功率, 为收发两端
之间的距离, 为传播损耗因子。
再把式(1-6)中的 移植左端,对两端取对数可以得到式(1-7)
已知发射端节点的发射功率,代入到式(1-5)中可以得到式(1-6)
(1-7)
(1-8)
把式(1-8)中的接收功率转换为 dBm 的表达式,即可直接改写为式
(1-9)
在无线接收端器件中,用无线接收信号强度(RSSI)来表示接收功率强度 。
大多数无线器件能够获得 RSSI 值,从而使用根据 RSSI 估计算出发射端到接收端
距离,通过相关的定位算法,估算出用户的位置坐标。
二、RSSI 指纹库模型
类似于 RSSI 测距模型,RSSI 指纹库模型也是利用了信号强度与传播距离的
相关性。每个发射端周围的信号强度值会随着距离及环境的变化而变化,在定位
区域中每个位置点的 RSSI 值特征情况可能都不一样。当在定位区域中有多个信
标节点时,区域中的任意一个点的上每个信标节点对应的 RSSI 值特征不一样,
此特征可以看成是此位置的 RSSI 指纹特征。在离线阶段,建立 RSSI 指纹特征库。
在在线定位阶段,获取的 RSSI 特征后,让其与离线指纹库对比匹配,找到最近
邻或最相似的位置点确定为未知节点的位置坐标。
2 混合定位技术
混合定位就是将一种或几种方法结合起来,以期得到较好的估计结果的定位
nTRdPPRPTPdnd)log(10)log(10RTPPdn)log(10)log(10dnAPR)log(10)(dnAdBmPRRP
方法。AOA/TOA、AOA/TDOA、TDOA/TOA。针对不同情况应制定不同无线局域网
定位策略:当网络资源不够时,可以将几种技术结合起来,用较少的硬件系统来
实现定位。
例如,使用 TOA/AOA 混合定位的计算公式为
(2-1)
(1) TOA/AOA 混合算法
下面介绍的混合近似最大似然(HAML)方法采用 TOA/AOA 测量值,可达到
很好的性能,而且它仅需两个基站,避免了网络负荷的问题。
参数矢量为
式中,
,其中 为第 个 BS 所测 TOA, 为光速; 是基站
处受加性零均值高斯噪声干扰的 AOA。AOA 噪声方差为
TOA 噪声相互独立。协方差矩阵为
,且 AOA 噪声与
(2-2)
令矢量
,其中
为 MS 坐标;令
,其中
,
为第 个 BS 坐标且
(2-3)
不失一般性,假定服务基站位于原点(0,0)。给定 ,则 的条件概率密度
函数为
式(2-4)中,
(2-4)
(2-5)
因此,ML 估计就是求最小化 的矢量 。
11212121)()()(xxyytgryyxxT21、、H)2,1(ictiiiticAOAvar321varvarvarTOATOATOAHQTyx),(yxTrr][)(R21Hiiiiyyxxksr222),(iiyxi)/arctan(2222xyyxkyxsiiiH2exp)det()2(2/12/3HHHJQfAOAiTOAiiHirJvar)(var)(2212HJ