exponenta event banner

umargin

Усиление модели и фазовая неопределенность

Описание

Используйте umargin блок управления конструкцией для моделирования усиления и фазовых изменений в контурах обратной связи. Моделирование изменений коэффициента усиления и фазы в системе позволяет проверять пределы устойчивости при анализе надежности или применять их при проектировании надежных контроллеров.

Чтобы добавить коэффициент усиления и фазовую неопределенность в контур обратной связи, необходимо включить umargin блоки в неопределенное состояние-пространство (uss) модель системы замкнутого контура. umargin - блок управления SISO, представляющий изменение коэффициента усиления и фазы в одном местоположении в одном контуре обратной связи. Для моделирования усиления и фазовой неопределенности в системах обратной связи MIMO вставьте отдельный umargin объект в каждом местоположении системы, в котором требуется ввести коэффициент усиления и фазовую неопределенность.

umargin моделирует усиление и фазовые вариации как коэффициент F, умножающий отклик L. Этот коэффициент принимает значения на диске, центрированном по реальной оси и содержащем F = 1. Вы указываете этот диск по его пересечению DGM = [gmin,gmax] с действительной осью, которая представляет относительную величину изменения коэффициента усиления вокруг номинального значения F = 1. Чтобы задать как коэффициент усиления, так и фазовую неопределенность, сначала используйте getDGM для получения DGM значение, описывающее диск, который фиксирует как заданный диапазон усиления, так и диапазон фаз. Дополнительные сведения о дисковой модели неопределенности см. в разделе Алгоритмы.

Когда у вас есть uss модель, содержащая umargin управляющие блоки проектирования, можно выполнить анализ надежности и наихудшего случая, чтобы выяснить, как усиление и изменение фазы влияют на реакцию системы. Например, использовать robstab и robgain для анализа надежной стабильности и надежной производительности системы с неопределенностью коэффициента усиления и фазы. Использовать wcgain и wcsigmaplot для изучения наихудших ответов системы.

Требуется надежная стабильность для системы с замкнутым контуром с umargin коэффициент усиления и фазовая неопределенность эквивалентны обеспечению запаса усиления на основе дисков [gmin,gmax] и соответствующий запас фазы. Поэтому можно использовать umargin блоки для обеспечения подходящих полей диска при разработке надежных контроллеров с musyn.

Создание

Описание

пример

F = umargin(name,DGM) модели относительная неопределенность усиления в диапазоне DGM = [gmin,gmax] с gmin < 1 и gmax > 1. Коэффициент усиления, смоделированный F изменяется в этом диапазоне для фазы, удерживаемой при ее номинальном значении. Когда у вас есть и коэффициент усиления, и фазовая неопределенность, используйте getDGM для поиска соответствующего DGM. Этот синтаксис также устанавливает Name имущество F.

пример

F = umargin(name,GM) является таким же, как umargin(name,[1/GM,GM]). Этот синтаксис задает коэффициент усиления, который может увеличиваться или уменьшаться GM при отсутствии фазовой неопределенности. Соответствующая величина фазовой неопределенности определяется дисковой моделью неопределенности, которая umargin использует (см. Алгоритмы).

F = umargin(___,Name,Value) устанавливает дополнительные свойства F используя пары имя-значение. Например, F = umargin('F',[0.8,1.4],'InputName','u0','OutputName','u') создает umargin блок и задает входные и выходные имена для использования с connect. Заключите каждое имя свойства в кавычки.

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

развернуть все

Диапазон изменения относительного коэффициента усиления, определяемый как двухэлементный вектор вида [gmin,gmax], где gmin < 1 и gmax > 1. Например, DGM = [0.8 1.5] означает, что смоделированное усиление может изменяться между 80% и 150% от его номинального значения (то есть изменяться на коэффициент между 0,8 и 1,5). gmin может быть отрицательным, определяя диапазон изменений относительного усиления, который включает в себя изменение знака.

Смоделированная неопределенность включает в себя соответствующее изменение фазы, определяемое дисковой моделью неопределенности (см. Алгоритмы). Получение диапазона усиления DGM это наилучшим образом представляет коэффициент усиления и изменение фазы, которые вы хотите моделировать, используйте getDGM.

