Этот пример показывает, как исследовать эффект запасов устойчивости на характеристиках ответа с обратной связью системы управления.
Устойчивость обычно означает, что все внутренние сигналы остаются ограниченными. Это - стандартное требование для систем управления, чтобы избежать потери управления и повреждения оборудования. Для линейных систем с обратной связью устойчивость может быть оценена путем рассмотрения полюсов передаточной функции с обратной связью. Рассмотрите, например, обратную связь SISO:
Рисунок 1: обратная связь SISO.
Для модуля цикл получает k
, можно вычислить передаточную функцию с обратной связью использование T
:
G = tf([.5 1.3],[1 1.2 1.6 0]); T = feedback(G,1);
Чтобы получить полюса T
, ввести
pole(T)
ans = -0.2305 + 1.3062i -0.2305 - 1.3062i -0.7389 + 0.0000i
Обратная связь для k=1
стабильна, поскольку все полюса имеют отрицательные действительные части.
Проверка полюсов с обратной связью дает нам бинарную оценку устойчивости. На практике более полезно знать, насколько устойчивый (или хрупкий) устойчивость. Одна индикация относительно робастности состоит в том, сколько может изменить усиление цикла, прежде чем устойчивость потеряна. Можно использовать график корневого годографа оценить область значений значений k
, для которых цикл стабилен:
rlocus(G)
Нажатие на точку, где местоположение пересекает ось y, показывает, что эта обратная связь стабильна для
Эта область значений показывает, что с k=1
, усиление цикла может увеличиться на 270%, прежде чем вы потеряете устойчивость.
Изменения в усилении цикла являются только одним аспектом устойчивой устойчивости. В целом несовершенное моделирование объекта означает, что и усиление и фаза не известны точно. Поскольку ошибки моделирования больше всего наносят ущерб около частоты перекрестного соединения усиления (частота, где коэффициент усиления разомкнутого контура является 0dB), также имеет значение, сколько изменения фазы может быть допущено на этой частоте.
Поле фазы измеряется, сколько изменения фазы необходимо на частоте перекрестного соединения усиления, чтобы потерять устойчивость. Точно так же поле усиления измеряет, какое относительное изменение усиления необходимо на частоте перекрестного соединения усиления, чтобы потерять устойчивость. Вместе, эти два числа дают оценку "запаса прочности" для устойчивости с обратной связью. Чем меньший запасы устойчивости, тем более хрупкая устойчивость.
Можно отобразить запасы по амплитуде и фазе на Диаграмме Боде можно следующим образом. Сначала создайте график:
bode(G), grid
Затем щелкните правой кнопкой по графику и выберите подменю Characteristics-> Minimum Stability Margins. Наконец, нажмите на синие точечные маркеры. Получившийся график показывают ниже:
Это указывает на поле усиления приблизительно 9 дБ и поле фазы приблизительно 45 градусов. Соответствующий переходной процесс с обратной связью показывает приблизительно 20%-е перерегулирование и некоторые колебания.
step(T), title('Closed-loop response for k=1')
Если мы увеличиваем усиление до k=2
, запасы устойчивости уменьшаются до
[Gm,Pm] = margin(2*G); GmdB = 20*log10(Gm) % gain margin in dB Pm % phase margin in degrees
GmdB = 2.7471 Pm = 8.6328
и ответ с обратной связью плохо ослабил колебания, знак близкой нестабильности.
step(feedback(2*G,1)), title('Closed-loop response for k=2')
Некоторые системы имеют, несколько получают перекрестное соединение или частоты перекрестного соединения фазы, который приводит к нескольким, получают или значения поля фазы. Например, рассмотрите обратную связь
Рисунок 2: обратная связь с несколькими перекрестными соединениями фазы
Ответ с обратной связью для k=1
стабилен:
G = tf(20,[1 7]) * tf([1 3.2 7.2],[1 -1.2 0.8]) * tf([1 -8 400],[1 33 700]);
T = feedback(G,1);
step(T), title('Closed-loop response for k=1')
Чтобы оценить, как надежно стабильный этот цикл, график Предвещать ответ:
bode(G), grid
Затем щелкните правой кнопкой по графику и выберите подменю Characteristics-> All Stability Margins, чтобы показать все перекрестные частоты и сопоставленные запасы устойчивости. Получившийся график показывают ниже.
Обратите внимание на то, что существует два пересечения фазы на 180 градусов с соответствующими полями усиления-9.35dB и +10.6dB. Отрицательные поля усиления указывают, что устойчивость потеряна путем уменьшения усиления, в то время как положительные поля усиления указывают, что устойчивость потеряна путем увеличения усиления. Это подтверждено путем графического вывода переходного процесса с обратной связью для плюс/минус изменение усиления на 6 дБ о k=1
:
k1 = 2; T1 = feedback(G*k1,1); k2 = 1/2; T2 = feedback(G*k2,1); step(T,'b',T1,'r',T2,'g',12), legend('k = 1','k = 2','k = 0.5')
График показывает увеличенные колебания и для меньших и для больших значений усиления.
Можно использовать команду allmargin
, чтобы вычислить все запасы устойчивости. Обратите внимание на то, что получите поля, выражаются как отношения усиления, не дБ. Используйте mag2db
, чтобы преобразовать значения в дБ.
m = allmargin(G) GainMargins_dB = mag2db(m.GainMargin)
m = struct with fields: GainMargin: [0.3408 3.3920] GMFrequency: [1.9421 16.4807] PhaseMargin: 68.1178 PMFrequency: 7.0762 DelayMargin: 0.1680 DMFrequency: 7.0762 Stable: 1 GainMargins_dB = -9.3510 10.6091