control.frd

control.frd(response, omega[, dt])[source]

Construct a frequency response data (FRD) model.

A frequency response data model stores the (measured) frequency response of a system. This factory function can be called in different ways:

frd(response, omega)

Create an frd model with the given response data, in the form of complex response vector, at matching frequencies omega [in rad/s].

frd(sys, omega)

Convert an LTI system into an frd model with data at frequencies omega.

Parameters
  • response (array_like or LTI system) – Complex vector with the system response or an LTI system that can be used to copmute the frequency response at a list of frequencies.

  • omega (array_like) – Vector of frequencies at which the response is evaluated.

  • dt (float, True, or None) – System timebase.

  • smooth (bool, optional) – If True, create an interpolation function that allows the frequency response to be computed at any frequency within the range of frequencies give in omega. If False (default), frequency response can only be obtained at the frequencies specified in omega.

  • inputs (str, or list of str, optional) – List of strings that name the individual signals of the transformed system. If not given, the inputs and outputs are the same as the original system.

  • outputs (str, or list of str, optional) – List of strings that name the individual signals of the transformed system. If not given, the inputs and outputs are the same as the original system.

  • name (string, optional) – System name. If unspecified, a generic name <sys[id]> is generated with a unique integer id.

Returns

sys – New frequency response data system.

Return type

FrequencyResponseData

Examples

>>> # Create from measurements
>>> response = [1.0, 1.0, 0.5]
>>> omega = [1, 10, 100]
>>> F = ct.frd(response, omega)
>>> G = ct.tf([1], [1, 1])
>>> omega = [1, 10, 100]
>>> F = ct.frd(G, omega)