Неразделимые помехоустойчивые коды. Часть 1
При использовании помехоустойчивых блочных кодов передаваемая информационная последовательность разбивается на отдельные блоки (кодовые комбинации) из k информационных элементов. В процессе кодирования к каждой k-элементной комбинации кодирующее устройство прибавляет r дополнительных элементов, соответствующих передаваемой комбинации, которые позволяют при декодировании обнаруживать или исправлять возможные ошибки.
Блочные коды бывают разделимыми и неразделимыми. Разделимыми считаются те, в которых передаваемые элементы по их назначению могут быть разделены на информационные и дополнительные. В противном случае коды являются неразделимыми.
Рассмотрим неразделимые коды с повторением исходной информационной комбинации или ее элементов и коды с постоянным весом, которые относятся к сравнительно простым помехоустойчивым кодам. В данных кодах все разрешенные комбинации содержат одинаковое число ненулевых элементов. Число разрешенных комбинаций такого кода Nр определяется как число сочетаний из n элементов кода по w:
где w — вес кода.
Типичным примером кода с постоянным весом является пятиэлементный код, вес каждой разрешенной комбинации которого равен 2. Из общего числа комбинаций пяти- элементного кода 32 число разрешенных комбинаций составляет 10. Данный код с n = 5 и w = 2 применяется для поразрядного кодирования десятичных чисел от 0 до 9.
Значения кода «2 из 5» для чисел от 0 до 9 приведены в таблице 1.
Таблица 1. Соответствие десятичных чисел и комбинаций кода «2 из 5»
Десятичное число | Код C25 |
7 4 2 1 0 | |
1 | 0 0 0 1 1 |
2 | 0 0 1 0 1 |
3 | 0 0 1 1 0 |
4 | 0 1 0 0 1 |
5 | 0 1 0 1 0 |
6 | 0 1 1 0 0 |
7 | 1 0 0 0 1 |
8 | 1 0 0 1 0 |
9 | 1 0 1 0 0 |
0 | 1 1 0 0 0 |
Код с постоянным весом обнаруживает все ошибки, кроме ошибок четной кратности типа одновременного смещения, когда одна из единиц переходит в нуль, а один из нулей — в единицу. Ошибки при приеме комбинаций кода с весом w обнаруживаются посредством счетчика единиц, коэффициент счета которого равен w. Если по окончании приема комбинации счетчик не вернется в исходное положение, это означает, что принятая комбинация искажена.
Схема формирователя кода с постоянным весом приведена на рис. 1.
Рис. 1. Формирователь кода c постоянным весом
При этом обратную связь с выхода регистра на вход последовательной записи можно исключить. При необходимости по входам параллельной записи можно устанавливать преобразователь двоичного кода в код с постоянным весом. Преобразователь может быть построен на основе постоянного запоминающего устройства или на основе логических элементов по схеме «дешифратор–шифратор».
Пример схемы формирователя кода «2 из 5» с преобразователем на основе логических элементов приведен на рис. 2, где шифратор выполнен на логических элементах ИЛИ.
Рис. 2. Формирователь кода «2 из 5»
Схема декодирующего устройства (восстановителя исходного кода) показана на рис. 3а.
Рис. 3. Декодирующее устройство кода «2 из 5»
Повторная передача каждого из элементов исходной комбинации или комбинации в целом с последующим их сравнением на приемной стороне создает широкие возможности для обнаружения ошибок. В этом случае необнаруживаемые ошибки возникают только в результате одинакового искажения элементов одноименных разрядов обеих кодовых комбинаций. Коды с повторением элементов исходной комбинации целесообразно использовать в условиях воздействия разнесенных помех, а коды с повторением исходной комбинации в целом — в условиях воздействия сосредоточенных помех. Проверка правильности принятого сообщения гораздо проще реализуется при поразрядной последовательной передаче и сравнении элементов одно-именных разрядов обеих комбинаций.
Вместо счетчика в данном устройстве при определенных условиях можно использовать простую схему пик-детектора (рис. 3б). Еще один вариант декодирующего устройства кода «2 из 5», построенного аналогично рис. 3, показан на рис. 4.
Рис. 4. Декодирующее устройство кода «2 из 5»
Формирователь кода с повторением элементов кодовой комбинации может быть построен в соответствии с рис. 5а. Работа формирователя поясняется временными диаграммами сигналов, приведенными на рис. 5б. Схема соответствующего декодирующего устройства показана на рис. 6а. Его работа поясняется временными диаграммами сигналов в характерных точках схемы (рис. 6б), где Q1 и Q2 — соответствующие выходы двухразрядного регистра.
Рис. 5. Формирователь кода с повторением элементов кодовой комбинации
Рис. 6. Декодирующее устройство
Для формирования сигнала Q2n вместо счетчика можно использовать пик-детектор (аналогично рис. 3).
Повышение эффективности кодов с поразрядным повторением элементов исходной комбинации может быть достигнуто введением определенных зависимостей между первым и вторым элементами, например путем инвертирования второго элемента в каждом разряде. При этом каждый элемент первичного кода преобразуется в два элемента: единица преобразуется в 10, а нуль — в 01. В этом случае появление необнаруживаемой ошибки возможно, когда два рядом расположенных сигнала, соответствующих одному элементу первичного кода, будут искажены так, что единица перейдет в нуль, а нуль — в единицу. При этом обнаруживаются все ошибки, вызванные однополярными помехами. Признаком искажения кода будет появление в парных элементах сочетаний 00 или 11. Аналогичным образом формируется код с повторением и инверсией всей исходной комбинации. Схема формирователя кода с повторением и инверсией исходной комбинации показана на рис. 7.
Рис. 7. Формирователь кода с повторением и инверсией исходной комбинации
Соответствующее декодирующее устройство отличается от рис. 3а схемой входной цепи, приведенной на рис. 8. Для формирования сигнала Q2n вместо счетчика также можно использовать пик-детектор.
Рис. 8. Входная цепь декодирующего устройства
Схема формирователя кода с повторением и инверсией элементов кодовой комбинации показана на рис. 9.
Рис. 9. Формирователь кода с повторением и инверсией элементов кодовой комбинации
Декодирующее устройство в данном случае может быть построено в соответствии с рис. 6 после введения инверсии сигнала F. Работа устройства поясняется временными диаграммами сигналов в характерных точках схемы, показанными на рис. 10, где Q1 и Q2 — соответствующие выходы двухразрядного регистра.
Рис. 10. Временные диаграммы сигналов
Характеристика рассмотренных вариантов неразделимых кодов приведена в таблице 2.
Таблица 2. Характеристика вариантов неразделимых кодов
Вид кода с числом k информационных элементов | Обнаружение ошибок | Исправление ошибок | Число дополнительных элементов |
Код с повторением исходной комбинации или ее элементов | Обнаруживаются все ошибки, за исключением одинакового искажения элементов одноименных разрядов обеих кодовых комбинаций | Нет | k |
Код с повторением и инверсией исходной комбинации или ее элементов | Обнаруживаются все ошибки, за исключением разного искажения элементов одноименных разрядов обеих кодовых комбинаций, когда единица перейдет в нуль, а нуль — в единицу | Нет | k |
- Шляпоберский В. И. Основы техники передачи дискретных сообщений. М.: Связь. 1973.
- Ильин В. А. Телеуправление и телеизмерение. Уч. пособие для вузов. М.: Энергоиздат. 1982.
- Кузьмин И. В., Кедрус В. А. Основы теории информации и кодирования. Киев: Вища школа. 1986.
- Потемкин И. С. Функциональные устройства цифровой автоматики. М.: Энергоатомиздат. 1988.