Convolution matrix
Returns the convolution matrix for a filter kernel.
convmtx(h, n)
h |
Input, coerced to a vector, representing the filter kernel |
n |
Length of vector(s) that |
Computing a convolution using conv
when the signals are vectors is
generally more efficient than using convmtx
. For multichannel signals,
however, when a large number of vectors are to be convolved with the same
filter kernel, convmtx
might be more efficient.
The code cm <- convmtx(h, n)
computes the convolution matrix of the
filter kernel h
with a vector of length n
. Then, cm
x
gives the convolution of h
and x
.
Convolution matrix of input h
for a vector of length n
.
If h
is a vector of length m
, then the convolution matrix has
m + n - 1
rows and n
columns.
David Bateman adb014@gmail.com.
Conversion to R by Geert
van Boxtel G.J.M.vanBoxtel@gmail.com.
N <- 1000 a <- runif(N) b <- runif(N) cm <- convmtx(b, N) d <- cm %*% a cref = conv(a, b) all.equal(max(d - cref), 0)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.