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

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

Типы модели LTI

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

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

  • Модели (zpk) нулей и полюсов

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

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

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

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

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

H(s)=A(s)B(s)=a1sn+a2sn-1++an+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.

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

Модели пространства состояний (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 угловое смещение ротора (выход). Это ОДУ может быть переписано в форме пространства состояний как:

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

θ=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.

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

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

tf, zpk, ss, и frd команды позволяют вам создать обе модели SISO and 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.

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

| | | | |

Похожие темы