- •Д.Е. Турчин
- •Лабораторный практикум
- •Кемерово 2013
- •Описание лабораторного практикума
- •1.2.2. Понятие кода и кодирования. Моделирование дискретных источников сообщений без памяти
- •1.3. Порядок выполнения работы
- •1.4. Контрольные вопросы
- •Марковские источники сообщений.
- •Эффективность, избыточность и производительность источника сообщений.
- •Кодовые деревья и префиксные коды.
- •2.3. Порядок выполнения работы
- •2.4. Контрольные вопросы
- •3.2.2. Пропускная способность дискретного канала связи. Кодеры и декодеры канала связи. Код с битом четности Пропускная способность дискретного канала связи.
- •Кодер и декодер канала связи. Код с битом четности.
- •3.3. Порядок выполнения работы
- •3.4. Контрольные вопросы
- •Метод Шеннона-Фано.
- •4.2.2. Методы кодирования источников сообщений по Хаффману Кодирование дискретного источника сообщений без памяти по Хаффману.
- •4.3. Порядок выполнения работы
- •4.4. Контрольные вопросы
- •Декодирование арифметического кода.
- •5.2.2. Метод адаптивного арифметического кодирования и его программная реализация
- •5.3. Порядок выполнения работы
- •5.4. Контрольные вопросы
- •6. Сжатие информации методами Лемпела-Зива
- •6.1. Цель работы
- •6.2. Основные теоретические сведения
- •Код Хэмминга.
- •7.2.2. Расширенный код Хэмминга. Программная реализация кода Хэмминга Расширенный код Хэмминга.
- •7.3. Порядок выполнения работы
- •7.5. Контрольные вопросы
- •8. Построение и декодирование линейных блоковых кодов
- •8.1. Цель работы
- •8.2. Основные теоретические сведения
- •8.3. Порядок выполнения работы
- •8.4. Контрольные вопросы
- •Приложение п.1. Понятие события и его вероятности. Теоремы сложения и умножения вероятностей Понятие события и вероятности события. Непосредственный подсчет вероятностей.
- •Теорема сложения вероятностей.
- •Теорема умножения вероятностей.
- •П.2. Данные для расчета энтропии и количества информации
- •П.3. Матрицы и операции над ними п.4. Многочлены и операции над ними
- •П.5. Вопросы к экзамену
8.4. Контрольные вопросы
Как с помощью порождающей матрицей линейного блокового кода осуществляется кодирование информационных слов?
Что такое совершенные коды?
Какими соображениями руководствуются при построении матрицы-дополнения для порождающей матрицы линейного блокового кода?
Как с помощью проверочной матрицы линейного блокового кода можно определить принадлежность кодового вектора данному коду?
Что понимают под синдромом при декодировании линейных блоковых кодов?
Каким образом строится стандартная таблица декодирования линейного блокового кода?
9. Построение и декодирование циклических кодов
9.1. Цель работы
Цель работы – приобрести умение строить циклические коды на основе порождающих многочленов, а также декодировать данные коды для обнаружения и исправления ошибок в сообщениях.
Работа рассчитана на 4 часа.
9.2. Основные теоретические сведения
9.2.1. Математическое описание циклических кодов. Построение циклических кодов
Циклические коды составляют большую группу наиболее широко используемых на практике линейных блоковых кодов. Их основное свойство, давшее им название, состоит в том, что каждый вектор, получаемый из исходного кодового вектора путём циклической перестановки его символов, также является разрешённым кодовым вектором.
Сдвиг осуществляется
справа налево, причем крайний левый
символ каждый раз переносится в конец
комбинации. Например, если
=
[100110] является кодовым вектором
циклического кода C,
то
=
[010011] также является вектором того же
кода.
При описании циклических кодов n-разрядные кодовые вектора представляются в виде многочленов (полиномов) фиктивной переменной х:
[c0c1…cn–1]
сn–1(x)
= c0
+ c1x
+ … + cn–1xn–1
=
.
(9.1)
Показатели степени у переменной x соответствуют номерам разрядов (начиная с нулевого), а коэффициентами при x в общем случае являются элементы поля GF(q).
Идея построения циклических кодов базируется на использовании неприводимых в поле GF(q) многочленов.
Неприводимыми в поле GF(q) называются многочлены, которые не могут быть представлены в виде произведения многочленов низших степеней с коэффициентами. Они также, как простые числа не могут быть представлены произведениями других чисел. То есть неприводимыми многочленами называют многочлены, которые делятся без остатка только на себя или на единицу.
Неприводимые многочлены в теории циклических кодов играют такую же роль, как порождающие матрицы для групповых кодов.
Порождающим (производящим, образующим) многочленом циклического кода C называется неприводимый многочлен, при умножении … на который получается многочлен циклического кода C.
Любой многочлен циклического кода делится на порождающий многочлен без остатка. Если при делении кодового вектора на порождающий многочлен будет получен остаток, то в кодовом векторе присутствует ошибка.
❒ Пример 9.1. Получение кодовых векторов циклического кода.
. ❒
9.2.2. Декодирование циклических кодов, исправляющих одиночные ошибки
Ошибки в циклических кодах обнаруживаются и исправляются при помощи остатков от деления полученного кодового вектора на порождающий многочлен.
❒ Пример 9.2. Декодирование кодовых векторов циклического кода.
. ❒
9.2.3. Построение и декодирование БЧХ-кодов
9.2.4. Программная реализация построения и декодирования циклических кодов
9.3. Порядок выполнения работы
Данная лабораторная работа предполагает выполнение следующих этапов:
Изучить методические указания к лабораторной работе.
Для заданного числа информационных символов и корректирующей способности t = 1 получить порождающий многочлен циклического кода.
Осуществить кодирование заданных информационных векторов в циклический код с помощью порождающего многочлена.
Задать в полученных кодовых векторах циклического кода одиночные ошибки и произвести декодирование по синдрому.
Оформить и защитить отчет по лабораторной работе.
Таблица 6.3
Варианты заданий для построения линейных блоковых кодов
Вар. |
Информационные векторы |
||
1 |
00000110 |
00100110 |
01010101 |
2 |
10111010 |
11010101 |
10101011 |
3 |
00010100 |
00001101 |
00100010 |
4 |
10010100 |
00110001 |
10011101 |
5 |
00011110 |
01100000 |
00100010 |
6 |
11100011 |
00011111 |
10011101 |
7 |
01001010 |
00110010 |
01000100 |
8 |
10001011 |
00001101 |
11010001 |
9 |
00010101 |
10001110 |
01111001 |
10 |
11011110 |
10110001 |
10100001 |
11 |
01000010 |
10011110 |
01011101 |
12 |
11000011 |
11000001 |
10011101 |
13 |
00011010 |
11010100 |
00101010 |
14 |
10000111 |
11000110 |
10010001 |
15 |
00001110 |
10011100 |
00010011 |
16 |
10011100 |
00110101 |
11011101 |
17 |
00101100 |
00101000 |
11000100 |
18 |
00010111 |
11101110 |
00010001 |
19 |
10110100 |
01011001 |
11000100 |
20 |
00010011 |
10000110 |
11100011 |
21 |
00101110 |
00100100 |
01101000 |
22 |
10101101 |
11010000 |
01100011 |
23 |
10000110 |
00100100 |
00011000 |
24 |
00000101 |
11100100 |
01111011 |
9.4. Контрольные вопросы
В чем заключается основная особенность такого класса линейных блоковых кодов, как циклические коды?
Какие многочлены называют неприводимыми в поле GF(q)?
Что понимают под порождающими многочленами циклических кодов?
Как осуществляется получение кодовых векторов циклического кода с помощью порождающих многочленов?
?
10. Шифрование сообщений методами замены и перестановки
10.1. Цель работы
Цель работы – .
10.2. Основные теоретические сведения
10.3. Порядок выполнения работы
Данная практическая работа предполагает выполнение следующих этапов:
1. Изучить методические указания к практической работе.
2.
10.4. Пример выполнения работы
10.5. Контрольные вопросы
1.
2.
3.
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии: Учеб. пособие. 3-е изд., испр. и доп. – М.: Гелиос АРВ, 2005.
Ватолин Д., Ратушняк А., Смирнов М., Юкин В. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. – М.: ДИАЛОГ–МИФИ, 2002.
Вентцель Е.С. Теория вероятностей: Учеб. пособие для студ. втузов. – М.: Издательский центр «Академия», 2003.
Вернер М. Основы кодирования: Учебник для ВУЗов. – М.: Техносфера, 2006.
Дмитриев В.И. Прикладная теория информации. – М.: Высш. шк., 1989.
Духин А.А. Теория информации. – М.: Гелиос АРВ, 2007.
Кудряшов Б.Д. Теория информации. – СПб.: Питер, 2009.
Лидовский В.В. Теория информации: Учебное пособие. – М.: Компания Спутник +, 2004.
Морелос-Сарагоса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение: Пер. с англ. – М.: Техносфера, 2005.
Орлов В.А., Филипов Л.И. Теория информации в упражнениях и задачах: Учеб. пособие для втузов. – М.: Высш. школа, 1976.
Осипян В.О., Осипян К.В. Криптография в задачах и упражнениях. – М.: Гелиос АРВ, 2004.
Панин В.В. Введение в теорию кодирования: учеб. пособие для студентов вузов. – 2-е изд., испр. – М.: БИНОМ. Лаборатория знаний, 2011.
Панин В.В. Основы теории информации: учеб. пособие для студентов вузов. – 3-е изд., испр. – М.: БИНОМ. Лаборатория знаний, 2009.
Питерсон У., Уэлдон Э. Коды, исправляющие ошибки: Пер. с англ. – М.: Мир, 1976.
Сэломон Д. Сжатие данных, изображения и звука. – М.: Техносфера, 2004. – 368 с.
Хэмминг Р.В. Теория кодирования и теория информации: Пер. с англ. – М.: Радио и связь, 1983.
Цымбал В.П. Задачник по теории информации и кодирования. – Киев: Вища школа, 1976.
Цымбал В.П. Теория информации и кодирование: Учебник. – 4-е изд. перераб. и доп. – Киев: Вища школа, 1992.
