Кодирование информации при передаче с помехами код хемминга
Код Хемминга содержит i информационных разрядов и k избыточных (проверочных) разрядов. Для каждого числа i можно рассчитать количество избыточных разрядов.
Д
0
0
0
0
0
1
0
0
0
1
2
0
0
1
0
3
0
0
1
1
4
0
1
0
0
5
0
1
0
1
6
0
1
1
0
7
0
1
1
1
8
1
0
0
0
9
1
0
0
1
10
1
0
1
0
11
1
0
1
1
12
1
1
0
0
Проверочные биты располагаются в позициях числа, соответствующих степеням числа 2, т.е. – 1, 2, 4, 8, и т.д.
В оставшиеся 8 бит записываем 8 информационных разрядов передаваемого кода (например: 11011101).
Проверочные биты должны дополнять количество информационных единиц до четности в тех разрядах, где номерам битов соответствуют единицы в номерах разрядов.
12
11
10
9
8
7
6
5
4
3
2
1
1
1
0
1
1
1
1
0
1
1
0
0
Первая проверка осуществляется в разрядах: 1, 3, 5, 7, 9, 11.
Вторая проверка осуществляется в разрядах: 2, 3, 6, 7, 10, 11.
Третья проверка осуществляется в разрядах: 4, 5, 6, 7, 12.
Четвертая проверка осуществляется в разрядах: 8, 9, 10, 11, 12.
Допустим при передаче произошел сбой, т.е. 6-й символ изменился на противоположный (из 1 в 0).
На приемной стороне проверки производятся в тех же разрядах.
Первая проверка – 4 единицы, т.е. проверочный бит, дополняющий количество единиц до четности, равен 0.
Вторая проверка – 3 единицы, проверочный бит равен 1.
Третья проверка – 3 единицы, проверочный бит равен 1.
Четвертая проверка – 4 единицы, проверочный бит равен 0.
Комбинация проверочных битов – 0110 – указывает на номер ошибочного бита, который необходимо проинвертировать для восстановления переданного символа.
