无迹卡尔曼滤波(UKF):非线性系统的高效估计方法

目录

  • 为什么需要无迹卡尔曼滤波,与扩展卡尔曼滤波的区别?
  • 无迹卡尔曼滤波的核心思想与假设条件
  • 算法核心:无迹变换与滤波流程
  • 典型应用场景与优势
  • 下期预告

一、为什么需要无迹卡尔曼滤波,与扩展卡尔曼滤波的区别?

在复杂非线性系统中,扩展卡尔曼滤波(EKF)通过泰勒展开进行线性化近似的方法存在固有缺陷。例如,在无人机大角度机动或机器人高维动力学建模中,非线性函数的高阶项会导致线性化误差显著增大,甚至引发滤波发散。EKF 的雅可比矩阵计算不仅依赖系统可导性,还对初始误差敏感,难以保证全局最优性。

无迹卡尔曼滤波(UKF)的诞生正是为了突破这些限制。它通过无迹变换(Unscented Transformation, UT)直接近似概率分布,而非对函数进行线性化。具体而言,UKF 通过选取一组 sigma 点(确定性采样点)来捕获状态分布的均值和协方差,利用非线性函数直接传播这些点,再通过加权统计得到新的均值和协方差。相较于 EKF,UKF 的核心优势在于:

  • 无需线性化:避免泰勒展开带来的截断误差,适用于强非线性系统;
  • 更高精度:在二阶以内的非线性系统中能精确匹配均值和协方差;
  • 鲁棒性更强:对初始误差和模型不确定性具有更好的适应性。

二、无迹卡尔曼滤波的核心思想与假设条件

(一)核心思想:无迹变换

UKF 的核心是通过无迹变换近似概率分布的传播。对于状态向量 x,首先在当前均值 x ˉ \bar{x} xˉ周围选取 2n+1 个 sigma 点(n 为状态维度),并赋予相应权重。这些点通过非线性函数 f (x) 和 h (x) 直接传播后,再通过加权平均得到新的均值和协方差。这种方法能更准确地保留非线性变换后的分布特性。

(二)假设条件

  • 高斯噪声模型:与 EKF 相同,假设系统噪声和观测噪声服从高斯分布;
  • 局部马尔可夫性:当前状态仅依赖前一状态和控制输入;
  • 状态分布可近似性:通过 sigma 点集能够有效近似状态的概率分布。

三、算法核心:无迹变换与滤波流程

(一)sigma 点选取与权重计算

sigma 点生成:

χ k − 1 ∣ k − 1 ( 0 ) = x ^ k − 1 \chi_{k - 1|k - 1}^{(0)} = \hat{x}_{k - 1} χk1k1(0)=x^k1

χ k − 1 ∣ k − 1 ( i ) = x ^ k − 1 + ( n + λ ) P k − 1 i , i = 1 , … , n \chi_{k - 1|k - 1}^{(i)} = \hat{x}_{k - 1} + \sqrt{(n + \lambda)P_{k - 1}}_i, i = 1, \ldots, n χk1k1(i)=x^k1+(n+λ)Pk1 i,i=1,,n

χ k − 1 ∣ k − 1 ( i ) = x ^ k − 1 − ( n + λ ) P k − 1 i , i = n + 1 , … , 2 n \chi_{k - 1|k - 1}^{(i)} = \hat{x}_{k - 1} - \sqrt{(n + \lambda)P_{k - 1}}_i, i = n + 1, \ldots, 2n χk1k1(i)=x^k1(n+λ)Pk1 i,i=n+1,,2n

其中 λ = α 2 ( n + κ ) − n \lambda = \alpha^2(n + \kappa) - n λ=α2(n+κ)n为缩放参数, α \alpha α控制 sigma 点的扩散程度, κ \kappa κ为辅助参数。

权重分配:

w m ( 0 ) = λ n + λ w_m^{(0)} = \frac{\lambda}{n + \lambda} wm(0)=n+λλ

