scipy.signal.
lp2bs#
- scipy.signal.lp2bs(b, a, wo=1.0, bw=1.0)[原始碼]#
將低通濾波器原型轉換為帶阻濾波器。
從具有單位截止頻率的類比低通濾波器原型,傳回具有中心頻率 wo 和頻寬 bw 的類比帶阻濾波器,以傳遞函數('ba')表示。
- 參數:
- barray_like
分子多項式係數。
- aarray_like
分母多項式係數。
- wofloat
所需的阻帶中心,以角頻率表示(例如,rad/s)。預設為不變更。
- bwfloat
所需的阻帶寬度,以角頻率表示(例如,rad/s)。預設為 1。
- 傳回值:
- barray_like
轉換後的帶阻濾波器的分子多項式係數。
- aarray_like
轉換後的帶阻濾波器的分母多項式係數。
註解
這源自 s 平面替換
\[s \rightarrow \frac{s \cdot \mathrm{BW}}{s^2 + {\omega_0}^2}\]這是「寬頻」轉換,產生一個阻帶,其幾何形狀(對數頻率)關於 wo 對稱。
範例
>>> 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()