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