卡尔曼滤波(Kalman Filter)状态估计、协方差矩阵、数据融合,看这一文即可,【非常详细推导,认真推理,包你看得懂】 上


本文是对卡尔曼滤波学习的记录,主要参照了DR_CAN老师的视频进行学习,文章末尾有链接!

卡尔曼滤波

卡尔曼滤波(Kalman Filtering) 是一种用于估计系统状态的数学方法,它结合了传感器测量和系统模型的信息,以获得对系统状态的最佳估计。卡尔曼滤波最初是由Rudolf E. Kálmán在1960年代提出的,用于航空航天领域的导航和控制问题。自那时以来,它已经在许多领域得到了广泛应用,包括工程、经济学、生物学等。

卡尔曼滤波的主要思想是通过融合系统的动态模型(通常是线性系统)和实际测量值来估计系统的状态。它基于两个主要假设:
(1) 系统的动态行为可以用线性动态方程描述。
(2) 测量噪声和过程噪声都是高斯分布的,并且彼此独立。

卡尔曼滤波的过程可以概括为以下几个步骤:
(1) 预测(Predict):根据系统的动态模型,使用先前的状态估计来预测下一个时刻的状态,并估计状态的不确定性。
(2) 更新(Update):将新的测量值与预测值进行比较,根据它们的不确定性,更新状态的估计值和不确定性。这一步使用贝叶斯推断来融合测量和预测信息。

1. 数据融合

在学习卡尔曼滤波(Kalman Filtering)之前首先要对数据融合(对于理解卡尔曼滤波很重要)有一定的概念(卡尔曼滤波就是先验数据和后验数据的数据融合):
例如:你用两个称,去称物体,得到两个重量和标准差(符合正态分布)分别是:
z 1 = 30   g σ 1 = 2   g z 2 = 32   g σ 2 = 4   g >  正态分布  \begin{gather}\begin{array}{ll} z_1=30 \mathrm{~g} & \sigma_1=2 \mathrm{~g} \\ z_2=32 \mathrm{~g} & \sigma_2=4 \mathrm{~g} \end{array}>\begin{gathered} \text { 正态分布 } \end{gathered}\end{gather} z1=30 gz2=32 gσ1=2 gσ2=4 g> 正态分布 

如图所示,如何去估算的物体真实重量(如绿虚线所示)?凭感觉肯定在30~32g之间,而如何利用数学去找到最优的估计值呢?就要用到数据融合的思想。

那么,定义估计的真实重量 z ^ = z 1 + k ( z 2 − z 1 ) \hat{z}=z_1+k\left(z_2-z_1\right) z^=z1+k(z2z1) ,其中 k ∈ [ 0 , 1 ] k \in[0,1] k[0,1] 就是卡尔曼增益(Kalman Gain),当 k = 0 k=0 k=0 时, z ^ = z 1 \hat{z}=z_1 z^=z1; 当 k = 1 k=1 k=1 时, z ^ = z 2 \hat{z}=z_2 z^=z2. 通过调节 k k k 的大小,可以表征估计值更接近哪个数据。为了获得最优的估计值,那么我们希望估计出来的值方差小,表明这个估计值较为准确,所以我们需要求得一个合适的 k k k 值,使得 z ^ \hat{z} z^ 的方差 V a r ( z ^ ) Var(\hat{z}) Var(z^) 或者标准差 σ z ^ \sigma_{\hat{z}} σz^最小.

