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

卡尔曼滤波(1)

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

    Optimal Recursive Data Processing Algorithm(最优化递归数字处理算法)
    卡尔曼滤波器应用

    • 导航
      卡尔曼的应用是因为我们生活中存在大量不确定性,
    • 不存在完美的数学模型
    • 系统的扰动不可控,也很难测量
    • 测量传感器本身存在误差

    z_k 表示测量结果,k 表示第 k 的测量。
    \begin{aligned} z_1 = 50.1mm\\ z_2 = 50.4mm\\ z_3 = 50.2mm \end{aligned}

    \hat{x}_k = \frac{1}{k}(z_1,z_2,\cdots,z_k)

    \begin{aligned} \hat{x}_k = \frac{1}{k}(z_1,z_2,\cdots,z_k) \\ = \frac{1}{k}(z_1,z_2,\cdots,z_{k-1}) + \frac{1}{k}z_k \\ = \frac{1}{k}\frac{k-1}{k-1}(z_1,z_2,\cdots,z_{k-1}) + \frac{1}{k}z_k \\ = \frac{k-1}{k} \hat{x}_{k-1} + \frac{1}{k}z_k \\ = \hat{x}_{k-1} - \frac{1}{k}\hat{x}_{k-1} + \frac{1}{k}z_k\\ = \hat{x}_{k-1} + \frac{1}{k}(z_k - \hat{x}_{k-1}) \end{aligned}

    • 随着k不断增加,\frac{1}{k} 逐渐趋近于 0 ,\hat{x}_k 也就是逐渐趋近于\hat{x}_{k-1},也就是随着 k 增加,测量的结果也就不再重要了。关于这个结论我们解释一下,就是随着测量次数增加,我们对估计值已经很有信心,这时候测量值也就显得不那么重要。
    • k 较小时候,z_k 起的作用就比较大。

    \begin{aligned} K_k = \frac{1}{k} \\ \hat{x}_{k-1} + K_k(z_k - \hat{x}_{k-1}) \end{aligned}

    就是当前的估计值 = 上一次的估计值 + 系数 \times (当前测量值 - 上一次估计值)
    这里的 K_k(Kalman Gain) 卡尔曼增益,也叫做卡尔曼滤波。从公式来看 x_k 是于上一次的x_{k-1} 有关,这就是一种递归的思想。

    我们先引入估计误差e_{EST} 这里 EST 表示估计,而 e 表示误差,然后引入一个测量误差e_{MEA} 其中 MEA 表示测量 e 同样在这里也表示误差。

    K_k = \frac{e_{EST_{k-1}}}{e_{EST_{k-1}} + e_{MEA_k}}

    • 在 k 时刻情况 e_{EST_{k-1}} \gg e_{MEA_k} \, K_k \rightarrow 1 \, \hat{x}_k = \hat{x}_{k-1} + z_k - \hat{x}_{k-1} = z_k
    • 在 k 时刻情况 e_{EST_{k-1}} \ll e_{MEA_k} \, K_k \rightarrow 0 \, \hat{x}_k = \hat{x}_{k-1}

    卡尔曼滤波器解决问题的步骤

    卡尔曼滤波器解决问题步骤,

    • 计算 Kalman Gain\,K_k = \frac{e_{EST_{k-1}}}{e_{EST_{k-1}}+ e_{MEA_k}}
    • 计算 \hat{x}_k = \hat{x}_{k-1} + K_k(z_k - \hat{x}_{k-1})
    • 更新 e_{EST_k} = (1 - K_k)e_{EST_{k-1}}

    要测量的对象实际长度为x = 50mm 而给出估计值为\hat{x}_0 = 40 mm,给出估计误差为e_{EST_0} = 5mm,测量值为z_1 = 51mm 测量误差e_{MEA_k} = 3mm

    相关文章

      网友评论

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

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