Скачиваний:
157
Добавлен:
01.05.2014
Размер:
932 Кб
Скачать
☆

7.3. Систематический циклический код.

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

Пример 7.3.1. Возьмем, как и в примере 7.2.2, в качестве порождающего (7.4) двоичный код полином . Информационному сообщению вида (1110) отвечает информационный полином . Тогда кодовый полином , получаемый прямым перемножением и , имеет вид

,

а соответствующее ему слово будет (1000110). Очевидно, что оно представлено не в систематическом виде, поскольку не содержит в начале (или конце) слова последовательность информационных символов.

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

,

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

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

, (7.6)

или, в развернутом виде

.

Пример 7.3.2. Для условий примера 7.3.1 построим кодовый полином в систематической форме согласно (7.6). В этом случае , а остаток от деления на находим из соотношения

.

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

7.4. Порождающая и проверочная матрицы циклического кода.

Задание циклического кода с помощью порождающего или проверочного полинома не исчерпывает всех возможностей задания циклического кода. Как и любой линейный код циклический может быть определен с помощью порождающей и проверочной матрицы. Что касается порождающей матрицы, то ее структура очевидным образом следует из систематической формы представления кодовых полиномов. Рассмотрим элементарных информационных векторов: , , …, . Первым шагом по построению соответствующих им систематических полиномов является нахождение произведений вида , которые в рассматриваемом варианте будут:

, ,…, .

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

,

становятся известными соответствующие им кодовых векторов, которые представимы в виде:

,

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

, (7.7)

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

Пример 7.4.1. Найдем порождающую матрицу (7,4) циклического кода с порождающим полиномом . Для рассматриваемого примера и, значит, , , и . Вычисляя остаток согласно алгоритму, описанному в примере 7.1.3, получаем , и, следовательно, и . Поступая аналогично, можно определить и остальные базисные вектора. Однако не трудно убедиться, что вектора и могут быть получены в результате однократного циклического сдвига вправо и влево соответственно, т.е. и . Нахождение вектора также возможно без нахождения остатка . Оказывается достаточно осуществить циклический сдвиг влево и сложить полученный вектор с исходным: . В итоге имеем

.

Если необходимость построения систематического кода отсутствует, то порождающая матрица может быть построена непосредственно по порождающему полиному : строками матрица служат различных циклических сдвигов –мерного вектора коэффициентов порождающего полинома

.

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

.

Соседние файлы в папке Конспект по ТОИ