Cyclic Convolution Matrix
An infinite Toeplitz matrix implements, in principle, acyclic
convolution (which is what we normally mean when we just say
``convolution''). In practice, the convolution of a signal and an
impulse response
, in which both
and
are more than a
hundred or so samples long, is typically implemented fastest using
FFT convolution (i.e., performing fast convolution using the
Fast Fourier Transform (FFT)
[84]F.3). However, the FFT computes
cyclic convolution unless sufficient zero padding is used
[84]. The matrix representation of cyclic (or ``circular'')
convolution is a circulant matrix, e.g.,
![$\displaystyle \mathbf{h}= \left[\begin{array}{cccccc}
h_0 & 0 & 0 & 0 & h_2 & ...
... h_2 & h_1 & h_0 & 0 \\ [2pt]
0 & 0 & 0 & h_2 & h_1 & h_0
\end{array}\right].
$](http://www.dsprelated.com/josimages_new/filters/img1979.png)


The DFT eigenstructure of circulant matrices is directly related to
the DFT convolution theorem [84]. The above
circulant matrix
, when multiplied times a length 6 vector
,
implements cyclic convolution of
with
.
Using the DFT to perform the circular convolution can be expressed as







![$ \mathbf{S}[k,n]\isdeftext e^{j2\pi k n/N}$](http://www.dsprelated.com/josimages_new/filters/img1988.png)


















Premultiplying by the IDFT matrix
yields




Next Section:
Inverse Filters
Previous Section:
General LTI Filter Matrix