mars.tensor.fft.fftfreq#

mars.tensor.fft.fftfreq(n, d=1.0, gpu=None, chunk_size=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
Parameters
  • n (int) – 窗口长度。

  • d (标量, 可选) – 采样间隔(采样率的倒数)。默认为 1。

  • gpu (bool, 可选) – 如果为True,则在GPU上分配张量,默认为False

  • chunk_size (inttupleinttupleints, 可选) – 每个维度上所需的块大小

Returns

f – 长度为 n 的数组,包含样本频率。

Return type

张量

示例

>>> import mars.tensor as mt
>>> signal = mt.array([-2, 8, 6, 4, 1, 0, 3, 5], dtype=float)
>>> fourier = mt.fft.fft(signal)
>>> n = signal.size
>>> timestep = 0.1
>>> freq = mt.fft.fftfreq(n, d=timestep)
>>> freq.execute()
array([ 0.  ,  1.25,  2.5 ,  3.75, -5.  , -3.75, -2.5 , -1.25])