- •5.3. Математические основы теории помехоустойчивого кодирования
- •5.3.1. Краткие сведения из теории чисел
- •4. Если и , то .
- •5.3.4. Векторное пространство
- •5.4.2. Параметры линейного кода
- •5.4.4. Циклические коды и корни полиномов
- •1. Порождающий полином неприводим и примитивен, а длина кода . Коды таких длин называют примитивными независимо от вида порождающего полинома.
- •5.4.5. Спектральное описание циклических кодов
- •5.5.2. Принципы декодирования кодов бчх
- •5.5.3. Методы реализации этапов декодирования кодов бчх
- •5.6.2. Обнаружение и исправление пакетов ошибок
- •5.7.3. Связь между блочными кодами
5.7.3. Связь между блочными кодами
Обобщим вопросы кодирования, изложенные в предыдущих разделах, и поясним связи между некоторыми из рассмотренных кодов, схематично показанные на рис. 5.6. В прямоугольниках указаны длины , размерности , кодовые расстояния , обозначены порождающие и проверочные матрицы анализируемых кодов. Стрелками указаны операции, с помощью которых можно от одного кода перейти к другому. Эти операции можно рассматривать как способы построения новых кодов из заданных. Перечислим некоторые из таких способов.
Расширение кода означает добавление к кодовому слову проверочного символа, равного сумме всех символов преобразуемого кодового слова. Новый проверочный символ есть общая проверка на четкость. В результате все слова имеют четное число единиц, и кодовое расстояние увеличивается на единицу, если оно были нечетным числом. При четном кодовом расстоянии расширение не увеличивает кодового расстояния, так как для векторов с минимальным четным весом общая проверка на четность равна 0, и вес расширенного вектора не изменяется.
Проверочная матрица расширенного кода Хэмминга образуется путем введения в матрицу исходного кода нулевого столбца и строки из единиц:
. |
|
Выкалывание символов является операцией, обратной расширению.
Удлинение кода означает добавление в базис кода вектора и выполнение операции расширения. Порождающая матрица удлиненного кода может быть записана в виде:
. |
|
Увеличение числа векторов в базисе означает увеличение размерности кода на 1, а добавление единичного вектора – включение в код дополнительно всех инверсий кодовых слов, что, конечно, не может увеличить минимального расстояния. Понятно, что если кодовое расстояние исходного кода было четным, то в результате удлинения оно не изменится.
Укорочение кода – операция обратная удлинению. Она состоит в выборе из кода тех слов, у которых первый символ равен 0, и последующему исключения этого равного для всех слов символа.
Из рис.5.6 видно, что расширенный код Хэмминга и код Рида-Маллера, а также код Хэмминга и симплексный код дуальны, так как проверочные матрицы первых кодов в каждой паре являются порождающими для вторых и наоборот.
При замене двоичных символов 0 на (+1), а 1 на (–1) совокупность слов Рида-Маллера преобразуется в множество биортогональных сигналов, включающее все функции Уолша и противоположные им. Если при замене двоичных символов ограничиться подпространством кода Рида-Маллера при , то получим множества ортогональных сигналов. Применение указанной замены двоичных символов на (+1) и (–1) в ненулевых словах симплексного кода дает -последовательности разных сдвигов.