
- •I. Алгебраические основы теории циклических кодов
- •1.2. Поля Галуа и их свойства
- •1.3. Основные действия над многочленами в поле двоичных чисел и их реализация
- •1. Сложение многочленов
- •2. Умножение многочленов
- •3. Деление многочленов
- •4. Реализация операций умножения и деления многочленов в поле двоичных чисел
- •4. Циклические коды, исправляющие пачки ошибок (коды файра)
- •5. Циклические коды бчх
- •6. Циклические коды рида—соломона
- •6.2 Построение кодов Рида-Соломона
- •6.3. Использование кодов Рида—Соломона для исправления стираний
- •6.4. Реализация действий над элементами поля
- •7. Мажоритарное декодирование циклических кодов
- •1.Алгебраические основы теории циклических кодов 2
- •Определение группы, кольца, поля
1.3. Основные действия над многочленами в поле двоичных чисел и их реализация
Условимся, что векторному представлению (а0а1.. ап-2ап-1) будет соответствовать многочлен f(х)= а0 +а1х+ ...+аn-1xn-1 , где коэффициенты ai представляют собой наименьшие неотрицательные вычеты по модулю р, т. е. принимают значения 0, 1, 2, ... (р— 1). Для двоичных полей с характеристикой р = 2 коэффициенты ai принимают значения 0 и 1.
Например, двоичной комбинации (101101) соответствует многочлен 1 + х2 + x3+ x5
1. Сложение многочленов
Правило сложения многочленов сводится к суммированию коэффициентов при одинаковых степенях х и приведению суммы по модулю р.
((11)
(1.2)
In
усть
где коэффициенты аi и bi, принимают значения 0, 1, 2, ... (р— 1). Тогда сумма многочленов будет:
Очевидно, что сумма (ai+bi) сравнима с сi по модулю р. т. е. (ai+bi)=(modp). Иногда просто говорят, что коэффициенты аi и bi складываются по модулю р. Пусть р = 3, аi = 2иbi= 2, тогда (аi + bi )=(2 + 2) = 4 = 1 (mod 3).
Ha основании этого сумма полиномов fi(х) = 1 + х3 + х5 и f2 (х) =x+x3+х7с коэффициентами — вычетами по модулю 2 будет равна: f1(х) +f2 (х) = 1 +x + х5+x7
В дальнейшем мы будем рассматривать действия над элементами двоичных полей, поэтому приведем правило сложения двоичных элементов по модулю 2:
1+1=0 0+1 = 1.
1+0=1. 0+0 = 0.
2. Умножение многочленов
Умножение многочленов осуществляется по обычным правилам перемножения. Пусть даны два многочлена (1.1) и (1.2), тогда произведение их будет равно:
Таким образом, коэффициент при хi будет равен
Пример. Даны два многочлена с коэффициентами из двоичного поля:
3. Деление многочленов
Операция деления многочленов осуществляется по обычным правилам деления с приведением коэффициентов по mod р. Например, деление многочленов в двоичном поле (р = 2) осуществляется следующим образом:
приводятся по модулю р. Для двоичных полей (р = 2) операция вычитания равноценна операции сложения, так как —1 = 1 (mod2). Действительно, —1=-1+2= 1 (mod 2).
О
перации
сложения, деления и умножения многочленов
могут
быть осуществлены над комбинациями
коэффициентов этих многочленов.
Пусть
Многочлену f1(x) соответствует комбинация (100110101), а многочлену f2(x)—(0111). Начало комбинации соответствует младшему разряду, т. е. нулевой степени х.
а) сложение f1(x) + f2 (x):
б) умножение f1(x)*f2 (x):
=x+x2+x3+x4+x8+x10+x11
Таким образом, если начало комбинации f1 (x) соответствует младшему разряду, т. е. х°, то умножению на хi соответствует сдвиг комбинации f1 (х) на число шагов, равное i. Полученный таким образом ряд комбинаций складывают по модулю 2. Как правило, нулевые комбинации (соответствующие умножению на 0) не записывают;
в) деление f1 (х) :f2 (х).
При делении комбинации f1 (х) на f2 (х) их записывают со старшего разряда и делят следующим образом: