Main Content

Induction Machine Direct Torque Control with Space Vector Modulator

Induction machine DTC structure with SVM

  • Library:
  • Simscape / Electrical / Control / Induction Machine Control

  • Induction Machine Direct Torque Control with Space Vector Modulator block


The Induction Machine Direct Torque Control with Space Vector Modulator implements an induction machine direct torque control structure (DTC) with space vector modulator (SVM). Use this block to generate the gate pulses for an inverter controlling an induction machine. This diagram shows the architecture of the block.

In the diagram:

  • You provide the reference torque, T*, and flux, ψ*.

  • The Flux and Torque Estimator estimates the actual torque, T, and flux, ψ from the measured phase currents, iabc, and voltages, vabc.

  • Two PI controllers determine the reference d and q voltages, vd and vq, from the flux and torque errors, respectively.

  • The SVM generates the gates pulses, Gij, required to control an inverter driving the induction machine. Subscript i corresponds to the phase (a, b, or c). Subscript j corresponds to the high, H, or low, L, signal.

Flux and Torque Estimator

To estimate the torque and flux, the block discretizes the machine voltage equations in the stationary ɑβ reference frame using the backward Euler method. The discrete-time equations for stator fluxes in the ɑβ frame are:




  • vɑ and vβ are the ɑ- and β-axis voltages, respectively.

  • iɑ and iβ are the ɑ- and β-axis currents, respectively.

  • Ψɑ and Ψβ are the ɑ- and β-axis stator fluxes, respectively.

  • Rs is the stator resistance.

The block calculates the torque and total stator flux as:




  • p is the number of pole pairs.

  • Ψs is the total stator flux.

Space Vector Modulator

The SVM converts the desired voltages into gate pulses, which you use to control an inverter. This figure shows possible switching states of a three-phase inverter.

The hexagon represents the space vector diagram. Each of the six vertices represents a possible switching state (GAH,GBH,GCH) of the three-phase inverter. Each low gate takes the opposite state as its corresponding high gate. The inverter diagram illustrates the current state.

The rotating vector in the space vector diagram corresponds to the complex reference voltage vector, which rotates at the desired electrical frequency of the machine. In reality, the switching frequency is much faster than this electrical frequency. As a result, the inverter switches continually between the two states enclosing its current region Ri, and the zero state corresponding to (0,0,0), to generate the desired voltages.

To learn about the implementation of this method, see the PWM Generator (Three-phase, Two-level) block.



expand all

Reference stator flux.

Data Types: single | double

Reference torque.

Data Types: single | double

Stator phase voltages.

Data Types: single | double

Stator phase currents.

Data Types: single | double

DC-link voltage for the converter.

Data Types: single | double

Reset for the PI controller integrators.

Data Types: single | double


expand all

Inverter gate pulses. The block does not consider any dead time.

Data Types: single | double

Modulation wave you deploy to the hardware if you are generating code for a platform with PWM-capable hardware. Otherwise, this data is only for your reference.


expand all


Resistance of the machine stator.

Number of machine pole pairs.

Voltage threshold to activate the power inverter.

Sample time for the space vector modulator. Fundamental sample time must be less than the control sample time.

Sample time for PI controllers. Control sample time must be greater than the fundamental sample time.

Specify the rate at which you want the switches in the power converter to switch.

Control Parameters

Proportional gain for the flux controller.

Integral gain for the flux controller.

Anti-windup gain for the flux controller.

Proportional gain for the torque controller.

Integral gain for the torque controller.

Anti-windup gain for the torque controller.

Prioritize or maintain ratio between d- and q-axes when the block limits voltage.


[1] Buja, G. S., and M. P Kazmierkowski. "Direct Torque Control of PWM Inverter-Fed AC Motors—A Survey." IEEE Transactions on Industrial Electronics 51, no. 4, (2004): 744 - 757.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Introduced in R2018a