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


Python SciPy fftpack.next_fast_len用法及代碼示例


本文簡要介紹 python 語言中 scipy.fftpack.next_fast_len 的用法。

用法:

scipy.fftpack.next_fast_len(target)#

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

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

參數

target int

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

返回

out int

大於或等於目標的前 5 個平滑數字。

注意

例子

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

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

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

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

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

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

相關用法


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