Small Gain Theorem and Integral Quadratic Constraints - (Matlab Code) PDF
Small Gain Theorem and Integral Quadratic Constraints - (Matlab Code) PDF
3.1
There exist many versions of the small gain theorem, distinguished by the type of gain
and the type of interconnection they apply to. One of the simplest versions applies to the
unit feedback interconnection on Figure 3.1, and claims that, assuming well-posedness, if
system has L2 gain < 1, then the unity feedback interconnection system (input
w, output y) has L2 gain not larger than /(1 ).
v
-+
f 6
26
3.1.1
Here is a formal presentation of a one version of the small gain theorem (the rest are
formulated and proven in a similar way).
m,m
Theorem 3.1. If system SDT
(X) has fixed state L2 gain < 1, and the unity
m,m
feedback system SDT (X) is well defined then the fixed state L2 gain of is not
larger than /(1 ).
1,1
(R) is the one step delay times a system defined by
Example 3.1. When SDT
There are several ways to approach the proof of Theorem 3.1. To stress the generalizations to be discussed later in the chapter, we start with the following statement about
specific quadratic forms.
Lemma 3.1. For every h [0, 1) there exists d 0 such that
h2
|w y|2 |y|2 d(h2 |w|2 |y|2 ) 0
(1 h)2
w, y Rm .
(3.1)
2
h2
h
2 I
dh
I
m
m
2
2
(1h)
(1h)
(x) = x Qx where Q =
h2
h2
Im
(1h)2 Im
d 1 + (1h)
2
(Im denotes the m-by-m identity matrix, and the prime means Hermitean conjugation, which
is the same as transposition for real vectors or matrices, and the elements of Rn are interpreted as
27
T
X
2
2 |w(t) y(t)|2 |y(t)|2 d
h
h |w(t)|2 |y(t)|2 ,
(3.2)
t=0
= h/(1 h). Since the fixed state L2 gain of is less than h, the sum on the right side
where h
of (3.2) is bounded from below by a constant c = c(x0 ) depending on the boundary condition x0
only. Since d 0, this means that the sum on the left side of (3.2) is bounded from below by the
constant c = dc(x0 ) which depends on the boundary condition x0 only. Since w y = v, this
= h/(1 h) for every h (, 1).
means that the fixed state L2 gain of is not larger than h
As h , we conclude that the fixed state L2 gain of is not larger than /(1 ).
3.2
Given a system S S m,k (X) and a quadratic form : Rm+k R, let us say that
S satisfies the fixed state integral quadratic constraint (IQC) defined by if for every
x0 X there exists a constant c = c(x0 ) such that the inequality
T
X
t=0
([w(t); y(t)])dt c
(3.3)
28
(3.4)
(this = (v, x) is a quadratic form with respect to its first argument v = [w; y] R2m ,
and an affine function of its second argument x = [r; d] R2 ), and try to find the value of
the second argument x = [r; d] such that d 0, and the resulting quadratic form of the
first argument v R2m is positive semidefinite. For every r, d satisfying these conditions,
3.2.1
The following classical statement on feedback system stability is another example of using
IQCs. For variety, it will be presented in an asymptotic continuous time setting.
m,m
Let us call system SCT
(X) passive if
Z T
inf
y(t) w(t)dt >
(3.5)
T 0
29
w
-f
6
+ (v, x0 ) = {w : v w (w, x0 )}
is well defined, then the L2 gain of + isnot larger than 1
Proof of Theorem 3.2
By assumption, the asymptotic IQC defined by
1 ([w; y]) = w y
is satisfied for . Since v = w + y, the objective is to prove that satisfies the IQC defined by
0 ([w; y]) = |w + y|2 |w|2 .
Indeed, the latter IQC is certified by the fact that the quadratic form = 0 21 , i.e.
([w; y]) = |w + y|2 |w|2 2w y = |y|2
is positive semidefinite.
3.3
One convenient way of setting up an optimization problem (or program) is by using the
format
Lx min subject to x Q, Ax = B,
(3.6)
x
30
x1
x1 x2
x2
=
.
x2 x3
x3
Let Sk+ be the set of all vectors x Rm for which (x) is a positive semidefinite matrix.
When Q = Sk+ for some k, the task (3.6) is called a semidefinite program.
This definition is general enough, but it turns out to be both convenient and more
efficient to view Q as the set of vectors
x1
x = ... , xi Qi ,
xr
where each of the Qi is, for some d = di , one of the following:
(a) Rd ;
(b) Rd+ ;
(c) Sd+ ;
(d) the set
x0
Lk = . . . Rk+1 :
xk
x0
Lk = . . . Rk+1 :
xk
x0 0, x1 0, x0 x1 x22 + + x2k
31
For example, the task of finding real numbers r, d such that d 0 , the quadratic form
in (3.4) is positive definitene, and r is as small as possible (something motivated by the
small gain theorem), can be viewed as a semidefinite program with
r
2
d : r R, d R+ , s S .
Q=
s
In the resulting task (3.6) we have n = d(d + 1)/2 with d = 2,
r
2
s
r
s
r
dh
1
2
1
B = 0, A d = ( (s)) =
r
r1+d
s2 s3
s
(so that Ax = B simply states that is positive semidefinite), and
r
L d = r.
s
3.3.1
There are many tools for solving semidefinite programs numerically. Currently, withing
the MATLAB environment, one of the most commonly used free semidefinite program
solvers is SeDuMi. Since representing semidefinite programs in the SeDuMi-prescribed
format can be time-consuming and error-prone, additional tools were developed to help
with problem description (in particular, the free YALMIP toolbox appears to be popular).
This section describes the use of an alternative MATLAB toolbox, spot, which will be
made available from the 6.245 class locker. Here is the code for solving the semidefinite
program associated with the small gain theorem. It returns the best upper bound for
the closed loop L2 gain, when stability can be establishes (subject to the well-posedness
assumption), or [].
function g=spotsample0(h)
r=msspoly(r);
%
d=msspoly(d);
%
s=msspoly(s,[3,1]);
%
pr = mssprog;
%
pr.free = r;
%
symbolic [r]
symbolic [d]
symbolic [s1;s2;s3]
initialize program
register r as free
32
pr.pos = d;
% register d as positive
pr.psd = s;
% register s as semidefinite
S = mss_v2s(s);
% S=[s1 s2;s2 s3]
pr.eq = [r-d*(h^2) -r; -r r-1+d]-S;
% this is 0
pr.sedumi = r;
% minimize r
g=sqrt(pr({r}));
% get optimum
Here is a different code, which is mostly indented to save programmers brains by
skipping some algebra done by hand (it refers directly to quadratic form (3.4) instead of
its matrix). In this case, it turns out that it also generates a smaller size SeDuMi program.
function g=spotsample1(h)
r=msspoly(r);
% symbolic [r]
d=msspoly(d);
% symbolic [d]
s=msspoly(s,[3,1]);
% symbolic [s1;s2;s3]
w=msspoly(w);
% symbolic [r]
y=msspoly(y);
% symbolic [y]
z=[w;y];
pr = mssprog;
% initialize program
pr.free = r;
% register r as free
pr.pos = d;
% register d as positive
pr.psd = s;
% register s as semidefinite
S = mss_v2s(s);
% S=[s1 s2;s2 s3]
% equality constraint
pr.eq = r*(w-y)^2-y^2-d*(h^2*w^2-y^2)-z*S*z;
pr.sedumi = r;
% minimize r
g=sqrt(pr({r}));
% get optimum
Note the difference between registered variables r,d,s and unregistered variables w,y.
When handling equality constraints which involve unregistered variables, spot generates
equality constraints which are equivalent to the expression being zero for all possible
values of unregistered variables.
Example: Robustness to Structured Uncertainty
Consider the feedback interconnection from Figure 3.3, where v, w, q, y are signals from
m,m
Lm , M SCT
({0}) is the linear system defined by a real given m-by-m real matrix M0 :
M (w, 0) = {M0 w},
33
m,m
1,1
and SCT
(X) is the parallel connection of m systems i SCT
(Xi ) (i = 1, . . . , m),
in the sense that X = X1 Xm , and
y
q1
1
..
..
. , (x1 , . . . , xm ) = . : yi i (qi , xi ) .
qm
m
-f 6
by
Since the L2 gain bound for each i establishes that M satisfies the IQC defined
i ([w; y]) = |ei M w|2 |ei y|2
(i = 1, 2, . . . , m),
where ei is the 1-by-m row vector with all 0 elements except 1 at the i-th position.
On the other hand, the closed loop L2 gain is not larger than 0 if M satisfyies
the IQC defined by
0 ([w; y]) = r|w y|2 |y|2
with r = 2 .
The standrad approach to IQC analysis suggests searching for non-negative constants
d1 , . . . , dm and r R such that the quadratic form
= 0
m
X
d i i
i=1
34
where
D=
d1
0
0
...
dm