При разработке прогнозирующего контроллера модели можно задать внутреннюю прогнозирующую модель объекта управления с помощью линейно идентифицированной модели. Вы используете программное обеспечение System Identification Toolbox™, чтобы оценить линейную модель объекта управления в одной из следующих форм:
Модель пространства состояний - idss
(Набор System Identification Toolbox)
Модель передаточной функции - idtf
(Набор System Identification Toolbox)
Полиномиальная модель - idpoly
(Набор System Identification Toolbox)
Модель процесса - idproc
(Набор System Identification Toolbox)
Модель серого ящика - idgrey
(Набор System Identification Toolbox)
Можно оценить модель объекта управления программно в командной строке или в интерактивном режиме с помощью приложения 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
объект и установка InputOffset
и OutputOffset
опции.
В этом примере оцените модель пространства линейных состояний второго порядка, используя детрендированные данные. Чтобы оценить модель в дискретном времени, задайте шаг расчета как 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, чтобы оценить конечные модели объекта управления с степенной или конечной импульсной характеристикой (КИХ) с помощью измеренных данных. Такие модели, также известные как nonparametric models, легко определить по данным о объекте ([1] и [2]) и имеют интуитивно понятную привлекательность.
Используйте impulseest
(System Identification Toolbox) функция для оценки модели на основе измеренных данных. Эта функция генерирует коэффициенты конечной импульсной характеристики, инкапсулированные как idtf
(System Identification Toolbox) объект; то есть модель передаточной функции с только коэффициентами числителя. impulseest
особенно эффективен в ситуациях, когда входной сигнал, используемый для идентификации, имеет низкие уровни возбуждения. Чтобы спроектировать прогнозирующий контроллер модели для этого объекта, можно преобразовать идентифицированную модель объекта управления конечной импульсной характеристики в числовую модель LTI. Однако это преобразование обычно приводит к объекту высокого порядка, которая может ухудшить проектирование контроллера. Например, проблемы численной точности с объектами высокого порядка могут повлиять на проект оценщика. Этот результат является особенно проблемой для систем MIMO.
Прогнозирующие контроллеры модели работают лучше всего с параметрическими моделями низкого порядка. Поэтому, чтобы спроектировать прогнозирующий контроллер модели, используя измеренные данные о объекте, можно:
Оцените параметрическую модель низкого порядка с помощью параметрического оценщика, такого как ssest
(System Identification Toolbox).
Первоначально идентифицируйте непараметрическую модель, используя impulseest
, и затем оцените параметрическую модель низкого порядка из отклика непараметрической модели. Для получения примера см. [3].
Первоначально идентифицируйте непараметрическую модель, используя impulseest
, а затем преобразуйте модель конечной импульсной характеристики в модель пространства состояний с помощью idss
(System Identification Toolbox). Затем можно уменьшить порядок модели пространства состояний, используя balred
. Этот подход аналогичен методу, используемому ssregest
(System Identification Toolbox).
[1] Cutler, C. and F. Yocum, «Experience with the DMC reverse for identification», Chemical Process Control - CPC IV (Y. Arkun and W. H. Ray, eds.), CACHE, 1991.
[2] Ricker, N. L., «Использование оценок методом смещения методом наименьших квадратов для параметров в моделях импульсной характеристики в дискретном времени», Ind. Eng. Chem. Res., Vol. 27, pp. 343, 1988.
[3] Wang, L., P. Gawthrop, C. Chessari, T. Podsiadly, and A. Giles, «Косвенный подход к системе идентификации непрерывного времени пищевого экструдера», J. Process Control, Vol. 14, Number 6, pp. 603-615, 2004.
detrend
(System Identification Toolbox) | iddata
(System Identification Toolbox) | ssest
(Набор System Identification Toolbox)