Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Цифроовое моделирование системы эффективного кодирования сообщений(объектно-ориентированный подход).doc
Скачиваний:
23
Добавлен:
15.06.2014
Размер:
1 Мб
Скачать
☆
    1. Кодирование текстов

Внешняя среда может быть представлена текстовым файлом, определяемым пользователем. В этом случае экземпляр класса Derivedbuilder формирует цепочку блоков или L-грамм MsgChain, в зависимости от переданной Derivedbuilder конфигурации формирования цепочки.

После формирования цепочки блоков или L-грамм необходимо создать среду для приема и передачи данных: кодер (PCoder / ECoder), декодер (PDecoder / EDecoder). Но прежде создаем экземпляр класса PositionalCode / Huffman, который отвечает за создание таблицы кодирования, состоящую из двоичных кодовых слов позиционного кода (кодовых слов эффективного кода), тем самым позволяя по данной таблице «распознавать» поступающие на вход устройства данные.

За последовательную передачу цепочки сообщений отвечает класс ChainGenerator, который обязательно должен стоять первым в цепочке подключенных устройств. Сообщения передаются блоками или L-граммами в «естественной» последовательности (как в файле).

Соединение объектов происходит с помощью метода setNext, при условии, что данный объект реализует интерфейс IDeviceConnector. После чего необходимо запустить генератор сообщений с помощью метода execute().

Для наглядности представления обработанной цепочки сообщений существует класс CodeSaver, который отвечает за сохранение в файл данных из памяти ExtandibleMemory , предварительно настроенный на обработку блоков или L-грамм.

После передачи данных их необходимо проанализировать. Для этого в цифровой модели существуют следующие средства:

  1. EStatViewer – класс, занимающийся выводом данных об эффективности кода;

  2. EffectiveCodeStatistics – класс, предназначенный для вычисления показателей эффективности кода;

  3. TableViewer – класс, предназначенный для вывода кодирующих таблиц;

  4. PassStatistics – класс, рассчитывает статистические показатели эффективности кода.

Рекомендуется в исходных данных: количество отсчетов, длина блока или L-граммы, количество сообщений – добиться кратности, чтобы не потерять передаваемые данные из-за несоответствия количества сообщений сумме длин всех сообщений.

7. Контрольные вопросы для отчёта по выполненной работе

  1. Цель и суть любого кодирования в технических системах. Определение статического метода.

  2. Конкретные цели кодирования в технических системах. Назначение класса TreeOfStates.

  3. Цель эффективного (оптимального) кодирования. Принцип передачи сообщения между подключёнными друг к другу устройствами.

  4. Задача эффективного кодирования. Какой класс отвечает за формирование блоков и L-грамм; формирование блоков и L-грамм.

  5. Основная идея эффективного кодирования. Назначение классов HuffmansCode и PosBinCode.

  6. Показатель эффективности оптимального кода. Каким образом осуществляется кодирование сообщений, блоков или L-грамм; ответственные за кодирование классы.

  7. Определение понятия «информация» по Р. Хартли. Каким образом осуществляется декодирование сообщений, блоков или L-грамм; ответственные за декодирование классы.

  8. Определение понятия «энтропия». Понятие интерфейс. Назначение интерфейсов IMsgGenerator, IBlockConnector и IBlockConnector.

  9. Величина энтропии источника случайных сообщений; свойства энтропии.

Класс DataReader и его потомки. Их роль в цифровой модели.

  1. Энтропия и количество информации по К. Шеннону и Р. Хартли. Класс CodeDecodeMode и его потомки. Их роль в цифровой модели.

  2. Связь энтропии источника с количеством информации у приёмника. Почему в цифровой модели отсутствует цикл в явном виде, и каким образом реализуется передача и обработка сигнала между устройствами.

  3. Содержание теоремы К. Шеннона об оптимальном кодировании, граница существования для оптимальных кодов. Аналог класса Memory в цифровой модели и его назначение.

  4. Способы декорреляции последовательности сообщений. Класс DataLink и его роль в цифровой модели.

  5. Особенности реализации систем оптимального кодирования. Какой класс отвечает за преобразование уровней квантования в значения сигнала. Напишите формулу данного преобразования.

  6. Процедуры построения оптимальных кодов. Какова цель разбиения данных на блоки и L-граммы методом класса Segmentator.

  7. Особенности строения кодовых слов эффективного кода. Класс LookupTable, его поля и методы.

  8. Каким образом можно осуществить защиту кодовых слов эффективного кода от помех? Класс MsgChain и его роль в цифровой модели.

  9. Цель данной лабораторной работы. Класс LevelChain и его роль в цифровой модели.

  10. Цели исследований в данной работе. Назовите основные варьируемые параметры в данной работе.

  11. Результаты экспериментов и выводы по проведенном исследованиям об эффективности работы систем. Назначение класса ChainGenerator.

  12. Перечислите все факторы, за счёт которых, осуществляется эффект «сжатия» кодовой формы текста. Перечислите классы, отвечающие за вывод статистических данных об эффективности оптимального кода.