TuningGoal. Класс WeightedGain

Пакет: TuningGoal

Взвешенное частотой ограничение усиления для настройки системы управления

Описание

Используйте TuningGoal.WeightedGain, чтобы ограничить взвешенное усиление от заданных входных параметров до выходных параметров. Взвешенное усиление является максимумом через частоту усиления от входа, чтобы вывести, умноженный на функции взвешивания, которые вы задаете. Можно использовать настраивающую цель TuningGoal.WeightedGain для системы управления, настраивающейся с настраивающимися командами, такими как systune или looptune.

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

Конструкция

Req = TuningGoal.WeightedGain(inputname,outputname,WL,WR) создает настраивающуюся цель, которая указывает, что передаточная функция с обратной связью, H (s), от заданного входа, чтобы вывести удовлетворяет требование:

|| WL (s) H (s) WR (s) || <1.

Обозначение || • || обозначает максимальное усиление через частоту (H норма).

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

inputname

Входные сигналы для настраивающейся цели, заданной как вектор символов или, для нескольких - входные настраивающие цели, массив ячеек из символьных векторов.

  • Если вы используете настраивающуюся цель настроить модель Simulink® системы управления, то inputname может включать:

    • Любой образцовый вход.

    • Любая линейная аналитическая точка отмечена в модели.

    • Любой линейный анализ указывает в интерфейсе slTuner, сопоставленном с моделью Simulink. Используйте addPoint, чтобы добавить, что анализ указывает на интерфейс slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе slTuner к вашей модели.

    Например, предположите, что интерфейс slTuner содержит аналитические точки u1 и u2. Используйте 'u1', чтобы определять ту точку как входной сигнал при создании настраивающихся целей. Используйте {'u1','u2'}, чтобы определять двухканальный вход.

  • Если вы используете настраивающуюся цель настроить обобщенную модель (genss) пространства состояний системы управления, то inputname может включать:

    • Любой вход модели genss

    • Любое местоположение AnalysisPoint в модели системы управления

    Например, если вы настраиваете модель системы управления, T, затем inputname может быть любым входным именем в T.InputName. Кроме того, если T содержит блок AnalysisPoint с местоположением под названием AP_u, то inputname может включать 'AP_u'. Используйте getPoints, чтобы получить список аналитических точек, доступных в модели genss.

    Если inputname является местоположением AnalysisPoint обобщенной модели, входной сигнал для настраивающейся цели является подразумеваемым входом, сопоставленным с блоком AnalysisPoint:

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

outputname

Выходные сигналы для настраивающейся цели, заданной как вектор символов или, для нескольких - выходные настраивающие цели, массив ячеек из символьных векторов.

  • Если вы используете настраивающуюся цель настроить модель Simulink системы управления, то outputname может включать:

    • Любой образцовый вывод.

    • Любая линейная аналитическая точка отмечена в модели.

    • Любой линейный анализ указывает в интерфейсе slTuner, сопоставленном с моделью Simulink. Используйте addPoint, чтобы добавить, что анализ указывает на интерфейс slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе slTuner к вашей модели.

    Например, предположите, что интерфейс slTuner содержит аналитические точки y1 и y2. Используйте 'y1', чтобы определять ту точку как выходной сигнал при создании настраивающихся целей. Используйте {'y1','y2'}, чтобы определять двухканальный вывод.

  • Если вы используете настраивающуюся цель настроить обобщенную модель (genss) пространства состояний системы управления, то outputname может включать:

    • Любой вывод модели genss

    • Любое местоположение AnalysisPoint в модели системы управления

    Например, если вы настраиваете модель системы управления, T, затем outputname может быть любым выходным именем в T.OutputName. Кроме того, если T содержит блок AnalysisPoint с местоположением под названием AP_u, то outputname может включать 'AP_u'. Используйте getPoints, чтобы получить список аналитических точек, доступных в модели genss.

    Если outputname является местоположением AnalysisPoint обобщенной модели, выходным сигналом для настраивающейся цели является подразумеваемый вывод, сопоставленный с блоком AnalysisPoint:

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

WL,WR

Функции взвешивания частоты, заданные как скаляры, матрицы, или SISO или MIMO числовые модели LTI.

Функции WL и WR обеспечивают веса для настраивающейся цели. Настраивающаяся цель гарантирует, что усиление H (s) от заданного входа, чтобы вывести удовлетворяет неравенство:

|| WL (s) H (s) WR (s) || <1.

WL обеспечивает взвешивание для выходных каналов H (s), и WR обеспечивает взвешивание для входных каналов. Можно задать скалярные веса или зависимое частотой взвешивание. Чтобы задать зависимое частотой взвешивание, используйте числовую модель LTI. Например:

WL = tf(1,[1 0.01]);
WR = 10;

Если вы задаете функции взвешивания MIMO, то inputname и outputname должны быть векторными сигналами. Размерности векторных сигналов должны быть таковы, что размерности H (s) соразмерны с размерностями WL и WR. Например, если вы задаете WR = diag([1 10]), затем inputname должен включать два сигнала. Скалярные значения, однако, автоматически расширяются до любой размерности ввода или вывода.

Если вы настраиваетесь в дискретное время (то есть, с помощью модели genss или интерфейса slTuner с ненулевым Ts), можно задать функции взвешивания как модели дискретного времени с тем же Ts. Если вы задаете функции взвешивания в непрерывное время, настраивающееся программное обеспечение дискретизирует их. Определение функций взвешивания в дискретное время дает вам больше контроля функциями взвешивания около частоты Найквиста.

Значение WL = [] или WR = [] интерпретировано как идентичность.

Свойства

WL

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

WR

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

Focus

Диапазон частот, в котором осуществляется настройка цели, задал как вектор - строка из формы [min,max].

Установите свойство Focus ограничить осуществление настраивающейся цели к конкретному диапазону частот. Выразите это значение в единицах частоты модели системы управления, которую вы настраиваете (rad/TimeUnit). Например, предположите, что Req является настраивающейся целью, которую вы хотите применить только между 1 и 100 рад/с. Чтобы ограничить настраивающуюся цель этой полосой, используйте следующую команду:

Req.Focus = [1,100];

Значение по умолчанию: [0,Inf] в течение непрерывного времени; [0,pi/Ts] в течение дискретного времени, где Ts является образцовым шагом расчета.

Stabilize

Требование устойчивости к динамике с обратной связью, заданной как 1 (true) или 0 (false).

По умолчанию TuningGoal.Gain налагает требование устойчивости к передаточной функции с обратной связью от заданных входных параметров до выходных параметров, в дополнение к требованию усиления. Если устойчивость не требуется или не может быть достигнута, установите Stabilize на false удалять требование устойчивости. Например, если ограничение усиления применяется к нестабильной передаточной функции разомкнутого цикла, установите Stabilize на false.

Значение по умолчанию: 1 (true)

Input

Имена входного сигнала, заданные как массив ячеек из символьных векторов, которые идентифицируют входные параметры передаточной функции, которую ограничивает настраивающаяся цель. Начальное значение свойства Input установлено входным параметром inputname, когда вы создаете настраивающуюся цель.

Output

Имена выходного сигнала, заданные как массив ячеек из символьных векторов, которые идентифицируют выходные параметры передаточной функции, которую ограничивает настраивающаяся цель. Начальное значение свойства Output установлено входным параметром outputname, когда вы создаете настраивающуюся цель.

Models

Модели, к которым настраивающаяся цель применяется, заданный как вектор индексов.

Используйте свойство Models при настройке массива моделей системы управления с systune, чтобы осуществить настраивающуюся цель для подмножества моделей в массиве. Например, предположите, что вы хотите применить настраивающуюся цель, Req, к вторым, третьим, и четвертым моделям в образцовом массиве передал systune. Чтобы ограничить осуществление настраивающейся цели, используйте следующую команду:

Req.Models = 2:4;

Когда Models = NaN, настраивающаяся цель применяется ко всем моделям.

Значение по умолчанию: NaN

Openings

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

Если вы используете настраивающуюся цель настроить модель Simulink системы управления, то Openings может включать любую линейную аналитическую точку, отмеченную в модель или любую линейную аналитическую точку в интерфейсе slTuner, сопоставленном с моделью Simulink. Используйте addPoint, чтобы добавить аналитические точки и открытия цикла к интерфейсу slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе slTuner к вашей модели.

Если вы используете настраивающуюся цель настроить обобщенную модель (genss) пространства состояний системы управления, то Openings может включать любое местоположение AnalysisPoint в модель системы управления. Используйте getPoints, чтобы получить список аналитических точек, доступных в модели genss.

