Неопределенность усиления и фазы модели в обратной связи

В этом примере показано, как смоделировать усиление и неопределенность фазы в обратной связи с помощью umargin блок системы управления. Пример также показывает, как проверять обратную связь на устойчивую устойчивость против такой неопределенности.

Моделирование неопределенности усиления и фазы

Рассмотрите обратную связь SISO с передаточной функцией разомкнутого контура

L=3.5s3+2s2+3s.

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

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents L. Axes 2 contains an object of type line. This object represents L.

Из-за неопределенности объекта и других источников изменчивости, усиление цикла и фаза подвергаются колебаниям. В общем случае можно определить сумму неопределенности посредством экспериментирования на системе или аппроксимировать его на основе понимания или опыта. В данном примере предположите, что коэффициент усиления разомкнутого контура может увеличиться или уменьшиться на 50%, и фаза на ±30 °. Можно использовать umargin блокируйтесь, чтобы смоделировать такую неопределенность. umargin представляет изменение как неопределенный мультипликативный факторный F с номинальной стоимостью 1. Множество значений F может взять, получает усиление и неопределенность фазы, которую вы задаете.

Создать umargin блокируйте, используйте getDGM вычислить самый маленький диск неопределенности, который получает усиление и изменение фазы, которое вы хотите представлять. Используйте выход getDGM создать F.

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.

Визуализируйте F, чтобы видеть область значений значений, принявших этим фактором (справа) и областью значений усиления и изменений фазы, которые это моделирует F (слева).

plot(F)

Figure contains 2 axes. Axes 1 with title Range of gain and phase variations contains 5 objects of type patch, text, line. Axes 2 with title Values of multiplicative factor F contains 8 objects of type patch, line, text.

Графики показывают, что усиление может варьироваться между 47% и 150% его номинальной стоимости (принимающий изменение фазы), и фаза может варьироваться на ±30 ° (принимающий изменение усиления). Когда и усиление и фаза варьируются, их изменение остается в теневой области в левом графике.

Неопределенность F умножает ответ разомкнутого контура, давая к системе с обратной связью как в следующей схеме.

Включите эту неопределенность в модель с обратной связью.

T = feedback(L*F,1)
T =

  Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 3 states.
  The model uncertainty consists of the following blocks:
    F: Uncertain gain/phase, gain × [0.472,1.5], phase ± 30 deg, 1 occurrences

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

Результатом является неопределенное пространство состояний (uss) модель системы с обратной связью, содержащей неопределенный блок F. В целом коэффициент усиления разомкнутого контура может содержать другие неопределенные блоки также.

Анализ робастности

Выборка неопределенности и графический вывод переходного процесса с обратной связью предлагают плохую робастность таким изменениям усиления/фазы.

clf 
rng default
step(T)

Figure contains an axes. The axes contains 21 objects of type line. This object represents T.

Чтобы определить количество этой плохой робастности, используйте robstab измерять устойчивый запас устойчивости для заданной неопределенности.

SM = robstab(T)
SM = struct with fields:
           LowerBound: 0.8303
           UpperBound: 0.8319
    CriticalFrequency: 1.4482

Устойчивый запас устойчивости - только 0,83, означая, что обратная связь может только противостоять 83% заданной неопределенности. Фактор 0.83 находится в нормированных единицах. Чтобы перевести это значение в фактическую безопасную область значений усиления и изменений фазы, используйте uscale. Эта команда берет смоделированный диск неопределенности и масштабный коэффициент, и преобразует его в новый диск неопределенности.

Fsafe = uscale(F,0.83)
Fsafe = 
  Uncertain gain/phase "F" with relative gain change in [0.564,1.42] and phase change of ±24.8 degrees.

Отображение показывает, что 83% неопределенности задали в F (и поэтому в L) суммы, чтобы получить изменение между 56% и 142% номинальной стоимости, и изменение фазы ±25 °. Постройте диск Fsafe видеть полный спектр одновременного усиления и изменений фазы, которые может терпеть система с обратной связью.

plot(Fsafe)

Figure contains 2 axes. Axes 1 with title Range of gain and phase variations contains 5 objects of type patch, text, line. Axes 2 with title Values of multiplicative factor F contains 8 objects of type patch, line, text.

В модели L, неопределенность усиления и фазы является единственным источником неопределенности. Поэтому можно получить тот же результат непосредственно вычислительным находящиеся на диске поля с diskmargin. Убедитесь с учетом "скоса" модели F неопределенности, который смещает неопределенность к увеличению усиления или уменьшению.

sigma = F.Skew;
DM = diskmargin(L,sigma)
DM = struct with fields:
           GainMargin: [0.5626 1.4178]
          PhaseMargin: [-24.8091 24.8091]
           DiskMargin: 0.4274
           LowerBound: 0.4274
           UpperBound: 0.4274
            Frequency: 1.4505
    WorstPerturbation: [1x1 ss]

Это возвращает находящиеся на диске запасы по амплитуде и фазе для обратной связи L. Эти значения совпадают с областями значений, отображенными для масштабированной неопределенности Fsafe.

Выбор скоса

В вычислениях выше, вы использовали getDGM сопоставлять ±50%-е усиление и неопределенность фазы на ±30 ° в диск неопределенности F. Вы использовали 'tight' опция, которая выбирает самый маленький диск, который получает и заданное усиление и неопределенность фазы. Исследование области значений усиления и изменений, охваченных F снова, показывает, что область значений усиления смещается к уменьшению усиления.

plot(F)

Figure contains 2 axes. Axes 1 with title Range of gain and phase variations contains 5 objects of type patch, text, line. Axes 2 with title Values of multiplicative factor F contains 8 objects of type patch, line, text.

В качестве альтернативы можно использовать 'balanced' опция getDGM использовать модель с равными объемами (относительного) увеличения усиления и уменьшения. Сбалансированная область значений соответствует нулевому скосу (sigma = 0) в diskmargin.

DGM = getDGM(1.5,30,'balanced');
Fbal = umargin('Fbal',DGM);
plot(Fbal)

Figure contains 2 axes. Axes 1 with title Range of gain and phase variations contains 5 objects of type patch, text, line. Axes 2 with title Values of multiplicative factor F contains 8 objects of type patch, line, text.

На этот раз область значений усиления, показанная в левом графике, симметрична.

Затем сравните диск значений для двух моделей F неопределенности и Fbal. Диск неопределенности больше для 'balanced' опция.

clf 
DGM = F.GainChange;
DGMbal = Fbal.GainChange;
diskmarginplot([DGM;DGMbal],'disk')
legend('F','Fbal')
title('Two models for 50% gain and 30 degree phase variations')

Figure contains an axes. The axes with title Two models for 50% gain and 30 degree phase variations contains 3 objects of type patch, line. These objects represent F, Fbal.

Теперь вычислите устойчивый запас устойчивости для системы с Fbal и сравните безопасные области значений усиления и изменений фазы для этих двух моделей.

SM2 = robstab(feedback(L*Fbal,1));
Fbalsafe = uscale(Fbal,SM2.LowerBound);

DGMsafe = Fsafe.GainChange;
DGMbalsafe = Fbalsafe.GainChange;
diskmarginplot([DGMsafe;DGMbalsafe])
legend('F','Fbal')
title('Safe ranges of gain and phase variations')

Figure contains an axes. The axes with title Safe ranges of gain and phase variations contains 2 objects of type patch. These objects represent F, Fbal.

'tight' подходящий F дает к более крупной безопасной области и становится ближе к исходной цели робастности (3,5 поля усиления дБ и 30 запасов по фазе степеней).

Смотрите также

| | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте