Robots Atlas>ROBOTS ATLAS
Robotics

SVPWM

1988ActivePublished: 21 October 2026Updated: 21 October 2026Published
Key innovation
Treats the inverter’s three phase voltages as a single rotating space vector synthesized from base vectors, using the DC bus about 15.5% better than classic sinusoidal PWM.
Category
Robotics
Abstraction level
Building block
Operation level
Robot control
Use cases
Field-oriented control (FOC) of PMSM motorsBLDC motor drivesInduction (asynchronous) motor drivesTraction and automotive invertersVariable-frequency drives in industrial automationServo drive controllers in robotics

How it works

Step by step: (1) the three-phase reference voltage is transformed into the stationary αβ plane (Clarke transform); in FOC this vector comes from the inverse Park transform. (2) The hexagon sector is identified (one of six, every 60°) in which the reference vector lies. (3) The reference vector is approximated by the two adjacent active vectors plus the zero vectors; their on-times (T1, T2, T0) are computed so their average over the modulation period equals the reference vector. (4) The times are converted into duty cycles for the inverter’s three legs, usually with symmetric placement of the zero vectors, which minimizes switching count and distortion.

Problem solved

Sinusoidal PWM does not fully use the available DC-bus voltage and produces higher current harmonic distortion. SVPWM addresses both: it raises the maximum linear output voltage (in the linear range the phase amplitude reaches Udc/√3 instead of Udc/2) and reduces current ripple and switching losses at the same carrier frequency.

Components

Inverter base vectorsThe discrete set of voltages from which the reference vector is synthesized.

The eight switching states of a two-level inverter: six non-zero active vectors (V1–V6) spaced 60° apart and two zero vectors (V0=000, V7=111).

Sector hexagonLocates the reference vector and selects the component vectors.

The active vectors divide the αβ plane into six 60° sectors; sector identification selects which two active vectors to use.

Dwell-time calculationTranslates the vector geometry into concrete switching times.

Computation of T1, T2 (active vectors) and T0 (zero vectors) within the modulation period so their weighted average equals the reference vector.

Switching sequenceDetermines switching losses and output current quality.

Ordering of the vectors within the period (usually symmetric, splitting the zero vectors) to minimize switching count and harmonic distortion.

Implementation

Implementation pitfalls
Dead-time distortionHigh

The dead-time inserted between switching the devices of one leg causes an output voltage error, especially at low speed and low voltage.

Fix:Software dead-time compensation based on the sign of the phase current.
OvermodulationMedium

Above the linear range (outside the circle inscribed in the hexagon) the reference vector cannot be reproduced faithfully, introducing low-order harmonics.

Fix:Explicit overmodulation algorithms or clamping the reference vector to the linear range.
Sector detection and timing errorsMedium

Incorrect sector identification or missing the computation time window corrupts the switching sequence and current quality.

Fix:Deterministic sector computation and running the algorithm in an interrupt synchronized with the PWM carrier.

Evolution

Original paper · 1988 · IEEE Transactions on Industry Applications · Heinz Willi van der Broeck
Analysis and realization of a pulsewidth modulator based on voltage space vectors
Heinz Willi van der Broeck, Hans-Christoph Skudelny, Georg Viktor Stanke
1988
SVPWM formalization
Inflection point

Van der Broeck, Skudelny and Stanke present the analysis and realization of a PWM modulator based on voltage space vectors, establishing the theoretical foundation of SVPWM.

Hyperparameters (configurable axes)

Switching frequencyHigh

The modulation carrier frequency; a trade-off between current ripple and switching losses.

8–20 kHzTypical range for PMSM/BLDC drives.
Modulation indexHigh

Ratio of the reference vector amplitude to the radius of the circle inscribed in the hexagon; above the linear range the modulator enters overmodulation.

0–1.0 (zakres liniowy)The linear limit is set by the circle inscribed in the hexagon.