КАТЕГОРИИ: Архитектура-(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; Просмотров: 811; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |