In overlap add method for convolution a filter $x$ of length $M$ will get convolved with a signal $y$ of length $N$ where $M << N$, i.e., $z = x * y $.

Here the signal $y$ is sliced into subparts each of length $M$.

Can I slice $y$ into subparts of size $P < M$ and then do the convolution by overlap add method. What should be the algorithm for this.

The method I have tried for overlap add method is given here(in MATLAB). In the above code, in the for loop, I wish to have filterLength < 16. How should I modify this code.


1 Answer 1


What you are describe is typically called "Partitioned Convolution". The benefit is reduced latency at some cost to efficiency (unless the larger size FFT is considerably less efficient e.g. due to cache size). This reduction in efficiency may be outweighed by the increased ability to use multiple cores for the parallel tasks.

  • $\begingroup$ Can you suggest some tutorials/links to do the partitioned convolution. $\endgroup$
    – Vinod
    Dec 13, 2014 at 6:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.