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


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