【组合导航简化代码】GNSS/SINS滤波代码例程,输出为经纬高,便于学习与理解

在这里插入图片描述

代码实现:GNSS/SINS组合导航系统的卡尔曼滤波仿真,用于估计载体的位置(经纬高)、速度和姿态角。

本例程通过高频 SINS 机械编排与低频 GNSS 校正相结合,实现对平台经纬度、海拔、速度和姿态的连续估计。

程序介绍

  1. 初始化

    • 设定采样间隔 Δ t \Delta t Δt、仿真时长、地球模型参数(长半轴 a a a、偏心率 e e e、自转角速度 ω e \omega_e ωe)。
    • 初始状态向量包含:
        [ φ , λ , h , v E , v N , v U , ϕ , θ , ψ , b g , b a ] T \,[\varphi,\lambda,h,v_E,v_N,v_U,\phi,\theta,\psi,\mathbf{b}_g,\mathbf{b}_a]^T [φ,λ,h,vE,vN,vU,ϕ,θ,ψ,bg,ba]T
      分别为经纬度、高程、东北天速度、横滚俯仰偏航和 IMU 偏置。
  2. SINS机械编排预测

    • 姿态更新(简化积分):

      ϕ k + 1 = ϕ k + ( ω meas − ω n )   Δ t . \boldsymbol{\phi}_{k+1} = \boldsymbol{\phi}_k + \bigl(\boldsymbol{\omega}_\text{meas}-\boldsymbol{\omega}_{n}\bigr)\,\Delta t. ϕk+1=ϕk+(ωmeasωn)Δt.

    • 速度更新(导航系积分):

      v k + 1 = v k + ( C b n   f meas + g )   Δ t . \mathbf{v}_{k+1} = \mathbf{v}_k + \bigl(\mathbf{C}_{b}^{n}\,\mathbf{f}_\text{meas} + \mathbf{g}\bigr)\,\Delta t. vk+1=vk+(Cbnfmeas+g)Δt.

    • 位置更新(曲率投影):

      φ k + 1 = φ k + v N R M + h   Δ t , λ k + 1 = λ k + v E ( R N + h ) cos ⁡ φ   Δ t . \varphi_{k+1} = \varphi_k + \frac{v_N}{R_M+h}\,\Delta t,\quad \lambda_{k+1} = \lambda_k + \frac{v_E}{(R_N+h)\cos\varphi}\,\Delta t. φk+1=φk+RM+hvNΔt,λk+1=λk+(RN+h)cosφvEΔt.

  3. 卡尔曼滤波融合

    • 预测

      x ^ k − = f ( x ^ k − 1 ) , P k − = F   P k − 1   F T + Q . \hat{\mathbf{x}}^-_k = f\bigl(\hat{\mathbf{x}}_{k-1}\bigr),\quad P^-_k = F\,P_{k-1}\,F^T + Q. x^k=f(x^k1),Pk=FPk1FT+Q.

    • 更新(每秒一次 GNSS):

      K = P k − H T   ( H   P k − H T + R ) − 1 , x ^ k = x ^ k − + K   ( z − H   x ^ k − ) . K = P^-_k H^T\,(H\,P^-_k H^T + R)^{-1},\quad \hat{\mathbf{x}}_k = \hat{\mathbf{x}}^-_k + K\,(z - H\,\hat{\mathbf{x}}^-_k). K=PkHT(HPkHT+R)1,x^k=x^k+K(zHx^k).

运行结果

  • 用圆周运动叠加高度波动模拟真实轨迹,生成对应 IMU/GNSS 观测。
  • 保存并绘制经纬度、高度、速度和姿态随时间的变化,以及二维/三维轨迹。

三轴状态值曲线

在这里插入图片描述

角度和速度曲线

在这里插入图片描述

二维轨迹曲线(经度和纬度)

在这里插入图片描述

三维轨迹曲线

在这里插入图片描述
完整代码:

如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MATLAB卡尔曼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值