Лабораторные 101-104 (942787), страница 4
Текст из файла (страница 4)
Чтобы эти равенства при отсутствии ошибок удовлетворялись при любых значениях информационных символов в кодовой комбинации, в нашем распоряжении имеется три проверочных разряда. Мы должны так выбрать номера этих разрядов, чтобы каждый из них входил только в одно из равенств. Это обеспечит однозначное определение значений символов в проверочных разрядах при кодировании. Указанному условию удовлетворяют разряды, по одному разу входящие в полученные уравнения. В нашем случае это будут первый, второй и четвертый разряды.
Таким образом, для кода (7,4), исправляющего одиночные ошибки, искомые правила построения кода, т.е. соотношения, реализуемые в процессе кодирования, принимают вид :
Введение проверочного разряда, обеспечивающего четность числа единиц во всей кодовой комбинации, позволяет построить код (8,4), способный одновременно исправлять одиночные ошибки и обнаруживать двойные.
Используя таблицу опознавателей (табл.2.3) и рассуждая аналогичным образом, можно составить проверочные равенства для любого кода, исправляющего одиночные и двойные независимые ошибки. Например, для кода (8,2). Минимальное число разрядов в кодовой комбинации должно быть менее . Находятся из уравнения
. При n = 7 имеем
. Однако, из табл. 2.3 для опознавателя кодовой комбинации из 7 разрядов требуется 6 разрядов. Поэтому приходится применить код (8,2). Соотношения, которые необходимо реализовать в процессе кодирования и декодирования этого кода:
Эти уравнения, как и уравнение для кода (7,4), получаются из вертикальных столбцов опознавателей.
2.4. Мажоритарное декодирование групповых кодов
Мажоритарное декодирование базируется на системе проверочных равенств. Система последовательно должна быть разрешена относительно каждой из независимых переменных, причем в силу избыточности это можно сделать не единственным способом.
Любой символ выражается d различными независимыми способами через комбинации других символов. При этом может использоваться тривиальная проверка
. Результаты вычислений подаются на соответствующий этому символу мажоритарный элемент.
Последний представляет собой схему, имеющую d входов и один выход, на котором появляется единица, когда возбуждается больше половины его входов, и ноль когда число нолей на входах меньше половины. Если ошибки отсутствуют, то проверочные равенства не нарушаются и на выходе мажоритарного элемента получаем истинное значение символа. Если число проверок , то появление ошибки кратности S и менее не приводит к нарушению более S проверок. Чтобы указанное условие выполнялось, любой (не проверяемый) символ должен входить не более, чем в одно проверочное равенство. В этом случае мы имеем дело с системой разделенных проверок.
Построим системы разделенных проверок для декодирования информационных символов рассмотренного ранее группового кода (8,2). Поскольку код рассчитан на исправление любых двойных ошибок, число проверочных равенств для определения каждого символа должно быть не менее 5. Подставив в равенства 1 и 2 значения , полученные из равенств 5 и 6, и записав их относительно
, совместно с равенствами 3 и 4 и тривиальным равенством
получим систему разделенных проверок для символа
. Аналогично получаем систему разделенных проверок и для символа
.
2.5. Описание программного обеспечения
Доступ ко всем возможностям программы осуществляется через главное меню.
Сборка cхемы:
На экране отображается заготовка схемы. Вам предлагается расставить соединения элементов. Текущее соединение отображается красной пунктирной линией, ее можно перемещать клавишами управления курсором. Клавиши <ПРОБЕЛ> или <ENTER> позволяют зафиксировать соединение или снять его (если оно было установлено).
Закончив сборку схемы нажмите <ESC>, проверьте еще раз правильность схемы, и нажмите любую клавишу для продолжения работы.
Запуск cхемы :
Вам предлагается набpать пеpедаваемый код и вектоp ошибки. Они пpедставляются последовательностью '0' и '1', при пpевышении пpедельно допустимой длины стpоки pаздается звуковой сигнал.
Для выполнения схемой следующего такта нажимайте любую клавишу.
О помехозащищенных кодах:
Вы можете просмотреть текст, содержащий информацию о способах кодирования. При просмотре используются стандартные клавиши.
О программе:
Просмотр этого текста.
Выход:
Выход из программы.
Программа осуществляет моделирование системы с учетом задержек на элементах. Схему можно исправлять и запускать многократно, анализируя процесс прохождения информации.
ЗАДАНИЕ
Выполняется при домашней подготовке
1. Ознакомится с принципами построения групповых кодов.
2. Пользуясь табл. 2.1, 2.3, 2.4, 2.5, составить уравнения кодирования и декодирования для кодов:
(7,4), обеспечивающего коррекцию одиночных ошибок;
(8,4), обеспечивающего коррекцию одиночных ошибок и одновременное обнаружение двойных ошибок;
(7,3), обеспечивающего коррекцию двойных смежных ошибок (т.е. пачку ошибок не более двух символов);
(8,2), обеспечивающего коррекцию двойных независимых ошибок;
(9,3), обеспечивающего коррекцию пачек ошибок в трех и менее
разрядах.
3. Закодировать конкретные совокупности информационных символов, заданных персонально каждому студенту преподавателем, для кодов, указанных в п.2.
4. Для конкретных векторов ошибок ( по три для каждого кода), выбранных студентом из всего множества возможных ошибок, определить опознаватели ошибок.
Выполняется в лаборатории
1. Ознакомится с описанием программного обеспечения.
2. При помощи специальных команд войти в кафедральную сеть и запустить на выполнение программу pomeh.exe.
3. Собрать схему кодирования и декодирования для кода (7,4).
4. Протестировать ее для pазных кодовых комбинаций и вектоpов ошибок, исправляя схему пpи необходимости.
5. Пpоделать пункты 3 и 4 для кодов (7,3),(8,2),(9,3).
Требования к отчету
Отчет должен включать:
1. Уравнения кодирования и декодирования кодов, указанных в п.2 задания.
2. Совокупность кодовых комбинаций, соответствующих заданным информационным символам, по каждому из кодов.
3. Совокупность опознавателей ошибок, соответствующих заданным векторам ошибок, по каждому из кодов.
4. Схемы кодирования и декодирования для одного из кодов, указанных в п.2, причем отчеты бригады в совокупности должны содержать схемы реализации всех исследуемых кодов.
Контрольные вопросы
1. Какова математическая основа группового кода?
2. Как составляется таблица опознавателей?
3. В чем сущность мажоритарного декодирования?
4. Как определяются уравнения кодирования и декодирования?
5. Как построить код, исправляющий одиночные и одновременно
обнаруживающий двойные ошибки?
-
Как построить код, обнаруживающий четырехкратные ошибки?
-
Как построить код, обнаруживающий тройные ошибки?
ЛИТЕРАТУРА
-
Дмитриев В.И. Прикладная теория информации. – M.: Высш. шк., 1989. – 320с. (C. 202–239).
-
Темников Ф.Е., Афонин В.А., Дмитриев В.И. Теоретические основы информационной техники. М.: Энергия, 1979.–512с. (C. 131–171).
Лабораторная работа №103
ПОСТРОЕНИЕ И РЕАЛИЗАЦИЯ ЦИКЛИЧЕСКИХ КОДОВ
Целью работы является усвоение методов построения и технической реализации кодирующих и декодирующих устройств циклических кодов.
-
Указания к построению кодов.
Математической основой циклических кодов является теория колец [1;2]. В качестве основных операций в циклическом коде используются операции сложения по модулю два и символического умножения, в котором для сохранения степени многочлена не выше (n-1) используется искусственный прием. Если степень многочлена после умножения на выше n-1, то он и принимается за результат умножения , а если выше , то он делится на другой многочлен (xn+1) и в качестве результата умножения принимается остаток от деления.
3.1. Выбор образующего многочлена
Любой групповой (n,k) код может быть записан в виде матрицы, включающей k линейно-независимых строк по n символов. Среди всего многообразия таких кодов можно выделить коды, у которых строки образующих матриц связаны дополнительным условием цикличности.
Все строки образующей матрицы такого кода могут быть получены циклическим сдвигом одной комбинации: называемой образующей для данного кода. Коды, удовлетворяющие этому условию, получили название циклических кодов.
Сдвиг осуществляется справа налево, причем крайний левый символ каждый раз переносится в конец комбинации. Запишем, например, образующую матрицу кода, получающуюся циклическим сдвигом комбинации 001011:
G =
При описании циклических кодов n-разрядные кодовые комбинации представляются в виде многочленов фиктивной переменной х. Показатели степени у х соответствуют номерам разрядов (начиная с нулевого), а коэффициентами при х являются цифры 0 и 1 (поскольку мы рассматриваем двоичные коды).
Запишем, например, в виде многочлена образующую кодовую комбинацию 001011
Действия над кодовыми комбинациями теперь сводятся к действию над многочленами.