基于卡尔曼滤波的建筑物内人员定位系统研究
2015-10-15李婷婷韩成浩
李婷婷 韩成浩
(吉林建筑大学电气与电子信息工程学院,长春 130118)
1 定位系统的架构
近年来,定位技术受到了人们的广泛关注,它是物联网重要技术之一.定位技术的核心要素就是定位算法,优秀的定位算法可有效地降低无线信道的影响,并利用较少的无线网资源获得较高的定位精度.无线定位技术在世界范围研究较早,研究内容涵盖了定位技术的方方面面.目前世界上常用的建筑物内人员定位技术多为GPS定位技术、红外技术、超声波技术、射频卡识别技术、wifi定位技术及ZigBee系统定位技术等.本文主要是利用ZigBee无线定位技术,对建筑物内无线传播环境进行分析,利用卡尔曼滤波提高测距的精度.
ZigBee技术是一种新兴起的短距离、速率较低的无线网络技术,具有成本、功耗、复杂度低等特点,本系统利用ZigBee技术、CAN总线技术最终对建筑物内人员进行准确定位,通过ZigBee移动节点、终端节点、路由器、中心节点最终到控制中心汇总所有数据,进行人员定位,系统图如图1所示.
图1 系统总体设计方案
2 建筑物内定位技术
2.1 基于RSSI的定位算法,经验模型的建立
基于测距的RSSI(接受信号强度)定位算法是目前常用的定位算法,一般对接受到的RSSI值采用的滤波方法为最大似然法进行均值滤波,但均值滤波有不具备连续性、递推行和自适应性的特点,而这一问题卡尔曼滤波能够解决.卡尔曼滤波作为一种最优估计理论和方法,由于其具有实时递推性、存储量小和简单异行的特点,在工程和应用中已受到重视,本系统利用ZigBee技术及卡尔曼滤波对估算出的定位信息进行优化的.拟采用CC2430作为ZigBee网络中的参考节点,定位系统采用CC2431芯片作为节点的主芯片,CC2431使用的定位算法为RSSI定位算法,是基于测距的算法,RSSI值将随着距离的增加而减小.
其中,n为路径损耗系数;d为移动节点与参考节点间的距离;A为移动节点与参考节点间距离,d为1m时测得的RSSI值.
在建筑环境下利用RSSI值定位的关键是通过测量信号的衰减程度来估计待定位节点和多个已知参考节点之间的距离,然后再通过这些距离估计待定位节点的坐标.此方法易于实现,但容易受外界环境影响,路径损耗模型中给出了参考距离的路径损耗A和路径损耗指数n的经验值.
2.2 卡尔曼滤波的定位算法
基于RSSI定位的重点是距离的测量,而RSSI测距容易受到干扰噪声的影响已不能满足建筑物内人员定位的精度要求.在建筑环境下利用RSSI定位的关键是通过测量信号的衰减程度来准确估计待定位节点和多个已知位置节点之间的距离,然后再通过这些距离估计待定位节点的坐标.此方法易于实现,但容易受外界环境影响,路径损耗模型中给出了参考距离的路径损耗A和路径损耗指数n的经验值[1].针对特定的建筑环境,所给出的经验参数不能很好地反应实际现场传播环境的真实场景.为了得到精确的距离测量通过实测RSSI值,必须在实际应用环境中有两个标定好的经验值校准,实际在多个测距RSSI值,使用优化算法优化模型中的参数A和n,使传播模型预测的无线网络范围内结果和真实现场环境的真实值更加的贴近,从而有效提高节点范围定位的准确性[3].
卡尔曼滤波是高斯过程最优滤波的一种有效算法,具有离散型和连续型两种算法.当对象模型足够准确且系统状态和参数不发生突变时,性能较好[2].
卡尔曼滤波的操作包括两个过程:状态预测与状态更新.在预测阶段,滤波使用上一状态的估计值,从而得出当前状态的估计值.在更新阶段中,卡尔曼滤波预测阶段获得的预测值是利用对当时状态的观测值优化而得到的,从而获得一个更精准的新的估计值[4].
预测阶段,涉及到状态估计和预测均方误差两个基本方程[4]:
2.3 建立基于RSSI及卡尔曼滤波的优化算法
在利用RSSI进行测距时,加入卡尔曼滤波可减弱噪声对系统的影响,提高状态精度,因此建立基于RS-SI及卡尔曼滤波算法的建筑物内人员定位模型.
首先建系统状态方程:
式中,x(k)=[xk,yk,zk]r为定位人员所在坐标;A(k)为系统矩阵.
系统的观测方程为:
式中,s(k)=[skx,sk
y,sk
z]r是系统的观测方程;H(K)为状态矩阵,公式中的w(k),v(k)分别是系统噪声和观测噪声,其均是高斯白噪声,全部服从高斯分布.卡尔曼滤波算法分为预测和更新两步,在计算过程中,系统协方差误差矩阵误差会被重复考虑.为减小这种影响,对上式进行修正,在预测过程中引入新的因子,避免数据冗余给算法带来误差,故将预测方程进行整理修改:
式中加入引进因子λ(k),为一个不小于1的数,这个因子使滤波误差不会随误差的累计而变大.通过实验可知,通过以上算法得到的结果比基于最大似然估计定位节点定位信息.更精准的值.
2.4 实验结果
将6个定位节点分别固定于室内墙上,通过移动节点与固定节点之间的数据传输获取RSSI,然后利用RSSI与距离关系计算实际距离.加入卡尔曼滤波后,定位精度有提高,误差从3m缩小到1m之内.
3 结语
通过建立建筑物内人员的状态方程和观测方程,实现了对基于RSSI定位算法估算的人员位置坐标的滤波处理,卡尔曼滤波算法对人员的实时跟踪效果将更为精确,提高系统的实时性和跟踪精度.
[1]刘 颖,苏军峰,朱明强.基于平方根溶剂卡尔曼滤波的RSSI定位参数估计算法[J].系统仿真学报,2014,26(1):119-124.
[2]秦永元.张洪钺.汪叔华.卡尔曼滤波与组合导航原理[M].西安:西北工业大学出版社,2012:5-7.
[3]吕 源.建筑物内人员定位技术的研究[D].北京:北京工业大学,2008.
[4]宿志海.移动机器人运动控制系统设计[D].山东:山东科技大学,2013.