Блочные коды с коррекцией ошибок, страница 5

• Если синдром содержит более одного бита со значением 1, он является указателем на положение ошибки в слове для исправления которой  указанный бит инвертируется.

    Для получения заданных характеристик контрольные биты и биты данных следующим образом комбинируются в n – битовый блок. Начиная с младшего(крайнего правого) разряда через промежутки, которые, соответствуют степеням 2 (т.е. на позиции 1,2,4…2(n-k)), вводятся контрольные биты Хэмминга. Оставшиеся позиции заполняются битами данных. Для расчета контрольных битов каждый бит данных со значением 1 представляется двоичным значением, соответствующим его положению в последовательности. Таким образом, если 9-й бит равен 1, то соответствующее ему значение – 1001. Затем ко всем битам последовательности применяют операцию исключающего ИЛИ, в результате получают биты кода Хэмминга. В приемнике операция исключающего ИЛИ применяется ко всем элементам последовательности со значением 1. В этом случае операция применяется и к контрольным битам, и к битам данных. Поскольку положение контрольных битов определяется степенями 2, операцию исключающего ИЛИ можно применить ко всем информационным элементам последовательности, имеющим значение 1, и коду Хэмминга (состоящему из контрольных битов). Ошибки отсутствуют, если результатом операции будет 0. Если результат отличен от нуля – он представляет собой синдром, значение которого соответствует положению ошибочного бита.

Таблица 2 Расположение битов данных и контрольных битов

а) переданный блок

Разряд

12

11

10

9

8

7

6

5

4

3

2

1

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

11

00

10

11

10

10

10

01

10

00

01

11

01

10

01

01

01

00

00

11

00

10

00

01

Биты данных

D8

D7

D6

D5

D4

D3

D2

D1

Контрольный бит

C8

C4

C2

C1

Переданный блок

0

0

1

1

0

1

0

0

1

1

1

1

Коды

10

10

10

01

01

11

00

11

б) Расчет контрольных битов перед передачей сигнала

Разряд

Код

       10

1010

9

1001

              Разряд

 Код                     

                   7

0111

                    3

0011

Исключающее ИЛИ=С8 С4 С2 С1

0111

в) полученный блок

Разряд

12

11

10

9

8

7

6

5

4

3

2

1

Номер

 разряда

11

00

10

11

10

10

10

01

10

00

01

11

01

10

01

01

01

00

00

11

00

10

00

01

Биты данных

D8

D7

D6

D5

D4

D3

D2

D1

Контрольный бит

C8

C4

C2

C1

Переданный

 блок

0

0

1

1

0

1

1

0

1

1

1

1

Коды

10

01

10

01

01

11

01

10

00

11

г) Расчет контрольных битов после приема сигнала

Разряд

Код

10

0111

9

1010

7

0111

6

0110

3

0011

Исключающее ИЛИ = синдром

0111