我们将从理论和实际案例两个方面讨论卡尔曼滤波器,以下的讨论可能需要一些线性代数和概率论知识。
首先是理论方面:
1. 模型建立
卡尔曼滤波建立在线性代数和隐马尔可夫模型(hidden Markov model)上。我们在这里只讨论最简单的一种模型,其基本动态系统可以用一个马尔可夫链表示,该马尔可夫链建立在一个被高斯噪声(即正态分布的噪声)干扰的线性算子上的。系统的状态可以用一个元素为实数的向量表示。随着离散时间的每一个增加,这个线性算子就会作用在当前状态上,产生一个新的状态,并也会带入一些噪声,同时系统的一些已知的控制器的控制信息也会被加入。同时,另一个受噪声干扰的线性算子产生出这些隐含状态的可见输出。
为了从一系列有噪声的观察数据中用卡尔曼滤波器估计出被观察过程的内部状态,必须把这个过程在卡尔曼滤波的框架下建立模型。也就是说对于每一步 k,定义矩阵 ,有时也需要定义
,如下。卡尔曼滤波模型假设k时刻的真实状态是从(k−1)时刻的状态演化而来,符合下式:
(1.1)
其中
- 是作用在
上的状态变换模型(/矩阵/矢量)。
-