Engee documentation

Extremum Seeking Control

Calculates the parameters of the regulator in real time to find the extremum of the objective function.

blockType: SubSystem

Path in the library:

/Control Systems/Adaptive Control/Extremum Seeking Control

Description

Block Extremum Seeking Control adjusts the parameters of the regulator to find the extremum of the objective function.

To configure the extremum search algorithm, set the appropriate exposure frequencies, demodulation and modulation signals, learning rates, and initial parameter conditions. When setting up the unit, make sure that the system dynamics corresponds to the fastest time scale, the disturbance frequencies correspond to the average time scale, and the filter cutoff frequencies correspond to the slowest time scale. It is possible to implement extreme search controllers in both continuous and discrete time. Changing the time domain of the controller affects the time domain of high-pass filters, low-pass filters and integrators

Ports

Input

# J — objective function
scalar

Details

The objective function of the control system changes as a result of the system’s response to the disturbed parameters.

Data types

Float64

Complex numbers support

I don’t

Output

# theta — perturbed parameters
scalar | vector

Details

Perturbed parameters.

Data types

Float64

Complex numbers support

I don’t

# theta_hat — estimated parameters

+ scalar | vector

Details

Use this output port to get estimated parameter values before they are distorted by the modulating signal.

If the parameter value is Number of parameters equal to 1, then theta_hat outputs a scalar signal. Otherwise, theta_hat outputs a vector signal with a length equal to the parameter value Number of parameters.

Dependencies

To use this port, check the box Output estimated parameters.

Типы данных

Float64

Support for complex numbers

None

Parameters

Time Domain

# Time Domain — time domain of the filter and integrator
Continuous time | Discrete time

Details

Select a time domain for low-pass filters, high-pass filters, and an integrator.

Values

Continuous time | Discrete time

Default value

Continuous time

Program usage name

timeDomainStatus

Tunable

No

Evaluatable

Yes

Parameters

# Number of parameters — number of parameters

Details

Specify the number of parameters. The block will use separate settings for each parameter.

Default value

1

Program usage name

paramCount

Tunable

No

Evaluatable

Yes

# Forcing frequency omega (rad/s) — frequency of exposure

Details

Specify a frequency of exposure that is lower than the frequencies of important system processes and higher than the cutoff frequencies of the high and low pass filters.

Default value

1.0

Program usage name

omega

Tunable

No

Evaluatable

Yes

# Initial condition x0 — initial parameter values

Details

The initial values of the parameters.

Default value

0.0

Program usage name

initialVal

Tunable

No

Evaluatable

Yes

# Learning rate k — The rate of parameter updates

Details

The gain factor, which determines the rate at which the parameters in the block are updated.

Default value

1.0

Program usage name

gain

Tunable

No

Evaluatable

Yes

Demodulation Signal

# Demodulation amplitude a — amplitude of demodulation

Details

Specify the amplitude of the signal used to demodulate the objective function.

Default value

1.0

Program usage name

demodAmp

Tunable

No

Evaluatable

Yes

# Demodulation phase phi_1 (rad) — demodulation phase

Details

Specify the phase of the signal used to demodulate the objective function. The modulation phase. The demodulation phase and modulations you should choose so that .

Default value

0.0

Program usage name

demodPhase

Tunable

No

Evaluatable

Yes

Modulation Signal

# Modulation amplitude b — modulation amplitude

Details

The amplitude of the disturbance signal added to the estimated parameters.

Default value

0.1

Program usage name

modAmp

Tunable

No

Evaluatable

Yes

# Modulation phase phi_2 (rad) — The modulation phase

Details

The phase of the disturbance signal added to the estimated parameters. The demodulation phase and modulations you should choose so that .

Default value

0.0

Program usage name

modPhase

Tunable

No

Evaluatable

Yes

High-Pass Filter (HPF)

# Enable HPF — turn on high frequency

Details

Turns on the high-pass filter.

Default value

false (switched off)

Program usage name

highPassEnable

Tunable

No

Evaluatable

Yes

Low-Pass Filter (LPF)

# Enable LPF — turn on the low-pass filter

Details

Turns on the low-pass filter.

Default value

false (switched off)

Program usage name

lowPassEnable

Tunable

No

Evaluatable

Yes

Ports

# Output estimated parameters — add output of estimated parameters

Details

Enable this setting to add the theta_hat output port.

Default value

false (switched off)

Program usage name

estimatedVarOn

Tunable

No

Evaluatable

Yes