Kalman filtering: Processing all measurements together vs processing them sequentially

424 Views Asked by At

If I have $m$ measurements to estimate an $n $ dimensional state vector, and I am using Kalman filter to do the filtering, then: Should I put all the $m$ measurements together in the measurement matrix (measurement transformation matrix ) and perform the filtering or, should I filter each measurement sequentially? Please provide some supporting explanation for your choice.

For e.g: Let $m = 2$ and $n = 3$. The state vector is 3 dimensional and we need to use the two measurements to get the posterior estimate the state vector. Now I can use one of these two methods:

  1. Use all these measurements together to form a gain matrix of size $3 \times 2$.
  2. Use one measurement at one time and perform the filtering two times. The gain matrix will be $3\times 1$ in this case.

Which of the two methods is a better choice?

1

There are 1 best solutions below

0
On BEST ANSWER

Short Answer:

This is an interesting question that I have wondered myself, but I have not worked out this problem. My intuition says that both approaches are equivalent as long as the measurements are uncorrelated. The reason is that if the measurements are correlated, then you must include the off diagonal terms of the covariance matrix. This wouldn't be possible if the updates are performed one after another.

However, we can know once and for all if we work out the equations, which shouldn't be too difficult. Here, we will consider scalar measurements for simplicity, but the concept applied for vector measurements as well.

Long Answer:

I suggest looking at the information form of the Kalman filter (KF) and extended Kalman filter (EKF) for more insight in this respect. The information matrix (i.e., inverse of covariance matrix) of the information form can be written in a single equation as follows where the time indices are omitted for clarity: $$ \begin{align} P^{-1} = (F P^{-1}F^T + Q)^{-1} + H^TR^{-1}H \end{align} $$ where $P$ is the covariance matrix, $F$ and $H$ are the Jacobians for the process and observation models, and $Q$ and $R$ are the covariance matrices for the process and observation noises.

Case 1 (Sequential Updates)

Let $A = \frac{\partial h_A}{\partial x_i}$ represent the Jacobian for the first measurement with measurement function $h_A$, and let $B = \frac{\partial h_B}{\partial x_i}$ represent the Jacobian for the second measurement with measurement function $h_B$. If we perform sequential updates, then we have the following: $$ \begin{align} P^{-1} = (F P^{-1}F^T + Q)^{-1} + A^TR_A^{-1}A + B^TR_B^{-1}B \end{align} $$ Now, assume the measurement is a scalar, then $$ A^T R^{-1}_A A = \begin{bmatrix} a_{00} & \cdots & a_{0n} \\ \vdots & \ddots & \vdots \\ a_{n0} & \cdots & a_{nn}\\ \end{bmatrix}, \;\;\;\; B^T R^{-1}_B B = \begin{bmatrix} b_{00} & \cdots & b_{0n} \\ \vdots & \ddots & \vdots \\ b_{n0} & \cdots & b_{nn}\\ \end{bmatrix} $$ where $$a_{ij} = R^{-1}_A \frac{\partial h_{A}}{\partial x_i} \frac{\partial h_{A}}{\partial x_j}, \;\;\; b_{ij} = R^{-1}_A \frac{\partial h_{B}}{\partial x_i} \frac{\partial h_{B}}{\partial x_j}$$ Therefore, $$ \begin{align} A^T R^{-1} A + B^T R^{-1} B = \begin{bmatrix} a_{00} + b_{00} & \cdots & a_{0n} + b_{0n} \\ \vdots & \ddots & \vdots \\ a_{n0} + b_{n0} & \cdots & a_{nn} + b_{nn}\\ \end{bmatrix} \end{align} $$

Case 2 (Simultaneous Updates) Let $h = [h_A, h_B]^T$ represent the measurement function, but in this case, the measurement function is a vector-valued function; therefore, the Jacobian and is given as follows: $$ H = \begin{bmatrix} \frac{\partial h_{A}}{\partial x_0} & \frac{\partial h_{A}}{\partial x_1} & \cdots \\ \frac{\partial h_{B}}{\partial x_0} & \frac{\partial h_{B}}{\partial x_1} & \cdots \\ \end{bmatrix} $$ Now, $$ H^T R^{-1} H = \begin{bmatrix} H_{00} & \cdots & H_{0n} \\ \vdots & \ddots & \vdots \\ H_{n0} & \cdots & H_{nn}\\ \end{bmatrix} $$ where $$ H_{ij} = \frac{\partial h_{A}}{\partial x_j} \bigr(R^{-1}_{A} \frac{\partial h_{A}}{\partial x_i} + R^{-1}_{BA} \frac{\partial h_{B}}{\partial x_i}) + \frac{\partial h_{B}}{\partial x_j} \bigr(R^{-1}_{AB} \frac{\partial h_{A}}{\partial x_i} + R^{-1}_{B} \frac{\partial h_{B}}{\partial x_i}) $$ where (with slight abuse of notation) $$ R^{-1} = \begin{bmatrix} R^{-1}_A & R^{-1}_{AB} \\ R^{-1}_{BA} & R^{-1}_B \end{bmatrix} $$

So, if the measurements are uncorrelated (i.e., $R^{-1}_{AB} = R^{-1}_{BA} = 0$), then $H^T R^{-1} H = A^T R^{-1} A + B^T R^{-1} B$, which means that applying the updates sequentially or simultaneously givens the same results. However, in general, you cannot apply the updates sequentially for correlated measurements.