exponenta event banner

Создание моделей непрерывного времени

В этом примере показано, как создавать линейные модели непрерывного времени с использованием tf, zpk, ss, и frd команды.

Типы моделей LTI

Система управления Toolbox™ предоставляет функции для создания четырех основных представлений линейных моделей инвариантного времени (LTI):

  • Модели передаточных функций (TF)

  • Модели с нулевым коэффициентом усиления (ZPK)

  • Модели пространства состояний (SS)

  • Модели данных частотной характеристики (FRD)

Эти функции принимают данные модели в качестве входных данных и создают объекты, воплощающие эти данные в одной переменной MATLAB ®.

Создание моделей передаточных функций

Передаточные функции (TF) являются представлениями систем LTI в частотной области. Передаточная функция SISO - отношение многочленов:

H (s) = A (s) B (s) = a1sn + a2sn-1 +... + a + 1b1sm + b2sm-1 +... + bm + 1

Передаточные функции задаются их числителем и многочленом знаменателя A(s) и B(s). В MATLAB многочлен представляется вектором его коэффициентов, например многочлена

s2+2s+10

указывается как [1 2 10].

Чтобы создать объект TF, представляющий передаточную функцию:

H (s) = ss2 + 2s + 10

задать числитель и многочлен знаменателя и использовать tf для построения объекта TF:

num = [ 1  0 ];       % Numerator: s
den = [ 1  2  10 ];   % Denominator: s^2 + 2 s + 10
H = tf(num,den)
H =
 
        s
  --------------
  s^2 + 2 s + 10
 
Continuous-time transfer function.

Можно также указать эту модель как рациональное выражение переменной Лапласа s:

s = tf('s');        % Create Laplace variable
H = s / (s^2 + 2*s + 10)
H =
 
        s
  --------------
  s^2 + 2 s + 10
 
Continuous-time transfer function.

Создание моделей с нулевым усилением полюсов

Модели с нулевым коэффициентом усиления (ZPK) являются факторизованной формой передаточных функций:

H (s) = k (s-z1)... (s-zn) (s-p1)... (s-pm)

Такие модели обнажают корни z числителя (нули) и корней p знаменателя (полюсов). Скалярный коэффициент k называется коэффициентом усиления.

Для создания модели ZPK:

H (s) = -2s (s-2) (s2-2s + 2)

задать векторы полюсов и нулей и коэффициент усиления k:

z = 0;                   % Zeros
p = [ 2  1+i  1-i ];     % Poles
k = -2;                  % Gain
H = zpk(z,p,k)
H =
 
          -2 s
  --------------------
  (s-2) (s^2 - 2s + 2)
 
Continuous-time zero/pole/gain model.

Что касается моделей TF, можно также указать эту модель как рациональное выражение s:

s = zpk('s');
H = -2*s / (s - 2) / (s^2 - 2*s + 2)
H =
 
          -2 s
  --------------------
  (s-2) (s^2 - 2s + 2)
 
Continuous-time zero/pole/gain model.

Создание моделей состояния-пространства

Модели state-space (SS) - это представления систем LTI во временной области:

dxdt = Ax (t) + Bu (t)

y (t) = Cx (t) + Du (t)

где x(t) - вектор состояния, u(t) - входной вектор, и y(t) - выходная траектория.

Модели состояния-пространства получаются из дифференциальных уравнений, описывающих динамику системы. Например, рассмотрим ОДУ второго порядка для простого электродвигателя:

d2θdt2+2dθdt+5θ = 3I

где I - ток возбуждения (вход) и theta - угловое смещение ротора (выход). Этот ОДУ может быть переписан в форме state-space как:

dxdt = Ax + BIA = [01-5-2] B = [03] x = [

start= Cx + DIC = [10] D = [0]

Чтобы создать эту модель, укажите матрицы состояния-пространства A, B, C, D и использовать ss для построения объекта SS:

A = [ 0  1 ; -5  -2 ];
B = [ 0 ; 3 ];
C = [ 1  0 ];
D = 0;
H = ss(A,B,C,D)
H =
 
  A = 
       x1  x2
   x1   0   1
   x2  -5  -2
 
  B = 
       u1
   x1   0
   x2   3
 
  C = 
       x1  x2
   y1   1   0
 
  D = 
       u1
   y1   0
 
Continuous-time state-space model.

Создание моделей данных частотного отклика

Модели данных частотной характеристики (FRD) позволяют сохранять измеренную или смоделированную комплексную частотную характеристику системы в объекте LTI. Затем эти данные можно использовать в качестве суррогатной модели для анализа и проектирования в частотной области.

Например, предположим, что из анализатора частоты выводятся следующие данные:

  • Частота (Гц): 10, 30, 50, 100, 500

  • Ответ: 0,0021 + 0 .0009i, 0,0027 + 0 .0029i, 0,0044 + 0 .0052i, 0,0200-0 .0040i, 0,0001-0 .0021i

Объект FRD, содержащий эти данные, можно создать с помощью:

freq = [10, 30, 50, 100, 500];
resp = [0.0021+0.0009i, 0.0027+0.0029i, 0.0044+0.0052i, 0.0200-0.0040i, 0.0001-0.0021i];
H = frd(resp,freq,'Units','Hz')
H =
 
    Frequency(Hz)           Response       
    -------------           --------       
          10         2.100e-03 + 9.000e-04i
          30         2.700e-03 + 2.900e-03i
          50         4.400e-03 + 5.200e-03i
         100         2.000e-02 - 4.000e-03i
         500         1.000e-04 - 2.100e-03i
 
Continuous-time frequency response.

Обратите внимание, что предполагается, что значения частоты находятся в градусах/с, если не указано значение Units быть Герцем.

Создание моделей MIMO

tf, zpk, ss, и frd команды позволяют создавать модели SISO и MIMO. Для моделей TF или ZPK часто удобно создавать модели MIMO путем объединения более простых моделей SISO. Например, можно создать функцию передачи 2x2 MIMO:

H (s) = [1s + 10s + 1s2 + s + 3-4ss + 2]

использование:

s = tf('s');
H = [ 1/(s+1) , 0 ; (s+1)/(s^2+s+3) , -4*s/(s+2) ]
H =
 
  From input 1 to output...
         1
   1:  -----
       s + 1
 
          s + 1
   2:  -----------
       s^2 + s + 3
 
  From input 2 to output...
   1:  0
 
       -4 s
   2:  -----
       s + 2
 
Continuous-time transfer function.

Анализ моделей LTI

Control System Toolbox предоставляет обширный набор функций для анализа моделей LTI. Эти функции варьируются от простых запросов о размере и порядке ввода-вывода до сложного анализа временных и частотных характеристик.

Например, можно получить информацию о размере для функции передачи MIMO. H указано выше путем ввода:

size(H)
Transfer function with 2 outputs and 2 inputs.

Вычислить полюса можно с помощью:

pole(H)
ans = 4×1 complex

  -1.0000 + 0.0000i
  -0.5000 + 1.6583i
  -0.5000 - 1.6583i
  -2.0000 + 0.0000i

Вы можете спросить, стабильна ли эта система, используя:

isstable(H)
ans = logical
   1

Наконец, можно построить график ответа на шаг, введя:

step(H)

Figure contains 4 axes. Axes 1 with title From: In(1) contains an object of type line. This object represents H. Axes 2 contains an object of type line. This object represents H. Axes 3 with title From: In(2) contains an object of type line. This object represents H. Axes 4 contains an object of type line. This object represents H.

См. также

| | | | |

Связанные темы