sosfilt_zi#
- scipy.signal.sosfilt_zi(sos)[Quelle]#
Konstruiere Anfangsbedingungen für sosfilt für den stationären Zustand der Sprungantwort.
Berechne einen Anfangszustand zi für die Funktion
sosfilt, der dem stationären Zustand der Sprungantwort entspricht.Eine typische Verwendung dieser Funktion ist das Setzen des Anfangszustands, sodass die Ausgabe des Filters mit demselben Wert beginnt wie das erste Element des zu filternden Signals.
- Parameter:
- sosarray_like
Array von Koeffizienten von Zweikreisfiltern, muss die Form
(n_sections, 6)haben. Siehesosfiltfür die Spezifikation des SOS-Filterformats.
- Rückgabe:
- zindarray
Anfangsbedingungen, die für die Verwendung mit
sosfiltgeeignet sind, Form(n_sections, 2).
Hinweise
Hinzugefügt in Version 0.16.0.
Beispiele
Filterung eines Rechteckpulses, der zur Zeit 0 beginnt, mit und ohne Verwendung des zi-Arguments von
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()