目录
- 本系列文章对读者的知识储备要求:
- 本系列文章涉及内容:
- 本系列文章参考来源:
本系列文章对读者的知识储备要求:
- 【卡尔曼滤波理论推导与实践】系列文章的知识储备要求,能够自行推导出标准卡尔曼滤波
- 知道什么是泰勒展开、二元函数泰勒展开
- 需要事先了解一下雅可比矩阵(多输出对多输入的求导)
本系列文章涉及内容:
- 扩展卡尔曼滤波公式从标准卡尔曼滤波基础开始充分完整的推导。
- 用C语言在一维数据(随机生成的数据和电机速度)上实践卡尔曼滤波算法。
本系列文章参考来源:
- DR_CAN的 卡尔曼滤波器
扩展卡尔曼滤波,【扩展】是指在标准卡尔曼滤波基础上扩展算法而来。标准卡尔曼滤波是建立在二阶弹簧阻尼质量块系统上的线性模型,最明显的是状态转移方程和测量方程是线性的。在【卡尔曼滤波理论推导与实践】中提到过:
将系统模型笼统地建模为弹簧阻尼质量块系统,这是不准确的;很多场景测量模型不是线性倍数关系,在那些场景下是不准确的。
对于非线性系统,标准卡尔曼滤波就不合适了,比如状态转移方程为以下非线性方程的系统:
{ z k 模 ⃗ = 2 ∗ z k − 1 模 ⃗ ∗ s i n ( z k − 1 模 ⃗ ) y k 测 ⃗ = z k 测 ⃗ ∗ z k 测 ⃗ \begin{cases}\vec{z_{k模}}=2*\vec{z_{k-1模}}*sin(\vec{z_{k-1模}})\\\vec{y_{k测}}=\vec{z_{k测}}*\sqrt{\vec{z_{k测}}}\end{cases} {zk模=2∗zk−1模∗sin(zk−1模)yk测=zk测∗zk测
扩展卡尔曼滤波就是为了解决这类非线性问题的。