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
, ifc
is a column vector andx
is any Galois column vector of lengthn
. In this case,A
hasn
columns andm+n-1
rows.x*A
, ifc
is a row vector andx
is any Galois row vector of lengthn
. In this case,A
hasn
rows andm+n-1
columns.
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