exponenta event banner

musynperf

Надежная производительность H∞, оптимизированная musyn

Описание

Надежная H∞ производительность неопределенной системы является наименьшим значением γ, так что коэффициент усиления ввода-вывода системы остается ниже γ для всей смоделированной неопределенности до размера 1/γ (в нормализованных единицах). musyn функция синтезирует надежный контроллер путем минимизации этой величины для системы с замкнутым контуром по всем возможным вариантам контроллера. musynperf вычисляет это количество для указанной неопределенной модели. Подробное обсуждение надежной производительности H∞ и способа ее вычисления см. в разделе Показатель надежной производительности для синтеза Mu.

пример

[gamma,wcu] = musynperf(clp) вычисляет надежную производительность H∞ для неопределенной системы с замкнутым контуром clp. Надежная производительность H∞ - это наименьшее значение γ, для которого пиковое усиление ввода-вывода остается ниже γ для всей смоделированной неопределенности до 1/γ, в нормированных единицах. Например, значение γ = 1,125 подразумевает следующее:

  • Коэффициент усиления ввода-вывода clp остается менее 1,125 до тех пор, пока неопределенные элементы остаются в пределах 0,8 нормированных единиц их номинальных значений. Другими словами, для неопределенных значений элементов в пределах 0,8 нормированных единиц наибольшая возможная норма H∞ составляет 1,125.

  • Для некоторого возмущения размера 0,8 нормированных единиц пиковый коэффициент усиления ввода-вывода равен 1,125.

Пиковое усиление ввода-вывода - это максимальное усиление ввода-вывода на всех входах, которое также является пиком наибольшего сингулярного значения на всех частотах и неопределенностях. Другими словами, если Δ представляет все возможные значения неопределенных параметров в функции передачи с обратной связью CLP (jλ), то

γ = maxΔmax,

Структура вывода gamma содержит верхние и нижние границы по производительности надежного H∞ и критической частоте, при которой коэффициент усиления ввода-вывода составляет clp достигает нижней границы. Структура wcu содержит неопределенные значения элементов, которые приводят пиковое усиление ввода-вывода к нижней границе.

[gamma,wcu] = musynperf(clp,w) вычисляет надежную производительность H∞ на частотах, указанных w.

  • Если w - массив ячеек формы, {wmin,wmax}, то musynperf ограничивает вычисление интервалом между wmin и wmax.

  • Если w является вектором частот, то musynperf вычисляет производительность H∞ только на указанных частотах.

[gamma,wcu] = musynperf(___,opts) задает дополнительные параметры для вычисления. Использовать robOptions создать opts. Этот синтаксис можно использовать с любой из предыдущих комбинаций входных аргументов.

[gamma,wcu,info] = musynperf(___) возвращает структуру с дополнительной информацией о H∞ значениях производительности и возмущениях, которые приводят коэффициент усиления ввода-вывода к γ. Посмотрите info для получения подробной информации об этой структуре. Этот синтаксис можно использовать с любой из предыдущих комбинаций входных аргументов.

Примеры

свернуть все

При использовании musyn для синтеза неструктурированного надежного контроллера получаемый в результате контроллер часто имеет более высокий порядок, чем это необходимо для достижения желаемой надежной производительности. Одним из способов решения этой проблемы является сокращение модели с использованием musynperf для проверки надежной работы контроллера уменьшенного порядка.

Создайте неопределенную модель системы управления, описанную в примере «Надежная настройка контроллера фиксированной структуры» на musyn справочная страница.

G = tf(1,[1 -1]);
Wu = 0.25*tf([1/2 1],[1/32 1]); 
InputUnc = ultidyn('InputUnc',[1 1]);
Gpert = G*(1+InputUnc*Wu);
Gpert.InputName = 'u';
Gpert.OutputName = 'y1';

Wp = makeweight(100,[1 0.5],0.25);
Wp.InputName = 'y';
Wp.OutputName = 'e';

SumD = sumblk('y = y1 + d');
inputs = {'d','u'};
outputs = {'e','y'};
P = connect(Gpert,Wp,SumD,inputs,outputs); 

