Next Article in Journal
Deep Learning for Depression Detection from Textual Data
Next Article in Special Issue
Implementation of Virtual Training: The Example of a Faculty of Computer Science during COVID-19 for Sustainable Development in Engineering Education
Previous Article in Journal
A Study on Conformal Metasurface Influences on Passive Beam Steering
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Index Matrices—Based Software Implementation of Power Electronic Circuit Design

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.
Electronics 2022, 11(5), 675; https://doi.org/10.3390/electronics11050675
Submission received: 24 December 2021 / Revised: 10 February 2022 / Accepted: 20 February 2022 / Published: 22 February 2022

Abstract

:
This article aims to present a comprehensive approach with corresponding software that uses index matrices. They have been developed by the authors for an automated model-based design. One of the main goals of this paper is to propose a simple model solving technique for powering electronic devices (particularly, for all subsystems: power supplies, static power converters, electric filters, electrical loads, control systems, etc.). Index matrices, which contain first-order discrete dynamical system parameters, with real numbers as elements, are constructed in order so that voltages, amperages, and discrete values can be calculated. Simulations on a three-phase converter, as well as simulations on buck and boost DC-DC converters with PI controllers, are presented. The function of the proposed software (with examples on the aforementioned devices) is considered, and diagrams of its basic programming classes are shown. The latter draws electronic schemes and their respective graphics, and provides important characteristics. Simulink is used to verify results. Advantages of the proposed approach are a higher speed of calculations (compared to Simulink, due to a lack of differential equations) and a simpler handling of various electronic components. Additionally, a computational scalability is demonstrated.

1. Introduction

Techniques of solving differential equations solving are widely applied in software for model-based design of real-life systems. For example, power electronic components and devices are modeled in the libraries of one of the most popular graphical programming environments, Simulink, which uses a large number of simulation parameters and model solving modes [1,2]. Theoretically, many classes of dynamical systems can be represented by differential equations.
The first-order discrete dynamical systems have been described by linear systems, which concern consecutive time moments; there exist autonomous (time-independent) simple models (based on constant matrices), in which stability can be easy checked [3]. An example of the application of such a system on a DC-DC boost converter operation is demonstrated in [4]. Software implementations (see [5,6]) are useful with changing dependencies, because many estimations cannot be performed simply in this case; however, generally, power converters can be modeled with straightforward algorithms so that suitable simulations (based on non-constant matrices) can be performed [7,8,9].
The index matrices have arisen as extensions of the classical matrices. They provide a clear correspondence between elements and indices [10,11]. The index matrices represent a description tool for mathematical and real-life objects. The properties and applications of index matrices have been studied and summarized in [10]. The following types of their elements have been defined: integers, real numbers, Boolean values, predicates, fuzzy vales, etc., and additionally, three-dimensional index matrices have been introduced. Index matrices with real numbers as elements have been used by the authors in power electronic system modeling and simulation [6,12]; for example, single-ended primary-inductor converter example have been considered in [13].
Most of the results in the present paper are obtained by using the authors’ .NET software, with its features additionally considered in [5]. It automates the construction and solving of models based on index matrices. The graphics on electronic components (including on their time dependencies) in the presented software are similar to Simulink graphics, but the Simulink models and the proposed index matrix models differ significantly. Differential equations are used in Simulink, in which model configurations are relatively slow processes. The avoidance of the last ones is an important goal of the presented software, because the model-based design techniques, generally, require a large number of simulations (for example, as a part of optimization procedures). Such procedures can be performed faster with the proposed approach (since the linear systems are simpler than the differential equation systems, time-consuming model configurations are reduced).

2. Mathematical Methods and Models

Generally, all dynamical systems are simulated by estimating states at consecutive model time moments. The obtaining of values on system states (which usually are presented by one-dimensional or multidimensional arrays) is known as model solving [1]. 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 [2]. Simulink provides a set of solvers, each of which uses a specific technique. According to the way in which the step size is calculated, they are divided into fixed-step and variable-step ones. The fixed-step solvers estimate values at regular model time intervals from the beginning to the end of the simulation. The step size can be specified, and it can be additionally chosen automatically. Generally, decreasing the step size increases the accuracy. The variable-step solvers vary the step size during the simulation. They reduce the step size to increase accuracy when model states are changing rapidly and increase the step size when model states are changing slowly. The approach, which is proposed in the present paper, uses a constant step size.
The apparatus of the indexed matrices (IMs) is not very popular. The respective concept was introduced in 1984 [14]. IMs have been used for a long time as an auxiliary tool for describing transitions of generalized nets only; their values are Boolean and predicate in case of conditions on token passes, and in integers in case of arc capacities [15,16,17]. Generalized nets are present in areas where modeling with Petri nets is not typical (for example, medicine and biotechnology). Indeed, it is impossible for generalized nets developed for their purposes to be replaced by Petri nets; the difference in the possibilities provided by the two formalisms is especially clear—the classes of tasks to be solved are completely different. The latter fact is also due to the use of IMs. Although basic properties of IMs have been studied in [10,11], a full review on their application is unpublished. Their usage in modeling of electrical circuits is very rare (an example is given in [18]), and their implementation requires additional training and the development of process automation software [19,20,21,22,23,24,25].

