ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение
высшего образования «Московский технический университет связи и информатики»
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
ПО ВЫПОЛНЕНИЮ
Лабораторной работы №20 ЭФФЕКТИВНОЕ И ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ
УЧЕБНОЙ ДИСЦИПЛИНЫ
«Общая теория связи»
Москва - 2015
План УМД на 2015/2016 уч .г .
ЛАБОРАТОРНАЯ РАБОТА № 20 – ПК
ЭФФЕКТИВНОЕ И ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ
Составитель: Сухоруков А.С. , доцент
Издание утверждено советом ОТФ-2. Протокол №1 от 31.08.2015 г. Рецензент: Парамонов Ю.В. , доцент
2
А. ЭФФЕКТИВНОЕ КОДИРОВАНИЕ
1.А. ЦЕЛЬ РАБОТЫ
Изучить основные способы увеличения энтропии дискретного источника и принципы эффективного кодирования.
2.А. ДОМАШНЕЕ ЗАДАНИЕ
1. Задан дискретный источник двоичных сообщений, который производит слова, состоящие из двух букв А и М. Всего возможно четыре различных сообщения, слова : АА. AM, МА, ММ. Рассчитайте вероятность каждого слова р(АА), р(АМ), р(МА), р(ММ), если заданы (см. таблицу А) безусловные вероятности р(А), р(М) и условные вероятности.
(р(А/М) - вероятность буквы A, если первой в слове была буква М; остальные обозначения аналогичны).
2.Рассчитайте энтропию источника Н и его избыточность R.
3.Закодируйте слова четверичным кодом и рассчитайте его энтропию и избыточность.
4.Закодируйте четыре слова безызбыточным кодом с префиксными свойствами, построив кодовое дерево. Рассчитайте энтропию нового двоичного кода, его избыточность и среднюю длину кодовой комбинации.
5.Запишите выражения, соответствующие передаче нуля и единицы с помощью двоичной фазовой модуляции. Запишите выражения, соответствующие передаче различных комбинаций из двух символов, «дибитов», с помощью четырехпозиционной ФМ. Нарисуйте временные диаграммы сигналов двоичной и четырехпозиционной ФМ.
Определите максимальное значение энтропии для m=2 и m=4.
Таблица А.
Номер |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
|
стенда |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||
P(A) |
0.15 |
0.1 |
0.9 |
0.8 |
0.7 |
0.6 |
0.5 |
0.4 |
0.2 |
0.75 |
0.95 |
0.35 |
|
P(A/M) |
0.1 |
0.2 |
0.7 |
0.3 |
0.4 |
0.9 |
0.8 |
0.9 |
0.1 |
0.45 |
0.1 |
0.85 |
|
P(M/A) |
0.8 |
0.7 |
0.5 |
0.1 |
0.2 |
0.3 |
0.8 |
0.1 |
0.7 |
0.15 |
0.4 |
0.2 |
3
Б. ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ
1.Б. ЦЕЛЬ РАБОТЫ
Изучите принципы помехоустойчивого кодирования, освоить алгоритм кодирования и алгоритм декодирования для блочного двоичного систематического кода.
2.Б. ДОМАШНЕЕ ЗАДАНИЕ
1. Задана строка порождающей матрицы кода (7,3) в таблице Б. Составить порождающую матрицу заданного кода G.
2.Сформировать разрешенные кодовые комбинации кода (7,3), определить минимальное кодовое расстояние и исправляющую способность полученного кода.
3.Составить проверочную матрицу данного кода Н.
4.Вычислить синдромы и вектора ошибок, соответствующие одиночной ошибке для каждого из 7 символов принятой кодовой комбинации.
5.Составить структурную схему кодека.
Таблица Б.
Номер |
1 |
2 |
3 |
4 |
5 |
6 |
стенда |
|
|
|
|
|
|
Строка |
|
|
|
|
|
|
порож- |
1001010 |
0101110 |
0010111 |
1001111 |
0100101 |
0011100 |
дающей |
|
|
|
|
|
|
матрицы |
|
|
|
|
|
|
|
|
|
|
|
|
|
Номер |
7 |
8 |
9 |
10 |
11 |
12 |
стенда |
|
|
|
|
|
|
Строка |
|
|
|
|
|
|
порож- |
1001110 |
0100011 |
0010011 |
1001100 |
0101010 |
0011110 |
дающей |
|
|
|
|
|
|
матрицы |
|
|
|
|
|
|
3. ОПИСАНИЕ ПРОГРАММЫ
Программа LR-20 состоит из двух частей: первая часть - информационная вторая часть – контролирующая. Информационная часть программы содержит основные сведения о способах увеличения энтропии, способах эффективного
4
кодирования и формулы для расчета параметров эффективного кода (раздел А) и, соответственно, основные сведенияо помехоустойчивых кодах, алгоритмах кодирования и декодирования для блочного двоичного кода (7,3) (раздел Б).
Контролирующая часть программы автоматически оценивает качество усвоения студентом теоретического материала. Эта часть работы выполняется в диалоговом режиме. По запросу компьютера студент должен вводить предварительно рассчитанные параметры. После этого компьютер оценивает правильность ответа и подсчитывает общее число ошибок.
4.ЛАБОРАТОРНОЕ ЗАДАНИЕ
1.Проработать информационную часть программы: изучить основные положения теории эффективного кодирования, записать основные формулы, усвоить принципы построения кодового дерева (раздел А), изучить основные принципы помехоустойчивого кодирования, алгоритмы кодировании и декодирования для кода (7,3) (раздел Б).
2.Выполнить контролирующую часть программы: записать исходные вероятности, задаваемые компьютером ( возврат к ним в дальнейшем невозможен), либо порождающую матрицу; рассчитывать и вводить по запросу компьютера числовые значения величин (с точностью двазнака после запятой) и кодовые комбинации.
3. После окончания лабораторной работы компьютер выдаст сообщение об общем количестве допущенных ошибок и предлагает студенту пригласить преподавателя
5. СОДЕРЖАНИЕ ОТЧЕТА
Отчет должен содержать исходные данные для расчета, результата вычислений основных параметров, кодовое дерево, временные диаграммы, таблицу разрешенных кодовых комбинаций, синдромы и вектора ошибок.
6.ВОПРОСЫ ДНЯ ПОДГОТОВКИ К РАБОТЕ
1.Что такое энтропия? Как рассчитать энтропию дискретного источника независимых сообщений?
2.Как рассчитать энтропию дискретного источника зависимых сообщений?
3.Назовите способы увеличения энтропии.
5
4.Каков алгоритм построения кодового дерева?
5.Нарисуйте временные диаграммы сигналов двух- и четырехпозиционной ФМ.
6.Как рассчитать среднюю длину кодовой комбинации?
7.Что такое кодовое расстояние и минимальное кодовое расстояние для кода?
8.Каков алгоритм кодирования для кода (7.3)?
9.Каков алгоритм декодирования для кода (7.3)?
ПРИЛОЖЕНИЕ А.
Эффективное кодирование - это такое кодирование, которое позволяет увеличить энтропию Н дискретного источника информации, т.е. среднее количество информации, приходящееся на один символ, сообщение, слово. Энтропия измеряется в двоичных единицах (битах) на символ, например, энтропия H = 1.5 бит/символ. Чем больше энтропия источника сообщений, тем больше количество информации, переносимое одним символом. Следовательно, при той же скорости поступления символов в канал будет больше скорость передачи информации, т е. количество информации, передаваемой в единицу времени.
На величину энтропии влияют три основных фактора: корреляционные связи между сообщениями; вероятность каждого из сообщений; основание кода.
Так как наличие корреляционных связей и неравновероятность сообщений уменьшают энтропию, то можно указать три основных способа увеличения энтропии:
1)укрупнение алфавита (декорреляция сообщений),
2)построение кода, символы которого равновероятны,
3)увеличение основания кода.
Пусть задан двоичный источник дискретных сообщений, который производит слова, состоящие из двух букв Аи М. Количество возможных слов - четыре: AM, МА, АА, ММ. Между буквами в словах существуют статистические святи. Между отдельными словами статистических связей нет. Отдельные слова, в общем случае, неравновероятны. Рассчитаем энтропию H такого источника и найдем способы ее увеличения. Пусть вероятностные характеристики источника следующие:
6
р(А)=0.7, р(М)= I - р(А)=0.3 , |
|
|
|
|
|
р(А/A)=0.8, |
|
|
|
|
р(М/А)=I -р(А/А)=0.2, |
|||||||||||||||||||||||||||||||||||||||||||||||||||
р(А/М)=0.7, |
р(М/М)=I- р(A/M)= 0.3. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
Рассчитаем энтропию нашего источника: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
Вероятность слова AM: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Вероятность слона МЛ: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Вероятность слова АA: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
. |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
Вероятность слова ММ: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Так как слова независимы, то энтропию источника можно посчитать как энтропию источника независимых слов. Но, для определения энтропии на букву источника, полученный результат следует разделить на количество букв в слове, то есть на 2:
Где p(Si) – вероятность i-гo слова;
m - общее количество слов (в данном случае m= 4),
n -количество букв в слове (в данном случае n = 2);
lg - десятичный логарифм.
Избыточность источника R равна:
где = log(m) = 1 дв. ед./символ. (m – основание кода исходного источника, равное 2).
1. Укрупнение алфавита источника сообщений.
Для увеличения энтропии будем кодировать не отдельные буквы, а целые слова
S1 = AM закодируем символом 0, S2 = МЛ закодируем символом 1,
S3 = ММ закодируем символом 2, S4 = AA закодируем символом 3.
7
(Корреляционные связи между словами гораздо меньше, чем между буквами).
При этом увеличивается основание кода m= 4 (усложняется кодек) и снижается помехоустойчивость.
Энтропия: Где p(Si) – вероятность i-гo слова;
m -общее количество слов, основание нового кода (в нашем примере 4); Ig –десятичный логарифм.
p(S1) = p(AM); p(S2) = p(MA); p(S3) = p(MM); p(S4) = р(AА). В результате расчета получим: Н=1.656 дв.ед./символ. Избыточность нового кода:
где = log m = 2 дв. ед./символ ( m - основание нового кода, равное 4).
2.Второй способ увеличения энтропии состоит в том, что неравновероятные сообщения кодируются новым кодом, символы которого должны быть равновероятны.
Это достигается, например, кодированием в соответствии с алгоритмом Хаффмена.
Этот алгоритм состоит из следующих операций:
а) Расположить исходные сообщения в порядке убывания вероятностей;
б) Объединить два наименее вероятных сообщения в одно, вероятность которого равна сумме вероятностей объединяемых сообщений (точка объединения сообщений называется «узлом кодового дерева»);
в) Повторять шаги а) и б) до тех пор, пока не получим одно сообщение с вероятностью 1. Эта точка называется «вершиной кодового дерева».
Например, кодовое дерево имеет такой вид в нашем случае:
8
Чтобы закодировать исходные сообщения новым кодом, надо идти от вершины дерева к сообщениям. Если в узлах кодового дерева вы идете вверх, то в кодовую комбинацию пишется 1, а если вниз, то 0. Для нашего примера получим такие кодовые комбинации:
S4 – 1, S2–00, S1–011, S3 –010.
Проследите кодирование по кодовому дереву.
Энтропия нового двоичного кода рассчитывается следующим образом. Пусть слова исходного источника S1, S2, S3. S4 имеют вероятности и закодированы как в нашем примере. Из 100 среднестатистических сообщений будем иметь S1 - 14 сообщений; S2 - 21сообщение; S3 - 9 сообщений; S4 - 56 сообщений. В соответствии с новым кодом имеем:
•14 сообщений S1, т.е. 14 символов 0 и 28 символов 1;
•21 сообщение S2,т.е. 42 символа 0;
•9 сообщений S3, т.е. 9 символов 1 и 18 символов 0; •56 сообщений S4, т.е. 56 символов 1.
Таким образом, 100 среднестатистических сообщений содержат: символ 0: N0=14*1 + 21*2 + 9*2 = 74 штуки;
символ 1: N1 = 14*7 +9*1 * 56*1= 93 штуки;
Т.о. вероятность появления 0 равна: P0 = N0/ (N0+ N1) = 0.443;
9
вероятность появления 1 равна P1=1- 0.443 = 0.557. Энтропия нового двоичного кода равна:
дв.ед./символ.
= log 2 = 1 бит/символ.
Избыточность. . Средняя длина кодовой комбинации:
символ/сообщение, где n1,n2, n3, n4 – длина кодовой комбинации для S1, S2, S3, S4.
3. Третий способ увеличения энтропии - увеличение основания кода m.
Будем считать, что символы нового двоичного кода (m= 2), полученного в п.2, практически равновероятны. Комбинации из двух двоичных символов (бит) называют дибитами. Дибиты этого кода 00, 01, 10, 11 будем кодировать четверичным кодом:
00 - закодируем символом 0; 01 - закодируем символом 1;
10 - закодируем символом 2; 11 - закодируем символом 3.
Каждый символ нового четверичного кода несёт уже не 1 двоичную единицу информации (бит), а 2, т.к. при m=4 = log4 = 2 [бит/символ].
Два символа двоичного кода длительностью 2Т несут, максимум, 2 бита информации (m=2; 1бит/символ;n = 2;l = n * = 2бита). Один символ четверичного кода длительностью Т несет тоже 2 бита информации (m = 4; = бит/символ;n = 1; l =n;= 2 бита). Следовательно, мы в 2 раза увеличили скорость передачи информации. При этом помехоустойчивость приёма уменьшается.
Пусть двоичные символы передаются с помощью ДФМ; т.е. символы 0 и 1 передаются колебаниями с фазами k* 180, k = 0 или 1:
; .
Пусть дибиты 00, 01, 10,11 кодируются четырехпозиционной ФМ с фазами k*90° (k - десятичное число, соответствующее двоичному числу дибита);
.
10