scipy.signal.

sosfilt_zi#

scipy.signal.sosfilt_zi(sos)[source]#

為步階響應穩態建構 sosfilt 的初始條件。

sosfilt 函數計算初始狀態 zi,其對應於步階響應的穩態。

此函數的典型用途是設定初始狀態,使濾波器的輸出從與要濾波訊號的第一個元素相同的值開始。

參數:
sosarray_like

二階濾波器係數陣列,必須具有形狀 (n_sections, 6)。 有關 SOS 濾波器格式規範,請參閱 sosfilt

返回:
zindarray

適用於 sosfilt 的初始條件,形狀為 (n_sections, 2)

另請參閱

sosfilt, zpk2sos

註解

在版本 0.16.0 中新增。

範例

使用和不使用 scipy.signal.sosfiltzi 參數來濾波從時間 0 開始的矩形脈衝。

>>> 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