Глава 14. Коды, полученные путем модификации и сочетания других кодов
Во многих прикладных вопросах возникают специфические дополнительные ограничения на коды. Например, может оказаться, что блоковая длина
или число информационных символов к должны иметь некоторые частные значения, отличные от тех, которые получены при построении кода. Хотя с точки зрения кодовика-теоретика ограничения подобного рода представляются излишне жесткими и нелогичными, не всегда удается от них избавиться. Эти ограничения могут быть учтены в некоторых других частях системы связи, но иногда легче изменить модель кода, чем переконструировать другие блоки системы.
На рис. 14.1 представлены шесть основных способов модификации кодов. Добавляя проверочные или информационные символы, можно увеличить блоковую длину кода, а опуская информационные или проверочные символы, можно ее уменьшить; можно также при фиксированной блоковой длине увеличивать или уменьшать число слов кода. Для этих шести основных типов преобразований кода мы будем соответственно использовать термины:
-удлинение,
-удлинение,
-укорочение,
-укорочение, расширение, сужение
Эти преобразования кодов описаны в литературе, но, к сожалению, использование соответствующих терминов не во всех работах одинаково. Так, Казами,
и Питерсон используют термин «модификация» там, где Соломон и Стиффлер используют термин
-укорочение». Мы предпочитаем использовать термин «модификация» в качестве общего для всех шести преобразований.
14.1. 1-удлинение кода (добавление проверочных символов)
Любой код может быть удлинен путем добавления проверочных символов, причем минимальный вес удлиненного кода не увеличится, если не позаботиться о хорошем выборе дополнительных проверочных символов. Добавление общей проверки на четность — наиболее распространенный метод
-удлинения кода, переводящий исходный
![](/php/imageBook.php?path=/home/admin/sites/scask.ru/wp-content/uploads/2023/01/files-754.book&file=acod_77.files/page1.gif)
(кликните для просмотра скана)
код с блоковой длиной
в новый код с блоковой длиной
. В двоичном случае вес каждого слова такого кода есть четное число. Если исходный линейный двоичный код имел нечетный вес, то при
-удлинении кодовое расстояние возрастает. Пусть
слово исходного кода. Тогда остаток от деления этого многочлена на
равен
а
-удлинение кода равносильно добавлению одного символа, равного
В некоторых случаях целесообразно дальнейшее
-удлинение кода путем добавления дополнительных символов, равных остатку от деления слов исходного кода на некоторый данный многочлен. Например, Андрианов и Сасковец [1966] обнаружили, что двоичный циклический БЧХ-код с блоковой длиной
и конструктивным расстоянием Сможет быть путем многократного
-удлинения преобразован в код с блоковой длиной
После передачи исходного кодового слова передается остаток от деления этого слова на
а затем остаток от деления исходного слова на
Такой
-удлиненный код имеет минимальное расстояние
так как любая конфигурация ошибок с весом не более, чем
может быть исправлена с помощью следующей процедуры.
Сначала декодер пытается декодировать первые
символов, не обращая внимания на остальные
символов. Если среди них искажено не более чем
то попытка заканчивается успехом и остальные символы (возможно и искаженные) игнорируются. Если среди первых
символов искажено точно
то начальное декодирование приводит к отказу. Декодер предполагает, что последние
символов приняты правильно, и по этим символам определяет
-сумму
степеней локаторов ошибок для первых
позиций. Используя эту дополнительную информацию, декодер может исправить любые
ошибок в канале с помощью одного из прямых методов, описанных в гл. 7 и 10.