Величина увеличения или уменьшения коэффициента усиления, заданная как скаляр. Например, если вы используете GM = 2, то umargin блок представляет коэффициент усиления, который может увеличиваться или уменьшаться в два раза. umargin(name,GM) эквивалентно umargin(name,[1/GM,GM]). Результирующая смоделированная неопределенность включает в себя соответствующее изменение фазы, определенное дисковой моделью неопределенности (см. Алгоритмы).

Свойства

развернуть все

Диапазон изменения относительного коэффициента усиления в абсолютных единицах, определяемый как двухэлементный вектор вида gmin, gmax, где gmin < 1 и gmax > 1. Например, GainChange = [0.8,1.5] означает, что коэффициент усиления может изменяться от 80% до 150% от его номинального значения. gmin может быть отрицательным, который моделирует возможные изменения знака в усилении цикла.

Связь между этим свойством и PhaseChange, DiskMargin, и Skew свойства определяются дисковой моделью неопределенности, которая umargin использует (см. Алгоритмы). При изменении значения этого свойства на существующем umargin другие свойства блока обновляются автоматически.

Это свойство доступно только для чтения.

Величина изменения фазы в градусах, заданная как двухэлементный вектор вида [-pm,pm]. Значение этого свойства определяется значением GainChange и дисковая модель неопределенности, которая umargin использует (см. Алгоритмы).

Пример: [-30,30]

Нормализованный уровень неопределенности, заданный как положительный скаляр. Это значение является ɑ параметра, который задает размер диска неопределенности (см. Алгоритмы).

Связь между этим свойством и GainChange, PhaseChange, и Skew свойства определяются дисковой моделью неопределенности, которая umargin использует. При изменении значения этого свойства на существующем umargin другие свойства блока обновляются автоматически.

Пример: 0.5

Наклон моделируемого диска неопределенности, заданного как скалярное значение. Перекос смещает моделируемое изменение усиления в сторону увеличения или уменьшения усиления.

  • Skew = 0 моделирует сбалансированный диапазон усиления [gmin,gmax], с gmin = 1/gmax.

  • Положительный Skew моделирует переменный выигрыш, который может увеличиться больше, чем может уменьшиться, gmax > 1/gmin). Например, GainChange = [0.8,2] соответствует положительному Skew значение, поскольку коэффициент усиления может увеличиться на 100%, но уменьшиться только на 20%.

  • Отрицательный Skew моделирует переменный выигрыш, который может уменьшиться больше, чем может увеличиться, gmin < 1/gmax. Например, GainChange = [0.5,1.2] соответствует отрицательному Skew значение, потому что может уменьшиться на 50%, но увеличиться только на 20%.

Чем больше абсолютное значение Skewчем больше диапазон усиления смещен. Для получения дополнительной информации о Skew и как это влияет на дисковую модель неопределенности, см. Анализ стабильности с использованием полей диска.

Связь между этим свойством и GainChange, PhaseChange, и DiskMargin свойства определяются дисковой моделью неопределенности, которая umargin использует (см. Алгоритмы). При изменении значения этого свойства на существующем umargin другие свойства блока обновляются автоматически.

Число состояний в случайных выборках блока, указанных как целое число. Некоторые команды анализа, такие как usample и bode взять случайные образцы неопределенной динамики. Это свойство определяет количество состояний в выборках. Дополнительные сведения о том, как работает выборка динамической неопределенности, см. в разделе Создание выборок неопределенных систем.

Максимальная частота случайных выборок, заданная как положительное скалярное значение. Случайная выборка неопределенной динамики происходит не быстрее указанного значения.

Это свойство доступно только для чтения.

Номинальное значение, указанное как модель состояния-пространства, представляющая статический коэффициент усиления SISO, равный 1 (A, B, C = 0, D = 1). Номинальное значение umargin блок всегда равен 1 (без усиления и изменения фазы) независимо от диапазона усиления и изменений фазы, которые представляет блок.

