Сначала номер каждого разряда кодируется в виде двоичной последовательности. При этом для кодирования позиции символа в кодовой комбинации необходимо разрядов:
r >= log 2 n.
Затем составляются проверочные уравнения следующим образом:
В каждое j проверочное уравнение включаются те разряды a 1.. аn, в которых стоит 1 в j-м (j=1, r) позиции номера m = xr … xj…x 1.
Из проверочных уравнений определяются номера проверочных разрядов.
xr … x 1 | |
a 1 | 0…001 |
a 2 | 0…010 |
… | … |
aj | … |
… | … |
an | 1…111 |
Проверочные разряды размещаются внутри кодовых комбинаций. Позиции проверочных разрядов в кодовом слове:
Выделяются те разряды a 1.. аn, которые появляются однократно во всех проверочных уравнениях.
При однократной ошибке в i-м разряде синдром xr … x 1 показывает двоичный код числа i - номер ошибочного разряда.
Пример. Построить 7-разрядный код Хэмминга.
n=7, 2< log 27 < 3, т.е. r =3:
a1 1| 001
a2 2| 010
a3 3| 011
a4 4| 100
a5 5| 101
a6 6| 110
a7 7| 111
Проверочные уравнения:
1-е проверочное уравнение формируется из тех номеров, где младший разряд (1) содержит единицу:
|
|
r1= a1 a3 a5 a7
2-е проверочное уравнение формируется из тех номеров, где средний разряд (2) содержит единицу:
r2= a2 a3 a6 a7
3-е проверочное уравнение формируется из тех номеров, где старший разряд (3) содержит единицу:
r3= a4 a5 a6 a7
Выделяются те разряды, которые появляются однократно во всех проверочных уравнениях: а1, а2, а4.
Из проверочных уравнений, находим значения проверочных разрядов:
а1=a3 a5 a7
а2=a3 a6 a7
а4=a5 a6 a7
Таким образом, кодовая комбинация кода Хэмминга:
а1а2 а3 а4 а5 а6 а7
Пример. Пусть имеется информационная последовательность:
а3 а5 а6 а7
1 1 0 0
Получим проверочные разряды:
а1=1 1 0=0
а2=1 0 0=1
а4=1 0 0=1
На передающей стороне:
12 3 4 567
А: 01 1 1 100
r1= a1 a3 a5 a7=0 1 1 0=0
r2= a2 a3 a6 a7=1 1 0 0=0
r3= a4 a5 a6 a7=1 1 0 0=0