4. Для кода (7, 4) определить число разрешенных и запрещенных кодовых комбинаций. Получить одну разрешенную кодовую комбинацию путем деления на порождающий полином. Как можно получить другие разрешенные кодовые комбинации? Чему равно кодовое расстояние этого кода. Представить структурную схему кодирующего устройства и таблицу состояний при получении
одной из разрешенных кодовых комбинаций:
а) g (x) = х3 + х + 1; б) g (x) = х3 + +х2 + 1.
5. Перечислить свойства порождающего полинома.
1.3. Лабораторная работа «Декодирование циклических кодов»
1.3.1. Домашние задания и методические указания |
по их |
выполнению |
|
1. Для кода (7, 3) нарисовать структурную схему декодирующего регистра. Составить таблицу состояний схемы при подаче на вход декодирующего регистра кодовой комбинации без ошибок и с ошибками. Указать признаки наличия ошибок, а также их места в кодовой комбинации.
Составить структурную схему декодирующего устройства с обнаружением и исправлением ошибки.
Обнаружение ошибок основано на том, что разрешенная кодовая комбинация делится на порождающий полином без остатка, а запрещенная – с остатком. Деление на порождающий полином, как и при кодировании, осуществляется регистром сдвига с сумматором по модулю два в обратной связи (ключ К1 замкнут всегда, а ключи К2, К3 отсутствуют).
Связи с сумматором по модулю два декодирующего регистра устанавливаются в соответствии с порождающим полиномом, как и в кодирующем устройстве. При делении без остатка все разряды декодирующего устройства в (n + 1)-м такте будут в нулевых состояниях. Наличие хотя бы одного символа «1» на выходах разрядов декодирующего регистра в (n + 1)-м такте свидетельствует о делении входной комбинации с остатком, т.е. о наличии в ней ошибки. Если код позволяет исправить однократную ошибку, то декодирующее устройство должно найти место ошибки, т.е. определить ошибочную позицию в коде. Таблица состояний декодирующего регистра составляется в течение 15 тактов; 8-й такт используется для обнаружения ошибки, а последующие семь тактов (9 – 15-й) – для исправления ошибки, если это возможно, и выдачи кодовой комбинации получателю. На ошибочную позицию и принятой кодовой комбинации указывает состояние 100 ….. 0 декодирующего регистра, то есть все разряды регистра, кроме первого, должны иметь нулевые состояния. При этом первая позиция исправляемой кодовой комбинации соответствует 9-му такту, а последняя – 15-му.
20
Структурная схема декодирующего устройства с обнаружением ошибок содержит декодирующий регистр с сумматором по модулю два, анализатор состояний регистра в 8-м такте и формирователь импульса сброса, сигнал с выхода которого используется для запирания выходного элемента. На второй вход этого элемента подается задержанная с помощью восьмиразрядного регистра входная кодовая комбинация. При наличии сигнала сброса (нулевого уровня) кодовая комбинация не проходит на выход декодирующего устройства, то есть она стирается.
Для кода (7, 3) кодовое расстояние, равное 4, гарантирует обнаружение ошибки кратности, не более 3. В действительности могут быть обнаружены некоторые ошибки большей кратности – те ошибки, которые переводят кодовую комбинацию в запрещенную. Для уточнения кратности обнаруживаемой ошибки надо использовать следующее свойство циклических кодов: сумма по модулю два двух разрешенных кодовых комбинаций дает разрешенную комбинацию. Таким образом, обнаружены будут все ошибки, комбинации которых совпадают с разрешенными кодовыми комбинациями. Для кода (7, 3), называемого кодом с постоянным весом (вес равен 4), обнаруживаются ошибки любой кратности, за исключением некоторых четырехкратных ошибок.
Декодирующее устройство с исправлением ошибки, кроме декодирующего регистра и 8-разрядного регистра задержки, содержит дешифратор комбинации 10….0 и сумматор по модулю два.
Рассматриваемый код (7, 3) имеет кодовое расстояние, равное 4, поэтому для него можно построить декодирующее устройство с исправлением одно- и обнаружением двукратной ошибок. Оно должно содержать оба такта: обнаружения и исправления. Но выходной элемент «И» должен запираться при неисправляемых ошибках, то есть при двукратных ошибках. Здесь следует учесть, что при двукратной ошибке вес принятой кодовой комбинации будет четным, а при однократной – нечетным. Определение четной кратности ошибки осуществляется с помощью триггера четности – RS-триггера, в котором подсчитывается число «1» в принятой кодовой комбинации. При четном числе «1» на выходе триггера четности формируется уровень «ЛОГ 1», который разрешает формирование импульса сброса и принятая кодовая комбинация стирается. При нечетном числе «1» (при однократной ошибке) импульс сброса не формируется и работает только тракт исправления ошибки. Здесь следует отметить, что в таком устройстве обнаруживаются все ошибки четной кратности за исключением некоторых четырехкратных ошибок. Исправляются только однократные ошибки, а остальные ошибки нечетной кратности приводят к не обнаруживаемой ошибке так же, как и четырехкратные ошибки, комбинации которых совпадают с разрешенными.
Структурная схема декодирующего устройства с обнаружением и исправлением ошибки представлена на рис. 1.5.
21
ТИ Уст. “0” |
Импульс опроса в 8-м такте |
|
Триггер четности |
|
И |
C |
T |
|
R |
|
RG 1
Do |
2 |
|
|
|
|
|
|
И-НЕ |
И |
|
|
C |
T |
|
||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||
C |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
R |
4 |
|
|
|
|
|
|
|
|
Сигнал |
|
|
|
|
|
|
R |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
наличия |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
ошибки |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Устройство обнаружения |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
ошибки |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M2
Сигнал исправлен.
И |
|
И |
|
M2
RG 1
Do 2
C |
: |
Дешифратор 1000 |
:Устройство исправления ошибки
Вход |
Выход |
Рис. 1.5. Декодирующее устройство с обнаружением
иисправлением ошибки для кода (7,3)
2.Для кода, заданного для домашних лабораторных заданий предыдущей лабораторной работы, определить возможные виды декодирования, для каждого вида указать кратность корректируемых ошибок (в том числе больше гарантированной кодовым расстоянием).
Нарисовать структурную схему декодирующего регистра. Составить таблицы состояний при подаче на вход декодирующего регистра кодовой комбинации без ошибок и с ошибками (ошибка – однократная, ее позиция указана в предпоследнем столбце таблицы вариантов (табл. 1.2)).
При выполнении этого задания следует иметь в виду, что декодирование возможно следующих видов:
22
а) декодирование с обнаружением ошибки, при котором гарантируется обнаружение ошибок, кратность о которых меньше кодового расстояния d:
о d –1;
б) декодирование с исправлением ошибок, при котором гарантируется исправление ошибок, кратность и которых меньше d/2, и < d/2;
в) декодирование с обнаружением ошибок кратности о и исправлением ошибок кратности и, о > и. В этом случае связь кратностей корректируемых ошибок с кодовым расстоянием устанавливается соотношением:
о + и + 1 = d .
Кроме ошибок рассмотренных кратностей могут корректироваться некоторые ошибки большей кратности. Например, в декодере с обнаружением ошибок обнаруживаются все ошибки, которые переводят переданную разрешенную кодовую комбинацию в запрещенную. Таким образом можно обнаружить все ошибки, кратность которых отлична от весов разрешенных кодовых комбинаций, и некоторые ошибки, кратности которых совпадают с ними.
Таблицу состояний декодирующего регистра составлять в течение 15-ти тактов (для кода (7, 6) в течение 8 тактов).
3.Составить структурные схемы декодирующих устройств двух видов: с обнаружением ошибки, с исправлением. При коде (7, 6) составить два варианта декодирующего устройства с обнаружением ошибки: на основе регистра сдвига
ссумматором по модулю два и на основе триггера четности – RS-триггера со счетным входом.
При выполнении этого задания следует обратиться к методическим указаниям к первому заданию.
4.Составить функциональную схему декодирующего устройства вида, указанного в последнем столбце таблицы вариантов (табл. 1.2).
Представить эпюры напряжений в точках: вход декодирующего устройства (кодовая комбинация с одной ошибкой), выходы декодирующего регистра, выход 8-разрядного регистра и др. Эпюры должны подтверждать правильность работы схемы.
Функциональная схема декодирующего устройства составляется с использованием элементов, представленных на рис. 1.3. Для декодирующего устройства с обнаружением ошибок анализатор состояний декодирующего регистра в 8-м такте рекомендуется строить на последовательно соединенных элементах И-НЕ с r входами (к ним подключаются инвертированные выходы разрядов регистра) и элемента 2И-НЕ, на второй вход которого подается импульс опроса ИО в 8-м такте (ИО наблюдается в КТ9).
Импульс опроса имеет уровень ЛОГ «1», и на выходе элементов 2И-НЕ в течение всех тактов кроме 8-го, будет действовать уровень ЛОГ «1», а в восьмом такте может появиться уровень ЛОГ «0» при наличии ошибок в кодовой комбинации. Длительность импульса на выходе этого элемента определяется длительностью ИО. В качестве устройства формирования импульса сброса можно использовать RS-триггер со счетным входом. Триггер в начальный мо-
23
мент устанавливается в единичное состояние с помощью сигнала «Уст. 0», благодаря чему следующий за ним элемент И открыт. Сигнал с выхода элемента 2И-НЕ подается на счетный (тактовый) вход триггера и при наличии ошибки по переднему фронту (отрицательному перепаду) импульса на этом входе происходит переход триггера в нулевое состояние, которое закрывает последующий элемент И. Последний элемент И должен иметь три входа: первый вход подключен к выходу RS-триггера, второй – к выходу разрядного регистра задержки, а на третий вход подается сигнал переключения СП для выделения информационных символов, которые должны поступать к получателю информации (проверочные символы не передаются, так как они используются только для коррекции ошибок).
В декодирующем устройстве с исправлением ошибок дешифратор рекомендуется реализовать на элементе «И» с r входами, на один из входов подается сигнал с выхода первого разряда регистра, а на остальные – инвертированные сигналы других разрядов. В этом случае на выходе элемента будет действовать уровень ЛОГ «1» при состоянии регистра 10 …. 0, а при остальных состояниях – уровень ЛОГ «0». Таким образом, на выходе этого элемента появится символ «1» в той позиции кодовой комбинации (задержанной на 8 тактов), в которой произошла ошибка. Суммирование этого сигнала с задержанной на 8 тактов кодовой комбинацией осуществляется в сумматоре по модулю два. На его выходе, который является выходом декодирующего устройства с исправлением ошибки, формируется исправленная кодовая комбинация. Здесь следует обратить внимание на задержку декодирования и выдачи информации получателю не менее, чем на длину кодовой комбинации. При построении эпюр напряжений в качестве управляющих сигналов в схеме следует взять сигналы, представленные на рис. 1.4 , а на вход декодирующего устройства подать кодовую комбинацию с ошибкой в символе, номер которого указан в таблице вариантов.
Подобный триггер иногда называют триггером четности, поскольку его выходное напряжение зависит от того, четное или нечетное число «1» в принятой кодовой комбинации. Этот триггер перед началом работы должен устанавливаться в одно из состояний по сигналу «Уст. 0». В лабораторном стенде такой сигнал подается на R вход триггера, поэтому его прямой выход устанавливается в нулевое состояние, а инверсный – в единичное. Триггер должен срабатывать от каждого из единичных импульсов независимо от порядка их следования. Для этого перед подачей на тактовый вход триггера кодовая комбинация должна пройти через элемент И (можно И-НЕ), в котором осуществляется ее перемножение с тактовыми импульсами, в результате чего продолжительность единичных импульсов уменьшается вдвое, и следующие подряд единичные импульсы будут восприниматься триггером раздельно. В остальном декодирующее устройство с обнаружением ошибок строится аналогично тому, как это описано выше.
24