Next Article in Journal
Stock Selection Using Machine Learning Based on Financial Ratios
Next Article in Special Issue
Analysis of Transmission System Stability with Distribution Generation Supplying Induction Motor Loads
Previous Article in Journal
Stability of Stochastic Networks with Proportional Delays and the Unsupervised Hebbian-Type Learning Algorithm
Previous Article in Special Issue
Design of Polynomial Observer-Based Control of Fractional-Order Power Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Index Matrix-Based Modeling and Simulation of Buck Converter

1
Department of Power Electronics, Technical University of Sofia, 1756 Sofia, Bulgaria
2
Doctoral School, Technical University of Sofia, 1756 Sofia, Bulgaria
3
Department of Telecommunications, University of Telecommunications and Posts, 1700 Sofia, Bulgaria
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(23), 4756; https://doi.org/10.3390/math11234756
Submission received: 23 October 2023 / Revised: 20 November 2023 / Accepted: 22 November 2023 / Published: 24 November 2023
(This article belongs to the Special Issue Modeling, Simulation, and Analysis of Electrical Power Systems)

Abstract

:
The approach described in this paper handles the parameters and characteristics (analog and discrete ones) of a Buck DC-DC converter (in its power and control parts) in a common manner. The usage of probably complicated differential equations for discrete dynamical systems is avoided by means of index matrix equations, which can be easily understood. Compared to classical matrix models, the proposed index matrix models are more descriptive and also smaller in size. Such functionality is widely applied by the authors, and a new operation is defined and used as well. The relevance of the proposed techniques in power electronics, because of switching topologies and a limited numbers of components, is argued. Respective examples of functioning modes of the considered converter, in which power circuits and controllers are modeled jointly, are given. Estimations of analog values are based on partly linear dependencies, which are shown to be adequate in first-order analyses. Specific expressions for a Buck DC-DC converter are presented. A model-solving technique and an exhaustive search on a parameter space are considered in detail and automated via well-formalized algorithms. Nested parameter intervals and verifications with normal probability distributions are used in an optimization procedure. The full agreement of implementation via MATLAB source code with results obtained via Simulink is demonstrated. The short simulation times of this software (compared to Simulink and a .NET desktop application developed by the authors) justify the search for optimal variants in a wide multi-dimensional space. A max–min procedure with 10,000 simulations in each verification step is presented.

1. Introduction

Due to the growing need to convert electricity with electronic means, power electronics is a rapidly developing field. This fact requires new developments and an improvement in the tools used to obtain the optimal design of power electronic devices and systems. On the other hand, because of the presence of power and control parts (controllers), which are quite different and mutually influence and complement each other, in many approaches, electronic converters are not susceptible to modeling as a whole unified system. One of the main purposes of the authors’ papers has been to present a joint technique based on the apparatus of index matrices [1,2].
First-order time-invariant dynamical systems are often used as modeling tools [3,4]. Discrete dynamical systems are represented in [5] via equations with constant classical matrices, and this approach does not differ significantly from well-known control system engineering methods, in which derivatives of state variables are written as linear combinations of system states and inputs [4,6]. Both of the aforementioned techniques determine a simple stability analysis of discrete or analog values in multi-input–multi-output systems, including in power electronic devices [7,8].
In [9], two ideal switches, which work synchronously in a Boost DC-DC converter, determine two functioning modes, and, therefore, two different constant matrices in a process of discrete dynamical modeling. In the present paper, each switch is considered to have two modes too, but the transistor and the diode work out of sync. Such a principle requires variants to be checked and, similarly, determines the exponential dependence of the number of variants on the number of switches [1]. However, the latter is not large in power electronic devices; in the following sections, the transistor and the diode determine four modes. Generally, the switching topologies in power converters do not allow an analysis based on constant matrices or constant differential equations. Therefore, computer simulations are widely used; for example, the graphical programming environment Simulink, which is shown in the present paper in a comparison, provides a set of solvers and has power electronic tools [10].
A feature that dynamical systems have in common is that they are all simulated by estimating states at consecutive model time moments. The obtainment of values on system states (which usually are presented by one-dimensional or multi-dimensional arrays) is known as model solving. No single solving method is optimal for all systems. For example, a typical power conversion system is constituted by subsystems, which have very different levels of detail [11,12]. However, in the present paper, index matrix equations are used in the configuration of electronic components. The discretization step in the algorithm proposed in Section 4 is chosen to be constant; it is obvious that decreasing it increases the accuracy and vice versa (similar dependences are demonstrated in a figure in Section 4). Values on system states are estimated at regular model time intervals from the beginning to the end of the simulation; i.e., a fixed-step solver is constructed. Moreover, the index matrix describing system states can vary in size according to a new kind of multiplication, which is defined for the first time in the present article.
Index matrices (this concept was introduced in 1984) extend classical matrix functionality; their properties have been studied and summarized in [13,14]; basic notes are given in Section 2, too. The index matrices extend the concept of the classical matrices and provide clear correspondence between their elements and indices. Different types of their elements have been proposed; in the present paper, real numbers are used. The index matrices are mainly connected to generalized nets, in which index matrices are basic components [15,16]. Applications of index matrices concern mathematical and real-life objects, for example, databases, but the usage of this apparatus in the modeling of electrical circuits is very rare. A full review of their applications is unpublished as of yet. Indeed, for a long time, they have been used with Boolean values and integers only as an auxiliary tool in generalized net transitions.
Data structures, which implement index matrices in the programming class IndexMatrix, are demonstrated in [1]. There are implementations of all operations from Section 2, except the new one, in this class too. The .NET application, which is presented in [1], concerns analog and digital electronic components and circuits, model solvers, graphics, etc. Its basic feature is the shorter simulation duration compared to Simulink; it has about a 20 times shorter runtime in the case of the considered buck converter and about a 10 times shorter runtime in the case of a three-phase converter. Generally, all model-based design techniques require many simulations [17,18]; the optimization algorithm from Section 5 uses a large number of simulations in a verification process.
The approach discussed In this paper is implemented via MATLAB source code [19]. This choice is natural because classical matrices are presented in the algorithm from Section 4. The core functionality of MATLAB is closely related to matrix manipulation. The obtained runtimes ensure the model’s ability to perform exhaustive searches; this fact is a prerequisite for the application of artificial intelligence techniques, too [2]. The simulation durations of this implementation, as well as those in the cases of the discussed .NET application and Simulink, are given in Section 6.

2. Basic Definitions of Index Matrices with Real Number Elements

