bundles / scipy 1.17.1 / scipy / fft / _helper / rfftfreq
function
scipy.fft._helper:rfftfreq
source: /scipy/fft/_helper.py :202
Signature
def rfftfreq ( n , d = 1.0 , * , xp = None , device = None ) Summary
Return the Discrete Fourier Transform sample frequencies (for usage with rfft, irfft).
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] / (d*n) if n is even f = [0, 1, ..., (n-1)/2-1, (n-1)/2] / (d*n) if n is odd
Unlike fftfreq (but like scipy.fftpack.rfftfreq) the Nyquist frequency component is considered to be positive.
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.rfftfreqimplements the device parameter.
Returns
f: ndarrayArray of length
n//2 + 1containing the sample frequencies.
Notes
Array API Standard Support
rfftfreq 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, -3, 4], dtype=float) fourier = scipy.fft.rfft(signal) n = signal.size sample_rate = 100 freq = scipy.fft.fftfreq(n, d=1./sample_rate) freq freq = scipy.fft.rfftfreq(n, d=1./sample_rate)✓
freq
✗Aliases
-
scipy.fft.rfftfreq