一种协同分布式定位方法及系统

文档序号:25439156发布日期:2021-06-11 21:57阅读:167来源:国知局
一种协同分布式定位方法及系统

本发明涉及移动通信技术领域,具体涉及一种协同分布式定位方法及系统。



背景技术:

随着移动通信产业的蓬勃发展,人们对通信系统的服务也有了更大的需求,在获得了语音、数据及多媒体业务之后,还需要别的便利服务,定位服务便是其中之一,目前常用的就是gps定位系统,在定位系统普及之后,人们的生活也越来越离不开定位。而在某些偏远地区或者特殊环境下gps信号微弱以及移动通信信号差得情况下,gps定位系统定位的误差就会很大或者失灵,所以,基于adhoc网络的无线定位系统应运而生。

adhoc网络是指一个多跳的、临时的、自治的网络系统,它具有动态拓扑、无中心多跳组网方式的特点,适合被用于无法或不便预先铺设网络设施的场合、需快速自动组网的场合。

目前常用的基于adhoc网络的定位技术是无线传感器网络。无线传感器网络由大规模低成本体积小的自组织传感器节点组成。一般是由三部分组成的分级结构网络:传感器节点、汇聚网关节点、监控中心。传感器节点负责信息采集、信息的处理以及信息的转发,它的通信、信息处理和数据存储的能力比较弱。汇聚网关节点主要功能是把由各传感器节点传输过来的数据进行存储、处理和转发,它是传感器网络和外部网络连接的枢纽。监控中心的主要职能有两方面,一是对收集到的数据进行汇总处理,并且对待测区域进行监控;二是根据实际情况的要求,对待测区域的传感器网络分配不同的测试任务。

2009年杜巧玲在《无线传感器网络三维节点定位问题的研究》中针对目标信号源的三维定位,基于无线传感器网络的定位精度有关的要素,分析信号源模型并选择合适的信道衰减模型;将二维定位中的三边算法扩展到三维定位中并对三维节点位置估计的最小二乘算法问题进行研究;基于rssi(接收的信号强度指示)和toa(到达时间)技术的三维节点位置估计的crb(克拉美罗下界)分析问题研究,并提出了一种定位锚节点的新方法,通过对磁偶极子模型的分析,利用二阶差分的方法,得出了在二维网络中,随机撒播锚节点的情况下获得锚节点的绝对位置的方法。

2010年shuzhenzhang和shancangli在《adistributedself-localizationalgorithmforwirelesssensornetworks》中提出了一种利用无线电信号和声波时差(tdoa)测量距离的精确分布式定位方法。该方法是在三边测量的基础上,每个节点自适应地选择一个传感器邻域,用三边测量更新其位置估计值,然后将该更新传递给相邻传感器,利用一小部分有先验坐标知识的传感器节点去获得其他节点的坐标信息。

2017年qingtang和jianwang在《animproveddv-hoplocalizationalgorithmforwirelesssensornetworkbasedontdoaquantization》中,基于dv-hop定位算法,利用tdoa量化进行辅助以提高定位精度,dv-hop中节点的跃点数利用近距离测量时差的误差特性。对定位算法进行量化,采用加权和限制跳数传播的方法对每个锚节点的平均每跳距离进行校正,最终获得定位区域内每个节点的位置。

现有的分布式定位在对目标信号源定位时,比如在无线传感器网络中,需要有定位节点,网关节点以及监控中心等设备,实施一次定位时需要多个环节配合,定位过程较为繁琐;常规的分布式计算定位是将定位节点采集到的数据信息传输给监测中心后在数据库系统中进行分布式计算,监测中心中需要有专门的分布式计算模块来完成分布式计算的任务,在定位节点获得了大量的信息数据后,监测中心的计算量也在急剧地增加,所需的定位时间也在增加。若监测中心出现问题时,定位功能也将会受到影响。

因此如何避免分布式系统中监测中心计算量较大的问题,实现稳定的分布式定位是目前亟待解决的问题。



技术实现要素:

有鉴于此,本发明提供了一种协同分布式定位方法及系统,能够降低对中心节点的硬件要求,减少整个定位网络的定位开销,提高定位时间,充分利用了各节点的存储空间和计算能力。

为达到上述目的,本发明的技术方案为:一种协同分布式定位方法,该方法利用y型布站的协同分布式定位系统进行信号源定位,协同分布式定位系统包括3个以上的定位节点,其中一个定位节点被选取为中心节点,定位方法包括如下步骤:

