В этом примере показано, как использовать ncfsyn формирование реакции с разомкнутым контуром при обеспечении стабильности и максимизации надежности. ncfsyn измеряет устойчивость с точки зрения нормированного запаса устойчивости КО, вычисленного по ncfmargin.
Модель завода представляет собой слегка затухшую систему второго порядка.
16s + 16.
График Боде показывает резонансный пик.
P = tf(16,[1 0.16 16]); bode(P)

Проектные задачи для замкнутого цикла следующие.
Нечувствительность к шуму, включая ослабление 60dB/decade за пределами 20 рад/с
Интегральное действие и полоса пропускания не менее 0,5 рад/с
Частота пересечения усиления не более 7 рад/с
В конструкции управления формированием контура эти требования преобразуются в требуемую форму для усиления разомкнутого контура и ищут компенсатор, который обеспечивает эту форму. Например, компенсатор, состоящий из члена ПИ последовательно с высокочастотной составляющей запаздывания, достигает желаемой формы контура.
K_PI = pid(1,0.8); K_rolloff = tf(1,[1/20 1]); Kprop = K_PI*K_rolloff; bodemag(P*Kprop); grid

К сожалению, компенсатор Kprop не стабилизирует замкнутую систему. Изучение динамики замкнутого контура показывает полюса в правой полуплоскости.
pole(feedback(P*Kprop,1))
ans = 4×1 complex
-20.6975 + 0.0000i
0.4702 + 5.5210i
0.4702 - 5.5210i
-0.4029 + 0.0000i
ncfsynВы можете использовать ncfsyn обеспечение стабильности и адекватных пределов устойчивости без существенного изменения формы петли. Использовать исходную конструкцию Kprop в качестве предварительного фильтра формирования петель. ncfsyn предполагает наличие системы управления положительной обратной связью (см. ncfsyn), поэтому переверните знак Kprop и возвращенного контроллера.
[K,~,gamma] = ncfsyn(P,-Kprop);
K = -K; % flip sign back
gammagamma = 1.9885
Значение производительности gamma менее 3 свидетельствует об успехе (умеренное ухудшение коэффициента усиления наряду с приемлемыми показателями прочности). Новый компенсатор K стабилизирует растение и имеет хороший запас устойчивости.
allmargin(P*K)
ans = struct with fields:
GainMargin: [6.3267 11.1183]
GMFrequency: [1.6110 15.1526]
PhaseMargin: [80.0229 -99.6598 63.7949]
PMFrequency: [0.4471 3.1461 5.2318]
DelayMargin: [3.1238 1.4443 0.2128]
DMFrequency: [0.4471 3.1461 5.2318]
Stable: 1
С gamma приблизительно 2, ожидается максимум 20*log10(gamma) = 6dB уменьшение усиления в области с высоким коэффициентом усиления и самое большее 6dB увеличение усиления в области с низким коэффициентом усиления. График величины Боде подтверждает это. Обратите внимание, что ncfsyn изменяет форму петли, главным образом, вокруг переходов усиления для достижения стабильности и надежности.
subplot(1,2,1) bodemag(Kprop,'r',K,'g',{1e-2,1e4}); grid legend('Initial design','NCFSYN design') title('Controller Gains') subplot(1,2,2) bodemag(P*Kprop,'r',P*K,'g',{1e-3,1e2}); grid legend('Initial design','NCFSYN design') title('Open-Loop Gains')

Рис. 1: Коэффициенты усиления компенсатора и разомкнутого контура.
С помощью ncfsyn компенсатор, импульсное возмущение на входе в установку гасится за несколько секунд. Сравните этот ответ с некомпенсированным ответом завода.
subplot(1,2,1) impulse(feedback(P,K),'b',P,'r',5); legend('Closed loop','Open loop')

subplot(1,2,2); impulse(-feedback(K*P,1),'b',5) title('Control action')

Рис. 2: Реакция на импульс на входе в установку.
Функции чувствительности с замкнутым контуром и дополнительной чувствительности показывают желаемое снижение чувствительности и затухание высокочастотного шума, выраженное в задачах производительности с замкнутым контуром.
S = feedback(1,P*K);
T = 1-S;
clf
bodemag(S,T,{1e-2,1e2}), grid
legend('S','T')
В этом примере используется функция ncfsyn подгонку компенсатора ручной формы для достижения стабильности замкнутого контура при приблизительно сохранении желаемой формы контура.