scipy.signal.ZerosPolesGain¶
-
class
scipy.signal.ZerosPolesGain(*system, **kwargs)[source]¶ Linear Time Invariant system class in zeros, poles, gain form.
Represents the system as the continuous- or discrete-time transfer function \(H(s)=k \prod_i (s - z[i]) / \prod_j (s - p[j])\), where \(k\) is the
gain, \(z\) are thezerosand \(p\) are thepoles.ZerosPolesGainsystems inherit additional functionality from thelti, respectively thedlticlasses, depending on which system representation is used.Parameters: - *system : arguments
The
ZerosPolesGainclass can be instantiated with 1 or 3 arguments. The following gives the number of input arguments and their interpretation:- 1:
ltiordltisystem: (StateSpace,TransferFunctionorZerosPolesGain) - 3: array_like: (zeros, poles, gain)
- 1:
- dt: float, optional
Sampling time [s] of the discrete-time systems. Defaults to None (continuous-time). Must be specified as a keyword argument, for example,
dt=0.1.
See also
TransferFunction,StateSpace,lti,dlti,zpk2ss,zpk2tf,zpk2sosNotes
Changing the value of properties that are not part of the
ZerosPolesGainsystem 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, callsys = sys.to_ss()before accessing/changing the A, B, C, D system matrices.Examples
>>> from scipy import signal
Transfer function: H(s) = 5(s - 1)(s - 2) / (s - 3)(s - 4)
>>> signal.ZerosPolesGain([1, 2], [3, 4], 5) ZerosPolesGainContinuous( array([1, 2]), array([3, 4]), 5, dt: None )
Transfer function: H(z) = 5(z - 1)(z - 2) / (z - 3)(z - 4)
>>> signal.ZerosPolesGain([1, 2], [3, 4], 5, dt=0.1) ZerosPolesGainDiscrete( array([1, 2]), array([3, 4]), 5, dt: 0.1 )
Attributes: dtReturn the sampling time of the system, None for
ltisystems.gainGain of the
ZerosPolesGainsystem.polesPoles of the
ZerosPolesGainsystem.zerosZeros of the
ZerosPolesGainsystem.
Methods
to_ss()Convert system representation to StateSpace.to_tf()Convert system representation to TransferFunction.to_zpk()Return a copy of the current ‘ZerosPolesGain’ system.
