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

# sos2tf

scipy.signal.sos2tf(sos)

  Return a single transfer function from a series of second-order sections.

  Parameters:
    sos array_like

      Array of second-order filter coefficients, must have shape `(n_sections, 6)`. See `sosfilt` for the SOS filter format specification.

  Returns:
    b ndarray

      Numerator polynomial coefficients.

    a ndarray

      Denominator polynomial coefficients.

  Notes

  Added in version 0.16.0.

  Array API Standard Support

  `sos2tf` 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 | ⚠️ no JIT | ⛔
  Dask | ⚠️ computes graph | n/a

  See Support for the array API standard for more information.

  Examples

  Find the polynomial representation of an elliptic filter using its ‘sos’ (second-order sections) format.

      >>> from scipy.signal import sos2tf
      >>> from scipy import signal
      >>> sos = signal.ellip(1, 0.001, 50, 0.1, output='sos')
      >>> sos2tf(sos)
      (   array([0.91256522, 0.91256522, 0.        ]),
          array([1.        , 0.82513043, 0.        ]))