基于BLE的室内指纹定位优化技术
2016-06-15陶佳峰杨晓洪王剑平
陶佳峰, 杨晓洪, 王剑平, 张 果
(昆明理工大学信息工程及自动化学院,云南昆明 650500)
基于BLE的室内指纹定位优化技术
陶佳峰, 杨晓洪, 王剑平, 张 果
(昆明理工大学信息工程及自动化学院,云南昆明 650500)
摘要针对RSSI的室内定位技术的功耗高和精度低的问题,采用蓝牙4.0作为节点,应用具有低功耗、远距离和成本低等优点的BLE技术,通过在离线阶段采用高斯-均值算法对指纹数据库进行优化和在现阶段改进的跳变自适应卡尔曼算法进行数据滤波研究,并且通过蓝牙4.0无线网络系统进行试验。结果表明,优化后的指纹库和自适应卡尔曼定位算法,在复杂的环境中比传统的定位算法更加稳定和准确。
关键词蓝牙低功耗技术; 高斯-均值滤波; 跳变自适应卡尔曼滤波; 室内指纹定位
随着移动设备和无线局域网的普及,定位服务越来越成为人们生活中必不可少的功能。相比于目前已经很成熟的户外GPS地图定位,室内位置信息的获取,特别是在场地复杂的公共场所比如大型超市、商场、机场、博物馆等环境中,也成为日益需求的服务,并且具有较为广阔的应用前景。蓝牙低能耗(BLE)技术是低成本、长距离、高速启动和互连、可互操作的鲁棒性无线技术[1],这些特点对于室内定位都是非常有利的,而且在最近几年里,蓝牙4.0模块已广泛应用于手机及平板电脑中,对于室内定位的推广是很有利的。以上这些都保证了蓝牙低功耗技术在室内定位的实用性和可行性。
由于在复杂室内环境中,信道信号的的传播容易受到多径效应、反射、散射等干扰,这也是给定位带来较大误差的主要因素。应用典型的参数化室内测距技术有基于信号到达角度模型(AOA)、基于接收信号强度指示模型(RSSI)[2]、基于信号到达时间模型(TOA)[3]、基于信号达到时间差模型(TODA)[4]等;但是由于室内物体的遮挡会造成比较严重的多径效应干涉以及反射、散射等现象[5],信号到达角与 RSSI 值等信息不能精确地描述两点之间的位置关系[6],故需要对RSSI信号值进行滤波处理,才能达到理想的定位效果。
由于基于RSSI的距离测量技术是一种新型低成本和低实现复杂度的距离测量技术,并且在室内定位领域有着广泛的应用,故该研究也提出基于RSSI的蓝牙4.0指纹定位优化技术。室内指纹定位技术主要分为2个阶段[7]:①离线阶段,在所需要定位的区域内预定坐标点,然后在每个坐标点上采集每个信标节点的RSSI值,存入到相应坐标点的数组中,最后建立RSSI指纹库;②在线阶段,通过接收每个信标节点的RSSI值,在线匹配指纹数据库中的RSSI信息,实时显示所处的坐标位置。笔者分别对这2个阶段进行算法的改进,首先,离线阶段指纹库建立的准确与否直接关系到在线定位的精度,故通过高斯-均值滤波算法对采集的信号数据进行优化处理,然后再存到指纹库中;在在线定位阶段,对采集的定位信息数据进行跳变自适应卡尔曼滤波算法处理,得到实时的信息数据,然后采用K-加权最近邻算法进行实时定位,从而达到精度较高的室内定位效果。
1指纹库数据优化
离线指纹库建立的精确与否对在线定位的精度有着较大影响,所以建立一个较为准确的指纹库是提高定位精度的基础。大量研究表明,采集的RSSI数据的随机分布是近似符合高斯分布模型的。使用高斯滤波模型[8]可以比较好地拟合RSSI在实际环境中的分布,从而消除那些小概率噪声干扰,然后通过均值滤波,得到稳定、平滑的RSSI值。具体滤波设计的过程:首先在数组中存储采样中的一组RSSI信号数据,采集的RSSI数据量为m;然后利用公式求解所要拟合的高斯滤波模型的均值和方差,求出其密度函数f(RSSI)。公式如下:
(1)
(2)
(3)
式(2)根据均值μ和方差δ2确定RSSI的有效范围,k为密度函数取值区间[k,1]的下限值,通过设置k的数值设置,可以得到采集数据保留的样本数。如果k过大,则说明保留的数据少,有可能会对RSSI数据的真实性造成破坏;若k过小,会提高保留的样本数,保证数据的真实性,但这样对小概率事件滤波效果下降,所以k值的正确选取有助于提高计算速度和更好地排除突变的小概率数据。高斯滤波可以有效地滤除偏离真实值的数据,但并不能消除数据的波动。为了达到RSSI的样本数据的平滑、稳定的输出,该研究采用均值算法继续对样本数据进行处理。
通过大量数据分析,选择临界值在0.6时效果最佳,具体公式如下:
(4)
式(4)对筛选后的RSSI求其均值,然后存入指纹库中。
2在线定位优化算法
2.1卡尔曼滤波算法由于室内环境复杂,信号信道受到的干扰因素比较多,那么未知节点接收到的信号数据仍然会有很大的波动,对于定位将是很不利的。卡尔曼滤波器能有效去除数据中的突变数据和噪声波动,实现值的准确、平滑输出。卡尔曼滤波算法分为预测和修正2个阶段[9-10]。
2.1.1时间更新(预测阶段)。
(1)计算先验状态估计值:
x(k|k-1)=F·x(k-1|k-1)+B·u(k)+w(k)
(5)
(2)计算先验状态估计值的协方差:
P(k|k-1)=F·P(k-1|k-1)·FT+Q
(6)
式(5)、(6)初始值分别为x(0)、P(0)。
2.1.2测量更新(修正阶段)。
(1)计算加权矩阵(卡尔曼增益):
Kg(k)=H·P(k|k-1)·HT+R
(7)
(2)对预测值进行修正:
x(k|k)=x(k|k-1)+Kg(k)·[Z(k)-H·x(k|k-1)]
(8)
(3)更新修正值的协方差:
P(k|k)=[1-Kg(k)·H]·P(k|k-1)
(9)
式中,I为1的矩阵,对于单模型单测量时,I=1。式(7)~(9)中,x(k)是k时刻的系统状态,u(k)是k时刻对系统的控制量,P(k|k-1)是x(k|k-1)对应的协方差。F和B是系统参数,对于多模型系统,他们是矩阵。Z(k)是k时刻的测量值,H是测量系统的参数,对于多测量系统,H为矩阵。w(k)表示过程噪声,被假设成高斯白噪声,其协方差是Q,这里假设W(k)不随系统状态变化而变化。
2.2卡尔曼滤波算法的优化但是实时定位的过程中,在采集的RSSI值在小范围波动的时候,卡尔曼滤波算法可以比较好地及时跟踪这些变化,调整RSSI的估计值,定位较为准确,但是,当未知节点移动较大位置后,此滤波算法得到的估计值只能较为缓慢地接近真实值,表现的收敛速度是很慢的,这对RSSI的准确估计是很不利的。
由于卡尔曼滤波算法在RSSI信号跳变应用中存在的不足,该研究提出了一种对RSSI信号出现跳变有自适应能力的优化卡尔曼滤波算法(简称跳变自适应卡尔曼滤波算法)。此算法能通过前几次接收的RSSI观测值快速的判断出RSSI是否发生了跳变,如果发生了跳变,这时可以及时修改卡尔曼滤波的相关参数,从而有效地降低此滤波算法对发生跳变前的状态估计值的信任度,可以在消除室内环境干扰的前提下,提高此算法对出现RSSI跳变情况后的再次收敛快速性,进而使此算法在室内复杂环境下的自适应能力显著增强,提高采集的RSSI值的准确度。
跳变自适应卡尔曼滤波算法是在卡尔曼滤波算法的基础上,增加了RSSI跳变时候的判断函数,具体公式如下:
(10)
(11)
(12)
式(11)~(12)中,ψ(k)为从k(k≥α)时刻起前k次观测值的迭代均值。Φ(k)为RSSI是否发生跳变的判定函数,反映的是最近α次观测值和估计值的均值近似程度。其中,α的值需要依据实际RSSI的波动情况进行具体设定(当α的值过小时,利用当前观测值进行跳变判定时很容易受到突变现象的影响,从而将影响到跃变判定的准确性;但当α的值过大时,就会对算法跃变判定的反应灵敏度产生影响);P(k-1)是k-1时刻的误差协方差,所以当算法趋于收敛时,P(k-1)的值会变得较小。由P(k-1)和β可以使算法在对连续发生的跳变进行判定时,有效地避开上一次RSSI跳变处理造成的数据波动的阶段,使跳变判定过程在上一次的RSSI跳变处理趋于收敛后能够再次生效,也就防止跳变判定过程进入死循环中。其中γ是RSSI跳变判定的临界值,当Φ(k)>γ时,则可认为信号强度RSSI发生了跳变。 通过分析可知,γ若越小,则算法越容易在外界突变干扰的影响下出现跳变误判,γ若越大,则可能使算法跃变判定的灵敏度下降,因此,γ的值需要根据所处的具体实验环境分析而定。
跳变自适应卡尔曼滤波算法是通过基础式(5)~(9)和改进式(10)~(12)来实现,使卡尔曼滤波算法由实测、预测、校正的3步迭代方法,进而扩展为实际测量、跳变判定、预测、参数校正的4步迭代方法。此改进算法的流程见图1。
图1 跳变自适应卡尔曼滤波算法流程Fig.1 Flow of hopping adaptive Kalman filter algorithm
通过试验数据分析,得到较为满意的滤波算法的参数,参数设置为:R=0.3,Q=0.005;α=8,β=4,γ=0.5。故改进后的对RSSI数据处理的效果见图2。
图2 改进后的对RSSI处理的效果Fig.2 Processing effect of RSSIT after improvement
3K加权最近邻定位算法
基于RSSI的位置指纹定位算法主要包括:最近邻法(Nearest Neighbor,NN)、K最近邻法(K-Nearest Neighbor,KNN)、K加权最近邻法(WKNN)等。目前采用较多的是K加权最近邻法,此算法是在前两个定位算法上进行的改进,定位精度更好,所以本位也采用此算法进行定位。
当移动终端进入定位区域后,会实时采集来自n个定位节点的RSSI信号强度值,设为Z=[Z1,Z2,…,Zn],选取指纹库中一组指纹数据,设为Xi=[S1i,S2i,…,SNi],通过对比实时信号的位置指纹Z和指纹库中的X的距离,以此来计算未知节点和定位节点之间的欧式距离;然后将加权和作为待定位节点的最终目标,具体公式如下:
L=arg mini∈[1,N]‖Z-Xi‖
(13)
(14)
图3 室内指纹定位算法优化过程Fig.3 Optimization process of indoor fingerprint positioning algorithm
4仿真试验和数据分析
此次试验的硬件系统选取有Ti公司的CC2541芯片集成的蓝牙4.0低功耗模块,选取1 m×6 m实验室作为试验区域。在离线指纹库建立阶段,选取两个节点之间的距离为1 m,为了适合实验室的环境,选取总共40个指纹点。通过Matlab对改进的定位优化算法进行仿真分析,结果表明,该研究采取的改进算法的定位精度比传统定位算法有显著提高,下面对部分仿真结果进行显示和分析。此优化算法的实时定位显示见图4。
图4 优化算法定位实时显示仿真结果Fig.4 Real-time display simulation results of the optimized algorithm location
通过3组实验验证优化算法的有效性,试验一只采用均值滤波建立离线库,然后采用K加权最近邻进行定位;试验二采用高斯-均值滤波建立指纹库,然后采用K加权最近邻进行定位;试验三也就是该研究采用的优化算法,是在试验二的基础上,增加了对在线采集的RSSI数据进行跳变自适应卡尔曼滤波,然后通过K加权最近邻算法完成最终定位。3组试验定位结果对比分析见表1。
表13组试验定位结果对比分析
Table 1Comparative analysis of three groups of experimental positioning results
试验组Testgroup最大误差Maximumerror平均误差Meanerror试验一Test12.722.23试验二Test22.141.71试验三Test31.421.15
由表1可知,试验二定位精度比试验一有一定的提高,说明指纹库的优化能有效地降低最终的定位误差;试验三和试验二的对比结果显示,通过对现在定位阶段采集的RSSI数据的实施滤波处理,进一步提高了实时定位的准确度,验证了所提出的优化技术的可行性和实用性。
5结论
该研究分析了基于低功耗蓝牙4.0室内无线传感器网络通过RSSI进行指纹定位的性质。针对RSSI信号在建立离线库阶段容易受到环境干扰,采用高斯-中值滤波对采集的数据进行处理,然后在保存到指纹库中,保证了指纹库的真实性,为后面的实时定位提供良好的前提;为了使在线定位阶段降低RSSI值受到的干扰,采用卡尔曼滤波算法进行处理,但是随着未知节点的移动,为了达到卡尔曼滤波算法的快速收敛,提出了改进的跳变自适应卡尔曼滤波算法,不仅提高了滤波收敛的快速性,而且保障了RSSI值的平稳输出,最后通过试验和Matlab仿真验证了室内定位优化算法的可行性。该研究还采用了低功耗蓝牙技术,通过蓝牙4.0作为节点的高精度室内指纹定位技术有广阔的应用前景。
参考文献
[1] 李娟娟,张金艺,张秉煜,等.蓝牙 4.0 标准规范下的模糊指纹定位算法[J].上海大学学报 (自然科学版),2013,19(2):126-131.
[2] GIROD L,BYCHKOVSKIY V,ELSON J,et al.Locating tiny sensors in time and space:A case study[C]//International Conference on Computer Design (ICCD 2002).Freiburg:IEEE Computer Society,2002: 214-219.
[3] ALA V I B,PAHLAVAN K.Modeling of the TOA-based distance measurement error using uwb indoor radio measurements[J].Communications letters,IEEE,2006,10(4):275-277.
[4] CURRAN K,FUREY E,LUNNEY T,et al.An evaluation of indoor location determination technologies[J].Joumal of location based services,2011,5(2):69-78.
[5] 詹 杰,刘宏立,刘述钢,等.基于 RSSI 的动态权重定位算法研究[J].电子学报,2011,39(1):82-88.
[6] 容晓峰,杨娜.RSSI 位置指纹的定位误差分析与仿真[J].西安工业大学学报,2010,30(6):574-578.
[7] YOUSSEF M A,AGRAWALA A,UDAYA SHANKAR A.WLAN location determination via clustering and probability distributions[C]//Proceedings of the First IEEE International Conference on.IEEE,2003:143-150.
[8] 詹杰,吴伶锡,唐志军.无线传感器网络RSSI测距方法与精度分析[J].电讯技术,2010,50(4):83-87.
[9] 刘静,姜恒,石晓原.卡尔曼滤波在目标跟踪中的研究与应用[J].信息技术,2011,15(10):74-77.
[10] 彭丁聪.卡尔曼滤波的基本原理及应用[J].软件导刊,2009,8(11):32-35.
Indoor Fingerprint Location Optimization Technology Based on BLE
TAO Jia-feng,YANG Xiao-hong,WANG Jian-ping et al
(Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming,Yunnan 650504)
AbstractAiming at the problem of high energy consumption and low accuracy of RSSI indoor positioning technology,using Bluetooth 4.0 as a node,BLE technology with advantages of low energy consumption,long distance and low cost was adopted.Data filter was studied through optimizing fingerprint database by using Gauss-mean method and improved hopping adaptive Kalman algorithm,the experiment was carried out in Bluetooth 4.0 wireless network.The results showed that in a complex environment,the optimized fingerprint database and adaptive Kalman location algorithm is more stable and accurate than traditional positioning method.
Key wordsBluetooth low energy technology; Gauss-mean filter; Hopping adaptive Kalman filter; Indoor fingerprint location
基金项目国家自然科学基金项目(61364008);云南省应用基础研究重点项目(2014FA029);云南省教育厅重点基金项目(2013Z127);昆明理工大学复杂工业控制学科方向团队建设计划项目。
作者简介陶佳峰(1990- ),男,安徽萧县人,硕士研究生,研究方向:实时运动控制。
收稿日期2016-02-07
中图分类号TP 391
文献标识码A
文章编号0517-6611(2016)08-289-04