Wertekontinuierliche lineare Systeme

Wertekontinuierliche lineare Systeme

Kalman Filter

Prädiktion

x^kp=Ak1x^k1e+Bk1u^k1 \underline{\hat{x}}_k^p = \mathbf{A}_{k-1}\underline{\hat{x}}_{k-1}^e + \mathbf{B}_{k-1} \underline{\hat{u}}_{k-1} Ckp=Ak1Ck1eAk1+Bk1Ck1wBk1 \mathbf{C}_k^p = \mathbf{A}_{k-1} \mathbf{C}_{k-1}^e A_{k-1}^\top + \mathbf{B}_{k-1} \mathbf{C}_{k-1}^w \mathbf{B}_{k-1}^\top

Filterung

Kk=CkpHk(Ckv+HkCkpHk)1(Kalman Gain) \mathbf{K}_k = \mathbf{C}_k^p \mathbf{H}_k^\top (\mathbf{C}_k^v + \mathbf{H}_k \mathbf{C}_k^p \mathbf{H}_k ^\top)^{-1} \tag{Kalman Gain} x^ke=(IKkHk)x^kp+Kky^k=x^kp+Kk(y^kHkx^kp) \underline{\hat{x}}_k^e = (\mathbf{I} - \mathbf{K}_k \mathbf{H}_k) \underline{\hat{x}}_k^p + \mathbf{K}_k \underline{\hat{y}}_k = \underline{\hat{x}}_k^p + \mathbf{K}_k(\underline{\hat{y}}_k - \mathbf{H}_k \underline{\hat{x}}_k^p) Cke=(IKkHk)Ckp=CkpCkpHk(Ckv+HkCkpHk)1HkCkp \mathbf{C}_k^e = (\mathbf{I} - \mathbf{K}_k\mathbf{H}_k)\mathbf{C}_k^p = \mathbf{C}_k^p - \mathbf{C}_k^p \mathbf{H}_k^\top (\mathbf{C}_k^v + \mathbf{H}_k \mathbf{C}_k^p \mathbf{H}_k ^\top)^{-1}\mathbf{H}_k \mathbf{C}_k^p

Kalman Filter (vektoriell) herleiten

Prädiktion

Systemabbildung

xk+1=Akxk+Bk(u~k+wk)uk \underline{x}_{k+1}=\mathbf{A}_{k} \cdot \underline{x}_{k}+\mathbf{B}_{k} \cdot \underbrace{\left(\underline{\tilde{u}}_{k}+\underline{w}_{k}\right)}_{\underline{u_k}}

