scipy.fft.

rfftfreq#

scipy.fft.rfftfreq(n, d=1.0, *, xp=None, device=None)[source]#

傳回離散傅立葉轉換的取樣頻率(用於 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

視窗長度。

dscalar, optional

取樣間隔(取樣率的倒數)。預設值為 1。

xparray_namespace, optional

傳回陣列的命名空間。預設值為 None,使用 NumPy。

devicedevice, optional

傳回陣列的裝置。僅當 xp.fft.rfftfreq 實作裝置參數時有效。

傳回值:
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.])