首页> 中国专利> 基于位置指纹识别算法的安卓设备WiFi室内定位方法

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

摘要

针对终端接收机在楼群密集的城市或者室内工作的时候,由于信号强度受到建筑物的影响而大大衰减,导致定位精度低甚至不能够完成定位的问题,本发明公开了一种基于位置指纹识别算法的安卓(Android)设备端WiFi室内定位方法,在传统指纹识别算法的基础上采用KNN匹配算法和基于权重的坐标计算方法获得待测点位置,有效降低了信号波动带来的误差,能够精确定位终端接收机位置,且反应迅速。相对于传统的室内定位方法,本发明能在环境复杂的情况下较为精确地定位请求者位置,反应迅速,高效精准,特别适合Android设备端室内位置定位。

著录项

  • 公开/公告号CN103200678A

    专利类型发明专利

  • 公开/公告日2013-07-10

    原文格式PDF

  • 申请/专利权人 南京信息工程大学;

    申请/专利号CN201310120751.2

  • 申请日2013-04-09

  • 分类号H04W64/00(20090101);G01S5/02(20100101);

  • 代理机构32206 南京众联专利代理有限公司;

  • 代理人顾进

  • 地址 210044 江苏省南京市宁六路219号

  • 入库时间 2024-02-19 19:41:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-29

    未缴年费专利权终止 IPC(主分类):H04W64/00 授权公告日:20160113 终止日期:20180409 申请日:20130409

    专利权的终止

  • 2016-01-13

    授权

    授权

  • 2013-08-07

    实质审查的生效 IPC(主分类):H04W64/00 申请日:20130409

    实质审查的生效

  • 2013-07-10

    公开

    公开

说明书

技术领域

本发明属于室内定位与导航技术领域,尤其涉及一种利用室内无线定位技术实现安卓设 备室内精确定位的方法。

背景技术

