rfft#
- scipy.fft.rfft(x, n=None, axis=-1, norm=None, overwrite_x=False, workers=None, *, plan=None)[原始碼]#
計算實數輸入的一維離散傅立葉轉換。
此函數藉由稱為快速傅立葉轉換 (FFT) 的有效率演算法,計算實數值陣列的一維n點離散傅立葉轉換 (DFT)。
- 參數:
- xarray_like
輸入陣列
- nint,選用
要使用的輸入中沿轉換軸的點數。如果 n 小於輸入的長度,則會裁剪輸入。如果較大,則會用零填充輸入。如果未給定 n,則會使用沿 axis 指定軸的輸入長度。
- axisint,選用
計算 FFT 的軸。如果未給定,則使用最後一個軸。
- norm{“backward”, “ortho”, “forward”},選用
正規化模式(請參閱
fft
)。預設值為 “backward”。- overwrite_xbool,選用
如果為 True,則可以破壞 x 的內容;預設值為 False。請參閱
fft
以取得更多詳細資訊。- workersint,選用
用於平行計算的最大工作人員數。如果為負數,則值會從
os.cpu_count()
環繞。請參閱fft
以取得更多詳細資訊。- planobject,選用
此引數保留用於傳入下游 FFT 供應商提供的預先計算計劃。目前 SciPy 中未使用。
在 1.5.0 版本中新增。
- 傳回值:
- out複數 ndarray
沿 axis 指示軸轉換的截斷或零填充輸入,如果未指定 axis,則為最後一個軸。如果 n 為偶數,則轉換軸的長度為
(n/2)+1
。如果 n 為奇數,則長度為(n+1)/2
。
- 引發:
- IndexError
如果 axis 大於 a 的最後一個軸。
注意事項
當針對純實數輸入計算 DFT 時,輸出為 Hermitian 對稱,即負頻率項只是對應正頻率項的複共軛,因此負頻率項是多餘的。此函數不計算負頻率項,因此輸出轉換軸的長度為
n//2 + 1
。當
X = rfft(x)
且 fs 為取樣頻率時,X[0]
包含零頻率項 0*fs,由於 Hermitian 對稱性,因此為實數。如果 n 為偶數,則
A[-1]
包含表示正和負奈奎斯特頻率(+fs/2 和 -fs/2)的項,並且也必須是純實數。如果 n 為奇數,則 fs/2 處沒有項;A[-1]
包含最大的正頻率 (fs/2*(n-1)/n),並且在一般情況下是複數。如果輸入 a 包含虛部,則會靜默捨棄。
範例