一种基于复合指纹特征的WiFi指纹定位方法与流程

文档序号:18237915发布日期:2019-07-24 08:49阅读:242来源:国知局
一种基于复合指纹特征的WiFi指纹定位方法与流程
本发明涉及于基于Wi-Fi的无线定位
技术领域
,具体是在传统指纹定位基础上,将双向无线信号强度、移动终端方向、终端网卡制造厂商等参数引入位置指纹定位算法,从而提高Wi-Fi指纹的定位精度。包括:双向无线信号强度的采集;移动终端方向的获取;移动终端网卡制造厂商数据库的建立;定位引擎完成指纹定位的方法。
背景技术
:现有的Wi-Fi移动设备无需附加任何传感器就可直接进行定位,因此Wi-Fi定位法广为采用。然而,这种定位法基于无线信号场强值的RSSI获取,其准确性常受噪音,反射,及障碍物的影响。具体的是在复杂的室内环境中,无线信号传播特性主要包含,路径损耗、阴影衰落和多径效应,其中路径损耗是基于RSSI定位的核心依据,即信号强度与距离有一定的对应关系;阴影衰落主要由发射机和接收机之间的障碍物造成的,这些障碍物通过吸收、反射、散射和绕射等方式衰落信号功率,严重时甚至会阻断信号;多径效应即接收机所接收到的信号是通过不同的直射、反射、折射等路径到达接收机,由于电波通过各个路径的距离不同,因而各条路径中发射波的到达时间、相位都不相同,不同相位的多个信号在接收端叠加,如果同相叠加则会使信号幅度增强,而反相叠加则会削弱信号幅度。这样,接收信号的幅度将会发生急剧变化。因此室内环境中RSSI值表现出高度的不确定性和非线性特性,使得RSSI与物理位置并非一一映射的关系,严重影响WLAN指纹定位技术的定位精度。同一时刻,对于同一报文,从无线AP侧观察到的移动终端发射的信号强度,与从移动终端侧观察到的无线AP发射的信号强度,具有明显的差异。这种差异可以被用来增强无线信号RSSI的指纹特性。手持移动终端时,人体对无线AP和移动终端的不同方向遮挡对RSSI的影响也不同,因此人体方向对指纹的特征有很大影响,指纹采集时考虑遮挡,对RSSI的稳定性有很大价值。技术实现要素:本发明的目的在于提供一种基于复合指纹特征的WiFi指纹定位方法,以解决上述
背景技术
中提出的问题。为实现上述目的,本发明提供如下技术方案:一种基于复合指纹特征的WiFi指纹定位方法,包括初始配置阶段、离线采样阶段和在线实时定位阶段;一、在初始配置阶段,预先配置如下信息:1)WiFi部署区域地图绘制;在地图上标记出无线AP的安装位置,并将无线AP位置、APMAC地址保存到AP部署信息数据库;2)选定采样终端,将采样终端MAC地址及其终端类型保存到采样终端信息数据库;3)从而建立采样终端MAC和制造商对应关系的MAC-制造商数据库;二、在离线采样阶段,运行步骤如下:1)在部署有WiFi网络的环境中,手持不同型号的移动终端到达特定位置,停止20-60s,以收集该位置的WiFi指纹特征,收集的指纹包括:1-1)移动终端侧:移动终端通过安装采样APP调用系统API来收集周边部署的APMAC地址、信号强度RSSI、SSID信息,同时附上当前时间戳,发送到定位服务器;移动终端通过其装配的方向传感器判断其所处方向,作为用户的方向,同时发送到定位服务器;1-2)无线AP侧:无线AP采集采样终端的MAC地址、发射的信号强度RSSI,并记录采集时刻的时间戳以及APMAC地址,发送到定位服务器;2)定位服务器收到移动终端和无线AP发来的离线采样数据后,将同一采样时间段的采样值取平均值,并将同一位置的不同信息聚合,存储到离线指纹数据库中,并把这种结合上述多种信息的位置指纹称为复合指纹;三、在线实时定位阶段,对于任意待定位终端,进入该无线部署区域,并连接上WiFi,安装定位APP,具体步骤如下:(1)移动终端进入该无线部署区域后,定位APP采集周边的无线AP的信号强度RSSI、MAC地址,连同使用本地方向传感器采集的方向数据,与采集时间戳一同发送到定位服务器;(2)无线AP采集移动终端的MAC地址、信号强度RSSI,与采集时间戳一起发送到定位服务器;(3)定位服务器收到移动终端和无线AP发送的数据后,缓存到HASH表中,HASH表以<终端MAC,APMAC>作为索引键值key,value部分包含移动终端类型、两个RSSI值以及移动终端角度;(4)定位服务器程序将3-5s缓存的RSSI、移动终端角度数据取平均值,作为待匹配识别的特征;(5)根据移动终端型号,查询离线指纹数据库,如果有该型号的终端离线指纹,则使用这些记录,并跳转到步骤(8),否则下一步;(6)根据终端MAC地址,寻找离线指纹数据库中,是否存在同一制造厂家的无线网卡记录,如果有,则使用这些记录,并跳转到步骤(8),否则下一步;(7)使用离线指纹数据库中的所有记录;(8)针对对应实时指纹开始模式识别过程,使用kd-tree算法开始创建kd-tree;(9)在选定的指纹数据记录中,对于若干三维数据集合<RSSI1,RSSI2,angle>,选择具有最大方差的维度k,然后在该维度上选择中值m对该数据集合进行划分,小于该中值的为左子树,大于该中值的为右子树,从而得到两个子集合;同时创建一个树结点node,用于存储;(10)对两个子集合重复步骤(9)的过程,直至所有子集合都不能再划分为止;如果某个子集合不能再划分时,则将该子集合中的数据保存到叶子节点,从而完成kd-tree的创建;(11)在创建好的kd-tree中,对于实时指纹特征数据<RSSI1,RSSI2,angle>,使用二叉树搜索方法,顺着搜索路径就能找到最邻近的近似点,也就是叶子节点;而找到的叶子节点并不一定就是最邻近的近似点,为了找到真正的最邻近的近似点,还需进行回溯操作:算法沿搜索路径反向查找是否有距离查询点更近的数据点;(12)找到k个最邻近的近似点,并读取离线指纹库条目中对应位置坐标;(13)使用k近邻加权算法,对k个坐标加权平均得出的坐标作为移动终端的估计位置。与现有技术相比,本发明的有益效果是:本发明通过将移动终端和AP相对方向、移动终端型号、移动终端网卡型号、移动终端与AP双向非对称信号强度等参数引入位置指纹特征,形成复合指纹特征,作为WiFi指纹定位方法的基础依据,并以此为基础完成WiFi指纹定位的全过程。该方法提高了位置指纹的唯一性特征,对提高定位精度有明显的效果,并且无需进行任何硬件改造。附图说明图1是初始配置阶段的需要预先配置的信息示意图;图2是离线采样阶段的运行示意图;图3是在线实时定位阶段的运行流程图。具体实施方式下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。基于无线信号在室内传播的特点,用户在手持移动终端时,面向AP、背向AP或处于不同角度时,随着人体的转动,会导致无线AP、人体、移动终端三者之间的角度变化,或者说人体对无线AP和移动终端之间信号阻隔的效果会发生变化。这就会使得同一时刻,用户身体的方向对接收信号的强度指示RSSI产生影响。本发明将身体方向纳入RSSI指纹特征,作为辅助来提高定位的精度。另一方面,对于不同型号的移动终端,或者说对于装配有不同无线网卡的移动终端,其RSSI指纹的表现也会有所不同。本发明同时将利用MAC地址来区分不同无线网卡厂商,并且在离线阶段和在线阶段使用该信息提高定位精度实施例1本发明实施例中,一种基于复合指纹特征的WiFi指纹定位方法,包括初始配置阶段、离线采样阶段和在线实时定位阶段。一、在初始配置阶段,如图1所示,需要预先配置如下信息:1)WiFi部署区域地图绘制;在地图上标记出无线AP的安装位置,并将无线AP位置、APMAC地址保存到AP部署信息数据库;2)选定采样终端,将采样终端MAC地址及其终端类型保存到采样终端信息数据库;3)从而建立采样终端MAC和制造商对应关系的MAC-制造商数据库。用于采样的移动终端MAC地址;采样终端MAC(前3字节表明厂商)和无线网卡的制造商的对应表;如表1所示。表1终端型号MAC地址(前3字节)无线网卡型号制造商Mi3XiaomiH310HuaweiIphone6Apple二、在离线采样阶段,如图2所示,运行步骤如下:1)在部署有WiFi网络的环境中,手持不同型号的移动终端到达特定位置,停止20-60秒,以收集该位置的WiFi指纹特征,收集的指纹包括:1-1)移动终端侧:移动终端通过安装采样APP调用系统API来收集周边部署的APMAC地址、信号强度RSSI、SSID等信息,同时附上当前时间戳,发送到定位服务器;移动终端通过其装配的方向传感器判断其所处方向,作为用户的方向,同时发送到定位服务器;1-2)无线AP侧:无线AP采集采样终端的MAC地址、发射的信号强度RSSI,并记录采集时刻的时间戳以及APMAC地址,发送到定位服务器;2)定位服务器收到移动终端和无线AP发来的离线采样数据后,将同一采样时间段的采样值取平均值,并将同一位置的不同信息聚合,形成如表2所示结构的表项,存储到离线指纹数据库中,或称无线地图radiomap,并把这种结合多种信息的位置指纹称为复合指纹。表2三、在线实时定位阶段,对于任意待定位终端,进入该无线部署区域,并连接上WiFi,安装定位APP,如图3所示,具体步骤如下:(1)移动终端进入该无线部署区域后,定位APP采集周边的无线AP的信号强度RSSI、MAC地址,连同使用本地方向传感器采集的方向数据,与采集时间戳一同发送到定位服务器;(2)无线AP采集移动终端的MAC地址、信号强度RSSI,与采集时间戳一起发送到定位服务器;(3)定位服务器收到移动终端和无线AP发送的数据后,缓存到HASH表中,HASH表以<终端MAC,APMAC>作为索引键值key,value部分包含终端类型、两个RSSI值以及终端角度;HASH表的使用是用来提高新的采样值到来时的检索速度和插入速度;(4)定位服务器程序将3-5s缓存的RSSI、角度数据取平均值,作为待匹配识别的特征;(5)根据终端型号,查询离线指纹数据库,如果有该型号的终端离线指纹,则使用这些记录,并跳转到步骤(8),否则下一步;(6)根据终端MAC地址,寻找离线指纹数据库中,是否存在同一制造厂家的无线网卡记录,如果有,则使用这些记录,并跳转到步骤(8),否则下一步;(7)使用离线指纹数据库中的所有记录;(8)针对对应实时指纹开始模式识别过程,使用kd-tree算法开始创建kd-tree,kd-tree的原理就是基于二叉树的形式,将高维空间用超矩形进行划分,其主要用途是用来求解高维空间中最近邻的值;(9)在选定的指纹数据记录中,对于若干三维数据集合<RSSI1,RSSI2,angle>,选择具有最大方差的维度k,然后在该维度上选择中值m对该数据集合进行划分,小于该中值的为左子树,大于该中值的为右子树,从而得到两个子集合;同时创建一个树结点node,用于存储;(10)对两个子集合重复步骤(9)的过程,直至所有子集合都不能再划分为止;如果某个子集合不能再划分时,则将该子集合中的数据保存到叶子节点,从而完成kd-tree的创建;(11)在创建好的kd-tree中,对于实时指纹特征数据<RSSI1,RSSI2,angle>,使用二叉树搜索方法,顺着搜索路径很快就能找到最邻近的近似点,也就是叶子节点。而找到的叶子节点并不一定就是最邻近的近似点,最邻近的近似点肯定距离查询点更近,应该位于以查询点为圆心且通过叶子节点的圆域内。为了找到真正的最邻近的近似点,还需要进行回溯操作:算法沿搜索路径反向查找是否有距离查询点更近的数据点。(12)找到k个最邻近的近似点,并读取离线指纹库条目中对应位置坐标。(13)使用k近邻加权算法,对k个坐标加权平均得出的坐标作为终端的估计位置。对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1