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

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

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

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

GFPLUS
Сложение элементов расширенных конечных полей с характеристикой 2

Внимание!

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

Синтаксис:

k = gfplus(a,b,fvec,ivec);

Описание:

k = gfplus(a,b,fvec,ivec)

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

Входные параметры fvec и ivec должны быть векторами длиной 2m. Элементы обоих векторов должны быть целыми числами, лежащими в диапазоне от 0 до 2m – 1. Вектор fvec содержит ту же информацию, что параметр field, используемый функцией gfadd, но не в виде матрицы двоичных цифр, а в виде числового вектора. Вектор ivec содержит таблицу обратного преобразования элементов поля. Чтобы вычислить значения fvec и ivec, задайте m и используйте следующие команды:

fvec = bi2de(gftuple([-1 : 2^m-2]',m));

ivec(fvec + 1) = 0 : 2^m - 1;

В приведенном выше варианте для формирования экспоненциального представления элементов поля используется примитивный полином, определенный в пакете Communications по умолчанию. Можно использовать иной примитивный полином, получив вектор его коэффициентов pol с помощью функции gfprimfd и передав этот вектор функции gftuple:

fvec = bi2de(gftuple([-1 : 2^m-2]',pol));

ivec(fvec + 1) = 0 : 2^m - 1;

Примеры:

В данном примере суммируются две матрицы, содержащие случайные ненулевые элементы поля GF(25).

m = 5;    % Создаем две случайных матрицы размером 3 на 6 в поле GF(2^5)
a = randint(3,6,2^m-1,1234);
b = randint(3,6,2^m-1);
fvec = gftuple([-1 : 2^m - 2]',m)*2.^[0 : m-1]';
ivec(fvec + 1) = 0 : 2^m - 1;
aplusb = gfplus(a,b,fvec,ivec) % Суммируем матрицы
aplusb =
    22    25    4      23    9        29
    9      30    24    23    -Inf    19
    15    17    10    12    25       30

Сопутствующие функции: gfadd, gfsub

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

 

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

Система Orphus

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