朱文超
一种限定记忆的自适应扩展Kalman滤波器
朱文超
(中国电子科技集团第三十八研究所,安徽,合肥 230041)
为解决扩展卡尔曼滤波器(EKF)鲁棒性差,且无法实时精确跟踪系统突变状态的问题,研究一种基于限定记忆滤波的自适应EKF算法。算法将EKF与限定记忆滤波器相融合,减小旧量测数据对滤波效果的影响,提高估计精度;引入自适应因子与渐消因子,通过实时调节新旧滤波增益阵以及预测状态值,精确地跟踪系统突变状态。仿真实例表明,强跟踪算法与经典EKF算法相比,自适应EKF算法鲁棒性好,滤波精度高,能够有效地跟踪系统突变状态。
扩展卡尔曼滤波;限定记忆滤波;旧量测数据;自适应算法;系统突变状态
Kalman滤波器是一种基于最小均方误差原则的贝叶斯估计算法,可以实时有效地处理线性高斯滤波问题,广泛地应用于传感器测量噪声消除、航空航海系统状态跟踪等领域[1]。其核心思想是当系统观测值更新时,利用滤波增益调整先验估计与测量残差之间的权重比,获取当前信号的最优估计值[2]。Kalman滤波器以线性状态空间模型为基石,但实际应用过程中,线性高斯假设条件较难满足,若将Kalman滤波器用于处理非线性系统问题,其跟踪性能会严重下降。为此,国内外研究人员引入扩展Kalman滤波(EKF)技术[3-5],处理非线性系统估计问题。然而,EKF采用的是高阶状态方程线性化的策略,其鲁棒性较差,当状态模型不精确或系统状态发生突变时,容易出现发散现象。
为了提高EKF的鲁棒性,学者们从不同的角度出发,设计了大量改进EKF算法。其中用途较为广泛的是强跟踪EKF滤波器。文献[6-7]借鉴强跟踪Kalman滤波思想,通过引入单重时变渐消因子,调整增益矩阵,实现对突变系统状态的实时跟踪。文献[8-9]设计了改进的强跟踪滤波器,通过多重次优渐消因子矩阵实现对老数据的渐消,增强算法跟踪突变状态的能力。文献[10]重新定义了强跟踪滤波器中测量残差序列的取值规则,利用不同的加权系数突出新进信息的作用。文献[11]将强跟踪滤波器与经典Kalman滤波器相结合,给出滤波器发散或收敛的判据,保证估计精度与滤波速率。上述文献中呈现的强跟踪滤波器从不同程度上提高了EKF的跟踪性能,但它们均忽视了旧测量数据对状态估计的影响,仅仅用渐消因子调整预测方差阵,这显然是不够的。系统状态突变后,实时更新的滤波增益虽然能够调整新测量数据的权重,但旧测量数据仍隐含在先验估计中。先验估计的不精确将导致系统趋于稳态时间过长,估计精度降低,故消除突变前旧测量数据的影响显得尤为重要。
针对以上问题,本文将限定记忆思想融入强跟踪滤波器中,研究一种具有限定记忆功能的自适应EKF滤波算法。一方面利用限定记忆滤波器减小旧测量数据对系统状态估计的影响;另一方面通过激活自适应因子与渐消因子,采用调整先验状态在最优估计中权重的策略,实时有效地跟踪系统突变状态。
限定记忆滤波只利用离当前时刻最近的前-1个观测值计算最优估计值,完全截断第-1个观测值之前的旧数据对滤波值的影响。根据先验知识确定记忆长度,保证测量数据的实时性。将限定记忆滤波和EKF算法相融合,消除旧观测数据产生的累积误差,进而推导出限定记忆扩展Kalman滤波公式:
系统状态一步预测:
一步预测误差方差阵:
滤波增益矩阵:
时刻综合误差:
残差序列:
系统最优估计:
后验误差方差阵:
2.1 强跟踪滤波算法
传统的EKF是一种开环滤波器,当系统到达稳态时,增益K趋向于稳定。若此时系统发生突变,限定记忆EKF将失去对系统的跟踪能力。为了避免这种现象出现,试利用强跟踪算法(STF)[12],引入渐消因子,实时调整一步预测误差方差阵和滤波增益。修改式(2)为:
根据STF在线实时调整增益矩阵的正交性原理[13],构建残差序列正交方程:
3.2 限定记忆自适应EKF算法
根据正交方程(10)、(11),限定记忆EKF算法并存两个滤波增益矩阵和渐消因子,当误差协方差矩阵发生变化时,滤波增益阵,变化趋势相同。但不精确的反转移矩阵可能导致旧量测值不能完全转化为新息量测值,最终影响滤波精度。
准确跟踪系统突变状态,关键在于实时地调整新旧残差序列的权重,。为了避免出现滤波发散现象,提高滤波精度,应突出新息序列增益阵,以为主渐消因子,并用多重自适应调节因子调节旧残差序列增益阵:
其中:待定因子
Step 4:由(14)式和(16)~(19)式求出自适应调节因子,由(3)式分别求出新旧滤波增益阵,。
Step 5:结合上述结果,利用(6)式求出系统最优估计,转向第二步,继续循环。
3.1 连续阶跃信号
本节以普通二阶系统为研究对象,分析AEKF的滤波效果,设系统状态方程为:
将(21)式代入(20)式,将控制项归为噪声项,得到非线性函数一阶线性化后的系统状态方程:
上述方程显示的状态时域曲线可以近似为阶跃信号曲线,如图1所示。当系统控制项发生突变时(方程中表现为噪声项突变),系统状态将产生跳变,则突变状态曲线将化为具有个单位跃变量的连续阶跃信号,具体函数形式如图2所示。本节实例中,假设信号分别在初始时刻和第47时刻发生跃变,第一跃变量2与第二跃变量8象征着两个不同的系统真实状态,继而将噪声信号加载到连续阶跃信号中(图3)。
3.2 连续阶跃信号AEKF滤波实例
同上节假设的情况一样,假设连续阶跃信号从第47时刻发生突变,从追踪突变状态的角度来验证强跟踪算法(Strong Tracking Filter,STF)、经典Kalman滤波算法(EKF)以及限定记忆自适应EKF算法(AEKF)的性能,根据先验信息,设置限定记忆长度为15位,遗忘因子=0.95,三种算法的跟踪效果及性能评价如图4~图6以及表1所示。
在系统状态未突变前,STF算法的滤波效果与EKF算法相同,由于记忆长度的限制,当滤波过程迭代到第16时刻时,AEKF算法的精度高于其余两种算法。系统状态在第47时刻发生突变,EKF算法始终采用旧滤波增益进行滤噪,故其逐渐偏离真实状态,最终导致滤波发散,后验误差无限增大(见图7)。由于渐消因子的持续激活,AEKF和STF可以成功地跟踪系统突变状态,图6显示了突变后两者的跟踪效果。可以看出,在滤波后期,由于大量新息测量值的涌入,导致AEKF算法的精度逐渐高于STF,并且能更快地趋于系统稳态。
三种算法相关系数的变化趋势如图7~图10所示。EKF算法的滤波增益从第9时刻开始就不曾改变,STF算法的滤波增益和渐消因子均在47时刻发生突变,并在滤波后期逐渐趋于稳定。渐消因子和自适应因子实时在线调节先验误差和旧滤波增益,使AEKF能在系统突变以及获取足够的测量值后具有较高的跟踪精度。从表1跟踪精度数据中,不难得知,与STF与EKF相比,AEKF在状态突变前后均具有较好的跟踪效果,尤其在突变后期,AEKF的精度较STF提升了20.32%。
图1 单位阶跃信号
图2 连续阶跃信号
图3 加噪连续阶跃信号
图4 未突变前三种算法跟踪效果
图5 三种算法全区域跟踪效果
图6 突变后算法跟踪效果
图7 三种算法后验误差评价
图8 三种算法相关滤波增益
图9 AEKF渐消因子
图10 AEKF自适应因子
表1 三种算法性能评价表
一阶近似扩展卡尔曼滤波通过对非线性状态的泰勒展开式进行一阶线性化截断,将非线性滤波问题转化为线性Kalman滤波,但其鲁棒性较差,当系统模型不准确时,容易出现发散现象。针对这一问题,设计了一种限定记忆自适应EKF滤波器,借鉴限定记忆思想减小旧测量值的影响,通过自适应调节因子与渐消因子激活突变状态下的先验误差,从预测状态,滤波增益及残差序列三方面出发,实时在线调整先验估计的权重,获取系统最优估计。仿真实例表明:自适应EKF滤波算法可以有效地跟踪系统突变状态,当量测次数大于记忆长度时,其滤波精度高于强跟踪滤波,在系统突变前后,可以更快地趋向于稳态。
[1] Rigatos G G. Extended Kalman and Particle Filtering for sensor fusion in motion control of mobile robots[J]. Mathematics and computers in simulation, 2010, 81(3): 590-607.
[2] Bijker J, Steyn W. Kalman filter configurations for a low-cost loosely integrated inertial navigation system on an airship[J]. Control Engineering Practice, 2008, 16(12): 1509-1518.
[3] Rigatos G G. Nonlinear Kalman Filters and Particle Filters for integrated navigation of unmanned aerial vehicles[J]. Robotics and Autonomous Systems, 2012, 60(7): 978-995.
[4] 陆可. 基于强跟踪滤波算法的异步电机参数自适应无速度传感器控制[J]. 电机与控制应用, 2011,38(5): 16-21.
[5] Rigatos G G. Extended Kalman and Particle Filtering for sensor fusion in motion control of mobile robots[J]. Mathematics and computers in simulation, 2010, 81(3): 590-607.
[6] Wenzel T A, Burnham K J, Blundell M V. Dual extended Kalman filter for vehicle state and parameter estimation[J]. Vehicle System Dynamics,2006, 44(2): 153-171.
[7] 宗长富,胡丹. 基于扩展Kalman滤波的汽车行驶状态估计[J]. 吉林大学学报:工学版,2009,39(1):7-9.
[8] 童春霞,张天桥. 强跟踪滤波理论在非线性飞控中的应用[J].计算机仿真,2004,21(8):17-19.
[9] 周聪,肖建. 改进强跟踪滤波算法及其在汽车状态估计中的应用[J].自动化学报,2012,38(9):1521-1527.
[10] 赵学梅,陈恳,李冬. 强跟踪卡尔曼滤波在视频目标跟踪中的应用[J].计算机工程与应用,2011,47(11): 128-132.
[11] 刘华普,孔金生,董文丽. 改进的强跟踪器自适应滤波信息融合方法[J].传感器与仪器仪表,2007,23(7): 141-143.
[12] 张剑锋,曾国强. 扩展卡尔曼粒子滤波在编队卫星相对轨道确定中的应用[J]. 航天控制,2010,28(4):40-43.
[13] 文成林,陈志国,周东华. 基于强跟踪滤波器的多传感器非线性动态系统状态与参数联合估计[J].电子学报,2002,30(11):1715-1717.
[14] 付梦印,邓志红,张继伟.Kalman 滤波理论及其在导航系统中的应用[M].北京:科学出版社,2003.
ADAPTIVE EXTENDED KALMAN FILTERING BASED ON LIMIT MEMORY ALGORITHM
ZHU Wen-chao
(The 38thresearch institute of China electronics technology group corporation, Hefei, Anhui 230041, China)
In order to solve the problem that Extended Kalman filtering (EKF) cannot tracking mutant system state accuracy and improve the robustness of the filtering. A new adaptive Kalman filtering (AEKF) based on limited memory has been proposed. This algorithm combines EKF with Limit memory filtering that minimizes the influence of the old measurements. Forgetting factor and weakening factor can track mutant state accuracy by the technology of dynamically adjusting the weight of state prediction and Kalman gains in the filter estimation. The results of simulation experiments demonstrate that in comparison with Strong Tracking Filtering and Extended Kalman Filtering, AEKF provides higher estimated accuracy and better .robustness to track mutant state.
extended Kalman filtering; limit memory filtering; old measurements; adaptive filtering; mutant system state
1674-8085(2015)04-0049-06
TP391
A
10.3969/j.issn.1674-8085.2015.04.009
2015-03-01;修改日期:2015-04-06
朱文超(1989-),男,安徽合肥人,助理工程师,硕士,主要从事雷达伺服控制、雷达信号处理研究(E-mail: zhuwenchao5102951@126.com).