
- •Министерство образования и науки рф
- •080801 Прикладная информатика (по областям применения)
- •Сочи, 2010 г.
- •1. Меры информации 20
- •2. Квантование сигналов 46
- •3.8. Помехоустойчивое кодирование 96
- •Введение Курс лекций
- •Определение понятия информация
- •Фазы обращения информации
- •Некоторые определения
- •1. Меры информации
- •1.1. Структурные меры количества информации
- •1.1.1. Геометрическая мера
- •1.1.2. Комбинаторная мера
- •1.1.3. Аддитивная мера (мера Хартли)
- •1.2. Статистические меры
- •1.2.1. Энтропия и ее свойства.
- •1.2.1.1. Энтропия и средняя энтропия простого события
- •Метод множителей Лагранжа
- •1.2.1.2. Энтропия сложного события, состоящего из нескольких независимых событий
- •1.2.1.3. Вывод формулы среднего значения энтропии на букву сообщения
- •1.2.1.4. Энтропия сложного события, состоящего из нескольких зависимых событий
- •1.2.2. Некоторые выводы, касающиеся статистической меры количества информации Шеннона
- •1.2.3. Литература
- •1.2.4. Избыточность сообщения
- •1.2.5. Пример оценки количества информации при помощи статистической меры Шеннона
- •1.3. Семантические меры информации
- •1.3.1. Содержательность информации
- •1.3.2. Целесообразность информации
- •1.3.3. Динамическая энтропия
- •1.4. Общие замечания об измерении информации
- •1.5. Энтропия непрерывных сообщений
- •1.5.1. Экстремальные свойства энтропии непрерывных сообщений
- •1.5.1.1. Первый случай (значения сл. Величины ограничены интервалом)
- •1.5.1.2. Второй случай (заданы дисперсия и математическое ожидание сл. Величины)
- •1.5.1.3. Третий случай (сл. Величина принимает только положительные значения)
- •2. Квантование сигналов
- •2.1. Виды дискретизации (квантования)
- •2.2. Критерии точности представления квантованного сигнала
- •2.3. Элементы обобщенной спектральной теории сигналов
- •2.4. Дискретизация по времени
- •2.4.1. Разложение в ряд Котельникова (Теорема Котельникова)
- •2.4.1.1. Свойства функции отсчетов
- •2.4.1.2. О практическом использовании теоремы Котельникова
- •2.4.2. Выбор периода дискретизации (квантования по времени) по критерию наибольшего отклонения
- •2.4.2.1. Интерполяция при помощи полиномов Лагранжа
- •2.4.2.2. Оценка максимального значения ошибки при получении воспроизводящей функции на основе полинома Лагранжа
- •2.4.2.3. Схема дискретизации-передачи-восстановления сигнала
- •2.4.2.4. Расчет периода дискретизации при использовании для получения воспроизводящей функции полинома Лагранжа нулевого порядка
- •2.4.2.5. Расчет периода дискретизации при использовании для получения воспроизводящей функции полинома Лагранжа первого порядка
- •2.4.2.6. Расчет периода дискретизации при использовании для получения воспроизводящей функции полинома Лагранжа второго порядка
- •2.4.2.7. Обобщение на случай использования полиномов Лагранжа произвольного порядка
- •2.4.3. Выбор интервала дискретизации по критерию среднеквадратического отклонения
- •2.5. Квантование по уровню
- •2.5.1. Оптимальное квантование по уровню
- •2.5.2. Дисперсия ошибки в случае использования равномерной шкалы квантования по уровню
- •2.5.3. Расчет неравномерной оптимальной в смысле минимума дисперсии ошибки шкалы квантования.
- •2.5.4. Расчет неравномерной оптимальной в смысле максимума количества информации в квантованном сигнале шкалы квантования
- •2.5.5. Закон компандирования при условии равномерного закона распределения квантуемого сигнала
- •3. Кодирование информации
- •3.1. Общие понятия и определения. Цели кодирования
- •3.2. Элементы теории кодирования
- •3.3. Неравенство Крафта
- •3.4. Теорема об обобщении некоторых результатов, полученных для префиксных кодов, на все однозначно декодируемые коды
- •3.5. Основная теорема кодирования для канала связи без шума (теорема 3)
- •3.6. Теорема о минимальной средней длине кодового слова при поблочном кодировании (теорема 4)
- •3.7. Оптимальные неравномерные коды
- •3.7.1. Лемма 1. О существовании оптимального кода с одинаковой длиной кодовых слов двух наименее вероятных кодируемых букв
- •3.7.2. Лемма 2. Об оптимальности префиксного кода нередуцированного ансамбля, если префиксный код редуцированного ансамбля оптимален
- •3.7.3. Коды Хаффмена12
- •3.7.4. Коды Шеннона−Фэно
- •3.7.5. Параметры эффективности оптимальных кодов
- •3.7.6. Особенности эффективных кодов.
- •3.8. Помехоустойчивое кодирование
- •3.8.1. Классификация кодов
- •3.8.2. Простейшие модели цифровых каналов связи с помехами
- •3.8.3. Расчет вероятности искажения кодового слова в дсмк
- •3.8.4. Общие принципы использования избыточности
- •3.8.5. Граница Хэмминга
- •3.8.6. Избыточность помехоустойчивых кодов
- •3.8.7. Математическое введение к алгебраическим кодам
- •3.8.8. Линейные коды
- •3.8.9. Упрощённый способ построения линейного кода
- •Определение числа добавочных разрядов m.
- •Построение образующей матрицы
- •Порядок кодирования
- •4. Порядок декодирования
- •3.8.10. Двоичные циклические коды
- •3.8.11. Некоторые свойства циклических кодов
- •3.8.12. Построение кода с заданной корректирующей способностью
- •3.8.13. Матричное описание циклических кодов
- •3.8.14. Выбор образующего полинома
- •4. Передача информации
- •4.1. Виды каналов передачи информации
- •4.2. Разделение каналов связи
- •4.2.1. Частотное разделение
- •4.2.2. Временное разделение
- •4.2.3. Кодовое разделение
- •4.2.4. Разделение по уровню
- •4.2.5. Корреляционное разделение
- •4.2.6. Комбинированные методы разделения
- •4.3. Пропускная способность каналов связи
- •4.4. Пропускная способность дискретного канала связи с шумом
- •4.4.1. Типичные последовательности и их свойства
- •4.4.2. Основная теорема Шеннона для дискретного канала с шумом
- •4.4.3. Обсуждение основной теоремы Шеннона для канала с шумом
- •4.5. Пропускная способность непрерывного канала при наличии аддитивного шума
- •Литература
- •Приложение 1. Таблица неприводимых полиномов
- •Учебно-лабораторный практикум л абораторная работа 1: Исследование информативности источников дискретных сообщений.
- •Теоретическое введение
- •Шаг 2. Ввод текстовых файлов в Excel-таблицу с разбиением каждой строки текста на отдельные символы.
- •Шаг 3. Используя инструмент «гистограмма» пакета анализа надстройки Анализ данных, находим частоты появления каждого символа в текстах и по ним находим вероятности их появления в данном языке.
- •Шаг 4. Находим среднюю энтропию, приходящуюся на 1 букву сообщения.
- •Шаг 6. Возьмем короткий отрезок текста на одном из заданных языков и найдем количество заключенной в нем информации
- •Шаг 7. Проделаем те же операции с учетом зависимости двух соседних букв того же текста.
- •Шаг 8. Напишем отчет о выполненной работе с описанием всех вычислений и о том, как они выполнялись. Прокомментируйте результаты.
- •Шаг 9. Сдайте или отослать по электронной почте (alexm5@fromru.Com) отчет на проверку преподавателю. Шаг 10. Защитите лабораторную работу у преподавателя. Варианты задания
- •Результаты работы
- •Сдача работы
- •Вопросы для самопроверки
- •Литература
- •Приложение 1: Пример оформления титульного листа
- •Приложение 2: Порядок создания нестандартных функций при использовании табличного процессора Excel Введение
- •Подключение возможности использования нестандартных функций.
- •Создание нестандартной функции
- •Приложение 3: Описание функции впр
- •Лабораторная работа 2. Исследование методов дискретизации непрерывных сообщений по времени
- •Теоретическое введение.
- •Последовательность выполнения практической части работы
- •1. Знакомство с программой Wavosaur для записи и обработки звука.
- •2. Подключите к компьютеру головную гарнитуру (головной телефон и микрофон, рис. 2, слева) и нажмите кнопку Monitor input with vu meter, указанную на рис. 2 справа синей стрелкой.
- •3. Запись голоса и подготовка сигнала.
- •4. Импорт текстовых данных в Excel
- •Результаты работы
- •Литература
- •Вопросы для самопроверки
- •Иллюстрация к порядку вычисления ряда Найквиста-Котельникова
- •Лабораторная работа 3. Исследование оптимального квантования непрерывных сообщений по уровню.
- •Теоретическое введение.
- •Возможный вариант выполнения работы
- •Результаты работы
- •Литература
- •Вопросы для самопроверки
- •Лабораторная работа 4. Исследование оптимальных (в смысле минимальной средней длины кодового слова) кодов на примере кодов Шеннона-Фэно и Хаффмена.
- •Теоретическое введение.
- •Коды Хаффмена
- •Коды Шеннона−Фэно
- •Параметры эффективности оптимальных кодов
- •Особенности эффективных кодов.
- •Выполнение работы
- •Результаты работы
- •Литература
- •Вопросы для самопроверки
- •Лабораторная работа 5. Исследование кодов, обнаруживающих и исправляющих ошибки на примере линейного кода, исправляющего однократные ошибки.
- •Теоретическое введение.
- •Определение числа добавочных разрядов m.
- •Построение образующей матрицы
- •Порядок кодирования
- •4. Порядок декодирования
- •Выполнение работы
- •Результаты работы
- •Литература
- •Вопросы для самопроверки
- •12 Дэвид Хаффман (р. 9 августа 1925, Альянс, Огайо — 7 октября 1999, Санта Круз, Калифорния) — первопроходец в сфере информатики.
Порядок кодирования
Кодовое слово КС получается путем умножения матрицы информационной последовательности ||X|| на образующую матрицу ||OM||:
||KC1*n|| = ||X1*k|| * ||OMk*n|| .
Умножение выполняется по правилам умножения матриц:
Элементы i-й строки множимого ||B|| умножаются на элементы j-го столбца множителя ||C|| и складываются. В результате такого сложения получается элемент i-ой строки и j-го столбца aij результирующей матрицы ||A||.
Надо только помнить, что сложение здесь ведется по модулю 2.
Пример:
Допустим,
образующая матрица
и матрица информационной последовательности ||X|| = ||1100||.
Так как множимая матрица имеет всего одну строку, умножение упрощается. В этом случае следует поставить в соответствие строкам образующей матрицы ||OM|| разряды матрицы информационной последовательности ||X|| и сложить те строки образующей матрицы, которые соответствуют единичным разрядам матрицы ||X||.
||X|| ||OM||
1 1 0 0 0 1 1 0
1 0 1 0 0 1 1 1
0 0 0 1 0 0 1 1
0 0 0 0 1 1 0 1
||KC|| = 1 1 0 0 0 0 1
Заметим, что ||KC|| = ||X ДР||, где ||Х|| – информационная последовательность (т.к. умножается на единичную матрицу ||I||), а ||ДР|| - добавочные разряды, зависящие от матрицы добавочных разрядов ||МДР||: ||ДР|| = ||X|| * ||МДР|| .
4. Порядок декодирования
В результате передачи кодового слова через канал оно может быть искажено помехой. Это приведет к тому, что принятое кодовое слово ||ПКС|| может не совпасть с исходным ||КС||.
Искажение можно описать с помощью следующей формулы:
||ПКС|| = ||KC|| + ||BO||,
где ||BO|| − вектор ошибки – матрица-строка размерностью 1*n, с единицами в тех разрядах, в которых произошли искажения.
Декодирование основано на нахождении так называемого опознавателя – матрицы-строки ||ОП1*m|| длиной m разрядов (m – количество добавочных или избыточных разрядов в кодовом слове). Опознаватель используется для нахождения предполагаемого вектора ошибки.
Опознаватель находят по следующей формуле:
||ОП|| = ||ПКС|| * ||ТПМ||,
где ||ПКС|| – принятое и возможно искаженное кодовое слово;
||ТПМ|| - транспонированная проверочная матрица, которая получается из матрицы добавочных разрядов ||МДР|| путем приписывания к ней снизу единичной матрицы:
.
Пример ||ТПМ||:
||1 1 0||
||1 1 1||
||0 1 1||
||1 0 1||
||1 0 0||
||0 1 0||
||0 0 1||
Поскольку ||ПКС|| = ||KC|| + ||BO||, последнюю формулу можно записать в виде: ||ОП|| = ||KC|| * ||ТПМ|| + ||BO|| * ||ТПМ||
Рассмотрим первое слагаемое.
||КС|| − матрица-строка, причем первые k разрядов – информационные.
Докажем теперь, что произведение кодового слова ||КС|| на ||ТПМ|| приводит к получению нулевой матрицы ||0||.
Поскольку ||KC|| − матрица-строка, возможен упрощенный порядок умножения матриц, рассмотренный выше.
.
Следовательно, первое слагаемое в ||ОП|| = ||KC|| * ||ТПМ|| + ||BO|| * ||ТПМ|| всегда равно нулю и опознаватель полностью зависит от вектора ошибки ||BO||.
Если теперь подобрать такую матрицу ТПМ, а значит и МДР, чтобы разным векторам ошибки соответствовали разные опознаватели ОП, то по этим опознавателям можно будет находить вектор ошибки ВО, а значит и исправлять эти ошибки.
Соответствие опознавателей векторам ошибки находится заранее путем перемножения векторов исправляемых ошибок на ТПМ:
||ОП|| = ||BO|| * ||ТПМ||
Таким образом, способность кода исправлять ошибки целиком определяется МДР.
Найдем способ построения МДР для кодов, исправляющих однократные ошибки.
Число столбцов m определяется, как показано выше, в виде минимального числа, удовлетворяющего неравенству 2m > m+k .
Так как ВО для случая исправления одной ошибки может иметь лишь одну единицу, таких ВО может быть только n (1 в различных разрядах). Учитывая возможность использования в данном случае вышеописанного упрощенного способа перемножения матриц, видим, что опознаватели в этом случае просто совпадают со строками ТПР, причем номер строки равен номеру искаженного разряда.
Для того, чтобы ни одна строка МДР не совпадала со строкой приписанной к ней ниже единичной матрицы, число единичных разрядов в МДР должно быть больше одного. Кроме того, чтобы строки не были одинаковыми (а они совпадают с опознавателями; опознаватели различных ошибок должны быть различны) они должны отличаться не менее, чем в одном разряде.
Эти правила можно получить и другим способом.
Кодовое расстояние для кода, исправляющего до КСК ошибок, вычисляется по формуле КСК = int[(dmin-1)/2]. Несложно найти, что dmin=3 при КСК=1.
Для линейных кодов справедливо утверждение о том, что кодовое расстояние линейного кода равно минимальному весу кодового слова этого кода. Для доказательства вспомним определение линейного кода, согласно которому линейными называются коды любые линейные комбинации кодовых слов которых также являются кодовыми словами. Для определения расстояния между кодовыми словами нужно найти вес их суммы. Но эта сумма сама является кодовым словом. Кодовое же расстояние равно минимальному расстоянию между кодовыми словами. Это тоже кодовое слово.
При кодировании мы суммируем определенное количество (обозначим это количество буквой i) строк образующей матрицы ОМ. За счет единичной матрицы в полученном таким образом кодовом слове будет как минимум i единиц.
Если i=1 (i не может быть меньше 1), то кодовое слово совпадает с одной из строк ОМ, а поскольку минимальный вес кодового слова в нашем случае равен 3, за счет МДР должно быть добавлено еще две единицы. Отсюда требование наличия не менее чем двух единиц в каждой строке МДР.
Если i=2, 2 единицы получаем за счет единичной матрицы и, чтобы получить еще одну единицу, нужно иметь хотя бы одно различие между двумя любыми строчками МДР.
Полученный нами код не удобен тем, что опознаватель, хотя и связан однозначно с номером искаженного разряда, как число не равен ему. Для поиска искаженного разряда нужно использовать дополнительную таблицу соответствия между опознавателем и этим номером. Коды, в которых такое соответствие присутствует, были найдены и получили название кодов Хэмминга.
Построение МДР для случая исправления многократных ошибок значительно усложняется. Разными авторами были найдены различные алгоритмы построения МДР для этого случая, а соответствующие коды называются их именами.
Несколько слов об обозначении кодов.
Равномерные блоковые систематические коды имеющие n-разрядные кодовые слова с k информационными разрядами называют (n,k)-кодами.
В качестве примера рассмотрен код (8,4).
П
||OM||
||1 0 0 0 1 1 0||
||0 1 0 0 1 1 1||
||0 0 1 0 0 1 1||
||0 0 0 1 1 0 1||
ри использовании линейных кодов можно избежать применения операций над матрицами. Рассматривая процесс кодирования, нетрудно заметить, что определенные добавочные разряды получаются путем сложения по модулю 2 определенных информационных разрядов.Обозначим кодовое слово X1X2…XkY1Y2…Ym. Здесь Х – информационные разряды, Y – добавочные разряды.
В нашем примере
k=4, M=3,
Y1 = X4 , Y2 = X1+X2+X4 ,
Y
||ТПМ||
||1 1 0||
||1 1 1||
||0 1 1||
||1 0 1||
||1 0 0||
||0 1 0||
||0 0 1||
3 = X1+X2+X3 ,Y4 = X2+X3+X4 .
Для расчета разрядов Z опознавателя также можно использовать соответствующие формулы:
Z1 = F1+F2+F4+F5
Z2 = F1+F2+F3+F6
Z3 = F2+F3+F4+F7,
Где Fi – разряды ТПМ
Расчеты по формулам широко используются при построении кодирующих и декодирующих устройств.