- •Применение циклических кодов в каналах с независимыми ошибками
- •1. Кодирование при помощи порождающего полинома g(X)
- •1.1. Общие принципы кодирования
- •1.2. Кодирующие устройства бчх-кодов, построенные при помощи порождающего полинома g(X)
- •С предварительным умножением на x3
- •2. Декодирование циклических кодов (бчх-кодов)
- •2.1. Принципы декодирования бчх-кодов по алгоритму Меггита (декодер Меггита)
- •2.2. Проектирование декодеров Меггита
- •2.3. Декодер Меггита для укороченных бчх-кодов
1.2. Кодирующие устройства бчх-кодов, построенные при помощи порождающего полинома g(X)
Коды БЧХ названы в честь его создателей-разработчиков - Боуза-Чоудхури-Хоквингема.
Кодирующее устройство (кодер) предназначено для выполнения следующих функций.
1. Прием и промежуточное хранение информационной части u(x).
2. Вычисление избыточных символов.
3. Формирование полинома V(x) и передача его в канал связи.
Основным элементом кодирующего устройства является регистр сдвига с линейной логической обратной связью (РСЛЛОС). Способ построения РСЛЛОС зависит от вида полинома, при помощи которого строится кодер.
С
труктурная
схема регистра сдвига в рассматриваемом
случае определяется порождающим полиномg(x)
и выглядит следующим образом (рис. 1.1).
Рис. 1.1. Структурная схема устройства деления на полином g(x)
На рис. 1.1 gi – коэффициенты порождающего полинома g(x) для конкретного кода. Если коэффициент gi=0 (xi не входит в порождающий полином g(x)), то i-й элемент обратной связи и соответствующий ему сумматор отсутствуют. Количество элементов памяти (ЭП) равно k – степени порождающего полинома g(x). Элемент памяти Di соответствует xi.
Схема работает синхронно под действием тактовых импульсов. Состояние элемента памяти в текущий момент времени определяется состоянием связанных с ним выходов элементов памяти в предыдущий момент времени (фронт предыдущего синхроимпульса), а также входом схемы в текущий момент времени. Для простоты изложения подсистема синхронизации регистра по циклам и тактам считается идеальной и не отражается в рассматриваемых ниже структурах.
Функции возбуждения для элементов памяти могут быть представлены в следующем виде:
![]()
Представленная схема осуществляет деление информационного полинома u(x) на порождающий полином g(x). Полином u(x) подается на вход схемы последовательно, начиная со старшего разряда, при этом происходит его предварительное умножение на xk. К окончанию деления, т.е. к n-му такту работы схемы, в регистре D0…Dk–1 формируется остаток, который и является избыточной частью для заданного информационного вектора.
Пример 1.3. Построить схему РСЛЛОС для циклического кода (7,4,3) и порождающего полинома g(x) = 1 x2 x3. Промоделировать работу схемы для информационного полинома u(x)=1.
С
учетом параметров кода и вида порождающего
полиномаg(x)
схема будет выглядеть следующим образом
(рис. 1.2).
Рис. 1.2. Структурная схема устройства деления на полином g(x) = 1 x2 x3
Функции возбуждения для элементов памяти:
![]()
Промоделируем работу кодера и занесем результаты в таблицу переходов и выходов (табл. 1.1).
Таблица 1.1
|
№ такта |
u |
D0 |
D1 |
D2 |
|
|
|
0 |
0 |
0 |
|
1 |
0 |
0 |
0 |
0 |
|
2 |
0 |
0 |
0 |
0 |
|
3 |
0 |
0 |
0 |
0 |
|
4 |
1 |
1 |
0 |
0 |
|
5 |
0 |
0 |
1 |
0 |
|
6 |
0 |
0 |
0 |
1 |
|
7 |
0 |
1 |
0 |
1 |
Моделирование показало, что к такту с номером n = 7 в элементах памяти регистра сформировалась избыточная часть r(x) = 1 x2.
Кодирующее
устройство, кроме задачи расчета
избыточной части, должно еще сформировать
полином V(x)
и передать его в канал связи. Избыточная
часть формируется к n-му
такту вследствие того, что для деления
информационный полином u(x)
должен быть умножен на величину xk.
Поэтому необходимо сформировать задержку
передачи в канал связи информационного
вектора на k
тактов, тогда к k
+
m
=
n-му
такту информационный вектор будет выдан
в канал связи, а избыточная часть –
рассчитана и размещена в регистре.
После этого необходимо организовать
выдачу избыточной части в канал связи,
прекратив процедуру деления. Структурная
с
хема
кодирующего устройства, работающего
по описанному алгоритму, приведена на
рис. 1.3.
Рис. 1.3. Структурная схема кодирующего устройства БЧХ-кода:
ЭЗ – элемент задержки, к1, к2 – ключи, У – управление
Элемент задержки предназначен для организации временной задержки выдачи информационного вектора в канал связи на k тактов. Ключ к1 открыт в течение первых n тактов для активизации обратной связи, закрыт в течение последующих k тактов для разрыва обратной связи. Ключ к2 закрыт в течение первых n тактов для отключения регистра от выхода, открыт в течение последующих k тактов для выдачи избыточной части в канал связи. Ключи переключаются по сигналу управления У: 1 – к1 открыт, к2 закрыт, 0 – к1 закрыт, к2 открыт.
Пример 1.4. Построить схему кодирующего устройства для циклического кода (7,4,3) и порождающего полинома g(x) = 1 x2 x3. Промоделировать работу схемы для информационного полинома u(x) = 1.
С
учетом параметров кода и вида порождающего
полиномаg(x)
схема кодера будет выглядеть следующим
образом (рис. 1.4).
Рис. 1.4. Структурная схема кодирующего устройства БЧХ-кода (7,4,3)
Функции возбуждения для элементов памяти:
![]()
Промоделируем работу кодера и занесем результаты в таблицу переходов и выходов (табл. 1.2).
Таблица 1.2
|
№ такта |
u |
D0 |
D1 |
D2 |
V |
|
|
|
|
0 |
0 |
0 |
|
|
|
1 |
0 |
0 |
0 |
0 |
|
|
|
2 |
0 |
0 |
0 |
0 |
|
|
|
3 |
0 |
0 |
0 |
0 |
|
У = 1: |
|
4 |
1 |
1 |
0 |
0 |
0 |
к1 открыт, |
|
5 |
0 |
0 |
1 |
0 |
0 |
к2 закрыт |
|
6 |
0 |
0 |
0 |
1 |
0 |
|
|
7 |
0 |
1 |
0 |
1 |
1 |
|
|
8 |
0 |
0 |
1 |
0 |
1 |
У = 0: к1 закрыт, к2 открыт |
|
9 |
0 |
0 |
0 |
1 |
0 | |
|
10 |
0 |
0 |
0 |
0 |
1 |
Моделирование показало, что к такту с номером n = 7 в элементах памяти регистра сформировалась избыточная часть r(x) = 1 x2, а к такту с номером n + k = 7 + 3 = 10 в канал связи передан полином V(x) = 1 x2 x3.
Недостатком рассмотренной схемы кодирующего устройства является наличие временной задержки на k тактов и, соответственно, наличие дополнительного элемента задержки. Задержка объясняется тем, что, как уже говорилось выше, в течение первых k тактов происходит умножение информационного полинома u(x) на величину xk. Данную проблему удалось бы решить, подавая в схему информационный полином u(x), предварительно умноженный на величину xk. Это можно сделать, подавая полином u(x) не на вход первого элемента памяти, соответствующего младшей (нулевой) степени, а на выход последнего, соответствующего k-й степени. Схема такого устройства приведена на рис. 1.5.
Р
ис.
1.5. Структурная схема кодера БЧХ-кода с
предварительным умножением наxk
Функции возбуждения для элементов памяти могут быть представлены в следующем виде:
![]()
Ключ к1 открыт в течение первых m тактов для активизации обратной связи, закрыт в течение последующих k тактов для разрыва обратной связи. Ключ к2 закрыт в течение первых m тактов для отключения регистра от выхода, открыт в течение последующих k тактов для выдачи избыточной части в канал связи. Ключи переключаются по сигналу управления У: 1 – к1 открыт, к2 закрыт, 0 – к1 закрыт, к2 открыт. Расчет избыточной части по предварительно умноженному на xk информационному полиному u(x) осуществляется за первые m тактов работы схемы.
Пример 1.5. Построить схему кодирующего устройства с предварительным умножением на xk для циклического кода (7,4,3) и порождающего полинома g(x) = 1 x2 x3. Промоделировать работу схемы для информационного полинома u(x) = 1.
С учетом параметров кода, вида порождающего полинома g(x) и способа кодирования схема будет выглядеть следующим образом (рис. 1.6).

Рис. 1.6. Структурная схема кодирующего устройства БЧХ-кода (7,4,3)
