卡尔曼滤波器由一系列递归数学公式描述。它们提供了一种高效可
计算的方法来估计过程的状态,并使估计均方误差最小。卡尔曼滤波
器应用广泛且功能强大:它可以估计信号的过去和当前状态,甚至能
估计将来的状态,即使并不知道模型的确切性质
对于Kalman 滤波相信大多数人都听过这么个例子:
假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的, 也就是下一分钟的温度等于现在这一分钟的温度(假设我们用一分钟来做时间单位) 。假设 你对你的经验不是 100% 的相信,可能会有上下偏差几度。我们把这些偏差看成是高斯白噪 声( White Gaussian Noise ) ,也就是这些偏差跟前后时间是没有关系的而且符合高斯分配 ( Gaussian Distribution ) 。另外,我们在房间里放一个温度计,但是这个温度计也不准确的, 测量值会比实际值偏差。我们也把这些偏差看成是高斯白噪声。
好了, 现在对于某一分钟我们有两个有关于该房间的温度值: 你根据经验的预测值 (系统的 预测值)和温度计的值(测量值)
。下面我们要用这两个值结合他们各自的噪声来估算出房 间的实际温度值。 假如我们要估算 k 时刻的是实际温度值。 首先你要根据 k-1 时刻的温度值, 来预测 k 时刻的 温度。因为你相信温度是恒定的,所以你会得到 k 时刻的温度预测值是跟 k-1 时刻一样的, 假设是 23 度,同时该值的高斯噪声的偏差是 5 度( 5 是这样得到的:如果 k-1 时刻估算出 的最优温度值的偏差是 3 , 你对自己预测的不确定度是 4 度, 他们平方相加再开方, 就是 5 ) 。 然后,你从温度计那里得到了 k 时刻的温度值,假设是 25 度,同时该值的偏差是 4 度。 由于我们用于估算 k 时刻的实际温度有两个温度值, 分别是 23 度和 25 度。 究竟实际温度是多少呢?相信自己还是相信温度计呢?究竟相信谁多一点, 我们可以用他们的 covariance 来 判断。因为
Kg^2=5^2/(5^2+4^2) ,所以 Kg=0.78 ,我们可以估算出 k 时刻的实际温度值是: 23+0.78*(25-23)=24.56 度。可以看出