File Exchange

image thumbnail

DC-DC converter small signal modelling

version (2.41 KB) by Eneko Unamuno
This function generates the small-signal model of a 2 discrete state DC-DC converter.


Updated 19 Sep 2016

View License

DC-DC converters have a different number of discrete states depending on the position of their switches (on or off). The aim of this function is to generate the small-signal model of a 2 discrete state DC-DC converter by employing the symbolic engine of Matlab. Based on the equations of the book "Fundamentals of Power Electronics" (Erickson and Maksimovic, 2001), first the average model of the converter is obtained and then it is linearized in order to generate the transfer functions of the small-signal model. The function outputs the transfer functions of the output with respect to the inputs as well as the duty cycle of the converter in a symbolic form.
The inputs of the function are the discrete state matrices in a cell form mA = {A1;A2}, mB = {B1;B2}, CA = {C1;C2} and mD = {D1,D2}, and the state variable (X), input parameter (U) and output parameter (Y) vectors.
The validation file attached shows three examples for a buck, boost and buck-boost converter with parasitic elements where this function is employed. Some of the parasitic elements are set to 0 not to take them into account in the small-signal model. However, these lines of code can be commented to include them in the model.

Cite As

Eneko Unamuno (2020). DC-DC converter small signal modelling (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (5)

najim dorzadeh

i want to design a dc-dc converter controller for my porposed diagram. but i can't model it. do you can help me? please...
my email:

Abdullah Abdulslam

Eneko Unamuno

You can obtain these transfer functions from the transfer function matrices Gy_u_bst_num and Gy_d_bst_num. Depending on the topology you are modelling and how you define the state vector X, the transfer functions you want to obtain will be located at a different position.

For instance, in the case of the Buck converter, the transfer function v_o/d is extracted by calling Gy_d_bck_num(2,1), whereas the transfer function i_L/d can be extracted by calling Gy_d_bck_num(1,1). Remember that you have to convert the symbolic TF to numerator and denominator as in the example.


Can you add the transfer function i_L/d (Inductor current to duty cycle) and v_o/i_L (output voltage to inductor current) ?


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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!