convmtx {gsignal} | R Documentation |
Convolution matrix
Description
Returns the convolution matrix for a filter kernel.
Usage
convmtx(h, n)
Arguments
h |
Input, coerced to a vector, representing the filter kernel |
n |
Length of vector(s) that |
Details
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
.
Value
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.
Author(s)
David Bateman adb014@gmail.com.
Conversion to R by Geert
van Boxtel G.J.M.vanBoxtel@gmail.com.
See Also
Examples
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)