![](https://csdnimg.cn/release/download_crawler_static/87551144/bg4.jpg)
偏差是 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 度。可以看出,因为温度计的 covariance 比较小(比较相信温度计),所以估
算出的最优温度值偏向温度计的值。
现在我们已经得到 k 时刻的最优温度值了,下一步就是要进入 k+1 时刻,进行新的最优估算。到
现在为止,好像还没看到什么自回归的东西出现。对了,在进入 k+1 时刻之前,我们还要算出 k
时刻那个最优值(24.56 度)的偏差。算法如下:((1-Kg)*5^2)^0.5=2.35。这里的 5 就是上面
的 k 时刻你预测的那个 23 度温度值的偏差,得出的 2.35 就是进入 k+1 时刻以后 k 时刻估算出的
最优温度值的偏差(对应于上面的 3)。
就是这样,卡尔曼滤波器就不断的把 covariance 递归,从而估算出最优的温度值。他运行的很
快,而且它只保留了上一时刻的 covariance。上面的 Kg,就是卡尔曼增益(Kalman Gain)。他
可以随不同的时刻而改变他自己的值,是不是很神奇!
(The Kalman Filter Algorithm)
在这一部分,我们就来描述源于 Dr Kalman 的卡尔曼滤波器。下面的描述,会涉及一些基本的
概念知识,包括概率(Probability),随即变量(Random Variable),高斯或正态分配(Gaussian
Distribution)还有 State-space Model 等等。但对于卡尔曼滤波器的详细证明,这里不能一一
描述。
首先,我们先要引入一个离散控制过程的系统。该系统可用一个线性随机微分方程(Linear
Stochastic Difference equation)来描述:
X(k)=A X(k-1)+B U(k)+W(k)
上两式子中,X(k)是 k 时刻的系统状态,U(k)是 k 时刻对系统的控制量。A 和 B 是系统参数,对
于多模型系统,他们为矩阵。Z(k)是 k 时刻的测量值,H 是测量系统的参数,对于多测量系统,
H 为矩阵。W(k)和 V(k)分别表示过程和测量的噪声。他们被假设成高斯白噪声 (White Gaussian
Noise),他们的 covariance 分别是 Q,R(这里我们假设他们不随系统状态变化而变化)。
对于满足上面的条件(线性随机微分系统,过程和测量都是高斯白噪声 ),卡尔曼滤波器是最优的
信息处理器。下面我们来用他们结合他们的 covariances 来估算系统的最优化输出(类似上一
节那个温度的例子)。
首先我们要利用系统的过程模型,来预测下一状态的系统。假设现在的系统状态是 k,根据系统