scipy.signal.

ellipap#

scipy.signal.ellipap(N, rp, rs, *, xp=None, device=None)[source]#

Return (z,p,k) of Nth-order elliptic analog lowpass filter.

The filter is a normalized prototype that has rp decibels of ripple in the passband and a stopband rs decibels down.

The filter’s angular (e.g., rad/s) cutoff frequency is normalized to 1, defined as the point at which the gain first drops below -rp.

Parameters:
Nint

The order of the filter

rpfloat

The passband ripple intensity

rsfloat

The stopband attenuation

xparray_namespace, optional

Optional array namespace. Should be compatible with the array API standard, or supported by array-api-compat. Default: numpy

device: any

optional device specification for output. Should match one of the supported device specification in xp.

Returns:
zndarray[complex128]

Zeros of the transfer function.

pndarray[complex128]

Poles of the transfer function.

kfloat

Gain of the transfer function.

See also

ellip

Filter design function using this prototype

Notes

Array API Standard Support

ellipap 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.

References

[1]

Lutovac, Tosic, and Evans, “Filter Design for Signal Processing”, Chapters 5 and 12.

[2]

Orfanidis, “Lecture Notes on Elliptic Filter Design”, https://www.ece.rutgers.edu/~orfanidi/ece521/notes.pdf