Все коды можно разделить на 2 класса:
1) Простые (примитивные) – для передачи сообщений используются все возможные комбинации. Не вносят избыточности, поэтому не являются помехоустойчивыми.
2) Избыточные (корректирующие, помехоустойчивые) – используют лишь определенную разрешенную часть всех возможных комбинаций. Оставшаяся часть используется для обнаружения и/или исправления ошибок, возникающих при передаче сообщений.
Простые коды разделяют на:
а) равномерные – все кодовые комбинации (КК) имеют одинаковое число разрядов (n=const);
б) неравномерные – КК состоят из разного числа разрядов (n=var).
Коды также классифицируются по основанию кода m или числу различных используемых в нем символов:
- двоичные;
- многопозиционные.
Корректирующие коды делятся на блоковые, непрерывные и составные:
(1) Блоковые коды – коды, в которых последовательность элементарных сообщений источника разбивается на отрезки, и каждый из них преобразуется в определенную последовательность (блок) кодовых символов {bi}, называемую иногда кодовой комбинацией bi, где {i=1,2,3,…,М}. Блоковые коды в свою очередь делятся на:
1_ Линейные блоковые коды (ЛБК) - блоковый равномерный код, у которого множество (набор) разрешенных комбинаций образует подпространство, входящее в пространство всех возможных комбинаций данного кода. Это означает, что любая линейная комбинация (>2) есть также разрешенная комбинация.
Всякий линейный код м/б представлен в системной форме: А=(а0, а1, а2,…,аk-1, r10,…,rn-1), где k – количество информационных символов, (n-k) – проверочные символы.
2_ Нелинейные коды – применяются значительно реже. Различают:
а) двоичные циклические коды;
б) m-ичные циклические коды.
3_ Простые с корректирующим бывают:
а) Разделимые коды – коды, в которых определенные разряды КК отводятся для информационных и проверочных символов. Обозначаются как (n,k)-коды, где n – число разрядов КК, k – число разрядов, отводимых для информационных символов.
б) Неразделимые коды – не имеют четкого разделения КК на информационные и проверочные символы. Пример: код 7-10 (МТК №3).
(2) Непрерывныве коды – последовательность символов простого кода преобразуестя по определенному алгоритму в непрерывную последовательность, содержащую как информационные, так и проверочные символы. Здесть процесс кодирования и декодирования носит непрерывный характер.
(3) Составные коды – коды, при формировании КК которых применяется 2 и более методов кодирования.