Уровень упрощения блока, указанный как 'basic', 'full', или 'off'. Как правило, при объединении неопределенных элементов для создания моделей неопределенного состояния и пространства программное обеспечение автоматически применяет методы для исключения избыточных копий неопределенных элементов. (см. simplify.) Это свойство используется для указания упрощения, применяемого при использовании методов арифметики модели или межсоединений с неопределенным блоком.

  • 'basic' - применять элементарный метод упрощения после каждой арифметической операции или операции межсоединений.

  • 'full' - Применение методов, аналогичных сокращению модели.

  • 'off' - Упрощение не выполняется.

Имя неопределенного элемента, заданного как символьный вектор. При создании неопределенного состояния-пространства (uss или genss) модель с использованием неопределенных блоков управляющих конструкций, программа отслеживает блоки с использованием имени, указанного в этом свойстве, а не имени переменной в рабочей области MATLAB ®. Например, при создании umargin блок с использованием F = umargin('um',2)и объедините блок с числовой моделью LTI, Blocks свойство результирующего uss модель перечисляет неопределенный блок конструкции управления um.

Время выборки, указанное как:

  • 0 - для моделей непрерывного времени.

  • Положительное скалярное значение - для дискретно-временных моделей. Укажите время выборки в единицах измерения, указанных в TimeUnit свойство модели.

  • -1 - Для дискретных моделей с неопределенным временем выборки.

Изменение этого свойства не приводит к повторной выборке блока.

Единицы времени модели, указанные как одно из следующих значений:

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

Можно указать TimeUnit использование строки, например, "hours", но единицы времени сохраняются как символьный вектор, 'hours'.

Свойства модели, такие как время выборки Ts, InputDelay, OutputDelayи другие временные задержки выражаются в единицах, указанных TimeUnit. Изменение этого свойства не влияет на другие свойства и, следовательно, изменяет общее поведение системы. Использовать chgTimeUnit преобразование между единицами времени без изменения поведения системы.

Имя входного канала, заданного как массив ячеек, содержащий символьный вектор. Можно задать InputName использование символьного вектора, такого как F.InputName = 'u'или использование строки, например, F.InputName = "u". В любом случае входное имя сохраняется как массив ячеек, содержащий символьный вектор. {'u'}.

Единицы входного сигнала, определяемые как массив ячеек, содержащий символьный вектор. Использовать InputUnit для отслеживания блоков каждый входной сигнал выражается в. InputUnit не влияет на поведение системы. Можно задать InputUnit использование символьного вектора, такого как F.InputUnit = 'V'или использование строки, например, F.InputUnit = "V". В любом случае входное имя сохраняется как массив ячеек, содержащий символьный вектор. {'V'}.

Группы входных каналов, определенные как структура, где поля являются именами групп, а значения - индексами входных каналов, принадлежащих соответствующей группе. Поскольку umargin блоки всегда SISO, нет необходимости указывать входные группы.

Имя выходного канала, заданного как массив ячеек, содержащий символьный вектор. Можно задать OutputName использование символьного вектора, такого как F.OutputName = 'y'или использование строки, например, F.OutputName = "y". В любом случае выходное имя сохраняется как массив ячеек, содержащий символьный вектор. {'y'}.

Единицы выходного сигнала, заданные как массив ячеек, содержащий символьный вектор. Использовать OutputUnit для отслеживания блоков каждый выходной сигнал выражается в. OutputUnit не влияет на поведение системы. Можно задать OutputUnit использование символьного вектора, такого как F.OutputUnit = 'V'или использование строки, например, F.OutputUnit = "V". В любом случае выходное имя сохраняется как массив ячеек, содержащий символьный вектор. {'V'}.

Группы выходных каналов, определенные как структура, где поля являются именами групп, а значения - индексами входных каналов, принадлежащих соответствующей группе. Поскольку umargin блоки всегда SISO, нет необходимости указывать выходные группы.

Текстовые заметки о модели, хранящиеся в виде строки или массива ячеек символьных векторов. Свойство хранит любой из этих двух типов данных. Например, предположим, что sys1 и sys2 являются динамическими моделями систем и устанавливают их Notes свойства для строки и символьного вектора соответственно.

sys1.Notes = "sys1 has a string.";
sys2.Notes = 'sys2 has a character vector.';
sys1.Notes
sys2.Notes
ans = 

    "sys1 has a string."


ans =

    'sys2 has a character vector.'

Данные любого типа, которые необходимо связать и сохранить с моделью, указанные как любой тип данных MATLAB.

Функции объекта

Многие функции, которые работают с числовыми моделями LTI, также работают с неопределенными блоками проектирования управления, такими как umargin. К ним относятся функции взаимодействия моделей, такие как connect и feedbackи функции линейного анализа, такие как bode и stepinfo. Некоторые функции, генерирующие графики, такие как bode и step, постройте случайные выборки неопределенной модели, чтобы дать вам ощущение распределения неопределенной динамики. Однако при использовании этих команд для возврата данных они работают только на номинальном значении системы. Следующие списки содержат репрезентативное подмножество функций, которые можно использовать с umargin модели.

развернуть все

feedbackОбратная связь нескольких моделей
connectБлок-схема взаимосвязей динамических систем
seriesПоследовательное соединение двух моделей
parallelПараллельное соединение двух моделей
uscaleШкала неопределенности блока или системы
plot (umargin)Визуализация усиления и фазовой неопределенности umargin блок
usampleСоздание случайных выборок неопределенной или обобщенной модели
usubsЗаменить заданные значения неопределенными элементами неопределенных объектов
stepГрафик ступенчатой реакции динамической системы; данные ответа на шаг
bodeГрафик Моде частотной характеристики, или данные о величине и фазе

Примеры

свернуть все

Создайте модель контура управления SISO с неопределенностью усиления ± 6 дБ и фазовой неопределенностью ± 30 °. Использовать функцию передачи с разомкнутым контуром

L = 3 .5s3 + 2s2 + 3s.

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

Чтобы смоделировать неопределенность, сначала используйте getDGM преобразование коэффициента усиления и изменения фазы в дисковый диапазон коэффициента усиления. Поскольку выигрыш может увеличиться или уменьшиться на ту же величину, можно использовать 'balanced' для моделирования диска с неопределенностью, симметричной относительно номинального значения.

GM = db2mag(6);
PM = 30;
DGM = getDGM(GM,PM,'balanced')
DGM = 1×2

    0.5012    1.9953

DGM определяет диск неопределенности с вариациями усиления в диапазоне, заданном DGMи фазовые изменения, определяемые геометрией диска. Использовать DGM для создания umargin блок.

F = umargin('F',DGM)
F = 
  Uncertain gain/phase "F" with relative gain change in [0.501,2] and phase change of ±36.8 degrees.

F представляет наименьший диск неопределенности, который может фиксировать как целевое усиление, так и изменение фазы. Фактическое изменение фазы, смоделированное F немного больше целевого диапазона ± 30 °. Для визуализации полного диапазона коэффициентов усиления и фазовых изменений, представленных F, включая одновременное усиление и изменение фазы, использование plot.

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.

Правый график показывает диапазон значений в комплексной плоскости, что мультипликативный коэффициент F может взять. Размер диска определяет величину вариации. Закрашенная область на левом графике показывает одновременные изменения усиления и фазы, включенные в 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.501,2], phase ± 36.8 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. Изучите влияние смоделированного усиления и фазовой неопределенности на ступенчатую реакцию системы с замкнутым контуром.

figure;
rng default  % for reproducibility
step(T)

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

С помощью этой модели можно выполнить дополнительный анализ, например, анализ устойчивости системы по моделируемому коэффициенту усиления и фазовому изменению с помощью robstab. Или можно использовать musyn разработать надежный контроллер для неопределенной системы L*F. Примеры см. в разделе

Создать umargin блокировать усиление моделей, которое может уменьшиться на 10%, но увеличиться на 60% при отсутствии изменения фазы, и изменение фазы ± 15 ° при отсутствии изменения усиления. Для этого используйтеgetDGM с 'tight' вариант. Эта опция используется для поиска самого маленького диска, на котором фиксируются заданные диапазоны усиления и фазы.

DGM = getDGM([0.9,1.6],[-15,15],'tight');
F = umargin('F',DGM)
F = 
  Uncertain gain/phase "F" with relative gain change in [0.86,1.6] and phase change of ±15 degrees.

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

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

Создать другой umargin блок, на этот раз с использованием 'balanced' опция в getDGM.

DGMb = getDGM([0.9,1.6],[-15,15],'balanced');
Fb = umargin('Fb',DGMb);

