Вычислите параметры контроллера в режиме реального времени путем максимизации целевой функции
Simulink Control Design
Блок Extremum Seeking Control настраивает параметры контроллера, чтобы максимизировать целевую функцию. Диспетчеры поиска экстремума являются адаптивными диспетчерами без моделей, которые полезны для адаптации к неизвестной системной динамике и неизвестным отображениям от параметров управления до целевой функции. При поиске нескольких параметров блок Extremum Seeking Control использует отдельный настраивающий цикл для каждого параметра.
Поиски блока 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.
Number of parameters
— Количество параметров
(значение по умолчанию) | положительное целое число меньше чем 5Можно одновременно настроить до пяти параметров. Блок использует отдельный настраивающий цикл для каждого параметра.
Параметры блоков:
'paramCount' |
Ввод: символьный вектор |
Значение по умолчанию:
'1' |
Initial condition
— Условие начальной буквы параметра x 0
(значение по умолчанию) | конечный скаляр | векторНачальные значения параметров, которые соответствуют начальным условиям интеграторов обновления параметра.
Если Number of parameters является 1
, задайте Initial condition как конечный скаляр.
Чтобы задать различные начальные условия для нескольких параметров, задайте Initial condition как вектор из конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать то же начальное условие для всех параметров, задайте Initial condition как конечный скаляр.
Параметры блоков:
'initialVal' |
Ввод: символьный вектор |
Значение по умолчанию:
'0' |
Forcing frequency
— Принуждение частоты ω
(значение по умолчанию) | положительный конечный скаляр | векторЗадайте частоту сигналов модуляции и демодуляции в радианах в секунду. Для данного настраивающего цикла параметра задайте частоту принуждения, которая ниже, чем частоты важной системной динамики и выше, чем высокая передача и 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. В противном случае, чтобы задать ту же амплитуду для всех настраивающих циклов, задайте Modulation phase как положительный конечный скаляр.
Параметры блоков:
'demodAmp' |
Ввод: символьный вектор |
Значение по умолчанию:
'1' |
Demodulation phase
— Фаза ϕ 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 phase как положительный конечный скаляр.
Параметры блоков:
'modAmp' |
Ввод: символьный вектор |
Значение по умолчанию:
'0.1' |
Modulation phase
— Фаза ϕ 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' |
HPF frequency
— Частота среза фильтра высоких частот ω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.
Параметры блоков:
'lowPassEnable' |
Ввод: символьный вектор |
Значение по умолчанию:
'off' |
LPF frequency
— Частота среза фильтра lowpass ωl
(значение по умолчанию) | положительный конечный скаляр | векторЧастота среза для lowpass, фильтрующего демодулируемый сигнал, заданный в радианах в секунду. Для данного настраивающего цикла параметра задайте частоту среза, таким образом, что ωl> ω / (2π), где ω является соответствующей частотой принуждения.
При настройке одного параметра задайте LPF frequency как положительный конечный скаляр.
При настройке нескольких параметров можно задать различную частоту для каждого настраивающего цикла параметра. Для этого задайте LPF frequency как вектор из положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же частоту для всех настраивающих циклов, задайте LPF frequency как положительный конечный скаляр.
Параметры блоков:
'lowPassCutoff' |
Ввод: символьный вектор |
Значение по умолчанию:
'1' |
Output estimated parameters
— Добавьте оцененный выходной порт параметровoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы добавить выходной порт theta_hat.
Параметры блоков:
estimatedVarOn |
Ввод: символьный вектор |
Значение по умолчанию:
'off' |
Блок Extremum Seeking Control поддерживает генерацию кода для сигналов с двойной точностью только.
При выполнении в Быстром Режиме Accelerator блок Extremum Seeking Control не поддерживает регистрацию данных.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.