Пакет: TuningGoal
Требование к отслеживанию настройки системы управления
Использовать TuningGoal.Tracking задание требования к отслеживанию частотной области между указанными входами и выходами. Эта цель настройки определяет максимальную относительную ошибку (коэффициент усиления от опорного ввода до ошибки отслеживания) как функцию частоты. Используйте эту цель настройки для настройки системы управления с помощью таких команд настройки, как systune или looptune.
Максимальный профиль ошибок можно указать непосредственно, предоставив функцию переноса. Кроме того, можно указать целевую ошибку DC, пиковую ошибку и время отклика. Эти параметры преобразуются в следующую передаточную функцию, описывающую максимальную ошибку отслеживания частотной области:
В данном случае, startc равно 2/( время отклика). Следующий график иллюстрирует эти взаимосвязи для примерного набора значений.
![]()
создает цель настройки Req = TuningGoal.Tracking(inputname,outputname,responsetime,dcerror,peakerror)Req который ограничивает производительность отслеживания от inputname кому outputname в частотной области. Эта цель настройки определяет максимальный профиль ошибки как функцию частоты, задаваемой:
Пропускная способность трекинга startc = 2/responsetime. Максимальная относительная установившаяся ошибка задается dcerror, и peakerror дает пиковую относительную ошибку для всех частот.
Можно указать требование отслеживания MIMO, указав имена сигналов или массив ячеек из нескольких имен сигналов для inputname или outputname. Для отслеживания MIMO используйте InputScaling свойство, помогающее ограничить перекрестную связь. См. раздел Свойства.
определяет максимальную относительную ошибку как функцию частоты. Профиль ошибки цели (максимальный коэффициент усиления от опорного сигнала к сигналу ошибки отслеживания) можно задать как функцию плавной передачи. Также можно нарисовать кусочный профиль ошибки с помощью Req = TuningGoal.Tracking(inputname,outputname,maxerror)frd модель.
|
Входные сигналы для цели настройки, определенные как символьный вектор или, для целей настройки с несколькими входами, массив ячеек символьных векторов.
Дополнительные сведения о точках анализа в моделях систем управления см. в разделе Маркировка интересующих сигналов для анализа и проектирования систем управления. |
|
Выходные сигналы для цели настройки, определенные как символьный вектор или, для целей настройки с несколькими выходами, массив ячеек символьных векторов.
Дополнительные сведения о точках анализа в моделях систем управления см. в разделе Маркировка интересующих сигналов для анализа и проектирования систем управления. |
|
Целевое время отклика, указанное как положительное скалярное значение. Пропускная способность трекинга задана в λ c = 2/ |
|
Максимальная ошибка установившегося дробного отслеживания, заданная как положительное скалярное значение. Например, Если По умолчанию: 0,001 |
|
Максимальная ошибка дробного отслеживания на всех частотах, заданная как положительное скалярное значение больше 1. По умолчанию: 1 |
|
Профиль ошибки отслеживания цели как функции частоты, определяемый как числовая модель LTI SISO.
Если вы настраиваетесь за дискретное время (то есть с помощью |
|
Максимальная ошибка как функция частоты, выраженная как SISO При использовании синтаксиса При использовании синтаксиса
Использовать |
|
Полоса частот, в которой принудительно применяется цель настройки, заданная как вектор строки формы Установите Req.Focus = [1,100]; По умолчанию: |
|
Масштабирование опорного сигнала, определяемое как вектор положительных вещественных значений. Для требования отслеживания MIMO, когда выбор единиц приводит к смешиванию малых и больших сигналов в различных каналах отклика, используйте это свойство, чтобы задать относительную амплитуду каждой записи на входе шага с векторными значениями. Эта информация используется для масштабирования внедиагональных терминов в передаточной функции от ссылки до ошибки отслеживания. Такое масштабирование обеспечивает измерение кросс-соединений относительно амплитуды каждого опорного сигнала. Например, предположим, что Req.InputScaling = [100,1]; Это предписывает программному обеспечению принимать во внимание, что первый опорный сигнал в 100 раз больше, чем второй опорный сигнал. Значение по умолчанию, По умолчанию: |
|
Имена эталонных сигналов, определяемые как символьный вектор или массив ячеек символьных векторов, задающих имена отслеживаемых сигналов, заполняемые |
|
Имена выходных сигналов, заданные как символьный вектор или массив ячеек символьных векторов, задающих имена сигналов, которые должны отслеживать эталонные сигналы, заполненные |
|
Модели, к которым применяется цель настройки, заданная как вектор индексов. Используйте Req.Models = 2:4; Когда По умолчанию: |
|
Петли обратной связи, открываемые при оценке цели настройки, задаются как массив ячеек символьных векторов, которые идентифицируют местоположения открытия петли. Цель настройки оценивается по конфигурации с разомкнутым контуром, созданной путем открытия контуров обратной связи в определенных местоположениях. Если вы используете цель настройки для настройки модели Simulink системы управления, то При использовании цели настройки для настройки обобщенного состояния-пространства ( Например, если По умолчанию: |
|
Имя цели настройки, указанное как символьный вектор. Например, если Req.Name = 'LoopReq'; По умолчанию: |
Создание цели отслеживания, указывающей, что сигнал 'theta' отслеживать сигнал 'theta_ref'. Требуемое время отклика - 2, в единицах времени настраиваемой системы управления. Максимальная погрешность установившегося состояния составляет 0,1%.
Req = TuningGoal.Tracking('theta_ref','theta',2,0.001);С тех пор peakerror не указан, в этой цели настройки используется значение по умолчанию, 1.
Создание цели отслеживания, указывающей, что сигнал 'theta' отслеживать сигнал 'theta_ref'. Максимальная относительная погрешность составляет 0,01 (1%) в диапазоне частот [0,1]. Относительная погрешность увеличивается до 1 (100%) на частоте 100.
Использовать frd для задания профиля ошибки как функции частоты.
err = frd([0.01 0.01 1],[0 1 100]); Req = TuningGoal.Tracking('theta_ref','theta',err);
Программное обеспечение преобразует err в гладкую функцию частоты, которая аппроксимирует кусочно заданный профиль. Отобразить эту функцию с помощью viewGoal.
viewGoal(Req)
![]()
Пунктирная линия - это целевой профиль ошибок, сохраненный в MaxErrorи затененная область указывает, где нарушена цель настройки.
Эта цель настройки накладывает неявное ограничение стабильности на передаточную функцию с замкнутым контуром из Input кому Output, оценивается с помощью петель, открытых в точках, определенных в Openings. Динамика, на которую влияет это неявное ограничение, является стабилизированной динамикой для этой цели настройки. MinDecay и MaxRadius варианты systuneOptions управлять границами в этой неявно ограниченной динамике. Если оптимизация не соответствует границам по умолчанию или если границы по умолчанию противоречат другим требованиям, используйте systuneOptions для изменения этих значений по умолчанию.
При настройке системы управления с помощью TuningGoal, программное обеспечение преобразует цель настройки в нормализованное скалярное значение f (x), где x - вектор свободных (настраиваемых) параметров в системе управления. Затем программа корректирует значения параметров для минимизации f (x) или для приведения f (x) ниже 1, если цель настройки является жестким ограничением.
Для TuningGoal.Tracking, f (x) задается следующим образом:
− I) ‖ ∞,
или его дискретный временной эквивалент. Здесь T (s, x) - функция передачи с обратной связью отInput кому Output, и ∞ обозначает H∞ норму ( см.getPeakGain). WF - функция частотного взвешивания, полученная из профиля ошибок, указанного в цели настройки. Выгоды от WF и 1/MaxError приблизительно соответствуют значениям усиления от -20 дБ до 60 дБ. По числовым причинам взвешивающая функция выравнивается за пределами этого диапазона, если не указана ссылочная модель, изменяющая наклон за пределами этого диапазона. Эта корректировка называется регуляризацией. Поскольку полюса WF близки к s = 0 или s = Inf может привести к плохому числовому кондиционированию systune задача оптимизации, не рекомендуется задавать профили ошибок с очень низкочастотной или очень высокочастотной динамикой.
Для получения WF используйте:
WF = getWeight(Req,Ts)
где Req является целью настройки, и Ts - время выборки, в которое выполняется настройка (Ts = 0 на непрерывное время). Дополнительные сведения о регуляризации и ее последствиях см. в разделе Визуализация целей настройки.
evalGoal | looptune | systune | TuningGoal.Gain | TuningGoal.LoopShape | viewGoal | looptune (for slTuner) (Simulink Control Design) | slTuner (Simulink Control Design) | systune (for slTuner)(Проект управления Simulink)