| Robust Control Toolbox | |
| Provide feedback about this page |
Calculate worst-case sensitivity and complementary sensitivity functions of plant-controller feedback loop
Syntax
wcst = wcsens(L) wcst = wcsens(L,type) wcst = wcsens(L,opt) wcst = wcsens(L,type,scaling) wcst = wcsens(L,type,scaling,opt) wcst = wcsens(P,C) wcst = wcsens(P,C,type) wcst = wcsens(P,C,opt) wcst = wcsens(P,C,type,scaling) wcst = wcsens(P,C,type,scaling,opt)
Description
The sensitivity function, S=(I+L)-1, and the complementary sensitivity function, T=L(I+L)-1, where L is the loop gain matrix associated with the input, CP, or output, PC, are two transfer functions related to the robustness and performance of the closed-loop system. The multivariable closed-loop interconnection structure, shown below, defines the input/output sensitivity, complementary sensitivity and loop transfer functions.
wcst = wcsens(L)
calculates the worst-case sensitivity and complementary sensitivity functions for the loop transfer matrix L in feedback in negative feedback with an identity matrix. If L is a uss object, the frequency range and number of points are chosen automatically.
wcst = wcsens(P,C)
calculates the worst-case sensitivity and complementary sensitivity functions for the feedback loop C in negative feedback with P. C should only be the compensator in the feedback path, not any reference channels, if it is a 2-dof architecture (see loopsens). If P and C are ss/tf/zpk or uss objects, the frequency range and number of points are chosen automatically. wcst is a structure with the following substructures:
Each sensitivity substructure is a structures with five fields MaximumGain, BadUncertainValues, System, BadSystem, Sensitivity derived from the outputs of wcgain.
wcst = wcsens(L,type) and wcst = wcsens(P,C,type)
allows selection of individual Sensitivity and Complementary Sensitivity functions, type, as 'Si','Ti','So','To','PSi','CSo' corresponding to the sensitivity and complementary sensitivity functions. Setting type to 'S' or 'T' selects all sensitivity functions ('Si','So','PSi','CSo') or all complementary sensitivity functions ('Ti','To'). Similarly, setting type to 'Input' or 'Output' selects all input Sensitivity functions ('Si','Ti','PSi') or all output sensitivity functions ('So,'To','CSo'). 'All' selects all six Sensitivity functions for analysis (default). type may also be a cell containing a collection of strings, i.e. 'Si','To', as well as a comma separated list.
wcst = wcsens(L,type,scaling) and wcst = wcsens(P,C,type,scaling)
adds a scaling to the worst-case sensitivity analysis. scaling is either the character strings 'Absolute' (default), 'Relative' or a ss/tf/zpk/frd object. The default scaling 'Absolute' calculates bounds on the maximum gain of the uncertain sensitivity function. The 'Relative' scaling finds bounds on the maximum relative gain of the uncertain sensitivity function. That is, the maximum relative gain is the largest ratio of the worst-case gain and the nominal gain evaluated at each frequency point in the analysis, Similarly if scaling is a ss/tf/zpk/frd object, bounds on the maximum scaled gain of the uncertain sensitivity function are found. If scaling is 'Relative'or a ss/tf/zpk/frd object, the worst-case analysis peaks over frequency. If scaling is an object, its input/output dimensions should be 1-by-1 or dimensions compatible with P and C. type and scaling can also be combined in a cell array, e.g.
wcst = wcsens(P,C,opt) or wcst = wcsens(P,C,type,scaling,opt)
specifies options for the worst-case gain calculation as defined by opt. (See wcgopt for more details on the options for wcsens.)
The sensitivity of the worst-case sensitivity calculations to the individual uncertain components can be determined using the options object opt. To compute the sensitivities to the individual uncertain components, create a wcgopt options object, and set the Sensitivity property to 'on'.
Example
The following constructs a feedback loop with a first order plant and a proportional-integral controller. The time constant is uncertain and the model also includes an multiplicative uncertainty. The nominal (input) sensitivity function has a peak of 1.09 at omega = 1.55 rad/sec. Since the plant and controller are single-input / single-output, the input/output sensitivity functions are the same.
delta = ultidyn('delta',[1 1]); tau = ureal('tau',5,'range',[4 6]); P = tf(1,[tau 1])*(1+0.25*delta); C=tf([4 4],[1 0]); looptransfer = loopsens(P,C); Snom = looptransfer.Si.NominalValue; norm(Snom,inf) ans = 1.0864
wcsens is then used to compute the worst-case sensitivity function as the uncertainty ranges over its possible values. More information about the fields in wcst.Si can be found in the wcgain help. The badsystem field of wcst.Si contains the worst case sensitivity function. This worst case sensitivity has a peak of 1.52 at omega = 1.02 rad/sec. The maxgainunc field of wcst.Si contains the perturbation that corresponds to this worst case sensitivity function.
wcst = wcsens(P,C) wcst = Si: [1x1 struct] Ti: [1x1 struct] So: [1x1 struct] To: [1x1 struct] PSi: [1x1 struct] CSo: [1x1 struct] Stable: 1 Swc = wcst.Si.BadSystem; omega = logspace(-1,1,50); bodemag(Snom,'-',Swc,'-.',omega); legend('Nominal Sensitivity','Worst-Case Sensitivity',... 'Location','SouthEast') norm(Swc,inf) ans = 1.5075
For multi-input/multi-output systems the various input/output sensitivity functions will, in general, be different.
Reference
J. Shin, G.J. Balas, and A.K. Packard, "Worst case analysis of the X-38 crew return vehicle flight control system," AIAA Journal of Guidance, Dynamics and Control, vol. 24, no. 2, March-April 2001, pp. 261-269.
See Also
loopsens Calculate sensitivity functions of feedback loops
loopmargin Comprehensive analysis of feedback loops
robuststabCalculate stability margins of uncertain systems
usubsSubstitutes values for uncertain atoms
wcgain Calculate worst-case gain of a system
wcgopt Create a worst-case options object
wcmargin Calculate worst-case margins for feedback loop
| Provide feedback about this page |
![]() | wcnorm | Block Reference | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |