exponenta event banner

Сбор данных эксперимента частотного отклика для оценки в автономном режиме

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

Параметры модели и эксперимента

В этом примере используется модель, которая уже содержит блок оценщика частотного отклика, сконфигурированный для сбора данных эксперимента для оценки в автономном режиме. Откройте модель.

mdl = "CollectFreqRespEstimDataEx.slx";
open_system(mdl)

Модель содержит установку в конфигурации с замкнутым контуром с ПИ-контроллером. Блок оценки частотного отклика принимает управляющий сигнал в качестве входного сигнала. u. Он подает управляющий сигнал плюс возмущение на вход установки.

Блок оценки частотного отклика сконфигурирован для выполнения эксперимента в режиме синестрима с теми же параметрами эксперимента, что и в примере Оценка частотного отклика в режиме онлайн во время моделирования. Однако в этом примере параметр «Режим оценки» имеет значение «Автономный». В этой конфигурации блок вводит указанные сигналы возмущения и собирает данные отклика, но не выполняет оценку. Блок сконфигурирован для использования синестрименного сигнала на частотах w = logspace(0,2,20).

Сбор данных эксперимента

Моделирование модели. Блок выполняет эксперимент и собирает данные ответа. Объем показывает примененный сигнал синестрима и отклик системы.

sim(mdl)

Модель сконфигурирована для регистрации оценочных данных на выходном порту блока data (см. раздел Экспорт данных сигналов с использованием регистрации сигналов для получения информации о регистрации данных). Данные хранятся в рабочей области MATLAB в качестве Simulink.SimulationData.Dataset объект logsout. Поскольку data является единственным зарегистрированным портом, вы можете получить доступ к зарегистрированным данным в первой записи в logsout. Values поле этой записи представляет собой структуру, содержащую четыре поля.

logdata = logsout{1}.Values
logdata = 

  struct with fields:

           Ready: [1x1 timeseries]
    Perturbation: [1x1 timeseries]
      PlantInput: [1x1 timeseries]
     PlantOutput: [1x1 timeseries]

Ready поле представляет собой временные последовательности, содержащие логический сигнал, который указывает, какие временные шаги содержат данные, используемые для оценки. Для синестрименного сигнала это поле указывает, какие периоды возмущений для оценки отбрасываются (периоды установления). Perturbation содержит синестреамное возмущение, наносимое на растение. PlantInput и PlantOutput временные серии содержат сигналы на входах блоков u и yсоответственно.

Оценка частотной характеристики

При сборе этих данных в развернутой среде с ограниченными вычислительными ресурсами эти данные можно использовать для оценки частотного отклика в автономном режиме с помощью frestimate команда. Дать frestimate logdata и те же частоты, которые использовались для параметра «Частоты» в блоке. frestimate процессы logdata для получения данных частотной характеристики (frd) модель, содержащая предполагаемые ответы на этих частотах.

sys_estim = frestimate(logdata,w,'rad/s');
size(sys_estim)
FRD model with 1 outputs, 1 inputs, and 20 frequency points.

Проверьте расчетную частотную характеристику.

figure
bode(sys_estim,'b*')

См. также

Связанные темы