Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Циклические коды




Коды Хемминга

В отличие от канонического систематического кода, в коде Хемминга информационные и проверочные биты не разнесены в отдельные подматрицы, а чередуются. Если биты кодовой комбинации пронумеровать, начиная с 1, слева направо, то контрольными (проверочными) оказываются биты с номерами 1, 2, 4, 8 и т.д. – все остальные являются информационными. Цель этих перестановок – сделать так, чтобы синдром ошибки непосредственно указывал на локализацию ошибок, миную промежуточную таблицу соответствия синдромов и ошибок. Код Хемминга начинают строить с проверочной матрицы H, так как ее вид очевиден: столбцы проверочной матрицы представляют собой набор синдромов, соответствующих двоичному представлению номера столбца. Затем строят порождающую матрицу G, исходя из того, что матрицы H и G ортогональны, т.е. скалярное произведение каждой строки матрицы G на каждую строку матрицы H равно нулю, то есть

 

H´ GT = 0 и G´ HT = 0.

Построим код Хемминга для (7,4)-кода. Чтобы синдром ошибки указывал на место ошибки, проверочная матрица должна иметь вид:

 

В ней на 1-м, 2-м и 4-м местах стоят столбцы единичной матрицы, а на остальных – столбцы, соответствующие информационным разрядам кода. Выделим подматрицу, соответствующую информационным разрядам:

 

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

 

Поставим столбцы матрицы P на 1, 2 и 4-е место, а остальные столбцы будут столбцами единичной матрицы. Получим порождающую матрицу кода Хемминга:

.

Закодируем по Хеммингу входную комбинацию m = [0 0 1 1].

 

Проверим кодовое слово, вычислив синдром:

.

Синдром нулевой, следовательно, получена разрешенная кодовая комбинация. Предположим, что произошла ошибка в третьем разряде и принята кодовая комбинация û=[1 0 1 0 0 1 1]. Вычислим синдром:

.

Синдром представляет собой двоичное число 3, что локализует ошибку в третьем разряде.

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

Решение:

Порождающая матрица (8, 3)-кода уже была получена:

 

Представим ее в каноническом виде, переставив столбцы:

 

Выделим проверочную подматрицу:

и транспонируем ее:

Составим проверочную матрицу (8,3)-кода:

. Код построен.

Название кодов произошло от их свойства, заключающегося в том, что каждая кодовая комбинация может быть получена путем циклической перестановки символов комбинации, принадлежащей этому же коду. Это значит, что если, например, комбинация a0 a1 a2 … an-1 является разрешенной, то комбинация an-1a0 a1 a2 … an-2 также является разрешенной. Циклические коды обычно имеют полиномиальное представление, означающее, что бинарные элементы кодового слова a0 a1 a2 … an-1 интерпретируются как коэффициенты полинома от некоторой фиктивной переменной х: f(x)=an-1xn-1 + an-2xn-2 +…+ a2x2+a1x + a0

Например, кодовое слово 11010 представляется в виде полинома x4+x3+x.

Наибольшая степень х в слагаемом с ненулевым коэффициентом называется степенью полинома. Таким образом, в полиноме степени n-1 старший коэффициент an-1 равен 1.

Действия над кодовыми комбинациями сводятся к действиям над полиномами. Причем операция сложения производится по модулю 2. Множество таких полиномов и действий над ними образуют т.н. поле Галуа порядка 2 (обозначается GF(2)).

Циклический сдвиг коэффициентов полинома получается умножением полинома на x с одновременным сложением с двучленом xn+1. Действительно, пусть

 

f(x)=1•xn-1+an-2xn-2 +…+a2x2+a1x+a0.

 

Тогда f(x)•x + (xn+1) = xn+an-2xn-1+ … +a2x3+a1x2+a0x + xn+1 =

= an-2xn-1+ … +a2x3+a1x2+a0x +1

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

u1(x) = g(x)

u2(x) = g(x)∙x + (xn+1)

u3(x) = u2(x)∙x + (xn+1) = g(x)∙x2 + (xn+1)(x+1)

un(x) = g(x)∙xn-1 + (xn+1)(xn-2+xn-3+…+1)

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

Основные свойства циклических кодов:

1. В циклическом (n,k)- коде каждый кодовый полином должен иметь степень не более n-1.

2. Существует полином g(x) степени (n-k) вида

 

g(x)=xn-k+gn-k-1xn-k-1+…+g2x2+g1x+1,

называемый порождающим полиномом кода.

3. Каждый кодовый полином u(x) является кратным g(x), то есть u(x) = m(x)•g(x).




Поделиться с друзьями:


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


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



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




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