Изучение декодера циклического кода

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид лабораторная работа
Язык русский
Дата добавления 15.12.2013
Размер файла 511,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

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

«Изучение декодера циклического кода»

Теоретические сведения

Циклические коды относятся к классу линейных систематических кодов и обладают всеми их свойствами. Удобно рассматривать кодовые комбинации циклического кода не в виде последовательности нулей и единиц, а в виде полинома некоторой степени:

(1)

где x - основание системы счисления; - цифры данной системы счисления; n-1, n-2,... - показатель степени, в которую возводится основание, и одновременно порядковые номера, которые занимают разряды, начиная от старшего и заканчивая нулевым.

Коды данного типа получили название циклических, так как циклический сдвиг разрешенной комбинации также является разрешенной комбинацией. Такая циклическая перестановка при использовании представления в виде полиномов появляется в результате умножения данного полинома на x.

Особую роль в теории циклических кодов играют неприводимые многочлены. Такой многочлен делится только на самого себя и на единицу. В теории кодирования неприводимые многочлены называются образующими полиномами, поскольку они «образуют» разрешенные кодовые комбинации. В таблице 2 приведены некоторые образующие полиномы.

Таблица №1

r

P(x)

Двоичная запись P(x)

2

x2+x+1

111

3

x3+x+1

1101

4

x4+x+1

10011

5

x5+x2+1

x5+x4+x3+x2+1

x5+x4+x2+x+1

100101

111101

110111

6

x6+x+1

x6+x5+x2+x+1

1000011

1100111

7

x7+x3+1

x7+x3+x2+x+1

x7+x4+x3+x2+1

10001001

10001111

10011101

8

x8+x7+x6+x5+x2+x +1

x8+x4+x3+x2+1

x8+x6+x5+x+1

111100111

100011101

101100011

Построение разрешенной кодовой комбинации циклического кода сводится к следующему:

1. Представляем информационную часть кодовой комбинации длиной k в виде полинома Q(x).

2. Производим сдвиг k -разрядной кодовой комбинации на r разрядов, путём умножения Q(x) на одночлен xr.

3. Делим многочлен Q(x) xr на образующий полином Р(x), степень которого равна r. В результате деления образуется остаток R(x).

4. Разрешенная кодовая комбинация циклического кода имеет следующий вид:

(2)

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

Для определения местоположения ошибки в циклическом коде существует ряд методов, основанных на анализе «синдрома» R(x).

Основным функциональным узлом кодирующих и декодирующих устройств циклических кодов является схема деления, структура которой приведена на рис. 1.

В состав схемы деления входят сдвигающий регистр (ячейки 1 - 4), сумматоры по модулю 2 (М2) и ключ (Кл). Число ячеек сдвигающего регистра выбирается равным степени образующего полинома, а число сумматоров по модулю 2 на единицу меньше его веса. Таким образом, на рис. 4 приведена схема деления на полином Р(х) = x4+x+1 так как его степень равна четырем, а его вес (число членов в полиноме) трём. Делимое в виде двоичного кода подается на вход сдвигающего регистра, а полином Р(х) вводится в регистр в виде соответствующим образом подобранной структуры обратных связей через сумматоры по модулю 2. Ключ замыкает обратную связь, что обеспечивает работу схемы деления.

Рис. 1. Схема деления на Р(х)

Задание 1. Ввести ошибку в циклический код (7,4) и выполнить декодирование

циклический код декодирование

Кодовая посылка: 1001110

Введем ошибку: 1011110

Представим кодовую посылку в виде полинома:

Найдем остаток от деления старшего одночлена на порождающий полином:

Поделим кодовую комбинацию на порождающий полином:

Число сдвигов , следовательно, ошибка в .

Задание 2. Подать исходную кодовую комбинацию на схему деления

Рис 2. Схема деления на порождающий полином

Работа схемы деления представлена в таблице №2.

Таблица №2

Такт/бит

Вх. Посл.

a

b

c

1

1

1

0

0

2

0

0

1

0

3

0

0

0

1

4

1

0

1

0

5

1

1

0

1

6

1

0

0

0

7

0

0

0

0

Вывод: при подаче на схему деления кодовой комбинации без ошибки на выходе схемы деления образуется нулевой остаток.

Задание 3. Подать на схему деления кодовую комбинацию с ошибкой

Рис 3. Схема деления на порождающий полином

Работа схемы деления представлена в таблице №3.

