scipy.signal.

lfiltic#

scipy.signal.lfiltic(b, a, y, x=None)[source]#

Construct initial conditions for lfilter given input and output vectors.

Given a linear filter (b, a) and initial conditions on the output y and the input x, return the initial conditions on the state vector zi which is used by lfilter to generate the output given the input.

Parameters:
barray_like

Linear filter term.

aarray_like

Linear filter term.

yarray_like

Initial conditions.

If N = len(a) - 1, then y = {y[-1], y[-2], ..., y[-N]}.

If y is too short, it is padded with zeros.

xarray_like, optional

Initial conditions.

If M = len(b) - 1, then x = {x[-1], x[-2], ..., x[-M]}.

If x is not given, its initial conditions are assumed zero.

If x is too short, it is padded with zeros.

Returns:
zindarray

The state vector zi = {z_0[-1], z_1[-1], ..., z_K-1[-1]}, where K = max(M, N).

See also

lfilter, lfilter_zi

Notes

Array API Standard Support

lfiltic has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.

Library

CPU

GPU

NumPy

n/a

CuPy

n/a

PyTorch

JAX

Dask

⚠️ computes graph

n/a

See Support for the array API standard for more information.