美文网首页深度学习
卡尔曼滤波(3)

卡尔曼滤波(3)

作者: zidea | 来源:发表于2020-09-13 19:13 被阅读0次

状态空间方程
\begin{aligned} X_k = AX_{k-1} + B u_{k-1} + W_{k-1}\\ Z_k = HX_k + V_k \end{aligned}

用动态方程形式来描述系统动态响应,其中W_{k-1}是过程噪声,V_k测量噪声。

  • X_k 是状态变量
  • A 是状态矩阵
  • B 是控制矩阵
  • u_k 是控制
  • W_{k-1} 是过程噪音
    W_{k-1} 是过程噪音,是不可控制的,是过程的一种不确定性的表现。通常这些噪音都是符合正态分布。

p(w) 服从 (0,Q) 分布

  • Q 是方差
  • 0 是期望
    接下来我们来计算方差 Q,在开始计算方差之前,我们简单复习一个概率论关于方差计算公式

VAR(X) = E(X^2) - E^2(X)

Q = E[w,w^T] = E \left[ \begin{bmatrix} w_1\\ w_2 \end{bmatrix} \begin{bmatrix} w_1 & w_2 \end{bmatrix} \right] = \begin{bmatrix} E(w_1)^2 & E(w_1w_2)\\ E(w_2w_1) & E(w_2)^2 \end{bmatrix}

Q = \begin{bmatrix} \sigma w_1^2 & \sigma w_1w_2\\ \sigma w_2w_1 & \sigma w_2^2 \end{bmatrix}

中协方差矩阵可以表示出 w 过程噪声中 w_1w_2 之间的关系。有关如何计算V_k 测量噪声,这里推导过程与 w 类似,就不再和大家一起再推导一次了。

回归头来我们在看这个两个动态方程,首先动态方程中 X_k = AX_{k-1} + B u_{k-1}Z_k = HX_k 是已知是我们估计的或者测量出来,而W_{k-1}V_k 是未知的,我们无法对其进行建模。

\hat{X_k}^- = A\hat{X}_{k-1} + B u_{k-1}

  • 其中 hat 符号表示估计
  • \hat{X_k}^- 中的符号表示先验
  • \hat{X}_{k-1} 也是估计出来的,所以也有一个 hat 符号
    Z_k = HX_k \rightarrow \hat{X}_{k_{MEA}} = H^{-}Z_k
    下面的\hat{X}_{k_{MEA}} 是根据测量值计算出出来的结果。现在我们就会用数据融合来进行处理问题。

\hat{X_k} = \hat{X}^- G(H^-Z_k - \hat{X_k}^-)

\begin{cases} G = 0 & \hat{X}_k = \hat{X_k}^-\\ G = 1 & \hat{X}_k = GH^-Z_k \end{cases}

  • G = 0 就更加相信计算出来的结果
  • G = 1 就等于更加相信测量出来的结果

如果我们让G = K_kH 然后将带入上面公式中就得到
\hat{X_k} = \hat{X}^- + K_k(Z_k - H\hat{X_k}^-)
这里K_k \in [0,H^-]

接下来我们目标就是寻找K_k 来使得\hat{X}_k趋近于其实际值X_k
接下来我们引入误差,用e_k来表示,误差也是服从正态分布,而且 P 为误差的协方差矩阵。
e_k = X_k - \hat{X}_{k}
p(e_k) (0,P)

P = E \left[ e e^T \right] = \begin{bmatrix} \sigma e_1^2 & \sigma e_1 \sigma e_2\\ \sigma e_2 \sigma e_1 & \sigma e_2^2 \end{bmatrix}

当我们的估计值 \hat{X}_k 距离真实 X_k 越小,也就是说明整个方差值最小。方差越小也就是 e 误差的期望为 0,也就是希望tr(P) = \sigma e_1^2 + \sigma e_2^2 越小。也就是等价于其方差越小。

\begin{aligned} P = E\left[ee^T\right] = E \left[ (X_k - \hat{X}_k)(X_k - \hat{X}_k)^T \right] \end{aligned}

因为这里我们要求 K_k 所以将\hat{X_k} = \hat{X}^- + K_k(Z_k - H\hat{X_k}^-)

相关文章

  • 卡尔曼滤波及其无人驾驶应用

    无人驾驶汽车系统感知模块的重要技术——卡尔曼滤波,应用包括:卡尔曼滤波与行人状态估计扩展卡尔曼滤波(EKF)与传感...

  • 卡尔曼滤波(3)

    状态空间方程 用动态方程形式来描述系统动态响应,其中是过程噪声,测量噪声。 是状态变量 A 是状态矩阵 B 是控制...

  • 图文并茂,卡曼滤波

    ​卡尔曼滤波是如何工作? 看图说话! 我务必向大家介绍卡尔曼滤波器(Kalman Filter),因为它之所能, ...

  • iOS-卡尔曼滤波算法

    一:前言 滤波算法 用于过滤掉连续的数据中出现偏差较大的数据 二:卡尔曼滤波算法 <0>卡尔曼滤波的原理请自行百度...

  • 卡尔曼滤波

    把卡尔曼滤波写一下吧,思想很简单,不详细写了,就是根据方差实现的一种最优估计方法。 卡尔曼滤波五个基本的公式 1....

  • 卡尔曼滤波

    卡尔曼公式 先以状态协方差随时间的传播性,得到先验估计(时间更新),再利用测量值和最小二乘估计,得到后验估计(状态...

  • 卡尔曼滤波

    话不多说,我这里先给出我们的系统的模型方程,状态转移方程: 测量方程: 需要说明的是,这里的也可以是随变化的,但是...

  • 卡尔曼滤波

    概述   卡尔曼滤波(Kalman filter)是一种高效率的递归滤波器(自回归滤波器),它能够从一系列的不完全...

  • 卡尔曼滤波

    为什么看卡尔曼滤波 因为想要对变化/趋势进行预测,应用偏向于机械等故障类的预测。也看了不少卡尔曼滤波相关的东西,大...

  • 卡尔曼滤波

    本文是国外博主Bzarg在2015年写的一篇图解。虽然是几年前的文章,但是动态定位、自动导航、时间序列模型、卫星导...

网友评论

    本文标题:卡尔曼滤波(3)

    本文链接:https://www.haomeiwen.com/subject/ouloektx.html