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 轉換為 SOS 的方式是先轉換為 ZPK 格式,然後將 ZPK 轉換為 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. ]])