correct
Correct state and state estimation error covariance using extended or unscented Kalman filter, or particle filter and measurements
Syntax
Description
The correct
command updates the state and state
estimation error covariance of an extendedKalmanFilter
, unscentedKalmanFilter
or particleFilter
object using measured system outputs.
To implement extended or unscented Kalman filter, or particle filter, use the
correct
and predict
commands together. If the current output measurement exists, you
can use correct
and predict
. If the
measurement is missing, you can only use predict
. For information
about the order in which to use the commands, see Using predict and correct Commands.
[
corrects the state
estimate and state estimation error covariance of an extended or unscented Kalman
filter, or particle filter object CorrectedState
,CorrectedStateCovariance
]
= correct(obj
,y
)obj
using the measured output
y
.
You create obj
using the extendedKalmanFilter
, unscentedKalmanFilter
or particleFilter
commands. You specify the state
transition function and measurement function of your nonlinear system in
obj
. You also specify whether the process and measurement
noise terms are additive or nonadditive in these functions. The
State
property of the object stores the latest estimated
state value. Assume that at time step k
,
obj.State
is . This value is the state estimate for time k
,
estimated using measured outputs until time k-1
. When you use the
correct
command with measured system output
y[k]
, the software returns the corrected state estimate in the CorrectedState
output. Where is the state estimate at time k
, estimated
using measured outputs until time k
. The command returns the
state estimation error covariance of in the CorrectedStateCovariance
output. The
software also updates the State
and
StateCovariance
properties of obj
with
these corrected values.
Use this syntax if the measurement function h that you
specified in obj.MeasurementFcn
has one of the following forms:
y(k) = h(x(k))
— for additive measurement noise.y(k) = h(x(k),v(k))
— for nonadditive measurement noise.
Where y(k)
, x(k)
, and
v(k)
are the measured output, states, and measurement noise
of the system at time step k
. The only inputs to
h are the states and measurement noise.
[
specifies additional input arguments, if the measurement function of the system
requires these inputs. You can specify multiple arguments.CorrectedState
,CorrectedStateCovariance
]
= correct(obj
,y
,Um1,...,Umn
)
Use this syntax if the measurement function h has one of the following forms:
y(k) = h(x(k),Um1,...,Umn)
— for additive measurement noise.y(k) = h(x(k),v(k),Um1,...,Umn)
— for nonadditive measurement noise.
correct
command passes these inputs to the measurement
function to calculate the estimated outputs.
Examples
Input Arguments
Output Arguments
More About
Version History
Introduced in R2016b
See Also
predict
| clone
| extendedKalmanFilter
| unscentedKalmanFilter
| particleFilter
| initialize
| residual