一种无线传感网络中基于估距的定位方法
技术领域
本发明涉及一种无线传感网络中的定位方法,特别涉及一种无线传感网络中基于估距的定位方法。
背景技术
近年来随着人们对无人值守下的环境监控、物体追踪、室内导航等需求的不断增加,无线传感网络的作用也越加明显。
传感器节点、数据处理终端、网关节点是组成无线传感网的基础,其组网方式采用多跳和对等方式,网络拓扑结构与无线Adhoc网络相似,具有自织织和自适应等动态变化等特性。
传感器节点散布在指定的感知区域内,它们能够从周围环境中读取的数据,但由于这些传感器节点体积微小,只有有限的计算处理能力,所以通常通过多跳路由的方式把数据传送到网关节点,然后交由数据处理终端集中处理。可以看出无线传感网是一种规模和资源严格受限的分布系统。
定位技术是传感器网络的应用基础,无线传感网的大多数应用都需要传感器节点的位置信息。传感网采集的数据需要位置信息才能表达该事件的含义,没有位置信息的数据几乎没有利用价值,因此位置信息是感知数据的重要组成部分。其次传感网的很多协议,比如拓扑控制、状态无关路由技术、目标追踪等都需要位置信息的支持才能实现。
无线传感网的定位系统中通常将传感器节点分为两类,一类称之为锚点,或称为信标节点,它是具有自主定位能力的节点;另一类称为未知节点,它们通过获取锚点的相关信息确定自己位置。
锚点的自主定位能力一般可通过GPS卫星或者人工配置手段来实现,出于成本和功耗等方面的考虑,锚点在整个网络节点中所占的比例通常很少。而未知节点的自身定位由算法来实现。
目前,传感网的定位算法大致可以分为基于测距的算法和无需测距的算法两类。由于无需测距的算法仅根据网络连通性实现定位,因此该算法具有抗干扰能力强,硬件成本低等优点,其中DV-Hop算法在无需测距类型中应用最为广泛。DV-Hop算法是用平均跳距与锚节点间最小跳数的乘积来近似表示未知节点到锚节点的距离。当未知节点受地形、环境和气候等因素的影响分布不均匀时,会导致较大的估距误差,使定位准确度下降;其次平均每跳距离存在一定的误差,当未知节点到锚点的跳数较大时,误差的累计效应会使得定位准确度大大降低。
发明内容
本发明的目的是提供无线传感网络中基于估距的定位方法,采用该方法无线传感网络中估距误差小,定位准确度高,可以用于动物种群的跟踪、大范围的环境监测、安全生产监控、室内导航等领域。
该方法采用未知节点在每次估算距离时,依据所需估算的距离寻找最优估距锚点,各级是否存在最优估距锚点以及其类型将估距方式分成三种类型,每种类型以不同的方式获取估算距离以实现定位,最后用“非线性-跳数”加权因子对同一未知节点的多个估计坐标进行加权处理,以求得未知节点的坐标实现定位。
具体的技术方案是:
无线传感网络中基于估距的定位方法,有以下步骤:
1)将具有自主定位能力的锚点和未知节点随机分布在定位区域中;
2)锚点与未知节点的自身初始化;
3)各锚点向周围的未知节点发送包含自身ID与自身坐标的数据包,并将数据包中记录数据值的数据置为0;
4)未知节点接收步骤3)所述的各个锚点的数据包,提取数据包中的ID信息进行判断,若为首次接收该ID的数据包,则记录下该数据包,并将该数据包中的跳数值加1后向周围的未知节点和锚点转发,否则对已接收的相同ID的数据包进行比较,若当前接收的数据包中的记录转发次数的跳数值比已接收的相同ID的数据包中的跳数值小,则记录下该数据包,并将该数据包中的跳数值加1后转发,否则丢弃该数据包,若未知节点在一定时间后没有接收到下一个数据包则结束步骤4),否则继续进行步骤4)的比较;
5)各锚点将记录的其它锚点到该锚点的最小跳数值整理成该锚点的跳数表,并向网络中发送;
6)未知节点接收锚点发送的跳数表;
7)跳数表的数值进行估距计算;
8)估距计算值采用极大似然法计算三边定位坐标,若算出所有组合的三边定位坐标,则进行坐标加权;若没有算出所有组合的三边定位坐标,则重新用极大似然法计算三边定位坐标,至算出所有组合的三边定位坐标,进行坐标加权,求出坐标;
9)定位结束。
步骤1)所述的未知节点为通过获取锚点的相关信息确定自己位置的传感器节点,该相关信息包括,该未知节点到各个锚点的跳数值、各锚点的坐标以及各锚点发送的跳数表。
步骤5)所述各锚点表示为A(i),其跳数表的形式如下:
锚点A(i)发送的跳数表
ID |
1 |
2 |
… |
i |
… |
跳数 |
a1 |
a2 |
… |
0 |
… |
步骤7)所述估距计算的方法为:
A.选择锚点与待估距锚点间跳数最小的作为最优辅助估距锚点,未知节点使用这两个锚点间的平均每跳距离进行距离估算,该最优辅助估距锚点为I,y表示待估距锚点,则平均每跳距离lpHopy,I为
未知节点x与锚点y之间的估计距离为
当不存在锚点I时,进行步骤B的估距计算,否则本次估距计算结束;
B.不满足步骤A的估距条件时,寻找最优辅助估距锚点II,使得该锚点处于未知节点与待估距锚点的最小传播路径中,计算未知节点到最优辅助估距锚点II的估算距离时,采用全局每跳距离作为未知节点到平均每跳距离,其计算方法如下:
(当x1=x2时lx1,x2=0且hopx1,x2=0)
式中ID表示锚点的识别编号的集合;
当有多个锚点满足该条件时,选择未知节点与其跳数最小的作为辅助估距锚点II,采用如下公式计算估计距离为
当不存在辅助估距锚点II时,进行步骤C的估距计算,否则本次估距计算结束;
C.不满足步骤A、步骤B的估距条件的未知节点,采用全局平均每跳距离进行III类型的估算距离
步骤A、B、C中以表示未知节点与锚点或锚点与锚点间的最小跳数,两锚点间的实际距离用表示,未知节点到锚点的估计距离用表示,其中x1,x2表示未知节点或者锚点的ID值。
步骤8)所述的坐标加权的计算方法为:
未知节点κ由锚点ID为i,j,k所估算出的坐标对应的权值γ(κ,i,j,k)可由下式表示,x1,x2,x3则表示三个不同的锚点ID变量
其中
cosΔ(i,j,k)表示由i,j,k三个锚点组成的三角形的最小角,hopκ,λ表示未知节点κ到锚点ID为λ的跳数,则表示未知节点到i,j,k三个锚点的跳数和。若以表示由锚点i,j,k估算的坐标,f(x,i,j,k)则表征了该坐标的可信度,最终未知节点κ的估计坐标(x,y)为:
申请人通过分析DV-HOP算法在估距时误差产生的原因,采用以估距方式驱动的新算法,结合“非线性-跳数”加权因子进一步减小误差,最后通过matlab仿真实验验证了本算法的正确性和准确性。
由于跳数值是估算未知节点到锚点的距离以及推断网络拓扑结构的重要依据,本发明在不增加硬件功能和成本的条件下,利用了锚点与位置节点间的跳数信息进行了网络拓扑结构的估计,使定位精度得到了有效的提高。在无线传感网的定位系统中,由于锚点比例在一定程度上决定了定位系统的成本,而本发明还可以在确保定位精度的条件下减少锚点个数,进而节约系统的开销。
附图说明
图1为本发明所述定位系统示意图;
图2为本发明所述定位系统的定位流程图;
图3为估距方法流程图;
图4为镜像坐标示意图;
图5为本系统的定位实验结果图。
具体实施方式
无线传感网络中基于估距的定位方法,有以下步骤(参见图1和图2):
1)将具有自主定位能力的锚点和未知节点,随机分布在定位区域中,其中未知节点为通过获取锚点的相关信息确定自己位置的传感器节点;
2)锚点与未知节点的自身初始化;
3)各锚点向周围的未知节点发送包含自身ID与自身坐标的数据包,并将数据包中记录数据值的数据置为0;
4)未知节点接收步骤3)所述的各个锚点的数据包,提取数据包中的ID信息进行判断,若为首次接收该ID的数据包,则记录下该数据包,并将该数据包中的跳数值加1后向周围的未知节点和锚点转发,否则对已接收的相同ID的数据包进行比较,若当前接收的数据包中的记录转发次数的跳数值比已接收的相同ID的数据包中的跳数值小,则记录下该数据包,并将该数据包中的跳数值加1后转发,否则丢弃该数据包,若未知节点在一定时间后没有接收到下一个数据包则结束步骤4),否则继续进行步骤4)的比较;
5)各锚点将记录的其它锚点到该锚点的最小跳数值整理成该锚点的跳数表,并向网络中发送,锚点A(i)的跳数表如下表所示:
锚点A(i)发送的跳数表
ID |
1 |
2 |
… |
i |
… |
跳数 |
a1 |
a2 |
… |
0 |
… |
6)未知节点接收锚点发送的跳数表;
7)跳数表的数值进行估距计算,具体如下(参见图3):
步骤A:寻找辅助估距锚点,使得未知节点处于待估距锚点与它的最小跳数传播路径中,当存在多个满足该条件的锚点时,依据经验法则及平面几何原理,两锚点间跳数值越小,则两点间的线性度越好,平均每跳距离越准确,另一面锚点间的已知直线距离及最小跳数值对估算距离形成相关约束条件,故应当选择与待估距锚点间跳数最小的作为步骤1中的最优辅助估距锚点,未知节点使用这两个锚点间的平均每跳距离进行距离估算。若以I表示此时的最优辅助估距锚点,y表示待估距锚点,则平均每跳距离lpHopy,I可表示如下
此时未知节点x与锚点y之间的估计距离可表示为
当不存在辅助估距锚点I时,进行步骤B的估距计算,否则这次估距计算结束。
步骤B:不满足步骤A的估距条件时,寻找最优辅助估距锚点Ⅱ,使得该锚点处于未知节点与待估距锚点的最小传播路径中,这样可以利用该锚点和待估距锚点的已知直线距离。为了尽量减少估算距离的均方误差,在计算未知节点到最优辅助估距锚点Ⅱ的估算距离时,引入全局每跳距离作为未知节点到平均每跳距离,计算方法如下:
(当x1=x2时lx1,x2=0且hopx1,x2=0)
式中的ID表示锚点的识别编号的集合。
从统计学的角度分析使用它的好处是:使用尽量多的样本信息去估计未知参数的平均值,以降低均方误差使定位更加稳定。当有多个满足该条件的锚点时,应当选择未知节点与其跳数最小的作为类型II的最优辅助估距锚点II,并依据如下公式计算估计距离
当不存在辅助估距锚点II时锚点时,直接进行步骤C的估距计算,否则这次估距计算结束。
步骤C:不满足步骤A与步骤B估距条件的未知节点,他们的存在与否对任意锚点的平均跳距均不产生影响,故任意锚点的平均跳距都不能有效表示它们锚点的跳距,仍然使用全局平均每跳距离进行III类型的估算距离即
综上所述,ID为x的未知节点到锚点ID为y的估计距离可表示为
其中I表示步骤A中的最优辅助估距锚点,未知节点应满足处于它与待估距锚点的最小跳数路径中,II则表示步骤B中的最优辅助估距锚点,它应当处于未知节点与待估距锚点的最小跳数路径中。可以看出,存在步骤A中的的辅助估距锚点时,优先使用该锚点进行估算距离,当即不存在步骤1中的辅助估距锚点也不存在步骤B中的辅助估距锚点时,使用步骤C的估距方法。
步骤A、B、C中以表示未知节点与锚点或锚点与锚点间的最小跳数,两锚点间的实际距离用表示,未知节点到锚点的估计距离用表示,其中x1,x2表示两个未知节点或者锚点的ID值。
8)估距计算值采用极大似然法计算三边定位坐标,若算出所有组合的三边定位坐标,则进行坐标加权;若没有算出所有组合的三边定位坐标,则重新用极大似然法计算三边定位坐标,至算出所有组合的三边定位坐标,进行坐标加权,求出坐标;
坐标加权的计算方法为:参见图4,当未知节点a选择i,j,k三个锚点时,由于他们基本在一条直线上,这时极大似然法求解出的坐标可能关于直线L对称,即图中的a′的坐标,这就会对最终结果产生较大的影响。另一方面未知节点到三锚点的跳数和越大,误差的累计效应也就越明显,而对比a′与b′可知,未知节点到三个锚点的跳数之和还能在一定程度上反应镜像坐标的距离,显然镜像坐标间的距离越大,误差也就越严重。据此本方法使用“镜像坐标”加权因子。未知节点κ由锚点ID为i,j,k所估算出的坐标对应的权值γ(κ,i,j,k)可由下式表示:
其中
cosΔ(i,j,k)表示由i,j,k三个锚点组成的三角形的最小角,hopκ,λ表示未知节点κ到锚点ID为λ的跳数,表示未知节点到这三个锚点的跳数和。可以看出当三个锚点成直线时,权值为0,而最小角度相同下,离三个锚点的跳数和越小权值越大。若以表示由锚点i,j,k估算的坐标,f(x,i,j,k)则表征了该坐标的可信度.最终未知节点κ的估计坐标(x,y)可表示
9)定位结束。
采用本发明进行定位检测,参见图5,选取边长100m的平面空间作为无线传感网的定位区域,未知节点完全随机分布在此区域中.未知节点和锚点的总数N为150个,节点间的通信半径为15米,锚点个数为12个。为了方便观察,随机选取9个ID相同的未知节点并以上三角和下三角分别表示该未知节点在定位区域中的实际位置和定位结果。
对比图中的实际位置和定位结果,可以看出本算法能够有效的实现传感网的定位,估距误差小,定位准确度高,可以用于动物种群的跟踪、大范围的环境监测、安全生产监控、室内导航等领域。