TuningGoal.Variance class

Пакет: TuningGoal

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

Описание

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

  • Квадратный корень выхода отклонения для отклонения единиц белого шума входа

  • Средний корень-квадрат выхода для входных параметров белого шума с отклонениями в единицах входа

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

Эти определения являются различными интерпретациями одного и того же количества. TuningGoal.Variance устанавливает тот же предел для этих количеств.

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

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

Конструкция

Req = TuningGoal.Variance(inputname,outputname,maxamp) создает цель настройки, которая ограничивает шумовое усиление передаточной функции от inputname на outputname к скалярному значению maxamp.

Когда вы настраиваете систему управления в дискретном времени, эта цель настройки принимает, что физический объект и процесс шума непрерывны. Чтобы гарантировать, что настройка в непрерывном времени и в дискретном времени дает последовательные результаты, maxamp интерпретируется как ограничение на норму H 2 времени. Если объект и шумовые процессы действительно дискретны, и вы хотите ограничить H 2 норму дискретного времени значением maxamp, установите третий входной параметр равным maxamp/sqrt(Ts), где 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 блок:

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

maxamp

Максимальное усиление шума от inputname на outputname, заданный как положительная скалярная величина значение. Это значение задает максимальное значение выхода отклонения для сигналов, заданных в outputname, для сигнала белого шума с единичной дисперсией в inputname. Это значение соответствует максимальной норме H 2 от inputname на outputname.

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

Свойства

MaxAmplification

Максимальное усиление шума, заданное как положительная скалярная величина значение. Это свойство задает максимальное значение выхода отклонения в сигналах, заданных в Output, для сигнала белого шума с единичной дисперсией в Input. Это значение соответствует максимальной норме H 2 от Input на Output. Начальное значение MaxAmplification устанавливается системой maxamp входной параметр при построении цели настройки.

InputScaling

Масштабирование входного сигнала, заданное как вектор положительных вещественных значений.

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

Предположим, T (s) является передаточной функцией с обратной связью от Input на Output. Цель настройки оценивается для масштабированной передаточной функции Do–1T (<reservedrangesplaceholder4>) Di. Диагональные матрицы Do и Di имеют OutputScaling и InputScaling значения на диагонали, соответственно.

Значение по умолчанию, [] , означает отсутствие масштабирования.

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

OutputScaling

Масштабирование выходного сигнала, заданное как вектор положительных вещественных значений.

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

Предположим, T (s) является передаточной функцией с обратной связью от Input на Output. Цель настройки оценивается для масштабированной передаточной функции Do–1T (<reservedrangesplaceholder4>) 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';

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

Примеры

свернуть все

Создайте требование, которое ограничивает усиление отклонения от точки анализа AP2 в выход y следующей системы управления, измеренной при открытом внешнем контуре.

Создайте модель системы. Для этого задайте и соедините числовые модели объекта управления G1 и G2и настраиваемые контроллеры C1 и C2. Также задайте и соедините AnalysisPoint блоки AP1 и AP2 это помечает интересующие точки для анализа и настройки.

G1 = tf(10,[1 10]);
G2 = tf([1 2],[1 0.2 10]);
C1 = tunablePID('C','pi');
C2 = tunableGain('G',1);
AP1 = AnalysisPoint('AP1');
AP2 = AnalysisPoint('AP2');
T = feedback(G1*feedback(G2*C2,AP2)*C1,AP1);

Создайте требование настройки, которое ограничивает усиление шума от неявного входа, связанного с точкой анализа AP2, к выходу y.

Req = TuningGoal.Variance('AP2','y',0.1);

Это ограничение ограничивает усиление коэффициентом 0,1.

Задайте, что передаточная функция от AP2 на y оценивается, когда внешний контур открыт при настройке на это ограничение.

Req.Openings = {'AP1'};

Использование systune для настройки свободных параметров T для удовлетворения требования настройки, заданного Req. Затем можно проверить соответствие настроенной системы управления требованию с помощью viewGoal(Req,T).

Совет

  • Когда вы используете эту цель настройки, чтобы настроить систему управления в непрерывном времени, 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.Variance, f (x) определяется:

f(x)=1MaxAmplificationT(s,x)2.

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

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

f(x)=1MaxAmplificationTsT(z,x)2.

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

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

расширить все

Поведение изменено в R2016a

Введенный в R2016a