This is a pre-release version (latest).Go to latest (1.18.0)
{ } Raw JSON

bundles / scipy latest / scipy / signal / _ltisys / TransferFunctionDiscrete

class

scipy.signal._ltisys:TransferFunctionDiscrete

source: build-install/usr/lib/python3.14/site-packages/scipy/signal/_ltisys.py:1073

Signature

class TransferFunctionDiscrete(*system, dt = None)

Summary

Discrete-time Linear Time Invariant system in transfer function form.

Extended Summary

Represents the system as the transfer function , where are elements of the numerator num, are elements of the denominator den, and N == len(b) - 1, M == len(a) - 1. Discrete-time TransferFunction systems inherit additional functionality from the dlti class.

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:

dt : float, optional

Sampling time [s] of the discrete-time systems. Defaults to True (unspecified sampling 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.

If (numerator, denominator) is passed in for *system, coefficients for both the numerator and denominator should be specified in descending exponent order (e.g., z^2 + 3z + 5 would be represented as [1, 3, 5]).

Examples

Construct the transfer function :math:`H(z) = \frac{z^2 + 3z + 3}{z^2 + 2z + 1}` with a sampling time of 0.5 seconds:
from scipy import signal
✓
num = [1, 3, 3]
den = [1, 2, 1]
✓
signal.TransferFunction(num, den, dt=0.5)
✓
TransferFunctionDiscrete(
array([1., 3., 3.]),
array([1., 2., 1.]),
dt: 0.5
)

See also

StateSpace
ZerosPolesGain
dlti
tf2sos
tf2ss
tf2zpk

Aliases

  • scipy.signal._ltisys.TransferFunctionDiscrete