Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория / Циклические коды.doc
Скачиваний:
30
Добавлен:
03.07.2018
Размер:
3.42 Mб
Скачать

1.5.1 Кодирование с помощью полинома h(X)

` Требуется построить кодовую комбинацию (т.е определить по указанным информационным символам соответствующие им контрольные символы) и кодер циклического кода на основе полиномаh(x).

В основе данного вида кодирования лежит рекуррентное соотношение, первыеnсимволов которого и являются элементами искомого систематического кода:

(11)

Где hj – коэффициент полинома;

- произвольно выбранные символы (в частностиm– информационных символов) кодовой последовательности.

При использовании соотношения (11) кодовый вектор циклического кода имеет вид:

(12)

Следовательно, контрольными символами являются:

Из (11) имеем:

(11`)

Тогда:

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

Для реализации данного способа кодирования требуется регистр, сдвига с логическими обратными связями, содержащий mячеек памяти. Вид обратной связи полностью определяется полиномомh(x) (смотри соотношение 11 и 11`). На рис.1 приведена обобщенная структурная схема, указанного кодирующего регистра (кодопреобразователя).

Рис.1. Обобщенная структура кодера на основе полинома h(x)

(m2 – сумматор по модулю 2)

Работа устройства. В исходном состоянии регистр записывают mинформационных разрядов. Далее на регистр от генератора тактовых (сдвиговых) импульсов поступаетnимпульсов. С выхода 1-й ячейки памяти (D0) регистра в линию связи поступают кодовые элементы систематического циклического кода, начиная с информационных символов. При этом на каждом такте вm-ю ячейку регистра записывается символ, значение которого определяется на основании выражения (11`).

Пример 7

1.5.2 Кодирование с помощью полинома g(X)

В основе данного метода кодирования лежит тот факт, что кодовый вектор должен делиться без остатка на g(x), т.е.(q(x) – частное от деленияA(x) наg(x)). Нужно преобразовывать кодовый векторA(x), принадлежащий систематическому циклическому коду. ПустьV(x) – произвольно выбранный информационный вектор:

,

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

т.е. индексы при ai совпадают с показателями степениx. Согласно принятому выше определению, информационные символы располагаются при.

Тогда преобразованный вектор:

Согласно алгоритму деления:

Где r(x) – остаток от деления, причем степениr(x) меньше, чемn-m= степень многочленаg(x).

Отсюда:

Следовательно, и есть искомый вектор, у которогоV(x) – информационная часть, аr(x) – избыточная часть.

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

Вид обратной связи полностью определяется полиномом g(x). Обобщенная структурная схема кодера (кодопреобразователя) с предварительным умножением, реализующего данный способ кодирования, приведена на рис.2, в ней регистр выполняет деление векторана полиномg(x).

Рис.2. Обобщенная структурная схема кодера на основе полинома g(x) c с предварительным умножением

Работа схемы. На вход схемы поступают m информационных символов (ключ К1 открыт, К2 закрыт). Чтобы автоматически выполнить умножение вектораV(x) наxk данный вектор подается сразу же на выходk-ой ЯП регистра (Dk). Как показано на рис.2. Одновременно информационные символы поступают в канал связи. Черезmтактов после начала функционирования в регистре записывается остатокr(x)от деления вектора наg(x). На (m+1)-м такте происходит изменение состояния ключей (ключ К1 закрывается, К2открывается) и образовавшиеся проверочные символы выталкиваются из регистра в канал связи вслед за уже переданными информационными символами.

Пример 8

Для перехода от циклического кода с dmin(нечетным), к коду сdmin +1(четным), то есть к коду, исправляющемуsошибок и обнаруживающемуrошибок, достаточно умножить порождающий полином первого кодаg(x)на (1+х), что равносильно введению общей проверки на четность.

В циклических кодах в отличие от групповых кодов при переходе от dmin (нечетного) кdmin+1 (четному) длина кода остается неизменной, а число проверочных символов увеличивается на единицу за счет уменьшения на единицу информационных символов.

Иногда, с целью сохранения информационной емкости системы (m), указанное правило нарушается, т.е. при переходе от кода сdmin(нечетным), к кодуcdmin +1 (четным) длина кодаn, увеличена на 1. В результате в канал посылается код (n+1,m). И в коде (n+1,m) фактическим циклическим кодом является не весь разрядный код, а только его первыеnкомпонентов.

Пример 9