當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python dask.array.fft.rfft用法及代碼示例


用法:

dask.array.fft.rfft(a, n=None, axis=None)

numpy.fft.rfft 的包裝

應用 FFT 的軸必須隻有一個塊。要更改數組的分塊,請使用 dask.Array.rechunk。

numpy.fft.rfft 文檔字符串如下:

計算實際輸入的一維離散傅裏葉變換。

此函數通過稱為快速傅裏葉變換 (FFT) 的高效算法計算實值數組的一維 n-point 離散傅裏葉變換 (DFT)。

參數

aarray_like

輸入數組

n整數,可選

要使用的輸入中沿變換軸的點數。如果 n 小於輸入的長度,則裁剪輸入。如果它更大,則用零填充輸入。如果未給出n,則使用沿axis 指定的軸的輸入長度。

axis整數,可選

計算 FFT 的軸。如果未給出,則使用最後一個軸。

norm{“backward”, “ortho”, “forward”},可選

規範化模式(參見numpy.fft)。默認為“backward”。指示前向/後向變換對的哪個方向被縮放以及使用什麽歸一化因子。

返回

out複雜的ndarray

截斷或補零的輸入,沿 axis 指示的軸轉換,如果未指定 axis 則為最後一個。如果 n 是偶數,則變換軸的長度為 (n/2)+1 。如果 n 為奇數,則長度為 (n+1)/2

拋出

索引錯誤

如果 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 ,利用這種對稱性僅計算非負頻率項。

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.array.fft.rfft。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。