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

7.5. Циклические кодеры.

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

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

.

Задав начальные значения в виде

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

(7.8)

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

Рис. 7.1.

Элементами структуры регистра являются ячейки памяти, сумматоры по модулю 2 и перемножители. Информационные символы поступают в кодер по тактам, когда ключ замкнут, а находится в положении 1. Предположим, что на –м интервале времени коэффициенты –го многочлена остатков хранятся в регистре (и, следовательно, доступны для наблюдения в точках ), причем коэффициент при старшей степени содержится в крайней правой ячейке. При поступлении на вход кодера в  й момент времени информационного символа в точке схемы формируется коэффициент , а в точках – коэффициенты полинома согласно рекуррентному соотношению (7.8). Поскольку коэффициенты стоят при степенях, меньше старшей, они фактически являются коэффициентами , значения которых можно наблюдать в точках , и, значит, участвуют в формировании коэффициентов полинома , получаемых в точках . При поступлении –го такта указанные коэффициенты запоминаются в ячейках памяти регистра с тем, чтобы использовать их на этапе рекурсии в качестве коэффициентов .

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

Пример 7.5.1. Кодер (7,4) циклического кода из примера 7.4.1, реализующий алгоритм кодирования (7.8), изображен на рис. 7.2. Таблица, представленная там же, содержит значения информационных символов, состояние регистра и выходные символы. Легко проверить, что для одного и того же информационного полинома результат кодирования, что с помощью кодера (правая колонка таблицы), что при помощи порождающей матрицы примера 7.4.1 будет одинаковым.

Рис. 7.2.

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