The BOD Toolbox – Digital Magnitude Optimum (Digitales Betragsoptimum)
The BOD Toolbox offers the design of discontinuous (digital) controllers based on the optimization equations of the original Magnitude Optimum for continuous control (generalized results of C. Kessler) implemented on discontinuous control systems - without approximations, without restriction to PI controllers - but with consideration of the pre-filter, if applicable, and consideration of different control structures.
Definitions:
From today's point of view, it is reasonable to use the term’s Digital Magnitude Optimum (BOD) for undelayed input variables (implementation of the idea of the classical Magnitude Optimum on discontinuous control loops, without pre-filter, limited to one integrator in the open loop) and Digital Magnitude Optimum (BOD) for delayed input variables (implementation of the idea of the classical Symmetric Optimum on discontinuous control loops, with pre-filter, several integrators possible in the open loop). Thus, the use of the Digital Magnitude Optimum (BOD) generally makes it possible to avoid quasi-continuous methods for the optimization of discontinuous control loops, especially the discretization of continuous controllers due to discontinuous realizations.
Hints on the Z-transformation:
It is recommended to use the toolbox function trans.m for the Z-transformation. This facilitates different variants for modelling with regard to the coupling of controller and controlled system as well as the measurement of the controlled variable. This can be important with regard to actuator models (sampler or zero order sample&hold) and the investigation of measurement methods (instantaneous, mean value, arithmetic mean value). Please be aware that all these combinations affect the result in the Z domain. Furthermore, any integer or non-integer dead times can be taken into account very easily via application of the so-called modified Z-Transformation.
Hints on the control structure:
The toolbox functions enable the controller design for single control loops (bod.m, bod_gen.m), cascade control structures (kaskade.m - maximum 3 cascaded loops, variations of Digital Magnitude Optimum design and Finite Settling Time design) and RST control structures (bod_rst.m).
For basics of the RST structure definition see I.D. Landau / G. Zito, Springer 2010:
About fundamental differences of cascade structures in Laplace domain and in Z-domain see “Power Flow Modelling Based Electric Drive Control Optimization” by G.-H. Geitner and G. Kömürgöz, 11th ELECTRIMACS, 2014:
The application of the Digital Magnitude Optimum (BOD) to state control structures is illustrated by two examples (zust_au.m, zust_aug.m, ..., zust_bran_2.m), and can be applied to other state control structures on this basis.
Some more hints: Some toolbox functions for Digital Magnitude Optimum design (bod.m, bod_gen.m) partially provide mixed pole compensation or optionally damped derivative part as well as versions regarding the call of
the non-linear equation solver fsolve.m (bod.m, bod_2.m resp. zust_au2.m, zust_au1.m). In order to have a comparison to the very fast Finite Settling Time design such functions (eez.m, eez_gen.m) are part of the toolbox likewise. The toolbox also allows the determination of general weighted mean dead times for bus data transfer inside single control loops (gmt.m). Although the aim is to design discontinuous controllers directly, a conversion of controllers in both directions between Laplace domain and Z-domain is integrated with different methods (urlaz.m). Finally, there may be found a possibility for the calculation of step response quality criteria (single criteria or integral criteria) using SIMULINK simulation results of a closed loop (guete.m) and a proposal for an easy stand-alone symbolic definition of control and plant structures and resultant controller design including of examples with structure definitions and Simulink models – see folder SYMDEF and:
Examples: Some examples of the application of the toolbox functions are part of the toolbox, whereby one file for calculation and one file for simulation are prepared in each case, see also:
The examples also illustrate the use of control vectors for selecting specific properties of the controller instead of an optionally menu-driven approach. This enables an advantageous use of the toolbox functions in script files or functions of the users. In addition, some of the toolbox functions optionally use the MATLAB LTI syntax instead of passing numerator and denominator polynomials separately as input arguments for functions.
Final note:
For more basics on C. Kessler’s original Magnitude Optimum (Betragsoptimum) and some issues and recent developments, or if however the actual goal is to design a continuous controller, the following link to the Magnitude Optimum toolbox (toolbox BO) for continuous controller design should be considered: