您好, 访客   登录/注册

一种缩小NLOS误差提高室内跟踪精度的融合算法

来源:用户上传      作者:

  摘要:针对扩展卡尔曼滤波器(EKF)在室內环境中,非视距(NLOS)传播对EKF跟踪性能产生很大影响这种缺陷,提出一种基于极限学习机(ELM)和EKF的融合方法。ELM使用EKF的状态信息对测量值进行分类,确定受NLOS误差影响的传播路径,然后利用该路径训练的ELM对测量值进行校正。实验结果表明,该算法与传统算法相比精确度提高了43.2%,可以有效缩小NLOS误差。
  关键词:扩展卡尔曼滤波器;极限学习机;非视距传播;误差抑制
  DOI:10.11907/rjdk.191951 开放科学(资源服务)标识码(OSID):
  中图分类号:TP312文献标识码:A 文章编号:1672-7800(2020)006-0066-04
  0 引言
  随着无线通信技术的快速发展和对定位精度要求的提高,室内定位本地化研究经历了蓬勃快速发展。同时,多种应用相应产生,例如医院医务人员或设备位置检测、智能体育反馈系统、库存资产跟踪等。各种主流无线技术包括WiFi、RFID、UWB(Ultra wide band,UWB)、蓝牙和ZigBee等,支持着这些应用的实现。然而,在实际情况下UWB技术依然面临许多挑战,包括信号采集、多用户干扰、多径效应和非视距(Non-Line ofSight,NLOS)传播。NLOS传播对于高分辨率定位系统尤为关键,因为其在距离估计算法中引入了正偏差,从而严重影响了定位性能。
  近年来,许多机器学习技术被提出用以提高非视距定位性能,例如支持向量机(Support Vector Machine,SVM)分类器和回归器、关联向量机(Relevance Vector Machine,RVM)分类器和回归器、高斯过程(Gaussian Process,GP)回归器等。但是,基于SVM和RVM的NLOS缓解计算复杂性高、速度慢,具有一定的局限性。鑒于此,本文提出一种结合ELM(Extreme Learning Machine,ELM)和EKF(Extended Kalman Filter,EKF)的算法,使用预测的EKF状态和外部测量值作为ELM的输入对测量值进行分类并确定受NLOS误差影响的传播路径,然后选择合适的ELM网络纠正测量值,进而有效缩小NLOS错误。
  1 系统模型
  在本次系统模型中,仅考虑二维平面的实例场景,假设第N(N>3)个基站位于(xi,yi)处,i=1,2,…,N,移动标签的坐标设为(x,y)。标签与基站之间的距离利用TOF算法测量获取,该算法可以有效解决节点间时钟同步问题,获得高精度的距离。图1给出了两个设备之间的基本通讯,首先A向B发送轮询消息,然后B从A接收信息并在treplyB处理时间后响应,最后来自B的响应在A处被接收。troundA指从轮询消息传输时刻到响应消息到达时刻所经历的时间,因此可以通过信号的飞行时间估算出标签与每个基站的距离,如式(1)所示。当获取到标签与基站的测量距离时,利用三边定位算法便可得到标签的位置坐标。三边定位算法原理如图2所示。
  在本次模型中,运动目标的状态方程可以由式(2)表示。
  通过三边定位原理建立系统观测模型,已知第n个基站的坐标为Zk=hk(Xk)+vk,第K时刻标签到n个基站的距离可以表示为Zk=hk(Xk)+vk,其中Zk=hk(Xk)+vk,则观测方程为:
  Zk=hk(Xk)+vk(3)
  其中,Qk+1为Qk+1,时刻基于Qk+1的预测状态向量,Qk+1为预测状态协方差阵,Qk+1为过程噪声方差矩阵。
  2 扩展卡尔曼算法
  卡尔曼滤波算法只适用于线性高斯空间模型,对于非线性而言,模型EKF使用较为普遍,其基本思想是对状态方程和观測方程利用泰勒展开进行线性化处理,将展开中的第一项与模型中的非线性函数进行比较。通过线性化过程计算雅可比矩阵,最后通过卡尔曼滤波算法进行估计计算。EKF主要分为时间更新(预测)和测量更新(校正)两个阶段。
  在预测阶段,系统根据前一个状态估计值,利用状态方程预测当前状态,得到先验估计,如式(5)、式(6)所示。
  其中,Xk+1,k为k+1时刻基于k的预测状态向量,Pk+1,k为预测状态协方差矩阵,Qk+1为过程噪声方差矩阵。
  在校正阶段,将新获取的测量值与先验估计值结合,得到后验估计值进行校正目标的先验估计,如式(7)所示。
  其中,Kk+1、为k+1时刻的卡尔曼增益,观测矩阵Zk+1,为观测矩阵,噪声方差矩阵为Pk+1。
  3 极限学习机算法
  极限学习机是一种应用于单层隐藏层前馈神经网络的新型学习算法模型,具有快速学习和泛化性能好的特点。在网络训练前只设置适当数量的隐层节点,输入节点和隐藏层权重以及隐藏层阈值是随机分配的,不需要迭代优化,网络训练过程一次完成。ELM的单隐层前向神经网络模型如图3所示。
  假设网络有n个输入层节点、L个隐层节点和m个输出层节点,隐层神经元的激活功能为g(x),隐层神经元的偏置为bi。ELM模型表达式如式(8)所示。   其中,j=1,2,…,N,ωi=[ω1iω2i…ωni]表示所有输入层节点,βi=[β1i,β2i,…βni]T表示第i个隐含层节点的连接权向量,yj=[yj1yj2…yjm]T表示网络输出值。单隐层神经网络学习的目标是使得输出误差最小,如式(9)所示。
  其中,H为单隐层的输出矩阵,假设矩阵H的摩尔一彭罗斯广义逆是H-1,上述系统的最小二乘解可以表示为Zk=[d1kd2k…dnk)T。
  4 基于ELM与EKF的NLOs误差抑制算法
  为了缩小NLOS误差,可以采用ELM和EKF的组合算法,使用测量值Zk=[d1kd2k…dnkT作为输入,通过单个校正NLOS误差的ELM网络所得节点之间的距离值作为输出。该方法对缩小NLOS误差有一定效果,但是仅将ELM和EKF简单加以组合并不能充分利用EKF的相关状态。
  由于测量值是由多个基站与标签测量值共同构成的,因此可能会有多个基站受到NLOS的誤差影响。单个网络无法很好地处理所有情况,并且样本空间大小也限制了单个网络对NLOS错误的缓解效果。本文方法主要分两个步骤:分类和校正。第一步是确定受NLOS误差影响的传播路径,在EKF预测阶段,预测点坐标相对于实际坐标虽然存在误差,但误差服从高斯分布且不存在NLOS效应,因此,可以作为判断传播路径是否受NLOS误差影响的参考。从预测点到每个基站点的距离为Zk+1,k将Zk+1,k和Zk+1测量值作为ELM的输入,对测量值进行分类确定测量值中受NLOS误差影响的传播路径。第二步是纠正NLOS错误,针对不同传播路径的NLOS误差分别训练以实测值为输入、以真值为目标的用于校正NLOS误差的ELM网络。训练完成后,系统只要根据第一步确定的NLOS误差传播路径,选择相应的ELM网络进行校正,将最终所得结果作为EKF更新值的输入,这样就可以更有效地缩小NLOS误差,提高室内跟踪精度。ELM和EKF融合算法原理如图4所示。
  5 仿真与结果分析
  为了验证ELM在位置跟踪中对NLOS误差的缓解,以及本文算法在NLOS仿真环境下的实验效果,对同一组数据采用3种方法进行实验对比:①首先用测量值Zk+1和预测值Zk+1,k对测量值进行分类,然后选择训练好的ELM网络校正NLOS误差,将校正后的测量值用作更新EKF测量的输人;②该方法用单次训练好的ELM网络对测量值Zk+1进行校正,将校正的测量值用于更新EKF测量值;③只单独使用EKF而对测量值不作任何处理。
  仿真环境为:在1000cm×1000cm的正方形区域中设置4个基站,它们的坐标分别为(0,0)、(0,1000)、(1000,0)和(1000,1000)。标签运动轨迹如图5所示,即正方形和不规则曲线两种情况。在每条运动轨迹中采集40个点,设置标签到4个基站的距离误差服从方差为100cm2高斯分布。同时,将每条路径上的40个采样点平均分为4段,将NLOS误差添加到第1段中基站1到标签的测量距离上,在第2段中,将NLOS误差添加到基站2到标签的测量距离上,依此类推,直到NLOS被添加到最后一段结束。将NLOS误差设置在[10,100]中均匀分布。
  图6显示了实际运动轨迹的仿真结果,表l、表2显示了不同条件的相关误差。从图6-图8中可以看出,方法3的EKF算法由于没有处理NLOS误差而具有较大误差。方法1和方法2中的测量值都经过了ELM校正,相对于方法3而言精度有一定提高。然而由于方法2只使用单一的ELM网络对所有传播路径的NLOS误差进行校正,因此NLOS误差处理效果是有限的。方法1相对于方法2而言,首先确定受NLOS误差影响的传播路径,然后针对不同NLOS误差段采用不同的ELM网络进行校正,有效提高了定位精度。
  由表l、表2也可以看出,在两种运动轨迹中,方法1相对于另外两种方法在平均误差、最大误差甚至最小误差方面都有更好表现。这些更好的表现均来自于在计算定位坐标之前对测量数据的预处理和ELM网络的有效优化。
  6 结语
  针对室内跟踪中的NLOS误差问题,本文提出了ELM和EKF相结合的解决方案。实验结果表明,该方法能有效缩小非视距误差,提高定位跟踪精度。但该算法目前仅用于仿真,并未用于实物测试,将该算法融人实物中进行验证是下一步研究方向。
转载注明来源:https://www.xzbu.com/8/view-15281335.htm