bundles / scipy latest / scipy / fft / _helper / fftfreq
function
scipy.fft._helper:fftfreq
source: /scipy/fft/_helper.py :149
Signature
def fftfreq ( n , d = 1.0 , * , xp = None , device = None ) Summary
Return the Discrete Fourier Transform sample frequencies.
Extended Summary
The returned float array f contains the frequency bin centers in cycles per unit of the sample spacing (with zero at the start). For instance, if the sample spacing is in seconds, then the frequency unit is cycles/second.
Given a window length n and a sample spacing d:
f = [0, 1, ..., n/2-1, -n/2, ..., -1] / (d*n) if n is even f = [0, 1, ..., (n-1)/2, -(n-1)/2, ..., -1] / (d*n) if n is odd
Parameters
n: intWindow length.
d: scalar, optionalSample spacing (inverse of the sampling rate). Defaults to 1.
xp: array_namespace, optionalThe namespace for the return array. Default is None, where NumPy is used.
device: device, optionalThe device for the return array. Only valid when
xp.fft.fftfreqimplements the device parameter.
Returns
f: ndarrayArray of length
ncontaining the sample frequencies.
Notes
Array API Standard Support
fftfreq 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
dev-arrayapifor more information.
Examples
import numpy as np import scipy.fft signal = np.array([-2, 8, 6, 4, 1, 0, 3, 5], dtype=float) fourier = scipy.fft.fft(signal) n = signal.size timestep = 0.1 freq = scipy.fft.fftfreq(n, d=timestep) freq✓
Aliases
-
scipy.fft.fftfreq