Матрица свертки вектора Поля Галуа
A = convmtx(c,n)
Матрица свертки является матрицей, сформированной из вектора, скалярное произведение которого с другим вектором является сверткой этих двух векторов.
A = convmtx(c,n)
возвращает матрицу свертки для вектора Галуа c
. Вывод A
является массивом Галуа, который представляет свертку с c
в том смысле, что conv(c,x)
равняется
A*x
, если c
является вектор-столбцом и x
, является любым вектор-столбцом Галуа длины n
. В этом случае A
имеет столбцы n
и строки m+n-1
.
x*A
, если c
является вектором - строкой и x
, является любым вектором - строкой Галуа из длины n
. В этом случае A
имеет строки n
и столбцы m+n-1
.
Код ниже иллюстрирует эквивалентность между использованием функции conv
и умножением на вывод 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
Вывод
ck1 = 1 ck2 = 1