Skip to content

Commit e33acca

Browse files
committed
ulab: document sosfilt
1 parent 783846c commit e33acca

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

shared-bindings/ulab/filter/__init__.pyi

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,20 @@ def convolve(r, c=None):
1717
1818
Convolution is most time-efficient when both inputs are of float type."""
1919
...
20+
21+
def sosfilt(sos : ulab.array, x : ulab.array, *, xi : Optional[ulab.array] = None) -> Union[ulab.array, Tuple[ulab.array, ulab.array]]:
22+
"""
23+
:param ulab.array sos: Array of second-order filter coefficients, must have shape (n_sections, 6). Each row corresponds to a second-order section, with the first three columns providing the numerator coefficients and the last three providing the denominator coefficients.
24+
:param ulab.array x: The data to be filtered
25+
:param ulab.array zi: Optional initial conditions for the filter
26+
27+
:return: If ``xi`` is not specified, the filter result alone is returned. If ``xi`` is specified, the return value is a 2-tuple of the filter result and the final filter conditions.
28+
29+
Filter data along one dimension using cascaded second-order sections.
30+
31+
Filter a data sequence, x, using a digital IIR filter defined by sos.
32+
33+
The filter function is implemented as a series of second-order filters with direct-form II transposed structure. It is designed to minimize numerical precision errors for high-order filters.
34+
35+
Filter coefficients can be generated by using scipy's filter generators such as ``signal.ellip(..., output='sos')``."""
36+
...

0 commit comments

Comments
 (0)