Derivation of the Kalman Filter
Derivation Overview
In this article we derive the Kalman filter equations mathematically. The guiding principle is to minimize the expected estimation error power $E\left[\|\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k}\|^2\right]$.
For the basic setup of the Kalman filter, see the overview page.
Assumed Model
We assume the following state-space model.
\begin{align} \text{Observation equation} : \quad \boldsymbol{y}_k &= \boldsymbol{H}_k \boldsymbol{x}_k + \boldsymbol{v}_k \label{eq:observation} \\ \text{State equation} : \quad \boldsymbol{x}_k &= \boldsymbol{F}_k \boldsymbol{x}_{k-1} + \boldsymbol{w}_k \label{eq:state} \end{align}The noises $\boldsymbol{w}_k, \boldsymbol{v}_k$ have mean $\boldsymbol{0}$ and are uncorrelated with any other signal. Their covariance matrices $\boldsymbol{Q}_k = E[\boldsymbol{w}_k\boldsymbol{w}_k^T]$ and $\boldsymbol{R}_k = E[\boldsymbol{v}_k\boldsymbol{v}_k^T]$ are assumed known.
Deriving the Expected Estimation Error Power
What Is Being Minimized
The quantity to minimize is the expected estimation error power $E[\|\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k}\|^2]$. This equals the trace of the estimation error covariance matrix $\boldsymbol{P}_{k|k}$:
$$E[\|\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k}\|^2] = \text{tr}(\boldsymbol{P}_{k|k}), \quad \boldsymbol{P}_{k|k} = E[(\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k})(\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k})^T]$$The diagonal entries $(P_{k|k})_{ii}$ of $\boldsymbol{P}_{k|k}$ are the estimation error variances $E[(x_{k,i} - \hat{x}_{k|k,i})^2]$ of the $i$-th state variable, so $\text{tr}(\boldsymbol{P}_{k|k}) = \sum_i (P_{k|k})_{ii}$ is the sum of the estimation error variances of all state variables. Minimizing it yields the overall most accurate estimate.
The Error Signal Equation
The structure of the Kalman filter (see the overview) corrects the state estimate using the difference between the predicted and actual observations. Since the predicted observation is $\hat{\boldsymbol{y}}_k = \boldsymbol{H}_k \hat{\boldsymbol{x}}_{k|k-1}$, the error signal (the innovation) $\boldsymbol{e}_k$ is
\begin{align} \boldsymbol{e}_k &= \boldsymbol{y}_k - \hat{\boldsymbol{y}}_k \\ &= \boldsymbol{y}_k - \boldsymbol{H}_k \hat{\boldsymbol{x}}_{k|k-1} \label{eq:ek} \end{align}We assume that the state estimate $\hat{\boldsymbol{x}}_{k|k}$ is obtained by adding this error linearly to the prediction $\hat{\boldsymbol{x}}_{k|k-1}$ (the linear-estimator assumption):
\begin{equation} \hat{\boldsymbol{x}}_{k|k} = \hat{\boldsymbol{x}}_{k|k-1} + \boldsymbol{K}_k \boldsymbol{e}_k \label{eq:xkk} \end{equation}Here the matrix $\boldsymbol{K}_k$ is an unknown weight, and the goal of this derivation is to find the $\boldsymbol{K}_k$ that minimizes the estimation error power. From this equation, the state estimation error $\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k}$ is
\begin{align} \boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k} &= \boldsymbol{x}_k-(\hat{\boldsymbol{x}}_{k|k-1} + \boldsymbol{K}_k \boldsymbol{e}_k) \\ &\quad \text{by equation } \eqref{eq:ek} \notag \\ &= \boldsymbol{x}_k-\left\{\hat{\boldsymbol{x}}_{k|k-1} + \boldsymbol{K}_k (\boldsymbol{y}_k - \boldsymbol{H}_k \hat{\boldsymbol{x}}_{k|k-1})\right\} \\ &\quad \text{replacing } \boldsymbol{y}_k \text{ by the unknown state } \boldsymbol{x}_k \text{ using equation } \eqref{eq:observation} \notag \\ &= \boldsymbol{x}_k-\left\{\hat{\boldsymbol{x}}_{k|k-1} + \boldsymbol{K}_k (\boldsymbol{H}_k \boldsymbol{x}_k + \boldsymbol{v}_k - \boldsymbol{H}_k \hat{\boldsymbol{x}}_{k|k-1})\right\} \\ &= \boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k-1} - \boldsymbol{K}_k (\boldsymbol{H}_k \boldsymbol{x}_k + \boldsymbol{v}_k - \boldsymbol{H}_k \hat{\boldsymbol{x}}_{k|k-1}) \\ &= (\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k-1}) - \boldsymbol{K}_k \boldsymbol{H}_k ( \boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1}) - \boldsymbol{K}_k \boldsymbol{v}_k \\ &= (\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k)( \boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1}) - \boldsymbol{K}_k \boldsymbol{v}_k \label{eq:estimation-error} \end{align}and the expected value of its power is
\begin{equation} E[\|\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k}\|^2] = E\left[\left\|(\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k)( \boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1}) - \boldsymbol{K}_k \boldsymbol{v}_k\right\|^2\right] \label{eq:error-power-1} \end{equation}The noise $\boldsymbol{v}_k$ has mean $\boldsymbol{0}$ and is uncorrelated with the other signals $\boldsymbol{x}_k$ and $\hat{\boldsymbol{x}}_{k|k-1}$, so equation \eqref{eq:error-power-1} can be written as
\begin{equation} E[\|\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k}\|^2] = E\left[\left\|(\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k)( \boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1})\right\|^2\right] + E\left[\left\|\boldsymbol{K}_k \boldsymbol{v}_k\right\|^2\right] \label{eq:error-power-2} \end{equation}Using this relation, equation \eqref{eq:error-power-2} becomes
\begin{align} E[\|\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k}\|^2] &= E\left[\text{tr}\left[(\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k)( \boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1}) ( \boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1})^T (\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k)^T\right]\right] \notag \\ &\quad + E\left[\text{tr}\left[\boldsymbol{K}_k \boldsymbol{v}_k\boldsymbol{v}_k^T \boldsymbol{K}_k^T\right]\right] \end{align}Since $\boldsymbol{K}_k$ and $\boldsymbol{H}_k$ are deterministic, they can be taken outside the expectation $E[\cdot]$:
\begin{align} E[\|\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k}\|^2] &= \text{tr}\left[(\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k) E\left[( \boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1}) ( \boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1})^T \right] (\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k)^T\right] \notag \\ &\quad + \text{tr}\left[\boldsymbol{K}_k E\left[ \boldsymbol{v}_k\boldsymbol{v}_k^T \right] \boldsymbol{K}_k^T\right] \end{align}Denoting the predicted error covariance matrix by
\begin{equation} \boldsymbol{P}_{k|k-1} = E[(\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1})(\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1})^T] \label{eq:Pkk-1} \end{equation}and using $\boldsymbol{R}_k = E[\boldsymbol{v}_k\boldsymbol{v}_k^T]$, we get
\begin{align} E[\|\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k}\|^2] &= \text{tr}[(\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k) \boldsymbol{P}_{k|k-1} (\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k)^T] + \text{tr}[\boldsymbol{K}_k \boldsymbol{R}_k \boldsymbol{K}_k^T] \end{align}Expanding the first term,
\begin{align} &\text{tr}[(\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k) \boldsymbol{P}_{k|k-1} (\boldsymbol{I} - \boldsymbol{H}_k^T \boldsymbol{K}_k^T)] \\ &= \text{tr}[\boldsymbol{P}_{k|k-1} - \boldsymbol{K}_k \boldsymbol{H}_k \boldsymbol{P}_{k|k-1} - \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T \boldsymbol{K}_k^T + \boldsymbol{K}_k \boldsymbol{H}_k \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T \boldsymbol{K}_k^T] \end{align}Letting
\begin{equation} \boldsymbol{S}_k = \boldsymbol{H}_k \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T + \boldsymbol{R}_k \label{eq:Sk} \end{equation}we obtain
\begin{equation} E[\|\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k}\|^2] = \text{tr}\left[ \boldsymbol{P}_{k|k-1} - \boldsymbol{K}_k \boldsymbol{H}_k \boldsymbol{P}_{k|k-1} - \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T \boldsymbol{K}_k^T + \boldsymbol{K}_k \boldsymbol{S}_k \boldsymbol{K}_k^T \right] \label{eq:error-power-final} \end{equation}which is the quantity to be minimized.
Derivation of the Optimal Kalman Gain $\boldsymbol{K}_k$
Inside the Kalman filter, only $\boldsymbol{K}_k$ is free to choose. How should we pick $\boldsymbol{K}_k$ so as to minimize the expected estimation error power?
At the $\boldsymbol{K}_k$ that minimizes the expected power of the estimation error $\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k}$, we must have
\begin{equation} \frac{\partial}{\partial \boldsymbol{K}_k} E[\|\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k}\|^2] = 0 \label{eq:partial-zero} \end{equation}| $\displaystyle\frac{\partial}{\partial \boldsymbol{X}} \text{tr}[\boldsymbol{XA}] = \boldsymbol{A}^T$ | (proof) |
| $\displaystyle\frac{\partial}{\partial \boldsymbol{X}} \text{tr}[\boldsymbol{AX^T}] = \boldsymbol{A}$ | (proof) |
| $\displaystyle\frac{\partial}{\partial \boldsymbol{X}} \text{tr}[\boldsymbol{XAX^T}] = \boldsymbol{X}(\boldsymbol{A}+\boldsymbol{A}^T)$ | (proof) |
We apply these formulas to each term of equation \eqref{eq:error-power-final}. The $\boldsymbol{P}_{k|k-1}$ term does not depend on $\boldsymbol{K}_k$, so its derivative is 0. For the rest:
- $\text{tr}[\boldsymbol{K}_k (\boldsymbol{H}_k \boldsymbol{P}_{k|k-1})]$ has the form $\text{tr}[\boldsymbol{X}\boldsymbol{A}]$ with $\boldsymbol{A}=\boldsymbol{H}_k \boldsymbol{P}_{k|k-1}$, so its derivative is $\boldsymbol{A}^T = \boldsymbol{P}_{k|k-1}^T \boldsymbol{H}_k^T$.
- $\text{tr}[(\boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T) \boldsymbol{K}_k^T]$ has the form $\text{tr}[\boldsymbol{A}\boldsymbol{X}^T]$, so its derivative is $\boldsymbol{A} = \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T$.
- $\text{tr}[\boldsymbol{K}_k \boldsymbol{S}_k \boldsymbol{K}_k^T]$ has the form $\text{tr}[\boldsymbol{X}\boldsymbol{A}\boldsymbol{X}^T]$ with $\boldsymbol{A}=\boldsymbol{S}_k$, so its derivative is $\boldsymbol{K}_k (\boldsymbol{S}_k + \boldsymbol{S}_k^T)$.
Adding these together, minding the signs:
\begin{align} \frac{\partial}{\partial \boldsymbol{K}_k} E[\|\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k}\|^2] &= \frac{\partial}{\partial \boldsymbol{K}_k} \text{tr}\left[ \boldsymbol{P}_{k|k-1} - \boldsymbol{K}_k \boldsymbol{H}_k \boldsymbol{P}_{k|k-1} - \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T \boldsymbol{K}_k^T + \boldsymbol{K}_k \boldsymbol{S}_k \boldsymbol{K}_k^T \right] \\ &= - (\boldsymbol{H}_k \boldsymbol{P}_{k|k-1})^T - \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T + \boldsymbol{K}_k (\boldsymbol{S}_k + \boldsymbol{S}_k^T) \\ &= - \boldsymbol{P}_{k|k-1}^T \boldsymbol{H}_k^T - \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T + \boldsymbol{K}_k (\boldsymbol{S}_k + \boldsymbol{S}_k^T) \label{eq:ddK} \end{align}Since $\boldsymbol{P}_{k|k-1}$ and $\boldsymbol{S}_k$ are symmetric matrices (covariance matrices are always symmetric), we have $\boldsymbol{P}_{k|k-1}^T = \boldsymbol{P}_{k|k-1}$ and $\boldsymbol{S}_k^T = \boldsymbol{S}_k$, which gives
\begin{align} \frac{\partial}{\partial \boldsymbol{K}_k} E[\|\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k}\|^2] &= - 2\boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T + 2\boldsymbol{K}_k \boldsymbol{S}_k = 0 \end{align}Hence
\begin{equation} \boldsymbol{K}_k \boldsymbol{S}_k = \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T \label{eq:KS-PH} \end{equation}and multiplying both sides by $\boldsymbol{S}_k^{-1}$ from the right:
Kalman Gain
\begin{equation} \boldsymbol{K}_k = \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T \boldsymbol{S}_k^{-1} \label{eq:Kk} \end{equation}With this choice, the expected power of the estimation error $\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k}$ is minimized.
Predicted Error Covariance Matrix $\boldsymbol{P}_{k|k-1}$
The $\boldsymbol{P}_{k|k-1} = E[(\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1})(\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1})^T]$ needed to compute equation \eqref{eq:Kk} contains the unknown state $\boldsymbol{x}_k$, so as it stands the Kalman gain $\boldsymbol{K}_k$ cannot be evaluated. We therefore derive a recursion that obtains $\boldsymbol{P}_{k|k-1}$ from the estimation error covariance $\boldsymbol{P}_{k-1|k-1}$ at the previous sample.
From equation \eqref{eq:state}, the state evolves as $\boldsymbol{x}_k = \boldsymbol{F}_k \boldsymbol{x}_{k-1} + \boldsymbol{w}_k$, and the prediction $\hat{\boldsymbol{x}}_{k|k-1}$ is
\begin{equation} \hat{\boldsymbol{x}}_{k|k-1} = \boldsymbol{F}_k \hat{\boldsymbol{x}}_{k-1|k-1} \label{eq:xkk-1} \end{equation}so the error of the prediction $\hat{\boldsymbol{x}}_{k|k-1}$ with respect to the state $\boldsymbol{x}_k$ is
\begin{align} \boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1} &= \boldsymbol{F}_k \boldsymbol{x}_{k-1} + \boldsymbol{w}_k - \boldsymbol{F}_k \hat{\boldsymbol{x}}_{k-1|k-1} \\ &= \boldsymbol{F}_k (\boldsymbol{x}_{k-1}-\hat{\boldsymbol{x}}_{k-1|k-1}) + \boldsymbol{w}_k \end{align}and equation \eqref{eq:Pkk-1} becomes
\begin{align} \boldsymbol{P}_{k|k-1} &= E[(\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1})(\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1})^T] \\ &= E[\{\boldsymbol{F}_k (\boldsymbol{x}_{k-1}-\hat{\boldsymbol{x}}_{k-1|k-1}) + \boldsymbol{w}_k\}\{\boldsymbol{F}_k (\boldsymbol{x}_{k-1}-\hat{\boldsymbol{x}}_{k-1|k-1}) + \boldsymbol{w}_k\}^T] \end{align}Since $\boldsymbol{w}_k$ is uncorrelated with signals at time $k-1$ and earlier (namely $\boldsymbol{x}_{k-1}, \hat{\boldsymbol{x}}_{k-1|k-1}$) and has mean $\boldsymbol{0}$, the two cross terms $E[\boldsymbol{F}_k(\boldsymbol{x}_{k-1}-\hat{\boldsymbol{x}}_{k-1|k-1})\boldsymbol{w}_k^T]$ and $E[\boldsymbol{w}_k (\boldsymbol{x}_{k-1}-\hat{\boldsymbol{x}}_{k-1|k-1})^T \boldsymbol{F}_k^T]$ that appear after expansion both vanish. Hence
\begin{align} \boldsymbol{P}_{k|k-1} &= E[\boldsymbol{F}_k (\boldsymbol{x}_{k-1}-\hat{\boldsymbol{x}}_{k-1|k-1})(\boldsymbol{x}_{k-1}-\hat{\boldsymbol{x}}_{k-1|k-1})^T \boldsymbol{F}_k^T] + E[\boldsymbol{w}_k \boldsymbol{w}_k^T] \\ &= \boldsymbol{F}_k E[(\boldsymbol{x}_{k-1}-\hat{\boldsymbol{x}}_{k-1|k-1})(\boldsymbol{x}_{k-1}-\hat{\boldsymbol{x}}_{k-1|k-1})^T] \boldsymbol{F}_k^T + \boldsymbol{Q}_k \end{align}Denoting the estimation error covariance matrix by
\begin{equation} \boldsymbol{P}_{k|k} = E[(\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k})(\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k})^T] \label{eq:Pkk} \end{equation}its value one sample earlier is $\boldsymbol{P}_{k-1|k-1} = E[(\boldsymbol{x}_{k-1} - \hat{\boldsymbol{x}}_{k-1|k-1})(\boldsymbol{x}_{k-1} - \hat{\boldsymbol{x}}_{k-1|k-1})^T]$, so
Predicted Error Covariance Matrix
\begin{equation} \boldsymbol{P}_{k|k-1} = \boldsymbol{F}_k \boldsymbol{P}_{k-1|k-1} \boldsymbol{F}_k^T + \boldsymbol{Q}_k \label{eq:Pkk-1-result} \end{equation}This lets us compute the Kalman gain $\boldsymbol{K}_k$ even without knowing the state $\boldsymbol{x}_k$, provided $\boldsymbol{P}_{k-1|k-1}$ has been computed.
Estimated Error Covariance Matrix $\boldsymbol{P}_{k|k}$
We now describe how to compute the $\boldsymbol{P}_{k-1|k-1}$ used in equation \eqref{eq:Pkk-1-result}.
Starting from equation \eqref{eq:estimation-error} for the error of the estimate $\hat{\boldsymbol{x}}_{k|k}$, $$\boldsymbol{x}_k-\hat{\boldsymbol{x}}_{k|k} = (\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k)( \boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1}) - \boldsymbol{K}_k \boldsymbol{v}_k$$ we compute the estimation error covariance matrix $\boldsymbol{P}_{k|k}$.
\begin{align} \boldsymbol{P}_{k|k} &= E[(\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k})(\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k})^T] \\ &= E[\{(\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k)( \boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1}) - \boldsymbol{K}_k \boldsymbol{v}_k\}\{(\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k)( \boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1}) - \boldsymbol{K}_k \boldsymbol{v}_k\}^T] \end{align}Since $\boldsymbol{v}_k$ has mean $\boldsymbol{0}$ and is uncorrelated with $\boldsymbol{x}_k$ and $\hat{\boldsymbol{x}}_{k|k-1}$, the cross term $E[(\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k)(\boldsymbol{x}_k - \hat{\boldsymbol{x}}_{k|k-1}) \boldsymbol{v}_k^T \boldsymbol{K}_k^T]$ that arises on expansion, together with its transpose, both vanish. Collecting the remaining two terms gives
\begin{align} \boldsymbol{P}_{k|k} &= (\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k) \boldsymbol{P}_{k|k-1} (\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k)^T + \boldsymbol{K}_k \boldsymbol{R}_k \boldsymbol{K}_k^T \end{align}Expanding,
\begin{align} \boldsymbol{P}_{k|k} &= \boldsymbol{P}_{k|k-1} - \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T \boldsymbol{K}_k^T - \boldsymbol{K}_k \boldsymbol{H}_k \boldsymbol{P}_{k|k-1} + \boldsymbol{K}_k \boldsymbol{H}_k \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T \boldsymbol{K}_k^T + \boldsymbol{K}_k \boldsymbol{R}_k \boldsymbol{K}_k^T \\ &= \boldsymbol{P}_{k|k-1} - \boldsymbol{K}_k \boldsymbol{H}_k \boldsymbol{P}_{k|k-1} - \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T \boldsymbol{K}_k^T + \boldsymbol{K}_k (\boldsymbol{H}_k \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T + \boldsymbol{R}_k)\boldsymbol{K}_k^T \end{align}By equation \eqref{eq:Sk}, $\boldsymbol{S}_k = \boldsymbol{H}_k \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T + \boldsymbol{R}_k$, so
\begin{align} \boldsymbol{P}_{k|k} &= \boldsymbol{P}_{k|k-1} - \boldsymbol{K}_k \boldsymbol{H}_k \boldsymbol{P}_{k|k-1} + \boldsymbol{K}_k \boldsymbol{S}_k \boldsymbol{K}_k^T - \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T \boldsymbol{K}_k^T \\ &= (\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k) \boldsymbol{P}_{k|k-1} + (\boldsymbol{K}_k \boldsymbol{S}_k - \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T) \boldsymbol{K}_k^T \end{align}By equation \eqref{eq:KS-PH}, $\boldsymbol{K}_k \boldsymbol{S}_k = \boldsymbol{P}_{k|k-1} \boldsymbol{H}_k^T$, so the second term vanishes and
Estimated Error Covariance Matrix
\begin{equation} \boldsymbol{P}_{k|k} = (\boldsymbol{I} - \boldsymbol{K}_k \boldsymbol{H}_k) \boldsymbol{P}_{k|k-1} \label{eq:Pkk-result} \end{equation}Performing this computation at the previous time $k-1$ yields $\boldsymbol{P}_{k-1|k-1}$, which in turn allows $\boldsymbol{P}_{k|k-1}$ to be computed via equation \eqref{eq:Pkk-1-result}.
In other words, this computation is done to be used at the next time step.