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:

[IC](IPC)1[PI]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.

More About

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.

Was this topic helpful?