APP下载

卡尔曼滤波在机车速度信号处理中的应用

2020-01-19罗永升

商品与质量 2019年33期
关键词:均方卡尔曼滤波机车

罗永升

湖南中车时代通信信号有限公司 湖南长沙 410100

在机车的安全控制系统中,机车运行速度是整个系统中至关重要的信号之一。通常,机车速度通过速度传感器被转换为脉冲信号,计算该脉冲信号的频率值即可获得相对应的速度值。然而,在传感器的转换过程中,会存在随机的转换误差;在采集脉冲信号并计算成速度值的过程中,也会存在精度误差和舍入误差。这些误差都将成为叠加的白噪声,使得安全控制系统所获取的速度值与真实值之间存在一定的偏差,给行车安全带来不利影响。同时,因机车运行环境的影响,速度传感器可能会检测并输出瞬间的尖峰干扰;脉冲形式的速度信号在电磁环境的传输过程中也会引入尖峰干扰。这种突发干扰给速度信号的计算带来了很大的量化误差,必须进行预处理才能作为行车控制的依据。

为了降低随机噪声的影响并抑制突发干扰对速度信号的污染,需要利用随机过程的统计特性,对速度信号进行自适应滤波[1]。卡尔曼滤波正是基于以最小均方误差为准则的一种线性滤波,可根据观测信号调整滤波增益,使估计速度在统计意义上最好地逼近真实速度。

1 机车速度信号处理的数学模型

如果对速度信号的采样周期足够短,取一阶近似,可以认为在一个采样周期内,机车做匀加速直线运动,但要考虑随机加速度的影响。

建立观测方程如下

其中C是观测矩阵,在本数学模型中

2 卡尔曼滤波原理介绍

卡尔曼滤波是解决以最小均方误差为准则的最佳线性滤波问题,该方法最大的优点是可用于对非平稳随机过程进行处理,并且利用状态方程和递推方法进行估计[2]。在数字信号处理领域,采用离散卡尔曼滤波解决离散时间系统状态矢量的递推估计问题。

2.1 基本原理

在对机车速度信号的处理中,已知离散的状态方程和观测方程分别如式(1)和式(2)所示,这种状态估计就表现为根据k时刻的估计结果的一个估计,所得的状态估计矢量记为,估计的均方误差为

用1kP+表示误差协方差矩阵

2.2 线性估计模型

根据卡尔曼滤波的基本原理可知, 时刻的最优线性估计应该是k时刻估计量

其中1kG+是设计选择的卡尔曼滤波增益矩阵,递归式(3)就对应于离散卡尔曼滤波器。只要计算出最优卡尔曼滤波增益,就可以获得使均方误差最小的最优线性递归估计。

2.3 递归计算

由于卡尔曼滤波采用递归计算的方法,需要确定 k = 0 时刻的初始化问题[3]。由于初始值是未知的,在没有 k = 0 时刻的观测数据时,可以选择初始状态估计为

选择初始误差协方差阵为

结合已知条件和输入输出关系,将离散卡尔曼滤波的递归算法进行总结,如表1所示。

3 计算机仿真

在基于MATLAB环境的计算机仿真中,速度信号的采样周期为50ms。

3.1 对随机噪声的滤波仿真

观测数据中叠加的高斯白噪声方差为0.9,针对随机噪声干扰的仿真结果如图1所示,其中方形点(“□”)表示叠加了噪声的观测数据,星形点(“*”)为滤波后的估计值,平滑线表示用于参考的真实值。

表1

图1 叠加随机噪声的仿真图

由图1可以看出,滤波后的估计值是真实速度值的无偏估计,且均方误差明显小于观测量的误差。通过叠加统计独立的随机噪声并进行多次仿真,计算出经过卡尔曼滤波以后,估计值的噪声均方误差如表2所示。

表2 噪声均方误差表

3.2 对突发干扰的滤波仿真

在本仿真中,将突发干扰模拟为单采样点的尖峰干扰,突变值为36 m/s(130km/h),且分为正向突变和负向突变。针对突发干扰的仿真结果如图2所示,其中方形点(“□”)表示叠加了噪声的观测数据,星形点(“*”)为滤波后的估计值,平滑线表示用于参考的真实值。

由图2可知,卡尔曼滤波能有效的抑制尖峰干扰。并且调整加速度的扰动均方误差,可以使滤波抑制后加速度的变化值与机车运行时加速度的物理极值相匹配。

4 算法可用性分析

4.1 计算量分析

在机车速度信号的卡尔曼滤波计算过程中,通过计算方法的调整,可以降低计算量。当确定数学模型后,状态转移矩阵A、观测矩阵C得以确定且为固定值;观测噪声的方差是由整个机车的安全控制系统决定的,也为常数;加速度的扰动方差根据机车的物理加速度极值可设定为常数。因此,卡尔曼滤波的增益矩阵Gk、误差协方差矩阵Pk与观测数据无关,且随着递推运算次数的增加,Gk和Pk逐渐趋于稳定值,从而这两个矩阵可以离线计算并存储在固定介质中,减少了实时在线计算量,提高了实时处理能力。

离散卡尔曼滤波的状态估计采用递推估计方法,数据存储量少,特别是避免了高阶矩阵求逆的问题,提高了运算效率。在针对机车速度信号的处理中,如果机车的运行距离不依赖于估计的速度值而是利用单独的方法进行计算,则可以将该数学模型设定为只包含速度和加速度两个状态的估计模型,从而所有的矩阵运算从三维降低到二维,进一步降低计算量,使算法的可用性得到提高。

图2 匀速阶段的突发干扰仿真图

4.2 算法实现方案

速度信号为脉冲信号,需要专门的数字电路或集成模块进行信号的采集,主要的方式有两种:利用可编程逻辑器件(CPLD、FPGA等)或CPU自带的脉冲处理模块获取离散数据,再分别进行硬件解析、软件处理和表决,以实现对速度信号的安全计算。

5 结语

本文通过搭建机车运行的状态方程和基于加性高斯白噪声的速度值观测方程,利用离散卡尔曼滤波算法估计机车的运行速度。该滤波算法以递推方式进行线性估计,并能得到最小均方误差的速度信号估计值。在实际应用中,卡尔曼滤波能很大程度的降低高斯白噪声带来的随机影响,且能有效的抑制突发干扰,是确保机车运行中速度安全和距离安全的重要手段之一;该方法的计算量小,实现方式简单,适合在机车的安全控制系统中推广使用。

猜你喜欢

均方卡尔曼滤波机车
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
高斯白噪声激励下微悬臂梁的瞬态均方响应研究
幂分布的有效估计*
构造Daubechies小波的一些注记
脉冲星方位误差估计的两步卡尔曼滤波算法
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
“周恩来号”机车连续40年投入春运
DF8BI内燃机车整车称重调簧工艺适用条件研究
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
机车英雄