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

https://hub.exponenta.ru/
 

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

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

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

GFMINPOL
Поиск минимального полнома для элемента конечного поля

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

Синтаксис:

pol = gfminpol(k,m);
pol = gfminpol(k,primpoly);
pol = gfminpol(k,m,p);
pol = gfminpol(k,primpoly,p);

Описание:

pol = gfminpol(k,m)

Находит минимальный полином для элемента a k конечного поля GF(2), где a  — корень примитивного полинома, используемого по умолчанию для поля GF(2m). Входной параметр m — целое число, большее единицы. Возвращаемый результат pol имеет следующий формат:

  • Если k — неотрицательное целое число, то pol — вектор-строка, содержащий коэффициенты минимального полинома в порядке возрастания степеней.
  • Если k — вектор длины len, все элементы которого являются неотрицательными целыми числами, то pol — матрица, имеющая len строк; ее r-я строка содержит коэффициенты минимального полинома для элемента a k(r) в порядке возрастания степеней.

pol = gfminpol(k,primpoly)

То же, что первый вариант синтаксиса, но a является корнем примитивного полинома для поля GF(2m), заданного вторым входным параметром primpoly. Параметр primpoly должен быть вектором-строкой, содержащим коэффициенты примитивного полинома степени m в порядке возрастания степеней.

pol = gfminpol(k,m,p)

То же, что первый вариант синтаксиса, но вместо 2 в качестве характеристики поля используется значение третьего входного параметра p (он должен быть простым числом).

pol = gfminpol(k,primpoly,p)

То же, что первый вариант синтаксиса, но вместо 2 в качестве характеристики поля используется значение третьего входного параметра p (он должен быть простым числом) и, кроме того, a является корнем примитивного полинома для поля GF(pm), заданного вторым входным параметром primpoly. Параметр primpoly должен быть вектором-строкой, содержащим коэффициенты примитивного полинома степени m в порядке возрастания степеней.

Примеры:

Приведенный ниже код определяет, какие элементы поля GF(24) принадлежат также и полю GF(22), проверяя степени их минимальных полиномов.
p = 2; m = 4; %Рассматриваем элементы поля GF(16)
primpoly = gfprimdf(4);

%Получаем минимальные полиномы для всех элементов, кроме 0 и 1
k = [1:p^m-2];
minpolys = gfminpol(k,primpoly);

%Ищем минимальные полиномы, степень которых равна 2
gf4=[];
for ii = 1:p^m-2
    if length(gftrunc(minpolys(ii,:)))==3 %Полином степени 2
      gf4=[gf4, ii];
    end
end
disp(['Элементами поля GF(4) являются 0, 1, alpha^',...
  int2str(gf4(1)),' и alpha^',int2str(gf4(2))])
disp('где alpha – корень примитивного полинома в поле GF(16)')
gfpretty(primpoly)

Вот результат работы данного примера:

Элементами поля GF(4) являются 0, 1, alpha^5 и alpha^10
где alpha - корень примитивного полинома в поле GF(16)
1 + X + X4

Сопутствующие функции: gfprimdf, gfcosets, gfroots

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

 

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


Система Orphus