快速傅里叶变换(FFT)推荐使用哪个Python模块?

5

如果速度是一个问题,可能最好选择另一种语言,但在Python中进行一维快速傅里叶变换(FFT),您的库/模块/实现选择是什么?


2
Python中执行FFT的包通常不会在纯Python中实现,而是在底层编译语言中实现,因此Python的速度不会反映在变换的速度上。也就是说,它们将和其他任何东西一样快。 - tom10
3个回答

8
我建议使用numpy库,我不确定它是否是最快的实现,但肯定是市场上最好的科学模块之一。

6

如果你能找到一个实际可用的Python绑定,FFTW可能是最快的实现。

最容易使用的肯定是scipy.fft。此外,您还可以使用numpy/scipy的所有功能。

我只在一个玩具项目(基本的音乐可视化)中使用过它,但它足够快,可以处理44khz的标准音频,帧率为60fps,就我记得。


4
我建议使用FFTW库(“西部最快的傅里叶变换”)。 FFTW下载页面指出存在Python包装器,但链接已损坏。 通过Google搜索找到了Python FFTW,它为FFTW3提供了Python绑定。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接