All index matrices with real numbers as elements (R-IM) [13,14] have the form
A ¯   =   K , L , a k , l k K , l L  
with index sets (called the first and second one, respectively)
K   =   k 1 , k 2 , , k m , L   =   l 1 , l 2 , , l n .
In the present paper (as well as in [1]), the following notations of K and L are used:
K   =   I 1 A ¯ , L   =   I 2 A ¯ .
The usual graphical representation of the above index matrix form is
A ¯   =   l 1 l 2 l n k 1 a k 1 , l 1 a k 1 , l 2 a k 1 , l n k 2   a k 2 , l 1 a k 2 , l 2 a k 2 , l n k m a k m , l 1 a k m , l 2 a k m , l n .
Lines divide indices from elements. All indices from the index set are used like lower indices, too. Each element is positioned in the same row with the index which is identical to its first lower index and in the same column with the index which is identical to its second lower index. The ordering of the indexes explicitly determines the ordering of the elements. Swaps of rows or columns (along with the indexes) of an index matrix do not change it. For comparison, in the classical matrices, row and column indexes are implicitly used, and any swap of elements must generally correspond to respective swaps in other objects in order dependencies (for example, in matrix equations) to be preserved.
Authors’ notations of index and classical matrices are proposed here; they lead to clear expressions, those in algorithms (1), (2) and respectively (4) can be represented by a classical matrix (which is denoted by “CM” in the present paper)
A   =   C M U , V   A ¯   =   a u 1 , v 1 a u 1 , v 2 a u 1 , v n a u 2 , v 1 a u 2 , v 2 a u 2 , v n a u m , v 1 a u m , v 2 a u m , v n
and ordered sets
U   =   u 1 , u 2 , , u m , V   =   v 1 , v 2 , , v n ,
where U and V are permutations of I 1 A ¯ and I 2 A ¯ , respectively. There are m ! n ! options for (5) according to all permutations in (6). It is important to note that these variants differ only by ordering. The inverse notation
I M U , V A   =   A ¯
on C M U , V   A ¯   =   A is also used in the present paper.
Brief notes of basic operations (summation, multiplication, transposing and projecting of index matrices—see [12,13]) are given below in order of specific usages (for example, in summation with non-intersecting index sets) and a new definition of a multiplication to be argued.
An example of a transpose R-IM is
G ¯   =   A ¯ T   =   K , L , a k , l k K , l L T   =   L , K , g l , k       a k , l l L , k K .
Each projection of A ¯ (this one is an index sub-matrix, denoted by H ¯ below, with notation H ¯ A ¯ in the present paper) has the form
H ¯       p r o R , S A ¯   =   R , S , a r , s r R , s S A ¯ , R K , S L .
Let R-IM
B ¯   =   P , Q , b p , q p P , q Q
be given. Sum
A ¯     B ¯   =   K P , L Q , c r , s r K P , s L Q ,
c r , s   =   a r , s , i f   r K s L Q r K P s L ; b r , s , i f   r P s Q L r P K s Q ; a r , s   +   b r , s , i f   r K P s L Q ; 0 , o t h e r w i s e ;
is a R-IM. Formally, all classical matrix sums can be represented by a proper case of the upper R-IM sum, for which K     P and L     Q (see value a r , s   +   b r , s in the third case of c r , s ). Oppositely, if there is a given lack of intersection of index sets, this value can be excluded from (11):
K P   =   L Q   =   c r , s   =   a r , s , i f   r K s L ; b r , s , i f   r P s Q ; 0 , o t h e r w i s e ;
Here, all elements of A ¯ and B ¯ are presented in different parts of A ¯     B ¯ .
The product of A ¯ and B ¯
A ¯     B ¯   =   K P L , Q L P , d r , s r K P L , s Q L P ,
d r , s   =   a r , s , i f   r     K s     L P Q ;   b r , s , i f   r     P K L s     Q ; t   L P a r , t b t , s   , i f   r     K s     Q ; 0 , o t h e r w i s e ;
is an R-IM, too. Formally, all classical matrix products can be represented by a proper case of the upper R-IM product, for which L     P (see the sum in its common form).
A new kind of an R-IM product is defined below by the authors:
A ¯     B ¯   =   K , Q L P , d r , s r K , s Q L P
d r , s   =   a r , s , i f   s     L P Q ; t   L   P a r , t b t , s   , i f   s     Q .
It reduces A ¯     B ¯ according to its rows (the first index sets of A ¯ and A ¯     B ¯ are identical):
A ¯     B ¯   =   p r o I 1 A ¯ , I 2 A ¯     B ¯ A ¯     B ¯   .
The following statements hold:
L P A ¯     B ¯   =   K P L , Q , d r , s r K P L , s Q ,
d r , s   =   b r , s , i f   r     P K L ; t   L a r , t b t , s , i f   r     K .
L   P A ¯     B ¯     =     K , Q , d r , s r K , s Q , d r , s     =     t   L a r , t b t , s .
Examples of the new R-IM multiplication are given in the next sections.

3. R-IM Models in Electronic Circuit Design

3.1. Models of Electronic Components

Models of basic electronic components are given below. Similar but simpler ones are described in [1], in which ideal components are used; additional resistances and potential barriers are taken into account below.
Let time set Θ with sampling step Δ t and discretization frequency F d be given under the following restrictions:
Θ     t 0 , t 0   +   Δ t , t 0   +   2 Δ t , , t 0 , Δ t , Δ t   =   1 F d   >   0 .
An R-IM, which concerns an inductor with inductance L and additional resistance R L , is presented at first:
F L ¯   =   u L c u i L c u i L p r c L 1   L Δ t   +   R L L Δ t .
c L denotes the inductor. u L c u , i L c u , u L p r and i L p r indicate voltages (with “u”) and amperages (with “i”) in current ( t     Θ , marked by “cu”) and previous t Δ t , marked by “pr”) time moments. This notation is used by the authors in [1] too; index matrix
X L ¯ ( t )   =   u L c u i L c u   u L p r i L p r o u L ( t ) i L ( t ) u L ( t Δ t ) i L ( t Δ t ) T ,
where o is a common index, contains all these four indexes. The R-IM equation
F L ¯     X L ¯ ( t )     o o 1    
    o c L u L ( t )   +   L Δ t   +   R L i L ( t ) L Δ t i L ( t Δ t )   =   O ¯
( O ¯ is a zero R-IM—its only element is equal to zero) determines equality
u L ( t )   =   L i L ( t ) i L ( t Δ t ) Δ t   +   R L i L ( t ) ,
which is an approximation of differential equation
u L ( t )   =   L d i L ( t ) d t   +   R L i L ( t ) .
Equation (21) is based on the new R-IM multiplication (14). For comparison,
F L ¯     X L ¯ ( t )     o o 1     o c L u L ( t )   +   L Δ t   +   R L i L ( t ) L Δ t i L ( t Δ t ) u L p r u L ( t Δ t ) o 1
Similarly, in case of a capacitor with capacitance C and additional resistance R C approximation
i C ( t )   =   C u C ( t ) R C i C ( t ) u C ( t Δ t ) R C i C ( t Δ t ) Δ t
can be presented by
F C ¯   =   u C c u   i C c u u C p r i C p r c C C Δ t 1 C R C Δ t   C Δ t C R C Δ t .
In the same manner, index matrix X C ¯ ( t ) with four elements (see (20)) and an analog of Equation (21) can be formed.
The presented approach can be extended to other power components from Figure 1, and common index matrices can be constructed:
F P C s ¯ ( t )   =   F E ¯     F T o u t ¯ ( t )     F D ¯ ( t )     F L ¯     F C ¯     F R ¯ ;
X P C s ¯ ( t )   =   X E ¯ ( t )     X T o u t ¯ ( t )     X D ¯ ( t )     X L ¯ ( t )     X C ¯ ( t )     X R ¯ ( t ) .
Abbreviation “PCs” means “power components” (all of the last ones, which are presented below, are two-terminal except the transistor). F T o u t ¯ ( t ) and X T o u t ¯ ( t ) concern the transistor in its emitter–collector junction.
The next R-IM models the diode functioning:
F D ¯ ( t )   =   F D 1 ¯     u D c u i D c u   o c D 1 R D U D 0 , i f   u D ( t )   >   U D 0 ; F D 0 ¯     i D c u c D 1 , o t h e r w i s e .
It leads to the following statements:
u D ( t )   >   U D 0 u D ( t )   =   U D 0   +   R D i D ( t ) .
u D ( t )     U D 0 i D ( t )   =   0 .
Here, U D 0 and R D denote a threshold voltage (a potential barrier) and a dynamic resistance, respectively.
The next R-IM models the transistor emitter–collector junction functioning:
F T o u t ¯ ( t )   =     F T o u t 1 ¯     u T o u t c u i T o u t c u o c T o u t 1 R T o u t U T o u t 0 , i f   s T i n ( t )   =   1 u T o u t ( t )   >   U T o u t 0 ; F T o u t 0 ¯     i T o u t c u c T o u t 1 , o t h e r w i s e .
Similarly to the diode model, it determines the following statements:
s T i n ( t )   =   1 u T o u t ( t )   >   U T o u t 0 u T o u t ( t )   =   U T o u t 0   +   R T o u t i T o u t ( t ) ,
s T i n ( t )   =   0 u T o u t ( t )     U T o u t 0 i T o u t ( t )   =   0 ;
with threshold voltage U T o u t 0 and dynamic resistance R T o u t ; signal s T i n ( t ) on the input of the IGBT is digital.
F R ¯ and F E ¯ , which model the resistor and the voltage source, are simpler:
F R ¯   =   u R c u i R c u   c R 1 R ; F E ¯   =   u E c u i E c u   o c E 1 R E E .
The following equations (see (27) and (28)) can be used with the upper R-IMs:
F P C s ¯     X P C s ¯ ( t )     o o 1   =   O ¯ ;
F P C ¯     X P C ¯ ( t )     o o 1   =   O ¯ , P C E , T o u t , D , L , C , R .
The components of the considered control circuit (see Figure 1) can be modeled by R-IMs in a similar manner [1]. The subtraction block with target voltage U Target , the proportional–integral (PI) controller and the pulse-width modulation (PWM) block are presented by F S u b ¯ , F P I ¯ and F P W M ¯ ( t ) , respectively, below:
F S u b ¯   =   u S u b i n c u u S u b o u t c u o c S u b 1 1 U T a r g e t ;
F P I ¯   =   u P I o u t c u u P I o u t p r u P I i n c u u P I i n p r   c P I 1 Δ t 1 Δ t K p Δ t   +   K i K p Δ t   ;
F P W M ¯ ( t )   =     s P W M o u t c u o c P W M 1 1 , i f   u T r i a n g ( t )   <   u P W M i n ( ψ ) ;   s P W M o u t c u o c P W M 1 0 , o t h e r w i s e ;
where
ψ   t Δ t s Δ t , t Δ t   ,
is a time moment from Θ (values of u P W M i n are checked for such time moments with sampling step Δ t s , and
u T r i a n g : Θ 0 ,   1
is a triangular function with period 1 and amplitude Δ t s   =   1 F s ). The two cases of index matrix (40) determine digital signal s P W M o u t t , t Θ :
u T r i a n g t   <   u P W M i n ψ s P W M o u t t   =   1 ;
u T r i a n g t     u P W M i n ψ s P W M o u t t   =   0 .

3.2. Models of Component Connections and Electronic Circuits

In [1], nodes and loops are modeled according to Kirchhoff’s laws. The respective sums of R-IMs in case of the present paper are
F N ¯   =   i E c u i T o u t c u i D c u i L c u i C c u i R c u n 1 1 1 0 0 0 0 n 2 0 1 1 1 0 0 n 3 0 0 0 1 1 1 ;
F P ¯   =   u E c u u T o u t c u u D c u u L c u u C c u u R c u p 1 1 1 1 0 0 0 p 2 0 0 1 1 1 0 p 3 0 0 0 0 1 1 ;
The first one models nodes according to Kirchhoff’s current law, and the second one models loops according to Kirchhoff’s voltage law. The upper R-IMs are constructed in order conditions
r a n k C M U N , V N F N ¯   =   I 1 F N ¯   ; r a n k C M U P , V P F P ¯   =   I 1 F P ¯   ;
to be satisfied, where U N , V N , U P and V P are permutations of the index sets of F N ¯ or F P ¯ (see (5) and (6)). Here and below, rank A denotes the rank of classical matrix A, and S denotes the cardinality of set S.
F P C i r c ¯ t     X P C i r c ¯     o o 1   =   O ¯   ,
F P C i r c ¯ t   =   F P C s ¯ t     F N ¯     F P ¯   ,
X P C i r c ¯ t   =   X P C s ¯ t
represent the considered power circuit with its components and junctions. In order to create a more compact model, the following function of R-IM F ¯ t is defined below:
X F ¯ t   =   I 2 F ¯ t , o , x m , o t m I 2 F ¯ t
x m , o t   =   u e t , i f   m     u e c u ; i e t , i f   m     i e c u ; u e t Δ t , i f   m     u e p r ; i e t Δ t , i f   m     i e p r ; s e t , i f   m     s e c u ; 1 , i f   m     o .
For example (see (19) and (20)),
X F L ¯ ( t )   =   u L c u i L c u   i L p r o u L t i L t i L t Δ t T .
Indeed,
I 2 F P C i r c ¯ t   =   14 ; I 1 X P C i r c ¯ t     o o 1   =   25 ;
and 11 columns of X P C i r c ¯ t are not usable in (48). The following statements hold:
F P C ¯ t     X P C ¯ t     o o 1   =   F P C ¯ t     X F P C ¯ t   =   O ¯ ,
P C E , T o u t , D , L , C , R ;
F P C s ¯ t     X P C s ¯ t     o o 1   =   F P C s ¯ t     X F P C s ¯ t   =   O ¯ ;
F P C i r c ¯ t     X P C i r c ¯ t     o o 1   =   F P C i r c ¯ t     X F P C i r c ¯ t   =   O ¯   .
The upper index matrices, whose identifiers start with “F”, together with the considered function uniquely define the presented power circuit.
Other common statements on analog values are
F C C s A n a l o g ¯ t     X F C C s A n a l o g ¯ t   =   O ¯ ; F C C s A n a l o g ¯ t   =   F S u b ¯     F P I ¯
The abbreviation “CCs” means “control components”. Their connections (including ones with power components) which concern analog values are presented in
F Q A n a l o g ¯   =   u R c u u S u b i n c u u S u b o u t c u u P I i n c u u P I o u t c u u P W M i n c u q 1 A n a l o g 1 1 0 0 0 0 q 2 A n a l o g 0 0 1 1 0 0 q 3 A n a l o g 0 0 0 0 1 1 .
Statements
F C C i r c A n a l o g ¯ t     X F C C i r c A n a l o g ¯ t   =   O ¯ ; F C C i r c A n a l o g ¯ t   =   F C C s A n a l o g ¯ t     F Q A n a l o g ¯ ;
represent the considered analog control circuit with its components and junctions in a proper manner.
R-IMs and their equations can be aggregated in
F A l l A n a l o g ¯ t     X F A l l A n a l o g ¯ t   =   O ¯ ; F A l l A n a l o g ¯ t   =   F P C i r c ¯ t     F C C i r c A n a l o g ¯ t   .
Dependencies on digital signals are presented in
F C C s D i g i t a l ¯ t   =   F P W M ¯ t ; F Q D i g i t a l ¯   =   s P W M o u t c u s T i n c u q 1 D i g i t a l 1 1 ;
F A l l D i g i t a l ¯ t   =   F C C i r c D i g i t a l ¯ t   =   F C C s D i g i t a l ¯ t     F Q D i g i t a l ¯   =  
  =   F A l l , 1 D i g i t a l ¯   =   s P W M o u t c u o s T i n c u c P W M 1 1 0 q 1 D i g i t a l 1 0 1 , i f   u T r i a n g ( t )   <   u P W M i n ( ψ ) ; F A l l , 0 D i g i t a l ¯   =   s P W M o u t c u o s T i n c u c P W M 1 0 0 q 1 D i g i t a l 1 0 1 , o t h e r w i s e ;
under conditions (41) and (42). An R-IM equation based on F A l l D i g i t a l ¯ t , similar to this one in (58), can be constructed:
F A l l D i g i t a l ¯ t     X F A l l D i g i t a l ¯ t   =   O ¯ .
R-IMs and their equations can be aggregated in
F A l l ¯ t     X F A l l ¯ t   =   O ¯ ; F A l l ¯ t   =   F A l l A n a l o g ¯ t     F A l l D i g i t a l ¯ t   .
The upper statements form a clear mathematical model, which is solved in the next section. However, F A l l ¯ t is not applied explicitly, whereas variants of F A l l A n a l o g ¯ t and F A l l D i g i t a l ¯ t are used according to different cases.

4. Model Solving

