Next Article in Journal
Wavelet Denoising Correlation for Satellite Signals Based on Improved Wavelet Threshold
Previous Article in Journal
A Polynomial and Fourier Basis Network for Vision-Based Translation Tasks
Previous Article in Special Issue
Small-Signal Modeling, Comparative Analysis, and Gain-Scheduled Control of DC–DC Converters in Photovoltaic Applications
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Straightforward Multilevel Space Vector Modulation for a Modular Multilevel Converter for PV Generation

by
Santiago de Pablo
1,*,
Yad N. Bakir
1,2,
Fernando Martinez-Rodrigo
1,
Luis C. Herrero-de-Lucas
1 and
Alexis B. Rey-Boue
3
1
Department of Electronics Technology, University of Valladolid, 47011 Valladolid, Spain
2
Department of Computer Sciences, College of Sciences, University of Charmo, Sulaymaniyah 46001, Iraq
3
Department of Electronics, Computers Technology and Projects, Universidad Politécnica de Cartagena, 30202 Cartagena, Spain
*
Author to whom correspondence should be addressed.
Electronics 2026, 15(1), 53; https://doi.org/10.3390/electronics15010053
Submission received: 20 November 2025 / Revised: 8 December 2025 / Accepted: 9 December 2025 / Published: 23 December 2025
(This article belongs to the Special Issue New Horizons and Recent Advances of Power Electronics)

Abstract

Many methods have been developed for multilevel Space Vector Modulation (SVM), but despite their inherent advantages, all of them have been more complex than the alternative option of using Pulse Width Modulation (PWM) with sinusoidal or modified references. Different axes like g-h at 60° or ja-jb-jc at 120° have been used to simplify the operations to find the three nearest vectors and their duty cycles, but the control signals of multilevel converters are the duty cycles of phases, not the duty cycles of vectors. Moreover, throughout this paper, it was found that local information is not sufficient to compute the duty cycles of the phases: global information should be taken into account to obtain full control on the common mode voltage (CMV), and the selection of the starting vector in the switching sequence is also critical to obtain a balanced CMV. The natural coordinates ab-bc-ca were used in this paper, and a straightforward method is proposed for multilevel SVM: a method that is comparable in complexity to multilevel PWM with modified references and leads to exactly the same control signals. This method can be used as an easy starting point to develop other SVM techniques for multilevel converters.

1. Introduction

The total amount of electricity demand increased by 2.5% every year on average between 2012 and 2023. Renewable electricity grew at a compound annual growth rate of 5.9% throughout this time, much above that of non-renewable sources, which only grew at a rate of 1.3% [1]. Solar energy is widely accessible, and many countries have made commitments to use only renewable energy by 2050 [2]. In fact, solar photovoltaic (PV) installed capacity has doubled every two years for more than 40 years; as such, it currently contributes significantly to renewable energy in both micro-grids and large power systems [3]. During the last few decades, price reductions and advances in technology have made renewable energy commercially competitive [4]. The price of installing solar panels has decreased by 10% annually on average [3], and solar energy, these days, has a global weighted average levelized cost of electricity of USD 0.043/kWh [5]. The cumulative global PV capacity reached close to 1866 GW in 2024 after an increase of approximately 450 GW in 2023 [1].
Multilevel converters were initially introduced in 1981 [6]. They have a number of benefits over the conventional two-level voltage source inverter, including their capacity to operate at higher voltages, their reduced voltage stress on switching, their reduced output harmonics and switching losses, and their overall increased efficiency [7,8]. Diode clamped or neutral-point clamped, flying capacitor converters, cascaded H-bridge multilevel converters, and modular multilevel converters (MMCs) are the main topologies of multilevel converters [7]. Multilevel converters have been widely used for various medium-voltage, high-power conversion applications, including renewable PV and wind power generation, as well as many utility systems.
MMCs, proposed in 2003 by Marquardt [9], are an effective multilevel architecture that have been recently used for high-voltage direct current (HVDC) transmission. The main features of MMCs are an easy adaptability for higher voltage by inserting as many cells as necessary; fault tolerance as long as they can bypass defective cells by substituting their function with others; the balancing of capacitor voltages inside sub-modules (SMs) is simple [10,11]; power can be transferred from one phase to another; the dc current has low ripple; and the ac output has low harmonics. Siemens’ first MMC-based HVDC system, the Trans Bay project in San Francisco, was implemented in 2010, and it transmits 400 MW of power at a voltage of 200 kV via an 85 km subsea cable [12].
There are primarily two types of modulation methods commonly used for MMCs, as well as other multilevel converters, and that is working with low frequency and high frequency [13]. Nearest Level Control (NLC) and Nearest Vector Control (NVC) techniques are used when the number of levels of the converter is large, so the MMCs are controlled with low-frequency signals to reduce the semiconductor switching losses [14]. Selective harmonic elimination (SHE) is also a low-frequency modulation technique that may improve the output compared to NLC, at the cost of more complexity [11,15]. The main high-frequency modulation techniques are Pulse Width Modulation (PWM) in the time domain and Space Vector Modulation (SVM) in the Park domain. PWM includes many techniques, but the phase disposition method (PD-PWM) has an easy implementation and may lead to the lowest harmonic distortion [16]. These techniques are used when the number of converter levels is small, resulting in higher switching losses [14].
While PWM works with individual phase-to-neutral voltage references, SVM manages the three phase-to-phase voltages at the same time. SVM offers higher dc-link voltage utilization than PWM with sinusoidal references [17], it improves the harmonic content on the output currents [18], it gives more design flexibility to decide the switching patterns [19], it eases the reduction of the common mode voltage (CMV) [20], and it is well adapted to digital implementation. Further issues for multilevel SVM include overmodulation [21], fault tolerance [22], capacitor voltage balancing [23], reduction in switching losses [24], avoidance of narrow pulses [25], use of virtual vectors for CMV control or reduction [26], and multilevel SVM applied to multi-phase systems [27,28]. Despite all these reported improvements, SVM-based multilevel algorithms are not the dominant modulation scheme found in industrial applications [7], most probably because PWM methods are perceived to be simpler and easier to implement.
Conventional SVM is based on the α-β coordinate system [16,29]. This approach starts with a normalization of the reference voltage to determine the triangle that contains the reference: the vertices of that triangle are the three vectors nearest to the reference voltage, they are modulated for a while, and this procedure is repeated at each sampling period [30]. Although the underlying premise is straightforward, implementing this conventional method is extremely tedious because there are so many triangles and space vectors involved [31].
To simplify multilevel SVM implementation, many improved SVM schemes have been developed. The gh coordinate technique [32,33,34] is probably the most used and is the base for many other procedures as it provides a very simple and fast method to find the switching vectors and their duty cycles. It uses two axes, g and h, which are mutually separated by 60°, and the complete space vector diagram is split into a usually huge number of triangles, depending on the number of levels of the inverter. Triangles are divided into two types: type 1 with its base at the bottom, and type 2 with its base at the top. The integer coordinates of the leftmost vector below the reference are easily found using the floor() function, which obtains the greatest integer as smaller or equal to a floating point value; later on, finding the duty cycles of the three nearest vectors are mostly immediate using the fractional parts of the g and h coordinates of the reference, and this is achieved after deciding if the reference belongs to a type 1 or type 2 triangle. However, the most challenging part of this method starts at this point, when the starting vector of the switching sequence should be selected [30], when the redundant states should be carefully selected [35], and when the duty cycles of the vectors should be translated into duty cycles of the phases [36]: on an MMC, for example, all the cells of the three phases should receive PWM signals, so not only should the duty cycles of the vectors be found, but also the duty cycles of the PWM generators.
Mostly identical to the gh coordinate system, another method known as the KL coordinate system was introduced, but their coordinates are separated by 120° [37] (a similar proposal can be found at [36]). Another different coordinate transformation, the imaginary coordinate, was proposed for multilevel SVM in [38,39], and it was also analyzed in [37]: three imaginary coordinates named ja, jb, and jc were defined perpendicular to the three phase-to-neutral axes a, b, and c, with a behavior similar to the line voltages; three integer coordinates were found for each reference, and their summation decides if the reference is located on a triangle type 1 or type 2—an idea previously given by [40] to simplify the procedure proposed in the gh method; and ref. [39] gave the same help finding the maximum and minimum states for each phase, but the complete switching sequence and the duty cycles of the phases should again be found. The use of ab-bc-ca coordinates, the frame proposed in this paper, has been seen in [40], with the results being comparable to other gh methods. The main problem to these methods is that they find the three vectors to be modulated and their duty cycles, but they leave the mapping of the vectors to the states mostly undefined. Most importantly, however, they do not define the order that should be used to modulate those states [16]. However, the vector chosen to start the switching sequence will have an important impact on the CMV, as seen throughout this paper.
An alternative technique for multilevel SVM, presented by [31,41,42,43], computes the duty cycles in conditions that are comparable to those seen in the well-known two-level inverters, where an n-level space vector diagram composed of multiple smaller hexagon diagrams is considered, and shifting the origin to an imaginary two-level inverter near the reference is conducted. The method suggested in [44] includes a reverse mapping of the inner two-level sub hexagon to any specified outer two-level sub hexagon in order to determine the three vectors that are nearest to any sector where the reference is located. In [45], a similar method is suggested using a fractal strategy: through the use of a repeated triangularization process, they advance until the triangle containing the reference is identified; however, as the number of levels grows, this fractal scheme may become increasingly complex. Whenever the decomposition process is made simple or complex, the target is clear: finding integer numbers that will lead to a decision, that in the case of an MMC it means determining how many converter cells will be 100% active during each sampling period, and computing the duty cycles of the last cells of each arm using a two-level SVM (a method that is well known and is considered easy).
The last issue that has been active throughout these decades is the equivalence of SVM and PWM when a half-median zero-sequence is added to the three phase-to-neutral references. There have been a few analytical demonstrations for two-level converters and sinusoidal references [46,47], and many comparisons have been made between these two techniques for two-level converters [48] and also for multilevel converters [33]. Later on, it has been claimed that there is an equivalence to multilevel SVM and PWM, even in systems with more than three phases [49].
This paper used the ab-bc-ca coordinates, the natural frame, and a local hexagon near the reference to find valid duty cycles for the three phases in Section 3 (after describing the topology used for this application in Section 2). Then, in Section 4, the number of 100% active cells during the switching period at each phase that are equal to the so-called “states” of the starting vector of the switching sequence are found. In Section 5, the duty cycles previously found are modified by targeting a different behavior on the CMV, i.e., by actually targeting the same CMV generated by PWM with a zero sequence injection (ZSI-PWM), which is when half of the median of the three phase-to-neutral references are added to the three references. Section 6 goes a step ahead, where straightforward equations that give all the information required to control the multilevel inverter are found, i.e., the number of 100% active cells for each phase and the duty cycle of the last active PWM generator of each phase. The last reported equations are used in Section 7 to analytically demonstrate that the proposed multilevel SVM method gives exactly the same control signals of ZSI-PWM. Section 8 provides the results verified on a PV generation application using MATLAB/Simulink 2024a and a real-time simulator, and Section 9 discusses all these developments.

