Signal Processing Toolbox |
Syntax
Description
A convolution matrix is a matrix, formed from a vector, whose inner product with another vector is the convolution of the two vectors.
A
where =
convmtx(c,n)
c
is a length m
column vector returns a matrix A
of size (m+n-1)
-by-n
. The product of A
and another column vector x
of length n
is the convolution of c
with x
.
A
where =
convmtx(r,n)
r
is a length m
row vector returns a matrix A
of size n
-by-(m+n-1)
. The product of A
and another row vector x
of length n
is the convolution of r
with x
.
Examples
Generate a simple convolution matrix:
h =
[1 2 3 2 1];
convmtx(h,7)
ans =
1 2 3 2 1 0 0 0 0 0 0
0 1 2 3 2 1 0 0 0 0 0
0 0 1 2 3 2 1 0 0 0 0
0 0 0 1 2 3 2 1 0 0 0
0 0 0 0 1 2 3 2 1 0 0
0 0 0 0 0 1 2 3 2 1 0
0 0 0 0 0 0 1 2 3 2 1
Note that convmtx
handles edge conditions by zero padding.
In practice, it is more efficient to compute convolution using
than by using a convolution matrix.
Algorithm
convmtx
uses the function toeplitz
to generate the convolution matrix.
See Also
conv2 | corrcoef |
© 1994-2005 The MathWorks, Inc.