## Stability Analysis Using Disk Margins

Disk margins quantify the stability of a closed-loop system against variations in loop gain or phase at any frequency. The `diskmargin` command models such variations as multiplicative plant uncertainty on the open-loop transfer function L. The disk margin measures how much uncertainty the loop can tolerate before going unstable. From that uncertainty amount, `diskmargin` derives minimum gain and phase margins. The disk-based gain margin GM is the amount by which the loop gain can increase or decrease without loss of stability, in absolute units. The disk-based phase margin PM is the amount by which the loop phase can increase or decrease without loss of stability, in degrees. These disk-based margins take into account all frequency and loop interactions. Therefore, disk-based margin analysis provides a stronger guarantee of stability than the classical gain and phase margins, computed with `allmargin`.

### Loop-at-a-Time and Multiloop Margins

For MIMO feedback loops, you can compute:

• Loop-at-a-time margins — Maximum tolerable gain variations (or phase variations) in each feedback channel, computed with all other loops closed.

• Multiloop margins — Maximum tolerable gain variations (or phase variations) across all feedback channels. Multiloop margins allow for independent and concurrent variations in all feedback channels. Multiloop margins capture loop interactions and typically yield smaller margins.

For instance, consider the 2-channel MIMO system of the following illustration.

For this system, you can compute:

• Maximum tolerable gain variations (or phase variations) in the first channel (first system input to first system output)

• Maximum tolerable gain variations (or phase variations) in the second channel (second system input to second system output)

• Maximum tolerable independent gain variations (or phase variations) in both channels at the same time.

In general, gain and phase margins vary across frequency. Thus, for example, For example, a gain margin of 5dB at 2 rad/s in a particular loop channel indicates that closed-loop stability is maintained when the loop gain increases or decreases by as much as 5dB at that frequency.

For details and examples of how to obtain disk-based stability margins, see `diskmargin`.

### Variations at Plant Input or Plant Output

In some cases, the stability margins can vary depending on whether gain and phase variations are applied at the plant input or the plant output. `diskmargin` lets you compute margins for variations at the input, output, or both simultaneously. In general, the margins for simultaneous input and output variations are smaller than those for input or output only, and provide a more conservative guarantee of stability. Consider the SISO or MIMO closed-loop system of the following diagram.

You can compute the disk margins at the plant inputs and outputs as follows.

• `[DM,MM] = diskmargin(P*C)` returns the margins for variations at the plant outputs.

• `[DM,MM] = diskmargin(C*P)` returns the margins for variations at the plant inputs.

• `MMIO = diskmargin(P,C)` returns the margins for simultaneous variations at the plant outputs and inputs.

For details and examples of how to get these margins, see `diskmargin`.

### Combined Gain and Phase Variations

The gain margins you obtain from `diskmargin` assume no phase variation, and vice versa. In practice, your system can experience simultaneous gain and phase variations. The following plot can help you assess robustness to changes in both gain and phase.

For instance, suppose that a feedback loop in your system has a 10 dB margin at a particular frequency. The contour starting at ```(Gain,Phase) = (10,0)``` shows how a given amount of phase variation reduces the allowable gain variation at that frequency. For instance, if the phase varies by 30 degrees, then the gain margin drops to about 8.4 dB (red mark).

### Worst-Case Disk Margins

The disk margin is computed by applying an uncertainty to the nominal loop transfer L and computing how large that uncertainty can be while preserving closed-loop stability (see How Disk Margins are Computed). If the loop transfer L is itself an uncertain system, then the disk margin also varies as a function of system uncertainty. The worst-case disk margin is the smallest disk margin that occurs within the specified uncertainty range. It is also the minimum guaranteed margin over the uncertainty range. You can compute worst-case disk margins of an uncertain system using `wcdiskmargin`. This function estimates the worst-case disk margins and corresponding worst-case gain and phase margins for both loop-at-a-time and multiloop variations. The function also returns the worst-case perturbation, the combination of uncertain elements in L that yields the weakest margins.

### How Disk Margins are Computed

Consider the following closed-loop system, with nominal loop transfer L and unit feedback.

For SISO L, disk-margin analysis incorporates a multiplicative complex uncertainty Δ into the loop transfer function as follows:

`$L\to {L}_{\Delta }=L\frac{1+\Delta \left(1-E\right)/2}{1-\Delta \left(1+E\right)/2}=L\left(1+{\delta }_{L}\right),\text{ }|\Delta |<\alpha .$`

For Δ = 0, the multiplicative factor is 1, corresponding to the nominal L. As Δ varies in the ball |Δ| < α, The factor (1+ δL) varies in a disk. The gain and phase of the factor are a model for gain and phase variation in L. The eccentricity parameter E varies the shape of the disk. The disk margin is the smallest value α at which the closed-loop system becomes unstable (see [1]).

From this α value, `diskmargin` computes the minimum guaranteed gain and phase margins. The shaded region in the following illustration shows the range of (1+ δL) values in the complex plane for |Δ| < α and fixed E. The gain margins [gmin, gmax] are the points where the disk intercepts the real axis. The gain can vary by any factor in this range without compromising stability. The phase margin is the angle ϕ between the real axis and the intersection of the disk and the unit circle centered on the origin. The system can tolerate changes in phase of ±ϕ.

