Вычислите параметры контроллера в реальном времени путем максимизации целевой функции
Simulink Control Design
Блок Extremum Seeking Control настраивает параметры контроллера, чтобы максимизировать целевую функцию. Контроллеры поиска Extremum являются адаптивными контроллерами без моделей, которые полезны для адаптации к неизвестной динамике системы и неизвестным отображениям из параметров управления в целевую функцию. При поиске нескольких параметров блок Extremum Seeking Control использует отдельный цикл настройки для каждого параметра.
Блок Extremum Seeking Control ищет оптимальные параметры управления путем модулирования (возмущения) параметров синусоидальными сигналами и демодуляции полученной возмущенной целевой функции.
Чтобы сконфигурировать алгоритм поиска экстремума, установите соответствующие частоты принудительной обработки, сигналы демодуляции и модуляции, скорости обучения и начальные условия параметра. При конфигурировании блока убедитесь, что динамика системы находится в самой быстрой временной шкале, частоты, заставляющие возмущение, находятся в среднем временной шкале, а частоты отключения фильтра находятся в самой медленной временной шкале.
Для получения дополнительной информации смотрите Extremum Searning 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
- Количество параметров1
(по умолчанию) | положительным целым числом менее 5Можно одновременно настроить до пяти параметров. Блок использует отдельный цикл настройки для каждого параметра.
Параметры блоков:
'paramCount'
|
Тип: Вектор символов |
По умолчанию:
'1'
|
Initial condition
- Начальное условие параметра x 01
(по умолчанию) | конечный вектор | скаляраНачальные значения параметров, которые соответствуют начальным условиям интеграторов обновления параметров.
Если Number of parameters 1
, задайте Initial condition как конечный скаляр.
Чтобы задать различные начальные условия для нескольких параметров, задайте Initial condition как вектор конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать одно и то же начальное условие для всех параметров, задайте Initial condition как конечный скаляр.
Параметры блоков:
'initialVal'
|
Тип: Вектор символов |
По умолчанию:
'0'
|
Forcing frequency
- Частотный коэффициент ω1
(по умолчанию) | положительный конечный вектор | скаляраЗадайте частоту сигналов модуляции и демодуляции в радианах в секунду. Для заданного цикла настройки параметра задайте частоту форсирования, которая ниже частот важной динамики системы и выше частот отключения фильтра высоких и нижних частот.
При настройке одинарного параметра задайте Forcing frequency как положительный конечный скаляр.
При настройке нескольких параметров задайте Forcing frequency как вектор положительных конечных значений с длиной, равной Number of parameters. Каждая частота принуждения должна быть уникальной, что гарантирует сходимость алгоритма поиска экстремума.
Параметры блоков:
'omega'
|
Тип: Вектор символов |
По умолчанию:
'1'
|
Learning rate
- частота обновления параметров k1
(по умолчанию) | положительный конечный вектор | скаляраСкорость обучения является коэффициентом усиления, который управляет частотой, с которой блок обновляет параметр.
При настройке одинарного параметра задайте Learning rate как положительный конечный скаляр.
При настройке нескольких параметров можно задать разную скорость обучения для каждого цикла настройки параметра. Для этого задайте Learning rate как вектор положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же скорость обучения для всех циклов настройки, задайте Learning rate как положительный конечный скаляр.
Параметры блоков:
'gain'
|
Тип: Вектор символов |
По умолчанию:
'1'
|
Demodulation amplitude
- Амплитуда сигнала демодуляции a1
(по умолчанию) | положительный конечный вектор | скаляраЗадайте амплитуду сигнала, используемого для демодуляции целевой функции. Для большинства приложений задайте Demodulation amplitude ≫ Modulation amplitude. Продукт этих амплитуд, наряду с частотой обучения, управляет скоростью сходимости алгоритма.
При настройке одинарного параметра задайте Demodulation amplitude как положительный конечный скаляр.
При настройке нескольких параметров можно задать разную амплитуду демодуляции для каждого цикла настройки параметра. Для этого задайте Demodulation amplitude как вектор положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же амплитуду для всех циклов настройки, задайте Modulation phase как положительный конечный скаляр.
Параметры блоков:
'demodAmp'
|
Тип: Вектор символов |
По умолчанию:
'1'
|
Demodulation phase
- Фаза сигнала демодуляции ϕ 10
(по умолчанию) | положительный конечный вектор | скаляраЗадайте фазу сигнала, используемого для демодуляции целевой функции в радианах.
При настройке одинарного параметра задайте Demodulation phase как положительный конечный скаляр.
При настройке нескольких параметров можно задать разную фазу демодуляции для каждого цикла настройки параметра. Для этого задайте Demodulation phase как вектор положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же фазу для всех циклов настройки, задайте Demodulation phase как положительный конечный скаляр.
Фазы демодуляции и модуляции должны удовлетворять условию cos (ϕ 1- ϕ 2) < 0.
Параметры блоков:
'demodPhase'
|
Тип: Вектор символов |
По умолчанию:
'0'
|
Modulation amplitude
- Амплитуда сигнала модуляции b0.1
(по умолчанию) | положительный конечный вектор | скаляраАмплитуда сигнала возмущения, добавленная к расчетным параметрам. Для большинства приложений задайте Modulation amplitude ≪ Demodulation amplitude. Продукт этих амплитуд, наряду с частотой обучения, управляет скоростью сходимости алгоритма.
При настройке одинарного параметра задайте Modulation amplitude как положительный конечный скаляр.
При настройке нескольких параметров можно задать разную амплитуду модуляции для каждого цикла настройки параметра. Для этого задайте Modulation amplitude как вектор положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же амплитуду для всех циклов настройки, задайте Modulation phase как положительный конечный скаляр.
Параметры блоков:
'modAmp'
|
Тип: Вектор символов |
По умолчанию:
'0.1'
|
Modulation phase
- Фаза сигнала модуляции ϕ 20
(по умолчанию) | положительный конечный вектор | скаляраФаза сигнала возмущения, добавленная к расчетным параметрам, заданная в радианах. Необходимо выбрать фазу демодуляции ϕ 1 и фазу модуляции ϕ 2 так, чтобы cos (ϕ 1- ϕ 2) < 0.
При настройке одинарного параметра задайте Modulation phase как положительный конечный скаляр.
При настройке нескольких параметров можно задать разную фазу модуляции для каждого цикла настройки параметра. Для этого задайте Modulation phase как вектор положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же фазу для всех циклов настройки, задайте Modulation phase как положительный конечный скаляр.
Параметры блоков:
'modPhase'
|
Тип: Вектор символов |
По умолчанию:
'0'
|
Enable HPF
- Включите высокочастотную фильтрацию сигнала целевой функцииoff
(по умолчанию) | on
Выберите этот параметр, чтобы включить фильтр высоких частот, который удаляет любое смещение сигнала из сигнала целевой функции перед каскадом демодуляции. Чтобы задать частоту отключения фильтра, используйте параметр HPF frequency.
Параметры блоков:
'highPassEnable'
|
Тип: Вектор символов |
По умолчанию:
'off'
|
HPF frequency
- Частота отключения высокочастотного фильтра ωh1
(по умолчанию) | положительный конечный вектор | скаляраЧастота отсечения для высокочастотной фильтрации сигнала целевой функции, заданная в радианах в секунду. Для заданного контура настройки параметра задайте частоту среза, такую что ωh < ωh/( 2 π), где ω является соответствующей частотой форсировки.
При настройке одинарного параметра задайте HPF frequency как положительный конечный скаляр.
При настройке нескольких параметров можно задать разную частоту для каждого цикла настройки параметра. Для этого задайте HPF frequency как вектор положительных конечных значений с длиной, равной Number of parameters. В противном случае, чтобы задать ту же частоту для всех циклов настройки, задайте HPF frequency как положительный конечный скаляр.
Чтобы включить этот параметр, выберите параметр Enable HPF.
Параметры блоков:
'highPassCutoff'
|
Тип: Вектор символов |
По умолчанию:
'1'
|
Enable LPF
- Включить низкочастотную фильтрацию демодулированного сигналаoff
(по умолчанию) | on
Выберите этот параметр, чтобы включить фильтр lowpass, который удаляет высокочастотные компоненты из демодулированного сигнала перед каскадом обновления параметра. Чтобы задать частоту отключения фильтра, используйте параметр LPF frequency.
Параметры блоков:
'lowPassEnable'
|
Тип: Вектор символов |
По умолчанию:
'off'
|
LPF frequency
- Частота отключения низкочастотного фильтра ωl1
(по умолчанию) | положительный конечный вектор | скаляраЧастота отсечения для низкочастотной фильтрации демодулированного сигнала, заданная в радианах в секунду. Для заданного контура настройки параметра задайте частоту среза, такую что ω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 поддерживает генерацию кода только для сигналов двойной точности.
При запуске в режиме Rapid Accelerator блок Extremum Seeking Control не поддерживает логгирование данных.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.