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
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
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
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
(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).
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
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:
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 ).
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
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 ω,
where S is the sensitivity function (I + L)–1. In other words, α can be computed from the peak gain of a shifted sensitivity function,
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.
Varying the eccentricity parameter E amounts to changing the shape of the uncertainty disk 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 and varying between 0 and . The disk margin is returned by
diskmargin in the
DiskMargin field of
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.
For MIMO systems, the disk margin computation is analogous. The uncertainty model is:
Here, Δ is a diagonal matrix, to model gain or phase variation independently in each feedback channel.
The robust stability condition is then:
The disk margin α can be obtained by a μ
structured singular value (
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:
In applying this value of α, the tuning software assumes E = 0.
 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.