Паттерновое проектирование при создании комплекса программ для проведения вейвлет-анализа
Автор: Прохоров Сергей Антонович, Столбова Анастасия Александровна
Журнал: Известия Самарского научного центра Российской академии наук @izvestiya-ssc
Рубрика: Перспективные информационные технологии
Статья в выпуске: 2-5 т.17, 2015 года.
Бесплатный доступ
В данной статье рассматривается комплекс программ для проведения вейвлет-анализа, его структура, а также возможности применения. Приведены примеры существующих принципов паттерного проектирования и показано их применение при создании комплекса. Проведен анализ существующих ошибок кода до применения паттернов и после.
Спектральный анализ, вейвлет-преобразование, паттерн, комплекс программ
Короткий адрес: https://sciup.org/148203710
IDR: 148203710
Текст научной статьи Паттерновое проектирование при создании комплекса программ для проведения вейвлет-анализа
Решение задач анализа и синтеза сигналов с заданными характеристиками, идентификация динамических объектов, как правило, осуществляется на основе частотных (спектральных) характеристик [5].
Для определения частотных характеристик стационарных сигналов обычно применяют преобразование Фурье. Недостатком данного метода является невозможность определить время существования частоты в сигнале. Для решения данной проблемы и анализа нестационарных сигналов, применяют оконное преобразование Фурье. Однако этот метод не позволяет одновременно точно определять и частотную составляющую, и её положение во времени. В связи с этим при анализе частотных характеристик нестационарных сигналов в последнее время применяют вейвлет-преобразование. Преимуществом данного преобразования является возможность определить, какие частоты присутствуют в сигнале и время их существования [1].
АВТОМАТИЗИРОВАННАЯ СИСТЕМА ВЕЙВЛЕТ-АНАЛИЗА СЛУЧАЙНЫХ ПРОЦЕССОВ
На кафедре информационных систем и технологий СГАУ была разработана «Автоматизированная система вейвлет-анализа случайных процессов» [3, 6], состоящая из следующих подсистем [4]:
-
1) генерации случайного процесса, предназначенная для моделирования исходного случайного процесса с заданным видом корреляционной функции по алгоритмам рекурсивной фильтрации;
-
2) генерации модельного сигнала, предназначенная для генерации модельных сигналов заданного вида;
-
4) вычисления вейвлет-преобразования, предназначенная для разложения анализируемого процесса на компоненты разного масштаба и дающая информацию о процессе во времени;
-
5) вычисления преобразования Фурье, предназначенная для получения преобразования Фурье анализируемого процесса;
-
6) вычисления оконного преобразования Фурье, предназначенная для получения оконного преобразования Фурье анализируемого процесса;
-
6) построения вейвлетов, предназначенная для расчета значений заданных вейвлетов;
-
7) вычисления теоретического вейвлет преобразования, предназначенная для вычисления вейвлет-преобразования модельного сигнала аналитически;
-
8) вычисления погрешностей, предназначенная для вычисления абсолютных, относительных и квадратических погрешностей вейвлет-преоб-разования модельного сигнала;
-
9) визуализации поверхности, предназначенная для визуализации графиков в трехмерном пространстве;
-
10) хранения и загрузки используемых файлов и проверки их структур.
Структурная схема системы представлена на рис. 1.
Эта система позволяет провести:
-
- вейвлет-анализ исследуемых сигналов;
-
- исследование методов спектрального анализа (преобразования Фурье, оконного преобразования Фурье, вейвлет-преобразования) методом имитационного моделирования.
Приведем пример работы системы. Исходный сигнал имеет следующий вид:
^т2т,0 < т < 20, sin8T,20 < т < 50.
f ( т ) = ‘

Рис. 1. Структурная схема системы
График данного сигнала представлен на рис. 2.
Проведем вейвлет-анализ данного сигнала, используя в качестве базового вейвлета восьмую производную функции Гаусса:
у ( г ) = - 8 - 28 т 6 + 210г4
-
„ \ ( г2 ^
420г2 + 105 ) exp - - .
V 2)
Результатом вейвлет-преобразования является спектр исходного сигнала, представленный на рис . 3.
Опыт эксплуатации системы при решении ряда практических задач выявил необходимость модификации системы за счет расширения функциональных возможностей.
В связи с этим было принято решение о создании новой системы, воспользовавшись специальной технологией проектирования.
ПАТТЕРНЫ ПРОЕКТИРОВАНИЯ
Паттерны проектирования – это описание взаимодействия объектов и классов, адаптированных для решения общей задачи проектирования в конкретном контексте [2].
Одним из классических паттернов является, например, паттерн Model – View – Controller (MVC). Принцип данного паттерна показан на рис. 4.
Model (Модель) содержит в себе данные и бизнес-логику приложения и главной целью является сделать её независимой от остальных частей.
View (Вид) – это отображение данных из Модели.
Controller (Контроллер) перехватывает со-

