bundles / scipy latest / scipy / signal / _ltisys / lti
class
scipy.signal._ltisys:lti
source: /scipy/signal/_ltisys.py :136
Signature
class lti ( * system ) Members
Summary
Continuous-time linear time invariant system base class.
Parameters
*system: argumentsThe lti class can be instantiated with either 2, 3 or 4 arguments. The following gives the number of arguments and the corresponding continuous-time subclass that is created:
2: TransferFunction: (numerator, denominator)
3: ZerosPolesGain: (zeros, poles, gain)
4: StateSpace: (A, B, C, D)
Each argument can be an array or a sequence.
Notes
lti instances do not exist directly. Instead, lti creates an instance of one of its subclasses: StateSpace, TransferFunction or ZerosPolesGain.
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 would be represented as [1, 3, 5]).
Changing the value of properties that are not directly part of the current system representation (such as the zeros of a StateSpace system) 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_zpk() before accessing/changing the zeros, poles or gain.
Array API Standard Support
lti 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
from scipy import signal
✓signal.lti(1, 2, 3, 4)
✓signal.lti([1, 2], [3, 4], 5)
✓signal.lti([3, 4], [1, 2])
✓See also
Aliases
-
scipy.signal.lti