Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Кодирование по коду Хэмминга



Nп/п Исходные информационные комбинации Закодированные комбинации по Хэммингу
  u3 u5 u6 u7 u9 u10 e1 e2 e3 e4 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10
  0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1
  0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0
  0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1
  0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0
  0 0 0 1 0 1 1 0 0 1 0 0 1 1 0 1
  0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0
  0 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1
  0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0
  0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 1
......... ................................... .............................................
  1 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0
  1 1 1 0 1 1 1 1 1 0 1 1 0 0 1 1
  1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0

Декодирование принятых комбинаций кода Хэмминга и исправление одиночных искажений производится в соответствии со следующими преобразованиями.

1. Определение элементов синдрома e , e , e , e

e = u1Å u3Å u5Å u7Å u9

(28)
e = u2Å u3Å u6Å u7Å u10

e = u4Å u5Å u6Å u7

e = u8Å u9Å u10

2. Восстановление искаженной принятой кодовой комбинации кода Хэмминга. Пример: передается разрешенная комбинация кода Хэмминга 1001001101 в исходной информационной двоичной комбинации произошло искажение в третьем (слева направо) разряде искажение и на приемник поступил код 10 1 1001101. Каждый разряд слева направо обозначается буквами u1u2u3u4u5u6u7u8u9u10. Декодирование осуществляется по системе уравнений (28):

e = 1 Å 1 Å 0 Å 1 Å 0 =1

e = 0 Å 1 Å 0 Å 1 Å 1 =1

e = 1 Å 0 Å 0 Å 1 =0

e = 1 Å 0 Å 1 =0

Синдром в этом случае равен 0011, что при переводе в десятичное число означает цифру 3, т.е. 0011 ® 3, это указывает на искажение третьего элемента в принятой кодовой комбинации, который и подлежит исправлению с 1 на 0, что в свою очередь и приводит к восстановлению искаженной кодовой комбинации.

7.1.2.2. Циклические коды. Другой разновидностью систематических кодов являются циклические коды, которые отличаются высокой корректирующей способностью и сравнительной простотой технической реализации.

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

F(x) = an-1xn-1 + an-2xn-2 +... + a1x + a0 (29)

где: x - основание системы счисления;

a0, a1,..., an-1 - коэффициенты системы счисления в двоичной системе (0, 1).

Например, комбинация 100100110 отображается на многочлене (29) в виде:

100100110 ® 1x8 + 0x7 + 0x6 + 1x5 + 0x4 + 0x3 + 1x2 + 1x +0 =

= x8 + x5 + x2 + x.

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

1. Сложение (x5 + x4 + x2 + 1) + (x4 + x3 + x2 + x + 1)

x5 + x4 + 0 + x2 + 0 + 1

Å

0 + x4 + x3 + x2 + x + 0

x5 + 0 + x3 + 0 + x + 1 = x5 + x3 + x + 1

2. Умножение (x4 + x2 + x + 1) (x2 + 1)

x4 + 0 + x2 + x + 1

´

x2+ 1

x4 + 0 + x2 + x + 1

x6+0+x4 + x3+ x2

x6+0+0 + x3 +0 + x + 1 = x6 + x3 + x + 1.

3. Деление (x5+x3+x2+1):(x+1)

x5+0+x3+x2+0+1 ëx+1

x5+x4 ëx4+x3+x+1

x4+x3+x2+0+1

x4+x3

x2+0+1

x2+x

x+1

x+1

0.

Прежде чем приступить к изложению материала по построению циклических кодов, необходимо привести их основные положения.

Циклическим кодом (n, k) называется систематический код, каждая комбинация которого делится без остатка на образующий многочлен P(x) степени r=n-k. Причем каждая кодовая комбинация циклического кода представляется в виде многочлена степени £ n-1.

В качестве образующих многочленов P(x) используются неприводимые многочлены. Неприводимый многочлен это такой многочлен, который делится без остатка только на самого себя или на единицу.

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

1. Выбирается число информационных элементов циклического кода F(x).

2. Выбирается образующий многочлен P(x).

3. Каждая кодовая комбинация простого двоичного множества умножается на xr (Q(x)·xr).

4. Полученное произведение делится на образующий многочлен P(x), , находится частное G(x) и остаток R(x).

5. Определяется кодовый многочлен F(x) циклического кода

F(x) = Q(x)·xr + R(x) (30).

Например: построить кодовую комбинацию циклического кода F(x) с числом информационных элементов k=6. В качестве образующего многочлена определен многочлен вида P(x)=x3+x+1. В этом случае число проверочных элементов r=3 (определяется по степени образующего многочлена).

1. Общее число элементов кодовой комбинации циклического кода равно n=k+r=6+3=9.

2. Образующий многочлен P(x)=x3+x+1.

3. Выбирается комбинация простого двоичного числа исходного множества (любая) Q(x)=010111®x4+x2+x+1 и определяется произведение Q(x)·xr=(x4+x2+x+1)·x3=x7+x5+x4+x3.

4. Определение частного G(x) и остатка R(x)

G(x) + R(x) =

x7+x5+x4+x3 ë x3+x+1

x7+x5+x4 x4+1

0 + 0 +0 + x3

x3+x+1

x+1

Следовательно, G(x)=x4+1; R(x)=x+1.

В соответствии с формулой (30) определяется кодовый многочлен F(x) и кодовая комбинация циклического кода (9,6) в двоичной форме:

F(x)=Q(x)·xr+R(x)=(x7+x5+x4+x3)+(x+1)

F(0,1)=010111 011

где: 010111 - информационные элементы циклического кода k;

011 - проверочные элементы циклического кода r.

В таблице 4.9 приведен пример множества кодовых комбинаций циклического кода F(x)9,6 при образующем многочлене P(x)=x3+x+1.

Образующий многочлен P(x)=x3+x+1; F(x)=Q(x)·xr+R(x)

Таблица 4.9





Дата публикования: 2014-10-25; Прочитано: 743 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.482 с)...