Этот пример показывает, как построить время и частотные характеристики линейных систем MIMO и SISO.
В целях рисунка создайте следующую передаточную функцию третьего порядка:
sys = tf([8 18 32],[1 6 14 24])
sys = 8 s^2 + 18 s + 32 ----------------------- s^3 + 6 s^2 + 14 s + 24 Continuous-time transfer function.
Можно построить шаг и импульсные ответы этой системы с помощью команд impulse
и step
:
subplot(2,1,1) step(sys) subplot(2,1,2) impulse(sys)
Можно также моделировать ответ на произвольный сигнал, например, синусоиду, с помощью команды lsim
. Входной сигнал появляется в сером и ответе системы синего цвета.
clf
t = 0:0.01:4;
u = sin(10*t);
lsim(sys,u,t) % u,t define the input signal
Можно использовать команды графического вывода с непрерывным или дискретным TF, SS или моделями ZPK. Для моделей в пространстве состояний можно также построить добровольный ответ от некоторого данного начального состояния, например:
A = [-0.8 3.6 -2.1;-3 -1.2 4.8;3 -4.3 -1.1];
B = [0; -1.1; -0.2];
C = [1.2 0 0.6];
D = -0.6;
G = ss(A,B,C,D);
x0 = [-1;0;2]; % initial state
initial(G,x0)
grid
Анализ частотного диапазона является ключевым для понимания устойчивости и свойств производительности систем управления. Диаграммы Боде, годографы Найквиста и график Николса являются тремя стандартными способами построить и анализировать частотную характеристику линейной системы. Можно создать эти графики с помощью bode
, nichols
и команд nyquist
. Например:
sys = tf([8 18 32],[1 6 14 24])
sys = 8 s^2 + 18 s + 32 ----------------------- s^3 + 6 s^2 + 14 s + 24 Continuous-time transfer function.
bode(sys) grid
nyquist(sys) grid
nichols(sys) grid
Полюса и нули системы содержат ценную информацию о ее динамике, устойчивости и пределах производительности. Например, рассмотрите обратную связь в рисунке 1 где
Рисунок 1: обратная связь SISO.
Для значения усиления k = 0.7
можно построить полюса с обратной связью и нули с помощью pzmap
:
s = tf('s');
G = -(2*s+1)/(s^2+3*s+2);
k = 0.7;
T = feedback(G*k,1);
pzmap(T)
grid, axis([-2 0 -1 1])
Полюса с обратной связью (отмеченный синим x's) лежат в левой полуплоскости, таким образом, обратная связь стабильна для этого выбора усиления k
. Можно считать отношение затухания полюсов с обратной связью из этого графика (см. метки на радиальных строках). Здесь отношение затухания - приблизительно 0,7, предлагая хорошо ослабленный ответ с обратной связью, как подтверждено:
clf step(T)
Чтобы далее понять, как усиление цикла k
влияет на устойчивость с обратной связью, можно построить местоположение полюсов с обратной связью как функция k
:
rlocus(G) grid
Нажатие, где местоположение пересекает ось y, показывает, что полюса с обратной связью становятся нестабильными для k = 1.51
. Таким образом, усиление цикла должно остаться меньшим, чем 1,5 для устойчивости с обратной связью.
Щелчок правой кнопкой по графикам ответа предоставляет доступ ко множеству опций и аннотаций. В частности, меню Characteristics позволяет вам отобразить стандартные метрики, такие как время нарастания и время установления для переходных процессов, или пиковое усиление и запасы устойчивости для графиков частотных характеристик.
Используя пример от предыдущего раздела, постройте переходной процесс с обратной связью:
step(T)
Теперь, щелкните правой кнопкой по графику отобразить Характеристики Максимальной чувствительности и Времени установления и нажать на синие точки, чтобы считать соответствующее перерегулирование и значения времени установления:
Все команды, упомянутые до сих пор полностью, поддерживают системы мультивхода мультивыводится (MIMO). В случае MIMO эти команды производят массивы графиков. Например, переходной процесс 2D входа, 2D выходной системы
sys = rss(3,2,2); sys.A = [-0.5 -0.3 -0.2 ; 0 -1.3 -1.7; 0.4 1.7 -1.3];
массив 2 на 2 графиков, где каждый столбец показывает переходной процесс конкретного входного канала:
step(sys)
При желании можно сгруппировать все четыре ответа на одном графике путем щелчка правой кнопкой по графику и выбора I/O Grouping-> All submenu. Получившийся график показывают ниже.
Следующие дополнительные графики полезны для анализа систем MIMO:
График сингулярного значения (sigma
), который показывает основные усиления частотной характеристики
Карта полюса/нуля для каждой пары ввода-вывода (iopzplot
)
Например, постройте пиковое усиление sys
как функция частоты:
sigma(sys) grid
Можно построить несколько систем целиком с помощью любой из команд plot ответа. Можно присвоить определенный цвет, маркер или стиль линии к каждой системе для легкого сравнения. Используя пример обратной связи выше, постройте переходной процесс с обратной связью для трех значений усиления цикла k
в трех различных цветах:
k1 = 0.4; T1 = feedback(G*k1,1); k2 = 1; T2 = feedback(G*k2,1); step(T,'b',T1,'r',T2,'g') legend('k = 0.7','k = 0.4','k = 1')