Онлайновая полиномиальная оценка модели ARMAX

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

Постоянно реактор смесителя

Постоянно реактор смесителя (CSTR) является общей химической системой в перерабатывающей промышленности. Схематическая из системы CSTR:

Это - покрытое кожухом диабатическое (т.е. недиабатический) реактор бака, описанный экстенсивно в книге Бекетт "Динамика Процесса: Моделирование, Анализ и Симуляция", опубликованный Prentice Hall, 1998. Судно принято, чтобы быть отлично смешанным, и происходит одна экзотермическая и необратимая реакция первого порядка,-> B. Входной поток реагента A питается бак на постоянном уровне. После побуждения потоков конечного продукта из судна на том же уровне как реагент A подан в бак (объем в реакторном баке является постоянным). Детали операции CSTR и его нелинейной модели с 2 состояниями, используемой в этом примере, объяснены в примере Неадиабатический Непрерывный Реактор Смесителя: Моделирование файла MATLAB с Симуляциями в Simulink®.

Входные параметры модели CSTR:

и выходные параметры (y (t)), которые являются также состояниями модели (x (t)):

Цель управления состоит в том, чтобы обеспечить концентрацию реагента A на желаемом уровне, который изменяется в зависимости от времени. Температурой конверта управляет ПИ-контроллер для того, чтобы отклонить воздействия, являющиеся результатом входной потоковой температуры канала. Вход ПИ-контроллера является сигналом ошибки отслеживания. Входная потоковая концентрация канала, принят постоянным. Модель Simulink iddemo_cstr реализует объект CSTR как блок CSTR.

open_system('iddemo_cstr');

Вход температуры канала состоит из белого шумового воздействия сверх постоянного смещения. Шумовая степень 0.0075 [K^2]. Этот уровень шума вызывает 2%-е отклонение от желаемого.

Сигнал в этом примере содержит ступенчатое изменение от 1,5 [kgmol/m^3] к 2 [kgmol/m^3] во время. В дополнение к этому ступенчатому изменению, также содержит белое шумовое возмущение для t в [0,200) и [400,600), области значений. Степень этого белого шумового сигнала 0.015. Шумовая степень настроена опытным путем, чтобы приблизительно дать отношение сигнал-шум 10. Наличие достаточного возбуждения в ссылочном сигнале в идентификации с обратной связью может привести к не наличию достаточной информации идентифицировать уникальную модель. Реализация находится в iddemo_cstr/CA Reference блок.

Онлайновая оценка для адаптивного управления

Известно из нелинейной модели, что CSTR выход более чувствителен к входу управления в более высоких уровнях. Блок Recursive Polynomial Model Estimator используется, чтобы обнаружить это изменение в чувствительности. Эта информация используется, чтобы настроить усиления ПИ-контроллера, как варьируется. Цель состоит в том, чтобы не иметь высокий цикл управления усиления, который может привести к нестабильности.

Вы оцениваете дискретную передаточную функцию от к онлайн с блоком Recursive Polynomial Model Estimator. Алгоритм адаптивного управления использует усиление DC этой передаточной функции. Ошибка отслеживания, разделен на нормированное усиление DC предполагаемой передаточной функции. Эта нормализация сделана, чтобы иметь усиление 1 при ошибке отслеживания в начальной рабочей точке, для которой спроектирован ПИ-контроллер. Например, сигнал ошибки разделен на 2, если усиление DC становится 2 раза своим исходным значением. Это соответствует делению усилений ПИ-контроллера 2. Этот адаптивный контроллер реализован в iddemo_cstr/Adaptive PI Controller.

Рекурсивные полиномиальные входные параметры блока средства оценки модели

Блок 'Recursive Polynomial Model Estimator' найден под System Identification Toolbox/Estimators библиотека в Simulink. Вы используете этот блок, чтобы оценить линейные модели со структурой ARMAX. Модели ARMAX имеют форму:

  • Inputs и Output импорт рекурсивного полиномиального блока средства оценки модели соответствует и соответственно. Для модели CSTR и отклонения от температуры конверта и обрезки концентрации рабочие точки:. Хорошо масштабировать и иметь пиковую амплитуду 1, чтобы улучшить числовое условие проблемы оценки. Рабочие точки для обрезки, и, не известны точно перед работой системы. Они оценены и извлечены из измеренных сигналов при помощи фильтра скользящего среднего значения первого порядка. Эти фильтры предварительной обработки реализованы в iddemo_cstr/Preprocess Tj и iddemo_cstr/Preprocess CA блоки.

open_system('iddemo_cstr/Preprocess Tj');

  • Дополнительный Enable импорт блока Recursive Polynomial Model Estimator управляет оценкой параметра блок. Оценка параметра отключена, когда Разрешать сигнал является нулем. Оценка параметра включена для всех других значений Enable сигнал. В этом примере оценка отключена для временных интервалов и. Во время этих интервалов измеренный вход не содержит достаточное возбуждение для системы идентификации с обратной связью.

Рекурсивный полиномиальный Setup блока средства оценки модели

Сконфигурируйте параметры блоков, чтобы оценить модель ARMAX второго порядка. Во вкладке Model Parameters задайте:

  • Структура модели: ARMAX. Выберите ARMAX, поскольку текущие и прошлые значения воздействий, действующих на систему, как ожидают, повлияют на систему CSTR выход.

  • Первоначальная оценка: 'none'. По умолчанию программное обеспечение использует значение 0 для всех предполагаемых параметров.

  • Количество параметров в (q) (na): 2. Нелинейная модель имеет 2 состояния.

  • Количество параметров в B (q) (nb): 2.

  • Количество параметров в C (q) (nc): 2. Предполагаемая модель соответствует модели второго порядка начиная с максимума na, nb, и nc равняются 2.

  • Введите задержку (nk): 1. Как большинство физических систем, система CSTR не имеет прямого сквозного соединения. Кроме того, между его I/Os нет никаких задержек дополнительного времени.

  • Ковариационная матрица параметра: 1e4. Задайте высокое значение ковариации, потому что значения исходного предположения очень сомнительны.

  • 'SampleTime' : 0.1. Модель CSTR, как известно, имеет пропускную способность приблизительно 0.25 Гц, выбранных таким образом, что 1/0.1 больше 20 раз этой пропускной способности (5 Гц).

