| Robust Control Toolbox | |
| Provide feedback about this page |
Calculate normalized coprime stability margin of plant-controller feedback loop
Syntax
Description
[marg,freq] = ncfmargin(P,C)
calculates the normalized coprime factor/gap metric robust stability margin b(P, C), marg, of the multivariable feedback loop consisting of C in negative feedback with P. The normalized coprime factor b(P, C) is defined as
C should only be the compensator in the feedback path, such as the 1-dof architecture shown below (on the right). If the compensator has 2-dof architecture shown below (on the left), you must eliminate the reference channels before calling ncfmargin. freq is the frequency associated with the upper bound on marg.
The normalized coprime factor robust stability margin lies between 0 and 1 and is used as an indication of robustness to unstructured perturbations. Values of marg greater than 0.3 generally indicate good robustness margins.
[marg,freq] = ncfmargin(P,C,tol)
calculates the normalized coprime factor/gap metric robust stability of the multivariable feedback loop consisting of C in negative feedback with P. tol specifies a relative accuracy for calculating the normalized coprime factor metric and must be between 10-5 and 10-2. tol=0.001 is the default value.
Example
Consider the plant model 4/(s-0.001) an unstable first order, and two constant gain controllers, k1 = 1 and k2 = 10. Both controllers stabilize the closed-loop system
The transfer function clp1 is shown as is clp2.
The closed-loop system with controller k1, clp1, has a normalized coprime factor robust stability margin of 0.71 that is achieved at infinite frequency. This indicates that the closed-loop system is very robust to unstructured perturbations. The closed-loop system with controller k2, clp2, has a normalized coprime factor robust stability margin of 0.10. This indicates that the closed-loop system is not robust to unstructured perturbations.
[marg1,freq1] = ncfmargin(x,1) marg1 = 0.7071 freq1 = Inf [marg2,freq2] = ncfmargin(x,10) marg2 = 0.0995 freq2 = Inf
Construct an uncertain system, xu, by adding an 11% unmodeled dynamics to the nominal system x. Calculate the robust stability of the closed-loop system with the feedback gain 1 and 10.
xu = x + ultidyn('uncstruc',[1 1],'Bound',0.11); [stabmarg1, du1, report1] = robuststab(feedback(xu,1)); disp(report1{1}) Uncertain System is robustly stable to modeled uncertainty. -- It can tolerate up to 909% of modeled uncertainty. -- A destabilizing combination of 909% the modeled uncertainty exists, causing an instability at 165 rad/s. [stabmarg10, du10, report10] = robuststab(feedback(xu,10)); disp(report10{1}) Uncertain System is NOT robustly stable to modeled uncertainty. -- It can tolerate up to 90.9% of modeled uncertainty. -- A destabilizing combination of 90.9% the modeled uncertainty exists, causing an instability at 1.64e+003 rad/s.
The closed-loop system with K=1 is robustly stable in the presence of the unmodeled dynamics based on the robust stability analysis. In fact, the closed-loop system with K=1 can tolerate 909% (or 9.09*11%) of the unmodeled LTI dynamics, whereas the closed-loop system is not robustly stable with a constant gain of 10 controller. The closed-loop system with K=10 implemented can only tolerate 90.9% (or.909*11%) of the unmodeled LTI dynamics.
Algorithm
The computation of the gap amounts to solving 2-block H
problems, Georgiou, Smith, 1988. The particular method used here for solving the H
problems is based on Green et al., 1990. The computation of the nugap uses the method of Vinnicombe, 1993.
References
See Also
loopmargin Performs a comprehensive analysis of feedback loop
gapmetric Computes the gap and the Vinnicombe gap metric
norm Computes the norm of a system
wcmargin Calculate worst-case margins for feedback loop
| Provide feedback about this page |
![]() | mussvextract | ncfmr | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |