Main Content

Performance and robustness requirements can often be expressed in terms of the open-loop
response gain. For example, high gain at low frequencies reduces steady-state offsets and
improves disturbance rejection. Similarly, high-frequency roll-off improves stability where the
plant model is uncertain or inaccurate. *Loop shaping* is an approach to
control design in which you determine a suitable profile for the open-loop system response and
design a controller to achieve that shape.

The uncertainty in your plant model can be a limiting factor in determining what you can achieve with feedback. High loop gains can attenuate the effects of plant model uncertainty and reduce the overall sensitivity of the system to disturbances. But if your plant model uncertainty is so large that you do not even know the sign of your plant gain, then you cannot use large feedback gains without the risk that the system will become unstable.

For this reason, most controller designs involve a tradeoff between performance and robustness against uncertainty. Robust Control Toolbox™ commands for loop-shaping controller design let you determine the tradeoff that best meets the requirements of your system.

`loopsyn`

— Designs a stabilizing controller that shapes the open-loop response to approximate the target loop shape that you provide. You can adjust the balance between performance and robustness.`mixsyn`

— Controller design optimized for performance. This function allows you more precise specification of the shapes of different loop responses.`ncfsyn`

— Controller design optimized for robustness (stability margin). You provide weighting functions that shape the plant to a desirable profile.

The performance optimization of `mixsyn`

tends to produce
plant-inverting designs, which can be less robust. In particular, `mixsyn`

designs can be fragile for ill-conditioned MIMO plants and for plants with structured
uncertainty, such as uncertainty on the damping and natural frequency of resonant modes. In
contrast, `ncfsyn`

deters control strategies like plant inversion that rely
on exact knowledge of the plant poles and zeroes. Thus `ncfsyn`

adds some of
the robustness to structured uncertainty that is missing in `mixsyn`

designs.
By combining elements of both `ncfsyn`

and `mixsyn`

, the
`loopsyn`

approach can provide robustness to both structured and
unstructured uncertainty while also providing good performance.

Here are some basic design tradeoffs to consider when choosing a target loop shape.

**Robust Stability.**Use a target loop shape with gain as low as possible at high frequencies where typically your plant model is so poor that its phase angle is completely inaccurate, with errors approaching ±180° or more.**Performance.**Use a target loop shape with gain as high as possible at frequencies where your model is good. Doing so ensures good reference tracking and good disturbance attenuation.**Crossover and Rolloff.**Use a target loop shape with its 0 dB crossover frequency*ω*between the above two frequency ranges. Ensure that the target loop shape rolls off with a slope between –20 dB/decade and –30 dB/decade near_{c}*ω*. This rolloff helps keep phase lag approximately between –130° and –90° near crossover for good phase margins._{c}

Keep these principles in mind when choosing your target loop shape for
`loopsyn`

or the shaping filters for `ncfsyn`

. For
further details about choosing weighting functions for `mixsyn`

, see Mixed-Sensitivity Loop Shaping.

Other considerations that might affect your choice of loop shape are the unstable poles
and zeros of the plant, which impose fundamental limits on your 0 dB crossover frequency
*ω _{c}* (see [1]). For instance,

$$\underset{\mathrm{Re}\left({p}_{i}\right)>0}{\mathrm{max}}\left|{p}_{i}\right|<{\omega}_{c}<\underset{\mathrm{Re}\left({z}_{i}\right)>0}{\mathrm{min}}\left|{z}_{i}\right|.$$

If you do not take care to choose a target loop shape that conforms to these fundamental
constraints, then you might not achieve good results. For instance, `loopsyn`

will compute the optimal loop-shaping controller `K`

for
a target loop shape `Gd`

that does not meet this requirement, but the
resulting response `L = G*K`

might have a poor fit to the target loop shape
`Gd`

, and consequently it might be impossible to meet your performance
goals.

Additionally, because plant uncertainty typically increases with frequency, there is a
limit on the bandwidth that you can reliably achieve. For instance, consider an approximate
model *G*_{0} of a SISO plant *G*.
You can express the uncertainty in this plant as a multiplicative uncertainty Δ
_{M}, such that $$G={G}_{0}\left(1+{\Delta}_{M}\right)$$. The uncertainty is bounded at each frequency, |Δ _{M}(*jω*)| ≤
*β*(*ω*), where *β*(*ω*) is the percentage of model
uncertainty. Typically, *β*(*ω*) is small at low frequencies
(accurate model) and increases at high frequencies (inaccurate model). The frequency where
*β*(*ω*) = 2 marks a critical threshold beyond which there
is insufficient information about the plant to reliably design a feedback controller. With such
a 200% model uncertainty, the model provides no indication of the phase angle of the true
plant, which means that the only way you can reliably stabilize your plant is to ensure that
the loop gain is less than 1. Allowing for an additional factor of two margin for error, your
control system bandwidth is essentially limited to the frequency range over which your
multiplicative plant uncertainty Δ _{M} has gain
magnitude |Δ _{M}|<1.

