MATLAB è Simulink íà ðóññêîì

https://hub.exponenta.ru/
 

Обработка сигналов и изображений\Communications Toolbox

Список функций Communications Toolbox: Вычисления в конечных полях (полях Галуа)

  В оглавление \ К следующему разделу \ К предыдущему разделу

GFADD
Сложение полиномов в конечном поле

Внимание!

Приведенное ниже описание относится к версии 2.0 пакета Communications, (MATLAB 6.1). В версии 2.1 (MATLAB 6.5) сложение объектов двоичных конечных полей (в том числе расширенных) производится с помощью оператора "+", а данная функция применяется только к полям GF(pm), где p - простое число, большее двух.

Синтаксис:

c = gfadd(a,b);
c = gfadd(a,b,p);
c = gfadd(a,b,p,len);
c = gfadd(a,b,field);

Описание:

  • c = gfadd(a,b)

Выполняет сложение двух полиномов над полем GF(2). Входные параметры и результат работы представляют собой векторы-строки, содержащие коэффициенты соответствующих полиномов в порядке возрастания степеней. Каждый коэффициент может быть равен 0 или 1, поскольку вычисления производятся в поле GF(2). Если a и b - матрицы одинакового размера, они обрабатываются построчно.

  • c = gfadd(a,b,p)

Выполняет сложение двух полиномов над полем GF(p), где p - простое число. Параметры a, b и c представляют собой векторы-строки, содержащие коэффициенты соответствующих полиномов в порядке возрастания степеней. Возможные значения коэффициентов лежат в диапазоне от 0 до p - 1. Если a и b - матрицы одинакового размера, они обрабатываются построчно.

  • c = gfadd(a,b,p,len)

То же, что и предыдущий вариант синтаксиса, но длина возвращаемого вектора гарантированно равна len. Результат c обрезается или дополняется нулями, чтобы получить вектор нужной длины.

  • c = gfadd(a,b,field)

Выполняет сложение двух элементов поля GF(pm), где m - положительное целое число. Входные параметры a и b - слагаемые, представленные в экспоненциальном формате по отношению к некоторому примитивному элементу поля GF(pm). Третий входной параметр field представляет собой матрицу, в которой перечислены все элементы поля GF(pm), упорядоченные по степеням того же самого примитивного элемента. Получить такую матрицу можно с помощью функции gftuple. Результат c - сумма, представленная в экспоненциальном формате по отношению к тому же самому примитивному элементу. Если входные параметры a и b представляют собой матрицы одинакового размера, они суммируются поэлементно.

Примеры:

В приведенном ниже коде переменной sum5 присваивается значение суммы полиномов 2 + 3x + x2 and 4 + 2x + 3x2 в поле GF(5), а переменной linpart - значение той же суммы, но обрезанное так, чтобы максимальная степень результирующего полинома была равна единице.

sum5 = gfadd([2 3 1],[4 2 3],5)
sum5 =
   1   0   4
linpart = gfadd([2 3 1],[4 2 3],5,2)
linpart =
   1   0

Приведенный ниже код показывает, что в поле GF(9) выполняется равенство a2 + a4 = a1, где a - корень примитивного полинома 2 + 2x + x2.

p = 3; m = 2;
primpoly = [2 2 1];
field = gftuple([-1:p^m-2]',primpoly,p);
g = gfadd(2,4,field)
g =
   1

Сопутствующие функции: gfsub, gfconv, gfmul, gfdeconv, gfdiv, gftuple, gfplus

  В оглавление \ К следующему разделу \ К предыдущему разделу

 

Поиск по сайту:


Система Orphus