scipy.signal.tf2zpk¶
- scipy.signal.tf2zpk(b, a)[源代码]¶
- 从分子和分母返回零,极点,增益(z,p,k)表示线性过滤。 - 参数
- barray_like
- 分子多项式系数。 
- aarray_like
- 分母多项式系数。 
 
- 退货
- zndarray
- 传递函数的零点。 
- pndarray
- 传递函数的极点。 
- k浮动
- 系统增益。 
 
 - 注意事项 - 如果某些值为 b 太接近0,则它们将被删除。在这种情况下,将发出BadCofficients警告。 - 这个 b 和 a 数组被解释为传递函数变量的正的递减幂的系数。所以这些输入 \(b = [b_0, b_1, ..., b_M]\) 和 \(a =[a_0, a_1, ..., a_N]\) 可以表示以下形式的模拟过滤: \[H(S)=\frac {b_0 s^M+b_1 s^{(M-1)}+\cdots+b_M} {a_0 s^N+a_1 s^{(N-1)}+\cdots+a_N}\]- 或者是以下形式的离散时间过滤: \[H(Z)=\frac {b_0 z^M+b_1z^{(M-1)}+\cdots+b_M} {a_0 z^N+a_1z^{(N-1)}+\cdots+a_N}\]- 这种“正幂”形式在控制工程中更为常见。如果 M 和 N 相等(这对于双线性变换生成的所有滤波器都是正确的),则恰好等同于DSP中首选的“负幂”离散时间形式: \[H(Z)=\frac {b_0+b1 z^{-1}+\cdots+b_M z^{-M}} {a_0+a_1 z^{-1}+\cdots+a_N z^{-N}}\]- 虽然这对于普通筛选器是正确的,但请记住,在一般情况下不是这样。如果 M 和 N 不相等时,必须先将离散时间传递函数系数转换为“正幂”形式,然后才能找到极点和零点。