Package: TuningGoal
Step disturbance rejection requirement for control system tuning
Use TuningGoal.StepRejection
to specify how a step
disturbance injected at a specified location in your control system affects the signal
at a specified output location. Use this tuning goal with control system tuning commands
such as systune
or looptune
.
You can specify the desired response in timedomain terms of peak value, settling time, and damping ratio. Alternatively, you can specify the response as a stable reference model having DCgain. In that case, the tuning goal is to reject the disturbance as well as or better than the reference model.
To specify disturbance rejection in terms of a frequencydomain attenuation profile,
use TuningGoal.Rejection
.
creates a tuning goal that constrains how a step disturbance injected at a location
Req
= TuningGoal.StepRejection(inputname
,outputname
,refsys
)inputname
affects the response at
outputname
. The tuning goal is that the disturbance be rejected
as well as or better than the reference system. inputname
and
outputname
can describe a SISO or MIMO response of your control
system. For MIMO responses, the number of inputs must equal the number of
outputs.
specifies an oscillationfree response in terms of a peak value and a settling time. Req
= TuningGoal.StepRejection(inputname
,outputname
,peak
,tSettle
)
allows for damped oscillations with a damping ratio of at least
Req
= TuningGoal.StepRejection(inputname
,outputname
,peak
,tSettle
,zeta
)zeta
.

Input signals for the tuning goal, specified as a character vector or, for multipleinput tuning goals, a cell array of character vectors.
For more information about analysis points in control system models, see Mark Signals of Interest for Control System Analysis and Design. 

Output signals for the tuning goal, specified as a character vector or, for multipleoutput tuning goals, a cell array of character vectors.
For more information about analysis points in control system models, see Mark Signals of Interest for Control System Analysis and Design. 

Reference system for target step rejection, specified as a SISO
dynamic system model, such as a
For best results, [gmax,fmax] = getPeakGain(refsys); Use 

Peak absolute value of target response to disturbance, specified as a scalar value. 

Target settling time of the response to disturbance, specified as a positive scalar value, in the time units of the control system you are tuning. 

Minimum damping ratio of oscillations in the response to disturbance, specified as a value between 0 and 1. Default: 1 

Reference system for target response to step disturbance, specified as a
SISO ( If you use the If you use the 

Input signal scaling, specified as a vector of positive real values. Use this property to specify the relative amplitude of each
entry in vectorvalued input signals when the choice of units results
in a mix of small and large signals. This information is used to scale
the closedloop transfer function from Suppose T(s) is the closedloop
transfer function from The default value, Default: 

Output signal scaling, specified as a vector of positive real values. Use this property to specify the relative amplitude of each
entry in vectorvalued output signals when the choice of units results
in a mix of small and large signals. This information is used to scale
the closedloop transfer function from Suppose T(s) is the closedloop
transfer function from The default value, Default: 

Names of disturbance input locations, specified as a cell array of
character vectors. This property is initially populated by the


Names of locations at which response to step disturbance is measured,
specified as a cell array of character vectors. This property is initially
populated by the 

Models to which the tuning goal applies, specified as a vector of indices. Use the Req.Models = 2:4; When Default: 

Feedback loops to open when evaluating the tuning goal, specified as a cell array of character vectors that identify loopopening locations. The tuning goal is evaluated against the openloop configuration created by opening feedback loops at the locations you identify. If you are using the tuning goal to tune a Simulink model
of a control system, then If you are using the tuning goal to tune a generalized statespace
( For example, if Default: 

Name of the tuning goal, specified as a character vector. For example, if Req.Name = 'LoopReq'; Default: 
This tuning goal imposes an implicit stability
constraint on the closedloop transfer function from Input
to Output
,
evaluated with loops opened at the points identified in Openings
.
The dynamics affected by this implicit constraint are the stabilized
dynamics for this tuning goal. The MinDecay
and MaxRadius
options
of systuneOptions
control the bounds on these
implicitly constrained dynamics. If the optimization fails to meet
the default bounds, or if the default bounds conflict with other requirements,
use systuneOptions
to change
these defaults.
When you tune a control system using a TuningGoal
, the software
converts the tuning goal into a normalized scalar value
f(x), where x is the vector
of free (tunable) parameters in the control system. The software then adjusts the
parameter values to minimize f(x) or to drive
f(x) below 1 if the tuning goal is a hard
constraint.
TuningGoal.StepRejection
aims to keep the gain from disturbance to
output below the gain of the reference model. The scalar value of the tuning goal
f(x) is given by:
$$f\left(x\right)={\Vert {W}_{F}\left(s\right){T}_{dy}\left(s,x\right)\Vert}_{\infty},$$
or its discretetime equivalent. Here,
T_{dy}(s,x)
is the closedloop transfer function from Input
to
Output
, and $${\Vert \text{\hspace{0.17em}}\cdot \text{\hspace{0.17em}}\Vert}_{\infty}$$ denotes the H_{∞} norm
(see norm
). W_{F} is a
frequency weighting function derived from the steprejection profile you specify in the
tuning goal. The gains of W_{F} and
1/ReferenceModel
roughly match for gain values within 60 dB of
the peak gain. For numerical reasons, the weighting function levels off outside this
range, unless you specify a reference model that changes slope outside this range. This
adjustment is called regularization. Because poles of
W_{F} close to s = 0
or s = Inf
might lead to poor numeric conditioning
of the systune
optimization problem, it is not recommended to
specify reference models with very lowfrequency or very highfrequency dynamics.
To obtain W_{F}, use:
WF = getWeight(Req,Ts)
where Req
is the tuning goal, and Ts
is the
sample time at which you are tuning (Ts = 0
for continuous time). For
more information about regularization and its effects, see Visualize Tuning Goals.
looptune
 systune
 systune (for slTuner)
(Simulink Control Design)  looptune (for slTuner)
(Simulink Control Design)  viewGoal
 evalGoal
 TuningGoal.Gain
 TuningGoal.LoopShape
 slTuner
(Simulink Control Design)