w c ( 0 ) = λ n + λ + ( 1 − α 2 + β ) w_c^{(0)} = \frac{\lambda}{n + \lambda} + (1 - \alpha^2 + \beta) wc(0)=n+λλ+(1α2+β)

w m ( i ) = w c ( i ) = 1 2 ( n + λ ) , i = 1 , … , 2 n w_m^{(i)} = w_c^{(i)} = \frac{1}{2(n + \lambda)}, i = 1, \ldots, 2n wm(i)=wc(i)=2(n+λ)1,i=1,,2n

β \beta β用于引入关于 x 的先验分布信息(如高斯分布取 2)。

(二)预测阶段

  • 状态预测:

    χ k ∣ k − 1 ( i ) = f ( χ k − 1 ∣ k − 1 ( i ) , u k ) \chi_{k|k - 1}^{(i)} = f(\chi_{k - 1|k - 1}^{(i)}, u_k) χkk1(i)=f(χk1k1(i),uk)

    x ^ k ∣ k − 1 = ∑ i = 0 2 n w m ( i ) χ k ∣ k − 1 ( i ) \hat{x}_{k|k - 1} = \sum_{i = 0}^{2n}w_m^{(i)}\chi_{k|k - 1}^{(i)} x^kk1=i=02nwm(i)χkk1(i)

  • 协方差预测:

    P k ∣ k − 1 = ∑ i = 0 2 n w c ( i ) ( χ k ∣ k − 1 ( i ) − x ^ k ∣ k − 1 ) ( χ k ∣ k − 1 ( i ) − x ^ k ∣ k − 1 ) T + Q k − 1 P_{k|k - 1} = \sum_{i = 0}^{2n}w_c^{(i)}(\chi_{k|k - 1}^{(i)} - \hat{x}_{k|k - 1})(\chi_{k|k - 1}^{(i)} - \hat{x}_{k|k - 1})^T + Q_{k - 1} Pkk1=i=02nwc(i)(χkk1(i)x^kk1)(χkk1(i)x^kk1)T+Qk1

(三)更新阶段

  • 观测预测:

    γ k ∣ k − 1 ( i ) = h ( χ k ∣ k − 1 ( i ) ) \gamma_{k|k - 1}^{(i)} = h(\chi_{k|k - 1}^{(i)}) γkk1(i)=h(χkk1(i))

    z ^ k ∣ k − 1 = ∑ i = 0 2 n w m ( i ) γ k ∣ k − 1 ( i ) \hat{z}_{k|k - 1} = \sum_{i = 0}^{2n}w_m^{(i)}\gamma_{k|k - 1}^{(i)} z^kk1=i=02nwm(i)γkk1(i)

  • 协方差更新:

    P z z = ∑ i = 0 2 n w c ( i ) ( γ k ∣ k − 1 ( i ) − z ^ k ∣ k − 1 ) ( γ k ∣ k − 1 ( i ) − z ^ k ∣ k − 1 ) T + R k P_{zz} = \sum_{i = 0}^{2n}w_c^{(i)}(\gamma_{k|k - 1}^{(i)} - \hat{z}_{k|k - 1})(\gamma_{k|k - 1}^{(i)} - \hat{z}_{k|k - 1})^T + R_k Pzz=i=02nwc(i)(γkk1(i)z^kk1)(γkk1(i)z^kk1)T+Rk

    P x z = ∑ i = 0 2 n w c ( i ) ( χ k ∣ k − 1 ( i ) − x ^ k ∣ k − 1 ) ( γ k ∣ k − 1 ( i ) − z ^ k ∣ k − 1 ) T P_{xz} = \sum_{i = 0}^{2n}w_c^{(i)}(\chi_{k|k - 1}^{(i)} - \hat{x}_{k|k - 1})(\gamma_{k|k - 1}^{(i)} - \hat{z}_{k|k - 1})^T Pxz=i=02nwc(i)(χkk1(i)x^kk1)(γkk1(i)z^kk1)T

  • 卡尔曼增益与状态更新:

    K k = P x z P z z − 1 K_k = P_{xz}P_{zz}^{-1} Kk=PxzPzz1

    x ^ k = x ^ k ∣ k − 1 + K k ( z k − z ^ k ∣ k − 1 ) \hat{x}_k = \hat{x}_{k|k - 1} + K_k(z_k - \hat{z}_{k|k - 1}) x^k=x^kk1+Kk(zkz^kk1)

    P k = P k ∣ k − 1 − K k P z z K k T P_k = P_{k|k - 1} - K_kP_{zz}K_k^T Pk=Pkk1KkPzzKkT