Нажмите Algorithm и Block Options, чтобы установить опции оценки:

  • Метод оценки: Forgetting Factor

  • Упущение фактора: 1-5e-3. Поскольку предполагаемые параметры, как ожидают, изменятся с рабочей точкой, установятся коэффициент упущения на значение меньше чем 1. Выберите, который соответствует постоянной времени памяти секунд. 100 вторых раз памяти гарантируют, что данные о существенном количестве, используемые в идентификации, прибывают из 200-секундного идентификационного периода в каждой рабочей точке.

  • Выберите Выходное поле проверки на ошибки оценки. Вы используете этот блок выход, чтобы подтвердить оценку.

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

  • Внешний сброс: None.

Рекурсивный полиномиальный блок средства оценки модели Выходные параметры

На каждом временном шаге рекурсивное полиномиальное средство оценки модели обеспечивает оценку для, и ошибка оценки. Error выходной порт полиномиального блока средства оценки модели содержит и также известен как ошибку прогноза "один шаг вперед". Parameters выходной порт блока содержит (q), B (q), и C (q) полиномиальные коэффициенты в сигнале шины. Учитывая выбранные полиномиальные распоряжения (), Parameters соедините шиной элементы, содержите:

Предполагаемые параметры в (q), B (q), и C (q) полиномы изменяются в процессе моделирования можно следующим образом:

sim('iddemo_cstr');
close_system('iddemo_cstr/Preprocess Tj');
open_system('iddemo_cstr/ABC');

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

Оценки параметра считаются постоянные для того, поскольку блок средства оценки был отключен для этого интервала (0 сигналов к Enable импортируйте). Оценка параметра включена в том, когда бак CSTR начинает переключаться на свою новую рабочую точку. Параметры и сходятся к их новым значениям, и затем сохраненный постоянным путем установки Enable порт к 0. Сходимость и медленнее в этой рабочей точке. Эта медленная сходимость из-за меньших собственных значений ковариационной матрицы параметра в t=400 по сравнению с начальной буквой 1e4 набор значений в t=0. Ковариация параметра, которая является мерой уверенности в оценках, обновляется с каждым временным шагом. Алгоритм быстро изменил оценки параметра, когда уверенность в оценках была низкой в t=0. Улучшенные оценки параметра получают поведение системы лучше, приводя к меньшим ошибкам прогноза "один шаг вперед" и меньшим собственным значениям в ковариационной матрице параметра (увеличенная уверенность). Поведение системы изменяется в t=400. Однако блок медленнее, чтобы изменить оценки параметра из-за увеличенной уверенности в оценках. Можно использовать Внешнюю опцию Сброса блока Recursive Polynomial Model Estimator, чтобы ввести новое значение для ковариации параметра в t=400. Чтобы видеть значение ковариации параметра, установите флажок ковариационной матрицы Выходного параметра в блоке Recursive Polynomial Model Estimator.

Проверка предполагаемой модели

Error выход Recursive Polynomial Model Estimator блок дает ошибку "один шаг вперед" для предполагаемой модели.

close_system('iddemo_cstr/ABC');
open_system('iddemo_cstr/1-Step Ahead Prediction Error');

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

Более строгая проверка предполагаемой модели должна симулировать предполагаемую модель и соответствовать фактическому выходу модели. iddemo_cstr/Time-Varying ARMAX блок реализует изменяющуюся во времени модель ARMAX, оцененную блоком Online Polynomial Model Estimator. Ошибка между выходом системы CSTR и предполагаемой изменяющейся во времени моделью ARMAX выход:

close_system('iddemo_cstr/1-Step Ahead Prediction Error');
open_system('iddemo_cstr/Simulation Error');

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

Идентифицированные модели могут далее анализироваться в MATLAB. Оценки модели для рабочих точек и могут быть получены путем рассмотрения предполагаемого (q), B (q), и C (q) полиномы в и соответственно. Диаграммы Боде этих моделей:

Ts = 0.1;
tidx = find(t>=200,1);
P200 = idpoly(AHat(:,:,tidx),BHat(:,:,tidx),CHat(:,:,tidx),1,1,[],Ts);
tidx = find(t>=600,1);
P600 = idpoly(AHat(:,:,tidx),BHat(:,:,tidx),CHat(:,:,tidx),1,1,[],Ts);
bodemag(P200,'b',P600,'r--',{10^-1,20});
legend('Estimated Model at C_A=1.5 [kgmol/m^3]', ...
       'Estimated Model at C_A=2.0 [kgmol/m^3]', ...
       'Location', 'Best');

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

Сводные данные

Вы оценили, что две модели ARMAX получили поведение нелинейного объекта CSTR в двух условиях работы. Оценка была сделана во время операции с обратной связью с адаптивным контроллером. Вы посмотрели на два сигнала подтвердить результаты оценки: Один шаг вперед ошибки прогноза и ошибки между объектом CSTR выход и симуляцией модели оценки. Оба из этих ошибочных сигналов были ограничены и маленькие по сравнению с объектом CSTR выход. Это обеспечило уверенность в предполагаемых параметрах модели ARMAX.

bdclose('iddemo_cstr');
Для просмотра документации необходимо авторизоваться на сайте