В этом примере показано, как проверить влияние пределов устойчивости на характеристики обратной реакции системы управления.
Стабильность обычно означает, что все внутренние сигналы остаются ограниченными. Это стандартное требование к системам управления во избежание потери управления и повреждения оборудования. Для систем линейной обратной связи стабильность может быть оценена путем просмотра полюсов функции передачи с замкнутым контуром. Рассмотрим, например, цикл обратной связи 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%, прежде чем вы потеряете стабильность.
Изменения коэффициента усиления контура являются лишь одним из аспектов надежной стабильности. В общем, несовершенное моделирование растений означает, что и усиление, и фаза точно не известны. Поскольку ошибки моделирования являются наиболее повреждающими вблизи частоты пересечения усиления (частота, где коэффициент усиления с разомкнутым контуром составляет 0 дБ), также важно, насколько изменение фазы может допускаться на этой частоте.
Запас по фазе измеряет, сколько изменений по фазе необходимо на частоте пересечения усиления, чтобы потерять стабильность. Аналогично, запас усиления измеряет, какое относительное изменение усиления необходимо на частоте пересечения усиления, чтобы потерять стабильность. Вместе эти два числа дают оценку «запаса прочности» для устойчивости по замкнутому контуру. Чем меньше пределы стабильности, тем хрупче стабильность.
Поля усиления и фазы можно отобразить на графике Бода следующим образом. Сначала создайте график:
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,6 дБ. Отрицательные поля усиления указывают на то, что стабильность теряется при уменьшении усиления, в то время как положительные поля усиления указывают на то, что стабильность теряется при увеличении усиления. Это подтверждается построением графика ступенчатой реакции с замкнутым контуром для изменения коэффициента усиления плюс/минус 6dB около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