This module defines the single function:
sosfilt¶scipy
: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.sosfilt.html
Filter data along one dimension using cascaded second-order sections.
The function takes two positional arguments, sos
, the filter segments of length 6, and the one-dimensional, uniformly sampled data set to be filtered. Returns the filtered data, or the filtered data and the final filter delays, if the zi
keyword arguments is supplied. The keyword argument must be a float ndarray
of shape (n_sections, 2)
. If zi
is not passed to the function, the initial values are assumed to be 0.
# code to be run in micropython from ulab import numpy as np from ulab import scipy as spy x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) sos = [[1, 2, 3, 1, 5, 6], [1, 2, 3, 1, 5, 6]] y = spy.signal.sosfilt(sos, x) print('y: ', y)
y: array([0.0, 1.0, -4.0, 24.0, -104.0, 440.0, -1728.0, 6532.000000000001, -23848.0, 84864.0], dtype=float)
# code to be run in micropython from ulab import numpy as np from ulab import scipy as spy x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) sos = [[1, 2, 3, 1, 5, 6], [1, 2, 3, 1, 5, 6]] # initial conditions of the filter zi = np.array([[1, 2], [3, 4]]) y, zf = spy.signal.sosfilt(sos, x, zi=zi) print('y: ', y) print('\n' + '='*40 + '\nzf: ', zf)
y: array([4.0, -16.0, 63.00000000000001, -227.0, 802.9999999999999, -2751.0, 9271.000000000001, -30775.0, 101067.0, -328991.0000000001], dtype=float) ======================================== zf: array([[37242.0, 74835.0], [1026187.0, 1936542.0]], dtype=float)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4