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

При разработке образцового прогнозирующего контроллера можно задать внутреннюю прогнозирующую модель объекта управления с помощью линейной идентифицированной модели. Вы используете программное обеспечение System Identification Toolbox™, чтобы оценить линейную модель объекта управления в одной из следующих форм:

  • Модель в пространстве состояний — idss

  • Модель передаточной функции — idtf

  • Полиномиальная модель — idpoly

  • Модель процесса — idproc

  • Модель серого поля — idgrey

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

Смотрите также

Приложения

Функции

Похожие темы