Оцените параметры от результатов измерений

Об этом примере

Цели

Этот пример показывает, как оценить параметры одно входа одно выхода (SISO) модель Simulink® от измеренного ввода и вывода (ввод-вывод) данные.

Примечание

Программное обеспечение Simulink Design Optimization™ оценивает параметры от действительного, данные временного интервала только.

Можно выполнить следующие задачи с помощью Parameter Estimator:

  • Загрузите сохраненный сеанс, содержащий данные

  • Оцените параметры модели с помощью настроек по умолчанию

  • Подтвердите модель и уточните результаты оценки

О модели

Этот пример использует spe_engine_throttle1 Модель Simulink, которая представляет систему дросселя механизма.

Система дросселя управляет потоком воздуха и топливной смеси к цилиндрам механизма. Тело дросселя содержит клапан-бабочку, который открывается, когда драйвер нажимает педаль акселератора. Открытие этого клапана увеличивает количество топливной смеси, вводящей цилиндры, который увеличивает скорость вращения двигателя. Двигатель постоянного тока управляет вводным углом клапана-бабочки в системе дросселя. Модели для этих компонентов описаны в Моторной Подсистеме Подсистемы и Дросселя.

Вход к системе дросселя является моторным током (в амперах), и выход является угловым положением клапана-бабочки (в градусах).

Моторная подсистема.  Motor подсистема содержит модель двигателя постоянного тока. Чтобы открыть модель, дважды кликните соответствующий блок.

Компоненты Motor подсистемаОписание
Переменные

U является входом, текущим к двигателю.

T является крутящим моментом, примененным двигателем.

Параметры

Kt является усилением крутящего момента двигателя, представленного Kt в модели.

td является входной задержкой двигателя, представленного input_delay в модели.

Уравнение

Крутящий момент, примененный двигателем, описан в следующем уравнении:

T(t)=KtU(ttd)

где t время.

Входной параметрU
Вывод T

Отрегулируйте подсистему.  Throttle подсистема содержит модель клапана-бабочки. Чтобы открыть модель, щелкните правой кнопкой по соответствующему блоку и выберите Mask> Look Under Mask.

Hard Stops блок моделирует предел углового положения клапана 15 ° к 90 °.

Следующая таблица описывает переменные, параметры, состояния, дифференциальные уравнения, входные параметры и выходные параметры.

Компоненты Throttle подсистемаОписание
Переменные

T является крутящим моментом, примененным двигателем постоянного тока.

θ является угловым положением клапана, представленного x в модели.

Thardstop является крутящим моментом, примененным жестким упором.

Параметры

J инерция клапана.

c клапан вязкое трение.

k коэффициент упругости клапана.

Состояния

θ угловое положение.

θ˙ скорость вращения.

Уравнения

Математическая система для клапана-бабочки описана в следующем уравнении:

Jθ¨+cθ˙+kθ=T+Thardstop

где 15θ90, с начальными условиями θ0=15, и θ˙0=0.

Крутящий момент применяется Hard Stops блок описан в следующем уравнении:

Thardstop={0,K(90θ),K(15θ),15θ90θ>90θ<15}

где K усиление Hard Stops блок.

Входной параметрT
Вывод θ

Оцените параметры модели Используя настройки оценки по умолчанию

Обзор процесса оценки

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

Чтобы запустить процесс оценки, откройте сначала системную модель Simulink дросселя механизма путем ввода следующего в подсказке MATLAB®:

spe_engine_throttle1

В Панели инструментов Simulink, на вкладке Apps, под Control Systems, выбирают Parameter Estimator.

Это действие открывает новый сеанс с именем Parameter Estimation - spe_engine_throttle1 в Parameter Estimator.

Примечание

Модель Simulink должна остаться открытой, чтобы выполнить задачи оценки параметра.

