control.gangof4_response

control.gangof4_response(P, C, omega=None, omega_limits=None, omega_num=None, Hz=False)[source]

Compute the response of the “Gang of 4” transfer functions for a system.

Generates a 2x2 frequency response for the “Gang of 4” sensitivity functions [T, PS; CS, S].

Parameters
  • P (LTI) – Linear input/output systems (process and control).

  • C (LTI) – Linear input/output systems (process and control).

  • omega (array) – Range of frequencies (list or bounds) in rad/sec.

  • omega_limits (array_like of two values) – Set limits for plotted frequency range. If Hz=True the limits are in Hz otherwise in rad/s. Specifying omega as a list of two elements is equivalent to providing omega_limits. Ignored if data is not a list of systems.

  • omega_num (int) – Number of samples to use for the frequeny range. Defaults to config.defaults[‘freqplot.number_of_samples’]. Ignored if data is not a list of systems.

  • Hz (bool, optional) – If True, when computing frequency limits automatically set limits to full decades in Hz instead of rad/s.

Returns

response – Frequency response with inputs ‘r’ and ‘d’ and outputs ‘y’, and ‘u’ representing the 2x2 matrix of transfer functions in the Gang of 4.

Return type

FrequencyResponseData

Examples

>>> P = ct.tf([1], [1, 1])
>>> C = ct.tf([2], [1])
>>> response = ct.gangof4_response(P, C)
>>> lines = response.plot()