В этом примере показано, как создать непрерывные линейные модели с помощью tf
, zpk
, ss
, и frd
команды.
Control System Toolbox™ обеспечивает функции для создания четырех основных представлений моделей линейного независимого от времени (LTI):
Модели передаточной функции (TF)
Модели (zpk) нулей и полюсов
Модели пространства состояний (SS)
Модели данных о частотной характеристике (FRD)
Эти функции берут данные модели в качестве входа и создают объекты, которые воплощают эти данные в одной переменной MATLAB®.
Передаточные функции (TF) являются представлениями систем LTI в частотной области. Передаточная функция SISO является отношением полиномов:
Передаточные функции заданы их полиномом числителя и полиномом знаменателя A(s)
и B(s)
. В MATLAB полином представлен вектором его коэффициентов, например, полинома
задан как [1 2 10]
.
Создать объект TF, представляющий передаточную функцию:
задайте полином числителя и полином знаменателя и используйте 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) нулей и полюсов являются учтенной формой передаточных функций:
Такие модели отсоединяют корни z
из числителя (нули) и корни p
из знаменателя (полюса). Скалярный коэффициент k
называется усилением.
Создать модель ZPK:
задайте векторы полюсов и нулей и усиления 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 во временной области:
где x(t)
вектор состояния, u(t)
входной вектор и y(t)
выходная траектория.
Модели в пространстве состояний получают из дифференциальных уравнений, описывающих динамику системы. Например, рассмотрите ОДУ второго порядка для простого электродвигателя:
где I
ведущий ток (вход) и theta
угловое смещение ротора (выход). Это ОДУ может быть переписано в форме пространства состояний как:
Чтобы создать эту модель, задайте матрицы пространства состояний 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
быть Герц.
tf
, zpk
, ss
, и frd
команды позволяют вам создать обе модели SISO and MIMO. Для моделей TF или ZPK часто удобно создать модели MIMO путем конкатенации более простых моделей SISO. Например, можно создать 2x2 передаточная функция MIMO:
использование:
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.
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)
Дополнительную информацию см. в примерах Анализа модели.