联邦Kalman滤波
利用Kalman滤波技术对多传感器数据进行最优融合有两种途径:集中式Kalman滤波和分散化滤波。集中式Kalman滤波利用一个滤波器来集中处理所有子系统的信息。分散化滤波利用子滤波器处理子系统的信息通过全局滤波器实现所有子系统的信息融合。
联邦滤波器一般结构
各子滤波器的估计不相关时的融合算法
定理1:若有
N
N
N个局部状态估计
X
1
^
\hat{X_1}
X1^,
X
2
^
\hat{X_2}
X2^,
.
.
.
...
...,
X
N
^
\hat{X_N}
XN^和相应的估计误差协方差阵
P
11
P_{11}
P11,
P
22
P_{22}
P22,
.
.
.
...
...,
P
N
N
P_{NN}
PNN,且各局估计互不相关,即
P
i
j
=
0
(
i
≠
j
)
P_{ij}=0(i\neq j)
Pij=0(i=j),则全局最优估计可表示为:
X
g
^
=
P
g
∑
i
=
1
N
P
i
i
−
1
X
i
^
\hat{X_g}=P_{g} \sum_{i=1}^{N}P_{ii}^{-1} \hat{X_i}
Xg^=Pgi=1∑NPii−1Xi^
其中
P
g
=
(
∑
i
=
1
N
P
i
i
−
1
)
−
1
P_g=(\sum_{i=1}^{N}P_{ii}^{-1})^{-1}
Pg=(i=1∑NPii−1)−1
由
P
i
i
−
1
X
i
^
P_{ii}^{-1} \hat{X_i}
Pii−1Xi^知,当
X
i
^
\hat{X_i}
Xi^的估计精度差,即
P
i
i
P_{ii}
Pii大时,
X
i
^
\hat{X_i}
Xi^在全局估计的作用比较小。
各子滤波器估计相关条件下的联邦滤波算法
在一般情况下,各子滤波器是估计是相关的。为了解决这个问题,采用方差上界技术,对滤波过程进行适当的改造,使得局部估计实际上不相关,从而进行滤波。
假设各子滤波器的状态估计表示为:
X
i
^
=
[
X
a
i
^
X
b
i
^
]
\hat{X_i}=\begin{bmatrix}\hat{X_{ai}}\\\hat{X_{bi}}\end{bmatrix}
Xi^=[Xai^Xbi^]
其中,
X
a
i
^
\hat{X_{ai}}
Xai^是各子滤波器的公共状态
X
c
X_c
Xc的估计,如导航中的位置,速度,和姿态等误差状态的估计;
X
b
i
^
\hat{X_{bi}}
Xbi^是第
i
i
i个滤波器专有的状态估计,如GPS误差状态的估计。这里只对公共状态估计进行融合以得到其全局估计。
信息分配原则
系统中有两类信息
-
状态运动方程信息
状态方程的信息量是与系统噪声的方差成反比的,因此可用 Q − 1 Q^{-1} Q−1表示状态状态方程信息量;
-
量测方程信息
量测方程的信息可用量测噪声协方差的逆 R − 1 R^{-1} R−1表示。
将系统噪声总的信息
Q
−
1
Q^{-1}
Q−1分配到各个子滤波器和主滤波中:
Q
−
1
=
∑
i
=
1
N
Q
i
−
1
+
Q
m
−
1
Q^{-1}=\sum_{i=1}^{N}Q_i^{-1}+Q_m^{-1}
Q−1=i=1∑NQi−1+Qm−1
其中
Q
i
=
β
i
−
1
Q
Q_i=\beta_i^{-1}Q
Qi=βi−1Q,
Q
m
=
β
m
−
1
Q
Q_m=\beta_m^{-1}Q
Qm=βm−1Q。
由信息守恒原理可知:
∑
i
=
1
N
β
i
+
β
m
=
1
\sum_{i=1}^N\beta_i+\beta_m=1
i=1∑Nβi+βm=1
由子滤波器与主滤波器合成的全局估计值
X
g
^
\hat{X_g}
Xg^及其相应的估计误差方差阵
P
g
P_g
Pg被
β
i
−
1
P
g
\beta_i^{-1}P_g
βi−1Pg后再反馈到子滤波器,重置子滤波器的估计值。
X
i
^
=
X
g
^
\hat{X_i}=\hat{X_g}
Xi^=Xg^
P i i = β i − 1 P g P_{ii}=\beta_i^{-1}P_g Pii=βi−1Pg
其中 β i − 1 \beta_i^{-1} βi−1表示信息分配系数。
为了使
P
i
j
(
i
≠
j
)
P_{ij}(i\neq j)
Pij(i=j)恒等于零,则需要对滤波过程进行改造。先构造一个增广系统,它的状态向量由
N
N
N个局部滤波子系统和主滤波子系统的状态组合而成:
X
=
[
X
1
⋮
X
N
ˉ
]
X=\begin{bmatrix}X_1\\\vdots\\ X_{\bar{N}}\end{bmatrix}
X=⎣⎢⎡X1⋮XNˉ⎦⎥⎤
式中:
N
ˉ
=
N
+
1
\bar{N}=N+1
Nˉ=N+1
每个子系统的状态向量为:
X
i
=
[
X
c
X
b
i
]
X_i=\begin{bmatrix}X_c\\X_{bi}\end{bmatrix}
Xi=[XcXbi]
其中,
X
c
X_c
Xc是公共状态向量;
X
b
i
X_{bi}
Xbi是第
i
i
i个子系统的专有状态。
在这个增广系统的状态向量中含有公共状态,但是不影响理论分析。增广系统的状态方程为
[
X
1
⋮
X
N
ˉ
]
k
+
1
=
[
ϕ
11
⋱
ϕ
N
ˉ
N
ˉ
]
k
[
X
1
⋮
X
N
ˉ
]
k
+
[
G
1
⋮
G
N
ˉ
]
W
k
{\begin{bmatrix}X_1\\\vdots\\ X_{\bar{N}}\end{bmatrix}}_{k+1}=\begin{bmatrix}{\phi_{11}}&&\\&{{\ddots}}&\\&&{\phi_{\bar{N}{\bar{N}}}}\end{bmatrix}_k{\begin{bmatrix}X_1\\\vdots\\ X_{\bar{N}}\end{bmatrix}}_{k}+{\begin{bmatrix}G_1\\\vdots\\ G_{\bar{N}}\end{bmatrix}}W_k
⎣⎢⎡X1⋮XNˉ⎦⎥⎤k+1=⎣⎡ϕ11⋱ϕNˉNˉ⎦⎤k⎣⎢⎡X1⋮XNˉ⎦⎥⎤k+⎣⎢⎡G1⋮GNˉ⎦⎥⎤Wk
E [ W i W i T ] = Q E{\begin{bmatrix}W_iW_i^T\end{bmatrix}}=Q E[WiWiT]=Q
增广系统总体滤波误差方差阵一般可表示为
P
=
[
P
11
⋯
P
1
N
ˉ
⋮
⋮
P
N
ˉ
1
⋯
P
N
ˉ
N
ˉ
]
P={\begin{bmatrix}P_{11}&\cdots&P_{1\bar{N}}\\\vdots&&\vdots\\P_{\bar{N}1}&\cdots&P_{\bar{N}\bar{N}}\end{bmatrix}}
P=⎣⎢⎡P11⋮PNˉ1⋯⋯P1Nˉ⋮PNˉNˉ⎦⎥⎤
式中:
P
j
i
(
j
,
i
=
1
,
2
,
⋯
,
N
ˉ
)
P_{ji}(j,i=1,2,\cdots,\bar{N})
Pji(j,i=1,2,⋯,Nˉ)表示局部滤波之间的相关性。
考虑到集中滤波的时间更新,由状态方程可知
P
j
i
=
ϕ
j
j
P
j
i
∗
ϕ
i
i
T
+
G
j
Q
G
i
T
P_{ji}=\phi_{jj}P_{ji}^*\phi_{ii}^T+G_jQG_i^T
Pji=ϕjjPji∗ϕiiT+GjQGiT
由上式知,由于公共噪声
Q
Q
Q的存在,即使
P
j
i
∗
=
0
P_{ji}^*=0
Pji∗=0,
P
j
i
P_{ji}
Pji也不会等于0,即时间更新过程将引入各子滤波器的估计相关。因此需要利用方差上届技术来进行消除。将过程噪声改写为
[
G
1
⋮
G
N
ˉ
]
Q
[
G
1
T
⋯
G
N
ˉ
T
]
=
[
G
1
⋱
G
N
ˉ
]
[
Q
⋯
Q
⋮
⋮
Q
⋯
Q
]
[
G
1
T
⋱
G
N
ˉ
T
]
\begin{bmatrix}G_1\\\vdots\\G_{\bar{N}}\end{bmatrix}Q\begin{bmatrix}G_1^T&\cdots&G_{\bar{N}}^T\end{bmatrix}=\begin{bmatrix}G_1&&\\&\ddots&\\&&G_{\bar{N}}\end{bmatrix}\begin{bmatrix}Q&\cdots&Q\\\vdots&&\vdots\\Q&\cdots&Q\end{bmatrix}\begin{bmatrix}G_1^T&&\\&\ddots&\\&&G_{\bar{N}}^T\end{bmatrix}
⎣⎢⎡G1⋮GNˉ⎦⎥⎤Q[G1T⋯GNˉT]=⎣⎡G1⋱GNˉ⎦⎤⎣⎢⎡Q⋮Q⋯⋯Q⋮Q⎦⎥⎤⎣⎡G1T⋱GNˉT⎦⎤
由矩阵理论可知:
[
Q
⋯
Q
⋮
⋮
Q
⋯
Q
]
≤
[
γ
1
Q
⋯
0
⋮
⋮
0
⋯
γ
N
ˉ
Q
]
\begin{bmatrix}Q&\cdots&Q\\\vdots&&\vdots\\Q&\cdots&Q\end{bmatrix}\leq\begin{bmatrix}\gamma_1Q&\cdots&0\\\vdots&&\vdots\\0&\cdots&\gamma_{\bar{N}}Q\end{bmatrix}
⎣⎢⎡Q⋮Q⋯⋯Q⋮Q⎦⎥⎤≤⎣⎢⎡γ1Q⋮0⋯⋯0⋮γNˉQ⎦⎥⎤
1 γ 1 + ⋯ + 1 γ N ˉ = 1 , 0 ≤ 1 γ i ≤ 1 \frac{1}{\gamma_1}+\cdots+\frac{1}{\gamma_{\bar{N}}}=1,0\leq\frac{1}{\gamma_i}\leq1 γ11+⋯+γNˉ1=1,0≤γi1≤1
由此可见,选择等号放大估计误差方差矩阵,
P
i
i
=
ϕ
i
i
P
i
i
∗
ϕ
i
i
T
+
γ
i
G
i
Q
G
i
T
P_{ii}=\phi_{ii}P_{ii}^*\phi_{ii}^T+\gamma_iG_iQG_i^T
Pii=ϕiiPii∗ϕiiT+γiGiQGiT
P j i = ϕ j j P j i ∗ ϕ i i T = 0 , P j i ∗ = 0 P_{ji}=\phi_{jj}P_{ji}^*\phi_{ii}^T=0,P_{ji}^*=0 Pji=ϕjjPji∗ϕiiT=0,Pji∗=0
通过式中表明,只要将各子滤波器的自身的初始方差矩阵在放大些就可以忽略各子滤波器初始方差之间的相关项。这样得到的局部滤波结果也是保守的。
联邦滤波器的设计步骤
- 将子滤波器和主滤波器的初始估计误差方差矩阵设置为组合系统初始估计误差方差的 γ i ( i = 1 , 2 , ⋯ , N ) \gamma_i(i=1,2,\cdots,N) γi(i=1,2,⋯,N)倍。
- 将子滤波器和主滤波器的过程噪声方差矩阵设置为组合系统过程噪声方差矩阵的 γ i \gamma_i γi倍。
- 各子滤波器处理自己的观测信息,进而获得局部估计。
- 在得到各子滤波器的局部估计和主滤波器的估计后,按定理1进行最优合成。
- 用全局最优滤波解来重置各子滤波器和主滤波器的滤波值和估计误差方差矩阵。
联邦滤波器的结构
根据信息分配策略不同,联邦滤波算法有4种实现模式:零复位模式;变比例模式;无反馈模式;融合—反馈模式。
- 零复位模式( β m = 1 , β i = 0 \beta_m=1,\beta_i=0 βm=1,βi=0零化式重置)
优缺点:
- 主滤波器分配到全部信息;
- 故障检测和隔离能力强;
- 减少了数据通讯量,计算简单,解算精度不高。
- 变比例模式( β m = β i = 1 / ( N + 1 ) \beta_m=\beta_i=1/(N+1) βm=βi=1/(N+1)有重置)
优缺点:
- 主滤波器与子滤波器之间平均分配信息;
- 融合后全局滤波精度高,局部滤波因为有全局滤波反馈,精度也提高了;
- 一个子系统发生故障后,主滤波器受污染,隔离后必须重新初始化主滤波器。
- 无反馈模式( β m = 0 , β i = 1 / N \beta_m=0,\beta_i=1/N βm=0,βi=1/N无重置)
- 主滤波器状态方程无信息分配,主滤波器不需要进行滤波,只起简单的融合作用;
- 各局部滤波器独立滤波,没有反馈重置带来的相互影响提高了容错性能;
- 由于没有全局估计的反馈重置,局部估计精度不高。
- 融合—反馈模式( β m = 0 , β i = 1 / N \beta_m=0,\beta_i=1/N βm=0,βi=1/N有重置)
优缺点:
- 具有反馈作用,精度较高;
- 滤波器的故障检测与隔离能力差。