Циклические коды. Кодер и декодер циклического кода, страница 5

ся регистры сдвига с обратными связями, позволяющие осуществлять как умножение, так и деление многочленов с приведением коэффициентов по модулю 2. Такие регистры также называют многотактными линейными переключательными схемами или линейными кодовыми фильтрами Хаффмена. Они состоят из триггерных ячеек памяти, сумматоров по модулю 2 и устройств умножения на коэффициенты многочленов множителя или делителя. В случае двоичных кодов для умножения на коэффициент, равный 1, требуется только наличие связи в схеме; если коэффициент равен 0, то связь отсутствует. Сдвиг информации в регистре осуществляется импульсами, поступающими с тактового генератора кодера передатчика и синхронизированного с ним генератора декодера на приемной.

В качестве примера рассмотрим схему кодера циклического кода (7, 4), выполненного на базе 4-разрядного регистра на триггерах Т1—Т4 (см. рис. 4.10, а) с использованием порождающего (образующего) многочлена g(x) = х3 + х2 +1 или 111. Схема обратной связи на элементах ИСКЛЮЧАЮЩЕЕ ИЛИ Х1и Х2 соответствует случаю исходного кода а(х) = х3 + 1 или 1001, что при выбранном g(x) соответствует генераторному многочлену h(x) = (х7 + 1)/( х3 + х2 + 1) = х4 + х3 + х2 + 1 или 1111. Исходное состояние генератора слова (фрагмент лицевой панели — на рис. 4.10,б), используемого в качестве источника входного кода, синхронизирующих (с выхода Clk) и управляющих сигналов, отмечено курсором-доской на его дисплее (позиция № 15). В позициях (тактах) 1—4, задаваемых кнопкой STEP, исходный код а(х) = 1001 (см. рис. 4.10, би осциллограмму Ui на рис. 4.10, в) со второго выхода генератора последовательно, начиная со старшего разряда, поступает на вход регистра через элементы ИЛИ OR и И &1, на второй (разрешающий) вход которого поступают сигналы в указанных тактах с первого выхода генератора.

Рис. 4.10. Кодер циклического кода

Начиная с пятого такта, разрешающие сигналы с третьего выхода генератора начинают поступать на элемент И &2. в результате чего на вход регистра начина­ют поступать сигналы обратной связи с X1, Х2. При этом формируется поправочный код 011, который вслед за информационным кодом 1001 поступает в линию связи (осциллограмма Uo на рис. 4.10, в) за счет сдвига информации в регистре под действием синхроимпульсов с генератора. Рассмотренный процесс можно на­блюдать и с помощью индикаторов на логических пробниках k^0—k^3.

В декодере циклического кода, схема которого показана на рис. 4.11, а, в ка­честве входного используется код 1001011, полученный на выходе кодера на рис. 4.10, но с ошибкой в младшем разряде, т. е. 1000011. Этот код поступаете тактах 1—7 с первого выхода генератора (см. его лицевую панель на рис. 4.11,б и осциллограмму Ui на рис. 4.11, в). Поскольку разрешающий сигнал с третьего вы­хода генератора поступает на элемент И &1 только в тактах 1—4, то на буферный регистр на триггерах Т1—Т7 поступает только информационный код 1000, кото­рый в дальнейшем сдвигается вправо. В то же время из-за того, что разрешающий сигнал со второго выхода генератора поступает на элемент И &2 в тактах 1-11, входной код 100001 1 через ИСКЛЮЧАЮЩЕЕ ИЛИ X1 подается на (n – k= 3) – разрядный регистр на триггерах Tlk—T3k, который совместно с Х2, ИЛИ-НЕ ORN образует кодер, также основанный на использовании порождаю­щего многочлена g(х) = х3 + х2 + 1. Выходной код этого кодера с помощью Х3 кор­ректирует выходной код буферного регистра, устраняя возникшую ошибку (см. осциллограмму Uo на рис. 4.11, в).

Кроме осциллографа, процесс работы декодера можно контролировать на каждом такте с помощью индикаторов 0 – 6 и К^0 – К^2.

Рис. 4.11. Декодер циклического кода