Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access...

14
Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 Comparison of Three Dierent 2-D Space Vector PWM Algorithms and Their FPGA Implementations Fan Bishuang *,a,b , Tan Guanzheng a , Fan Shaosheng b a School of Information Science and Engineering Central South University, Changsha 410083, China b School of Electrical and Information Engineering Changsha University of Science and Technology, Changsha 410004, China Abstract To improve the flexibility of the multilevel space vector pulse width modulation (SVPWM), various algo- rithms have been developed. A theoretical comparison is made for three 2-D SVPWM algorithms: they are g-h frame, α 0 - β 0 frame and multilevel SVPWM based on two-level (α * - β * frame). The aim is to provide a guideline for the selection of the most appropriate SVPWM technique for digital implementation. Among them, the α 0 - β 0 frame oers the best flexibility with the least calculation and is well suited for digital imple- mentation. The α * - β * frame is the most intuitionistic but has the largest calculation. New general methods of the g-h frame and α 0 - β 0 frame for any level SVPWM are also provided, which needs only the angle θ and the modulation depth m to generate and arrange the final vector sequence. All three methods are implemented in a field programmable gate array (FPGA) with very high speed integrated circuit hardware description language (VHDL) and compared in terms of implementation complexity and logic resources required. Simulation re- sults show the absolute advantages of α 0 - β 0 frame in briefness and resources use. Finally, an experimental test result is presented with a three-level neutral-point-clamped (NPC) inverter. Keywords: Space vector pulse width modulation (SVPWM), Field programmable gate array (FPGA), g - h frame, α 0 - β 0 frame, Multilevel inverter 1. Introduction ITH lower switch stress and harmonics output, multilevel converters are popular in high voltage and large power drive applications [1–4]. The modula- tion strategies are the key factor to ensure the perfor- mance of the drivers. Among various pulse width modulation (PWM) strategies, space vector PWM * Corresponding author Email addresses: (Fan Bishuang *,a,b ), (Tan Guanzheng a ), (Fan Shaosheng b ) (SVPWM) is more attractive as it reduces switch- ing loss, increases the DC voltage utilization rate, is more convenient for balancing the capacitances volt- ages, and is well suited for implementation on digital processors. The only drawback of SVPWM algorithms is that the computational complexity is greatly increased with the number of levels increasing in the inverter. Thus, the implementation flexibility and real-time capabil- ity of the algorithm become the focus [5–11]. Vari- ous techniques are available for implementing mul- tilevel SVPWM to improve flexibility, such as the

Transcript of Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access...

Page 1: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Open Access Journal

Journal of Power Technologies 94 (3) (2014) 176–189journal homepage:papers.itc.pw.edu.pl

Comparison of Three Different 2-D Space Vector PWM Algorithms andTheir FPGA Implementations

Fan Bishuang∗,a,b , Tan Guanzhenga , Fan Shaoshengb

aSchool of Information Science and EngineeringCentral South University, Changsha 410083, ChinabSchool of Electrical and Information Engineering

Changsha University of Science and Technology, Changsha 410004, China

Abstract

To improve the flexibility of the multilevel space vector pulse width modulation (SVPWM), various algo-rithms have been developed. A theoretical comparison is made for three 2-D SVPWM algorithms: they areg-h frame, α′ − β′ frame and multilevel SVPWM based on two-level (α∗ − β∗ frame). The aim is to providea guideline for the selection of the most appropriate SVPWM technique for digital implementation. Amongthem, the α′ − β′ frame offers the best flexibility with the least calculation and is well suited for digital imple-mentation. The α∗−β∗ frame is the most intuitionistic but has the largest calculation. New general methods ofthe g-h frame and α′−β′ frame for any level SVPWM are also provided, which needs only the angle θ and themodulation depth m to generate and arrange the final vector sequence. All three methods are implemented in afield programmable gate array (FPGA) with very high speed integrated circuit hardware description language(VHDL) and compared in terms of implementation complexity and logic resources required. Simulation re-sults show the absolute advantages of α′ − β′ frame in briefness and resources use. Finally, an experimentaltest result is presented with a three-level neutral-point-clamped (NPC) inverter.

Keywords: Space vector pulse width modulation (SVPWM), Field programmable gate array (FPGA), g − hframe, α′ − β′ frame, Multilevel inverter

1. Introduction

ITH lower switch stress and harmonics output,multilevel converters are popular in high voltage andlarge power drive applications [1–4]. The modula-tion strategies are the key factor to ensure the perfor-mance of the drivers. Among various pulse widthmodulation (PWM) strategies, space vector PWM

∗Corresponding authorEmail addresses: [email protected] (Fan

Bishuang∗,a,b), [email protected] (Tan Guanzhenga),[email protected] (Fan Shaoshengb)

(SVPWM) is more attractive as it reduces switch-ing loss, increases the DC voltage utilization rate, ismore convenient for balancing the capacitances volt-ages, and is well suited for implementation on digitalprocessors.

The only drawback of SVPWM algorithms is that thecomputational complexity is greatly increased withthe number of levels increasing in the inverter. Thus,the implementation flexibility and real-time capabil-ity of the algorithm become the focus [5–11]. Vari-ous techniques are available for implementing mul-tilevel SVPWM to improve flexibility, such as the

Page 2: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Journal of Power Technologies 94 (3) (2014) 176–189

g− h frame [9], the α′ − β′ frame [10] and the α∗ − β∗

frame [11].Implementing the SVPWM algorithm on an FPGAcan improve the instantaneity of the control systemby relieving the main processor of the time-criticaland periodic intensive computation tasks. With re-spect to the digital signal processor (DSP), FPGAprovides many advantages [12]. The parallelism andhardware implementation of FPGAs provides oppor-tunities to develop a module that is fully dedicated tothe algorithm, leading to a drastic reduction in exe-cution time. Since at present the DSPs on the mar-ket have insufficient built-in PWM units for invert-ers with a large number of levels, FPGA is a prior-ity choice for the high-speed, demanding, multilevelSVPWM algorithm.The FPGA-based implementation for algorithms ofindustrial control systems has received a great dealof attention in recent years [13–23]. Various two-level [24–26] and multilevel SVPWM [27–30] algo-rithms have been implemented in FPGAs. A gen-eral three-level SVPWM IP core design and imple-mentation was addressed in [28], of which the ontimes were kept within the range of [0–3FFF]. In [29]and [30], multilevel multiphase SVPWM algorithmswere verified using an FPGA. In [31], the authorsimplemented a more general design for multilevelmultiphase SVPWM IP core using a generic VHDLmodule. The FPGA implementations of the 2-Dand 3-D SVPWM algorithms were compared [32].In this comparison, the 2-D algorithm proved to bemore complicated to implement than the 3-Ds, butuse fewer hardware resources of the FPGA.This paper presents the analytical comparison andthe FPGA implementation with experimental verifi-cation of three general 2-D SVPWM algorithms, theg-h frame, the α′ − β′ frame and the α∗ − β∗ frame.Unique methods are proposed for the g−h and α′−β′

frames, which need no extra component to generateand arrange the final vector sequence except for themodulation depth m and angle θ. The VHDL is usedfor implementation of the three SVPWM algorithms.The Altera FPGA EP3C16 and the Quartus tool wereused. The implementation complexity and resourcesrequired of the FPGA were compared for the threealgorithms. Finally, a three-level NPC inverter wasused to test the three implementations.

The paper is organized as follows. In Section II,the principles and steps in sector identification, on-times calculation, switching vector determinationand switching sequence selection of the three 2-DSVPWM algorithms are discussed and compared indepth. Detailed designs of the hardware implementa-tion schemes for the three algorithms are described inSection III. Section IV shows the experimental setupand the testing results. Section V contains the con-clusion.

2. SVPWM Algorithms

2.1. The g − h frame

Figure 1: Space vectors distribution of the g − h frame

Fig. 1 shows the g − h frame space vectors for thethree-level NPC inverter. There are 24 equilateral tri-angles (1∼24) and 19 basic vectors (V0 ∼ V18) with atotal of 27 switching states.The equations of three phase voltages uA, uB, uC inA − B −C coordinates are given by: uA

uB

uC

=

Ur cos(θ)Ur cos(θ − 2π

3 )Ur cos(θ − 4π

3 )

(1)

where Ur is the length of the reference vector.The first step is to transform the three-phase coordi-nate system A−B−C into the α−β frame. The α−βframe can be derived directly from the three phaseA − B −C system with Clarke transformation.

— 177 —

Page 3: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Journal of Power Technologies 94 (3) (2014) 176–189 Vrα =√

3UrUdc

cos θ = 2m cos θ

Vrβ =√

3UrUdc

sin θ = 2m sin θ(2)

where Vrα and Vrβ are components of the referencevectors in the α−β frame, Udc is the direct current busside voltage and m =

√3Ur

2Udcis the modulation depth

normally with values between 0 and 1.For simplicity of computation, transforming (2) fromthe α − β frame into the g − h frame, we can derivethe following equations:{

Vrg = Vrα − Vrβ/√

3Vrh = 2Vrβ/

√3

(3)

where Vrg and Vrh are components of the referencevectors in the g − h frame.

Table 1: Reference Vector Location Judge of g − h Frame

Trianglenumber (n)

Judge conditions

s ∗ 4 + 1 Vrg ≤ 1 & Vrh ≤ 1 &Vrg + Vrh ≤ 1

s ∗ 4 + 2 Vrg > 1 & Vrh ≤ 1 &Vrg + Vrh > 1

s ∗ 4 + 3 Vrg > 1 & Vrh ≤ 1s ∗ 4 + 4 Vrg ≤ 1 & Vrh > 1

Due to the normalization, all vectors in the g-h framehave only integer coordinates [9]. For instance, V0,V1, V7, V8 and V13have the coordinates of (0,0), (0,1),(0,2), (1,1) and (-2,0), respectively. The number ofthe triangle where the reference vector is located isthen easy to judge, as shown in Table 1. And for sim-plicity, all other vectors in the 60◦ ∼ 360◦ region arerevolved to 0◦ ∼ 60◦ with s = f ix(θ/(π/3)), wherefix is a function to round numbers: f ix(0.435) = 0,f ix(1.236) = 1.

For the reference vector Vr in No. 3 triangle, thevoltage-second balance is given by:{

Vrts = V1t1 + V7t7 + V8t8

ts = t1 + t7 + t8(4)

where ts is the time of one modulation cycle, t1, t7

and t8 are the on-times of vectors V1, V7 and V8 re-spectively and the g-h coordinate values of V1, V7 andV8 are (1,0), (2,0) and (1,1). Thus the new equations

is given by: Vrgts = t1 + 2t7 + t8

Vrhts = t8

ts = t1 + t7 + t8

(5)

Solving (5), we obtain the following equations forthe calculation of the on-times:

t1 = (2 − Vrg − Vrh)ts

t7 = (Vrg − 1)ts

t8 = Vrhts

(6)

The computation of the vector on-times becomesquite simple. No extra sine computation is needed.A general algorithm can be used for any levelSVPWM of the g − h frame. All other vectors arerevolved to the first sector (0◦ ∼ 60◦ region) with theremainder of θ divided by π/3.

Figure 2: The definition of the general vectors in 60◦ coordinate

As shown in Fig. 2, Va is the original coordinate vec-tor with a coordinate of (g, h), which is given by:{

g = f loor(Vrg)h = f loor(Vrh) (7)

where floor is a function to round down real data tointeger data: f loor(1.236) = 1, f loor(−1.245) = −2.Thus the coordinates of the general vectors Va, Vb,Vc, Vd are (g, h), (g + 1, h), (g, h + 1), (g + 1, h + 1).

— 178 —

Page 4: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Journal of Power Technologies 94 (3) (2014) 176–189

If Vrg + Vrh ≤ g + h + 1, the reference vector Vr islocated in triangle I with a triangle number of n =

s∗4+g+h+1, or in triangle II with n = s∗4+g+h+2.If the reference vector is located in triangle I, thevoltage-second balance is given by:

Vrgts = gta + (g + 1)tb + gtc

Vrhts = hta + htb + (h + 1)tc

ts = ta + tb + tc

(8)

Solving (8), we obtain the following equations forthe calculation of the on-times:

ta = (g + h + 1 − Vrg − Vrh)ts

tb = (Vrg − g)ts

tc = (Vrh − h)ts

(9)

If the reference vector is located in triangle II, thevoltage-second balance is given by:

Vrgts = (g + 1)tb + gtc + (g + 1)td

Vrhts = htb + (h + 1)tc + (h + 1)td

ts = tb + tc + td

(10)

Solving (10), we obtain the following equations forthe calculation of the on-times:

tb = (h + 1 − Vh)ts

tc = (g + 1 − Vrg)ts

td = (Vrg + Vrh − g − h − 1)ts

(11)

The coordinates of any vector can be expressed as(x, y). Inspired by [32], assuming k = max(x, y)which gets the maximum value of x and y, the switchsequence of any vector in the first sector (0◦ ∼ 60◦

region, s = 0) is given by:

(S A, S B, S C) = (x + y, y, 0) (12)

For example, if (Vrg,Vrh) = (1.236, 0.335), the refer-ence vector is located in No. 3 triangle region. Then(g, h) = (1, 0), the coordinates of vectors V1, V7, V8

are (1, 0), (2, 0), (1, 1). The three vectors sequencesare (1, 0, 0), (2, 0, 0), (2, 1, 0).The switch sequences of the vectors in the secondsector (60◦ ∼ 120◦ region, s = 1) can be described as

(S A, S B, S C) = (k − h, k − x + g, k − x − y) (13)

Table 2: Sequences of Three-level SVPWM Vectors

s =

0V1 V2 V7 V8 V9

(1,0,0) (1,1,0) (2,0,0) (2,1,0) (2,2,0)

s =

1V2 V3 V9 V10 V11

(1,1,0) (0,1,0) (2,2,0) (1,2,0) (0,2,0)

s =

2V3 V4 V11 V12 V13

(0,1,0) (0,1,1) (0,2,0) (0,2,1) (0,2,2)

s =

3V4 V5 V13 V14 V15

(0,1,1) (0,0,1) (0,2,2) (0,1,2) (0,0,2)

s =

4V5 V6 V15 V16 V17

(0,0,1) (1,0,1) (0,0,2) (1,0,2) (2,0,2)

s =

5V6 V1 V17 V18 V7

(1,0,1) (1,0,0) (2,0,2) (2,0,1) (2,0,0)

The vectors switch sequences in other sectors isshown in Table 2, and we can find a regular patternfrom it. The vectors switch sequences of s = 2ands = 4 can be obtained from the corresponding posi-tion vectors sequence of s = 0 by rotating right forone bit and two bits respectively. For example, ro-tating V1(1,0,0) right for one bit is V3(0,1,0), rotatingV2(1,1,0) right for two bit is V6(1,0,1). Likewise, thevectors switch sequence of s = 3 and s = 5 can beobtained from the corresponding position vectors se-quence of s = 1 by rotating right for one bit and twobits respectively. This pattern can be spread to anylevel SVPWM.

Table 3: Redundant Switch States of Short Vectors

V0 V1 V2 V3 V4 V5 V6

(0,0,0)(1,0,0)(1,1,0)(0,1,0)(0,1,1)(0,0,1)(1,0,1)(1,1,1)(2,1,1)(2,2,1)(1,2,1)(1,2,2)(1,1,2)(2,1,2)(2,2,2)

Now, only with m and θ, all are known except forthe short vector pair and the on-times mapping ofeach IGBT switch. For n-level SVPWM, V0 has n

— 179 —

Page 5: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Journal of Power Technologies 94 (3) (2014) 176–189

redundant states, and V1 ∼ V6 have n − 1 states. Theother redundant vectors sequences can be obtainedfrom the known sequences of Table 2 with 1 to (n-1)of (1,1,1) added to it. For three-level SVPWM, thezero vector V0 has three redundant switch states, andV1 ∼ V6 have two, as shown in Table 3.

Table 4: Time Mapping for Upper Two IGBTs of Each Phase

IGBT V1 V7 V8 V1 Number of’0’ (z)

Time

A1 0 1 1 1 1 tA1 =

tI

A2 1 1 1 1 0 tA2 =

ts

B1 0 0 0 0 4 tB1 =

0B2 0 0 1 1 2 tB2 =

tII

C1 0 0 0 0 4 tC1 =

0C2 0 0 0 1 3 tC2 =

tIII

The time mapping for each IGBT driver is the laststep which decides the SVPWM outputs. Assum-ing the reference vector is located in No. 3 region ofFig. 1, the switch sequence of vectors can be mappedfor detailed switch states in binary description byreplacing the number ’2’ with ’3’ (V8(2, 1, 0) →V8(3, 1, 0)), as shown in Table 4. All the vectors forone region are arranged with the sequence numbersfrom small to large, such as V1(1, 0, 0), V7(3, 0, 0),V8(3, 1, 0), V1(3, 1, 1). Assuming tI = 0.5ta, tII =

0.5ta + tb, tIII = 0.5ta + tb + tc, here ta = t1, tb = t7,tc = t8. Because V1 is a short vector which has twoswitch states, then t1 is divided into two halves. Thereference vector time ts is segmented by tI, tII andtIII into four parts. Counting the number of ‘0’ ateach line of Table 4, and for IGBT A1, z = 0, thentA1 = ts, For IGBT A2, z = 1, then tA2 = tI. ForIGBT B1, z = 4, then tB1 = 0. For IGBT B2, z = 2,then tB2 = tII. For IGBT C1, z = 0, then tC1 = 0. ForIGBT C2, z = 3, then tC2 = tIII.

As shown in Fig. 3, if the triangle carrier timecounter is greater than the mapping time, the PWMoutput is triggered to ’1’. Short vector V1 has two

Figure 3: Time mapping and PWM output

switch states which can be described as V+1 and V−1 .

The redundant switch states can be used to balancethe capacitances medium point voltage of the three-level NPC inverter.

2.2. The α′ − β′ frame

The α′−β′ frame is derived from the α−β frame [10].[V ′rαV ′rβ

]=

[cos π

4 sin π4

− sin π4 cos π

4

] 3√

22 00

√6

2

[ Vrα

Vrβ

](14)

where V ′rα and V ′rβ are components of the referencevector in the α′ − β′ frame. Solving (14), we obtain:[

V ′rαV ′rβ

]=

32

√3

2

−32

√3

2

[ Vrα

Vrβ

](15)

The zero sequence voltage V ′N should be added formatrix transformation. Assuming the zero-sequencecomponent V ′N of the α′ − β′ frame is triple that ofthe α − β coordinate VN , we can derive the followingequations:

V ′rαV ′rβV ′N

=

32

√3

2 0−3

2

√3

2 00 0 3

Vrα

Vrβ

VN

(16)

— 180 —

Page 6: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Journal of Power Technologies 94 (3) (2014) 176–189

The relationship between the α − β frame and theA − B −C frame is given by: Vrα

Vrβ

VN

=23

1 −1

2 −12

0√

32 −

√3

212

12

12

VA

VB

VC

(17)

By substituting (17) into (16), the relationship be-tween the α′ − β′ frame and the A − B −C frame is:

V ′rαV ′rβV ′N

=

1 0 −1−1 1 01 1 1

VA

VB

VC

(18)

whereVA =√

3uA/Udc, VB =√

3uB/Udc and VC =√3uC/Udc. The vectors in the A − B − C frame are

given by: VA

VB

VC

=

√3Ur

Udc

cos(θ)cos(θ − 2π

3 )cos(θ − 4π

3 )

(19)

By substituting (19) into (18) and removing V ′N , wecan obtain:[

V ′rαV ′rβ

]=

√3Ur

Udc

[sin(θ + π

3 )sin(θ − π

3 )

]= 2m

[sin(θ + π

3 )sin(θ − π

3 )

](20)

Figure 4: Space vectors distribution of the α′ − β′ frame

The space vectors distribution of the α′ − β′ frameis as shown in Fig. 4. With normalization, all vectors

in the α′ − β′ frame have only integer coordinates.However, when the reference vector is in the squarearea so that (V0, V2, V3, V10), it is difficult to judgewhether the reference vector is located in No. 5 re-gion or No. 6. The equation of line (V2, V3) shouldbe known first.

V ′rβ = −V ′rα + f loor(V ′rα) + f loor(V ′rβ) + 1 (21)

Assuming α′ = f loor(V ′rα) and β′ = f loor(V ′rβ), then

V ′rβ = −V ′rα + α′ + β′ + 1 (22)

If V ′rβ > −V ′rα + α′ + β′ + 1, the reference vector islocated in the upper right triangle (V2,V3,V10). Oth-erwise, the reference vector is located in the lowerright triangle (V0,V2,V3).Assuming that the reference vector is located in No. 6triangle region, the α′−β′ coordinate values of V2, V3

and V10 are (1,0), (0,1) and (1,1). The voltage-secondbalance is given by:

V ′rαts = t2 + t10

V ′rβts = t3 + t10

ts = t2 + t3 + t10

(23)

Solving (23), we obtain the following equations forthe calculation of the on-times:

t2 = (1 − V ′rβ)ts

t3 = (1 − V ′rα)ts

t10 = (V ′rα + V ′rβ − 1)ts

(24)

Supposing the reference vector is located in No. 5triangle region, the voltage-second balance is givenby:

V ′rαts = t2

V ′rβts = t3

ts = t0 + t2 + t3

(25)

Solving (25), we obtain the following equations forthe calculation of the on-times:

t0 = (1 − V ′rα − V ′rβ)ts

t2 = V ′rαts

t3 = V ′rβts

(26)

A general algorithm can also be used for any levelSVPWM of the α′ − β′ frame. It is the key factor tofind out the original vector point of each right trian-gle firstly. Here, take the left bottom vector as the

— 181 —

Page 7: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Journal of Power Technologies 94 (3) (2014) 176–189

Figure 5: The definition of the general vectors of the α′ − β′

frame

original vector point. For example, in No. 1 andNo. 2 right triangles, the coordinate of the originalpoint is (0,0), and in No. 13 and No. 14 right trian-gles, the coordinate of the original point is (-1,-1).The coordinate of the original point can be describedas (α′, β′). As shown in Fig. 5, the coordinates of thegeneral vectors Va, Vb, Vc, Vd are (α′, β′), (α′+1, β′),(α′, β′ + 1), (α′ + 1, β′ + 1).Thus, if the reference vector is located in triangle I,the voltage-second balance is:

V ′rαts = α′ta + (α′ + 1)tb + α′tc

V ′rβts = β′ta + β′tb + (β′ + 1)tc

ts = ta + tb + tc

(27)

Solving (27), we obtain the following equations forthe calculation of the on-times:

ta = (α′ + β′ + 1 − V ′rα − V ′rβ)ts

tb = (V ′rα − α′)ts

tc = (V ′rβ − β′)ts

(28)

If the reference vector is located in triangle II, thevoltage-second balance is:

V ′rαts = (α′ + 1)tb + α′tc + (α′ + 1)td

V ′rβts = β′tb + (β′ + 1)tc + (β′ + 1)td

ts = tb + tc + td

(29)

Solving (29), we obtain the following equations forthe calculation of the on-times:

tb = (β′ + 1 − V ′rβ)ts

tc = (α′ + 1 − V ′rα)ts

td = (V ′rα + V ′rβ − α′ − β′ − 1)ts

(30)

The coordinates of any vector can be expressed as(x, y). Let k = max(|x| , |y|) which gives the maxi-mum absolute value of |x| and |y|.If x ≤ 0 and y ≥ 0, then the vector switch sequenceis given by:

(S A, S B, S C) = (0, y,−x) (31)

Else(S A, S B, S C) = (k, k + y, k − x) (32)

For example, if (V ′rα,V′rβ) = (−1.236, 1.335), the ref-

erence vector is located in No. 14 or No. 16 triangleregion in Fig. 4. Then (α′, β′) = (−2, 0) and the coor-dinates of vectors V15, V5, V14, V4 are(−2, 0), (−1, 0),(−2, 1), (−1, 1). Substituting them into (31), the vec-tors sequences are (0, 0, 2), (0, 0, 1), (0, 1, 2), (0, 1, 1).If (V ′rα,V

′rβ) = (1.236, −1.335), the reference vector

is located in No. 3 or No. 24 triangle region in Fig. 4.then (α′, β′) = (1,−2), the coordinates of vectors V18,V1, V7, V8 are (1,−2), (1,−1), (2,−2), (2,−1). Bysubstituting them into (32), the vectors sequences are(2, 0, 1), (1, 0, 0), (2, 0, 0), (2, 1, 0).This pattern can be spread to any level SVPWM. Theshort vector pair and the on-times mapping of eachIGBT switch drive are similar to that of the g − hframe.

2.3. The α∗ − β∗ frameThe two-level SVPWM is based on the traditionalα − β frame, as shown in Fig. 6.With the setting of a new original center V1, thehexagon of the dash area is just like a two-levelSVPWM space. The equivalent two-level SVPWMdescription for any level SVPWM is shown in Fig. 7.where Vo represents the new original center vector.Vo can be deduced by the conditions as shown in Ta-ble 5.

Then the new components V∗rα and V∗rβ are givenby: {

V∗rα = Vrα − Voα

V∗rβ = Vrβ − Voβ(33)

— 182 —

Page 8: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Journal of Power Technologies 94 (3) (2014) 176–189

Figure 6: The α − β coordinate SVPWM vectors distribution

Figure 7: General two-level SVPWM description for any levelSVPWM

where Vrα and Vrβ are the components of the originalreference vector Vr as shown in Fig. 6, and Voα andVoβ are the components of the new original centervector Vo.

The reference vector location judge rules of theequivalent two-level SVPWM are as shown in Ta-ble 6.

For the two-level SVPWM, the calculation of the

Table 5: Confirmation of New Original Center Vector

−√

32 < Vrβ <

√3

2 −60◦ <θ < 60◦

Vo =

V1

120◦ <θ < 240◦

Vo =

V4√

3(Vrα − 1) < Vrβ <√3(Vrα + 1)

0◦ < θ <120◦

Vo =

V2

180◦ <θ < 300◦

Vo =

V5

−√

3(Vrα + 1) < Vrβ <

−√

3(Vrα − 1)60◦ < θ <

180◦Vo =

V3

240◦ <θ < 360◦

Vo =

V6

Table 6: Reference Vector Location Judge Rules of The Equiv-alent Two-level SVPWM∣∣∣V∗rβ∣∣∣ > √3

∣∣∣V∗rα∣∣∣ s = 1

V∗rβ > 0∣∣∣V∗rβ∣∣∣ ≤ √3

∣∣∣V∗rα∣∣∣ V∗rα > 0 s = 0

V∗rα ≤ 0 s = 2∣∣∣V∗rβ∣∣∣ > √3∣∣∣V∗rα∣∣∣ s = 4

V∗rβ ≤ 0∣∣∣V∗rβ∣∣∣ ≤ √3

∣∣∣V∗rα∣∣∣ V∗rα > 0 s = 5

V∗rα ≤ 0 s = 3

on-times is given by:ta = 2ts√

3(V∗rβ sin (s+1)π

3 − V∗rβ cos (s+1)π3 )

tb = 2ts√3(V∗rβ cos sπ

3 − V∗rα sin sπ3 )

to = ts − ta − tb

(34)

A simple vector sequence calculation of the newhexagon is introduced as in [8].Although this algorithm is simplified by translatingany level SVPWM into two-level SVPWM, the com-plexity still remains. The complexity of the algo-rithm is greatly increased by many irrational numberand sine function computations. The positioning ofthe new original center vector Vo is another problemto be solved as the level of SVPWM increases, evenwith the difficulty of overlapping area handling foradjacent hexagons. Moreover, the vector sequence,short vector pair and time mapping of each IGBTswitch are troublesome for this algorithm.

— 183 —

Page 9: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Journal of Power Technologies 94 (3) (2014) 176–189

The three algorithms represent the mainstream meth-ods of the multilevel SVPWM. The g-h frame and theα′ − β′ frame are different approaches, but provideequally satisfactory results. The difference is that thelatter in the orthogonal coordinate is familiar to mostof us, in contrast to the g-h non-orthogonal coordi-nate. In the g-h frame, all vectors need to be revolvedto the 0◦ ∼ 60◦ region for simplicity of on-times cal-culation, switch sequence selection and time map-ping operation. Meanwhile, in the α′ − β′ frame, norevolving is needed and calculations are easier. Theα∗ − β∗ frame without any coordinate transformationis the easiest to understand, but with maximum cal-culation.

3. FPGA Implementation Design

3.1. VHDL Design of g − h Frame SVPWM Algo-rithm

Suppose the modulation depth m and θ are alreadyknown, and the value of θ is between0 ∼ 2π. Inthis algorithm, all calculations are finished in thefirst sector. So θ needs to be rotated to 0◦ to 60◦.Letϕ = θ%(π/3), δ = θ/(π/3) and s = f ix(δ), where% is an operator to get the remainder after division.Then the sine and cosine operations are needed forVrα and Vrβ as shown in (2). In soft program design,the sine function is always done by looking up thesine value table stored in the memory. Due to thesymmetry of sinusoidal waveforms, only 0◦ ∼ 90◦

data are needed. A table of 65 × 16 bits sine val-ues corresponding to θ from 0◦ to 90◦ is built usinga constant definition, and 32768 and 65535 representthe values of 2 sin 0◦ = 0 and 2 sin 90◦ = 2, respec-tively. Thus, the number 49151 in VHDL representsa value of 1 in mathematical interpretation.The Vrg and Vrh can be calculated using (3). Withthe unitization of ts = 1, the on-times of (9) and (11)need only addition and subtraction operations.Fig. 8 illustrates the VHDL implementation diagramof SVPWM algorithm in the g − h frame where δand ϕ are the quotient and remainder of θ ÷ (π/3),respectively, which revolves θ to 0◦ ∼ 60◦.

3.2. VHDL Design of α′ − β′ Frame SVPWM Algo-rithm

The components of the reference vector V ′rα and V ′rβas shown in (20) need only sine function compu-

tation. Without θ preprocessing and any irrationalnumber calculation, this SVPWM implementationis much simpler. Fig. 9 illustrates the VHDL im-plementation diagram of SVPWM algorithm of theα′ − β′ frame.In this algorithm, the time mapping for the upper twoIGBTs of each phase is simpler (without signal s in-put), but still similar to that of the g − h frame.

3.3. VHDL Design of the α∗−β∗ Frame SVPWM Al-gorithm

Fig. 10 illustrates the VHDL implementation dia-gram of the α∗ − β∗ frame.In this algorithm, the irrational numbers computa-tions are needed not only in the sector judgment (Ta-bles 5 and 6) but also in the on-times calculation(Equation (34)) and the complicated sine functionprocessing.The positioning of the new original center vector (Vo)is according to Table 5. The reference vector locationjudge (s) is decided by Table 6.

3.4. Simulation Verification

Fig. 11 shows the VHDL simulation result of theα′ − β′ frame SVPWM. It was obtained through theQuartus II tool. The modulation depth ’m’ is set at80% (0.8). The ’theta’ in the simulation result is therotating angle step, which corresponds to the sampletime. The ’n’ denotes the locating triangle number ofthe referenced vector, which is in order transition asshown in Fig. 4. The ’Vrg’ and ’Vrh’ are the compo-nents of the referenced vector in the α′−β′ coordinatesystem. ’TA1’ to ’TC2’ are the mapping time of theA − B −C phases, which are limited to the range [0–65535]. Only the result of the α′−β′ frame SVPWMis presented, as the simulation results of the three dif-ferent algorithms are very similar.Three different algorithms were synthesized and im-plemented in EP3C16 FPGA through the use of Al-tera Quartus tools. Table 7 compares the FPGA logicresources used to implement the three algorithms.The 45◦ rotating coordinate algorithm takes the leastlogic resources, as it needs no θ preprocessing and noirrational number calculation. The α∗−β∗ frame takesthe largest logic resources, as it needs a large amountof irrational number and sine function computation.

— 184 —

Page 10: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Journal of Power Technologies 94 (3) (2014) 176–189

Table 7: Resources Summary

Device:EP3C16F256C8

g − hframe

α′ − β′

frameα∗ − β∗

frame

Logic elements 3,698(24%)

3,412(22%)

4447(29%)

Registers 165(1%) 158(1%) 183(1%)Pins 42(25%) 42(25%) 42(25%)Memory bits 0(0%) 0(0%) 0(0%)EmbeddedMultiplierelements

4(4%) 6(5%) 16(14%)

PLLs 1(25%) 1(25%) 1(25%)

The α′−β′ frame takes the least logic resources. Theg − h frame lies in the middle.

4. Experimental Verification

Figure 12: Experimental test setup. (a) Diagram. (b) Photo-graph

All three FPGA implementations were tested with athree-level NPC inverter driving a 380 V, 1440 r/min,and 4 kW rated star-connected induction motor.Fig. 12(a) shows a diagram of the experimental

setup. The test system including a three-level NPCinverter to drive motor 1, a two-level inverter to drivethe towed motor 2, a DSP and FPGA control board,the keyboard and displayer is shown in Fig. 12(b).

Figure 13: Experimental waveforms of the α′ − β′ frameSVPWM. (a) Line-to-line voltage UAB for modulation indexm = 0.8; (b) Phase current IA for modulation index m = 0.8

Fig. 13 shows the experimental waveforms of theline-to-line voltage UAB and phase current IA formodulation index m = 0.8.Fig. 14 shows the experimental spectra of the line-to-line voltage UAB and phase current IA for modulationindex m = 0.8. The FFT results show that the THDis satisfactory.As the experimental line-to-line voltage and phasecurrent results of the three SVPWM algorithms arevery similar, only those of the α′ − β′ frame areshown.A weighted total harmonic distortion WTHD [33]comparison of the three algorithms is given to studythe harmonic losses. The WTHD of the g-h frame,the α′ − β′ frame and the α∗ − β∗ frame are 0.063%,0.058% and 0.065%, respectively.

— 185 —

Page 11: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Journal of Power Technologies 94 (3) (2014) 176–189

Figure 14: Experimental spectra of the α′ − β′ frame SVPWMalgorithm. (a) Spectra of line-to-line voltage UAB for modula-tion index m = 0.8; (b) Spectra of phase current IA for modula-tion index m = 0.8

5. Conclusion

In this paper, three different 2-D multilevel SVPWMalgorithms were theoretically compared: the g − hframe, the α′ − β′ frame and the α∗ − β∗ frame. Allthree algorithms were described in VHDL and im-plemented on an FPGA to compare the flexibility ofdigital implementation.Particular solutions for any level g − h frame andα′ − β′ frame were made, which need only the mod-ulation depth m and angle θ. No extra component isneeded to compute the vector on-times or to gener-ate and arrange the final vector sequence. The dig-ital implementation complexity and logic resourcesrequired of the three algorithms were compared. Itwas shown that the α′ − β′ frame needs fewer re-sources and is easier to implement. Finally, a three-level NPC inverter was used for experimental testing.

References

[1] L. M. Tolbert, F. Z. Peng, T. G. Habetler, Multilevel con-verters for large electric drives, IEEE Trans. Ind. Appl.

35 (1) (1999) 36–44.[2] J. Rodriguez, J.-S. Lai, F. Z. Peng, Multilevel inverters:

A survey of topologies, controls, and applications, IEEETrans. Ind. Electron. 49 (4) (2002) 724–738.

[3] J. Rodriguez, S. Bernet, B. Wu, J. Pontt, S. Kouro, Mul-tilevel voltage-source-converter topologies for industrialmedium-voltage drives, IEEE Trans. Ind. Electron. 54 (6)(2007) 2930–2945.

[4] E. P. Wiechmann, P. Aqueveque, R. Burgos, J. Rodriguez,On the efficiency of voltage source and current source in-verters for high-power drives, IEEE Trans. Ind. Electron.55 (4) (2008) 1771–1782.

[5] A. K. Gupta, A. M. Khambadkone, A space vector PWMscheme for multilevel inverters based on two-level spacevector PWM, IEEE Trans. Ind. Electron. 53 (5) (2006)1631–1639.

[6] A. R. Beig, G. Narayanan, V. T. Ranganathan, ModifiedSVPWM algorithm for three level VSI with synchronizedand symmetrical waveforms, IEEE Trans. Ind. Electron.54 (1) (2007) 486–494.

[7] A. K. Gupta, A. M. Khambadkone, A general space vectorPWM algorithm for multilevel inverters, including oper-ation in overmodulation range, IEEE Trans. Power Elec-tron. 22 (2) (2007) 517–526.

[8] M. A. S. Aneesh, A. Gopinath, M. R. Baiju, A simplespace vector PWM generation scheme for any general n-level inverter, IEEE Trans. Ind. Electron. 56 (5) (2009)1649–1656.

[9] N. Celanovic, D. Boroyevich, A fast space-vector mod-ulation algorithm for multilevel three-phase converters,IEEE Trans. Ind. Appl. 37 (2) (2001) 637–641.

[10] Z. Shu, N. Ding, J. Chen, H. Zhu, X. He, MultilevelSVPWM with DC-link capacitor voltage balancing con-trol for diode-clamped multilevel converter based STAT-COM, IEEE Trans. Ind. Electron. 60 (5) (2013) 1884–1895.

[11] J. H. Seo, C. H. Choi, D. S. Hyun, A new simpli-fied space–vector PWM method for three-level inverters,IEEE Trans. Power Electron. 16 (4) (2001) 545–550.

[12] J. J. R. Andina, M. J. Moure, M. D. Valdes, Features,design tools, and application domains of FPGAs, IEEETrans. Ind. Electron. 54 (4) (2007) 1810–1823.

[13] D. Navarro, O. Lucia, L. A. Barragan, J. I. Artigas,I. Urriza, O. Jimenez, Synchronous FPGA-based high-resolution implementations of digital pulse-width modu-lators, IEEE Trans. Power Electron. 27 (5) (2012) 2515–2525.

[14] B. Alecsa, M. N. Cirstea, A. Onea, Multi-DSP and -FPGA-based fully digital control system for cascadedmultilevel converters used in FACTS applications, IEEETrans. Ind. Informat. 8 (3) (2012) 511–527.

[15] B. Alecsa, M. N. Cirstea, A. Onea, Simulink modelingand design of an efficient hardware-constrained FPGA-based PMSM speed controller, IEEE Trans. Ind. Informat.8 (3) (2012) 554–562.

[16] L. Idkhajine, E. Monmasson, A. Maalouf, Fully FPGA-

— 186 —

Page 12: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Journal of Power Technologies 94 (3) (2014) 176–189

based sensorless control for synchronous AC drive us-ing an extended Kalman filter, IEEE Trans. Ind. Electron.59 (10) (2012) 3908–3918.

[17] H. F. Blanchette, T. O. Bachir, J. P. David, A state-spacemodeling approach for the FPGA-based real-time simula-tion of high switching frequency power converters, IEEETrans. Ind. Electron. 59 (12) (2012) 4555–4567.

[18] M. P. Aguirre, L. Calvino, M. I. Valla, Multilevel current-source inverter with FPGA control, IEEE Trans. Ind.Electron. 60 (1) (2013) 3–10.

[19] M. Curkovic, K. Jezernik, R. Horvat, FPGA-based pre-dictive sliding mode controller of a three-phase inverter,IEEE Trans. Ind. Electron. 60 (2) (2013) 637–644.

[20] P. S. B. Nascimento, H. E. P. de Souza, F. A. S. Neves,L. R. Limongi, FPGA implementation of the generalizeddelayed signal cancelation—phase locked loop methodfor detecting harmonic sequence components in three-phase signals, IEEE Trans. Ind. Electron. 60 (2) (2013)645–658.

[21] M. Shahbazi, P. Poure, S. Saadate, M. R. Zolghadri, Fault-tolerant five-leg converter topology with FPGA-based re-configurable control, IEEE Trans. Ind. Electron. 60 (6)(2013) 5024–5031.

[22] K. Jezernik, J. Korelic, R. Horvat, PMSM sliding modeFPGA-based control for torque ripple reduction, IEEETrans. Power Electron. 28 (7) (2013) 3549–3556.

[23] M. Shahbazi, P. Poure, S. Saadate, M. R. Zolghadri,FPGA-based reconfigurable control for fault-tolerantback-to-back converter without redundancy, IEEE Trans.Ind. Electron. 60 (8) (2013) 3360–3371.

[24] Z. Shu, J. Tang, Y. Guo, J. Lian, An efficient SVPWM al-gorithm with low computational overhead for three-phaseinverters, IEEE Trans. Power Electron. 22 (5) (2007)1797–1805.

[25] G. Oriti, A. L. Julian, Three-phase VSI with FPGA-basedmultisampled space vector modulation, IEEE Trans. Ind.Appl. 47 (4) (2011) 1813–1820.

[26] S. Pan, J. Pan, Z. Tian, A shifted SVPWM method to con-trol DC-link resonant inverters and its FPGA realization,IEEE Trans. Ind. Electron. 59 (9) (2012) 3383–3391.

[27] Y. Y. Tzou, H. J. Hsu, FPGA realization of space-vectorPWM control IC for three-phase PWM inverters, IEEETrans. Power Electron. 12 (6) (1997) 953–963.

[28] H. Hu, W. Yao, Z. Lu, Design and implementation ofthree-level space vector PWM IP core for FPGAs, IEEETrans. Power Electron. 22 (6) (2007) 2234–2244.

[29] O. Lopez, J. Alvarez, J. Doval-Gandoy, F. D. Frei-jedo, Multilevel multiphase space vector PWM algorithm,IEEE Trans. Ind. Electron. 55 (5) (2008) 1933–1942.

[30] O. Lopez, J. Alvarez, J. Doval-Gandoy, F. D. Freijedo,Multi-level multiphase space vector PWM algorithm withswitching state redundancy, IEEE Trans. Ind. Electron.56 (3) (2009) 792–804.

[31] J. Alvarez, O. Lopez, F. D. Freijedo, J. Doval-Gandoy,Digital parameterizable VHDL module for multilevelmultiphase space vector PWM, IEEE Trans. Ind. Electron.

58 (9) (2011) 3946–3957.[32] O. Lopez, J. Alvarez, J. Doval-Gandoy, F. D. Freijedo,

Comparison of the FPGA implementation of two mul-tilevel space vector PWM algorithms, IEEE Trans. Ind.Electron. 55 (4) (2008) 1537–1547.

[33] D. G. Holmes, T. A. Lipo, Pulse Width Modulation forPower Converters, Wiley, New York, 2003.

— 187 —

Page 13: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Journal of Power Technologies 94 (3) (2014) 176–189

Figure 8: VHDL implementation diagram of the g − h frame

Figure 9: VHDL implementation diagram of the α′ − β′ frame

Figure 10: VHDL implementation diagram of the α∗ − β∗ frame

— 188 —

Page 14: Comparison of Three Di erent 2-D Space Vector PWM Algorithms … · 2018-12-15 · Open Access Journal Journal of Power Technologies 94 (3) (2014) 176–189 journal homepage:papers.itc.pw.edu.pl

Journal of Power Technologies 94 (3) (2014) 176–189

Figure 11: VHDL simulation result of 45◦ coordinate three-level SVPWM algorithm (m = 0.8)

— 189 —