Преобразователь двоичного кода в код Хемминга с исправлением одиночных и обнаружением двойных ошибок

Автор работы: Пользователь скрыл имя, 17 Января 2011 в 23:51, курсовая работа

Краткое описание

Основные методы повышения надежности цифровых устройств – применение более надежных деталей, их предварительная тренировка, оптимальное (в смысле надежности) построение схем и выбор режимов их работы, усовершенствование технологии изготовления и конструкции элементов и устройств, применение интегральной технологии – не позволяют решить задачу получения требуемой надежности из-за сложности и ответственности современных систем.

Содержимое работы - 1 файл

курсач по схемо2.doc

— 1.02 Мб (Скачать файл)

      Коды  Хемминга с минимальным расстоянием  dmin =3 наиболее просто описываются с помощью контрольной матрицы, вектор-столбцы которой различны и отсутствует нулевой столбец, соответствует коду с минимальным расстоянием dmin =3.

      Для определенности выберем в качестве вектор-столбцов матрицы различные  четырехразрядные двоичные числа (исключая число нуль):

          

      Перестановкой столбцов, содержащих одну единицу, показанную матрицу можно привести к виду

            

      Данная  матрица соответствует коду Хэмминга с минимальным расстоянием dmin =3. Использование такого кода позволяет исправить любую одиночную ошибку. Если нумерацию информационных и контрольных разрядов разделимого кода производить слева направо, то в соответствии с матрицей получаем систем линейных уравнений, с помощью которых вычисляются контрольные разряды

                                  

      где -контрольные разряды, -информационные разряды.

      Если  при передаче кодового слова возникнет  одиночна ошибка, то окажутся невыполненными те контрольные соотношения (уравнения для ), в которые входит значение ошибочного разряда. Например, если ошибка возникла в первом информационном разряде, то окажутся невыполненными третье и четвертое уравнения, то есть корректор будет равен 0011, совпадая с первым вектор столбцом матрицы. Отсюда получаем алгоритм определения места одиночной ошибки. Ясно, что вычисленное значение корректора обязательно совпадает с одним из вектор-столбцов матрицы, так как в качестве вектор-столбцов было выбраны все возможные двоичные 4-разрядные числа.

      Если  возникнет ошибка кратности 2, то полученное значение корректора также будет  совпадать с одним из вектор-столбцов и ошибки автоматически исправляются. Однако замети, что после такого «исправления» получается кодовое слово, не совпадающее с требуемым кодовым словом. Значение корректора, соответствующее ошибке кратности 2 и более, получается при помощи поразрядного суммирования по модулю 2 вектор-стобцов матрицы, соответствующих ошибочным разрядам.

      Другими словами, если при передаче кодового слова

            

      возникнет ошибка в  и то при автоматическом исправлении будет получено слово , которое хотя и не совпадает с переданным, но является кодовым. Поэтому, когда вероятность возникновения ошибок кратности более единицы значительно, автоматическое исправление ошибок оказывается нежелательным. В этом случае необходимо предусматривать только обнаружение ошибки.

      В случае, если нужно одновременно и исправлять одиночные, и обнаруживать двойные ошибки, можно еще больше увеличить избыточность корректирующего кода так, чтобы его dmin =4. В принципе такой код можно построить, несколько модифицировав обычный код Хемминга. Для этого необходимо иметь еще один, дополнительный, контрольный разряд. Этот разряд, в частности, можно использовать для проверки на четность (или нечетность) всего информационного слова. Поскольку код с проверкой на четность не реагирует на ошибки четной кратности (двойные, четверные и т. д.), но зато выявляет все ошибки нечетной кратности (одиночные, тройные и т. д.), то он в известном смысле хорошо дополняет (модифицирует) код Хемминга.

 

       

 

Разработка  структурной схемы.

      Данное  устройство строится, основываясь на рассмотренной выше схеме (рис.3).

      Можно заключить, что входное сообщение  для последующей кодировки хранится во входном регистре. Далее входное  воздействие необходимо преобразовать  в помехозащищенный вид с целью дальнейшей передачи, в данном случае это кодирующее устройство, которое преобразует входной сигнал в код Хэмминга. Далее по каналам передачи сообщение передается на корректирующее устройство с целью обнаружения и исправления ошибок, если такие возникли в каналах передачи данных. Для хранения выходного сообщения на выходе поставлен выходной регистр.

      Исходя  из вышесказанного, очевидно, что преобразователь двоичного кода в код Хэмминга должен содержать следующие блоки:

      Входной регистр (Рг.вх.) – для приема, хранения и выдачи данных.

      Кодирующее  устройство (КУ) – для формирования контрольных разрядов. Представляет собой свертку информационных разрядов по модулю 2. Результат свертки – получение контрольных разрядов.

      Корректирующее  устройство (КрУ) – для обнаружения  и исправления ошибок (если они  есть)

      Выходной регистр (Рг.вых.) – для приема, и дальнейшей передачи данных.

      Между кодирующим и корректирующим устройствами подразумевается наличие канала связи.

 

    Приложение.

 

            Структурная схема  преобразователя двоичного кода в код Хэмминга.

 

