TuningGoal.Rejection class

Пакет: TuningGoal

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

Описание

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

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

Конструкция

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

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

distloc

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

  • Если вы используете цель настройки, чтобы настроить Simulink® модель системы управления, затем distloc может включать любой сигнал, идентифицированный как точка анализа в slTuner (Simulink Control Design) интерфейс, сопоставленный с моделью Simulink. Использовать addPoint (Simulink Control Design), чтобы добавить точки анализа к slTuner интерфейс. Использовать getPoints (Simulink Control Design), чтобы получить список точек анализа, доступных в 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 (0 дБ) за 10 рад/с, для нарушения порядка, введенного в 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) для визуализации получившегося профиля ослабления.

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

Свойства

MinAttenuation

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

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

Focus

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

Установите Focus свойство для ограничения применения цели настройки к конкретной полосе частот. Выразите это значение в частотных модулях системной модели управления, которую вы настраиваете (рад/ 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 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';

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

Примеры

Постоянное минимальное ослабление в полосе частот

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

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

Частотно-зависимый профиль ослабления

Создайте цель настройки, которая обеспечивает коэффициент ослабления не менее 100 (40 дБ) ниже 1 рад/с, постепенно падая до 1 (0 дБ) за 10 рад/с. Цель настройки применяется к нарушению порядка в систему управления в точке, обозначенной как '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)

Figure contains an axes. The axes contains an object of type line. These objects represent Min attenuation, Effective bound.

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

Совет

  • Эта цель настройки накладывает неявное ограничение устойчивости на функцию чувствительности с обратной связью, измеренную в Location, оцениваемый с циклами, открытыми в точках, идентифицированных в Openings. Динамика, на которую влияет это неявное ограничение, является stabilized dynamics для этой цели настройки. The 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 (jω, x) является функцией чувствительности с обратной связью, измеренной в нарушении порядка местоположении. .R- частотный интервал, над которым применяется цель настройки, заданный в Focus свойство. WS является функцией взвешивания частот, выведенной из заданного профиля ослабления. Усиления WS и MinAttenuation примерно совпадают для значений усиления в диапазоне от -20 дБ до 60 дБ. По числовым причинам уровни функции взвешивания выключаются за пределы этой области значений, если заданный профиль ослабления не изменяет наклон вне этой области значений. Эта корректировка называется regularization. Потому что полюса WS близки к s = 0 или s = Inf может привести к плохому числовому обусловлению systune задача оптимизации, не рекомендуется задавать профили ослабления с очень низкочастотной или очень высокочастотной динамикой.

Для получения WS используйте:

WS = getWeight(Req,Ts)

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

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

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

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

Введенный в R2016a