В этом примере показано, как создать эксперимент оценки из данных измерений, хранимых в файле и как предварительно обработать результаты измерений. Вы используете импортированные данные, чтобы оценить параметры простой схемы RC.
Этот пример требует Simscape®.
Модель Simulink, sdoRCCircuit
, моделирует простую схему конденсатора резистора (RC).
open_system('sdoRCCircuit');
Вы используете результаты измерений, чтобы оценить параметр модели RC и значения состояния.
Измеренные выходные данные:
Конденсаторное напряжение, выход PS-Simulink Converter
блок
Параметр:
Емкость, C1
, используемый C1
блок
Состояние:
Начальное напряжение конденсатора, C1
В этом примере мы загружаем результаты измерений от сохраненного файла MATLAB, данные также хранимы в разделенной переменной запятой (csv) текстовый файл, и мы импортируем оттуда также.
Сначала загрузите результаты измерений от файла MATLAB, файл задает две переменные, time
и data
это задает измеренное конденсаторное напряжение.
load sdoRCCircuit_ExperimentData
От sdoRCCircuit
модель выбирает Analysis и нажимает Parameter Estimation..., чтобы запустить инструмент Parameter Estimation.
Нажмите New Experiment, чтобы создать эксперимент оценки, который содержит результаты измерений. Exp
переменная создается в инструменте Parameter Estimation, и диалоговое окно, чтобы отредактировать эксперимент открыто.
Редактор эксперимента содержит разделы, чтобы задать измеренные выходные данные и разделы, чтобы опционально задать начальные состояния эксперимента и параметры.
Редактор эксперимента автоматически добавляет измеренные выходные сигналы для корневых портов уровня модели и регистрировал сигналы модели. Нажмите Select Measured Output Signals, чтобы добавить дополнительные измеренные выходные параметры в случае необходимости. Для этого примера конденсаторный сигнал напряжения зарегистрирован модель и уже добавляется к эксперименту.
Задайте измеренное конденсаторное напряжение путем ввода [time, data]
в поле редактирования. Это использует переменные MATLAB time
и data
загруженный из файла ранее, чтобы задать измеренное конденсаторное напряжение. Результаты измерений заданы как матрица, где 1-й столбец время и последующие данные сигнала столбцов.
Кроме того, к определению измеренного полного напряжения с помощью переменных MATLAB можно загрузить результаты измерений непосредственно из текста или превзойти файлы. Нажмите кнопку импорта, чтобы открыть селектора файла и перейти к $matlabroot$\toolbox\sldo\sldodemos\estim
и откройте sdoRCCircuit_ExperimentData.xlsx
файл.
Инструмент для того, чтобы импортировать данные о столбце из файла открывается. 1-й столбец, выбранный для импорта, используется, чтобы задать время сигнала, последующие столбцы, выбранные для импорта, используются, чтобы задать данные сигнала. Выберите time
и data
столбцы и нажимают Import
В эксперименте редактор нажимают Plot & Simulate, чтобы отобразить на графике измеренные данные об эксперименте и симулированный ответ модели.
График эксперимента показывает, что симулированные данные не совпадают с результатами измерений. График также показывает, что начальное состояние модели не правильно и должно быть оценено (измеренные и симулированные напряжения во время 0 существенно отличаются). Из эксперимента редактор нажимают Select Initial States, чтобы открыть диалоговое окно, чтобы выбрать начальные состояния модели; выберите sdoRCCircuit.C1.vc
утвердите и нажмите ОК, чтобы добавить состояние в эксперимент.
Результаты измерений содержат высокочастотный шум, что мы удаляем использование фильтра lowpass. Кликните по вкладке Experiment Plot и выберите Low Pass Filter.
Это открывает инструмент Low-Pass Filter. Верхняя ось показывает БПФ сигнала, более низкая ось показывает сигналы. Исходный сигнал отображают синим и отфильтрованным сигналом красного цвета. Настройте пропускную способность фильтра или вводом значения в Нормированном поле редактирования частоты среза или перетаскиванием желтого ребра закрашенной фигуры. Перетащите сокращение фильтра к 0,4. Нажмите Options и выберите фильтр сдвига Zero-phase, чтобы не вводить сдвиг фазы фильтра в результаты измерений.
Нажмите Apply и Close Low-Pass Filter, чтобы завершить фильтрацию lowpass данных. Эксперимент обновляется с отфильтрованным сигналом. Можно использовать другие инструменты предварительной обработки такой как, удалить смещение, масштабировать, передискретизировать, и т.д., чтобы далее обработать данные измерений. Для этого примера фильтрация lowpass достаточна.
С данными об эксперименте, сконфигурированными и предварительно обработанными, мы готовы запустить оценку. Сначала мы выбираем параметры, чтобы оценить. Кликните по вкладке Parameter Estimation и выберите Select Parameters. Диалоговое окно, чтобы задать параметры модели для оценки открывается. Нажмите Select Parameters и выбор, C1
, значение конденсатора схемы. Установите конденсаторное минимальное значение к 0 и исходное предположение к 460e-6.
Нажмите Estimate, чтобы запустить оценку. Можно изменить опции оценки путем установки поля комбинированного списка Cost Function и нажатия на More Options....
В то время как оценка запускает обновление графиков и диалоговое окно, показывающее, что прогресс оценки появляется. Диалоговое окно прогресса показывает итерации оценки, число раз, модель была оценена (F-количество) и стоимость оценки в каждой итерации.
После многих итераций оценка сходится и завершает работу. Модель обновляется предполагаемыми параметрами, и результаты оценки сохранены в браузере данных.
Изучить, как оценить параметры модели с помощью sdo.optimize
команда, см. "Оценочные Параметры модели и начальные состояния (Код)".
Закройте модель
bdclose('sdoRCCircuit')