tf2sos#
- scipy.signal.tf2sos(b, a, спаривание=None, *, аналог=False)[источник]#
Возврат секций второго порядка из представления передаточной функции
- Параметры:
- barray_like
Коэффициенты полинома числителя.
- aarray_like
Коэффициенты полинома знаменателя.
- спаривание{None, ‘nearest’, ‘keep_odd’, ‘minimal’}, опционально
Метод для объединения пар полюсов и нулей в секции. См.
zpk2sosдля информации и ограничений по спаривание и аналог аргументы.- аналогbool, необязательно
Если True, система аналоговая, иначе дискретная.
Добавлено в версии 1.8.0.
- Возвращает:
- sosndarray
Массив коэффициентов фильтра второго порядка, с формой
(n_sections, 6). См.sosfiltдля спецификации формата фильтра SOS
Примечания
Обычно не рекомендуется преобразовывать из формата TF в SOS, поскольку это обычно не улучшает ошибки численной точности. Вместо этого рассмотрите проектирование фильтров в формате ZPK и прямое преобразование в SOS. TF преобразуется в SOS путем сначала преобразования в формат ZPK, затем преобразования ZPK в SOS.
Добавлено в версии 0.16.0.
Примеры
Найти 'sos' (звенья второго порядка) передаточной функции H(s) используя её полиномиальное представление.
\[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. ]])