本文簡要介紹 python 語言中 numpy.fft.rfft
的用法。
用法:
fft.rfft(a, n=None, axis=- 1, norm=None)
計算實際輸入的一維離散傅裏葉變換。
此函數通過稱為快速傅裏葉變換 (FFT) 的高效算法計算實值數組的一維 n-point 離散傅裏葉變換 (DFT)。
- a: array_like
輸入數組
- n: 整數,可選
要使用的輸入中沿變換軸的點數。如果 n 小於輸入的長度,則裁剪輸入。如果它更大,則用零填充輸入。如果未給出 n,則使用沿軸指定的軸的輸入長度。
- axis: 整數,可選
計算 FFT 的軸。如果未給出,則使用最後一個軸。
- norm: {“backward”, “ortho”, “forward”},可選
-
標準化模式(參見
numpy.fft
)。默認為“backward”。指示前向/後向變換對的哪個方向被縮放以及使用什麽歸一化因子。
- out: 複雜的ndarray
截斷或補零的輸入,沿由軸, 或者最後一個如果軸未指定。如果n是偶數,變換軸的長度是
(n/2)+1
.如果n是奇數,長度是(n+1)/2
.
- IndexError
如果axis不是a的有效軸。
參數:
返回:
拋出:
注意:
當為純實輸入計算 DFT 時,輸出是厄米對稱的,即負頻率項隻是相應正頻率項的複共軛,因此負頻率項是多餘的。此函數不計算負頻率項,因此輸出的變換軸的長度為
n//2 + 1
。當
A = rfft(a)
和 fs 為采樣頻率時,A[0]
包含 zero-frequency 項 0*fs,由於 Hermitian 對稱性,這是實數。如果n甚至,
A[-1]
包含表示正和負奈奎斯特頻率的術語(+fs/2 和 -fs/2),並且也必須是純實數。如果n很奇怪,在 fs/2 處沒有項;A[-1]
包含最大的正頻率 (fs/2*(n-1)/n),並且在一般情況下是複雜的。如果輸入 a 包含一個虛部,它會被默默地丟棄。
例子:
>>> np.fft.fft([0, 1, 0, 0]) array([ 1.+0.j, 0.-1.j, -1.+0.j, 0.+1.j]) # may vary >>> np.fft.rfft([0, 1, 0, 0]) array([ 1.+0.j, 0.-1.j, -1.+0.j]) # may vary
請注意,對於實數輸入,
fft
輸出的最後一個元素是第二個元素的複共軛。對於rfft
,利用這種對稱性來僅計算非負頻率項。
相關用法
- Python numpy fft.rfft2用法及代碼示例
- Python numpy fft.rfftn用法及代碼示例
- Python numpy fft.rfftfreq用法及代碼示例
- Python numpy fft.irfft用法及代碼示例
- Python numpy fft.ihfft用法及代碼示例
- Python numpy fft.fftfreq用法及代碼示例
- Python numpy fft.irfftn用法及代碼示例
- Python numpy fft.irfft2用法及代碼示例
- Python numpy fft.ifftshift用法及代碼示例
- Python numpy fft.ifftn用法及代碼示例
- Python numpy fft.ifft2用法及代碼示例
- Python numpy fft.fftn用法及代碼示例
- Python numpy fft.fft2用法及代碼示例
- Python numpy fft.ifft用法及代碼示例
- Python numpy fft.fftshift用法及代碼示例
- Python numpy fft.fft用法及代碼示例
- Python numpy fft.hfft用法及代碼示例
- Python numpy floor用法及代碼示例
- Python numpy float_power用法及代碼示例
- Python numpy frombuffer用法及代碼示例
- Python numpy flatiter用法及代碼示例
- Python numpy fmod用法及代碼示例
- Python numpy find_common_type用法及代碼示例
- Python numpy flatnonzero用法及代碼示例
- Python numpy format_float_scientific用法及代碼示例
注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.fft.rfft。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。