Кодирующие устройства для форматов, использующих циклические коды
В форматах FT2, FT3 используются циклические коды. В теории циклических кодов доказывается возможность получения любой кодовой комбинации путем умножения на xk (где k – степень образующего полинома) информационной части комбинации и деления результата на образующий полином p(x). Получающийся при этом остаток r(x)является избыточной частью кодовой комбинации.
Общая значность кодовой комбинации n = m + k.
Рассмотренный алгоритм получения кодовых комбинаций является основой для большинства кодирующих устройств циклического кода, используемых на практике.
Широко распространены регистры сдвига с логической обратной связью (РС с ЛОС). Эти устройства выполняют две основные функции:
- автоматическое умножение входной кодовой комбинации на xk (k – степень полинома p(x));
- автоматическое деление результата умножения на p(x).
Оставшаяся в итоге в РС с ЛОС информация – остаток r(x).
Существует две разновидности РС с ЛОС:
- на базе m-разрядного регистра сдвига (m – число информационных элементов);
- на базе k-разрядного регистра сдвига.
Выбор регистра зависит от конкретной ситуации. На практике, как правило, m > k (как в форматах FT2, FT3), поэтому чаще всего используются РС с ЛОС на базе k-разрядных регистров. Они строятся по следующей обобщенной схеме (рис. 25)
Рис. 25 Регистр сдвига с логической обратной связью
Цепь логической обратной связи коммутируется в зависимости от значения коэффициентов образующего полинома a1 – ak + 1. Если коэффициент равен единице, цепь замыкается; если коэффициент равен нулю, цепь остается разомкнутой. ak+ 1 = 1, так как полином всегда имеет степень k (жесткая коммутация). Обычно также a1 = 1. П1 – Пk – ячейки регистра (как правило, это D-триггеры). Цепи связь между П1 – Пk содержат сумматоры по модулю два.
Рассмотрим принцип работы регистра. Сначала на вход регистра поступают информационные символы. Ключ КЛ1 в это время должен быть замкнут. После m тактов работы в регистре формируется остаток (то есть k контрольных элементов). Далее КЛ1 размыкается (разрыв ОС), а КЛ2 переводится в другое положение. В схеме осуществляется еще k тактов сдвига, в результате чего вся контрольная информация из регистра поступает в канал связи вслед за информационной частью.
Нельзя применять регистр в интегральном исполнении, так как в этом случае связи между ячейками внутри уже существуют, а проектировщику необходимо задать свои.
Пример
Рис. 26
Покажем, что изображенное кодирующее устройство действительно позволяет сформировать некоторый циклический код.
Пусть в некоторый момент времени выдается информационная часть кода am(x) = 1110. Найдем соответствующий ей остаток.
Пока выдаются информационные символы, формируются контрольные элементы. Такты сдвига должны подаваться синхронно (их n).
Табл. 12
Входные символы | Состояние ячеек | Выход | Примечание | ||
П1 | П2 | П3 | |||
– | – | – | – | – | КЛ1 замкнут; КЛ2 – в верхнем положении |
1 | 1 | – | 1 | 1 | |
1 | – | 1 | – | 1 | |
1 | 1 | – | – | 1 | |
0 | – | 1 | – | 0 |
При замкнутом положении ключа КЛ1 и положении 1 ключа КЛ2 формируется остаток при прохождении информационных символов через РС с ЛОС, и информационные символы поступают в канал связи.
После размыкания КЛ1 и переводе КЛ2 в положение 2 остаток поступает в канал связи вслед за информационной частью.