BOD - The Digital Magnitude Optimum |
Applying MATLAB there is a toolbox BOD version 3.0 available. Download may be done regarding following several m-files und demos, or packed as ZipFile. Please note: if you select several functions only, do not forget to download directory private in either case:
File name | Function |
---|---|
bod bod_2 |
Calculation of discontinuous controllers using the
Discontinuous Magnitude Optimum (BOD) - starting via a plant
given in z-domain, typically applying function trans of the BOD toolbox.
LTI syntax optionally; menu-driven optionally. based on reconfigurations of the generel equation system; application of fsolve only in case of PID controller and delayed input signals; bod_2: old fsolve syntax |
bodg | Supporting file for bod.m; calling makes sense by bod.m only. |
bod_gen | Application of the Discontinuous Magnitude Optimum (BOD) to calculate the
coefficients of a discontinuous controller RZ (and optionally pre-filter FZ
if applicable); without any internal pole compensation - if desired: previous
external realization necessary! => direct application of the generel BOD equation system, generel use of fsolve; also Lead/Lag controller of 1. and 2. order |
bod_gen_eq | Supporting file for bod_gen.m; calling makes sense by bod_gen.m only. |
bod_prefi_opt | Optimization of the pre-filter, hybrid optimization according to the Digital Magnitude Optimum (BOD), i.e. controller setting causes behaviour for delayed inputs, setting of the new pre-filter causes behaviour for undelayed inputs. |
bod_rst | Application of the Discontinuous Magnitude Optimum (BOD) to calculate
directly the coefficients of a RST control structure. For RST control structure see: Landau/Zito "Digital Control Systems", Springer 2010. |
bod_rst_eq | Supporting file for bod_rst.m; calling makes sense by bod_rst.m only. |
eez | Calculation of discontinuous controllers using the method of Finite Time Settling (EEZ=EndlicheEinstellZeit) - starting via a plant given in z-domain, typically applying function trans of the BOD toolbox; LTI syntax optionally; menu driven optionally. |
gmt | Calculation of weighted mean value dead times in case of application of bus systems within control loops. |
guete | Calculation of step response quality criteria using SIMULINK simulation results of a closed loop. |
kaskade | Optimization of a cascade control structure using discontinuous controllers; optionally 2 or 3 cascaded control loops. |
kmatrix | Calculation weighting factors for the BOD optimization equation system. |
simu | Step response of a single control loop - simulation and quality criteria. |
trans | All-purpose z-transform of transfer functions starting from
Laplace into z-domain: G(s)=za(s)/ne(s) - whole-number dead times separately!
LTI syntax optionally; menu driven input optionally;
output vectors of same order; real zeros in numerator; Upgrading of c2d/c2dm by consideration of the coupling of controller and plant (T/H) as well as of the measuring method (A/M). |
urlaz | Conversion of controller parameters inside Laplace(s) and z-domain(z); conversion based on approximations; optionally menu driven; applicable to impart quasi-continuous knowledge of controllers designed by means of the Discontinuous Magnitude Optimum (BOD). |
zust_au1 zust_au2 |
State control structure 1: coefficient number 3; automated; here >>>plant<<< only; application of the Discontinuous Magnitude Optimum (BOD) to calculate coefficients of a discontinuous state control structure; variants 1 and 2 differ in fsolve calling. |
zust_aug1 zust_aug2 |
Supporting files for zust_au1.m resp. zust_au2.m - here >>>control
structure<<< in z-domain; calling makes sense via zust_au1 resp. zust_au2 only. |
zust_aup1 zust_aup2 |
State control structure 1; coefficient number 3; here: parameter
variations: motor, spring and load time constant; variants 1 and 2 differ in fsolve calling. |
zust_aut1 zust_aut2 |
State control structure 1; coefficient number 3; here: parameter
variations: sampling time and first order time delay model of the closed
current control loop; variants 1 and 2 differ in fsolve calling. |
zust_bran_2 | State control structure 2: coefficient number 4; automated; here >>>plant<<< only; application of the Discontinuous Magnitude Optimum (BOD) to calculate coefficients of a discontinuous state control structure. |
zust_bran_2gl | Supporting file for zust_bran_2.m - here >>>control structure<<< in z-domain; calling makes sense via zust_bran_2 only. |
Applying MATLAB and SIMULINK directory DEMO offers following m- and mdl-Files containing examples for scripts to call above listed functions resp. Simulink simulation structures to check the results:
File name | Function | Simulation |
---|---|---|
demo_1 | Demo for use of trans.m and bod.m - see also DEMO_BOD (LTI model definition),
the demo contains two menu-driven examples; example 1: undelayed input signals without pole compensation; example 2: delayed input signals including pre-filter |
demo_1s |
demo_2 | Demo for use of zust_au.m / zust_aug.m - application of BOD for
state control structures; example: two mass system with reference in journal "Automatisierungstechnik"; application of Digital Magnitude Optimum results in three controller parameters. |
demo_2s |
DEMO_BOD | Application of function bod.m (Digital Magnitude Optimum) and optionally input
/ output of LTI models and / or optionally menu-driven or vector control; example 1: two time-delay elements controller variants: 5 regarding undelayed, 3 regarding delayed input signals; example 2: demo applying a damped controller derivative part |
DEMO_BODs |
demo_BOD_rst | Application of function bod_rst.m, i.e. application of the Digital Magnitude Optimum (BOD) to a RST control structure by Landau/Zito (see bod_rst.m), plant features a large dead time. | demo_BOD_rst_s |
DEMO_EEZ | Application of function eez.m (Finite Time Settling) and optionally input
/ output of LTI models and / or optionally menu-driven or vector control; example 1: two time-delay elements controller variants for undelayed input signals: 4 regarding complete pole compensation, 3 regarding ramp input, 2 regarding partial pole compensation; example 2: one time-delay element and mean value measurement controller variants for delayed input signals: 9 controller and pre-filter resulting from possible combinations of {0, 1, 2} suboptimal rise time steps; example 3: more complex example, according reference in journal "Automatisierungstechnik". |
DEMO_EEZs |
DEMO_GUETE | Application example for guete.m: calculation of quality criteria based on a single step responses of a closed control loop; computation each with undelayed and delayed input signal, latter with pre-filter; determination of quality criteria's of two set-point and one disturbance step responses. | DEMO_GUETEs |
DEMO_KASKADE1 | Application of Kaskade.m to three cascaded control loops;
calculation of 4 controller variants regarding undelayed input signals: BOD/BOD/BOD; FTS/FTS/FTS; FTS/BOD/BOD; FTS/FTS/BOD "BOD" - Discontinuous Magnitude Optimum; "FTS" - Finite Time Settling no consideration of controller output limitations: for practical use see method: "limitation backward calculation" |
DEMO_KASKADEs |
DEMO_KASKADE2 DEMO_KASKADE2a |
Application of Kaskade.m to three cascaded control loops;
calculation of 4 controller variants regarding undelayed input signals: BOD/BOD/BOD; FTS/FTS/FTS resp. FTS/FTS; FTS/BOD/BOD; FTS/FTS/BOD; "BOD" - Discontinuous Magnitude Optimum; "FTS" - Finite Time Settling; >>>DIFFERENCE to DEMO_KASKADE1: partially mean value measuring<<< >>>DEMO_KASKADE2a - one example features two control loops only:<<< |
DEMO_KASKADEs DEMO_KASKADE2s |
DEMO_KASKADE3 DEMO_KASKADE3b |
Application of Kaskade.m to three cascaded control loops;
calculation of 4 controller variants regarding undelayed input signals: BOD/BOD/BOD; FTS/FTS resp. FTS/FTS/BOD; FTS/FTS/FTS; FTS/BOD/BOD; "BOD" - Discontinuous Magnitude Optimum; "FTS" - Finite Time Settling; >>>DIFFERENCE to DEMO_KASKADE1: delayed input signals for middle control loop<<< >>>DEMO_KASKADE3: one example features two control loops only<<< |
DEMO_KASKADEs |
DEMO_SIMU | Use of function simu.m for a fast check of discontinuous controller parameters
without Simulink; z-transform and controller parameter computation for one plant as well as subsequent simulation and quality criteria computations regarding undelayed and delayed step responses. |
DEMO_SIMUs |
regber1 | Controller parameter computation - comparison of different variants 1: use of two time-delay elements as plant, z-transform of the plant; computation of 4 controllers: applying Magnitude Optimum, quasi-continuous design, Digital Magnitude Optimum (BOD) and Finite Time Settling (EEZ); simulation of plant and control loop step responses; user inputs may vary BOD and EEZ controller parameters; use of numerator and denominator polynomial representations of plants and controllers. |
regber1s |
regber2 | Controller parameter computation - comparison of different variants 2: use of two time-delay elements as plant, z-transform of the plant; computation of 7 controllers: applying Digital Magnitude Optimum (PI-type and PID-type controllers each with and without pole compensation) and Finite Time Settling (minimum form, one and two suboptimal rise time steps); simulation of plant and control loop step responses; controller computation is based on control vectors and therefore may not be varied; use of LTI representations of plants and controllers. |
regber2s |
LL_ExampleZanasi | Lead Lag controller of 1. and 2. order based on BOD, i.e. about 63° phase
margin - applying bod_gen; Simulation of an example by Zanasi |
LLC_ExampleZanasis |
LL_ExampleYeung | Lead Lag controller of 1. and 2. order based on BOD, i.e. about 63° phase
margin - applying bod_gen; Simulation of an example by Yeung |
LLC_ExampleYeungs | bod_prefi_opt_check01_par | Application of bod_prefi_opt.m to example: PID controller and plant
with two first-order time-delay elements; ...RA... test with reduced accuracy |
bod_prefi_opt_check01_sim bod_prefi_opt_check01_RA_sim |
bod_prefi_opt_check02_par | Application of bod_prefi_opt.m to example: PI, PID, and PID2 controller and non-minimum-phase (2 zeros) plant with 5th order time-delay element and dead time; ...RA... test with reduced accuracy |
bod_prefi_opt_check02_sim bod_prefi_opt_check02_RA_sim |
bod_prefi_opt_check03_par | Application of bod_prefi_opt.m to example: PI, PID, and PID2 controller and plant with four first-order time-delay elements with similar time constants; ...RA... test with reduced accuracy |
bod_prefi_opt_check03_sim bod_prefi_opt_check03_RA_sim |
bod_prefi_opt_check04_par | Application of bod_prefi_opt.m to example: PID controller and non-minimum-phase (1 zero) plant with one second-order time-delay element and one fourth-order time-delay element; test with reduced accuracy in parallel | bod_prefi_opt_check04_sim |
bod_prefi_opt_check05_par | Application of bod_prefi_opt.m to example: PID2 controller and plant with five first-order time-delay elements; test with reduced accuracy in parallel | bod_prefi_opt_check05_sim |