目标跟踪—卡尔曼滤波

news2024/10/6 13:41:18

目标跟踪—卡尔曼滤波

卡尔曼滤波引入

在这里插入图片描述

滤波是将信号中特定波段频率滤除的操作,是抑制和防止干扰的一项重要措施。是根据观察某一随机过程的结果,对另一与之有关的随机过程进行估计的概率理论与方法。

历史上最早考虑的是维纳滤波,后来R.E.卡尔曼和R.S.布西于20世纪60年代提出了卡尔曼滤波。现对一般的非线性滤波问题的研究相当活跃。

简单的理解滤波的作用是处理高斯噪声使得数据变得更加的平滑

适用系统

适用系统线性高斯系统:线性满足:叠加性齐次性即为:
y = a x 1 + b x 2 y=a x_{1}+b x_{2} y=ax1+bx2

高斯:噪声满足高斯分布。

一般情况下的理想状态为: 信号 x 1 + 噪声 x 0 在使用卡尔曼滤波的情况下。修正值= w1 x 估计值 + w2 x 观察值。

且满足 w1+ w2 = 1的条件

卡尔曼滤波基础准备

状态空间表达式

状态方程:

x k = A x k − 1 + B u k + ω k {x_{k}}=A x_{k-1}+B u_{k}+\omega_{k} xk=Axk1+Buk+ωk

  • xk:表示当前状态的当前值 K代表当前的状态信息
  • xk-1:表示上一个状态的当前值 K-1代表上一个状态信息
  • wk:表示过程噪声
  • uk:表示的是一个输入信息
  • A: 表示的是一个状态转移矩阵
  • B: 表示的是一个控制矩阵

观测方程:
y k = C x k + v k y_{k}=C x_{k}+v_{k} yk=Cxk+vk

  • yk:表示要观测的值
  • vk:表示一个过程噪声(与观察器误差有关可以简单理解为误差)
  • xk:表示当前状态的当前值 K代表当前的状态信息

参数分析

高斯白噪声:满足期望为0的高斯分布

w k ∈ N ( 0 ; Q k ) V k ∈ N ( 0 ; R k ) \begin{array}{l} w_{k} \in N\left(0 ; Q_{k}\right) \\ V_{k} \in N\left(0 ; R_{k}\right) \end{array} wkN(0;Qk)VkN(0;Rk)

其中Q:代表过程噪声的方差,R:代表观测噪声的方差。是在算法实现过程中的超参数

下面是卡尔曼滤波的直观图解
在这里插入图片描述

在这里插入图片描述

卡尔曼滤波的理论

卡尔曼滤波的理解:

实现过程: 使用上一次的最优结果预测当前的值,同时使用观测值****修正当前值,得到最优结果(可以简单理解为是一个递归的过程)

  1. 在预测过程中使用到的公式
    x ^ t − = F x ^ t − 1 + B u t − 1 P t − = F P t − 1 F T + Q \begin{array}{l} \hat{x}_{t}^{-}=F \hat{x}_{t-1}+B u_{t-1} \\ P_{t}^{-}=F P_{t-1} F^{T}+Q \end{array} x^t=Fx^t1+But1Pt=FPt1FT+Q

其中P(t)对应的是x的协方差矩阵,而其中的x-表示的就是一个预测估计

  1. 在更新过程中使用到的公式
    K t = P t − H T ( H P t − H T + R ) − 1 x ^ t = x ^ t − + K t ( z t − H x ^ t − ) P t = ( I − K t H ) P t − \begin{array}{l} K_{t}=P_{t}^{-} H^{T}\left(H P_{t}^{-} H^{T}+R\right)^{-1} \\ \hat{x}_{t}=\hat{x}_{t}^{-}+K_{t}\left(z_{t}-H \hat{x}_{t}^{-}\right) \\ P_{t}=\left(I-K_{t} H\right) P_{t}^{-} \end{array} Kt=PtHT(HPtHT+R)1x^t=x^t+Kt(ztHx^t)Pt=(IKtH)Pt

z(t)表示的就是一个观测值 K:表示的是卡尔曼增益,在更新的过程中就涉及到了预测值的更新,与协方差矩阵的更新

先验估计的简单理解

x ^ t − = F x ^ t − 1 + B u t − 1 \hat{x}_{t}^{-}=F \hat{x}_{t-1}+B u_{t-1} \\ x^t=Fx^t1+But1

其中的F即为状态转移矩阵 B即为控制矩阵

