卡尔曼滤波在iBeacon室内定位系统中的应用*

2017-04-26 11:09孔庆达余成波李彩虹
电讯技术 2017年4期
关键词:卡尔曼滤波指纹滤波

孔庆达,余成波,李彩虹

(重庆理工大学 远程测试与控制研究所,重庆 400054)

卡尔曼滤波在iBeacon室内定位系统中的应用*

孔庆达*,余成波,李彩虹

(重庆理工大学 远程测试与控制研究所,重庆 400054)

为了抑制iBeacon信号在传播过程中由于人员扰动、多径效应等引起的噪声,以及移动定位过程中定位结果的不稳定,在iBeacon室内定位系统中引入了卡尔曼滤波算法分别对采集到的iBeacon信号与移动定位结果进行处理。首先通过卡尔曼滤波对采集的信号进行处理,降低了信号噪声,提高了信号的质量,其次应用卡尔曼滤波对移动定位结果进行二次处理,提高了移动定位结果的稳定性与精度。实验结果表明,在办公室环境下采用卡尔曼滤波进行处理后可将1 m以内的定位精度提高到80%以上。

iBeacon室内定位;卡尔曼滤波;信号采集;实时定位;多径效应

1 引 言

近年来,基于位置的服务在各行各业中越来越受到重视,基于GPS的室外定位已经在现实生活中被广泛应用,但是GPS信号在室内衰减严重,无法实现精准的室内定位,而在实际生活中人们在室内的时间远远大于室外,对于室内定位技术的需求与日俱增。随着智能手机以及平板等设备普及,蓝牙4.0技术在手持设备中被广泛应用。2013年苹果公司提出了基于蓝牙4.0的iBeacon技术,因具有低功耗、长距离、低成本、应用广等优势,已成为现阶段室内定位的研究热点[1]。

室内定位技术最早的研究是在1992年。目前国内外的研究中实现室内定位的算法主要集中在两个方向:一是基于信号强度(Received Signal Strength Indication,RSSI)测距的室内定位,主要包括三角质心定位算法;二是基于信号指纹库的定位算法。由于基于信号强度测距的室内定位技术严重依赖于信号的稳定性,且受多径效应影响时定位精度下降严重,因此本文主要采用国内外应用较普遍的基于信号指纹库的定位技术[2],该技术研究重点集中在如何对采集到的信号同建立的指纹库进行快速精准匹配,主要匹配算法有K近邻算法(K-Nearest Neighbor,KNN)[3]、神经网络算法(Artificial Neural Networks,ANNs)、支持向量机(Support Vector Machine,SVM)、贝叶斯法等,本文采用KNN算法进行指纹库的匹配。现阶段国内外对室内定位的研究主要是通过改进指纹库匹配算法来提高室内定位精度,而在实际应用中由于室内环境下人员走动以及信号传播过程中多径效应等的影响,采集的iBeacon信号强度会出现失真,即使指纹库匹配算法匹配精度再高也无法消除信号强度失真造成的误差,所以必须对采集到的信号进行滤波去噪处理。同时,在现有的室内定位技术中,对于移动定位结果一般不会做任何处理,但在实际移动定位过程中,定位的结果变化不平缓,波动较大[4],所以需要对移动定位结果进行滤波处理来抑制移动定位结果的大幅波动,以达到提高实际定位精度和稳定定位的效果。

2 iBeacon室内定位系统

本文搭建了一套iBeacon室内定位系统,系统结构框架如图1所示,包括iBeacon节点、智能手机端、地图定位服务器以及信号指纹库服务器。

图1 室内定位系统示意图

在智能手机端采用卡尔曼滤波对搜索到的iBeacon信号进行处理,本文采用信号强度指纹定位技术,所以必须建立信号指纹库,主要实验工作分为两个阶段。

(1)样点采集与指纹库建立阶段,即在实验室环境下事先选取坐标原点、X轴以及Y轴,按照每间隔1 m作为目标样点,通过在Android手机端开发的App来采集每个目标样点下的信号强度值以及记录该样点的坐标并上传到服务器数据中心,最后建立该实验室的完整信号指纹库。

