Estimate Process Model

Оцените модель процесса в непрерывном времени для системы с одним входом, одним выходом (SISO) в временном или частотном диапазоне в Live Editor

Описание

Задача Estimate Process Model позволяет вам в интерактивном режиме оценить и подтвердить модель процесса для систем SISO. Можно задать и изменить структуру модели и задать дополнительные параметры, такие как обработка начальных условий и методы поиска. Задача автоматически генерирует MATLAB® код для вашего live скрипта. Дополнительные сведения о задачах Live Editor см. в разделе Добавление интерактивных задач к Live Script.

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

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

Задача Estimate Process Model не зависит от более общего System Identification. Используйте приложение System Identification, когда вы хотите вычислить и сравнить оценки для нескольких структур модели.

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

Связанные функции

Код, который генерирует Estimate Process Model, использует следующие функции.

Задача оценивает idproc модель процесса.

Estimate Process Model task in Live Editor

Откройте задачу

Чтобы добавить задачу Estimate Process Model к live скрипту в редакторе MATLAB:

  • На вкладке Live Editor выберите Task > Estimate Process Model.

  • В код блоке вашего скрипта введите соответствующее ключевое слово, например process или estimate. Выберите Estimate Process Model от предлагаемых команд заканчиваний.

Примеры

расширить все

Используйте задачу Estimate Process Model Live Editor, чтобы оценить модель пространства состояний и сравнить выход модели с данными измерений.

Откройте этот пример, чтобы увидеть предварительно сконфигурированный скрипт, содержащий задачу.

Настройка данных

Загрузите данные измерения iddata1 в рабочее рабочее пространство MATLAB.

load iddata1 z1
z1
z1 =

Time domain data set with 300 samples.
Sample time: 0.1 seconds               
                                       
Outputs      Unit (if specified)       
   y1                                  
                                       
Inputs       Unit (if specified)       
   u1                                  
                                       

Импорт данных в задачу

В разделе Select data установите значение Data Type Data Object и установите значение объекта оценки z1.

Объект данных содержит вход и выход имен переменных а также шага расчета, поэтому вы не должны их задавать.

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

Исследуйте структуру модели и необязательные параметры.

В разделе «Задать структуру модели» опция по умолчанию One Pole без задержки, нуля или интегратора. Уравнения ниже параметров в этом разделе отображают заданную структуру.

В разделе Specify estimation initialization параметры инициализации, совпадающие с параметрами в вашей структуре модели, позволяют вам задать начальные точки для оценки. Если вы выбираете Fix, параметр остается фиксированным до заданного значения. В данном примере не задайте инициализацию. Затем задача использует значения по умолчанию для начальных точек.

В разделе Задать необязательные параметры (Specify optional parameters) заданы опции по умолчанию для оценки процесса.

Выполните задачу с вкладки Live Editor с помощью запуск. График отображает данные оценки, предполагаемый выход модели и процент подгонки.

Экспериментируйте с настройками параметра

Экспериментируйте с настройками параметра и посмотрите, как они влияют на подгонку.

Например, добавьте задержку в One Pole структурировать и запуск задачу.

Оценка подгонки улучшается, хотя процент подгонки все еще ниже 50%.

Попробуйте другую структуру модели. В разделе Задать структуру модели выберите Underdamped Pair без задержки и запустите задачу.

Результаты подгонки значительно улучшаются.

Сгенерируйте код

Чтобы отобразить код, который генерирует задача, щелкните в нижней части раздела параметра. Код, который вы видите, отражает текущее строение параметра задачи.

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

Откройте этот пример, чтобы увидеть предварительно сконфигурированный скрипт, содержащий задачу.

Настройка данных

Загрузите данные измерения iddata1 в рабочее рабочее пространство MATLAB и исследуйте ее содержимое.

load iddata1 z1
z1
z1 =

Time domain data set with 300 samples.
Sample time: 0.1 seconds               
                                       
Outputs      Unit (if specified)       
   y1                                  
                                       
Inputs       Unit (if specified)       
   u1                                  
                                       

Извлеките входные и выходные измерения.

u = z1.u;
y = z1.y;

Разделите данные на два набора: одну половину для оценки и одну половину для валидации. Исходный набор данных имеет 300 выборок, поэтому каждый новый набор данных имеет 150 выборок.

u_est = u(1:150);
u_val = u(151:300);
y_est = y(1:150);
y_val = y(151:300);

Импорт данных в задачу

В разделе Select data установите значение Time для Data Type. Установите значение шага расчета 0.1 секунд, который является шагом расчета в исходном iddata z1 объекта. Выберите соответствующие наборы данных для оценки и валидации.

Оценка и валидация модели

Пример Estimate Process Model with Live Editor Task достигает наилучших результатов с помощью структуры модели Underdamped Pair. Выберите ту же опцию для этого примера.

Выполните задачу с вкладки Live Editor с помощью запуск. Выполнение задачи создает два графика. Первый график показывает результаты оценки, а второй график показывает результаты валидации.

Подгонка к данным оценки несколько хуже, чем в задаче Estimate Process Model with Live Editor. Оценка в текущем примере имеет только половину данных, с помощью которых можно оценить модель. Подгонка к данным валидации, которая представляет качество модели в целом, лучше, чем подгонка к данным оценки.

Параметры

Выбор данных

Задача принимает одноканальные числовые значения измерения, которые равномерно дискретизированы по времени. Данные могут быть упакованы как числовые массивы (Time или Frequency type) или в объекте данных, таком как iddata или idfrd объект.