σ z ^ 2 = V a r ( z ^ ) = V a r ( z 1 + k ( z 2 − z 1 ) ) = V a r ( ( 1 − k ) z 1 + k z 2 ) = ( 1 − k ) 2 V a r ( z 1 ) + k 2 V a r ( z 2 ) = ( 1 − k ) 2 σ 1 2 + k 2 σ 2 2 \begin{gather} \begin{aligned} \sigma_{\hat{z}}^2 = Var(\hat{z}) & = Var(z_1+k\left(z_2-z_1\right)) \\ & =Var((1-k)z_1+kz_2) \\ & =(1-k)^2Var(z_1) + k^2Var(z_2) \\ & =(1-k)^2\sigma_{1}^2 + k^2\sigma_{2} ^2 \end{aligned}\end{gather} σz^2=Var(z^)=Var(z1+k(z2z1))=Var((1k)z1+kz2)=(1k)2Var(z1)+k2Var(z2)=(1k)2σ12+k2σ22
为了使 V a r ( z ^ ) Var(\hat{z}) Var(z^) 最小,对 k k k 求导等于0得:
− 2 ( 1 − k ) σ 1 2 + 2 k σ 2 2 = 0 \begin{gather} -2(1-k)\sigma_{1}^2 + 2k\sigma_{2} ^2 = 0\end{gather} 2(1k)σ12+2kσ22=0
整理得: k = σ 1 2 σ 1 2 + σ 2 2 = 2 2 2 2 + 4 2 = 0.2 \begin{gather}k =\frac{\sigma_{1}^2}{\sigma_{1}^2+\sigma_{2}^2} = \frac{2^2}{2^2+4^2} = 0.2\end{gather} k=σ12+σ22σ12=22+4222=0.2
因此,通过数据融合得到的最优估计值为:
z ^ = z 1 + k ( z 2 − z 1 ) = 30 + 0.2 ( 32 − 30 ) = 30.4 \begin{gather}\hat{z} =z_1+k\left(z_2-z_1\right) =30+0.2(32-30) =30.4 \end{gather} z^=z1+k(z2z1)=30+0.2(3230)=30.4

2. 协方差矩阵

接下来介绍一下协方差矩阵的概念,协方差矩阵 是将方差和协方差在一个矩阵中表现出来,表征的是个变量间的联动关系,为了更好的理解其含义,
例:

球员身高 x x x体重 y y y年龄 z z z
A1797433
B1878031
C1757128
平均180.37530.7

