低成本MEMS INS系统 + GNSS组合导航序贯滤波MATLAB仿真

低成本MEMS INS系统 + GNSS组合导航序贯滤波MATLAB仿真

对于标准Kalman滤波,其中增益计算式涉及矩阵的求逆运算,当量测维数较高时,计算量很大。序贯滤波(sequential Kalman filter)是一种将高维数量测更新降低为多个低维数量测更新的方法,能有效地降低矩阵的求逆计算量。

序贯滤波与kalman滤波最大的区别在于,量测更新的过程:
滤波系统的随机状态空间模型为:
在这里插入图片描述
但是,这里假设在K时刻量测方程可以分解成如下N组:
在这里插入图片描述
且量测噪声之间互不相关,这时量测噪声方差阵可写成分块对角阵形式,即:
在这里插入图片描述
序贯滤波的流程框图如下图所示:
在这里插入图片描述
其中,量测更新过程分为N次的迭代更新,最终使得 X k ( N ) = X k X^{(N)}_k=X_k Xk(N)=Xk P k ( N ) = P k P^{(N)}_k=P_k Pk(N)=Pk
在这里插入图片描述
在这里插入图片描述
编写量测更新程序具体如下:

        n=length(Zk);
        for k=1:n
            Rk0=kf.Rk(k,k);Zk0=Zk(k);Hk0=kf.Hk(k,:);
            kf.PXZkk_1 = kf.Pkk_1*Hk0';
            kf.PZkk_1 = Hk0*kf.PXZkk_1 + Rk0;
            kf.Kk = kf.PXZkk_1/kf.PZkk_1;
            kf.Xk = kf.Xkk_1 + kf.Kk*(Zk0-Hk0*kf.Xkk_1);
%             kf.Pk = kf.Pkk_1 - kf.Kk*kf.PZkk_1*kf.Kk';
            kf.Pk = kf.Pkk_1 - kf.Kk*Hk0*kf.Pkk_1;
            kf.Xkk_1=kf.Xk;
            kf.Pkk_1=kf.Pk;
        end

仿真结果:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

完整的代码见:序贯滤波(sequential Kalman filter)+ MATLAB程序(简化版sins与gnss融合)

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值