2. MMC Topology

The structure proposed for this PV application is shown in Figure 1, where a classical MMC based on half-bridge cells is used. The PV power is supplied to the common dc link using many booster converters.
The MMC output currents iox (x = a, b, c) and the MMC internal circulating currents izx can be expressed as a function of the currents ipx at the upper arms and the currents inx at the lower arms of the converter [14], as stated in (1) and (2). Similarly, the upper arm and lower arm voltages can be used to define the three output voltages vox [10], which are related to the grid voltages vgx and the output currents iox by (3); equivalent reactors Leq = Lo + Larm/2 are used to take into account the MMC arm reactors [50], and the CMV (vMn) should be at least balanced. Voltages vzx that can be used to control the circulating currents using the relationship given by (4) [14].
i o x = i p x i n x                                                   ( x = a , b , c ) ,
i z x = i p x + i n x 2                                                       ( x = a , b , c ) ,
v o x v n x v p x 2 = L e q d i o x d t + v g x [ v M n 0 ]   ( x = a , b , c ) ,
v z x V d c v p x v n x 2 = L a r m d i z x d t                       ( x = a , b , c ) .
A regulator in the dq frame is used to generate the output references (voa*, vob*, voc*) as a function of the desired active power in the d axis and reactive power in the q axis, applying a regulation loop to the measured output currents (ioa, iob, ioc) [14]. In addition, a regulator in the dq2n frame, rotating at double the line frequency with a negative sequence [11], or resonant controllers [13], can be used to reduce the circulating currents through the appropriate values on vza*, vzb*, and vzc*.
The vectors in the α-β stationary frame are computed for the desired output voltage vo* using (5), and also for the reference vz* that controls the circulating currents using (6). Then, (7) and (8) compute the voltage references for the upper and lower arms of the MMC.
v o * = v o α * v o β * = 2 / 3 1 / 3 1 / 3 0 3 / 3 3 / 3 v o a * v o b * v o c * ,
v z * = v z α * v z β * = 2 / 3 1 / 3 1 / 3 0 3 / 3 3 / 3 v z a * v z b * v z c * ,
v p * = v o * v z * ,
v n * = + v o * v z * .
During each switching period, as shown in Figure 2, the upper and lower reference vectors will be decomposed on a base vector, that will be the center of a hexagon that includes the desired reference, and a small vector, which will be used as a reference for a two-level SVM to reach with more precision to the desired vector, vp* or vn*. Both tasks will be analyzed separately in Section 3 and Section 4.
v p B a s e * = b a s e V e c t o r ( v p * ) ,
v n B a s e * = b a s e V e c t o r ( v n * ) ,
v p S V M * = v p * v p B a s e * ,
v n S V M * = v n * v n B a s e * .
For the general case, vector v z * is different from zero, so two different base vectors must be found—one for the upper reference and another one for the lower reference—and two different small vectors should be modulated using a two-level SVM method; otherwise, the control signals of the upper arms can be computed just as the complementary values of the lower signals. Therefore, the process to find the number of 100% active cells during the switching period, na, nb, and nc, and the duty cycles for the last PWM generators, da, db, and dc, will be described only once, as long as it can be applied with no changes to the upper and lower arms.

3. Two-Level Space Vector Modulation

Wherever the base vector is located, near the target reference, a local two-level SVM can be applied to find the duty cycles of three PWM generators, one per phase, and it is used to modulate the desired reference vector with precision during one switching period. Many methods have been described for this task (mostly focused on different sets of equations for the six sectors of the hexagon [47], or non-orthogonal axis where the operations are greatly simplified [37]). In this paper, the natural frame ab-bc-ca was used and a unique set of equations were proposed for any vector with any orientation inside the local hexagon.
The proposed method starts with a normalization process: the phase-to-neutral references, or their corresponding phase-to-phase references, are divided by the nominal voltage of the switching cells, which can be found using the nominal voltage of the dc bus and the number of cells per arm of the MMC (Vsm = Vdc/Nsm).
u a n * = v a n * / V s m ;   u a b * = u a n * u b n * ,
u b n * = v b n * / V s m ;   u b c * = u b n * u c n * ,
u c n * = v c n * / V s m ;   u c a * = u c n * u a n * .
Later on, local references are found, again using phase-to-neutral values (w*an, w*bn, w*cn) or phase-to-phase values [w*ab, w*bc, w*ca]. Throughout this paper, curved parenthesis will be used for vectors that use phase-to-neutral values, but square brackets will be used for vectors with phase-to-phase coordinates. The integer phase-to-phase coordinates of the base vector [nab, nbc, nca] and the corresponding phase-to-neutral values (na, nb, nc) will be found later in Section 4.
w a n * = u a n * n a ;   w a b * = u a b * n a b ,
w b n * = u b n * n b ;   w b c * = u b c * n b c ,
w c n * = u c n * n c ;   w c a * = u c a * n c a .
Local reference vector w* will be modulated using local vectors WX = (VXVZ)/Vsm, WY = (VYVZ)/Vsm, and WZ = 0, with duty cycles dX, dY, and dZ, using the usual volt-second balance method:
1 T s t t + T s w ( t ) d t = d X W X + d Y W Y + d Z W Z w * ,
where central vector WZ will use states 000 and 111, usually with the same duration, and active vectors WX and WY will use, for example, 101 and 100 states. These states, in the example of Figure 2, correspond to vectors (3,4,0) and (4,5,1) for WZ, (4,4,0) for WY, and (4,4,1) for WX.
As the value of dZ has no effect in (19)—because of the null magnitude of the W0 and W7 vectors—solving this equation yields to (20):
W X α W Y α W X β W Y β d X d Y = w α * w β * = 2 / 3 1 / 3 1 / 3 0 3 / 3 3 / 3 w a n * w b n * w c n * ,
where the matrix at the left side arranges the known α-β components of the adjacent inverter vectors WX and WY, and the matrix at the right side translates phase-to-neutral local references into the α-β domain.
Equation (20) can be applied, without loss of generality, to a voltage reference with a phase in the range −π/3 to 0; thus, the nearest local vectors W1 (100) and W5 (101) will be used jointly with W0 (000) and W7 (111) to generate w*, as shown in Figure 3. Therefore, the amount of time for each vector is computed by solving the inverse problem described in (21), leading to (22) and (23). The duty cycles of the central vectors of the hexagon can be computed using (24), usually by adding (25), which is an optional but convenient condition.
d X d Y = d 5 d 1 = 1 3 2 3 3 3 0 1 · w α * w β * = 0 1 1 1 0 1 w a n * w b n * w c n * ,
d X = d 5 = 3 w β * = w c n * w b n * = w b c * ,
d Y = d 1 = 3 2 w α * + 3   2 w β * = w a n * w c n * = w c a * ,
d Z = d 0 + d 7 = 1 d X d Y = 1 + w b c * + w c a * = 1 w a b * ,
d 0 = d 7 .
These equations in the α-β domain, also known as the Park or Clarke reference frame, have been proposed and used by many authors, but equations in the ab-bc-ca domain, the natural frame, are clearly much simpler [37]. When this method is applied to all six sectors, it yields to the expressions shown in Table 1 [51].
As addressed in [51], a joint expression has been found to implement the same results achieved by Table 1, as shown in the following: using the normalized line-to-line reference voltages given by (16)–(18), (26)–(28) are used to obtain three “local polarities” that can be used to identify the sector where the local reference vector is located.
i f   w a b * 0.0   p a b = 1 / 2   e l s e   p a b = 1 / 2 ,
i f   w b c * 0.0   p b c = 1 / 2   e l s e   p b c = 1 / 2 ,
i f   w c a * 0.0   p c a = 1 / 2   e l s e   p c a = 1 / 2 .
Then, the duty cycles of vectors can be evaluated by means of (29), where dZ is applied to vector WZ, which is located at the center of the hexagon, and vectors WX and WY will be used during the dwell times dX and dY, respectively. Local polarities are arranged in a matrix in such a way that they select the proper reference voltages at all sectors, those ones included in Table 1.
d Z d X d Y = 1 0 0 p a b p b c p c a p c a p a b p b c p b c p c a p a b w a b * w b c * w c a * .
It is not difficult to validate (29) by comparing it sector by sector to Table 1. These duty cycles for vectors are valid for all six sectors of the hexagon, so by using this expression, no decisions are actually required to find the sector where the reference lies at each sampling period.
Afterward, the duty cycles of the three PWM generators should be found. In order to reduce the switching frequency on semiconductors, the switching sequence for odd sectors (I, III, and V) will be VZ-VX-VY-VZ-VY-VX-VZ, but the sequence VZ-VY-VX-VZ-VX-VY-VZ will be applied on even sectors (II, IV, and VI), as shown in Figure 3 and Table 1. Therefore, as shown in Table 2, the three duty cycles of the PWM generators, da, db, and dc, should include half of the dZ duty cycle. When references are in Sectors I, II, or VI, whenever the polarity pca is negative, the duty cycle computed as dX should be added to the duty cycle of the first phase, da. Similarly, the duty cycle dY must also be added to da when references are in Sectors I, V, or VI, where pab is positive. Following these ideas and applying the same procedure to the three phases leads to the following:
d a d b d c = 1 / 2 1 / 2 p c a 1 / 2 + p a b 1 / 2 1 / 2 p a b 1 / 2 + p b c 1 / 2 1 / 2 p b c 1 / 2 + p c a d Z d X d Y .
Through using (29) and (30), and taking into account that the summation of the three phase-to-phase references should be zero, the equations can be written as follows:
  d a = 1 / 2 + p c a 2 p b c p a b w a b * p a b 2 p c a p b c w c a * ,
  d b = 1 / 2 + p a b 2 p c a p b c w b c * p b c 2 p a b p c a w a b * ,
  d c = 1 / 2 + p b c 2 p a b p c a w c a * p c a 2 p b c p a b w b c * .
Seeing this result, the following definitions are useful:
ϕ a b p a b 2 p c a p b c ;   Φ a b 1 2 ϕ a b ,
ϕ b c p b c 2 p a b p c a ;   Φ b c 1 2 ϕ b c ,
ϕ c a p c a 2 p b c p a b ;   Φ c a 1 2 ϕ c a .
The behavior of these new variables, which can be named “local orientations”, can be seen in Figure 4. The value of ϕxy is 0 when the absolute value of the local reference in the xy axis is greater than the absolute value of the other two local references (xy = {ab, bc, ca}); the value of ϕxy is ½ otherwise. Similarly, Φxy is 1 when the xy component of the local reference is dominant, and it is 0 otherwise.
Analyzing (34)–(36), and taking into account that the values of the local polarities are either +1/2 or −1/2, a simpler and probably faster method to compute the local orientations is shown in the following:
i f   w c a * · w b c * 0   ϕ a b = 0   e l s e   ϕ a b = 1 / 2 ,
i f   w a b * · w c a * 0   ϕ b c = 0   e l s e   ϕ b c = 1 / 2 ,
i f   w b c * · w a b * 0   ϕ c a = 0   e l s e   ϕ c a = 1 / 2 .
Therefore, (31)–(33) can be rewritten as (40)–(42), thereby obtaining a set of joint expressions that are useful for computing the duty cycle for the last PWM generators of each phase for vectors located at any point of the local hexagon (as they are valid for all six sectors):
d a = 1 / 2 + ϕ c a w a b * ϕ a b w c a * ,
d b = 1 / 2 + ϕ a b w b c * ϕ b c w a b * ,
d c = 1 / 2 + ϕ b c w c a * ϕ c a w b c * .
These expressions, jointly with the developments shown in Section 4, lead to the desired phase-to-phase voltages for the MMC output, and when no neutral wire is used, they may lead to the desired output currents, with no zero-sequence components. However, it has been observed that they lead to uncontrolled sharp changes on the CMV. This issue will be analyzed with further detail in Section 5.

4. Base Vector for Multilevel SVM

For any given reference v * = ( v a n * , v b n * , v c n * ) , a base vector n a b , n b c , n c a should be used as the starting and ending vector in the SVM switching sequence. In order to reduce the current ripple, the three vectors used for the modulation should be the three vectors nearest to the reference. Moreover, this decision is actually a requirement for the method developed in Section 3 to compute the duty cycles. Naively, the base vector would be any one of the three vectors nearest to the reference (because that decision has no effect on the line to line voltages of the converter), but vectors of the outermost ring should be excluded as candidates for the base vector because the full symmetrical SVM sequence described in Figure 3 cannot be completed when starting on them.
Choosing the nearest vector to the reference, excluding the outermost ring, would also be considered a good option to select the base vector. However, a better behavior on the CMV has been observed when selecting vectors with an even number of available vectors, excluding all vectors with an odd number of possibilities. The former belong to what can be named “even rings”, while the latter belong to “odd rings”. At this point, it is difficult to justify this decision, but important simplifications are found later in (59)–(61), and these simplifications are possible only when base vectors are restricted to even rings (the same decision was taken in [31], also leading to simplifications). For this reason, vectors at even rings and vectors at odd rings are shown using different colors in Figure 2.
Following these ideas, the first step to find the coordinates of the base vector will normalize the voltage references v * = v a n * , v b n * , v c n * = v a b * , v b c * , v c a * to obtain u a b * , u b c * , u c a * . Indexes {ij, jk, ki} will be used to designate the greatest of them in absolute value, uij*, and the two following coordinates, ujk* and uki*. In the example of Figure 2, indexes {ij, jk, ki} are {bc, ca, ab}.
u a b * = ( v a n * v b n * ) / V s m = v a b * / V s m ,
u b c * = ( v b n * v c n * ) / V s m = v b c * / V s m ,
u c a * = ( v c n * v a n * ) / V s m = v c a * / V s m .
On the one hand, when the number of MMC submodules is odd, the ij coordinate of the base vector should be an even number to guarantee that the base vector is located at an even ring, which is a ring where all the vectors have an even number of options. Therefore, the nij coordinate of the base vector can be found using the round() function, which finds the nearest integer to a given value:
n i j = 2 · r o u n d ( u i j * / 2 ) .
In order to find the other two coordinates, equations for the case ij = bc are considered to simplify the analysis. In such a case, using classical αβ coordinates, we have
n α = r o u n d u a b * / 2 u c a * / 2 · 2 / 3 ,
n β = n b c / 3 = 2 · r o u n d ( u b c * / 2 ) / 3 .
Then, using the reverse Clarke transformation, we have
n a b = n α n α / 2 + n β · 3 / 2 ,
n c a = n α / 2 n β · 3 / 2 n α .
Applying this method to all cases, the components njk and nki can be found using the following:
n j k = r o u n d u j k * / 2 u k i * / 2 r o u n d ( u i j * / 2 ) ,
n k i = r o u n d u k i * / 2 u j k * / 2 r o u n d ( u i j * / 2 ) .
On the other hand, when the number of SMs is even, the ij coordinate of the base vector should be an odd number to guarantee that the base vector is located on an even ring. Again applying the same method, the three phase-to-phase coordinates of the base vector can be computed using the floor() function, a function that finds the nearest integer to be smaller or equal to a given value:
n i j = 2 · f l o o r ( u i j * / 2 ) + 1 ,
n j k = f l o o r u j k * / 2 u k i * / 2 f l o o r ( u i j * / 2 ) ,
n k i = f l o o r u k i * / 2 u j k * / 2 f l o o r ( u i j * / 2 ) .
Finally, the number of 100% active cells during the switching period, na, nb, and nc, should be computed for the three phases, and the patterns shown in Figure 5 are used (the same patterns that were proposed in [31]). When analyzing these patterns, it is found that they lead to (59)–(61), where “global polarities” and “global orientations” should be computed for the main reference. These new variables, as expected, have a behavior equivalent to their corresponding local versions, as was described above. Therefore, the three global orientations using the fast method of (37)–(39) are as follows:
i f   u c a * · u b c * 0   ψ a b = 0   e l s e   ψ a b = 1 / 2 ;   Ψ a b 1 2 ψ a b ,
i f   u a b * · u c a * 0   ψ b c = 0   e l s e   ψ b c = 1 / 2 ;   Ψ b c 1 2 ψ b c ,
i f   u b c * · u a b * 0   ψ c a = 0   e l s e   ψ c a = 1 / 2 ;   Ψ c a 1 2 ψ c a .
Using the integer coordinates of the base vector [nab, nbc, nca] and the global orientations, the number of 100% active cells for each phase during the switching period can be found using the following:
n a = ( N s m 1 ) / 2 + ψ c a n a b ψ a b n c a ,
n b = ( N s m 1 ) / 2 + ψ a b n b c ψ b c n a b ,
n c = ( N s m 1 ) / 2 + ψ b c n c a ψ c a n b c .
It is not difficult to check that (59)–(61) lead to the values shown in Figure 5, and it is relevant that they only obtain integer values at even rings but non integer values are evaluated at odd rings. This issue is not a problem when it has been decided that the base vectors, the starting and ending point of the SVM switching sequences, should only be located at even rings, as was addressed above.
Applying these results to the reference vector (152 V, 192 V, −344 V) shown in Figure 2, on a 5-cell MMC with 800 V at the dc bus, the normalized phase-to-phase references are [−0.25, 3.35, −3.15]; using (46), (51), and (52), the base vector is [−1, 4, −3], so the local reference vector is w* = [0.75, −0.65, −0.15]; using (26)–(28), the local polarities are pab = 1/2, pbc = −1/2, and pca = −1/2; and using (34)–(36), the local orientations are ϕab = 0, ϕbc = 1/2, and ϕca = 1/2. As such, in this case, the local ab component is dominant because the small reference is located at Sector VI of the small hexagon. Later on, using (59)–(61), the number of 100% active cells are na = 3, nb = 4, and nc = 0, and applying (40)–(42), the duty cycles for the last PWM generators of each phase are da = 0.875, db = 0.125, and dc = 0.775. These results are valid to generate the desired phase-to-phase voltages and the desired output currents, but as seen later, they generate an undesired CMV.

5. Handling Secondary Effects on Common Mode Voltage

