Solved Problems · Set 28

Space Vector Modulation

Part 4 · Inverters — the same eight states, seen as geometry instead of three carriers. Six problems on the modulation scheme every modern drive actually uses.

Prof. Mithun Mondal 6 solved problems GATE · ESE · University

Set 28 — Space Vector Modulation

Set 27 used the same zero-sequence freedom twice for two unrelated purposes — once to gain 15.5% of output, once to save a third of the switching loss. When one degree of freedom keeps producing unrelated benefits, the framework is usually wrong.

Treat the three references as a single rotating vector and the inverter's eight switching states as six fixed vectors plus two zeros, and the whole problem becomes geometry. The reference is a point, the states are the vertices of a hexagon, and modulation is the question of which two vertices to dwell on and for how long. The 0.707 utilisation that injection produced turns out to be nothing more than the radius of the largest circle that fits inside that hexagon.

Part 4 · Chapter 19 · 6 solved problems

i Method Recap
  • Six active vectors of equal magnitude, 60° apart, plus two zeros:

    \[ \left|\vec V_k\right| = \frac23V_{dc}, \qquad k = 1\dots6; \qquad \vec V_0 = \vec V_7 = 0 \]
  • The linear limit is the inscribed circle:

    \[ \left|\vec V_{ref}\right|_{max} = \frac23V_{dc}\cos30^\circ = \frac{V_{dc}}{\sqrt3} \]
  • Dwell times from the reference's magnitude and angle within its sector:

    \[ T_1 = mT_s\sin\left(60^\circ-\theta\right), \qquad T_2 = mT_s\sin\theta, \qquad T_0 = T_s-T_1-T_2 \]

    with \(m = \sqrt3\left|\vec V_{ref}\right|/V_{dc}\), so \(m = 1\) at the inscribed circle.

  • The seven-segment sequence keeps every transition to one leg:

    \[ \frac{T_0}{4}\ \Big|\ \frac{T_1}{2}\ \Big|\ \frac{T_2}{2}\ \Big|\ \frac{T_0}{2}\ \Big|\ \frac{T_2}{2}\ \Big|\ \frac{T_1}{2}\ \Big|\ \frac{T_0}{4} \]
  • SVM equals third-harmonic injection, because splitting \(T_0\) between the two zero states is a zero-sequence choice:

    \[ V_{L1,max} = \frac{V_{dc}}{\sqrt2} = 0.707V_{dc} \]
  • Overmodulation runs from the circle to the hexagon vertices:

    \[ 1 < m \le \frac{\pi}{3}\cdot\frac{\sqrt3}{\ldots} = 1.103 \quad\text{(six-step)} \]
Problem 1CoreEight States, One Hexagon

For a three-phase VSI on a 400 V link, find the magnitude of the six active space vectors, the radius of the largest circle that fits inside the hexagon they form, and the corresponding phase and line voltages. Show that this reproduces the third-harmonic injection limit of Set 26.

V1 (100) V2 (110) V3 (010) V4 (011) V5 (001) V6 (101) Vref V0, V7 |V| = 2Vdc/3 = 267 V circle = 231 V
Six vertices, two at the origin, and a circle the reference must stay inside
Solution

The eight states. Each leg is either high or low, giving \(2^3 = 8\) combinations. Six produce a non-zero output; two — all-high and all-low — short the load and produce nothing:

StateVectorAngleType
100\(\vec V_1\)active
110\(\vec V_2\)60°active
010\(\vec V_3\)120°active
011\(\vec V_4\)180°active
001\(\vec V_5\)240°active
101\(\vec V_6\)300°active
000, 111\(\vec V_0,\vec V_7\)zero

The six active vectors are 60° apart and equal in magnitude, so their tips form a regular hexagon. Two distinct states at the origin is the redundancy that makes SVM flexible — Problem 4.

The magnitude, from the space-vector transform of the three phase voltages:

\[ \left|\vec V_k\right| = \frac23V_{dc} = \frac23(400) = 266.7\ \text{V} \]

Each vertex represents applying the full link voltage across one phase and half of it across the other two — the six-step waveform of Set 26, seen instant by instant rather than as a waveform.

The inscribed circle. A rotating reference must be reproducible at every angle, so it must stay inside the hexagon — and the binding constraint is the midpoint of each side, at 30° from a vertex:

