Most of the time spent on this FYP consisted not of looking at the RCAM, but of coming to terms with different complex concepts involved in determining the worst case system including Linear Fractional Transformation (LFTs) and m-Analysis techniques. A good understanding of matrix algebra is also essential.
The state of a system is a asset of numbers such that the knowledge of these numbers and the input functions will, with the equations describing the dynamics, provide the future state and output of the system. The state variables describe the future response of a system, given the present state, the excitation inputs, and the equations describing the dynamics. There are several different ways to describe a system of linear differential equations. The state-space representation is given by the equations:

where
. Also x is an n by 1 vector representing the state (commonly
position and velocity variables in mechanical systems), u is a scalar
representing the input (commonly a force or torque in mechanical systems), and
y is a scalar representing the output. The matrices A (n by n), B (n by 1), and
C (1 by n) determine the relationships between the state and input and output
variables. Note that there are n first-order differential equations.
State space representation is used for systems with multiple inputs and outputs (MIMO) i.e. RCAM and for single-input, single-output (SISO) systems also. The first equation above is often referred to as the state differential equation. The second equation is the state output equation.
It can also be
showed how to change from state space to transfer function by the following
example. A system is given where the transfer function will be of the
form, ![]()
This represented in state space is the following,
![]()
x is the state vector, u is the input and y is the output. Laplace transforms of those equations are:
![]()
![]()
x(0) is an initial condition and it is assumed to be zero, so:
![]()
or
![]()
Pre-multiply
to both sides of this
last equation,
![]()
Putting the last equation into the 2nd last equation it is found,
![]()
Comparing this
equation to
it is now found,
![]()
This is the transfer function in terms of ABCD so from above G(s) can be written as:
![]()
Q(s) is a
polynominal in s.
is equal to the
characteristic ploynominal of G(s). In other words, the eigenvalues of A are
identical to the poles of G(s).
The concept of a norm is somewhat
similar to that of the absolute value.
1. A norm
of an n x n matrix A
may be defined by
=min k such that
.
For the norm
, this definition is equal
which means that
is the maximum of the
‘absolute value’ of the vector AX when x*x = 1.
2. A norm of an n x n matrix A may be defined by
![]()
where
is the absolute value
of
.
3. A norm may also be defined by

4. Another definition of a norm is given by

For example the energy norm would be found by the following method,
where 
The actuator norm can be found by the following method,
where

Linear Fractional Transformations (LFTs) are a
powerful and flexible approach to represent uncertainty in matrices and
systems. First introducing M as a complex matrix, relating vectors r and
v,
If r and v are split up into 2 parts,
then we can see the relationship in more detail, particularly showing the
partitioned matrix M.

A matrix D relates v2 to r2 .
![]()
This relation between the free pairs of signal is
known as the Linear Fractional Transformation (LFT) of M.

The subscript ‘L’ tells us that it is a Lower Linear Fractional
Transformation. Below ‘U’ will denote the Upper Linear Fractional
Transformation instead of ‘L’.
But
looking at the upper LFT, if M is taken constant and D is taken from some set of D’s, the mapping from
r2 to v2, i.e.
becomes a whole set of mappings where, ![]()
Looking
at an example of a second order system, representing a single
degree-of-freedom mass/damper/spring system with uncertain elements,
![]()
The
values are assumed to be uncertain with a nominal case and a chance for
variation.
![]()
with –1 £ dm, dc, dk £ 1. Note that this represents 50% uncertainty in m, 30% uncertainty in c,
40% uncertainty in k. The matrices will be,

The
individual blocks can now be represented as uncertain block in LFTs,

Figure 2 - 1
The
signals that go in and out from the di’s maybe be labelled as wi and zi.
The original system without the uncertainty blocks would look like this,

Figure 2 - 2
This
system will now have 3 extra inputs and outputs, like the following,

Figure 2 – 3
From this
,
and
.
,
and
can now be put into the matrix
. So connecting Gmck to this gives us the LFT.

Figure 2 – 4
D , the uncertain element will have a fixed structure i.e. a fixed structure containing the individual uncertainties in c, k and m. But D is no longer a scalar so another choice for a norm will have to be made i.e. the structured singular value (mu).
For general parametric uncertainty in state-space or transfer function models, the methods outlined in the previous section are used. In the special case of linear uncertainty in a state-space model, the uncertainty description can be built up even more easily. Consider an uncertain state-space model,

where for each i = 1,2,. . .,m

Let,

and
factorise each matrix (using the command svd) as,

