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].
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.
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.
For the general case, vector 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).
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.
Local reference vector
w* will be modulated using local vectors
WX = (
VX −
VZ)/
Vsm,
WY = (
VY −
VZ)/
Vsm, and
WZ =
0, with duty cycles
dX,
dY, and
dZ, using the usual volt-second balance method:
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):
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.
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.
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.
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:
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:
Seeing this result, the following definitions are useful:
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:
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):
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
, a base vector
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
to obtain
. 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}.
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:
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
Then, using the reverse Clarke transformation, we have
Applying this method to all cases, the components
njk and
nki can be found using the following:
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:
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:
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:
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:
and
and
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).
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:
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:
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:
where the
fract() function, defined as
fract(
x)
≡ x −
floor(
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.
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.