Сравните диск неопределенности, смоделированный каждым блоком.

figure;
diskmarginplot([F.GainChange;Fb.GainChange],'disk')

Figure contains an axes. The axes with title Values of multiplicative factor F contains 3 objects of type patch, line. These objects represent DGM = [0.86,1.6], DPM = 15, DGM = [0.625,1.6], DPM = 26.

Диск Fb моделирует больший симметричный диапазон усиления (gmin = 1/gmax) и большие фазовые вариации, чем указанные вами. Если вы уверены, что выигрыш варьируется больше в одном направлении, чем в другом в вашей системе, то эта сбалансированная модель может быть чрезмерно консервативной.

umargin блок представляет усиление SISO и фазовую неопределенность. Для моделирования усиления и фазовых изменений в контуре обратной связи MIMO создайте umargin блок для каждого местоположения в контуре, в котором требуется ввести коэффициент усиления и изменение фазы. Например, рассмотрим контур обратной связи с двумя входами и двумя выходами примера полей стабильности MIMO для вращающегося спутника.

Предположим, что необходимо изучить поведение системы с изменениями коэффициента усиления и фазы на входах и выходах установки. Эти варианты можно моделировать, создавая отдельные umargin блоки для каждого канала и построение их в модели с замкнутым контуром.

Создайте модели завода и контроллера из полей стабильности MIMO для Spinning Satellite. Установка представляет собой двухвходовую модель состояния-пространства с двумя выходами, а фильтр Kf прямой передачи представляет собой двухвходовой статический коэффициент усиления.

% Plant
a = 10;
A = [0 a;-a 0];
B = eye(2);
C = [1 a;-a 1];
D = 0;
P = ss(A,B,C,D);

% Prefilter
Kf = [1 -a;a 1]/(1+a^2);

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

GM = 1.05;
u1 = umargin('u1',GM)
u1 = 
  Uncertain gain/phase "u1" with relative gain change in [0.952,1.05] and phase change of ±2.79 degrees.

umargin преобразует заданное изменение коэффициента усиления ± 5% в дисковую модель неопределенности, которая также допускает фазовые изменения около ± 3 °. Использоватьplot визуализировать диск и моделируемый диапазон усиления и изменения фазы на каждом входе и выходе.

plot(u1)

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.

Чтобы получить наилучшие оценки влияния усиления и фазовой неопределенности на производительность системы, необходимо, чтобы усиление и фаза варьировались независимо в каждом из четырех местоположений. Поэтому создайте дополнительные umargin блоки для каждого входа и выхода установки с одинаковой характеристикой усиления.

u2 = umargin('u2',GM);
y1 = umargin('y1',GM);
y2 = umargin('y2',GM);

Построение модели с замкнутым контуром, вставка u1 и u2 на заводских вводах, и y1 и y2 на выходе из установки. Для этого используйте blkdiag объединиться u1 и u2 в систему с двумя входами и двумя выходами вида [u1,0;0,u2]. Создать подобную комбинацию y1 и y2. Затем соедините их с заводом и используйте feedback команда на закрытие двухканального контура обратной связи.

Fu = blkdiag(u1,u2);
Fy = blkdiag(y1,y2);
L = Fy*P*Fu;    
Tunc = feedback(L,eye(2))*Kf
Tunc =

  Uncertain continuous-time state-space model with 2 outputs, 2 inputs, 2 states.
  The model uncertainty consists of the following blocks:
    u1: Uncertain gain/phase, gain × [0.952,1.05], phase ± 2.79 deg, 1 occurrences
    u2: Uncertain gain/phase, gain × [0.952,1.05], phase ± 2.79 deg, 1 occurrences
    y1: Uncertain gain/phase, gain × [0.952,1.05], phase ± 2.79 deg, 1 occurrences
    y2: Uncertain gain/phase, gain × [0.952,1.05], phase ± 2.79 deg, 1 occurrences

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

Проверьте влияние этих изменений на реакцию системы.

rng(1)  % for reproducibility
figure
step(Tunc,Tunc.NominalValue,10)