那么,我们可以计算身高、体重、年龄的方差协方差分别为:
方差 :      σ x 2 = 1 3 ( ( 179 − 180.3 ) 2 + ( 187 − 180.3 ) 2 + ( 175 − 180.3 ) 2 ) = 24.89                                                        σ y 2 = 14 σ z 2 = 4.2 协方差 :     σ x σ y = 1 3 ( ( 179 − 180.3 ) ( 74 − 75 ) + ( 187 − 180.3 ) ( 80 − 75 ) + ( 175 − 180.3 ) ( 71 − 75 ) ) = 18.7 = σ y σ x σ x σ z = 4.4 = σ z σ x σ y σ z = 3.3 = σ z σ y \textbf{方差}:\ \ \ \ \ \begin{aligned} & \sigma_x^2=\frac{1}{3}\left((179-180.3)^2+(187-180.3)^2+(175-180.3)^2\right)=24.89 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ & \sigma_y^2=14 \\ & \sigma_z^2=4.2 \end{aligned} \\ \textbf{协方差}:\ \ \ \ \begin{aligned} & \sigma_x \sigma_y=\frac{1}{3}((179-180.3)(74-75)+(187-180.3)(80-75)+(175-180.3)(71-75))=18.7=\sigma_y \sigma_x \\ & \sigma_x \sigma_z=4.4=\sigma_z \sigma_x \\ & \sigma_y \sigma_z=3.3=\sigma_z \sigma_y \end{aligned} 方差     σx2=31((179180.3)2+(187180.3)2+(175180.3)2)=24.89                                                      σy2=14σz2=4.2协方差    σxσy=31((179180.3)(7475)+(187180.3)(8075)+(175180.3)(7175))=18.7=σyσxσxσz=4.4=σzσxσyσz=3.3=σzσy
那么协方差矩阵 P P P 为(注意: σ x σ y \sigma_x \sigma_y σxσy 不是表示二者相乘而是协方差 Cov ( σ x , σ y ) (\sigma_x,\sigma_y) (σx,σy),下文也是如此:
P = [ σ x 2 σ x σ y σ x σ z σ y x σ y 2 σ y σ z σ z x σ z σ y σ z 2 ] = [ 24.89 18.7 4.4 18.7 14 3.3 4.4 3.3 4.22 ] \begin{gather}P=\left[\begin{array}{ccc} \sigma_x^2 & \sigma_x \sigma_y & \sigma_x \sigma_z \\ \sigma_{y x} & \sigma_y^2 & \sigma_y \sigma_z \\ \sigma_{z x} & \sigma_z \sigma_y & \sigma_z^2 \end{array}\right]=\left[\begin{array}{ccc} 24.89 & 18.7 & 4.4 \\ 18.7 & 14 & 3.3 \\ 4.4 & 3.3 & 4 .22 \end{array}\right]\end{gather} P= σx2σyxσzxσxσyσy2σzσyσxσzσyσzσz2 = 24.8918.74.418.7143.34.43.34.22
这边解释一下协方差各个数的含义:首先是对角线,24.89、14、4.22分别体现了身高、体重、年龄的跨度,越大表示跨度越大; σ x σ y = 18.7 \sigma_x \sigma_y = 18.7 σxσy=18.7 表示了身高和体重的相关性,是比较相关的;再看 σ x σ z = 4.4 \sigma_x \sigma_z = 4.4 σxσz=4.4 σ y σ z = 3.3 \sigma_y \sigma_z = 3.3 σyσz=3.3表示身高和年龄以及体重和年龄的关联性就不是很强。
方便编程运算协方差矩阵 P P P 可通过矩阵计算: a = [ x 1 y 1 z 1 x 2 y 2 z 2 x 3 y 3 z 3 ] − 1 3 [ 1 1 1 1 1 1 1 1 1 ] [ x 1 y 1 z 1 x 2 y 2 z 2 x 3 y 3 z 3 ] P = 1 3 a T a \begin{gather}\begin{aligned} & a=\left[\begin{array}{lll} x_1 & y_1 & z_1 \\ x_2 & y_2 & z_2 \\ x_3 & y_3 & z_3 \end{array}\right]-\frac{1}{3}\left[\begin{array}{lll} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{array}\right]\left[\begin{array}{lll} x_1 & y_1 & z_1 \\ x_2 & y_2 & z_2 \\ x_3 & y_3 & z_3 \end{array}\right] \\ & P=\frac{1}{3} a^{T} a \\ & \end{aligned}\end{gather} a= x1x2x3y1y2y3z1z2z3 31 111111111 x1x2x3y1y2y3z1z2z3 P=31aTa

3. 卡尔曼滤波器的推导

假设系统的状态 X k = [ x 1    x 2 ] T X_{k} = [x_1 \ \ x_2]^T Xk=[x1  x2]T , 输出为 Z k Z_{k} Zk且状态空间方程为:
X k = A X k − 1 + B U k − 1 + W k − 1 Z k = H X k + V k \begin{gather} \begin{aligned} &X_{k}=A X_{k-1}+B U_{k-1} +W_{k-1}\\ &Z_k=HX_{k}+V_k \end{aligned}\end{gather} Xk=AXk1+BUk1+Wk1Zk=HXk+Vk其中, W k − 1 = [ w 1    w 2 ] T W_{k-1} = [w_{1} \ \ w_{2}]^T Wk1=[w1  w2]T 为系统的过程噪声, V k V_k Vk 为测量噪声, 二者都是一种不确定性的表现,在自然界中,一般可以将它们假设符合正态分布,也就是其概率分布符合期望为 0,协方差矩阵为 Q Q Q,即 P ( W ) ∼ ( 0 , Q ) P(W) \sim (0 , Q) P(W)(0,Q) 。其中,
Q = E [ W    W T ] = E [ [ w 1 w 2 ] [ w 1 w 2 ] ] = [    σ w 1 2       σ w 1 σ w 2 σ w 2 σ w 1      σ w 2 2 ] \begin{gather}Q = E[W \ \ W^T] = E \left[\left[\begin{array}{l} w_1 \\ w_2 \end{array}\right]\left[\begin{array}{ll} w_1 & w_2 \end{array}\right]\right] = \left[\begin{array}{l} \ \ \sigma_{w_1}^2 \ \ \ \ \ \sigma_{w_1}\sigma_{w_2}\\ \sigma_{w_2}\sigma_{w_1} \ \ \ \ \sigma_{w_2}^2\end{array}\right]\end{gather} Q=E[W  WT]=E[[w1w2][w1w2]]=[  σw12     σw1σw2σw2σw1    σw22]
另外,同上 P ( V ) ∼ ( 0 , R ) P(V) \sim (0 , R) P(V)(0,R)

3.1 先验估计

由于我们不确定噪声量的大小,所以只能得到 X k X_{k} Xk 的先验估计值 X k − ^ \hat{X_{k}^-} Xk^ (^表示估计值的意思,-表示先验),也就是不考虑状态方程中的过程噪声计算出来的结果称为先验估计值,也就是: X k − ^ = A X ^ k − 1 + B U k − 1       (算出来的)  \begin{gather}\hat{X_{k}^-} = A \hat{X}_{k-1}+B U_{k-1} \ \ \ \ \ \text { (算出来的) }\end{gather} Xk^=AX^k1+BUk1      (算出来的) 
而后,我们可以测量测出 Z k Z_k Zk ,不考虑噪声前提下,根据 Z k = H X k Z_k=HX_{k} Zk=HXk 反求状态得: X k m e a ^ = H − 1 Z k       (测出来的)  \hat{X_{k_{mea}}} = H^{-1}Z_k \ \ \ \ \ \text { (测出来的) } Xkmea^=H1Zk      (测出来的) 
所以,无论是算出来的还是测出来的的数据都不包含噪声,所以我们才需要用卡尔曼滤波去估计真实值(这时候就是体现出上一章所讲的数据融合概念的意义)根据数据融合可得后验估计值 X k ^ \hat{X_{k}} Xk^ 为(当 G=0 表示完全相信算出来的数据,G=1表示完全相信测出来的数据):
X ^ k = X ^ k − + G ( H − 1 Z k − X ^ k − ) \begin{gather} \begin{array}{ll} \hat{X}_k=\hat{X}_{k}^{-}+G\left(H^{-1} Z_k-\hat{X}_k^{-}\right) \end{array}\end{gather} X^k=X^k+G(H1ZkX^k)
为了方便计算,我们可定义 G = k k H G=k_k H G=kkH带入得卡尔曼滤波器的重要公式( k k ∈ [ 0 , H − 1 ] k_k \in[0,H^{-1}] kk[0,H1] ): X ^ k = X ^ k − + k k ( Z k − H X ^ k − ) \begin{gather}\begin{array}{ll} \hat{X}_k=\hat{X}_{k}^{-}+k_k(Z_k-H\hat{X}_k^{-}) \end{array}\end{gather} X^k=X^k+kk(ZkHX^k)

3.2 求解最优卡尔曼增益

此时,需要去寻找一个最优的 k k k_k kk 使得估计值 X ^ k \hat{X}_k X^k 与真实值 X k X_k Xk 误差最小, 引入误差 e k = X k − X ^ k e_k =X_k - \hat{X}_k ek=XkX^k , 将估计值(12)代入误差公式中去,得:
e k = X k − X ^ k = X k − ( X ^ k − + k k ( Z k − H X ^ k − ) ) ( 化简得 ) = ( I − k k H ) ( X k − X ^ k − ) − k k V k = ( I − k k H ) e k − − k k V k (定义误差先验为 e k − = X k − X ^ k − ) \begin{gather} \begin{array}{ll} e_k =X_k - \hat{X}_k &=X_k-(\hat{X}_{k}^{-}+k_k(Z_k-H\hat{X}_k^{-}) ) \\ (化简得) & =(I-k_kH)(X_k-\hat{X}_k^-)-k_kV_k \\ & =(I-k_kH)e_k^--k_kV_k ( 定义误差先验为e_k^- = X_k-\hat{X}_k^-) \end{array}\end{gather} ek=XkX^k(化简得)=Xk(X^k+kk(ZkHX^k))=(IkkH)(XkX^k)kkVk=(IkkH)ekkkVk(定义误差先验为ek=XkX^k

根据此前定义 P ( e k ) ∼ ( 0 , P k ) P(e_k) \sim (0 , P_k) P(ek)(0,Pk) ,那么协方差矩阵 P k P_k Pk(推导较为复杂,懒得推可直接看结果):
P k = E [ e    e T ] = [    σ e 1 2       σ e 1 σ e 2 σ e 2 σ e 1      σ e 2 2 ]          注: ( A B ) T = B T A T ; ( A + B ) T = A T + B T = E [ [ I − k k H ) e k − − k k V k ] [ ( I − k k H ) e k − − k k V k ] T ] = E [ [ I − k k H ) e k − − k k V k ] [ e k − T ( I − k k H ) T − V k T k k T ] ] = E [ ( I − k k H ) e k − e k − T ( I − k k H ) T ] + E [ k k V k V k T k k T ] 注: E [ ( I − k k H ) e k − V k T k k T ] = ( I − k k H ) E [ e k − ] E [ V k T ] k k T = 0    由于 E [ e k − ] = 0. = ( I − k k H ) E [ e k − e k − T ] ( I − k k H ) T + k k E [ V k V k T ] k k T = ( I − k k H ) P k − ( I − k k H ) T + k k R k k T = ( P k − − k k H P k − ) ( I T − H T k k T ) + k k R k k T = P k − − k k H P k − − P k − H T k k T + k k H P k − H T k k T + k k R k k T   注: P − 为先验协方差 \begin{gather}\begin{array}{ll}P_k &=E[e \ \ e^T] = \left[\begin{array}{l} \ \ \sigma_{e_1}^2 \ \ \ \ \ \sigma_{e_1}\sigma_{e_2}\\ \sigma_{e_2}\sigma_{e_1} \ \ \ \ \sigma_{e_2}^2\end{array}\right] \ \ \ \ \ \ \ \ \ 注:(AB)^T=B^TA^T;(A+B)^T=A^T+B^T \\ & =E \left[[I-k_kH)e_k^--k_kV_k][(I-k_kH)e_k^--k_kV_k]^T\right]\\ & =E [[I-k_kH)e_k^--k_kV_k][{e_k^-}^T(I-k_kH)^T-V_k^Tk_k^T]] \\ & =E[(I-k_kH)e_k^-{e_k^-}^T(I-k_kH)^T ]+E[k_kV_kV_k^Tk_k^T]\\ & 注:E[(I-k_kH)e_k^-V_k^Tk_k^T] = (I-k_kH)E[e_k^-]E[V_k^T]k_k^T=0 \ \ \ 由于E[e_k^-] = 0. \\ & =(I-k_kH)E[e_k^-{e_k^-}^T](I-k_kH)^T +k_kE[V_kV_k^T]k_k^T\\ & =(I-k_kH)P_k^-(I-k_kH)^T +k_kRk_k^T\\ & =(P_k^--k_kHP_k^-)(I^T-H^Tk_k^T) +k_kRk_k^T\\ & =P_k^--k_kHP_k^--P_k^-H^Tk_k^T+k_kHP_k^-H^Tk_k^T+k_kRk_k^T \ \ 注:P^-为先验协方差\\ \end{array} \end{gather} Pk=E[e  eT]=[  σe12     σe1σe2σe2σe1    σe22]         注:(AB)T=BTAT;(A+B)T=AT+BT=E[[IkkH)ekkkVk][(IkkH)ekkkVk]T]=E[[IkkH)ekkkVk][ekT(IkkH)TVkTkkT]]=E[(IkkH)ekekT(IkkH)T]+E[kkVkVkTkkT]注:E[(IkkH)ekVkTkkT]=(IkkH)E[ek]E[VkT]kkT=0   由于E[ek]=0.=(IkkH)E[ekekT](IkkH)T+kkE[VkVkT]kkT=(IkkH)Pk(IkkH)T+kkRkkT=(PkkkHPk)(ITHTkkT)+kkRkkT=PkkkHPkPkHTkkT+kkHPkHTkkT+kkRkkT  注:P为先验协方差