2.1. Basic Definitions on Index Matrices with Real Number Elements

Proper indices, which determine objects and features, cannot be included in classical matrices; usually respective identifiers are associated to columns of classical matrices. Since the classical matrices of different sizes cannot be summed, the index matrices operation ensures more compact representation. In similar way, there are no limitations on size of IMs in the case of their multiplication.
Generally, each index matrix with real numbers as elements (R-IM) has form
A ¯ = K , L , { a k , l } k K ,     l L ,
where
K = { k 1 ,   k 2 ,   , k m } , L = { l 1 ,   l 2 ,   , l n } ,
are finite sets of indices [10,11]. In the present paper the following notation on the first and the second index sets of A ¯ (K and L respectively) is used:
I 1 ( A ¯ ) = K , I 2 ( A ¯ ) = L .
The usual graphical representation of the above R-IM 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 .
Here and below, all R-IMs are denoted by capital letters with additional lines (in order to be deferred from the classical matrices), and their elements by respective small letters. Each element of R-IM A ¯ is in the same row with its index from I 1 ( A ¯ ) , and it is in the same column with its index from I 2 ( A ¯ ) . Lines divide indices from elements. Additionally, in (4), the considered indices are included as lower indices of elements of A ¯ . In all classical matrices, such lower indices are formed by row and column numbers.
Any swap of rows (or columns) of a classical matrix, which participates in a matrix equation, must correspond to a swap of rows (or columns) in other matrices from this equation in order that dependencies can be saved. Conversely, swaps of rows (or columns) in any index matrix do not change. In the context of the present paper, a R-IM on a resistor with resistance R can be represented by
F ¯ R = _ | u R c u _ i R c u _ c R | 1 R _ | i R c u _ u R c u _ c R | R 1 .
where u R c u and i R c u point to current voltage and current amperage respectively on the resistor. Let another R-IM
B ¯ = P , Q , { b p , q } p P ,     q Q
be given. Sum (in index matrix theory the summation is denoted by “ ”)
C ¯ = 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 too. А sum of two index matrices, which have form (5), is presented below:
_ | u R 1 c u _ i R 1 c u _ c R 1 | 1 R 1 _ | u R 2 c u _ i R 2 c u _ c R 2 | 1 R 2 = _ | u R 1 c u _ i R 1 c u _ u R 2 c u _ i R 2 c u _ c R 1 | 1 R 1 0 0 c R 2 | 0 0 1 R 2 .
Since classical matrices of different sizes cannot be summed, it is obvious that in the case of their usage in matrix equations such compact expressions cannot be obtained. The following example supports the last assertion:
( 1 R 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 R 2 ) = ( 1 R 1 0 0 0 0 1 R 2 ) .
Indices, which point to resistors, and voltages and amperages, cannot be included in (10); usually, identifiers are associated to the columns in such matrix equations.
In [10,11] a product of R-IMs (their multiplication is denoted by “ ”) is defined. In case of index matrices A ¯ and B ¯ :
D ¯ = 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 .
The last sum has a well-known analog in classical matrices theory; in case of L P such sums are calculated for all elements of A ¯ B ¯ (see (10)), i.e.,
L P ( D ¯ = A ¯ B ¯ = K , Q , { d r , s } r K ,     s Q , d r , s = t   L   P a r , t b t , s )   .
For each multiplication in the present paper, the second index set of its first R-IM is a subset of the first index set of its second R-IM, and the second index set of its second R-IM has one element, denoted by o , only. In case of A ¯ and B ¯ it means that L   P and Q = { o } ; the following statement holds:
( L P Q = { o } ) ( D ¯ = A ¯ B ¯ = K ( P L ) , { o } , { d r , o } r K ( P L ) ,
d r , o = { b r , o , i f r     K ; t   L a r , t b t , o , o t h e r w i s e . ) .
An example is given below:
_ | u R c u _ i R c u _ c R | 1 R _ | o _ u R c u | u R ( t ) i R c u | i R ( t ) u E c u | u E ( t ) = _ | o _ c R | u R ( t ) R   i R ( t ) u E c u | u E ( t ) .
The elements of the first R-IM are coefficients of linear dependency; the elements of the second R-IM—voltage or amperage values; and the elements of the third R-IM—resultant values. In the third R-IM, one element is a linear combination and one element (which can be considered as constant voltage in ideal DC voltage source) remains unchanged (index u E c u is not presented in set I 2 ( F ¯ R ) ).

2.2. Classical Matrix Models on First-Order Discrete Dynamical Systems

In [3] a time-independent first-order discrete dynamical system is defined by
X ( t + Δ t ) = A X ( t ) + B , X ( t ) = [ x 1 ( t ) x 2 ( t ) x n ( t ) ] T ,
where matrices A and B are constant, and
t Θ { t 0 , t 0 + Δ t   , t 0 + 2 Δ t   , } , t 0 , Δ t , Δ t = 1 F d > 0 .
Here time set Θ has sampling step Δ t and discretization frequency F d . State vector X ( t + Δ t ) depend on its previous one X ( t ) only. The matrix equation from (17) is replaced by its equivalent one below:
C   X ( t + Δ t ) + D   X ( t ) + E = O , A = ( C ) 1   D , B = ( C ) 1   E ,
where O is a zero matrix, and C is non-singular. It is obvious that the next two matrix equations are equivalent to those ones in (17) and (19):
X ( t + Δ t ) = A   X ( t ) , A = [   A B   ] , X ( t ) = [   X ( t )   1 ] ;
F   X ( t + Δ t ) = O , F = [   C   D   E   ] , X ( t + Δ t ) = [ X ( t + Δ t ) X ( t ) 1 ] .
In the next section, R-IM analogs of (20) and (21) model proper first-order discrete dynamical systems.

2.3. R-IM Models of Electronic Components, Circuits and Devices

Let an electronic device be modelled and be denoted by D, and let M D be a finite set of unique indices associated to its components. It is obvious that various divisions can be performed in non-trivial devices, and appropriate hierarchies, which include sub-devices, can be defined. In [12] a two-terminal electronic component c m , m M D , is modelled by R-IM F ¯ m ( t ) so that a relation between its voltages u m ( t ) ,   u m ( t Δ t ) and its amperages i m ( t ) ,   i m ( t Δ t ) at consecutive time moments can be obtained (respective indices u m c u , u m p r , i m c u and i m p r , which do not depend on time, are used); here t Θ t 0 . This relation is given by
F ¯ m ( t )     X ¯ m ( t ) = O ¯ , I 2 ( F ¯ m ( t ) ) I 1 ( X ¯ m ( t ) ) .
Both values and their respective indices are presented in X ¯ m ( t ) (see (24)). Here and below O ¯ denotes a zero R-IM (all its elements are zeros). Examples on basic components are given in [12] and below.
Let an electronic component, denoted by c L , be an inductor with inductance L . Approximation
u L ( t ) = L i L ( t ) i L ( t Δ t ) Δ t
is a consequence of
F ¯ L     _ | o _ u L c u | u L ( t ) i L c u | i L ( t ) i L p r | i L ( t Δ t ) = O , F ¯ L = _ | u L c u _ i L c u _ i L p r _ c L | 1 L Δ t L Δ t
Similarly, for a capacitor, denoted by c C , with capacitance C,
F ¯ C = _ | u C c u _ i C c u _ u C p r _ c C | C Δ t 1 C Δ t
gives approximation
i C ( t ) = C u C ( t ) u C ( t Δ t ) Δ t .
It is obvious that (5) models a resistor, denoted by c R , with resistance R. For an ideal DC voltage source, denoted by c E , constant voltage E is determined by
F ¯ E     _ | o _ u E c u | u E ( t ) o | 1 = O , F ¯ E = _ | u E c u _ o _ c E | 1 E .
The upper parameters L, C, R and E, do not depend on time. However, their time dependences can be presented instead of constants. Let the component, denoted by c S , be an ideal electronic switch; a joint representation of its two states is
F ¯ S ( t ) = _ | u S c u   _ i S c u _ c S | s S ( t ) 1 s S ( t ) ,
where s S : Θ { 0 ; 1 } is a switching function. According to (28), in the closed state of the switch u S ( t ) = 0 , and in its opened state i S ( t ) = 0 .
Nodes are modeled by IMs below according to Kirchhoff’s current law in a similar manner. Each component index in the left side of the next three equations denotes an electronic component which is not presented in previous such equations. For the scheme with two-terminal components from Figure 1 the respective R-IMs are
F ¯ n E = _ | i E c u _ i S 2 c u _ n E | 1 1 ; F ¯ n S 2 = _ | i S 2 c u _ i S 1 c u _ i L c u _ n S 2 | 1 1 1 ; F ¯ n L = _ | i L c u _ i C c u _ i R c u _ n L | 1 1 1   .
They model
i E ( t ) i S 2 ( t ) = 0 ; i S 2 ( t ) + i S 1 ( t ) i L ( t ) = 0 ; i L ( t ) i C ( t ) i R ( t ) = 0 .
The R-IM on the fourth node is omitted, because it gives a linear combination of R-IMs from (29); all elements of M C i r c = { E ;   S 2 ;   S 1 ;   L ;   C ;   R } are represented in these three R-IMs (the circuit is denoted by “Circ”). For each component, the positive direction of voltage and amperage is from its first to its second terminal, and it determines respective signs in the index matrices from (29) and (31).
Kirchhoff’s voltage law can be applied through index matrices too. For the scheme from Figure 1, respective R-IMs on three loops are
F ¯ p R = _ | u R c u _ u C c u _ p R | 1 1 ; F ¯ p E = _ | u E c u _ u S 2 c u _ u S 1 c u _ p E | 1 1 1 ; F ¯ p L = _ | u L c u _ u C c u _ u S 1 c u _ p L | 1 1 1 .
They model
u R ( t ) u C ( t ) = 0 ; u E ( t ) + u S 2 ( t ) u S 1 ( t ) = 0 ; u L ( t ) + u C ( t ) + u S 1 ( t ) = 0 .
For the considered circuit, denoted by “Circ”, statements
F ¯ C i r c ( t ) = ( m M C i r c F ¯ m ( t ) ) ( n N C i r c F ¯ n ) ( p P C i r c F ¯ p ) ;
m M C i r c F ¯ m ( t ) = F ¯ Е ( t ) F ¯ S 1 ( t ) F ¯ S 2 ( t ) F ¯ L F ¯ C F ¯ R ;
n N C i r c F ¯ n = F ¯ n E F ¯ n S 2   F ¯ n L ; p P C i r c F ¯ p = F ¯ p R F ¯ p E F ¯ p L .
combine models of components, nodes, and loops. Sparse R-IM F ¯ C i r c ( t ) contains 12 columns, which have indices with subscript “cu”, and 12 rows. It is a part of a bigger model in the present paper. Resistances are associated to the inductor, the capacitor, the DC voltage source and the switches (voltages on closed switches are juxtaposed to amperages), and therefore F ¯ L , F ¯ C , F ¯ E , F ¯ S 1 ( t ) and F ¯ S 2 ( t ) are modified. Devices, which are connected to the upper circuit, are depicted in Figure 2 and described below. Their circuits are not considered; only important inputs and outputs are taken into account and shown graphically; voltages on all devices are denoted in the figures. The digital signals are denoted by “s”. The considered buck converter uses five blocks: a constant voltage block, a subtraction block, a proportional-integral (PI) controller, a pulse width modulation (PWM) block, and a logical NOT gate.
The constant voltage block is represented by
F ¯ A 1 = _ | u A 1 c u _ u A 1 , 1 c u _ c A 1 | 1 U .
All input and output signals are marked by the respective component names, and the input ones are numbered. In the shown example U = 10 V .
The subtraction block is represented by
F ¯ A 2 = _ | u A 2 c u _ u A 2 , 1 c u _ u A 2 , 2 c u _ c A 2 | 1 1 1 .
The proportional-integral (PI) controller is modeled by
F ¯ A 3 = _ | u A 3 c u   _ u A 3 p r _ u A 3 , 1 c u _ u A 3 , 1 p r   _ c A 3 | 1 Δ t 1 Δ t K p Δ t + K i K p Δ t   .
The last index matrix approximates
d u A 3 ( t ) d t = K p d u A 3 , 1 ( t ) d t + K i u A 3 , 1 ( t ) ,
which is obtained from basic definition
u A 3 ( t ) = K p u A 3 , 1 ( t ) + K i 0 t   u A 3 , 1 ( θ ) d θ
via differentiation. Proper values of K p and K i are shown in Figure 2.
The PWM block is modeled by
F ¯ A D ( t ) = { _ | s A D c u _ o _ c A D | 1 1 , i f u A D , 1 ( t s ) > u T r i a n g ( t Δ t ) ; _ | s A D c u _ c A D | 1 , o t h e r w i s e ;
where
t s = { 0 , ± Δ t s , ± 2 Δ t s , ± 3 Δ t s , } ( t Δ t Δ t s , t Δ t ]   .
Here the signal
u T r i a n g : Θ   [ 0 , A ]  
has a triangular form, period Δ t s = 1 F s and amplitude A . Тhe output of the PI controller is checked with switching frequency F s . The voltage on the output of the PI controller and the triangular function forms a duty cycle. The last two index matrices represent alternatives s A D ( t ) = 1 and s A D ( t ) = 0 , i.e., they form a digital signal. Proper values of F s and A are shown in Figure 2.
Finally, the logical NOT gate is modeled by
F ¯ D = _ | s D c u _ s D , 1 c u _ o _ c D | 1 1 1   ,
Values s I n v , 1 ( t ) and s I n v ( t ) belong to set { 0 , 1 } too.
All junctions of the considered five blocks are represented by
_ | u A 2 , 1 c u _ u A 1 c u _ p A 2 , 1 | 1 1   ; _ | u A 2 , 2 c u _ u R c u _ p A 2 , 2 | 1 1   ; _ | u A 3 , 1 c u _ u A 2 c u _ p A 3 , 1 | 1 1   ; _ | u A D , 1 c u _ u A 3 c u _ p A D , 1 | 1 1   ;
_ | s D , 1 c u _ s A D c u _ p D , 1 | 1 1 ; _ | s S 1 c u _ s A D c u _ p S 1 , 1 | 1 1 ; _ | s S 2 c u _ s D c u _ p S 2 , 1 | 1 1 .
The last two index matrices determine values of the switching functions.
The controller (denoted by “Contr” below) can be modeled by
F ¯ C o n t r ( t ) = ( F ¯ A 1 F ¯ A 2 F ¯ A 2 F ¯ A D ( t ) F ¯ D ) F ¯ P C o n r ,
where the last index matrix is calculated as a sum of the R-IMs in (45). A common model (denoted by “Buck Conv”) is
F ¯ B u c k C o n v ( t ) = F ¯ C i r c ( t ) F ¯ C o n t r ( t ) .
A relation between voltages and amperages can be obtained through R-IM equation
F ¯ B u c k C o n v ( t ) X ¯ B u c k C o n v ( t ) = O ¯ , I 2 ( F ¯ B u c k C o n v ( t ) ) I 1 ( X ¯ B u c k C o n v ( t ) ) ,
where both values and their respective indices are presented in X ¯ B u c k C o n v ( t ) .
The equation in (48) is a proper R-IM analog of the matrix equation in (21), i.e., it represents a first-order discrete dynamical system. Sparse R-IM F ¯ B u c k C o n v ( t ) contains 24 columns, which have indices with subscript “cu”, and 24 rows (there are 12 R-IMs in F ¯ C o n t r ( t ) with 12 indices with subscript “cu”, which are not presented in F ¯ C i r c ( t ) ) . All R-IM models in the present section are automatically simplified (since the index matrices in (45) are trivial, all 24 respective variables are automatically reduced to 15 analog ones and 4 discrete ones), generated and solved by the software, which is developed by the authors (see next section).

3. Software Implementation Based on R-IMs

In [5], programming classes, which implement electronic circuit design techniques, and which are based on R-IMs, are presented. Class diagrams of their recent versions are shown in this section. One of the main purposes is the automation of processes of modeling and simulation. An example of joint modeling and simulation of a power circuit and a PI controller is given. All electronic component images in the present paper, except the ones which use Simulink, are obtained by labeling the authors’ methods as Draw().
Each object of class IndexMatrix represents a R-IM through two lists of indices and a two-dimensional array. Static methods Sum() and Multiplication() implement the operations, which are considered in (7) and (11). The method Solve() transforms a R-IM analog of discrete dynamical system model (21) (see (48)) to a R-IM analog of equation (20) in order that state variables can be calculated in a step-wise manner at each simulation step. In this process, the auxiliary method Parts() is used in distinguishing current values from previous ones. Class ClassicalMatrices contain static methods, which implement well-known operations over classical matrixes (multiplication, inversion, and calculation of the sub-matrix), which are used in model solving. Class diagrams of IndexMatrix and ClassicalMatrices are presented in Figure 3.
Class EC and its subclasses for the considered electronic components are presented in Figure 4. Various specific properties (L, C, R, E, Ki, Kp, etc.) are defined. The method CalculateIM() forms RI-Ms according to the statements, which are given in the paper. The common properties of Position, Rotation and ConnectionPositions are used in drawing (method Draw() is overridden). The members of interfaces, which are used in subclasses of EC, are shown in Figure 4 too.
Class diagrams of Circuit and its auxiliary classes are shown in Figure 5. Each object of class Junction represents a connection between two electronic components, and each object of class Node implements a connection (such as the ones modeled in (29)) between two or more components. Finally, class Circuit defines collections of instances of types EC and Junction.
Class Simlation determines in each instance an electronic circuit, a discretization frequency, and a model time interval. Its method Do() invokes private methods in order for proper R-IMs to be constructed and handled; notes on these methods and results of their functioning in case of the considered example are given below:
CalculateConstantIMOnComponents(): performs in field IMAnalog all IMs on objects, which implement interface WithTerminals, and for which property HasConstantIM has value true. A respective view of IMAnalog is given below:
_ | u R c u _ i R c u _ u E c u _ i E c u _ o _ u L c u _ i L c u _ i L p r _ u C c u _ i C c u _ u C p r _ c R | 1 0.5 0 0 0 0 0 0 0 0 0 c E | 0 0 1 0.1 24 0 0 0 0 0 0 c L | 0 0 0 0 0 1 200.02 200 0 0 0 c C | 0 0 0 0 0 0 0 0 1 2.01 1   .
CalculateIMOnNodes(): represents in IMAnalog a sum of R-IMs on nodes (see (29)). A view of the respective sum is given below:
_ | i E   c u _ i S 2 c u _ i S 1 c u _ i L c u _ i C c u   _ i R c u _ n E | 1 1 0 0 0 0 n S 2 | 0 1 1 1 0 0 n L | 0 0 0 1 1 1   .
CalculateIMOnLoops(): adds in field IMAnalog a sum of R-IMs on loops (see (31)). A view of this sum is given below:
_ | u R c u _ u C c u _ u E c u _ u S 2 c u _ u S 1 c u   _ u L c u _ p R | 1 1 0 0 0 0 p E | 0 0 1 1 1 0 p L | 0 1 0 0 1 1   .
CalculateConstantIMsOnVoltages(): adds in field IMAnalog a sum of all IMs on objects, which implement interface WithVoltages, do not implement WithDigitalInput and WithDigitalOutput, and for which HasConstantIM has value true (see (36)–(38)). A respective view is given below:
_ | u A 1 c u _ o _ u A 2 c u   _ u R c u _ u A 3 c u   _ u A 3 p r   _ u A 2 p r   _ c A 1 | 1 10 0 0 0 0 0 c A 2 | 1 0 1 1 0 0 0 c A 3 | 0 0 1.004 0 1 1 1 .
Objects of type Junction are used here in order trivial R-IMs from (45) on analog signals to be taken into account in other R-IMs.
CalculateDigitalValues(): performs in the field IMDigital a summation of all IMs on objects, which implement interfaces WithVoltages, WithDigitalInput and WithDigitalOutputs, and for which HasConstantIM has value true (in the considered example there is one such instance of type NotGate).
_ | s D _ s A D _ o _ s S 1   _ s S 2   _ s D | 1 1 1 0 0 s S 1 | 0 1 0 1 0 s S 2 | 1 0 0 0 1 .
An invoking of Solve() gives the following result in in field solvedDigital:
_ | s A D _ o _ s D | 1 1 s S 1 | 1 0 s S 2 | 1 1 .
The latter two R-IMs determine two solutions, which are presented by
_ | o _ s A D | 0 s D | 1 s S 1 | 0 s S 2 | 1   ;   _ | o _ s A D | 1 s D | 0 s S 1 | 1 s S 2 | 0   .
CalculateNonConstantIMs(): sums in each element of array iMsAnalog[] IMs on IMAnalog and a sum of all IMs on objects, for which HasConstantIM has the value false. For the described converter, IMs on the switches are added according to the values of sS1 and sS2 in the upper two cases:
_ | u S 2 c u _ i S 2 c u _ o   _ u S 1 c u _ i S 1 c u _ c S 2 | 1 0.05 0.05 0 0 c S 1 | 0 0 0 0 1   ;   _ | u S 2 c u _ i S 2 c u _ o   _ u S 1 c u _ i S 1 c u _ c S 2 | 0 0 0 0 1 c S 1 | 0 0 0.05 1 0.05   .
In such a way, various R-IMs are constructed at first in iMsAnalog[]. Method Solve() is invoked on its elements in order the values to be calculated in step-wise manner later, and the results of functioning of Solve() are saved in array solvedAnalog[].
SimulateInModelTime(): calculates for each sampling step non-handled digital values. In the presented example, the signal on the output of the PWM block must be handled (all digital signals depend on it only). The method uses the upper discrete values and elements of solvedAnalog[] in the R-IM analog of state vector estimation (see (17)). For the described converter, all voltages u m ( t ) and amperages i m ( t ) , where m M C i r c , as well as voltages (or respective values “0” and “1”) of the components, which are indexed in M C o n t r , are estimated through their previous ones.

4. Results

Graphics and respective characteristics on the output voltage of the considered converter, which are obtained by authors’ software, are presented in [5,6]. Such a graph and the respective characteristics are shown in Figure 6, and similar statistics can be estimated for other values (see the checkbox in this figure).
The Simulink model is presented in Figure 7. The same parameters, for example resistance, inductance, capacitance, etc., of the considered buck DC-DC converter are used. The result of its simulation coincides with the result shown in Figure 6. Simulation durations in the authors’ software and Simulink (automatic solver selection is performed in the last one) are presented in Table 1. The same parameters are used in order for step responses to be shown in two ways. Whereas there are many configuration parameters in Simulink, there are only two such ones in the authors’ software: model time duration and discretization frequency (the last one is chosen to be 10 times greater than the switching frequency in the PWM block). Microsoft Visual Studio Community 2017 and MATLAB 2017a are used, and 10,000 and 1000 simulations (in the authors’ software and for the Simulink model, respectively) were performed for each case. All initial values are zero.
The Simulink model of a three-phase converter is presented in Figure 8. The scheme contains a boost DC-DC converter, in which the positions of a switch and an inductor are shifted (compared to Figure 7). The devices of the same name have the same functionality; their parameters are shown more clearly in Figure 9, which presents the respective model in the authors’ software. Simulation durations in the latter one and Simulink (the same circuit parameters are used) are presented in Table 2. 1000 and 100 simulations (in the authors’ software and for a Simulink model, respectively) were performed for each case.

5. Discussion

The presented approach effectively automates electronic circuit modeling. The components, junctions, nodes, and loops are represented by index matrices with real number elements, and sums of such matrices are implemented in the proposed .NET application for power systems’ design. The operation of PID-regulator, which theoretically can be modeled by second order differential equation, has likewise been properly implemented by the authors; the achieved results are identical to the results obtained by Simulink. The chosen approach is appropriate in power electronics since the number of components in circuits is not large, and the number of switches is not high, and furthermore, the combinations of closed and opened switch states raise exponentially with raison of their number in the case of non-interaction, but many of these combinations are forbidden by the operation of the circuits. For example, there are two combinations of switch states for the buck DC-DC converter from Figure 2 (the respective number in case of non-interaction of its two switches is four) and there are six such combinations of switch states for the three-phase converter from Figure 9 (the respective number in case of non-interaction of its 8 switches is 256). The presented approach suggests a fast simulation, and results can be obtained automatically in an exhaustive way. It can be extended to handle problems in the wide area of the first-order discrete dynamical systems and their applications.

6. Conclusions

The paper presents an integrated approach to the modeling and design of power electronic devices, based on an index matrix tool. Compared to other applied methods for studying the behavior of electronic converters [19,20,21,22,23,24,25], the proposals are characterized by versatility, reduced requirements for computational resources, robustness of the solution, and a high potential for algorithmization. Thus, it is highly suitable for the purposes of training in power electronics, as well as in research and engineering practice. However, an open-source software system, which users can customize according to their knowledge, capabilities, and needs, is proposed. One natural development of this approach is its incorporation into an expert system that automates the design of power electronic devices and systems.

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 КП-06-Н57/7/16.11.2021, and the APC was funded by КП-06-Н57/7/16.11.2021.

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”, КП-06-Н57/7/16.11.2021, Bulgarian National Scientific Fund.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Karris, S. Introduction to Simulink with Engineering Applications; Orchard Publications: San Antonio, TX, USA, 2006; Available online: neuron.eng.wayne.edu/auth/ece4340/Simulink_Introduction.pdf (accessed on 23 December 2021).
  2. Araujo, E.; Leite, A.; Freitas, D. Modelling and simulation of power electronic systems using a bond graph formalism. In Proceedings of the 10th Mediterranean Conference on Control and Automation MED2002, Lisbon, Portugal, 9–12 July 2002. [Google Scholar]
  3. Galor, O. Discrete Dynamical Systems; Springer-Verlag: Berlin/Heidelberg, Germany, 2007. [Google Scholar]
  4. Gocheva, P.; Hinov, N.; Gochev, V. Matrix based estimation of current and voltage magnitude in electronic circuits. AIP Conf. Proc. 2018, 2048, 060026. [Google Scholar]
  5. Gochev, V.; Gocheva, P.; Hinov, N. NET implementation of electronic circuit design. AIP Conf. Proc. 2021, 2333, 070016. [Google Scholar]
  6. Hinov, N.; Gocheva, P.; Gochev, V. Index Matrices Based Modelling of a DC-DC Buck Converter with PID Controller and GUI on It. In Proceedings of the 34th International Conference on Information Technologies InfoTech 2020—Proceedings, Varna, Bulgaria, 17–18 September 2020. [Google Scholar]
  7. Cerny, D.; Dobes, J. Adaptive sparse matrix indexing technique for simulation of electronic circuits based on λ-calculus. In Proceedings of the 2015 European Conference on Circuit Theory and Design (ECCTD), Trondheim, Norway, 24–26 August 2015; pp. 1–4. [Google Scholar] [CrossRef]
  8. Cerny, D.; Dobes, J. Functional Programming Languages in Computer Simulation of Electronics Circuits. In Proceedings of the Computational Science and Computational Intelligence (CSCI) 2014 International Conference, Las Vegas, NV, USA, 10–13 March 2014; Volume 1. [Google Scholar]
  9. Xia, W.; Liu, J.; Cao, M.; Johansson, K.H.; Başar, T. Generalized Sarymsakov Matrices. IEEE Trans. Autom. Control 2018, 64, 3085–3100. [Google Scholar] [CrossRef] [Green Version]
  10. Atanassov, K. Index Matrices: Towards an augmented matrix calculus. In Studies in Computational Intelligence; Springer International Publishing: Cham, Switzerland, 2014; Volume 573. [Google Scholar]
  11. Traneva, V.; Tranev, S. Index Matrices as a Tool for Managerial Decision Making; Publishing House of the Union of Scientists: Sofia, Bulgaria, 2017. (In Bulgarian) [Google Scholar]
  12. Gochev, V.; Hinov, N.; Gocheva, P. Mathematical Modelling of Basic Electronic Components with Index Matrices. In Proceedings of the 33th International Conference on Information Technologies InfoTech 2019—Proceedings, Varna, Bulgaria, 19–20 September 2019. [Google Scholar]
  13. Hinov, N.; Gocheva, P.; Gochev, V. Representation with Index Matrices of Single Ended Primary Inductor Converter Functioning. In Proceedings of the International Conference on High Technology for Sustainable Development HiTech 2019, Sofia, Bulgaria, 10–11 October 2019. [Google Scholar]
  14. Atanassov, K. Conditions in generalized nets. In Proceedings of the XIII Spring Conference of the Union of Bulgarian Mathematical, Sunny Beach, Bulgaria, 6–9 April 1984; pp. 219–226. [Google Scholar]
  15. Atanassov, K. Generalized Nets; World Scientific: Singapore, 1991. [Google Scholar]
  16. Atanassov, K. On Generalized Nets Theory. “Prof. Marin Drinov”; Academic Publising House: Sofia, Bulgaria, 2007. [Google Scholar]
  17. Alexieva, J.; Choy, E.; Koycheva, E. Review and bibliography on generalized nets theory and applications. In A Survey of Generalized Nets, Raffles KvB Monograph; Choy, E., Krawczak, M., Shannon, A., Szmidt, E., Eds.; World Scientific: Singapore, 2007; Volume 10, pp. 207–301. [Google Scholar]
  18. Vardeva, I.; Staneva, L. Automated Design of Electronic Circuits Modeled with Generalized Networks; Industrial Technologies; University “Prof. Dr. Asen Zlatarov”: Burgas, Bulgaria, 2014; Volume I, pp. 74–77. Available online: www.researchgate.net/publication/306346628_Avtomatizirano_proektirane_na_elektronni_shemi_modelirani_s_obobseni_mrezi (accessed on 23 December 2021). (In Bulgarian)
  19. Ali, U.; Raza, H.; Ahmed, Y. On Normalized Laplacians, Degree-Kirchhoff Index and Spanning Tree of Generalized Phenylene. Symmetry 2021, 13, 1374. [Google Scholar] [CrossRef]
  20. Kallioras, N.A.; Nordas, A.N.; Lagaros, N.D. Deep Learning-Based Accuracy Upgrade of Reduced Order Models in Topology Optimization. Appl. Sci. 2021, 11, 12005. [Google Scholar] [CrossRef]
  21. Benômar, Y.; Croonen, J.; Verrelst, B.; Van Mierlo, J.; Hegazy, O. Model-Based Control System Design of Brushless Doubly Fed Reluctance Machines Using an Unscented Kalman Filter. Energies 2021, 14, 8222. [Google Scholar] [CrossRef]
  22. Belhaj, F.Z.; El Fadil, H.; Idrissi, Z.E.; Koundi, M.; Gaouzi, K. Modeling, Analysis and Experimental Validation of the Fuel Cell Association with DC-DC Power Converters with Robust and Anti-Windup PID Controller Design. Electronics 2020, 9, 1889. [Google Scholar] [CrossRef]
  23. El Fadil, H.; Giri, F.; Chaoui, F.; El Magueri, O. Accounting for Input Limitation in the Control of Buck Power Converters. IEEE Trans. Circuits Syst. I Regul. Pap. 2009, 56, 1260–1271. [Google Scholar] [CrossRef]
  24. Duda, J. Lyapunov matrices approach to the parametric optimization of a time delay system with a PI controller. In Proceedings of the 2016 21st International Conference on Methods and Models in Automation and Robotics (MMAR), Miedzyzdroje, Poland, 29 August–1 September 2016; pp. 1206–1210. [Google Scholar] [CrossRef]
  25. Akundi, A.; Tseng, T.-L.B.; Almeraz, C.N.; Lopez-Terrazas, R.J.; Luan, H. A Novel Approach to Behavior Design for Model Based Systems Engineering Application Using Design Structure Matrix. In Proceedings of the 2021 IEEE International Systems Conference (SysCon), Vancouver, BC, Canada, 15 April–15 May 2021; pp. 1–7. [Google Scholar] [CrossRef]
Figure 1. Power electronic circuit of a Buck DC-DC converter.
Figure 1. Power electronic circuit of a Buck DC-DC converter.
Electronics 11 00675 g001
Figure 2. Buck DC-DC converter using proportional–integral (PI) controller and pulse width modulation (PWM).
Figure 2. Buck DC-DC converter using proportional–integral (PI) controller and pulse width modulation (PWM).
Electronics 11 00675 g002
Figure 3. Class diagrams of IndexMatrix and ClassicalMatrices.
Figure 3. Class diagrams of IndexMatrix and ClassicalMatrices.
Electronics 11 00675 g003
Figure 4. Class diagrams of EC, its subclasses and auxiliary interfaces.
Figure 4. Class diagrams of EC, its subclasses and auxiliary interfaces.
Electronics 11 00675 g004
Figure 5. Diagrams of Circuit and its auxiliary classes.
Figure 5. Diagrams of Circuit and its auxiliary classes.
Electronics 11 00675 g005
Figure 6. Output voltage of the buck DC-DC converter from Figure 2: (a) graphics; (b) characteristics.
Figure 6. Output voltage of the buck DC-DC converter from Figure 2: (a) graphics; (b) characteristics.
Electronics 11 00675 g006
Figure 7. Simulink model of the buck DC-DC converter from Figure 2: (a) graphical model of the converter; (b) graphical model of the PWM block; (c) output voltage.
Figure 7. Simulink model of the buck DC-DC converter from Figure 2: (a) graphical model of the converter; (b) graphical model of the PWM block; (c) output voltage.
Electronics 11 00675 g007
Figure 8. Simulink model of a three−phase converter (a) graphical model of the converter; (b) output voltage on phase B.
Figure 8. Simulink model of a three−phase converter (a) graphical model of the converter; (b) output voltage on phase B.
Electronics 11 00675 g008
Figure 9. Three−phase converter using proportional–integral (PI) controller and pulse width modulation (PWM).
Figure 9. Three−phase converter using proportional–integral (PI) controller and pulse width modulation (PWM).
Electronics 11 00675 g009
Table 1. Simulation durations for the buck DC-DC converter from Figure 2.
Table 1. Simulation durations for the buck DC-DC converter from Figure 2.
Model time duration [ms]0.20.40.60.81
Simulation duration in Simlink [ms]510530547567595
Simulation duration in the authors’ software [ms]18.119.921.923.926.1
Table 2. Simulation durations for the three−phase converter from Figure 8 and Figure 9.
Table 2. Simulation durations for the three−phase converter from Figure 8 and Figure 9.
Model time duration [ms]20406080100
Simulation duration in Simlink [s]2.935.037.479.3711.54
Simulation duration in the authors’ software [ms]333448544637751
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Hinov, N.; Gocheva, P.; Gochev, V. Index Matrices—Based Software Implementation of Power Electronic Circuit Design. Electronics 2022, 11, 675. https://doi.org/10.3390/electronics11050675

AMA Style

Hinov N, Gocheva P, Gochev V. Index Matrices—Based Software Implementation of Power Electronic Circuit Design. Electronics. 2022; 11(5):675. https://doi.org/10.3390/electronics11050675

Chicago/Turabian Style

Hinov, Nikolay, Polya Gocheva, and Valeri Gochev. 2022. "Index Matrices—Based Software Implementation of Power Electronic Circuit Design" Electronics 11, no. 5: 675. https://doi.org/10.3390/electronics11050675

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