2.2.3.1.  Классификация помехоустойчивых кодов

В настоящее время существует ряд разновидностей помехоустой­чивых кодов, обеспечивающих высокую достоверность при малой величине избыточности и простоте технической реализации кодирующих и декодирующих устройств (рис. 2.4).

Блочными кодами называют такие коды, в которых каждому сообщению ставится в соответствие блок из n символов. Блочный код называется равно­мерным, если число символов  постоянно  для  всех  сообщений.  В  противном случае код считается неравномерным.

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

Блочные коды называются разделимыми, если проверочные символы в них размещаются на заранее известных позициях кодового слова. Такие коды иногда обозначают буквами (n, n0), где n – длина блока, a n0 – число информационных символов в блоке. Благодаря простоте выделения информационной части блочные разделимые коды получили наибольшее распространение. В неразделимых кодах раз­деление информационной и проверочной части невозможно, что затрудняет декодирование, особенно при необходимости исправления ошибок. К таким кодам относятся коды с постоянным весом и некото­рые другие.

Разделимые коды делятся на систематические и несистематические. Систематические коды характеризуются тем, что сумма по модулю 2 двух разрешенных комбинаций дает комбинацию того же кода. Процессы кодирования и декодирования в систематических кодах  сводятся к подсчету сумм по модулю 2 информационных и провероч­ных символов в различных сочетаниях.

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

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

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