Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Весь_ТОАТ_good 2013.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
7.98 Mб
Скачать

21. Коды с обнаружением и исправлением ошибок.

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

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

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

где N — емкость кодовой системы, т. е. общее число приказов, которые необ­ходимо передать.

Число контрольных импульсов определяют следующим образом. Полное число неискаженных комбинаций при И информационных импульсах равно 2И, при этом каждая комбинация и все ее возможные искажения составляют величину п + 1. Следовательно, общее число кодовых комбинаций (искаженных и неискаженных) равно 2И (п + 1). При этом должно удовлетворяться неравенство

За контрольные в коде Хэмминга принимают импульсы, десятич­ный номер которых определяется по закону 2i, где i = О, 1, 2, 3, ..., т. е. импульсы 1, 2, 4, 8 ... Остальные импульсы являются информа­ционными.

Пример: 9-импульсный код Хэмминга может быть записан как К1 К2 И1 К3 И2 И3 И4 K4 И5. Харак­тер информационных импульсов определяется содержанием переда­ваемых в коде приказов.

Для определения значения контрольных импульсов рассмотрим одну из комбинаций не избыточного пятиразрядного кода, например 10110. Так как контрольные импульсы размещаются в 1, 2, 4 и 8-м разрядах, то информационные импульсы займут 3, 5, 6, 7 и 9-й раз­ряды.

Для определения значения контрольных импульсов составим конт­рольные суммы Si, т. е. суммы по модулю 2 значений разрядов, двоич­ные номера которых имеют единицу на i-м месте справа. Указанные суммы составим так, чтобы в каждую из них входил лишь один конт­рольный разряд.

Так как в 1-м разряде справа единица содержится в 1, 3, 5, 7 и 9-м двоичных номерах, то сумма 5; будет равна

Во втором разряде справа единицы содержатся в 2, 3, 6 и 7-м дво­ичных номерах, поэтому

Рассуждая аналогичным образом, можно определить, что:

Значения контрольных разрядов принимаем такими, чтобы все контрольные суммы по модулю 2 были равны 0 (сумма по модулю 2 равна 0, если число единиц в сумме четное, и равна 1, если число единиц в сумме нечетное). Тогда S1 = а1 + 1 + 0 + 1 + 0. Значение «S1 по модулю 2 будет равно 0, если а1 = 0.

Аналогичным образом можно определить, что:

Таким образом, комбинация не избыточного кода 10110 в коде Хэм­минга принимает вид 011001100. Аналогичным образом преобразу­ются все остальные комбинации не избыточного кода.

При приеме кода Хэмминга проверяется, что все контрольные сум­мы S1, S2, S3, S4 ... по модулю 2 равны 0. Если это условие выпол­няется, то искажений кода не произошло и принятый приказ реали­зуется.

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

Пример. Пусть при передаче комбинации кода Хэмминга 011001100 произо­шло искажение 5-го разряда, т. е. зафиксирована комбинация 011011100. После ее фиксации на принимающем пункте составляются контрольные суммы по мо­дулю 2 и осуществляется их проверка на четность. Для рассматриваемого случая:

Таким образом, суммы S1 и S3 равны 1 и, следовательно, имеет место искажение кода. Рассматривая контрольные суммы, как разряды двоичного числа и, принимая за старший разряд сумму S4, определяем номер искаженного разряда. В данном случае получаем двоичное число 0101, т. е. 5. Это указывает, что произошло искажение в 5-м раз­ряде кода. Значение этого разряда меняется на противоположное и фиксируется прием кодовой комбинации 011001100, т. е. происходит автоматическое исправление ошибки.

Код Хэмминга обладает избыточностью

2. Матричный код.

Из информационных символов составляется матрица:

И1 И2 И3 И4 И5 И6 И7 И8 И9

И 1 И2 И3 К1

И4 И5 И6 К2

И7 И8 И9 К3

К4 К5 К6 К0

Производится проверка на четность в каждом разряде, при этом определяется содержание контрольных символов: И1…И9 – К0 И1 И2 И3 К2 И4 И5 И6 К2 И7 И8 И9 К3 К4 К5 К6

На исполнительном пункте проводится проверка на четность по строкам и столбцам. Ошибочный тот разряд, который находится на пересечении строки и столбца с 1м результатом.