
- •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.6 Декодеры цск
Существует две разновидности алгоритмов декодирования:
Алгебраические:
Синдромное декодирование
Мажоритарное декодирование
Пороговое декодирование
Неалгебраические:
Алгоритм Питерсона
Алгоритм Берлекемпа с процедурой Чень.
К наиболее простым способам декодирования относятся синдромное и мажоритарное.
1.6.1 Декодеры Меггита
Декодеры Меггита реализуют алгоритм синдромного декодирования. Декодирование с целью обнаружения и исправления ошибок состоит в делении на g`(x) полинома, соответствующего принятому сообщению. При отсутствии ошибок деление будет выполнено без остатка; в противном случае наличие ненулевого остатка укажет на то, что произошли ошибки. Для обеспечения возможности исправления ошибки каждому виду ошибки должен соответствовать свой, отличный от других, остаток, по которому селектор (декомбинатор -kвходовой конъюнктор) ошибки мог бы выработать необходимые сигналы исправления. Нарис.3приведена обобщенная схема декодера Меггита. Сложность при реализации данного способа декодирования заключается в правильной настройке селектора.
Рис.3. Обобщенная структурная схема декодера Меггита
Обработка циклического кода в декодирующем устройстве рис.3, осуществляется в два этапа:
В течении первых nтактов производиться деление принятой кодовой комбинации наg(x)(формируется синдром в генераторе синдрома) и одновременно эта комбинация записывается в приемный регистр.
В течении следующих nтактов осуществляется исправление ошибок.
На n+1-ом такте открывается
селектор и начинает выталкиваться код
из буферного регистра. При появлении
ошибки селектор вырабатывает истинное
значение ошибочного символа с помощью
сумматора поmod 2:,
т.к. мы внесли коррекцию в вектор, то
должны внести в генератор синдрома
единицу (осуществляется с помощью
обратной связи, нарис.3обозначена
пунктирной стрелкой).
Использование многотактовой коррекции позволяет сократить объем
декомбинатора ошибок, но увеличивается время обработки сигнала в два раза по сравнению с ГСК. Отметим, что регистр с логическими обратными связями в составе корректора ( генератор синдрома), выполняющий делена на g(x), полностью аналогичен регистру с обратными связями в составе кодирующего устройства (см.рис.2).
1.6.1.1 Режим исправления и обнаружения ошибок
Существует два алгоритма решения.
Частный алгоритм.
Данный алгоритм имеет место только для модифицированного кода Хэмминга. В основе лежит деление полинома, соответствующего принятому сообщению на каждый сомножитель полиномаg`(x).
Проанализируем синдром:
синдром, r0…rk-1 |
общая проверка на четность, rk |
кратность ошибки |
действия |
0 |
0 |
0 |
правильная передача |
|
1 |
1 |
исправление |
|
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