convmtx
Convolution matrix of Galois field vector
Syntax
A = convmtx(c,n)
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 = convmtx(c,n) returns a convolution
matrix for the Galois vector c. The output A is
a Galois array that represents convolution with c in the sense
that conv(c,x) equals
A*x, ifcis a column vector andxis any Galois column vector of lengthn. In this case,Ahasncolumns andm+n-1rows.x*A, ifcis a row vector andxis any Galois row vector of lengthn. In this case,Ahasnrows andm+n-1columns.
Examples
The code below illustrates the equivalence between using the conv
function and multiplying by the output of convmtx.
m = 4; c = gf([1; 9; 3],m); % Column vector n = 6; x = gf(randi([0 2^m-1],n,1),m); ck1 = isequal(conv(c,x), convmtx(c,n)*x) % True ck2 = isequal(conv(c',x'),x'*convmtx(c',n)) % True
The output is
ck1 =
1
ck2 =
1
Version History
Introduced before R2006a