Schritte

  1. Berechnung des Erwartungswerts für k+1k+1

    E{xk+1}=Akx^k1:m+Bku~k(+) E\left\{\underline{x}_{k+1}\right\}=\mathbf{A}_{k} \cdot \underline{\hat{x}}_{k|1: m}+\mathbf{B}_{k} \tilde{\underline{u}}_{k} \qquad (+)
  2. Berechnung der Kovarianzmatrix Ck+11:mxC_{k+1|1:m}^x mit der Annahme, dass Zustand und Systemrauschen unkorreliert sind

    xk+1=Akxk+Bkuk=[AkBk][xkuk] \begin{aligned} \underline{x}_{k+1} &=\mathbf{A}_{k} \underline{x}_{k}+\mathbf{B}_{k} \underline{u}_{k} \\ &=\left[\begin{array}{ll} \mathbf{A}_{k} & \mathbf{B}_{k} \end{array}\right]\left[\begin{array}{c} \underline{x}_{k} \\ \underline{u}_{k} \end{array}\right] \end{aligned}
    1. Berechne Cov{[xku~k]}\operatorname{Cov}\left\{\left[\begin{array}{c} \underline{x}_{k} \\ \underline{\tilde{u}}_{k} \end{array}\right]\right\}

      xk+1x^k+1=[AkBk][xkx^kuku^k]=[AkBk][xkx^kwk] \begin{aligned} \underline{x}_{k+1}-\hat{\underline{x}}_{k+1} &=\left[\begin{array}{ll} \mathbf{A}_{k} & \mathbf{B}_{k} \end{array}\right]\left[\begin{array}{c} \underline{x}_{k}-\hat{\underline{x}}_{k} \\ \underline{u}_{k}-\underline{\hat{u}}_{k} \end{array}\right] \\ &=\left[\begin{array}{ll} \mathbf{A}_{k} & \mathbf{B}_{k} \end{array}\right]\left[\begin{array}{c} \underline{x}_{k}-\underline{\hat{x}}_{k} \\ \underline{w}_{k} \end{array}\right] \end{aligned} Cov{[xku~k]}=E{[xkx^kwk][(xkx^k)wk]}=[Ck1:mx00Ckw] \begin{aligned} \operatorname{Cov}\left\{\left[\begin{array}{c} \underline{x}_{k} \\ \underline{\tilde{u}}_{k} \end{array}\right]\right\} &=E\left\{\left[\begin{array}{c} \underline{x}_{k}-\underline{\hat{x}}_{k} \\ \underline{w}_{k} \end{array}\right]\left[\left(\underline{x}_{k}-\underline{\hat{x}}_{k}\right)^{\top} \underline{w}_{k}^{\top}\right]\right\} \\ &=\left[\begin{array}{cc} C_{k \mid 1: m}^{x} & 0 \\ 0 & C_{k}^{w} \end{array}\right] \end{aligned}
    2. Cov{[xku~k]}\operatorname{Cov}\left\{\left[\begin{array}{c} \underline{x}_{k} \\ \underline{\tilde{u}}_{k} \end{array}\right]\right\} in Berechnung von Ck+11:mxC_{k+1|1:m}^x einsetzen

      Ck+11:mx=E{(xk+1x^k+1)(xk+1x^k+1)}=[AkBk]E{[xkx^kwk][xkx^kwk]}[AkBk]=[AkBk][Ck1:m00Ckw][AkBk]=AkCk1:mxAk+BkCkwBk(++) \begin{aligned} \mathbf{C}_{k+1 \mid 1 : m}^{x} &=E\left\{\left(\underline{x}_{k+1}-\hat{x}_{k+1}\right)\left(x_{k+1} - \hat{\underline{x}}_{k+1}\right)^\top\right\} \\ &=\left[\begin{array}{ll} \mathbf{A}_{k} & \mathbf{B}_{k} \end{array}\right] \cdot E\left\{\left[\begin{array}{c} \underline{x}_{k}-\hat{\underline{x}}_{k} \\ \underline{w}_{k} \end{array}\right]\left[\begin{array}{ll} \underline{x}_{k}-\hat{\underline{x}}_{k} & \underline{w}_{k} \end{array}\right]^\top\right\} \cdot\left[\begin{array}{l} \mathbf{A}_{k}^{\top} \\ \mathbf{B}_{k}^{\top} \end{array}\right] \\\\ &=\left[\begin{array}{ll} \mathbf{A}_{k} & \mathbf{B}_{k} \end{array}\right] \cdot\left[\begin{array}{cc} \mathbf{C}_{k \mid 1:m} & 0 \\ 0 & \mathbf{C}_{k}^{w} \end{array}\right] \cdot\left[\begin{array}{l} \mathbf{A}_{k}^{\top} \\ \mathbf{B}_{k}^{\top} \end{array}\right] \\ &=\mathbf{A}_{k} \cdot \mathbf{C}_{k \mid 1: m}^{x} \mathbf{A}_{k}^{\top}+\mathbf{B}_{k} \mathbf{C}_{k}^{w} \mathbf{B}_{k}^{\top} \qquad(++) \end{aligned}

Filterung

Messabbildung

yk=Hkxk+vk \underline{y}_{k}=\mathbf{H}_{k} \cdot \underline{x}_{k}+\underline{v}_{k}

