为了可以更加容易的理解卡尔曼滤波器, 这里会应用形象的描述方法来讲解, 而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。但是, 他的 5 条公式是其核心内容。结合现代的计算机,其实卡尔曼的程序相当的简单,只要你理解了他的那 5 条公式。在介绍他的 5 条公式之前,先让我们来根据下面的例子一步一步的探索。假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的, 也就是下一分钟的温度等于现在这一分钟的温度(假设我们用一分钟来做时间单位) 。假设你对你的经验不是 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 = ,我们可以估算出 k 时刻的实际温度值是: 23+*(25-23) = 度。可以看出, 因为温度计的 covariance 比较小( 比较相信温度计), 所以估算出的最优温度值偏向温度计的值。现在我们已经得到 k 时刻的最优温度值了,下一步就是要进入 k+1 时刻,进行新的最优估算。到现在为止,好像还没看到什么自回归的东西出现。对了,在进入 k+1 时刻之前,我们还要算出 k 时刻那个最优值( 度)的偏差。算法如下: ((1-Kg)*5^2)^ = 。这里的 5 就是上面的 k 时刻你预测的那个 23 度温度值的偏差, 得出的 就是进入 k+1 时刻以后 k 时刻估算出的最优温度值的偏差(对应于上面的 3)。就是这样, 卡尔曼滤波器就不断的把 covariance 递归, 从而估算出最优的温度值。他运行的很快, 而且它只保留了上一时刻的 covariance 。上面的 Kg , 就是卡尔曼增益( Kalman Gain )。他可以随不同的时刻而改变他自己的值,是不是很神奇! 下面就要言归正传,讨论真正工程系统上的卡尔曼。 3. 卡尔曼滤波器算法( The Kalman Filt
卡尔曼滤波的原理说明(通俗易懂) 来自淘豆网m.daumloan.com转载请标明出处.