当前位置:网站首页>【B站UP DR_CAN学习笔记】Kalman滤波1

【B站UP DR_CAN学习笔记】Kalman滤波1

2022-06-27 04:08:00 明天已在HiaHia

最优化递归数字处理算法

当我们在描述一个系统时,不确定性主要体现在三个方面:

(1)不存在完美的数学模型

(2)系统的扰动不可控,也很难建模

(3)测量传感器存在误差

估计真实结果,最自然的方法是多次测量取平均值。

\hat{x}_k= \frac{1}{k}(z_1+z_2+...+z_k))

\hat{x}_k= \frac{1}{k} (z_1+z_2+...+z_{k-1})+\frac{1}{k}z_k

\hat{x}_k= \frac{k-1}{k} {\color{Red} \frac{1}{k-1} (z_1+z_2+...+z_{k-1})}+\frac{1}{k}z_k

\hat{x}_k = \frac{k-1}{k} \hat{x}_{k-1} +\frac{1}{k}z_k

\hat{x}_k = \hat{x}_{k-1} + {\color{Red} \frac{1}{k}}(z_k-\hat{x}_{k-1})

综述,当k\rightarrow \infty时,\frac{1}{k}\rightarrow 0\hat{x}_k \rightarrow \hat{x}_{k-1},再多的测量已不再重要。

K_k=\frac{1}{k},则

\hat{x}_k = \hat{x}_{k-1} + {\color{Red} K_k}(z_k-\hat{x}_{k-1})

即当前的估计值=上一次的估计值+系数×(当前的测量值-上一次的估计值)

{\color{Red} K_k}即为卡尔曼增益。

小结:只需要当前的测量值和上一次的估计值,不需要更早的数据。

如果假设估计误差为e_{EST},测量误差为e_{MEA},则

K_k=\frac{​{e_{EST}}_{k-1}}{​{e_{EST}}_{k-1}+{e_{MEA}}_k}

当估计误差远大于测量误差时,卡尔曼增益为1,估计值为测量值;

当测量误差远大于估计过程时,卡尔曼增益为0,估计值为估计值。

方法分为三步:

步骤(1)计算卡尔曼增益

{\color{Red} K_k}=\frac{​{e_{EST}}_{k-1}}{​{e_{EST}}_{k-1}+{e_{MEA}}_k}

步骤(2)更新估计值

\hat{x}_k = \hat{x}_{k-1} + {\color{Red} K_k}(z_k-\hat{x}_{k-1})

步骤(3)更新估计误差

{e_{EST}}_k={\color{Red} (1-K_k)}{e_{EST}}_{k-1}

小结:测量值的误差是固定的,估计值的误差是根据测量误差逐步迭代更新的。

原网站

版权声明
本文为[明天已在HiaHia]所创,转载请带上原文链接,感谢
https://blog.csdn.net/bear_miao/article/details/125458317