Circular vs linear convolution
Consider signals and
, of length
and
samples, respectively. Circular and linear convolution are different ways of convolving these signals together. Circular convolution is associated with multiplying
-length DFTs, meaning that either
or
, whichever is shorter, is padded to the length of the other – let’s call this length
samples. Multiplying their spectra causes output samples “beyond”
to wrap around into the start of the analysis window. This is known as time-domain aliasing, since the output must be
samples long.
In contrast, linear convolution is implemented in the time domain to produce a signal of length .
Circular convolution can lead to the same result as linear convolution if the two time-domain signals are first padded to a length samples, before being transformed via the DFT into their frequency domain representations. Indeed, this is exactly how so-called ‘fast’ or ‘frequency domain’ convolution is achieved.