當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy signal.lp2bp_zpk用法及代碼示例


本文簡要介紹 python 語言中 scipy.signal.lp2bp_zpk 的用法。

用法:

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

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

返回具有中心頻率的模擬 band-pass 濾波器和帶寬體重來自具有統一截止頻率的模擬 low-pass 濾波器原型,使用零點、極點和增益 (‘zpk’) 表示。

參數

z array_like

模擬濾波器傳遞函數的零點。

p array_like

模擬濾波器傳遞函數的極點。

k 浮點數

模擬濾波器傳遞函數的係統增益。

wo 浮點數

所需的通帶中心,作為角頻率(例如,rad/s)。默認為無變化。

bw 浮點數

所需的通帶寬度,作為角頻率(例如,rad/s)。默認為 1。

返回

z ndarray

變換後的band-pass濾波器傳遞函數的零。

p ndarray

變換後的band-pass濾波器傳遞函數的極點。

k 浮點數

變換後的band-pass濾波器的係統增益。

注意

這源自 s-plane 替換

這是“wideband” 變換,產生一個關於 wo 幾何(對數頻率)對稱的通帶。

例子

使用低通濾波器的 ‘zpk’ (Zero-Pole-Gain) 表示形式將其轉換為中心頻率為 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)

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.signal.lp2bp_zpk。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。