This is a pre-release version (2.0.0.dev0+git20260907.41eeb59).Go to latest (1.18.0)
{ } Raw JSON

bundles / scipy 2.0.0.dev0+git20260907.41eeb59 / scipy / signal / _filter_design / lp2lp

function

scipy.signal._filter_design:lp2lp

source: build-install/usr/lib/python3.14/site-packages/scipy/signal/_filter_design.py:1972

Signature

def lp2lp(b, a, wo = 1.0)

Summary

Transform a lowpass filter prototype to a different frequency.

Extended Summary

Return an analog low-pass filter with cutoff frequency wo 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 : float

Desired cutoff, as angular frequency (e.g. rad/s). Defaults to no change.

Returns

b : array_like

Numerator polynomial coefficients of the transformed low-pass filter.

a : array_like

Denominator polynomial coefficients of the transformed low-pass filter.

Notes

This is derived from the s-plane substitution

Examples

from scipy import signal
import matplotlib.pyplot as plt
✓
lp = signal.lti([1.0], [1.0, 1.0])
lp2 = signal.lti(*signal.lp2lp(lp.num, lp.den, 2))
w, mag_lp, p_lp = lp.bode()
w, mag_lp2, p_lp2 = lp2.bode(w)
✓
plt.plot(w, mag_lp, label='Lowpass')
plt.plot(w, mag_lp2, label='Transformed Lowpass')
plt.semilogx()
✗
[]
plt.grid(True)
✓
plt.xlabel('Frequency [rad/s]')
plt.ylabel('Amplitude [dB]')
plt.legend()
✗
<matplotlib.legend.Legend object at 0x7f3f68865550>

See also

bilinear
lp2bp
lp2bs
lp2hp
lp2lp_zpk

Aliases

  • scipy.signal.lp2lp