[K,CLperf] = musyn(P,1,1); 
D-K ITERATION SUMMARY:
-----------------------------------------------------------------
                       Robust performance               Fit order
-----------------------------------------------------------------
  Iter         K Step       Peak MU       D Fit             D
    1           1.345        1.344         1.36             8
    2          0.7923       0.7904       0.7961             4
    3          0.6789       0.6789       0.6857            10
    4          0.6572       0.6572       0.6598             8
    5          0.6538       0.6538       0.6542             8
    6          0.6532       0.6532       0.6533             8

Best achieved robust performance: 0.653
N = order(K)
N = 11

musyn возвращает контроллер 11-го порядка и надежную производительность H∞ CLperf системы с замкнутым контуром, использующей этот контроллер. Наилучшая достигаемая надежная производительность около 0,65 является хорошей, но порядок контроллеров высок. Вычислите контроллеры сокращенного порядка для заказов в диапазоне от 1 до полного заказа.

Kred = reduce(K,1:N);

Найти контроллер самого низкого порядка Klow с производительностью не хуже 1,05 *CLperfили ухудшение на 5% по сравнению с контроллером полного порядка.

for k=1:N
   Klow = Kred(:,:,k);
   CL = lft(P,Klow);
   [gamma,~] = musynperf(CL);
   if gamma.UpperBound < 1.05*CLperf
      break
   end
end 
order(Klow)
ans = 4

Для проверки контроллера уменьшенного порядка проверьте надежность H∞ производительности системы с помощью упрощенного контроллера с системой с помощью контроллера полного порядка.

CLPlow = lft(P,Klow);
[gammalow,~] = musynperf(CLPlow);
gammalow.UpperBound
ans = 0.6613

Контроллер четвертого порядка обеспечивает очень аналогичную надежную производительность H∞ для контроллера 11-го порядка, возвращаемого musyn.

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

свернуть все

Неопределенная система с замкнутым контуром, указанная как uss, ufrd, genss, или genfrd модель, которая содержит неопределенные элементы. Для genss или genfrd модели, musynperf использует текущее значение любых настраиваемых блоков и сворачивает их в известную (не неопределенную) часть модели.

Частоты, на которых вычисляется надежная производительность H∞, заданная как массив ячеек {wmin,wmax} или как вектор частотных значений.

  • Если w - массив ячеек формы, {wmin,wmax}, то функция вычисляет производительность H∞ на частотах в диапазоне между wmin и wmax.

  • Если w является вектором частот, то функция вычисляет производительность H∞ на каждой заданной частоте. Например, использовать logspace для формирования вектора строки с логарифмически разнесенными значениями частоты.

Указать частоты в единицах рад/TimeUnit, где TimeUnit является TimeUnit свойство модели.

Варианты расчета надежной производительности H∞, указанные как robOptions объект. Использовать robOptions для создания объекта опций. Доступные параметры включают в себя параметры, которые позволяют:

  • Извлеките зависящие от частоты значения производительности H∞.

  • Проверьте чувствительность характеристик H∞ к каждому неопределенному элементу.

  • Улучшение результатов расчета путем установки определенных параметров для андерлаинга mussv расчет. В частности, установка опции 'MussvOptions' кому 'mN' может уменьшить зазор между нижней границей и верхней границей. N - количество перезапусков.

Дополнительные сведения обо всех доступных параметрах см. в разделе robOptions.

Пример: robOptions('Sensitivity','on','MussvOptions','m3')

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

свернуть все

Надежная производительность H∞ и критическая частота, возвращаемая в виде структуры, содержащей следующие поля:

ОбластьОписание

LowerBound

Нижняя граница фактической производительности надежного H∞ γ, возвращаемая как скалярное значение. Точное значение γ гарантированно не меньше, чем LowerBound. Другими словами, некоторые неопределенные значения элементов величины 1/LowerBound существуют, для которых коэффициент усиления ввода-вывода clp достигает LowerBound. Функция возвращает один такой экземпляр в wcu.

