Использование современных программных средств, таких как Matlab/Simulink, позволяет существенно упростить анализ различных сложных систем. Скрипты Matlab позволяют в автоматическом режиме запускать схемы Simulink с изменением различных параметров.
Пройдите наш онлайн-курс по MATLAB/SIMULINK. Там вы научитесь пользоваться MATLAB как мощным калькулятором, создавать свои модели в SIMULINK, моделировать электрические цепи, а также сложные электроэнергетические системы с устройствами релейной защиты.
Такая задача может появиться, к примеру, при построении амплитудно-частотной характеристики (АЧХ) некоторого фильтра. Если фильтр достаточно сложный, то его аналитическое описание не всегда представляется возможным. В таком случае прибегают к численным методам анализа.
Simulink позволяет представить рассматриваемый фильтр в виде совокупности элементов, из которого он состоит, и сымитировать его работу при подаче на него определённого входного сигнала, например, напряжения.
Известно, что АЧХ представляет собой характеристику, описывающую амплитуду выходного сигнала в зависимости от входного при различных частотах. То есть для её построения необходимо изменять частоту входного сигнала при неизменной амплитуде и измерять амплитуду выходного сигнала. Это итерационная процедура, которая может быть автоматизирована.
Рассмотрим простейший фильтр, представленный на рис. 1. Параметры фильтра R = 1 Ом, L = 10 мГн, C = 400 мкФ.
Рис. 1. Исследуемый фильтр
Для построения АЧХ необходимо при известной амплитуде входного напряжения Uвх измерять амплитуду выходного напряжения Uвых при различных частотах входного напряжения и формировать замер
A = Uвых / Uвх.
Для этого в Simulink собрана схема, представленная на рис. 2. Сама модель в Simulink: circuit.mdl.
Рис. 2. Схема в Simulink для построения АЧХ фильтра
Таким образом, схему по рис. 2 необходимо прогонять определённое число раз, при этом изменяя частоту источника ЭДС и измеряя выходное напряжение с помощью вольтметра Voltage. Для этого воспользуемся следующим скриптом Matlab (сам скрип вы можете скачать: simulink_start.m):
open('circuit.mdl'); % название модели U_in = 100; % амплитуда источника ЭДС U_out = []; % массив для сохранения амплитуды выходного напряжения f = 0:1:500; % массив частот входного напряжения for k = 1:length(f) set_param('circuit/U','Frequency','f(k)'); % задание частоты источника ЭДС sim('circuit'); % запуск моделирования U_out = [U_out max(abs(Uout.signals.values(Uout.time>=1)))]; % добавление выходного напряжения для определённой частоты в массив plot(f,U_out/U_in,'k-') % построение выходного графика grid on hold on
Для автоматического задания параметров элементов модели в Simulink в Matlab используется функция set_param. Для запуска моделирования используется функция sim. После окончания работы скрипта формируется АЧХ, представленная на рис. 3.
Рис. 3. АЧХ исследуемого фильтра
Итак, в статье представлен пример использования запуска модели в Simulink с помощью скрипта в Matlab для построения АЧХ фильтра.