Например, если Openings = {'u1','u2'}, то настраивающаяся цель оценена с циклами, открытыми при анализе, указывает u1 и u2.

Значение по умолчанию: {}

Name

Имя настраивающейся цели, заданной как вектор символов.

Например, если Req является настраивающейся целью:

Req.Name = 'LoopReq';

Значение по умолчанию: []

Примеры

свернуть все

Создайте настраивающееся целевое требование, которое ограничивает усиление системы SISO с обратной связью от ее входа, r, к ее выводу, y. Взвесьте усиление в его входе фактором 10 и при его выводе зависимым частотой весом 1/(s+0.01).

WL = tf(1,[1 0.01]);
WR = 10;
Req = TuningGoal.WeightedGain('r','y',WL,WR);

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

Можно затем использовать viewGoal, чтобы подтвердить настроенную систему управления против требования.

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

Создайте модель системы. Для этого задайте и соедините числовые модели объекта управления, G1 и G2, настраиваемые контроллеры C1 и C2. Кроме того, создайте и соедините блоки AnalysisPoint, которые отмечают интересные места для анализа или настройки, AP1 и AP2.

G1 = tf(10,[1 10]);
G2 = tf([1 2],[1 0.2 10]);
C1 = tunablePID('C','pi');
C2 = tunableGain('G',1);
AP1 = AnalysisPoint('AP1');
AP2 = AnalysisPoint('AP2');
T = feedback(G1*feedback(G2*C2,AP2)*C1,AP1);  
T.InputName = 'r';
T.OutputName = 'y';

Создайте настраивающееся требование, которое ограничивает усиление этой системы от r до y. Взвесьте усиление при выводе s/(s+0.5).

WL = tf([1 0],[1 0.5]);
Req = TuningGoal.WeightedGain('r','y',WL,[]);

Это требование эквивалентно Req = TuningGoal.Gain('r','y',1/WL). Однако для систем MIMO, можно использовать TuningGoal.WeightedGain, чтобы создать специфичные для канала коэффициенты, которых нельзя выразить как требования TuningGoal.Gain.

Укажите, что передаточная функция от r до y оценена с внешним циклом, открытым в целях настройки на это ограничение.

Req.Openings = 'AP1';

По умолчанию настройка использования TuningGoal.WeightedGain налагает требование устойчивости, а также требование усиления. Практически, в некоторых системах управления не возможно достигнуть стабильного внутреннего цикла. Когда это произойдет, удалите требование устойчивости для внутреннего цикла путем установки свойства Stabilize на false.

Req.Stabilize = false;

Настраивающийся алгоритм все еще налагает требование устойчивости к полной настроенной системе управления, но не к одному только внутреннему циклу.

Используйте systune, чтобы настроить свободные параметры T, чтобы удовлетворить настраивающееся требование, заданное Req. Можно затем подтвердить настроенную систему управления против требования с помощью команды viewGoal(Req,T).

Советы

  • Эта настраивающая цель налагает неявное ограничение устойчивости на взвешенную передаточную функцию с обратной связью от Input до Output, оцененного с циклами, открытыми в точках, идентифицированных в Openings. Движущими силами, затронутыми этим неявным ограничением, является stabilized dynamics для этой настраивающей цели. MinDecay и опции MaxRadius systuneOptions управляют границами на этих неявно ограниченных движущих силах. Если оптимизации не удается соответствовать границам по умолчанию, или если конфликт границ по умолчанию с другими требованиями, используйте systuneOptions, чтобы изменить эти значения по умолчанию.

Алгоритмы

Когда вы настраиваете систему управления с помощью TuningGoal, программное обеспечение преобразовывает настраивающуюся цель в нормированное скалярное значение f (x). x является вектором свободных (настраиваемых) параметров в системе управления. Программное обеспечение затем настраивает значения параметров, чтобы минимизировать f (x) или управлять f (x) ниже 1, если настраивающейся целью является трудное ограничение.

Для TuningGoal.WeightedGain f (x) дают:

f(x)=WLT(s,x)WR.

T (s, x) является передаточной функцией с обратной связью от Input до Output. обозначает H норма (см. getPeakGain).

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

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

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

Введенный в R2016a