exponenta event banner

uscale

Шкала неопределенности блока или системы

Описание

пример

blk_scaled = uscale(blk,factor) масштабирует величину неопределенности в неопределенном блоке конструкции управления на factor. Как правило, factor - запас надежности, возвращаемый robstab или robgainили надежная производительность, возвращенная musynperf. Неопределенный элемент blk_scaled имеет тот же тип, что и blk, с величиной неопределенности, масштабированной в нормированных единицах. Например, если factor 0,75, нормализованная неопределенность blk_scaled составляет 75% от нормализованной неопределенности blk.

пример

M_scaled = uscale(M,factor) масштабирует все неопределенные блоки в модели M. Неопределенные элементы не изменяются.

Примеры

свернуть все

Рассмотрим контур обратной связи со следующим усилением разомкнутого контура.

L = tf(3.5,[1 2 3 0]);

Предположим, что система имеет неопределенность усиления 1,5 (усиление может увеличиваться или уменьшаться в 1,5 раза) и неопределенность фазы ± 30 °.

DGM = getDGM(1.5,30,'tight');
F = umargin('F',DGM)
F = 
  Uncertain gain/phase "F" with relative gain change in [0.472,1.5] and phase change of ±30 degrees.

Проверьте надежность системы с замкнутым контуром.

T = feedback(L*F,1);
SM = robstab(T)
SM = struct with fields:
           LowerBound: 0.8303
           UpperBound: 0.8319
    CriticalFrequency: 1.4482

robstab показывает, что система может переносить только 0,83 раза смоделированную неопределенность, прежде чем стать нестабильной. Масштабировать umargin блок F на эту величину, чтобы найти наибольший выигрыш и изменение фазы, которые система может переносить.

factor = SM.LowerBound;
Fsafe = uscale(F,factor)
Fsafe = 
  Uncertain gain/phase "F" with relative gain change in [0.563,1.42] and phase change of ±24.8 degrees.

Масштабированная неопределенность имеет меньшие диапазоны как изменения коэффициента усиления, так и изменения фазы. Сравните эти диапазоны для исходной моделируемой вариации и максимально допустимой вариации.

DGM = F.GainChange;
DGMsafe = Fsafe.GainChange;
diskmarginplot([DGM;DGMsafe])
legend('original','safe')

Figure contains an axes. The axes with title Range of gain and phase variations contains 2 objects of type patch. These objects represent original, safe.

Рассмотрим неопределенную систему управления примера «Надежная работа системы с замкнутым контуром» на robgain справочная страница. В этом примере рассматривается чувствительность реакции с замкнутым контуром на выходе установки к возмущениям на входе установки.

k = ureal('k',10,'Percent',40);
delta = ultidyn('delta',[1 1]); 
G = tf(18,[1 1.8 k]) * (1 + 0.5*delta);
C = pid(2.3,3,0.38,0.001);
S = feedback(1,G*C)
S =

  Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 4 states.
  The model uncertainty consists of the following blocks:
    delta: Uncertain 1x1 LTI, peak gain = 1, 1 occurrences
    k: Uncertain real, nominal = 10, variability = [-40,40]%, 1 occurrences

Type "S.NominalValue" to see the nominal value, "get(S)" to see all properties, and "S.Uncertainty" to interact with the uncertain elements.

Предположим, что пиковое усиление этой функции чувствительности не должно превышать 1,5. Использовать robgain чтобы выяснить, какую часть смоделированной неопределенности система может переносить, в то время как пиковый коэффициент усиления остается ниже 1,5.

perfmarg = robgain(S,1.5)
perfmarg = struct with fields:
           LowerBound: 0.7821
           UpperBound: 0.7837
    CriticalFrequency: 7.8565

При таком требовании к производительности система может выдерживать только около 78% смоделированной неопределенности. Масштабировать все неопределенные элементы в S создание модели системы с замкнутым контуром с максимальным уровнем неопределенности, соответствующим требованиям к производительности.

factor = perfmarg.LowerBound;
S_scaled = uscale(S,factor)
S_scaled =

  Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 4 states.
  The model uncertainty consists of the following blocks:
    delta: Uncertain 1x1 LTI, peak gain = 0.782, 1 occurrences
    k: Uncertain real, nominal = 10, variability = [-31.3,31.3]%, 1 occurrences

Type "S_scaled.NominalValue" to see the nominal value, "get(S_scaled)" to see all properties, and "S_scaled.Uncertainty" to interact with the uncertain elements.

На дисплее показано, как неопределенные элементы в S_scaled изменились: пиковый коэффициент усиления ultidyn элемент delta уменьшается с 1 до 0,78, и диапазон изменения неопределенного вещественного параметра k снижается с ± 40% до ± 31,3 %.

Входные аргументы

свернуть все

Неопределенный расчетный блок управления для масштабирования, указанный как ureal, umargin, ultidyn, или другой неопределенный блок.

Коэффициент масштабирования, заданный как скаляр. Этот аргумент является суммой, на которую uscale масштабирует нормированную неопределенность blk или M. Например, если factor = 0,8, то функция уменьшает неопределённость до 80% от её исходного значения, в нормированных единицах. Аналогично, если factor = 2, то функция удваивает неопределенность.

Как правило, factor - запас надежности, возвращаемый robstab или robgainили надежная производительность, возвращенная musynperf. Таким образом, можно использовать uscale найти наибольший диапазон смоделированной неопределенности в системе, для которой система имеет хорошую надежную стабильность или производительность.

Неопределенная модель, указанная как uss, umat, ufrd, или genss с неопределенными конструктивными блоками управления. uscale команда масштабирует неопределенные блоки проектирования управления в M. Другие блоки M неизменны.

Выходные аргументы

свернуть все

Масштабированный неопределенный блок, возвращенный как блок того же типа, что и blk, например, ureal, umargin, ultidyn, или другой неопределенный блок. Неопределенность blk_scaled совпадает с неопределенностью в M, масштабировано по factor.

Масштабированная неопределенная модель, возвращенная как модель того же типа, что и M, например, uss, umat, ufrd, или genss с неопределенными конструктивными блоками управления. Неопределенные блоки конструкции управления в M_scaled совпадают с блоками в M, с размером неопределенности, масштабированным на factor в нормированных единицах.

Представлен в R2020a