MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем
 

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

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

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

GFSUB
Вычитание полиномов в конечном поле

Внимание!

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

Синтаксис:

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

Описание:

c = gfsub(a,b)

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

c = gfsub(a,b,p)

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

c = gfsub(a,b,p,len)

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

c = gfsub(a,b,field)

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

Примеры:

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

differ = gfsub([2 3 1],[4 2 3],5)
differ =
    3    1    3
linpart = gfsub([2 3 1],[4 2 3],5,2)
linpart =
    3    1

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

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

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

 

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

 

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

Система Orphus

Яндекс.Метрика