bundles / scipy 2.0.0.dev0+git20260907.41eeb59 / scipy / signal / _filter_design / lp2bs
function
scipy.signal._filter_design:lp2bs
source: build-install/usr/lib/python3.14/site-packages/scipy/signal/_filter_design.py:2253
Signature
def lp2bs(b, a, wo = 1.0, bw = 1.0)Summary
Transform a lowpass filter prototype to a bandstop filter.
Extended Summary
Return an analog band-stop filter with center frequency wo and bandwidth bw from an analog low-pass filter prototype with unity cutoff frequency, in transfer function ('ba') representation.
Parameters
b: array_like, shape (M,)Numerator polynomial coefficients. Must be 1-D.
a: array_like, shape (N,)Denominator polynomial coefficients. Must be 1-D.
wo: floatDesired stopband center, as angular frequency (e.g., rad/s). Defaults to no change.
bw: floatDesired stopband width, as angular frequency (e.g., rad/s). Defaults to 1.
Returns
b: array_likeNumerator polynomial coefficients of the transformed band-stop filter.
a: array_likeDenominator polynomial coefficients of the transformed band-stop filter.
Notes
This is derived from the s-plane substitution
This is the "wideband" transformation, producing a stopband with geometric (log frequency) symmetry about wo.
Examples
from scipy import signal import matplotlib.pyplot as plt✓
lp = signal.lti([1.0], [1.0, 1.5]) bs = signal.lti(*signal.lp2bs(lp.num, lp.den)) w, mag_lp, p_lp = lp.bode() w, mag_bs, p_bs = bs.bode(w)✓
plt.plot(w, mag_lp, label='Lowpass') plt.plot(w, mag_bs, label='Bandstop') plt.semilogx()✗
[]
plt.grid(True)
✓plt.xlabel('Frequency [rad/s]') plt.ylabel('Amplitude [dB]') plt.legend()✗
<matplotlib.legend.Legend object at 0x7f3f68865d30>
See also
Aliases
scipy.signal.lp2bs