scipy.fft.
fftfreq#
- scipy.fft.fftfreq(n, d=1.0, *, xp=None, device=None)[源代码]#
返回离散傅里叶变换的采样频率。
返回的浮点数数组 f 包含频率仓中心的周期数,单位为采样间隔(起始处为零)。例如,如果采样间隔以秒为单位,则频率单位为周期/秒。
给定窗口长度 n 和采样间隔 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
- 参数:
- nint
窗长度。
- d标量,可选
采样间隔(采样率的倒数)。默认为 1。
- xparray_namespace, 可选
返回数组的命名空间。默认值为 None,此时使用 NumPy。
- device设备,可选
返回数组的设备。仅当 xp.fft.fftfreq 实现设备参数时才有效。
- 返回:
- fndarray
包含采样频率的长度为 n 的数组。
附注
数组 API 标准支持
fftfreq对 Python Array API 标准兼容的后端具有实验性支持,除了 NumPy 之外。请考虑通过设置环境变量SCIPY_ARRAY_API=1并提供 CuPy、PyTorch、JAX 或 Dask 数组作为数组参数来测试这些功能。支持以下后端和设备(或其他功能)的组合。库
CPU
GPU
NumPy
✅
不适用
CuPy
不适用
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
不适用
有关更多信息,请参阅 对数组 API 标准的支持。
示例
>>> 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 array([ 0. , 1.25, 2.5 , ..., -3.75, -2.5 , -1.25])