ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ Федеральное государственное образовательное бюджетное учреждение
высшего профессионального образования
Московский технический университет связи и информатики
Кафедра радиотехнических систем
Лабораторная работа № 2 ПК
«Исследование процессов кодирования и декодирования циклических кодов»
по дисциплине «Помехоустойчивое кодирование»
Москва 2014
ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ Федеральное государственное образовательное бюджетное учреждение
высшего профессионального образования
Московский технический университет связи и информатики
Кафедра радиотехнических систем
«Утверждено на Совете факультета радио и телевидения»
Декан А.В. Пестряков
Протокол № 7 от «20» марта 2014 г.
Лабораторная работа № 2 ПК
«Исследование процессов кодирования и декодирования циклических кодов»
по дисциплине «Помехоустойчивое кодирование»
«Утверждено на заседании кафедры радиотехнических систем Зав. кафедрой Ю.С. Шинаков
Протокол № 4 от «18» февраля 2014 г.
Москва 2014
УДК 6820.3.042.5 : 6220.39 План подготовки УМД 2013/2014 уч. года
Лабораторная работа № 2 ПК
«Исследование процессов кодирования и декодирования циклических кодов»
по дисциплине «Помехоустойчивое кодирование»
Предлагаемое издание является учебным пособием для лабораторного практикума по курсу «Помехоустойчивое кодирование». Издание содержит описание лабораторной работы и исходные данные для её выполнения. Издание предназначено для студентов радиотехнических и телекоммуникационных специальностей.
Составитель: В.Э. Русанов, к.т.н., доцент,
Рецензент: профессор каф. телевидения и зв. вещания, к.т.н., Ф.М. Игнатов
Издание утверждено Советом факультета радио и телевидения. Протокол № 7 от 20 марта 2014 г.
Лабораторная работа №2 ПК
«Исследование процессов кодирования и декодирования циклических кодов»
Цель работы:
1.Получение практических навыков по формированию порождающего многочлена для построения циклических кодов, изучение способов построения порождающей и проверочной матриц, способов формирования кодовых слов и схемной реализации кодирующих устройств.
2.Изучение процессов декодирования циклических кодов, принципа построения и работы декодеров с обнаружением и исправлением ошибок в кодовых словах.
Порядок выполнения работы
1. Задать из таблицы 1 исходные данные для выполнения работы: а) порождающий многочлен g(x);
б) n - длина кодового слова (блока) циклического кода;
в) k - длина информационного слова (блока) циклического кода; г) кодируемая и декодируемая двоичная информация.
Примечание:
Порождающие многочлены в таблице 1 для краткости приведены в восьмеричной форме. Например, если код полинома 5138 , то надо каждую из цифр перевести в три бита двоичного представления: 58 =1012; 18=0012;38=0112. Получим последовательность коэффициентов полинома: 101001011, а также сам полином: g(x)=x8+x6+ x3+x+1.
2. Построить порождающую и проверочную матрицы циклического кода в систематическом виде.
3. Сформировать исходную информационную последовательность (по таблице 1).
4. Сформировать кодовое слово циклического кода на основе кодирования информационной последовательности в систематическом виде.
6. Построить блок-схему алгоритма кодирования в виде последовательности вычислительных операций, выполняемых кодером.
5. Провести декодирование кодового слова, заданного в таблице 2. Определить синдром ошибки как остаток от деления этого слова на образующий полином. Найти ошибку в кодовом слове с помощью проверочной матрицы. Определить вектор ошибки в двоичной и полиномиальной форме.
6. Снова определить синдром ошибки для исправленного кодового слова и убедиться, что он равен нулю.
|
|
|
|
Таблица 1 |
|
|
|
|
|
|
|
Вар. |
Порожда- |
Общее |
Число |
Блок полезной |
Кодовое слово |
№ |
ющий |
число |
полез- |
информации |
с ошибкой |
|
многочлен |
бит n |
лез- |
a(x) |
с’(x) |
|
g(x) |
|
ных |
|
|
|
|
|
бит k |
|
|
1 |
138 |
7 |
4 |
1001 |
1101010 |
2 |
7178 |
13 |
5 |
10010 |
01001 11100110 |
3 |
238 |
15 |
11 |
10101100011 |
11011001010 0000 |
4 |
7218 |
15 |
7 |
1011101 |
1000110 01000111 |
5 |
24678 |
15 |
5 |
11001 |
11011 0010001111 |
6 |
458 |
16 |
11 |
11011001101 |
10111010011 11111 |
7 |
35518 |
18 |
8 |
01011001 |
10011101 1101100000 |
8 |
5378 |
15 |
7 |
1101011 |
1001010 01010101 |
9 |
7278 |
17 |
9 |
101111010 |
011001011 00101010 |
10 |
16638 |
16 |
7 |
1010111 |
1110110 100001110 |
11 |
53438 |
23 |
12 |
10011101010 |
101101011101 |
|
|
|
|
|
10010010010 |
12 |
61658 |
23 |
12 |
101011011101 |
100110011101 |
|
|
|
|
|
10010101111 |
13 |
578 |
13 |
8 |
11011001 |
10100111 11100 |
14 |
678 |
12 |
7 |
0101100 |
1000110 00001 |
15 |
1038 |
12 |
6 |
101011 |
010101 111001 |
16 |
1478 |
13 |
7 |
0101100 |
1101011 011111 |
17 |
1338 |
11 |
5 |
11011 |
10001 011101 |
18 |
2038 |
13 |
6 |
010110 |
110110 1011100 |
19 |
2118 |
12 |
5 |
10111 |
10011 1001010 |
21 |
2178 |
13 |
6 |
010010 |
101010 0011000 |
22 |
2478 |
12 |
5 |
11011 |
01011 1010001 |
23 |
2538 |
13 |
6 |
010110 |
101001 0000001 |
24 |
3138 |
12 |
5 |
10101 |
11010 0001111 |
25 |
2358 |
12 |
5 |
01011 |
10001 1010000 |
26 |
2778 |
13 |
6 |
110110 |
110100 1010011 |
27 |
3578 |
12 |
5 |
01011 |
11101 1011011 |
28 |
6078 |
14 |
6 |
101110 |
101001 11001010 |
29 |
4538 |
13 |
5 |
01001 |
11010 11010011 |
30 |
5438 |
13 |
5 |
10001 |
10011 01111010 |
31 |
4358 |
14 |
6 |
010110 |
111100 01010001 |
32 |
4558 |
13 |
5 |
10101 |
01100 00001 |
33 |
5158 |
14 |
6 |
010110 |
111001 01000100 |
34 |
5378 |
13 |
5 |
11011 |
11011 10100111 |
7. Построить блок-схему алгоритма декодирования в виде последовательности вычислительных операций, выполняемых декодером.
8.На лабораторном компьютере запустить программу Labor2.exe из папки Labor2. В данную папку включены также 4 файла с расширениями *.dll и *.bpl, необходимые как вспомогательные.
9. Проверить совпадение кодовых слов, выведенных на экран с полученными в результате выполнения п. 4.
Проверить совпадение строк подматрицы остатков образующей матрицы, выведенных на экран с полученными в результате выполнения п.2.
10. Декодировать с помощью программы Labor.exe кодовое слово. заданное в таблице 1.
11. Проверить совпадение синдрома ошибки, выведенного на экране, с синдромом, определенным в п. 5.
12. Декодировать с помощью программы Labor2.exe исправленное кодовое, полученное в п. 5. Задать в диалоговом окне декодирования нулевое значение синдрома и убедиться по сообщениям интерфейсного окна программы в том, что кодовое слово было исправлено верно.
Содержание отчета
1.Наименование и цель работы.
2.Исходные данные для выполнения работы.
3.Результаты выполнения работы.
4.Выводы.
Вопросы к защите лабораторной работы №2 ПК
1.Как называется полином, служащий для построения помехоустойчивого циклического кода?
2. Как записать этот полином в восьмеричной форме (в справочных таблицах), в двоичной форме и в полиномиальной (на конкретном числовом примере)?
3. Как построить проверочную матрицу по полиному?
4.Как осуществляется систематическое кодирование по полиному? Что является результатом кодирования? Назначение полиномов кодируемых бло-
ков (a(x),c(x),p(x)).
5. Сколько проверочных символов содержит кодовое слово?
6.Какое свойство кодового слова используется для обнаружения в нём ошибок?
7. Как осуществляется декодирование систематического кода с помощью полиномов? Что является результатом декодирования? Как найти и исправить ошибки?
8. Как связаны размеры блоков со степенями образующего и проверочного полиномов.
9. Сколько бит содержит синдром ошибки?
10. Что такое вектор ошибки и как он связан с ошибочным и исправленным кодовыми словами?
11. Как исправить ошибку, если установлено, что синдром ошибки не равен нулю?
Учебное издание Русанов Владимир Эдуардович
Лабораторная работа № 2 ПК
«Исследование процессов кодирования и декодирования циклических кодов»
по дисциплине «Помехоустойчивое кодирование»
Учебное пособие
