scipy.signal.

tf2sos#

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

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

参数:
barray_like

分子多项式系数。

aarray_like

分母多项式系数。

pairing{None, ‘nearest’, ‘keep_odd’, ‘minimal’}, 可选

将极点和零点配对成节的方法。有关 pairinganalog 参数的信息和限制,请参阅 zpk2sos

analogbool, 可选

如果为 True,则系统为模拟系统,否则为离散系统。

在版本 1.8.0 中添加。

返回:
sosndarray

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

另请参阅

zpk2sos, sosfilt

说明

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

在版本 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. ]])