Выбранный тип данных определяет дополнительные параметры, которые необходимо задать.

  • Time - Задайте Sample Time и Start Time в выбранных временных модулях.

  • Frequency - Задайте Frequency, выбрав имя переменной вектора частоты в рабочем пространстве MATLAB. Задайте модули для этого вектора частоты. Задайте Sample Time в секундах.

  • Data Object - Не задайте дополнительных параметров, потому что объект данных уже содержит информацию о временной или частотной выборке.

Выберите имена входных и выходных переменных из выбора рабочего пространства MATLAB. Используйте эти параметры, когда Data Type Time или Frequency.

Выберите имя переменной объекта данных из выбора рабочего пространства MATLAB. Используйте этот параметр, когда Data Type Data Object.

Выберите имена входных и выходных переменных или имя объекта данных из вариантов рабочей области. Используйте эти параметры, когда Data Type Time или Frequency. Указание данных валидации необязательно, но рекомендуется.

Выберите имя переменной объекта данных из выбора рабочего пространства MATLAB. Используйте этот параметр, когда Data Type Data Object. Указание данных валидации необязательно, но рекомендуется.

Задайте структуру модели

Задача позволяет вам задать одну из четырех основных структур. Эти структуры варьируются от простого процесса первого порядка до более динамического процесса второго или третьего порядка со сложными сопряженными (недостаточно демпфированными) полюсами.

  • One Pole

  • Two Real Poles

  • Underdamped Pair

  • Underdamped Pair + Real Pole

Включите транспортную задержку или задержку ввода-вывода одной выборки. Задержка транспортировки также известна как мертвое время.

Включите нуль процесса в числитель.

Включите интегратора, представленного дополнительным термином 1/ s. Включение интегратора создает саморегулируемый процесс.

Задайте инициализацию оценки

Задайте начальные значения для оценки и должны ли эти значения быть фиксированными или оцененными. Значения, которые нужно задать, зависят от структуры модели и ваших спецификаций для Delay и Zero. Ниже Specify model structure в задаче отображается уравнение, которое представляет указанную систему. Это уравнение содержит все параметры, которые можно оценить, и которые можно инициализировать или исправить. Возможными параметрами являются:

  • Kp - Статический коэффициент усиления

  • Tp1 - константа времени для первого реального полюса

  • Tp2 - константа времени для второго реального полюса

  • - постоянная времени для комплексных полюсов, равная обратной собственной частоте

  • ζ - Коэффициент демпфирования для комплексных полюсов

  • Td - Задержка транспортировки

  • Tz - константа времени для процесса нуля

Все основанные на времени параметры указаны в модулях времени, выбранных для Sample Time.

Задайте необязательные параметры

Fit особого внимания задает, какую ошибку минимизировать в функции потерь во время оценки.

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

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

Установите эту опцию, когда вы хотите выбрать определенный метод для инициализации модели. С настройкой по умолчанию Autoпрограммное обеспечение выбирает способ на основе данных оценки. Варианты:

  • Zero - Начальное состояние устанавливается в нуль.

  • Estimate - Начальное состояние рассматривается как независимый параметр оценки.

  • Backcast - начальное состояние оценивается с использованием наилучшей аппроксимации методом наименьших квадратов.

Входная взаимная дискретизация является свойством входных данных. Задача использует это свойство при оценке моделей процесса. Задайте Input Intersampling, когда ваш тип данных Time или Frequency. Если вы используете iddata объект уже содержит информацию о взаимной дискретизации. Варианты для этого свойства:

  • Zero-order hold - Кусочно-постоянный входной сигнал между выборками

  • Triangle approximation - кусочно-линейный входной сигнал между выборками, также известный как удержание первого порядка

  • Band-limited - Входной сигнал имеет нулевую степень выше частоты Найквиста

  • Auto - Для каждой итерации программное обеспечение циклически переходит через методы, пока не найдет первое снижение направления, которое приводит к снижению стоимости оценки.

  • Gauss-Newton - Подпространство Гаусса-Ньютона поиск методом наименьших квадратов.

  • Levenberg-Marquardt - поиск методом наименьших квадратов Левенберга-Марквардта.

  • Adaptive Gauss-Newton - Адаптивный подпространство Gauss-Newton search.

  • Gradient Search - Наискорейший спуск методом наименьших квадратов.

Установите максимальное количество итераций во время минимизации ошибок. Итерации останавливаются, когда достигается Max. Iterations или удовлетворяется другой критерий остановки, такой как Tolerance.

Когда процент ожидаемого улучшения меньше Tolerance, итерации прекращаются.

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

Предварительный фильтр взвешиванияОбласть данныхИнформация о фильтре
No FilterВремя и частота 
PassbandsВремя и частотаОбласти значений полосы пропускания, заданные как вектор-строка 1 на 2 или матрица n -2, где n - количество полос пропускания
LTI FilterВремя и частотаSISO LTI модель
Frequency Weights VectorЧастотаВеса частот, заданные как вектор-столбец с той же длиной, что и вектор

Для образца предположим, что вы выполняете оценку с данными частотными диапазонами SISO и что в вашем рабочем пространстве MATLAB у вас есть вектор-столбец W который содержит веса частот для предварительного фильтра. В задаче выберите Weighting prefilter > Frequency weights vector и переменную W.

Визуализация результатов

Постройте сравнение выходов модели и исходных измеренных данных вместе с процентом подгонки. Если у вас есть отдельные данные валидации, второй график сравнивает ответ модели с входными данными валидации с измеренным выходом из набора данных валидации.

См. также

| | | | | | (Control System Toolbox)

Введенный в R2019b