智能终端WIFI指纹定位的总体设计
2016/7/15 17:21:42整个Wi-Fi定位系统的网络拓扑结构如下图1所示:
图1 Wi-Fi定位系统的网络拓扑结构
WiFi实时定位监控系统主要由定位标签、无线局域网接入点(AP:Access Point)和上层服务器三部分组成。
定位标签:将智能终端或腕带作为无线数据采集模块佩戴在人员身上,系统通过对标签的跟踪实现对人员的跟踪定位。
AP接入点:AP采用2.4GHz频段,支持802.11b/g模式。
上层服务器分为二部分。
展示和人机交互:带有指挥所电子地图的定位监控管理;带有语音控制的语音监控管理;广播管理;系统相关的管理等。
服务:定位位置计算及定位指纹库的建设。
定位流程
以智能手机为例,用户要进行位置信息服务时,首先用手机扫描所在区域的WiFi信号强度,将采集到的数据以一定的消息格式发送给上层服务器,然后上层服务器根据定位算法得到定位结果,最后上层服务器将定位结果传送给用户手机上,在智能手机上显示用户的运动轨迹。下图是智能终端定位标签定位过程示意图。
图2 手机定位过程示意图
3.3 定位原理
根据不同位置接收到的信号强度值建立位置指纹数据库,在数据库信号空间里找出与实际测量信号强度值最接近的那条信息对应的位置即为用户位置。对于其它种类的无线定位来说,多径传播、非视距传播( Non-Line-Of-Sight,NLOS)、多址传播是造成定位误差的主要原因, 但位置指纹定位技术却利用多径传播来构建位置信息,由于信号传播过程中受地形和障碍物影响,因而多径呈现出非常强的位置特殊性。对于每一个位置来说,该信道的多径结构是唯一的,它的多径特征可以被认为是该位置的指纹。
位置指纹定位过程一般分为两个阶段:第一阶段为离线采样阶段,该阶段的目标是建立指纹数据库,该阶段主要工作是采集定位区域内所有采样点的信号强度值形成位置指纹库,每一条信息对应一个特定的位置。为了减小干扰对信号强度的影响,在每个采样点持续采集一段时间的信号强度信息。第二阶段为实时定位阶段,该阶段通过测定用户所在位置实时信号强度值,然后采用匹配算法找出与指纹数据库中最匹配的一条数据,从而得以确定用户的实际位置。定位过程如图所示。
图三:实际定位原理
匹配算法
定位过程中实时定位阶段采用的匹配算法是定位过程中的关键。根据数据库中位置指纹表示的不同,RSSI位置指纹定位技术匹配算法分为两类:第一类是确定性的定位方法。第二类是基于概率的方法,对这两种方法,如何选取没有一定的标准可依。确定性定位方法简单、易懂,但是它的运算量大。在定位时要跟数据库中的所有样本进行对比, 求出平均误差。基于概率的方法减少了计算量,但是精度没有前者高,它的参数比较多,需要大量的样本才能算出参数。选择确定性定位方法的KNN方法,因为追求高精确度。
最近邻法(NN,Nearest)是在信号空间上选择与待定位点接收到的信号强度值最接近的一个点作为待定位点的位置,这样做会产生比较大的误差,因为离待定位点有相同距离的位置点上的信号强度值很接近,没有必要只从它们中选择一个最接近的点,而拒绝其它也很接近的点,这样会造成较大的误差。
K邻法(KNN,Nearest Neighborhood)是选择多个较接近的点,用该定位方法实现定位更精确。KNN的另一个优点是,在信号空间上信号强度很接近的两个点不一定在物理位置上也很接近。因此选择多个邻居坐标的平均比一个邻居点坐标可能产生更接近待定位点的真实位置。
KNN是在位置指纹数据库里找到与待定位点接收到的信号强度样本最接近的多个样本,将它们对应的多个采样点位置的质心作为待定位点的位置。在文中匹配算法实现时,我们将在待定位点接收到的实时信号强度值与数据库中的信号强度值逐一比较,找出最接近的几个样本, 将这几个样本位置求质心,质心坐标就为待定位点的坐标。即假设待定位点坐标为(x,y),最接近的K个邻居点的坐标分别为:
则:
文献“RSSI 位置指纹的定位误差分析与仿真”,通过实验模型数据分析,采用KNN法具有如下结论。
使用较多的接入点进行定位时,接入点组合对定位结果影响不大,可以不必考虑如何有效组合。使用较多的接入点个数可以弥补环境干扰, 减小定位误差。
人们通常觉得采样点间距越小定位精度越高,但从文中实验结果得出并不是采样点间距越小越准确,通常情况下,采样点间距取1-2m即可。
用KNN定位法时,并不是K取值越大定位精度越高,当K的取值大于4的时候,对定位精度影响不明显。
定位增益补偿算法
不同定位标签对WiFi信号的敏感程度不同,利用不同定位标签分别进行建立位置指纹数据库和实时定位时会产生失配现象。为了说明这个问题,对比了两种不同的定位标签在相同时刻位置的RSSI值,如图4所示。
图4 不同测量终端RSSI值
其中一个定位标签是IBM60笔记本电脑,另一个定位标签是O2智能手机。从图4可以看出,信号强度的分布与定位标签有关。如果信号的分布发生了变化,则必须进行新的数据采集,才能保证定位的精确性,这样不但开销巨大而且可行性很差。为此,在实时定位过程中必须先进行信号补偿以消除这种误差。
功能设计智能终端
智能终端包含数据采集模块、数据接收发送模块、定位显示、显示模块和语音通讯模块。
数据采集模块、数据接收发送模块、定位显示实现采集WiFi信号强度,将采集数据传送到上层定位服务器,然后根据上层定位服务器返回来的结果进行显示定位轨迹。
语音模块实现基于WiFi封闭式网络语音通讯。
智能终端采样率为1秒。采样对象为在当前点有无线信号的接入点。获取接入点的MAC地址以及这些接入点的信号强度。
显示模块主要是结合电子地图将上层服务器的定位结果以可视化的形式呈现给用户。
智能终端是基于Android系统进行WiFi定位设计。
智能终端的功能结构设计如图所示。
服务器端
服务器端定位功能功能主要分为:定位管理、语音管理和系统管理三大块。
定位管理主要包含定位信息匹配处理模块、数据接收发送模块、定位展示模块、报警模块。
语音管理主要包含语音报警模块、坐席电话模块、电话会议模块、电话簿管理模块、语音录音模块。
系统管理主要包含AP设备检测模块、终端设备检测模块、设备管理模块、AP网络开关管理、电子地图管理模块和系统用户管理模块。