TuningGoal. Класс отклонения

Пакет: TuningGoal

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

Описание

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

Когда вы используете TuningGoal.Rejection, программное обеспечение пытается настроить систему так, чтобы затухание воздействия в заданном местоположении превысило минимальный фактор затухания, который вы задаете. Этот фактор затухания является отношением между открытым - и чувствительностью с обратной связью к воздействию и является функцией частоты. Можно достигнуть затухания воздействия только в пропускной способности управления. Усиление цикла должно быть больше, чем одно для воздействия, которое будет ослаблено (фактор затухания> 1).

Конструкция

Req = TuningGoal.Rejection(distloc,attfact) создает настраивающуюся цель по отклонению воздействия, входящего в distloc. Эта настраивающая цель ограничивает минимальный фактор затухания воздействия к зависимому частотой значению, attfact.

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

distloc

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

  • Если вы используете настраивающуюся цель настроить модель Simulink® системы управления, то distloc может включать любой сигнал, идентифицированный как аналитическую точку в интерфейсе slTuner, сопоставленном с моделью Simulink. Используйте addPoint, чтобы добавить, что анализ указывает на интерфейс slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе slTuner к вашей модели.

    Например, предположите, что интерфейс slTuner содержит аналитические точки u1 и u2. Используйте 'u1', чтобы определять ту точку как вход воздействия при создании настраивающихся целей. Используйте {'u1','u2'}, чтобы определять двухканальный вход воздействия.

  • Если вы используете настраивающуюся цель настроить обобщенную модель в пространстве состояний (genss) системы управления, то inputname может включать любой канал AnalysisPoint в модель. Например, если вы настраиваете модель системы управления, T, который содержит блок AnalysisPoint с местоположением под названием AP_u, затем distloc может включать 'AP_u'. (Используйте getPoints, чтобы получить список аналитических точек, доступных в модели genss.) Ограниченное местоположение воздействия введено в подразумеваемом входе, сопоставленном с аналитической точкой, и измерилось при подразумеваемом выводе:

attfact

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

TuningGoal.Rejection ограничивает минимальное затухание воздействия к зависимому частотой значению attfact. Можно задать attfact как сглаженную передаточную функцию (tf, zpk или модель ss). Также можно задать кусочный профиль усиления с помощью модели frd. Например, следующий код задает фактор затухания 100 на 40 дБ ниже 1 рад/с, постепенно спадая до 1 прошлого 10 рад/с (на 0 дБ), для воздействия, введенного в u.

attfact = frd([100 100 1 1],[0 1 10 100]); 
Req = TuningGoal.Rejection('u',attfact);
bodemag(attfact)
ylim([-5,40])

Когда вы используете модель frd, чтобы задать attfact, профиль усиления автоматически сопоставлен на модель zpk. Значение этой модели zpk аппроксимирует желаемый профиль усиления. Используйте viewGoal(Req), чтобы визуализировать получившийся профиль затухания.

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

Свойства

MinAttenuation

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

Программное обеспечение автоматически сопоставляет входной параметр attfact с моделью zpk. Значение этой модели zpk аппроксимирует желаемый фактор затухания и хранится в свойстве MinAttenuation. Используйте viewGoal(Req), чтобы построить значение MinAttenuation.

Focus

Диапазон частот, в котором осуществляется настройка цели, задал как вектор - строка из формы [min,max].

Установите свойство Focus ограничить осуществление настраивающейся цели к конкретному диапазону частот. Выразите это значение в единицах частоты модели системы управления, которую вы настраиваете (rad/TimeUnit). Например, предположите, что Req является настраивающейся целью, которую вы хотите применить только между 1 и 100 рад/с. Чтобы ограничить настраивающуюся цель этой полосой, используйте следующую команду:

Req.Focus = [1,100];

Значение по умолчанию: [0,Inf] в течение непрерывного времени; [0,pi/Ts] в течение дискретного времени, где Ts является образцовым шагом расчета.

LoopScaling

Переключитесь для того, чтобы автоматически масштабировать сигналы цикла, заданные как 'on' или 'off'.

Для многоконтурного или настраивающих целей подавления помех MIMO, каналы обратной связи автоматически повторно масштабируются, чтобы компенсировать недиагональное (взаимодействие цикла) условия в передаточной функции разомкнутого цикла. Установите LoopScaling на 'off' отключать такое масштабирование и формировать немасштабированный ответ разомкнутого цикла.

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

Location

Местоположение воздействия, заданного как заданное как массив ячеек из символьных векторов, которые идентифицируют одну или несколько аналитических точек в системе управления, чтобы настроиться. Например, если Location = {'u'}, настраивающаяся цель оценивает подавление помех в аналитической точке 'u'. Если Location = {'u1','u2'}, настраивающаяся цель оценивает отклонение в на основе ответа разомкнутого цикла MIMO, измеренного в аналитических точках 'u1' и 'u2'.

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

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

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

Примеры

Постоянное минимальное затухание в диапазоне частот

Создайте настраивающуюся цель, которая осуществляет затухание, по крайней мере, фактора 10 между 0 и 5 рад/с. Настраивающаяся цель применяется к воздействию, вводящему систему управления в точке, идентифицированной как 'u'.

Req = TuningGoal.Rejection('u',10);
Req.Name = 'Rejection spec';
Req.Focus = [0 5]

Зависимый частотой профиль затухания

Создайте настраивающуюся цель, которая осуществляет фактор затухания по крайней мере 100 на 40 дБ ниже 1 рад/с, постепенно спадая до 1 прошлого 10 рад/с (на 0 дБ). Настраивающаяся цель применяется к воздействию, вводящему систему управления в точке, идентифицированной как 'u'.

attfact = frd([100 100 1 1],[0 1 10 100]); 
Req = TuningGoal.Rejection('u',attfact);

Эти команды используют модель frd, чтобы задать минимальный профиль затухания как функцию частоты. Минимальное затухание 100 ниже 1 рад/с, вместе с минимальным затуханием 1 на частотах 10 и 100 рад/с, задает желаемый спад.

attfact преобразован в сглаженную функцию частоты, которая аппроксимирует кусочный заданный профиль. Отобразите профиль усиления с помощью viewGoal.

viewGoal(Req)

Теневая область указывает, где настраивающаяся цель нарушена.

Советы

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

Алгоритмы

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

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

f(x)=max ωΩWS(jω)S(jω,x),

или его эквивалентное дискретное время. Здесь, S (, x) является функцией чувствительности с обратной связью, измеренной в местоположении воздействия. Ω является интервалом частоты, на котором настраивающаяся цель осуществлена, задана в свойстве Focus. WS является функцией взвешивания частоты, выведенной от заданного профиля затухания. Усиления WS и MinAttenuation примерно соответствуют для значений усиления в пределах от-20 дБ к 60 дБ. По числовым причинам функция взвешивания выравнивается вне этой области значений, если заданный профиль затухания не изменяет наклон вне этой области значений. Эта корректировка называется regularization. Поскольку полюса WS близко к s = 0 или s = Inf может привести к плохому числовому созданию условий задачи оптимизации systune, не рекомендуется задать профили затухания с очень низкочастотной или очень высокочастотной динамикой.

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

WS = getWeight(Req,Ts)

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

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

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

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

Введенный в R2016a