TuningGoal.WeightedVariance class

Пакет: TuningGoal

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

Описание

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

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

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

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

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

Конструкция

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

||<reservedrangesplaceholder5>(<reservedrangesplaceholder4>)<reservedrangesplaceholder3>(<reservedrangesplaceholder2>)<reservedrangesplaceholder1>(<reservedrangesplaceholder0>)||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 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) от заданного входа к выходу удовлетворяет неравенству:

||<reservedrangesplaceholder5>(<reservedrangesplaceholder4>)<reservedrangesplaceholder3>(<reservedrangesplaceholder2>)<reservedrangesplaceholder1>(<reservedrangesplaceholder0>)||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 должен включать два сигнала. Скалярные значения, однако, автоматически расширяются на любую входную или выходную размерность.

Если вы настраиваете в дискретном времени (то есть используя a 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 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';

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

Примеры

свернуть все

Создайте ограничение для передаточной функции с одним входом, 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;

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

  • Эта цель настройки накладывает неявное ограничение устойчивости на взвешенную передаточную функцию с обратной связью от Input на Output, оцениваемый с циклами, открытыми в точках, идентифицированных в Openings. Динамика, на которую влияет это неявное ограничение, является stabilized dynamics для этой цели настройки. The 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