首先以匀加速直线运动为例化为状态方程的形式来进行表示
P i = P i − 1 + v i − 1 ⋅ Δ t + a 2 Δ t 2 v i = v i − 1 + a ⋅ Δ t } ⇒ [ p i v i ] = [ 1 Δ t 0 1 ] [ p i − 1 v i − 1 ] + [ Δ t 2 2 Δ t ] a i \left.\begin{array}{l} P_{i}=P_{i-1}+v_{i-1} \cdot \Delta t+\frac{a}{2} \Delta t^{2} \\ v_{i}=v_{i-1}+a \cdot \Delta t \end{array}\right\} \Rightarrow\left[\begin{array}{l} p_{i} \\ v_{i} \end{array}\right]=\left[\begin{array}{cc} 1 & \Delta t \\ 0 & 1 \end{array}\right]\left[\begin{array}{l} p_{i-1} \\ v_{i-1} \end{array}\right]+\left[\begin{array}{c} \frac{\Delta t^{2}}{2} \\ \Delta t \end{array}\right] a_{i} Pi=Pi1+vi1Δt+2aΔt2vi=vi1+aΔt}[pivi]=[10Δt1][pi1vi1]+[2Δt2Δt]ai

先验估计的协方差

P t − = F P t − 1 F T + Q P_{t}^{-}=F P_{t-1} F^{T}+Q Pt=FPt1FT+Q

根据先验估计得到协方差的推导过程如下:

cov ⁡ ( x ^ t − , x ^ t − ) = cov ⁡ ( F x ^ t − 1 + B u t − 1 , F x ^ t − 1 + B u t − 1 ) + Q = F cov ⁡ ( x ^ t − 1 , x ^ t − 1 ) F ⊤ + Q \begin{array}{l} \operatorname{cov}\left(\hat{x}_{t}^{-}, \hat{x}_{t^{-}}\right)=\operatorname{cov}\left(F \hat{x}_{t-1}+B u_{t-1}, F \hat{x}_{t-1}+B u_{t-1}\right) \\ +Q=F \operatorname{cov}\left(\hat{x}_{t-1}, \hat{x}_{t-1}\right) F^{\top} +Q \\ \end{array} cov(x^t,x^t)=cov(Fx^t1+But1,Fx^t1+But1)+Q=Fcov(x^t1,x^t1)F+Q
从而得到了先验估计协方差的形式(带过程噪声的形式)

状态更新

通过修正估计得到卡尔曼滤波的最终值(最终滤波结果)

x ^ t = x ^ t − + K t ( z t − H x ^ t − ) P t = ( I − K t H ) P t − \hat{x}_{t}=\hat{x}_{t}^{-}+K_{t}\left(z_{t}-H \hat{x}_{t}^{-}\right) \\ P_{t}=\left(I-K_{t} H\right) P_{t}^{-} x^t=x^t+Kt(ztHx^t)Pt=(IKtH)Pt

核心需要用到卡尔曼增益与测量值,需要计算测量值-预测值*H
其中H表示观测矩阵的值

其中卡尔曼增益的表示形式为:

K t = p t − H ⊤ H p t − H ⊤ + R K_{t}=\frac{p_{t}^{-} H^{\top}}{H p_{t}^{-} H^{\top}+R} Kt=HptH+RptH

根据观测值和预测值的噪声调节对应的权重值k
P t − = F P t − 1 F − 1 + Q k = P t − H ⊤ H P t − H ⊤ + R } →  化简  k = P t − 1 + Q P t − 1 + Q + R \left.\begin{array}{l} P_{t}^{-}=F P_{t-1} F^{-1}+Q \\ k=\frac{P_{t}^{-} H^{\top}}{H P_{t}^{-} H^{\top}+R} \end{array}\right\} \xrightarrow{\text { 化简 }} k=\frac{P_{t-1}+Q}{P_{t-1}+Q+R} Pt=FPt1F1+Qk=HPtH+RPtH} 化简  k=Pt1+Q+RPt1+Q

卡尔曼滤波推导

首先建立已知的现实空间中的状态空间:

