Modify unmeasured output disturbance model
setoutdist(MPCobj,'integrators') sets the
output disturbance model used by the model predictive controller object,
to its default value. This model, in combination with the input disturbance
model (if any), governs how well the controller compensates for unmeasured
disturbances and prediction errors. The output disturbance model:
Is a discrete-time, delay-free, state-space (
Has unit-variance white noise input signals. By default, the number of inputs depends upon the number of measured outputs and the need to maintain controller state observability. For custom output disturbance models, the number of inputs is your choice.
ny outputs, where
the number of plant outputs defined in
Each model output is added to the corresponding plant output.
The default output disturbance model has integrators with dimensionless unity gain added to its outputs according to the following rules:
No integrators are added for unmeasured plant outputs.
An integrator is added for each measured output in order of decreasing output weight.
For time-varying weights, the sum of the absolute values over time is considered for each output channel.
For equal output weights, the order within the output vector is followed.
For each measured output, an integrator is not added if one of the following is true:
Adding the integrator would cause a violation of state observability.
The corresponding value in
In this case, when an integrator is not added, zero gain is used instead.
For details on the role of disturbance modeling in model predictive control and about the model used in the algorithm for state estimation, see Controller State Estimation.
a custom output disturbance model,
model can be a state-space (
ss), transfer function
tf), or zero-pole-gain (
ny outputs. If
not specified, the default output disturbance model is used.
When specifying a custom output disturbance model, the number
of inputs is your choice.
setoutdist does not
check custom output disturbance models for violations of state observability.
This check is performed later in the MPC design process, when the
internal states of
MPCobj.Model are updated using
commands such as