scipy.signal.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
。>>> 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()