Figure contains 4 axes. Axes 1 with title From: In(1) contains 22 objects of type line. These objects represent Tunc, untitled1. Axes 2 contains 22 objects of type line. These objects represent Tunc, untitled1. Axes 3 with title From: In(2) contains 22 objects of type line. These objects represent Tunc, untitled1. Axes 4 contains 22 objects of type line. These objects represent Tunc, untitled1.

Эти небольшие неопределенности оказывают значительное влияние на производительность системы, иногда даже изменяя признак реакции. Анализ надежности с помощью robstab показывает, что только несколько большая вариация приводит к нестабильной системе с замкнутым контуром.

stabmarg = robstab(Tunc)
stabmarg = struct with fields:
           LowerBound: 1.0210
           UpperBound: 1.0231
    CriticalFrequency: 1.0000e-04

Требование, что система с замкнутым контуром устойчива к определенной величине усиления и фазовой неопределенности, эквивалентно утверждению, что система имеет такую величину усиления и фазовый запас. Таким образом, можно использовать umargin блок для проверки усиления и фазовых полей системы, которая также требует устойчивости к другим типам неопределенности. Для этого запишите требуемые поля на диске в umargin блок и использовать robstab для проверки надежной стабильности против всех неопределенностей, смоделированных в системе.

Рассмотрим следующую замкнутую систему с неопределенностью параметров.

k = ureal('k',10,'Percent',40);
G = tf(18,[1 k k]);
C = pid(1,2);
CL = feedback(G*C,1);

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

stabmarg = robstab(CL)
stabmarg = struct with fields:
           LowerBound: 2.0458
           UpperBound: 2.0458
    CriticalFrequency: 4.4517

Предположим, что также требуется, чтобы система допускала увеличение или уменьшение коэффициента усиления до 50% и изменение фазы до ± 20 ° на входе в установку. Для проверки наличия этих полей в системе создайте umargin блок, моделирующий эти вариации и вставляющий их в модель с замкнутым контуром.

DGM = getDGM(1.5,20,'tight');
F = umargin('F');
Gf = G*F;
CLf = feedback(Gf*C,1);

stabmarg = robstab(CLf)
stabmarg = struct with fields:
           LowerBound: 1.0940
           UpperBound: 1.0962
    CriticalFrequency: 3.9049

Этот результат показывает, что в дополнение к надежной стабильности по отношению к изменению параметров, контур обратной связи также поддерживает желаемый коэффициент усиления и фазовые поля для всех смоделированных значений k (фактически примерно на 9% больше, чем смоделированный диапазон k).

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

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

Используйте завод из примера "Формирование петель с mixsyn"на mixsyn справочная страница, представляющая некоторую неопределенность в расположении системных полюсов и нуля.

a = ureal('a',1,'PlusMinus',[-0.1,0.1]);
s = zpk('s');
G = (s-a)/(s+a)^2;

Целью является обеспечение стабильности по замкнутому контуру от усиления и изменения фазы на входах и выходах установки в полном диапазоне изменения параметров, смоделированных в установке. G. Для этого используйте целевой коэффициент усиления и поля фазы для создания umargin неопределенные блоки и прикрепить их к установке. В этом примере предположим, что требуется устойчивость к изменениям коэффициента усиления 1,5 в любом направлении или фазовым изменениям ± 20 °.

DGM = getDGM(1.5,20,'tight');
Fin = umargin('Fin',DGM);
Fout = umargin('Fout',DGM);
Gmarg = Fout*G*Fin
Gmarg =

  Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 7 states.
  The model uncertainty consists of the following blocks:
    Fin: Uncertain gain/phase, gain × [0.667,1.5], phase ± 22.6 deg, 1 occurrences
    Fout: Uncertain gain/phase, gain × [0.667,1.5], phase ± 22.6 deg, 1 occurrences
    a: Uncertain real, nominal = 1, variability = [-0.1,0.1], 3 occurrences

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

Для настройки с помощью musyn, вы дополняете завод функциями взвешивания, которые обеспечивают выполнение требований к производительности, таких как отслеживание ссылок, отклонение возмущений и надежность. Для этого примера используйте функции взвешивания, описанные в примере на mixsyn справочная страница.

W1 = makeweight(10,[1 0.1],0.01);
W2 = makeweight(0.1,[32 0.32],1);
W3 = makeweight(0.01,[1 0.1],10);