4.1. Common Notes

F A l l A n a l o g ¯ t can be divided by columns to three R-IMs in the following way:
F A l l A n a l o g ¯ t   =   F c u A n a l o g ¯ t     F p r A n a l o g ¯ t     F o A n a l o g ¯ t ,
F h A n a l o g ¯ t   =   p r o I 1 F A l l A n a l o g ¯ ( t ) , I h F A l l A n a l o g ¯ t , h c u , p r , o ;
where I c u ,   I p r ,   I o       o I 2 F A l l A n a l o g ¯ t are index sets, which concern all current values, all previous values and all constants, respectively. In case of the considered buck converter with a PI controller, F A l l A n a l o g ¯ t has 17 rows and 23 columns:
I 1 F A l l A n a l o g ¯ t   =   17   , I 2 F A l l A n a l o g ¯ t   =   23   .
I 2 F c u A n a l o g ¯ t   =   17 , I 2 F p r A n a l o g ¯ t   =   5 , I 2 F o A n a l o g ¯ t   =   o   =   1 ;
I 2 F p r A n a l o g ¯ t   =   i L p r , u C p r , i C p r , u P I i n p r , u P I o u t p r ;
i.e., all 23 columns of F A l l A n a l o g ¯ t (which is sparse—more of its elements are zeros) are divided into three R-IMs with 17, 5 and 1 columns, respectively. (58) and (63) lead to
F c u A n a l o g ¯ t     X F c u A n a l o g ¯ t     F p r A n a l o g ¯ t     X F p r A n a l o g ¯ t     F o A n a l o g ¯ t   =   O ¯ .
In the last equation, the following equivalencies are used:
X F o A n a l o g ¯ t   =   o o 1 ; F o A n a l o g ¯ t     X F o Analog ¯ t   =   F o A n a l o g ¯ t .
Six classical matrices based on h c u , p r , o can be defined (see (5) and (6)):
F h A n a l o g t   =   C M U , V h F h A n a l o g ¯ t , X h A n a l o g t   =   C M V h , o X F h A n a l o g ¯ t ,
where U   =   u 1 , u 2 , , u U and V h   =   V h , 1 , V h , 2 , , V h , V h are permutations of I 1 F A l l A n a l o g ¯ t and I 2 F A l l A n a l o g ¯ t , respectively. Since X F o A n a l o g ¯ t is a unit matrix, (67) and (69) derive the following equation:
F c u A n a l o g t X c u A n a l o g t   +   F p r A n a l o g t X p r A n a l o g ( t )   +   F o A n a l o g t   =   O .
In case of nonsingular square matrix F c u A n a l o g t :
X c u A n a l o g t   =   B ( t ) X p r A n a l o g t   +   J t ,
B t   =   F c u A n a l o g t 1 F p r A n a l o g t , J t   =   F c u A n a l o g t 1 F o A n a l o g t .
A respective R-IM equation is
X F c u A n a l o g ¯ t   =   B ¯ t     X F p r A n a l o g ¯ t     J ¯ t ,
B ¯ t   =   I 2 F c u A n a l o g ¯ t , I 2 F p r A n a l o g ¯ t , b u m , v p r , n       b m , n m 1 , 2 , , U n 1 , 2 , , V p r ,
J ¯ t   =   I 2 F c u A n a l o g ¯ t , o , b u m , o       j m , 1 m 1 , 2 , , U .
According to (65) in the discussed example, B ¯ ( t ) has 17 rows and 5 columns, and J ¯ ( t ) has 17 rows and 1 column. They uniquely define all voltages and amperages of analog components. Index sub-matrices can be used, too:
p r o I , o X F c u A n a l o g ¯ t   =   B I ¯ t     X F p r A n a l o g ¯ t     J I ¯ t , I I 2 F c u A n a l o g ¯ t
B I ¯ t   =   p r o I , I 2 B ¯ t   B ¯ t , J I ¯ t   =   p r o I , o   J ¯ t ,
Such an approach is basic in one of the presented algorithms, in which I depend on
I c u , 1 A n a l o g     u e c u   |   u e p r I 2 F p r A n a l o g ¯ t i e c u   |   i e p r I 2 F p r A n a l o g ¯ t ;
this index set denotes all current values, whereas the respective previous ones are included in (69)–(73).
B I ¯ t , J I ¯ t , F A l l A n a l o g ¯ t and many others from the upper R-IMs depend on time. Alternative constant index matrices can be constructed; such ones are described in (29), (32), (40) and (60). Index set I c u , 2 A n a l o g can be defined as related to values in conditions on time-dependent R-IMs in case of the considered converter
I c u , 2 A n a l o g   =   u D c u , u T o u t c u , u P W M i n c u
A scheme according to the conditions is given below:
s T i n t   =   0 u T o u t t     U T o u t 0 u D t     U D 0 F T o u t ¯ t   =   F T o u t 0 ¯
F D ¯ t   =   F D 0 ¯ F A l l A n a l o g ¯ t     F A l l , 0 , 0 A n a l o g ¯ F T o u t 0 ¯ F A l l , 0 , 0 A n a l o g ¯ F D 0 ¯ ;
s T i n t   =   0 u T o u t t     U T o u t 0 u D t   >   U D 0 F T o u t ¯ t   =   F T o u t 0 ¯
F D ¯ t   =   F D 1 ¯ F A l l A n a l o g ¯ t     F A l l , 0 , 1 A n a l o g ¯ F T o u t 0 ¯ F A l l , 0 , 1 A n a l o g ¯ F D 1 ¯ ;
s T i n t   =   1 u T o u t t   >   U T o u t 0 u D t     U D 0 F T o u t ¯ t   =   F T o u t 1 ¯
F D ¯ t   =   F D 0 ¯ F A l l A n a l o g ¯ t     F A l l , 1 , 0 A n a l o g ¯ F T o u t 1 ¯ F A l l , 1 , 0 A n a l o g ¯ F D 0 ¯ ;
s T i n t   =   1 u T o u t t   >   U T o u t 0 u D t   >   U D 0 F T o u t ¯ t   =   F T o u t 1 ¯
F D ¯ t   =   F D 1 ¯ F A l l A n a l o g ¯ t     F A l l , 1 , 1 A n a l o g ¯ F T o u t 1 ¯ F A l l , 1 , 1 A n a l o g ¯ F D 1 ¯
(relation “ ” on index matrices is presented in (9)). The upper variants of F A l l A n a l o g ¯ t (which are F A l l , 0 , 0 A n a l o g ¯ , F A l l , 0 , 1 A n a l o g ¯ , F A l l , 1 , 0 A n a l o g ¯ and F A l l , 1 , 1 A n a l o g ¯ ) are constructed in order for all the functioning modes to be handled via respective variants of B I ¯ t and J I ¯ t through (73) (all these calculations can be performed in advance).
F A l l D i g i t a l ¯ t     X F A l l D i g i t a l ¯ t   =   O ¯
describes digital signals. The common statement
X F c u D i g i t a l ¯ t   =   I M V c u , o C M U , V c u F c u D i g i t a l ¯ t 1 C M U , o F o D i g i t a l ¯ t ;
Determines all digital values; here, U and V c u are permutations of the first and the second index sets of F c u D i g i t a l ¯ t , respectively ( F c u D i g i t a l ¯ t and F o D i g i t a l ¯ t are defined similarly to these ones in (63)).

4.2. Model-Solving Algorithm

An algorithm (Algorithm 1), which is presented in case of the considered example, is given below. Its first three steps are implemented once, and its next three steps are performed cyclically until statement t     t end holds.
Algorithm 1: Single simulation of device functioning
Step 1: Specifying a time interval and a time step
  Let the functioning of the model be simulated in time set (18) with a proper initial time t 0 (for a convenience, it is set to zero below) and a proper time step Δ t . It is appropriate for the end model time t end to be used, too. The choice of Δ t determines a proper accuracy; Figure 2 shows the results of simulations depending on this choice (relative to a switching interval).
