exponenta event banner

TuningGoal.Gain класс

Пакет: 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 чтобы получить список точек анализа, доступных в 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 блок:

Дополнительные сведения о точках анализа в моделях систем управления см. в разделе Маркировка интересующих сигналов для анализа и проектирования систем управления.

gainvalue

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

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

gainprofile

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

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

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

Свойства

MaxGain

Максимальный коэффициент усиления как функция частоты, выраженный как SISO zpk модель.

Программное обеспечение автоматически сопоставляет gainvalue или gainprofile входные аргументы в zpk модель. Масштабы этого zpk модель аппроксимирует требуемый профиль усиления. Цель настройки извлекается и сохраняется в MaxGain собственность. Использовать viewGoal(Req) для построения графика величины MaxGain.

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)

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 в гладкую функцию частоты, которая аппроксимирует кусочно заданное требование. Просмотрите профиль усиления с помощью view Goal.

viewGoal(Req)

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

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

Совет

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

Алгоритмы

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

Для TuningGoal.Gain, f (x) задается следующим образом:

f (x) =‖WF (s) Do 1T (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