陈永刚,韩思成,贾水兰,许继业
(兰州交通大学 自动化与电气工程学院,兰州 730070)
虚拟应答器(VB)模拟了一个放置在轨道上真实的应答器,通过将全球卫星导航系统(GNSS)运用到列车定位中来降低列车控制系统的成本[1].目前列车的位置信息主要通过传感器来获得,由于单个传感器进行列车定位时存在不确定性,传感器一旦失效,列车的定位误差很大,导致VB 发生漏捕获,列车自动防护系统(ATP) 将接收不到报文,严重影响行车安全.因此通过多种传感器进行信息融合,互相弥补各自的缺点,进而满足列车定位精度的要求.目前针对VB 信息融合主要采用 Kalman 滤波.文献[2]采用了Kalman 滤波对VB 定位数据进行了处理;文献[3]通过容积 Kalman 滤波来计算VB 的位置;文献[4]提出了扩展 Kalman 滤波(EKF) 方程获得列车行驶里程,进而判断列车是否在VB 捕获区域内.由于在使用 Kalman 滤波进行信息融合前需要将量测噪声和系统噪声假定为已知,然而列车在实际行驶中,列车运行条件以及定位时的环境都会发生实时的变化,Kalman 滤波无法进行动态的调节,得到的估计值可能会有偏差,进而导致滤波精度的降低,甚至超出了理想的范围,出现滤波发散的情况[5].
自适应滤波实时估计、修正系统噪声和量测噪声,实现对滤波发散的抑制.自适应滤波主要包括贝叶斯估计法、协方差匹配法、Sage-Husa 自适应滤波算法等[6],Sage-Husa 自适应滤波算法精确度高、实现性强,因此在定位、目标跟踪等领域具有广泛应用[7].文献[8]通过Sage-Husa 自适应滤波算法对飞机不同飞行阶段中系统噪声方差进行自适应估计,降低飞机导航定位的误差;文献[9]提出了一种基于Sage-Husa自适应滤波算法的噪声估计器,实时在线修正过程噪声,提高滤波估计精度;文献[10]采用Sage-Husa 自适应滤波算法实时估计修正手机GNSS 定位系统测量噪声矩阵,从而得到高精度的定位信息,文献[11]通过Sage-Husa 自适应滤波算法、自适应估计和补偿声呐运动误差,提高运动误差估计的精确性.然而Sage-Husa 自适应滤波算法在应用中还存在一些问题,例如陈旧数据的作用越来越大进而影响滤波精度等[12].因此,还需对Sage-Husa 自适应滤波算法进行改进.
基于此,本文提出了一种基于改进Sage-Husa 自适应滤波算法的VB 信息融合方法.通过实时修正观测噪声和系统噪声抑制滤波发散,引入衰减因子减小陈旧数据影响,提高滤波精度,仿真实验验证了本文所提改进算法的优越性,保证了VB 信息融合的精度和稳定性.
VB 工作原理如图1 所示.图1 右侧是真实应答器报文传输的过程,它是通过空气间隙传输大量信息来实现一次模式曲线控制列车运行.左侧是VB 的工作原理.其中定位计算模块主要是GNSS 接收机接收GNSS 信号,惯性传感器、里程计作为辅助,对定位数据进行信息融合处理,产生定位信息传递给安全判别模块.安全判别模块将当前的定位坐标和下一VB 的坐标进行比较[13],如果判定当前的定位误差在一个安全合理的范围内,则将定位信息传递给报文传输模块.当GNSS 定位点落在以VB 为中心,一定距离为半径的捕获区域内,则对VB 进行捕获,报文生成单元即向车载ATP 发送和实际应答器相同的报文.
图1 VB 工作原理示意图
由于GNSS 信号易在山区、隧道等地方出现信号中断,而里程计在车轮出现空转、滑行和轮径磨损时误差较大,惯性传感器的累计误差会随时间增大,所以不能将它们长期独立起来进行列车定位[14].信息融合充分发挥不同传感器各自的优点,为列车提供准确的位置信息,使VB 能在捕获区域内被捕获[14].VB 信息融合示意图如图2 所示.
图2 中将GNSS 接收机、惯性传感器和里程计提供的位置信息和速度信息进行数据融合,经过滤波后再反馈给惯性传感器和里程计进行误差估计,同时输出信息融合后的位置、速度和姿态.
图2 VB 信息融合示意图
由于定位点的位置误差和速度误差决定了VB能否被捕获到.所以本文将定位点的位置误差和速度误差作为评价指标,姿态误差不作考虑.
Sage-Husa 自适应滤波算法由学者Sage 和Husa于1969 年提出,该算法保证了滤波计算的自适应性,提高了信息融合的准确度和可靠性,进而抑制滤波的发散[15].
系统的状态和量测方程如式(1)~(2)所示:
式中:Xk为状态向量;Zk为量测序列;Φk,k+1为从k到k+1 时刻状态转移矩阵;Hk为量测矩阵;Wk为系统噪声序列;Vk为量测噪声序列.
式中,v(k)、d(k)、a(k) 为k时刻GNSS 和惯性传感器、里程计测量的速度误差、位置误差和加速度误差.
此时系统的状态方程可写为
式中:w(k) 为满足(0,σ2)分布的高斯白噪声;T为GNSS、惯性传感器、里程计的采样时间,三种传感器的采样时间相同.
Wk和Vk相互独立,且期望为零,同时满足
式中:Qk为系统噪声序列方差阵;Rk为测量噪声序列方差阵.
Sage-Husa 自适应滤波算法如式(6)~(11)所示:
状态一步预测方程为
状态估值计算
滤波增益计算
一步预测均方误差方程
估计均方误差
新息序列
将式(11)代入式(7),可得
式中:Pk为误差协方差矩阵;为Xk的估计量;I为单位阵;Kk+1为状态增益阵;Pk+1,k为预测误差方差矩阵;ek+1为量测残差(新息).
为了保证Rk的正定性,常用如式(13)所示迭代公式进行替代,dk的表达式如式(14)所示:
式中:dk为加权系数;b为遗忘因子,取值范围为0.955~0.995.
Sage-Husa 滤波算法中,系统噪声主要由惯性传感器随机误差引起,虽然在对准前已经进行了补偿[16],但是列车在实际运行过程中,其特性和参数仍然在缓慢漂移,量测噪声主要受环境因素的影响不确定性很大[17].
由式(8)~(9) 可知,状态增益阵Kk+1和预测误差方差矩阵Pk+1,k的表达式与新息ek+1无关,使得陈旧数据的作用越来越大,新数据的作用越来越小,导致滤波的精度降低[18],所以需要对Sage-Husa 自适应滤波算法进行改进.
为了增大新近数据的影响,通过在Pk+1,k表达式中引入衰减因子 λk+1来提高滤波的精度.此时一步预测均方误差方程改写为
式中,λk+1为衰减因子(λk+1>1).进一步预测均方误差阵Pk+1,k,表达式中乘以一个大于1 的因子,使得新表达式大于原表达式,根据式(8) 可以得到滤波增益Kk+1变大,从而增加了k时刻的新量测值的权重,优化了滤波效果.
衰减因子 λk+1的表达式如式(16)~(17)所示:
式中,Nk+1、Mk+1表达式如式(18)、式(19)所示:
仿真中设定每2 个VB 之间的距离为2 000 m,共设置23 个VB,列车一直处于变速的运行状态,初始速度0 m/s,仿真时间900 s,列车最高时速300 km/h,行驶里程51 km,车内各传感器具体参数如表1 所示.
表1 各传感器仿真参数表
为了验证本文所述算法的信息融合的性能,选取了Kalman 滤波和Sage-Husa 自适应滤波对定位点的位置误差和速度误差进行对比.
列车运行轨迹及VB 位置如图3 所示,仿真结果如图4~7 所示,表2~3 分别对各滤波算法进行了量化比较.
表2 三种算法位置误差对比 m
图3 列车运行轨迹及VB 位置图
图4 不同滤波下东向定位误差对比图
图5 不同滤波下北向定位误差对比图
图6 不同滤波下东向速度误差对比图
图7 不同滤波下北向速度误差对比图
表3 三种算法速度误差对比 m
由图4~7 的仿真曲线可知,在相同的时间内,本文所提算法得到的位置和速度估计比Kalman 滤波和Sage-Husa 自适应滤波算法得到的位置和速度估计的误差要小,具有更高的精度.而Kalman 滤波有明显的波动,并且其位置误差和速度误差的波动随时间推移呈现出了发散趋势,定位误差较大,无法满足VB 高精度定位的需求,相比Kalman 滤波,Sage-Husa 自适应滤波算法不易引起滤波异常,有效抑制了定位误差的发散,融合精度有了明显的提高,但其定位精度和稳定性不如改进Sage-Husa 自适应滤波算法.
表2~3 的数据分别比较了三种算法位置、速度误差的最大值、最小值和均方差,可以看出本文所提算法的滤波效果优于Kalman 滤波和Sage-Husa 自适应滤波算法,同时均方差较小,数据的波动较小,提高了VB 定位的准确性和可靠性.
针对VB 信息融合采用Kalman 滤波易出现滤波发散的情况,提出了基于改进的Sage-Husa 自适应滤波方法,在Sage-Husa 自适应滤波算法上加入衰减因子提高滤波的精度,并对该方法进行了仿真实验验证,通过对比不同滤波下的位置误差和速度误差,验证了该算法在抑制滤波发散的同时提高了定位的精度,并且使得滤波的过程鲁棒性更高.但由于引入了衰减因子,计算量大大增加,实时性难以保证,下一步应着重于对实时性和滤波精度兼顾的研究.