TuningGoal. Класс WeightedPassivity

Пакет: 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. Используйте 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)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, однако, автоматически расширяются до любой размерности ввода или вывода.

Если вы настраиваетесь в дискретное время (то есть, с помощью модели 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 ограничить осуществление настраивающейся цели к конкретному диапазону частот. Выразите это значение в единицах частоты модели системы управления, которую вы настраиваете (rad/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. Используйте addPoint, чтобы добавить аналитические точки и открытия цикла к интерфейсу slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе 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 для этой настраивающей цели. 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 макс. зафиксирован в 106, включен, чтобы избежать числовых ошибок для очень большого R.