目标的位置信息在各种场合中发挥着重要作用,如车辆导航、矿井井下人员定位、医疗 看护对象定位、建筑工地管理等。目前定位上应用最广泛的无疑使“全球卫星定位系统(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的位置信息并不现实。此外,由于影 响信号传输的因素很多,不同环境下的信号传输损耗模型大不相同,建立一个准确的、适合 实际应用的损耗模型存在着很大的困难。因此,基于三角形算法的无线定位在具体实施中困 难重重。

位置指纹识别算法依靠表征目标特征的数据库进行识别。其过程主要分为训练与定位两 个阶段。训练阶段的目标在于建立一个位置指纹识别数据库。首先,设计网格状结构的参考 点分布,参考点间距不超过1米,确保能为定位阶段的准确位置估计提供足够的信息。接着 依次在各个参考点上测量来自不同AP组成的RSS向量,将相应的MAC地址与参考点的位置信 息记录在数据库中,直至遍历关注区域内所有的参考点。由于受环境影响,无线信号强度并 不稳定,为了克服RSS不稳定对定位的影响,通常在每个参考点上多次测量取平均。定位阶 段则是在给定数据库后,依据一定的匹配算法将待测点上接收的RSS向量与数据库中的已有 数据进行比较,计算位置估计值。

匹配算法通常采用NN算法和KNN算法。NN算法的运算量较大,耗时较长,而KNN匹配 算法的实质是计算待测点采集到的RSS向量与数据库中已记录的RSS向量之间的距离。假设 待测区域有n个AP,m个参考点,从而距离的表达式为:

dis=(Σj=1n|sj-Sij|w)1/w

式中:i=1,2,…,m;j=1,2,…,n。

sj表示在待测点接收到来自第j个AP的RSS。Sij表示在第i个参考点接收到来自第i个 AP的RSS(已记录在数据库中)。当w=1时,dis为曼哈顿距离。w=2时,dis为欧几里德 距离。距离越小代表匹配越成功。KNN算法就是在dis中从小到大选择K个参考点,将待测 点定位在K个参考节点的坐标平均处。设参考点坐标为(xi,yi),i∈[1,K]。从而待测点坐标 为:

(x,y)=1KΣi=1K(xi,yi)

但单纯取K个参考点平均值计算得出的坐标和待测点的实际坐标通常不完全一致,不能精确 定位待测点的位置。

发明内容

为了解决上述问题,针对终端接收机在楼群密集的城市或者室内工作的时候,由于信号 强度受到建筑物的影响而大大衰减,导致定位精度低甚至不能够完成定位的问题,本发明公 开了一种基于位置指纹识别算法的安卓(Android)设备端WiFi室内定位方法,在传统指纹 识别算法的基础上加以改进,能够精确定位终端接收机位置,且反应迅速。

为了达到上述目的,本发明提供如下技术方案:

基于位置指纹识别算法的安卓设备WiFi室内定位方法,包括以下步骤:

(1)将区域划分为网格状结构,每一个交点为一个RP,以此为二维坐标系,原点设定在区 域左下角的交点;

(2)扫描区域内所有RP接收到的无线信号强度,组成该RP的信号强度RSS向量,最后将 RP标识、RSS向量和扫描时间记录在oracle数据库中,如果没有发现AP,则发出警 告;

(3)接收来自待测Android设备端的定位请求,解析请求中信号强度向量 s=[ss1,ss2,ss3,…,ssk],提取数据库中最新的所有的信号强度向量RSS集合,定义为 Si=[SSi1,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。

作为本发明的一种改进方案,所述步骤(3)和步骤(4)之间还包括如下步骤:

对得到的向量s和向量集合S进行筛选,使得s和S中的AP标识一一对应,筛选获得满 足k=m的待测点信号强度向量s'和数据库中信号强度向量S'。

作为本发明的一种优选方案,所述步骤(1)中,划分网格状结构时,网格尺寸通过手工 设定,默认尺寸为0.5m*0.5m。

作为本发明的一种优选方案,所述步骤(2)中,扫描参照点RP获得信号强度向量时, 每一个RP按照预先设定的扫描次数进行扫描,扫描后取信号强度向量的平均值存入数据库, 所述扫描次数默认值为100。

作为本发明的一种优选方案,所述步骤(6)中采用的基于权重的坐标计算的过程为:首 先获取待测点与四个RP的距离d1、d2、d3、d4,然后读取四个RP的坐标值(x1,y1)、(x2,y2)、 (x3,y3)、(x4,y4),最后通过公式

(x,y)=((d2x1+d1x2)/(d1+d2)+(d3x4+d4x3)/(d4+d3)2,(d3y1+d1y4)/(d1+d4)+(d3y2+d2y3)/(d2+d3)2)

计算出待测点坐标位置,其中两个同方向边上的RP分别进行加权计算后取平均值。

作为本发明的一种优选方案,所述步骤(7)中所述的K默认为8。

作为本发明的一种优选方案,所述步骤(2)根据一定间隔反复执行,所述的间隔默认为 6小时。

与现有技术相比,本发明具有如下优点和技术方案:

1.针对基于WiFi的室内定位,使用位置指纹识别算法获取参考点RP(网格交点)的信号强 度向量RSS,构建指纹数据库,并定时更新RP指纹数据,能够确保参考点的有效性和准 确性,采用KNN匹配算法和基于权重的坐标计算方法获得待测点位置,有效降低了信号波 动带来的误差。相对于传统的室内定位方法,能在环境复杂的情况下较为精确地定位请求 者位置,反应迅速,高效精准,特别适合Android设备端室内位置定位。

2.对待测点信号强度向量和数据库中信号强度向量的筛选,能够有效避免AP变化引起的不 匹配现象。

附图说明

图1为试验区域网格划分示意图;

图2为训练步骤流程框图;

图3为定位步骤流程框图;

图4为进行权重计算时待测点和参考点的位置关系示意图。

具体实施方式

以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方 式仅用于说明本发明而不用于限制本发明的范围。

实验区域的布置方式如图1所示,在8m*5.5m的区域内放置5个无线信号接入点(即AP, 标号为A到E)。所有的AP均为有源RFID,工作频率为2.442GHz,灵敏度为-118dBm,发射 功率最小值为-24dBm。使用电脑上安装的WirelessMon软件扫描AP的信号强度。

本发明提供的WiFi室内定位方法分为训练和定位两个流程,训练步骤如图2所示,描述 如下:

步骤1,按照0.5m*0.5m的二维正方形网格分布划分出204个参照点(RP),相邻两RP在 两个坐标轴方向上的距离为0.5m。以该区域为一个二维坐标系,原点设定在区域最左下角的 交点上。上述尺寸0.5m*0.5m为预先设定好的经验值,运行后可以手工设定。

步骤2,针对204个RP,使用WirelessMon软件扫描区域内每个RP接收无线信号接入点 A到E的信号强度100次(100为默认值,可手工重设),计算平均值作为该RP的信号强度 RSS向量,由此获得204个RSS向量分别为:(-52,-31,-73,-60,-67)、(-49,-29,-70, -57,-64)、(-40,-25,-66,-53,-60)、(-39,-28,-62,-51,-60)、…、(-69,-75,-31, -49,-52),其中数值单位为dBm。如果没有发现AP,则发出警告“区域内无可用无线信号接 入点”;

步骤3,将步骤2获得的所有RP的数据,包括RP标识、RSS向量、AP标识和扫描时间, 记录在oracle数据库中,数据结构和数值为:[{RP:(0,0);RSS:(A:-52,B:-31,C:-73, D:-60,E:-67);TIME:“2013-01-2609:56”},{RP:(1,1);RSS:(A:-49,B:-29,C:-70,D:-57, E:-64);TIME:“2013-01-2609:56”},{RP:(2,2);RSS:(A:-40,B:-25,C:-66,D:-53, E:-60);TIME:“2013-01-2609:56”},{RP:(3,3);RSS:(A:-39,B:-28,C:-62,D:-51, E:-60);TIME:“2013-01-2609:56”},…,{RP:(16,11);RSS:(A:-69,B:-75,C:-31,D:-49, E:-52);TIME:“2013-01-2609:56”}]。

步骤3,等待6个小时,后转到步骤2。即每6小时重复扫描每个RP接收到AP的信号强 度,以确保数据库中的RP数据得到实时更新。上述6小时为默认值,该重复扫描时间间隔可 根据需要进行重新设定。

如图3所示,定位过程如下:

步骤10,接收来自Android设备端的定位请求,解析请求中信号强度向量s=(A:-31, B:-42,C:-47,D:-38,E:-53),其中数值单位为dBm。所述的Android设备端为安装有 Android系统的智能处理装置,如Android手机、平板电脑等等。

步骤20,若向量s非空,即请求端接收到正常WiFi信号,进入步骤30;如果向量s为 空,则返回提示信息“坐标计算错误,无法进行定位”。

步骤30,读取oracle数据库中最新的所有参照点RP的数据,放入集合S中, Si=[SSi1,SSi2,SSi3,…,SSim],其中m代表AP个数,Si代表某个RP的信号强度向量,数据结构 和数值为[{RP:(0,0);RSS:(A:-52,B:-31,C:-73,D:-60,E:-67);TIME:“2013-01-26 09:56”},{RP:(1,1);RSS:(A:-49,B:-29,C:-70,D:-57,E:-64);TIME:“2013-01-26 09:56”},{RP:(2,2);RSS:(A:-40,B:-25,C:-66,D:-53,E:-60);TIME:“2013-01-26 09:56”},{RP:(3,3);RSS:(A:-39,B:-28,C:-62,D:-51,E:-60);TIME:“2013-01-26 09:56”},…,{RP:(16,11);RSS:(A:-69,B:-75,C:-31,D:-49,E:-52);TIME:“2013-01-26 09:56”}]。

步骤40,计算待测点位置坐标P。

如图3所示,计算待测点位置坐标P流程如下:

步骤401,筛选s和S中的AP标识列表,其中s中的AP标识列表为(A,B,C,D,E),S中 所有向量的AP标识列表为(A,B,C,D,E),可知,s与S中所有向量的AP标识对应且顺序一致, 避免AP变化引起的不匹配现象,筛选结束。

步骤402,采用KNN匹配算法分别计算s与Si的欧几里德距离,放入集合D中,按升序排 序,所得数据为{1.97:(5,6);3.28:(6,6);4.01:(5,7);5.19:(6,7);5.19:(6,7); 5.19:(6,7);5.19:(6,7);…;47.82:(16,0)}。

步骤403,取前4个距离数据,即{1.97:(5,6);3.28:(6,6);4.01:(5,7); 5.19:(6,7)},可知该4个坐标可以组成一个网格,如图4所示,进入下一步。

步骤404,采用给予权重的坐标计算方法,根据公式

(x,y)=((d2x1+d1x2)/(d1+d2)+(d3x4+d4x3)/(d4+d3)2,(d3y1+d1y4)/(d1+d4)+(d3y2+d2y3)/(d2+d3)2)

计算待测点坐标P,其中x1=x4=5、x2=x3=6、y1=y2=6、y3=y4=7,d1=1.97、 d2=3.28、d3=4.01、d4=5.19,代入后可得坐标值(5.41,6.36),返回坐标P(5.41,6.36)。

如果步骤403中取得的4个坐标无法组成网格,那么对于已排序的集合D,取出前K个 距离,计算平均值来确定待测点的位置坐标P。这里K默认设为经验值8,即获得前8个距离 所代表的RP坐标,计算平均值来确定待测点的坐标,其中K值可以手工设定。

步骤50,对于所获得的坐标P(5.41,6.36),0<x<16,0<y<11,可知该请求者位 于室内,返回坐标P并退出。若获得的坐标不在划分网格范围内,则返回错误信息“坐标计 算错误,无法进行定位”。

本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上 技术特征任意组合所组成的技术方案。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号