一种基于距离偏差因子的wsn参考点迭代定位算法

文档序号:1963133 发布日期:2021-12-14 浏览:8次 >En<

阅读说明:本技术 一种基于距离偏差因子的wsn参考点迭代定位算法 (WSN reference point iterative positioning algorithm based on distance deviation factor ) 是由 陈静 缪坤坤 谢鹏 夏超 于 2021-09-01 设计创作,主要内容包括:本发明公开了一种基于距离偏差因子的无线传感器网络(WSN)参考点迭代定位算法,包括以下步骤:步骤一,搭建定位模型,该模型至少布置三个锚节点,一个目标节点。步骤二,利用RSSI值,计算初始的锚节点与目标节点的距离。步骤三,计算参考点和目标节点的初始位置坐标。步骤四,引入距离偏差因子,进一步计算新的参考点,通过不断迭代更新参考点,计算目标节点的坐标。步骤五,设置正确的迭代终止条件。本发明引入距离偏差因子,根据距离偏差因子重新计算锚节点与目标节点之间的距离,通过不断迭代更新参考点,计算目标节点的坐标,进而使复杂环境因素对RSSI的影响在定位迭代过程中被弥补,可广泛用于复杂的室内环境,实现高精度定位。(The invention discloses a distance deviation factor-based Wireless Sensor Network (WSN) reference point iterative positioning algorithm, which comprises the following steps: step one, a positioning model is built, and at least three anchor nodes and one target node are arranged on the positioning model. And step two, calculating the distance between the initial anchor node and the target node by using the RSSI value. And step three, calculating initial position coordinates of the reference point and the target node. And step four, introducing a distance deviation factor, further calculating a new reference point, and calculating the coordinates of the target node by continuously iterating and updating the reference point. And step five, setting a correct iteration termination condition. According to the method, the distance deviation factor is introduced, the distance between the anchor node and the target node is recalculated according to the distance deviation factor, the reference point is continuously updated in an iteration mode, and the coordinates of the target node are calculated, so that the influence of the complex environmental factors on the RSSI is compensated in the positioning iteration process, and the method can be widely used in the complex indoor environment and realizes high-precision positioning.)

一种基于距离偏差因子的WSN参考点迭代定位算法

技术领域

本发明涉及基于RSSI定位技术领域,具体是一种基于距离偏差因子的WSN参考点迭代定位算法。

背景技术

随着无线通信、互联网技术以及人工智能的快速发展,定位技术得到了广泛关注。室外定位技术主要通过全球定位系统(Global Positioning System,GPS)或北斗定位系统对目标对象进行定位。然而,进入室内定位系统,GPS或北斗定位系统基本失去定位精度,进而失去室内定位功能。室内定位技术主要通过搭建室内定位系统,通过多个锚节点完成对目标节点的定位。目前,室内定位技术主要分为基于测距和非测距两大类。常见的基于测距的方法主要有基于接收信号强度指示(RSSI)、基于信号传输时间(TOA)、基于信号传输时间差(TDOA)和基于信号到达角度(AOA)等算法。基于RSSI的定位算法主要思想为根据锚节点接收到的目标节点的信号强度值RSSI,计算出锚节点到目标节点的欧式距离,根据三边定位算法求得目标节点的位置信息。

理论上基于RSSI的定位算法可以实现目标节点的定位。但是室内环境可能存在障碍物﹑物体形状不规则,物体的位置也可能会随机变化,从而影响无线信号的直线传播。同时室内环境中存在着信号的反射﹑折射以及人的移动等现象,这使锚节点测量到的RSSI值存在误差,最终导致室内定位精度不够理想。

发明内容

本发明的目的是为了针对复杂的室内环境而造成的定位精度不高的问题,提出一种基于距离偏差因子的WSN参考点迭代定位算法。其特点在于不需要获取室内环境的先验信息,可广泛用于复杂的室内环境,实现高精度室内定位。

本发明实现发明目的采用如下技术方案是一种基于距离偏差因子的WSN参考点迭代定位算法,具体包括以下步骤:

步骤一,搭建(WSN)定位模型,该模型至少布置三个锚节点,一个目标节点。

步骤二,利用锚节点与目标节点之间的数据通信,锚节点可以测得目标节点所发信号的接收信号强度指示RSSI,剔除异常值,并利用常用的测距模型:对数-距离路径损耗模型(Log-Distance Pass Loss,LDPL)计算初始的锚节点与目标节点的距离。

步骤三,由各个锚节点坐标、锚节点与目标节点的初始距离计算出参考点坐标,以参考点为顶点组成三角形,取三角形质心为目标节点的初始位置坐标。

