当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。