一种室内定位方法与流程

文档序号:15821860发布日期:2018-11-02 23:10阅读:400来源:国知局
一种室内定位方法与流程

本发明涉及室内定位技术领域,具体涉及一种基于wifi指纹的快速精确室内定位方法。

背景技术

随着“互联网+”创新思维的提出和实践,中国的科技产业已经进入高速发展阶段,我国已经进入创新2.0下的互联网发展的新业态。“互联网+”思维是利用互联网技术对传统行业社会资源配置优化和集成的优势,将创新成果深度融合到社会各行业中,形成以互联网为基础的智能化经济发展新形态,改变了人们的生活方式。基于ieee802.11/a/g/b/n/ac的无线局域网(wlan)技术的发展,使无线联网技术得到广泛的普及,以wifi(wirelessfidelity)为代表的无线网络技术使得用户可以随时随地从互联网中获取信息。在高度发达的信息时代背景下,移动用户对位置信息的需求已经不仅仅局限于户外粗略定位,精确的实时就地定位需求随之与日俱增,借助智能硬件如智能手机、智能穿戴设备、平板电脑等设备,移动用户可以随时获取基于位置的服务(lbs)。为了满足移动用户日益增长的多元化及精细化的定位服务需求,定位技术的关键是在智能基础设施普及的基础上提供高效、精确的实时定位服务。

基于rss的位置指纹识别方法,一般而言它分为离线和在线两个阶段。离线阶段,利用移动设备在各个参考点采集指纹信息建立指纹库。每条指纹信息包括rss向量和对应的位置信息。在线阶段则把待定位点收集到的rss向量与指纹库中的参考点rss向量匹配,运用匹配算法计算最终的位置估计。knn算法是常用的算法之一,传统的knn及相关定位算法会计算所有参考点与目标之间的指纹距离,然后进行排序,选择出近邻点,指纹数据规模过大时,会严重影响定位效率。如果在调用定位算法之前,对指纹进行粗略筛选将直接降低算法的时间复杂度。因此,大量的聚类算法应用到定位算法中,其中网格聚类sting算法特别适合对具有空间特性的指纹数据进行聚类。

sting是一种具有层次结构和递归思想的多分辨率网格聚类算法。它将数据对象按空间属性分层递归地划分为互不重叠的矩形单元。sting算法的优点是网格计算与查询是相互独立的,对于不同规模的数据量可以通过设置网格的分辨率和分层数,实现高效聚类。从而降低传统knn算法的时间复杂度。



技术实现要素:

本发明的目的是为了解决现有技术中的上述缺陷,提供一种室内定位方法,该方法利用sting网格聚类算法构建离线指纹库,缩小定位范围,节约了定位时间,结合动态筛选机制实现较为精确的定位。

本发明的目的可以通过采取如下技术方案达到:

一种室内定位方法,所述的定位方法包括以下步骤:

离线阶段,采集rss指纹;

将区域内的指纹按网格进行划分,构建整个区域的离线指纹库;

在线阶段,使用sting算法查询出近邻单元格,选出近邻点及对应距离;

计算待定位目标的定位结果;

输出定位结果。

进一步地,所述的将区域内的指纹运用sting算法按网格进行划分,构建整个区域的离线指纹库包括:

设定底层单元格大小和要划分的层数(单元格分辨率);

采集参考指纹r,并标记该指纹所在的底层单元格号;

计算并存储底层单元格的参数;

对近邻单元格聚类,生成上一层单元格,并存储单元格参数,直到网络层次构建完成;

存储网格结构以及参数。

进一步地,所述的在线阶段,计算待定位目标的近邻单元格,得出定位结果:

利用待定位点rss向量,在区域内使用sting算法查询出近邻单元格,选出近邻点及对应距离;

根据sting的查询结果获得,区域中的kl个近邻点;

对近邻点进行阈值筛选,选择满足条件的近邻点;

使用筛选得到的近邻点结合wknn算法进行位置计算;

输出定位目标的区域和坐标位置。

进一步地,所述的利用待定位点rss向量,在区域内使用sting算法查询出近邻单元格,选出近邻点及对应距离包括:

计算目标指纹与各单元格质心指纹的距离,选择若干个近邻单元格继续往下一层查找,直到查询底层的近邻单元格。

进一步地,所述的对近邻点进行阈值筛选,选择满足条件的近邻点具体为:

对已经确定的kl个近邻点进行筛选,通过设定阈值改变被考虑的邻居点的数量来得到精确定位。假设在查询到的近邻单元格中选出的kl个近邻点及距离集合是通过下面公式确定筛选阈值:

其中,dmax表示近邻点中所对应的最大指纹距离,dmin表示近邻点中所对应的最小指纹距离,而dτ是一个筛选阈值,筛选条件是将不满足不等式的近邻点剔除,在进行位置计算时只需要考虑满足条件的近邻点。如此,最终决定定位的近邻数是动态变化的,设置动态近邻数的目的是删掉对精定位贡献较小的近邻点。

进一步地,所述的使用筛选得到的近邻点结合wknn算法进行位置计算;输出定位目标的区域和坐标位置具体为:

假设筛选后得到的近邻点坐标与距离集合为每个近邻点对应的权重为:

(xj,yj)表示第j个近邻点的坐标,dj表示第j个近邻点的欧氏距离,αj表示第j个近邻点权重,则最终精确定位的坐标由以下公式计算可得:

其中(x,y)表示参考点的横坐标和纵坐标。

