Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом_Петрук.doc
Скачиваний:
35
Добавлен:
13.08.2019
Размер:
829.44 Кб
Скачать

3.3 Обоснование выбора языка программирования

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

Данный программный продукт был написан в среде разработки Borland Delphi на языке Object Pascal. Borland Delphi 6.0 – это современный программный продукт, позволяющий создавать широкий спектр приложений для среды Microsoft Windows . Обоснованность данного выбора заключается в следующем:

– Позволяет быстро создавать (даже начинающим программистам) оконный интерфейс, имеющий профессиональный вид, для любых приложений, написанных на любом языке;

– Объектная ориентированность. Основным назначением применения в Delphi модели компонентов является обеспечение возможности многократного использования компонентов и создания новых.

– Динамическая идентификация типа данных или интроспекция (возможность определить тип и структуру объекта во время выполнения программы).

– Поддержка визуального проектирования

– Поддержка методологии событийного программирования

Исходя из всего вышесказанного, выбранная среда разработки и язык программирования полностью удовлетворяют современным требованиям и являются удобным средством для программирования под ОС Windows.

3.4 Тестирование программы

В качестве примера закодируем сообщение «ау» (см. рисунок 4.15)

Р исунок 3.15 – Тестирование программы (кодирование)

В двоичном коде оно будет иметь вид:

1110000011110011

А после кодирования сверточным кодером станет таким:

110111101110110110101011

Так как вероятность ошибки была равная нулю (рисунок 3.7) то сообщение миновало канал без изменений и было декодировано верно.

Теперь попробуем внести в принятое сообщение одиночные ошибки канала (см. рисунок 3.16)

Р исунок 3.16 – Тестирование программы (имитация канала связи)

Как видно из рисунка 3.16 ошибки изменили веса вершин, но итоговый путь, построенный декодером (отмечен жирной линией) не изменился.

Теперь попробуем внести в сообщение двойные ошибки (рисунок 3.17)

Р исунок 3.17 – Тестирование программы (декодирование)

Как видно из рисунка 3.17 декодер не смог исправить двойные ошибки, вследствие чего результирующее сообщение было искажено.

3.5 Быстродействие программы

На рисунке 3.18 изображен график зависимости скорости работы кодера в зависимости от длины входной последовательности

Рисунок 3.18 – Тестирование быстродействия кодера

На рисунке 3.19 изображен график зависимости скорости работы декодера в зависимости от длины декодируемой последовательности

Р исунок 3.19 – Тестирование быстродействия декодера

Как видно из графиков 3.18 и 3.19 графики зависимости быстродействия кодера и декодера имеют линейный характер.

4 ОПИСАНИЕ ИНТЕРФЕЙСА ПРОГРАММЫ

4.1 Назначение программы

Программа предназначена для кодирования/декодирования текстовых сообщений сверхточным кодом и имитацию канала связи.

4.2 УСЛОВИЯ ВЫПОЛНЕНИЯ ПРОГРАММЫ

В связи с тем, что программа была написана для работы в среде OC Windows, можно утверждать, что для нормальной работы программы к аппаратным средствам выдвигаются те же требования, которые выдвигает операционная система для своей стабильной работы:

  1. 1 Гб оперативной памяти или лучше.

  2. Процессор с частотой 1 ГГц или лучше.

  3. Порядка 5 Мб дискового пространства или больше.

  4. Видеокарта с памятью 32 Мб или лучше.

4.3 Выполнение программы

С точки зрения пользователя программа представляет собой исполняемый EXE-файл. Для запуска программы необходимо два раза кликнуть на файле Viterbi.EXE. При запуске программы на экран выводится окно главного меню (рисунок 1).

Рисунок 4.1 – Главное окно программы

Данная форма разделена на две области:

  1. Панель управления

  2. Область для вывода дерева декодера (верхняя пустая часть формы)

Назначение кнопок, находящихся в области управления:

Кнопка «Закодировать» - осуществляет перевод введенного текстового сообщения в двоичный код и кодирование полученной двоичной последовательности сверточным кодом.

Кнопка «Имитация канала связи» - осуществляет генерацию случайным образом в двоичной последеовательности ошибок, с заданной длиной и вероятность.

Кнопка «Декодировать» -производит декодирование двоичной последовательности с использованием алгоритма Витерби и последующий перевод результата в текстовую строку.

Кнопка «Все шаги сразу» - имитирует последовательное нажатие на все вышеуказанные кнопки.

Пример результатов работы программы приведен на рисунке 2.

Рисунок 4.2 – Пример работы программы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]