卡尔曼滤波的个人理解

个人理解的算法核心思想:

当前时刻的“测量值”和上一时刻的“预测量”和“误差”(噪声)

计算得到

当前时刻的“最优值”

并用其预测

下一时刻的“最优值”

其中的“误差”包含了“预测误差”和“测量误差”,这两个误差是独立存在不受测量数据的影响。

在这里,上一时刻我们假设是k-1时刻,当前时刻是k时刻,以上可以翻译为

我们已经知道了:

k-1时刻的卡尔曼估计值(最优估计)\widehat{X}_{k-1}

并可以用它来预测:

k时刻的状态\widehat{X}_{k|k-1},这是k时刻的状态预测值。

同时我们通过仪器测量了:

k时刻的状态量Z_{k},这是k时刻的观测值

我们用k时刻的观测值来对预测值进行修正,得到:

k时刻的最优值\widehat{X}_{k}

将以上理解用数学公式表达:

1.卡尔曼滤波的应用条件:

假设一个线性系统的状态差分方程为:

x_{k}=Ax_{k-1}+Bu_{k-1}+w_{k-1}

z_{k}=Hx_{k}+v_{k}

上两式子中,x(k)是k时刻的系统状态,u(k)是k时刻对系统的控制量。A和B是系统参数,对于多模型系统,他们为矩阵。z(k)是k时刻的测量值,H是测量系统的参数,对于多测量系统,H为矩阵,w(k)和v(k)分别是过程噪声和测量噪声。这里假设他们都是高斯白噪声,其协方差分别为Q;R,他们是不随系统状态变化而变化的。

2.卡尔曼滤波的5步公式:

1.由k-1时刻的最优估计来计算k时刻的预测值

\widehat{X}_{k|k-1}=A\widehat{X}_{k-1}+Bu_{k-1}

其中,A为状态转移矩阵,B为输入增益矩阵

2.计算预测误差协方差矩阵

\widehat{P}_{k|k-1}=AP_{k-1}A^{T}+Q

其中,\widehat{P}_{k|k-1}为预测误差协方差矩阵,P_{k-1}为卡尔曼估计的误差协方差矩阵,Q为过程噪声的协方差

3.计算卡尔曼增益

K_{k}=\widehat{P}_{k|k-1}H^{T}(H\widehat{P}_{k|k-1}H^{T}+R)^{-1}

其中,K_{k}是卡尔曼增益,H是测量矩阵,R是测量噪声协方差

4.得到当前时刻的卡尔曼估计值

\widehat{X}_{k}=\widehat{X}_{k|k-1}+K_{k}(z_{k}-H\widehat{X}_{k|k-1})

其中,\widehat{X}_{k}是当前时刻的卡尔曼估计值,即当前时刻的最优估计

5.更新误差协方差矩阵(更新当前时刻的卡尔曼估计的误差协方差矩阵)

P_{k}=(I-K_{k}H)\widehat{P}_{k|k-1}

你可能感兴趣的:(卡尔曼滤波的个人理解)