Accelerating the pace of engineering and science

# ncfmargin

Calculate normalized coprime stability margin of plant-controller feedback loop

## Syntax

[marg,freq] = ncfmargin(P,C)
[marg,freq] = ncfmargin(P,C,sign)
[marg,freq] = ncfmargin(P,C,sign,tol)

## Description

[marg,freq] = ncfmargin(P,C) returns the normalized coprime stability margin (also called the gap metric stability margin) of the multivariable feedback loop consisting of a controller, C, in negative feedback with a plant, P. This margin, marg, is achieved at the frequency freq. The normalized coprime stability margin is defined as:

${‖\left[\begin{array}{c}I\\ C\end{array}\right]{\left(I-PC\right)}^{-1}\left[\begin{array}{cc}P& I\end{array}\right]‖}_{\infty }^{-1}.$

The calculation assumes the feedback structure of the following diagram:

The normalized coprime robust stability margin is an indication of robustness to unstructured perturbations. The value of the margin lies between 0 and 1. Values greater than 0.3 generally indicate good robustness margins.

[marg,freq] = ncfmargin(P,C,sign) specifies the sign of the feedback connection assumed for the margin calculation. The default value, sign = -1, specifies negative feedback. Setting sign = +1 assumes a positive feedback connection for the margin calculation, as in the following diagram:

[marg,freq] = ncfmargin(P,C,sign,tol) calculates the normalized coprime factor metric with the specified relative accuracy. tol is a scalar value between 10–5 and 10–2. The default value is tol = 0.001 (0.1% accuracy).

## Examples

Consider an unstable first-order plant, p, stabilized by high-gain and low-gain controllers, cL and cH.

```p = tf(4,[1 -0.001]);
cL = 1;
cH = 10;			```

Compute the stability margin of the closed-loop system with the low-gain controller.

`[margL,~] = ncfmargin(p,cL)`
```margL =

0.7069
```

Similarly, compute the stability margin of the closed-loop system with the high-gain controller.

`[margH,~] = ncfmargin(p,cH)`
```margH =

0.0995
```

The closed-loop systems with low-gain and high-gain controllers have normalized coprime stability margins of about 0.71 and 0.1, respectively. This result indicates that the closed-loop system with low-gain controller is more robust to unstructured perturbations than the system with the high-gain controller.

To observe this difference in robustness, construct an uncertain plant, punc, that has an additional 11% unmodeled dynamics compared to the nominal plant.

`punc = p + ultidyn('uncstruc',[1 1],'Bound',0.11); `

Calculate the robust stability of the closed-loop systems formed by the uncertain plant and each controller.

```[stabmargL,duL,reportL] = robuststab(feedback(punc,cL));
reportL
[stabmargH,duH,reportH] = robuststab(feedback(punc,cH));
reportH
```
```reportL =

Uncertain system is robustly stable to modeled uncertainty.
-- It can tolerate up to 909% of the modeled uncertainty.
-- A destabilizing combination of 909% of the modeled uncertainty was found.
-- This combination causes an instability at 2e+03 rad/seconds.
-- Sensitivity with respect to the uncertain element is:
'uncstruc' is 100%.  Increasing 'uncstruc' by 25% leads to a 25% decrease in the margin.

reportH =

Uncertain system is not robustly stable to modeled uncertainty.
-- It can tolerate up to 90.9% of the modeled uncertainty.
-- A destabilizing combination of 90.9% of the modeled uncertainty was found.
-- This combination causes an instability at 2e+04 rad/seconds.
-- Sensitivity with respect to the uncertain element is:
'uncstruc' is 100%.  Increasing 'uncstruc' by 25% leads to a 25% decrease in the margin.
```

As expected, the robust stability analysis shows that the closed-loop system with low-gain controller is more robustly stable in the presence of the unmodeled LTI dynamics. In fact, this closed-loop system can tolerate 909% (or 9.09*11%) of the unmodeled dynamics. In contrast, closed-loop system with the high-gain controller is not robustly stable. That closed-loop system can only tolerate 90.9% (or 0.909*11%) of the unmodeled dynamics.

expand all

### Algorithms

The computation of the normalized coprime stability margin amounts to solving 2-block H problems. [1] The function, ncfmargin, is based on [2].

## References

[1] Georgiou, T.T., "On the computation of the gap metric," Systems & Control Letters, Vol. 11, No. 4, 1988, pp. 253-257.

[2] Green, M., Glover, K., D. Limebeer, and J.C. Doyle, "A J-spectral factorization approach to H control," SIAM Journal on Control and Optimization, Vol. 28, No. 6, 1990, pp. 1350-1371.