(2)实时定位阶段,即App通过与服务器建立Socket通信,同时发出定位请求并将App此时采集到的iBeacon信号强度值按照一定的时间间隔不断递交给服务器,服务器从数据中心搜索调用信号指纹库进行匹配,匹配算法采用KNN算法得到3个最接近的样本点并通过计算三点的质心来得到此时用户的位置信息,并将计算得到的位置坐标回传给App显示到对应地图界面。

3 卡尔曼滤波在该定位系统中的应用

卡尔曼滤波算法[5](Kalman Filter)是一种抑制高斯噪声有效的最优化自回归数据处理算法,对于系统过程的滤波比较好,能够有效滤除信号发生的突变,对于变化快速、实时更新的线性系统有着非常好的寻优及滤波效果,且便于计算机编程语言的快速实现。本文室内定位系统是离散线性系统,所以本文采用基本卡尔曼滤波算法即可满足系统要求。

3.1 卡尔曼滤波算法

卡尔曼滤波的具体思想流程如图2所示。图中:A、B为系统参数,U(k)是k时刻对系统的控制量,Z(k)是k时刻的测量值,H是测量系统的参数,W(k)和V(k)分别表示过程和测量的噪声,Q和R分别是过程噪声和观测噪声的协方差,U(k)为现在状态的控制量,A′表示A的转置矩阵。

图2 卡尔曼滤波流程图

由图2可知,卡尔曼滤波的核心思想为状态预测、参数更新、估计最优,主要包括两个过程,即预估与校正。卡尔曼滤波的状态更新方程及时间更新方程[6]如式(1)~(5)所示。

(1)系统状态方程

X(k)=AX(k-1)+BU(k)+W(k)。

(1)

(2)估计误差的协方差

P(k|k-1)=P(k-1|k-1)+Q。

(2)

(3)卡尔曼增益的更新

Kg(k)=P(k|k-1)/(P(k|k-1)+R)。

(3)

(4)更新估计误差的协方差

P(k|k)=(1-Kg(k))P(k|k-1)。

(4)

(5)最优估计

X(k|k)=X(k|k-1)+Kg(k)(Z(k)-X(k|k-1))。

(5)

公式(4)中的P(k|k-1)表示k时刻的先验估计误差的协方差矩阵,而P(k|k)为k的下一时刻的先验估计误差的协方差矩阵。公式(5)中X(k|k-1)表示k-1时刻的系统状态的最优估计值,同时作为k时刻的预测值,X(k|k)表示k时刻的系统状态的最优估计值。

3.2 卡尔曼滤波器应用于实时信号采集

在信号采集时,假设当前状态下实际采集的信号值为RSSI(k),上一状态的信号值为RSSI(k-1),经测量在实验室环境下信号采集系统的卡尔曼滤波过程噪声协方差初始值Q取值为2.6,本系统的观测噪声可视为高斯噪声[1],所以观测噪声协方差初始值R可取值0.01,本系统不存在控制量,所以控制量U(k)取值0,控制量的过程噪声Wu(k)也为0,同时假设Wrssi(k)为信号的过程噪声,V(k)为信号的测量噪声,在本系统采集到的信号为单维数据,因此测量系统的参数A、B、H均取值为1,Z(k)为系统实时采集到的信号值,协方差P的初始值不为0即可。

根据以上条件可建立信号采集系统状态模型如下:

(6)

(7)

信号采集系统的卡尔曼滤波实验结果如图3所示,(a)为在实验室环境下iBeacon节点距离手机1 m之间有人员行走扰动时采集的100组信号强度值数据,(b)为在实验室快速运动状态下采集的100组信号强度值。

(a)人员扰动状态下卡尔曼滤波前后的信号对比图

(b)快速运动状态下卡尔曼滤波前后的信号对比图

从图3可知,将卡尔曼滤波应用在iBeacon信号处理上可以有效滤除由于人员扰动、信号多径效应等因素引起的信号噪声,对于建立稳定有效的信号指纹库具有非常好的应用价值,同时在实时定位阶段也能提高室内定位的精度及定位结果的稳定性。

3.3 KNN匹配算法应用于实时定位

