新浪博客

卡尔曼序贯滤波方法与误差分析

2016-04-18 19:18阅读:
来自严老师博客:http://blog.sina.cn/dpool/blog/s/blog_40edfdc90102vhmw.html?vt=4
在卡尔曼滤波组合导航中,如果量测噪声方差阵是严格对角矩阵,则可以改成序贯滤波的处理方式(理论上完全成立,但数值上由计算顺序不同可能会引起一些误差),省去矩阵求逆运算(即简化为标量除法运算,在C语言编程时特别方便),以下是Matlab流程示意: function kf = kfupdatesq(kf, yk, measflag)
% KF sequential filtering for measurement update.
%
% See also kfupdate.
% Copyright(c) 2009-2015, by Gongmin Yan, All rights reserved.
% Northwestern Polytechnical University, Xi An, P.R.China
% 22/02/2015
if measflag~='M', error('kfupdatesq only used for KF measurement update!'); end
Hk = kf.Hk; Rk = kf.Rk;
for k=1:length(yk)
kf.Hk = Hk(k,:); kf.Rk = Rk(k,k);
kf = kfupdate(kf, yk(k), '
M');
end
kf.Hk = Hk; kf.Rk = Rk;
针对一组INS/GPS组合导航实际数据,建立速度和位置共6维量测,Kalman滤波处理结果如下图所示(左边三幅小图分别为导航轨迹姿态角、速度和位 置变化量;右边小图是序贯量测更新与普通量测更新之间的差别:失准角差别、速度差别和位置差别),由图可见两种更新算法的差别非常小,完全可忽略不计。 卡尔曼序贯滤波方法与误差分析

我的更多文章

下载客户端阅读体验更佳

APP专享