It should be quite a lot faster if you implement your convolution as multiplication in the frequency domain.
Look at the way fftfilt
is implemented. You can't get optimal performance using fftfilt
, because you want to only convert back to time domain after all convolutions are complete, but it nicely illustrates the method.