2.2.4. Другой метод кодирования циклических кодов
Мы показали, что кодер полиномиального
-кода может быть построен в виде регистра сдвига с
ячейками, цепи обратной связи которого задаются порождающим многочленом. Иногда более удобной оказывается другая реализация кодера, в. которой используется регистр сдвига с
ячейками. Оказывается, что структура этого регистра задается проверочным многочленом
Проиллюстрируем структуру этого кодера на примере уже рассматривавшегося
-кода.
В подразд. 2.2.2 было отмечено, что проверочную матрицу кода, порожденного многочленом
можно получить, подав на вход регистра сдвига с обратной связью символ 1 и произведя семь сдвигов. В результате получится матрица
Эта операция эквивалентна делению
на
при котором частное появляется в виде последовательных символов в цепи обратной связи. Таким образом, первая строка (2.12) записывается как
Добавляя первую строку (2.12) к последней строке, получаем матрицу
в которой каждая строка — результат циклического сдвига первой строки. Таким образом, каждый проверочный символ матрицы является одной и той же линейной комбинацией четырех стоящих от него справа символов. Поэтому для построения кодера можно использовать схему, показанную на рис. 2.7. Обратная связь в ней задается проверочным многочленом
(предполагаем, что
В общем случае кодов над GF (q) член обратной связи из
ячейки умножается на
меняется от 0 до
и сумматор является сумматором в поле
Предполагается, что ячейка наименьшего порядка изображена на этом рисунке справа.
Работа кодера (рис. 2.7) начинается с того, что в регистр с отключенной цепью обратной связи заносятся четыре информационных символа. Затем цепь обратной связи включается и регистр сдвигается семь раз. Первые четыре символа, поступающие в канал, являются информационными, а следующие три — проверочными.
Другой способ получения того же результата основан на том, что результат приведения по модулю
произведения
на произвольное кодовое слово равен 0; в самом деле,
Следовательно, каждый коэффициент полученного многочлена равен 0. Для коэффициента при
получаем
Шесть других коэффициентов приводят к аналогичным выражениям, в которых индекс
подвергается циклическому сдвигу, как и ранее. Таким образом, коэффициенты
образуют правильные проверки на четность, и, используя этот факт, можно непосредственно построить матрицу
Из этих наблюдений можно сделать важный вывод, состоящий в том., что код с порождающим многочленом
дуален коду с
Рис. 2.7. Кодер с использованием регистра сдвига, задаваемого многочленом