If I have
measurements to estimate an
dimensional state vector, and I am using Kalma
If I have measurements to estimate an dimensional state vector, and I am using Kalman filter to do the filtering, then: Should I put all the 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 and . 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 .
2. Use one measurement at one time and perform the filtering two times. The gain matrix will be in this case.
Which of the two methods is a better choice?
Answer & Explanation
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.
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:
where is the covariance matrix, and are the Jacobians for the process and observation models, and and are the covariance matrices for the process and observation noises.
Case 1 (Sequential Updates)
Let represent the Jacobian for the first measurement with measurement function , and let represent the Jacobian for the second measurement with measurement function . If we perform sequential updates, then we have the following:
Now, assume the measurement is a scalar, then
Case 2 (Simultaneous Updates) Let h=[hA,hB]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:
where (with slight abuse of notation)
So, if the measurements are uncorrelated (i.e., ), then , 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.