With this uncertainty applied to L, the closed-loop system remains stable for all |Δ| < α when, for all frequencies ω,

`$|S\left(j\omega \right)+\frac{E-1}{2}I|<\frac{1}{\alpha },$`

where S is the sensitivity function (I + L)–1. In other words, α can be computed from the peak gain of a shifted sensitivity function,

`$S+\frac{\left(E-1\right)I}{2}.$`

In the Nyquist plane, the requirement of robust stability for |Δ| < α is equivalent to:

The left-hand side of this expression is the Nyquist curve of the loop transfer. The right-hand side is –(1+ δL)–1 , the negative inverse of the uncertainty factor applied to L. For a fixed E, it is a disk whose size grows with α. The disk margin corresponds to the largest α for which this disk does not intersect the Nyquist curve. Thus, stability of the closed-loop system is guaranteed if the curve does not intersect this exclusion disk, as illustrated in the following diagram.

#### Effect of Disk Shape on Disk Margins

Varying the eccentricity parameter E amounts to changing the shape of the uncertainty disk $\left(1+\delta \right)\text{\hspace{0.17em}}$from which the gain and phase margins are derived. Disks of different shapes give more or less conservative estimates of the margins. Thus, you can examine the margins resulting from different E values to get the least conservative estimate for your system.

To see how the disk margins change with the eccentricity parameter for a particular open-loop transfer function L, vary E between large negative and large positive values. Plot the resulting gain and phase margins.

```L = tf(25,[1 10 10 10]); % Generate vector of E values E = [linspace(0,1,10) logspace(0,2,10)]; E = unique([E -E]); % Compute disk margins for ct=1:numel(E) DM(ct) = diskmargin(ss(L),E(ct)); end % Extract and plot gain and phase margin values against E GM = cat(1,DM.GainMargin); PM = cat(1,DM.PhaseMargin); subplot(211) plot(E,GM(:,1),E,GM(:,2)) title('GM'), grid subplot(212) plot(E,PM(:,1),E,PM(:,2)) title('PM'), grid```

Consider the gain-margin plot. For this system, large negative values of E give a very conservative estimate for the upper margin, but a much less conservative estimate of the lower margin. The reverse is true for large positive values of E. The true margins of the system must encompass all these estimates. Therefore, you can conclude that the loop remains stable for variations in loop gain within the complete range between the lowest lower margin and the highest upper margin, or factors of about 0.08–1.9.

For phase margins, the least conservative estimate of about ±25° occurs closer to E = 0.

To see how variation in E values corresponds to different disk shapes, examine the Nyquist plot of the system and the disks corresponding to a few of the E values. You can find the disk for a particular value of E by setting $\Delta =\alpha {\mathit{e}}^{\mathit{i}\theta }$ and varying $\theta$ between 0 and $\pi$. The disk margin $\alpha$ is returned by `diskmargin` in the `DiskMargin` field of `DM`.

```figure nyquist(L,'b') hold on Evalues = [-3,0,3]; disk = []; for k = 1:length(Evalues) E = Evalues(k); DM = diskmargin(L,E); theta = 0:0.01:2*pi; delta = DM.DiskMargin * exp(1i*theta); ExcludeRegion = (delta*(1+E)/2-1) ./ (1+delta*(1-E)/2); disk(:,k) = ExcludeRegion'; end plot(disk) axis equal legend('L','E = -3','E = 0','E = 3')```

For visibility, the plot shows only three E values, –3, 0, and 3. The plot shows how the shape of the disk, and thus the resulting disk margins, vary as E changes.

#### MIMO Uncertainty Model

For MIMO systems, the disk margin computation is analogous. The uncertainty model is:

`$L\to {L}_{\Delta }=L\left(I+\Delta \frac{1-E}{2}\right){\left(I-\Delta \frac{1+E}{2}\right)}^{-1}.$`

Here, Δ is a diagonal matrix, to model gain or phase variation independently in each feedback channel.

`$\Delta =\left(\begin{array}{ccc}{\delta }_{1}& 0& 0\\ 0& \ddots & 0\\ 0& 0& {\delta }_{N}\end{array}\right),\text{ }|{\delta }_{j}|<\alpha .$`

The robust stability condition is then:

`${\mu }_{\Delta }\left(S+\frac{E-1}{2}I\right)<\frac{1}{\alpha }.$`

The disk margin α can be obtained by a μ structured singular value (`mussv`) computation.

### Disk Margins and Control System Tuning

The control system tuning tools in Control System Toolbox™ let you specify target gain and phase margins for loops in your tuned system. The margin goals `TuningGoal.Margins` (for command-line tuning) and Margins Goal (for tuning with Control System Tuner) use disk-based margins. Thus, when you specify independent gain and phase margins GM and PM for tuning, the software chooses the smallest α that enforces both values. This α is given by:

`$\alpha =\mathrm{max}\left[\frac{GM-1}{GM+1},\text{\hspace{0.17em}}\mathrm{tan}\left(PM/2\right)\right].$`

In applying this value of α, the tuning software assumes E = 0.

## References

[1] Blight, J.D., R.L. Dailey, and D. Gangsaas. "Practical Control Law Design for Aircraft Using Multivariable Techniques." International Journal of Control. Vol. 59, Number 1, 1994, pp. 93–137.