一种免离线训练的分布式无线指纹定位方法与流程

文档序号:18089485发布日期:2019-07-06 10:41阅读:443来源:国知局
一种免离线训练的分布式无线指纹定位方法与流程

本发明涉及室内无线定位领域,尤其是在某些大型室内场景,采用无线指纹定位,当大量、均匀分布锚节点时,要求定位系统有较好的稳定性与可扩展性时,可采用的一种定位方法。



背景技术:

无线指纹定位是目前室内定位的基本方法之一,一般有5个主要环节:Radio Map的建立、聚类分块、AP(Access Point,这里也可以是锚节点,如已知坐标的ZigBee节点等)选择、定位特征提取和定位估计,其中 Radio Map的建立和聚类分块属于离线阶段,后面三个步骤属于在线阶段。第一步,系统对目标定位区域内所有AP的RSSI与物理位置依赖关系进行描述,以离线指纹采集法实现。第二步,在离线阶段将整个定位区域划分成若干定位子区域,在定位子区域构建定位模型;在线阶段,将用户终端预先分类到定位子区域中,然后再在定位子区域中实现精确定位。采用聚类分块算法将定位模型限制在定位子区域内,简化RSSI与物理位置的映射关系,从而为提高定位精度、降低计算复杂度奠定基础。第三步,在给定子区域内,选取最优AP子集合用于定位,去除判别定位能力弱、噪声较大的AP。第四步在给定最优AP子集合的基础上,提取判别定位特征。第五步,在已构建的定位特征数据库的基础上,通过匹配型或者学习型定位算法估计用户位置。

但是,采用指纹定位法存在这样的几个困难:1)RSSI信号不确定,使得不同物理位置的RSS信号模式难以互相区分,严重影响定位精度。造成RSS不确定性的主要因素有:屋内建筑格局、人员的走动、无线信号的多径效应以及其他共存的2.4G开放频段信号的影响。2)由计算复杂度引起的功耗较大,限制指纹匹配方法在某些终端上使用,3)指纹法在离线阶段的Radio Map的建立需要花费大量的时间和精力,后期由于环境变化,或者某些AP节点的损坏与增加,又需要重新建立Radio Map,整个指纹数据库的维护工作量巨大。上述原因妨碍了指纹定位法的推广应用。

有一类应用场景,如地下大型停车场,面积比较大,采用无线传感器网络传送传感信号(如汽车泊车信号等),并且利用无线传感网络定位车主或汽车的位置(通过定位车主手上的停车卡实现,停车卡实际也是一个无线节点),在这种情况下,由于无线传感器网络节点众多和分布较均匀,并且事先已经知道这些节点坐标位置,可以采用本发明中的免离线训练的分布式定位方法。



技术实现要素:

本发明所要解决的技术问题是:设计一种基于无线指纹的室内定位方法,在定位系统中,锚节点数量较大、且分布均匀时,要求定位系统的离线训练工作量和指纹数据库维护工作量尽量小,在出现个别锚节点断电、损坏或增加时,系统能正常进行工作。

为了解决上述技术问题,本发明采用以下方案:

一种免离线训练的分布式无线指纹定位方法,包括指纹库建立阶段、指纹匹配阶段、定位阶段,其特征在于:无需进行离线的信息采集,而是每个锚节点向邻居锚节点发送请求消息,每个收到请求的邻居节点计算信号强度,然后将结果返回给发送请求的锚节点,发送请求的锚节点生成指纹库信息fi,指纹库信息fi直接存储在该节点以及邻居锚节点中。

指纹匹配阶段采用分布式的指纹匹配算法:待定位节点IDi首先向周围的锚节点发送定位请求,锚节点接收到请求则计算该节点的信号强度,然后把信号强度信息、自身位置坐标和标志号发送给IDi,待定位节点生成指纹信息S,然后待定位节点将指纹信息S广播发送给附近的锚节点,在锚节点上将锚节点中的指纹库信息fi与指纹信息S进行匹配。

定位阶段采用K-近邻算法,即找出满足阀值d的k个锚节点,然后利用质心算法或者加权的质心算法,计算k个锚节点的质心或加权质心坐标作为位置估计。

指纹库是分布式存储的,根据不同的室内环境和应用要求,决定存储在多少个邻居锚节点中。

经常动态更新锚节点里的指纹库,利用锚节点能够自主生产指纹库信息的特性,根据不同的环境特点和使用特点,锚节点周期性采集周围锚节点的信号强度,生成指纹库信息。

指纹匹配阶段的指纹匹配进一步包括以下步骤:先将实时采集的指纹信息S与指纹库信息fi作差,具体就是按照实时采集指纹信息S中的锚节点ID为标准,查找指纹库信息fi中是否有对应的锚节点,如果有,则两者的信号强度RSSI值作差;如果没有,则将信号强度RSSI值视为0,然后作差,最后比较差值的相似性,如果差值保持大致恒定值,表明待定节点指纹与锚节点指纹是匹配的。

本发明具有的优点和效果在于:1)本方法不需要复杂的离线指纹库收集工作,由于锚节点可以每隔一定周期自动收集周围锚节点的RSSI,指纹数据库的维护工作量也很小;2)本方法的定位结果精度与传统集中式定位方法在定位精度是相当的。根据测试结果,在锚节点均匀分布,且密度适中时,两种定位方法与真实节点位置定位误差在2米以内的测试用例都在85%以上;3)由于指纹匹配与定位算法都采用计算复杂较低的算法,并且锚节点间传递的数据量小,所以锚节点功耗小,并且系统稳定,这对于功耗要求比较严格的无线传感器网络(如ZigBee节点组成的无线网络)有实际意义;4)指纹信息分布式存储在锚节点中,保证了一定的冗余,可以提高算法的鲁棒性。即使当前有某些锚节点失效,依然可以利用该指纹信息对位置节点进行定位,从而保持定位算法的定位精度。