Step 2: Initialization
  Initial values corresponding to index sets I c u , 1 Analog and I c u , 2 Analog must be set. In case of zero values of voltages and amperages at t 0 for the power components of the considered DC-DC converter, the following R-IM can be used:
p r o I c u , 1 Analog I c u , 2 Analog , o X F c u A n a l o g ¯ ( t 0 )   =  
  =   u D c u u T o u t c u i L c u u C c u i C c u u P I i n c u u P I o u t c u u P W M i n c u o 0 0 0 0 0 U T a r g e t K p U T a r g e t K p U T a r g e t   T ;(82)
Here, u P I o u t t 0   =   u P W M i n t 0 holds.
Step 3: Specifying constant R-IMs
  Such R-IMs are calculated in advance and explored in the next steps.
  Four Variants of F All Analog ¯ t are described in (76)–(79). The following variants of index matrices from (73) can be presented:
B I , m , n ¯ , J I , m , n ¯ , m 0 , 1 , n 0 , 1 ,
I I c u , 2 Analog , I , I c u , 1 Analog I c u , 2 Analog I I 2 F c u A n a l o g ¯ t I c u , 2 Analog ;(83)
   B I , m , n ¯ and J I , m , n ¯ are variants of B I ¯ and J I ¯ respectively in case of
F All Analog ¯ t   =   F All , m , n Analog ¯ (84)
( I contains all indexes related to analog values which should be investigated except for those values which are related to I c u , 2 Analog ; the last ones are calculated separately).
  Two variants of F All Digital ¯ t are described in (60). The following variants of index matrix X F c u D i g i t a l ¯ t can be calculated in advance according to (60) and (81):
X c u , 1 Digital ¯   =   I M s P W M o u t c u , s T i n c u , o 1 0 1 1 1 1 0   =   o s P W M o u t c u 1 s T i n c u 1 ; (85)
X c u , 0 Digital ¯   =   I M s P W M o u t c u , s T i n c u , o 1 0 1 1 1 0 0   =   o s P W M o u t c u 0 s T i n c u 0 ; (86)
(trivial equivalence s P W M o u t t   =   s T i n t holds).
Step 4: Current time setting
  Add Δ t to current time t.
Step 5: Calculation of digital values
  Generally, these values depend on analog and other digital values. All described analog values are continuous; small values of Δ t determine near their values, which can be used like replaceable ones. An interrelation between digital values has been described in (81). For the considered converter, the signal at the input of the presented PWM block is continuous, and u P W M i n ( ψ ) for current time t is modeled by either u P W M i n t Δ t or an earlier value (see (41), where sampling moment ψ depends on triangular function (42)). The latter and u P W M i n ψ determine F All Digital ¯ t in (60) and, therefore, all digital values through (85) or (86).
Step 6: Calculation of analog values
  Analog values which concern time t Δ t , as near to respective values for time t, have been used in the previous step. Oppositely, analog values at time t, which are related to conditions of other values (and, therefore, indexed in I c u , 2 Analog ), are used directly in this step in order for variants of F All Analog ¯ ( t ) to be chosen. For the considered converter, I c u , 2 Analog has three elements. For example, if for the analog values at time t, which are indexed in I c u , 2 Analog and estimated by
o u D c u u D t u T o u t c u u T o u t t u P W M i n c u u P W M i n t   =   B I c u , 2 Analog , 0 , 0 ¯     X F p r Analog ¯ t     J I c u , 2 Analog , 0 , 0 ¯ ,(87)
the inequalities in (76) hold, then the following assignments must be implemented:
B I ¯ t     B I , 0 , 0 ¯ ,     J I ¯ t     J I , 0 , 0 ¯ ;(88)
See (83) and (84) for the upper notations (here, F All Analog ¯ t     F All , 0 , 0 Analog ¯ ). Similar statements can be presented according to (77)–(79). Since all considered analog values are continuous, only one of the cases (76)–(79) can be applied B I ¯ t and J I ¯ t are used in the following calculations. In case of I     I c u , 1 Analog I c u , 2 Analog     I c u , 1 Analog :
o i L c u i L t u C c u u C t i C c u i C t u P I i n c u u P I i n t u P I o u t c u u P I o u t t   =   B I c u , 1 A n a l o g ¯ t     o i L p r i L t Δ t u C p r u C t Δ t i C p r i C t Δ t u P I i n p r u P I i n t Δ t u P I o u t p r u P I o u t t Δ t     J I c u , 1 A n a l o g ¯ t . (89)
Since u C t     u R t the output voltage of the considered DC-DC buck converter with a PI controller can be investigated. In case of I     I 2 F c u Analog ¯ t I c u , 2 Analog , all analog values can be investigated. On each iteration, elements of I can be modified under constraints in (83) in order for proper sets of current voltages and amperages to be estimated.
Step 7: Time check
  If t   +   Δ t     t end holds, then Steps 4, 5 and 6 must be performed; otherwise, the algorithm must be terminated.

4.3. Single Simulation Results

Figure 2 presents output voltage simulation results for the considered converter. Algorithm 1 is implemented through MATLAB source code (without Simulink to be used). In case of Figure 2b–d, the described model varies on a sampling frequency (relative to a switching frequency). A comparison with the MATLAB Simulink model (see Figure 2a) has been made. The simulations are performed with the following parameters:
E   =   20   V ; U T a r g e t   =   10   V ; R   =   100   Ω ; F s   =   400   k H z ;
R E   =   100   m Ω ; R L   =   20   m Ω ; R C   =   10   m Ω ;
U T o u t 0   =   500   m V ; R T   =   20   m Ω ; U D 0   =   500   m V ; R D   =   50   m Ω ;
L   =   10   μ H ; C   =   5   m F ; K p   =   200 ; K i   =   200 .
Figure 2. Output voltage simulation results for Simulink and the proposed R-IM-based software. Modeling with (a) Simulink; (b) R-IM-based software with ratio F d   /   F s   =   600 ; (c) R-IM-based software with ratio F d   /   F s   =   60 ; (d) R-IM-based software with ratio F d   /   F s   =   6 .
Figure 2. Output voltage simulation results for Simulink and the proposed R-IM-based software. Modeling with (a) Simulink; (b) R-IM-based software with ratio F d   /   F s   =   600 ; (c) R-IM-based software with ratio F d   /   F s   =   60 ; (d) R-IM-based software with ratio F d   /   F s   =   6 .
Mathematics 11 04756 g002
The full meaning of these parameters is given in (19), (26), (29), (32), (35) and (38)–(40); the uncommented ones are as follows: U Target —the output target voltage; K p and K i —the coefficients for proportional and integral terms in a PI controller.
A step response on the output is presented on Figure 2. The last one displays the fact that large changes in the F d   /   F s ratio keep this step response almost unchanged. Initial values from (82) and time t e n d   =   0.9   m s are used. The graphs are zoomed (see whole graphs in Figure 3) in order for the similarity between cases to be shown more clearly.
Characteristics of the output signal are defined below. The maximum
U R , m a x s   =   m a x   θ   0 ,     t e n d   u R s θ
(s denotes the performed simulation) for the whole time interval and the deviation
Δ e n d U R s   =   Δ U R s 0.9 t e n d
for an end part of this interval are estimated (notation
Δ U R s t   =   m a x θ   t ,     t e n d u R s θ U T a r g e t
is used here). Statements
U R , m a x s   <   0.03   V ; Δ end U R s   <   0.01   V ;
hold in all cases, which are shown in this subsection.

5. Optimization

An iterative algorithm, which determines parameter intervals in order for the proper output voltage requirements to be met, is given below (Algorithms 2 and 3).
Algorithm 2: Determining final parameter intervals at once
Step 1: Specifying fixed parameters
  Let the input voltage, the target voltage, the output resistance, the switching frequency and the simulation duration be fixed through
