scipy.fft.
rfftfreq#
- scipy.fft.rfftfreq(n, d=1.0, *, xp=None, device=None)[源代码]#
返回离散傅里叶变换的采样频率(用于 rfft, irfft)。
返回的浮点数组 f 包含以采样间隔单位的周期数表示的频率仓中心(从零开始)。例如,如果采样间隔以秒为单位,则频率单位为周期/秒。
给定窗口长度 n 和采样间隔 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
与
fftfreq
不同(但与scipy.fftpack.rfftfreq
类似),奈奎斯特频率分量被认为是正的。- 参数:
- nint
窗口长度。
- d标量,可选
采样间隔(采样率的倒数)。默认为 1。
- xparray_namespace, 可选
返回数组的命名空间。默认为 None,使用 NumPy。
- devicedevice, 可选
返回数组的设备。仅当 xp.fft.rfftfreq 实现 device 参数时有效。
- 返回:
- fndarray
长度为
n//2 + 1
的数组,包含采样频率。
示例
>>> 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 array([ 0., 10., 20., ..., -30., -20., -10.]) >>> freq = scipy.fft.rfftfreq(n, d=1./sample_rate) >>> freq array([ 0., 10., 20., 30., 40., 50.])