Задайте данные об оценке и параметры

  1. Загрузите или импортируйте данные об оценке.

    1. Если вы подготовили данные и сохраненный ваш сеанс как описано в Подготовке данных для Оценки Параметра, загрузите предварительно сконфигурированный сеанс. На вкладке Parameter Estimation нажмите Open Session выпадающий список.

      Выберите правильную опцию, чтобы просмотреть к местоположению вашего сохраненного сеанса, например, Open from file. Затем выберите MAT-file.

    2. Если у вас нет ранее сохраненного сеанса, создайте новый эксперимент. на вкладке Parameter Estimation нажмите New Experiment. В Experiments перечисляют на левой панели. Можно переименовать его путем щелчка правой кнопкой и выбора Rename из списка. Например, вызовите его NewData1.

      Чтобы импортировать данные в эксперимент, щелкните правой кнопкой и выберите Edit..., чтобы запустить редактор эксперимента. Импортируйте выходные данные путем ввода в диалоговом окне в панели Outputs, например, [time1,position1]. Импортируйте входные данные путем ввода в диалоговом окне в панели Inputs, например, [time1,input1].

  2. Задайте параметры для оценки. На вкладке Parameter Estimation нажмите кнопку Select Parameters, чтобы открыть диалоговое окно Edit: Estimated Parameters. В панели Parameters Tuned for all Experiments нажмите кнопку Select parameters, чтобы запустить диалоговое окно Select Model Variables.

    Выберите параметры JC, input_delay, и k, и нажмите OK.

    Примечание

    В вашем приложении, если параметры модели вы хотите оценить, не перечислены в диалоговом окне Select Model Variables, сначала задают эти параметры как переменные. Смотрите, Добавьте Параметры модели как Переменные для Оценки.

    Окно Edit: Estimated Parameters теперь смотрит можно следующим образом.

    Приложение выбирает параметры, которые вы добавляете для оценки по умолчанию. При оценке большого количества параметров можно сначала выбрать подмножество параметров, чтобы оценить.

    Можно также сначала использовать анализ чувствительности, чтобы идентифицировать параметры что большая часть влияния оценка, и затем задать эти параметры для оценки. Чтобы открыть Sensitivity Analyzer, во вкладке Parameter Estimation, нажимают Sensitivity Analysis. В Sensitivity Analyzer можно идентифицировать параметры модели, что большая часть влияния проблема оценки и вычисляет начальные значения для параметров оценки.

  3. Задайте эксперимент для оценки. На вкладке Parameter Estimation нажмите Select Experiments и выберите поле в соответствии со столбцом Estimation. Нажмите OK.

  4. Чтобы добавить графики прогресса, нажмите Add Plot на вкладке Parameter Estimation. Здесь можно выбрать Parameter Trajectory и графики итерации Estimation Cost. Можно также выбрать график эксперимента измеренных и симулированных данных для NewData1.

  5. Оцените параметры с помощью настроек по умолчанию. На вкладке Parameter Estimation нажмите Estimate, чтобы открыть график Parameter Trajectory и окно Estimation Progress Report и оценить параметры. График Parameter Trajectory показывает изменение в значениях параметров в каждой итерации.

    Estimation Progress Report показывает номер итерации, число раз, целевая функция выполнена, и значение функции стоимости в конце каждой итерации. После того, как оценка сходится, Estimation Progress Report выглядит так фигура.

    Предполагаемые параметры сохранены в Parameter Estimator, в разделе Results панели Data Browser, как EstimatedParams. Щелкните правой кнопкой по EstimatedParams, и выберите Open..., чтобы просмотреть результаты.

  6. Исследуйте график функции ориентировочной стоимости. Функция стоимости является ошибкой между симулированным и измеренным выходом. Во время оценки, метод оптимизации по умолчанию Nonlinear least squares, lsqnonlin, минимизирует функцию стоимости путем изменения значений параметров. Следующая фигура отображает изменение в ожидаемой стоимости во время итераций.

  7. Исследуйте график симулированного отклика, чтобы видеть, как хорошо симулированный выход совпадает с измеренным выходом. График эксперимента показывает, что симулированное использование выхода предполагаемых параметров близко к измеренным выходным параметрам.

Улучшите результаты оценки Используя границы параметра

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

Система дросселя механизма имеет эти характеристики:

  • Все значения параметров положительны.

  • Максимальная задержка системы, представленной input_delay, 0,1 с.

Поэтому задайте 0 как минимальное значение для всех параметров, и 0.1 как максимальное значение input_delay. В Parameter Estimator нажмите кнопку Select Parameters, чтобы задать границы на значениях параметров. Для каждого параметра кликните по переключателю стрелки вправо, чтобы отобразить минимум, максимум и поля шкалы. Задайте минимальное значение для каждого параметра, заменив -Inf с 0 в поле Minimum. Задайте максимальное значение для input_delay заменяя +Inf с 0.1 в соответствующем поле Maximum.

После оценки параметров анализируйте результаты с помощью графика эксперимента и графика для ожидаемой стоимости.

Симулированное использование данных предполагаемых значений параметров соглашается лучше с результатами измерений чем тогда, когда пределы параметра не были заданы.

Подтвердите предполагаемые параметры модели

После оценки параметров модели подтвердите модель с помощью другого набора данных (данные о валидации). Хорошее соответствие между симулированным откликом и данными о валидации указывает, что вы не сверхсоответствовали модели.

Подтверждать предполагаемые параметры с помощью набора данных валидации:

  1. Создайте новый эксперимент, чтобы использовать для валидации. Назовите его ValidationData. Импортируйте данные о вводе-выводе валидации, input2 и position2, и временной вектор, time2 в ValidationData эксперимент. Для этого, в Parameter Estimator, в панели Экспериментов, щелкают правой кнопкой по ValidationData и выберите Edit..., чтобы открыть редактор эксперимента. Затем введите [time2,position2] в выходном диалоговом окне и [time2,input2] во входном диалоговом окне. Для получения дополнительной информации смотрите, Импортируют Данные для Оценки Параметра.

  2. Выберите эксперимент для валидации. На вкладке Parameter Estimation нажмите Select Experiments. По умолчанию, ValidationData эксперимент выбран для оценки. Снимите флажок, который соответствует ValidationData для оценки и устанавливают флажок для валидации.

  3. Выберите результаты использовать. На вкладке Validation нажмите Select Results to Validate.

    Отмените выбор Use current parameter values и выберите EstimatedParams, и нажмите OK.

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

    На вкладке Validation нажмите Validate, чтобы запустить валидацию.

  5. Исследуйте графики.

    1. Исследуйте график эксперимента, чтобы видеть, как хорошо симулированный выход совпадает с выходными данными.

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

    2. Исследуйте график остаточных значений сравнить различие между симулированным откликом и результатами измерений.

      Различие между симулированными и результатами измерений варьируется между 2 и-2.5. Остаточные значения лежат в рамках 6% максимального выходного изменения и не отображают систематических шаблонов. Это указывает на хорошую подгонку между симулированными выходными данными и результатами измерений.

  6. Сохраните сеанс. На вкладке Parameter Estimation нажмите Save Session.

    От выпадающего выбора списка, где сохранить сеанс. Задайте имя файла и нажмите Save или OK, чтобы сохранить ваш сеанс оценки параметра как MAT-файл.