I know generally speaking FFT and multiplication
is usually faster than direct convolve
operation, when the array is relatively large. However, I'm convolving a very long signal (say 10 million points) with a very short response (say 1 thousand points). In this case the fftconvolve
doesn't seem to make much sense, since it forces a FFT of the second array to the same size of the first array. Is it faster to just do direct convolve in this case?
Take a look at the comparison I did here:
http://scipy-cookbook.readthedocs.io/items/ApplyFIRFilter.html
Your case might be near the transition between using a plain convolution and using the FFT-based convolution, so your best bet (as suggested by @Dougal in a comment) is to time it yourself.
(Note that I didn't do overlap-add or overlap-save in that comparison.)