各定位节点应用飞行时间测距法即tof测距法进行测距,获得定位节点两两间的距离,并进行广播。

中心节点获取各定位节点两两间的距离,并构建空间直角坐标系,得到空间直角坐标系中各定位节点的坐标。

各定位节点利用互相关求时延法计算出信号源到自身的距离之差,并进行广播。

中心节点基于空间直角坐标系中各定位节点的坐标,结合信号源到各定位节点的距离之差,采用基于tdoa的chan算法进行计算,得出信号源相对于各定位节点的坐标值。

进一步地,中心节点获取各定位节点两两间的距离,并构建空间直角坐标系,得到空间直角坐标系中各定位节点的坐标,具体为:

随机选取3个定位节点,分别为1号~3号节点;以1号节点为原点o,1号节点与2号节点所在直线为x轴,1号、2号和3号节点位于同一平面,即为xoy平面,另外选取一个与1号~3号节点相邻的点为4号节点,以4号节点所在卦限为在第一卦限,由此建立空间直角坐标系;

应用tof测距法对测得1号、2号和3号节点中两两节点间相互距离,从而得出1号、2号和3号节点的坐标,坐标未知的节点为待测节点,待测节点位置按照如下方式计算:

其中di为应用tof测距法测得的待测节点到i号节点的距离,(xi,yi,zi)为i号节点的坐标,i的取值为1、2或3;max(xi-di)为取x1-d1、x2-d2、x3-d3中的最大值;min(xi+di)为取x1+d1、x2+d2、x3+d3中的最小值;max(yi-di)为取y1-d1、y2-d2、y3-d3中的最大值;min(yi+di)为取y1+d1、y2+d2、y3+d3中的最小值;max(zi-di)为取z1-d1、z2-d2、z3-d3中的最大值;min(zi+di)为取z1+d1、z2+d2、z3+d3中的最小值。

进一步地,各定位节点利用互相关求时延法计算出信号源到自身的距离之差,并进行广播,具体为:

中心节点向其他定位节点发送采集信号源数据指令。

各定位节点收到中心节点发来的采集信号源数据指令后,开始采集信号源数据,同时中心节点也开始采集信号源数据。

中心节点采集完设定时间内的信号源数据后向各定位节点广播采集到的信号源数据。

各定位节点将接收到的中心节点的采集到的信号源数据后,当前定位节点利用自身采集到的信号源数据,以互相关求时延法得出采集时间误差,由此得出中心节点到信号源与当前定位节点到信号源的距离之差。

除中心节点以外的定位节点计算出采集时间误差值后,向其他定位节点广播中心节点到信号源与当前定位节点到信号源的距离之差。

进一步地,互相关求时延法,具体为:

两定位节点在t时刻的接收信号分别为x1(t)和x2(t)

x1(t)=s(t)+n1(t);

x2(t)=s(t-a)+n2(t);

其中s(t)为信号源发送的信号;a是延迟的时间;n1(t)和n2(t)是两定位节点在t时刻的环境噪声,二者为互不相关加性噪声;

则x1(t)和x2(t)的互相关函数表示为r12(τ):

其中:τ为自变量,取值范围为0~2×n-1;n为采样点数;rss(τ-d)为信号源信号s(t)的自相关函数;d为自相关函数最大时的时延;为环境噪声n1(t)和信号源信号s(t)之间的相关函数;为信号源信号s(t)和环境噪声n2(t)和之间的相关函数;为环境噪声n1(t)和n2(t)相关函数。

r12(τ)的峰值对应的时间值即为两定位节点接收信号之间的时延,即为两定位节点间的采集时间误差;两定位节点接收信号之间的时延乘以光速即为信号源到两定位节点的距离差。

进一步地,中心节点基于空间直角坐标系中各定位节点的坐标,结合信号源到各定位节点的距离之差,采用基于tdoa的chan算法进行计算,得出信号源相对于各定位节点的坐标值,具体为:

采用tdoa定位算法,利用至少三个已知坐标的定位节点接收到的信号源数据来确定目标的位置,其中任意两个已知坐标的定位节点到信号源的距离之差确定出一个双曲面,构建多个双曲面组成的非线性tdoa方程组,多个双曲面的交点即为信号源的位置。

利用chan算法先将初始的非线性tdoa方程组转化为线性方程组,并使用加权最小二乘法即wls估计得到方程初始解,然后利用第一次得到的信号源的估计位置,加上已知的约束条件进行第二次wls估计,得到最终解,该最终解就是信号源位置的最终值。

本发明另外一个实施例还提供了一种协同分布式定位系统,包括节点测距模块、节点定位模块、距离差定位模块以及信号源定位模块。

节点测距模块,设置于各定位节点,用于应用飞行时间测距法即tof测距法进行测距,获得定位节点两两间的距离,并进行广播。

节点定位模块,设置于中心节点,用于获取各定位节点两两间的距离,并构建空间直角坐标系,得到空间直角坐标系中各定位节点的坐标。

距离差定位模块,设置于各定位节点,用于利用互相关求时延法计算出信号源到自身的距离之差,并进行广播。

信号源定位模块,设置于中心节点,用于基于空间直角坐标系中各定位节点的坐标,结合信号源到各定位节点的距离之差,采用基于tdoa的chan算法进行计算,得出信号源相对于各定位节点的坐标值。

进一步地,节点定位模块,采用如下方式实现:

随机选取3个定位节点,分别为1号~3号节点;以1号节点为原点o,1号节点与2号节点所在直线为x轴,1号、2号和3号节点位于同一平面,即为xoy平面,另外选取一个与1号~3号节点相邻的点为4号节点,以4号节点所在卦限为在第一卦限,由此建立空间直角坐标系。

应用tof测距法对测得1号、2号和3号节点中两两节点间相互距离,从而得出1号、2号和3号节点的坐标,坐标未知的节点为待测节点,待测节点位置按照如下方式计算:

其中di为应用tof测距法测得的待测节点到i号节点的距离,(xi,yi,zi)为i号节点的坐标,i的取值为1、2或3;max(xi-di)为取x1-d1、x2-d2、x3-d3中的最大值;min(xi+di)为取x1+d1、x2+d2、x3+d3中的最小值;max(yi-di)为取y1-d1、y2-d2、y3-d3中的最大值;min(yi+di)为取y1+d1、y2+d2、y3+d3中的最小值;max(zi-di)为取z1-d1、z2-d2、z3-d3中的最大值;min(zi+di)为取z1+d1、z2+d2、z3+d3中的最小值。

进一步地,距离差定位模块,具体采用如下方式:

各定位节点收到中心节点发来的采集信号源数据指令后,开始采集信号源数据,同时中心节点也开始采集信号源数据。

各定位节点接收中心节点的采集到的信号源数据,当前定位节点利用自身采集到的信号源数据,以互相关求时延法得出采集时间误差,由此得出中心节点到信号源与当前定位节点到信号源的距离之差。

除中心节点以外的定位节点计算出采集时间误差值后,向其他定位节点广播中心节点到信号源与当前定位节点到信号源的距离之差。

有益效果:

本发明的分布式定位方法及系统,基于协同分布式计算,将定位算法中需要的距离差信息由各定位节点独立计算,直接构建了信号源与各定位节点的距离关系,减少了中心节点的计算工作量和存储的信息数据量,降低了对中心节点的硬件要求。在定位过程中,各定位节点均可配备完整的定位算法软件,依据协同分布式计算各个根节点均可获得计算信号源位置所需的距离差信息,在中心节点出现故障时,其余节点可设置为中心节点,系统仍可继续工作,提升了系统的抗故障能力;本系统结构相对简单易于实现,算法开销小。由中心节点广播本地采集信号源数据的方式,不会造成多个节点向同一节点传输数据时的数据碰撞,或者额外的通信开销,提高了系统的定位速度。

附图说明

图1为本发明实施例提供的协同分布式定位方法流程图;

图2为本发明实施例中利用已知的三个定位节点求解未知节点位置的原理示意图;

图3为本发明实施例中各定位节点利用互相关求时延法计算出信号源到自身的距离之差,并进行广播的具体流程图。

具体实施方式

下面结合附图并举实施例,对本发明进行详细描述。

本发明提供了一种协同分布式定位方法,定位方法的流程如图1所示。

定位节点位置的设定对定位系统的性能有着不小的影响,所以一开始需要选择合适的定位节点摆放位置,常用的是y形布站方式,该布站方式定位误差分布较均匀,让被定位的信号源尽量处于定位节点包围的中心范围内。因此本发明提供的协同分布式定位方法,利用y型布站的协同分布式定位系统进行信号源定位,协同分布式定位系统包括3个以上的定位节点,其中一个定位节点被选取为中心节点。

如图1所示,本发明实施例提供的协同分布式定位方法,具体包括如下步骤:

s1、各定位节点应用飞行时间测距法即tof测距法进行测距,获得定位节点两两间的距离,并进行广播。各定位节点相互位置信息的确立应用的是距离这一信息量,节点间距离的测定可利用tof测距法,通过记录发射和接收节点的时间戳来计算出节点间的距离。

s2、中心节点获取各定位节点两两间的距离,并构建空间直角坐标系,得到空间直角坐标系中各定位节点的坐标。

tof测距的过程中会产生误差,利用获得的距离联立方程组计算各定位节点相对位置的过程中有可能会出现方程组无解的情况,在这种情况下我们使用min-max算法来解决这个问题。

min-max算法是是根据未知点到若干个已知点的距离及己知点坐标构造出相应的限制框,即以己知点为圆心,未知点到该己知点的距离为半径所构成的圆的外接正方形;取这些正方形的交叉区域,并认为该交叉区域的几何中心即为未知点的估计坐标。

如图2所示,为本发明实施例中利用已知的三个定位节点求解未知节点位置的原理示意图;其中

随机选取3个定位节点,分别为1号~3号节点;以1号节点为原点o,1号节点与2号节点所在直线为x轴,1号、2号和3号节点位于同一平面,即为xoy平面,另外选取一个与1号~3号节点相邻的点为4号节点,以4号节点所在卦限为在第一卦限,由此建立空间直角坐标系;

应用tof测距法对测得1号、2号和3号节点中两两节点间相互距离,从而得出1号、2号和3号节点的坐标,坐标未知的节点为待测节点,待测节点位置按照如下方式计算:

其中di为应用tof测距法测得的待测节点到i号节点的距离,(xi,yi,zi)为i号节点的坐标,i的取值为1、2或3;max(xi-di)为取x1-d1、x2-d2、x3-d3中的最大值;min(xi+di)为取x1+d1、x2+d2、x3+d3中的最小值;max(yi-di)为取y1-d1、y2-d2、y3-d3中的最大值;min(yi+di)为取y1+d1、y2+d2、y3+d3中的最小值;max(zi-di)为取z1-d1、z2-d2、z3-d3中的最大值;min(zi+di)为取z1+d1、z2+d2、z3+d3中的最小值。

s3、各定位节点利用互相关求时延法计算出信号源到自身的距离之差,并进行广播;该步骤的具体流程如图3所示,包括如下步骤:

s301、中心节点向其他定位节点发送采集信号源数据指令。

s302、各定位节点收到中心节点发来的采集信号源数据指令后,开始采集信号源数据,同时中心节点也开始采集信号源数据。

s303、中心节点采集完设定时间内的信号源数据后向各定位节点广播采集到的信号源数据。

s304、各定位节点将接收到的中心节点的采集到的信号源数据后,当前定位节点利用自身采集到的信号源数据,以互相关求时延法得出采集时间误差,由此得出中心节点到信号源与当前定位节点到信号源的距离之差。互相关求时延法,具体为:

两定位节点在t时刻的接收信号分别为x1(t)和x2(t)

x1(t)=s(t)+n1(t);

x2(t)=s(t-a)+n2(t);

其中s(t)为信号源发送的信号;a是延迟的时间;n1(t)和n2(t)是两定位节点在t时刻的环境噪声,二者为互不相关加性噪声;

则x1(t)和x2(t)的互相关函数表示为r12(τ):

其中:τ为自变量,取值范围为0~2×n-1;n为采样点数;rss(τ-d)为信号源信号s(t)的自相关函数;d为自相关函数最大时的时延;为环境噪声n1(t)和信号源信号s(t)之间的相关函数;为信号源信号s(t)和环境噪声n2(t)和之间的相关函数;为环境噪声n1(t)和n2(t)相关函数。

r12(τ)的峰值对应的时间值即为两定位节点接收信号之间的时延,即为两定位节点间的采集时间误差;两定位节点接收信号之间的时延乘以光速即为信号源到两定位节点的距离差。

s305、除中心节点以外的定位节点计算出采集时间误差值后,向其他定位节点广播中心节点到信号源与当前定位节点到信号源的距离之差。

s4、中心节点基于空间直角坐标系中各定位节点的坐标,结合信号源到各定位节点的距离之差,采用基于tdoa的chan算法进行计算,得出信号源相对于各定位节点的坐标值。该步骤具体为:

采用tdoa定位算法,tdoa是toa的改进方法,是利用至少三个已知坐标的定位节点接收到的信号源数据来确定目标的位置,其中任意两个已知坐标的定位节点到信号源的距离之差确定出一个双曲面,构建多个双曲面组成的非线性tdoa方程组,多个双曲面的交点即为信号源的位置。它的最大优点就是不需要进行测量目标和参考点的时钟同步,只需要所有参考点进行时钟同步即可。而因为参考点是统一设置好的,完全可以在最初布置的时候就保证它们的时钟同步性。它的难度远远低于动态地同步测量目标和参考点。

基于tdoa技术,在解算目标的方法上使用的是chan算法。chan算法是一种比较新颖的定位算法,基于tdoa方位估计技术,并能得到解析表达式解。利用chan算法先将初始的非线性tdoa方程组转化为线性方程组,并使用加权最小二乘法即wls估计得到方程初始解,然后利用第一次得到的信号源的估计位置,加上已知的约束条件(例如附加的变量)进行第二次wls估计,得到最终解,该最终解就是信号源位置的最终值。

chan算法不需要初始值就能对目标进行定位,仅需要两次迭代就能得到目标的最终结果,计算量比较小;在视距环境下,当环境噪声服从高斯分布时,chan算法的定位精度可以达到克拉美罗下界,定位误差小,精度高,因此chan算法十分实用,在实际工程中应用地十分广泛。采用wls的chan算法能充分利用所有数据,这样就能获得更好的目标位置估计值。

协同分布式计算获取距离差信息,各定位节点利用本节点和中心节点采集到的信号源信息进行相关计算得出距离差,减少了中心节点的运算量,优化了定位过程中的传输数据量。

本发明的另外一个实施例还提供了一种协同分布式定位系统,包括节点测距模块、节点定位模块、距离差定位模块以及信号源定位模块;

节点测距模块,设置于各定位节点,用于应用飞行时间测距法即tof测距法进行测距,获得定位节点两两间的距离,并进行广播;

节点定位模块,设置于中心节点,用于获取各定位节点两两间的距离,并构建空间直角坐标系,得到空间直角坐标系中各定位节点的坐标;

距离差定位模块,设置于各定位节点,用于利用互相关求时延法计算出信号源到自身的距离之差,并进行广播;

信号源定位模块,设置于中心节点,用于基于空间直角坐标系中各定位节点的坐标,结合信号源到各定位节点的距离之差,采用基于tdoa的chan算法进行计算,得出信号源相对于各定位节点的坐标值。

节点定位模块,采用如下方式实现:随机选取3个定位节点,分别为1号~3号节点;以1号节点为原点o,1号节点与2号节点所在直线为x轴,1号、2号和3号节点位于同一平面,即为xoy平面,另外选取一个与1号~3号节点相邻的点为4号节点,以4号节点所在卦限为在第一卦限,由此建立空间直角坐标系。应用tof测距法对测得1号、2号和3号节点中两两节点间相互距离,从而得出1号、2号和3号节点的坐标,坐标未知的节点为待测节点,待测节点位置按照如下方式计算:

其中di为应用tof测距法测得的待测节点到i号节点的距离,(xi,yi,zi)为i号节点的坐标,i的取值为1、2或3;max(xi-di)为取x1-d1、x2-d2、x3-d3中的最大值;min(xi+di)为取x1+d1、x2+d2、x3+d3中的最小值;max(yi-di)为取y1-d1、y2-d2、y3-d3中的最大值;min(yi+di)为取y1+d1、y2+d2、y3+d3中的最小值;max(zi-di)为取z1-d1、z2-d2、z3-d3中的最大值;min(zi+di)为取z1+d1、z2+d2、z3+d3中的最小值。

距离差定位模块,具体采用如下方式:各定位节点收到中心节点发来的采集信号源数据指令后,开始采集信号源数据,同时中心节点也开始采集信号源数据;各定位节点接收中心节点的采集到的信号源数据,当前定位节点利用自身采集到的信号源数据,以互相关求时延法得出采集时间误差,由此得出中心节点到信号源与当前定位节点到信号源的距离之差;除中心节点以外的定位节点计算出采集时间误差值后,向其他定位节点广播中心节点到信号源与当前定位节点到信号源的距离之差。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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