x k = A x k − 1 + B u k − 1 + w k − 1 , P ( w ) ∼ ( 0 , Q ) , Q = E [ w w T ] z k = H x k + v k , P ( v ) ∼ ( 0 , R ) E [ w w T ] = E [ ( w 1 w 2 ) ( w 1 w 2 ) ] = [ E ( w 1 2 ) E ( w 1 w 2 ) E ( w 1 w 2 ) E ( w 2 2 ) ] = [ σ ( w 1 2 ) σ ( w 1 w 2 ) σ ( w 1 w 2 ) σ ( w 2 2 ) ] \begin{array}{c} x_{k}=A x_{k-1}+B u_{k-1}+w_{k-1}, \mathrm{P}(\mathrm{w}) \sim(0, \mathrm{Q}), \mathrm{Q}=\mathrm{E}\left[\mathrm{w} w^{T}\right] \\ z_{k}=H x_{k}+v_{k}, \mathrm{P}(\mathrm{v}) \sim(0, \mathrm{R}) \\ \mathrm{E}\left[\mathrm{w} w^{T}\right]=\mathrm{E}\left[\binom{w_{1}}{w_{2}}\left(\begin{array}{ll} w_{1} & \left.w_{2}\right) \end{array}\right]=\left[\begin{array}{cc} E\left(w_{1}^{2}\right) & E\left(w_{1} w_{2}\right) \\ E\left(w_{1} w_{2}\right) & E\left(w_{2}{ }^{2}\right) \end{array}\right]=\left[\begin{array}{cc} \sigma\left(w_{1}^{2}\right) & \sigma\left(w_{1} w_{2}\right) \\ \sigma\left(w_{1} w_{2}\right) & \sigma\left(w_{2}^{2}\right) \end{array}\right]\right. \end{array} xk=Axk1+Buk1+wk1,P(w)(0,Q),Q=E[wwT]zk=Hxk+vk,P(v)(0,R)E[wwT]=E[(w2w1)(w1w2)]=[E(w12)E(w1w2)E(w1w2)E(w22)]=[σ(w12)σ(w1w2)σ(w1w2)σ(w22)]

其中核心在于Q表示的是协方差矩阵,可以通过w向量的形式写成,协方差矩阵的形式

同理vk也符合同样的分布模型

实际的状态空间模型

x ^ k ′ = A x ^ k − 1 + B u k − 1 z k = H x k → x ^ k = H ′ z k ′ \begin{array}{c} \hat{x}_{k}{ }^{\prime}=A \widehat{x}_{k-1}+B u_{k-1} \\ z_{k}=H x_{k} \rightarrow \widehat{x}_{k}=H^{\prime} z_{k^{\prime}} \end{array} x^k=Ax k1+Buk1zk=Hxkx k=Hzk

我们建模中不知道的便是 ω \omega ω v v v , 其余的矩阵是已知的, 而我们通过 X k = A X k − 1 + B U k − 1 X_{k}=A X_{k-1}+B U_{k-1} Xk=AXk1+BUk1 这个公式得到的 X ^ k \hat{X}_{k} X^k 其实是不正确的,在这里在上面增加一个小小的负号, 表明它是先验估计值。
X ^ k − = A X ^ k − 1 + B U k − 1 , ( 这里的 X ^ k − 1 也是估计值 ) \hat{X}_{k}^{-}=A \widehat{X}_{k-1}+B U_{k-1} , (这里的 \widehat{X}_{k-1} 也是估计值) X^k=AX k1+BUk1,(这里的X k1也是估计值)
由于我们是知道测试结果(测量得到) Z k , Z_{k} , Zk,
那么在不考虑测量噪音的情况下, 可以大体得到一个估计的 X ^ k \hat{X}_{k} X^k ,
那么我们令这个估计的 X ^ k 命名为 X ^ k m \hat{X}_{k} 命名为 \hat{X}_{k_{m}} X^k命名为X^km , 表示这是根据测试结果估计得到的 X ^ k \hat{X}_{k} X^k
那么, 根据公式 Z k = H X ^ k Z_{k}=H \hat{X}_{k} Zk=HX^k , 可以得到
X ^ k mea  = H − 1 Z k , ( 由于是可以观测的系统 , 因此 H 一定是可逆的 ) \hat{X}_{k_{\text {mea }}}=H^{-1} Z_{k} , (由于是可以观测的系统, 因此 \mathrm{H} 一定是可逆的) X^kmea =H1Zk,(由于是可以观测的系统,因此H一定是可逆的)

因此我们得到了两个不同的关于Xk的结果,一个是先验结果xk-(算出来的),另一个是测出来的结果xkmca(测出来的),但是着两个其实都是不准确的,因为其没有考虑噪声的影响我们真正要求的是xk(表示后验),包含了噪声的影响。

引入数据融合的概念

结合数据融合的概念可以得到

