tf2sos#
- scipy.signal.tf2sos(b, a, pairing=None, *, analog=False)[source]#
- Return second-order sections from transfer function representation - Parameters:
- barray_like
- Numerator polynomial coefficients. 
- aarray_like
- Denominator polynomial coefficients. 
- pairing{None, ‘nearest’, ‘keep_odd’, ‘minimal’}, optional
- The method to use to combine pairs of poles and zeros into sections. See - zpk2sosfor information and restrictions on pairing and analog arguments.
- analogbool, optional
- If True, system is analog, otherwise discrete. - Added in version 1.8.0. 
 
- Returns:
- sosndarray
- Array of second-order filter coefficients, with shape - (n_sections, 6). See- sosfiltfor the SOS filter format specification.
 
 - Notes - It is generally discouraged to convert from TF to SOS format, since doing so usually will not improve numerical precision errors. Instead, consider designing filters in ZPK format and converting directly to SOS. TF is converted to SOS by first converting to ZPK format, then converting ZPK to SOS. - Added in version 0.16.0. - Examples - Find the ‘sos’ (second-order sections) of the transfer function H(s) using its polynomial representation. \[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. ]])