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

窗口长度。

dscalar, optional

采样间隔(采样率的倒数)。默认为 1。

xparray_namespace, optional

返回数组的命名空间。默认值为 None,此时使用 NumPy。

devicedevice, optional

返回数组的设备。仅在 xp.fft.fftfreq 实现设备参数时有效。

返回:
fndarray

长度为 n 的数组,包含采样频率。

示例

>>> 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])