一种基于MeanShift和加权k近邻算法的UWB指纹定位方法与流程

文档序号:17181262发布日期:2019-03-22 20:55阅读:463来源:国知局
一种基于MeanShift和加权k近邻算法的UWB指纹定位方法与流程

本发明涉及一种uwb指纹定位算法,特别是一种基于meanshift和加权k近邻算法的uwb指纹定位方法。



背景技术:

近年来,随着信息技术的快速发展,基于位置的服务受到了广泛的关注。目前,基于全球定位系统(globalpositioningsystem,gps)的室外定位精度已达米级,全球覆盖率高达98%以上,但在室内环境中,gps信号受阻,定位精度急剧下降,gps技术将不再适用。因此,室内定位技术的研究日益受到关注,目前常见的室内定位技术主要有超声波定位技术、红外线定位技术、rfid技术、wifi技术、超宽带技术等。

超宽带(ultra-wideband,uwb)技术是利用窄带脉冲来进行数据传输的,该技术的时间分辨率高,可以获取高精度tof(timeoffight)数据,从而得到精确的测距信息,因此uwb技术已经成为大量室内定位研究者亲睐的对象。基于uwb的定位技术中,常见的定位方法有三角测量定位和位置指纹定位。三角测量定位方法需要获取准确的基站位置信息,当室内环境较为复杂时,信号传播多径效应以及非视距环境会导致三角测量定位精度下降;相比起来,位置指纹技术不需要获取基站位置信息,在非视距环境下依然可以取得较好的定位精度,是室内定位最为广泛的研究方法。



技术实现要素:

本发明提供了一种基于meanshift和加权k近邻算法的uwb指纹定位方法,选用测距值作为指纹量,通过加权k近邻算法实现目标定位。

为解决上述技术问题,本发明采用了如下技术手段:

一种基于meanshift和加权k近邻算法的uwb指纹定位方法,包括离线建立数据库阶段和在线数据匹配阶段,离线建立数据库阶段是利用meanshift算法将uwb基站的测距值划分为不同的子类,获得聚类后的指纹数据库;在线数据匹配阶段是将待测指纹的测距值与指纹数据库进行匹配,并通过加权k近邻算法估算待测指纹位置。

进一步的,所述的离线建立数据库阶段具体步骤如下:

s1、在实验区域中布置n个uwb基站,同时将实验区域划分为m个网格;

s2、每个网格作为一个数据采集区域,在每个数据采集区域连续采集100组数据,每组数据包括一个uwb测距值和对应的数据采集点物理位置,建立位置指纹数据库lf;

s3、对数据库lf中的100组数据进行均值滤波,得到m个指纹量;

s4、利用meanshift算法对s3获取的指纹量进行聚类处理,得到聚类后的指纹数据库。

进一步的,上述的步骤s4的具体操作如下:

s41、输入m个指纹数据,随机选择一个指纹数据点作为中心点center;

s42、找出与center距离在bandwidth之内的所有数据点,将这些数据点记做集合m,同时认为这些数据点属于簇c1;

s43、以center为中心,计算从center开始到集合m中每个元素的向量,并将这些向量相加得到总向量shift;

s44、令center=center+shift,即中心点center沿着向量shift的方向移动||shift||距离;

s45、重复步骤s42、s43、s44,直到距离||shift||小于规定阈值a1,记录此时的中心点center,并将过程中访问的所有的点都归类到簇c1;

s46、在不属于簇c1的指纹数据点中随机选择一个新的中心点center,重复步骤s42、s43、s44、s45,直到所有数据点都被标记访问;

s47、聚类过程中,如果当前簇ck中心点与其他已经存在的簇cl中心点的距离小于阈值a2,将簇ck和cl合并,否则,把ck作为新的聚类,类别数目加1;

s48、初始状态下,第i个指纹数据点属于簇ck的概率簇ck每访问一次数据点i,将数据点i属于簇ck的概率加1,即比较每个指纹数据点属于每个簇的概率,取概率最大的那个簇作为该指纹数据点的所属类,获得聚类后的指纹数据库。

进一步的,所述的在线数据匹配阶段具体步骤如下:

s1、待测指纹实时获取uwb基站的测距值,将待测指纹的测距值与聚类后指纹数据库中的数据进行匹配,找到跟其欧式距离最接近的子类;

s2、采用加权k近邻算法,根据步骤s1选定的子类中各个指纹点位置估算待测指纹位置。

进一步的,上述的步骤s2的具体操作如下:

s21、分别计算待测指纹点到子类中k个近邻指纹点的指纹间距离和子类中心点到子类中k个近邻指纹点的指纹间距离;

s22、根据以上两种距离对待测指纹位置的影响设置权重系数:

其中,li是子类中第i个指纹点到子类中心点的指纹间距离,di为子类中第i个指纹点指纹到待测指纹点的指纹间距离;

s23、对子类中的指纹位置求加权平均,得到待测指纹位置坐标

其中,(xi,yi)表示子类中第i个指纹点物理位置坐标。

采用以上技术手段后可以获得以下优势:

