一种基于群信息目标无线自定位方法与流程

文档序号:25539684发布日期:2021-06-18 20:35阅读:48来源:国知局
一种基于群信息目标无线自定位方法与流程

本发明涉及基站信息采集与定位技术。



背景技术:

目前,无线定位技术应用越来越广泛,特别是无线分布式传感器网络定位技术受到了越来越多来自各界的关注。在不同的环境中,为了全面监测,通常应用大量节点,比如越战时期的“热带树”系统,通过飞机在森林区域布撒节点。因此,传感器获取其自身位置信息就显得尤为重要了。对于没有位置信息的数据大多没有实用价值。位置信息的准确性关系到网络数据运行效率。与gps、北斗定位相比,该技术具有隐蔽性好、成本较低、自动部署、不受高层建筑遮挡的影响、可应用于室内等特点,具有很好的实际应用价值和理论研究意义。虽然有关无线传感器网络定位的硬件设施功能越来越强,但是传统的定位算法已经不再适用此环境,为了解决无线传感器网络网络规模大、节点携带能源有限、系统受环境影响而稳定性变差等缺点,提出精确有效的定位算法变得非常关键。

定位系统性能与定位算法的效率息息相关,定位算法就如定位系统的灵魂,是系统逻辑思维、智慧能力的基础,可见定位算法是无线传感器网络中的关键技术。对已有的定位算法,很难用一种标准对其进行精确的分类。

随着物联网技术的发展,已经存在许多算法可以解决无线传感器网络节点的定位问题,这些算法大致可以分为以下几类:基于测(range-based)的定位算法和距离无关(range-free)的定位算法。基于测距的定位算法需要测量节点之间的绝对距离或角度,之后根据测得的数据采用三边测量法(trilatcration)、三角测量法(triangulation)或最大似然估计法(multilatcration)计算出节点的位置。range-based定位常用的测距技术有rssi,toa,tdoa和aoa。而后者则无需测量节点间的绝对位置或角度,仅仅根据估计距离或是网络连通性求出节点的位置。range-free定位常用的定位算法主要有质心算法、dv-hop算法、apit算法、mds-map等。

近年来,许多国内外学着提出了针对dv-hop的改进算法,如根据节点接收到的rssi对第一跳进行分级,细化跳数的方法,利用跳数的倒数作为权值的方法并对最小二乘法进行加权处理,利用入侵杂草优化的算法,将定位问题转化为全局最优化问题,在多跳路径中引入最有辅助估距锚点提高定位的精度等。然而以上的方法均只是利用非测距算法中连通性或跳数信息来定位,而没有充分利用节点的邻居节点密度或区域内节点总数这些在定位初期就能获得的有用信息。

另外,传统的基于跳数的测量方法是把某节点通信半径r范围内的邻居节点的跳距都作为一跳距离来表示,即跳距值均为1,无论节点间实际距离为1m或是5m,经过跳距信息计算后的估计距离值均相同,这显然存在很大的误差。此外当一条路径有很大的跳距值时或有很大转折时,都会造成很大的累计误差。



技术实现要素:

本发明的目的在于提供一种基于群信息目标无线自定位方法,提高定位的精度。

本发明的目的通过下列技术手段进行实现:

一种基于群信息目标无线自定位方法,包括以下步骤:

步骤1)节点收集邻居信标节点的信息,并且节点间交换信息,每个信标节点会获得其他信标节点的rpd值,求取全网平均每跳距离;

步骤2)测试节点与其邻居信标节点组成的三角形的内外关系,然后采用基于中位线分割的方法进一步缩小节点在三角形内部的区域,获取各三角形重叠的区域;

步骤3)网格扫描法算节点位置,计算满足迭代条件的节点的坐标值;未知节点有足够多距离值后,采用三边定位法计算目标位置。

作为进一步的改进,步骤1)中求取全网每跳距离的方法是:

其中mi={j|j≠i且dij≤r}表示节点i的所有邻居节点,dij表示节点i和j之间的欧式距离,r表示通讯半径,mij表示节点i和节点j的相同邻居节点数量,l为包含节点si和si+1的总的通道数。

本发明的优点在于:提供一种基于群信息目标无线自定位方法,提高定位的精度。

附图说明:

图1是传输通道的示意图;

图2是信标节点与邻居信标节点的示意图。

具体实施方式:

在无线分布式网络中,可以看出如果相邻的两个无线节点距离很近,那么它们的共同的邻居节点数量就越多,相反距离越远,相同节点数量越少。画出一条通路path(si,sk)。以节点i和节点k的通讯半径r为半径分别画两个圆,这两个圆一定会存在公共区域,且区域内一定会包含节点j,两圆公共面积为

