Импорт и предварительная обработка данных эксперимента (GUI)

Этот пример показывает, как создать эксперимент оценки из измеренных данных, сохраненных в файле, и как обработать предварительно измеренные данные. Импортированные данные используются для оценки параметров простой схемы RC.

Этот пример требует Simscape ®.

Модель RC-схемы

Модель Simulink, sdoRCCircuit, моделирует простую схему резистор-конденсатор (RC).

open_system('sdoRCCircuit');

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

Измеренные выходные данные:

  • Напряжение конденсатора, выход PS-Simulink Converter блок

Параметр:

  • Емкость, C1, используемый в C1 блок

Состояние:

  • Начальное напряжение конденсатора, C1

Определите эксперимент по оценке

В этом примере мы загружаем измеренные данные из сохраненного файла MATLAB, данные также хранятся в текстовом файле переменной, разделенной запятыми (csv), и мы также будем импортировать оттуда.

Сначала загружайте измеренные данные из файла MATLAB, файл задает две переменные, time и data который задает измеренное напряжение конденсатора.

load sdoRCCircuit_ExperimentData

На вкладке Apps нажмите Parameter Estimator в разделе Control Systems, чтобы запустить приложение Parameter Estimator.

Нажмите New Experiment, чтобы создать эксперимент по оценке, который содержит измеренные данные. A Exp переменная создается в Parameter Estimator, и открывается диалоговое окно для редактирования эксперимента.

Редактор экспериментов содержит разделы для задания измеренных выходных данных и разделы для опционального определения начальных состояний и параметров эксперимента.

Редактор эксперимента автоматически добавляет измеренные выходные сигналы для портов корневого уровня модели и зарегистрированных сигналов модели. Нажмите Select Measured Output Signals, чтобы добавить дополнительные измеренные выходы, если это необходимо. В данном примере сигнал напряжения конденсатора регистрируется в модели и уже добавляется к эксперименту.

Задайте измеренное напряжение конденсатора путем ввода [time, data] в поле редактирования. Здесь используются переменный MATLAB time и data загружен из файла ранее, чтобы задать измеренное напряжение конденсатора. Измеренные данные задаются как матрица, где 1-й столбец является данными о времени и последующих столбцах.

Также можно задать напряжение измеренной емкости, используя Переменный MATLAB, можно загрузить измеренные данные непосредственно из текста или файлов Excel. Нажмите кнопку импорта, чтобы открыть средство выбора файлов и перейти к $matlabroot$\toolbox\sldo\sldodemos\estim и откройте sdoRCCircuit_ExperimentData.xlsx файл.

Откроется инструмент для импорта данных столбца из файла. 1-й столбец, выбранный для импорта, используется для определения времени сигнала, последующие столбцы, выбранные для импорта, используются для определения данных сигнала. Выберите time и data столбцы и нажмите Импортировать

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

График эксперимента показывает, что моделируемые данные не совпадают с измеренными данными. График также показывает, что начальное состояние модели не верно и должно быть оценено (измеренные и моделируемые напряжения во времени 0 значительно отличаются). В редакторе экспериментов нажмите Select Initial States, чтобы открыть диалоговое окно для выбора начальных состояний модели; выберите sdoRCCircuit.C1.vc и нажмите Ok, чтобы добавить состояние к эксперименту.

Предварительная обработка данных эксперимента

Измеренные данные содержат высокую частоту шум, который мы удаляем с помощью lowpass фильтра. Щелкните вкладку Графика эксперимента и выберите Low Pass Filter.

Откроется инструмент «Lowpass». Верхняя ось показывает сигнал БПФ, нижняя ось - сигналы. Исходный сигнал показан синим цветом, а отфильтрованный - красным. Отрегулируйте полосу пропускания фильтра путем ввода значения в поле Normalized crefoff frequency edit или нажатия и перетаскивания жёлтого ребра закрашенной фигуры. Перетащите срез фильтра в 0,4. Щелкните Опциями и выберите Фильтр сдвига нулевой фазы, чтобы избежать введения сдвига фазы фильтра в измеренные данные.

Нажмите Apply и Close Low-Pass Filter, чтобы завершить низкочастотную фильтрацию данных. Эксперимент обновляется фильтрованным сигналом. Можно использовать другие инструменты предварительной обработки, такие как, удалите смещение, масштаб, повторный образец и т.д., чтобы дополнительно обработать измеренные данные. Для этого примера фильтрация lowpass является достаточной.

Оценка значений параметров модели

С сконфигурированными и предварительно обработанными данными эксперимента мы готовы запустить оценку. Сначала выбираем параметры для оценки. Щелкните вкладку Оценка параметра и выберите Select Parameters. Откроется диалоговое окно для задания параметров модели для оценки. Нажмите Select Parameters и выберите, C1, значение конденсатора схемы. Установите минимальное значение конденсатора равное 0, и начальное предположение равным 460e-6.

Нажмите Estimate, чтобы начать оценку. Можно изменить опции оценки, установив комбокс Cost Function и нажав More Options....

В то время как оценка запускает обновление графиков и появляется диалоговое окно, показывающее прогресс оценки. Диалоговое окно прогресса показывает итерации оценки, количество раз, когда модель была оценена (количество F), и стоимость оценки в каждой итерации.

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

Похожие примеры

Чтобы узнать, как оценить параметры модели с помощью sdo.optimize команда, см. Оценка параметров модели и начальных состояний (Code).

Закройте модель

bdclose('sdoRCCircuit')