The equations given in Section 4 can be applied to find the number of cells that should be inserted during a full switching period, and the equations developed in Section 3 can be used to find the duty cycles for the last three PWM generators (one per phase). The generated CMV using those equations is quite correct, but it has an undesirable ripple, as shown later.
It is well known that any amount added at the same time to the three duty cycles will change the CMV with no effect on the phase-to-phase output voltages. Using this idea, three sets of equations will be developed to compute the duty cycles:
d a 1 = 1 / 2 + ϕ c a w a b * ϕ a b w c a * ,
d b 1 = 1 / 2 + ϕ a b w b c * ϕ b c w a b * ,
d c 1 = 1 / 2 + ϕ b c w c a * ϕ c a w b c * ,
and
d a 2 = d a 1 + ϕ a b ϕ c a w a b * ϕ b c ϕ a b w c a * = 1 / 2 + ϕ a b w a b * ϕ b c w c a * ,
d b 2 = d b 1 + ϕ a b ϕ c a w a b * ϕ b c ϕ a b w c a * = 1 / 2 + ϕ b c w b c * ϕ c a w a b * ,
d c 2 = d c 1 + ϕ a b ϕ c a w a b * ϕ b c ϕ a b w c a * = 1 / 2 + ϕ c a w c a * ϕ a b w b c * ,
and
d a 3 = d a 1 + ϕ b c ϕ c a w a b * ϕ c a ϕ a b w c a * = 1 / 2 + ϕ b c w a b * ϕ c a w c a * ,
d b 3 = d b 1 + ϕ b c ϕ c a w a b * ϕ c a ϕ a b w c a * = 1 / 2 + ϕ c a w b c * ϕ a b w a b * ,
d c 3 = d c 1 + ϕ b c ϕ c a w a b * ϕ c a ϕ a b w c a * = 1 / 2 + ϕ a b w c a * ϕ b c w b c * .
These three sets, shown in Equations (62)–(70), can be used at any local hexagon to find different the duty cycles for the PWM generators, but only if they generate valid values in the range 0% to 100%; using them, only a moderate difference will be noticed on the output currents and voltages, and the main change will be seen in the CMV.
In this paper, the target has been to remove the uncontrolled changes on the CMV, forcing the modulator to obtain the same CMV as ZSI-PWM. As shown in (71)–(73), up to nine different situations were identified to obtain that target, and the most appropriate duty cycles were chosen depending on the orientation of the small reference vector w* modulated by the two-level SVM (also taking into account the orientation of the main reference v* or u*). In the example of Figure 2, the local orientation Φab has a value of 1 because the local reference is located in Sector VI, but the active global orientation is Ψbc because the main reference is mostly vertical. Therefore, in that situation, the duty cycles given by (68)–(70) generates a smoother CMV than (62)–(64).
d a = Ψ a b Φ a b + Ψ b c Φ b c + Ψ c a Φ c a · d a 1 + Ψ c a Φ a b + Ψ a b Φ b c + Ψ b c Φ c a · d a 2 + Ψ b c Φ a b + Ψ c a Φ b c + Ψ a b Φ c a · d a 3
d b = Ψ a b Φ a b + Ψ b c Φ b c + Ψ c a Φ c a · d b 1 + Ψ c a Φ a b + Ψ a b Φ b c + Ψ b c Φ c a · d b 2 + Ψ b c Φ a b + Ψ c a Φ b c + Ψ a b Φ c a · d b 3
d c = Ψ a b Φ a b + Ψ b c Φ b c + Ψ c a Φ c a · d c 1 + Ψ c a Φ a b + Ψ a b Φ b c + Ψ b c Φ c a · d c 2 + Ψ b c Φ a b + Ψ c a Φ b c + Ψ a b Φ c a · d c 3
Applying these equations on a microprocessor is affordable, but they will have a relevant cost. Fortunately, they can be greatly simplified by taking into account that ψab + ψbc + ψca = 1, ϕab + ϕbc + ϕca = 1, ϕabϕbc + ϕbcϕca + ϕcaϕab = ¼, and ϕxyϕxy = ϕxy/2 for any xy = {ab, bc, ca}. When simplifying (71)–(73), the following equations can be found:
d a = 1 / 2 + ψ c a w a b * ψ a b w c a * ,
d b = 1 / 2 + ψ a b w b c * ψ b c w a b * ,
d c = 1 / 2 + ψ b c w c a * ψ c a w b c * .
These equations, formally equal to (40)–(42), where local orientations of the two-level reference w* have been replaced by the global orientations of the main reference u*, can also be used to compute the multilevel SVM duty cycles for any sector wherever it is located (provided the local hexagon is centered at an even ring), and they are more appropriate than (40)–(42) from the point of view of the CMV, as seen later in the experimental section. They can also be applied to any MMC with any number of cells, and they are, actually, valid on most topologies of multilevel converters with an arbitrary number of levels.

6. Proposed Method for Multilevel SVM

In light of the last result of Section 5, an important simplification step for the multilevel SVM algorithm can be explored:
n a = f l o o r N s m / 2 + ψ c a u a b * ψ a b u c a * ,
n b = f l o o r N s m / 2 + ψ a b u b c * ψ b c u a b * ,
n c = f l o o r N s m / 2 + ψ b c u c a * ψ c a u b c * .
These equations were just tested, not developed, but it was found that they are actually valid, as demonstrated in Appendix A: they lead to the same results as (59)–(61), and this result was demonstrated through analyzing six different cases (ψab = 0, ψbc = 0, and ψca = 0 for Nsm even and also for Nsm odd), using (46) and (51)–(55) when required. Then, when using (74)–(76) and (59)–(61), it is also immediate that the following applies:
d a = f r a c t N s m / 2 + ψ c a u a b * ψ a b u c a * ,
d b = f r a c t N s m / 2 + ψ a b u b c * ψ b c u a b * ,
d c = f r a c t N s m / 2 + ψ b c u c a * ψ c a u b c * ,
where the fract() function, defined as fract(x) ≡ xfloor(x), computes the fractional part of any real number.
Equations (77)–(82), jointly with (56)–(58), are very simple, their implementation on a microprocessor is straightforward, and their complexity is, actually, comparable to most PWM methods. They obtain the values required by multilevel SVM for all cases: the number of 100% active cells on the lower (or upper) arms of any MMC with any number of a cells, as well as the duty cycles of their last PWM generators, one per phase. In this process, the only decision-like operations are made when computing the global orientations at (56)–(58); thereafter, no decisions are required to find the required values to control the MMC, so the proposed multilevel SVM executes regularly for any reference vector, wherever it is located.
When again applying the proposed method to the reference (152 V, 192 V, −344 V) shown in Figure 2, which is equivalent to [−40 V, 536 V, −496 V], on a 5-cell MMC with 800 V at the dc bus, the normalized phase-to-phase reference vector is u* = [−0.25, 3.35, −3.10]; the global orientations are ψab = 1/2, ψbc = 0, and ψca = 1/2 (because the bc component is dominant); when applying (77)–(79), the number of 100% active cells for the three arms of the MMC are na = 3, nb = 4, and nc = 0; and when using (80)–(82), the duty cycles for the last PWM generators are da = 0.925, db = 0.175, and dc = 0.825. The duty cycles are different, in this case, to those found at the end of Section 4.

7. Equivalence of Multilevel SVM and PWM with Zero Sequence Injection

The implementation of the ZSI-PWM technique, when half of the median of the three phase-to-neutral references is added to the three references, is easy and straightforward: first of all, it normalizes the phase-to-neutral references using the nominal voltage of the switching modules Vsm; then, it adds the half of the median of the three references; and, finally, it obtains the number of 100% active cells and the duty cycles for the three phases using the floor() and the fract() functions.
u a n * = v a n * / V s m ,
u b n * = v b n * / V s m ,
u c n * = v c n * / V s m ,
u a M * u a n * + m e d i a n u a n * , u b n * , u c n * / 2 ,
u b M * u b n * + m e d i a n u a n * , u b n * , u c n * / 2 ,
u c M * u c n * + m e d i a n u a n * , u b n * , u c n * / 2 ,
n a = f l o o r N s m / 2 + u a M * ;   d a = f r a c t N s m / 2 + u a M * ,
n b = f l o o r N s m / 2 + u b M * ;   d b = f r a c t N s m / 2 + u b M * ,
n c = f l o o r N s m / 2 + u c M * ;   d c = f r a c t N s m / 2 + u c M * .
Therefore, in order to demonstrate that multilevel ZSI-PWM and multilevel SVM generate the same number of 100% active cells and the same duty cycles for any given reference, it should be demonstrated that the following applies:
N s m / 2 + u a n * + m e d i a n u a n * , u b n * , u c n * / 2 = N s m / 2 + ψ c a u a b * ψ a b u c a * ,
N s m / 2 + u b n * + m e d i a n u a n * , u b n * , u c n * / 2 = N s m / 2 + ψ a b u b c * ψ b c u a b * ,
N s m / 2 + u c n * + m e d i a n u a n * , u b n * , u c n * / 2 = N s m / 2 + ψ b c u c a * ψ c a u b c * .
This task is not difficult when analyzing six cases: when uan* > ubn* > ucn*, as well as when uan* < ubn* < ucn*, the median of those three values is ubn* and the voltages uab* and ubc* have the same sign, so ψca is 0 (otherwise, it is 1/2); when ubn* > ucn* > uan*, as well as when ubn* < ucn* < uan*, the median value is ucn* and the voltages ubc* and uca* have the same sign, so ψab is 0 (otherwise, it is also 1/2); when ucn* > uan* > ubn*, as well as when ucn* < uan* < ubn*, the median value is uan* and the voltages uca* and uab* have the same sign, so ψbc is 0 (otherwise, again, it is 1/2). Therefore,
m e d i a n u a n * , u b n * , u c n * = 1 2 ψ b c u a n * + 1 2 ψ c a u b n * + 1 2 ψ a b u c n * ,
and when using (95), the verification of (92)–(94) is almost immediate. An equivalent equation to (95), for two level converters, can be found in [17].
When applying the described ZSI-PWM method to the same reference (152 V, 192 V, −344 V) shown in Figure 2, the three phase-to-neutral voltages are normalized leading to (0.95, 1.20, −2.15). The median of those three voltages is 0.95, and (89)–(91) are then used by applying the floor() and the fract() functions to obtain (3.925, 4.175, 0.825), leading to na = 3, nb = 4, nc = 0, and da = 0.925, db = 0.175, and dc = 0.825, which are exactly the same results provided by the proposed SVM method when using (56)–(58) and (77)–(82).

8. Results

8.1. Experimental Setup

A 60 kW grid-connected PV generation model was used to validate the procedures explained in this paper. First of all, it was implemented using MATLAB/Simulink 2024a, and later on, it was implemented using a real-time simulator (RTS) called RTbox 240 (from accuRTpower.com). The topology of this facility is described in Figure 1, and the main parameters are described in Table 3: the PV power was generated using an array of PV panels and booster converters, which gave the power to a dc bus, whose voltage was regulated from the MMC connected to the grid. A semi-averaged model was used for the MMC: at each sampling period of the plant, 4 µs in this case, the converter added all of the incoming PWM signals for each arm, and then an average value of the capacitor voltages was computed for each arm, so the arm currents and arm voltages were realistic but the effect of the different voltages at the cell capacitors of the same arm were not considered and the usual cell capacitor balancing task was not required; in fact, it also took into account if a PWM signal changed during the sampling period of the plant (as long as the PWM generators ran at 64 MHz).
In the case of the RTS system, it ran three processors: a vectorial processor was used for the linear parts of the plant, running with a sampling period of 4 µs (as said above); a sequential processor computed the behavior of non-linear parts of the plant (also every 4 µs); and the last processor, also a sequential one, was used to implement the controller with a sampling period of 200 µs, so the switching frequency was selected to be 5 kHz. The C programming language was used for the controller, including floating-point variables and vectors. The sequential processor used for the plant uses models programmed in the assembly language, and both sequential processors used a shared memory to communicate the average voltages of the capacitors of the MMC. Duty cycles were directly sent from the controller processor to the PWM generators that were directly connected to digital outputs, and they were then connected to the digital inputs that controlled the MMC. The analog measures used a wired loop: a 12-bit DAC was used to send the measures of currents and voltages at a rate of 1 MSPS out of the RTS, and a 12-bit ADC was then used to receive them at the sequential processor used for the controller.
Regarding the PV plant, 60 kW was generated using 11 strings with 17 serially connected PV panels (model Suntech STP320-24/Ve from Suntech, Wuxi, Jiangsu, China, with 320 W per panel), which provided maximum power at 36.7 V and 8.72 A. The open-circuit voltage of each panels was 45.6 V, the short-circuit current was 9.07 A, and the diode ideality factor was found to be 1.1238.
As described in Table 3, the dc voltage was selected to be 800 V for a 400 V grid. The chosen control structure was classical, with an inner loop that controls the output currents and an outer loop that regulates the dc voltage through the active power sent to the grid. The 100 Hz circulating current was not controlled in order to reduce the impact of that regulator on the measures of distortion (its value was smaller than 70% of the output current). At the dc side, the duty cycle of the boosters was also selected using an internal current loop to set a converter voltage to control the voltage of each string of PV panels looking for the maximum power point, which was provided by a lookup table in whose inputs were the PV string current and the average PV temperature. The output of this module was the voltage of the maximum power point for that current and that temperature.
The reactors of the boosters were selected to keep the current ripple below ±40% at the selected switching frequency, and the capacitors for the PV panels set the resonance frequency of the Lbs-Cpv circuit about 20 times below the switching frequency, thus keeping the variations of the PV voltage below ±0.2% of the nominal voltage.

