Вычисление параметров контроллера в реальном времени путем максимизации целевой функции
Проект управления Simulink

Блок Extremum Seeking Control настраивает параметры контроллера для максимизации целевой функции. Контроллеры Extremum Seeking являются адаптивными контроллерами без модели, которые полезны для адаптации к неизвестной динамике системы и неизвестным отображениям из управляющих параметров в целевую функцию. При поиске нескольких параметров блок Extremum Seeking Control использует отдельный цикл настройки для каждого параметра.
Блок Extremum Seeking Control ищет оптимальные параметры управления путем модуляции (возмущения) параметров синусоидальными сигналами и демодуляции результирующей возмущенной целевой функции.

Чтобы сконфигурировать алгоритм поиска экстремума, установите соответствующие частоты форсирования, сигналы демодуляции и модуляции, скорости обучения и исходные условия параметров. При конфигурировании блока убедитесь, что динамика системы находится в самом быстром масштабе времени, частоты, вызывающие возмущение, находятся в среднем масштабе времени, а частоты отсечки фильтра - в самом медленном масштабе времени.
Дополнительные сведения см. в разделе Extremum Seeking Control.
J - Целевая функцияЦелевая функция от системы управления возмущается в результате реакции системы на возмущенные параметры тета. Для вычисления обновлений параметров блок фильтрует и демодулирует J.
theta - Возмущенные параметрыПримените к системе управления эти возмущенные параметры (start). Блок использует результирующее возмущение целевой функции J для вычисления обновлений параметров.
Если количество параметров равно 1, theta выводит скалярный сигнал. В противном случае тета выводит векторный сигнал длиной, равной числу параметров.
theta_hat - Расчетные параметрыИспользуйте этот выходной порт, чтобы получить оцененные значения параметров (как они будут возмущены сигналом модуляции.
Если количество параметров равно 1, theta_hat выводит скалярный сигнал. В противном случае theta_hat выдает векторный сигнал длиной, равной числу параметров.
Чтобы включить этот выходной порт, выберите Output estimated parameters.
Number of parameters - Количество параметров1 (по умолчанию) | положительное целое число менее 5Одновременно можно настроить до пяти параметров. Блок использует отдельный цикл настройки для каждого параметра.
Параметр блока:
'paramCount' |
| Текст: символьный вектор |
По умолчанию:
'1' |
Initial condition - Исходное условие параметра x01 (по умолчанию) | конечный скаляр | векторНачальные значения параметров, соответствующие начальным условиям интеграторов обновления параметров.
Если количество параметров равно 1, укажите начальное условие как конечный скаляр.
Чтобы задать различные начальные условия для нескольких параметров, укажите начальное условие как вектор конечных значений с длиной, равной числу параметров. В противном случае, чтобы задать одно и то же начальное условие для всех параметров, укажите начальное условие как конечный скаляр.
Параметр блока:
'initialVal' |
| Текст: символьный вектор |
По умолчанию:
'0' |
Forcing frequency - Частота форсировки1 (по умолчанию) | положительный конечный скаляр | векторУкажите частоту сигналов модуляции и демодуляции в радианах в секунду. Для заданного контура настройки параметров укажите частоту форсирования, которая ниже частот важной динамики системы и выше частот отсечки фильтра верхних и нижних частот.
При настройке одного параметра укажите Forcing frequency как положительный конечный скаляр.
При настройке нескольких параметров укажите Forcing frequency как вектор положительных конечных значений с длиной, равной Number of parameters. Каждая частота форсирования должна быть уникальной, что гарантирует сходимость алгоритма поиска экстремума.
Параметр блока:
'omega' |
| Текст: символьный вектор |
По умолчанию:
'1' |
Learning rate - Частота обновления параметров k1 (по умолчанию) | положительный конечный скаляр | векторСкорость обучения является коэффициентом усиления, который управляет скоростью, с которой блок обновляет параметр.
При настройке одного параметра укажите скорость обучения как положительный конечный скаляр.
При настройке нескольких параметров можно задать различную скорость обучения для каждого цикла настройки параметров. Для этого задайте скорость обучения как вектор положительных конечных значений с длиной, равной числу параметров. В противном случае, чтобы задать одинаковую скорость обучения для всех циклов настройки, укажите скорость обучения как положительный конечный скаляр.
Параметр блока:
'gain' |
| Текст: символьный вектор |
По умолчанию:
'1' |
Demodulation amplitude - Амплитуда сигнала демодуляции a1 (по умолчанию) | положительный конечный скаляр | векторЗадайте амплитуду сигнала, используемого для демодуляции целевой функции. Для большинства приложений задайте амплитуду демодуляции ≫ амплитуду модуляции. Произведение этих амплитуд, наряду со скоростью обучения, управляет скоростью сходимости алгоритма.
При настройке одного параметра задайте амплитуду демодуляции как положительный конечный скаляр.
При настройке нескольких параметров можно задать различную амплитуду демодуляции для каждого цикла настройки параметров. Для этого задайте амплитуду демодуляции как вектор положительных конечных значений с длиной, равной числу параметров. В противном случае, чтобы задать одинаковую амплитуду для всех циклов настройки, укажите фазу модуляции как положительный конечный скаляр.
Параметр блока:
'demodAmp' |
| Текст: символьный вектор |
По умолчанию:
'1' |
Demodulation phase - Демодуляционный сигнал фазы0 (по умолчанию) | положительный конечный скаляр | векторУкажите фазу сигнала, используемого для демодуляции целевой функции в радианах.
При настройке одного параметра укажите фазу демодуляции как положительный конечный скаляр.
При настройке нескольких параметров можно задать различную фазу демодуляции для каждого цикла настройки параметров. Для этого задайте фазу демодуляции как вектор положительных конечных значений с длиной, равной числу параметров. В противном случае, чтобы задать одну и ту же фазу для всех циклов настройки, укажите фазу демодуляции как положительный конечный скаляр.
Фазы демодуляции и модуляции должны удовлетворять условию cos (start1-start2) < 0.
Параметр блока:
'demodPhase' |
| Текст: символьный вектор |
По умолчанию:
'0' |
Modulation amplitude - Амплитуда модулирующего сигнала b0.1 (по умолчанию) | положительный конечный скаляр | векторАмплитуда сигнала возмущения, добавленная к расчетным параметрам. Для большинства приложений задайте амплитуду модуляции ≪ амплитуду демодуляции. Произведение этих амплитуд, наряду со скоростью обучения, управляет скоростью сходимости алгоритма.
При настройке одного параметра задайте амплитуду модуляции как положительный конечный скаляр.
При настройке нескольких параметров можно задать различную амплитуду модуляции для каждого цикла настройки параметров. Для этого задайте амплитуду модуляции как вектор положительных конечных значений с длиной, равной числу параметров. В противном случае, чтобы задать одинаковую амплитуду для всех циклов настройки, укажите фазу модуляции как положительный конечный скаляр.
Параметр блока:
'modAmp' |
| Текст: символьный вектор |
По умолчанию:
'0.1' |
Modulation phase - Фаза d 2 сигнала модуляции0 (по умолчанию) | положительный конечный скаляр | векторФаза сигнала возмущения, добавленная к расчетным параметрам, указанным в радианах. Вы должны выбрать фазу demodulation (1) и фазу модуляции (2) так, чтобы cos ((1-2)) < 0.
При настройке одного параметра укажите фазу модуляции как положительный конечный скаляр.
При настройке нескольких параметров можно задать различную фазу модуляции для каждого цикла настройки параметров. Для этого задайте фазу модуляции как вектор положительных конечных значений с длиной, равной числу параметров. В противном случае, чтобы задать одну и ту же фазу для всех циклов настройки, укажите фазу модуляции как положительный конечный скаляр.
Параметр блока:
'modPhase' |
| Текст: символьный вектор |
По умолчанию:
'0' |
Enable HPF - Включить высокочастотную фильтрацию сигнала целевой функцииoff (по умолчанию) | onВыберите этот параметр, чтобы включить фильтр верхних частот, который удаляет любое смещение сигнала из сигнала целевой функции перед этапом демодуляции. Чтобы задать частоту отсечки фильтра, используйте параметр частоты HPF.
Параметр блока:
'highPassEnable' |
| Текст: символьный вектор |
По умолчанию:
'off' |
HPF frequency - Частота отсечки фильтра верхних частот1 (по умолчанию) | положительный конечный скаляр | векторЧастота отсечки для высокочастотной фильтрации сигнала целевой функции, заданная в радианах в секунду. Для заданного контура настройки параметров задайте частоту отсечения, такую, что, ((2λ)), где λ - соответствующая частота форсирования.
При настройке одного параметра укажите частоту HPF как положительный конечный скаляр.
При настройке нескольких параметров можно указать различную частоту для каждого цикла настройки параметров. Для этого задайте частоту HPF как вектор положительных конечных значений с длиной, равной числу параметров. В противном случае, чтобы задать одинаковую частоту для всех циклов настройки, укажите частоту HPF как положительный конечный скаляр.
Чтобы включить этот параметр, выберите параметр Enable HPF.
Параметр блока:
'highPassCutoff' |
| Текст: символьный вектор |
По умолчанию:
'1' |
Enable LPF - Включить фильтрацию нижних частот демодулированного сигналаoff (по умолчанию) | onВыберите этот параметр, чтобы включить фильтр нижних частот, который удаляет высокочастотные компоненты из демодулированного сигнала перед этапом обновления параметров. Чтобы задать частоту отсечки фильтра, используйте параметр частоты LPF.
Параметр блока:
'lowPassEnable' |
| Текст: символьный вектор |
По умолчанию:
'off' |
LPF frequency - Частота отсечки фильтра нижних частот1 (по умолчанию) | положительный конечный скаляр | векторЧастота отсечки для фильтрации нижних частот демодулированного сигнала, заданная в радианах в секунду. Для заданного контура настройки параметров укажите частоту отсечки, такую, что, (2), где (1) - соответствующая частота форсирования.
При настройке одного параметра укажите частоту LPF как положительный конечный скаляр.
При настройке нескольких параметров можно указать различную частоту для каждого цикла настройки параметров. Для этого задайте частоту LPF как вектор положительных конечных значений с длиной, равной числу параметров. В противном случае, чтобы задать одинаковую частоту для всех циклов настройки, укажите частоту LPF как положительный конечный скаляр.
Параметр блока:
'lowPassCutoff' |
| Текст: символьный вектор |
По умолчанию:
'1' |
Output estimated parameters - Добавление порта вывода расчетных параметровoff (по умолчанию) | onВыберите этот параметр для добавления порта вывода theta_hat.
Параметр блока:
estimatedVarOn |
| Текст: символьный вектор |
По умолчанию:
'off' |
Блок Extremum Seeking Control поддерживает генерацию кода только для сигналов двойной точности.
При работе в режиме Rapid Accelerator блок Extremum Seeking Control не поддерживает ведение журнала данных.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.

