TuningGoal. Класс StepRejection

Пакет: TuningGoal

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

Описание

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

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

Чтобы задать подавление помех с точки зрения профиля затухания частотного диапазона, используйте TuningGoal.Rejection.

Конструкция

Req = TuningGoal.StepRejection(inputname,outputname,refsys) создает настраивающуюся цель, которая ограничивает, как воздействие шага, введенное в местоположении inputname, влияет на ответ в outputname. Настраивающаяся цель состоит в том, что воздействие отклоняется, а также или лучше, чем ссылочная система. inputname и outputname могут описать SISO или ответ MIMO вашей системы управления. Для ответов MIMO количество входных параметров должно равняться количеству выходных параметров.

Req = TuningGoal.StepRejection(inputname,outputname,peak,tSettle) задает ответ без колебаний с точки зрения пикового значения и времени установления.

Req = TuningGoal.StepRejection(inputname,outputname,peak,tSettle,zeta) допускает ослабленные колебания с отношением затухания, по крайней мере, zeta.

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

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:

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

refsys

Ссылочная система для целевого отклонения шага, заданного как модель динамической системы SISO, такая как tf, zpk или модель ss. refsys должен быть стабильным и соответствующим, и должен иметь нулевое усиление DC. Это ограничение гарантирует совершенное отклонение установившегося воздействия.

refsys может быть непрерывным или дискретным. Если refsys дискретен, он может включать задержки, которые обработаны как полюса в z = 0.

Для лучших результатов refsys и ответ разомкнутого цикла от воздействия до вывода должны иметь подобные усиления на частоте, где усиление эталонной модели достигает максимума. Можно проверять пиковое усиление и пиковую частоту с помощью getPeakGain. Например:

[gmax,fmax] = getPeakGain(refsys);

Используйте getIOTransfer, чтобы извлечь соответствующий ответ разомкнутого цикла от системы, которую вы настраиваете.

peak

Пиковое абсолютное значение целевого ответа на воздействие, заданное как скалярное значение.

tSettle

Целевое время установления ответа на воздействие, заданное как значение положительной скалярной величины, в единицах измерения времени системы управления, вы настраиваетесь.

zeta

Минимальное отношение затухания колебаний в ответ на воздействие, заданное как значение между 0 и 1.

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

Свойства

ReferenceModel

Ссылочная система для целевого ответа на воздействие шага, заданное как модель SISO (zpk). Переходной процесс этой модели задает, как выходные сигналы, заданные outputname, должны ответить на воздействие шага в inputname.

Если вы используете входной параметр refsys, чтобы создать настраивающуюся цель, то значением ReferenceModel является zpk(refsys).

Если вы используете peak, tSample и входные параметры zeta, то ReferenceModel является представлением zpk передаточной функции второго порядка или первого порядка, переходной процесс которой имеет заданные характеристики.

InputScaling

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

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

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

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

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

OutputScaling

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

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

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

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

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

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

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

Примеры

свернуть все

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

Предположим, что вы хотите, чтобы ответ в 'y' к воздействию, введенному в 'd', никогда не превысил абсолютное значение 0,25 и обосновался в течение 5 секунд. Создайте требование TuningGoal.StepRejection, которое получает эти спецификации и также задает неколебательный ответ.

Req1 = TuningGoal.StepRejection('d','y',0.25,5);

Не использование явного значения для отношения затухания, zeta, эквивалентно установке zeta = 1. Поэтому Req задает неколебательный ответ. Программное обеспечение преобразовывает пиковое значение и время установления в ссылочную передаточную функцию, переходной процесс которой имеет желаемый профиль временного интервала. Эта передаточная функция хранится в свойстве ReferenceModel Req.

Req1.ReferenceModel
ans =
 
   0.92883 s
  -----------
  (s+1.367)^2
 
Continuous-time zero/pole/gain model.

Подтвердите целевой ответ путем отображения Req.

figure()
viewGoal(Req1)

Предположим, что ваше приложение может терпеть колебания, если отношение затухания - меньше чем 0,4. Создайте требование, которое задает этот ответ воздействия.

Req2 = TuningGoal.StepRejection('d','y',0.25,5,0.4);
figure()
viewGoal(Req2)

Создайте требование, которое задает ответ воздействия шага как передаточную функцию.

Предположим, что вы хотите, чтобы ответ на воздействие, введенное в аналитической точке d в вашей системе управления и измеренный в точке 'y', был отклонен, по крайней мере, а также передаточная функция

H(s)=ss2+2s+1.

Создайте требование TuningGoal.StepRejection.

H = tf([1 0],[1 2 1]);
Req = TuningGoal.StepRejection('d','y',H);

Отобразите требование.

viewGoal(Req)

График, отображенный viewGoal, показывает переходной процесс заданной передаточной функции. Этот ответ является целевым ответом временного интервала на воздействие.

Советы

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

Алгоритмы

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

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

f(x)=WF(s)Tdy(s,x),

или его эквивалентное дискретное время. Здесь, Tdy (s, x) является передаточной функцией с обратной связью от Input до Output, и обозначает H норма (см. norm). WF является функцией взвешивания частоты, выведенной от профиля неродного отклонения, который вы задаете в настраивающейся цели. Усиления WF и 1/ReferenceModel примерно соответствуют для значений усиления в 60 дБ пикового усиления. По числовым причинам функция взвешивания выравнивается вне этой области значений, если вы не задаете эталонную модель, которая изменяет наклон вне этой области значений. Эта корректировка называется regularization. Поскольку полюса WF близко к s = 0 или s = Inf может привести к плохому числовому созданию условий задачи оптимизации systune, не рекомендуется задать эталонные модели с очень низкочастотной или очень высокочастотной динамикой.

Чтобы получить WF, используйте:

WF = getWeight(Req,Ts)

где Req является настраивающейся целью, и Ts является шагом расчета, в котором вы настраиваетесь (Ts = 0 в течение непрерывного времени). Для получения дополнительной информации о регуляризации и ее эффектах, смотрите, Визуализируют Настраивающиеся Цели.

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

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

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

Введенный в R2016a