Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кузьмин Теория Информации.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
2.27 Mб
Скачать
    1. Классификация помехоустойчивых кодов

Классификация двоичных помехоустойчивых кодов (как и любая классификация) производится по различным признакам.

Прежде всего, все помехоустойчивые коды можно разделить на два класса: блочные и непрерывные.

При блочном кодировании каждому сообщению ставится в соответствие определенная кодовая комбинация (блок кодовых символов). Множество всех возможных кодовых слов (разрешенных) и составляют блочный код.

Длина блока может быть постоянной или переменной, поэтому различают равномерные и неравномерные блочные коды. Подавляющее большинство помехоустойчивых блочных кодов относится к равномерным кодам.

Блочные коды бывают разделимыми и неразделимыми. К разделимым относятся коды, в кодовых словах которых символы могут быть разделены на информационные (переносящие информацию) и проверочные (использующиеся для обнаружения и устранения ошибок приема). Такие коды обозначаются как (n,k), где n – общее число символов в кодовой комбинации; k – число информационных символов. Число кодовых комбинаций в таком коде не превышает 2k. К неразделимым относятся коды, символы которых нельзя разделить по их назначению на информационные и проверочные. К ним относится, например, код с постоянным весом, в котором каждая кодовая комбинация содержит одинаковое число единиц (код «3» из «7»: три единицы и 4 нуля в любом кодовом слове).

Среди разделимых кодов различают линейные и нелинейные. К линейным разделимым кодам относятся коды, в которых поразрядная сумма по модулю 2 любых кодовых слов также является кодовым словом.

Линейный код называется систематическим, если первые k символов являются информационными, а остальные проверочными. Среди линейных систематических кодов простейшим является код (n, n-1) с проверкой на четность. В таком коде только один проверочный символ. Его значение определяется путем суммирования по модулю 2 информационных символов.

Подклассом линейных кодов являются циклические коды. Они характеризуются тем, что все наборы, образованные циклической перестановкой любой кодовой комбинации, также являются кодовыми комбинациями.

Примером нелинейного кода является код Бергера, в котором проверочные символы представляют собой двоичную запись числа единиц в последовательности информационных символов: 00000; 00101; 01001; 10001; 01110; 10110; 11010; 11111.

Непрерывные коды характеризуются тем, что операции кодирования и декодирования производятся над непрерывными последовательностями символов без разбиения их на блоки. Среди непрерывных кодов наиболее применимы сверточные коды.

Из практики передачи кодированной информации известно, что существуют каналы с независимыми ошибками и каналы с группирующимися ошибками. Соответственно, существуют коды, устраняющие независимые ошибки, и коды, устраняющие блочные ошибки (пакеты ошибок). На практике чаще используются коды, устраняющие независимые ошибки, так как известен ряд достаточно эффективных способов разрушения блочных ошибок (переход к независимым ошибкам).