В этом примере показано, как вычислить устойчивую устойчивость и исследовать усиление худшего случая системы с обратной связью, описанной в Системе Неопределенными Параметрами. Следующие команды создают ту систему.
m1 = ureal('m1',1,'percent',20); m2 = ureal('m2',1,'percent',20); k = ureal('k',1,'percent',20); s = zpk('s'); G1 = ss(1/s^2)/m1; G2 = ss(1/s^2)/m2; F = [0;G1]*[1 -1]+[1;-1]*[0,G2]; P = lft(F,k); C = 100*ss((s+1)/(.001*s+1))^3; T = feedback(P*C,1); % Closed-loop uncertain system
Эта неопределенная модель в пространстве состояний T
имеет три неопределенных параметра, k
, m1
, и m2
, каждый равняется 1±20%-му неопределенному изменению. Используйте robstab
анализировать ли система с обратной связью T
надежно устойчиво для всех комбинаций возможных значений этих трех параметров.
[stabmarg,wcus] = robstab(T); stabmarg
stabmarg = struct with fields:
LowerBound: 2.8803
UpperBound: 2.8864
CriticalFrequency: 575.0339
Данные в структуре stabmarg
включает границы на запасе устойчивости, которые указывают, что система управления может терпеть почти 3 раза заданную неопределенность прежде, чем идти нестабильная. Это устойчиво для всех изменений параметра указанного ±20%-го диапазона. Критическая частота является частотой, на которой система является самой близкой к нестабильности.
Структура wcus
содержит наименьшие значения возмущения дестабилизации для каждого неопределенного элемента.
wcus
wcus = struct with fields:
k: 1.5773
m1: 0.4227
m2: 0.4227
Можно оценить неопределенную модель в этих значениях возмущения с помощью usubs
. Исследуйте местоположения полюса той модели худшего случая.
Tunst = usubs(T,wcus); damp(Tunst)
Pole Damping Frequency Time Constant (rad/seconds) (seconds) -8.82e-01 + 1.55e-01i 9.85e-01 8.95e-01 1.13e+00 -8.82e-01 - 1.55e-01i 9.85e-01 8.95e-01 1.13e+00 -1.25e+00 1.00e+00 1.25e+00 7.99e-01 1.00e-06 + 5.75e+02i -1.74e-09 5.75e+02 -9.97e+05 1.00e-06 - 5.75e+02i -1.74e-09 5.75e+02 -9.97e+05 -1.50e+03 + 6.44e+02i 9.19e-01 1.63e+03 6.67e-04 -1.50e+03 - 6.44e+02i 9.19e-01 1.63e+03 6.67e-04
Система содержит пару полюсов очень близко к мнимой оси с коэффициентом затухания меньше, чем 1e-7
. Этот результат подтверждает, что возмущения худшего случая как раз, чтобы дестабилизировать систему.
Используйте wcgain
чтобы вычислить худший случай достигают максимума усиление, самое высокое пиковое усиление, происходящее в указанных диапазонах неопределенности.
[wcg,wcug] = wcgain(T); wcg
wcg = struct with fields:
LowerBound: 1.0471
UpperBound: 1.0731
CriticalFrequency: 7.7158
wcug
содержит значения неопределенных элементов, которые вызывают усиление худшего случая. Вычислите модель с обратной связью с этими значениями и постройте ее частотную характеристику наряду с некоторыми случайными выборками неопределенной системы.
Twc = usubs(T,wcug); Trand = usample(T,5); bodemag(Twc,'b--',Trand,'c:',{.1,100}); legend('Twc - worst-case','Trand - random samples','Location','SouthWest');
Кроме того, используйте wcsigmaplot
визуализировать максимально возможное усиление на каждой частоте, системе с самым высоким пиковым усилением и случайных выборках неопределенной системы.
wcsigmaplot(T,{.1,100})
robstab
| wcgain
| wcsigmaplot