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
findfreqshas experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variableSCIPY_ARRAY_API=1and 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.
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])