При разработке образцового прогнозирующего контроллера можно задать внутреннюю прогнозирующую модель объекта управления с помощью линейной идентифицированной модели. Вы используете программное обеспечение System Identification Toolbox™, чтобы оценить линейную модель объекта управления в одной из следующих форм:
Можно оценить модель объекта управления программно в командной строке или в интерактивном режиме использовании приложения System Identification.
Этот пример показывает, как идентифицировать модель объекта управления в командной строке. Для получения информации об идентификации моделей с помощью приложения System Identification смотрите, Идентифицируют Линейные Модели Используя Приложение System Identification (System Identification Toolbox).
Загрузите измеренные данные о вводе/выводе.
load plantIO
Эта команда импортирует входной сигнал объекта, u
, выходной сигнал объекта, y
, и шаг расчета, Ts
к рабочей области MATLAB®.
Создайте объект iddata
из входных и выходных данных.
mydata = iddata(y,u,Ts);
Можно опционально присвоить названия канала и модули для сигналов ввода и вывода.
mydata.InputName = 'Voltage'; mydata.InputUnit = 'V'; mydata.OutputName = 'Position'; mydata.OutputUnit = 'cm';
Как правило, необходимо предварительно обработать идентификационные данные о вводе-выводе прежде, чем оценить модель. В данном примере удалите смещения из сигналов ввода и вывода путем удаления тренда данных.
mydatad = detrend(mydata);
Можно также удалить смещения путем создания объекта ssestOptions
и определения опций OutputOffset
и InputOffset
.
В данном примере оцените линейную модель в пространстве состояний второго порядка с помощью детрендированных данных. Чтобы оценить модель дискретного времени, задайте шаг расчета как Ts
.
ss1 = ssest(mydatad,2,'Ts',Ts)
ss1 = Discrete-time identified state-space model: x(t+Ts) = A x(t) + B u(t) + K e(t) y(t) = C x(t) + D u(t) + e(t) A = x1 x2 x1 0.8942 -0.1575 x2 0.1961 0.7616 B = Voltage x1 6.008e-05 x2 -0.01219 C = x1 x2 Position 38.24 -0.3835 D = Voltage Position 0 K = Position x1 0.03572 x2 0.0223 Sample time: 0.1 seconds Parameterization: FREE form (all coefficients in A, B, C free). Feedthrough: none Disturbance component: estimate Number of free coefficients: 10 Use "idssdata", "getpvec", "getcov" for parameters and their uncertainties. Status: Estimated using SSEST on time domain data "mydatad". Fit to estimation data: 89.85% (prediction focus) FPE: 0.0156, MSE: 0.01541
Можно использовать этот идентифицированный объект в качестве внутренней модели прогноза для контроллера MPC. Когда вы делаете так, контроллер преобразовывает идентифицированную модель в дискретное время, модель в пространстве состояний.
По умолчанию диспетчер MPC отбрасывает любые неизмеренные шумовые компоненты из вашей идентифицированной модели. Сконфигурировать шум образовывает канал как неизмеренные воздействия, необходимо сначала создать увеличенную модель в пространстве состояний из идентифицированной модели. Например:
ss2 = ss(ss1,'augmented')
ss2 = A = x1 x2 x1 0.8942 -0.1575 x2 0.1961 0.7616 B = Voltage v@Position x1 6.008e-05 0.004448 x2 -0.01219 0.002777 C = x1 x2 Position 38.24 -0.3835 D = Voltage v@Position Position 0 0.1245 Input groups: Name Channels Measured 1 Noise 2 Sample time: 0.1 seconds Discrete-time state-space model.
Эта команда создает модель в пространстве состояний, ss2
, с двумя входными группами, Measured
и Noise
, для измеренных и шумовых входных параметров соответственно. Когда вы импортируете увеличенную модель в свой контроллер MPC, каналы в группе входа Noise
заданы как неизмеренные воздействия.
Можно использовать программное обеспечение System Identification Toolbox, чтобы оценить конечный переходной процесс или модели объекта управления конечного импульсного ответа (FIR) с помощью результатов измерений. Такие модели, также известные как nonparametric models, легко определить от данных об объекте ([1] и [2]) и иметь интуитивное обращение.
Используйте функцию impulseest
, чтобы оценить модель FIR от результатов измерений. Эта функция генерирует КИХ-коэффициенты, инкапсулировавшие как объект idtf
; то есть, модель передаточной функции только с коэффициентами числителя. impulseest
является особенно эффективным при ситуациях, где входной сигнал, используемый для идентификации, имеет низкие уровни возбуждения. Чтобы разработать образцовый прогнозирующий контроллер для этого объекта, можно преобразовать идентифицированную КИХ-модель объекта управления в числовую модель LTI. Однако это преобразование обычно приводит к старшему объекту, который может ухудшить проектирование контроллера. Например, числовые проблемы точности со старшими объектами могут влиять на проект средства оценки. Этим результатом является особенно проблема для систем MIMO.
Образцовые прогнозирующие контроллеры работают лучше всего с параметрическими моделями младшего разряда. Поэтому, чтобы разработать образцовый прогнозирующий контроллер, использующий измеренные данные об объекте, вы можете:
Оцените параметрическую модель младшего разряда с помощью параметрического средства оценки, такого как ssest
.
Первоначально идентифицируйте непараметрическую модель с помощью impulseest
, и затем оцените параметрическую модель младшего разряда от ответа непараметрической модели. Для примера см. [3].
Первоначально идентифицируйте непараметрическую модель с помощью impulseest
, и затем преобразуйте модель FIR в модель в пространстве состояний с помощью idss
. Можно затем уменьшать порядок модели в пространстве состояний с помощью balred
. Этот подход подобен методу, используемому ssregest
.
[1] Ножовщик, К., и Ф. Йокум, "Опыт с инверсией DMC для идентификации", Химическое Управление процессом — IV CPC (И. Аркун и В. Х. Рэй, редакторы), КЭШ, 1991.
[2] Ricker, N. L. "Использование средств оценки наименьших квадратов смещения для параметров в моделях ответа импульса дискретного времени", Ind. Инженер Чем. Res., Издание 27, стр 343, 1988.
[3] Ван, L., П. Готроп, К. Кессари, Т. Подсиэдли и А. Джайлс, "Косвенный подход к непрерывной системе идентификации времени продовольственного экструдера", J. Управление процессом, Издание 14, Номер 6, стр 603–615, 2004.