Main Content


Compute H controller for sampled-data system


[K,GAM]=sdhinfsyn(P,NMEAS,NCON, KEY1,VALUE1,KEY2,VALUE2,...)


sdhinfsyn controls a continuous-time LTI system P with a discrete-time controller K. The continuous-time LTI plant P has a state-space realization partitioned as follows:


where the continuous-time disturbance inputs enter through B1, the outputs from the controller are held constant between sampling instants and enter through B2, the continuous-time errors (to be kept small) correspond to the C1 partition, and the output measurements that are sampled by the controller correspond to the C2 partition. B2 has column size ncon and C2 has row size nmeas. Note that the D matrix must be zero.

sdhinfsyn synthesizes a discrete-time LTI controller K to achieve a given norm (if possible) or find the minimum possible norm to within tolerance TOLGAM.

Similar to hinfsyn, the function sdhinfsyn employs a γ iteration. Given a high and low value of γ, GMAX and GMIN, the bisection method is used to iterate on the value of γ in an effort to approach the optimal H control design. If GMAX = GMIN, only one γ value is tested. The stopping criterion for the bisection algorithm requires that the relative difference between the last γ value that failed and the last γ value that passed be less than TOLGAM.

Input arguments


LTI plant


Number of measurements output to controller


Number of control inputs

Optional input arguments (KEY, VALUE) pairs are similar to hinfsyn, but with additional KEY values 'Ts' and 'DELAY'.






Initial upper bound on GAM (default=Inf)



Initial lower bound on GAM (default=0)



Relative error tolerance for GAM (default=.01)



(Default=1) sample time of the controller to be designed



(Default=0) a nonnegative integer giving the number of sample periods delay for the control computation




(Default) no command window display, or the command window displays synthesis progress information

Output arguments


H controller


Final γ value of H cost achieved


sdhinfsyn uses a variation of the formulas described in the Bamieh and Pearson paper [1] to obtain an equivalent discrete-time system. (This is done to improve the numerical conditioning of the algorithms.) A preliminary step is to determine whether the norm of the continuous-time system over one sampling period without control is less than the given γ-value. This requires a search and is computationally a relatively expensive step.


[1] Bamieh, B.A., and J.B. Pearson, “A General Framework for Linear Periodic Systems with Applications to Sampled-Data Control,” IEEE Transactions on Automatic Control, Vol. AC–37, 1992, pp. 418-435.

Version History

Introduced before R2006a

See Also

| |