exponenta event banner

Печать системных ответов

В этом примере показано, как построить график временных и частотных характеристик линейных систем SISO и MIMO.

Ответы по времени

В целях иллюстрации создайте следующую функцию переноса третьего заказа:

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.

Вы можете построить график ступенчатых и импульсных откликов этой системы с помощью step и impulse команды:

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, где

$$ G = { - (2 s + 1) \over s^2 + 3 s + 2 } $$

Рис. 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). В случае MIMO эти команды создают массивы графиков. Например, ступенчатая реакция системы с двумя входами и двумя выходами

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)

При необходимости можно сгруппировать все четыре ответа на одном графике путем щелчка правой кнопкой мыши на графике и выбора подменю «Группировка ввода-вывода - > Все». Полученный график показан ниже.

Следующие дополнительные графики полезны для анализа систем MIMO:

  • График сингулярных значений (sigma), который показывает основные коэффициенты усиления частотной характеристики

  • Сопоставление полюсов и нулей для каждой пары ввода-вывода (iopzplot)

Например, постройте график пикового усиления sys как функция частоты:

sigma(sys)
grid

Сравнение систем

Можно распечатать сразу несколько систем с помощью любой команды графика ответа. Для упрощения сравнения каждой системе можно назначить определенный цвет, маркер или стиль линии. Используя приведенный выше пример обратной связи, постройте график ступенчатой реакции с замкнутым контуром для трех значений усиления контура. 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')

См. также

|

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