Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Двоичные циклические коды

Лекция 8

Вышеприведенная процедура построения линейного кода матричным методом имеет ряд недостатков. Она неоднозначна (МДР можно задать различным образом) и неудобна в реализации в виде технических устройств. Этих недостатков лишены линейные корректирующие коды, принадлежащие к классу циклических.

Циклическими называют линейные (n,k)-коды, обладающие следующим свойством: для любого кодового слова:

 

 

существует другое кодовое слово:

полученное циклическим сдвигом элементов исходного кодового слова ||КС|| вправо или влево, которое также принадлежит этому коду.

Для описания циклических кодов используют полиномы с фиктивной переменной X.

Например, пусть кодовое слово ||КС|| = ||011010||.

Его можно описать полиномом

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

Наибольшая степень фиктивной переменной X в слагаемом с ненулевым коэффициентом называется степенью полинома. В вышеприведенном примере получился полином 4-й степени.

Теперь действия над кодовыми словами сводятся к действиям над полиномами. Вместо алгебры матриц здесь используется алгебра полиномов.

Рассмотрим алгебраические действия над полиномами, используемые в теории циклических кодов. Суммирование полиномов разберем на примере С(Х)=А(Х)+В(Х).

 

Пусть

||A|| = ||011010||, ||В|| = ||110111|.

Тогда

---------------------------------------------------------------

 

Таким образом, при суммировании коэффициентов при X в одинаковой степени результат берется по модулю 2. При таком правиле вычитание эквивалентно суммированию.

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

Рассмотрим умножение на примере умножения полинома (X3+X1+X0)

на полином X1+X0

 

X3 + 0*X2+X1+X0

*

X1+X0

---------------------------------------------------

X3+ 0*X2+X10

X4+0*Х3+ X21

____________________________________

Х4+ X3+ X2+0*X1+X0

 

Операция - обратная умножению -деление. Деление полиномов выполняется как обычно, за исключением того, что вычитание выполняется по модулю 2. Вспомним, что вычитание по модулю 2 эквивалентно сложению по модулю 2

Пример деления полинома X6+X4+X3 на полином X3+X2+1

X6+0*X5+X4 + X3+0*X2+0*X1+0 | X3+X2+1

X6+ X5+0*X4 + X3 результат== | X3 +X2

-----------------------------------

X5 +X4 + 0*X3+0*X2

X5 +X4 + 0*X3+ X2

----------------------------------------

остаток== X2 = 100

Циклический сдвиг влево на одну позицию коэффициентов полинома степени n-1 получается путем его умножения на X с последующим вычитанием из результата полинома Xn+1, если его порядок > п.

Проверим это на примере.

Пусть требуется выполнить циклический сдвиг влево на одну позицию

коэффициентов полинома

C(X)=X53+X2+1 → (101101)

В результате должен получиться полином

C1(X)=X43+X1+1 → (011011)

Это легко доказывается:

C1(X)=C(X)*X-(X6+1)=(X64+X3+X)+(X6+1)=X43+X1+1

В основе циклического кода лежит образующий полином r -го порядка (напомним, что r - число дополнительных разрядов). Будем обозначать его gr(X).

Образование кодовых слов (кодирование) КС выполняется путем умножения информационного полинома с коэффициентами, являющимися информационной последовательностью И(Х) порядка i<k на образующий полином gr(X)

КСr+k(Х)=gr(X)+ИСk(Х).

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

ПКС(Х)=КС(Х)+ВО(Х).

где ВО(Х) - полином вектора ошибки, а суммирование, как обычно, ведется по модулю 2.

Декодирование, как и раньше начинается с нахождения опознавателя, в данном случае в виде полинома ОП(Х). Этот полином вычисляется как остаток от деления полинома принятого кодового слова ПКС(Х) на образующий полином g(Х):

 
 

Первое слагаемое остатка не имеет, т.к. кодовое слово было образовано путем умножения полинома информационной последовательности на образующий полином. Следовательно, и в данном случае опознаватель полностью зависит от вектора ошибки.

Образующий полином выбирается таким, чтобы при данном r как можно большее число отношений ВО(Х)/g(Х) давало различные остатки.

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

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

Этот недостаток был устранен следующим образом.

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

Эти дополнительные разряды предлагается находить по следующей формуле:

Порядок полинома ДР(Х) гарантировано меньше r (поскольку это остаток).

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

 
 

Одним из свойств циклических линейных кодов является то, что результат деления любого разрешенного кодового слова КС на образующий полином также, является разрешенным кодовым словом.

Покажем, что получаемые по вышеприведенному алгоритму кодовые слова являются кодовыми словами циклического линейного кода. Для этого нужно убедиться в том, что произвольное разрешенное кодовое слово делится на образующий полином g(X) без остатка:

 
 

 

Рассмотрим первое слагаемое:

где d(Х) - целая часть результата деления.

Подставим полученную сумму на место первого слагаемого:

 

 
 

Суммирование последних двух слагаемых дает нулевой результат (напомним, что суммирование выполняется по модулю 2).

Значит

 
 

- целая часть деления. Остатка нет. Это означает, что описанный выше способ кодирования соответствует циклическому коду.

 

<== предыдущая лекция | следующая лекция ==>
Обнаружение и исправление ошибок в коде Хэмминга | Некоторые свойства циклических кодов
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 369; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.