8.2. Controller Regulators

The controller for the boosters, which implements the MPPT using the LUT method, uses an internal current control loop, as is the case for many dc-ac systems [52], as shown in Figure 6: a proportional–integral regulator generates a booster current reference to follow the voltage reference for the PV panels given by the MPPT, and a fast controller assures the duty cycle of the booster (actually, the upper switch of the booster is a diode, so the lower switch should apply the complementary duty cycle) to obtain the desired current at the booster reactor. The current loop uses KPI = 0.0016 A−1 and KII = 0.078 A−1·s−1 to cancel the pole given by the reactor at wbs = Rbs/Lbs, replacing all of the inner loop by a first-order low pass filter with a selected cut-off frequency of 2500 rad/s. Thereafter, applying the symmetrical optimum with a phase margin of 60°, the resulting parameters for the outer regulator are KPV = 0.54 A/V and KIV = 96.2 A/V·s. The bandwidth of the closed-loop transfer function of this system was 167 Hz, so it executed very fast tracking on the MPP of the PV panels.
At the ac side, a controller with an internal current loop has also been used [52], as shown in Figure 7. The current loop used KPI = 0.25 V/A and KII = 12.5 V/A·s to cancel out the pole of the equivalent output reactor (Leq = Lo + Larm/2, Req = Ro + Rarm/2), setting the cut-off frequency of the resulting low pass filter at 417 rad/s. On the design of the outer loop, which regulates the active power to set the dc voltage at a desired reference of 800 Vdc, the equivalent capacitor of the MMC at the dc side (CmmcDC = 6·Csm/Nsm), as well as an equivalent series reactor at the dc wire (LmmcDC = Larm·2/3, RmmcDC = Rarm·2/3), have also been taken into account [50], leading one to consider a pure integrator at the open-loop transfer function with CparDC = CmmcDC + Nstrings·Cdc/2 and a second-order low pass filter with an equivalent capacitance CserDC = 1/(1/CmmcDC + 1/(Nstrings·Cdc/2)). When designing this controller, a phase margin of 60° was selected and the second-order low pass filter was initially ignored, leading to a zero crossing frequency of 112 rad/s when applying again the symmetrical optimum method; later on, the converter parameters (Csm and Larm) were selected to place the cut-off frequency of the second-order low pass filter of the dc side at enough distance to maintain the stability properties of the controller. Using KPV = 1.5 A/V and KIV = 44.7 A/V·s, the bandwidth of the open-loop transfer function was 24.3 Hz, as desired, and the phase margin was slightly reduced to 59.3°. The bandwidth of the closed-loop transfer function of this system was 28.5 Hz, so it was completely decoupled from the controllers of the PV panels.

8.3. MATLAB Simulations

Five different modulations were tested and compared: sinusoidal PWM (SPWM); a ZSI-PWM that modifies the phase-to-neutral references adding their half median; a SVM using the g-h frame and selecting the nearest vector at an even ring as the starting vector of the switching sequence (SVM-gh); a SVM using natural frame, base vectors at even rings and local orientations (SVM-local); and the proposed SVM using a natural frame, base vectors at even rings, and global orientations (SVM-global). In all of the methods, when the duty cycles had been computed, they were applied by the controller at the start of each sampling period using PD-PWM modulators.
Figure 8 shows the behavior of those five modulations on MATLAB/Simulink when using an MMC with 8 SMs per arm. As shown in the figure, it is clear that SVM-gh and SVM-local computed the same control signals for the converter, and this issue had, actually, been verified at each sampling period during simulations; therefore, they generated the same common mode voltage, with the same sharp changes located at the same times. Also, ZSI-PWM and SVM-global generated identical results, which were again verified at each sampling period during the simulations, and it was evident that the common mode voltage was smoother and more predictable than the other methods that used only local information.

8.4. Steady State Behavior on Real-Time Simulations

Figure 9 shows the equivalent results on the RTS for an MMC with eight switching modules per arm when using two SVM methods, with local and global orientations, and it also shows the waveforms of the grid voltage and the output current. Furthermore, Figure 10 shows, with more detail, the behavior of an MMC with four cells per arm. The sharp changes on the controller commands are clearly shown in Figure 10c,d, and the effects of those changes on the common mode voltage are also patent. The equivalence of ZSI-PWM and SVM-global was, again, verified.

8.5. Quality of the Output Currents: Distortion and Harmonic Content

Figure 11 shows the total harmonic distortion (THD) of the current to the grid and the low-order harmonic distortion (LHD) that includes harmonics from 100 Hz (2nd) to 950 Hz (19th). A converter with four switching modules per arm was selected, and the grid voltage ranged from 300 V (modulation index m = 61%) to 490 V (m = 100%) with steps of 5 volts. Again, SVM-gh and SVM-local led to the same results, and ZSI-PWM and SVM-global also demonstrated that they computed the same control signals. The behavior throughout all of the voltage range, compared with the classical SVM based on a g-h frame, was clearly more consistent when applying the proposed SVM method using global orientations.
The harmonic content of the output currents, using dBmA units, is shown in Figure 12: they were computed as 20·log10(current_value/1 mA), so the values of 1 mA, 1 A, and 1 kA were seen as 0 dBmA, 60 dBmA, and 120 dBmA. The first harmonic (50 Hz) for the situation with 60 kW and 400 V had a value of about 122 A (about 102 dBmA). The even harmonics were very small, and the values below 1 mA were, actually, not displayed. Only when using SPWM did the fifth harmonic surpass the 1 A limit (about 1% of the 120 A output current). The harmonic content of the proposed SVM method, using global orientations, was quite identical to the behavior of ZSI-PWM, as expected after the given demonstration. The harmonics of SVM-gh and SVM-local were also the same, and they were also slightly higher than the results achieved by the proposed SVM when using global orientations.

8.6. Dynamic Behavior on Real-Time Simulations

The fast and robust dynamic answer of the analyzed PV plant, using the proposed LUT-based MPPT and regulators, is demonstrated in Figure 13 through a sharp change from 10% to 100% at the irradiance of the PV field. The new MPP was found in a few milliseconds, and the steady state was reached in about 100 ms.

8.7. Assessment of the Execution Time

The execution time was measured using the five modulations under analysis with the C language in all cases for the programming of the controller, starting with phase-to-neutral references and ending with the PWM signals for the upper and lower arms (not including the capacitor voltage balancing strategy). The minimum and the maximum times were measured using the RTS for an MMC with 8 SMs per arm, and the number of clock cycles was computed taking into account that the running frequency of the controller was 64 MHz. The results, jointly with a few relevant features of the analyzed modulators, are shown in Table 4.
Using the proposed SVM-global technique, the execution time of the modulator was regular, as shown in Table 4: it needed 43 cycles to compute the normalized phase-to-phase references, 12 cycles to compute the global orientations, and 54 cycles to obtain the number of 100% active cells and the duty cycles of the last PWM generators for the three phases. In all cases, 48 additional cycles were used to saturate the control signals to be sure that they always fit the MMC capabilities, but in most cases, these instructions can be removed.

9. Discussion

This paper found many multilevel SVM equations to generate the control signals required by an MMC and, most probably with minor changes, other multilevel topologies. The final proposal shown in Section 6 is a straightforward method based on global information that is not only comparable in complexity to multilevel PWM methods with modified references, but also leads to exactly the same control signals of ZSI-PWM, as demonstrated in Section 7. The other method developed in Section 4, based on local information, actually needs more computations and, when the same starting vector is selected for the switching sequence, it leads to the same results of the well-known method that is based on g-h coordinates.
Many methods based in two triangles (gh, KL, ja-jb-jc) have been considered because they find the three nearest vectors very fast using simple equations, and they also obtain the duty cycles of those vectors with no trouble. However, they do not fully address the problem of choosing the starting vector for the switching sequence, or they just recommend using the nearest vector to the reference, which is the vector with the greatest duty cycle. As seen in this paper, this decision was not trivial, and it is recommended to use only vectors from one out of every two rings. During the implementation of the gh method, in order to compute the control signals required by the multilevel converter, six scenarios were established not two: the duty cycles of the phases on triangles type 1 and type 2 actually depend on the vector selected to start the switching sequence, so six different situations were found. In the proposed method, using a local hexagon, six scenarios were also considered: the six sectors of the hexagon. However, it is more likely that one finds the underlying symmetries using a hexagon, and in this paper, those symmetries actually led to the concepts of “local orientations” and “global orientations” (these new variables may give a new and interesting point of view to SVM methods).
Selecting the vectors that are used to start the switching sequences belonging to even rings has also been an important decision. At first, weak reasons have been provided to do so, but a very different behavior on the CMV was observed when selecting the base vector at any location or at even rings. In the first case, the CMV had important unbalances that should be fixed, but a more balanced CMV was generated in the second case, so restricting the base vectors to even rings may lead to SVM methods with an easier control to the CMV.
The difference between using only local information to compute the duty cycles or taking into account global information has also been an important issue. To date, all known SVM methods use local information, generating a CMV with undesired ripples that should be fixed using some feedback. In this paper, it was found that the use of global information, the so-called “global orientations”, is the key difference to obtain exactly the same CMV as the PWM method with an injection of the half median zero sequence. If an application desires a different behavior on the CMV, the proposed method would be a good starting point to develop that SVM technique.
In the experimental part, using MATLAB/Simulink and a real-time simulator, two comparisons were tested. On the one hand, the control signals of the gh method were identical to the signals generated by the proposed method when local orientations were used, taking into account that, in both methods, the starting vector was selected as the nearest to the reference belonging to an even ring. This one was an expected result, as long as both methods use only local information to compute the duty cycles. On the other hand, the ZSI-PWM method with the injection of the half median zero sequence and the proposed method using global orientations also led to exactly the same control signals; moreover, in Section 7, it was analytically demonstrated that their control signals should be equal in any situation for multilevel converters with any number of levels. However, when measuring the execution time on the RTS, it was found that the implementation of SVM-global and ZSI-PWM was not only regular and easy in both cases, but they also needed about the same number of instructions, which was actually less in the case of ZSI-PWM. The observed more consistent distortion for different grid voltages when using global orientations, compared to the method with local orientations or any other method using only local information, would be a good reason to introduce this idea in the development of future SVM methods.

