Методичні вказівки до лабораторних занять з дисципліни «прикладна теорія цифрових автоматів», страница 8

Після прийому коду зробимо контроль по парності окремо у кожній контрольній групі. Якщо код був прийнятий вірно, то в усіх контрольних групах кількість одиниць буде парною. Якщо в будь-якому розряді при передачі коду була допущена помилка, то у тих контрольних групах, в які цей розряд входить, кількість одиниць виявиться непарною. Але будь-який розряд коду входить до тих контрольних груп, що відповідають одиницям у його номері, записаному у двійковій системі. Отже, за результатами контролю, проведеного у контрольних групах, можна одержати інформацію про номер розряду, прийнятого невірно. Змінивши цифру цього розряду на протилежну, отримаємо правильний код.

Можна побудувати такий код, що виявляв би подвійні помилки та виправляв поодинокі. Для цього до коригуючого коду, розрахованого на виправлення поодиноких помилок, потрібно приписати ще один контрольний розряд (розряд подвійного контролю). Повна кількість розрядів коду при цьому буде рівна m+k+1, де m – кількість інформаційних розрядів, k визначається за таблицею 1.4. Цифра у розряді подвійного контролю встановлюється така, щоб загальна кількість одиниць в усіх m+k+1 розрядах коду була парною. Цей розряд не включається у загальну нумерацію розрядів та не входить ні в одну контрольну групу .

Таблиця 1.4 – Коди Хемінга для m=4

Звичайний запис числа

Зображення в коригуючому коді

Десятковий

Двійковий

Номер розряду

ПК

7 6 5 4 3 2 1

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

0 0 0 0 0 0 0

0 0 0 0 1 1 1

0 0 1 1 0 0 1

0 0 1 1 1 1 0

0 1 0 1 0 1 0

0 1 0 1 1 0 1

0 1 1 0 0 1 1

0 1 1 0 1 0 0

1 0 0 1 0 1 1

1 0 0 1 1 0 0

1 0 1 0 0 1 0

1 0 1 0 1 0 1

1 1 0 0 0 0 1

1 1 0 0 1 1 0

1 1 1 1 0 0 0

1 1 1 1 1 1 1

0

1

1

0

1

0

0

1

0

1

1

0

1

0

0

1