18
единиц нечетное (произошла ошибка). По результатам проверки
составляется двоичное число c
1
, c
2
, … c
k
, десятичный эквивалент которого
равен номеру позиции разряда, где произошла ошибка. Если это число
равно 0, то ошибка отсутствует. После того, как обнаружен ошибочный
разряд, его можно исправить путем инверсии.
Число контрольных разрядов можно определить следующим образом.
Используя k разрядов, можно задать 2
k
двоичных комбинаций. Нулевая
комбинация указывает на отсутствие ошибки, десятичные эквиваленты
остальных должны определять номера позиций любого из (m + k)
разрядов. Следовательно, число k должно удовлетворять неравенству:
2
k
≥ m + k + 1.
Из этого неравенства следует, что доля контрольных разрядов в
общей длине кодовой комбинации тем меньше, чем больше число
информационных разрядов.
Для того, чтобы контрольные разряды проверки на четность
определять лишь через информационные разряды и независимо друг от
друга, их размещают в позициях 1, 2, ... 2
k-1
. На остальных позициях
находятся биты, представляющего код исходного сообщения.
В табл. 1.7 и 1.8 показан пример построения кода Хэмминга при
четырех информационных разрядах (m=4, k=3). Контрольные разряды
должны задаваться так, чтобы номер позиции соответствовал положению
ошибочного бита. Если ошибка появляется в позициях 1, 3, 5, 7, то
младший разряд номера позиции, т.е. c
3
должен равняться единице. Если
код построен так, то в каждой кодовой комбинации сумма битов в
позициях 1, 3, 5, 7, четная и появление одиночной ошибки в любой из этих
позиций приведет к нечетному числу единиц в указанных позициях. В
этом случае младший разряд номера позиции принимается равным 1. Если
ошибки нет, то сума единиц в указанных позициях остается четной, и c
3
полагается равным 0. Таким образом, p
1
выбирается так, чтобы установить
четное число единиц в позициях 1, 3, 5, 7. Рассуждая аналогичным
образом, нетрудно прийти к выводу, что p
2
выбирается так, чтобы четным
было число единиц в позициях 2, 3, 6, 7, а p
3
должен обеспечить четность
числа единиц в позициях 4, 5, 6, 7.
ЦИФРОВЫЕ УСТРОЙСТВА И МИКРОПРОЦЕССОРЫ. ЧАСТЬ 1