KNN匹配算法[7]是最为常用的室内定位匹配算法,在室内定位系统中该算法主要用于匹配信号指纹库,其核心思想是求取采集信号与样本点信号的欧氏距离,主要公式如下所示:

(8)

(9)

(10)

式中:RSSId表示信号指纹库中某个样本点的信号序列,每个样本点都有唯一的信号序列;RSSIt表示实际定位过程中采集的实时信号序列;L为KNN算法中的样本匹配度,其中L越小表示实际位置与信号指纹库中的某个样本点位置越接近。将实时采集的信号序列与信号指纹库中的所有样本点信号序列进行逐一匹配求出所有样本点的样本匹配度L,最后留取L值最小的n个样本点,并将这n个样本点的质心点作为最后的定位结果,经过实验测试最后留取3个样本点求取质心得到的定位结果最佳。定位结果如图4所示。

图4 KNN算法定位结果

从图4的定位结果来看,本系统采用KNN定位算法能够实现基本的定位,但同时本系统也存在一些缺点:首先,定位结果突变性大,造成定位稳定性差;其次,定位结果连续性不佳,影响系统的定位实时性和准确性。为了解决上述问题,移动定位过程中有必要对移动定位结果进行二次处理,来稳定定位结果以及提高准确性。

3.4 卡尔曼滤波器应用于室内位置移动

在实时定位阶段,本文采用了KNN算法得到最后的定位结果。如图4所示,在实际定位过程中,由于手持智能手机设备在移动时信号采集不够连续以及电磁环境的干扰,造成最后的定位结果波动较大以及定位误差较大,因此本系统引入了滤波算法对移动定位结果进行优化处理来稳定定位结果并提高定位精度。在滤波算法的选择上本文选择了最常用的卡尔曼滤波和递推平均滤波来对系统定位结果分别进行处理,最后对两种滤波算法的结果进行了比较。

递推平均滤波法也称滑动平均滤波法,常用在线性系统中来抑制信号突变,基本原理如图5所示。首先定义一个长度为N的样本队列,当新采集到一个样本时,去除队列中最后一位样本,队列中其余样本后移,同时将新样本排入队首,最后求取队列的平均值作为滤波后的结果。

图5 递推平均滤波器原理

本系统的定位结果为一个二维输出,即在定位场所选取原点位置、X方向、Y方向,最后获得相对原点的X、Y的值。假设当前状态下定位结果为X(k)、Y(k),上一状态的信号值为X(k-1)、Y(k-1),经测量在实验室环境下信号采集系统的卡尔曼滤波过程噪声协方差初始值Q取值为0.5,本系统的观测噪声可视为高斯噪声,所以观测噪声协方差初始值R可取值0.01。依据文献[1]的研究,移动定位系统中X、Y坐标值不存在控制量Ux(k)、Uy(k)取值为0,X、Y坐标值控制量的过程噪声WUx(k)、WUy(k)也为0,同时假设Wx(k)、Wy(k)分为X、Y坐标值的过程噪声,Vx(k)、Vy(k)分别为X、Y坐标值的测量噪声。

室内位置移动的状态模型[8]如下:

(11)

(12)

在实验室环境下,参照采集阶段选取好的原点、X轴及Y轴,打开Android手机端App与蓝牙,按照预定路线匀速移动,移动状态下手机端不停地更新采集iBeacon信号,同时每隔0.5sApp将采集到的iBeacon信息及信号序列通过建立的Socket通信发送到服务器端,通过KNN算法来匹配服务器端的信号指纹库,得到实时的定位结果,最后共得到220组未处理的移动定位结果,对定位结果中的X坐标值以及Y坐标值分别进行卡尔曼滤波和递推平均滤波处理,最后得到处理后的二维坐标,并将处理后的定位结果与实际移动路径坐标进行对比,实验结果如图6所示。

(a)X坐标滤波前后对比图

(b)Y坐标滤波前后对比图

(c)二维空间坐标滤波前后对比图

(d)本文系统定位结果误差分析图