Schritte

  1. Schreibe xke\underline{x}_k^e als lineare Kombination von xkp\underline{x}_k^p und yk\underline{y}_k

    xke=Kk(1)xkp+Kk(2)yk \underline{x}_{k}^e=\mathbf{K}_{k}^{(1)} \underline{x}_{k}^p+\mathbf{K}_{k}^{(2)} \underline{y}_{k}
  2. Aus BLUE Filter ergibt sich

    E{xke}=E{Kk(1)xkp+Kk(2)yk} E\{\underline{x}_{k}^e\}=E\{\mathbf{K}_{k}^{(1)} \underline{x}_{k}^p+\mathbf{K}_{k}^{(2)} \underline{y}_{k}\}

    \Rightarrow

    Kk(1)=IKkHkKk(2)=Kk \begin{aligned} \mathbf{K}_{k}^{(1)} &= \mathbf{I} - \mathbf{K}_{k}\mathbf{H}_{k} \\ \mathbf{K}_{k}^{(2)} &= \mathbf{K}_{k} \end{aligned}

    und

    xke=(IKkHk)xkp+Kkyk \underline{x}_{k}^e=(\mathbf{I} - \mathbf{K}_{k}\mathbf{H}_{k}) \underline{x}_{k}^p+\mathbf{K}_{k} \underline{y}_{k}
  3. Berechne Kovarianzmatrix Cke\mathbf{C}_k^e

    Cke(Kk)=Cov{xkex}=(IKkHk)Ckp(IKkHk)+KkCkvKk \mathbf{C}_{k}^{e}\left(\mathbf{K}_{k}\right)=\operatorname{Cov}\{\underline{x}_k^e - \underline{x}\} = \left(\mathbf{I}-\mathbf{K}_{k} \mathbf{H}_{k}\right) \mathbf{C}_{k}^{p}\left(\mathbf{I}-\mathbf{K}_{k} \mathbf{H}_{k}\right)^{\top}+\mathbf{K}_{k} C_{k}^{v} \mathbf{K}_{k}^{\top}

    Wir suche Kk\mathbf{K}_{k} so, dass der resultierende Schätzer MINIMAL kovarianz aufweist.

    1. Auf skalares Gütemaß zurückzuführen

      P(Kk)=e((IKkHk)Ckp(IKkHk)+KkCkvKk)e P(\mathbf{K}_{k}) = \underline{e}^\top \left( \left(\mathbf{I}-\mathbf{K}_{k} \mathbf{H}_{k}\right) \mathbf{C}_{k}^{p}\left(\mathbf{I}-\mathbf{K}_{k} \mathbf{H}_{k}\right)^{\top}+\mathbf{K}_{k} C_{k}^{v} \mathbf{K}_{k}^{\top}\right) \underline{e}
    2. KkP(Kk)=!0\frac{\partial}{\partial \mathbf{K}_{k}} P(\mathbf{K}_{k})\overset{!}{=} 0 \Rightarrow Kk=CkpHk(Ckv+HkCkpHk)1 \mathbf{K}_k = \mathbf{C}_k^p \mathbf{H}_k^\top (\mathbf{C}_k^v + \mathbf{H}_k \mathbf{C}_k^p \mathbf{H}_k^\top)^{-1}
  4. Kk\mathbf{K}_k in xke\underline{x}_{k}^e und Cke\mathbf{C}_{k}^{e} einsetzen

Ergebnis von “Gauß mal Gauß”

Drei Gütemaße für die „Größe“ einer Kovarianzmatrix

Mögliche Gütemaße für generelles Vergleichen von Kovarianzmatrizen:

f:Rn×nR1 f: \mathbb{R}^{n \times n} \to \mathbb{R}^1

Funktion, die einer Kovarianzmatrix einen Skalar zuordnen kann, denn man kann nur Skalare direkt miteinander vergleichen.

Drei Gütemaße

  • Projektion mit Einheitsvektor
  • Spur
  • Determinante
截屏2022-08-22 12.31.16