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


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

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

用法:

scipy.signal.tf2zpk(b, a)#

從線性濾波器的分子、分母表示返回零、極點、增益 (z, p, k) 表示。

參數

b array_like

分子多項式係數。

a array_like

分母多項式係數。

返回

z ndarray

傳遞函數的零點。

p ndarray

傳遞函數的極點。

k 浮點數

係統增益。

注意

如果 b 的某些值太接近 0,則將其刪除。在這種情況下,會發出 BadCoefficients 警告。

ba數組被解釋為傳遞函數變量的正降冪的係數。所以輸入\(b = [b_0, b_1, ..., b_M]\) \(a =[a_0, a_1, ..., a_N]\) 可以表示以下形式的模擬濾波器:

或以下形式的 discrete-time 過濾器:

這種“positive powers” 形式在控製工程中更常見。如果 M 和 N 相等(對於雙線性變換生成的所有濾波器都是如此),則這恰好相當於 DSP 中首選的 “negative powers” discrete-time 形式:

盡管這對於常見的過濾器來說是正確的,但請記住,這在一般情況下並非如此。如果 M 和 N 不相等,則在查找極點和零點之前,必須首先將 discrete-time 傳遞函數係數轉換為 “positive powers” 形式。

例子

使用傳遞函數查找濾波器的零點、極點和增益

>>> from scipy.signal import tf2zpk
>>> tf2zpk([3, 0, 0], [1, 5, 13])
(   array([ 0.               ,  0.              ]), 
    array([ -2.5+2.59807621j ,  -2.5-2.59807621j]), 
    3.0)

相關用法


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