本文简要介绍 python 语言中 scipy.fft.next_fast_len
的用法。
用法:
scipy.fft.next_fast_len()#
找到
fft
的下一个快速输入数据大小,用于零填充等。SciPy 的 FFT 算法通过递归分治策略来提高速度。这依赖于输入长度的小质因数的有效函数。因此,当使用由 fft 实现处理的质因数的复合时,变换速度最快。如果所有基都存在有效函数 <=n,那么结果将是一个数字x>=
target
只有质因数<n. (也称为n- 平滑的数字)- out: int
大于或等于
target
的最小快速长度。
参数 ::
返回 ::
注意:
此函数的结果将来可能会随着性能考虑的变化而变化,例如,如果添加了新的素因子。
使用真实输入数据调用
fft
或ifft
会在内部执行'R2C'
转换。例子:
在特定机器上,素数长度的 FFT 需要 11.4 毫秒:
>>> from scipy import fft >>> import numpy as np >>> rng = np.random.default_rng() >>> min_len = 93059 # prime length is worst case for speed >>> a = rng.standard_normal(min_len) >>> b = fft.fft(a)
零填充到下一个常规长度将计算时间减少到 1.6 ms,加速了 7.3 倍:
>>> fft.next_fast_len(min_len, real=True) 93312 >>> b = fft.fft(a, 93312)
四舍五入到 2 的下一个幂不是最优的,需要 3.0 毫秒来计算;比
next_fast_len
给出的大小长 1.9 倍:>>> b = fft.fft(a, 131072)
相关用法
- Python SciPy fft.idctn用法及代码示例
- Python SciPy fft.fft2用法及代码示例
- Python SciPy fft.fftn用法及代码示例
- Python SciPy fft.ifft2用法及代码示例
- Python SciPy fft.ifftn用法及代码示例
- Python SciPy fft.ihfftn用法及代码示例
- Python SciPy fft.rfftfreq用法及代码示例
- Python SciPy fft.dctn用法及代码示例
- Python SciPy fft.rfft用法及代码示例
- Python SciPy fft.fftfreq用法及代码示例
- Python SciPy fft.fht用法及代码示例
- Python SciPy fft.dct用法及代码示例
- Python SciPy fft.idstn用法及代码示例
- Python SciPy fft.rfftn用法及代码示例
- Python SciPy fft.hfft用法及代码示例
- Python SciPy fft.set_global_backend用法及代码示例
- Python SciPy fft.ifftshift用法及代码示例
- Python SciPy fft.ihfft用法及代码示例
- Python SciPy fft.irfftn用法及代码示例
- Python SciPy fft.set_backend用法及代码示例
- Python SciPy fft.idct用法及代码示例
- Python SciPy fft.fft用法及代码示例
- Python SciPy fft.get_workers用法及代码示例
- Python SciPy fft.hfftn用法及代码示例
- Python SciPy fft.irfft用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.fft.next_fast_len。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。