Таблица №3

Такт/бит

Вх. Посл.

a

b

c

1

1

1

0

0

2

0

0

1

0

3

1

1

0

1

4

1

0

0

0

5

1

1

0

0

6

1

1

1

0

7

0

0

1

1

8

0

1

1

1

9

0

1

0

1

Вывод: при подаче на схему деления кодовой комбинации с ошибкой на выходе схемы деления при обнаружении ошибки образуется остаток, равный остатку от деления старшего одночлена на порождающий полином.

Задание 4. Построить декодер циклического кода (7,4), обнаруживающий и исправляющий одну ошибку

Структура декодера циклического кода (7,4), обнаруживающего и исправляющего одну ошибку представлена на рис. 4.

Рис 4. Структура декодера циклического кода (7,4), обнаруживающего и исправляющего одну ошибку

Работа декодера циклического кода (7,4), обнаруживающего и исправляющего одну ошибку, представлена в таблице №4.

Таблица №4

Биты

Состояние

Такт

Вх. Посл.

A

B

C

D

E

F

G

a

b

c

d

Вых. Посл

Кл. 1

Кл. 2

1

1

1

0

0

0

0

0

0

1

0

0

0

0

вкл.

выкл.

2

0

0

1

0

0

0

0

0

0

1

0

0

0

вкл.

выкл.

3

1

1

0

1

0

0

0

0

1

0

1

0

0

вкл.

выкл.

4

1

1

1

0

1

0

0

0

0

0

0

0

0

выкл.

вкл.

5

1

1

1

1

0

1

0

0

1

0

0

0

0

выкл.

вкл.

6

1

1

1

1

1

0

1

0

1

1

0

0

0

выкл.

вкл.

7

0

0

1

1

1

1

0

1

0

1

1

0

1

выкл.

вкл.

Задание 5. Ввести ошибку в циклический код (9,5) и выполнить декодирование

Кодовая посылка: 010101101

Введем ошибку: 000101101

Представим кодовую посылку в виде полинома:

Найдем остаток от деления старшего одночлена на порождающий полином:

Поделим кодовую комбинацию на порождающий полином:

Число сдвигов , следовательно, ошибка в .

Задание 6. Подать исходную кодовую комбинацию на схему деления

Рис 5. Схема деления на порождающий полином

Работа схемы деления представлена в таблице №5.

Таблица №5

Такт/бит

Вх. Посл.

a

b

c

d

1

0

0

0

0

0

2

1

1

0

0

0

3

0

0

1

0

0

4

1

1

0

1

0

5

0

0

1

0

1

6

1

0

1

1

0

7

1

1

0

1

1

8

0

1

0

0

1

9

1

0

0

0

0

Вывод: при подаче на схему деления кодовой комбинации без ошибки на выходе схемы деления образуется нулевой остаток.

Задание 7. Подать на схему деления кодовую комбинацию с ошибкой

Рис 6. Схема деления на порождающий полином

Работа схемы деления представлена в таблице №6.

Таблица №6

Такт/бит

Вх. Посл.

a

b

c

d

1

0

0

0

0

0

2

0

0

0

0

0

3

0

0

0

0

0

4

1

1

0

0

0

5

0

0

1

0

0

6

1

1

0

1

0

7

1

1

1

0

1

8

0

1

0

1

0

9

1

1

1

0

1

10

0

1

0

1

0

Вывод: при подаче на схему деления кодовой комбинации с ошибкой на выходе схемы деления при обнаружении ошибки образуется остаток, равный остатку от деления старшего одночлена на порождающий полином.

Задание 8. Построить декодер циклического кода (9,5), обнаруживающий и исправляющий одну ошибку.

Структура декодера циклического кода (9,5), обнаруживающего и исправляющего одну ошибку представлена на рис. 4.

Рис 7. Структура декодера циклического кода (9,5), обнаруживающего и исправляющего одну ошибку

Работа декодера циклического кода (9,5), обнаруживающего и исправляющего одну ошибку, представлена в таблице №7.

Таблица №7

Биты

Состояние

Такт

Вх. Посл.

A

B

C

D

E

F

G

H

I

a

b

c

d

e

Вых. Посл.

Кл. 1

Кл. 2

1

1

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

вкл.

выкл.

2

0

0

1

0

0

0

0

0

0

0

0

1

0

0

0

0

вкл.

выкл.

3

1

1

0

1

