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