dlti#
- class scipy.signal.dlti(*system, **kwargs)[source]#
- Discrete-time linear time invariant system base class. - Parameters:
- *system: arguments
- The - dlticlass can be instantiated with either 2, 3 or 4 arguments. The following gives the number of arguments and the corresponding discrete-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. 
- 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.
 
 - See also - Notes - dltiinstances do not exist directly. Instead,- dlticreates an instance of one of its subclasses:- StateSpace,- TransferFunctionor- ZerosPolesGain.- Changing the value of properties that are not directly part of the current system representation (such as the - zerosof a- StateSpacesystem) 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.- 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 + 5would be represented as- [1, 3, 5]).- Added in version 0.18.0. - Examples - >>> from scipy import signal - >>> signal.dlti(1, 2, 3, 4) StateSpaceDiscrete( array([[1]]), array([[2]]), array([[3]]), array([[4]]), dt: True ) - >>> signal.dlti(1, 2, 3, 4, dt=0.1) StateSpaceDiscrete( array([[1]]), array([[2]]), array([[3]]), array([[4]]), dt: 0.1 ) - Construct the transfer function \(H(z) = \frac{5(z - 1)(z - 2)}{(z - 3)(z - 4)}\) with a sampling time of 0.1 seconds: - >>> signal.dlti([1, 2], [3, 4], 5, dt=0.1) ZerosPolesGainDiscrete( array([1, 2]), array([3, 4]), 5, dt: 0.1 ) - Construct the transfer function \(H(z) = \frac{3z + 4}{1z + 2}\) with a sampling time of 0.1 seconds: - >>> signal.dlti([3, 4], [1, 2], dt=0.1) TransferFunctionDiscrete( array([3., 4.]), array([1., 2.]), dt: 0.1 ) - Attributes:
 - Methods - bode([w, n])- Calculate Bode magnitude and phase data of a discrete-time system. - freqresp([w, n, whole])- Calculate the frequency response of a discrete-time system. - impulse([x0, t, n])- Return the impulse response of the discrete-time - dltisystem.- output(u, t[, x0])- Return the response of the discrete-time system to input u. - step([x0, t, n])- Return the step response of the discrete-time - dltisystem.