exponenta event banner

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

В этом примере показано, как моделировать усиление и фазовую неопределенность в контурах обратной связи с помощью 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 градусов).

См. также

| | |

Связанные темы