Circular convolution, also called cyclic convolution, is the convolution of finite sequences with
their indices interpreted modulo a common length . For
, ...,
and
, ...,
, it is defined by
for ,
...,
.
Here
denotes the mod operation. Circular convolution is commutative
and associative.
With the discrete Fourier transform convention ,
where
is the imaginary unit, and similarly for
and
, the convolution theorem
gives
Thus circular convolution can be computed using a fast Fourier transform. Ordinary convolution of two
finite sequences of lengths
and
is obtained by appending zeros to both up to a length
before taking their circular convolution. This prevents
the end of the result from wrapping around to its beginning.