В процессе разработки информационно-управляющих систем и исследования технических объектов часто применяются модели непрерывных и дискретных сигналов, имитирующих детерминированные и случайные процессы. Имитация сигналов востребована в задачах отладки и тестирования компонентов систем реального времени, где возникает необходимость воспроизведения различных полезных, шумовых и помеховых составляющих реальных сигналов [1, 2], в биомедицинских системах мониторинга [3] и других областях. В связи с этим имитационное моделирование сигналов как раздел цифровой обработки сигналов является важной частью образовательного процесса при обучении в технических университетах. Этот раздел позволяет освоить модели представления процессов, методы их синтеза и анализа. Особое место при изучении существующих алгоритмов имитации и разработке новых алгоритмов занимают средства программирования и визуализации исследуемых процессов, автоматизированной проверки качества получаемых результатов. Острую необходимость дополнения учебного процесса методами, совместимыми с дистанционным обучением, показали события последних лет. Для обучения студентов техническим дисциплинам активно применяются системы автоматизированного проектирования и моделирования, такие как MATLAB и LabVIEW [4], а также программные продукты, разработанные сотрудниками учебных заведений самостоятельно с учетом особых требований в предметных областях [5–7]. Как отмечено в [8], MATLAB предоставляет широкий спектр инструментов для разработки и исследования моделей сигналов. Цель настоящего исследования — провести анализ MATLAB как вспомогательного средства обучения студентов имитации сигналов с задаваемыми энергетическими характеристиками.
В рамках курса, посвященного имитации сигналов, предлагается модель учебного процесса, изображенная на рис. 1.
Первый этап обучения состоит в освоении теоретического материала, необходимого для понимания и разработки алгоритмов имитации. Второй этап представляет собой практические занятия, направленные на исследование алгоритмов имитации. Третий этап посвящен контролю знаний обучающихся. На каждом этапе обучения предлагается использовать инструменты MATLAB, позволяющие структурировать и автоматизировать ряд операций.
На первом этапе студенты изучают математический аппарат: базисные системы функций, приемы дискретизации энергетических характеристик, преобразования спектра при помощи ядра Фурье, быстрые преобразования в различных базисах. Обучающимся демонстрируют алгоритмы имитации сигналов, построенные с использованием перечисленных приемов. Вместе с тем, нужно знакомить студентов с программными средствами, реализующими изучаемые математические функции, преобразования и алгоритмы. Это способствует формированию целостного представления об имитации сигналов в спектральной области, которое включает связь математических выкладок с алгоритмическими и конкретные результаты выполнения процедур в виде графиков сигналов и спектров. Для реализации таких конспектов хорошо подходят MATLAB Live Scripts, совмещающие в себе теоретические сведения и примеры программного кода. Результаты выполнения кода доступны в одном рабочем пространстве с поясняющим текстом и формулами [9].
Фрагмент Live Script, посвященного имитации в базисах Хартли, приведен на рис. 2. В конспекте описано прямое преобразование Хартли и приведен пример вычисления спектра сигнала в базисе Хартли [10]. Построены графики сигнала и его спектра. Тестовый сигнал представляет собой сумму тригонометрических функций, поэтому спектр содержит явные пики.
Интерактивность скрипта позволяет студенту проверить зависимость графика сигнала и его спектра от числа отсчетов. Так, при увеличении числа отсчетов график сигнала становится более гладким, а спектральные пики удаляются от оси симметрии спектра.
Аналогично можно организовать другие теоретические сведения для курса по имитации сигналов.
На этом этапе предлагается проведение лабораторных работ по исследованию изученных алгоритмов. Меняя настройки алгоритмов, такие как число отчетов, система счисления, граничные частоты, студенты оценивают погрешности воспроизведения сигналов и выявляют особенности практического применения алгоритмов на различных классах исходных данных. Такие работы удобно проводить в среде Simulink. Эта надстройка над MATLAB позволяет, в числе прочего, визуализировать процесс имитации в виде последовательности функциональных блоков, перейти от программирования на языке MATLAB к графическому интерфейсу. Входные и выходные сигналы каждого блока могут быть просмотрены исследователем. Активное общение студента и преподавателя предусмотрено именно на этом этапе, поскольку получаемые результаты требуют комментариев, обсуждения, корректировки направления дальнейших экспериментов.
Средства Simulink позволяют собирать и настраивать алгоритмы имитации, проводить их экспериментальное исследование. На рис. 3 показан пример модели для исследования алгоритма имитации.
Алгоритм имитации реализован блоком Signal Simulation. Исходными данными выступают номера предопределенных вариантов энергетических характеристик сигнала. Оценка работы алгоритма выполняется с помощью трех элементов визуализации. Блок Signal view показывает график сгенерированного сигнала. Блок ACF view показывает график его автокорреляционной функции. Блок Spectrum Estimation осуществляет спектральный анализ полученного сигнала. В примере на рис. 3 сигнал содержит несколько синусоидальных составляющих, поэтому графики сигнала и его автокорреляционной функции имеют периодический характер.
Для проведения контрольных мероприятий может быть использован MATLAB Grader — браузерная среда автоматизированного тестирования. Она позволяет предложить студентам задания по составлению или дополнению программного кода и автоматически проверить ответы. Для автоматической проверки заранее подготавливают опорное решение и тесты [11]. Пример задачи по теме имитации сигналов представлен на рис. 4.
Для проверки знаний по имитации сигналов актуальны следующие типы заданий:
Например, задание о преобразовании спектра может быть сформулировано следующим образом:
Дан вектор X спектральных коэффициентов в тригонометрическом базисе и число отчетов N. Получить вектор Y спектральных коэффициентов в обобщенном базисе Хартли. В ходе решения составить матрицу ядра Фурье и использовать ее для вычисления спектра.
Решение подобной задачи рассмотрено в [13].
MATLAB предоставляет комплексный инструментарий для экспериментального исследования алгоритмов имитации сигналов. Этот пакет моделирования может быть использован для практической оценки эффективности и сложности как существующих, так и разрабатываемых алгоритмов имитации, в том числе ориентированных на генерацию сигналов для отладки компонентов систем реального времени различного назначения.
Предложенная образовательная модель с использованием инструментов MATLAB не зависит от формы проведения занятий: программные средства не требуют обязательного личного контакта участников образовательного процесса, их взаимодействие может быть организовано дистанционно. Подобным образом можно организовать процесс обучения смежным дисциплинам, связанным с цифровой обработкой сигналов: цифровой фильтрации, системам реального времени и другим. Обучение по предложенной модели сокращает занятость преподавателя занятиями со студентами, но требует более глубокой методической проработки учебных материалов.
Результаты работы могут быть востребованы при модернизации существующих и разработке новых учебных планов и дисциплин в процессе подготовки инженерных кадров.
Отдельные результаты работы получены в рамках выполнения госзадания по проекту № 0705-2020-0041 «Фундаментальные исследования методов цифровой трансформации компонентной базы микро- и наносистем».