Author Contributions

Conceptualization, S.d.P. and Y.N.B.; methodology, S.d.P., Y.N.B., F.M.-R. and A.B.R.-B.; software, Y.N.B. and S.d.P.; validation, F.M.-R., Y.N.B. and S.d.P.; formal analysis, S.d.P., Y.N.B., A.B.R.-B. and F.M.-R.; investigation, A.B.R.-B. and L.C.H.-d.-L.; resources, S.d.P., F.M.-R. and L.C.H.-d.-L.; data curation, L.C.H.-d.-L.; writing—original draft preparation, S.d.P. and Y.N.B.; writing—review and editing, S.d.P. and F.M.-R.; visualization, L.C.H.-d.-L.; supervision, S.d.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Data will be made available on request.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A

In Section 4, equations like (A1) were proposed to compute the number of 100% active cells during each sampling period, but the alternative (A2) was proposed later, as shown in Section 6. Following this, it will be demonstrated that both equations lead to the same results for the first phase, and the same process can be applied to the other two phases.
n a = ( N s m 1 ) / 2 + ψ c a n a b ψ a b n c a ,
n a = f l o o r N s m / 2 + ψ c a u a b * ψ a b u c a * .
When the number of switching modules Nsm is even it should be demonstrated that the following applies:
ψ c a n a b ψ a b n c a 1 / 2 = f l o o r ψ c a u a b * ψ a b u c a * .
It can be seen that, when ψab = 0, both sides lead to floor(uab*/2); when ψca = 0, both sides lead to floor(uca*/2); and, when ψbc = 0, both sides lead to floor(uab*/2 − uca*/2). In this process, floor(−x) = −floor(x) 1 should be used, which is true for any real number except for numbers that are exactly integers.
Similarly, when the number of SMs is odd, taking into account that floor(x) = round(x − 1/2), the following should be demonstrated:
ψ c a n a b ψ a b n c a = r o u n d ψ c a u a b * ψ a b u c a * .
It can be seen that, when ψab = 0, both sides lead to round(uab*/2); when ψca = 0, both sides lead to round(uca*/2); and when ψbc = 0, both sides lead to round(uab*/2 − uca*/2). In this process, round(−x) = −round(x) should be used, which is true for any real number except for numbers that are exactly in the middle of two integers.
In addition, equations like (A5) were proposed in Section 5 to compute the duty cycle of the last PWM generator of the MMC arm during each sampling period, but in Section 6, the alternative (A6) was proposed. Following this, it will be demonstrated that both equations lead to the same results for the first phase, and the same process can be applied to the other two phases.
d a = 1 / 2 + ψ c a w a b * ψ a b w c a * ,
d a = f r a c t N s m / 2 + ψ c a u a b * ψ a b u c a * .
It should be demonstrated (A7), which actually leads to (A9), where all terms are mutually canceled.
1 / 2 + ψ c a w a b * ψ a b w c a * = f r a c t N s m / 2 + ψ c a u a b * ψ a b u c a * ,
1 / 2 + ψ c a u a b * n a b ψ a b u c a * n c a = N s m / 2 + ψ c a u a b * ψ a b u c a * n a
1 / 2 + ψ c a u a b * ψ c a n a b ψ a b u c a * + ψ a b n c a = = N s m / 2 + ψ c a u a b * ψ a b u c a * N s m / 2 1 / 2 + ψ c a n a b ψ a b n c a

