cupyx.scipy.signal.TransferFunction#
- class cupyx.scipy.signal.TransferFunction(*system, **kwargs)[source]#
Linear Time Invariant system class in transfer function form.
Represents the system as the continuous-time transfer function \(H(s)=\sum_{i=0}^N b[N-i] s^i / \sum_{j=0}^M a[M-j] s^j\) or the discrete-time transfer function \(H(z)=\sum_{i=0}^N b[N-i] z^i / \sum_{j=0}^M a[M-j] z^j\), where \(b\) are elements of the numerator num, \(a\) are elements of the denominator den, and
N == len(b) - 1,M == len(a) - 1. TransferFunction systems inherit additional functionality from the lti, respectively the dlti classes, depending on which system representation is used.- Parameters:
*system (arguments) –
The TransferFunction class can be instantiated with 1 or 2 arguments. The following gives the number of input arguments and their interpretation:
1: lti or dlti system: (StateSpace, TransferFunction or ZerosPolesGain)
2: array_like: (numerator, denominator)
dt (float, optional) – Sampling time [s] of the discrete-time systems. Defaults to None (continuous-time). Must be specified as a keyword argument, for example,
dt=0.1.
See also
scipy.signal.TransferFunction,ZerosPolesGain,StateSpace,lti,dlti,tf2ss,tf2zpk,tf2sosNotes
Changing the value of properties that are not part of the TransferFunction system representation (such as the A, B, C, D state-space matrices) is very inefficient and may lead to numerical inaccuracies. It is better to convert to the specific system representation first. For example, call
sys = sys.to_ss()before accessing/changing the A, B, C, D system matrices.If (numerator, denominator) is passed in for
*system, coefficients for both the numerator and denominator should be specified in descending exponent order (e.g.s^2 + 3s + 5orz^2 + 3z + 5would be represented as[1, 3, 5])Methods
- to_ss()[source]#
Convert system representation to StateSpace.
- Returns:
sys – State space model of the current system
- Return type:
instance of StateSpace
- to_tf()[source]#
Return a copy of the current TransferFunction system.
- Returns:
sys – The current system (copy)
- Return type:
instance of TransferFunction
- to_zpk()[source]#
Convert system representation to ZerosPolesGain.
- Returns:
sys – Zeros, poles, gain representation of the current system
- Return type:
instance of ZerosPolesGain
- __eq__(value, /)#
Return self==value.
- __ne__(value, /)#
Return self!=value.
- __lt__(value, /)#
Return self<value.
- __le__(value, /)#
Return self<=value.
- __gt__(value, /)#
Return self>value.
- __ge__(value, /)#
Return self>=value.
Attributes
- den#
Denominator of the TransferFunction system.
- dt#
Return the sampling time of the system, None for lti systems.
- num#
Numerator of the TransferFunction system.
- poles#
Poles of the system.
- zeros#
Zeros of the system.