TuningGoal.Gain class

Пакет: TuningGoal

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

Описание

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

Когда вы используете TuningGoal.Gain, программное обеспечение пытается настроить систему так, чтобы усиление от заданного входа до заданного выхода не превышало заданное значение. По умолчанию ограничение применяется с замкнутым кругом. Чтобы применить ограничение к ответу разомкнутого контура, используйте Openings свойство TuningGoal.Gain объект.

Можно использовать ограничение усиления для:

  • Осуществите конструктивные требования подавления помех через конкретную пару ввода/вывода, ограничив усиление быть меньше 1

  • Осуществите пользовательский уровень спада в конкретном диапазоне частот путем определения профиля усиления в той полосе

Конструкция

Req = TuningGoal.Gain(inputname,outputname,gainvalue) создает настраивающуюся цель, которая ограничивает усиление от inputname к outputname оставаться ниже значения gainvalue.

Можно задать inputname или outputname как массивы ячеек (сигналы с векторным знаком). Если вы делаете так, то настраивающаяся цель ограничивает самое большое сингулярное значение матрицы передачи от inputname к outputname. Смотрите sigma для получения дополнительной информации о сингулярных значениях.

Req = TuningGoal.Gain(inputname,outputname,gainprofile) задает максимальное усиление в зависимости от частоты. Можно задать целевой профиль усиления (максимальное усиление через пару ввода-вывода) как сглаженная передаточная функция. В качестве альтернативы можно делать набросок кусочного ошибочного профиля с помощью frd модель.

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

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 получить список аналитических точек, доступных в a 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 получить список аналитических точек, доступных в a genss модель.

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

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

gainvalue

Максимальное (линейное) усиление. Ограничение усиления Req указывает что усиление от inputname к outputname меньше gainvalue.

gainvalue скалярное значение. Если сигналы inputname или outputname сигналы с векторным знаком, затем gainvalue ограничивает самое большое сингулярное значение матрицы передачи от inputname к outputname. Смотрите sigma для получения дополнительной информации о сингулярных значениях.

gainprofile

Получите профиль в зависимости от частоты. Ограничение усиления Req указывает что усиление от inputname к outputname на особой частоте меньше gainprofile. Можно задать gainprofile как сглаженная передаточная функция (tf , zpk, или ss модель). В качестве альтернативы можно делать набросок кусочного профиля усиления с помощью a frd модель или makeweight (Robust Control Toolbox) функция. Когда вы делаете так, программное обеспечение автоматически сопоставляет профиль усиления на a zpk модель. Величина этого zpk модель аппроксимирует желаемый профиль усиления. Используйте viewGoal(Req) построить величину zpk модель.

gainprofile передаточная функция SISO. Если inputname или outputname массивы ячеек, gainprofile применяется ко всем парам ввода-вывода от inputname к outputname

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

Свойства

MaxGain

Максимальное усиление в зависимости от частоты, описанной как SISO zpk модель.

Программное обеспечение автоматически сопоставляет gainvalue или gainprofile входные параметры к a zpk модель. Величина этого zpk модель аппроксимирует желаемый профиль усиления. Настраивающаяся цель выводит и хранится в MaxGain свойство. Используйте viewGoal(Req) построить величину MaxGain.

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)

InputScaling

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

Используйте это свойство задать относительную амплитуду каждой записи во входных сигналах с векторным знаком, когда выбор модулей приведет к соединению маленьких и больших сигналов. Эта информация используется, чтобы масштабировать передаточную функцию с обратной связью от Input к Output когда настраивающаяся цель оценена.

Предположим, что T (s) является передаточной функцией с обратной связью от Input к Output. Настраивающаяся цель оценена для масштабированной передаточной функции Do–1T (s) Di. Диагональные матрицы Do и Di имеют OutputScaling и InputScaling значения на диагонали, соответственно.

Значение по умолчанию, [] , средние значения никакое масштабирование.

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

OutputScaling

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

Используйте это свойство задать относительную амплитуду каждой записи в выходных сигналах с векторным знаком, когда выбор модулей приведет к соединению маленьких и больших сигналов. Эта информация используется, чтобы масштабировать передаточную функцию с обратной связью от Input к Output когда настраивающаяся цель оценена.

Предположим, что T (s) является передаточной функцией с обратной связью от Input к Output. Настраивающаяся цель оценена для масштабированной передаточной функции Do–1T (s) Di. Диагональные матрицы Do и Di имеют OutputScaling и InputScaling значения на диагонали, соответственно.

Значение по умолчанию, [] , средние значения никакое масштабирование.

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

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';

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

Примеры

свернуть все

Создайте ограничение усиления, которое осуществляет требование подавления помех от 'du' сигнала к 'u' сигнала.

Req = TuningGoal.Gain('du','u',1);

Это требование указывает что максимальное усиление ответа от 'du' к 'u' не превышают 1 (0 дБ).

Создайте настраивающуюся цель, которая ограничивает ответ от 'du' сигнала к 'u' сигнала прокрутиться прочь на уровне 20 дБ/десятилетие на частотах, больше, чем 1. Настраивающаяся цель также задает подавление помех (максимальное усиление 1) в частотном диапазоне [0,1].

gmax = frd([1 1 0.01],[0 1 100]);
Req = TuningGoal.Gain('du','u',gmax);

Эти команды используют frd модель, чтобы задать усиление профилирует в зависимости от частоты. Максимальное усиление 1 дБ на частоте 1 рад/с, вместе с максимальным усилением 0,01 дБ на частоте 100 рад/с, задает желаемый спад 20 дБ/десятилетие.

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

viewGoal(Req)

Figure contains an axes object. The axes object contains an object of type line. These objects represent Max gain, Effective bound.

Пунктирная линия показывает профиль усиления, и область указывает, где требование нарушено.

Советы

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

Алгоритмы

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

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

f(x)=WF(s)Do1T(s,x)Di,

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

WF функции взвешивания частоты является упорядоченным профилем усиления, выведенным из максимального профиля усиления, который вы задаете. Усиления WF и 1/MaxGain примерно совпадайте в диапазоне частот с Focus. WF является всегда устойчивым и соответствующим. Поскольку полюса WF близко к s = 0 или s = Inf может привести к плохому числовому созданию условий systune задача оптимизации, не рекомендуется задать максимальные профили усиления с очень низкочастотной или очень высокочастотной динамикой.

Чтобы получить WF, используйте:

WF = getWeight(Req,Ts)

где Req настраивающаяся цель и Ts шаг расчета, в котором вы настраиваетесь (Ts = 0 в течение непрерывного времени). Для получения дополнительной информации о регуляризации и ее эффектах, смотрите, Визуализируют Настраивающиеся Цели.

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

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

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

Введенный в R2016a