Вы находитесь на странице: 1из 4

СОСТАВИТЬ ПОРОЖДАЮЩУЮ МАТРИЦУ КОДА ХЕММИНГА ДЛЯ СООБЩЕНИЯ ИЗ 150 СЛОВ.

1. Определение числа информационных символов, т.е. минимальной длины кодового слова (кода
Фано - код без возможности исправления ошибки).

N=150 . k=log 2 ( N ) , k =log 2 ( N )=7<log 2 (150 )<8 . Т.к. 27=128, 28=256. k =8 .

2. Определение числа проверочных символов. Для этого используется неравенство Хемминга.

2m≥l+1=k +m+1=9+ m , m=4→24 =16 >9+ 4=13 . m=4 .

l=k +m=12 - полная длина каждого кодового слова.

3. Построение матрицы по информационным символам. Эта матрица должна состоять из линейно


независимых строк и столбцов.

3 5 6 7 9 10 11 12
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1

4. Определение проверочных символов.

β 1 β2 β 3 β 4 β5 β6 β7 β 8 β 9 β10 β 11 β12 .

0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
Группируем символы

β 1 β3 β 5 β 7 β 9 β 11
β 2 β3 β6 β7 β10 β 11
β 4 β 5 β 6 β 7 β 12
β 8 β 9 β 10 β 11 β 12

В качестве проверочных выбираются первые символы каждой группы. В качечиве


информационных выбираются остальные символы.

Каждый проверочный символ определяется в виде двоичной суммы информационных символов


своей группы. Это делается для каждого кодового слова.

1-е слово: 111000000000.

β 1=β 3 + β5 + β 7 + β 9 + β11 =1
β 2=β 3 + β 6 +β 7 + β 10 +β 11=1
β 4 =β 5 + β 6 + β 7 + β 12=0
β 8 =β 9 + β 10+ β11 + β12=0

2-е слово: 100110000000.

β 1=β 3 + β5 + β 7 + β 9 + β11 =1
β 2=β 3 + β 6 + β 7 + β 10 + β 11=0
β 4 =β 5 + β 6 + β 7 + β 12=1
β 8 =β 9 + β 10+ β11 + β12=0

3-е слово: 010101000000

β 1=β 3 + β5 + β 7 + β 9 + β11 =0
β 2=β 3 + β 6 + β 7 + β 10 +β 11=1
β 4 =β 5 + β 6 + β 7 + β 12=1
β 8 =β 9 + β 10+ β11 + β12=0

4-е слово: 110100100000

β 1=β 3 + β5 + β 7 + β 9 + β11 =1
β 2=β 3 + β 6 + β 7 + β 10 +β 11=1
β 4 =β 5 + β 6 + β 7 + β 12 =1
β 8 =β 9 + β 10+ β11 + β12 =0
5-е слово: 100000011000

β 1=β 3 + β5 + β 7 + β 9 + β11 =1
β 2=β 3 + β 6 + β 7 + β 10 + β 11=0
β 4 =β 5 + β 6 + β 7 + β 12=0
β 8 =β 9 + β 10+ β11 + β12=1

6-е слово: 010000010100

β 1=β 3 + β5 + β 7 + β 9 + β11 =0
β 2=β 3 + β 6 + β 7 + β 10 +β 11=1
β 4 =β 5 + β 6 + β 7 + β 12=0
β 8 =β 9 + β 10+ β11 + β12=1

7-е слово: 110000010010

β 1=β 3 + β5 + β 7 + β 9 + β11 =1
β 2=β 3 + β 6 + β 7 + β 10 +β 11=1
β 4 =β 5 + β 6 + β 7 + β 12=0
β 8 =β 9 + β 10+ β11 + β12=1

8-е слово: 000100010001

β 1=β 3 + β5 + β 7 + β 9 + β11 =0
β 2=β 3 + β 6 + β 7 + β 10 + β 11=0
β 4 =β 5 + β 6 + β 7 + β 12=1
β 8 =β 9 + β 10+ β11 + β12=1

5. Построение полной порождающей матрицы кода.


1-е слово: 111000000000. 6-е слово: 010000010100
2-е слово: 100110000000. 7-е слово: 110000010010
3-е слово: 010101000000 8-е слово: 000100010001
4-е слово: 110100100000
5-е слово: 100000011000
1 1 1 0 0 0 0 0 0 0 0 0
1 0 0 1 1 0 0 0 0 0 0 0
0 1 0 1 0 1 0 0 0 0 0 0
1 1 0 1 0 0 1 0 0 0 0 0
1 0 0 0 0 0 0 1 1 0 0 0
0 1 0 0 0 0 0 1 0 1 0 0
1 1 0 0 0 0 0 1 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
Расстояние между 1-й и 4-й строками равно 3. Это минимальное расстояние. Проверьте.
Чтобы можно было обнаружить и исправить одну ошибку, расстояние должно быть (2x1+1=3).

Примем ошибочное слово. 4- слово с ошибкой: 111100100000.

β 1 + β 3 + β 5 + β 7 + β 9 + β 11 =1+ 1+ 0+1+0+0=1
β 2 + β 3 + β 6 + β7 + β 10+ β11 =1+1+0+1+0+ 0=1
β 4 + β5 + β 6 + β 7 + β12=1+0+0+1+0=0
β 8 + β 9 + β10 + β 11 + β 12=0+ 0+0+0+ 0=0

0011- ошибка в третьем символе. Потому что 0011- это 3 в двоичной системе.

110100100000. - ошибка исправлена.

Иногда при формировании групп символов в последнюю группу попадают только два символа.

β i β j . В этом случае первый символ группы, как обычно, объявляется проверочным -


βi - в
нашем случае. Тогда для определения первого символа, он просто принимается равным
следующему символу группы, т.е. β i=β j .

Вам также может понравиться