\[ \left|\vec V_{ref}\right|_{max} = \frac23V_{dc}\cos30^\circ = \frac23(400)(0.866) = 230.9\ \text{V} \]
\[ = \frac{V_{dc}}{\sqrt3} = \frac{400}{1.732} = 230.9\ \text{V}\ \checkmark \]

The linear limit of space vector modulation, and it is a purely geometric statement: the largest circle inscribed in a hexagon of circumradius \(R\) has radius \(R\cos30^\circ\). No Fourier analysis was involved.

Translate to voltages. The space vector's magnitude is the peak phase voltage:

\[ \hat V_{ph1} = 230.9\ \text{V} \;\Longrightarrow\; V_{ph1} = \frac{230.9}{\sqrt2} = 163.3\ \text{V rms} \]
\[ V_{L1} = \sqrt3(163.3) = 282.8\ \text{V} = \frac{V_{dc}}{\sqrt2} \]

Which is exactly the injection result:

RouteArgument\(V_{L1,max}\)
Set 26, Problem 4flatten the reference peak to \(\sqrt3/2\)282.8 V
This probleminscribe a circle in a hexagon282.8 V
SPWM (Set 26, Problem 3)reference peak limited to 1245.0 V

Two completely different arguments — one trigonometric, one geometric — giving the identical number. They are the same statement: a sinusoidal reference constrained by its own peak is a circle constrained by the hexagon's vertex distance, and relaxing that to the inscribed circle is what both methods do.

Where SPWM sits on the diagram. Its limit corresponds to a smaller circle:

\[ \left|\vec V_{ref}\right|_{SPWM} = \frac{V_{dc}}{2} = 200\ \text{V} \;\Longrightarrow\; \frac{200}{230.9} = 86.6\% = \cos30^\circ \]

Sinusoidal PWM restricts the reference to a circle of radius \(V_{dc}/2\), which is \(\cos30^\circ\) of the inscribed circle — and \(1/\cos30^\circ = 1.1547\) is precisely the injection boost of Set 26. The whole 15.5% is the difference between two circles.

The modulation limit is a geometry problem, not a harmonics problem. Six switching states put six points on a plane; a rotating reference must stay inside the hexagon they bound; the largest usable circle touches the side midpoints at \(V_{dc}/\sqrt3\). Every utilisation figure in Sets 26 and 27 follows from that one picture.
Answera\(\left|\vec V_k\right| = 266.7\ \text{V}\)   b inscribed circle \(230.9\ \text{V} = V_{dc}/\sqrt3\)   c\(V_{L1} = 282.8\ \text{V} = V_{dc}/\sqrt2\) — the injection limit
Problem 2CoreHow Long on Each Vertex

A reference vector of 200 V sits at 30° within sector 1, with a 400 V link and a switching frequency of 5 kHz. Find the modulation index and the dwell times on \(\vec V_1\), \(\vec V_2\) and the zero states, and verify the result.

Solution

The principle: volt-second equivalence. The inverter cannot produce the reference vector, but it can produce the two adjacent vertices and the origin. Spending the right fractions of each switching period on each gives the right average:

\[ \vec V_{ref}T_s = \vec V_1T_1+\vec V_2T_2+\vec 0\cdot T_0 \]

Exactly the volt-second balance of Set 1, applied to a vector instead of a scalar. The load's inductance does the averaging, as it always has.

The modulation index, normalised so that \(m = 1\) at the inscribed circle:

\[ m = \frac{\sqrt3\left|\vec V_{ref}\right|}{V_{dc}} = \frac{\sqrt3(200)}{400} = 0.866 \]

Comfortably inside the linear range. Note that this \(m\) is the SVM convention, not the carrier-based \(m_a\) — the two differ by \(2/\sqrt3\), which is a common source of confusion when comparing sources.

Resolve the reference onto the two vertices. Applying the sine rule to the triangle formed by \(\vec V_{ref}\) and the two adjacent vectors:

\[ T_1 = mT_s\sin\left(60^\circ-\theta\right), \qquad T_2 = mT_s\sin\theta \]
\[ T_s = \frac{1}{5000} = 200\ \mu\text{s} \]
\[ T_1 = (0.866)(200)\sin30^\circ = (0.866)(200)(0.5) = 86.6\ \mu\text{s} \]
\[ T_2 = (0.866)(200)\sin30^\circ = 86.6\ \mu\text{s} \]

Equal, as symmetry demands — the reference sits exactly halfway between \(\vec V_1\) at 0° and \(\vec V_2\) at 60°. That symmetry is a useful check on any dwell-time calculation.

The zero time is whatever is left:

\[ T_0 = T_s-T_1-T_2 = 200-173.2 = 26.8\ \mu\text{s} \]
\[ \frac{T_0}{T_s} = 13.4\% \]

Thirteen per cent of every period spent producing nothing. As the reference grows the zero time shrinks, reaching zero exactly when the reference touches the hexagon boundary — which at \(\theta = 30^\circ\) is the inscribed circle at \(m = 1\).

Verify by reconstructing the average. Resolving both vectors onto the reference direction:

\[ \left|\vec V_{avg}\right| = \frac{2}{3}V_{dc}\cdot\frac{T_1\cos30^\circ+T_2\cos30^\circ}{T_s} \]
\[ = (266.7)(0.866)\frac{173.2}{200} = (230.9)(0.866) = 200.0\ \text{V}\ \checkmark \]

And the perpendicular components cancel, since the two dwell times are equal and the vectors are symmetric about the reference. The synthesis is exact in the average.

How the dwell times behave across a sector:

\(\theta\)\(T_1\)\(T_2\)\(T_0\)
150.0 µs050.0 µs
15°127.4 µs44.8 µs27.8 µs
30°86.6 µs86.6 µs26.8 µs
45°44.8 µs127.4 µs27.8 µs
60°0150.0 µs50.0 µs

The active time is largest in the middle of a sector and smallest at its edges — the opposite of what intuition suggests, and it follows directly from the hexagon: the boundary is nearest at the side midpoint, so a given reference magnitude uses proportionally more of the available time there.

Dwell-time calculation is volt-second balance in two dimensions. The inverter has eight states and the reference is almost never one of them, so it spends fractions of each period on the two neighbours and the origin such that the vector average is right. That is precisely the argument of Set 1, with a vector in place of a scalar.
Answera\(m = 0.866\)   b\(T_1 = T_2 = 86.6\ \mu\text{s}\)   c\(T_0 = 26.8\ \mu\text{s}\) (13.4%)   d verified: average = 200.0 V
Problem 3Exam levelThe Order Matters

Using the dwell times of Problem 2, construct the seven-segment symmetric switching sequence for sector 1. Tabulate the segment durations, count the switching transitions per period, and explain why this particular ordering is used.

Solution

The dwell times say nothing about order. \(T_1\), \(T_2\) and \(T_0\) could be applied in any sequence and the average would be the same — but the number of switching transitions would not:

\[ \vec V_0\left(000\right) \to \vec V_1\left(100\right):\ \text{one leg changes} \]
\[ \vec V_1\left(100\right) \to \vec V_7\left(111\right):\ \text{two legs change} \]

A good sequence changes only one leg at each transition. That halves the switching count compared with a careless ordering, and it is entirely free — a matter of choosing an order.

The seven-segment sequence for sector 1, symmetric about the centre of the period:

\[ 000 \to 100 \to 110 \to 111 \to 110 \to 100 \to 000 \]
SegmentStateDurationValue
1000\(T_0/4\)6.70 µs
2100\(T_1/2\)43.30 µs
3110\(T_2/2\)43.30 µs
4111\(T_0/2\)13.40 µs
5110\(T_2/2\)43.30 µs
6100\(T_1/2\)43.30 µs
7000\(T_0/4\)6.70 µs
Total\(T_s\)200.0 µs

Note that the zero time is split: a quarter at each end in state 000, and a half in the middle in state 111. Using both zero states is what makes single-leg transitions possible throughout.

Count the transitions. Each boundary changes exactly one leg:

\[ 000\to100:\ \text{leg A}; \quad 100\to110:\ \text{leg B}; \quad 110\to111:\ \text{leg C} \]
\[ \text{6 transitions per } T_s \;\Longrightarrow\; \text{each leg switches twice} \;\Longrightarrow\; f_{sw,device} = f_s \]

Each device switches on once and off once per period — the minimum possible for a scheme that uses both zero states. A sequence that jumped from 100 to 111 directly would need two legs to change at once, doubling the count for no benefit.

Why symmetry matters. Placing the segments symmetrically about the period centre makes each leg's waveform a centred pulse:

PropertyConsequence
Centred pulseslower harmonic distortion than edge-aligned
Symmetric spectrumsidebands cancel in pairs
Natural for up-down countersdirect hardware implementation
Sampling at the period centrecurrent measured at its average value

The last row is a practical gift. With centred pulses, sampling the current at the middle of the period catches it exactly halfway through its ripple — giving the average value without any filtering. Every digital drive uses this.

The five-segment alternative. Dropping one zero state entirely:

\[ 000 \to 100 \to 110 \to 100 \to 000 \quad\text{(only }\vec V_0\text{ used)} \]
\[ \text{leg C never switches} \;\Longrightarrow\; \text{switching loss reduced by }\tfrac13 \]

Which is exactly the discontinuous modulation of Set 27, Problem 5 — and here the mechanism is transparent. Choosing to spend all the zero time in 000 rather than splitting it means leg C stays low throughout the period. The zero-sequence freedom of the carrier view is, in the vector view, simply the choice of how to divide \(T_0\).

The two schemes side by side:

Seven-segmentFive-segment
Zero states usedboth (split)one only
Transitions per \(T_s\)64
Switching loss0.67×
Current ripple at low \(m\)lowerhigher
Common-mode swingfull \(V_{dc}\)reduced
The dwell times are physics; the sequence is free choice. \(T_1\), \(T_2\) and \(T_0\) follow from the reference and cannot be altered — but the order they are applied in, and how \(T_0\) is divided between the two zero states, is entirely the designer's. That single choice determines the switching loss, the ripple and the common-mode voltage.
Answera\(000\to100\to110\to111\to110\to100\to000\)   b 6.70 / 43.30 / 43.30 / 13.40 µs   c 6 transitions, one leg each   d five-segment gives 4 transitions
Problem 4Exam levelWhy It Beats SPWM

Show that the 15.5% advantage of space vector modulation over sinusoidal PWM arises from the choice of how the zero time is split, and that this choice is mathematically identical to third-harmonic injection. Quantify the equivalent zero-sequence waveform.

Solution

Start from what SPWM does in vector terms. Three independent sinusoidal references, each compared against a carrier, produce a rotating reference vector — but the constraint is applied to each phase separately:

\[ \left|v_a\right|,\left|v_b\right|,\left|v_c\right| \le \frac{V_{dc}}{2} \;\Longrightarrow\; \left|\vec V_{ref}\right| \le \frac{V_{dc}}{2} = 200\ \text{V} \]

A circle of radius 200 V — smaller than the inscribed circle's 230.9. SPWM is leaving the region between the two circles unused, and that region is entirely reachable.

What SVM does differently. It does not constrain individual phases at all; it constrains only the vector:

\[ \frac{230.9}{200} = 1.1547 = \frac{2}{\sqrt3} = \frac{1}{\cos30^\circ} \]

The full 15.5%, and the ratio is \(1/\cos30^\circ\) because that is the ratio between the inscribed circle and the circle of radius \(V_{dc}/2\). Nothing about harmonics enters.

Where the freedom comes from. The zero vector has two realisations, and the split between them is arbitrary:

\[ T_0 = T_{000}+T_{111}, \qquad \text{any division gives the same } \vec V_{avg} \]

Because both states produce zero differential output. But they produce very different common-mode voltages — \(-V_{dc}/2\) and \(+V_{dc}/2\) from Set 26, Problem 5. So choosing the split is choosing a common-mode voltage, which is choosing a zero-sequence component.

The equal split of the seven-segment sequence corresponds to a specific zero-sequence waveform. Working out the resulting leg reference:

\[ v_{zs}(\theta) = -\frac{\max(v_a,v_b,v_c)+\min(v_a,v_b,v_c)}{2} \]

A triangular wave at three times the fundamental frequency, of amplitude \(V_{dc}/4\) — whose Fourier series is dominated by a third harmonic of amplitude very close to one-sixth of the fundamental, plus small ninth and fifteenth terms.

The comparison:

SchemeZero-sequence addedPeak reductionUtilisation
SPWMnone0.612
Third-harmonic injection\(\tfrac16\sin3\theta\)to 0.8660.707
SVM (equal \(T_0\) split)triangular, \(3f\)to 0.8660.707
DPWM (all \(T_0\) in one state)clamping waveformto 0.8660.707

All three of the lower rows reach the same 0.707, because all three place the reference on the inscribed circle. They differ only in which zero-sequence waveform they use to get there — and therefore in switching loss, ripple and common-mode behaviour, not in output capability.

