Bayes Filtering and State Estimation
Published:
In robot state estimation, the Bayes filter is a probabilistic approach that estimates the state from a sequence of controls and measurements by recursively performing prediction with a motion model and correction with a measurement model. In practice, some common instantiations of the Bayes framework are the Kalman filter, information filter, and particle filter.
Mathematical Formulation of Bayes Filter
Given a sequence of measurements and controls , and a measurement model and a motion model . The Bayes filter provides a recursive framework for estimating the state in terms of a probability distribution function, known as the belief , or posterior.

The filtering algorithm is built upon two assumptions of conditional independence:
- Motion model is (1st-order) Markov:
- The measurement model is memoryless:
Given these two assumptions, we can propagate the belief over time:
We can define the predicted belief of the state at time to be the probability distribution before knowing the current measurement, i.e., . Then, the above equation becomes
where is the normalization coefficient, and
which is essentially a correction applied to the belief after observing the current measurement.
What remains to be done, obviously, is to predict the belief from the previous state:
Then, recognizing , we have
In summary, the Bayes filter provides a two-step framework for updating the belief of the current state from the belief of the previous state :
- Prediction using the motion model (Equation 1);
- Correction using the measurement model (Equation 2).
These two steps can be performed recursively to estimate the state over time.
Kalman Filter
The Kalman filter is an instantiation of the Bayes filter with the assumption of linear Gaussian models. This means the motion model and the measurement model should be
- linear with respect to their arguments:
Specifically, suppose , , and . Let , , and be matrices (linear maps).
- Motion model:
- Measurement model:
where and are white noise with variance and , respectively.
White noise
A discrete-time random process (a sequence of random vectors), , is called white noise if
- following a multivariate Gaussian distribution:
Specifically,
- Motion model: ;
- Measurement model: .
Note: here we need to interpret as a realization rather than a random variable.
Multivariate Gaussian PDF
is the probability distribution function of a random variable that follows a Gaussian distribution with mean and covariance matrix ,
Before deriving the algorithm for the Kalman filter, there are two important properties of the multivariate Gaussian distribution that are useful here.
- Affine transformation:
Let be a random vector following a Gaussian distribution , then the random vector follows a Gaussian distribution .
Proof
Will come later
- Conditional distribution:
Let be a random vector of dimension . Partition into a vector of dimension , and a vector of dimension , , and partition and respectively,
then, the conditional distribution , where
Proof
Will come later
Now, if we assume the initial belief to be Gaussian, i.e., . Then, from equations (1) and (2), we can see that all subsequent beliefs will be Gaussian. Thus,
Then, we only need to track in the prediction step and in the correction step.
For the prediction step, use the joint distribution and realize
Derivation [2]
From equation (3),
Compute the mean and covariance,
Then can be obtained by marginalize ,
For the correction step, form a joint distribution and realize
Derivation [2]
Since and , where . From property 1, we have
Furthermore,
Thus, , where
Finally, normalize for numerical stability
Extended Kalman Filter (EKF)
One way to handle the case where motion model and measurement model are not linear is to approximate the functions via local linearization (Taylor expansion). Specifically, we extend the Kalman filter algorithm to cases where models are non-linear:
- Motion model
- Measurement model
Let
The EKF algorithm is
Unscented Kalman Filter (UKF)
Another non-linear Kalman filter is the unscented Kalman filter which uses deterministic sampling to approximate the distribution.
Let a function be a non-linear transformation. Suppose and . We draw a set of sigmapoints, , and compute a weight for each sigma point by executing
Further let , then , where
The UKF algorithm is
Reference
[1] S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics. Mit Press, 2010.
[2] M. Ghaffari, ROB530 Lecture Slides — Kalman Filtering. University of Michigan, 2026.


