卡尔曼滤波器的目的与意义何在? - 陈不陈的回答 - 知乎
https://www.zhihu.com/question/41351736/answer/3057034500
这是一个比较通俗易懂的例子,读完之后可以对卡尔曼滤波怎么使用有比较直观的理解。
🧠 一、卡尔曼滤波是什么?
卡尔曼滤波是一种线性最优状态估计算法,在已知系统模型和传感器噪声的前提下,它可以根据预测和观测不断地修正估计值,从而实现对系统状态的最优估计。
适用于:
-
系统是 线性动态系统
-
系统和测量中都包含高斯白噪声
🧩 二、系统模型
卡尔曼滤波假设你有一个如下的离散线性系统:
1. 状态转移模型(预测模型):
2. 观测模型(测量模型):
🔁 三、卡尔曼滤波的两个阶段
卡尔曼滤波每一步都包含两个阶段:
📌 四、核心思想
卡尔曼滤波本质上是将:
-
预测的状态(根据模型)
-
和 测量的状态(带噪声)
进行一个加权平均,其中: -
权重由卡尔曼增益决定;
-
卡尔曼增益反映了对观测和预测的不确定度的信任程度。
🎓 五、简单例子:一维位置跟踪
📚 六、扩展卡尔曼滤波(EKF)和非线性情况
卡尔曼滤波仅适用于 线性系统。若系统是非线性的,使用:
-
EKF(扩展卡尔曼滤波):对非线性函数进行一阶泰勒展开,线性化处理。
-
UKF(无迹卡尔曼滤波):使用采样点逼近分布,不需要导数。
✅ 总结
步骤 | 内容 |
---|---|
初始化 | ![]() |
预测 | 用系统模型预测当前状态与不确定性 |
更新 | 根据观测值校正状态和协方差 |
重复 | 每时刻重复此流程 |