Оценка параметров из измеренных данных

Об этом руководстве

Цели

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

Примечание

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

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

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

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

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

О модели

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

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

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

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

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

U - вход ток к двигателю.

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

Параметры

Kt - коэффициент усиления крутящего момента двигателя, представленный Kt в модели.

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

Уравнение

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

T(t)=KtU(ttd)

где t - время.

ВходU
ВыходT

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

The 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. Если вы подготовили данные и сохранили сеанс, как описано в Prepare Data for Parameter Estimation, загрузите предварительно сконфигурированный сеанс. На вкладке Parameter Estimation нажмите Open Session раскрывающийся список.

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

    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 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-файла.