Матрица свертки вектора Поля Галуа
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