scipy.signal.

findfreqs#

scipy.signal.findfreqs(num, den, N, kind='ba')[source]#

Find array of frequencies for computing the response of an analog filter.

Parameters:
num, denarray_like, 1-D

The polynomial coefficients of the numerator and denominator of the transfer function of the filter or LTI system, where the coefficients are ordered from highest to lowest degree. Or, the roots of the transfer function numerator and denominator (i.e., zeroes and poles).

Nint

The length of the array to be computed.

kindstr {‘ba’, ‘zp’}, optional

Specifies whether the numerator and denominator are specified by their polynomial coefficients (‘ba’), or their roots (‘zp’).

Returns:
w(N,) ndarray

A 1-D array of frequencies, logarithmically spaced.

Notes

Array API Standard Support

findfreqs has support for Python Array API Standard compatible backends in addition to NumPy. 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 a set of nine frequencies that span the “interesting part” of the frequency response for the filter with the transfer function

H(s) = s / (s^2 + 8s + 25)

>>> from scipy import signal
>>> signal.findfreqs([1, 0], [1, 8, 25], N=9)
array([  1.00000000e-02,   3.16227766e-02,   1.00000000e-01,
         3.16227766e-01,   1.00000000e+00,   3.16227766e+00,
         1.00000000e+01,   3.16227766e+01,   1.00000000e+02])