Why SVM is nonetheless preferred over explicit injection:

ReasonDetail
Naturally digitaldwell times map straight onto timer registers
Boundary is explicitovermodulation handled geometrically — Problem 5
Sequence is a free parameterswitch between continuous and discontinuous at will
Fits vector controlthe current regulator already works in vectors
Slightly lower THD at high \(m\)optimal placement of the zero

The fourth row is decisive in a modern drive. Field-oriented control computes a voltage demand as a vector in the same reference frame; handing that directly to a space vector modulator avoids converting to three phase references and back.

SVM and third-harmonic injection are the same modulator described in two languages. One adds a waveform to three references; the other splits a dwell time between two redundant states. Both are choices of zero sequence, both move the reference from a circle of radius \(V_{dc}/2\) to one of \(V_{dc}/\sqrt3\), and both gain exactly \(1/\cos30^\circ\).
Answera gain \(= 1/\cos30^\circ = 1.1547\)   b the freedom is the \(T_0\) split between 000 and 111   c equivalent to a triangular \(3f\) zero-sequence wave
Problem 5ChallengeLeaving the Circle

Determine the modulation index at which SVM reaches six-step operation, describe the two overmodulation regions geometrically, and explain what the modulator does when the reference falls outside the hexagon.

Solution

What goes wrong beyond the circle. Between the inscribed circle and the hexagon, a reference is reachable at some angles and not others:

\[ \left|\vec V_{ref}\right| > \frac{V_{dc}}{\sqrt3} \;\Longrightarrow\; T_1+T_2 > T_s\ \text{near the sector edges} \]

The dwell-time equations demand more time than the period contains, which is geometrically the statement that the reference has left the hexagon. Something has to give, and how it gives defines the overmodulation regions.

Region I — the reference is projected onto the boundary. Whenever \(T_1+T_2 > T_s\), both are scaled down:

\[ T_1' = \frac{T_1}{T_1+T_2}T_s, \qquad T_2' = \frac{T_2}{T_1+T_2}T_s, \qquad T_0 = 0 \]

The angle is preserved, the magnitude is clipped to the hexagon edge. The reference trajectory becomes a circle with the corners flattened — and near the sector centres, where the hexagon is nearest, it follows the straight edge instead of the circle.

Region II — the angle is distorted too. As the demand rises further, clipping the magnitude alone is insufficient:

\[ \text{the reference is held at a vertex for a growing fraction of each sector} \]

The trajectory stops being continuous: it dwells at \(\vec V_1\), then jumps along the edge, then dwells at \(\vec V_2\). The dwell fraction grows with the demand until it fills the whole sector.

The six-step limit. When the dwell fills each sector completely, the inverter applies exactly one state per 60°:

\[ \hat V_{ph1} = \frac{2}{\pi}V_{dc} = \frac{2(400)}{\pi} = 254.6\ \text{V} \]
\[ m_{max} = \frac{\sqrt3(254.6)}{400} = \frac{254.6}{230.9} = 1.103 \]
\[ \text{overmodulation range} = 10.3\% \]

Which matches Set 27, Problem 4 exactly — and note that the fundamental at six-step (254.6 V peak) exceeds the hexagon's vertex-to-centre distance would suggest, because averaging over a sector recovers more than the geometry of a single instant.

The complete range:

\(m\)RegionTrajectory\(T_0\)Low-order THD
0–1.0linearcircle> 0≈ 0
1.0–1.05overmod Icircle with flatspartly 0small
1.05–1.10overmod IIvertex dwells0growing
1.103six-stephexagon vertices only031.1%

Read the fourth column. Overmodulation is exactly the region where the zero time has been exhausted — the modulator has no idle time left to give up, so it must start distorting instead. That is a cleaner statement of the limit than any harmonic argument.

What the controller must do about it. Two problems appear:

\[ \text{(i) } \frac{\partial\left|\vec V_1\right|}{\partial m} \to 0 \ \text{as six-step is approached} \]

The gain from command to output collapses, so a current regulator tuned for the linear range becomes ineffective. And (ii) the produced vector no longer equals the commanded one in either magnitude or angle, so a field-oriented controller loses the orthogonality it depends on. Practical drives apply an explicit inverse map from desired to commanded \(m\), and freeze or detune the current loop in deep overmodulation.

