卡尔曼滤波

卡尔曼滤波是根据前一时刻对现在时刻的预测值当前时刻的测量值(二者都考虑误差且为高斯白噪声,分别称为测量误差预测误差,且误差不受测量等因素影响)进行计算处理以便求得当前时刻的最优值下一时刻的预测值的一种算法。
卡尔曼滤波算法考虑了噪声的引入,故而有相对更加精确的结果。

举个例子(转述):
假设测量房间温度,且刚才为k-1时刻,现在为k时刻。我们将要使用k-1时刻温度预测k时刻的温度。
根据我们的感觉我们认为房间内温度不变为一个恒定值,即k时刻温度(预测值)等于k-1时刻温度值,假设为23°c。此外,房间内放置一个温度计,可以知道当前温度(测量值),同时我们知道两个量都不是准确的,都包含高斯白噪声。
而我们在k-1时刻得知其最优温度偏差(k-1时刻最优值偏差)为3,而自己的感觉偏差(k-1时刻对k时刻的状态转移方程不确定度)为4 ,因此可以算出k时刻预测值的偏差为5(两个数平方和再开方)。
得知温度计温度为25°c(偏差为4)。
现在有两个数据对应房间的温度:温度计(k时刻测量值)25°c和感觉值(k时刻预测值)23°c。利用统计学知识,使用均方误差来计算,由上文可以得到H²=5²/5²+4²,可知H=0.78。
因此k时刻最优温度值为23+0.78*(25-23)=24.56°c(k时刻最优温度值)。
再对k+1时刻温度值进行预测(k+1时刻预测值),而其需要k时刻最优温度值的偏差,为 根号下 (1-H)*5² 。其数值为2.53。
运算只保留两次时刻相关值,故而运算速度快且结果相对准确。
卡尔曼滤波
卡尔曼滤波
卡尔曼滤波
卡尔曼滤波
卡尔曼滤波
故根据以上公式,多次运行后,可以计算得出卡尔曼滤波输出。