Рис. 2. Исходный сигнал

Рис. 3. Спектр

Рис. 4. Принцип MVC
бытия из Вида и изменяет Модель.
Недостатком данного паттерна в данном случае является отсутствие двухсторонней коммуникации.
Проанализировав различные технологии, были выбраны паттерны проектирования ModelView-Presenter (MVP) и Inversion of Control (IoC) [2], позволяющие упростить разработку комплекса программ, сократить сроки ее разработки и уменьшить затраты, устранить зависимость между логической частью программы и её интерфейсом.
Рассмотрим данные паттерны более подробно.
Модель и Вид в паттерне MVP аналогичны тем, что используются в MVC.
Presenter (Презентер) обеспечивает связь между Моделью и Видом.
Модель и Вид взаимодействуют с Презен-тером посредством обработки событий, а Пре-зентер, в свою очередь, имеет доступ к Модели и Виду, т.к. он получает ссылки на Модель и Вид.
Принцип MVP показан на рис. 5.
При наличии ссылки на экземпляр Вида в Презентере возникает зависимость, из чего следует, что, при необходимости, будет сложно изменить Вид. Для решения данной проблемы применяется паттерн IoC, согласно которому вводится интерфейсный класс, содержащий в себе сигнатуры методов, которые Презентер должен вызывать у Вида. При этом Вид реализует данный интерфейс.

Рис. 5. Принцип MVP
ПАТТЕРНЫ ПРИ СОЗДАНИИ КОМПЛЕКСА ПРОГРАММ
На рис. 6 представлена часть диаграммы классов системы, на которой показана реализация вейвлет-преобразования с применением паттернов проектирования.
Data Wavelet Transformation User Control – это Вид (реализованный в виде пользовательского компонента), который содержит в себе элементы для отображения данных вейвлет-преобразования.
Данный Вид реализует интерфейс IData Wavelet Transformation View, который содержит свойства, методы и события, доступные Пре-зентеру.
Wavelet Transformation Model – это Модель. Она содержит в себе экземпляр класса, реализующего алгоритмы вейвлет-преобразования, а также свойства и методы, необходимые для реализации вейвлет-преобразования. Модель реализует интерфейс IWavelet Transformation Model, содержащий свойства, методы и события, доступные в Презентере.
Wavelet Transformation Presenter обеспечи- вает связь между Видом и Моделью, что позволяет обновить данные Модели, если, например, пользователем были внесены изменения, а также обновить Вид, если были проведены расчеты и Модель изменилась.
Аналогичным образом реализуется визуализация вейвлет-преобразования:
ЗАКЛЮЧЕНИЕ
Результаты анализа наличия ошибок в коде до и после применения паттернов проектирования представлены в таблице 1.
При применении данных паттернов для реализации комплекса были получены следующие преимущества:
-
- описание комплекса программ стало более простым и удобным за счет модульной структуры;
-
- комплекс программ более гибкий, по сравнению с предыдущей системой, появилась возможность добавить модули, необходимые для решения практических задач;
-
- снизилась трудоемкость при модификации алгоритмов вычисления вейвлет-преобразова-
«Interface»
I Vvb ve I e tTran sfor m ati о n Mod e
Рис. 6. Диаграмма классов вейвлет-преобразования
Таблица 1. Ошибки кода
-
- отладка и тестирование алгоритмов стала проще.
Список литературы Паттерновое проектирование при создании комплекса программ для проведения вейвлет-анализа
- Добеши, И. Десять лекций по вейвлетам/И. Добеши. -Ижевск: НИЦ «Регулярная и хаотическая динамика», 2001. -464 с.
- Приемы объектно-ориентированного программирования. Паттерны проектирования/Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. -СПб: Питер, 2001. -368 с.: ил. -(Серия «Библиотека программиста»).
- Прикладной анализ случайных процессов/под ред. С. А. Прохорова. -Самара: СНЦ РАН, 2007. -582 с.
- Прохоров С. А., Столбова А. А. Автоматизированная информационная система вейвлет-анализа случайных процессов//Проблемы автоматизации и управления в технических системах: Сб. ст./Издательство ПГУ. -Пенза, 2013. -С. 159-163.
- Прохоров С. А., Столбова А. А. Паттерны проектирования при создании комплекса программ для проведения вейвлет-анализа//труды международной научно-технической конференции «Перспективные информационные технологии ПИТ 2015». Том 1. СНЦ РАН. -Самара, 2015. -С. 109-112.
- Свидетельство № 2013613175 Российская Федерация. Автоматизированная система вейвлет-анализа случайных процессов: Свидетельство об официальной регистрации программы для ЭВМ/С. А. Прохоров, А. А. Столбова; заявитель и правообладатель С. А. Прохоров (RU), А. А. Столбова (RU). -№2013610653; заявл. 05.02.2013; зарегистр. 27.03.2013.