本发明提供了一种基于meanshift和加权k近邻算法的uwb指纹定位方法,与传统基于rssi的指纹定位算法相比,传统算法rssi值波动较大,指纹信息不可靠,容易导致定位精度不足的问题,本发明方法采用uwb基站测距值作为指纹量,利用meanshift算法构建指纹库,与传统指纹库相比可靠性更高。通过实验发现利用加权k近邻算法估算待测目标的物理位置,在视距和非视距环境中均可以达到厘米级定位精度,有效提高了指纹定位的精度和稳健性,更适合用于非视距环境。

附图说明

图1是本发明一种基于meanshift和加权k近邻算法的uwb指纹定位方法的流程示意图。

图2是本发明一种基于meanshift和加权k近邻算法的uwb指纹定位方法的室内指纹点分布示意图。

图3是本发明一种基于meanshift和加权k近邻算法uwb指纹定位方法的子类和测试点示意图。

具体实施方式

下面结合附图对本发明的技术方案作进一步说明:

一种基于meanshift和加权k近邻算法的uwb指纹定位方法,如图1所示,包括离线建立数据库阶段和在线数据匹配阶段。在离线建立指纹数据库阶段,利用超宽带测距设备在每个指纹点连续获取100组数据,均值滤波后存入指纹库,指纹库建立完成后,利用meanshift聚类算法将指纹库划分为若干子类。在线数据匹配阶段,将待定位目标处实时获取的测距值与聚类后的指纹进行匹配,找到与其最匹配的子类,然后运用加权k近邻算法,根据子类中指纹点位置估算待定位目标位置。

如图2所示,本具体实施例将实验场景设置在徐州国家高新区大学创业园b座10楼走廊,在240*800cm区域内进行定位实验。

离线建立数据库阶段具体步骤如下:

s1、在实验区域中布置4个uwb基站,分别布置在区域的4个顶角处;同时将实验区域划分为30个网格,每个网格大小为80*80cm,取每个网格的中心点作为参考指纹点。

s2、每个网格作为一个数据采集区域,在每个数据采集区域接受4个基站的测距值,连续采集100组数据,每组数据包括一个uwb测距值和对应的数据采集点物理位置,建立位置指纹数据库lf,其中,(xi,yi)表示第i个指纹点物理位置,表示第i个指纹点接收到第j个uwb基站的测距值,i=1,2,...,30,j=1,2,3,4。

s3、对数据库lf中的100组数据进行均值滤波,得到30个指纹量,每个指纹量包含该指纹物理坐标和该指纹到4个uwb基站的测距值,指纹数据库lf如下表所示:

表1纹数据库lf

s4、利用meanshift算法对s3获取的指纹量进行聚类处理,得到聚类后的指纹数据库;具体操作如下:

s41、输入表1中的30个指纹数据,随机选择一个指纹数据点作为中心点center。

s42、找出与center距离在260cm之内的所有数据点,将这些数据点记做集合m,同时认为这些数据点属于簇c1。

s43、以center为中心,计算从center开始到集合m中每个元素的向量,并将这些向量相加得到总向量shift。

s44、令center=center+shift,即中心点center沿着向量shift的方向移动||shift||距离。

s45、重复步骤s42、s43、s44,直到距离||shift||小于规定阈值a1,a1应该设置的尽可能小,保证迭代效果尽可能好,本实施例设置a1为10cm,记录此时的中心点center,并将过程中访问的所有的点都归类到簇c1。

s46、在不属于簇c1的指纹数据点中随机选择一个新的中心点center,重复步骤s42、s43、s44、s45,直到所有数据点都被标记访问。

s47、聚类过程中,如果当前簇ck中心点与其他已经存在的簇cl中心点的距离小于阈值a2,将簇ck和cl合并,否则,把ck作为新的聚类,类别数目加1;a2是根据具体实验要求设定的,本具体实施例设置a2为210cm。

s48、初始状态下,第i个指纹数据点属于簇ck的概率簇ck每访问一次数据点i,将数据点i属于簇ck的概率加1,即比较每个指纹数据点属于每个簇的概率,取概率最大的那个簇作为该指纹数据点的所属类,获得聚类后的指纹数据库,本具体实施例将30个指纹数据分为了5个子类c1、c2、c3、c4、c5,每个子类包含5-7个指纹点,并计算每个子类的中心位置。

在线数据匹配阶段设置了1个测试点,如图3所示,具体步骤如下:

s1、待测指纹实时获取uwb基站的测距值,将待测指纹的测距值与聚类后指纹数据库中的数据进行匹配,找到跟其欧式距离最接近的子类c3。

s2、采用加权k近邻算法,根据步骤s1选定的子类中各个指纹点位置估算待测指纹位置;具体操作如下:

s21、本具体实施例实验区域较小,在子类c3中只有7个指纹点,选择子类中所有点进行计算,分别计算待测指纹点到子类中7个指纹点的指纹间距离和子类中心点到子类中7个指纹点的指纹间距离。

s22、根据以上两种距离对待测指纹位置的影响设置权重系数:

其中,li是子类中第i个指纹点到子类中心点的指纹间距离,di为子类中第i个指纹点指纹到待测指纹点的指纹间距离。

s23、对子类中的指纹位置求加权平均,得到待测指纹位置坐标

其中,(xi,yi)表示子类中第i个指纹点物理位置坐标。

上面结合附图对本发明的实施方式作了详细地说明,但是本发明并不局限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

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