Extremum Seeking Control
|
Page in progress. |
Calculates the parameters of the regulator in real time to find the extremum of the objective function.
blockType: SubSystem
|
Path in the library:
|
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 |
|
| Complex numbers support |
I don’t |
Output
#
theta
—
perturbed parameters
scalar | vector
Details
Perturbed parameters.
| Data types |
|
| Complex numbers support |
I don’t |
# theta_hat — estimated parameters
+
scalar | vector
Details
Use this output port to obtain 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.
| Data types |
|
| 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 |
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
Discrete-Time Settings
# Sample Time — sampling time
Details
Specify the sampling time for the filters and the integrator.
Dependencies
To use this parameter, specify for the parameter Time Domain meaning Discrete time.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
#
Integrator method —
The integration method
Forward Euler | Backward Euler | Trapezoidal
Details
For discrete-time integrators, you can choose one of the following integration methods:
The direct Euler method ,
The inverse Euler method ,
The trapezoid method ,
where
-
— integrator output signal;
-
— input signal;
-
— the current moment in time;
-
— sampling time.
Dependencies
To use this parameter, specify for the parameter Time Domain meaning Discrete time.
| Values |
|
| Default value |
|
| Program usage name |
|
| 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 |
|
| Program usage name |
|
| 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 |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
# Initial condition x0 — initial parameter values
Details
The initial values of the parameters.
| Default value |
|
| Program usage name |
|
| 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 |
|
| Program usage name |
|
| 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 |
|
| Program usage name |
|
| 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 |
|
| Program usage name |
|
| 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 |
|
| Program usage name |
|
| 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 |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
High-Pass Filter (HPF)
# Enable HPF — turn on high frequency
Details
Turns on the high-pass filter.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
# HPF frequency omega_h (rad/s) — UHF cutoff frequency
Details
The cutoff frequency of the high-pass filter in radians per second.
Dependencies
To use this option, check the box Enable HPF.
| Default value |
|
| Program usage name |
|
| 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 |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
# LPF frequency omega_I (rad/s) — low-pass cutoff frequency
Details
The cutoff frequency of the low-pass filter in radians per second.
Dependencies
To use this option, check the box LPF frequency omega_I (rad/s).
| Default value |
|
| Program usage name |
|
| 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 |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