Overmodulation is what happens when the zero time runs out. Inside the inscribed circle there is always idle time to spare; on the boundary there is exactly none; and beyond it the modulator can only proceed by distorting the reference it was given. The 10.3% available is the gap between the inscribed circle and the six-step average of the hexagon.
Answera six-step at \(m = 1.103\)   b region I clips magnitude, region II dwells at vertices   c 10.3% available   d overmodulation begins when \(T_0 = 0\)
Problem 6ChallengeWriting It Down

Specify a complete digital SVM implementation at 5 kHz with 2 µs of dead time: the computation sequence per period, the timer compare values for the reference of Problem 2, the minimum pulse width constraint, and how dead time is accounted for.

Solution

The per-period computation, executed in an interrupt at the period centre:

StepOperation
1Read \(V_\alpha,V_\beta\) from the current controller
2Compute \(\left|\vec V_{ref}\right|\) and \(\theta\)
3Identify the sector from \(\theta\) (integer divide by 60°)
4Reduce \(\theta\) to within the sector
5Compute \(T_1,T_2,T_0\)
6Check overmodulation: if \(T_1+T_2 > T_s\), scale
7Check minimum pulse width; drop or extend
8Map to three compare registers for the sector

Steps 6 and 7 are the ones omitted from textbook descriptions and required in every real implementation. Neither is optional.

The compare values. With an up-down counter of period \(T_s/2\), each leg's compare register sets when its output changes. For sector 1 with the durations of Problem 3:

\[ t_A = \frac{T_0}{4} = 6.70\ \mu\text{s} \]
\[ t_B = \frac{T_0}{4}+\frac{T_1}{2} = 6.70+43.30 = 50.0\ \mu\text{s} \]
\[ t_C = \frac{T_0}{4}+\frac{T_1}{2}+\frac{T_2}{2} = 93.3\ \mu\text{s} \]

Three numbers, loaded once per period, and the timer hardware generates the complete seven-segment sequence including its symmetry. That mapping — from a vector to three compare values — is the entire runtime cost of SVM.

Dead time is inserted by the hardware, not the algorithm:

\[ \frac{t_d}{T_s} = \frac{2}{200} = 1\% \]

Modern PWM peripherals insert it automatically on every complementary pair, delaying each turn-on by \(t_d\). The algorithm computes ideal times and the hardware perturbs them — which is exactly the distortion of Set 25, Problem 5, and must be compensated in the reference, not in the timer.

The minimum pulse width constraint. A pulse shorter than the dead time cannot be produced at all:

\[ T_{min} \approx 2t_d+t_{rise}+t_{fall} \approx 5\ \mu\text{s} = 2.5\%\ \text{of }T_s \]

Near the sector boundaries one dwell time approaches zero — at \(\theta = 0\), \(T_2 = 0\) exactly. And near \(m = 1\) the zero time approaches zero. Both situations demand pulses the hardware cannot make.

The three ways of handling it:

StrategyEffectCost
Drop the pulseset the short dwell to zerosmall vector error
Extend to \(T_{min}\)stretch it, steal from anotherdifferent small error
Compensate next periodcarry the error forwardbest accuracy, more state

Dropping is standard and its error is second-order: near a sector boundary the dropped vector was contributing almost nothing anyway. The third method is used in high-performance drives, where the accumulated error over many periods would otherwise produce a small but persistent current distortion.

The full implementation budget:

RequirementValue
Interrupt rate5 kHz — every 200 µs
Computation budget< 20 µs (10% of the period)
Timer resolution< 100 ns → 0.05% of \(T_s\)
Dead time2 µs, hardware-inserted
Minimum pulse5 µs — drop below this
Current samplingat the period centre — catches the average
Sector lookup6 permutations of the compare mapping

The sixth row is the reward for the symmetric sequence of Problem 3: at the centre of the period all three legs are in the zero state and the current is exactly at its average, so a single sample gives the fundamental with no filtering and no phase lag. That is why the interrupt is placed there.

The elegant algorithm is three compare registers; the engineering is everything around it. Sector identification, overmodulation scaling, minimum pulse handling and dead-time compensation are what separate a working modulator from a textbook one — and each of them exists because the hardware cannot do exactly what the geometry asks.
Answera compare values 6.70 / 50.0 / 93.3 µs   b dead time 1% of \(T_s\), hardware-inserted   c\(T_{min} \approx 5\ \mu\text{s}\) — drop shorter pulses
Formulas

Key Formulas

