scipy.signal.
lp2bp#
- scipy.signal.lp2bp(b, a, wo=1.0, bw=1.0)[source]#
將低通濾波器原型轉換為帶通濾波器。
從具有單位截止頻率的類比低通濾波器原型,返回具有中心頻率 wo 和頻寬 bw 的類比帶通濾波器,以傳遞函數 ('ba') 表示。
- 參數:
- barray_like
分子多項式係數。
- aarray_like
分母多項式係數。
- wofloat
期望的通帶中心,以角頻率表示 (例如,rad/s)。預設為不變。
- bwfloat
期望的通帶寬度,以角頻率表示 (例如,rad/s)。預設為 1。
- 返回:
- barray_like
轉換後帶通濾波器的分子多項式係數。
- aarray_like
轉換後帶通濾波器的分母多項式係數。
註解
這源自 s 平面替換
\[s \rightarrow \frac{s^2 + {\omega_0}^2}{s \cdot \mathrm{BW}}\]這是「寬頻」轉換,產生一個以 wo 為中心,具有幾何(對數頻率)對稱性的通帶。
範例
>>> from scipy import signal >>> import matplotlib.pyplot as plt
>>> lp = signal.lti([1.0], [1.0, 1.0]) >>> bp = signal.lti(*signal.lp2bp(lp.num, lp.den)) >>> w, mag_lp, p_lp = lp.bode() >>> w, mag_bp, p_bp = bp.bode(w)
>>> plt.plot(w, mag_lp, label='Lowpass') >>> plt.plot(w, mag_bp, label='Bandpass') >>> plt.semilogx() >>> plt.grid(True) >>> plt.xlabel('Frequency [rad/s]') >>> plt.ylabel('Amplitude [dB]') >>> plt.legend()