Robust Control Toolbox™ Previous page   Next Page 
 Provide feedback about this page

Decomposing Uncertain Objects (for Advanced Users)

Each uncertain object (umat, uss, ufrd) is a generalized feedback connection (lft) of a not-uncertain object (e.g., double, ss, frd) with a diagonal augmentation of uncertain atoms (ureal, ultidyn, ucomplex, ucomplexm, udyn). In robust control jargon, if the uncertain elements are normalized, this decomposition is often called "the M/D form."

The purpose of the uncertain objects (ureal, ultidyn, umat, uss, etc.) is to hide this underlying decomposition, and allow the user to focus on modeling and analyzing uncertain systems, rather than the details of correctly propagating the M/D representation in manipulations. Nevertheless, advanced users may want access to the familiar M/D form. The command lftdata accomplishes this decomposition.

Since ureal, ucomplex and ucomplexm do not have their NominalValue necessarily at zero, and in the case of ureal objects, are not symmetric about the NominalValue, some details are required in describing the decomposition.

Normalizing Functions for Uncertain Atoms

Associated with each uncertain element is a normalizing function. The normalizing function maps the uncertain element into a normalized uncertain element.

If rho is an uncertain real parameter, with range [L R] and nominal value N, then the normalizing function F is

with the property that for all rho satisfying LrhoR, it follows that -1F(rho)1, moreover, F(L)=-1, F(N)=0, and F(R)=1. If the nominal value is centered in the range, then it is easy to conclude that

It is left as an algebra exercise for the user to work out the various values for A, B, C and D when the nominal value is not centered.

If E is an uncertain gain-bounded, linear, time-invariant dynamic uncertainty, with gain-bound beta, then the normalizing function F is

If E is an uncertain positive-real, linear, time-invariant dynamic uncertainty, with positivity bound beta, then the normalizing function F is

where alpha=2|beta|+1.

The normalizing function for an uncertain complex parameter xi, with nominal value C and radius gamma is

The normalizing function for uncertain complex matrices H, with nominal value N and weights WL and WR is

In each case, as the uncertain atom varies over its range, the absolute value of the normalizing function (or norm, in the matrix case) varies from 0 and 1.

Properties of the Decomposition

Take an uncertain object A, dependent on uncertain real parameters rho1,...,rhoN, uncertain complex parameters xi1,...,xiK, uncertain complex matrices H1,...,HB, uncertain gain-bounded linear, time-invariant dynamics E1,...,ED, and uncertain positive-real linear, time-invariant dynamics P1,...,PQ.

Write A(rho,xi,H,E,P) to indicate this dependence. Using lftdata, A can be decomposed into two separate pieces: M and capital delta(rho,xi,H,E,P) with the following properties:

The order of the normalized atoms making up A is not the simple order shown above. It is actually the same order as given by the command fieldnames(M.Uncertainty). See Advanced Syntax of lftdata for more information.

Syntax of lftdata

The decomposition is carried out by the command lftdata.

You can create a 2-by-2 umat named A using three uncertain real parameters.

Note that A depends on two occurrences of delta, three occurrences of eta and one occurrence of rho.

Decompose A into M and Delta. Note that M is a double, and Delta has the same uncertainty dependence as A.

Sample Delta at 5 points. Things to note are: it is diagonal; the values range between -1 and 1; there are 3 independent values, and duplication of the entries is consistent with the dependence of Delta and A on the 3 uncertain real parameters.

In fact, verify that the maximum gain of Delta is indeed 1.

Finally, verify that lft(Delta,M) is the same as A. Subtract (and use the 'full' option in simplify)

Advanced Syntax of lftdata

Even for the advanced user, the variable Delta will actually not be that useful, as it is still a complex object. On the other hand, its internal structure is described completely using a 3rd (and 4th) output argument.

The rows of BlkStruct correspond to the uncertain atoms named in fieldnames(A.Uncertainty). Note that the range/bound information about each uncertain atom is not included in BlkStruct.

The elements of BlkStruct describe the size, type and number-of-copies of the uncertain atoms in A, and implicitly delineate the exact block-diagonal structure of Delta. Note that the range/bound information about each uncertain atom is not included in BlkStruct.

Together, these mean Delta is a block diagonal augmentation of the normalized version of 3 uncertain atoms.

The first atom is named 'delta'. It is 1-by-1; it is of class ureal; and there are 2 copies diagonally augmented.

The second atom is named 'eta'. It is 1-by-1; it is of class ureal; and there are 3 copies diagonally augmented.

The third atom is named 'rho'. It is 1-by-1; it is of class ureal; and there is 1 copy,

The 4th output argument contains a cell array of normalized uncertain elements. The cell array contains as many occurrences of each element as there are occurrences in the original uncertain object A.

Each normalized element has the string 'Normalized' appended to its original name to avoid confusion. By normalized,

The possible behaviors of Delta and blkdiag(NormUnc{:}) are the same. Consequently, the possible behaviors of A and lft(blkdiag(NormUnc{:}),M) are the same.

Hence, by manipulating M, BlkStruct and NormUnc, a power-user has direct access to all of the linear fractional transformation details, and can easily work at the level of the theorems and algorithms that underlie the methods.


 Provide feedback about this page 

Previous page Array Management for Uncertain Objects Generalized Robustness Analysis Next page

 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS