Файл: Кодирование и декодирование ЦСК_теория.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.06.2019

Просмотров: 696

Скачиваний: 11

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Моделирование показало правильность предварительных расчетов и построения декодера.


2.3. Декодер Меггита для укороченных БЧХ-кодов


Для декодирования укороченных БЧХ-кодов при построении декодера Меггита с предварительным умножением на xk необходимо построить дополнительный полином d(x), который рассчитывается следующим образом:


d(x) = xi+k mod g(x), (2.7)


где i – количество символов, на которые был укорочен код.

И
зменения в структуре декодера Меггита можно рассмотреть на следующей схеме (рис. 2.4).

Рис. 2.4. Пояснения к дополнению структуры декодера Меггита


На рис. 2.4 Dk–1 – последний элемент памяти генератора синдрома. Обозначение «dg» означает, что обратная связь с выхода сумматора заводится на элементы памяти с номерами, совпадающими с показателями степеней слагаемых, которые входят и в порождающий полином g(x), и в дополнительный полином d(x). Обозначение «» означает, что обратная связь с выхода элемента памяти Dk–1 заводится на элементы памяти с номерами, совпадающими с показателями степеней слагаемых, которые входят в порождающий полином g(x) и при этом не входят в дополнительный полином d(x). Обозначение «» означает, что прямая связь с входа заводится на элементы памяти с номерами, совпадающими с показателями степеней слагаемых, которые входят в дополнительный полином d(x) и при этом не входят в порождающий полином g(x).

Из анализа вида дополнительного полинома d(x) можно сделать вывод о том, что для неукороченного кода дополнительные связи в декодере отсутствуют. Действительно, полином d(x) определяется следующим образом:


d(x) = xi+k mod g(x) = | i = 0 = xk mod g(x).


Значит, полином d(x) содержит все слагаемые полинома g(x), за исключением слагаемого xk. Поэтому связь «dg» с выхода последнего сумматора заводится по полиному g(x), связь «» содержит один компонент xk и является вырожденной (отсутствует), связь «» не содержит ни одного компонента и также является вырожденной (отсутствует).


Пример 2.4. Для укороченного циклического кода (5,2,3) и проверочного полинома g(x) = 1 x2 x3 построить декодер Меггита с предварительным умножением на xk.

Код (5,2,3) построен от табличного кода (7,3,4) путем укорочения информационной части на i = 2. Построим дополнительный полином d(x):

d(x)=xi+k mod g(x)= x2+3 mod (1 x2 x3) = 1 x.

Определим сочетания для введенных обозначений.

dg (слагаемые есть и в g(x), и в d(x)): 1;

(слагаемые есть в g(x), но нет в d(x)): x2, x3;

(слагаемые есть в d(x), но нет в g(x)): x.

Настройка селектора определяется как xk–1= x3.

С учетом дополнительных связей построим декодер Меггита для укороченного кода с предварительным умножением на xk (с универсальной настройкой селектора) (рис. 2.5).




Рис. 2.5. Декодер Меггита для укороченного кода (5,2,3)


Запишем функции возбуждения для элементов памяти:



Промоделируем работу декодирующего устройства для полинома V(x) = 1 x2 x3 при однократной ошибке в разряде a3 (полином ошибки e(x) = x3). Результаты моделирования сведем в табл. 2.6.



Таблица 2.6


e(x) = x3


такта

e

D0

D1

D2

0

0

0

1

0

0

0

0

2

1

1

1

0

3

0

0

1

1

4

0

1

0

0

5

0

0

1

0

6

0

0

0

1

7

0

0

0

0

В рассматриваемом случае полином V'(x) будет выглядеть так:
V'(x) = V(x) e(x) = 1 x2 x3 x3 = 1 x2.

Согласно предварительным расчетам селектор сработает (ошибочный разряд a3 попадает в старший разряд буферного регистра) на такте с номером: 25 – 3 – 1 = 6. Исправление произойдет на следующем такте, т. е. на такте с номером 25 – 3 = 7. На этом такте произойдет обнуление элементов памяти генератора синдрома.

Алгоритмы синдромного декодирования укороченных БЧХ-кодов в каналах с независимыми ошибками при исправлении и обнаружении ошибок произвольной кратности аналогичны рассмотренным в предыдущих разделах.

Действительно, для обнаружения ошибок необходимо только вычислить синдром и проверить его на неравенство нулю. В этом случае нет необходимости в вычислении дополнительного полинома d(x), поскольку обнаружение ошибки (стирание сообщения) происходит на (n + 1)-м такте работы декодирующего устройства. Напомним, что дополнительный полином d(x) строится для обеспечения свойства замкнутости укороченного (псевдоциклического) БЧХ-кода относительно операции циклического сдвига, а это необходимо только для исправления ошибок.

Для исправления и обнаружения ошибок укороченными БЧХ-кодами используется либо частный (для кодов Хэмминга), либо общий подход к построению декодирующих устройств. Вне зависимости от применяемого подхода, в подсистеме, реализующей исправление ошибок, необходимо учитывать настройки дополнительного полинома d(x). Все остальное (элементы, настройки, алгоритмы работы) соответствуют декодирующим устройствам неукороченных кодов, подробно рассмотренных ранее.