exponenta event banner

Класс TuningGoal.Decision

Пакет: 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) для визуализации результирующего профиля затухания.

Если вы настраиваетесь за дискретное время (то есть с помощью 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 преобразуется в гладкую функцию частоты, которая аппроксимирует кусочно заданный профиль. Просмотрите профиль усиления с помощью view Goal.

viewGoal(Req)

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

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

Совет

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

Алгоритмы

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

Для TuningGoal.Rejection, f (x) задается следующим образом:

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

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

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

WS = getWeight(Req,Ts)

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

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

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

В R2016a изменилось поведение

Представлен в R2016a