В этом примере показано, как исследовать эффект запасов устойчивости на характеристиках ответа с обратной связью системы управления.
Устойчивость обычно означает, что все внутренние сигналы остаются ограниченными. Это - стандартное требование для систем управления, чтобы избежать потери управления и повреждения оборудования. Для линейных систем с обратной связью устойчивость может быть оценена путем рассмотрения полюсов передаточной функции с обратной связью. Рассмотрите, например, обратную связь 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