QuantityRelationNotes
Active vector magnitude\(\tfrac23V_{dc}\)Six of them, 60° apart
Inscribed circle\(\tfrac23V_{dc}\cos30^\circ = \dfrac{V_{dc}}{\sqrt3}\)The linear limit
Peak phase voltage\(\hat V_{ph1} = \left|\vec V_{ref}\right|\)
Line voltage limit\(V_{dc}/\sqrt2 = 0.707V_{dc}\)= injection limit
Modulation index\(m = \dfrac{\sqrt3\left|\vec V_{ref}\right|}{V_{dc}}\)\(m = 1\) at the circle
Dwell times\(T_1 = mT_s\sin(60^\circ-\theta),\ T_2 = mT_s\sin\theta\)\(\theta\) within the sector
Zero time\(T_0 = T_s-T_1-T_2\)Zero at the boundary
Seven-segment\(\tfrac{T_0}{4},\tfrac{T_1}{2},\tfrac{T_2}{2},\tfrac{T_0}{2},\tfrac{T_2}{2},\tfrac{T_1}{2},\tfrac{T_0}{4}\)6 transitions
Five-segmentone zero state only4 transitions, \(\tfrac13\) less loss
SVM gain over SPWM\(1/\cos30^\circ = 1.1547\)Pure geometry
Equivalent zero sequence\(-\dfrac{\max+\min}{2}\)Triangular at \(3f\)
Overmodulation I\(T_1' = \dfrac{T_1}{T_1+T_2}T_s\)Magnitude clipped
Six-step limit\(m = 1.103\)10.3% above linear
Six-step fundamental\(\hat V_{ph1} = \dfrac{2V_{dc}}{\pi}\)
Compare values\(\tfrac{T_0}{4},\ \tfrac{T_0}{4}+\tfrac{T_1}{2},\ \tfrac{T_0}{4}+\tfrac{T_1}{2}+\tfrac{T_2}{2}\)Sector 1
Minimum pulse\(\approx 2t_d+t_r+t_f\)Drop below it
Pitfalls

Common Mistakes

  1. Using the hexagon vertex distance as the modulation limit. A rotating reference must fit the inscribed circle at \(V_{dc}/\sqrt3\) — Problem 1.

  2. Confusing SVM's \(m\) with carrier-based \(m_a\). They differ by \(2/\sqrt3\) — Problem 2.

  3. Measuring \(\theta\) from the wrong origin. It is the angle within the sector, from 0 to 60° — Problem 2.

  4. Applying the dwell times in an arbitrary order. A bad sequence doubles the switching count for no benefit — Problem 3.

  5. Forgetting to split \(T_0\) between both zero states. Using only one gives discontinuous modulation, which may or may not be intended — Problem 3.

  6. Believing SVM is fundamentally different from third-harmonic injection. Both place the reference on the inscribed circle by choosing a zero sequence — Problem 4.

  7. Assuming SVM gives lower THD than injection. Their output capability is identical; only sequencing differs — Problem 4.

  8. Letting \(T_1+T_2\) exceed \(T_s\) without scaling. The modulator must detect overmodulation explicitly — Problems 5 and 6.

  9. Keeping a linear current regulator through overmodulation. The gain from \(m\) to output collapses near six-step — Problem 5.

  10. Ignoring the minimum pulse width. Near sector boundaries and near \(m = 1\) the required pulses are shorter than the dead time — Problem 6.

Looking Ahead

Six problems and the modulation puzzle has resolved into geometry. Eight states became six vertices and two origins; the linear limit became the radius of an inscribed circle; dwell-time calculation became volt-second balance with a vector; and the 15.5% that third-harmonic injection produced by trigonometry turned out to be \(1/\cos30^\circ\) — the ratio of two circles. The zero-sequence freedom that Set 27 used twice for different ends became a single visible choice: how to split \(T_0\) between the two redundant zero states.

Everything in Part 4 so far has been a two-level voltage source inverter: a stiff DC link, six switches, and an output that jumps between two rails. That topology has three hard limits. Its output step is the full link voltage, which stresses insulation and radiates. Its device blocking requirement is the whole link, which caps it at a few kilovolts. And it switches hard, so every transition costs the energy that Set 2 budgeted.

Next: Set 29 — Current Source, Multilevel and Resonant Inverters, where a stiff DC current replaces the stiff voltage, series-connected cells produce more levels from lower-voltage devices, and resonant transitions make the switching energy vanish altogether.