E   =   20   V ; U Target   =   10   V ; R   =   100   Ω ; F s   =   1   M H z ; t end   =   0.11   m s ;
(98)
(in this case, 0.9 t end     0.1   ms ), and let the additional parameters in (91) and (92) have the same constant values.
Step 2: Specifying output voltage requirements
  For the described DC-DC converter, the following requirements are taken (see (94)–(96)):
U R , m a x s   <   0.2   V ; Δ e n d U R s   <   0.01   V ;
(99)
Step 3: Specifying initial parameter intervals
  Let the parameters from (93) vary in order for minimal values of U R , m a x s and Δ end U R s to be obtained, and let their initial values be in the following ranges:
L   =   0.2   ÷   2   μ H ; C   =   0.1   ÷   1   m F ; K p   =   0   ÷   20 ; K i   =   0   ÷   500 .
(100)
Step 4: Simulations with constant parameter intervals
  Simulations, which use random uniformly distributed values according to (100), must be implemented. They are performed until the number of “successful” ones (in this context, the requirements from (99)) is lower than n Successful . In the present paper,
n Successful   =   50
(101)
(see Figure 3). In case of the initial intervals, the number of all simulations is 939 (the results are presented in Figure 3a). Nested parameter intervals have been used in this algorithm, and the number of simulations presented in Figure 3b is 214 (the number of “successful” ones is equal to n Successful too). The next respective numbers of simulations are 185, 178 and 113. The 23rd simulation has 50; i.e., it is equal to n Successful However, 38 variants of parameter intervals are used in order for 10% parameter tolerances to be obtained (see (108)–(110)). Distributions for “successful” simulations are presented in the second and third columns in Figure 3.
Step 5: Determining nested intervals
  The following intervals can be defined:
ω m i n , ω m a x , ω Ω     C , L , K i , K p
(102)
  The intervals are updated according to “successful” simulations only. Let
ω 1 , ω 2 , , ω n S u c c e s s f u l , i   <   j ω i     ω j , i , j 1 , 2 , , n S u c c e s s f u l
(103)
present the values of parameter ω in such simulations in an ordered manner.
   In case of the initial ranges, which are presented in (100) and Figure 3a, new intervals are formed by
ω m i n , ω m a x   =   ω 1 , ω n S u c c e s s f u l , ω Ω     C , L , K i , K p .
(104)
  They are shown with red lines in Figure 3a and are used in the next iteration (see the ranges of the parameters in Figure 3b).
  In case of the next (non-initial) intervals, a single element μ from Ω is selected in order for the new interval μ m i n , μ m a x to be set (the ranges of the other parameters remain the same). The percentage of values μ 1 , μ 2 , , μ n S u c c e s s f u l , which do not belong to μ m i n , μ m a x , is denoted by λ . In the present consideration, λ is constant:
λ   =   10 % .
(105)
  One of the endpoints of the respective parameter interval μ m i n o l d , μ m a x o l d from the previous iteration is updated in μ m i n , μ m a x . A pair containing an interval and a ratio is defined for each ω Ω :
ω min , ω max , ζ ω   =   ω min old , ω 1 λ n Successful , ζ ω begin , if     ζ ω begin   <   ζ ω end ; ω λ n Successful   +   1 , ω max old , ζ ω end , otherwise ;
ζ ω begin   =   ω 1 λ n Successful ω min old ω max old ω min old , ζ ω end   =   ω max old ω λ n Successful   +   1 ω max old ω min old ;
(106)
where x denotes the integer part of x. Parameter μ is selected in order for the following equality to be satisfied:
ζ μ   =   m i n ω Ω ψ ω     >     1   +   σ 1 σ ζ ω .
(107)
  Inequality ψ ω   >   1   +   σ 1 σ is discussed in Step 6. L max is updated at the second iteration to 1.405   μ H (since λ   =   10 % of 50 is equal to 5, the parameter range is reduced on the base of the highest 5 values on induction—see the second graph on Figure 3b).
Step 6: Termination check
  In practice, the parameters can be realized with given tolerances. In the present paper,
σ   =   10 %
(108)
is the used tolerance for each parameter; it means that only ranges, which satisfy
ψ ω   =   ω max ω min   >   1   +   σ 1 σ   =   1.1 0.9     1.22 , ω Ω     C , L , K i , K p ;
(109)
Are applied. Otherwise, if inequality (109) does not hold for any new interval in Step 4, the algorithm is terminated. For the presented example, after the last allowed parameter changes, the ranges of the parameters (see Figure 3c) are
L   =   0.974 ÷   1.205   μ H ; C   =   0.4037 ÷   0.5003   m F ; K p   =   14.76 ÷   18.32 ; K i   =   58.88 ÷   72.42 ;
(110)
Algorithm 3: Optimizing final parameter intervals
Step 1: Setting a number of simulation series and a current simulation series index
  A number of simulation series m in the present paper has been set by
m   =   10
(111)
in order for sufficiently distinguishable graphics to be obtained (see Figure 4b,c). The current simulation series index is initialized by
i   =   1
(112)
Step 2: Applying an algorithm with a fixed input voltage and a fixed output resistance
  Algorithm 2 must be applied.
Step 3: Verifying results
  The final parameter intervals obtained in Step 2 through Algorithm 2 have been used here. Normal distributions based on the final parameter intervals (notation ω m i n , ω m a x from (102) are used here) with means and standard deviations
μ ω   =   ω m a x   +   ω m i n 2 , σ ω   =   ω m a x ω m i n 6 , ω Ω     C , L , K i , K p
(113)
respectively, must be constructed and applied. σ ω ensures 99.7% of the data within ω min , ω max . Simulations with a fixed input voltage and a fixed output resistance are performed in order levels
Δ U R S i θ   =   m a x s S i       s i , 1 , s i , 2 , , s i , n   Δ U R s θ , θ   t 0 , 0.9 t e n d
(114)
under notation (96) to be obtained ( s i , 1 , s i , 2 , , s i , n are separate simulations); in the present paper,
n   =   10000
(115)
 The magenta dotted line on Figure 4a presents the resulting curve from (114).
Step 4: Increasing the current number of simulation series
  Increment the current simulation series index by 1.
Step 5: A check on the current number of simulation series
  If i     m holds, then Steps 2, 3 and 4 must be performed; otherwise, the execution of these steps must be terminated.
Step 6: Choosing an optimal parameter intervals
  It is obvious that m simulation series have been performed in the previous steps. Different levels (114) have been obtained. Optimal final parameter intervals, which correspond to a proper
k 1 , 2 , , m
(116)
based on the simulation series with the lowest level
Δ U R S k 0.9 t e n d   =   m i n i 1 , 2 , , m , U R , m a x S i     U R , m a x f i x e d Δ U R S i 0.9 t e n d
(117)
must be chosen; here
U R , m a x S i   =   m a x s S i       s i , 1 , s i , 2 , , s i , n   U R , m a x s
(118)
  In the present paper
U R , m a x f i x e d   =   10.2   V .
(119)
  This process is shown in Figure 4b,c, where 10 lines (one continuous and nine dotted ones) present variants of the dotted curve from Figure 4a. The red ones represent simulations, for which the following statement holds:
U R , m a x S i   >   U R , m a x f i x e d .
(120)
  The blue ones represent simulations, for which
U R , m a x S i       U R , m a x f i x e d
(121)
and the line, which corresponds to the simulations with an optimal parameter intervals (see (117)), is continuous.
  Generally, the discussed example gives the following constraints:
