调研号称最快的快速傅里叶变换库fftw

调研主流开源fft c/c++库,最后选择了最为知名的fftw项目。 读完了官方最新版手册的大部分内容。和当前项目使用的简单实现做bechmarking,fftw的速度在我的测试环境中比简单实现快30~40倍。 测试环境: AMD 4G主频

44.1K采样10分钟 44.1K采样1分钟 44.1K采样10秒
简单实现 2.01017秒 0.203767秒 0.037936秒
fftw 0.047039秒 0.00466秒 0.001126秒
summary 42.3倍 43.7倍 33.7倍

帧长都是1024, 帧跳512。

虽然fftw的性能领先得非常地明显,但如果每一分钟左右,甚至更短的时间就计算一次,简单fft也能在一秒钟内完成。看来fft并非主要耗时部分。这次调研fft算法更新了我对fft的看法。我印象中FFT仅管是快速算法,仍然非常耗时,所以才需要DSP芯片。看来现在的通用CPU亦能应付大部分场景。