Add a non-zero mean to the equation of state of Kalman filter

kalman filtermeansrandomsteady state

The measurement data of the laser gyro is used to establish the noise random process model, and then the Kalman filter state equation is established through the model parameters. First, remove the average value of the measured data and then build the ARIMA model. The output data of the laser gyro is relatively stable (DW0 = 2.0007:Durbin-Watson statistic), and the data stationarity test is already met without difference. The established random process noise model ARIMA (1,0,0) is as follows:

  • ${Y_t} = \mu + {\phi _1}{Y_{t – 1}} + {\varepsilon _t}$

This formula removes the mean value and is the state equation (prediction equation) in Kalman filtering. Because if the mean value is included, it will continue to be added to the predicted value, resulting in divergence.
The parameters of ARIMA (1,0,0) are as follows:$\mu {\rm{ = }}-0.00011775$,${\phi _1} = -0.050254$,$\sigma \left( {{\varepsilon _t}} \right){\rm{ = }}2272.2$.
The figure below is the result of the measurement data after Kalman filtering:

Figure 1: The Kalman filter method is used to process the data of laser gyro without the mean value

It can be seen from the data in the figure that the center value of the filtered data (blue) and the center average of the original measurement data (black) coincide. However, if the measurement data used to establish the ARIMA model does not subtract the average value, the two center values will not coincide. The following obtains the ARIMA (1,0,0) model parameters without deducting the central value:$\mu {\rm{ = }}612.24$,${\phi _1} = -0.050254$,$\sigma \left( {{\varepsilon _t}} \right){\rm{ = }}2272.2$. And the filtered result is shown in the figure:

Figure 2: Kalman filter method is used to process the data of laser gyro without removing the mean value

The biggest difference between these two results is that the second model has a large mean $\mu {\rm{ = }}612.24$. But the mean value in the ARIMA model cannot be added to the Kalman filter's state equation. I have consulted many variants of Kalman filter algorithm, but none of them seem to mention this problem.
I tried to build a more complex ARIMA model to study this problem, and found that if the mean is small, After a limited number of iterations, the filtered mean can quickly catch up with the mean of the original measurement data. If the model mean is large, there will be a fixed deviation(as shown in Figure 2).

How much non-zero mean value can be ignored in the state equation of Kalman filter, and the mean value of the original data can still be tracked stably? In actual navigation applications, real-time data changes drastically, and the filtered data must track the measured data in real time. It cannot be a post-processing method that subtracts the average value and then filters. Is it that the prediction equation in the Kalman filter equation does not allow adding a mean constant? How does Kalman filter ensure that the data before and after filtering does not deviate as shown in Figure 2 in practical applications? This problem should involve the problem of stable solutions determined by the parameters of the Kalman filter equation. There should be researchers who have discussed this issue, but I have not found the relevant literature yet, I hope you can give some suggestions.

Best Answer

One can solve this problem by adding the bias to the state vector. So one could define the state space model with state $x_t = \begin{bmatrix}Y_t & \mu_t\end{bmatrix}^\top$ as

\begin{align} x_t &= \begin{bmatrix} \phi_1 & 1 \\ 0 & 1 \end{bmatrix} x_{t-1} + w_{t-1}, \\ y_t &= \begin{bmatrix} 1 & 0 \end{bmatrix} x_t + v_t, \end{align}

with $w_t$ and $v_t$ zero mean (possibly multivariate) normally distributed with a given covariance. This approach also allows one to estimate $\mu$ online. But in order for the state covariance of the Kalman filter using this model to remain bounded it is required that covariance of $v_t$ is non-zero. This would also allow for better state estimation if $\mu$ would drift over time.

Another possibility of incorporating $\mu$ into the state space model used by the Kalman filter is to view it as an known input. But this doesn't allow for any compensation for drifting values for $\mu$ over time, and $\mu$ would have to be estimated offline before using the Kalman filter.

Related Question