#### Previous topic

scipy.signal.lfilter

#### Next topic

scipy.signal.lfilter_zi

# scipy.signal.lfiltic

`scipy.signal.``lfiltic`(b, a, y, x=None)

  Construct initial conditions for lfilter.

  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:

  b : array_like

  > Linear filter term.

  a : array_like

  > Linear filter term.

  y : array_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.

  x : array_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:

  zi : ndarray

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

  See also

  `lfilter`