对公式(1)求导得(2),所以s与dik成反比。

此外,节点的位置是随机部署的,所以两圆公共面积中的相同邻居节点数为随机变量,所以面积s越大,落入s中的节点数目就越多,dik越小,即dik反比于相同邻居节点数。

基于这个现象,本发明提出一种距离模型rpd,当hopik=2时,如公式(3)。

其中mi={j|j≠i且dij≤r}表示节点i的所有邻居节点,dij表示节点i和j之间的欧式距离,r表示通讯半径,mij表示节点i和节点j的相同邻居节点数量。

由公式3,当节点i和节点k之间的距离dik=2r时,即节点i和节点k的相同邻居节点只有节点j时,mik=1,此时达到最大值rpd(i,k)=1,当dik=0时,即mi=mk=m,此时达到最小值当节点密度趋于无穷时有rpd(i,k)=0。

此时还可以计算出

rpd(sj,sk)=rpd(si,sk)-rpd(si,sj)(5)

如图1所示,在整个网络中会包含很多条通路,每条通路的跳数值会出现大于3的情况。实线为信号实际的传输通路,虚线是为了优化添加的辅助线。假设图中的一条通路path(s1,sn)。

选取通路中任意3个相连的节点所组成的小的通路,根据选取的节点,会出现3种情况:

第一种情况,选取的是通路的起点s1及它后面的2个节点s2s3组成一个小的通路,如图1(a)。此时可以计算

第二种情况,如图1(b),选取的是第二个节点s2和sn-1之间的任意三个相连的节点。在这种情况中,每两个相邻的节点都会被两个小的通路所包含,例如小通路path(si-1,si+1)和path(si,si+2)都包含si和si+1,如果按照公式计算,会计算出两个rpd(si,si+1)值,所以本文采取求取平均值的办法。

第三种情况,如图1(c),选择的是通路的终点sn及它前面的两个节点sn-2和sn-1组成一个小的通路,此时可以计算

在得到path(s1,sn)中的每一个相邻节点rpd(si,si+1)值后,可计算出整条通路的rpd值。

但是,在一个完整的网络中相邻的跳距为1的两个节点si和si+1会被很多总跳数大于3的通路所包含,此时需要将每次在计算通路时得到的rpd(si,si+1)进行累加求平均值的操作。

根据不同情形,节点距离模型采用公式(10)。其中l为包含节点si和si+1的总的通道数。

根据距离矢量交换协议,确定网络拓扑结构,利用floyd算法确定每一个节点间的最小跳数路径。针对网路拓扑结构中的通路,均采用rpd距离模型,使每对节点都获得rpd距离值。

在定位算法中当未知节点的邻居信标节点n(n≤2)是无法利用定位算法进行定位的。所以针对此问题提出了如下解决办法。

假设未知节点m的邻居信标节点只有l个,该信标节点为n,则以信标节点n为中心在通讯半径范围内搜索信标节点n的邻居信标节点,设这些信标节点的坐标集合为

p={p1(x1,y1),p2(x2,y2),…pi(xi,yi),…,pk(xk,yk)}(11)

其中k为信标节点n的邻居信标节点个数,pi(xi,yi)为节点n的第i个邻居信标节点。

分别作以集合p中各点为圆心,做半径r的圆,分别求与以点n为圆心,dmn为半径的圆的交点。

如图2,p1和p2为信标节点n的邻居信标节点,c1和c2为以p1和p2为圆心,通讯距离为半径的圆,cn为以n为圆心,dnm半径的圆。求出c1、c2与cm的交点,找出最外侧的圆弧ab,求出ab中点作为未知节点m的坐标值。

当节点m的邻居信标节点有l个时,共有l个圆弧的中点坐标,取l个交点坐标的平均值,如公式12,其中作为未知节点m的定位坐标。

综上,定位算法的步骤为:

1)节点收集邻居信标节点的信息,并且节点间交换信息,每个信标节点会获得其他信标节点的rpd值,类似于传统dv-hop算法,求取全网平均每跳距离;

2)采用上述定位算法,测试节点与其邻居信标节点组成的三角形的内外关系,然后采用基于中位线分割的方法进一步缩小节点在三角形内部的区域,获取各三角形重叠的区域;

3)网格扫描法算节点位置,采用上述算法,计算满足迭代条件的节点的坐标值。通过上一步,未知节点有足够多距离值后,采用三边定位法计算目标位置。

本文中所描述的实施例仅仅是对本发明精神的说明,其实施例可通过各种修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1