h2syn

H2 control synthesis for LTI plant

Syntax

[K,CL,GAM,INFO]=H2SYN(P,NMEAS,NCON)

Description

h2syn computes a stabilizing H2 optimal lti/ss controller K for a partitioned LTI plant P. The controller, K, stabilizes the plant P and has the same number

P=[AB1B2C1D11D12C2D21D22]

of states as P. The LTI system P is partitioned where inputs to B1 are the disturbances, inputs to B2 are the control inputs, output of C1 are the errors to be kept small, and outputs of C2 are the output measurements provided to the controller. B2 has column size (NCON) and C2 has row size (NMEAS).

If P is constructed with mktito, you can omit NMEAS and NCON from the arguments.

The closed-loop system is returned in CL and the achieved H2 cost γ in GAM. INFO is a struct array that returns additional information about the design.

H2 control system CL= lft(P,K)=.

Output Arguments

Description

K

LTI controller

CL= lft(P,K)

LTI closed-loop system Ty1u1

GAM = norm(CL)

H2 optimal cost γ = Ty1u12

INFO

Additional output information

Additional output — structure array INFO containing possible additional information depending on METHOD)

INFO.NORMS

Norms of four different quantities, full information control cost (FI), output estimation cost (OEF), direct feedback cost (DFL) and full control cost (FC). NORMS = [FI OEF DFL FC];

INFO.KFI

Full-information gain matrix (constant feedback)

u2(t)=KFIx(t)

INFO.GFI

Full-information closed-loop system GFI=ss(A-B2*KFI,B1,C1-D12*KFI,D11)

INFO.HAMX

X Hamiltonian matrix (state-feedback)

INFO.HAMY

Y Hamiltonian matrix (Kalman filter)

Examples

Example 1: Stabilize 4-by-5 unstable plant with three states, NMEAS=2, NCON=2.

rng(0,'twister'); 
P = rss(3,4,5)';
[K,CL,GAM] = h2syn(P,2,1);
open_loop_poles = pole(P)
closed_loop_poles = pole(CL)
open_loop_poles =

    0.2593
   15.9497
   20.7994


closed_loop_poles =

  -26.8951
  -22.4817
  -20.6965
  -17.6041
   -0.8694
   -2.6697

Example 2: Mixed-Sensitivity H2 loop-shaping. Here the goal is to shape the sigma plots of sensitivity S: = (I + GK)–1 and complementary sensitivity T: = GK (I+GK)–1, by choosing a stabilizing K the minimizes the H2 norm of

Ty1u1[W1S(W2/G)TW3T]

where G(s)=s1s2, W1=0.1(s+1000)100s+1, W2=0.1, no W3.

s=zpk('s');
G=10*(s-1)/(s+1)^2;
W1=0.1*(s+1000)/(100*s+1); W2=0.1; W3=[];
P=ss(G,W1,W2,W3);
[K,CL,GAM]=h2syn(P);
L=G*K; S=inv(1+L); T=1-S;
sigma(L,'k-.',S,'r',T,'g')

Limitations

  • (A, B2, C2) must be stabilizable and detectable.

  • D12 must have full column rank and D21 must have full row rank

More About

expand all

Algorithms

The H2 optimal control theory has its roots in the frequency domain interpretation the cost function associated with time-domain state-space LQG control theory [1]. The equations and corresponding nomenclature used here are taken from the Doyle et al., 1989 [2]-[3].

h2syn solves the H2 optimal control problem by observing that it is equivalent to a conventional Linear-Quadratic Gaussian (LQG) optimal control problem. For simplicity, we shall describe the details of algorithm only for the continuous-time case, in which case the cost function JLQG satisfies

JLQG=limTE{1T0Ty1Ty1dt}=limTE{1T0T[xTu2T][QNcNcTR][xu2]dt}=limTE{1T0T[xTu2T][C1TD12T][C1D12][xu2]dt}

with plant noise u1 channel of intensity I, passing through the matrix [B1;0;D12] to produce equivalent white correlated with plant ξ and white measurement noise θ having joint correlation function

E{[ξ(t)θ(t)][ξ(τ)θ(τ)]T}=[ΞNfNfTΘ]δ(tτ)=[B1D21][B1TD21T]δ(tτ)

The H2 optimal controller K(s) is thus realizable in the usual LQG manner as a full-state feedback KFI and a Kalman filter with residual gain matrix KFC.

  1. Kalman Filter

    x^˙=Ax^+B2u2+KFC(y2C2x^D22u2)KFC=(YC2T+Nf)Θ1=(YC2T+B1D21T)(D21D21T)1

    where Y = YT≥0 solves the Kalman filter Riccati equation

    YAT+AY(YC2T+Nf)Θ1(C2Y+NfT)+Ξ=0

  2. Full-State Feedback

    u2=KFIx^KFI=R1(B2TX+NcT)=D12TD12)1(B2TX+D12TC1)

    where X = XT≥0 solves the state-feedback Riccati equation

    ATX+XA(XB2+Nc)R1(B2TX+NcT)+Q=0

    The final positive-feedback H2 optimal controller u2=K(s)y2 has a familiar closed-form

    K(s):=[AKFCC2B2KFI+KFCD22KFIKfKFI0]

    h2syn implements the continuous optimal H2 control design computations using the formulae described in the Doyle, et al. [2]; for discrete-time plants, h2syn uses the same controller formula, except that the corresponding discrete time Riccati solutions (dare) are substituted for X and Y. A Hamiltonian is formed and solved via a Riccati equation. In the continuous-time case, the optimal H2-norm is infinite when the plant D11 matrix associated with the input disturbances and output errors is non-zero; in this case, the optimal H2 controller returned by h2syn is computed by first setting D11 to zero.

  3. Optimal Cost GAM

    The full information (FI) cost is given by the equation (trace (B1X2B1)). The output estimation cost (OEF) is given by (trace (F2Y2F2)), where . The disturbance feedforward cost (DFL) is (trace (L2X2L2)), where L2 is defined by (Y2C2+B1D21) and the full control cost (FC) is given by (trace (C1Y2C1)). X2 and Y2 are the solutions to the X and Y Riccati equations, respectively. For for continuous-time plants with zero feedthrough term (D11 = 0), and for all discrete-time plants, the optimal H2 cost γ = is

GAM =sqrt(FI^2 + OEF^2+ trace(D11*D11'));

otherwise, GAM = Inf.

References

[1] Safonov, M.G., A.J. Laub, and G. Hartmann, "Feedback Properties of Multivariable Systems: The Role and Use of Return Difference Matrix," IEEE Trans. of Automat. Contr., AC-26, pp. 47-65, 1981.

[2] Doyle, J.C., K. Glover, P. Khargonekar, and B. Francis, "State-space solutions to standard H2 and H control problems," IEEE Transactions on Automatic Control, vol. 34, no. 8, pp. 831–847, August 1989.

[3] Glover, K., and J.C. Doyle, "State-space formulae for all stabilizing controllers that satisfy an H norm bound and relations to risk sensitivity," Systems and Control Letters, 1988. vol. 11, pp. 167–172, August 1989.

See Also

|

Was this topic helpful?