scipy.signal.

sosfilt_zi#

scipy.signal.sosfilt_zi(sos)[источник]#

Построение начальных условий для sosfilt для установившегося состояния переходной характеристики.

Вычислить начальное состояние zi для sosfilt функция, соответствующая установившемуся состоянию переходной характеристики.

Типичное использование этой функции — установить начальное состояние так, чтобы выход фильтра начинался с того же значения, что и первый элемент сигнала, который нужно отфильтровать.

Параметры:
sosarray_like

Массив коэффициентов фильтра второго порядка, должен иметь форму (n_sections, 6). См. sosfilt для спецификации формата фильтра SOS

Возвращает:
zindarray

Начальные условия, подходящие для использования с sosfilt, форма (n_sections, 2).

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

sosfilt, zpk2sos

Примечания

Добавлено в версии 0.16.0.

Примеры

Фильтрация прямоугольного импульса, начинающегося в момент времени 0, с использованием и без использования параметра zi аргумент scipy.signal.sosfilt.

>>> import numpy as np
>>> from scipy import signal
>>> import matplotlib.pyplot as plt
>>> sos = signal.butter(9, 0.125, output='sos')
>>> zi = signal.sosfilt_zi(sos)
>>> x = (np.arange(250) < 100).astype(int)
>>> f1 = signal.sosfilt(sos, x)
>>> f2, zo = signal.sosfilt(sos, x, zi=zi)
>>> plt.plot(x, 'k--', label='x')
>>> plt.plot(f1, 'b', alpha=0.5, linewidth=2, label='filtered')
>>> plt.plot(f2, 'g', alpha=0.25, linewidth=4, label='filtered with zi')
>>> plt.legend(loc='best')
>>> plt.show()
../../_images/scipy-signal-sosfilt_zi-1.png