Этот пример показывает, как построить график временных и частотных характеристик линейных систем 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, где
Фигура 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 для устойчивости с обратной связью.
Щелчок правой кнопкой мыши по графикам отклика дает доступ к различным опциям и аннотациям. В частности, меню «Характеристики» позволяет вам отображать стандартные метрики, такие как времена нарастания и время урегулирования для переходных характеристик или пиковый коэффициент усиления и запасов устойчивости для графиков частотной характеристики.
Используя пример из предыдущего раздела, постройте график переходной характеристики с обратной связью:
step(T)
Теперь щелкните правой кнопкой мыши по графику, чтобы отобразить Максимальную чувствительность и Время урегулирования Характеристики, и нажатия кнопки на синих точках, чтобы считать соответствующие значения перерегулирования и времени урегулирования:
Все команды, упомянутые до сих пор, полностью поддерживают мультивходы с несколькими выходами (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')