References

  1. International Renewable Energy Agency. Renewable Energy Statistics 2025; IRENA: Abu Dhabi, United Arab Emirates, 2025. [Google Scholar]
  2. Bogdanov, D.; Farfan, J.; Sadovskaia, K.; Aghahosseini, A.; Child, M.; Gulagi, A.; Oyewo, A.S.; de Souza Noel Simas Barbosa, L.; Breyer, C. Radical Transformation Pathway towards Sustainable Electricity via Evolutionary Steps. Nat. Commun. 2019, 10, 1077. [Google Scholar] [CrossRef]
  3. Farmer, J.D.; Lafond, F. How Predictable Is Technological Progress? Res. Policy 2016, 45, 647–665. [Google Scholar] [CrossRef]
  4. Shafiullah, M.; Ahmed, S.D.; Al-Sulaiman, F.A. Grid Integration Challenges and Solution Strategies for Solar PV Systems: A Review. IEEE Access 2022, 10, 52233–52257. [Google Scholar] [CrossRef]
  5. International Renewable Energy Agency. Renewable Power Generation Costs in 2024; IRENA: Abu Dhabi, United Arab Emirates, 2025. [Google Scholar]
  6. Nabae, A.; Takahashi, I.; Akagi, H. A New Neutral-Point-Clamped PWM Inverter. IEEE Trans. Ind. Appl. 1981, IA–17, 518–523. [Google Scholar] [CrossRef]
  7. Kouro, S.; Malinowski, M.; Gopakumar, K.; Pou, J.; Franquelo, L.G.; Wu, B.; Rodriguez, J.; Pérez, M.A.; Leon, J.I. Recent Advances and Industrial Applications of Multilevel Converters. IEEE Trans. Ind. Electron. 2010, 57, 2553–2580. [Google Scholar] [CrossRef]
  8. Norambuena, M.; Kouro, S.; Dieckerhoff, S.; Rodriguez, J. Reduced Multilevel Converter: A Novel Multilevel Converter with a Reduced Number of Active Switches. IEEE Trans. Ind. Electron. 2018, 65, 3636–3645. [Google Scholar] [CrossRef]
  9. Lesnicar, A.; Marquardt, R. An innovative modular multilevel converter topology suitable for a wide power range. In Proceedings 2003 IEEE Bologna Power Tech Conference; IEEE: Piscataway, NJ, USA, 2003; p. 6. [Google Scholar] [CrossRef]
  10. Raju, M.N.; Sreedevi, J.; Mandi, R.P.; Meera, K.S. Modular Multilevel Converters Technology: A Comprehensive Study on Its Topologies, Modelling, Control and Applications. IET Power Electron. 2019, 12, 149–169. [Google Scholar] [CrossRef]
  11. Dekka, A.; Wu, B.; Fuentes, R.L.; Perez, M.; Zargari, N.R. Evolution of Topologies, Modeling, Control Schemes, and Applications of Modular Multilevel Converters. IEEE J. Emerg. Sel. Top. Power Electron. 2017, 5, 1631–1656. [Google Scholar] [CrossRef]
  12. Perez, M.A.; Bernet, S.; Rodriguez, J.; Kouro, S.; Lizana, R. Circuit Topologies, Modeling, Control Schemes, and Applications of Modular Multilevel Converters. IEEE Trans. Power Electron. 2015, 30, 4–17. [Google Scholar] [CrossRef]
  13. Moranchel, M.; Huerta, F.; Sanz, I.; Bueno, E.; Rodríguez, F.J. A Comparison of Modulation Techniques for Modular Multilevel Converters. Energies 2016, 9, 1091. [Google Scholar] [CrossRef]
  14. António-Ferreira, A.; Collados-Rodríguez, C.; Gomis-Bellmunt, O. Modulation Techniques Applied to Medium Voltage Modular Multilevel Converters for Renewable Energy Integration: A Review. Electr. Power Syst. Res. 2018, 155, 21–39. [Google Scholar] [CrossRef]
  15. Du, Z.; Tolbert, L.M.; Chiasson, J.N. Active Harmonic Elimination for Multilevel Converters. IEEE Trans. Power Electron. 2006, 21, 459–469. [Google Scholar] [CrossRef]
  16. McGrath, B.P.; Holmes, D.G.; Lipo, T. Optimized Space Vector Switching Sequences for Multilevel Inverters. IEEE Trans. Power Electron. 2003, 18, 1293–1301. [Google Scholar] [CrossRef]
  17. Rodriguez, P.; Pou, J.; Luna, A.; Ghizoni, D.; Guo, J.; Francis, G.; Burgos, R.; Boroyevich, D. Three-dimensional SVM for modular power electronics systems. In Proceedings of the 2005 IECON 31st Annual Conference of IEEE Industrial Electronics Society, Raleigh, NC, USA, 6–10 November 2025; IEEE: Piscataway, NJ, USA, 2005; pp. 497–502. [Google Scholar] [CrossRef]
  18. Gu, M.; Ogasawara, S.; Takemoto, M. Novel PWM Schemes with Multi SVPWM of Sensorless IPMSM Drives for Reducing Current Ripple. IEEE Trans. Power Electron. 2016, 31, 6461–6475. [Google Scholar] [CrossRef]
  19. Tuluhong, A.; Song, T.; Chang, Q.; Xu, Z. A Review of Neutral-Point Voltage Balancing and Common-Mode Voltage Suppression Methods in Three-Level Converters. Electronics 2025, 14, 936. [Google Scholar] [CrossRef]
  20. Ovalle, A.; Hernandez, M.E.; Ramos, G.A. A Flexible Nonorthogonal-Reference-Frame-Based SVPWM Framework for Multilevel Inverters. IEEE Trans. Power Electron. 2017, 32, 4925–4938. [Google Scholar] [CrossRef]
  21. Gupta, A.K.; Khambadkone, A.M. A General Space Vector PWM Algorithm for Multilevel Inverters, Including Operation in Overmodulation Range. IEEE Trans. Power Electron. 2007, 22, 517–526. [Google Scholar] [CrossRef]
  22. Li, X.; Dusmez, S.; Akin, B.; Rajashekara, K.A. New Active Fault-Tolerant SVPWM Strategy for Single-Phase Faults in Three-Phase Multilevel Converters. IEEE Trans. Ind. Electron. 2015, 62, 3955–3965. [Google Scholar] [CrossRef]
  23. Lin, H.; Shu, Z.; He, X.; Liu, M. N-D SVPWM with DC Voltage Balancing and Vector Smooth Transition Algorithm for a Cascaded Multilevel Converter. IEEE Trans. Ind. Electron. 2018, 65, 3837–3847. [Google Scholar] [CrossRef]
  24. Chaki, R.; Tambe, S.; Dey, A. A reduced switching space vector modulation for medium voltage grid connected MMC. Electr. Power Syst. Res. 2025, 241, 111322. [Google Scholar] [CrossRef]
  25. Liu, H.L.; Cho, G.H. Three-level space vector PWM in low index modulation region avoiding narrow pulse problem. IEEE Trans. Power Electron. 1994, 9, 481–486. [Google Scholar] [CrossRef]
  26. Busquets-Monge, S.; Bordonau, J.; Boroyevich, D.; Somavilla, S. The nearest three virtual space vector PWM—A modulation for the comprehensive neutral-point balancing in the three-level NPC inverter. IEEE Power Electron. Lett. 2004, 2, 11–15. [Google Scholar] [CrossRef]
  27. López, O.; Álvarez, J.; Doval-Gandoy, J.; Freijedo, F.D. Multilevel Multiphase Space Vector PWM Algorithm with Switching State Redundancy. IEEE Trans. Ind. Electron. 2009, 56, 792–804. [Google Scholar] [CrossRef]
  28. Durán, M.J.; Prieto, J.; Barrero, F.; Riveros, J.A.; Guzman, H. Space-Vector PWM with Reduced Common-Mode Voltage for Five-Phase Induction Motor Drives. IEEE Trans. Ind. Electron. 2013, 60, 4159–4168. [Google Scholar] [CrossRef]
  29. Gupta, A.K.; Khambadkone, A.M. A Space Vector PWM Scheme for Multilevel Inverters Based on Two-Level Space Vector PWM. IEEE Trans. Ind. Electron. 2006, 53, 1631–1639. [Google Scholar] [CrossRef]
  30. Ahmed, I.; Borghate, V.B.; Matsa, A.; Meshram, P.M.; Suryawanshi, H.M.; Chaudhari, M.A. Simplified Space Vector Modulation Techniques for Multilevel Inverters. IEEE Trans. Power Electron. 2016, 31, 8483–8499. [Google Scholar] [CrossRef]
  31. Wei, C.; Yuan, X.; Zhang, Y.; Wu, X. A Generic Multi-Level SVM Scheme Based on Two-Level SVM for n-Level Converters. Energies 2020, 13, 2143. [Google Scholar] [CrossRef]
  32. Celanovic, N.; Boroyevich, D. A fast space-vector modulation algorithm for multilevel three-phase converters. IEEE Trans. Ind. Appl. 2001, 37, 637–641. [Google Scholar] [CrossRef]
  33. Yao, W.; Hu, H.; Lu, Z. Comparisons of Space-Vector Modulation and Carrier-Based Modulation of Multilevel Inverter. IEEE Trans. Power Electron. 2007, 23, 45–51. [Google Scholar] [CrossRef]
  34. Amini, J. An Effortless Space-Vector-Based Modulation for N-Level Flying Capacitor Multilevel Inverter with Capacitor Voltage Balancing Capability. IEEE Trans. Power Electron. 2014, 29, 6188–6195. [Google Scholar] [CrossRef]
  35. Corzine, K.A.; Baker, J.R. Multilevel voltage-source duty-cycle modulation: Analysis and implementation. IEEE Trans. Ind. Electron. 2002, 49, 1009–1016. [Google Scholar] [CrossRef]
  36. Lin, H.; Li, R.; Zhu, L.; Yan, H.; Ma, L.; Yao, J.; Shu, Z. A fast and flexible nearest-level-equivalent space vector modulation algorithm for three-phase multilevel converters. Int. J. Electr. Power Energy Syst. 2020, 118, 105787. [Google Scholar] [CrossRef]
  37. Attique, Q.M. A Survey on Space-Vector Pulse Width Modulation for Multilevel Inverters. CPSS Trans. Power Electron. Appl. 2017, 2, 226–236. [Google Scholar] [CrossRef]
  38. Li, Y.; Gao, Y.; Hou, X. A General SVM Algorithm for Multilevel Converters Considering Zero-Sequence Component Control. In Proceedings of the 2005 IECON 31st Annual Conference of IEEE Industrial Electronics Society, Raleigh, NC, USA, 6–10 November 2025; IEEE: Piscataway, NJ, USA, 2005; pp. 508–513. [Google Scholar] [CrossRef]
  39. Yuan, X.; Gao, Y.; Li, Y. A Fast Multilevel SVPWM Method Based on the Imaginary Coordinate with Direct Control of Redundant Vectors or Zero Sequence Components. IEEE Open J. Ind. Electron. Soc. 2020, 1, 355–366. [Google Scholar] [CrossRef]
  40. Peng, D.; Lee, F.C.; Boroyevich, D. A Novel SVM Algorithm for Multilevel Three-Phase Converters. In Proceedings of the 2002 IEEE 33rd Annual IEEE Power Electronics Specialists Conference. Proceedings (Cat. No.02CH37289), Cairns, QLD, Australia, 23–27 June 2002; IEEE: Piscataway, NJ, USA, 2002; pp. 509–513. [Google Scholar] [CrossRef]
  41. Seo, J.H.; Choi, C.H.; Hyun, D.S. A new simplified space-vector PWM method for three-level inverters. IEEE Trans. Power Electron. 2001, 16, 545–550. [Google Scholar] [CrossRef]
  42. Loh, P.C.; Holmes, D.G. A New Flux Modulation Technique for Multilevel Inverters. In Proceedings of the 2001 4th IEEE International Conference on Power Electronics and Drive Systems. Proceedings (Cat. No.01TH8594), Denpasar, Indonesia, 25 October 2001; IEEE: Piscataway, NJ, USA, 2001; pp. 396–402. [Google Scholar] [CrossRef]
  43. Deng, Y.; Wang, Y.; Teo, K.H.; Harley, R.G. A Simplified Space Vector Modulation Scheme for Multilevel Converters. IEEE Trans. Power Electron. 2016, 31, 1873–1886. [Google Scholar] [CrossRef]
  44. Aneesh Mohamed, A.S.; Gopinath, A.; Baiju, M.R. A Simple Space Vector PWM Generation Scheme for Any General n-Level Inverter. IEEE Trans. Ind. Electron. 2009, 56, 1649–1656. [Google Scholar] [CrossRef]
  45. Gopinath, A.; Mohamed, A.S.A.; Baiju, M.R. Fractal Based Space Vector PWM for Multilevel Inverters-A Novel Approach. IEEE Trans. Ind. Electron. 2009, 56, 1230–1237. [Google Scholar] [CrossRef]
  46. Lee, G.M.; Lee, D.C. Implementation of naturally sampled space vector modulation eliminating microprocessors. In Proceedings of the 2000 Third International Power Electronics and Motion Control Conference (IEEE Cat. No.00EX435), Beijing, China, 15–18 August 2000; IEEE: Piscataway, NJ, USA, 2000; pp. 803–807. [Google Scholar] [CrossRef]
  47. Zhou, K.; Wang, D. Relationship between space-vector modulation and three-phase carrier-based PWM: A comprehensive analysis. IEEE Trans. Ind. Electron. 2002, 49, 186–196. [Google Scholar] [CrossRef]
  48. Bowes, S.R.; Lai, Y.S. The relationship between space-vector modulation and regular-sampled PWM. IEEE Trans. Ind. Electron. 1997, 44, 670–679. [Google Scholar] [CrossRef]
  49. López, O.; Ávarez, J.; Yepes, A.G.; Baneira, F.; Pérez-Estévez, D.; Freijedo, F.D.; Doval-Gandoy, J. Carrier-Based PWM Equivalent to Multilevel Multiphase Space Vector PWM Techniques. IEEE Trans. Ind. Electron. 2020, 67, 5220–5231. [Google Scholar] [CrossRef]
  50. Yang, H.; Dong, Y.; Li, W.; He, X. Average-Value Model of Modular Multilevel Converters Considering Capacitor Voltage Ripple. IEEE Trans. Power Deliv. 2017, 32, 723–732. [Google Scholar] [CrossRef]
  51. de Pablo, S.; Rey-Boué, A.B.; Herrero-de-Lucas, L.C.; Martinez-Rodrigo, F. Hexagon based Algorithm for Space Vector Modulation on Multilevel Voltage Source Inverters. In Proceedings of the 2010 IEEE International Symposium on Industrial Electronics, Bari, Italy, 4–7 July 2010; IEEE: Piscataway, NJ, USA, 2010; pp. 3218–3223. [Google Scholar] [CrossRef]
  52. Liserre, M.; Dell’Aquila, A.; Blaabjerg, F. Stability improvements of an LCL-filter based three-phase active rectifier. In Proceedings of the 2002 IEEE 33rd Annual IEEE Power Electronics Specialists Conference. Proceedings (Cat. No.02CH37289), Cairns, QLD, Australia, 23–27 June 2002; IEEE: Piscataway, NJ, USA, 2002; pp. 1195–1201. [Google Scholar] [CrossRef]
