Этот пример иллюстрирует эффекты изменяющихся во времени источников на оценке. Пример также показывает, как установить изменяющиеся во времени источники быть постоянными во время оценки, чтобы улучшить результаты оценки.
Откройте Simulink® модель.
sys = 'scdspeed_ctrlloop';
open_system(sys)
Линеаризуйте модель.
Установите Engine Model
блокируйтесь к режиму normal mode для точной линеаризации.
set_param('scdspeed_ctrlloop/Engine Model','SimulationMode','Normal')
Откройте Model Linearizer для модели.
В окне модели Simulink, в галерее Apps, нажимают Model Linearizer.
Нажмите Bode, чтобы линеаризовать модель и сгенерировать Диаграмму Боде результата.
Линеаризовавшая модель, linsys1
, появляется в Linear Analysis Workspace.
Создайте вход sinestream сигнал для оценки.
Откройте Создавание sinestream входное диалоговое окно.
На вкладке Estimation, в Input Signal выпадающий список, выбирают Sinestream.
Откройте Добавить диалоговое окно частот.
Щелкнуть.
Задайте вход sinestream частотный диапазон и количество точек частоты.
Введите 10
в поле Min.
Введите 100
в поле Max.
Введите 10
в поле для количества точек частоты.
Нажмите OK.
Добавленные точки отображаются в средстве просмотра содержимого частоты Создавания sinestream входным диалоговым окном.
В средстве просмотра содержимого частоты Создавания sinestream входное диалоговое окно, выберите все точки частоты.
Задайте вход sinestream параметры.
Измените Number of periods и Settling periods, чтобы гарантировать, что модель достигает установившийся каждой точки частоты во входе sinestream.
Введите 30
в поле Number of periods.
Введите 25
в поле Settling periods.
Создайте вход sinestream.
Нажмите OK. Новый входной сигнал, in_sine1
, появляется в Linear Analysis Workspace.
Установите Диагностическое Средство просмотра открываться, когда оценка будет выполняться.
На вкладке Estimation выберите Diagnostic Viewer.
Оцените частотную характеристику для модели.
Нажмите
Bode Plot 1, чтобы оценить частотную характеристику. Диагностическое Средство просмотра появляется в области документа и предполагаемой системе estsys1
появляется в Linear Analysis Workspace.
Сравните предполагаемую модель и линеаризовавшую модель.
Нажмите на вкладку Diagnostic Viewer - estsys1 в области построения Model Linearizer.
Перетащите linsys1
от Linear Analysis Workspace на Диагностическое Средство просмотра, чтобы добавить linsys1
к Bode Diagram.
Сконфигурируйте Диагностическое Средство просмотра, чтобы показать только точку частоты, где оценка и результаты линеаризации не соответствуют.
Кликните по вкладке Diagnostic Viewer.
В разделе Frequency Selector введите 9
в поле From и 11
в поле To, чтобы установить частотный диапазон, который анализируется в Диагностическом Средстве просмотра.
График Filtered Steady State Time Response показывает сигнал, который не является синусоидальным.
Просмотрите неотфильтрованный ответ времени.
Щелкните правой кнопкой по графику Filtered Steady State Time Response и очистите опцию Show filtered steady state output only.
Вход шага и внешние возмущения отгоняют модель от рабочей точки, используемой, чтобы линеаризовать модель, которая препятствует тому, чтобы ответ достиг установившийся. Чтобы откорректировать эту проблему, найдите и отключите изменяющиеся во времени исходные блоки, которые вмешиваются в оценку. Затем оцените частотную характеристику модели снова.
Найдите и отключите изменяющиеся во времени источники в модели.
Откройте Опции для диалогового окна оценки частотной характеристики.
На вкладке Estimation, в разделе Options, нажимают More Options.
В Опциях для диалогового окна оценки частотной характеристики, на вкладке Time Varying Sources, нажимают Find and add time varying source blocks automatically.
Это действие заполняет время различный список источников с путями к блоку времени различные источники в модели. Эти источники будут считаться постоянные во время оценки.
Закройте диалоговое окно.
Оцените частотную характеристику для модели.
На вкладке оценки нажмите
Bode Plot 1, чтобы оценить частотную характеристику. Предполагаемая система estsys2
, появляется в Linear Analysis Workspace.
Сравните недавно предполагаемую модель и линеаризовавшую модель.
Нажмите на вкладку Diagnostic Viewer - estsys2 в области построения Model Linearizer.
Перетащите linsys1
на Диагностическое Средство просмотра.
Частотная характеристика, полученная путем содержания изменяющихся во времени источников постоянные соответствия точные результаты линеаризации.
Сравните линейную модель, полученную с помощью точных методов линеаризации с предполагаемой частотной характеристикой:
% Open the model mdl = 'scdspeed_ctrlloop'; open_system(mdl) io = getlinio(mdl); % Set the model reference to normal mode for accurate linearization set_param('scdspeed_ctrlloop/Engine Model','SimulationMode','Normal') % Linearize the model sys = linearize(mdl,io); % Estimate the frequency response between 10 and 100 rad/s in = frest.Sinestream('Frequency',logspace(1,2,10),'NumPeriods',30,'SettlingPeriods',25); [sysest,simout] = frestimate(mdl,io,in); % Compare the results frest.simView(simout,in,sysest,sys)
Результаты линеаризации не совпадают с предполагаемой частотной характеристикой для первых двух частот. Чтобы просмотреть неотфильтрованный ответ времени, щелкните правой кнопкой по графику отклика времени и очистите Show filtered steady state output only.
Вход шага и внешние возмущения отгоняют модель от рабочей точки, препятствуя тому, чтобы ответ достиг установившийся. Чтобы откорректировать эту проблему, найдите и отключите эти изменяющиеся во времени исходные блоки, которые вмешиваются в оценку.
Идентифицируйте изменяющееся во времени использование исходных блоков frest.findSources
.
srcblks = frest.findSources(mdl,io);
Создайте a frestimate
набор опций, чтобы отключить блоки.
opts = frestimateOptions; opts.BlocksToHoldConstant = srcblks;
Повторите оценку частотной характеристики с помощью дополнительного входного параметра opts
.
[sysest2,simout2] = frestimate(mdl,io,in,opts); frest.simView(simout2,in,sysest2,sys)
Теперь получившаяся частотная характеристика совпадает с точными результатами линеаризации. Чтобы просмотреть неотфильтрованный ответ времени, щелкните правой кнопкой по графику отклика времени и очистите Show filtered steady state output only.
Некоторые изменяющиеся во времени исходные блоки не могут быть найдены алгоритмом. Если внутренний путь прохождения сигнала блока не содержит блок без входного порта, о том блоке не сообщают frest.findSources
функционируйте или в приложении. Чтобы принести модель к устойчивому состоянию, замените исходный блок на блок Constant или блок другого источника.