UpperBound

Верхняя граница фактической производительности надежного H∞, возвращаемая как скалярное значение. Точное значение гарантированно должно быть не больше UpperBound. Другими словами, для всех смоделированных неопределенностей с нормированной величиной до 1/UpperBound, пиковое усиление ввода-вывода clp меньше, чем UpperBound.

CriticalFrequency

Частота, при которой коэффициент усиления ввода-вывода достигает LowerBound, в рад/TimeUnit, где TimeUnit является TimeUnit имущество clp.

Использовать uscale или normalized2actual для преобразования нормированных значений неопределенности 1/LowerBound или 1/UpperBound к фактическим отклонениям от номинальных значений.

Возмущения, приводящие к увеличению коэффициента усиления ввода-вывода до gamma.LowerBound, возвращается как структура, поля которой являются именами неопределенных элементов clp. Каждое поле содержит фактическое значение соответствующего неопределенного элемента. Например, если clp включает неопределенную матрицу M и неопределенная динамика SISO delta, то wcu.M является числовой матрицей и wcu.delta является моделью пространства состояний SISO.

Использовать usubs(clp,wcu) заменить эти значения неопределенными элементами в clp и получают соответствующую динамическую систему. Эта система имеет пиковый коэффициент усиления, равный gamma.LowerBound.

Использовать actual2normalized для преобразования этих фактических значений неопределенности в нормированные единицы измерения, в которых 1/gamma.LowerBound или 1/gamma.UpperBound выражены.

Дополнительная информация о значениях γ, возвращаемая в виде структуры со следующими полями.

ОбластьОписание

Frequency

Точки частоты, в которых musynperf возвращает значения γ, возвращаемые в виде вектора.

  • Если 'VaryFrequency' вариант robOptions является 'off', то info.Frequency критическая частота, частота, на которой достигает выгода ввода/вывода gamma.LowerBound. Если наименьшая нижняя граница и наименьшая верхняя граница на γ встречаются на разных частотах, то info.Frequency - вектор, содержащий эти две частоты.

  • Если 'VaryFrequency' вариант robOptions является 'on', то info.Frequency содержит частоты, выбранные musynperf. Эти частоты гарантированно включают в себя частоту, на которой происходит пиковое усиление.

  • Если задан вектор частот w при котором вычислить γ, затем info.Frequency = w. При задании частотного вектора эти частоты не обязательно включают частоту, на которой происходит пиковое усиление.

'VaryFrequency' параметр имеет значение только для uss и genss модели. musynperf игнорирует опцию для ufrd и genfrd модели.

Bounds

Нижняя и верхняя границы фактических значений γ, возвращаемых в виде массива. info.Bounds(:,1) содержит нижнюю границу на каждой соответствующей частоте в info.Frequency, и info.Bounds(:,2) содержит соответствующие верхние границы.

WorstPerturbation

Наименьшие возмущения в каждой точке частоты в info.Frequency, возвращен в виде массива структуры. Поля info.WorstPerturbation являются именами неопределенных элементов в clp. Каждое поле содержит значение соответствующего элемента, который приводит коэффициент усиления ввода-вывода к соответствующей нижней границе на каждой частоте. Например, если clp включает неопределенный параметр p и неопределенная динамика SISO delta, то info.WorstPerturbation.p - совокупность числовых значений и info.WorstPerturbation.delta - совокупность моделей состояния и пространства SISO.

Sensitivity

Чувствительность γ к каждому неопределенному элементу, возвращаемому как структура, когда 'Sensitivity' вариант robOptions является 'on'. Поля info.Sensitivity являются именами неопределенных элементов в clp. Каждое поле содержит процент, который измеряет, насколько неопределенность в соответствующем элементе влияет на γ. Например, если info.Sensitivity.p равно 50, то данное дробное изменение в диапазоне неопределенностей p вызывает вдвое меньше дробного изменения в γ.

Если 'Sensitivity' вариант robOptions является 'off' (настройка по умолчанию), то info.Sensitivity является NaN.

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