差分定位

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.3 差分修正定位算法

传统差分修正算法如图1所示,信标节点为A(x1,y1),B(x2,y2),C(x3,y3),未知节点M(x,y)。D(x4,y4)是与未知节点M最近的信标节点,令其为差分参考节点。差分参考节点D到信标节点A,B,C的实际距离分别为dDA,dDB,dDC;未知节点M到信标节点A,B,C的测量距离分别为dA,dB,dC。通过信标节点对差分参考节点的定位实现对未知节点坐标的校正。

首先通过A,B,C用三边测量法求出D点的测量坐标,与D点的实际坐标相

比较,得出偏移量(△x,△y)。用同样的办法通过A,B,C对M点进行定位,得出M点的测量坐标。在这里,可以将差分参考点D的偏移量近似作为未知节点M的偏移量。M点的测量坐标加上差分参考点D的偏移量,得出M的定位坐标(x,y)。如式(7)所示:

2 改进的差分修正算法与实现

传统的差分修正算法中,差分修正参考点的选取存在一些不合理的因素。该算法要取得较好的定位效果必须有一个信标节点在未知节点附近。在实际应用场合,这一条件通常难以满足:在信标节点密度有限的情况下,未知节点处于信标节点附近不是一个大概率事件。如图2所示,未知节点距离各个信标节点的距离都不是很接近,在定位区域内无法选出最优参考点,那么此时采用最近的参考点对未知节点校正,就会产生很大的误差。

本文提出改进的差分修正算法,利用各信标节点分别作为参考点进行差分修正,从一定程度上可以避免此类问题的出现。

2.1 改进的差分修正定位算法模型

首先,根据接收到的RSSI的大小,确定距离未知节点M最近的三个信标节点。以这三个信标节点确定一个三角形,求出这个三角形的质心。距离该质心最近的信标节点作为定位计算的第四个信标节点,此四点所围成的区域,便是未知节点所在的最小区域。

然后,以A,B,C,D为信标节点对未知节点M进行定位。首先以A点作为差分修正参考点,B,C,D作为信标节点,利用式(7)得出M以A为差分修正点的定位坐标(xma,yma)。然后分别以B,C,D作为差分修正参考点对M(X,Y)进行定位,得到差分修正坐标(xmb,ymb),(xmc,ymc),(xmd,ymd)。

在传统的差分修正算法中,没有充分利用其他信标节点对节点位置影响力的大小,影响了定位精度。改进的差分修正算法,通过加权因子来体现信标节点对节点位置坐标决定权的大小。根据差分参考点到未知节点的距离对差分修正坐标进行加权修正,计算出M的坐标。

式中:dA,dB,dC,dD为信标节点到未知节点的距离。因子体现了距离未知节点越近的信标节点作为参考点时,对未知节点坐标位置的影响力越大。通过这种内在关系的反映来达到提高定位精度的目的。

2.2 算法实现过程

基于上面提出的改进差分修正算法,其实现的步骤如下:

(1)信标节点周期性地发送自身信息:节点ID、自身位置信息。

(2)未知节点在收到信息后,对同一信标节点的RSSI求均值。

(3)当未知节点接收到一定数量的信标节点的信息后,不再接收信息。未知节点根据RSSI从强到弱的顺序,建立RSSI值与节点到信标节点距离的映射。建立以下三个集合。

信标节点集合:B_set={b1,b2,…,bm};

未知节点到信标节点的距离集合:D_set={d1,d2,…,dm},d1

信标节点的位置集合:P_set={(x1,y1),(x2,y2),…,(xm,ym)};

(4)选取RSSI值大的前几个信标节点进行定位计算。在这里按照本文改进的算法,选取未知节点所在最小区域的四个信标节点用于定位。用改进的差分修正定位算法对这四个信标节点分别进行差分定位,利用式(8)求出未知节点的坐标(x,y)。

(5)计算定位误差,其中(x,y)为未知节点的真实位置。

3 仿真结果

在Matlab平台上,分别对差分定位算法和改进的差分定位算法进行仿真。仿真条件是

在一个30 m的正方形区域内,传播路径损耗模型选择经典的自由空间模型和对数一常态模型。在该区域的四个顶点,分别放函数来生成,在该区域内随机分布,一共生成20个未知节点。然后根据RSSI与距离的关系,由式(4)生成RSSI数据,这里b取30,n取2,并在

数据中添加均值为0,方差δ为3和7的高斯噪声,作为RSSI的随机分量,以模拟实际环

境中反射、多径等带来的影响。按照上述方法,在两种情况下分别对两种算法进行仿真运算,得出未知节点的测量位置。两种算法的仿真结果与对比如图3~图6所示。

从图中可以看出,改进的差分修正定位算法的位置偏移量明显小于传统的差分修正定位算法。改进的差分修正定位算法,通过选取多个差分参考点的方法,很好地解决了由于选择单个差分参考节点,从而导致误差过大的问题。

表1给出了两种差分修正算法定位效果的比较,从表中可以看出,改进的差分修正算法和差分修正算法相比,定位精度和稳定性有明显提高。

4 结论

传统的差分修正算法由于只考虑距离未知节点最近的信标点作为参考节点,在定位过程中就会使差分参考节点对未知节点坐标的决定权过大。本文提出的改进的差分修正算法,利用区域内的信标节点分别作为差分参考节点,进行差分定位,并且通过采用差分参考节点到未知节点的距离的倒数作为权值,更好地体现了各个差分参考节点对未知节点的决定权。在相同条件下仿真,定位精度较传统的差分修正算法有很大提高,定位的稳定性也有明显提升。

相关文档
最新文档