File Exchange

image thumbnail

Three Phase SVPWM Inverter

version (148 KB) by Rashmil Dahanayake
Space vector modulation of 3 Phase inverter


Updated 09 Apr 2014

View License

3 Phase inverter in this demonstration, uses space vector modulated PWM to generate the output voltage.
Reference voltage vector converted in to dq rotating phase. A matlab function is employed to determine the segment number and related ON-times(ti,t2,t0/2).
Symmetrical switching method employed to minimize switching losses.

SVM trajectory will be plotted at the completion of the simulation.

Cite As

Rashmil Dahanayake (2020). Three Phase SVPWM Inverter (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (24)


For my project, I need this file. Can you please mail me this file?

rand manna

rand manna

may I ask for your file, I'm working on my final project. Your file will really help me. please send to my email


Awaz Marhy

good job1

Very helpful, Thanks.

I need two induction motor (three phase) with an inverter with a 5 phase control which works on DTC method. Can you please to send any related matlab file to my email address:

sir! could you please tell me how you drawn the space vector trajectory.

neeraj seth

how can i get this?where is download link?


Hi, can you share with me the file embedded matlab for card DSP

Hi very good work , would you like to explain me this instructions :
ref= 1/Fs * rem(t,1/Fs)/(1/Fs);
and how you did it and how to read it this
sw_array(:,:,1)=[0 1 1 1 1 1 0;0 0 1 1 1 0 0; 0 0 0 1 0 0 0];
Please i need it and thanks

med la


wen chien

Sam, you can use the same model. Firstly you need to convert the alpha beta values to 3ph.

Create a function block as follow
% Inverse Clarke Transformation
% Convert stationery orthogonal quantities(eg alpha beta ) to 3 phase a,b,c
Va = v_alpha;
Vb = (-v_alpha + v_beta*sqrt(3))/2;
Vc = (-v_alpha - v_beta*sqrt(3))/2;


if possible can you make the input of SVPWM from alpha and beta because I want to use this in vector control. really appreciate it..


have you try this in vector control?


Dq0 and pll blocks updated in order to correct the error(2nd harmonic output) in previous revision.
User defined function replaced the R2013a inbulit dq0/pll blocks. (library compatibility issue)

Dq0 and pll blocks updated in order to correct the error(2nd harmonic output) in previous revision.

- Symmetrical switching to minimize switching losses.

modulation index, Vdc, Output voltage frequency configurable. Matlab 2010 compatible

MATLAB Release Compatibility
Created with R2013a
Compatible with any release
Platform Compatibility
Windows macOS Linux