What happens when non-zero measurement noise mean in Kalman Filter?

The Kalman filter measurement update equations for linear Gaussian system with zero-mean measurement noise are as follows,

$$x_{k|k} = x_{k|k-1} + K (z_k - Hx_{k|k-1})$$

$$P_{k|k} = P_{k|k-1} + K S K^T$$

$$K = P_{k|k-1} H^T S^{-1}$$

$$S = HP_{k|k-1}H^T + R$$

What happens, if my measurement noise is distributed as $$w \sim N(\mu, R)$$ instead of $$w \sim N(0, R)$$ ?

1. You can call the non-zero mean as systematic error which is never a desirable state in practical computations. For instance, all least-squares solver assume that your dataset has no systematic or gross errors. If you have an non-zero mean error, your parameters might be skewed in a non predictable way. So if it is for a practical tasks, use calibration methods for your instrument to extract the systematic component and use the standard zero-mean Kalman algorithm-

• Thanks for the answer you have helped me to make the problem clear. Nov 26 '20 at 6:48

One way to deal with non-zero mean noises in Kalman filtering is to introduce a bias parameter in the state vector which will be estimated as part of the whole filtering scheme. This bias, however, has to be observable. If not, there's no way to distinguish bias in measurement from actual state change.

In satellites for example, a gyroscope is used to integrate the attitude of the satellite (in the motion model). This gyroscope, however, can build some bias over time. The filter estimate is regularly corrected with some external sensors (such as star trackers which look at starts and deduce the orientation of the spacecraft). This measurement, accurate but slow, allows to correct the attitude estimate as well as the gyroscope bias.

• Thanks for the practical example you have provided. Now my problem is more clear. Nov 26 '20 at 6:49
• "introduce a bias parameter in the state vector" <- don't you mean bias parameter in the observation equation. You can do both, but OP is asking about measruement noise Mar 28 '21 at 1:55
• @Taylor: Indeed, however this bias is generally unkown, hence one need to estimate it. Typically gyroscope developp a bias because of their low frequency random-walk. But you can't know this bias hence the need to estimate it in the state vector. Apr 21 '21 at 16:42
• You can estimate static parameters too...sorry I don’t follow Apr 21 '21 at 19:50
• Yes exactly! I think we're saying the same thing. This bias (static or pseudo-static) can be estimated in the filter so that it can then be used in the observation model to remove measurement bias. Apr 22 '21 at 16:20