TuningGoal.WeightedPassivity class

Пакет: TuningGoal

Частотно-взвешенное ограничение пассивности

Описание

Система passive, если все ее вводы-выводы траектории (u (t), y (t)) удовлетворяют:

0Ty(t)Tu(t)dt>0,

для всех T > 0. TuningGoal.WeightedPassivity обеспечивает пассивность передаточной функции:

H(s)=WL(s)T(s)WR(s),

где Ts - реакция с обратной связью в настраиваемой системе управления. WL и WR являются весовыми функциями, используемыми для подчеркивания конкретных полос. Использование TuningGoal.WeightedPassivity с командами настройки системы управления, такими как systune.

Конструкция

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

H(s)=WL(s)T(s)WR(s),

где Ts - передаточная функция с обратной связью от заданных входов к заданным выходам. Веса WL и WR могут быть матрицами или моделями LTI.

По умолчанию цель настройки обеспечивает пассивность взвешенных H передаточной функции. Можно также применить входные и выходные индексы пассивности с заданным избытком или отсутствием пассивности. (См. getPassiveIndex для получения дополнительной информации об индексах пассивности.) Для этого установите IPX и OPX свойства цели настройки. См. Взвешенная пассивность и входная пассивность.

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

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)=WL(s)T(s)WR(s),

где T (s) - передаточная функция от inputname на outputname. Функция WL обеспечивает взвешивание для выходных каналов T (s) и WR обеспечивает взвешивание для каналов входа. Можно задать:

  • Скалярное взвешивание - используйте скалярную или числовую матрицу.

  • Частотно-зависимое взвешивание - используйте SISO или MIMO числовую модель LTI. Для примера:

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

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

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

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

По умолчанию: []

Свойства

WL

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

WR

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

IPX

Целевая пассивность на входах, перечисленных в inputname, заданный как скалярное значение. Индекс пассивности входа определяется как самое большое значение ν, для которого траектории {u (t), y (t)} взвешенной передаточной функции H удовлетворять:

0Ty(t)Tu(t)dt>ν0Tu(t)Tu(t)dt,

для всех T > 0.

По умолчанию цель настройки обеспечивает строгую пассивность взвешенной передаточной функции. Чтобы применить входной индекс пассивности с заданным превышением или нехваткой пассивности, установите IPX свойство цели настройки. Когда вы делаете это, программное обеспечение настройки:

  • Гарантирует, что взвешенная характеристика является входной строго пассивной при IPX > 0. Величина IPX устанавливает необходимый избыток пассивности.

  • Позволяет взвешенный ответ не входить строго пассивно, когда IPX < 0. Величина IPX устанавливает допустимый дефицит пассивности.

Смотрите Взвешенную Пассивность и Входную Пассивность для примера. Посмотрите getPassiveIndex для получения дополнительной информации об индексах пассивности.

По умолчанию: 0

OPX

Целевая пассивность на выходах, перечисленных в outputname, заданный как скалярное значение. Индекс пассивности выхода определяется как самое большое значение ρ, для которого траектории {u (t), y (t)} взвешенной передаточной функции H удовлетворять:

0Ty(t)Tu(t)dt>ρ0Ty(t)Ty(t)dt,

для всех T > 0.

По умолчанию цель настройки обеспечивает строгую пассивность взвешенной передаточной функции. Чтобы применить выходной индекс пассивности с заданным превышением или нехваткой пассивности, установите OPX свойство цели настройки. Когда вы делаете это, программное обеспечение настройки:

  • Гарантирует, что взвешенный ответ выводится строго пассивно, когда OPX > 0. Величина IPX устанавливает необходимый избыток пассивности.

  • Позволяет, чтобы взвешенный ответ не выводился строго пассивно, когда OPX < 0. Величина IPX устанавливает допустимый дефицит пассивности.

Смотрите Взвешенную Пассивность и Входную Пассивность для примера. Посмотрите getPassiveIndex для получения дополнительной информации об индексах пассивности.

По умолчанию: 0

Focus

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

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

Req.Focus = [1,100];

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

Input

Имена входных сигналов, заданные как массив ячеек из векторов символов. Имена входного сигнала задают входные местоположения для определения пассивности, первоначально заполненные inputname аргумент.

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

По умолчанию: []

Примеры

свернуть все

Создайте цель настройки, которая обеспечивает пассивность передаточной функции:

H(s)=[10010]T(s)(1s),

где T(s) - передаточная функция от входа 'd' к выходам ['y';'z'] в системной модели управления.

WL = tf(1,[1 0]);
WR = diag([1 10]);
TG = TuningGoal.WeightedPassivity('d',{'y','z'},WL,WR);

Использование TG с systune применить это взвешенное требование пассивности.

Предположим, что вместо обеспечения общей пассивности взвешенной передаточной функции H, вы хотите убедиться, что H является входом строго пассивным с индексом пассивности с прямым входным feedforward не менее 0,1. Для этого установите IPX свойство TG.

TG.IPX = 0.1;

Совет

  • Использовать viewGoal чтобы визуализировать эту цель настройки. Для обеспечения пассивности с IPX = 0 и OPX = 0, viewGoal строит графики относительных индексов пассивности как функции от частоты (см. passiveplot). Это сингулярные значения (IH(jω))(IH(jω))1. Взвешенная передаточная функция H пассивна, когда самое большое сингулярное значение меньше 1 на всех частотах.

    Для ненулевых IPX или OPX, viewGoal строит график относительного индекса, как описано в Алгоритмах.

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

Алгоритмы

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

Для TuningGoal.WeightedPassivity, для передаточной функции с обратной связью T(s,x) от inputname на outputnameи взвешенную передаточную функцию H(s,x) = WL*T(s,x)*WR, f (x) определяется:

f(x)=R1+R/Rmax,Rmax=106.

R - относительный индекс сектора (см. getSectorIndex) [H(s,x);I], для сектора, представленного:

Q=(2ρII2ν),

использование значений OPX и IPX свойства для ρ и ν, соответственно. R max фиксируется на 106, включенный, чтобы избежать числовых ошибок для очень больших R.