bundles / scipy 1.18.0 / 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.
Examples
from scipy import signal
✓signal.lti(1, 2, 3, 4)
✓StateSpaceContinuous( array([[1.]]), array([[2.]]), array([[3.]]), array([[4.]]), dt: None )Construct the transfer function :math:`H(s) = \frac{5(s - 1)(s - 2)}{(s - 3)(s - 4)}`:
signal.lti([1, 2], [3, 4], 5)
✓ZerosPolesGainContinuous( array([1, 2]), array([3, 4]), 5, dt: None )Construct the transfer function :math:`H(s) = \frac{3s + 4}{1s + 2}`:
signal.lti([3, 4], [1, 2])
✓TransferFunctionContinuous( array([3., 4.]), array([1., 2.]), dt: None )
See also
Aliases
scipy.signal.lti