此时,引入的概念: t r ( P k ) = σ e 1 2 + σ e 2 2 tr(P_k) = \sigma_{e_1}^2 + \sigma_{e_2}^2 tr(Pk)=σe12+σe22 ,为对角线方差相加,我们希望能取到最优 k k k_k kk 使方差最小,也就是迹最小,使误差 e k e_k ek 接近期望值 0。
t r ( P k ) = t r ( P k − ) − 2 t r ( k k H P k − ) + t r ( k k H P k − H T k k T ) + t r ( k k R k k T ) 注: k k H P k − 与 P k − H T k k T 互为转至,所以迹是一样的 \begin{gather}\begin{array}{ll}tr(P_k) = tr(P_k^-)-2tr(k_kHP_k^-)+tr(k_kHP_k^-H^Tk_k^T)+tr(k_kRk_k^T) \\ 注:k_kHP_k^-与P_k^-H^Tk_k^T互为转至,所以迹是一样的\end{array}\end{gather} tr(Pk)=tr(Pk)2tr(kkHPk)+tr(kkHPkHTkkT)+tr(kkRkkT)注:kkHPkPkHTkkT互为转至,所以迹是一样的
为了取最优的卡尔曼增益 k k k_k kk 使得最小,所以 k k k_k kk 求导等于0 得 (注: ∂ t r ( A B ) ∂ A = B T ; ∂ t r ( A B A T ) ∂ A = 2 A B \frac{\partial tr(AB) }{\partial A} = B^T; \frac{\partial tr(ABA^T) }{\partial A} = 2AB Atr(AB)=BT;Atr(ABAT)=2AB):
∂ t r ( P k ) ∂ k k = − 2 ( H P k − ) T + 2 k k H P k − H T + 2 k k R = 0 − P k − H T + k k ( H P k − H T + R ) = 0 k k ( H P k − H T + R ) = P k − H T 因此: k k = P k − H T H P k − H T + R \begin{gather}\begin{aligned} \frac{\partial tr(P_k) }{\partial k_k} =-2(HP_k^-)^T+2k_kHP_k^-H^T+2k_kR&=0 \\ -P_k^-H^T+k_k(HP_k^-H^T+R)&=0 \\ k_k(HP_k^-H^T+R) &=P_k^-H^T\\ \end{aligned} \\ 因此:k_k =\frac{P_k^-H^T}{HP_k^-H^T+R} \end{gather} kktr(Pk)=2(HPk)T+2kkHPkHT+2kkRPkHT+kk(HPkHT+R)kk(HPkHT+R)=0=0=PkHT因此:kk=HPkHT+RPkHT
因此,公式17可以理解为:当测量噪声协方差 R R R 无穷大时, k k = 0 k_k=0 kk=0,状态估计值: X ^ k = X ^ k − + k k ( Z k − H X ^ k − ) = X ^ k − \hat{X}_k=\hat{X}_{k}^{-}+k_k(Z_k-H\hat{X}_k^{-})=\hat{X}_{k}^{-} X^k=X^k+kk(ZkHX^k)=X^k,选择相信计算值;反之,测量噪声协方差等于 0 时, k k = H − 1 k_k=H^{-1} kk=H1, 状态估计值: X ^ k = H − 1 Z k \hat{X}_k=H^{-1}Z_k X^k=H1Zk,选择相信测量值。

