Вычислите параметры контроллера в режиме реального времени путем максимизации целевой функции
Simulink Control Design
Блок Extremum Seeking Control настраивает параметры контроллера, чтобы максимизировать целевую функцию. Диспетчеры поиска экстремума являются адаптивными диспетчерами без моделей, которые полезны для адаптации к неизвестной системной динамике и неизвестным отображениям от параметров управления до целевой функции. При поиске нескольких параметров блок Extremum Seeking Control использует отдельный настраивающий цикл для каждого параметра.
Поиски блока Extremum Seeking Control для параметров оптимального управления путем модуляции (беспокойство) параметров с синусоидальными сигналами и демодуляцией получившейся встревоженной целевой функции.
Чтобы сконфигурировать алгоритм поиска экстремума, установите соответствующие частоты принуждения, демодуляцию и сигналы модуляции, скорости обучения и начальные условия параметра. При конфигурировании блока гарантируйте, что системные движущие силы находятся на самом быстром масштабе времени, частоты принуждения возмущения находятся на среднем масштабе времени, и частоты среза фильтра находятся на самом медленном масштабе времени.
Можно реализовать и контроллеры поиска экстремума непрерывного времени и дискретного времени. Изменение временного интервала контроллера влияет на область времени фильтров высоких частот, фильтров lowpass и интеграторов, используемых в настраивающихся циклах. Чтобы сгенерировать развертываемый на оборудовании код для блока Extremum Seeking Control, используйте контроллер дискретного времени.
Для получения дополнительной информации смотрите, что Экстремум Ищет Управление.
J
— Целевая функцияЦелевая функция от системы управления встревожена в результате отклика системы к встревоженным параметрам theta. Чтобы вычислить обновления параметра, блок фильтрует и демодулирует J.
theta
— Встревоженные параметрыПримените эти встревоженные параметры (θ) к вашей системе управления. Блок использует получившееся возмущение целевой функции J, чтобы вычислить обновления параметра.
Если Number of parameters является 1
, theta выводит скалярный сигнал. В противном случае theta выходные параметры векторный сигнал с длиной равняется Number of parameters.
theta_hat
— Предполагаемые параметрыИспользуйте этот выходной порт, чтобы получить предполагаемые значения параметров () прежде чем они будут встревожены сигналом модуляции.
Если Number of parameters является 1
, theta_hat выводит скалярный сигнал. В противном случае theta_hat выходные параметры векторный сигнал с длиной равняется Number of parameters.
Чтобы включить этот выходной порт, выберите Output estimated parameters.
Time Domain
— Фильтр и временной интервал интегратораЗадайте временной интервал для фильтров высоких частот, фильтров lowpass и интеграторов.
Continuous time — Используйте фильтры непрерывного времени и интеграторы.
Discrete time — Используйте фильтры дискретного времени и интеграторы. Задайте шаг расчета с помощью параметра Sample time и задайте метод интегрирования с помощью параметра Integration method.
Параметры блоков:
'timeDomainStatus' |
Ввод: символьный вектор |
Значения:
'Continuous Time' | 'Discrete Time' |
Значение по умолчанию:
'Continuous Time' |
Sample time
— Фильтр дискретного времени и шаг расчета интегратора
(значение по умолчанию) | конечная положительная скалярная величинаЗадайте шаг расчета для фильтров высоких частот дискретного времени, фильтров lowpass и интеграторов.
При настройке нескольких параметров все настраивающие циклы используют тот же шаг расчета.
Чтобы включить этот параметр, установите свойство Time Domain на Discrete time.
Параметры блоков:
'SampleTime' |
Ввод: символьный вектор |
Значения: конечная положительная скалярная величина |
Значение по умолчанию:
'0.1' |
Integrator method
— Метод интегрирования дискретного времениForward Euler
(значение по умолчанию) | Backward Euler
| Trapezoidal
Можно выбрать один из следующих методов интегрирования для интеграторов дискретного времени.
Forward Euler
:
Backward Euler
:
Trapezoidal
:
Здесь:
y является интегратором выход
u является входом
n является текущим шагом расчета
Ts является шагом расчета
При настройке нескольких параметров интеграторы во всех настраивающих циклах используют тот же метод интегрирования.
Чтобы включить этот параметр, установите свойство Time Domain на Discrete time.
Параметры блоков:
'IntegratorMethods' |
Ввод: символьный вектор |
Значения:
'Forward Euler' | 'Backward Euler' | 'Trapezoidal' |
Значение по умолчанию:
'Forward Euler' |
Number of parameters
— Количество параметров
(значение по умолчанию) | положительное целое число, меньше чем или равное 5Можно одновременно настроить до пяти параметров. Блок использует отдельный настраивающий цикл для каждого параметра.
Параметры блоков:
'paramCount' |
Ввод: символьный вектор |
Значения: положительное целое число меньше чем 5 |
Значение по умолчанию:
'1' |
Initial condition x0
— Начальные значения параметров
(значение по умолчанию) | конечный скаляр | векторНачальные значения параметров, которые соответствуют начальным условиям интеграторов обновления параметра.
Если Number of parameters является 1
, задайте Initial condition как конечный скаляр.
Чтобы задать различные начальные условия для нескольких параметров, задайте Initial condition как вектор из конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать то же начальное условие для всех параметров, задайте Initial condition как конечный скаляр.
Параметры блоков:
'initialVal' |
Ввод: символьный вектор |
Значения: конечный скаляр | вектор |
Значение по умолчанию:
'0' |
Forcing frequency omega
— Принуждение частоты
(значение по умолчанию) | положительный конечный скаляр | векторЗадайте частоту сигналов модуляции и демодуляции в радианах в секунду. Для данного настраивающего цикла параметра задайте частоту принуждения, которая ниже, чем частоты важной системной динамики и выше, чем высокая передача и lowpass фильтруют частоты среза.
При настройке одного параметра задайте Forcing frequency как положительный конечный скаляр.
При настройке параметров кратного задайте Forcing frequency как вектор из положительных конечных значений с длиной, равной Number of parameters. Каждая частота принуждения должна быть уникальной, который позволяет сходимость ищущего экстремум алгоритма.
Параметры блоков:
'omega' |
Ввод: символьный вектор |
Значения: положительный конечный скаляр | вектор |
Значение по умолчанию:
'1' |
Learning rate k
— Частота обновления параметра
(значение по умолчанию) | положительный конечный скаляр | векторСкорость обучения является фактором усиления, который управляет уровнем, на котором блок обновляет параметр.
При настройке одного параметра задайте Learning rate как положительный конечный скаляр.
При настройке параметров кратного можно задать различную скорость обучения для каждого настраивающего цикла параметра. Для этого задайте Learning rate как вектор из положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же скорость обучения для всех настраивающих циклов, задайте Learning rate как положительный конечный скаляр.
Параметры блоков:
'gain' |
Ввод: символьный вектор |
Значения: положительный конечный скаляр | вектор |
Значение по умолчанию:
'1' |
Demodulation amplitude a
— Амплитуда сигнала демодуляции
(значение по умолчанию) | положительный конечный скаляр | векторУкажите, что амплитуда сигнала раньше демодулировала целевую функцию. Для большинства приложений задайте Demodulation amplitude ≫ Modulation amplitude. Продукт этих амплитуд, наряду со скоростью обучения, управляет быстротой сходимости алгоритма.
При настройке одного параметра задайте Demodulation amplitude как положительный конечный скаляр.
При настройке нескольких параметров можно задать различную амплитуду демодуляции для каждого настраивающего цикла параметра. Для этого задайте Demodulation amplitude как вектор из положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же амплитуду для всех настраивающих циклов, задайте Demodulation amplitude как положительный конечный скаляр.
Параметры блоков:
'demodAmp' |
Ввод: символьный вектор |
Значение по умолчанию:
'1' |
Demodulation phase phi_1
— Фаза сигнала демодуляции
(значение по умолчанию) | положительный конечный скаляр | векторУкажите, что фаза ϕ 1 сигнала раньше демодулировала целевую функцию в радианах.
При настройке одного параметра задайте Demodulation phase как положительный конечный скаляр.
При настройке нескольких параметров можно задать различную фазу демодуляции для каждого настраивающего цикла параметра. Для этого задайте Demodulation phase как вектор из положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же фазу для всех настраивающих циклов, задайте Demodulation phase как положительный конечный скаляр.
Фазы демодуляции и модуляции должны удовлетворить условию because(ϕ 1–ϕ2),> 0.
Параметры блоков:
'demodPhase' |
Ввод: символьный вектор |
Значения: положительный конечный скаляр | вектор |
Значение по умолчанию:
'0' |
Modulation amplitude b
— Амплитуда сигнала модуляции
(значение по умолчанию) | положительный конечный скаляр | векторАмплитуда сигнала возмущения добавляется к предполагаемым параметрам. Для большинства приложений задайте Modulation amplitude ≪ Demodulation amplitude. Продукт этих амплитуд, наряду со скоростью обучения, управляет быстротой сходимости алгоритма.
При настройке одного параметра задайте Modulation amplitude как положительный конечный скаляр.
При настройке нескольких параметров можно задать различную амплитуду модуляции для каждого настраивающего цикла параметра. Для этого задайте Modulation amplitude как вектор из положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же амплитуду для всех настраивающих циклов, задайте Modulation amplitude как положительный конечный скаляр.
Параметры блоков:
'modAmp' |
Ввод: символьный вектор |
Значения: положительный конечный скаляр | вектор |
Значение по умолчанию:
'0.1' |
Modulation phase phi_2
— Фаза сигнала модуляции
(значение по умолчанию) | положительный конечный скаляр | векторФаза ϕ 2 из сигнала возмущения, добавленного к предполагаемым параметрам, заданным в радианах. Необходимо выбрать фазу ϕ 1 демодуляции и фазу ϕ 2 модуляции, таким образом что because(ϕ 1–ϕ2),> 0.
При настройке одного параметра задайте Modulation phase как положительный конечный скаляр.
При настройке нескольких параметров можно задать различную фазу модуляции для каждого настраивающего цикла параметра. Для этого задайте Modulation phase как вектор из положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же фазу для всех настраивающих циклов, задайте Modulation phase как положительный конечный скаляр.
Параметры блоков:
'modPhase' |
Ввод: символьный вектор |
Значения: положительный конечный скаляр | вектор |
Значение по умолчанию:
'0' |
Enable HPF
— Включите фильтрацию высокой передачи сигнала целевой функцииoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы включить фильтр высоких частот, который удаляет любое смещение сигнала из сигнала целевой функции перед этапом демодуляции. Чтобы задать частоту среза фильтра, используйте параметр HPF frequency.
Параметры блоков:
'highPassEnable' |
Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
HPF frequency omega_h
— Частота среза фильтра высоких частот
(значение по умолчанию) | положительный конечный скаляр | векторЧастота среза ωh для высокой передачи, фильтрующей сигнал целевой функции, заданный в радианах в секунду. Для данного настраивающего цикла параметра задайте частоту среза, таким образом, что ωh <ω / (2π), где ω является соответствующей частотой принуждения.
При настройке одного параметра задайте HPF frequency как положительный конечный скаляр.
При настройке нескольких параметров можно задать различную частоту для каждого настраивающего цикла параметра. Для этого задайте HPF frequency как вектор из положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же частоту для всех настраивающих циклов, задайте HPF frequency как положительный конечный скаляр.
Чтобы включить этот параметр, выберите параметр Enable HPF.
Параметры блоков:
'highPassCutoff' |
Ввод: символьный вектор |
Значения: положительный конечный скаляр | вектор |
Значение по умолчанию:
'1' |
Enable LPF
— Включите фильтрацию lowpass демодулируемого сигналаoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы включить фильтр lowpass, который удаляет высокочастотные компоненты из демодулируемого сигнала перед этапом обновления параметра. Чтобы задать частоту среза фильтра, используйте параметр LPF frequency.
Чтобы включить этот параметр, выберите параметр Enable LPF.
Параметры блоков:
'lowPassEnable' |
Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
LPF frequency omega_l
— Частота среза фильтра lowpass ωl
(значение по умолчанию) | положительный конечный скаляр | векторЧастота среза ωl для lowpass, фильтрующего демодулируемый сигнал, заданный в радианах в секунду. Для данного настраивающего цикла параметра задайте частоту среза, таким образом, что ωl> ω / (2π), где ω является соответствующей частотой принуждения.
При настройке одного параметра задайте LPF frequency как положительный конечный скаляр.
При настройке нескольких параметров можно задать различную частоту для каждого настраивающего цикла параметра. Для этого задайте LPF frequency как вектор из положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же частоту для всех настраивающих циклов, задайте LPF frequency как положительный конечный скаляр.
Чтобы включить этот параметр, выберите параметр Enable LPF.
Параметры блоков:
'lowPassCutoff' |
Ввод: символьный вектор |
Значения: положительный конечный скаляр | вектор |
Значение по умолчанию:
'1' |
Output estimated parameters
— Добавьте оцененный выходной порт параметровoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы добавить выходной порт theta_hat.
Параметры блоков:
estimatedVarOn |
Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
Блок Extremum Seeking Control поддерживает генерацию кода для сигналов с двойной точностью только.
При выполнении в Быстром Режиме Accelerator блок Extremum Seeking Control не поддерживает регистрацию данных.
Чтобы сгенерировать развертываемый на оборудовании код для блока Extremum Seeking Control, используйте контроллер дискретного времени. Для этого установите параметр Time Domain на Discrete time.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.