Главная > Помехоустойчивое кодирование > Кодирование с исправлением ошибок в системах цифровой связи
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

2.2.4. Другой метод кодирования циклических кодов

Мы показали, что кодер полиномиального -кода может быть построен в виде регистра сдвига с ячейками, цепи обратной связи которого задаются порождающим многочленом. Иногда более удобной оказывается другая реализация кодера, в. которой используется регистр сдвига с ячейками. Оказывается, что структура этого регистра задается проверочным многочленом

Проиллюстрируем структуру этого кодера на примере уже рассматривавшегося -кода.

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

Эта операция эквивалентна делению на при котором частное появляется в виде последовательных символов в цепи обратной связи. Таким образом, первая строка (2.12) записывается как

Добавляя первую строку (2.12) к последней строке, получаем матрицу

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

Работа кодера (рис. 2.7) начинается с того, что в регистр с отключенной цепью обратной связи заносятся четыре информационных символа. Затем цепь обратной связи включается и регистр сдвигается семь раз. Первые четыре символа, поступающие в канал, являются информационными, а следующие три — проверочными.

Другой способ получения того же результата основан на том, что результат приведения по модулю произведения на произвольное кодовое слово равен 0; в самом деле,

Следовательно, каждый коэффициент полученного многочлена равен 0. Для коэффициента при получаем

Шесть других коэффициентов приводят к аналогичным выражениям, в которых индекс подвергается циклическому сдвигу, как и ранее. Таким образом, коэффициенты образуют правильные проверки на четность, и, используя этот факт, можно непосредственно построить матрицу

Из этих наблюдений можно сделать важный вывод, состоящий в том., что код с порождающим многочленом дуален коду с

Рис. 2.7. Кодер с использованием регистра сдвига, задаваемого многочленом

порождающим многочленом Так, в рассматриваемом примере коды с порождающими многочленами являются дуальными.

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

<< Предыдущий параграф Следующий параграф >>
Оглавление