- •1. Циклические коды (цк)
- •1.1 Циклические корректирующие коды
- •1.2 Построение цк
- •1.3 Определение параметров цк(цск) по m,s,r
- •1.4 Определение параметров цк, обеспечивающих заданную вероятность передачи по каналу с шумом
- •1.5 Кодеры цск
- •1.5.1 Кодирование с помощью полинома h(X)
- •1.5.2 Кодирование с помощью полинома g(X)
- •1.6 Декодеры цск
- •1.6.1 Декодеры Меггита
- •1.6.1.1 Режим исправления и обнаружения ошибок
- •1.6.1.2 Режим обнаружения ошибок
- •1.7 Примеры
- •1.7.1 Пример 1
- •1.7.2 Пример 2
- •1.7.3 Пример 3
- •1.7.4 Пример 4
- •1.7.5 Пример 5
- •1.7.7 Пример 7
- •1.7.8 Пример 8
- •1.7.9 Пример 9
- •1.7.10 Пример 10
- •1.7.11 Пример 11
- •1.8 Справочные материалы
- •1.8.1 Теоремы бчх
- •1.8.2 Таблица неприводимых многочленов
1.5.1 Кодирование с помощью полинома h(X)
` Требуется построить кодовую комбинацию (т.е определить по указанным информационным символам соответствующие им контрольные символы) и кодер циклического кода на основе полиномаh(x).
В основе данного вида кодирования лежит рекуррентное соотношение, первыеnсимволов которого и являются элементами искомого систематического кода:
(11)
Где hj – коэффициент полинома;
- произвольно выбранные символы (в частностиm– информационных символов) кодовой последовательности.
При использовании соотношения (11) кодовый вектор циклического кода имеет вид:
(12)
Следовательно, контрольными символами являются:
Из (11) имеем:
(11`)
Тогда:
Таким образом, вид кодового вектора, посылаемого в линию связи, начиная с информационных разрядов, такой
Для реализации данного способа кодирования требуется регистр, сдвига с логическими обратными связями, содержащий mячеек памяти. Вид обратной связи полностью определяется полиномомh(x) (смотри соотношение 11 и 11`). На рис.1 приведена обобщенная структурная схема, указанного кодирующего регистра (кодопреобразователя).
Рис.1. Обобщенная структура кодера на основе полинома h(x)
(m2 – сумматор по модулю 2)
Работа устройства. В исходном состоянии регистр записывают mинформационных разрядов. Далее на регистр от генератора тактовых (сдвиговых) импульсов поступаетnимпульсов. С выхода 1-й ячейки памяти (D0) регистра в линию связи поступают кодовые элементы систематического циклического кода, начиная с информационных символов. При этом на каждом такте вm-ю ячейку регистра записывается символ, значение которого определяется на основании выражения (11`).
Пример 7
1.5.2 Кодирование с помощью полинома g(X)
В основе данного метода кодирования лежит тот факт, что кодовый вектор должен делиться без остатка на g(x), т.е.(q(x) – частное от деленияA(x) наg(x)). Нужно преобразовывать кодовый векторA(x), принадлежащий систематическому циклическому коду. ПустьV(x) – произвольно выбранный информационный вектор:
,
При рассмотрении данного метода в отличие от предыдущего кодовый вектор циклического кода имеет вид:
т.е. индексы при ai совпадают с показателями степениx. Согласно принятому выше определению, информационные символы располагаются при.
Тогда преобразованный вектор:
Согласно алгоритму деления:
Где r(x) – остаток от деления, причем степениr(x) меньше, чемn-m= степень многочленаg(x).
Отсюда:
Следовательно, и есть искомый вектор, у которогоV(x) – информационная часть, аr(x) – избыточная часть.
При реализации данного способа кодирования требуется регистр сдвига с логическими обратными связями, содержащий kячеек памяти.
Вид обратной связи полностью определяется полиномом g(x). Обобщенная структурная схема кодера (кодопреобразователя) с предварительным умножением, реализующего данный способ кодирования, приведена на рис.2, в ней регистр выполняет деление векторана полиномg(x).
Рис.2. Обобщенная структурная схема кодера на основе полинома g(x) c с предварительным умножением
Работа схемы. На вход схемы поступают m информационных символов (ключ К1 открыт, К2 закрыт). Чтобы автоматически выполнить умножение вектораV(x) наxk данный вектор подается сразу же на выходk-ой ЯП регистра (Dk). Как показано на рис.2. Одновременно информационные символы поступают в канал связи. Черезmтактов после начала функционирования в регистре записывается остатокr(x)от деления вектора наg(x). На (m+1)-м такте происходит изменение состояния ключей (ключ К1 закрывается, К2открывается) и образовавшиеся проверочные символы выталкиваются из регистра в канал связи вслед за уже переданными информационными символами.
Пример 8
Для перехода от циклического кода с dmin(нечетным), к коду сdmin +1(четным), то есть к коду, исправляющемуsошибок и обнаруживающемуrошибок, достаточно умножить порождающий полином первого кодаg(x)на (1+х), что равносильно введению общей проверки на четность.
В циклических кодах в отличие от групповых кодов при переходе от dmin (нечетного) кdmin+1 (четному) длина кода остается неизменной, а число проверочных символов увеличивается на единицу за счет уменьшения на единицу информационных символов.
Иногда, с целью сохранения информационной емкости системы (m), указанное правило нарушается, т.е. при переходе от кода сdmin(нечетным), к кодуcdmin +1 (четным) длина кодаn, увеличена на 1. В результате в канал посылается код (n+1,m). И в коде (n+1,m) фактическим циклическим кодом является не весь разрядный код, а только его первыеnкомпонентов.
Пример 9