Тема 17. Коррекция одиночных ошибок. Код Хэмминга

Задача системы исправления (коррекции) ошибок заключается в обнаружении ошибки, локализации места ошибки и автоматическом исправлении ошибки. Код Хэмминга обнаруживает и исправляет одиночные ошибки. Минимальное кодовое расстояние кода Хэмминга Dmin = 3.

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

Длина информационного слова m = 8 разрядов. Если k ­ это количество контрольных разрядов, то длина передаваемого слова n =m+k. Ошибка может возникать в любом разряде передаваемого слова, поэтому

2k >n+1

Один двоичный набор необходим для указания правильной передачи данных. В результате приходим к выражению

2k – k - 1 > m

В нашем случае m = 8, k = 4, n = 12.

Для каждого контрольного разряда будет построено уравнение контроля по четности. Таблица номеров разрядов передаваемого слова имеет вид.

Двоичный набор 0 0 0 0 используется для указания правильной передачи информации. В этом случае

С4 С3 С2 С1 = 0 0 0 0.

При возникновении одиночной ошибки С4 С3 С2 С1 не равно

0 0 0 0.Построим уравнения контроля, складывая по модулю 2 те разряды передаваемого слова, для которых Ci =1.

В системе уравнений (24) в качестве контрольных выбираем разряды х8 х4 х2 х1, потому что встречаются в уравнениях (24) только один раз. Сформируем уравнения для вычисления контрольных разрядов. Получим систему уравнений.

Согласно уравнениям (25) структура устройства – передатчика в коде Хэмминга имеет вид.

Рис.46

На Рис.46

ШиД ­ шина данных;

РгИ ­ информационный регистр;

Рг ПС ­ регистр передаваемого слова;

ШиПС ­ шина передаваемого слова.

Устройство – передатчик работает следующим образом. По шине данных в информационный регистр РгИ принимаются значения информационного слова. Схема вычисления системы уравнений (**) вычисляет значения контрольных разрядов и записывает их в разряды регистра передаваемого слова РгПС. В остальные разряды РгПС принимаются значения данных из РгИ. Таким образом,формируется передаваемое слово и передается по шине ШиПС. При передаче слова могут возникнуть ошибки в любом разряде. Поэтому,принятое слово может не совпадать с переданным, и все разряды проверяются с целью обнаружения и исправления ошибок.

Структура устройства – приемника имеет вид.

Рис.47

Переданное передатчиком слово в коде Хэмминга принимается в регистр принимаемого слова приемника. Одновременно оно подается на комбинационную схему вычисления корректирующего слова С4 С3 С2 С1.

Для автоматической коррекции (исправления) одиночной ошибки необходимо инвертировать значение ошибочного разряда. С выхода комбинационной схемы корректирующее слово С4 С3 С2 С1 поступает на вход дешифратора DC.

Если одиночных ошибок нет, то С4С3С2С1 = 0 0 0 0, и на нулевом выходе дешифратора DC0 появится единица, указывающая на правильную передачу. Если появляется одиночная ошибка в одном из разрядов принимаемого слова, то С4 С3 С2 С1 не равно нулю, и на одном из выходов дешифратора, отличного от DC0, появится единица.

Каждый выход Dci, кроме нулевого, подается на вход схемы сложения по модулю 2 с данными с выхода РгПС.

Если Dci = 0, то есть ошибки в i – том разряде нет, то

Если в I – том разряде возникает ошибка, то Dci = 1 и ошибка исправляется.

Корректируются только разряды данных и в информационный регистр принимается правильное слово y8 y7 y6 …у2 у1.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: