Эффекты изменяющихся во времени исходных блоков на оценке частотной характеристики

Установка изменяющихся во времени источников к постоянному для оценки Используя Model Linearizer

Этот пример иллюстрирует эффекты изменяющихся во времени источников на оценке. Пример также показывает, как установить изменяющиеся во времени источники быть постоянными во время оценки, чтобы улучшить результаты оценки.

  1. Откройте модель Simulink®.

    sys = 'scdspeed_ctrlloop';
    open_system(sys)
  2. Линеаризуйте модель.

    1. Установите Engine Model блокируйтесь к режиму normal mode для точной линеаризации.

      set_param('scdspeed_ctrlloop/Engine Model','SimulationMode','Normal')

    2. Откройте Model Linearizer для модели.

      В окне модели Simulink, в галерее Apps, нажимают Model Linearizer.

    3. Нажмите Bode, чтобы линеаризовать модель и сгенерировать Диаграмму Боде результата.

      Линеаризовавшая модель, linsys1, появляется в Linear Analysis Workspace.

  3. Создайте вход sinestream сигнал для оценки.

    1. Откройте Создавание sinestream входное диалоговое окно.

      Во вкладке Estimation, в Input Signal выпадающий список, выбирают Sinestream.

    2. Откройте Добавить диалоговое окно частот.

      Щелкнуть.

    3. Задайте вход sinestream частотный диапазон и количество точек частоты.

      Введите 10 в поле From.

      Введите 100 в поле To.

      Введите 10 в поле для количества точек частоты.

      Нажмите OK.

      Добавленные точки отображаются в средстве просмотра содержимого частоты Создавания sinestream входным диалоговым окном.

    4. В средстве просмотра содержимого частоты Создавания sinestream входное диалоговое окно, выберите все точки частоты.

    5. Задайте вход sinestream параметры.

      Измените Number of periods и Settling periods, чтобы гарантировать, что модель достигает установившийся каждой точки частоты во входе sinestream.

      Введите 30 в поле Number of periods.

      Введите 25 в поле Settling periods.

    6. Создайте вход sinestream.

      Нажмите OK. Новый входной сигнал, in_sine1, появляется в Linear Analysis Workspace.

  4. Установите Диагностическое Средство просмотра открываться, когда оценка будет выполняться.

    Установите флажок Launch Diagnostic Viewer.

  5. Оцените частотную характеристику для модели.

    Нажмите Bode Plot 1, чтобы оценить частотную характеристику. Диагностическое Средство просмотра появляется в плоскости графика и предполагаемой системе estsys1, появляется в Linear Analysis Workspace.

  6. Сравните предполагаемую модель и линеаризовавшую модель.

    1. Нажмите на вкладку Diagnostic Viewer - estsys1 в области построения Model Linearizer.

    2. Перетащите linsys1 на Диагностическое Средство просмотра, чтобы добавить linsys1 к Bode Diagram.

    3. Кликните по вкладке Diagnostic Viewer.

    4. Сконфигурируйте Диагностическое Средство просмотра, чтобы показать только точку частоты, где оценка и результаты линеаризации не соответствуют.

      В разделе Frequency Selector введите 9 в поле From и 11 в поле To, чтобы установить частотный диапазон, который анализируется в Диагностическом Средстве просмотра.

      График Filtered Steady State Time Response показывает сигнал, который не является синусоидальным.

    5. Просмотрите неотфильтрованный ответ времени.

      Щелкните правой кнопкой по графику Filtered Steady State Time Response и очистите опцию Show filtered steady state output only.

      Вход шага и внешние возмущения отгоняют модель от рабочей точки, которую использует линеаризовавшая модель. Это препятствует тому, чтобы ответ достиг установившийся. Чтобы откорректировать эту проблему, найдите и отключите изменяющиеся во времени исходные блоки, которые вмешиваются в оценку. Затем оцените частотную характеристику модели снова.

  7. Найдите и отключите изменяющиеся во времени источники в модели.

    1. Откройте Опции для диалогового окна оценки частотной характеристики.

      На вкладке Estimation, в разделе Options, нажимают More Options.

    2. Во вкладке Time Varying Sources нажмите Find and add time varying source blocks automatically.

      Это действие заполняет время различный список источников с путями к блоку времени различные источники в модели. Эти источники будут считаться постоянные во время оценки.

  8. Оцените частотную характеристику для модели.

    Нажмите Bode Plot 1, чтобы оценить частотную характеристику. Предполагаемая система estsys2, появляется в Linear Analysis Workspace.

  9. Сравните недавно предполагаемую модель и линеаризовавшую модель.

    Нажмите на вкладку Diagnostic Viewer - estsys2 в области построения Model Linearizer.

    Перетащите linsys1 на Диагностическое Средство просмотра.

    Частотная характеристика, полученная путем содержания изменяющихся во времени источников постоянные соответствия точные результаты линеаризации.

Установка изменяющихся во времени источников к постоянному для оценки (код MATLAB)

Сравните линейную модель, полученную с помощью точных методов линеаризации с предполагаемой частотной характеристикой:

% 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.