Chapter 6 State-Space Design
Xmath Control Design Module 6-36 ni.com
T is the transformation relating the states of the original system to the states
of the balanced system Transforming to balanced coordinates can
be useful in model reduction because the relative importance of the state to
the system’s input/output performance is highlighted.
balance( ) first finds the controllability and observability grammians
using lyapunov( ) for both the discrete and continuous cases. It then
performs a singular-value decomposition of both grammians:
[Sc,Uc,Vc]=SVD(Wc); [So,Uo,Vo]=SVD(Wo)
and constructs the H matrix from the square roots of the singular values:
H=diagonal(sqrt(So))*Uo'*Uc*diagonal(sqrt(Sc))
The singular-value decomposition of H returns the Hankel singular
values HSV. The transformation matrix T is obtained by backsolving
and retransforming. The algorithm is given in [Moo81]. When the
transformation has been found, the balanced system matrices then can be
obtained from the original system through Equation 6-18. For an example
of how to balance a system, refer to Example 6-12.
Example 6-12 Balancing a System
Taking a hypothetical system:
A=-[1,2,3,4;0,5,6,7;0,0,8,9;0,0,0,10];
B=[0;0;0;1];
C=[1,0,0,0];
D=0;
Sys = system(A,B,C,D);
Computing the controllability and observability grammians and noting
their rather high condition numbers:
Wc=lyapunov(A,B*B');
Wo=lyapunov(A',C'*C);
condition(Wc)
ans (a scalar) = 283.029
condition(Wo)
ans (a scalar) = 1112.66
You then balance the system,
[SysB,HSV,T]=balance(Sys);
[Ab,Bb,Cb]=ABCD(SysB);
xTx
ˆ
.=