四、典型应用场景与优势

(一)无人机姿态估计

在无人机飞行中,非线性的运动学方程(如四元数姿态更新)和传感器噪声(如陀螺仪漂移)会导致 EKF 估计精度下降。UKF 通过 sigma 点直接传播姿态信息,能够更准确地融合 IMU、磁罗盘和 GPS 数据,实现高动态下的稳定姿态跟踪。

(二)航天器轨道确定

航天器在近地轨道的摄动(如大气阻力、地球扁率)具有强非线性特性。UKF 利用无迹变换处理轨道动力学模型,结合雷达测距数据,可显著提高轨道预测精度,减少地面站的跟踪误差。

(三)生物医学信号处理

在脑电信号(EEG)或心脏运动建模中,非线性系统(如神经元放电模型)的状态估计对治疗决策至关重要。UKF 能够有效捕捉信号的非线性特征,在噪声环境中提取关键生理参数。

下期预告

尽管无迹卡尔曼滤波在非线性估计中表现出色,但其对高斯噪声的依赖和计算复杂度限制了在非高斯环境中的应用。针对这一挑战,下期我们将重点探讨粒子滤波(PF),这一基于蒙特卡洛方法的滤波技术能够:

  • 突破高斯假设:通过随机采样粒子近似后验分布,有效处理非高斯噪声;
  • 适应强非线性:无需线性化或参数化模型,直接通过粒子集传播状态;
  • 解决高维问题:结合序贯重要性采样(SIS)和重采样技术优化计算效率。

我们将深入解析粒子滤波的核心算法,探讨其在以下领域的创新应用:

机器人 SLAM:在动态环境中融合激光雷达与视觉里程计数据;

此外,还将讨论粒子滤波面临的关键挑战:

  • 样本贫化:重采样导致粒子多样性丧失;
  • 计算成本:高维状态下的粒子数量爆炸问题;
  • 实时性优化:通过 Rao-Blackwellization 等方法提升效率。

敬请期待下期专题:“粒子滤波:非高斯环境下的鲁棒状态估计”,探索这一革命性滤波技术如何重塑复杂系统的状态估计范式!

有关ukf的matlab代码见
链接:https://pan.baidu.com/s/1NQlCIgFvDZyiMwKDPuq2pA
提取码:6523

有关卡尔曼滤波matlab代码(免费下载):
https://download.youkuaiyun.com/download/qq_44965657/90564035
https://download.youkuaiyun.com/download/qq_44965657/90564042
https://download.youkuaiyun.com/download/qq_44965657/90564050
https://download.youkuaiyun.com/download/qq_44965657/90564054
https://download.youkuaiyun.com/download/qq_44965657/90564056
https://download.youkuaiyun.com/download/qq_44965657/90564059
https://download.youkuaiyun.com/download/qq_44965657/90564065
https://download.youkuaiyun.com/download/qq_44965657/90564063
https://download.youkuaiyun.com/download/qq_44965657/90564062
https://download.youkuaiyun.com/download/qq_44965657/90564060

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

温文尔雅透你娘

感谢活爹

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

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

打赏作者

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

抵扣说明:

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

余额充值