已知 X ^ k − , X ^ k mea  那么 X ^ k = X ^ k − + G ( X ^ k mea  − X ^ k − ) , ( G 是方阵也就是要推导和卡尔曼增益 ) 已知 \hat{X}_{k}{ }^{-}, \hat{X}_{k_{\text {mea }}} 那么 \hat{X}_{k}=\hat{X}_{k}^{-}+G\left(\hat{X}_{k_{\text {mea }}}-\hat{X}_{k}^{-}\right),(\mathrm{G} 是方阵 也就是要推导和卡尔曼增益 ) 已知X^k,X^kmea 那么X^k=X^k+G(X^kmea X^k),(G是方阵也就是要推导和卡尔曼增益)

X ^ k mea  = H − 1 Z k , 那么 X ^ k = X ^ k − + G ( H − 1 Z k − X ^ k − ) , 那么令 K k = G H − 1 , 便可以得到 X ^ k = X ^ k − + K k ( Z k − H X ^ k − ) , 那么在此时 K k ∉ ( 0 , 1 ) , 而是 K k ∉ ( 0 , H − 1 ) , \hat{X}_{k_{\text {mea }}}=H^{-1} Z_{k} , 那么 \hat{X}_{k}=\hat{X}_{k}^{-}+G\left(H^{-1} Z_{k}-\widehat{X}_{k}^{-}\right) , 那么令 K_{k}=G H^{-1} , 便可以得到 \hat{X}_{k}=\hat{X}_{k}^{-}+K_{k}\left(Z_{k}-H \hat{X}_{k}{ }^{-}\right) , 那么在此时 K_{k} \notin(0,1) , 而是 K_{k} \notin\left(0, H^{-1}\right) , X^kmea =H1Zk,那么X^k=X^k+G(H1ZkX k),那么令Kk=GH1,便可以得到X^k=X^k+Kk(ZkHX^k),那么在此时Kk/(0,1),而是Kk/(0,H1),

推导卡尔曼增益

因此我们的目标就变得十分清晰了,就是求使得考虑了噪声之后的估计值趋近于真实值,

那么此时引入误差: e k = X k − X ^ k e_{k}=X_{k}-\hat{X}_{k} ek=XkX^k

 同理P  ( e k ) ∼ ( 0 , P ) , P  也是那个协方差矩阵  \text { 同理P }\left(e_{k}\right) \sim(0, P), P \text { 也是那个协方差矩阵 }  同理(ek)(0,P),P 也是那个协方差矩阵 

而当在不同的维度上的方差越小,那么说明这个e越接近0,因此估计值和真实值也就是最相近的。所以,要选择合适的K使得tr(P)(矩阵对角线相加)最小,那么优化问题就变成了下面这个公式。

P = E ( e k e k T ) = E ( ( X k − X ^ k ) ( X k − X ^ k ) T ) ,  将  X ^ k = X ^ k − + K k ( Z k − H X ^ k − ) 代入,   可以得到  P = E ( ( X k − ( X ^ k − + K k ( Z k − H X ^ k − ) ) ) ( X k − ( X ^ k − + K k ( Z k − H X ^ k − ) ) ) T ) ,  \begin{array}{l} \mathrm{P}=\mathrm{E}\left(e_{k} e_{k}{ }^{T}\right)=\mathrm{E}\left(\left(X_{k}-\hat{X}_{k}\right)\left(X_{k}-\hat{X}_{k}\right)^{T}\right), \\ \text { 将 } \hat{X}_{k}=\hat{X}_{k}^{-}+K_{k}\left(Z_{k}-H \hat{X}_{k}^{-}\right) \text {代入, } \\ \text { 可以得到 } \mathrm{P}=\mathrm{E}\left(\left(X_{k}-\left(\hat{X}_{k}^{-}+K_{k}\left(Z_{k}-H \hat{X}_{k}^{-}\right)\right)\right)\left(X_{k}-\left(\hat{X}_{k}^{-}+K_{k}\left(Z_{k}-H \hat{X}_{k}^{-}\right)\right)\right)^{T}\right) \text {, } \\ \end{array} P=E(ekekT)=E((XkX^k)(XkX^k)T),  X^k=X^k+Kk(ZkHX^k)代入 可以得到 P=E((Xk(X^k+Kk(ZkHX^k)))(Xk(X^k+Kk(ZkHX^k)))T)

那么此时将 Z k = H X k + v k , 进行替换。 那么此时将 Z_{k}=H X_{k}+v_{k} , 进行替换。 那么此时将Zk=HXk+vk,进行替换。

