卡尔曼滤波,利用k时刻的预测值、k时刻的测量值和相应误差,得出k时刻(最优)估计值,使得估计值均方误差最小。卡尔曼滤波算法是一套递推估计算法,即可以通过计算机迭代的过程求解(由上个状态求得当前状态)。
一、(离散线性)卡尔曼滤波算法
定义状态变量x(k),系统控制输入u(k),系统过程激励噪声w(k),系统的状态随机差分方程为:
x(k) = A x(k-1) + B u(k) + w(k) —————-根据数学物理知识建模得到的公式,预测值
定义观测变量为z(k),观测噪声v(k),量测方程为:
z(k) = H x(k) + v(k) —————————–测量得到的值
但这种方法得到的值都不太可靠,于是我们要利用这个值经过一些过程得到更接近真实值的估计值
理解以下值和它们的表示:
测量值z(k) ——由测量数据直接得到
预测值 x(k|k-1) ——也称为先验预测值
估计值 x(k|k) ——也被称为后验预测值
增益——可以暂时理解某个值对结果影响的权值,下列公式中A,B,H,Kg均为增益
(协)方差P——理解为对应值存在的均方误差,可参考
http://www.cnblogs.com/chaosimple/p/3182157.html
过程激励噪声Q,系统输入误差方差,存
在
w(k)~N(0,Q)的高斯分布
测量噪声R,测量误差方差,存在v