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

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

Цели

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

Примечание

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

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

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

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

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

О модели

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

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

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

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

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

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

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

Параметры

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

t d является входной задержкой двигателя, представленного 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 выберите Analysis> Parameter Estimation.

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

Примечание

Модель 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.

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

    Примечание

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

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

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

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

  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 Estimation, в разделе Results панели Data Browser, как EstimatedParams. Щелкните правой кнопкой по EstimatedParams и выберите Open..., чтобы просмотреть результаты.

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Создайте новый эксперимент, чтобы использовать для валидации. Назовите его ValidationData. Импортируйте данные о вводе-выводе валидации, input2 и position2, и временной вектор, time2 в эксперименте ValidationData. Для этого, в инструменте Parameter Estimation, в панели Экспериментов, щелкают правой кнопкой по 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-файл.