Function File: [K, N, gamma, info] = hinfsyn (P, nmeas, ncon)
Function File: [K, N, gamma, info] = hinfsyn (P, nmeas, ncon, …)
Function File: [K, N, gamma, info] = hinfsyn (P, nmeas, ncon, opt, …)
Function File: [K, N, gamma, info] = hinfsyn (P, …)
Function File: [K, N, gamma, info] = hinfsyn (P, opt, …)

H-infinity control synthesis for LTI plant.

Inputs

P

Generalized plant. Must be a proper/realizable LTI model. If P is constructed with mktito or augw, arguments nmeas and ncon can be omitted.

nmeas

Number of measured outputs v. The last nmeas outputs of P are connected to the inputs of controller K. The remaining outputs z (indices 1 to p-nmeas) are used to calculate the H-infinity norm.

ncon

Number of controlled inputs u. The last ncon inputs of P are connected to the outputs of controller K. The remaining inputs w (indices 1 to m-ncon) are excited by a harmonic test signal.

Optional pairs of keys and values. 'key1', value1, 'key2', value2.

opt

Optional struct with keys as field names. Struct opt can be created directly or by function options. opt.key1 = value1, opt.key2 = value2.

Outputs

K

State-space model of the H-infinity (sub-)optimal controller.

N

State-space model of the lower LFT of P and K.

info

Structure containing additional information.

info.gamma

L-infinity norm of N.

info.rcond

Vector rcond contains estimates of the reciprocal condition numbers of the matrices which are to be inverted and estimates of the reciprocal condition numbers of the Riccati equations which have to be solved during the computation of the controller K. For details, see the description of the corresponding SLICOT routine.

Option Keys and Values

’method’

String specifying the desired kind of controller:

’optimal’, ’opt’, ’o’

Compute optimal controller using gamma iteration. Default selection for compatibility reasons.

’suboptimal’, ’sub’, ’s’

Compute (sub-)optimal controller. For stability reasons, suboptimal controllers are to be preferred over optimal ones.

’gmax’

The maximum value of the H-infinity norm of N. It is assumed that gmax is sufficiently large so that the controller is admissible. Default value is 1e15.

’gmin’

Initial lower bound for gamma iteration. Default value is 0. gmin is only meaningful for optimal discrete-time controllers.

’tolgam’

Tolerance used for controlling the accuracy of gamma and its distance to the estimated minimal possible value of gamma. Default value is 0.01. If tolgam = 0, then a default value equal to sqrt(eps) is used, where eps is the relative machine precision. For suboptimal controllers, tolgam is ignored.

’actol’

Upper bound for the poles of the closed-loop system N used for determining if it is stable. actol >= 0 for stable systems. For suboptimal controllers, actol is ignored.

Block Diagram


gamma = min||N(K)||            N = lft (P, K)
         K         inf

               +--------+  
       w ----->|       |-----> z
               | P(s)  |
       u +---->|       |-----+ v
         |    +--------+     |
         |                   |
         |    +--------+     |
         +-----| K(s)  |<----+
               +--------+

               +--------+      
       w ----->| N(s)  |-----> z
               +--------+

Algorithm
Uses SLICOT SB10FD, SB10DD and SB10AD by courtesy of NICONET e.V.

See also: augw, mixsyn.

Package: control