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:
- *systemarguments
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
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
Construct the transfer function \(H(s) = \frac{5(s - 1)(s - 2)}{(s - 3)(s - 4)}\):
>>> from scipy import signal
>>> signal.ZerosPolesGain([1, 2], [3, 4], 5) ZerosPolesGainContinuous( array([1, 2]), array([3, 4]), 5, dt: None )
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.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.