一种基于神经网络修正参数的卡尔曼滤波室内定位方法
2020-06-15赵明何书前石春蒋文娟
赵明 何书前 石春 蒋文娟
摘 要: 随着网络技术和移动通信技术的发展,移动终端设备已经具有了可靠性高、性能较强等优势,利用现有移动终端设备构建一套简便、低成本、可靠的室内定位方法已经成为一个重要问题。针对室内定位先天的复杂性,测量仪器的不准确性,定位环境多变性等因素,设计了一套使用WiFi技术、卡尔曼滤波算法、BP神经网络的室内定位方法。该方法可以有效地提高室内定位系统的精度和鲁棒性。仿真实验结果表明,在100 m×100 m的二维平面中,定位误差小于2.5 m,优于标准的卡尔曼滤波方法。
关键词: 室内定位; 移动终端设备; 位置指纹; 卡尔曼滤波; BP神经网络; WiFi技术
中图分类号: TN939?34 文献标识码: A 文章编号: 1004?373X(2020)07?0021?04
A Kalman filtering indoor positioning method based on
neural network correction parameters
ZHAO Ming, HE Shuqian, SHI Chun, JIANG Wenjuan
(School of Information Science and Technology, Hainan Normal University, Haikou 571158, China)
Abstract: With the development of network technology and mobile communication technology, mobile terminal equipment has got high reliability, high performance and other advantages, and how to use the existing mobile terminal equipments to construct a simple, low cost and reliable indoor positioning system has become an important issue. In this paper, an indoor positioning method adopting WiFi technology, Kalman filtering algorithm and BP neural network is designed to deal with the indoor positioning congenital complexity, measuring instrument inaccuracy, positioning environment variability and other factors, which can effectively improve the accuracy and robustness of the indoor positioning system. The simulation experiment results show that the positioning error of the method is less than 2.5 m in the two?dimensional plane of 100 m×100 m, which is better than the standard Kalman filtering method.
Keywords: indoor localization; mobile terminal equipment; position fingerprint; Kalman filtering; BP neural network; WiFi technology
0 引 言
在室内环境中,由于无线信号传播特性易受环境改变,传播模型不确定,若记录不同位置的无线电信号特征,并将其存入数据库,则该特征称为位置指纹。位置指纹如人类指纹一样,用来表示某点唯一的“身份”信息。位置指纹将位置信息与该位置的无线信号特征联系起来,使得室内环境中确定某点位置只需测得该位置的无线信号特征[1?5]。
传播模型可分为基于数学计算的确定模型以及基于实地测量的经验模型[6?8]。确定性模型是利用网元到接收点的无线信号传播原理,考虑信号直射、反射、折射、绕射等多种传播方式,在一个接收点往往会受到来自不同网元的信号,这些信号会产生多径合成效应,根据每一条传播射线建立模型。这样是不考虑其他信号干扰的情况下进行的,在实际环境中这样的模型精度较低,无法满足在大型建筑物中的室内定位需求。经验模型是利用空间中接收点处的位置指纹即接收信号强度(Received Signal Strength Indicator,RSSI),根据测量的大量无线信号特征,建立符合实际的室内定位模型,虽然操作复杂,但是可以大大提高定位系统的精度。
本文主要研究基于卡尔曼滤波的经验模型位置指纹室内定位方法,针对卡尔曼滤波算法存在系统模型与误差模型假设不满足实际条件,造成明显的线性化误差问题,提出一种基于神经网络参数修正的非线性卡尔曼滤波优化方法,有效地抑制了噪声,并提高了定位精度。
1 卡尔曼滤波算法
卡尔曼滤波器是一种最优滤波器[9],可以从夹杂着各种随机噪声的信号中分离出有用信号。它所处理的对象是随机信号,利用系统噪声和观测噪声的统计特性,以系统的观测量作为滤波器的输入,以所要估计值(系统的状态和参数)作为滤波器的输出,滤波器的输入与输出之间由时间更新和观测更新算法联系在一起,根据系统方程和观测方程估计出所有需要处理的信号,所以卡尔曼滤波是一种最优估计方法。随着计算机技术、软件技术的发展,卡尔曼滤波应用在工程上已经不再是难事,并且人们还在标准的卡尔曼滤波基础上发展出如扩展卡尔曼滤波、无迹卡尔曼、交互多模型卡尔曼滤波等。
标准卡尔曼滤波数学模型状态方程为:
[Xk=?k,k-1Xk-1+Γk-1Wk-1] (1)
观测方程为:
[Zk=HkXk+Vk] (2)
式中:[Wk-1]为[k-1]时刻系统的状态噪声,[Vk]为[k]时刻的观测噪声,设定它们为不相关且成正态分布的白噪声,即[p(ω)?N(0,Q)],[p(v)~N(0,R)];[Xk]是[k]时刻的[n]维状态向量;[Zk]为[k]时刻的[m]维观测向量;[?k,k-1]为[k-1]时刻到[k]时刻的[m×n]维状态转移矩阵;[Hk]为 [k]时刻的[m×n]维观测矩阵。
进一步预测:
[Xk,k-1=?k,k-1Xk-1] (3)
状态估计更新:
[Xk=Xk,k-1+Kk[Zk-HkXk,k-1]] (4)
滤波增益矩阵:
[Kk=Pk,k-1HT[HPk,k-1HT+R]-1] (5)
则进一步预测协方差方程:
[Pk,k-1=?k,k-1Pk,k-1?Tk,k-1+Γk,k-1Qk,k-1ΓTk,k-1] (6)
协方差阵为:
[Pk=[I-KkHk]Pk,k-1] (7)
卡尔曼滤波的条件是:系统噪声和测量噪声已知且其均值为0,以及统计特性已知的高斯白噪声。在实际环境中这些条件未必能满足,比如观测矩阵是非线性的,而在经过线性化后,其结果只取泰勒级数的一次项,余下的二次项全部省略,明显存在线性化误差。滤波限制条件要求系统模型精确且系统误差模型和观测误差模型已知。在实际应用中是很难满足的,或者在系统工作过程中,模型发生变化,这些都导致传统的卡尔曼滤波发散或精度下降。
由于计算机字长的限制,在卡尔曼滤波器计算过程中可能会存在计算误差即舍入误差,方差矩阵会因为这种误差产生不对称,从而使得卡尔曼滤波误差变大甚至是滤波发散。有时WiFi接收卡可能会突然发生故障,产生一个波动很大的值即野值,这样的情况有时会使得系统误差很大,如何消除这种野值也是研究滤波系统的主要任务。
2 神经网络修正室内定位卡尔曼滤波算法原理
神经网络[10]是模拟人类大脑的一种机器学习算法,随着深度学习的兴起被空前的重视,其一般结构可以分为输入层、隐含层、输出层。在输入层输入训练样本,这些训练样本乘上各自的连接权值输入到隐含层,隐含层也做同样的处理将上层传递下来的各值再乘上相应的连接权值输入给输出层,输出层根据期盼结果判断神经网络处理是否正确,若正确则增加相应的连接权值,相反,则减少相应的权值。[xi(i=1,2,…,n)]表示来自与当前神经元相连的其他神经元传递的输入信号,[wij]代表从神经元[j]到神经元[i]的连接强度或权值,[θ]为神经元的激活阈值或偏置,[f]称作激活函数或转移函数神经元的输出,[yi]可以表示为如下形式:[yi=fj=1nwijxi-θi]。该模型从逻辑功能器件的角度来描述神经元,为神经网络的理论研究开辟了道路。
利用神经网络提高室内定位滤波算法的精度,即提高卡尔曼滤波精度,首先需要足够数量且高精度的室内定位轨迹样本,利用该样本对神经网络进行训练,使得该神经网络符合定位需求[9,11]。在定位阶段使用标准卡尔曼滤波对测量值进行过滤,由于卡尔曼滤波要求系统模型和噪声模型已知,并且滤波过程中不允许改变,若将估计误差和测量误差以及卡尔曼增益作为神经网络的输入,经过神经网络的运算,输出真实值与估计值之间的差。结合神经网络与卡尔曼滤波算法可以大大提高室内定位系统的精度,由于神经网络具有自适应能力,该方案也提高了系统的鲁棒性。使用BP神经网络修正卡尔曼滤波的原理,如图1所示。
由于室内定位有着先天的复杂性,单一的标准卡尔曼滤波不可能很好地解决定位问题,为此引入神经网络。
由式(4)得卡尔曼滤波方差,将其变换成如下形式:
[Xk-Xk,k-1-Kk[Zk-HkXk,k-1]=0] (8)
由式(8)可見,卡尔曼滤波的估计结果与预测状态同期望预测状态的差[Xk-Xk,k-1]、卡尔曼增益[Kk]、测量值与预计状态之差[Zk-HkXk,k-1]相关。将这三个参数作为神经网络的输入,输出参数为真实值和估计值之差,将这个神经网络的输出值和未经神经网络修正的估计值相加即可得到一个非常接近真实值的估计值。
3 仿真实验与分析
该仿真平台使用Matlab R2016a,模拟了在室内环境下无线信号的传播特性,并且建立了基于二维平面的位置指纹地图。该平台的一大优势是比较简单,没有复杂的数学计算,易于理解,且时间复杂度和空间复杂度均较小。该系统使用4个AP,不考虑多径效应、信号叠加。因为本文使用的是位置指纹法,对室内无线信号环境不敏感,即无论室内环境下的无线信号因多径效应、信号叠加等影响,位置指纹法记录的是测量点的各AP信号强度,并不会降低定位系统的精度。
本次仿真实验场景安排如下:
AP测量设置点为[7×7]的矩阵,四角处放置AP,并且在该四角处不设置位置指纹,实验不考虑信号的多径传播、折射、反射。设置基站传输功率为30 dBm,发射损耗系数为10 dBm,接收损耗系数为10 dBm。首先要对指纹位置初始化,除去定位平面四角,余下平面中共设置45个位置指纹。
设置移动点初始坐标为[(x,y)=(-100,20)] [cm],初始速度[(vx,vy)=(2,20)] [cm/s],设置过程噪声均值为[0.01*diag[0.1,1,0.1,1]],测量噪声均值为[100*eye(2)]。测量扫描周期[T=]1 s,总的测量次数为80次。使用位置指纹算法,分类算法为最近邻分类,标准卡尔曼滤波算法结合神经网络,神经网络采用三层结构。其中,输入参数为:[Xk-Xk,k-1],[Kk],[Zk-HkXk,k-1]。
预测状态与期望预测状态的差为2维,卡尔曼增益为4×2的矩阵,测量值与预计状态的差为2维,其中,卡尔曼增益矩阵是[4×2]维,需要变换成[4×1]维矩阵。一共有6个输入参数,输出参数真实值与估计值的差。在实验过程中发现直接构造2个输出参数的神经网络,训练效果很差,有时甚至是滤波发散,实验表明,在神经网络输出层神经元为1时效果较好。隐含层个数没有明确的公式,只能根据经验确定,现有的经验公式如下:
[l=n+m+a] (9)
式中:[l]为隐含层神经元个数;[n]为输入层神经元个数;[m]为输出层神经元个数;[a]取值范围为(1,10)。结合实验效果设置隐含层神经元个数为8,迭代次数设置为5 000次,期望误差为0.01。
仿真流程图如图2所示,运行结果如图3所示,误差分析如图4所示。
从仿真结果可以看出,结合神经网络和卡尔曼滤波可以有效地降低定位误差。在定位初始阶段,神经网络修正卡尔曼滤波的效果与标准卡尔曼滤波相似,从第52次测量周期开始,结合了神经网络的室内定位算法比标准卡尔曼的精度明显提高,特别是定位最后阶段,神经网络可以有效地消除滤波误差,预测轨迹几乎与真实轨迹相同。该算法和标准卡尔曼相比有着明显的优势,并且实现定位系统的高鲁棒性,有利于室内定位系统向着更广范的领域发展。
4 结 语
由于卡尔曼滤波算法要求系统误差和测量误差已知,利用标准的卡尔曼滤波算法可能会随着时间的增长滤波效果会很差甚至是发散。这就要求使用其他手段去修正卡尔曼滤波,使其误差尽可能地小,神经网络具有良好的自学习能力,将其与卡尔曼滤波结合即可大大地提高室内定位系统的精度与鲁棒性。仿真实验结果表明,本文所提出的基于神经网络修正的卡尔曼滤波室内定位方法明显优于传统的卡尔曼滤波算法。
参考文献
[1] 汪苑,林锦国.几种常用室内定位技术的探讨[J].中国仪器仪表,2011(2):54?57.
[2] 勾祖超.基于位置指纹的WiFi室内定位技术的研究[D].成都:西南交通大学,2016.
[3] 田中成,刘聪锋.无源定位技术[M].北京:国防工业出版社,2015.
[4] ZHOU M, TANG Y, TIAN Z, et al. Semi?supervised learning for indoor hybrid fingerprint database calibration with low effort [J]. IEEE access, 2017, 5(99): 4388?4400.
[5] 丁承君,宇中强,朱志辉.基于信号幅值分布的室内指纹定位算法[J].现代电子技术,2018,41(10):47?50.
[6] 董哲,吴瑶,孙德辉.室内定位技术的多源数据融合算法研究[J].计算机工程与设计,2014,35(5):1526?1530.
[7] MU Z, QIAO Z, KUNJIE X, et al. PRIMAL: page rank?based indoor mapping and localization using gene?sequenced unlabeled WLAN received signal strength [J]. Sensors, 2015, 15(10): 24791?24817.
[8] 陈诗军.一种高精度室内定位仿真系统的研究与实现[J].电子科学技术,2016,3(6):710?715.
[9] 李伟征,涂秀梅.基于自适应卡尔曼滤波的频偏估计研究[J].控制工程,2017,24(8):1685?1689.
[10] 焦李成.神经网络七十年:回顾与展望[J].计算机学报,2016,39(8):1697?1716.
[11] 刘庆元,郝立良,黄书捷,等.神经网络辅助的GPS/MEMS?INS组合导航算法[J].测绘科学技术学报,2014(4):336?341.