从图6(d)的误差分析可以发现,在本次定位处理中卡尔曼滤波处理后的定位误差在0~1 m的误差百分比为84%,1~2 m的误差百分比为16%,而2~3 m的误差百分比0%,可以看出卡尔曼滤波处理后的定位误差最小,而未做任何滤波处理的定位结果误差最大,说明对移动位置坐标进行滤波处理是必要的。将滤波算法应用于室内移动定位结果的处理,可以减小定位坐标的波动,提高室内定位的精度、定位结果的可靠性及稳定性,其中卡尔曼滤波处理后定位效果最佳,因此本定位系统最后采取了卡尔曼滤波对移动定位结果进行优化处理。

4 实验结果与分析

4.1 实验设计与布置

本文iBeacon节点的部署环境:室内面积为112 m2(8 m×14 m)的办公室,其中包括一个办公隔间,20个小办公分隔区,室内环境复杂度较高,是典型的办公室环境。由于环境复杂,iBeacon节点未按照对称方式进行布局,共布置了12个iBeacon节点,实验过程中移动路径及iBeacon节点布置图如图7所示。图中左下角作为坐标原点,向右为X轴正坐标,向上为Y轴正坐标。

图7 定位移动路径及节点布置示意图

信号采集过程中主要采集iBeacon节点的UUID、MAC地址、MAJOR、MINOR及信号强度值RSSI。其中UUID全设为FDA50693-A4E3-4FB1-AFCF-C6EB07647825,iBeacon广播功率全部设为0 dBm,MAJOR为iBeacon组号,作为某个区域的识别号,MINOR为iBeacon单号,作为iBeacon在该区域内的唯一编号,通过MAJOR值可以判断出当前所处的区域,MINOR值则可识别该区域内对应的唯一iBeacon。本实验中iBeacon节点主要配置信息如表1所示。

表1 iBeacon节点配置表

4.2 实验结果分析

Android手机端实时采集信号及定位结果如图8所示。

图8 Android端信号采集及定位结果示意图

本文定位系统建立的指纹库示例如表2所示。

表2 坐标为(300,600)cm的样本点采集的指纹库

本文实验参考文献[1]的定位系统精度评价标准,经过实际环境下多次的移动定位测试,对定位精度进行了统计,评估结果如表3所示。

表3 采用卡尔曼滤波进行处理的定位精度对比表

同文献[1]中的WiFi室内定位[9]方式相比,iBeacon室内定位具有实时性高、精度高等优点。同时,采用卡尔曼滤波处理后本系统的定位结果误差在1 m以内的比例达到了80%以上,使整体定位精度得到了提升,说明将卡尔曼滤波应用到本系统的移动定位处理上能够有效地提升定位精度。

5 结束语

本文针对室内定位中信号采集时噪声较大、移动定位中结果精度较低及波动较大问题,将卡尔曼滤波应用到iBeacon室内定位系统中,实验结果表明,一方面卡尔曼滤波能够有效地滤除iBeacon信号的噪声,提高信号的质量,另一方面能够有效地降低移动定位的波动,提高定位结果的稳定性与精度。在实际应用中,将本系统应用到商场定位导航以及博物馆定位导航方面能够满足基本定位要求。但是本系统仍然有需要改进的地方以及解决的难题:一是iBeacon节点布置方式对于室内定位精度的影响,二是环境中的温湿度对于iBeacon信号传播的影响以及手机接收信号功率的差异影响。希望在接下来的研究中能够基于以上这些因素研究一种动态更新的信号指纹库来进一步提升定位的精度。

[1] 赵永翔,周怀北,陈淼,等. 卡尔曼滤波在室内定位系统实时跟踪中的应用[J].武汉大学学报(理学版),2009,55(6):696-700. ZHAO Yongxiang,ZHOU Huaibei,CHEN Miao,et al.Application of Kalman filter in indoor positioning system for real-time tracking[J].Journal of Wuhan University(Natural Science Edition),2009,55(6):696-700.(in Chinese)

[2] 彭丁聪. 卡尔曼滤波的基本原理及应用[J].软件导刊,2009,8(11):32-34. PENG Dingcong. Basic principle and application of Kalman filter[J].Software Guide,2009,8(11):32-34.(in Chinese)

[3] OKAR I. A bluetooth signal strength based indoor localization method[C]//Proceedings of 21th IEEE International Conference on Systems,Signals and Image Processing. Dubrovnik,Croatia:IEEE,2014:251-254.

