Gvd and Gid derivation of Buck converter

Ming Sun

Ming Sun / November 29, 2022

15 min read––– views

Step 1 - construct small-signal equations

Buck power stage block diagram
Fig. 1Buck power stage block diagram[1~2]

Voltage-second balance equation

Fig. 1 shows a synchronous Buck power stage, where it contains a high side switch S1 and a low side switch S2.

For the inductor, we can write the voltage-second balance as[1]:

`L{dI}/{dt} = D*(V_g-V) + D^'(-V) = D*V_g - V`
(1)

Where, I is the inductor current, Vg is the Buck converter's input voltage, and V is Buck converter's output voltage Vout. Next, let us perturb and linearize Eq. 1 by introducting the small signal perturbation as:

`L{d(I+hat(i))}/{dt} = (D+hat(d))*V_g -V-hat(v)`
(2)

Here we are trying to derive the transfer function of Gvd. As a result, we can assume Vg is constant. Removing the DC terms from Eq. 2, we have:

`L{dhat(i)}/{dt} = hat(d)*V_g - hat(v)`
(3)

Eq. 3 can be written in s domain as:

`sL*hat(i) = hat(d)*V_g - hat(v)`
(4)

charge balance equation

For the capacitor, we can write the charge balance as[1]:

`C{dV}/{dt} = I-V/R`
(5)

Next, let us perturb and linearize Eq. 5 by introducting the small signal perturbation as:

`C{d(V+hat(v))}/{dt} = I+hat(i)-(V+hat(v))/R`
(6)

Removing the DC terms from Eq. 6, we have:

`C{dhat(v)}/{dt} = hat(i)- hat(v)/R`
(7)

Eq. 7 can be written in s domain as:

`sC*hat(v) = hat(i)- hat(v)/R`
(8)

Step 2 - solve the Gvd in Matlab

The Matlab script used to derive the Gvd transfer function is as shown below:

clc; clear; close all;

syms s
syms v i d
syms R L C Vg
syms Gvd Gid

eqn1 = s*L*i == d*Vg - v;
eqn2 = s*C*v == i - v/R;
eqn3 = Gvd == v/d;
eqn4 = Gid == i/d;

results = solve(eqn1, eqn2, eqn3, eqn4, [v i Gvd Gid]);

Gvd = simplify(results.Gvd)
Gid = simplify(results.Gid)

Fig. 2 shows the Gvd derived result from Matlab.

Gvd and Gid derived results from Matlab
Fig. 2Gvd and Gid derived results from Matlab

From Fig. 2, we have:

`G_{vd} = V_g * 1/{1+s*L/R + LC*s^2}`
(9)

Compared with the Gvd transfer function we previously derived in the averaged switch model blog post[3], the result matches with each other.

Simplis for verification of Gvd transfer function

In Ref. [4], we have created an open-loop Buck converter model in Simplis. In that tutorial, we use POP and AC analysis in Simplis to plot the Gvd transfer function within Simplis and then we export the simulation data into a csv file. Next, we use Matlab to compare the mathematical s domain transfer function Bode plot with the simulation results from Simplis.

In this tutorial, we are going to do the comparison within the Simplis. Simplis provides a Laplace Transfer Function block, which can be used for this purpose.

Laplace Transfer Function in Simplis
Fig. 3Laplace Transfer Function in Simplis

The updated open-loop Buck converter model is as shown in Fig. 4.

Updated open-loop Buck converter model
Fig. 4Updated open-loop Buck converter model

To set the property of the Laplace Transfer Function block, Eq. 9 can be re-written as:

`G_{vd} = V_g * 1/{1+s*L/R + LC*s^2} = V_g/(LC) *1/(s^2+s/(RC)+1/(LC))`
(10)

We can plug in the inductor, capacitor, resistor and Vg values into Eq. 10. We have:

`G_{vd} = V_g/(LC) *1/(s^2+s/(RC)+1/(LC)) = 5T*1/(s^2+s*1M+1T)`
(11)

Based on Eq. 11, the property of the 2nd-order Laplace Transfer Function is as shown in Fig. 5.

2nd-order Laplace Transfer Function block property
Fig. 52nd-order Laplace Transfer Function block property

The Simplis simulation results are as shown in Fig. 6. From Fig. 6, we can see that the mathematical Laplace transfer function matches with the AC simulation results of Gvd.

Simulation results comparison between mathematical derivation and AC analysis
Fig. 6Simulation results comparison between mathematical derivation and AC analysis

Gid verification

From Fig. 2, the Gid transfer function can be written as:

`G_{id} = V_g/R * (1+sRC)/(1+s*L/R + LC*s^2)`
(12)

To verify the Gid transfer function, the Simplis test bench can be modified as shown in Fig. 7.

Gid test bench in Simplis for Buck converter
Fig. 7Gid test bench in Simplis for Buck converter

To set the property of the Laplace Transfer Function block, Eq. 12 can be re-written as:

`G_{id} = V_g/R * (1+sRC)/(1+s*L/R + LC*s^2) = V_g/(LCR) * (1+sRC)/(1/(LC)+s/(RC) + s^2)`
(13)

We can plug in the inductor, capacitor, resistor and Vg values into Eq. 13. We have:

`G_{id} = V_g/(LCR) * (1+sRC)/(1/(LC)+s/(RC) + s^2) = 5T*(1+s*1µ)/(1T+s*1M+s^2)`
(14)

Based on Eq. 14, the property of the 2nd-order Laplace Transfer Function is as shown in Fig. 8.

2nd-order Laplace Transfer Function block property for Gid simulation
Fig. 82nd-order Laplace Transfer Function block property for Gid simulation

The Simplis simulation results are as shown in Fig. 9. From Fig. 9, we can see that the mathematical Laplace transfer function matches with the AC simulation results of Gid.

Gid comparison between mathematical derivation and AC analysis
Fig. 9Gid comparison between mathematical derivation and AC analysis

References and downloads

[1] Fundamentals of power electronics - Chapter 2

[2] Popular converters and the conversion ratio derivation

[3] Average Switch Model of Buck Power Stage

[4] POP and AC simulation in Simplis

[5] Open-loop Buck converter model for Gvd simulation in Simplis - pdf

[6] Open-loop Buck converter model for Gvd simulation in Simplis - download

[7] Open-loop Buck converter model for Gid simulation in Simplis - pdf

[8] Open-loop Buck converter model for Gid simulation in Simplis - download


HomeWikis
SnippetsAbout
Google ScholarLinkedIn