- •Лабораторная работа № 101 построение и реализация эффективных кодов
- •1.1. Указания к построению кодов
- •1.2. Программные и технические средства реализации
- •1.3. Описание программного обеспечения и технической реализации эффективных кодов
- •Технической реализации эффективных кодов
- •Технической реализации эффективных кодов
- •Задание
- •Требования к отчету
- •Контрольные вопросы
- •2.2. Составление таблицы опознавателей
- •2.3. Определение проверочных равенств
- •2.4. Мажоритарное декодирование групповых кодов
- •2.5. Описание программного обеспечения
- •Задание
- •Требования к отчету
- •Контрольные вопросы
- •Литература
- •Лабораторная работа №103 построение и реализация циклических кодов
- •Указания к построению кодов.
- •3.1. Выбор образующего многочлена
- •3.2. Метод и средства кодирования
- •3.3. Метод и средства декодирования
- •3.2 Описание лабораторной работы
- •3.3 Описание программного обеспечения
- •3.3 Задание
- •Выполняется в лаборатории
- •Лабораторная работа № 104 построение и реализация рекуррентных кодов
- •4.2. Описание лабораторной работы.
- •Задание
- •Выполняется в лаборатории
- •Требования к отчету
- •Контрольные вопросы
- •Литература
- •Содержание
3.3. Метод и средства декодирования
Рассмотрим устройства декодирования, в которых для обнаружения и исправления ошибок производится деление произвольного многочлена f(x), соответствующего принятой комбинации, на образующий многочлен кода g0(x). В этом случае при декодировании могут использоваться те же регистры сдвига, что и при кодировании.
Символы подлежащей декодированию кодовой комбинации, возможно содержащей ошибку, последовательно, начиная со старшего разряда, вводятся в п-разрядный буферный регистр сдвига и одновременно в схему деления, где за п тактов определяется остаток, который в случае непрерывной передачи сразу же переписывается в регистры второй аналогичной схемы деления (рис.3.3).
Рис. 3.3. Схема декодирующего устройства.
Начиная с (п+1)-го такта, в буферный регистр и первую схему деления начинают поступать символы следующей кодовой комбинации. Одновременно на каждом такте буферный регистр покидает один символ, а в регистре второй схемы деления появляется кодовый остаток (синдром). Детектор ошибок, контролирующий состояние ячеек этого регистра, представляет собой комбинаторно-логическую схему, построенную с таким расчетом, чтобы она отмечала все те синдромы (“выделенные синдромы”), которые появляются в регистре, когда каждый из ошибочных символов занимает крайнюю правую ячейку в буферном регистре. Выделенный синдром - это остаток на п-м такте в случае возникновения ошибки в старшем разряде кодовой комбинации. При последующем сдвиге детектор формирует сигнал “1”, который воздействует на сумматор коррекции и исправляет искаженный символ.
Одновременно по цепи обратной связи сигнал “1” с выхода детектора подается на входной сумматор регистра, изменяя выделенный синдром так, чтобы он либо соответствовал более простому типу ошибки, которую еще надлежит исправить, либо все ячейки декодирующего регистра должны оказаться в нулевом состоянии. Если в результате автономных сдвигов состояние регистра не окажется нулевым, это означает, что произошла неисправимая ошибка.
Таблица 3.2
-
N такта
Вход
Состояние ячеек регистров
Выход после коррекции
1
2
3
1
1
1
0
1
2
0
1
1
1
3
0
1
1
0
4
0
0
1
1
5
0
1
0
0
6
1
1
1
1
7
1
0
1
1
8
0
1
0
0
1
9
0
0
1
0
01
10
0
0
0
1
001
11
0
0
0
0
1001
12
0
0
0
0
01001
13
0
0
0
0
101001
14
0
0
0
0
1101001
Для декодирования кодовых комбинаций, разнесенных по времени с передачей, достаточно одной схемы деления, осуществляющей декодирование за 2п тактов.
Сложность детектора ошибок зависит от числа выделенных синдромов. Для кода, исправляющего одиночные ошибки, простейший детектор получается в случае использования схемы деления второго типа (см.рис.3.3). Поскольку неискаженная кодовая комбинация делится на g0(x) без остатка, то для отыскания выделенного синдрома достаточно разделить на g0(x) вектор ошибки с единицей в старшем разряде. Остаток, получающийся на п-м такте, и является искомым выделенным синдромом. Он содержит единицу в старшем разряде и нули во всех остальных разрядах. Только при таком синдроме детектор должен формировать на выходе сигнал коррекции.
В зависимости от номера искаженного разряда после первых тактов будем получать различные остатки. Вследствие этого выделенный синдром будет появляться в регистре схемы деления через различное число последующих тактов, обеспечивая исправление искаженного символа.
В табл. 3.2, шаг за шагом, представлен процесс исправления ошибки, для случая, когда сформированная в табл. 3.1 кодовая комбинация 1101001 поступила на вход декодирующего устройства с искаженным символом в 4-ом разряде.