U R , m a x S i       U R , m a x f i x e d ; Δ U R S i 0.9 t e n d   <   0.01   V
(122)
in case of 10,000 simulations for normally distributed parameters from intervals with at least 10% tolerance for L ,   C ,   K p and K i .
The final parameter intervals have been obtained with a fixed input voltage of 20 V and a fixed output resistance of 100 Ω. Such intervals (based on these two values) are used below, but different input voltages and output resistances are used in Algorithm 3. Graphs of characteristic Δ U R S k 0.9 t end depending on the last two parameters (with one constant parameter) are given in Figure 5.
Algorithm 3 can be modified in order for various input voltages and output resistances to be used simultaneously, too. In this case, random normally distributions on these parameters with means and standard deviations
μ ω   =   ω m a x   +   ω m i n 2 , σ ω   =   ω m a x ω m i n 6 , ω Ω     E , R ,
can be used in Step 3 of the algorithm. The respective results are presented in Figure 6.
The notations in Figure 6a are the same as the ones in Figure 4b where 10 lines (one continuous and nine dotted ones) present 10 variants. Since three graphs in Figure 6a determine tolerances on Δ U R S i 0.9 t e n d greater than 0.018   V , only seven graphs are presented in Figure 6b. The discussed example gives the following constraints:
U R , m a x S k   <   10.2   V ;   Δ U R S i 0.9 t e n d     0.012   V .
also in case of 10,000 simulations. Normal distributions of the input voltage and the output resistance under conditions (123) with parameters defined by
E m i n   =   18   V ; E m a x   =   22   V ; R m i n   =   50   Ω ; R m a x   =   150   Ω ;
are used in these calculations.
for a Buck DC-DC converter without a PI controller L   =   167   μ H ;   C m i n   =   188   n F .
In [20], conventional methods estimate the inductance L and the minimal capacitance C m i n in a similar Buck DC-DC converter in the following manner:
L   =   U T a r g e t   E U T a r g e t Δ   i L   F s   E , C m i n   =   Δ   i L 8   F s   Δ   u R , Δ   i L   =   0.2 ÷   0.4 i R
In case of Δ   u R   =   0.02   V , these formulas give the following results:
L     =     125   ÷   250   μ H ; C min     =     125   ÷   250   nF ;
which significantly differ from the values given in Figure 3c. Indeed, K p and K i have not been taken into account here (there is not a PI controller in the Buck DC-DC converter presented in [20]). Output voltage simulation results for the scheme, which is considered in the present paper, are shown on Figure 7. They are based on (126) and (127) with   Δ   i L   =   0.3 i R and C   =   5 C m i n ; Algorithm 3 with fixed values of L and C has been performed in the calculation of optimal values of the coefficients for the proportional and the integral terms in the PI controller.
The main advantage of PI controllers is that they can be implemented without detailed knowledge of systems. Algorithms of tuning PI controllers are presented in [21]. They consider devices that are regulated as black boxes. Therefore, they cannot change parameters L and C. Generally, estimations of K p and K i are empirically based on the simulation of a large number of simulations in these conventional algorithms. There exist well-established approaches to derive initial coefficients. The Ziegler–Nichols method is used below in order for a PI controller to be tuned [21,22]. The parameters obtained in Algorithm 3 are used (see Figure 3c):
L   =   1.1   μ H ; C   =     450   μ F .
A proportional (P) controller with coefficient K p   =   32 is modeled at first; the value of P starts from 0 and increases until the system starts to show consistent and stable oscillation Δ   u R       0.01   V . The next proportional controller is modeled with K p   =     0.45   ×   32   =     14.4 . The final controller is proportional–integral with coefficients K p   =     14.4 and K i   =     172.8 , which are close to these ones in Figure 3c. The results are presented in Figure 8.

6. Simulation Duration

Three software applications modeling the discussed power converter are as follows: the Simulink model from Figure 1 and two index matrix-based models: the .NET one (which is described in [1]) and MATLAB one (which implements the algorithms from the previous two sections using MATLAB source code without using Simulink). Their runtimes are shown in Table 1. There is a slight difference in the .NET model: ideal switches have been used; all programming methods defined in the .NET software are presented in [1]. A single simulation of the converter operation is taken into account when calculating the durations. Each runtime considers both the time to run the simulation and the time to configure the model. For example, the Simulink model runtime is formed as a sum of execution times of two functions: set_params() and sim().
Runtimes for Simulink and .NET models determine the following linear regressions:
t r u n S i m u l i n k     520   +   1055 t m o d e l   t i m e ;
t r u n . N E T     14   +   48 t m o d e l   t i m e ;
where all durations are measured in milliseconds. These expressions indicate the presence of a significant configuration time in these two models, especially for the first one. Here and below, t m o d e l   t i m e denotes a duration of model time. For the third model:
t r u n M A T L A B     33 t m o d e l   t i m e
i.e., the runtime is proportional to the model time duration (this fact is conditioned by the pre-calculation of matrices—see Section 4.1 and Section 4.2). There are commensurate coefficients (48 and 33 approximately) in the .NET and MATLAB models.

7. Conclusions

The proposed new definition of an R-IM product guarantees convenient index matrix equations with zero R-IM on the right-hand side. Index sets can determine which analog values should be calculated at any time in the model; additional values do not affect the calculation procedure.
The simulations produce results that are virtually identical to those from Simulink. At the same time, large changes in the ratio between the sampling rate and switching frequency keep the output characteristics almost unchanged. Threshold voltages (potential barriers) and dynamic resistances have been successfully included in the models.
The performed optimization procedures based on exhaustive searches with nested intervals give very good results—small peaks and small deviations after settling. It is shown that when the choice of inductance and capacity is made, the tuning of the PID controller by means of the proposed algorithm is close to that which has been achieved with conventional methods.
The discussed MATLAB implementation based on the pre-computation of indexed matrices and the selection of variants results in small computation times.

Author Contributions

N.H., P.G. and V.G. were involved in the full process of producing this paper, including conceptualization, methodology, modeling, validation, visualization and preparing the manuscript. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Bulgarian National Scientific Fund, grant number KΠ-06-H57/7/16.11.2021, and the APC was funded by KΠ-06-H57/7/16.11.2021.

Data Availability Statement

Data are contained within the article.

Acknowledgments

