В этом примере показано, как создать эксперимент оценки на основе измеренных данных, сохраненных в файле, и как выполнить предварительную обработку измеренных данных. Импортированные данные используются для оценки параметров простого RC-канала.
В этом примере требуется программа Simscape ®.
модель Simulink, sdoRCCircuit, моделирует простую цепь резистор-конденсатор (RC).
open_system('sdoRCCircuit');

Измеренные данные используются для оценки параметров модели RC и значений состояния.
Измеренные выходные данные:
Напряжение конденсатора, выход PS-Simulink Converter блок
Параметр:
Емкость, C1, используется C1 блок
Состояние:
Начальное напряжение конденсатора, C1
В этом примере мы загружаем измеренные данные из сохраненного файла MATLAB, данные также хранятся в текстовом файле переменной, разделенной запятыми (csv), и мы также будем импортировать оттуда.
Сначала загрузите измеренные данные из файла MATLAB, файл определяет две переменные, time и data определяют измеряемое напряжение конденсатора.
load sdoRCCircuit_ExperimentData
На вкладке Приложения щелкните Оценщик параметров в разделе Системы управления, чтобы запустить приложение Оценщик параметров.

Щелкните Новый эксперимент (New Experiment), чтобы создать эксперимент оценки, содержащий измеренные данные. A Exp переменная создается в окне «Оценка параметров», и открывается диалоговое окно для редактирования эксперимента.

Редактор эксперимента содержит разделы для задания измеренных выходных данных и разделы для необязательного задания начальных состояний и параметров эксперимента.
Редактор экспериментов автоматически добавляет измеренные выходные сигналы для портов корневого уровня модели и регистрируемых сигналов модели. Щелкните Выбрать измеренные выходные сигналы (Select Measured Output Signals), чтобы при необходимости добавить дополнительные измеренные выходные сигналы. В этом примере сигнал напряжения конденсатора регистрируется в модели и уже добавляется в эксперимент.
Укажите измеренное напряжение конденсатора путем ввода [time, data] в поле редактирования. При этом используются переменные MATLAB. time и data загружено из файла ранее, чтобы указать измеренное напряжение конденсатора. Измеренные данные задают в виде матрицы, где 1-й столбец является данными сигнала времени и последующих столбцов.

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

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

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

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


Измеренные данные содержат высокочастотный шум, который мы удаляем с помощью фильтра нижних частот. Перейдите на вкладку График эксперимента (Experiment Plot) и выберите Фильтр нижних частот (Low Pass Filter).

Откроется инструмент Фильтр нижних частот (Low-Pass Filter). Верхняя ось показывает сигнал БПФ, нижняя ось показывает сигналы. Исходный сигнал отображается синим цветом, а отфильтрованный - красным. Настройте пропускную способность фильтра, введя значение в поле «Нормализованная частота отсечения» или щелкнув и перетащив желтый край сегмента. Перетащите отсечку фильтра на 0.4. Щелкните Опции (Options) и выберите Фильтр сдвига нулевой фазы (Zero-phase shift filter), чтобы избежать введения фазового сдвига фильтра в измеренные данные.

Щелкните Применить и закрыть фильтр нижних частот (Apply and Close Low-Pass Filter), чтобы завершить фильтрацию данных нижних частот. Эксперимент обновляется фильтрованным сигналом. Для дальнейшей обработки измеренных данных можно использовать другие инструменты предварительной обработки, такие как удаление смещения, масштабирование, повторная выборка и т.д. Для этого примера достаточно фильтрации нижних частот.
С данными эксперимента, настроенными и предварительно обработанными, мы готовы выполнить оценку. Сначала выбираем параметры для оценки. Перейдите на вкладку «Оценка параметров» и выберите «Выбрать параметры». Откроется диалоговое окно для задания параметров модели для оценки. Щелкните Выбрать параметры (Select Parameters) и выберите, C1, значение конденсатора схемы. Установите минимальное значение конденсатора равным 0, а начальное предположение - 460e-6.

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


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