Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БЦВУ / Lecture / пункт2.9.1.doc
Скачиваний:
29
Добавлен:
06.03.2016
Размер:
3.12 Mб
Скачать

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

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

Для получения кодовой комбинации кода Хэмминга к информационному слову добавляются несколько контрольных

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

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

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

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

Контрольные разряды выводят веса своих групп разрядов на четность/нечетность. Далее для определенности принимаем, что ведется контроль по четности.

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

Пример составления кода Хэмминга для четырехразрядного информационного слова приведен в табл.2.5.

Таблица 2.5.

8

7

6

5

4

3

2

1

ρ

а3

а2

а1

ρ 3

а0

ρ 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

1

0

1

1

0

1

0

0

0

1

0

0

1

0

1

0

1

1

1

1

1

1

1

1

Через ρ в таблице обозначен общий контрольный разряд для всей кодовой комбинации, через ρ1, ρ2, ρ3 - первый, второй и третий групповые контрольные разряды.

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

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

7

6

5

4

3

2

1

0

1

1

0

0

1

1

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

7

6

5

4

3

2

1

0

0

1

0

0

1

1

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

Вторая проверка (по разрядам 2, 3, 6, 7) обнаруживает нарушение четности веса комбинации, ее результат отмечается единицей.

Третья проверка (по разрядам 4, 5, 6, 7) также обнаруживает нарушение четности, ее результат отмечается единицей.

Соседние файлы в папке Lecture