2.1. Задание циклического кода с помощью элементов конечного поля
Корректирующий
циклический (n, k) код С представляется в виде вектора-строки или в полиномиальном виде как
, где
- кольцо
многочленов над полем
.
Обозначим примитивный
элемент конечного поля как α. Определим проверочную
матрицу кода
, столбцы которой равны
, где
.
Произведению (
T) соответствует полином синдрома
.
Для дальнейшего изложения полезно ввести следующие понятия.
Минимальный многочлен.
Пусть - поле,
-
подполе поля
и α – элемент мультипликативной группы
- {0} поля
.
Обозначим через
множество всех многочленов над
, корнем которых является α. Пусть
- нормированный многочлен минимальной
степени в
; этот многочлен называется минимальным
многочленом элемента α над
. Минимальный многочлен
является неприводимым.
Пример. Рассмотрим поле ,
.
Возможными коэффициентами для минимального многочлена являются 0 или 1.
Получаем следующее соответствие (табл.1)
Таблица1
Элемент поля |
Минимальный многочлен |
0 |
|
1 |
|
|
|
|
|
|
|
Сопряженные элементы и
циклотомические классы. Минимальные многочлены элементов и
равны. Элементы поля, минимальные
многочлены которых равны, называются сопряженными. Так для поля
мнимальным многочленом элементов
(при этом
)
является один и тот же многочлен. Аналогично для
минимальным
многочленом является один и тот же многочлен. Видно, что степени элемента
распадаются на непересекающие множества,
которые называются циклотомическими классами. Когда индекс j пробегает циклотомический класс, то
минимальным для всех
является один и тот же
многочлен.
Множество целых чисел по
модулю относительно операции умножения на p распадается на подмножества, которые
называются циклотомическими классами по модулю
.
Циклотомический класс, содержащий s, состоит из чисел
, где
-
наименьшее положительное целое число, такое, что
.
Например, циклотомическими классами по модулю 15 (для p= 2) являются K0 = ={0}; K1 = {1,2,4,8}; K3 = {3,6,12,9}; K5 = {5,10}; K7 = {7,14,13,11}.
Циклотомические классы позволяют вычислить минимальные полиномы с помощью
выражения . Используя введенные определения, можно построить следующую
конструкцию (n, k) кода.
1. Представим кодируемую информацию (сообщение) a(x) старшей частью полинома
.
2. Найдем остаток Rem(x) от деления сообщения a(x)
на минимальный полином :
.
3. Сформируем кодовое слово по правилу
.
Декодирование
принимаемого сигнала можно вести в следующей
последовательности. Подставим
в
и вычислим синдром ошибки S=y(a). Тогда если
, то ошибок в принятом
сигнале нет; если
, то
для
некоторого j. Полином ошибки
.
Следовательно, принимаемый символ
ошибочен и должен быть
исправлен
Пример. Пусть двоичное сообщение имеет вид a = (1,1,0,1,1,0,1,0,0,0,0). Применим
код (15,11). Образуем полином .
Разделим сообщение a(x) на минимальный полином ,
:
,
.
Кодовое слово равно .
Пусть вектор принимаемого
сигнала равен и
. Если a - корень m(x),
то, используя правила сложения в поле GF(24), получим
.
Следовательно, ошибка
произошла на позиции j=
2. Полином ошибки . Символ y2 должен быть исправлен с1 на 0.
Рассмотрим случай, когда
требуется корректировать две ошибки. Минимальный полином m1(x)
элемента a будет иметь
своими корнями также все элементы aj, jÎK1. Использование полинома m1(x)
достаточно для коррекции одной ошибки, но недостаточно для исправления двух
ошибок. Обратимся к коду Хэмминга (15,11), pk = =16, K1={1,2,4,8}. Возьмем элемент поля , которому соответствует минимальный
неприводимый в
полином
.
Элемент a3 является корнем полинома (x5-1). Элементы a и a3 являются
корнями полинома
Если полином сообщения a(x) разделить на m13(x), то для кода с n = 15 получим остаток Rem(x) степени не выше 7:
,
.
В этом случае сообщение
длиной 7 может быть закодировано кодовым словом, , состоящим из 15 символов.
Процесс декодирования
подобен процедуре исправления одной ошибки, но при исправлении двух ошибок
требуется решить квадратное уравнение. Запишем принимаемый сигнал в виде , где y(x) – полином ошибок.
Для рассматриваемого
примера . Ошибки в принимаемом сигнале отсутствуют в том случае, если
или
. Если произошла одна ошибка, то
для различных значений e. В этом случае
и
. Если
в принимаемом сигнале два символа ошибочны, то
для
различных значений e, f, e¹f, при этом
и
.
Определим уравнение , которое имеет два корня
и
, при
этом
,
.
Заметим, что корни уравнения однозначно связаны с координатами eи fошибок. Решение уравнения позволяет определить
местоположение ошибок в декодируемом сигнале. Многочлен в левой части уравнения
может быть найден с использованием синдромов ошибок следующим образом.
Компоненты Si вектора синдромов
и коэффициенты полинома позиций ошибок
связаны соотношениями
;
;
.
По рассмотренным примерам можно сделать обобщение и дать определение кодов Боуза–Чоудхури–Хоквингвема (БЧХ).
2.2. БЧХ-коды
Определение примитивного БЧХ-кода. Пусть -
целые числа, тогда q-ичный
БЧХ-код имеет параметры
. Код формируется
генераторным полиномом
, имеющим корнями примитивный
элемент поля
,
,. Соответственно
, (1)
где - минимальный полином,
соответствующий элементу поля
.
Для в поле
элементы
и
имеют
одинаковые минимальные полиномы, поэтому для двоичного БЧХ-кода:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.