TuningGoal.WeightedGain class

Пакет: TuningGoal

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

Описание

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

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

Конструкция

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

||<reservedrangesplaceholder5>(<reservedrangesplaceholder4>)<reservedrangesplaceholder3>(<reservedrangesplaceholder2>)<reservedrangesplaceholder1>(<reservedrangesplaceholder0>)||∞ <1.

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

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

inputname

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

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

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

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

    • Любая точка линейного анализа в slTuner (Simulink Control Design) интерфейс, сопоставленный с моделью Simulink. Использовать addPoint (Simulink Control Design), чтобы добавить точки анализа к slTuner интерфейс. Использовать getPoints (Simulink Control Design), чтобы получить список точек анализа, доступных в 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 Control Design) интерфейс, сопоставленный с моделью Simulink. Использовать addPoint (Simulink Control Design), чтобы добавить точки анализа к slTuner интерфейс. Использовать getPoints (Simulink Control Design), чтобы получить список точек анализа, доступных в 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) от заданного входа к выходу удовлетворяет неравенству:

||<reservedrangesplaceholder5>(<reservedrangesplaceholder4>)<reservedrangesplaceholder3>(<reservedrangesplaceholder2>)<reservedrangesplaceholder1>(<reservedrangesplaceholder0>)||∞ <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 должен включать два сигнала. Скалярные значения, однако, автоматически расширяются на любую входную или выходную размерность.

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

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

Свойства

WL

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

WR

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

Focus

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

Установите Focus свойство для ограничения применения цели настройки к конкретной полосе частот. Выразите это значение в частотных модулях системной модели управления, которую вы настраиваете (рад/ 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 Control Design) интерфейс, сопоставленный с моделью Simulink. Использовать addPoint (Simulink Control Design), чтобы добавить точки анализа и открытия цикла к slTuner интерфейс. Использовать getPoints (Simulink Control Design), чтобы получить список точек анализа, доступных в 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 для этой цели настройки. The 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

См. также

| | | | (Simulink Control Design) | (Simulink Control Design) | (Simulink Control Design)

Введенный в R2016a