步骤四,在目标节点初始位置的基础上引入距离偏差因子,根据距离偏差因子重新计算给定锚节点与未知目标节点之间的距离,并进一步计算新的参考点,通过不断迭代更新参考点,计算目标节点的坐标。

步骤五,迭代定位算法的关键在于终止条件的设置,设置正确的迭代终止条件,可以在少量的迭代次数内获得较高的定位精度。

进一步地,所述步骤二具体包括:

根据锚节点的接收到达信号强度RSSI通过LDPL模型即公式(1)计算出各个锚节点与目标节点的初始距离。

P(d)=P(d0)-10n log10(d/d0)+Xσ (1)

式(1)中,n表示路径损耗因子;X为阴影系数,是一个以0为均值,以σ为方差的高斯随机变量;P(d)为两个节点之间距离为d时的RSSI值;P(d0)为两个节点之间距离为d0时的RSSI值,其中d0为参考距离,一般取1m。

当d0取1m,并用RSSI表示d处的信号强度时,式(2)可简化为:

RSSI(d)=A-10n log10(d)+Xσ (2)

式(2)中,A是节点间距为1m时的RSSI标准值。

进一步地,所述步骤三具体包括:

由于A1(xr1,yr1)在以锚节点M1(x1,y1)为圆心、M1与目标节点间的距离d1为半径的圆周上,于是有:

(xr1-x1)2+(yr1-y1)2=d1 2 (3)

同时,A1(xr1,yr1)需要满足的条件可由式(4)来表示:

式(4)中,d2和d3分别是圆M2和圆M3的半径,|A1M2|、|A1M3|分别是参考点A1(xr1,yr1)和锚节点M2(x2,y2)、M3(x3,y3)之间的距离,可表示为:

由式(3)~(6)计算出的参考点A1可能会有多解,只需要保留△M1M2M3内部的解A1(xr1,yr1),可以通过两个锚节点确定一直线,参考点和另一个锚节点位于直线同侧的方法判断。同理,可以计算得到圆M2和圆M3上的参考点A2(xr2,yr2)和A3(xr3,yr3)。

将上述所求的三个参考点为顶点构成一个三角形,以这个三角形的质心作为目标节点的初始定位坐标GI(xg,yg),其可由公式(7)获得:

进一步地,所述步骤四具体包括:

将目标节点的初始定位坐标与锚节点坐标之间的距离记为dOi,采用LDPL模型计算出目标节点和锚节点的距离,记为dIi,距离偏差因子Ci可由式(8)定义,用于表示dIi和dOi之间的偏差程度。

Ci=dIi/dOi (8)

式(8)中,I为参考点的迭代次数,i=1,2,3。

每次迭代可计算出3个距离偏差因子,通常采用它们的平均值和中位数作为统计总体特征的参数。由于可能会出现3个距离偏差因子的极值太大或太小的情况,其平均值用于计算会使得最终结果偏离实际值,因此通常采用它们的中位数(记为Cmid)来表达总体距离偏差特征,基于Cmid重新计算锚节点与目标节点间距离(记为d(I+1)i),其可由式(9)表示:

d(I+1)i=dIi/Cmid (9)

基于新的距离d(I+1)i对参考点进行迭代,进而不断更新目标节点的定位坐标。

进一步地,所述步骤五具体包括:

迭代定位算法的关键在于终止条件的设置,如果设置正确的终止条件,可以在少量的迭代次数内获得较高的定位精度。经由迭代实验表明当迭代次数大于6时所求坐标精度提升开始急剧放缓,因此选择预设迭代次数6作为迭代的终止条件具有较高的精度和较好的时效性。

本发明的技术效果在于:引入距离偏差因子,根据距离偏差因子重新计算给定锚节点与未知目标节点之间的距离,并进一步计算新的参考点,通过不断迭代更新参考点,计算目标节点的坐标,进而使复杂环境因素对RSSI的影响在定位迭代过程中被弥补,可广泛用于复杂的室内环境,实现高精度定位。

附图说明

图1是参考点迭代定位算法流程图

图2是参考点坐标计算原理图

图3是不同迭代次数的定位误差率

图4是锚节点和目标节点的分布图

图5是TCP定位结果

图6是WCP定位结果

图7是基于距离偏差因子的参考点迭代定位结果

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

如图1所示,根据本发明的一种基于距离偏差因子的WSN参考点迭代定位算法的实施例的具体流程,包括如下步骤:

步骤一,搭建(WSN)定位模型,该模型至少布置三个锚节点,一个目标节点。

