基于距离的(range-based)定位算法是通过测量相邻结点间的实际距离或方位进行定位。具体过程通常分为三个阶段:第一个阶段是测距阶段,未知结点首先测量到邻居结点的距离或角度,然后进一步计算到邻近信标结点的距离或方位,在计算到邻近信标结点的距离时,可以计算未知结点到信标结点的直线距离,也可以用二者之间的跳段距离作为直线距离的近似;第二个阶段是定位阶段,未知结点在计算出到达三个或三个以上信标结点的距离或角度后,利用三边测量法、三角测量法或极大似然估计法计算未知结点的坐标;第三个阶段是修正阶段,对求得的结点的坐标进行求精,提高定位精度,减少误差。
在基于距离的定位算法中,测量结点间距离或方位时采用的方法有TOA、TDOA、RSSI和AOA等,因此基于距离的定位进一步分为:基于TOA的定位、基于TDOA的定位、基于AOA的定位和基于RSSI的定位等。
1)基于TOA的定位
在基于到达时间(TOA)的定位机制中,已知信号的传播速度,根据信号的传播时间来计算结点间的距离,然后利用已有算法计算出结点的位置。
本章参考文献[7]中给出了基于TOA定位的一个简单实现,采用伪噪声序列信号作为声波信号,根据声波的传播时间来测量结点间的距离。如图4-8所示,结点的定位部分主要由扬声器模块、麦克风模块、无线电模块和CPU模块组成。假设两个结点间时间同步,发送结点的扬声器模块在发送伪噪声序列信号的同时,无线电模块通过无线电同步消息通知接收结点伪噪声序列信号发送的时间,接收结点的麦克风模块在检测到伪噪声序列信号后,根据声波信号的传播时间和速度计算发送结点和接收结点之间的距离。结点在计算出距离多个邻近信标结点的距离后,可以利用三边测量法或极大似然估计法计算出自身位置。与无线射频信号相比,声波频率低,速度慢,对结点硬件的成本和复杂度的要求都低,但是声波的缺点是传播速度容易受到大气条件的影响。
图4-8 使用声波进行测距
基于TOA的定位精度高,但要求结点间保持精确的时间同步,因此对传感器结点的硬件和功耗提出了较高的要求。
2)基于TDOA的定位
在基于到达时间差(TDOA)的定位机制中,发射结点同时发射两种不同传播速度的无线信号,接收结点根据两种信号到达的时间差以及已知的两种信号的传播速度,计算两个结点之间的距离,再通过已有基本的定位算法计算出结点的位置。
如图4-9所示,发射结点同时发射无线射频信号和超声波信号,接收结点记录两种信号到达的时间T1和T2,已知无线射频信号和超声波的传播速度为c1和c2,那么两点之间的距离为(T2-T1)×S,其中。下面通过Cricket系统和AHLoS系统进一步说明基于TDOA的定位技术的应用。
图4-9 TDOA定位法原理图示
(1)Cricket系统
室内定位系统Cricket[8]系统是麻省理工学院的Oxygen项目的一部分,用来确定移动或静止结点在大楼内的具体房间位置。
在Cricket系统中,每个房间都安装有信标结点,信标结点周期性同时发射无线射频信号和超声波信号。无线射频信号中含有信标结点的位置信息,而超声波信号仅仅是单纯脉冲信号,没有任何语义。由于无线射频信号的传播速度要远大于超声波信号的传播速度,未知结点在收到无线射频信号时,会同时打开超声波信号接收机,根据两种信号到达的时间间隔和各自的传播速度,计算出未知结点到该信标结点的距离。然后通过比较到各个邻近信标结点的距离,选择出离自己最近的信标结点,从该信标结点广播的信息中取得自身的房间位置。
(2)AHLoS系统
AHLoS(Ad-Hoc Localization System)[9]是一个迭代的定位算法。具体定位过程为:未知结点首先利用TDOA定位法测量与其邻居结点的距离;当未知结点的邻居结点中信标结点的数量大于或等于3个时,利用极大似然估计法计算自身位置,随后该结点转变成新的信标结点,称为转化信标结点,并将自身的位置广播给邻居结点;随着系统中转化信号结点数量不断增加,原来邻居结点中信标结点数量少于3个的未知结点,将逐渐拥有足够多邻居信标结点,就能够利用极大似然估计法计算自身的位置。这个过程一直重复到所有结点都计算出自身的位置为止。
在AHLoS系统中,未知结点根据周围信标结点的不同分布情况,分别利用相应的子算法计算未知结点的位置。
①原子多边算法
原子多边(Atomic Multilateration)算法是指在未知结点的邻居结点中至少有3个原始信标结点(非转化信标结点)时,这个未知结点基于原始信标结点,利用极大似然估计法计算自身位置。
②迭代多边算法
迭代多边(Iterative Multilateration)算法是指邻居结点中信标结点数量少于3个,在经过一段时间后,其邻居结点中部分未知结点在计算出自身位置后成为转化信标结点,当邻居结点中信标结点数量等于或大于3个时,这个未知结点基于原始信标结点和转化信标结点,利用极大似然估计法计算自身位置。
③协作多边算法
协作多边算法(Collaborative Multilateration)是指在经过多次迭代定位以后,部分未知结点的邻居结点中,信标结点的数量仍然少于3个,此时必须要通过其他结点的协助才能够计算自身位置。如图4-10所示,在经过多次迭代定位以后,未知结点2的邻居结点中只有1和3两个信标结点,结点2要通过计算到信标结点5和6的多跳距离,再利用极大似然估计法计算自身位置。
图4-10 原子多边算法与协作多边算法原理图示
AHLoS算法对信标结点的密度要求高,不适用于规模大的传感器网络,而且迭代过程中存在累积误差。本章参考文献[10]中引入了n-跳段多边(n-hop multilateration)算法,是对协作多边算法的扩展。在n-跳段多边算法中,未知结点通过计算到信标结点的多跳距离进行定位,减少了非视线关系对定位的影响,对信标结点密度要求也比较低。此外,结点定位之后引入了修正阶段,提高了定位的精度。
TDOA定位技术对硬件的要求高,成本和能耗使得该种技术对低能耗的传感器网络提出了挑战。但是TDOA定位技术测距误差小,有较高的精度。
3)基于AOA的定位
在基于到达角度(AOA)的定位机制[11]中,接收结点通过天线阵列或多个超声波接收机感知发射结点信号的到达方向,计算接收结点和发射结点之间的相对方位或角度,再通过三角测量法计算出结点的位置。
如图4-11所示,接收结点通过麦克风阵列感知发射结点信号的到达方向。下面以每个结点配有两个接收机为例,简单阐述基于AOA测定方位角和定位的实现过程,定位过程可分为三个阶段。
图4-11 AOA定位法原理图示
(1)测定相邻结点之间的方位角
如图4-12所示,结点A的两个接收机R1、R2间的距离是L,接收机连线中点的位置代表结点A的位置。将两个接收机连线的中垂线作为结点A的轴线,该轴线作为确定邻居结点方位角的基准线。
在图4-13中,结点A、B、C互为邻居结点,结点A的轴线方向为结点A处箭头所示方向,结点B相对于结点A的方位角是∠ab,结点C相对于A的方位角是∠ac。
图4-12 结点结构图示(www.xing528.com)
图4-13 方位角图示
在图4-12中,结点A的两个接收机收到结点B的信号后,利用TOA技术测量出R1和R2到结点B的距离x1和x2,再根据几何关系,计算结点B到结点A的方位角θ,它对应图4-13中的方位角∠ab,实际中利用天线阵列可获得精确的角度信息。同样再获得方位角∠ac,最后得到∠CAB=∠ac-∠ab。
(2)测量相对信标结点的方位角
在图4-14中,结点L是信标结点,结点A、B、C互为邻居。利用上节方法计算出A、B、C三点之间的相对方位信息。假定已经测得信标结点L、结点B和C之间的方位信息,现在需要确定信标结点L相对于结点A的方位。
图4-14 方位角测量图示
如上所述,△ABC、△LBC的内部角度已经确定,从而能够计算出四边形ACLB的角度信息,进而计算出信标结点L相对于结点A的方位。通过这种方法,与信标结点不相邻的未知结点就可以计算出与各信标结点之间的方位信息。
(3)利用方位信息计算结点的位置
如图4-15所示,结点D是未知结点,在结点D计算出n(n≥3)个信标结点相对于自己的方位角后,从n个信标结点中任选三个信标结点A、B、C。∠ADB的值是信标结点A和B相对于结点D的方位角之差,同理可计算出∠ADC和∠BDC的角度值,这样就确定了信标结点A、B、C和结点D之间的角度。
当信标结点数目n为3时,利用三角测量法直接计算结点D的坐标;当信标结点数目n大于3时,将三角测量法转化为极大似然估计法来提高定位精度,如图4-16所示,对于结点A、B、D,能够确定以点O为圆心,以OB或OA为半径的圆,圆上的所有点都满足∠ADB的关系,将点O作为新的信标结点,OD的长度就是圆的半径。因此,从n个信标结点中任选两个,可以将问题转化为有个信标结点的极大似然估计算法,从而确定点D的坐标。
图4-15 三角测量法图示
图4-16 三角测量法转化为三边测量法
AOA定位技术不仅能确定结点的坐标,还能提供结点的方位信息。但AOA技术易受外界环境影响,且需要额外硬件,在硬件尺寸和功耗上不适用于大规模的传感器网络。
4)基于RSSI的定位
(1)接收信号强度指示(RSSI)
RSSI测距的原理如下:接收机通过测量射频信号的能量来确定与发送机的距离。无线信号的发射功率和接收功率之间的关系如式(4-19)所示,其中PR是无线信号的接收功率,PT是无线信号的发射功率,r是收发单元之间的距离,n是传播因子,其值取决于无线信号的传播环境。
上式两边取对数,可得
由于网络结点的发射功率是已知的,将发送功率代入上式,可得
上式的左半部分10lgPR是接收信号功率转换为dBm的表达式,可以直接写成
这里A可以看作信号传输1m时接收信号的功率。式(4-22)可以看作接收信号强度和无线信号传输距离之间的理论公式,它们的关系如图4-17所示。从理论曲线可以看出,无线信号在传输过程的近距离上信号衰减相当厉害,远距离上信号呈缓慢线性衰减。
图4-17 无线信号接收强度指示与信号传播距离之间的关系
该方法由于实现简单,已被广泛采用。使用时应注意遮盖或折射现象会引起接收端产生严重的测量误差,精度较低。
(2)利用信号传播的经验模型
RADAR[12]是一个基于RSSI技术的室内定位系统,用以确定用户结点在楼层内的位置。实际定位前,在楼层内选取若干测试点,记录在这些点上各基站收到的信号强度,建立各个点上的位置和信号强度关系的离线数据库(x,y,ss1,ss2,ss3)。实际定位时,根据测得的信号强度)和数据库中记录的信号强度进行比较,信号强度均方差最小的那个点的坐标作为结点的坐标。
为了提高定位精度,在实际定位时,可以对多次测得的信号强度取平均值。也可以选取均方差最小的几个点,计算这些点的质心作为结点的位置。这种方法有较高的精度,但是要预先建立位置和信号强度关系数据库,当基站移动时要重新建立数据库。
(3)利用信号传播的理论模型
RADAR系统中,主要考虑建筑物的墙壁对信号传播的影响,建立了信号衰减和传播距离的关系式。根据三个基站实际测得的信号强度,利用式(4-23)实时计算出结点与三个基站间的距离,然后利用测量法计算结点位置:
其中,P〈d〉表示基站接收到用户结点的信号强度;P〈d0〉表示基站接收到参考点d0发送信号的强度,假设所有结点的发送信号强度相同;n表示路径长度和路径损耗之间的比例因子,依赖于建筑物的结构和使用的材料;d0表示参考结点和基站间的距离;d表示需要计算的结点和基站间的距离;nW表示结点和基站间的墙壁数;C表示信号穿过墙壁数的阈值;WAF表示信号穿过墙壁的衰减因子,依赖于建筑物的结构和使用的材料。
这种方法不如上一种方法精确,但可以节省费用,不必提前建立数据库,在基站移动后不必重新计算参数。
虽然在实验环境中RSSI技术表现出良好的特性,但是在现实环境中,温度、障碍物、传播模式等条件往往都是变化的,使得该技术在实际应用中依然存在困难。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。