当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。