scipy.signal.
tf2sos#
- scipy.signal.tf2sos(b, a, pairing=None, *, analog=False)[源代码][源代码]#
从传递函数表示中返回二阶节
- 参数:
- barray_like
分子多项式系数。
- aarray_like
分母多项式系数。
- 配对{None, ‘nearest’, ‘keep_odd’, ‘minimal’}, 可选
用于将极点和零点对组合成部分的方法。有关 pairing 和 analog 参数的信息和限制,请参见
zpk2sos
。- 模拟bool, 可选
如果为真,系统是模拟的,否则是离散的。
Added in version 1.8.0.
- 返回:
- sosndarray
二阶滤波器系数的数组,形状为
(n_sections, 6)
。有关 SOS 滤波器格式规范,请参阅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. ]])