bundles / scipy latest / scipy / signal / _ltisys / TransferFunction
class
scipy.signal._ltisys:TransferFunction
source: /scipy/signal/_ltisys.py :494
Signature
class TransferFunction ( * system , ** kwargs ) Members
Summary
Linear Time Invariant system class in transfer function form.
Extended Summary
Represents the system as the continuous-time transfer function or the discrete-time transfer function , where are elements of the numerator num, 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: argumentsThe 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, optionalSampling time [s] of the discrete-time systems. Defaults to
None(continuous-time). Must be specified as a keyword argument, for example,dt=0.1.
Notes
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 + 5 or z^2 + 3z + 5 would be represented as [1, 3, 5])
Array API Standard Support
TransferFunction has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.
==================== ==================== ==================== Library CPU GPU ==================== ==================== ==================== NumPy ✅ n/a CuPy n/a ⛔ PyTorch ⛔ ⛔ JAX ⛔ ⛔ Dask ⛔ n/a ==================== ==================== ====================
See
dev-arrayapifor more information.
Examples
Construct the transfer function :math:`H(s) = \frac{s^2 + 3s + 3}{s^2 + 2s + 1}`:from scipy import signal
✓num = [1, 3, 3] den = [1, 2, 1]✓
signal.TransferFunction(num, den)
✓signal.TransferFunction(num, den, dt=0.1)
✓See also
Aliases
-
scipy.signal.TransferFunction