Simple formula for estimating the initial state in Kalman filter

2.3k Views Asked by At

Consider the standard state-space for Kalman filter is: \begin{align} x_{t+1}&= F x_{t} + Gw_t\\ y_t&= Hx_t + v_t, \end{align} where $x_0\sim \mathcal N(0,\Sigma_{1|0})$ and $(w_t,v_t)$ is an i.i.d. Gaussian sequence.

My question is whether:

  1. there is a simple (recursive perhaps) formula for estimating the initial state given a measurements' tuple. In part, can we write \begin{align} \hat{x}_{0|n} = \mathbb{E}[x_0|y_1,\dots,y_n]. \end{align} as a function of $\hat{x}_{0|n-1} = \mathbb{E}[x_0|y_1,\dots,y_{n-1}]$.
  2. Same question for the associated error $cov(x_0-\hat{x}_{0|n})$.
1

There are 1 best solutions below

5
On

The Kalman filter (KF) requires an initial state and covariance matrix, but you may initialize these to any value. For example, if the initial state is unknown, you may provide an initial guess as the initial state and initialize the covariance matrix with large values. Depending on the system, the state estimate and covariance matrix may converge.

For example, if you want to estimate position using a Global Positioning Systems (GPS), then the position estimate will likely converge to a reasonable value given enough measurements if the system is static. If the system is dynamic, then the dynamics will greatly affect the KF estimate and may or may not converge. For either case, the accuracy depends on the system.

However, the standard KF cannot be used to recover the initial state and initial covariance matrix. If you wish to refine estimates of previous states, then you are interested in a smoothing algorithm. Essentially, smoothing can be used to optimize for all variables given all measurements e.g., the states at all time steps given the measurements at all time steps. In some cases, you might be interested in fixed-lag smoothing, which is where only so many states and measurements are considered at previous time steps.

Finally, if you only have a set of measurements, you may just want to use least squares or nonlinear least squares for estimating your states. Often, smoothing is even performed with a least square solver such as the Levenberg-Marquardt algorithm.