convmtx function

Convolution matrix

Convolution matrix

Returns the convolution matrix for a filter kernel.

convmtx(h, n)

Arguments

  • h: Input, coerced to a vector, representing the filter kernel
  • n: Length of vector(s) that h is to be convolved with.

Returns

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.

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.

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)

See Also

conv

Author(s)

David Bateman adb014@gmail.com .

Conversion to R by Geert van Boxtel G.J.M.vanBoxtel@gmail.com .

  • Maintainer: Geert van Boxtel
  • License: GPL-3
  • Last published: 2024-09-11