0

0

0

0

0

0

1

0

1

0

0

0

вкл.

выкл.

4

1

1

1

0

1

0

0

0

0

0

1

1

0

1

0

0

вкл.

выкл.

5

1

1

1

1

0

1

0

0

0

0

0

0

1

0

0

0

выкл.

вкл.

6

1

1

1

1

1

0

1

0

0

0

1

0

0

1

0

0

выкл.

вкл.

7

0

0

1

1

1

1

0

1

0

0

1

0

0

0

0

0

выкл.

вкл.

8

1

1

0

1

1

1

1

0

1

0

1

1

0

0

0

0

выкл.

вкл.

9

0

0

1

0

1

1

1

1

0

1

0

1

1

0

0

1

выкл.

вкл.

10

0

0

0

1

0

1

1

1

1

0

0

0

1

1

0

0

выкл.

вкл.

11

0

0

0

0

1

0

1

1

1

1

1

1

0

1

0

1

выкл.

вкл.

12

0

0

0

0

0

1

0

1

1

1

1

0

1

0

1

0

выкл.

вкл.

Задание 9. Ввести ошибку в циклический код (11,7) и выполнить декодирование

Кодовая посылка:01010100111

Введем ошибку: 01110100111

Представим кодовую посылку в виде полинома:

Найдем остаток от деления старшего одночлена на порождающий полином:

Поделим кодовую комбинацию на порождающий полином:

Число сдвигов , следовательно, ошибка в .

Задание 10. Подать исходную кодовую комбинацию на схему деления

Рис 8. Схема деления на порождающий полином

Работа схемы деления представлена в таблице №8.

Таблица №8

Такт/бит

Вх. Посл.

a

B

c

d

1

0

0

0

0

0

2

1

1

0

0

0

3

0

0

1

0

0

4

1

1

0

1

0

5

0

0

1

0

1

6

1

0

1

1

0

7

0

0

0

1

1

8

0

1

1

0

1

9

1

0

0

1

0

10

1

1

0

0

1

11

1

0

0

0

0

Вывод: при подаче на схему деления кодовой комбинации без ошибки на выходе схемы деления образуется нулевой остаток.

Задание 11. Подать на схему деления кодовую комбинацию с ошибкой

Рис 9. Схема деления на порождающий полином

Работа схемы деления представлена в таблице №9.

Таблица №9

Такт/бит

Вх. Посл.

a

b

c

d

1

0

0

0

0

0

2

1

1

0

0

0

3

1

1

1

0

0

4

1

1

1

1

0

5

0

0

1

1

1

6

1

0

1

1

1

7

0

1

1

1

1

8

0

1

0

1

1

9

1

0

0

0

1

10

1

0

1

0

0

11

1

1

0

1

0

12

0

0

1

0

1

13

0

1

1

1

0

Вывод: при подаче на схему деления кодовой комбинации с ошибкой на выходе схемы деления при обнаружении ошибки образуется остаток, равный остатку от деления старшего одночлена на порождающий полином.

Задание 12. Построить декодер циклического кода (11,7), обнаруживающий и исправляющий одну ошибку

Структура декодера циклического кода (11,7), обнаруживающего и исправляющего одну ошибку представлена на рис. 10.

Рис 10. Структура декодера циклического кода (11,7), обнаруживающего и исправляющего одну ошибку

Работа декодера циклического кода (11,7), обнаруживающего и исправляющего одну ошибку, представлена в таблице №10.

Таблица №10

Состояние

Такт

Вх. П.

A

B

C

D

E

F

G

H

I

J

K

a

b

c

d

e

Вых.П.

Кл. 1

Кл. 2

1

1

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

вкл.

выкл.

2

0

0

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

вкл.

выкл.

3

0

0

0

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

вкл.

выкл.

4

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

1

0

0

вкл.

выкл.

5

1

1

0

0

0

1

0

0

0

0

0

0

0

1

0

0

0

0

выкл

вкл.

6

0

0

1

0

0

0

1

0

0

0

0

0

0

0

1

0

0

0

выкл

вкл.

7

0

0

0

1

0

0

0

1

0

0

0

0

0

0

0

1

0

0

выкл

вкл.

8

1

1

0

0

1

0

0

0

1

0

0

0

0

1

0

0

0

0

выкл

вкл.

9

1

1

1

0

0

1

0

0

0

1

0

0

1

0

1

0

0

0

выкл

