При разработке прогнозирующего контроллера модели можно задать внутреннюю прогнозирующую модель объекта управления с помощью линейно идентифицированной модели. Вы используете программное обеспечение 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)