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

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

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

Приложения

Функции

Похожие темы