TuningGoal.StepRejection class

Пакет: TuningGoal

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

Описание

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

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

Чтобы задать подавление помех в терминах профиля ослабления частотного диапазона, используйте 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 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 блок:

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

refsys

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

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

Для достижения наилучших результатов, refsys и разомкнутый контур реакция от нарушения порядка к выходу должна иметь одинаковые усиления на частоте, где образец модели усиление peaks. Вы можете проверить пиковый коэффициент усиления и пиковую частоту, используя 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 (<reservedrangesplaceholder4>) Di. Диагональные матрицы Do и Di имеют OutputScaling и InputScaling значения на диагонали, соответственно.

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

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

OutputScaling

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

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

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

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

Примеры

свернуть все

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

Предположим, вам нужен ответ в '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)

Figure contains an axes. The axes contains an object of type line. This object represents Reference.

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

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

Figure contains an axes. The axes contains an object of type line. This object represents Reference.

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

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

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

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

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

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

viewGoal(Req)

Figure contains an axes. The axes contains an object of type line. This object represents Reference.

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

Совет

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