вкл.

10

1

1

1

1

0

0

1

0

0

0

1

0

1

1

0

1

0

0

выкл

вкл.

11

0

0

1

1

1

0

0

1

0

0

0

1

1

0

1

0

0

1

выкл

вкл.

12

0

0

0

1

1

1

0

0

1

0

0

0

0

1

0

1

0

0

выкл.

вкл.

13

0

0

0

0

1

1

1

0

0

1

0

0

1

1

1

0

1

1

выкл.

вкл.

Задание 13. Ввести ошибку в циклический код (15,11) и выполнить декодирование

Кодовая посылка: 010101010100100

Введем ошибку: 010001010100100

Представим кодовую посылку в виде полинома:

Найдем остаток от деления старшего одночлена на порождающий полином:

Поделим кодовую комбинацию на порождающий полином:

Число сдвигов , следовательно, ошибка в .

Задание 14. Подать исходную кодовую комбинацию на схему деления

Рис 11. Схема деления на порождающий полином

Работа схемы деления представлена в таблице №11.

Таблица №11

Такт/бит

Вх. Посл.

a

b

c

d

1

0

0

0

0

0

2

1

1

0

0

0

3

0

0

1

0

0

4

1

1

0

1

0

5

0

0

1

0

1

6

1

0

1

1

0

7

0

0

0

1

1

8

1

0

1

0

1

9

0

1

1

1

0

10

1

1

1

1

1

11

0

1

0

1

1

12

0

1

0

0

1

13

1

0

0

0

0

14

0

0

0

0

0

15

0

0

0

0

0

Задание 15. Подать на схему деления кодовую комбинацию с ошибкой

Рис 12. Схема деления на порождающий полином

Работа схемы деления представлена в таблице №12

Таблица №12

Такт/бит

Вх. Посл.

a

b

c

d

1

0

0

0

0

0

2

1

1

0

0

0

3

0

0

1

0

0

4

0

0

0

1

0

5

0

0

0

0

1

6

1

0

1

0

0

7

0

0

0

1

1

8

1

1

0

0

1

9

0

1

0

0

0

10

1

1

1

0

0

11

0

0

1

1

0

12

0

0

0

1

1

13

1

0

1

0

1

14

0

1

1

1

0

15

0

0

1

1

1

16

0

1

1

1

1

17

0

1

0

1

1

18

0

1

0

0

1

Задание 16. Построить декодер циклического кода (15,11), обнаруживающий и исправляющий одну ошибку

Структура декодера циклического кода (15,11), обнаруживающего и исправляющего одну ошибку представлена на рис. 13.

Рис 13. Структура декодера циклического кода (15,11), обнаруживающего и исправляющего одну ошибку.

Работа декодера циклического кода (15,11), обнаруживающего и исправляющего одну ошибку, представлена в таблице №13.

Таблица №13

Состояние

Такт

Вх. П.

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

a

b

c

d

e

Вых. П.

Кл. 1

Кл. 2

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

вкл.

выкл.

2

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

0

0

0

вкл.

выкл.

3

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

0

0

0

вкл.

выкл.

4

0

0

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

0

0

вкл.

выкл.

5

1

1

0

1

1

1

0

0

0

0

0

0

0

0

0

0

0

1

1

1

0

0

выкл.

вкл.

6

0

0

1

0

1

1

1

0

0

0

0

0

0

0

0

0

1

1

1

1

0

0

выкл.

вкл.

7

0

0

0

1

0

1

1

1

0

0

0

0

0

0

0

0

1

0

1

1

0

0

выкл.

вкл.

8

1

1

0

0

1

0

1

1

1

0

0

0

0

0

0

0

0

0

0

1

0

0

выкл.

вкл.

9

0

0

1

0

0

1

0

1

1

1

0

0

0

0

0

0

1

1

0

0

0

0

выкл.

вкл.

10

0

0

0

1

0

0

1

0

1

1

1

0

0

0

0

0

0

1

1

0

0

0

выкл.

вкл.

11

1

1

0

0

1

0

0

1

0

1

1

1

0

0

0

0

1

0

1

1

0

0

выкл.

вкл.

12

1

1

1

0

0

1

0

0

1

0

1

1

1

0

0

0

0

0

0

1

0

0

выкл.

вкл.

13

0

0

1

1

0

0

1

0

0

1

0

1

1

1

0

0

1

1

0

0

0

0

выкл.

