- Overlap-save method
Overlap-save is the traditional name for an efficient way to evaluate the discrete convolution between a very long signal with a
finite impulse response (FIR) filter ::
where h [m] =0 for m outside the region [1, "M"] .
The concept is to compute short segments of "y" ["n"] of an arbitrary length "L", and concatenate the segments together. Consider a segment that begins at "n" = "kL" + "M", for any integer "k", and define:
:
:
Then, for "kL" + "M" ≤ "n" ≤ "kL" + "L" + "M" − 1, and equivalently "M" ≤ "n" − "kL" ≤ "L" + "M" − 1, we can write:
:
The task is thereby reduced to computing "y""k" ["n"] , for "M" ≤ "n" ≤ "L" +" M" − 1.
Now note that if we periodically extend "x""k" ["n"] with period "N" ≥ "L" + "M" − 1, according to:
:
the convolutions and are equivalent in the region "M" ≤ "n" ≤ "L" + "M" − 1. So it is sufficient to compute the -point circular (or cyclic) convolution of with in the region [1, "N"] . The subregion ["M", "L" + "M" − 1] is appended to the output stream, and the other values are discarded.
The advantage is that the circular convolution can be computed very efficiently as follows, according to the circular convolution theorem:
:
where FFT and IFFT refer to the fast Fourier transform and inverse fast Fourier transform, respectively, evaluated over "N" discrete points.
Pseudocode ("Overlap-save algorithm for linear convolution") H = FFT(h,N) i = 1 while i <= Nx il = min(i+N-1,Nx) yt = IFFT( FFT(x(i:il),N) * H, N) y(i : i+N-L-1) = yt(1+L : N) i = i+L end
Overlap-discard
"Overlap-discard" and "Overlap-scrap" are less commonly used labels for the same method described here. However, these labels are actually better (than "overlap-save") to distinguish from overlap-add, because both methods "save", but only one discards. "Save" merely refers to the fact that "M" − 1 input (or output) samples from segment "k" are needed to process segment "k" + 1.
References
*Cite book
author=Rabiner, Lawrence R.; Gold, Bernard
authorlink=
coauthors=
title=Theory and application of digital signal processing
date=1975
publisher=Prentice-Hall
location=Englewood Cliffs, N.J.
isbn=0-13-914101-4
pages=pp 65-67
Wikimedia Foundation. 2010.