Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория / Циклические коды.doc
Скачиваний:
30
Добавлен:
03.07.2018
Размер:
3.42 Mб
Скачать

1.6 Декодеры цск

Существует две разновидности алгоритмов декодирования:

  1. Алгебраические:

    1. Синдромное декодирование

    2. Мажоритарное декодирование

    3. Пороговое декодирование

  2. Неалгебраические:

    1. Алгоритм Питерсона

    2. Алгоритм Берлекемпа с процедурой Чень.

К наиболее простым способам декодирования относятся синдромное и мажоритарное.

1.6.1 Декодеры Меггита

Декодеры Меггита реализуют алгоритм синдромного декодирования. Декодирование с целью обнаружения и исправления ошибок состоит в делении на g`(x) полинома, соответствующего принятому сообщению. При отсутствии ошибок деление будет выполнено без остатка; в противном случае наличие ненулевого остатка укажет на то, что произошли ошибки. Для обеспечения возможности исправления ошибки каждому виду ошибки должен соответствовать свой, отличный от других, остаток, по которому селектор (декомбинатор -kвходовой конъюнктор) ошибки мог бы выработать необходимые сигналы исправления. Нарис.3приведена обобщенная схема декодера Меггита. Сложность при реализации данного способа декодирования заключается в правильной настройке селектора.

Рис.3. Обобщенная структурная схема декодера Меггита

Обработка циклического кода в декодирующем устройстве рис.3, осуществляется в два этапа:

  1. В течении первых nтактов производиться деление принятой кодовой комбинации наg(x)(формируется синдром в генераторе синдрома) и одновременно эта комбинация записывается в приемный регистр.

  2. В течении следующих nтактов осуществляется исправление ошибок.

На n+1-ом такте открывается селектор и начинает выталкиваться код из буферного регистра. При появлении ошибки селектор вырабатывает истинное значение ошибочного символа с помощью сумматора поmod 2:, т.к. мы внесли коррекцию в вектор, то должны внести в генератор синдрома единицу (осуществляется с помощью обратной связи, нарис.3обозначена пунктирной стрелкой).

Использование многотактовой коррекции позволяет сократить объем

декомбинатора ошибок, но увеличивается время обработки сигнала в два раза по сравнению с ГСК. Отметим, что регистр с логическими обратными связями в составе корректора ( генератор синдрома), выполняющий делена на g(x), полностью аналогичен регистру с обратными связями в составе кодирующего устройства (см.рис.2).

1.6.1.1 Режим исправления и обнаружения ошибок

Существует два алгоритма решения.

  1. Частный алгоритм.

Данный алгоритм имеет место только для модифицированного кода Хэмминга. В основе лежит деление полинома, соответствующего принятому сообщению на каждый сомножитель полиномаg`(x).

Проанализируем синдром:

синдром, r0…rk-1

общая проверка на четность, rk

кратность ошибки

действия

0

0

0

правильная передача

  • 0

1

1

исправление

  • 0

0

2

стирание (n+1 такт)

Частный алгоритм выделяется, т.к. дает возможность выработать сигнал стирания на n+1 такте, т.е. обладает минимальной задержкой при стирании сообщения. Нарис.4 приведена обобщенная структурная схема декодера Меггита длямодифицированного кода Хэмминга, построенная по частному алгоритму.

Рис.4 Обобщенная структурная схема декодера Меггита

для кода Хэмминга в режиме исправления и

обнаружения ошибок ( частный случай)

Работа. В течении первых nтактов производиться деление принятой кодовой комбинации наg`(x)(формируется синдром в генераторе синдрома), одновременно принятая кодовая комбинация записывается в приемный буферный регистр, а также формируется значение в ячейке памятиDk( на элементахm2иDkреализован счетчик поmod2 – осуществляет общую проверку на четность прямой комбинации).

На n+1-ом такте открывается ключK2, если хоть один разряд селектора равен 1 и наDk ноль, то в соответствии с 3-ей строкойтаблицы анализа синдромасрабатывает сигнал сброса буферного регистраRБР, т.е. происходит стирание информации из него и на выход сигнал не поступает. В остальных случаяхRБР не срабатывает. Наn+1-ом такте открывается селектор (через ключK1) и начинает выталкивать код из буферного регистра. При появлении ошибки селектор вырабатывает истинное значение ошибочного символа с помощью сумматора поmod2:, т.к. мы внесли коррекцию в вектор, то должны внести в генератор синдрома единицу (осуществляется с помощью обратной связи, нарис.4 обозначена пунктирной стрелкой, направленной влево).

Пример 10

2.Общий алгоритм

В основе общего алгоритма лежит деление полинома, соответствующего принятому сообщению на единый полином g`(x). На рис.5 приведена обобщенная структурная схема декодера Меггита, построенная по общему алгоритму.

рис.5 Обобщенная структурная схема декодера Меггита

в режиме исправления и обнаружения ошибок (общий случай)

Работа. В течении первых n тактов производится деление принятой кодовой комбинации наg(x) (формируется синдром в генераторе синдрома) и одновременно эта кодовая комбинация записывается в приемный регистр. Наn +1 такте открывается селектор (через ключ К1 ) и начинает выталкивать код из буферного регистра. При появлении ошибки селектор вырабатывает истинное значение ошибочного символа с помощью сумматора поmod2:, т.к. мы внесли коррекцию в вектор, то должны внести в генератор синдрома единицу (осуществляется с помощью обратной связи, нарис.5обозначена пунктирной стрелкой). Если на 2nтакте синдром не обнулился, то на 2n+1 такте (через элемент «ИЛИ» и открывшийся ключ К2) произойдет стирание сообщения.

Пример 11