sosfilt_zi#
- scipy.signal.sosfilt_zi(sos)[источник]#
Построение начальных условий для sosfilt для установившегося состояния переходной характеристики.
Вычислить начальное состояние zi для
sosfiltфункция, соответствующая установившемуся состоянию переходной характеристики.Типичное использование этой функции — установить начальное состояние так, чтобы выход фильтра начинался с того же значения, что и первый элемент сигнала, который нужно отфильтровать.
- Параметры:
- sosarray_like
Массив коэффициентов фильтра второго порядка, должен иметь форму
(n_sections, 6). См.sosfiltдля спецификации формата фильтра SOS
- Возвращает:
- zindarray
Начальные условия, подходящие для использования с
sosfilt, форма(n_sections, 2).
Примечания
Добавлено в версии 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()