Идентифицируйте объект из данных

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

См. также

Приложения

Функции

  • (System Identification Toolbox) | (System Identification Toolbox) | (Набор System Identification Toolbox)

Похожие темы