scipy.signal.

tf2sos#

scipy.signal.tf2sos(b, a, pairing=None, *, analog=False)[源代码][源代码]#

从传递函数表示中返回二阶节

参数:
barray_like

分子多项式系数。

aarray_like

分母多项式系数。

配对{None, ‘nearest’, ‘keep_odd’, ‘minimal’}, 可选

用于将极点和零点对组合成部分的方法。有关 pairinganalog 参数的信息和限制,请参见 zpk2sos

模拟bool, 可选

如果为真,系统是模拟的,否则是离散的。

Added in version 1.8.0.

返回:
sosndarray

二阶滤波器系数的数组,形状为 (n_sections, 6)。有关 SOS 滤波器格式规范,请参阅 sosfilt

参见

zpk2sos, sosfilt

注释

通常不建议将格式从 TF 转换为 SOS,因为这样做通常不会提高数值精度误差。相反,考虑在 ZPK 格式中设计滤波器并直接转换为 SOS。TF 通过首先转换为 ZPK 格式,然后将 ZPK 转换为 SOS 来转换为 SOS。

Added in version 0.16.0.

示例

使用传递函数 H(s) 的多项式表示法,找到其 ‘sos’(二阶部分)。

\[H(s) = \frac{s^2 - 3.5s - 2}{s^4 + 3s^3 - 15s^2 - 19s + 30}\]
>>> from scipy.signal import tf2sos
>>> tf2sos([1, -3.5, -2], [1, 3, -15, -19, 30], analog=True)
array([[  0. ,   0. ,   1. ,   1. ,   2. , -15. ],
       [  1. ,  -3.5,  -2. ,   1. ,   1. ,  -2. ]])