where

Now define a linear system GSS , with
extra inputs and outputs as was done in the last section,


Figure 2 - 5
The uncertain system in the above equation is represented
as an LFT around GSS , namely
![]()
where D maps z ® w, and has the structure given as
![]()
This approach has its roots in the Gilbert
realization.
As an
example, consider a two-state, single-input, single-output system with single
parameter dependence,

The matrix multiplying d has rank
1, and factors simply as

so the state equations for GSS are

In the above system
where
. This tells us that
= -1
= 0
= 1
[ minimum case nominal case maximum case ]
For a small system rather such as the above analysis can be completed easily but when a large system such as the RCAM is attempted m-Analysis techniques can be performed.
The lower and upper LFT formulas can be implemented
with the command starp. The name starp comes from
the star product operation defined and developed by Redneffer. The star
product is a generalization of the LFT, and includes both the lower and upper
LFTs as special cases. T(top) and B(bottom) are 2 matrices which can be
varying, constant or system and are shown below.
![]()
The matrix product T22 B11 is well
defined, and is in fact, square. If I – T22 B11 is invertible,
define the star product of T and B to be

and
are as before
![]()
In a diagram our starp will look like this

Using Matlab this can be computed by
S = starp(T,B,n1,n2)
In section 2.2 the Upper LFT was defined as,
![]()
But D may belong to a set of D’s with a specific
diagonal structure. The denominator term
raises the question
for which DÎD is the feedback
structure well-defined or is the best. For example let
and D can
be chosen from this:
![]()
To answer the above question we will define,
![]()
Looking at the above formula it can be deduced that
is the reciprocal of the smallest D that
can be found in the set D
that makes the matrix
singular. Unless no D
Î D makes
singular, in which case
= 0.
The different
’s can only vary between –1 and 1 so
. If
>1 this would say that
, so this is a combination of
’s<1 for which the LFT is singular. But if
, the worst case D is > 1, so there is a guarantee that no combination
of
’s < 1 exists that violates that well defined structure of
the LFT.
The above defines the function of
. But it is not possible to get an exact computation so the
only way is to find the upper and lower bounds on m. By squeezing the gap
between these bounds, a good approximation can be obtained.
Given uncertain models, the structured singular value (m) can be used to analyze the robustness of the system to the structured uncertainty that enters in the feedback form. Using the command mu, the upper and lower bounds of m can be obtained and different conclusions can be reached about the m-Analysis.
With each m-Analysis the following has to be completed.

> 1 Þ
fail.
As mentioned in the last section m can only be approximated by getting the upper and lower bounds. This analysis of the bounds must be done at each frequency w. This will be completed for a large amount of frequency’s as the grid must be dense enough in order not to miss thin peaks in m(M(jw)) sometimes caused by real perturbations.
When
> 1 it says that a D of this size causes an
unstable loop gain.
The command mu returns 5
different parameters. Of these 5 different parameters 2 are of importance to
us. They are the bnds and pvec. The matrix pvec contains the perturbation matrix D which
makes I – MD singular. This
perturbation corresponds to the lower bound in bnds. It is of the same
type as M. Since the structured set usually contains many zero elements,
the perturbation matrix D is stored efficiently
in pvec as a row vector. It can be unwrapped into the
block diagonal form using unwrapp.[9]
delta = unwrapp(pvec, deltaset);
After being unwrapped, the perturbation matrix delta satisfies three conditions:
• It has the block structure defined by deltaset.
• The maximum singular value of delta is equal to the reciprocal of the lower bound
in bnds (when the lower bound is not zero).
• The matrix mmult(sys,delta) has an eigenvalue equal to 1 at each
independent variable.
The combination of upper and lower bounds
makes the mu software unique. The upper bounds give a guarantee on the
worst-case performance degradation that can occur under perturbation. The lower
bounds actually exhibit a perturbation that causes significant performance
degradation. This perturbation can then be used in time-domain simulations to
better understand its effect.
[5] m-Analysis and Synthesis Toolbox: For Use with MATLAB, Page 4-10
[6] m-Analysis and Synthesis Toolbox: For Use with MATLAB, Page 4-20
[7] m-Analysis and Synthesis Toolbox: For Use with MATLAB, Page 4-10
R. Redheffer, “Inequalities for a matrix Riccati equation”
[8] m-Analysis and Synthesis Toolbox: For Use with MATLAB, Page 4-50
[9] m-Analysis and Synthesis Toolbox: For Use with MATLAB, Page 8-11