Gaug = augw(Gmarg,W1,W2,W3);

Использовать musyn для проектирования контроллера.

[K,gam] = musyn(Gaug,1,1);
D-K ITERATION SUMMARY:
-----------------------------------------------------------------
                       Robust performance               Fit order
-----------------------------------------------------------------
  Iter         K Step       Peak MU       D Fit             D
    1           7.753        1.527        1.539            24
    2           1.131        1.084        1.091            40
    3               1       0.9964        1.004            38
    4           0.997       0.9945        1.003            44
    5          0.9995       0.9939        1.001            38

Best achieved robust performance: 0.994

musyn достигается надежная производительность около 1, что говорит о том, что коэффициент усиления по замкнутому контуру остается ниже 1 для всего диапазона неопределенности, определенного в установке. Чтобы подтвердить, что результирующий контроллер достигает целевого коэффициента усиления и запаса по фазе, используйте wcdiskmargin проверить наихудший коэффициент усиления и фазовые поля системы на предмет одновременных изменений на входах и выходах установки. Использовать завод G который содержит неопределенность параметра, но не неопределенность усиления и фазы.

MMIO = wcdiskmargin(G,K)
MMIO = struct with fields:
           GainMargin: [0.6027 1.6593]
          PhaseMargin: [-27.8480 27.8480]
           DiskMargin: 0.4958
           LowerBound: 0.4958
           UpperBound: 0.4968
    CriticalFrequency: 0.9146
    WorstPerturbation: [1x1 struct]

Наихудший запас усиления на основе диска, равный [0,6 1,66], немного больше целевого предела [0,66 1,5], а наихудший запас фазы ± 28 ° также лучше требуемого предела ± 20 °. Таким образом, контроллерK обеспечивает требуемый запас для всего диапазона неопределенностей параметров установки G.

Пример использования umargin блоки с musyn для обеспечения усиления и фазовых полей в контуре управления MIMO см. раздел Надежный контроллер для вращающегося спутника.

Алгоритмы

umargin моделирует изменения усиления и фазы в отдельном канале обратной связи в качестве частотно-зависимого мультипликативного коэффициента F (s), умножающего номинальный отклик с разомкнутым контуром L (s), так что возмущенный отклик равен L (s) F (s). Коэффициент F (ы) параметризуется следующим образом:

F (s) = 1 + α [(1

В этой модели

  • δ (s) - динамическая неопределенность, ограниченная коэффициентом усиления, нормализованная таким образом, что она всегда изменяется в пределах единичного диска (||δ||∞ < 1).

  • ɑ устанавливает величину усиления и изменения фазы, смоделированную F. Для фиксированного λ параметр ɑ управляет размером диска. Для ɑ = 0 мультипликативный коэффициент равен 1, что соответствует номинальному L.

  • , называемый перекосом, смещает смоделированную неопределенность в сторону увеличения или уменьшения усиления.

Коэффициент F принимает значения на диске, центрированном по реальной оси и содержащем номинальное значение F = 1. Диск характеризуется своим перехватом DGM = [gmin,gmax] с действительной осью. gmin < 1 и gmin > 1 - минимальное и максимальное относительные изменения коэффициента усиления, смоделированные по F, на номинальной фазе. Фазовая неопределенность, смоделированная F, представляет собой диапазон DPM = [pmin,pmax] фазовых значений при номинальном усилении (| F | = 1). Например, на следующем графике справа показан диск F, пересекающий действительную ось в интервале [0.71.1.4]. В левой части показано, что этот диск моделирует вариацию усиления ± 3 дБ и вариацию фазы ± 19 °.

F = umargin('F',1.4125)
plot(F)

Multiplicative disk and range of gain and phase variations for umargin block modeling gain variation of plus or minus 3 dB and phase variation of plus or minus 19 degrees.

При создании umargin блок, степень неопределенности задается путем указания DGM. Использовать getDGM для преобразования определенных величин усиления и фазовых изменений в подходящую DGM диапазон, который фиксирует эти вариации. Для получения дополнительной информации о модели неопределенности, используемой umargin, см. Анализ стабильности с использованием полей диска.

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2020b

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