This research was carried out within the framework of the project “Artificial Intelligence-Based modeling, design, control and operation of power electronic devices and systems”, KΠ-06-H57/7/16.11.2021, Bulgarian National Scientific Fund.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Hinov, N.; Gocheva, P.; Gochev, V. Index Matrices—Based Software Implementation of Power Electronic Circuit Design. Electronics 2022, 11, 675. [Google Scholar] [CrossRef]
  2. Hinov, N.; Gocheva, P.; Gochev, V. Fuzzy Reasoning on Buck DC-DC Power Converter Parameters. Int. J. Inf. Technol. Secur. 2022, 14, 33–44. [Google Scholar]
  3. Mesarovic, M.; Takahara, Y. General Systems Theory: Mathematical Foundations; Elsevier Science: Amsterdam, The Netherlands, 1975; ISBN 978-0-080-95622-0. [Google Scholar]
  4. Gavin, H. Linear Time-Invariant Dynamical Systems, Duke University, NC, USA, CEE 629 System Identification. Available online: https://people.duke.edu/~hpgavin/SystemID/CourseNotes/LTI.pdf (accessed on 23 October 2023).
  5. Galor, O. Discrete Dynamical Systems; Springer: Berlin/Heidelberg, Germany, 2007; ISBN 978-3-642-07185-0. [Google Scholar]
  6. Nise, N. Control Systems Engineering; John Wiley & Sons: Hoboken, NJ, USA, 1999; ISBN 978-1-118-17051-9. [Google Scholar]
  7. Blaabjerg, F. (Ed.) Control of Power Electronic Converters and Systems; Elsevier Inc.: Amsterdam, The Netherlands, 2021; Volume 3, ISBN 9780128194331. [Google Scholar]
  8. Sumukh, S.; Arjun, M. Mathematical Modeling of Power Electronic Converters. SN Comput. Sci. 2021, 2, 267. [Google Scholar] [CrossRef]
  9. Gocheva, P.; Hinov, N.; Gochev, V. Matrix Based Estimation of Current and Voltage Magnitude in Electronic Circuits. In Proceedings of the 44th International Conference on Applications of Mathematics in Engineering and Economics: (AMEE’18), Sozopol, Bulgaria, 8–13 June 2018; p. 060026. [Google Scholar] [CrossRef]
  10. Power Electronics Simulation. Design Digital Controllers for Power Electronics Using Simulation. Available online: https://www.mathworks.com/solutions/electrification/power-electronics-simulation.html (accessed on 23 October 2023).
  11. Godoy, S.; Farret, F. Modeling Power Electronics and Interfacing Energy Conversion Systems; Wiley-IEEE Press: Hoboken, NJ, USA, 2016; ISBN 978-1-119-05847-2. [Google Scholar]
  12. Trzynadlowski, A.M. Introduction to Modern Power Electronics; John Wiley & Sons: Hoboken, NJ, USA, 2016; ISBN 978-1-119-00321-2/1119003210. [Google Scholar]
  13. Atanassov, K. Index Matrices: Towards an augmented matrix calculus. In Studies in Computational Intelligence; Springer International Publishing: Cham, Switzerland, 2014; Volume 573, ISBN 978-3-319-10945-9. [Google Scholar]
  14. Traneva, V.; Tranev, S. Index Matrices as a Tool for Managerial Decision Making; Publishing House of the Union of Scientists: Sofia, Bulgaria, 2017; ISBN 978-9543-97041-4. (In Bulgarian) [Google Scholar]
  15. Atanassov, K. Generalized Nets; World Scientific: Singapore, 1991; ISBN 978-981-02-0598-0. [Google Scholar]
  16. Atanassov, K. On Generalized Nets Theory; “Prof. Marin Drinov” Academic Publising House: Sofia, Bulgaria, 2007; ISBN 978-954-322-237-7. [Google Scholar]
  17. Fan, M.; Zhang, Z.; Wang, C. Mathematical Models and Algorithms for Power System Optimization; Elsevier Inc.: Amsterdam, The Netherlands, 2019; ISBN 978-0-12-813231-9. [Google Scholar] [CrossRef]
  18. Delhommais, M. Review of optimization methods for the design of power electronics systems. In Proceedings of the 2020 22nd European Conference on Power Electronics and Applications (EPE’20 ECCE Europe), Lyon, France, 7–11 September 2020; pp. 1–10. [Google Scholar] [CrossRef]
  19. MATLAB. The Language of Technical Computing. Available online: https://ch.mathworks.com/help/matlab/index.html?s_tid=hc_panel (accessed on 23 October 2023).
  20. Basic Calculation of a Buck Converter’s Power Stage. Application Report SLVA477B, Texas Instruments, December 2011–Revised August 2015. Available online: https://www.ti.com/lit/an/slva477b/slva477b.pdf (accessed on 18 November 2023).
  21. Astrom, K.J.; Hagglund, T. PID Controllers: Theory, Design, and Tuning, 2nd ed.; Instrument Society of America: Triangle Park, NC, USA, 1995; Available online: https://aiecp.files.wordpress.com/2012/07/1-0-1-k-j-astrom-pid-controllers-theory-design-and-tuning-2ed.pdf (accessed on 18 November 2023).
  22. Principles of PID Controllers. Zurich Instruments, July 2023. Available online: https://www.zhinst.com/ch/en/resources/principles-of-pid-controllers (accessed on 18 November 2023).
Figure 1. Simulink model of buck DC-DC converter with PI controller.
Figure 1. Simulink model of buck DC-DC converter with PI controller.
Mathematics 11 04756 g001
Figure 3. Simulation results for an output voltage, parameter distributions (for “successful” cases) and nested parameters. Intervals in an optimization procedure: (a) at the first iteration; (b) at the second iteration; (c) at the 39th iteration.
Figure 3. Simulation results for an output voltage, parameter distributions (for “successful” cases) and nested parameters. Intervals in an optimization procedure: (a) at the first iteration; (b) at the second iteration; (c) at the 39th iteration.
Mathematics 11 04756 g003
Figure 4. Tolerance simulation results according to Algorithm 3: (a) on Step 3; (b) on Step 6; (c) on Step 6 in a zoom mode.
Figure 4. Tolerance simulation results according to Algorithm 3: (a) on Step 3; (b) on Step 6; (c) on Step 6 in a zoom mode.
Mathematics 11 04756 g004
Figure 5. Output voltage tolerances for various input voltages or output resistances: (a) E = 11, 13, 15, 17, 19 V; R = 100 Ω (colored from red to blue); (b) E = 21, 23, 25, 27, 29 V; R = 100 Ω (colored from blue to red); (c) E = 20 V; R = 1, 3, 10, 30, 100 Ω (colored from red to blue).
Figure 5. Output voltage tolerances for various input voltages or output resistances: (a) E = 11, 13, 15, 17, 19 V; R = 100 Ω (colored from red to blue); (b) E = 21, 23, 25, 27, 29 V; R = 100 Ω (colored from blue to red); (c) E = 20 V; R = 1, 3, 10, 30, 100 Ω (colored from red to blue).
Mathematics 11 04756 g005
Figure 6. Tolerance simulation results according to Algorithm 3 with various input voltages and various output resistances E   =   18 ÷   22   V ; R   =   50 ÷   150   Ω (a) on Step 6; (b) on Step 6 in a zoom mode.
Figure 6. Tolerance simulation results according to Algorithm 3 with various input voltages and various output resistances E   =   18 ÷   22   V ; R   =   50 ÷   150   Ω (a) on Step 6; (b) on Step 6 in a zoom mode.
Mathematics 11 04756 g006
Figure 7. Output voltage based on an inductance and a minimal capacitance both determined.
Figure 7. Output voltage based on an inductance and a minimal capacitance both determined.
Mathematics 11 04756 g007
Figure 8. Tuning PI controller according to Ziegler–Nichols method. Graphics with: K p   =   32 , K i   =   0 (red one); K p   =     14.4 , K i   =   0 (blue one); K p   =     14.4 , K i   =     172.8 (green one); (a) maximal values; (b) oscillation at time 0.3 ms.
Figure 8. Tuning PI controller according to Ziegler–Nichols method. Graphics with: K p   =   32 , K i   =   0 (red one); K p   =     14.4 , K i   =   0 (blue one); K p   =     14.4 , K i   =     172.8 (green one); (a) maximal values; (b) oscillation at time 0.3 ms.
Mathematics 11 04756 g008
Table 1. Runtimes of software applications modeling Buck DC-DC converter.
Table 1. Runtimes of software applications modeling Buck DC-DC converter.
Model Time Duration (ms)0.10.20.30.40.5
Runtime in Simulink (ms)6227288489431042
Runtime in the authors’ .NET software (ms)18.623.327.733.137.5
Runtime in the authors’ MATLAB software (ms)2.76.49.812.816.2
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Hinov, N.; Gocheva, P.; Gochev, V. Index Matrix-Based Modeling and Simulation of Buck Converter. Mathematics 2023, 11, 4756. https://doi.org/10.3390/math11234756

AMA Style

Hinov N, Gocheva P, Gochev V. Index Matrix-Based Modeling and Simulation of Buck Converter. Mathematics. 2023; 11(23):4756. https://doi.org/10.3390/math11234756

Chicago/Turabian Style

Hinov, Nikolay, Polya Gocheva, and Valeri Gochev. 2023. "Index Matrix-Based Modeling and Simulation of Buck Converter" Mathematics 11, no. 23: 4756. https://doi.org/10.3390/math11234756

APA Style

Hinov, N., Gocheva, P., & Gochev, V. (2023). Index Matrix-Based Modeling and Simulation of Buck Converter. Mathematics, 11(23), 4756. https://doi.org/10.3390/math11234756

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop