几种滤波在数据自动平滑处理中的对比分析

2013-07-03 06:06张江辉陈翠华宁全利马丽芳
兵器装备工程学报 2013年4期
关键词:中值协方差卡尔曼滤波

张江辉,陈翠华,宁全利,马丽芳

(解放军陆军 军官学院,合肥 230031)

数据平滑处理是数字信号处理中经常遇到的问题,其目的是消除数据中夹杂的噪声,还原信号固有特征,为目标特征提取和分析奠定良好基础。数据平滑处理一般通过滤波的方法实现。滤波器的构造主要考虑两点:一是滤波窗口,也即处理的临域,理论上,滤波窗口越大,参与滤波运算的统计数据越多,滤波效果越好,但实际上,由于实时处理的需要,滤波窗口通常是一定的;二是滤波算法,均值和中值滤波是数据平滑中较常用的两种算法。本文在阐述上述两种滤波器数据自动平滑处理的基础上,引入了卡尔曼滤波器原理,并通过试验对3 种滤波器在数据自动平滑处理中的性能进行了对比分析。

1 数据自动平滑滤波原理

1.1 均值滤波

均值滤波器是线性平滑滤波器,其原理是通过计算滤波器窗口内数据均值,将当前数据和均值相比较,大于均值的去除,小于等于均值保留。由于均值受数据跳动的影响较大,当滤波窗口内的奇异值较多时,均值就会偏向奇异值,导致滤波错误。

为了实现对数据平滑的自适应处理,并改善均值滤波的效果,对均值滤波器进行了如下改进:计算滤波窗口内数据均值和方差δ,设定阈值区间为-δ+[]δ ,对于落在这个区间的数据,认为是正常数据,否则使用均值代替该值。

式(1)中:N 为参与滤波计算数据个数,xi为原始数据。

改进后的均值滤波算法可表示:

1.2 中值滤波

中值滤波是一种非线性滤波器,其原理是用一个奇数点的滑动窗口,将窗口内各点的中值作为基准,当前值和中值比较差别较大的认为是噪声进行滤除,否则予以保留。如果取窗口点数为一奇数m,它的中值滤波就是从输入数据中抽取m 个数,并将这m 个点的值按其数值大小进行排序,取其序号为中心点的那个数作为滤波输出,中值运算可表示:

式(3)中:xi数据序列,xm为中值,A 为中值滤波窗口,v 为滤波半径,Med 为取中值运算。中值滤波算法可表示:

1.3 卡尔曼滤波

1960 年,匈牙利数学家卡尔曼发表了著名的用递归方法解决离散数据线性滤波问题的论文:《A New Approach to Linear Filtering and Prediction Problems》(线性滤波与预测问题的新方法)。随着计算机技术的进步,卡尔曼滤波器在数字信号处理中得到了广泛应用。

卡尔曼滤波是以最小均方误差为估计的最佳准则,寻求一套递推估计的算法,其基本思想是采用信号与噪声的状态空间模型,利用前一时刻地估计值和现时刻的观测值来更新对状态变量的估计,得到现时刻的估计值。

一个线性动态系统可用线性差分方程组描述:

式(5)中:Xk为n 维向量,表示系统第k 时刻状态;Yk为m 维系统观测向量;Φk,k-1是一个n×n 阶矩阵,它反应了系统从k-1 时刻的状态到第k 时刻状态的变换;Wk表示第k 时刻作用于系统的随机干扰,称为模型噪声,一般假设为高斯白噪声序列,具有已知的零均值和协方差矩阵Qk;Hk为m ×n 阶观测矩阵,表示了状态向量Xk到观测向量Yk的转换;Vk为m 维观测噪声,同样假设其为高斯白噪声序列,具有已知的零均值和协方差矩阵Rk。

经推导(过程略),可得如下卡尔曼滤波递推公式:

式(6)中:Qk为n×n 阶模型噪声Wk的协方差阵;Rk为m ×m 阶观测噪声Vk的协方差阵;Gk为n×m 阶增益矩阵;~Xk为n 维向量,表示第k 时刻经滤波后的估计值;Ck为k 时刻n×n 阶的估计协方差矩阵;Pk+1是k +1 时刻n ×n 阶估计协方差矩阵。

一般情况下,对于一个线性定常系统,Φk,k-1=Φ,Hk=H,即转移矩阵均为常阵;而如果模型噪声Wk和观测噪声Vk都是平稳随机序列,则Qk和Rk也都是常阵。此时,常增益的离散卡尔曼滤波是渐近稳定的。

2 平滑滤波试验

某型制导炮弹出炮口后弹体转速稳定在7 转/s 左右,通过弹载陀螺输出信号可估算出弹体实时旋转角度。理论上由于弹体转速较稳定,相邻两个时刻角度间隔变化幅度很小,如以20 ms 为采样周期,相邻时刻角度间隔约在50°附近变化。但由于噪声信号的影响,测量出的弹体旋转角度变化较剧烈,给实时角度估算带来干扰,需进行平滑滤波处理。

为此,使用均值、中值和卡尔曼滤波器分别对数据进行了处理。这3 种滤波器均为自适应滤波器,能够实现数据自动平滑处理,为满足实时处理的需要,也为比较3 种滤波器性能,试验统一采用1 ×5 的滤波器窗口。

所处理的数据时间长度为26 s,每秒50 个采样数据,共1 300 个数据。其中,均值滤波的结果如图1 所示,中值滤波结果如图2 所示。

图1 均值滤波效果

在卡尔曼滤波中,系统初值设定为50,系统状态向量和观测向量维数均为1,系统当前预测值和前一预测值相等,状态转移矩阵为H =1,观测矩阵Φ =1;模型噪声协方差Q =0.002 5,观测噪声协方差R =0.25,估计误差的协方差P =2.5,卡尔曼滤波结果如图3 所示。

图2 中值滤波效果

图3 卡尔曼滤波效果

由上述试验可以看出,原始数据存在大量的跳跃点,干扰了正确角度的估算。通过采用均值、中值和卡尔曼滤波处理,均实现了数据的实时平滑输出。

3 结束语

均值、中值和卡尔曼滤波均可实现数据的自动平滑处理。从滤波效果上看,均值滤波受噪声干扰影响较明显,特别是噪声点变化剧烈的地方(图1 中1 000 ~1 300 区域),滤波输出的跳跃性较大,中值滤波器和卡尔曼滤波器在效果较好,且卡尔曼滤波输出较中值滤波输出的数据平滑性更好;从算法复杂度来讲,均值滤波和中值滤波算法较简单,运行速度快,卡尔曼滤波由于涉及较多的矩阵运算,算法运行效率较低。实际应用中,应从处理精度、实时性等方面综合考虑,选用合适的滤波器进行数据平滑滤波。

本文主要讨论了均值、中值和卡尔曼滤波在一维数据的平滑处理中的应用,二维或多维数据处理可转化成一维数据进行处理,或参照上述思路处理。

[1]张丽芹,李保平,易娟,邓国卫.基于捷联式图像寻的器的目标识别与跟踪技术[J].弹箭与制导学报,2009(5):28-29.

[2]邢慧,颜景龙,张树江.基于Kalman 滤波的稳像技术研究[J].兵工学报,2007(2):175-176.

[3]王向华,覃征.基于多次卡尔曼滤波的目标自适应跟踪算法与仿真分析[J].系统仿真学报,2008,20(23):6458-6460.

[4]徐士良.C 常用算法程序集[M].第2 版.北京:清华大学出版社,2003.

[5]张江辉,王曙光.弹载图像信息处理技术[M].炮兵学院出版社,2009.

[6]王帅,魏国.卡尔曼滤波在四旋翼飞行器姿态测量中的应用[J].兵工自动化,2011(1):73-74.

[7]王建东,王亚飞,张晶.基于卡尔曼滤波器的运动目标跟踪算法[J].数字通信,2009,36(6):53-57.

猜你喜欢
中值协方差卡尔曼滤波
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
Lagrange中值定理的证明及其应用
脉冲星方位误差估计的两步卡尔曼滤波算法
高效秩-μ更新自动协方差矩阵自适应演化策略
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
基于子集重采样的高维资产组合的构建
Lagrange中值定理的巧妙应用
用于检验散斑协方差矩阵估计性能的白化度评价方法
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
高等数学中拉格朗日中值定理的教学处理