最初的卡尔曼滤波用于解决离散系统的滤波问题,然而工程中常遇到的滤波问题是连续系统产生的滤波问题。
卡尔曼滤波器具有如下形式的离散的状态方程:
Xk+1=Ψk+1,kXk+Wk(1)X_{k+1}=\Psi_{k+1,k} X_{k}+W_{k} \tag{1}Xk+1=Ψk+1,kXk+Wk(1)
但这只是一个高度简化的方程,更多的时候我们能获得的是关于连续系统的如下形式的方程:
X˙=f(X)+W(2)\dot X=f(X)+W \tag{2}X˙=f(X)+W(2)
其中fff通常是一个非线性方程。
针对上述的非线性方程,扩展卡尔曼滤波的做法如下:
首先,状态一定存在一个轨迹X(t)X(t)X(t),尽管根据式(2)我们很难具体地解出这个轨迹。假设有一个t0t_{0}t0时刻的状态估计值X^\hat XX^,在状态的估计值X^\hat XX^附近把X(t)X(t)X(t)展开得到
X(t)=X^+∂X∂t∣X=X^(t−t0)+⋯(3)X(t)=\hat X+\frac{\partial X}{\partial t}\mid_{X=\hat X}(t-t_{0})+\cdots \tag{3}X(t)=
C++下扩展卡尔曼类(EKF)的实现
于 2018-01-05 11:59:46 首次发布

的实现&spm=1001.2101.3001.5002&articleId=78979715&d=1&t=3&u=5f601db3539b46d587d63603bbb3f4e4)
6121

被折叠的 条评论
为什么被折叠?



