KalmanEstimator
KalmanEstimator[ssm,{w,v}]
constructs the Kalman estimator for the StateSpaceModel ssm with process and measurement noise covariance matrices w and v.
KalmanEstimator[ssm,{w,v,h}]
includes the cross-covariance matrix h.
KalmanEstimator[{ssm,sensors},{…}]
specifies sensors as the noisy measurements of ssm.
KalmanEstimator[{ssm,sensors,dinputs},{…}]
specifies dinputs as the deterministic inputs of ssm.
Details and Options




- The standard state-space model ssm can be given as StateSpaceModel[{a,b,c,d}], where a, b, c, and d represent the state, input, output, and transmission matrices in either a continuous-time or a discrete-time system:
-
continuous-time system discrete-time system - The descriptor state-space model ssm can be given as StateSpaceModel[{a,b,c,d,e}] in either continuous time or discrete time:
-
continuous-time system discrete-time system - The inputs
can include the process noise
as well as deterministic inputs
.
- The argument dinputs is a list of integers specifying the positions of
in
.
- The outputs
consist of the noisy measurements
as well as other outputs.
- The argument sensors is a list of integers specifying the positions of
in
.
- The arguments sensors and dinputs can also accept values All and None.
- KalmanEstimator[ssm,{…}] is equivalent to KalmanEstimator[{ssm,All,None},{…}].
- The noisy measurements are modeled as
, where
and
are the submatrices of
and
associated with
, and
is the noise.
- The process and measurement noises are assumed to be white and Gaussian:
-
,
process noise ,
measurement noise - The cross-covariance between the process and measurement noises is given by
.
- By default, the cross-covariance matrix
is assumed to be a zero matrix.
- KalmanEstimator supports a Method option. The following explicit settings can be given:
-
"CurrentEstimator" constructs the current estimator "PredictionEstimator" constructs the prediction estimator - The current estimate is based on measurements up to the current instant.
- The prediction estimate is based on measurements up to the previous instant.
- For continuous-time systems, the current and prediction estimators are the same, and the estimator dynamics are given by
.
- The optimal gain for continuous-time systems is computed as
, where
solves the continuous algebraic Riccati equation
.
- Block diagram for the continuous-time system with estimator:
- The matrices with subscripts
,
, and
are submatrices associated with the deterministic inputs, stochastic inputs, and noisy measurements, respectively.
- For discrete-time systems, the prediction estimator dynamics are given by
. The block diagram of the discrete-time system with prediction estimator is the same as the one above.
- The estimator dynamics of a current estimator for a discrete-time system are
, and the current state estimate
is obtained from the current measurement
as
.
- The optimal gain of the current estimator for a discrete-time system is computed as
, where
solves the discrete algebraic Riccati equation
.
- The optimal gain
of the prediction estimator for a discrete-time system is computed as
.
- Block diagram for the discrete-time system with current estimator:
- The inputs to the Kalman estimator model are the deterministic inputs
and the noisy measurements
.
- The outputs of the Kalman estimator model consist of the estimated states
and estimates of the noisy measurements
.
- The optimal estimator is asymptotically stable if
is nonsingular, the pair
is detectable, and
is stabilizable for any
.


Examples
open allclose allBasic Examples (3)
Scope (5)
The Kalman estimator for a system with one measured output and one stochastic input:
The Kalman estimator of a system with nonzero cross-covariance:
The estimator for a system with one sensor output and two deterministic inputs:
The Kalman estimator for a continuous-time system with cross-correlated noise:
Find the optimal estimator for a descriptor state-space model:
Options (2)
Applications (2)
Construct a Kalman filter that smooths the response of a stochastic system:

The response of the system to a sinusoid input in the presence of process and measurement noise:
A descriptor system with noise matrices:
Create Gaussian noise sequences:
Interpolate the sequences to get noise signals:
Find the system output and noisy measurement:

Compare the actual output, measured output, and filtered output:
Properties & Relations (2)
KalmanEstimator estimates the states and outputs of a system:
Construct a Kalman estimator using StateOutputEstimator :
Use KalmanEstimator directly:
Text
Wolfram Research (2010), KalmanEstimator, Wolfram Language function, https://reference.wolfram.com/language/ref/KalmanEstimator.html (updated 2012).
CMS
Wolfram Language. 2010. "KalmanEstimator." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2012. https://reference.wolfram.com/language/ref/KalmanEstimator.html.
APA
Wolfram Language. (2010). KalmanEstimator. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/KalmanEstimator.html