control.h2syn

control.h2syn(P, nmeas, ncon)[source]

H_2 control synthesis for plant P.

Parameters
  • P (partitioned lti plant (State-space sys)) –

  • nmeas (number of measurements (input to controller)) –

  • ncon (number of control inputs (output from controller)) –

Returns

K

Return type

controller to stabilize P (State-space sys)

Raises

ImportError – if slycot routine sb10hd is not loaded

See also

StateSpace

Examples

>>> # Unstable first order SISI system
>>> G = ct.tf([1], [1, -1], inputs=['u'], outputs=['y'])
>>> max(G.poles()) < 0  # Is G stable?
False
>>> # Create partitioned system with trivial unity systems
>>> P11 = ct.tf([0], [1], inputs=['w'], outputs=['z'])
>>> P12 = ct.tf([1], [1], inputs=['u'], outputs=['z'])
>>> P21 = ct.tf([1], [1], inputs=['w'], outputs=['y'])
>>> P22 = G
>>> P = ct.interconnect([P11, P12, P21, P22],
...                     inplist=['w', 'u'], outlist=['z', 'y'])
>>> # Synthesize H2 optimal stabilizing controller
>>> K = ct.h2syn(P, nmeas=1, ncon=1)
>>> T = ct.feedback(G, K, sign=1)
>>> max(T.poles()) < 0  # Is T stable?
True