О циклических кодах и корнях порождающего полинома с точки зрения конечных полей
Следует отметить, что в данном разделе будет рассмотрено описание циклических кодов с точки зрения конечных полей только в рамках нахождения порождающего полинома. Наиболее понятное полное рассмотрение циклических кодов с точки зрения конечных полей можно найти в книге [2]. Теорема 3. Циклический код длины n с порождающим полиномом g(x) существует тогда и только тогда, когда g(x) делит . Следствие из теоремы 3. Порождающий полином циклического кода длины n можно найти, разложив полином на простые множители:
где s – число простых множителей. Произведение произвольного подмножества этих множителей дает порождающей многочлен g(x). Если g(x) – порождающий полином, то он делит , и, следовательно, . Полином g(x) можно найти, найдя все его простые делители. Простые делители есть не что иное, как функции минимума или минимальные полиномы. Таким образом, зная корни минимальных полиномов, можно легко найти порождающий полином кода. Исходя из сказанного в предыдущих разделах, можно сделать вывод, что поле как раз содержит корни минимальных полиномов, а следовательно содержит корни порождающего полинома. Резюме: 1. Порождающий полином не что иное, как произведение его простых делителей . 2. Пусть - корень полинома . Тогда не что иное, как функция минимума для . 3. Имея корни полиномов – делителей g(x) можно найти их функции минимума, и следовательно найти g(x). 4. содержит корни g(x). Таким образом, нахождение порождающего полинома по степеням его корней сводится к нахождению минимальных полиномов для элементов поля с соответствующей степенью.
,
где минимальный полином.
Нахождение порождающего полинома по последовательности степеней корней
В таблице из приложения Г книги [1] содержатся параметры циклических кодов и последовательности степеней корней. Мы рассматриваем только коды тривиальной длины. Часть этой таблицы указана в приложении А данной работы. В таблице из приложения В книги [1] указаны неприводимые полиномы над GF(2). Укороченное представление такой таблицы также есть в приложении Б данной работы. Алгоритм нахождения порождающего полинома: 1. Исходя из длины выбранного кода, построить расширение поля по модулю неприводимого полинома над степень которого равна m. Где m находится из следующего соотношения: . 2. Для каждого корня построить циклотомический класс. 3. Для каждого корня найти минимальный полином. 4. Перемножить полученные минимальные полиномы по правилам для . Рассмотрим каждый шаг более подробно на примере кода (15,5,7). Для такого кода в таблице циклических кодов указаны следующие степени корней {1,3,5}. Шаг 1. Построение . Длина n заданного кода равна 15. Так как , m = 4. Будем строить . Так как m = 4, то из таблицы неприводимых полиномов выберем полином четвертой степени , по модулю которого будет построено . Как построить расширение поля, было рассмотрено в 1.4.3.
Таблица 3. .
Шаг 2. Построение циклотомических классов. Последовательность степеней корней для данного кода - {1,3,5}. Для каждого элемента последовательности построим циклотомический класс, при помощи формулы . Подробно построение циклотомических классов описано в 1.4.4 Для корня со степенью 1 это {1,2,4,8}. Для корня со степенью 3 это {3,6,9,12}. Для корня со степенью 5 это {5,10}. Шаг 3. Нахождение минимальных полиномов. Исходя из теоремы 2, для каждого корня найдем его минимальный полином, подробно нахождение минимальных полиномов описано выше. Для корня со степенью 1:
Для корня со степенью 3: m3(x) = (x – a3) (x – a6) (x – a9) (x – a12) = x4 + x3+ x2 + x1+1.
Для корня со степенью 5: m5(x) = (x – a5) (x – a10) = x2 + x+1
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|