Лабораторные 101-104 (942787), страница 6
Текст из файла (страница 6)
Рис. 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-ом разряде.
3.2 Описание лабораторной работы
Лабораторная работа включает схемы для исследования циклических кодов. На изображенных схемах тактовые цепи не указаны.
Представленные схемы деления позволяют закодировать информационные разряды кодом (7,4) с образующим многочленом g(x)= x3+x+1, рассчитанным на исправление одиночных ошибок, и кодом (7,3) с образующим многочленом g(x)= (x+1)(x3+x2+1) = x4+x2+x+1, рассчитанным на исправление одиночных и двойных смежных ошибок. Заданные значения информационных разрядов записываются в регистр числа. Влияние помехи в канале связи имитируется сложением кодовой комбинации с вектором ошибки, формируемым в регистре помехи.
Для обоих указанных кодов предусмотрены схемы декодирования, с помощью которых можно проследить последовательность остатков в декодирующем регистре. Непосредственное исправление ошибок обеспечивается узлом коррекции в виде детектора ошибки и сумматора по модулю два. Декодирующее устройство рассчитано на поступление кодовых комбинаций разнесенных во времени.
3.3 Описание программного обеспечения
Для выполнения лабораторной работы необходимо запустить программу 103.exe. В появившемся меню нужно выбрать тип кода и нажать клавишу “Enter”, последовательно ввести информационные символы и вектор помехи. После ввода всех последовательностей символов, появится сообщение “Вы хотите повторить ввод? (y/n)”. Если что-то было введено не верно, нажмите “y” и повторите ввод, если же все правильно, нажмите “n”. Проследите процесс кодирования, декодирования и коррекции ошибок по тактам, используя клавишу “Enter”. Когда декодированная последовательность появиться на выходе схемы, появиться сообщение “Нажмите клавишу ESC”. Нажав клавишу “ESC” вы попадете обратно в меню.
Для выхода из программы выберете в меню пункт “Выход”.
3.3 Задание
Выполняется при домашней подготовке
1. Изучить рекомендованную литературу, теоретическую часть работы, а также описание и порядок проведения лабораторной работы.
2. Составить таблицу, отражающую процесс кодирования четырехзначной комбинации информационных символов кодом (7,4).
3. Составить таблицу, отражающую процесс декодирования полученной при кодировании кодовой комбинации в предположения воздействия заданного вектора ошибки в любом разряде при g(x)=x3+x+1.
4. Выполнить пункты 2 и 3 для циклического кода (7,3) при g(x)=x4+x2+x+1.
Выполняется в лаборатории
-
Для циклического кода (7,4) установить в регистре числа заданную кодовую комбинацию информационных символов и проследить формирование кодовой комбинации, и ее прохождение через декодирующее устройство.
-
Установив в регистре помехи вектор ошибки в одном разряде, проследить процесс декодирования и коррекции кодовой комбинации.
-
Выполнить пункты 1 и 2 для циклического кода (7,3), исправляющего две смежные ошибки.
Требования к отчету
Отчет должен включать:
-
Исходные последовательности для кодирования, вектора ошибок.
-
Схемы кодирования и декодирования для исследуемых кодов.
-
Таблицы, отражающие процесс кодирования и декодирования для кодов (7,4) и (7,3).
Контрольные вопросы
1. Какова математическая основа циклического кода?
2. Какие требования предъявляются к образующему многочлену?
3. Как определить выделенные синдромы?
-
Влияет ли тип схем деления на синдром ошибки? Почему?
ЛИТЕРАТУРА
-
Дмитриев В.И. Прикладная теория информации. – M.: Высш. шк., 1989. – 320 с. (С. 239–274).
-
Темников Ф.Е., Афонин В.А., Дмитриев В.И. Теоретические основы информационной техники. – М.: Энергия, 1979. – 512с. (С. 172–204).
Лабораторная работа № 104
ПОСТРОЕНИЕ И РЕАЛИЗАЦИЯ РЕКУРРЕНТНЫХ КОДОВ
Целью данной работы является усвоение принципов построения и технической реализации кодирующих и декодирующих устройств рекуррентных кодов.
4.1. Принципы построения кодов
Рекуррентные коды предназначены в основном для исправления пачек (пакетов) ошибок. Для рекуррентных кодов характерно, что операции кодирования и декодирования осуществляются над непрерывной последовательностью символов. Такой метод имеет определенные преимущества, так как представляет большие возможности для использования вводимой избыточности.
Действительно, в случае применения блоковых кодов возможности обнаружения и исправления ошибок определяются только той избыточностью, которая введена в данную кодовую комбинацию. Поскольку ошибки встречаются относительно редко, то избыточность большинства кодовых комбинаций не используется. В то же время при появлении пачки ошибок введенной избыточности часто не хватает.
В рекуррентных кодах, так же как и в блоковых, проверочные символы получаются в результате проведения линейных операций над определенными информационными символами.
В процессе кодирования проверочные символы размещаются между информационными так, чтобы на каждые n непрерывно передаваемых выходных символов приходилось k информационных. Простой класс составляют (n, n-1) – рекуррентные коды, у которых на k информационных символов приходится только один проверочный.
Кодирование осуществляется по схеме, приведенной на рис. 4.1.
CK1
CK2
Рис. 4.1 Схема кодирования
За время цикла входной коммутатор СК1 направляет k символов входной последовательности в k информационных каналов, с которых они поступают как непосредственно на выход, так и на линейный преобразователь П, формирующий проверочный символ (k+1).
В декодирующем устройстве (рис. 4.2) информационные символы последовательности, поступающие из канала связи, также распределяются с помощью коммутатора СК1 по k информационным каналам. Посредством линейного преобразователя П, аналогичного преобразователю кодирующего устройства, снова формируется проверочный символ k+1, который сравнивается (суммируются по модулю два) с проверочным символом, поступающим непосредственно из канала связи.
Рис. 4.2 Декодирующее устройство
В случае отсутствия ошибок образующаяся на выходе сумматора последовательность символов состоит из одних нулей. Для различения и исправления ошибок каждая подлежащая исправлению совокупность искаженных символов (в пределах допустимой пачки) должна приводить к определенному, отличному от других расположению единиц в образующейся на выходе сумматора последовательности. Такая последовательность, несущая информацию о структуре ошибки, называется синдромом ошибки. Она поступает с выхода формирователя синдрома ошибки.