进一步地,所述区域的离线指纹库用ψ表示:

在指纹图ψ矩阵中rssm,n,(m=1,2...m,n=1,2,...n)表示第m个参考点接收到第n个ap的rss平均值(单位:dbm),ψ的每一个行向量代表一个参考点接收到n个ap的rss。

进一步地,所述的计算待测点的rss向量与子区域的指纹数据库中每条向量的欧氏距离的公式为:

上式表示待测点rss向量与子区域的指纹数据库radiomapi中第m条向量的欧氏距离,式中,m=1,2,…m,n=1,2,…n,rssm,n表示来自第m个参考点接收到来自第n个ap点的rss,rsst,n表示待测点接收到来自第n个ap点的rss。

本发明相对于现有技术具有如下的优点及效果:

1、本发明运用sting网格聚类算法构建离线指纹库,减小了匹配过程的计算量降低了计算花费的时间。

2、本发明结合了动态筛选机制,对已经确定的kl个近邻点进行筛选,通过设定阈值改变被考虑的邻居点的数量,从而提高定位精度。

3、本发明所提出的方法,简单易操作,能够方便的在新环境中部署实现。

附图说明

图1是实验场地区域网格划分示意图,其中节点就是选取的参考点的位置;

图2是本发明公开的室内定位方法的流程步骤图;

图3是区域离线阶段指纹库的建立流程图;

图4是本发明公开sting算法单元格查询过程示意图;

图5是本发明公开的在线阶段算法的实时定位流程步骤图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

本实施例公开了一种基于加权欧氏距离和异常值剔除的快速精确的室内定位方法,流程步骤图参照附图2所示,由附图2可知,该室内定位方法具体包括以下步骤:

s1、采集待测区域rss指纹,每个节点作为一个参考点(rp);

s2、将区域内的指纹按网格进行划分,构建整个区域的离线指纹库;

该步骤s2中所述的将区域内的指纹按网格进行划分,构建整个区域的离线指纹库包括:

s201、设定底层单元格大小和要划分的层数(单元格分辨率);

s202、采集参考指纹r,并标记该指纹所在的底层单元格号;

s203、计算并存储底层单元格的参数;

s204、对近邻单元格聚类,生成上一层单元格,并存储单元格参数,直到网络层次构建完成;

s205、存储网格结构以及参数。

具体实施方式中,每个区域的参考点对应的rss向量,按照一定的顺序构建该区域类的指纹库下面用ψ表示:

在指纹图ψ矩阵中rssm,n,(m=1,2...m,n=1,2,...n)表示第m个参考点接收到第n个ap的rss平均值(单位:dbm),ψ的每一个行向量代表一个参考点接收到n个ap的rss。

s3、在线阶段,使用sting算法查询出近邻单元格,选出近邻点及对应距离;

该步骤s3中所述的在线阶段,使用sting算法查询出近邻单元格,选出近邻点及对应距离包括:

s301、利用待定位点rss向量,在区域内使用sting算法查询出近邻单元格,选出近邻点及对应距离;

具体实施方式中,所述的利用待定位点rss向量,在区域内使用sting算法查询出近邻单元格,选出近邻点及对应距离为:

在划分区域指纹网格时,已知每个单元格都存储了各自的参数。在区域内进行网格查询处理,一般从顶层开始往下层查询单元格,在满足条件的单元格中继续往下一层进行新一轮查询,直到找到底层的近邻单元格。图4中显示从第n层往下一层查询的结果,从图中可以看出蓝色单元格e1是其中一个近邻单元格,到第n+1层时,在单元格e1内存在4个子单元格,在所有子单元格中又重新计算近邻单元格,直到满足要求。

s302、根据sting的查询结果获得,区域中的kl个近邻点;

s303、对近邻点进行阈值筛选,选择满足条件的近邻点;

具体实施方式中,所述的对近邻点进行阈值筛选,选择满足条件的近邻点为:

对已经确定的kl个近邻点进行筛选,通过设定阈值改变被考虑的邻居点的数量来得到精确定位。假设在查询到的近邻单元格中选出的kl个近邻点及距离集合是通过下面公式确定筛选阈值:

其中,dmax表示近邻点中所对应的最大指纹距离,dmin表示近邻点中所对应的最小指纹距离,而dτ是一个筛选阈值,筛选条件是将不满足不等式的近邻点剔除,在进行位置计算时只需要考虑满足条件的近邻点。如此,最终决定定位的近邻数是动态变化的,设置动态近邻数的目的是删掉对精定位贡献较小的近邻点。

s4、计算待定位目标的定位结果;

该步骤s4中所述的计算待定位目标的定位结果包括:

s401、使用筛选得到的近邻点结合wknn算法进行位置计算;

具体实施方式中,所述的使用筛选得到的近邻点结合wknn算法进行位置计算具体为:

假设筛选后得到的近邻点坐标与距离集合为每个近邻点对应的权重为:

(xj,yj)表示第j个近邻点的坐标,dj表示第j个近邻点的欧氏距离,αj表示第j个近邻点权重,则最终精确定位的坐标由以下公式计算可得:

其中(x,y)表示参考点的横坐标和纵坐标。

s5、输出最终定位结果。

至此实现了定位的整个过程。

综上所述,上述实施例是采用定位系统工作流程和sting算法执行流程结合的方式全面地描述实施例中定位的过程,相关原理已在发明内容中详细的说明。本发明针对传统knn算法查询方式提供了一种有效的算法解决方案。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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