I have a process model update that follows the form:

$$ \mathbf{x}_{k|k-1} = \mathbf{x}_{k-1|k-1} + \delta \mathbf{x}_k, $$

where $\mathbf{x}_{k-1|k-1}$ is the posterior estimate from the last filter update and $\delta \mathbf{x}_k$ is the increment due to odometry (which is treated as a control step).

My question is this: When trying to implement this as a predict step in a state estimator (e.g. Kalman filter), is it enough to consider $\mathbf{x}_{k-1|k-1}$ and $\delta \mathbf{x}_k$ as being independent Gaussian random variables drawn from distributions ($\mathcal{N}(\mathbf{x}_{k-1|k-1}, P_{k-1|k-1})$ and $\mathcal{N}(\delta \mathbf{x}_k, Q)$, $Q$ is the odometry model covariance and $\mathcal{N}(m, \sigma^2)$ is a Gaussian distribution with mean $m$ and variance $\sigma^2$)? In this case, I would have the following model covariance update during the prediction step:

$$ \mathbf{x}_{k|k-1} = \mathbf{x}_{k-1|k-1} + \delta \mathbf{x}_k \\ P_{k|k-1} = P_{k-1|k-1} + Q $$

My hangup is that this does not follow the normal Kalman filter prediction paradigm:

$$ P_{k|k-1} = J P_{k-1|k-1} J^T + Q. $$

Fundamentally, I believe my update equation is correct because of the fact that the mean and covariance of the sum of two Gaussian distributions is the sum of the mean and the sum of the covariance, respectively, but I am having difficulty reconciling this fact with the Kalman filter equations. Does my reasoning make sense? Am I correct?

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.