TuningGoal. Класс WeightedVariance

Пакет: TuningGoal

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

Описание

Используйте TuningGoal.WeightedVariance, чтобы ограничить взвешенный H 2 нормы передаточной функции от заданных входных параметров до выходных параметров. H 2 меры по норме:

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

  • Квадратный корень из выходного отклонения для входа белого шума модульного отклонения, для стохастических входных параметров к передаточной функции. Эквивалентно, H 2 меры по норме среднеквадратичное значение вывода для такого входа.

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

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

Конструкция

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

|| WL (s) H (s) WR (s) || 2 <1.

Обозначение || • || 2 обозначает H 2 нормы.

Когда вы настраиваете систему дискретного времени, Req налагает следующее ограничение:

1TsWL(z)T(z,x)WR(z)2<1.

H 2 нормы масштабируется квадратным корнем из шага расчета Ts, чтобы гарантировать сопоставимые результаты настройкой в непрерывное время. Чтобы ограничить истинное дискретное время H 2 нормы, умножьте или WL или WR Ts.

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

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) H (s) WR (s) || 2 <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 должен включать два сигнала. Скалярные значения, однако, автоматически расширяются до любой размерности ввода или вывода.

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

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

Свойства

WL

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

WR

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

Input

Имена входного сигнала, заданные как массив ячеек из символьных векторов, которые идентифицируют входные параметры передаточной функции, которую ограничивает настраивающаяся цель. Начальное значение свойства Input установлено входным параметром inputname, когда вы создаете настраивающуюся цель.

Output

Имена выходного сигнала, заданные как массив ячеек из символьных векторов, которые идентифицируют выходные параметры передаточной функции, которую ограничивает настраивающаяся цель. Начальное значение свойства 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';

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

Примеры

свернуть все

Создайте ограничение для передаточной функции с одним входом, r, и двумя выходными параметрами, e и y, который ограничивает H2 норма можно следующим образом:

1s+0.001Tres0.001s+1Try2<1.

Tre передаточная функция с обратной связью от r до e, и Try передаточная функция с обратной связью от r до y.

s = tf('s');
WL = blkdiag(1/(s+0.001),s/(0.001*s+1));
Req = TuningGoal.WeightedVariance('r',{'e','y'},WL,[]);

Советы

  • Когда вы используете эту настраивающую цель настроить непрерывно-разовую систему управления, systune пытается осуществить нулевое сквозное соединение (D = 0) на передаче, которую ограничивает настраивающаяся цель. Нулевое сквозное соединение наложено, потому что H 2 нормы, и поэтому значение настраивающейся цели (см. Алгоритмы), бесконечен для непрерывно-разовых систем с ненулевым сквозным соединением.

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

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

    Чтобы зафиксировать параметры настраиваемых блоков к заданным значениям, используйте свойства Value и Free параметризации блока. Например, рассмотрите настроенный блок пространства состояний:

    C = tunableSS('C',1,2,3);

    Чтобы осуществить нулевое сквозное соединение на этом блоке, обнулите его матричное значение D и зафиксируйте параметр.

    C.D.Value = 0;
    C.D.Free = false;

    Для получения дополнительной информации о фиксации значений параметров смотрите страницы с описанием Блока Системы управления, такие как tunableSS.

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

Алгоритмы

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

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

f(x)=WLT(s,x)WR2.

T (s, x) является передаточной функцией с обратной связью от Input до Output. 2 обозначает H 2 нормы (см. norm).

Для настройки систем управления дискретного времени f (x) дают:

f(x)=1TsWL(z)T(z,x)WR(z)2.

Ts является шагом расчета передаточной функции дискретного времени T (z, x).

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

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

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

Введенный в R2016a