APP下载

基于数据挖掘BLE 指纹室内定位设计与实现

2019-05-09康明涛

自动化与仪表 2019年4期
关键词:信标信号强度定位精度

康明涛,张 峰,梁 源,赵 黎

(西安工业大学 电子信息工程学院,西安710021)

随着智能终端的快速发展和人们对基于位置服务的需求与日俱增,定位导航的应用需求已不仅仅满足于室外,室内定位正逐渐成为人们关注的热点。 相对于室外定位而言,室内定位的发展无疑现处于起步阶段。 本文提出一种基于指纹识别的蓝牙高精度室内定位系统。由于iBeacon 在室内定位具有设备体积比较小、功耗低、建立连接时间短等优点,所以采用iBeacon 作为信标节点,在Android 设备上采集相应UUID 和接收信号强度值即RSSI 值[1-4]。将基于蓝牙微功耗的室内指纹定位技术和Android 平台软件开发技术相结合应用于室内定位当中,形成一套完整的室内指纹定位系统,完成室内指纹定位算法的研究和定位端Android 平台软件的设计。 为推广室内定位以及降低室内定位的成本提供了一个更为可靠、经济且应用易普及的技术方案。

1 系统整体组成设计

整个定位系统主要包括三部分:BLE 基站、移动设备及室内定位系统。 如图1 所示,只要用户的移动终端接收到BLE 的信号强度值及BLE 的MAC地址, 就可以通过与指纹库匹配得到BLE 的坐标,利用算法估计出目标物体的位置。

图1 系统总体方案图Fig.1 System overall plan

BLE 基站BLE 基站作为室内定位系统的信标节点,通过在室内空间部署BLE 基站,覆盖整个定位区域。合理的BLE 基站布局和数量可以提高室内蓝牙指纹定位系统的精度。

智能终端主要安装在安卓系统的手机上,由两部分组成。 人机界面的显示和操作。 主要是用户输入定位请求,并查看定位结果;检测部署的信标节点并采集信标节点的信号强度,发送采集的信号强度和定位请求,并接收定位结果。

室内定位服务系统室内定位服务系统通过网络与客户端实现通信,响应客户端发送的定位请求信息。 若是接收到定位请求,则接收客户端发送的信标节点信号强度,经过预处理后使用定位算法匹配位置指纹数据库,返回相应的位置信息。

2 数据挖掘在定位系统中的应用

2.1 基于数据挖掘的蓝牙指纹定位原理

2.1.1 离线指纹采集阶段

首先在定位环境中部署AP,在定位的区域选择特定的参考节点如图2 所示,并采集这些热点的信号强度,使得每个都能接收到AP 发射的信号,从而建立一个位置与信号强度信息与对应的位置关系的指纹数据库,即指纹地图。 我们将定位区域划分为lm*lm的网格,选取中心的点作为参考节点,然后收集这些参考节点接收的信号强度并且存到指纹数据库中,另外发送这些信号的基站的坐标和MAC地址也需要存入指纹数据库中[5]。 由于各种不确定的因素的存在,因此收集上述信息的时候需要多次测量,求平均后再存到数据库,得到的指纹库矩阵如式(1)所示。

式中:m 表示采样点的个数;n 表示采样设备接收到iBeacon 信号强度值个数;x,y 表示采样点的坐标信息。

2.1.2 在线定位阶段

在线定位阶段,如图2 所示。 通过智能手机实时测量获取各AP 信号强度信息之后,使用数据预处理算法对数据进行处理,使用匹配算法与位置指纹数据库进行对比,计算出最合适的位置返回给用户,从而完成定位。 常用的算法有最近邻法、K 近邻法、K 加权近邻法、概率算法、神经网络法等[6-8]。

2.2 基于数据挖掘的蓝牙指纹定位算法

近邻法是一种最基本,最简单的分类方法,它基本上不需要数据的先验知识,是非常经典的室内定位算法[9]。近邻法包括最近邻位法,KNN 算法和WKNN算法。 最近邻位法根据移动设备实时采集到的信标节点的RSSI 值与位置指纹库数据进行匹配,找到相似度最高的位置指纹所对应参考点作为定位坐标,KNN 算法是选取K 个相似度最好的位置指纹所对应的参考点的坐标平均值[11-12]。

图2 指纹算法定位原理示意图Fig.2 Schematic diagram of fingerprint algorithm positioning principle

假设在定位阶段, 移动设备在位置定位点实时采集的数据为[RSSI1,…,RSSIn],n 为定位信标节点个数,位置指纹库所构成的矩阵为S=[S1,S2,…,Sn],其中则参考点指纹与实时采集的数据的欧氏距离为

通过计算我们可以得到m 个距离Di,选取K 个距离最小的位置指纹所对应的参考点,然后计算参考点所在坐标的平均值,则:

式中:(x,y)表示终端用户的定位坐标;K 表示选取的参考点对应的个数。

KNN 算法的定位精度随着K 的取值不同呈现不规则的变化,由于位置指纹法最关注的定位精度在3~4 m 之间,可得出当K=3 时定位精度达到最高如图3 和表1 所示。信标节点的位置及个数都对定位精度有着明显的影响,当节点位置分布均匀且相对扩散时,定位精度能够得到较大的提高。 信标节点的个数增加时,也能够显著的提高定位精度,但随着信标节点个数的增加,系统所承担的计算量将成指数形式增加,所以在实际应用中应综合考虑以上各种因素选择合适的信标节点数量及节点位置。

图3 KNN 算法K 值定位误差分布Fig.3 Distribution of K-value localization error of KNN algorithm

表1 KNN 定位误差均值、标准差与正确率Tab.1 KNN positioning error mean,standard deviation and correct rate

3 室内定位系统的设计与实现

3.1 BLE 基站部署方式

根据蓝牙RSSI 值在室内的分布特征以及其影响因素,在设计实现基于低功耗蓝牙和位置指纹的室内定位系统时,在对蓝牙的部署上适当进行一些改进即可在一定程度上提高定位精度,减小环境影响[10],如图4 所示。 在部署低功耗蓝牙时,尽量让被定为物体可能出现的所有位置上能够接收到3 个或者3 个以上的蓝牙信号;蓝牙的部署位置尽量远离人为活动较为平凡的地方,或者使蓝牙与人为活动较为平凡的地方尽量隔有障碍物;在进行蓝牙信标节点部署前,尽量测量好蓝牙信标节点的最佳定位距离,在部署时使得蓝牙信标节点的部署距离保持在最佳距离。

图4 ibeacon 部署示意图Fig.4 Schematic diagram of ibeacon deployment

3.2 客户端设计与实现

本系统的开发平台基于Eclipese+Android De velopment Toolkit(ADT)开发环境,可以为客户实现在线室内定位功能。 应用程序流程设计如图5所示。

图5 应用程序流程Fig.5 Application flow chart

结合Android 平台以Activity 为基础的程序设计特点, 客户端的模块主要分为登录验证模块,ibecon 信息采集模块,参数配置以及状态监控模块。登录验证模块主要用于用户的登录验证过程,包括LoginActivity 文件。 指纹信息采集模块主要是对指纹信息进行采集并存储建立离线指纹库,主要包括DeviceScanActivity,iBeaconClass,LeDeviceListAdapter等文件。

系统定位端的状态监控界面主要实现对目标物模拟定位显示功能,主要包括位置信息、状态信息的显示。 在安卓端通过与服务器以及数据采集部分之间的通信功能,接收并显示来自室内定位信息采集部分的数据,并将数据运算结果绘制在按比例模拟室内的显示屏上。

4 系统测试

4.1 系统功能测试

系统测试时,将蓝牙信标节点置于测试区域的角落。 打开手机上的应用程序,首先会询问是否打开蓝牙,会直接进入应用程序的主界面,单机“ibea con 信息”时,显示当前扫描到蓝牙信标节点的个数和信息,包括UUID,Major,Distance 等等。 如图6所示。

在Android 监控界面中的长方形为按照一定比例模拟的房间示意图,界面上还包括坐标系X、Y 轴建立的示意图,圆球为目标物即要被定位的目标物体,如图7 所示。

图6 ibeacon 信息界面Fig.6 ibeacon information interface

图7 定位物状态监控界面Fig.7 Locator status monitoring interface

4.2 测试结果分析

表2 定位结果误差分析表Tab.2 Error analysis of positioning results

5 结语

以低功耗蓝牙和位置指纹的定位技术作为研究对象, 结合Android 平台软件开发技术完成了室内定位系统定位端的设计与开发。 针对蓝牙RSSI在室内分布特征以及对蓝牙RSSI 分布产生影响,总结出蓝牙在室内的合理部署方式。 通过对信标节点和用户信息采集, 包括信标节点的UUID、RSSI值、Major、Minor 等数值的采集,建立离线指纹库。在实时定位阶段与离线指纹库可以通过指纹定位算法得出用户位置信息, 并在应用程序界面进行显示。 从系统测试结果来看,所测试的数据均在误差范围内,定位精度可以达到亚米级,可以满足室内环境下基于位置的服务基本需求。 为今后室内定位及相关应用奠定了良好的基础。

猜你喜欢

信标信号强度定位精度
光学相干断层成像不同扫描信号强度对视盘RNFL厚度分析的影响
地下停车场VLC 信标广播系统设计与实现
电子自旋共振波谱法检测60Co-γ射线辐照中药材
GPS定位精度研究
GPS定位精度研究
高分三号SAR卫星系统级几何定位精度初探
蓝牙信标存潜在风险
蓝牙信标存潜在风险
TETRA数字集群通信系统在露天矿山的应用
基于多波段卫星信标信号接收的射频前端设计仿真