
- •Глава 1
- •Введение
- •Структура системы передачи цифровой информации
- •Основные понятия и определения
- •1.4 Геометрическая интерпретация кодирования и декодирования
- •Линейные блоковые коды
- •1.6. Таблица декодирования
- •1.7. Предельные возможности блоковых кодов
- •Глава 2 элементы алгебры
- •2.1. Поле
- •2.2 Вычет
- •2.3. Идеал
- •2.4. Корни полинома
- •Глава 3 циклические коды
- •3.1. Построение циклических кодов
- •3.2 Код Хэмминга
- •3.3. Коды бчх
- •Глава 4 схемы кодирования и декодирования циклических кодов
- •4.1. Линейные переключательные схемы
- •4.2 Схемы кодирования для циклических кодов
- •1 2 K2 k1 2 1 Рис. 4.14. Схемы кодирования для кода бчх (15,7)
- •4.3. Декодирование циклических кодов
3.2 Код Хэмминга
Коды Хэмминга являются простейшими циклическими кодами. Они исправляют одиночные ошибки в кодовом слове. Число символов слова кода Хэмминга определяются следующими соотношениями:
(3.10)
Этот
код удобно задавать с помощью проверочной
матрицы Н или
.
Проверочная матрица имеет n
столбцов и r=n-k=m
строк. Все проверки должны быть
линейно-независимыми. Для соотношения
(3.10) это возможно только в том случае,
когда столбцы матрицы Н- все двоичные
m-разрядные
числа. Рассмотренный нами в разделе 3.1
код (7.4) является кодом Хэмминга с
проверочной матрицей
(3.11)
Коды Хэмминга имеют одну любопытную особенность: они допускают наглядное декодирование, в результате которого получается номер ошибочного символа. Для этого надо предварительно переставить строки транспонированной проверочной матрицы так, чтобы двоичные числа в строках шли в порядке возрастания
(3.12)
Такая перестановка не изменяет, естественно, исправляющей способности кода. Однако код перестает быть систематическим . В нашем примере проверочные символы должны занимать в кодовой группе позиции 1, 2, 4, а информационные – 3, 5, 6, 7 (сравни с (3.11). Если в кодовом слове произошла одиночная ошибка, то вектор ошибки Е содержит 1 только на одной позиции
V=U+E
При вычислении синдрома
Получится
та строка матрицы
,
которая соответствует 1 в слове Е. Но
строка матрицы
-это
ее номер в двоичной записи, т.е. синдром
дает номер ошибочного символа.
3.3. Коды бчх
Коды
этого класса впервые были рассмотрены
в работе Хоквингема и в работе Боуза и
Рой-Чоудхури. Обычно сокращенно их
называют коды БЧХ. Это циклические коды,
которые строятся так, чтобы исправлять
некотоое число
ошибок, следовательно, их кодовое
расстояние должно быть не меньше, чем
.
Коды БЧХ находятся через элементы расширения поля Галуа.
В
разделе 2.4 показано, что полином
разлагается на неприводимые многочлены
степени m
и меньше. Но в расширении поля GF(
)
неприводимые многочлены имеют корни,
которые одновременно являются и корнями
полинома
.
Порождающий
полином кода БЧХ должен иметь своими
корнями степени
.
Тогда кодовое расстояние равно d=
+1.
Длина кода составляет n=
,
а число проверочных символов r
Рассмотрим
в качестве примера код БЧХ с
=2
и n=
Число проверочных символов должно удовлетворять соотношению
r
Известен
неприводимый полином
.
Обозначим его корень
.
Корнями этого полинома являются и все
четные степени
(см. раздел 2.4):
Но порождающий полином коды БЧХ должен
иметь своими корнями все степени
от 1 до 4. Следовательно, нужно знать еще
и другой неприводимый полином, корень
которого равен
.
Таким полиномом является
Нетрудно
проверить, что
(mod(
.
Таким образом, если в качестве производящего полинома взять
g(x)=
то
его корнями будут степени
.
В результате перемножения (3.13) находим
g(x)=
Путем циклического сдвига, согласно (3.2), можно получить производящую матрицу кода БЧХ (15,7). Однако удобнее определить приведено-ступенчатую форму производящей матрицы, пользуясь соотношением (3.4):
В
качестве примера найдем первую строку
приведено-ступенчатой формы этого кода.
Для этого надо вычислить остаток от
деления
на g(x)
Аналогично определяют элементы и других строк матрицы
-
14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
G=
Для ориентировки над столбцами матрицы G указаны соответствующие степени х.
Коды БЧХ имеют сравнительно простые схемы кодирования и декодирования и поэтому находят практическое применение.