bundles / scipy latest / scipy / signal / _ltisys / bode
function
scipy.signal._ltisys:bode
source: /scipy/signal/_ltisys.py :2148
Signature
def bode ( system , w = None , n = 100 ) Summary
Calculate Bode magnitude and phase data of a continuous-time system.
Parameters
system: an instance of the LTI class or a tuple describing the system.The following gives the number of elements in the tuple and the interpretation:
1 (instance of lti)
2 (num, den)
3 (zeros, poles, gain)
4 (A, B, C, D)
w: array_like, optionalArray of frequencies (in rad/s). Magnitude and phase data is calculated for every value in this array. If not given a reasonable set will be calculated.
n: int, optionalNumber of frequency points to compute if
wis not given. Thenfrequencies are logarithmically spaced in an interval chosen to include the influence of the poles and zeros of the system.
Returns
w: 1D ndarrayFrequency array [rad/s]
mag: 1D ndarrayMagnitude array [dB]
phase: 1D ndarrayPhase array [deg]
Notes
If (num, den) is passed in for system, coefficients for both the numerator and denominator should be specified in descending exponent order (e.g. s^2 + 3s + 5 would be represented as [1, 3, 5]).
Array API Standard Support
bode has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.
==================== ==================== ==================== Library CPU GPU ==================== ==================== ==================== NumPy ✅ n/a CuPy n/a ✅ PyTorch ✅ ✅ JAX ✅ ✅ Dask ✅ n/a ==================== ==================== ====================
See
dev-arrayapifor more information.
Examples
from scipy import signal import matplotlib.pyplot as plt✓
sys = signal.TransferFunction([1], [1, 1]) w, mag, phase = signal.bode(sys)✓
plt.figure() plt.semilogx(w, mag) # Bode magnitude plot plt.figure() plt.semilogx(w, phase) # Bode phase plot✗
plt.show()
✓

Aliases
-
scipy.signal.bode