[4] 万群,郭贤生,陈章鑫.室内定位理论、方法和应用[M].北京:电子工业出版社,2012:110-112.

[5] FARAGHER R,HARLE R.Location fingerprinting with bluetooth low energy beacons[J].IEEE Journal on Selected Areas in Communication,2015,33(11):2418-2428.

[6] 刘春燕,王坚. 基于几何聚类指纹库的约束KNN室内定位模型[J].武汉大学学报(信息科学版),2014,39(11):1287-1292. LIU Chunyan,WANG Jian.A constrained KNN indoor positioning model based on a geometric clustering fingerprinting technique[J].Geomatics and Information Science of Wuhan University,2014,39(11):1287-1292.(in Chinese)

[7] 徐伟. 基于Android手机的室内定位技术研究与实现[D].武汉:华中师范大学,2014. XU Wei.Research and implementation of indoor positioning technology based on Android[D].Wuhan:Central China Normal University,2014.(in Chinese)

[8] LIANG P C,KRAUSE P. Cost-effective design of real-time home healthcare telemonitoring[C]//Proceedings of 2014 IEEE International Conference on Health Informatics.Angers,France:IEEE,2014:1-5.

[9] 余彦培. 一种融合地图与传感器信息的室内地图匹配新算法[J].电讯技术,2014,54(12):1656-1662. YU Yanpei.A new indoor map matching algorithm fusing map and sensor information[J].Telecommunication Engineering,2014,54(12):1656-1662.(in Chinese)

Application of Kalman Filter in an iBeacon Indoor Positioning System

KONG Qingda,YU Chengbo,LI Caihong

(Institute of Remote Test and Control,Chongqing University of Technology,Chongqing,400054,China)

In order to suppress the iBeacon signal noise caused by the disturbance of staff and multipath effects in communication process,as well as improve the stability of positioning results during the mobile positioning process,the Kalman filter algorithm is introduced into an iBeacon indoor positioning system for respectively processing the collected iBeacon signal and mobile positioning results. Firstly,the Kalman filter is used to process the collected signal,as a result,the signal noise is reduced and the quality of signal is improved. Secondly,the Kalman filter is used to estimate the optimal value of the mobile positioning results so as to improve the stability and accuracy. Experimental results show that the positioning accuracy within 1 m can be increased to 80% by using the Kalman filter in the office environment.Key words:iBeacon indoor positioning;Kalman filter;signal acquisition;realtime positioning;multipath effects

10.3969/j.issn.1001-893x.2017.04.014

孔庆达,余成波,李彩虹.卡尔曼滤波在iBeacon室内定位系统中的应用[J].电讯技术,2017,57(4):450-456.[KONG Qingda,YU Chengbo,LI Caihong.Application of Kalman filter in an iBeacon indoor positioning system[J].Telecommunication Engineering,2017,57(4):450-456.]

2016-06-22;

2016-10-09 Received date:2016-06-22;Revised date:2016-10-09

国家自然科学基金资助项目(61402063);重庆市科技人才培养计划(新产品研发团队)资助项目(CSJC2013KJRC-TDJS40012);重庆市高校优秀成果转化资助项目(KJZH14213)

TN967.2

A

1001-893X(2017)04-0450-07

孔庆达(1991—),男,山西吕梁人,2014年获工学学士学位,现为硕士研究生,主要研究方向为室内定位技术;

Email:1159754385@qq.com

余成波(1965—),男,江西波阳人,教授、硕士生导师,主要研究方向为远程测试与控制技术、信号与信息处理;

Email:yuchengbo@cqut.edu.cn

李彩虹(1993—),女,山西临汾人,2015年获工学学士学位,现为硕士研究生,主要研究方向为信号与信息处理。

Email:469368188@qq.com

*通信作者:1159754385@qq.com Corresponding author:1159754385@qq.com

猜你喜欢
卡尔曼滤波指纹滤波
像侦探一样提取指纹
为什么每个人的指纹都不一样
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
基于自适应稀疏变换的指纹图像压缩
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于扩展卡尔曼滤波的PMSM无位置传感器控制
可疑的指纹
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
基于随机加权估计的Sage自适应滤波及其在导航中的应用