个人理解的算法核心思想:
用
当前时刻的“测量值”和上一时刻的“预测量”和“误差”(噪声)
计算得到
当前时刻的“最优值”
并用其预测
下一时刻的“最优值”
其中的“误差”包含了“预测误差”和“测量误差”,这两个误差是独立存在不受测量数据的影响。
在这里,上一时刻我们假设是k-1时刻,当前时刻是k时刻,以上可以翻译为
我们已经知道了:
k-1时刻的卡尔曼估计值(最优估计)
并可以用它来预测:
k时刻的状态
,这是k时刻的状态预测值。
同时我们通过仪器测量了:
k时刻的状态量
,这是k时刻的观测值
我们用k时刻的观测值来对预测值进行修正,得到:
k时刻的最优值
将以上理解用数学公式表达:
1.卡尔曼滤波的应用条件:
假设一个线性系统的状态差分方程为:
上两式子中,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时刻的预测值
其中,A为状态转移矩阵,B为输入增益矩阵
2.计算预测误差协方差矩阵
其中,为预测误差协方差矩阵,
为卡尔曼估计的误差协方差矩阵,Q为过程噪声的协方差
3.计算卡尔曼增益
其中,是卡尔曼增益,H是测量矩阵,R是测量噪声协方差
4.得到当前时刻的卡尔曼估计值
其中,是当前时刻的卡尔曼估计值,即当前时刻的最优估计
5.更新误差协方差矩阵(更新当前时刻的卡尔曼估计的误差协方差矩阵)
8333

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



