scipy.signal.

lp2bp_zpk#

scipy.signal.lp2bp_zpk(z, p, k, wo=1.0, bw=1.0)[source]#

將低通濾波器原型轉換為帶通濾波器。

從具有單位截止頻率的類比低通濾波器原型,使用零點、極點和增益 ('zpk') 表示法,返回中心頻率為 wo 和頻寬為 bw 的類比帶通濾波器。

參數:
zarray_like

類比濾波器傳遞函數的零點。

parray_like

類比濾波器傳遞函數的極點。

kfloat

類比濾波器傳遞函數的系統增益。

wofloat

所需的通帶中心頻率,以角頻率表示 (例如,rad/s)。預設為不變更。

bwfloat

所需的通帶寬度,以角頻率表示 (例如,rad/s)。預設為 1。

返回:
zndarray

轉換後帶通濾波器傳遞函數的零點。

pndarray

轉換後帶通濾波器傳遞函數的極點。

kfloat

系統增益的轉換後帶通濾波器。

註解

這源自於 s 平面替換

\[s \rightarrow \frac{s^2 + {\omega_0}^2}{s \cdot \mathrm{BW}}\]

這是「寬頻」轉換,產生一個關於 wo 具有幾何(對數頻率)對稱性的通帶。

在 1.1.0 版本中新增。

範例

使用低通濾波器的 ‘zpk’(零點-極點-增益)表示法,將其轉換為中心頻率為 wo 和頻寬為 bw 的帶通濾波器。

>>> from scipy.signal import lp2bp_zpk
>>> z   = [ 5 + 2j ,  5 - 2j ]
>>> p   = [ 7      ,  -16    ]
>>> k   = 0.8
>>> wo  = 0.62
>>> bw  = 15
>>> lp2bp_zpk(z, p, k, wo, bw)
(   array([7.49955815e+01+3.00017676e+01j, 7.49955815e+01-3.00017676e+01j,
           4.41850748e-03-1.76761126e-03j, 4.41850748e-03+1.76761126e-03j]),
    array([1.04996339e+02+0.j, -1.60167736e-03+0.j,  3.66108003e-03+0.j,
           -2.39998398e+02+0.j]), 0.8)