I was reading about the Kalman filter and I do not understand how it should be used when our measurements have a long term offset like GPS location updates do.


As I understand, the Kalman filter models our measurements by a linear combination of the state variables and additional error variables, where the errors are independent and normally distributed. So the model assumes that the expected value of our measurements is some linear combination of the state. However, this is not true in case of a faulty (aka real-world) sensor which has a systematic offset that contributes to the expected value. In addition, this bias varies over time that could be of course modeled with some stochastic process, but nevertheless it is not a series of independently normal variables.


How should then one apply the filter in these cases? Is a separate method needed for estimating the systematic bias of the sensors? Or is there some trick?



Kalman filter with long term bias
The usual practice, I think, is to add a bias term to the state vector and use the Kalman filter to estimate that bias. The bias itself is often modeled as a random walk. Bias in gyroscope measurements is usually handled this way.


