卡尔曼滤波(Kalman Filter)
Optimal Recursive(递归) Data Processing Algorithm
xk‾=x‾k−1+kk(zk−x‾k−1)
\overline{x_k}=\overline{x}_{k-1}+k_k(z_k-\overline{x}_{k-1})
xk=xk−1+kk(zk−xk−1)
- 当前的估计值=上一次的估计值+系数(当前测量值-上一次估计值)
kk:kalman Qain卡尔曼增益eEST:估计误差eMEA:测量误差kk=eEST(k−1)eEST(k−1)+eMEA(k) k_k:kalman \ Qain 卡尔曼增益\\ e_{EST}:估计误差\\ e_{MEA}:测量误差\\ k_k=\frac{e_{EST(k-1)}}{e_{EST(k-1)}+e_{MEA(k)}}\\ kk:kalman Qain卡尔曼增益eEST:估计误差eMEA:测量误差kk=eEST(k−1)+eMEA(k)eEST(k−1)
xk‾=x‾k−1+kk(zk−x‾k−1) \overline{x_k}=\overline{x}_{k-1}+k_k(z_k-\overline{x}_{k-1}) xk=xk−1+kk(zk−xk−1)
eEST(k)=(1−kk)eEST(k−1) e_{EST(k)}=(1-k_k)e_{EST(k-1)} eEST(k)=(1−kk)eEST(k−1)
eEST(K−1)>>eMEA(k):则kk→1 xk‾=x‾k−1+kk(zk−x‾k−1)eEST(K−1)<<eMEA(k):则kk→0 xk‾=x‾k−1 e_{EST(K-1)}>>e_{MEA(k)}: 则k_k \rightarrow 1\ \overline{x_k}=\overline{x}_{k-1}+k_k(z_k-\overline{x}_{k-1})\\ e_{EST(K-1)}<<e_{MEA(k)}: 则k_k \rightarrow 0\ \overline{x_k}=\overline{x}_{k-1} eEST(K−1)>>eMEA(k):则kk→1 xk=xk−1+kk(zk−xk−1)eEST(K−1)<<eMEA(k):则kk→0 xk=xk−1
- 计算步骤
- 算当前的k_k
- 算x_k
- 算当前e_EST(k)
数据融合(Data Fusion) 协方差矩阵(Covariance Matrix) 状态空间方程(state Space) 观测器(observation)
-
数据融合
现在有数据
z1=30g , δ1=2gz2=32g , δ1=4g求z‾和δ z_1=30g\ , \ \delta_1=2g\\ z_2=32g\ , \ \delta_1=4g\\ 求 \overline{z}和\delta z1=30g , δ1=2gz2=32g , δ1=4g求z和δ
由前面的公式我们有:
zk‾=z‾k−1+kk(zk−z‾k−1) \overline{z_k}=\overline{z}_{k-1}+k_k(z_k-\overline{z}_{k-1}) zk=zk−1+kk(zk−zk−1)
即:
z=z1+k(z2−z1)δ2z=D(z)=D(z1+k(z2−z1))=D((1−k)z1+kz2)=(1−k)2δ12+k2δ22 z=z_1+k(z_2-z_1)\\ \delta^2{z}=D(z)=D(z_1+k(z_2-z_1))=D((1-k)z_1+kz_2)=(1-k)^2\delta^2_1+k^2\delta_2^2 z=z1+k(z2−z1)δ2z=D(z)=D(z1+k(z2−z1))=D((1−k)z1+kz2)=(1−k)2δ12+k2δ22
对k求导取最小值
k=δ12δ12+δ22 k=\frac{\delta_1^2}{\delta_1^2+\delta_2^2} k=δ12+δ22δ12 -
协方差矩阵
δx2 , δxδy , δxδzδyδx , δy2 , δyδzδzδx , δzδy , δz2 \delta^2_x \ ,\ \delta_x\delta_y \ ,\ \delta_x\delta_z\\ \delta_y\delta_x \ ,\ \delta^2_y \ ,\ \delta_y\delta_z\\ \delta_z\delta_x \ ,\ \delta_z \delta_y \ ,\ \delta^2_z\\ δx2 , δxδy , δxδzδyδx , δy2 , δyδzδzδx , δzδy , δz2
快速算法:
a=A−13A‾P=13aTa a=A-\frac{1}{3}\overline{A}\\ P=\frac{1}{3}a^Ta a=A−31AP=31aTa -
状态空间方程
离散型:
Xk=AXk−1+Buk+wk−1Zk=HXk+vwk−1:过程噪音vk:测量噪音
X_k=AX_{k-1}+Bu_k+w_{k-1}\\
Z_k=HX_k+v\\
w_{k-1}:过程噪音\\
v_k:测量噪音
Xk=AXk−1+Buk+wk−1Zk=HXk+vwk−1:过程噪音vk:测量噪音