control.stability_margins
- control.stability_margins(sysdata, returnall=False, epsw=0.0, method='best')[source]
Calculate stability margins and associated crossover frequencies.
- Parameters
sysdata (LTI system or (mag, phase, omega) sequence) –
- sysLTI system
Linear SISO system representing the loop transfer function
- mag, phase, omegasequence of array_like
Arrays of magnitudes (absolute values, not dB), phases (degrees), and corresponding frequencies. Crossover frequencies returned are in the same units as those in omega (e.g., rad/sec or Hz).
returnall (bool, optional) – If true, return all margins found. If False (default), return only the minimum stability margins. For frequency data or FRD systems, only margins in the given frequency region can be found and returned.
epsw (float, optional) – Frequencies below this value (default 0.0) are considered static gain, and not returned as margin.
method (string, optional) – Method to use (default is ‘best’): ‘poly’: use polynomial method if passed a
LTI
system. ‘frd’: calculate crossover frequencies using numerical interpolation of aFrequencyResponseData
representation of the system if passed aLTI
system. ‘best’: use the ‘poly’ method if possible, reverting to ‘frd’ if it is detected that numerical inaccuracy is likey to arise in the ‘poly’ method for for discrete-time systems.
- Returns
gm (float or array_like) – Gain margin
pm (float or array_like) – Phase margin
sm (float or array_like) – Stability margin, the minimum distance from the Nyquist plot to -1
wpc (float or array_like) – Phase crossover frequency (where phase crosses -180 degrees), which is associated with the gain margin.
wgc (float or array_like) – Gain crossover frequency (where gain crosses 1), which is associated with the phase margin.
wms (float or array_like) – Stability margin frequency (where Nyquist plot is closest to -1)
Note that the gain margin is determined by the gain of the loop
transfer function at the phase crossover frequency(s), the phase
margin is determined by the phase of the loop transfer function at
the gain crossover frequency(s), and the stability margin is
determined by the frequency of maximum sensitivity (given by the
magnitude of 1/(1+L)).