那么 X k − X ^ k = X k − X ^ k − − K k X_{k}-\hat{X}_{k}=X_{k}-\hat{X}_{k}^{-}-K_{k} XkX^k=XkX^kKk ( H X k + v k ) + K k H X ^ k − = X k − X ^ k − − K k \left(H X_{k}+v_{k}\right)+K_{k} H \hat{X}_{k}^{-}=X_{k}-\hat{X}_{k}^{-}-K_{k} (HXk+vk)+KkHX^k=XkX^kKk

H ( X k − X ^ k − ) − K k v k = ( I − K k H ) ( X k − X ^ k − ) − K k v k , H\left(X_{k}-\hat{X}_{k}^{-}\right)-K_{k} v_{k}=\left(I-K_{k} H\right)\left(X_{k}-\hat{X}_{k}^{-}\right)-K_{k} v_{k} , H(XkX^k)Kkvk=(IKkH)(XkX^k)Kkvk,
由于 e k = X k − X ^ k e_{k}=X_{k}-\widehat{X}_{k} ek=XkX k , 因此也可以命名 X k − X ^ k − 为 e k X_{k}-\widehat{X}_{k}^{-} 为 e_{k} XkX kek 的先验, 记为 e k − , e_{k}{ }^{-} , ek,

 因此  P  可改写: P = E ( e k e k T ) = E ( ( ( I − K k H ) e k − − K k v k ) ( ( I − K k H ) e k − − K k v k ) T ) ,  \text { 因此 } \mathrm{P} \text { 可改写:} \mathrm{P}=\mathrm{E}\left(e_{k} e_{k}{ }^{T}\right)=\mathrm{E}\left(\left(\left(I-K_{k} H\right) e_{k}{ }^{-}-K_{k} v_{k}\right)\left(\left(I-K_{k} H\right) e_{k}^{-}-K_{k} v_{k}\right)^{T}\right) \text {, }  因此 P 可改写:P=E(ekekT)=E(((IKkH)ekKkvk)((IKkH)ekKkvk)T)

= E [ ( I − k k H ) e k ′ e k T T ( I − k k H ) T − ( I − k k H ) e k ′ v k T k k T − k k v k e k r T ( I − k k H ) T + k k v k v k T k k T ] = E [ ( I − k k H ) e k ′ e k ′ T ( I − k k H ) T ] − E [ ( I − k k H ) e k ′ v k T k k T ] − E [ k k v k e k ′ T ( I − k k H ) T ] + E [ k k v k v k T k k T ] \begin{array}{c} =\mathrm{E}\left[\left(I-k_{k} H\right) e_{k}^{\prime} e_{k}^{T T}\left(I-k_{k} H\right)^{T}-\left(I-k_{k} H\right) e_{k}^{\prime} v_{k}{ }^{T} k_{k}{ }^{T}-k_{k} v_{k} e_{k}^{r T}\left(I-k_{k} H\right)^{T}+k_{k} v_{k} v_{k}{ }^{T} k_{k}{ }^{T}\right] \\ =\mathrm{E}\left[\left(I-k_{k} H\right) e_{k}^{\prime} e_{k}^{\prime T}\left(I-k_{k} H\right)^{T}\right]-E\left[\left(I-k_{k} H\right) e_{k}^{\prime} v_{k}{ }^{T} k_{k}{ }^{T}\right]-E\left[k_{k} v_{k} e_{k}^{\prime T}\left(I-k_{k} H\right)^{T}\right] \\ +E\left[k_{k} v_{k} v_{k}{ }^{T} k_{k}{ }^{T}\right] \end{array} =E[(IkkH)ekekTT(IkkH)T(IkkH)ekvkTkkTkkvkekrT(IkkH)T+kkvkvkTkkT]=E[(IkkH)ekekT(IkkH)T]E[(IkkH)ekvkTkkT]E[kkvkekT(IkkH)T]+E[kkvkvkTkkT]

因为 E [ e k − ] = 0 , E [ v k T ] = 0 上式可简化为 : = E [ ( I − k k H ) e k ′ e k T T ( I − k k H ) T ] + E [ k k v k v k T k k T ] = ( I − k k H ) E [ e k ′ e k T T ] ( I − k k H ) T + k k E [ v k v k T ] k k T 设 P k − = E [ e k ′ e k ′ T ] , R = E [ v k v 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 − 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 = 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 k ′ H T k k T = ( k k ( P k ′ H T ) ) T = ( k k H P k ′ T ) T tr ⁡ ( P k ) = tr ⁡ ( P k ′ ) − 2 tr ⁡ ( k k H P k ′ ) + tr ⁡ ( k k H P k ′ H T k k T ) + tr ⁡ ( k k R k k T ) 令 dtr ⁡ ( P k ) d k k = 0 又因为 : d t r ( A B ) d A = B T dtr ⁡ ( A B A T ) d A = A B + A B T 因为 R 、 H P k − H T 是对角矩阵 , 所以 : tr ⁡ ( k k H P k ′ H T k k T ) = 2 k k H P k ′ H T , tr ⁡ ( k k R k k T ) = 2 k k R 于是有。 因为 \mathrm{E}\left[e_{k}^{-}\right]=0, E\left[v_{k}{ }^{T}\right]=0 上式可简化为: \begin{array}{l} =\mathrm{E}\left[\left(I-k_{k} H\right) e_{k}^{\prime} e_{k}^{T T}\left(I-k_{k} H\right)^{T}\right]+E\left[k_{k} v_{k} v_{k}{ }^{T} k_{k}{ }^{T}\right] \\ =\left(I-k_{k} H\right) \mathrm{E}\left[e_{k}^{\prime} e_{k}{ }^{T T}\right]\left(I-k_{k} H\right)^{T}+k_{k} E\left[v_{k} v_{k}{ }^{T}\right] k_{k}{ }^{T} \end{array} 设 P_{k}^{-}=\mathrm{E}\left[e_{k}^{\prime} e_{k}^{\prime T}\right], R=E\left[v_{k} v_{k}{ }^{T}\right] ,于是有: \begin{array}{c} =\left(I-k_{k} H\right) P_{k}^{\prime}\left(I-k_{k} H\right)^{T}+k_{k} R k_{k}{ }^{T} \\ =\left(P_{k}^{\prime}-k_{k} H P_{k}^{\prime}\right)\left(I-k_{k} H\right)^{T}+k_{k} R k_{k}{ }^{T} \\ =\left(P_{k}^{\prime}-k_{k} H P_{k}^{\prime}\right)\left(I^{T}-H^{T} k_{k}{ }^{T}\right)+k_{k} R k_{k}{ }^{T} \\ \mathrm{P}_{k}=P_{k}^{\prime}-k_{k} H P_{k}^{\prime}-P_{k}^{\prime} H^{T} k_{k}{ }^{T}+k_{k} H P_{k}^{\prime} H^{T} k_{k}{ }^{T}+k_{k} R k_{k}{ }^{T} \end{array} 因为 P_{k}^{\prime} H^{T} k_{k}{ }^{T}=\left(k_{k}\left(P_{k}^{\prime} H^{T}\right)\right)^{T}=\left(k_{k} H P_{k}^{\prime T}\right)^{T} \operatorname{tr}\left(\mathrm{P}_{k}\right)=\operatorname{tr}\left(P_{k}^{\prime}\right)-2 \operatorname{tr}\left(k_{k} H P_{k}^{\prime}\right)+\operatorname{tr}\left(k_{k} H P_{k}^{\prime} H^{T} k_{k}{ }^{T}\right)+\operatorname{tr}\left(k_{k} R k_{k}{ }^{T}\right) 令 \frac{\operatorname{dtr}\left(\mathrm{P}_{k}\right)}{d k_{k}}=0 又因为: \begin{array}{c} \frac{\mathrm{dtr}(\mathrm{AB})}{d A}=B^{T} \\ \frac{\operatorname{dtr}\left(\mathrm{ABA}^{T}\right)}{d A}=A B+\mathrm{AB}^{T} \end{array} 因为 \mathrm{R} 、 H P_{k}^{-} H^{T} 是对角矩阵, 所以: \operatorname{tr}\left(k_{k} H P_{k}^{\prime} H^{T} k_{k}^{T}\right)=2 k_{k} H P_{k}^{\prime} H^{T}, \quad \operatorname{tr}\left(k_{k} R k_{k}^{T}\right)=2 k_{k} R 于是有。 因为E[ek]=0,E[vkT]=0上式可简化为:=E[(IkkH)ekekTT(IkkH)T]+E[kkvkvkTkkT]=(IkkH)E[ekekTT](IkkH)T+kkE[vkvkT]kkTPk=E[ekekT],R=E[vkvkT],于是有:=(IkkH)Pk(IkkH)T+kkRkkT=(PkkkHPk)(IkkH)T+kkRkkT=(PkkkHPk)(ITHTkkT)+kkRkkTPk=PkkkHPkPkHTkkT+kkHPkHTkkT+kkRkkT因为PkHTkkT=(kk(PkHT))T=(kkHPkT)Ttr(Pk)=tr(Pk)2tr(kkHPk)+tr(kkHPkHTkkT)+tr(kkRkkT)dkkdtr(Pk)=0又因为:dAdtr(AB)=BTdAdtr(ABAT)=AB+ABT因为RHPkHT是对角矩阵,所以:tr(kkHPkHTkkT)=2kkHPkHT,tr(kkRkkT)=2kkR于是有。

− 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{array}{c} -P_{k}^{\prime} H^{T}+k_{k}\left(H P_{k}^{\prime} H^{T}+R\right)=0 \\ k_{k}\left(H P_{k}^{\prime} H^{T}+R\right)=P_{k}^{\prime} H^{T} \\ k_{k}=\frac{P_{k}^{\prime} H^{T}}{H P_{k}^{\prime} H^{T}+R} \end{array} PkHT+kk(HPkHT+R)=0kk(HPkHT+R)=PkHTkk=HPkHT+RPkHT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1642524.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

anaconda、cuda、tensorflow、pycharm环境安装

anaconda、cuda、tensorflow、pycharm环境安装 anaconda安装 anaconda官方下载地址 本文使用的是基于python3.9的anaconda 接下来跟着步骤安装: 检验conda是否成功安装 安装CUDA和cuDNN 提醒,CUDA和cuDNN两者必须版本对应,否者将会出错…

SpringBoot---------Swagger

第一步&#xff1a;引入依赖 <!-- swagger--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId></dependency> 第二步&#xff1a;配置文件 import com.sky.intercept…

Educational Codeforces Round 165 (Rated for Div. 2) (C、D)

1969C - Minimizing the Sum 题意&#xff1a; 思路&#xff1a;观察到操作数很小&#xff0c;最值问题操作数很容易想到dp&#xff0c;用表示第个元素&#xff0c;操作了次的最小值总和&#xff0c;转移的时候枚举连续操作了几次即可&#xff0c;而连续操作了几次即将全部变成…

微信小程序 uniapp家庭食谱菜谱食材网上商城系统小程序ko137

随着生活节奏的不断加快&#xff0c;越来越多的人因为工作忙而没有时间自己出去订购喜欢的菜品。随着Internet的飞速发展&#xff0c;网络已经成为我们日常生活中必不可少的部分&#xff0c;越来越多的人也接受了电子商务这种快捷、方便的交易方式。网上订餐其独有的便捷性和直…

GNU Radio创建FFT、IFFT C++ OOT块

文章目录 前言一、GNU Radio官方FFT弊端二、创建自定义的 C OOT 块1、创建 OOT 模块2、创建 OOT 块3、修改 C 和 CMAKE 文件4、编译及安装 OOT 块 三、测试1、grc 图2、运行结果①、时域波形对比②、频谱图对比 四、资源自取 前言 GNU Radio 自带的 FFT 模块使用起来不是很方便…

opengauss概述-基础知识篇-备考华为高斯

目录 &#x1f9e8;考前准备: &#x1f3a1;数据库操作语言 ✨OLTP和OLAP &#x1f3af;常用函数 &#x1f9f2;字符处理函数 关于 left 和 right 特别重点的字符串函数 &#x1f9f2;数字操作函数 关于 ceil 和 floor &#x1f9f2;时间和日期处理函数 &#x1f9f…

karpathy Let‘s build GPT

1 introduction 按照karpathy的教程&#xff0c;一步步的完成transformer的构建&#xff0c;并在这个过程中&#xff0c;加深对transformer设计的理解。 karpathy推荐在进行网络设计的过程中&#xff0c;同时利用jupyter notebook进行快速测试和python进行主要的网络的构建。 …

安卓 app icon大小 安卓app界面尺寸大小

移动应用的界面设计画布尺寸设计多大&#xff08;特别是Android&#xff09;、图标和字体大小怎么定、需要设计多套设计稿么、如何切图以配合开发的实现&#xff1f; 本篇将结合iOS和android官方的设计规范、搜集的资料以及工作中的摸索&#xff0c;来分享移动应用界面设计中的…

《Fundamentals of Power Electronics》——基础交流建模方法

PWM整流器小信号交流模型建模的主要步骤为&#xff1a; (a)利用小纹波近似的动态版本&#xff0c;建立与电感和电容波形的低频平均值有关的方程&#xff1b; (b)平均方程的扰动和线性化&#xff1b; (c)交流等效电路模型的建立。 以下图buck-boost电路为例进行分析。 首先测…

分类规则挖掘(一)

目录 一、分类问题概述&#xff08;一&#xff09;分类规则挖掘&#xff08;二&#xff09;分类规则评估&#xff08;三&#xff09;分类规则应用 二、k-最近邻分类法 一、分类问题概述 动物分类&#xff1a;设有动物学家陪小朋友林中散步&#xff0c;若有动物突然从小朋友身边…

电路板/硬件---器件

电阻 电阻作用 电阻在电路中扮演着重要的角色&#xff0c;其作用包括&#xff1a; 限制电流&#xff1a;电阻通过阻碍电子流动的自由而限制电流。这是电阻最基本的功能之一。根据欧姆定律&#xff0c;电流与电阻成正比&#xff0c;电阻越大&#xff0c;通过电阻的电流就越小。…

【机器视觉】C# .NET 8 部署yolov9 onnx对象检测

这段代码展示了一个使用YOLOv9进行对象检测的简单测试框架。代码主体以及其功能分为以下几个关键部分&#xff1a; 创建测试图片数组 _testImages&#xff0c;它包含了图片文件名和对应的标签。使用 buildTests 方法来从给定的文件名中加载图片并调整尺寸&#xff0c;准备测试数…

Linux搭建sqlilabs靶场

提前准备&#xff1a; 文章中所使用到的Linux系统&#xff1a;Ubantu20.4sqlilabs靶场下载地址&#xff1a;GitHub - Audi-1/sqli-labs: SQLI labs to test error based, Blind boolean based, Time based. 一. 安装phpstudy phpstudy安装命令&#xff1a;wget -O install.sh h…

【链表-双向链表】

链表-双向链表 1.链表的分类1.1 分类依据1.2 常用类型 2.双向链表的2.1 双向链表的结构2.2 双向链表的操作2.2.1 **初始化**2.2.2 **尾插**2.2.3 **头插**2.2.4 **尾删**2.2.5 **头删**2.2.6 在pos位置之后插入数据2.2.7 删除pos节点2.2.8 查找2.2.9 销毁 1.链表的分类 1.1 分…

Java如何获取当前日期和时间?

Java如何获取当前日期和时间&#xff1f; 本文将为您介绍 Java 中关于日期和时间获取的方法&#xff0c;以及介绍 Java 8 中获取日期和时间的全新API。 1、 System.currentTimeMillis() 获取标准时间可以使用 System.currentTimeMillis() 方法来获取&#xff0c;此方法优势是…

Qt与MySQL连接

QT连接Mysql数据库&#xff08;详细成功版&#xff09;-CSD N博客 我的MySQL是64位的&#xff0c;所以我的Qt的套件也需要是64位的 遇到的问题&#xff1a; &#xff08;available drivers中已经有QMYSQL QMYSQL3&#xff0c;还是not loaded&#xff09; QSqlDatabase: QMYS…

专项技能训练五《云计算网络技术与应用》实训7-1:安装mininet

文章目录 mininet安装1. 按6-1教程安装opendaylight控制器。2. 按6-2教程安装RYU控制器。3. 按5-1教程安装openvswitch虚拟交换机并开启服务。4. 将老师所给mininet安装包试用winSCP传送至电脑端。5. 安装net-tools。6. 安装mininet7. 安装完成后&#xff0c;使用命令建立拓扑&…

Jenkins集成Kubernetes 部署springboot项目

文章目录 准备部署的yml文件Harbor私服配置测试使用效果Jenkins远程调用参考文章 准备部署的yml文件 apiVersion: apps/v1 kind: Deployment metadata:namespace: testname: pipelinelabels:app: pipeline spec:replicas: 2selector:matchLabels:app: pipelinetemplate:metada…

腾讯云IM即时通信引入(React Web端组件式)

开发环境要求 React ≥ v18.0 &#xff08;17.x 版本不支持&#xff09; TypeScript node&#xff08;12.13.0 ≤ node 版本 ≤ 17.0.0, 推荐使用 Node.js 官方 LTS 版本 16.17.0&#xff09; npm&#xff08;版本请与 node 版本匹配&#xff09; chat-uikit-react 集成 …

软件工程习题答案2024最新版

习题一答案 一、选择题 软件的主要特性是(A B C)。 A) **无形 **B) 高成本 C) **包括程序和文档 ** D) 可独立构成计算机系统 软件工程三要素是(B)。 A) 技术、方法和工具 B) 方法、工具和过程 C) 方法、对象和类 D) 过程、模型、方法 包含风险分析的软件工程模型是(A)…