Контроль по модулю 2. Схемы свёртки. Контроль с использованием кода хэмминга. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Контроль по модулю 2. Схемы свёртки. Контроль с использованием кода хэмминга.



Контроль по модулю 2. Контроль правильности передач и хранения данных — важное условие нормальной работы ЦУ. В этой области простейшим и широко применяемым методом является контроль по модулю 2. Кодовая комбинация — набор из символов принятого алфавита. Код — совокупность кодовых комбинаций, используемых для отображения информации. Кодовое расстояние между двумя кодовыми комбинациями — число разрядов, в которых эти комбинации отличаются друг от друга. Минимальное кодовое расстояние — минимальное кодовое расстояние для любой пары комбинаций, входящих в данный код. Кратностью ошибки называют число ошибок в данном слове (число неверных разрядов). Из теории кодирования известны условия обнаружения и исправления ошибок при использовании кодов:

dmin=rобн+1; dmin=2rиспр+1; dmin=2rиспр+ rобн +1

где dmin — минимальное кодовое расстояние кода;

rобн и rиспр — кратность обнаруживаемых и исправляемых ошибок соответственно.

Вес комбинации - число единиц в данной комбинации. Для двоичного кода минимальное кодовое расстояние dmin = 1, поэтому он не обладает возможностями какого-либо контроля производимых над ним действий. Чтобы получить возможность обнаруживать хотя бы ошибки единичной кратности, нужно увеличить минимальное кодовое расстояние на 1. Это и сделано для кода контроля по модулю 2 (контроля по четности/нечетности).

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

Контроль по модулю 2 эффективен там, где вероятность единичной ошибки много больше, чем вероятность двойной (или вообще групповой).

Схемы свёртки. Контроль по модулю 2 реализуется с помощью схем свертки. Для практики типична многоярусная схема свертки пирамидального типа (рис. 35.1, а).

На рис. 35.1, а показана схема свертки байта. Для оценки аппаратной сложности и быстродействия подобных схем при разрядности свертываемого слова 2n (n — произвольное целое число) легко получить соотношения:

Nлэ = n/2 + n/4 +...+ n/n = n(1/2 + +...+ 1/n) = n-1; L = log2n,

где Nлэ — число логических элементов в схеме; L — ее логическая глубина.

Схемотехника сейчас сориентирована главным образом на работу с параллельными данными, однако не исключены ситуации обработки последовательных данных, когда слова передаются по одной линии последовательно разряд за разрядом. Для таких случаев целесообразно применять схему свертки (рис. 35.2, б), которая выдает результат всего через одну задержку после поступления последнего разряда a7.

Примером ИС свертки по модулю 2 может служить микросхема ИП5 серии КР1533.

Рис. 35.1. Схемы свертки пирамидального (а) и последовательного (б) типов.

Передача данных или их запись/считывание (если речь идет о памяти) с контролем показаны на рис. 35.2, в. Входные данные обозначены через D, на выходе из канала связи или памяти данные обозначены через D', поскольку вследствие ошибок они могут измениться.

Контроль по модулю 2 применим не только для операций передачи и хранения слов, но и для некоторых более сложных операций. В этих случаях недостаточно просто добавить к информационному слову контрольный разряд, а требуются более развитые операции.

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

Методы контроля с помощью кодов Хемминга основаны на тех же идеях, что и контроль по модулю 2. Отсюда и область эффективного применения кодов Хемминга — устройства, в которых вероятность единичных ошибок много больше, чем вероятность групповых. Для получения кодовой комбинации кода Хемминга к информационному слову добавляется несколько контрольных разрядов. Для простоты просмотра кодовых комбинаций с целью определения значений контрольных разрядов примем, что контрольные разряды занимают позиции с номерами 2i (i = 0, 1, 2,...). Каждый контрольный разряд ассоциируется с некоторой группой разрядов кодовой комбинации и выводит вес группы, в которую он входит, на четность/нечетность.

Первый контрольный разряд входит в группу разрядов с номерами XX...XXI, где X означает произвольное значение. Иными словами в первую группу входят разряды с нечетными номерами: 1, 3, 5, 7, 9,....

Второй контрольный разряд входит в группу разрядов с номерами, имеющими единицу во втором справа разряде, т. е. номерами XX...XIX. Это номера 2, 3, 6, 7, 10, 11,....

Третий контрольный разряд входит в группу, у которой номера разрядов имеют единицу в третьем справа разряде: XX..1 XX, т. е. с номерами 4, 5, 6, 7, 12, 13, 14, 15,...

Контрольные разряды выводят веса своих групп на четность/нечетность. Далее для определенности примем, что ведется контроль по четности. После выполнения операции (например, считывания кодовой комбинации из памяти) производится столько проверок по модулю 2, сколько контрольных разрядов в кодовой комбинации, т. е. проверяется сохранение четности весов групп. Если в кодовой комбинации произошла ошибка, то в одних проверках она скажется, а в других — нет. Это и позволяет определить разряд, в котором произошла ошибка. Для восстановления правильного значения слова теперь остается только проинвертировать ошибочный разряд. Такова идея построения и использования кода Хемминга.

 



Поделиться:


Последнее изменение этой страницы: 2016-09-20; просмотров: 1967; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.189.177 (0.007 с.)