вкл.

14

0

0

0

1

1

0

0

1

0

0

1

0

1

1

1

0

0

1

1

0

0

0

выкл.

вкл.

15

1

1

0

0

1

1

0

0

1

0

0

1

0

1

1

1

1

0

1

1

0

1

выкл.

вкл.

16

0

0

1

0

0

1

1

0

0

1

0

0

1

0

1

1

1

0

0

1

1

0

выкл.

вкл.

Задание 17. Моделирование работы декодера циклического кода (7,4) обнаруживающего и исправляющего одну ошибку

Рис 13. Модель декодера циклического кода (7,4), обнаруживающего и исправляющего одну ошибку

Рис 14.Диаграмма состояний декодера циклического кода (7,4), обнаруживающего и исправляющего одну ошибку.(U1 - входная последовательность, U2- выходная последовательность, U3 - последовательность с выхода схемы деления, U4 - тактовые импульсы)

Выводы: при подаче на схему деления кодовой комбинации без ошибки на выходе схемы деления образуется нулевой остаток. При подаче на схему деления кодовой комбинации с ошибкой на выходе схемы деления при обнаружении ошибки образуется остаток, равный остатку от деления старшего одночлена на порождающий полином.

Размещено на Allbest.ru


Подобные документы

  • Модели частичного описания дискретного канала. Система с РОС и непрерывной передачей информации (РОС-нп). Выбор оптимальной длины кодовой комбинации при использовании циклического кода в системе с РОС. Длина кодовой комбинации.

    курсовая работа [664,4 K], добавлен 26.01.2007

  • Понятие о циклических кодах, их делимость без остатка на некоторый выбранный полином. Структурные схемы кодера и декодера циклического кода по заданному производящему полиному. Определение состояния ячеек памяти, обнаружение ошибки в кодовой комбинации.

    лабораторная работа [69,1 K], добавлен 13.04.2013

  • Количество поверочных элементов. Выбор образующего полинома. Построение матрицы синдромов для однократной ошибки. Схема кодера циклического кода. Оценка вероятности обнаруживаемой ошибки на выходе системы передачи. Алгоритм построения дешифратора.

    контрольная работа [3,6 M], добавлен 03.12.2010

  • Декодирование циклического кода с обнаружением ошибок. Способы декодирования с исправлением ошибок и схемная реализация декодирующих устройств. Коды Рида-Соломона являются недвоичными циклическими кодами. Синдром образцов ошибок с ненулевым коэффициентом.

    реферат [175,0 K], добавлен 11.02.2009

  • Длина циклического кода. Свойство кодовых слов циклического кода - это их делимость без остатка на некоторый многочлен g(x), называемый порождающим. Декодирование циклических кодов. Синдромный многочлен, используемый при декодировании циклического кода.

    реферат [195,1 K], добавлен 11.02.2009

  • Методы декодирования, используемые при избыточном кодировании. Правило декодирования с обнаружением ошибок. Обнаруживающая способность кода. Показатели эффективности помехоустойчивого кода. Передача сообщений по двоичному симметричному каналу без памяти.

    курсовая работа [155,6 K], добавлен 20.11.2012

  • Нахождение двоичного циклического кода Хэмминга, обеспечивающего передачу сообщений в системе связи с заданной вероятностью выдачи ложного сообщения. Структурная схема алгоритма расчета кода, листинг программы. Функциональные схемы кодера и декодера.

    курсовая работа [713,7 K], добавлен 11.02.2011

  • Классификация систем синхронизации, расчет параметров с добавлением и вычитанием импульсов. Построение кодера и декодера циклического кода, диаграммы систем с обратной связью и ожиданием для неидеального обратного канала, вычисление вероятности ошибок.

    курсовая работа [611,4 K], добавлен 13.04.2012

  • Сущность кода Хэмминга. Схемы кодирующего устройства на четыре информационных разряда и декодера. Определение числа проверочных разрядов. Построение корректирующего кода Хэмминга с исправлением одиночной ошибки при десяти информационных разрядах.

    курсовая работа [1,1 M], добавлен 10.01.2013

  • Структурная схема одноканальной системы передачи дискретных сообщений. Выбор оптимального типа кодирования. Код Хаффмана. Минимальная длина кодовой комбинации равномерного кода. Энтропия источника сообщений. Расчет информационной скорости на выходе.

    курсовая работа [110,9 K], добавлен 08.11.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.