mixsyn

Смешанная чувствительность H метод синтеза для устойчивого формирующего цикл управления проекта

Описание

пример

[K,CL,gamma,info] = mixsyn(G,W1,W2,W3) вычисляет контроллер, который минимизирует H норма взвешенной передаточной функции с обратной связью

M(s)=[W1SW2KSW3T],

где S = (I + GK) –1 и T = (IS) является дополнительной чувствительностью следующей системы управления.

Вы выбираете функции взвешивания W1,W2,W3 сформировать частотные характеристики для отслеживания и подавления помех, усилия контроллера, и шумоподавления и робастности, соответственно. Для получения дополнительной информации о том, как выбрать функции взвешивания, смотрите, что Цикл Смешанной Чувствительности Формирует.

mixsyn вычисляет контроллер K это дает к минимуму || M (s) || , который возвращен как gamma. Для возвращенного контроллера K,

Sγ|W11|KSγ|W21|Tγ|W31|.

[K,CL,gamma] = mixsyn(G,W1,W2,W3,gamTry) вычисляет контроллер для целевого уровня производительности gamTry. Определение gamTry может быть полезным, когда оптимальная производительность контроллера лучше, чем вам нужно для вашего приложения. В этом случае меньше оптимальный контроллер может иметь меньшие усиления и лучше тренироваться численно. Когда W1,W2,W3 получите желаемые пределы на усилениях S, KS, и T, используйте gamtry = 1, чтобы только осуществить те пределы.

Если gamTry не достижимо, mixsyn возвращается для K и CL, и Inf для gamma.

[K,CL,gamma] = mixsyn(G,W1,W2,W3,gamRange) ищет область значений gamRange для лучшей достижимой производительности. Укажите диапазон с вектором формы [gmin,gmax]. Ограничение поисковой области значений может ускорить расчет путем сокращения количества итераций, выполняемых mixsyn протестировать различные уровни производительности.

[K,CL,gamma] = mixsyn(___,opts) задает дополнительные опции расчета. Создать opts, используйте hinfsynOptions. Задайте opts после всех других входных параметров.

[K,CL,gamma,info] = mixsyn(___) возвращает структуру, содержащую дополнительную информацию о H расчет синтеза. Можно использовать этот аргумент с любым из предыдущих синтаксисов.

Примеры

свернуть все

Используйте mixsyn для чувствительности и дополнительного формирования цикла чувствительности. Создайте модель объекта управления и функции взвешивания что:

  • Сформируйте функцию чувствительности для отслеживания уставки и подавления помех (W1 = 1/S большой в пропускной способности управления).

  • Сформируйте дополнительную чувствительность для робастности и шумового затухания (W3 = 1/T большой вне пропускной способности управления).

  • Ограничьте усилие по управлению (W2 = 1/KS большой в пропускной способности управления).

(Для получения дополнительной информации о выборе функций взвешивания, смотрите, что Цикл Смешанной Чувствительности Формирует.)

s = zpk('s');
G = (s-1)/(s+1)^2;

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

bodemag(W1,W2,W3)

Спроектируйте контроллер.

[K,CL,gamma] = mixsyn(G,W1,W2,W3);

mixsyn формирует сингулярные значения функции чувствительности S, дополнительная чувствительность функционирует T, и усилие по управлению R = K*S. Исследуйте результаты синтеза и формы этих передаточных функций.

S = feedback(1,G*K);
KS = K*S;
T = 1-S;
sigma(S,'b',KS,'r',T,'g',gamma/W1,'b-.',ss(gamma/W2),'r-.',gamma/W3,'g-.',{1e-3,1e3})
legend('S','KS','T','GAM/W1','GAM/W2','GAM/W3','Location','SouthWest')
grid

Входные параметры

свернуть все

Объект, заданный как модель динамической системы, такая как пространство состояний (ss) модель. G может быть любая модель LTI. mixsyn принимает следующую управляющую структуру.

Если G обобщенная модель в пространстве состояний с неопределенными или настраиваемыми блоками системы управления, затем mixsyn использует номинальную стоимость или текущее значение тех элементов.

Функции взвешивания, заданные как модели динамической системы. Выберите функции взвешивания W1,W2,W3 сформировать частотные характеристики для отслеживания и подавления помех, усилия контроллера, и шумоподавления и робастности. Обычно:

  • Для хорошего отслеживания уставки и производительности подавления помех, выберите W1 большой в пропускной способности управления, чтобы получить маленький S.

  • Для робастности и шумового затухания, выберите W3 большой вне пропускной способности управления, чтобы получить маленький T.

  • Чтобы ограничить усилие по управлению в конкретном диапазоне частот, увеличьте величину W 2 в этом диапазоне частот, чтобы получить маленький KS.

Если один из весов не нужен, установите его на []. Например, если вы не хотите ограничивать усилие по управлению, используйте W2 = [].

Используйте makeweight создать функции взвешивания с желаемыми профилями усиления. Для получения дополнительной информации о выборе функций взвешивания, смотрите, что Цикл Смешанной Чувствительности Формирует.

Если G имеет входные параметры NU и NY выходные параметры, затем W1,W2,W3 должна быть или SISO или квадратные системы размера NY, NU и NY, соответственно.

Поскольку S + T = I, mixsyn не может сделать и S и T маленькими (меньше чем 0 дБ) в том же частотном диапазоне. Поэтому, когда вы задаете формирование цикла for весов, должен быть диапазон частот в который оба W1 и W3 ниже 0 дБ.

Целевой уровень производительности, заданный как положительная скалярная величина. mixsyn попытки вычислить контроллер, таким образом, что H взвешенной системы с обратной связью M (s) не превышает gamTry. Если этот уровень производительности достижим, то у возвращенного контроллера есть gammagamTry. Если gamTry не достижимо, mixsyn возвращает пустой контроллер.

Область значений производительности для поиска, заданного как вектор формы [gmin,gmax]. mixsyn команда тестирует только уровни производительности в той области значений. Это возвращает контроллер с производительностью:

  • gammagmin, когда gmin достижимо.

  • gmin <gamma <gmax, когда gmax достижимо и но gmin не.

  • gamma = Inf когда gmax не достижимо. В этом случае, mixsyn возвращается для K и CL.

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

Дополнительные опции для расчета, заданного как, опции возражают, что вы создаете использование hinfsynOptions.

Используйте opts задавать опции для базового hinfsyn расчет (см. Алгоритмы). Доступные параметры включают:

  • Отобразите прогресс алгоритма в командной строке.

  • Выключите автоматическое масштабирование и регуляризацию.

  • Задайте метод оптимизации.

Для получения информации обо всех опциях смотрите hinfsynOptions.

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

свернуть все

Контроллер, возвращенный как пространство состояний (ss) объект модели или [].

Если вы предоставляете gamTry или gamRange и заданные значения производительности не достижимы, затем K = [].

Увеличенная передаточная функция с обратной связью, возвращенная как пространство состояний (ss) объект модели или []. Увеличенной передаточной функцией с обратной связью дают

M(s)=[W1SW2KSW3T],

где S = (I + GK) –1 и T = (IS) является дополнительной чувствительностью невзвешенной системы управления. Смотрите, что Цикл Смешанной Чувствительности Формирует.

Возвращенный уровень производительности gamma H норма CL.

Если вы предоставляете gamTry или gamRange и заданные уровни производительности не достижимы, затем CL = [].

Производительность контроллера, возвращенная как неотрицательное скалярное значение или Inf. Это значение является достигнутым использованием производительности возвращенного контроллера K, и H норма CL (см. hinfnorm). Если вы не обеспечиваете уровни производительности, чтобы протестировать использование gamTry или gamRange, затем gamma лучший достижимый уровень производительности.

Если вы обеспечиваете gamTry или gamRange, затем gamma фактический уровень производительности, достигнутый контроллером, вычисленным для лучшего передающего уровня производительности что hinfsyn попытки. Если заданные уровни производительности не достижимы, то gamma = Inf.

Дополнительные данные о синтезе, возвращенные как структура или [] (если заданный уровень производительности не достижим). информация содержит данные о базовом hinfsyn расчет используется mixsyn минимизировать H норма передаточной функции с обратной связью M (s). Для получения дополнительной информации о значении полей info, смотрите info выходной аргумент hinfsyn.

Алгоритмы

mixsyn использует ваши функции взвешивания, чтобы сгенерировать увеличенный объект P = augw(G,W1,W2,W3). Это затем вызывает hinfsyn найти контроллер, который минимизирует H норма передаточной функции с обратной связью M (s) = LFT (P, K). Для получения дополнительной информации смотрите, что Цикл Смешанной Чувствительности Формирует.

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

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

Не рекомендуемый запуск в R2019b

Поведение изменяется в R2019b

Представлено до R2006a