附图说明

图1为本发明中的无线指纹定位基本流程图;

图2a、图2b是传统指纹定位指纹库信息结构与本发明中锚节点中的指纹信结构对比图;

图3是本发明中定位节点与周围锚节点的通信过程图;

图4是在不同指纹定位方法中,锚节点失效情况下的定位鲁棒性比较图。

具体实施方式

图1是本发明总体流程图,基本步骤如下:

1. 指纹库建立阶段:

本发明中依然采用指纹库收集步骤,但是本方法的Radio Map不再采用参考点,而是在每个锚节点收集邻近锚节点的信号强度RSSI值,并将结果冗余地分布到周围的k个锚节点上。无需进行离线的信息采集,而是每个锚节点向邻居锚节点发送请求消息,每个收到请求的邻居节点计算信号强度,然后将结果返回给发送请求的锚节点,发送请求的锚节点生成指纹库信息fi,指纹库信息fi直接存储在该节点以及邻居锚节点中。

经常动态更新锚节点里的指纹库,利用锚节点能够自主生产指纹库信息的特性,根据不同的环境特点和使用特点,锚节点周期性采集周围锚节点的信号强度,生成指纹库信息,这样就可以克服环境变化、节点性能变化所引起的一系列问题。

指纹库是分布式存储的,根据不同的室内环境和应用要求,决定存储在多少个邻居锚节点中。如果指纹库的冗余越大,那么定位算法的鲁棒性越好,但是会增加无线传感网中的通信量并占有大量的节点存储空间。

2.指纹匹配阶段:

a)待定位节点IDi首先向周围的锚节点发送定位请求,锚节点接收到请求则计算该节点的信号强度,然后把自身位置坐标、信号强度信息和标志号发送给IDi,待定位节点IDi生成实时指纹信息S。

b) 待定位节点IDi将指纹信息S广播发送给附近的锚节点,在锚节点上将锚节点中的指纹库信息fi与指纹信息S进行匹配。

c) 先将实时采集的指纹信息S与指纹库信息fi作差,具体就是按照实时采集指纹信息S中的锚节点ID为标准,查找指纹信息fi中是否有对应的锚节点,如果有,则两者的信号强度RSSI值作差;如果没有,则将信号强度RSSI值视为0,然后作差。

d)最后比较差值的相似性,如果差值保持大致恒定值,表明待定节点指纹与锚节点指纹是匹配的。评价这种差值一致性的基本方法是计算上述RSSI差值的方差,或者计算这些差值与这些差值平均值的绝对值和。

本发明采用分布式的指纹匹配算法,为减少计算复杂度,可采用简单的指纹匹配算法。

3.定位阶段:

选择比较简单的定位算法,使用最近邻法或者K-近邻法进行定位。最近邻法,直接选择最匹配的锚节点,位置作为定位节点的位置估计。K-近邻算法,即找出满足阀值d的k个锚节点,然后利用质心算法或者加权的质心算法,计算k个锚节点的质心或加权质心坐标作为位置估计。

图2a是传统指纹定位法在收集指纹阶段,指纹库的数据格式。传统方法中,在每个参考点处,使用一个移动传感器节点向周围的锚节点发送信息,收集周围锚节点的无线电信号强度,形成指纹信息,存储到中央数据库中,RIDi表示每个参考点的标识号。IDi表示附近的锚节点的标识号。RSSIi表示从参考点位置搜索到的标识号IDi的锚节点的信号强度。

图2b是为本发明方法的指纹信息结构,其中IDj表示锚节点的标识号。IDi表示附近的锚节点的标识号。RSSIi表示邻居锚节点(标识号为IDi)到标识号为IDj的锚节点的信号强度。<xi,yi>表示标识号为IDi的锚节点的坐标,以网格为单位。

图3为本发明中,锚节点与定位节点之间的通信过程,首先定位节点向周围的锚节点发送定位请求,锚节点接收到请求则计算该节点的信号强度,然后把信号强度信息、自身位置坐标和标志号发送给IDi。未知节点生成指纹信息S,结构如图2b所示,然后定位节点将指纹信息S广播发送给附近的锚节点,将锚节点中的指纹库信息fi与指纹信息S进行匹配。匹配完成后,大于阈值d的锚节点,把本身锚节点IDi和匹配步骤中计算得到的差值方差或差值绝对值和传回定位节点,进行定位算法操作。

图4是传统集中式指纹方法和本发明中的方法,存在失效节点情况下的定位精度比较。本发明中指纹信息分布式存储在锚节点中,具有一定的冗余,可以提高算法的鲁棒性。图中,k=1表示指纹仅存储在当前的锚节点中,不存在冗余,当该锚节点失效后就无法利用该锚节点中的指纹信息;k=3表示指纹不仅存储在当前的锚节点中,而且存储在两外邻居锚节点中;k=6表示指纹还将存储在另外5个邻居锚节点中。这样,即使当前锚节点失效,依然可以利用该指纹信息对位置节点进行定位,从而保持定位算法的定位精度。从图中可看出,在同样的失效百分比情况下,K值越大,定位精度越高,例如,在50%失效情况下,传统定位方法,误差已达10米,而本方法,在7米以下,在K=6情况下,定位精度误差只有5米,可见本方法鲁棒性有较大提高。

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