Figure 1. An MMC, powered by many PV strings, connected to the grid.
Figure 1. An MMC, powered by many PV strings, connected to the grid.
Electronics 15 00053 g001
Figure 2. Decomposition of a reference for an MMC with five cells per arm on a base vector and a small vector. The regions used for the selection of the base vector are also shown.
Figure 2. Decomposition of a reference for an MMC with five cells per arm on a base vector and a small vector. The regions used for the selection of the base vector are also shown.
Electronics 15 00053 g002
Figure 3. Local hexagon for the two-level SVM (a) and generated PWM signals (b).
Figure 3. Local hexagon for the two-level SVM (a) and generated PWM signals (b).
Electronics 15 00053 g003
Figure 4. The values of the local orientations for any reference located at the local hexagon: (a) ϕab above and Φab below, (b) ϕbc above and Φbc below, and (c) ϕca above and Φca below.
Figure 4. The values of the local orientations for any reference located at the local hexagon: (a) ϕab above and Φab below, (b) ϕbc above and Φbc below, and (c) ϕca above and Φca below.
Electronics 15 00053 g004
Figure 5. Two examples of the patterns used for the selection of the number of 100% active cells: values chosen for na on a MMC with seven cells per arm (a), and values chosen for nb on a MMC with eight cells per arm (b).
Figure 5. Two examples of the patterns used for the selection of the number of 100% active cells: values chosen for na on a MMC with seven cells per arm (a), and values chosen for nb on a MMC with eight cells per arm (b).
Electronics 15 00053 g005
Figure 6. The regulator with an internal current loop used for PV boosters.
Figure 6. The regulator with an internal current loop used for PV boosters.
Electronics 15 00053 g006
Figure 7. The regulator for the grid connection of the MMCs.
Figure 7. The regulator for the grid connection of the MMCs.
Electronics 15 00053 g007
Figure 8. MATLAB simulation results on an MMC with 8 cells per arm using five different modulations: (a) SPWM; (b) ZSI-PWM; (c) SVM-gh; (d) SVM-local; and (e) SVM-global. The upper plots show the command given to the three lower arms (highlighted blue is Phase A, red is Phase B, green is Phase C) as floating point numbers: the integer parts decide the number of 100% active cells, the fractional parts are used as the duty cycles of the last PWM generators of each phase, and the lower plots show the common mode voltage (vMn).
Figure 8. MATLAB simulation results on an MMC with 8 cells per arm using five different modulations: (a) SPWM; (b) ZSI-PWM; (c) SVM-gh; (d) SVM-local; and (e) SVM-global. The upper plots show the command given to the three lower arms (highlighted blue is Phase A, red is Phase B, green is Phase C) as floating point numbers: the integer parts decide the number of 100% active cells, the fractional parts are used as the duty cycles of the last PWM generators of each phase, and the lower plots show the common mode voltage (vMn).
Electronics 15 00053 g008aElectronics 15 00053 g008b
Figure 9. The scope signals captured from RTS for an MMC with eight cells per arm using two modulations: (a) SVM-local and (b) SVM-global. Signal 1 is the phase-to-neutral grid voltage at Phase A (400 V/div); Signal 2 is the output current at Phase A (60 A/div); Signal 3 is a debug signal generated by the controller that shows the command given to the lower arm of Phase A as a floating point number (the integer part decides the number of 100% active cells during the switching period, and the fractional part is used for the duty cycle of the last PWM generator of that arm (2 unit/div)); and Signal 4 is the measured common mode voltage (50 V/div).
Figure 9. The scope signals captured from RTS for an MMC with eight cells per arm using two modulations: (a) SVM-local and (b) SVM-global. Signal 1 is the phase-to-neutral grid voltage at Phase A (400 V/div); Signal 2 is the output current at Phase A (60 A/div); Signal 3 is a debug signal generated by the controller that shows the command given to the lower arm of Phase A as a floating point number (the integer part decides the number of 100% active cells during the switching period, and the fractional part is used for the duty cycle of the last PWM generator of that arm (2 unit/div)); and Signal 4 is the measured common mode voltage (50 V/div).
Electronics 15 00053 g009
Figure 10. The scope signals captured from RTS for an MMC with four cells per arm using five different modulations: (a) SPWM; (b) SVM-gh; (c) SVM-local; (d) SVM-global; and (e) ZSI-PWM. Signal 1 is the phase-to-neutral grid voltage at Phase A (400 V/div); Signal 2 is the output current at Phase A (60 A/div); Signal 3 is a debug signal generated by the controller that shows the command given to the lower arm of Phase A as a floating point number (the integer part decides the number of 100% active cells during the switching period, and the fractional part is used for the duty cycle of the last PWM generator of that arm (1 unit/div)); and Signal 4 is the measured common mode voltage (50 V/div).
Figure 10. The scope signals captured from RTS for an MMC with four cells per arm using five different modulations: (a) SPWM; (b) SVM-gh; (c) SVM-local; (d) SVM-global; and (e) ZSI-PWM. Signal 1 is the phase-to-neutral grid voltage at Phase A (400 V/div); Signal 2 is the output current at Phase A (60 A/div); Signal 3 is a debug signal generated by the controller that shows the command given to the lower arm of Phase A as a floating point number (the integer part decides the number of 100% active cells during the switching period, and the fractional part is used for the duty cycle of the last PWM generator of that arm (1 unit/div)); and Signal 4 is the measured common mode voltage (50 V/div).
Electronics 15 00053 g010aElectronics 15 00053 g010b
Figure 11. The distortion on the output currents at nominal power for an MMC with four cells per arm (captured by the RTS from 300 V (m = 0.61) up to 490 V (m = 1.00)). The total harmonic distortion (a) and low-order harmonic distortion (b) when using five different modulations.
Figure 11. The distortion on the output currents at nominal power for an MMC with four cells per arm (captured by the RTS from 300 V (m = 0.61) up to 490 V (m = 1.00)). The total harmonic distortion (a) and low-order harmonic distortion (b) when using five different modulations.
Electronics 15 00053 g011
Figure 12. The harmonic content of the output currents at nominal power with 400 V at the grid for an MMC with eight cells per arm using five different modulations: SPWM (light blue), SVM-gh (orange), SVM-local (gray), SVM-global (yellow), and ZSI-PWM (dark blue).
Figure 12. The harmonic content of the output currents at nominal power with 400 V at the grid for an MMC with eight cells per arm using five different modulations: SPWM (light blue), SVM-gh (orange), SVM-local (gray), SVM-global (yellow), and ZSI-PWM (dark blue).
Electronics 15 00053 g012
Figure 13. The fast transient from 10% of irradiance to 100% in about 100 ms. Signal 1 is the phase-to-neutral voltage of the grid at Phase A (400 V/div); Signal 2 is the output current at Phase A (60 A/div); Signal 3 is the voltage of the PV panels (200 V/div); and Signal 4 is the current of the PV panels (50 A/div).
Figure 13. The fast transient from 10% of irradiance to 100% in about 100 ms. Signal 1 is the phase-to-neutral voltage of the grid at Phase A (400 V/div); Signal 2 is the output current at Phase A (60 A/div); Signal 3 is the voltage of the PV panels (200 V/div); and Signal 4 is the current of the PV panels (50 A/div).
Electronics 15 00053 g013
Table 1. Duty cycles for vectors on two-level inverters.
Table 1. Duty cycles for vectors on two-level inverters.
SectorDuty CyclesVector Sequences
I
0–π/3
dX = wab*
dY = wbc*
dZ = 1 + wca*
WX = W1        [100]
WY = W3        [110]
WZ = W0|W7 [000|111]
II
π/3–2π/3
dY = −wab*
dX = −wca*
dZ = 1 − wbc*
WY = W2         [010]
WX = W3        [110]
WZ = W0|W7 [000|111]
III
2π/3–π
dX = wbc*
dY = wca*
dZ = 1 + wab*
WX = W2        [010]
WY = W6        [011]
WZ= W0|W7 [000|111]
IV
π–4π/3
dY = −wbc*
dX = −wab*
dZ = 1 − wca*
WY = W4         [001]
WX = W6        [011]
WZ = W0|W7 [000|111]
V
4π/3–5π/3
dX = wca*
dY = wab*
dZ = 1 + wbc*
WX = W4        [001]
WY = W5        [101]
WZ = W0|W7 [000|111]
VI
5π/3–2π
dY = −wca*
dX = −wbc*
dZ = 1 − wab*
WY = W1         [100]
WX = W5        [101]
WZ = W0|W7 [000|111]
Table 2. Duty cycles for PWM generators, one per phase, using duty cycles for vectors.
Table 2. Duty cycles for PWM generators, one per phase, using duty cycles for vectors.
SectorDuty CyclesSectorDuty Cycles
I
0–π/3
da = dX + dY + dZ/2
db =         dY + dZ/2
dc =                 dZ/2
IV
π–4π/3
da =                  dZ/2
db =         dX + dZ/2
dc = dY + dX + dZ/2
II
π/3–2π/3
da =         dX + dZ/2
db = dY + dX + dZ/2
dc =                 dZ/2
V
4π/3–5π/3
da =         dY + dZ/2
db =                 dZ/2
dc = dX + dY + dZ/2
III
2π/3–π
da =                 dZ/2
db = dX + dY + dZ/2
dc =         dY + dZ/2
VI
5π/3–2π
da = dY + dX + dZ/2
db =                 dZ/2
dc =         dX + dZ/2
Table 3. The parameters of the three-phase MMCs connected to the grid for simulations and experiments.
Table 3. The parameters of the three-phase MMCs connected to the grid for simulations and experiments.
ParametersValuesUnits
Nominal active power (Pnom)60kW
Grid voltage (rms)400V
Fundamental frequency (ffund)50Hz
Output inductor (Lo)400µH
Arm inductor (Larm)400µH
Number of SM per arm (Nsm)4/8 *-
SM capacitance (Csm)4/8 *mF
Equivalent MMC capacitance (CmmcDC)6mF
DC-link voltage (Vdc)800V
Number of PV strings (Nstr)11-
Booster half capacitor at DC-link (Cdc)400µF
Booster inductor (Lbs)5500µH
PV string capacitor (Cpv)73µF
* The value of the capacitors of the MMC cells depend on the number of cells per arm.
Table 4. Comparison of the implementation of the five modulations analyzed.
Table 4. Comparison of the implementation of the five modulations analyzed.
ParameterSPWMSVM-ghSVM-localSVM-globalZSI-PWM
Minimum cycles using C113290251157128
Maximum cycles using C113330252157133
Execution time @ 64 MHz [µs]1.775.163.942.452.08
ComplexityLowestMediumMediumLowLow
Common mode voltageZeroNoisyNoisyTriangularTriangular
Distortion in output currentsHighLowLowLowLow
Regularity in distortionHighLowLowHighHigh
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

de Pablo, S.; Bakir, Y.N.; Martinez-Rodrigo, F.; Herrero-de-Lucas, L.C.; Rey-Boue, A.B. Straightforward Multilevel Space Vector Modulation for a Modular Multilevel Converter for PV Generation. Electronics 2026, 15, 53. https://doi.org/10.3390/electronics15010053

AMA Style

de Pablo S, Bakir YN, Martinez-Rodrigo F, Herrero-de-Lucas LC, Rey-Boue AB. Straightforward Multilevel Space Vector Modulation for a Modular Multilevel Converter for PV Generation. Electronics. 2026; 15(1):53. https://doi.org/10.3390/electronics15010053

Chicago/Turabian Style

de Pablo, Santiago, Yad N. Bakir, Fernando Martinez-Rodrigo, Luis C. Herrero-de-Lucas, and Alexis B. Rey-Boue. 2026. "Straightforward Multilevel Space Vector Modulation for a Modular Multilevel Converter for PV Generation" Electronics 15, no. 1: 53. https://doi.org/10.3390/electronics15010053

APA Style

de Pablo, S., Bakir, Y. N., Martinez-Rodrigo, F., Herrero-de-Lucas, L. C., & Rey-Boue, A. B. (2026). Straightforward Multilevel Space Vector Modulation for a Modular Multilevel Converter for PV Generation. Electronics, 15(1), 53. https://doi.org/10.3390/electronics15010053

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