Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на экзаменационные билеты (2).docx
Скачиваний:
67
Добавлен:
28.06.2014
Размер:
1.58 Mб
Скачать

35. Циклический код. Математическое введение. Выбор образующего многочлена по требуемой корректирующей способности кода.

Целью изучения темы «Циклический код» (Ц.К.) является формирование умений не только проектировать, но и технически реализовать Ц.К. Циклический код представляет собой разновидность группового кода и не отличается от него по уровню помехозащищенности, но благодаря простоте технической реализации нашел широкое применение.

Циклические коды незаменимы при необходимости передавать информацию в каналах связи, в которых отсутствует возможность повторной передачи данных. Циклические коды применяются при записи и считывании на HDD, CD и DVD, при использовании USB-портов для обмена информацией, при передаче аудио и видео информации.

Разрешенную кодовую комбинацию Ц.К. можно рассматривать как элемент подмножества множества многочленов степени не выше (n – 1). Для анализа Ц.К. используется аппарат теории колец.

Коммутативным кольцом называется множество, в котором определены две операции: сложение и умножение.

Обе коммутативны, то есть:

; ;

ассоциативны, то есть:

; ;

и связаны законом дистрибутивности:

.

Чтобы наше замкнутое множество многочленов (n – 1) степени образовало кольцо, определим правила выполнения этих операций:

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

2. Операция умножения по обычным правилам не проходит, так как нарушается условие замкнутости: . Поэтому вводится операциясимволического умножения по следующим правилам:

  • умножение осуществляется по обычным правилам с приведением подобных членов путем сложения по модулю два;

  • если полученный многочлен имеет степень меньше чем (n – 1), то он и принимается за результат умножения, если же степень больше чем (n – 1), то он делится на двучлен c записью в качестве результата умножения остатка от деления.

Так получается и при сдвиге с переносом единицы из старшего разряда в младший. Имеем:

.

После сдвига, соответствующего умножению на x, получим: , что недопустимо, так какx7 имеет степень более разрешенной xn–1, в данном случае соответствует x6.

Поделим на многочлен.

Получим в остатке R(x):

В качестве результата умножения принимаем R(x), что соответствует переносу единицы из старшего разряда в младший.

При выбранных операциях ивсе множество многочленов степенью ≤ (n – 1) образуют кольцо. Подмножество многочленов в кольце, кратных образующему многочленуg(x), называется идеалом, порождаемым g(x).

Количество элементов в идеале зависит от вида g(x).

  1. Если g(x) = 0, то в идеале всего один элемент «0».

  2. Если g(x) = 1, то в идеал входят все элементы кольца.

  3. Если g(x) многочлен степени m = nk, то число элементов в идеале – 2k. Эти элементы и есть искомый нами Ц.К.

Поэтому построение Ц.К. сводится к выбору образующего многочлена g(x) с заданными корректирующими способностями.

Требования к образующему многочлену Ц.К.

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

,

где c = 1, если максимальная степень многочлена больше (n – 1);

c = 0, если имеет степень <n.

делится на g(x) без остатка.

Поэтому, чтобы ƒi(x) делилось на g(x) без остатка, необходимо, чтобы делилось наg(x) тоже без остатка.

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

Наибольшее число остатков дает неприводимый многочлен степени «m», когда m; n и k связаны между собой условиями: m = nk, а n = 2m – 1. Рассмотрим выбор g(x) в разных условиях.

Число проверочных разрядов – «m» и вид образующего многочлена g(x) зависят от числа ошибок, которые необходимо исправлять.

Вектор двойных ошибок можно записать:

,

где λ = ij> 0, аi>j.

Для того, чтобы обнаруживать двойные ошибки, необходимо, чтобы при делении ei+j(x) наg(x) мы имели остаток.

Но это условие всегда выполняется, если в качестве g(x) взятьмногочлен, предназначенный для исправления одиночных ошибок, так как он не кратенX jи не входит в разложение (xλЕ 1), если λ <n.

Это тем более объяснимо, что для обнаружения двойных ошибок (R= 2), необходимо, чтобы минимальная дистанция между Р.К.К. былаdR+ 1 = 2 + 1 = 3, что соответствует исправлению одиночной ошибкиd≥ 2S+ 1 = 2 · 1 + 1 = 3.

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