Skip to main content
`Ctrl`+`K`
scipy.signal.

# symiirorder2

scipy.signal.symiirorder2(input, r, omega, precision=-1.0)

  Implement a smoothing IIR filter with mirror-symmetric boundary conditions using a cascade of second-order sections.

  The second section uses a reversed sequence. This implements the following transfer function:

                               cs^2
      H(z) = ---------------------------------------
             (1 - a2/z - a3/z^2) (1 - a2 z - a3 z^2 )

  where:

      a2 = 2 * r * cos(omega)
      a3 = - r ** 2
      cs = 1 - 2 * r * cos(omega) + r ** 2

  Parameters:
    input ndarray

      The input signal.

    r, omega float

      Parameters in the transfer function.

    precision float

      Specifies the precision for calculating initial conditions of the recursive filter based on mirror-symmetric input.

  Returns:
    output ndarray

      The filtered signal.

  Notes

  Array API Standard Support

  `symiirorder2` 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 | ⛔ | n/a

  > See Support for the array API standard for more information.