基于位置指纹识别算法的安卓设备WiFi室内定位方法

文档序号:5865911阅读:495来源:国知局
专利名称:基于位置指纹识别算法的安卓设备WiFi室内定位方法
技术领域
本发明属于室内定位与导航技术领域,尤其涉及一种利用室内无线定位技术实现安卓设备室内精确定位的方法。
背景技术
目标的位置信息在各种场合中发挥着重要作用,如车辆导航、矿井井下人员定位、医疗看护对象定位、建筑工地管理等。目前定位上应用最广泛的无疑使“全球卫星定位系统(GPS) ”,GPS作为全球最广泛使用的卫星导航定位技术,在许多领域得到了推广应用。用户需要凭借手持接收器或者在汽车或游艇上安装接收器接收卫星信号,接收器从卫星获得信号后进行一些计算来确定你的位置。GPS接收器知道一天某个时候卫星的位置,它至少要从3个卫星上获取信号,然后根据信号画出你的三角坐标。在空旷的场地上,接收器能够畅通无阻地收到卫星发出的信号,这时候GPS的接收效果就会很好。但GPS在应用上有著很大的局限性,其信号却极易受障碍物的干扰和阻断,在密集的城市地带、隧道、室内等环境定位不可靠甚至于失效。如果有高山、建筑或者隧道挡在接收器和卫星之间,GPS的接收效果就会很差。因此,GPS在沙漠、空旷的乡间和海面能提供良好的导航效果,但如果是在高层建筑里面或者高楼大厦之间导航效果就会不尽人意。因此,必须有其它的定位技术辅助GPS或者单独在无GPS可用的场合下提供定位服务。随着IEEE802.11技术的成熟,WiFi在世界各地普及,其覆盖面越来越广。虽然WiFi并不是为定位而设计,但接入点(AP)或基站定期发送的信标信号中所含的接收信号强度(RSS)信息为定位移动台提供了可能性,将其应用于定位场合受到了学术界与产业界的极大关注。较之现行定位技术如GPS、蜂窝定位、无迹推算等,基于WiFi的定位具有如下优势:(1)可工作于室内、室外等不同场合,为实现无处不在的定位提供了可能性;(2)仅依赖于现有的WiFi网络,无需对其进行任何改动,使用成本低;(3) WiFi信号受非视距(NLOS)影响小,即使在有障碍物阻挡的情况下也能使用。当前,绝大多数基于WiFi的定位系统都利用RSS,其方法主要分成两类:三角形算法和位置指纹识别(fingerprinting)算法。三角形算法利用待测目标到至少三个已知参考点之间的距离信息估计目标位置,而位置指纹识别则通过比较定位所需的信号特征指纹信息获取目标位置。基于三角形算法的WiFi定位很大程度上依赖于确知的AP位置信息及准确的信号传输损耗模型。然而,由于涉及个人隐私等原因,获知所有AP的位置信息并不现实。此外,由于影响信号传输的因素很多,不同环境下的信号传输损耗模型大不相同,建立一个准确的、适合实际应用的损耗模型存在着很大的困难。因此,基于三角形算法的无线定位在具体实施中困难重重。位置指纹识别算法依靠表征目标特征的数据库进行识别。其过程主要分为训练与定位两个阶段。训练阶段的目标在于建立一个位置指纹识别数据库。首先,设计网格状结构的参考点分布,参考点间距不超过I米,确保能为定位阶段的准确位置估计提供足够的信息。接着依次在各个参考点上测量来自不同AP组成的RSS向量,将相应的MAC地址与参考点的位置信息记录在数据库中,直至遍历关注区域内所有的参考点。由于受环境影响,无线信号强度并不稳定,为了克服RSS不稳定对定位的影响,通常在每个参考点上多次测量取平均。定位阶段则是在给定数据库后,依据一定的匹配算法将待测点上接收的RSS向量与数据库中的已有数据进行比较,计算位置估计值。匹配算法通常采用NN算法和KNN算法。NN算法的运算量较大,耗时较长,而KNN匹配算法的实质是计算待测点采集到的RSS向量与数据库中已记录的RSS向量之间的距离。假设待测区域有η个AP,m个参考点,从而距离的表达式为:
权利要求
1.基于位置指纹识别算法的安卓设备WiFi室内定位方法,其特征在于,包括以下步骤: (1)将区域划分为网格状结构,每一个交点为一个RP,以此为二维坐标系,原点设定在区域左下角的交点; (2)扫描区域内所有RP接收到的无线信号强度,组成该RP的信号强度RSS向量,最后将RP标识、RSS向量和扫描时间记录在oracle数据库中,如果没有发现AP,则发出警告; (3)接收来自待测Android设备端的定位请求,解析请求中信号强度向量S=Lss1, SS2, SS3,…,SSk],提取数据库中最新的所有的信号强度向量RSS集合,定义为Si=LSSil, SSi2, SSi3,…,SSim],其中k为Android设备端检测到的AP数量,m为扫描参照点信号时检测到的AP数量,Si代表第i个RP的信号强度向量; (4)采用KNN匹配算法计算s与Si的欧几里德距离,获得距离集合D; (5)对步骤(4) 得到的初步距离集合D进行升序排序,首先获取前四个距离代表的RP,如果能够组成一个网格,则转到步骤(6),否则转到步骤(7); (6)对于步骤(5)得到的四个RP,将待测点与每个RP之间的距离作为权重,采用基于权重的坐标计算方法计算待测点的位置坐标P ; (7)对于步骤(4)得到的已排序的集合D,取出前K个距离,计算平均值来确定待测点的位置坐标P。
2.根据权利要求1所述的基于位置指纹识别算法的安卓设备WiFi室内定位方法,其特征在于,所述步骤(3)和步骤(4)之间还包括如下步骤: 对得到的向量s和向量集合S进行筛选,使得s和S中的AP标识一一对应,筛选获得满足k=m的待测点信号强度向量s’和数据库中信号强度向量S’。
3.根据权利要求1或2所述的基于位置指纹识别算法的安卓设备WiFi室内定位方法,其特征在于:所述步骤(I)中,划分网格状结构时,网格尺寸通过手工设定,默认尺寸为0.5m*0.5mο
4.根据权利要求1或2所述的基于位置指纹识别算法的安卓设备WiFi室内定位方法,其特征在于:所述步骤(2)中,扫描参照点RP获得信号强度向量时,每一个RP按照预先设定的扫描次数进行扫描,扫描后取信号强度向量的平均值存入数据库,所述扫描次数默认值为100。
5.根据权利要求1或2所述的基于位置指纹识别算法的安卓设备WiFi室内定位方法,其特征在于,,所述步骤(6)中采用的基于权重的坐标计算的过程为:首先获取待测点与四个RP的距离屯、d2、d3、d4,然后读取四个RP的坐标值(X1, y!)、(x2, y2)、(x3, y3)、(x4, y4),最后通过公式 Μχ2 ),..+ (4 +drxi).(4Λ +di)'4) , + (4Λ +dIXi)...(χ.y*) = (_. 十O_._.(dj +i^4 )_.^ 计算出待测点坐标位置,其中两个同方向边上的RP分别进行加权计算后取平均值。
6.根据权利要求1或2所述的基于位置指纹识别算法的安卓设备WiFi室内定位方法,其特征在于:所述步骤(7)中所述的K默认为8。
7.作为本发明的一种优选方案,所述步骤(2)根据一定间隔反复执行,所述的间隔默认为6小时。
全文摘要
针对终端接收机在楼群密集的城市或者室内工作的时候,由于信号强度受到建筑物的影响而大大衰减,导致定位精度低甚至不能够完成定位的问题,本发明公开了一种基于位置指纹识别算法的安卓(Android)设备端WiFi室内定位方法,在传统指纹识别算法的基础上采用KNN匹配算法和基于权重的坐标计算方法获得待测点位置,有效降低了信号波动带来的误差,能够精确定位终端接收机位置,且反应迅速。相对于传统的室内定位方法,本发明能在环境复杂的情况下较为精确地定位请求者位置,反应迅速,高效精准,特别适合Android设备端室内位置定位。
文档编号G01S5/02GK103200678SQ20131012075
公开日2013年7月10日 申请日期2013年4月9日 优先权日2013年4月9日
发明者马廷淮, 陆颍华, 郑钰辉, 田伟, 姚永雷 申请人:南京信息工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1