- •Введение
- •1 Основы теории
- •1.1 Математический аппарат исследования дискретных сигналов и цифровых фильтров
- •1.2 Двоичные дискретные сигналы и фильтры
- •1.3 Двоичные последовательности Хаффмена
- •1.4 Формирование блоковых разделимых кодовых сигналов
- •1.5 Рекуррентные формирователи кодовых сигналов
- •1.6 Схемы и алгоритмы исправления ошибок в разделимых блоковых кодовых сигналах
- •1.7 Схемы и алгоритмы исправления ошибок в систематических кодовых сигналах
- •1.8 Схемы и алгоритмы исправления ошибок в несистематических кодовых сигналах
- •1.9 Декодирование сообщений
- •2 Задания на самостоятельную работу
- •3.1 Лабораторная работа №1: формирование и исследование последовательностей Хаффмена и неразделимых кодовых комбинаций.
- •3.6 Лабораторная работа №6: формирование и исследование рекуррентных несистематических кодовых последовательностей
- •3.7 Лабораторная работа №7: исследование схем оценки помеховых сигналов и восстановления начальных кодовых комбинаций несистематического кода
- •3.8 Лабораторная работа №8: исследование помехоустойчивости канала связи на основе разделимых кодовых сигналов
- •3.9 Лабораторная работа №9: исследование помехоустойчивости каналов связи на основе рекуррентных систематических кодов
- •3.10 Лабораторная работа №10: исследование помехоустойчивости каналов связи на основе рекуррентных несистематических кодов
- •3.11 Лабораторная работа №11: исследование эффективности декодирования сообщений по каналам связи с помехами
- •4 Исходные данные для проведения исследований
- •4.1 Лабораторная работа 1
- •4.2 Лабораторная работа 2
- •4.3 Лабораторная работа 3
- •4.4 Лабораторная работа 4
- •4.9 Лабораторная работа 9
- •4.10 Лабораторная работа 10
- •4.11 Лабораторная работа 11
- •5 Программное обеспечение компьютерных лабораторных исследований
- •Словарь терминов
- •5.1 Лабораторная работа № 1
- •5.2 Лабораторная работа № 2
- •5.3 Лабораторная работа № 3
- •5.4 Лабораторная работа № 4
- •5.5 Лабораторная работа № 5
- •5.6 Лабораторная работа № 6
- •5.7 Лабораторная работа № 7
- •5.8 Лабораторная работа № 8
- •5.9 Лабораторная работа № 9
- •5.10 Лабораторная работа № 10
- •5.11 Лабораторная работа № 11
5.1 Лабораторная работа № 1
Для выполнения лабораторной работы прежде всего необходимо уяснить ее смысл и содержание. Цели и задачи данной лабораторной работы приведены в пункте 3.1, а исходные данные – в пункте 4.1 данного пособия. Теоретические основы содержатся в пункте 1.3.
Начальные данные, соответствующие заданному преподавателем варианту, можно получить, нажав на кнопку главного меню "Исходные данные". После нажатия на экране возникнет список всех лабораторных работ. Из этого списка необходимо выбрать пункт "Лабораторная работа № 1". Для этого на соответствующую надпись наводится курсор мыши и нажимается ее левая кнопка. При этом на экране возникнет окно, в котором необходимо задать номер варианта. Задание номера варианта осуществляется путем набора с клавиатуры в соответствующее окошко или изменением с помощью кнопки "вверх-вниз" значения номера варианта, заданного по умолчанию. После задания номера варианта необходимо нажать на кнопку "Ok". Появившееся после этого окно (рис. 5.2) будет содержать окошки с двоичным и шестнадцатеричным представлением кодов с именем Q для формирующего фильтра и с именем S для начальных членов последовательности Хаффмена.
Идентификатор кода, его двоичное и шестнадцатеричное представления образуют кодовое информационное поле. Шестнадцатеричное представление удобно при сравнении двух кодов.
Рис 5.2 Окно для исходных данных лабораторной работы № 1
Данная лабораторная работа выполняется с помощью операций "Построение последовательности Хаффмена", "Получение множества кодов путем циклического сдвига", "Вычисление кодовых расстояний". Окна для этих операций необходимо вызвать на экран. Список всех операций появляется на экране при нажатии на кнопку "Операции" главного меню. При нажатии на левую кнопку мыши, когда ее курсор находится на поле с названием любой операции, окно этой операции появляется на экране.
О
Рис. 5.3 – Окно операции "Построение
последовательности Хаффмена"
Кодовое информационное поле S, вообще говоря, должно содержать n=2m-1 двоичных символов. Однако, существует ограничение на длину кода в двоичном представлении, которая не должна превышать 219500 000 знаков. Кроме того, уже при m>12 время работы программы становится ощутимым. Поэтому, больших значений m следует избегать.
Вычисления осуществляются по формуле
где - сложение по модулю 2.
Окно для операции
"Получение множества кодов путем
циклического сдвига" (рис. 5.4) содержит
входное кодовое информационное поле A
для задания исходного кода и входное
числовое информационное поле n
для задания числа максимального сдвига.
В результате работы программы образуется
множество из n
кодовых информационных полей, объединенное
общим заголовком B
и располагающееся в поле с бегунками
прокрутки, позволяющими при необходимости
увидеть любое из полей данного множества
B.
Первое кодовое информационное поле
B(1)
из множества B
содержит код, сдвинутый на единицу по
сравнению с кодом в окошке A,
поле B(2)–
код окошка A,
сдвинутый на 2 и т.д. В общем случае код
в кодовом информационном окне B(i)
в
Рис. 5.4 – Окно операции "Получение
множества кодов путем циклического
сдвига"
B(i)(k)=A(i+k), k=1,2,...,m-i;
B(i)(k)=A(i+k-m), i=m-i+1,...,m;
где m – длина кода A.
Задание кода в информационном поле A осуществляется методом прямого набора с клавиатуры или методом " drag and drop" через окошки с аналогичным форматом представления данных. Таким же образом может быть задано число n.
Окно для операции "Вычисление кодовых расстояний" (рис. 5.5) содержит входное множество кодовых информационных полей B, аналогичное описанному для предыдущей операции. Операция производится по формуле
где dij – кодовое расстояние между кодами с номерами i и j;
n – максимум из длин кодов i и j;
– обычное суммирование;
m – количество элементов-кодов во множестве B.
Результирующая матрица с элементами dij помещается на поле с горизонтальным и вертикальным бегунками прокрутки.
Н
Рис. 5.5 – Окно операции " Вычисление
кодовых расстояний "
Для выполнения лабораторной работы необходимо вызвать на экран монитора окно с исходными данными и три окна с необходимыми программами. Размеры вызванных окон, их положение на экране можно изменять по правилам работы с окнами операционной системы Windows. Начальные данные необходимо, используя метод "drag and drop" и набор с клавиатуры, пропустить через все вызванные программы. Отчет о выполнении лабораторной работы должен содержать:
1) постановку задачи;
2) исходные коды;
3) формулы для вычислений;
4) последовательность Хаффмена;
5) матрицу кодовых расстояний между полученными кодами;
6) коды с минимальным кодовым расстоянием между ними;
7) число ошибок, при которых будет иметь место правильное распознавание кодовых комбинаций;
8) разностные уравнения формирующего фильтра.