Kalman 滤波原理
系统模型
状态变量法是描述动态系统的一种很有价值的方法,采用这种方法,系统的输入输出关系是用状态转移模型和输出观测模型在时域内加以描述的。输入可以由确定的时间函数和代表不可预测的变量或噪声的随机过程组成的动念模型进行描述,输出是状态的函数,通常受到随机观测误差的扰动,可由量测方程描述。
离散时间系统的动态方程(状态方程)可表示为;
X
(
k
+
1
)
=
F
(
k
)
X
(
k
)
+
G
(
k
)
u
(
k
)
+
V
(
k
)
X(k+1)=F(k)X(k)+G(k)u(k)+V(k)
X(k+1)=F(k)X(k)+G(k)u(k)+V(k)
其中:
F
(
k
)
F(k)
F(k)为状念转移矩阵;
X
(
k
)
X(k)
X(k)为状态向量;
G
(
k
)
G(k)
G(k)为输入控制项矩阵;
u
(
k
)
u(k)
u(k)为已知输入或控制信号;
V
(
k
)
V(k)
V(k)是零均值、白色高斯过程噪声序列,其协方差为
Q
(
k
)
Q(k)
Q(k);如果过程噪声
V
(
k
)
V(k)
V(k)用
Γ
(
k
)
v
(
k
)
\Gamma (k)v(k)
Γ(k)v(k)代替,则
Q
(
k
)
Q(k)
Q(k)变为
Γ
(
k
)
σ
v
2
(
k
)
Γ
′
(
k
)
\Gamma(k)\sigma_v^2(k)\Gamma'(k)
Γ(k)σv2(k)Γ′(k),
Γ
(
k
)
\Gamma(k)
Γ(k)为过程噪声分布矩阵,而
E
[
v
(
k
)
v
′
(
j
)
]
=
Q
(
k
)
δ
k
j
E[v(k)v'(j)]=Q(k)\delta_{kj}
E[v(k)v′(j)]=Q(k)δkj
式中
δ
k
j
\delta_{kj}
δkj为 kronecker_delta
函数,该性质说明不同时刻的过程噪声是相互独立的。
离散时间系统的量测方程为∶
z
(
k
+
1
)
=
H
(
k
+
1
)
X
(
k
+
1
)
+
W
(
k
+
1
)
z(k+1)=H(k+1)X(k+1)+W(k+1)
z(k+1)=H(k+1)X(k+1)+W(k+1)
其中:
H
(
k
+
1
)
H(k+1)
H(k+1)为量测矩阵,
W
(
k
+
1
)
W(k+1)
W(k+1)为具有协方差
R
(
k
+
1
)
R(k+1)
R(k+1)的零均值、白色高斯量测噪声序列,而
E
[
W
(
k
)
W
′
(
j
)
]
=
R
(
k
)
δ
k
j
E[W(k)W'(j)]=R(k)\delta_{kj}
E[W(k)W′(j)]=R(k)δkj
该性质说明不同时刻的量测噪声也是相互独立的。
上述离散时间线性系统也可用图1的框图来表示,该系统包含如下先验信息
● 初始状态 X ( O ) X(O) X(O)是高斯的,具有均值 X ^ ( 0 ∣ 0 ) \hat X(0|0) X^(0∣0)和协方差 P ( 0 ∣ 0 ) P(0|0) P(0∣0);
● 过程噪声和量测噪声序列与初始状态无关;
● 过程噪声和量测噪声序列互不相关。
图1 离散时间线性系统
在上述假定条件下,状态方程(1)和量测方程(2)的线性性质可保持状态和量测的高斯性质。根据已知的 j j j时刻和 j j j以前时刻的量测值对 k k k时刻的状态 X ( k ) X(k) X(k)做出的某种估计若记为 X ^ ( k ∣ j ) \hat X(k|j) X^(k∣j),则按照状态估计所指的时刻,估计问题可归纳为下列三种∶
● 当 k = j k=j k=j时,是滤波问题, X ^ ( k ∣ j ) \hat X(k|j) X^(k∣j)为 k k k时刻状态 X ( k ) X(k) X(k)的滤波值;
● 当 k > j k>j k>j时,是预测问题, X ^ ( k ∣ j ) \hat X(k|j) X^(k∣j)为 k k k时刻状态 X ( k ) X(k) X(k)的预测值∶
● 当 k < j k<j k<j时,是平滑问题, X ^ ( k ∣ j ) \hat X(k|j) X^(k∣j)为 k k k时刻状态 X ( k ) X(k) X(k)的平滑值。