Современные информационные технологии/3. Программное обеспечение
аспирант
Мурашкина Е.Н., д.т.н, профессор Михеев М.Ю.
Пензенский
государственный технологический университет, Россия
МЕТОДИКА СКВОЗНОГО
ПРОЕКТИРОВАНИЯ СИСТЕМЫ ИДЕНТИФИКАЦИИ СИГНАЛОВ СЛОЖНОЙ ФОРМЫ
Проектирование системы с использованием современных средств
моделирования от модели сигналообразования до рабочего программного продукта
является сложным процессом, включающим множество промежуточных этапов [5, 6].
Эффективная реализация предполагает разработку соответствующей методики
проектирования, которая охватывает весь процесс проектирования и обеспечивает
минимальные затраты временных и денежных ресурсов. Применение подобной методики
существенно сокращает время разработки программного обеспечения, за счет
возможностей современных программных средств моделирования. Возможности среды
имитационного моделирования Matlab обеспечивают
быструю генерацию кода на основе имитационных моделей, позволяя разработчику
сосредоточится на проектировании структуры и функциональности системы, а не на
написании кода. Язык моделирования UML2.0 существенно
упрощает сопровождение и модификацию ПО, а также облегчает понимание принципов
функционирования всей программно-аппаратной системы вцелом.
В данной статье рассматривается методика сквозного
проектированиясистемы идентификации сигналов сложной формы, которая включает
семь этапов и предназначена для разработки нейросетевых систем идентификации
сигналов по их вейвлет спектрам. Структура методики сквозного проектирования
представлена на рисунке 1.

Рисунок 1– методика сквозного
проектирования сигналов
Рассмотрим каждый этап данной методики более
подробно.
1. На первом этапе проводится анализ записанных реальных
сигналов, на основе которых строится модель сигналообразованиясигналов и
формулируется постановка задачи.
2. Модель сигналообразования используется при анализе
спектральных преобразований для минимизации искажений, разрабатываются
процедуры минимизации искажений, формирования векторов информативных признаков
инейросетевой классификации.
3. Осуществляется параметрическая оптимизация базовых
алгоритмов вейвлет-преобразования и нейронных сетей, которые уже реализованы в
среде Matlab в виде m-кода. Производится доработка базовых алгоритмов и
первичная отработка на модельных сигналах.
4. Отлаженный m-код служит основой для библиотеки Simulink-
модулей, включающей модулиминимизации искажений, формирования вектора
информативных признаков и нейросетевой классификации, на основе которых конструируется
Simulink-модель сигналов. Simulink-модель отрабатывается сначала на
смоделированных сигналах в дискретном режиме по первому способу, затем в режиме
мягкого реального времени на смоделированных сигналах по второму способу и,
наконец, с подключением АЦП на реальных сигналах в режиме жесткого реального
времени. Подобная схема отработки обеспечивает выявление ошибок и оптимизацию
модели.
5. Отработанная модель с помощью пакета RTW преобразуется в программный код на языке ANSI C по
стандартной процедуре. Полученный код является неструктурированным и требует
доработки, поэтому для использования его в реальной СИ сигналовнеобходима
структуризация.
6. Для структуризации кода проектируется модель на языке UML,
на основе которой генерируется набор программных модулей, содержащих заготовки
классов. Фрагменты кода обработки вставляются в сгенерированные модули,
происходит структуризация программного кода и формируется предварительный
проект сигналов. Кроме того, диаграммы языка UML могут быть использованы для документации сигналов.
7. Производится
доработка предварительного проекта под конкретную аппаратную платформу,
тестирование, отладка и оптимизация кода с помощью специализированных сред
разработки. Таким образом, обеспечивается возможность дальнейшего сопровождения
сигналов.
В качестве программной платформы UML-моделирования использован пакет EnterpriseArchitect 8.2. На рисунках 2-4 представлены диаграммы классов, которые являются
одной из форм статического описания системы с точки зрения ее проектирования,
показывая ее структуру[4]. Диаграмма классов не отображает динамическое
поведение объектов изображенных на ней классов. На диаграммах классов
показываются классы, интерфейсы и отношения между ними.

Рисунок2
–диаграмма классов

Рисунок 3 –диаграмма классов

Рисунок 4 –диаграмма
классов
Библиотека
реализует кодек изображений в градациях серого на основе
вейвлет-преобразований. Кодек достаточно прост, но каждый компонент
преобразования был выбран с расчетом на высокую производительность.
Таблица 1 – Производительность кодека для изображения 512х512
|
Целевой
коэффициент сжатия |
Полученный
коэффициент сжатия |
PSNR, дБ |
Среднеквадратичное
отклонение |
|
4:1 |
4,02:1 |
43,71 |
1,66 |
|
8:1 |
8,00:1 |
39,42 |
2,73 |
|
16:1 |
16,01:1 |
36,18 |
3,96 |
|
32:1 |
32,01:1 |
33,17 |
5,60 |
|
64:1 |
64,08:1 |
30,22 |
7,86 |
|
128:1 |
129,26:1 |
27,73 |
10,48 |
Библиотека была
разработана для проведения экспериментов. Она использует модульную структуру и
позволяет легко заменять отдельные компоненты, такие как квантователь,
энтропийный кодировщик или вейвлет-фильтры.
Процедура
кодирования изображения состоит из трех основных этапов.
1. Обратимое
преобразование изображения.
2. Квантование (или
дискретизация) коэффициентов преобразования.
3.
Энтропийное кодирование квантованных коэффициентов преобразования.
Энтропийное кодирование, процедуры квантования и распределения
имеют универсальный характер. Они могут быть применены к многим классам
преобразований, включая дискретное косинусное преобразование, вейвлет пакеты и
др. Более того, они были разработаны в расчете на использование таких
возможностей, как деревья и перцептуальное взвешивание, которые планируется
ввести позднее.Вейвлет-преобразование может быть проведено над изображением
произвольного размера, но с отношением сторон не более 2:1.
Таким образом, разработанная методика сквозного проектирования
позволяет проектировать двумерные сигналы с использованием современных средств
моделирования от модели сигналообразования до рабочего программного продукта.
Выбор алгоритма обработки существенно упрощает среда Matlab, имеющая большую библиотеку математических методов, реализованных
на встроенном языке.
Применение имитационного Simulink-моделирования
позволяет сосредоточиться не на написании программного кода, а на моделировании
архитектурных, структурных и динамических свойств сигналов Проектирование
сигналов с использованием языка UML 2.0существенно
упрощает процесс разработки, отладки и оптимизации программного кода, а также
позволяет подготовить проектную документацию.
Литература:
1. MathWorks – MATLAB and
Simulink for Technical Computing. Режим доступа:
http://www.mathworks.com/, свободный.
2. SimulinkDocumention. Режим доступа: http://www.mathworks.com/help/simulink/index.html?s_cid=BB, свободный.
3.
Simulink
– Videos and Examples. Режимдоступа:
http://www.mathworks.com/products/simulink/examples.html?s_cid=BB, свободный.
4. ГрадиБуч, Джеймс Рамбо, Ивар Якобсон Введение в UML от создателей языка.
Пер: Н. Мухин – М: ДМК Пресс, 2011г – 496с.