TuningGoal.WeightedGain class

Пакет: 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