Скачиваний:
26
Добавлен:
02.05.2014
Размер:
906.24 Кб
Скачать

1.2.2 Схемы свертки

Контроль по модулю 2 реализуется с помощью схем свертки. Типична мно­гоярусная схема свертки пирамидального типа. На рис. 1а показана схема свертки байта. Для оценки аппаратной сложности и быстродействия подоб­ных схем при разрядности свертываемого слова 2(n - произвольное целое число) легко получить соотношения:

; , где N-число логических элементов в схеме; L - ее логическая глубина. Схемотех­ника сейчас сориентирована главным образом на работу с параллельными данными, однако не исключены ситуации обработки последовательных дан­ных, когда слова передаются по одной линии последовательно разряд за раз­рядом. Для таких случаев целесообразно

применять схему свертки (рис. 1б), которая выдает результат всего лишь через одну задержку после поступления последнего разряда .

Рисунок 1(б)

Рисунок 1(а)

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

Рисунок 2(а) Рисунок 2(б)

Рисунок 2(в)

Рисунок 2. Микросхема ИП5 (а,б) и ее применение в схеме контроля (в).

Примером ИС свертки по модулю 2 может служить микросхема ИП5 серии КР1533. Схема имеет 9 входов, что допускает свертку байта с девятым кон­трольным разрядом. Двумя выходами схемы являются Е (EVEN) и (ODD). Если вес входной комбинации четный, то Е == 1 и О = 0, и наоборот, если вес нечетный. Схемотехнически ИС КР1533ИП5 представляет собою пирами­дальную структуру из трехвходовых элементов типа четность/нечетность.

1.2.3 Контроль с использованием кодов Хемминга

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

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

Для получения кодовой комбинации кода Хемминга к информационному слову добавляется несколько контрольных разрядов. Для простоты про­смотра кодовых комбинаций с целью определения значений контрольных разрядов примем, что контрольные разряды занимают позиции с номерами 2 (I =0, 1,2,...).

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

Первый контрольный разряд входит в группу разрядов с номерами xx...xxl, где х означает произвольное значение. Иными словами, в первую группу входят разряды с нечетными номерами: 1, 3, 5, 7, 9,... Второй контрольный разряд входит в группу разрядов с номерами, имею­щими единицу во втором справа разряде, т. е. номерами xx...xlx. Это но­мера 2, 3, 6, 7, 10, 11 ...

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

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

Таблица 2. Пример составления кода Хемминга.

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

1

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

0

0

0

1

1

1

1

0

1

0

1

0

1

0

1

0

0

0

1

0

1

1

0

1

0

0

1

1

0

0

1

1

=0110

1

0

1

1

0

1

0

0

0

1

0

0

1

0

1

0

1

1

1

1

1

1

1

1

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

Рассмотрим теперь процесс исправления и выявления ошибок. Пусть, напри­мер, передавалось информационное слово 0110 = . Не учитывая пока раз­ряд , получим, что правильная кодовая комбинация имеет вид:

7

6

5

4

3

2

1

0

1

1

0

0

1

1


Пусть во втором слева разряде произошла ошибка и принята комбинация:

7

6

5

4

0

0

1

0

0

1

0

0

1

1


Первая проверка (по группе разрядов с нечетны­ми номерами) показывает сохранение четности, т. е. в этой группе ошибок нет, результат этой проверки отмечается нулем. Вторая проверка (по разрядам 2, 3, 6, 7) обнару­живает нарушение четности веса комбинации, ее результат отмечается еди­ницей. Третья проверка (по разрядам 4, 5, 6, 7) также обнаруживает наруше­ние четности, ее результат отмечается единицей.

Результаты проверок образуют слово, называемое синдромом. Синдром ука­зывает номер разряда, в котором произошла ошибка. Во взятом примере ре­зультаты проверок дают слово 110= . Проинвертировав разряд номер 6,

возвращаемся к правильной кодовой комбинации ошибка исправлена. Минимальное кодовое расстояние обычного кода Хемминга равно трем. До­бавление разряда проверки общей четности веса комбинации приводит к мо­дифицированному коду Хемминга с минимальным кодовым расстоянием, равным 4 и, соответственно, добавляет возможность обнаружения двойной ошибки. Обнаружение двойной ошибки основано на сопоставлении наличия или отсутствия признаков ошибки в синдроме и общей четности. Если обо­значить через S любое ненулевое значение синдрома, то возможные си­туации, используемые для обнаружения двойной ошибки, окажутся сле­дующими (табл. 3).

Таблица 3. Возможные ситуации при обнаружении двойной ошибки.

Синдром

Свертка кодовой операции

Характеристика результата

0

s

s

0

0

1

0

1

Все правильно, слово можно использовать

Была допущена единичная ошибка, исправлена, слово можно использовать

Эти ситуации могут возникать только вследствие ошибок двойной или большей кратности, слово использовать нельзя