至此,卡尔曼滤波的数学推导就记录到这里了,下一章将具体讲解卡尔曼滤波的5个重要公式以及其应用!请各位移步下文。
敲公式不易,麻烦各位看官一键三连!感谢!欢迎收藏以便后续用到的时候查公式!

视频专栏链接:DR_CAN卡尔曼滤波视频专栏:密码:6.66

链接: DR_CAN卡尔曼滤波视频专栏

  • 38
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卡尔曼滤波是一种用来估计系统状态的递归滤波算法,适用于线性系统且满足高斯分布的噪声。该滤波器是由R. E. Kalman提出的。 卡尔曼滤波的原理是基于两个假设:系统动态方程能由线性方程描述,测量方程能由线性方程描述。在每个时间步,卡尔曼滤波器通过两个步骤进行估计和更新:预测步骤和校正步骤。预测步骤是根据系统动态方程和上一个时间步的估计状态预测当前状态的均值和方差。校正步骤是根据测量方程和当前观测得到的测量值以及预测的状态,利用贝叶斯定理更新状态的均值和方差,得到最终的估计值。 推导卡尔曼滤波算法的公式如下: 预测步骤: 预测状态: $ x^- = A \cdot x + B \cdot u $ 预测状态协方差矩阵: $ P^- = A \cdot P \cdot A^T + Q $ 校正步骤: 卡尔曼增益: $ K = P^- \cdot H^T \cdot (H \cdot P^- \cdot H^T + R)^{-1} $ 修正后的状态: $ x = x^- + K \cdot (z - H \cdot x^-) $ 修正后的状态协方差矩阵: $ P = (I - K \cdot H) \cdot P^- $ 其中,x是系统状态向量,A是状态转移矩阵,B是输入矩阵,u是输入向量,P是后验状态的误差协方差矩阵,Q是预测误差协方差矩阵,H是测量矩阵,R是测量误差的协方差矩阵,z是观测向量。 通过上述公式的迭代,卡尔曼滤波器可以递归地估计系统的状态,并通过校正步骤利用最新的观测值来更新估计值。这种算法估计方差较大的实时系统中具有优势,可以去除噪声和不确定性,提高系统的估计精度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值