maxframe.tensor.fft.rfftfreq#
- maxframe.tensor.fft.rfftfreq(n, d=1.0, gpu=None, chunk_size=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),奈奎斯特频率分量被认为是正的。
- 参数:
- 返回:
f -- 长度为
n//2 + 1的张量,包含采样频率。- 返回类型:
Tensor
示例
>>> import maxframe.tensor as mt
>>> signal = mt.array([-2, 8, 6, 4, 1, 0, 3, 5, -3, 4], dtype=float) >>> fourier = mt.fft.rfft(signal) >>> n = signal.size >>> sample_rate = 100 >>> freq = mt.fft.fftfreq(n, d=1./sample_rate) >>> freq.execute() array([ 0., 10., 20., 30., 40., -50., -40., -30., -20., -10.]) >>> freq = mt.fft.rfftfreq(n, d=1./sample_rate) >>> freq.execute() array([ 0., 10., 20., 30., 40., 50.])