Математика EN

Тренажёры · Глава 42

Код Хэмминга (7, 4)

Код Хэмминга (7, 4): закодировать четыре бита семью, найти по синдрому, какой бит испорчен, и восстановить отправленное сообщение.

Как решать

Код Хэмминга добавляет к четырём битам сообщения три проверочных так, чтобы одну ошибку можно было не только заметить, но и исправить. Проверочные биты стоят на местах $1, 2, 4$ — степенях двойки, — и каждый следит за своей группой мест. Номер испорченного бита получается сложением номеров «недовольных» проверок.

По шагам

  1. Биты сообщения поставьте на места $3, 5, 6, 7$.
  2. Проверочный бит $1$ следит за местами $1, 3, 5, 7$ (круг A), бит $2$ — за $2, 3, 6, 7$ (круг B), бит $4$ — за $4, 5, 6, 7$ (круг C). Каждый выбирается так, чтобы единиц в его круге было чётное число.
  3. Поиск ошибки: проверьте все три круга. Круги с нечётным числом единиц дают синдром: A — $1$, B — $2$, C — $4$. Сумма — номер ошибки; $0$ — ошибки нет.
  4. Декодирование: переверните бит с номером синдрома и прочитайте места $3, 5, 6, 7$.
Номер позиции с ошибкой ($0$ — ошибки нет). $1$, если в круге нечётное число единиц, иначе $0$. Пример: сообщение $1101$ на местах $3, 5, 6, 7$; бит $1$: $1 \oplus 1 \oplus 1 = 1$; бит $2$: $1 \oplus 0 \oplus 1 = 0$; бит $4$: $1 \oplus 0 \oplus 1 = 0$. Кодовое слово $1010101$.

Где ошибаются

  • Ставят биты сообщения подряд в начало, а не на места $3, 5, 6, 7$.
  • Путают, за какими местами следит проверка: в круге бита $2$ места $2, 3, 6, 7$ — у них в двоичной записи единица во втором разряде.
  • В синдроме складывают номера довольных проверок вместо недовольных.
  • При декодировании отвечают всем словом — нужно только четыре бита с мест $3, 5, 6, 7$.

Пример

Главы курса