Разработка  функциональной схемы.

Формирование  контрольных разрядов.

      Доля  контрольных разрядов в общей  длине слова тем меньше, чем больше длина слова. Чтобы обеспечить защиту комбинаций в 8 разрядах, необходимо 5 контрольных разрядов. Следовательно, общая длина слова составит 13 разрядов. По методу Хэмминга каждый контрольный разряд слова соответствует различным информационным разрядам.

      Соответствие  контрольных разрядов информационным разрядам слова приведено в таблице:

 
контрольные разряды информационный разряд
0 1 2 3 4 5 6 7
0 Кор- рек- тиру-ющий код* 0 0 0 0 1 1 1 1
1 0 1 1 1 0 0 0 1
2 0 0 1 1 0 1 1 0
3 1 0 0 1 1 0 1 0
4 1 1 1 1 1 1 1 1
 

*необходимость  этого столбца объяснена ниже. 

Формирование  кода ошибки.

      Разряды принятого кодового слова поступают на схему свертки по четности, здесь на каждой свертке обрабатывается вся группа вместе с ее контрольным разрядом. Выходы свертки образуют 4-разрядный код ошибки (корректирующий код – в таблице приведенной выше видна зависимость, по которой корректирующий код соответствует номеру информационного разряда). Если при передаче кодового слова произошла ошибка в одном из его разрядов, то будет зафиксировано нарушение четности именно в тех контрольных группах, в состав которых входит неверный разряд. В результате корректирующий код укажет номер неисправного разряда принятого кодового слова. Для восстановления первоначального слова неверный разряд нужно проинвертировать. Корректирующий код поступает на дешифратор, активный выход которого возбуждает управляемый инвертор (двухвходовый сумматор по модулю 2) в том разряде, где произошла ошибка.

      Для анализа ситуации при корректировке  введем понятия корректора К=К1+К2+К3+К4 (где Ki – выход i-ой свертки по четности) и контроль по четности Ч (сумма по модулю 2 всех разрядов числа). Тогда возникающие ситуации можно разделить на такие группы: 

0 0 - ошибок нет;
0 1 - произошла  двойная ошибка (автоматическая  коррекция ошибок должна блокироваться);
1 0 - произошла  тройная (или более высокой  кратности, но нечетная) ошибка;
1 1
    - произошла  одиночная ошибка (выполняется автоматическая  коррекция);

      Для организации работы корректирующего  устройства введем следующие функции (сигналы):

      Сигнал  ошибки – сигнализировать о неисправимой ошибке:

О=КÅЧ

      В нашем случае, так как тройные или более высокой кратности ошибки – события практически невероятное, сигнал ошибки будет сообщать о двойной ошибке в блоке данных. Так же он будет служить запрещением записи слова в выходной регистр.

Сигнал коррекции  – при обнаружении исправимой ошибки будет включать дешифратор для ее исправления:

С=К&Ч

 

            Разработка  принципиальной схемы.

              ВХОДНОЙ РЕГИСТР.

      Входной регистр по условию курсового  проекта должен быть выполнен на цифровых микросхемах ТТЛ – логики.

      В соответствии с критерием оптимизации (fmax) наиболее подходящей следует признать микросхему К531ИР19П.

      Микросхема  К531ИР19П представляет собой четырехразрядный параллельный регистр.

      Условное  графическое обозначение (УГО) приведено  на рисунке:

      

      16-питание; 8- общий

  Назначение входов  и выходов:

            4,5,12,13 - информационные входы;

            1,9 - входы синхронизации;

            2,7,10,15- прямые выходы;

            3,6,11.14 - инверсные выходы.

      Основные  параметры К531ИР19П

Uип U0вых U1вых Iвх I0вых I1вых Iпот t1,0зд.р t0,1зд.р. fmax
В В мА мА мА мкА нс нс мГц
0,5 2,5 - - - 96 17 12 -
 

      Для реализации восьмиразрядного регистра нам понадобится две микросхемы К531ИР19П.

Информация о работе Преобразователь двоичного кода в код Хемминга с исправлением одиночных и обнаружением двойных ошибок