For a deeper understanding of the relationship between loop shapes, performance, and robustness, consider the multivariable feedback control system shown in the following figure.

To quantify the multivariable stability margins and performance of such systems, you can
use the closed-loop sensitivity function *S* and complementary sensitivity
function *T*, defined as:

$$\begin{array}{l}S\left(s\right)\stackrel{def}{=}{\left(I+L\left(s\right)\right)}^{-1}\\ T\left(s\right)\stackrel{def}{=}L\left(s\right){\left(I+L\left(s\right)\right)}^{-1}=I-S\left(s\right)\end{array}$$

where the *L*(*s*) is the open-loop transfer
function

$$L\left(s\right)=G\left(s\right)K\left(s\right).$$

Specifying a target shape
*G _{d}*(

When using `loopsyn`

, you specify
*G _{d}*(

`loopsyn`

approximately imposes these constraints on the sensitivity and
complementary sensitivity. For `mixsyn`

, you specify weighting functions
`mixsyn`

approximately imposes the constraints $$\overline{\sigma}\left(S\right)<\left|{W}_{1}^{-1}\right|$$ and $$\overline{\sigma}\left(T\right)<\left|{W}_{3}^{-1}\right|$$, which roughly enforce the loop shape
Additionally, robustness to multiplicative plant uncertainty is equivalent to imposing a
small-gain constraint on *T*(*s*) (see [1], p.342). Thus, enforcing
rolloff in the loop shape *G _{d}* (or equivalently, $$\overline{\sigma}\left(T\right)<\left|{W}_{3}^{-1}\right|$$), provides some robustness against unmodeled plant dynamics at high
frequency.

For those who are more comfortable with classical single-loop concepts, there are the
important connections between the multiplicative stability margins predicted by the gain of
*T*(*s*) and those predicted by classical
*M*-circles, as found on the Nichols chart. In the SISO case, the largest
singular value of *T*(*s*) is just the peak gain, given
by:

$$\left|T\left(s\right)\right|=\left|\frac{L\left(s\right)}{1+L\left(s\right)}\right|.$$

This quantity is the same quantity you obtain from Nichols chart
*M*-circles. The *H*_{∞} norm $${\Vert T\Vert}_{\infty}$$ (see `hinfnorm`

) is a multiloop generalization of the
closed-loop resonant peak magnitude which, as classical control experts will recognize, is
closely related to the damping ratio of the dominant closed-loop poles. You can relate $${\Vert T\Vert}_{\infty}$$ and $${\Vert S\Vert}_{\infty}$$ to the classical gain margin *G _{M}* and
phase margin

$$\begin{array}{l}{G}_{M}\ge 1+\frac{1}{{\Vert T\Vert}_{\infty}}\\ {G}_{M}\ge 1+\frac{1}{1-\frac{1}{{\Vert S\Vert}_{\infty}}}\\ {\theta}_{M}\ge 2{\mathrm{sin}}^{-1}\left(\frac{1}{2{\Vert T\Vert}_{\infty}}\right)\\ {\theta}_{M}\ge 2{\mathrm{sin}}^{-1}\left(\frac{1}{2{\Vert S\Vert}_{\infty}}\right).\end{array}$$

(See [2].) These formulas are valid provided $${\Vert S\Vert}_{\infty}$$ and $${\Vert T\Vert}_{\infty}$$ are larger than 1, as is normally the case. The margins apply even when the gain perturbations or phase perturbations occur simultaneously in several feedback channels.

The infinity norms of *S* and *T* also yield
gain-reduction tolerances. The *gain-reduction tolerance*
*g _{M}* is defined to be the minimal amount by which the
gains in each loop would have to be

$$\begin{array}{l}{g}_{M}\le 1-\frac{1}{{\Vert T\Vert}_{\infty}}\\ {g}_{M}\le \frac{1}{1+\frac{1}{{\Vert S\Vert}_{\infty}}}.\end{array}$$

For more information about the relation between sensitivity functions and gain and phase margins, see [3].

[1] Skogestad, Sigurd, Ian
Postlethwaite. *Multivariable Feedback Control: Analysis and Design*.
Chichester; New York: Wiley, 1996.

[2] Lehtomaki, N., N. Sandell, and M.
Athans. "Robustness Results in Linear-Quadratic Gaussian Based Multivariable Control Designs."
*IEEE Transactions on Automatic Control* 26, no.1 (February 1981):75–93.

[3] Seiler, Peter, Andrew Packard, and
Pascal Gahinet. “An Introduction to Disk Margins [Lecture Notes].” *IEEE Control
Systems Magazine* 40, no. 5 (October 2020): 78–95.