Python SciPy卷积VS fft卷积

2022-04-02 00:00:00 python scipy fft convolution

问题描述

我知道一般来说,当数组相对较大时,FFT and multiplication通常比直接convolve操作更快。然而,我正在将一个非常长的信号(比方说1000万点)和一个非常短的响应(比方说1000点)进行卷积。在这种情况下,fftconvolve似乎没有多大意义,因为它强制第二个数组的FFT与第一个数组的大小相同。在这种情况下,直接卷积是否更快?


解决方案

看看我在这里所做的比较:

http://scipy-cookbook.readthedocs.io/items/ApplyFIRFilter.html

您的情况可能处于使用普通卷积和使用基于FFT的卷积之间的过渡阶段,因此您最好的选择(@Douga在评论中建议的那样)是自己计时。

(请注意,在该比较中我没有执行重叠-添加或重叠-保存。)

相关文章