musynperf

Устойчивый H производительность оптимизирован musyn

Описание

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

пример

[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 (), то

γ=max Δmax ωσmax(CLP(jω)).

Структура output 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 сгенерировать вектор-строку с логарифмически расположенными с интервалами значениями частоты.

Задайте частоты в модулях rad/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, в rad/TimeUnit, где TimeUnit TimeUnit свойство clp.

Используйте 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 isnan.

Введенный в R2019b