- •Цифровое моделирование системы эффективного кодирования
- •Оглавление
- •Учебно-лабораторный комплекс для цифрового моделирования системы эффективного кодирования сообщений
- •Общие положения
- •2. Описание пакета
- •2.1 Общие сведения
- •2.2 Функциональное назначение комплекса
- •2.3 Порядок установки в среде NetBeans
- •2.4 Описание библиотеки классов
- •2.4.1 Описание интерфейсов
- •2.4.2 Описание классов
- •2.4.3 Блок-схема подключения (кодирование сигналов)
- •2.4.4 Блок-схема подключения (кодирование текстов)
- •3. Цель лабораторной работы
- •4. Цель исследования
- •5. Порядок выполнения работы
- •Построение цифровой модели
- •7. Контрольные вопросы для отчёта по выполненной работе
- •Список рекомендуемой литературы
2. Описание пакета
2.1 Общие сведения
В данном тексте приводится описание учебно-лабораторного комплекса «Цифровое моделирование системы эффективного кодирования сообщений». Комплекс реализован в виде библиотеки классов GAS, разработанной на объектно-ориентированном языке программирования высокого уровня Java v1.6.
2.2 Функциональное назначение комплекса
Комплекс классов предназначен:
для имитации статистического эксперимента с источником сообщений с целью получения исходных данных (представленных распределением частот сообщений), необходимых для построения эффективного (оптимального) кода;
для автоматического построения эффективного (оптимального) кода;
для моделирования системы эффективного кодирования сообщений, передачи их по каналу связи с помехой и декодирование на приёмной стороне;
для имитации статистического эксперимента с кодером – источником кодовых слов с целью определения показателей эффективности кода.
Кроме отмеченного, можно выполнять следующие действия:
менять размер выборки сообщений и этим уточнять показатели эффективности системы;
устанавливать разную кратность ошибки в канале связи, в том числе и не соответствующую кратности, настроенной в кодере и декодере.
отображать сообщения, обрабатываемые на разных этапах системы помехоустойчивого кодирования, в виде массивов чисел и графиков.
В качестве сообщений может быть:
информация, хранимая в текстовом файле;
значения функции, задаваемой пользователем.
2.3 Порядок установки в среде NetBeans
Среда разработки NetBeans по умолчанию поддерживает разработку для платформ J2SE и J2EE. Для создания цифровой модели в среде NetBeans и для успешной инсталляции и работы самой среды NetBeans должен быть предварительно установлен Sun JDK или J2EE SDK подходящей версии.
Запустите приложение используя файл NetBeansIDE.exe и создайте новый проект Java Application категории Java. Далее необходимо выбрать путь, по которому будет сохранен ваш проект на диске.
После сохранения созданного проекта в левом верхнем окне будет отображена структура проекта, состоящая из необходимых для работы файлов. Для добавления библиотеки в проект щелкните правой кнопкой в этом окне по категории Libraries и выберите пункт Add Jar/Folder, после чего вы должны найти размещение библиотеки gas.jar на диске и нажать Open. В автоматически созданном классе Main (если он не создан, создайте), во второй строчке пропишите import gas.*, чтобы получить доступ к классам.
Последнее, что необходимо сделать, это загрузить таким же образом в проект папку logger, содержащую сервисные классы.
2.4 Описание библиотеки классов
2.4.1 Описание интерфейсов
Название: IBlockConnector.
Список классов, реализующих данный интерфейс: Memory, Plant, PlantWithMemory, Quantizer, TransmissionChannel.
Описание: позволяет подключать последовательно блоки с возможностью передачи сообщений между ними.
Название: IGeneratorConnector.
Список классов, реализующих данный интерфейс: PlantGeneratorConnector, SignalGenerator.
Описание: позволяет подключать устройство только после устройства, реализующего данный интерфейс, а также передавать следующему блоку сгенерированное значение сигнала.
Название: IInterference.
Список классов, реализующих данный интерфейс: Noise, Gauss.
Описание: предоставляет возможность генерировать и получать новое случайное значение.
Название: IMemory.
Список классов, реализующих данный интерфейс: Memory.
Описание: позволяет получить доступ к элементам блоков памяти.
Название: Inuk.
Список классов, реализующих данный интерфейс: Quantizer.
Описание: позволяет получать от квантователя уровень квантования очередного значения.
Название: ITuner.
Список классов, реализующих данный интерфейс: QuantizerTuner.
Описание: позволяет пользоваться методами поиска оптимальных значений параметров квантователя.
Название: ICustomizable.
Список классов, реализующих данный интерфейс: PositionalCodeConfig.
Описание: позволяет получать информацию о количественных характеристиках блоков и L-граммов.
Название: IDeviceConnector.
Список классов, реализующих данный интерфейс: Device.
Описание: позволяет подключать последовательно блоки с возможностью передачи в числовом и строковом форматах.
Название: IMsgGenerator.
Список классов, реализующих данный интерфейс: MsgGenerator.
Описание: позволяет подключать устройство только после устройства, реализующего данный интерфейс, а также передавать следующему блоку сгенерированное значение сигнала.
Название: IWord.
Список классов, реализующих данный интерфейс: MsgChain, LevelChain.
Описание: позволяет получать доступ к сообщениям, блокам и L-граммам, представленным в строковом формате.