Skip to Main Content Skip to Search
Product Documentation

looptune - Class: slTunable

Tune MIMO control systems in Simulink

Syntax

[ST,gam,info] = looptune(ST0,wc)
[ST,gam,info] = looptune(ST0,wc,Req1,Req2,...)
[ST,gam,info] = looptune(...,options)

Description

[ST,gam,info] = looptune(ST0,wc) tunes the Simulink control system described by the slTunable interface ST0 to meet the following default requirements:

[ST,gam,info] = looptune(ST0,wc,Req1,Req2,...) tunes the feedback loop to meet additional design requirements specified in one or more tuning goal objects Req. Omit wc to use the requirements specified in the Req objects instead of an explicit target crossover frequency and the default performance and robustness requirements.

[ST,gam,info] = looptune(...,options) specifies further options, including target gain margin, target phase margin, and computational options for the tuning algorithm.

Tips

Input Arguments

ST0

slTunable interface object representing the Simulink control system to tune. For information on how to create and configure the slTunable interface, see the slTunable reference page.

wc

Vector specifying the target crossover region [wcmin,wcmax]. The looptune command attempts to tune all loops in the control system so that the open-loop gain crosses 0 dB within the target crossover region.

A scalar wc specifies the target crossover region [wc/2,2*wc].

Req

One or more TuningGoal objects specifying design requirements. Available requirement types are:

Any input or output signal names that you specify in a TuningGoal object must appear in the Controls or Measurements properties of SL0. See the slTunable reference page for more information.

options

Set of options for the looptune algorithm, specified using looptuneOptions. See looptuneOptions for information about the available options, including target gain margin and phase margin.

Output Arguments

ST

Tuned version of ST0.

Use slTunable.loopview to graphically validate the design. Use slTunable.writeBlockValue to apply the tuned parameter values to the Simulink model.

gam

Parameter indicating degree of success at meeting all tuning constraints. A value of gam <= 1 indicates that all requirements are satisfied. A value of gam >> 1 indicates failure to meet at least one requirement. Use slTunable.loopview to visualize the tuned result and identify the unsatisfied requirement.

For best results, use the RandomStart option in looptuneOptions to obtain several minimization runs. Setting RandomStart to an integer N > 0 causes looptune to run the optimization N additional times, beginning from parameter values it chooses randomly. You can examine gam for each run to help identify an optimization result that meets your design requirements.

info

Structure containing the following tuning data:

  • Optimal I/O scalings Di and Do

  • Requirement parameters and weighting functions

To use the data in info, use the command loopview(ST,info) to visualize tuning constraints and validate the tuned design. See slTunable.loopview for more information.

See Also

looptuneOptions | slTunable | slTunable.getIOTransfer | slTunable.getLoopTransfer | slTunable.loopview | slTunable.writeBlockValue | TuningGoal.LoopShape | TuningGoal.MaxGain | TuningGoal.Tracking

Tutorials

How To

  


Free Control Systems Interactive Kit

Learn more about resources for designing, testing, and implementing control systems.

Get free kit

Trials Available

Try the latest control systems products.

Get trial software
 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS