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 theA
,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
A
State matrix of the StateSpace
system.B
Input matrix of the StateSpace
system.C
Output matrix of the StateSpace
system.D
Feedthrough matrix of the StateSpace
system.den
Denominator of the TransferFunction
system.dt
Return the sampling time of the system, None for lti
systems.gain
Gain of the ZerosPolesGain
system.num
Numerator of the TransferFunction
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: