本文簡要介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。