scipy.signal.

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

Смотрите также

zpk2sos, sosfilt

Примечания

Обычно не рекомендуется преобразовывать из формата 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. ]])