Общие сведения
Как известно, для передачи информации ее представляют в форме сообщения, например текста. При этом сообщение формируется из некоторого набора символов (букв). Набор символов, из которого формируется сообщение, называется первичным алфавитом. Первичный алфавит обычно содержит большое число символов, например, в русском языке первичный алфавит составляет 33 символа (буквы). При передаче сообщения на него воздействуют помехи, что приводит к изменению символов сообщения, а поскольку количество символов сравнительно большое и вероятность появления их одинакова, то восстановить исходное сообщение довольно сложно. Поэтому осуществляют переход от первичного алфавита с большим количеством символов к вторичному алфавиту с малым числом символов. Так как количество символов вторичного алфавита меньше, то и восстановить исходное сообщение становится легче. Таким образом, можно сказать, что, вторичный алфавит это набор символов, с помощью которого осуществляется отображение символов первичного алфавита. Процесс перехода от первичного алфавита к его вторичному отображению называется кодированием. Набор элементов и правило, в соответствии с которым осуществляется переход от первичного алфавита ко вторичному отображению называется кодом. В процессе кодирования каждому символу первичного алфавита соответствует некоторый набор символов вторичного алфавита. Последовательность символов вторичного алфавита соответствующая одному символу первичного алфавита называется кодовой комбинацией. Для того чтобы правильно восстановить закодированное исходное сообщение необходимо, чтобы кодовые комбинации различных символов первичного алфавита не повторялись.
Основными задачами кодированияявляются повышение помехоустойчивости передаваемых сообщений, удаление избыточности из закодированных сообщений и защита информации от несанкционированного доступа (постороннего прослушивания).
Автоматическое кодирование осуществляется в устройстве называемом кодером, а обратный процесс декодирование происходит в декодере. Устройство, объединяющее кодер и декодер называется кодек.
Система передачи сообщений с кодированием представлена на рисунке 1.
Источник сообщения (ИС) формирует сообщение, которое преобразуется в сигнал в преобразователе сообщения в сигнал (ПСС1). Аналоговый сигнал из ПСС1 поступает в аналого-цифровой преобразователь (АЦП) где аналоговый сигнал преобразуется в цифровой. Цифровой сигнал поступает в кодер источника. В кодере источника из закодированного сообщения удаляют избыточность, что позволяет увеличить скорость передачи информации в канале. Полученная на выходе кодера кодовая последовательность Аi поступает в кодер канала. В кодере канала осуществляется кодирование с целью повышения помехоустойчивости сигнала. Для этого кодирования используются корректирующие (помехоустойчивые) коды. Полученная в кодере канала последовательность Bip поступает в канал связи. Под действием помех N(t), воздействующих в канале возможны искажения принимаемого сигнала, проявляющиеся в изменении элементов кодовой последовательности. Принимаемая из канала последовательность Bip’ поступает в кодер канал. В нем осуществляется декодирование и исправление (коррекция) ошибок. Полученная на выходе последовательность Ai’ поступает в декодер источника, в котором восстанавливается избыточность закодированного сообщения. Затем сигнал поступает в цифро-аналоговый преобразователь (ЦАП), где осуществляется преобразование цифрового сигнала в аналоговый. Затем сигнал поступает в преобразователь сигнала в сообщение (ПСС2), где он преобразуется в форму удобную для получателя. Полученное сообщение воспринимается получателем (ПС).
Параметры кодов
Основание кода (m) — соответствует количеству элементов, из которых состоит вторичный алфавит, соответствует системе счисления. Например в двоичном коде символы могут принимать два значения «0» и «1» или «.» и «-».
Разрядность кодовой комбинации (n) — соответствует количеству элементов, из которых состоит кодовая комбинация. Например, для кодовой комбинации 100110 разрядность составляет 6.
Емкость кода (N0) — соответствует количеству возможных кодовых комбинаций при заданном основании и разрядности:
N0 = mn.
Данный показатель применяют к равномерным кодам.
Количество сообщений, которые необходимо закодировать Nа — соответствует количеству символов первичного алфавита. Например для русского алфавита Nа = 33.
Для корректирующих кодов вводятся следующие параметры.
Вес кодовой комбинации (W) — соответствует количеству ненулевых элементов в кодовой комбинации. Например, для кодовой комбинации 11011 вес равен W = 4.
Расстояние Хэмминга (dij) — показывает, на сколько разрядов одна кодовая комбинация отличается от другой. Данный параметр определяется как вес кодовой комбинации полученной в результате сложения по модулю два двух рассматриваемых комбинаций
Кодовое расстояние (d0) — это наименьшее расстояние Хэмминга для заданного кода. Для его определения d0 производится определение расстояния Хэмминга для всех возможных пар кодовых комбинаций кода, после чего выбирается наименьшее. Например, для кода состоящего из трех кодовых комбинаций 100101, 011010, 100011 кодовое расстояние будет равно
Относительная скорость кода (Rк) — показывает относительное число разрешенных комбинаций кода.
Rк = log2Na/log2N0.
Избыточность кода (cк) — показывает относительное число запрещенных комбинации кода.
cк = 1 – Rк.
Корректирующая способность кода — определяется кратностями обнаруживаемых (qо ош) и исправляемых (qи ош) ошибок, под которыми понимают гарантированное число обнаруживаемых и исправляемых ошибок в кодовых комбинациях кодом. Например, если qо ош = 1, то код способен обнаружить ошибку в любом разряде принятой комбинации, при условии, что она одна, а если qи ош = 1 то код способен исправить одну ошибку в любом разряде принятой комбинации, при условии, что она одна.
Классификация кодов
Общая классификация кодов представлена схемой (рисунок 2).
Двоичные — это коды, основание которых равно двум (m=2), примерами таких кодов может являться код Морзе, линейный двоичный код.
Многопозиционные — это коды, основание которых больше двух (m>2).
Равномерные — это коды, все кодовые комбинации которых имеют одинаковую разрядность (n=const), примерами таких кодов могут являться циклические коды, МТК-3.
Неравномерные — это коды, кодовые комбинации которых имеют различную разрядность (n?const), примерами таких кодов могут являться код Шеннона-Фано, код Хафмена, код Морзе.
Простые — это коды, в которых все возможные кодовые комбинации используются для передачи сообщения (N0=Na). Такие коды не обладают способностью обнаруживать и исправлять ошибки в кодовых комбинациях.
Избыточные — это коды, в которых часть кодовых комбинаций используется для передачи сообщений (разрешенные комбинации), а остальные комбинации не используется для передачи сообщений (запрещенные комбинации), т. е. у таких кодов N0>Na. Такие коды способны обнаруживать и исправлять ошибки в кодовых комбинациях.
Последовательные — это коды, разряды кодовых комбинаций которых передаются последовательно друг за другом. Такие коды используются для передачи сообщений в каналы связи (код Морзе, МТК-3, HDB-3).
Параллельные — это коды, разряды кодовых комбинаций которых передаются одновременно. Такие коды используются в микропроцессорной технике, а также к ним можно отнести многочастотные коды, используемые в координатных АТС.