步骤二,利用锚节点与目标节点之间的数据通信,锚节点可以测得目标节点所发信号的接收信号强度指示RSSI,剔除异常值,并利用常用的测距模型:对数-距离路径损耗模型(Log-Distance Pass Loss,LDPL)计算初始的锚节点与目标节点的距离。

步骤三,由各个锚节点坐标、锚节点与目标节点的初始距离计算出参考点坐标,以参考点为顶点组成三角形,取三角形质心为目标节点的初始位置坐标。

步骤四,在目标节点初始位置的基础上引入距离偏差因子,根据距离偏差因子重新计算给定锚节点与未知目标节点之间的距离,并进一步计算新的参考点,通过不断迭代更新参考点,计算目标节点的坐标。

步骤五,迭代定位算法的关键在于终止条件的设置,设置正确的迭代终止条件,可以在少量的迭代次数内获得较高的定位精度。

步骤二中具体为:

根据锚节点的接收到达信号强度RSSI通过LDPL模型即公式(1)计算出各个锚节点与目标节点的初始距离。

P(d)=P(d0)-10n log10(d/d0)+Xσ (1)

式(1)中,n表示路径损耗因子;X为阴影系数,是一个以0为均值,以σ为方差的高斯随机变量;P(d)为两个节点之间距离为d时的RSSI值;P(d0)为两个节点之间距离为d0时的RSSI值,其中d0为参考距离,一般取1m。

当d0取1m,并用RSSI表示d处的信号强度时,式(2)可简化为:

RSSI(d)=A-10n log10(d)+Xσ (2)

式(2)中,A是节点间距为1m时的RSSI标准值。

如图2所示,步骤三中A1(xr1,yr1)在以锚节点M1(x1,y1)为圆心、M1与目标节点间的距离d1为半径的圆周上,于是有:

(xr1-x1)2+(yr1-y1)2=d1 2 (3)

同时,A1(xr1,yr1)需要满足的条件可由式(4)来表示:

式(4)中,d2和d3分别是圆M2和圆M3的半径,|A1M2|、|A1M3|分别是参考点A1(xr1,yr1)和锚节点M2(x2,y2)、M3(x3,y3)之间的距离,可表示为:

由式(3)~(6)计算出的参考点A1可能会有多解,只需要保留△M1M2M3内部的解A1(xr1,yr1),可以通过两个锚节点确定一直线,参考点和另一个锚节点位于直线同侧的方法判断。同理,可以计算得到圆M2和圆M3上的参考点A2(xr2,yr2)和A3(xr3,yr3)。

将上述所求的三个参考点为顶点构成一个三角形,以这个三角形的质心作为目标节点的初始定位坐标GI(xg,yg),其可由公式(7)获得:

步骤四中具体为:

将目标节点的初始定位坐标与锚节点坐标之间的距离记为dOi,采用LDPL模型计算出目标节点和锚节点的距离,记为dIi,距离偏差因子Ci可由式(8)定义,用于表示dIi和dOi之间的偏差程度。

Ci=dIi/dOi (8)

式(8)中,I为参考点的迭代次数,i=1,2,3。

每次迭代可计算出3个距离偏差因子,通常采用它们的平均值和中位数作为统计总体特征的参数。由于可能会出现3个距离偏差因子的极值太大或太小的情况,其平均值用于计算会使得最终结果偏离实际值,因此通常采用它们的中位数(记为Cmid)来表达总体距离偏差特征,基于Cmid重新计算锚节点与目标节点间距离(记为d(I+1)i),其可由式(9)表示:

d(I+1)i=dIi/Cmid (9)

基于新的距离d(I+1)i对参考点进行迭代,进而不断更新目标节点的定位坐标。

如图3所示,步骤五中通过迭代实验确定迭代次数。设置正确的终止条件,可以在少量的迭代次数内获得较高的定位精度。为了确定合适的迭代终止次数,在不同的节点通信半径(通信半径R=10m和R=20m)及不同的锚节点数量(锚节点数量J=10和J=20)条件下进行了20次迭代仿真。每次迭代对应的平均定位误差率如图2所示。

可以看出,在不同的条件下,迭代次数小于6时,平均定位误差率随着迭代次数的增加而减小,迭代6次以后不再变化,即目标节点的定位精度达到收敛,因此本文将迭代终止次数设置为6次。

如图4所示为目标节点与锚节点的真实位置,基于距离偏差因子的WSN参考点迭代定位算法(图7)与其他定位算法(图5、图6)的对比实验可以看出,本发明的定位算法确定的目标节点位置更加接近其真实位置,与其他定位算法相比具有更高的精度。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种用于以太网自动协商模式下的测距方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!