logo
Otvety_k_ekzamenatsionnym_biletam_Informatika_1

Использование корректирующего кода в

запоминающих устройствах. Код Хемминга.

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

         В качестве примера рассмотрим код Хэмминга. Пусть требуется передать некоторое слово 1010. При кодировании оно будет представлено как 1011010, где 1-й, 2-й и 4-й разряды проверочные (слева направо 101), а остальные информационные. Если при передаче произошла ошибка, например в 3-м разряде вместо 1 получен 0, то при декодировании проверочные разряды примут значения: 1-й (младший) — 1, 2-й — 1, 4-й — 0 (т. е. 011). Несовпадение кодовых комбинаций проверочных разрядов не только сигнализирует о наличии ошибки, но и указывает номер искажённого разряда (011 — 3 в двоичном коде).

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