Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Передача дискретных сообщений...doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.25 Mб
Скачать

Тема 4. Кодирование дискретных сообщений.

Корректирующие или избыточные коды. Классификация кодов.

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

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

Поясним сказанное примером: Будем использовать для передачи информа­ции четырехразрядные кодовые комбинации, отличающиеся друг от друга не ме­нее чем двумя разрядами. Таких комбинаций восемь: 0011, 0110, 1001, 1010, 1100, 1111, 0101, 0000. Пусть при передаче любой из этих комбинаций (например, 0011) произошла одиночная ошибка, в результате чего исказился первый раз­ряд, и принята комбинация 1011. Эта комбинация является неразрешенной, что

свидетельствует о наличии в ней ошибки.

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

Этот же код можно использовать и для исправления одиночных ошибок. Пусть, например, принята комбинация 1011. Эта комбинация отличается от раз­решенной комбинации 0011 одним разрядом, а от другой разрешенной 1100 — тремя. Таким образом, принятая комбинация «ближе» к комбинации 0011, чем к комбинации 1100, что и дает основание считать, что была передана комбина­ция 0011.

Легко видеть, что повышенная помехоустойчивость двух рас­смотренных кодов связана с имеющейся в них избыточностью. Если четырехразрядным обыкновенным кодом можно было передать 16 комбинаций, то корректи­рующим кодом с обнаружени­ем одиночной ошибки — 8 ком­бинаций, а кодом с исправле­нием одиночной ошибки — только 2 комбинации. Та­ким образом, повышение по­мехоустойчивости потребовало введения дополнительного раз­ряда. Второй код обладает еще большей помехоустойчивостью, и это потребовало еще боль­шей избыточности — трех до­полнительных разрядов.

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

В связи с этим в дальнейшем будем рассматривать лишь двоичные равномерные корректирующие коды, которые делятся на два класса — блочные и непрерывные (рис. 9).

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

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

Блочные коды, в свою очередь, делятся на разделимые и нераз­делимые. Разделимыми называются коды, в которых роль разря­дов, входящих в состав блока, разграничена: одни разряды явля­ются информационными, другие — проверочными. Последние и вно­сят в код избыточность, необходимую для обнаружения или ис­правления ошибок. В разделимых кодах информационные и про­верочные разряды занимают всегда одни и те же позиции в кодо­вой комбинации. Разделимые коды обозначаются как (п, k) -коды, где п — длина или число разрядов кода; k — число информацион­ных разрядов.

Неразделимые коды образуют в настоящее время немногочисленную группу. К ним, в частности, относится рекомен­дованный МККТТ стандартный телеграфный код № 3 — семираз­рядный код, каждая кодовая комбинация которого содержит три единицы и четыре нуля.

Среди разделимых кодов различают коды систематические и несистематические. Систематическими называются такие блочные разделимые (п, k ) -коды, в которых проверочные разряды представ­ляют собой линейные комбинации информационных. Систематиче­ские коды образуют обширную группу кодов и очень широко при­меняются на практике. Поэтому в дальнейшем наибольшее внима­ние будет уделено именно систематическим кодам и, в частности, их наиболее известным разновидностям: кодам Хэмминга и цик­лическим кодам.

Число разрядов, которыми различаются две кодовые комбина­ции, называется кодовым расстоянием между двумя комбинация­ми. Так, кодовое расстояние между комбинациями 01011 и 00010 равно 3, поскольку они различаются тремя разрядами — первым, вторым и пятым. Наименьшее из кодовых расстояний в коде на­зывается минимальным кодовым или хэмминговым расстоянием d0. Так, в трехразрядном коде с разрешенными комбинациями 101, 110, 011, 000 минимальное кодовое расстояние равно двум, для простых кодов оно равно единице. Код Хемминга исправляет одну единственную ошибку. Длина блока кодов удовлетворяет соотношению n = 2 ( n – k) – 1, где n – k количество проверочных символов. Например, при n – k =3 получаем код (7,4).

Рисунок 9 – Классификация кодов

Применение кодов 2/5 или 3/5.

Если информация содержит только цифры, то из 32 комбина­ций пятиэлементного кода можно выбрать 10 комбинаций, содер­жащих по две единицы и по три нуля (обозначим это условно кодом 2/5) или же по три единицы и по два нуля (3/5). Приме­ром для первого кода будут комбинации 11000, 10100, 01001 и т. д., а для второго кода — комбинации 10101, 00111, 11001 и т. д.

Указанные признаки можно использовать для. обнаружения ошибки. Действительно, если передавалась комбинация 10100, а принята комбинация 10000, то анализирующее устройство в при­емнике обнаружит ошибку. Правда, при двойном искажении комбинации, например, при получении 10001 или 10010, ошибка не будет обнаружена. Но двойные ошибки случаются значительно реже одиночных, вследствие чего эта система связи обеспечивает более высокую достоверность.

К сожалению, в действующем коде № 2 некоторым цифрам присвоены комбинации, не отвечающие требованиям кода 2/5 или 3/5. Для реализации системы нужны кодопреобразователи, что усложняет аппаратуру. Циклические коды – все операции сводятся к умножению и делению кодовых комбинаций. Пятиэлементная комбинация 11001 представляется многочленом:

F(x) = 1х4+ 1х3+0х2+0х1+1х0