TuningGoal.Passivity
Passivity constraint for control system tuning
Description
Use TuningGoal.Passivity
to enforce
passivity of the response between specified inputs and outputs, when using a control
system tuning command such as systune
. You can also use TuningGoal.Passivity
to ensure a particular excess or
shortage of passivity (see getPassiveIndex
).
A system is passive if all its I/O trajectories (u(t),y(t)) satisfy:
for all T > 0. Equivalently, a system is passive if its frequency response is positive real, which means that for all ω > 0,
Creation
Syntax
Description
creates a tuning goal for enforcing passivity of the response from the
specified inputs to the specified outputs. Req
= TuningGoal.Passivity(inputname
,outputname
)
creates a tuning goal for enforcing:Req
= TuningGoal.Passivity(inputname
,outputname
,nu
,rho
)
for all T > 0. This tuning goal enforces an excess of passivity at the
inputs or outputs when nu > 0
or rho >
0
, respectively. The tuning goal allows for a shortage of
input passivity when nu < 0
. See getPassiveIndex
for more
information about these indices.
Input Arguments
Properties
Examples
Tips
Use
viewGoal
to visualize this tuning goal. For enforcing passivity withnu = 0
andrho = 0
,viewGoal
plots the relative passivity indices as a function of frequency (seepassiveplot
). These are the singular values of . The transfer function G frominputname
tooutputname
(evaluated with loops open as specified inOpenings
) is passive when the largest singular value is less than 1 at all frequencies.For nonzero
nu
orrho
,viewGoal
plots the relative index as described in Algorithms.This tuning goal imposes an implicit minimum-phase constraint on the transfer function G + I. The transmission zeros of G + I are the stabilized dynamics for this tuning goal. The
MinDecay
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.
For the TuningGoal.Passivity
goal, for a closed-loop
transfer function G(s,x)
from inputname
to
outputname
, f(x) is given
by:
R is the relative sector index (see getSectorIndex
) of [G(s,x);I]
, for the sector
represented by:
using the values of the OPX
and IPX
properties
for ρ and ν, respectively.
Version History
Introduced in R2016a
See Also
looptune
| systune
| systune (for slTuner)
(Simulink Control Design) | looptune (for slTuner)
(Simulink Control Design) | viewGoal
| evalGoal
| TuningGoal.WeightedPassivity
| slTuner
(Simulink Control Design) | getPassiveIndex
| passiveplot