Задачи.
Пусть
циклический код задаётся порождающим
многочленом
.
Найдите проверочный многочлен, порождающую
и проверочную матрицы. Определите вес
кода.
1.
.
2.
.
2.4. Бчх-коды
В
этом параграфе мы рассмотрим самую
простую конструкцию БЧХ-кода. Допустим,
мы хотим построить код с минимальным
расстоянием не менее
.
Нам потребуется следующий факт из
линейной алгебры.
Предложение
1.
Если
– элементы некоторого поля, то
.
Определение
1.
Определитель
,
указанный в предложении 1, называется
определителем Вандермонда.
Если
все элементы
различны, то определитель Вандермонда
отличен от нуля.
Теорема
1.
Пусть
число
такое, что
,
где
.
Пусть
– примитивный элемент. Пусть
– минимальный многочлен для
,
– минимальный многочлен для
и т.д. Рассмотрим циклический код с
порождающим многочленом
.
Если
,
а
,
то мы получим
-код
с минимальным расстоянием не менее
.
Доказательство.
Заметим, что
,
т.к.
и
.
Многочлен
– многочлен наименьшей степени с корнями
.
Поэтому, если
– кодовый многочлен, то
,
где
.
Мы хотим показать, что любой многочлен
с корнями
имеет не менее
ненулевых коэффициентов.
Допустим противное. Пусть многочлен

имеет
своими корнями
.
Тогда выполняются равенства
.
Матрица этой системы имеет вид
.
Её
определитель
есть произведение
на определитель Вандермонда, и поэтому
.
Отсюда
.
Теорема доказана.
Определение 2. Код, описанный в теореме 1, называется БЧХ-кодом.
БЧХ-коды были введены Боузом и Чоудхури в 1959 г. и Хоквингемом в 1960 г. Они используются в течение многих лет в европейских и трансатлантических информационных системах связи. Сообщения в них имеют длину 231, а порождающий многочлен имеет степень 24, так что длина кодовых слов равна 231 + 24 = 255 =28 – 1. Этот код обнаруживает, по меньшей мере, 6 ошибок, и вероятность неправильного декодирования – одна 16-миллионная.
Теорема
2.
В
условиях теоремы 1 слово
является кодовым
,
где
.
Доказательство.
Если слово
– кодовое, то многочлен
делится на
и поэтому элементы
являются его корнями. Поскольку
есть произведение
-й
строки матрицы
на вектор
,
то необходимость доказана.
Обратно,
пусть
.
Тогда элементы
являются корнями многочлена
,
но многочлен
– многочлен наименьшей степени с этими
же корнями. Поэтому
делится на
и, значит, слово
является кодовым.
Теорема доказана.
В
действительности матрицу
можно несколько упростить, выбросив из
неё несколько «лишних» строк. Поскольку
мы рассматриваем поля только характеристики
2, то
.
Поэтому, если элемент
является корнем многочлена
,
то элементы
также являются корнями этого многочлена.
Следовательно, строчки матрицы
с номерами 2, 4, 8 и т.д. можно удалить.
Точно также, оставив 3-ю строку матрицы
,
можно удалить 6-ю, 12-ю и т.д.
Процедуру декодирования БЧХ-кода рассмотрим на следующем примере.
Пример
1.
Возьмём в теореме 1
.
Тогда
.
В качестве
рассмотрим
,
и возьмём
как примитивный элемент этого поля.
Многочлен
будет минимальным многочленом для
элементов
.
Для
минимальным многочленом будет
.
Поэтому порождающим многочленом БЧХ-кода
будет
.
Следовательно,
.
Получаем
-код,
исправляющий 2 ошибки. В матрице
из теоремы 2 можно оставить только 1-ю и
3-ю строчки по соображениям, изложенным
после этой теоремы. Если на вход поступило
слово
,
то результат произведения 1-й строки на
,
обозначим
,
а результат произведения
на оставшуюся 3-ю строку обозначим
.
Для
удобства счёта разложим степени элемента
в поле
по базису
.
|
1 = 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Допустим,
на приём поступила последовательность
.
Стоит задача исправить ошибки в этом
слове. Тогда
.
Далее,
.
Если
и
– степени элемента
,
соответствующие номерам координат, в
которых допущены ошибки (например, если
ошибки допущены в 3-й и 10-й позициях, то
),
то
,
.
Для нахождения
и
получаем систему уравнений

Поскольку
,
то
.
Таким
образом,
и
являются корнями квадратного уравнения
.
Подбором
находим корни
.
Значит, вектор
имеет ошибки во 2-й и в 12-й позициях. После
исправления получим вектор
.
Ещё
один пример:
.
.
Учитывая
предыдущие вычисления,
.
Тогда
,
.
Поэтому
.
Но уравнение

решений
не имеет! Это говорит о том, что ближайшее
кодовое слово отстоит от вектора
на расстоянии, бóльшем, чем 2, и мы не
сможем его декодировать.














