DSPRelated.com
Forums

Buffer management for Overlap Add method of block convolution

Started by damo22 June 14, 2010
I have an audio stream which arrives in blocks of length FRAMES.  The
processing function must return another block of length FRAMES as the
output.

I have implemented an overlap add algorithm of block convolution to
convolve a simple FIR filter of length M taps, zero padded to length
N=L+M-1 where L is the size of the sub-block of convolution.

My question is, how do I handle the final sub-block, as it will not be of
length L, but rather of length (FRAMES mod L).  I must output FRAMES
samples before the processing of the next main block begins.

+-------+-------+-------+-------+----+
|       |       |       |       |    |
+-------+-------+-------+-------+----+
0       L       2L      3L      4L   FRAMES

Regards,
Damien