Аппаратурная реализация циклических кодов

Циклические коды реализуются с помощью сдвиговых регистров. Схема кодирования (образуется с помощью деления на образующий многочлен):

Аппаратурная реализация циклических кодов - student2.ru

Рис. 5.7. Схема кодирования

Ключи к1 и к2 первоначально замкнуты, а ключ к3 – разомкнут. Исходная комбинация через ключ к1 поступает на выход и через входной сумматор на сдвиговый регистр, где и образуется контрольные символы. Затем ключ к2 замыкается, а к1 и к3 размыкаются. Контрольные символы подаются на выход в след, за информационными символами.

Аппаратурная реализация циклических кодов - student2.ru

Рис.5.8. Схема кодирования методом деления на образующий многочлен g(x)=x3+x+1

   
Вх

Пример 5.8. Пусть на вход подается комбинация 1101. Последовательность деления представлена в таблице. В результате на выходе будет получена комбинация 1101001

   
Вх

Пример 5.9. Пусть на вход подается комбинация 1001. В результате деления будет получена комбинация 1001011

Схема декодирования (образуется с помощью деления на образующий многочлен):

Аппаратурная реализация циклических кодов - student2.ru

Рис.5.9. Схема декодирования циклического кода. АО - анализатор ошибок.

Исходная комбинация подается в буферный регистр и одновременно через ключ в декодирующий регистр. Если с приходом последнего символа, зафиксирован нулевой остаток, то ошибок нет, и, если не нулевой, то есть ошибка. Принятая комбинация подается через выходной сумматор, и искаженный сигнал исправляется анализатором ошибок (АО).

Аппаратурная реализация циклических кодов - student2.ru

Рис.5.10. Пример схемы декодирования методом деления на полином Аппаратурная реализация циклических кодов - student2.ru

Пример 5.10. Пусть декодирующий регистр построен методом деления на образующий полином Аппаратурная реализация циклических кодов - student2.ru .

Пусть на вход подается комбинация 1101001

   
Вх

В результате деления получился нулевой остаток, следовательно, ошибок нет.


Теперь пусть на вход подается комбинация с ошибкой 1100001

   
Вх

В результате получился не нулевой остаток 110. Отключим ключ и начнем выводить комбинацию из буферного регистра. На четвертом такте



   
---

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


Для исправления многократных ошибок используется произведение образующих многочленов: Аппаратурная реализация циклических кодов - student2.ru

Таблица 5.3. Неприводимые полиномы

   
g(x) Полином g(x) полином
g(x) x+1 g1(x6) x6+x+1
g(x2) x2+x+1 g2(x6) x6+x3+1
g1(x3) x3+x1+1 g3(x6) x6+x5+1
g2(x3) x3+x2+1 …………… ……………
g1(x4) x4+x+1 g1(x7) x7+x+1
g2(x4) x4+x3+1 g2(x7) x7+x3+1
g3(x4) x4+x3+x2+x+1 g3(x7) x7+x3+x2+x+1
g1(x5) x5+x2+1 …………… ……………
g2(x5) x5+x3+1 g1(x8) x8+x4+x3+x+1
g3(x5) x5+x3+x4+x+1 g2(x8) x8+x4+x3+x2+1
g4(x5) x5+x4+x2+x+1 …………… ……………
g5(x5) x5+x4+x3+x+1 g1(x9) x9+ x+1
g6(x5) x5+x4+x3+x2+1 g2(x9) x9+x4+ 1

Вопросы

5.1. Каковы причины возникновения помех, и какие помехи вызываются этими причинами.

5.2. Назовите коды, предназначенные для обнаружения ошибок.

5.3. Дайте определение инверсного кода.

5.4. С какой целью используется код Грея.

5.5. Какие коды называются корректирующими.

5.6. Как определяется минимальное кодовое расстояние?

5.7. Дайте определение группового кода.

5.8. Из какого соотношения определяется необходимое число контрольных символов?

5.9. Нарисуйте схему кодирования кода Хэмминга.

5.10.Какие коды называются циклическими?

5.11.Для чего используется представление кодов в виде многочленов?

5.12.Приведите примеры алгебры циклических кодов.

5.13.Из каких соображений выбирается образующий многочлен?

5.14.Поясните процесс получения циклического кода математическим методом.

5.15.Как построить образующую матрицу циклического кода?

5.16.Нарисуйте схему кодирования циклического кода.

5.17.Поясните процесс декодирования циклического кода.

.

Упражнения

5.1. Определить величину кодового расстояния между двумя комбинациями 1101101, 1001011.

5.2. Определить величину кодового расстояния d, обеспечивающего исправление .s-кратных ошибок при s = 1, 3, 5.

5.3. Определить наименьшее количество проверочных элементов и n-k, необходимое для исправления трехкратных ошибок, если число элементов в кодовой комбинации равно 12.

5.4. Произвести перемножение трех многочленов в алгебре циклических кодов (х + 1), (х3 + х +1) и (х3 + х2 + 1). Проделать аналогичную операцию и для двоичных эквивалентов.

5.5. Найти остаток при делении многочлена (х764+х+1)... на многочлен (х4+х+1). Аналогичную операцию проделать и для двоичных эквивалентов.

5.6. Закодировать в циклическом коде комбинации 1001, 1010, если образующий многочлен g(x)=x3+x+1

5.7. Закодировать многочлен х7+x43+х+1 с проверкой на четность.

5.8. По заданному образующему многочлену g(х)=х43+1 построить образующую (проверочную) матрицу H=I,C, усеченную до 6 разрядов.

5.9. Число информационных символов в кодовой комбинации k=11. Выбрать образующий многочлен g(х) с условием исправления одиночной ошибки и построить проверочную матрицу Hn,k.

5.10. Проверить принятую кодовую комбинацию x1411+x8+x6+x3+x2+x на наличие одиночной ошибки, если образующий полином g(х)=х4+x3+1. При обнаружении ошибки исправить ее.

5.11. Закодировать в циклическом коде следующие комбинации:

1) 100011; 2) 110011; 3) 100101; 4) 100110; 5) 100111;

6) 110111; 7) 101001.



Лабораторная работа

Наши рекомендации