TuningGoal.StepRejection class
Package: TuningGoal
Step disturbance rejection requirement for control system tuning
Description
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 time-domain terms of peak value, settling time, and damping ratio. Alternatively, you can specify the response as a stable reference model having DC-gain. 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 frequency-domain attenuation profile,
use TuningGoal.Rejection
.
Construction
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 oscillation-free 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 Arguments
|
Input signals for the tuning goal, specified as a character vector or, for multiple-input 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 multiple-output 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 |
Properties
|
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 vector-valued input signals when the choice of units results
in a mix of small and large signals. This information is used to scale
the closed-loop transfer function from Suppose T(s) is the closed-loop
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 vector-valued output signals when the choice of units results
in a mix of small and large signals. This information is used to scale
the closed-loop transfer function from Suppose T(s) is the closed-loop
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 loop-opening locations. The tuning goal is evaluated against the open-loop 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 state-space
( For example, if Default: |
|
Name of the tuning goal, specified as a character vector. For example, if Req.Name = 'LoopReq'; Default: |
Examples
Tips
This tuning goal imposes an implicit stability constraint on the closed-loop transfer function from
Input
toOutput
, evaluated with loops opened at the points identified inOpenings
. The dynamics affected by this implicit constraint are the stabilized dynamics for this tuning goal. TheMinDecay
andMaxRadius
options ofsystuneOptions
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, usesystuneOptions
to change these defaults.
Algorithms
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:
or its discrete-time equivalent. Here,
Tdy(s,x)
is the closed-loop transfer function from Input
to
Output
, and denotes the H∞ norm
(see norm
). WF is a
frequency weighting function derived from the step-rejection profile you specify in the
tuning goal. The gains of WF 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
WF 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 low-frequency or very high-frequency dynamics.
To obtain WF, 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.
Version History
Introduced in R2016aSee Also
looptune
| systune
| systune (for slTuner)
(Simulink Control Design) | looptune (for slTuner)
(Simulink Control Design) | viewGoal
| evalGoal
| TuningGoal.Gain
| TuningGoal.LoopShape
| slTuner
(Simulink Control Design)