标签:
假设我们要测量一个房间下一刻钟的温度。据经验判断,房间内的温度不可能短时大幅度变化,也就是说可以依经验认为下一刻钟的温度等于现在的温度。但是经验是存在误差的,下一刻的真实温度可能比我们预测温度上下偏差几度,这个偏差可以认为服从高斯分布。另外我们也可以使用温度计测量温度,但温度计测量的是局部空间的温度,没办法准确的度量整间房子的平均温度。测量值和真实值得偏差也认为服从高斯分布。
现在希望由经验的预测温度和温度计的测量值估算房间的真实平均温度。
首先我们由时刻的温度可以推测下一刻钟温度,例如k时刻的温度是23°C,那么预测k+1刻钟的温度也为23°C,同时假设估计偏差是5°C,然后到了k+1时刻使用温度计测量得到的温度是25°C,温度计的偏差是4°C。真实的温度以较大概率位于23℃ 和25℃ 之间 ,所以可以通过这两个值的方差来判定谁更可靠,方差越小说明可信度越高,那么真实温度接近该值的可能性越大。所以这里可以认为真实温度为 ℃。可以看出最终选择的温度值更偏向于偏差较小的量。
现在k+1时刻的温度可以认为是24.11摄氏度,那么预测k+2时刻的温度时就可以依据经验认为温度是24.11,那么偏差是多少呢? ,其中被称为卡尔曼增益,可以发现现在估算的偏差小了好多。于是可以类似估算k+1时刻温度那样较准确的估算第k+2时刻的温度,这是一个迭代的过程。
现在有一个运动系统
该式称为系统的预测方程,其中
是t-1时刻下目标的状态,而是估算的t时刻的状态,比如位移,速度
矩阵是状态转移矩阵
是第t时刻系统新加入的变量,是输入控制矩阵,是对当前输入的处理矩阵
是噪声矩阵,可以认为是高斯噪声。
在上例中, A=1,·,B=0,没有输入,偏差.
系统的测量方程为
其中表示t时刻的真实状态,是观测矩阵,因为的变量空间不一定相同,所以有一个观测矩阵,使真实状态映射到观测空间中。是高斯噪声。如果能直接测量,那么.
现在来推导Kalman过程:
设预测过程中噪声,测量过程中噪声, 分别是协方差矩阵。
预测
预测值
最小均方误差矩阵
这里,
是期望符号。
为了理解这个式子啊,要明白真实值是没法获得的,我们得到的都是估计值,因为错误可以避免,误差一定存在。预测使用的是初步估计值,然后使用测量值对估计值修正之后还是估计值,只不过是更准确的估计值~ 当然系统状态方程是不变的,真实的状态运动到真实的状态,而估计的状态值运动到估计的状态.
修正
误差增益
修正估计
这两个式子可以通过上面的那个例子理解,这里的矩阵主要是用来将观测空间映射到状态空间。
最小均方误差矩阵修正
这里推出来的结果和网上的都不一样,暂时还没发现是哪里出现问题了,再慢慢看,可是想一想协方差矩阵应该是对称矩阵,而网上给出的怎么保证是对称矩阵呢?
估计值和测量值的偏差都服从高斯分布
Kalman滤波器结合了估计值和观测值得到更精确的估计值~即使偏差更小
Kalman滤波器需要初始化第一帧的状态。
标签:
原文地址:http://www.cnblogs.com/YiXiaoZhou/p/5877140.html