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 thezeros
and \(p\) are thepoles
.ZerosPolesGain
systems inherit additional functionality from thelti
, respectively thedlti
classes, depending on which system representation is used.Parameters: *system : arguments
The
ZerosPolesGain
class can be instantiated with 1 or 3 arguments. The following gives the number of input arguments and their interpretation:- 1:
lti
ordlti
system: (StateSpace
,TransferFunction
orZerosPolesGain
) - 3: array_like: (zeros, poles, gain)
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
,zpk2sos
Notes
Changing the value of properties that are not part of the
ZerosPolesGain
system 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
dt
Return the sampling time of the system, None for lti
systems.gain
Gain of the ZerosPolesGain
system.poles
Poles of the ZerosPolesGain
system.zeros
Zeros of the ZerosPolesGain
system.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. - 1: