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


Python cusignal.utils.fftpack_helper.next_fast_len用法及代碼示例

用法:

cusignal.utils.fftpack_helper.next_fast_len(target)

找到 fft 的下一個快速輸入數據大小,用於零填充等。

SciPy 的 FFTPACK 對基數 {2, 3, 4, 5} 具有高效的函數,因此這將返回大於或等於 target 的質因數 2、3 和 5 的下一個複合。 (這些也稱為 5 平滑數、常規數或漢明數。)

參數

targetint

開始搜索的長度。必須是正整數。

返回

outint

大於或等於 target 的前 5 個平滑數。

注意

0.18.0 版中的新函數。

例子

在特定機器上,素數長度的 FFT 需要 133 ms:

>>> from scipy import fftpack
>>> min_len = 10007  # prime length is worst case for speed
>>> a = np.random.randn(min_len)
>>> b = fftpack.fft(a)

零填充到下一個 5-smooth 長度將計算時間減少到 211 us,加速了 630 倍:

>>> fftpack.helper.next_fast_len(min_len)
10125
>>> b = fftpack.fft(a, 10125)

四舍五入到 2 的下一個冪不是最優的,需要 367 us 來計算,是 5-smooth 大小的 1.7 倍:

>>> b = fftpack.fft(a, 16384)

相關用法


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