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

Этот пример показывает, как создать непрерывно-разовые линейные модели с помощью 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 и 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)

Дополнительную информацию см. в примерах Анализа модели.