
- •Е. Г. Требина
- •Рецензенты: канд. Техн. Наук, доцент ю. М. Иваненко;
- •Задание на курсовой проект для студентов заочной формы обучения
- •2. Обработка результатов измерения искажений
- •3. Выбор корректирующего кода
- •4. Программное (теоретическое) кодирование и
- •5. Разработка схем кодирующих устройств
- •6. Разработка схем декодирующих устройств
- •7. Порядок выполнения работы
- •6 44046, Г. Омск, пр. Маркса, 35
6. Разработка схем декодирующих устройств
На приемной станции для декодирования и обнаружения ошибок в комбинациях неразделимого циклического кода применяется схема деления многочленов (рис. 5), она состоит из регистра, число ячеек которого также равно степени образующего полинома, и из сумматоров по модулю два. Принцип соединения ячеек регистра с сумматорами тот же, что и в кодирующем устройстве.
В качестве примера на рис. 6 приведена схема декодирующего устройства для полинома g(x) = x3 + x + 1. При поступлении на вход кодовой комбинации, соответствующей многочлену F(x) (начиная с коэффициентов при старших разрядах), после n тактов в ячейках регистра RG2 будет остаток от деления F(x) на g(x), и при подаче импульсов ТИ1 появится сигнал «Ошибка» (логическая единица – при наличии ошибки в комбинации, логический ноль – при отсутствии ошибки). Ошибочная комбинация стирается (подачей сигнала логической единицы с выхода триггера на инверсный вход схемы НЕТ).
Рис. 5. Схема деления многочленов
Рис. 6. Схема декодирующего устройства неразделимого циклического кода
с обнаружением ошибок
Другие варианты декодирующих устройств для того же полинома при k= 4 приведены на рис. 7 9.
Рис. 7. Схема декодирующего устройства разделимого циклического кода
с обнаружением ошибок
В каждом из устройств имеется по два регистра – RG1 и RG2. В регистре RG1 для разделимых кодов (см. рис. 7, 9) число ячеек равно числу информационных элементов k, а для неразделимых кодов (см. рис. 6, 8) – общему числу элементов n.
Регистры RG2 предназначены для деления многочлена и определения ос- татка. Количество сумматоров по модулю два и места установки их те же, что и для схемы, изображенной на рис. 4.
Рис. 8. Схема декодирующего устройства неразделимого циклического кода
с исправлением ошибок
RG1
ТИ1
Вход
1
Выход
&
1
М2
2
3
4
М2
RG2
М2
ТИ2
М2
М2
х0
x1
М2
&
х0
х1
х2
1
1
Рис. 9. Схема декодирующего устройства разделимого циклического кода
с исправлением ошибок
В
В схеме декодирующего устройства неразделимого циклического кода с исправлением ошибок (см. рис. 8) последовательно подается 2n тактов: в течение первых n тактов происходит запись всей комбинации в RG1, в последующие n тактов она поступает на выход с исправлением ошибочного элемента (процесс исправления аналогичен описанному для схемы разделимого кода).
Соединение, показанное на рис. 8 пунктирной линией, не всегда нужно, поэтому формирование схемы следует начинать без учета его наличия, однако если не удается сформировать схему, работающую правильно при трех вариантах приема (без ошибки, с ошибкой в первом и заданном разрядах комбинации циклического кода), то необходимо проверить эти же варианты при наличии соединения.
В схемах, приведенных на рис. 6, 8, поступившие на выход комбинации циклического кода далее должны преобразоваться в комбинации простого кода, а в схемах, изображенных на рис. 7, 9, такое преобразование уже проведено. Таким образом, декодирующие устройства в полном виде для разделимого кода проще, чем для неразделимого.
Места включения инверторов в схемах для исправления ошибок (см. рис. 8, 9) определяются состоянием регистра RG2 в момент поступления ошибочного элемента на верхний вход выходного сумматора по модулю два.
Для исправления ошибочного разряда на нижний вход этого сумматора должен быть подан сигнал логической единицы. Этим и определяется положение инверторов в схеме при потактовом анализе ее работы и подаче на вход комбинации с заранее известным ошибочным разрядом. Рекомендуется ошибочным разрядом для разработки схемы считать старший (первый) разряд комбинации циклического кода. В частном случае, когда на выходе всех ячеек регистра RG2 в момент исправления ошибочного разряда имеется состояние логической единицы, инверторы не нужны.
Пример работы схемы декодирующего устройства разделимого цикли-ческого кода с исправлением ошибок при однократной ошибке в третьем разряде отражен в табл. 6.
Как видно из данных табл. 6, записанное на 9-м такте состояние 001 ячеек RG2 на 10-м такте появляется на их выходах и формирует логическую единицу на нижнем входе выходного сумматора. В результате происходит исправление ошибки и комбинация 1100 на выходе декодирующего устройства соответст-вует исходной (на входе кодирующего устройства).
Таблица 6
Работа декодирующего устройства
Такт |
Вход |
RG1 |
RG2 |
ТИ |
Вход выходного сумматора |
Выход |
1 2 3 4 5 6 7 8 9 10 11 |
1 1 1 0 0 1 0 – – – – |
1000 1100 1110 0111 0111 0111 0111 0011 0001 0000 0000 |
110 101 010 001 110 101 100 010 001 110 011 |
ТИ1 ТИ1 ТИ1 ТИ1 - - - ТИ2 ТИ2 ТИ2 ТИ2 |
– – – – – - – 1 0 1 0 1 1 0 0 |
– – – – – - – 1 1 0 0 |
Следует иметь в виду, что в реальных устройствах предполагаются блочное кодирование и декодирование с количеством элементов в блоке более 100, поэтому реально избыточность кода, определяемая соотношением между количеством информационных и проверочных элементов, значительно меньше, чем по условиям данной работы. Поскольку при блочном кодировании существенно усложняются расчеты, схемы кодирующих и декодирующих устройств, таблицы их функционирования, в работе предусмотрен упрощенный вариант кодирование и декодирование отдельных кодовых комбинаций.