Small-signal analysis of switching dc-dc converters determines their specific transfer functions, for example, for stability analysis or design of a proper input filter. Transfer functions of interest for switching dc-dc converters are input impedance, output impedance, duty cycle (or control voltage) to output voltage, and input voltage to output voltage. Two pieces of literature about accomplishing small-signal analysis of switching dc-dc converters suggests two fundamental methods:

  1. The state-space averaging method, by Dr. Middlebrook et al[1], employs algebraic manipulation of a set of state-space equations to derive average model equations of a switching converter topology. Linearizing the averaged model at a dc operating point derives the desired transfer function. With this method, the complete circuit must be averaged and linearized every time the topology is changed.

  2. The method of PWM switch model, by Dr. Vorperian[2-4, 8], averages and linearizes the dc-dc converter's switch pair, which is its only nonlinear portion, and invariantly uses this model in different topologies. The main advantages of a PWM switch approach are:

    • The PWM switch model is already averaged and linearized, so no averaging and linearization is necessary, which differs from the state-space averaging method.

    • As a circuit-oriented approach, it is very convenient for use with numerical or symbolic circuit-analysis software.

    • The PWM switch model's properties are the same for a given conduction and control mode, so they can be used invariantly from one topology to another.

Because of these advantages, particularly that it is circuit oriented, the PWM switch model is best suited for obtaining symbolic and numeric small-signal equations of switching dc-dc converters. The small-signal model of a switching converter with a PWM switch model yields a linear circuit, and finding the transfer function of interest requires analyzing this linear circuit.

PSPICE has built-in PWM switch models for a numerical analysis of switching dc-dc converters. The models are simple enough to remodel on any other numerical electrical simulation tools, even if PSPICE is not available. However, obtaining circuit equations of such a linear circuit (symbolic analysis) is done by manually analyzing the circuit.

Depending on the level of complexity with the equivalent linear circuit, obtaining the analytical transfer function of interest may turn out to be a very difficult task. This can occur if there are a large number of terms in the resultant transfer function when using standard linear circuit-analysis techniques (nodal or loop).

Alternatively, Middlebrook suggested the extra element theorem (EET) to analyze linear circuits in a more efficient manner.[5-7] This method reduces the number of mathematical manipulations and simplifies obtaining the transfer function of interest.

Vorperian's book, Fast Analytical Techniques for Electrical and Electronic Circuits, is a good reference for the EET and provides various application examples.[8] Although the EET method is much more practical and useful compared to nodal or loop analysis methods, it still requires manual manipulation of circuit equations and becomes impractical when the number of circuit elements exceeds a certain number.

For example, let's say a designer is interested in the small-signal PWM switch-equivalent circuit model of a buck converter to obtain duty-cycle to output-voltage transfer function with voltage-mode control in continuous conduction mode (CCM). By including the inductor's dc resistance and the capacitor's ESR, there are eight circuit elements in the equivalent circuit, and the resultant transfer function contains only about 25 terms of circuit parameters. EET easily analyzes this circuit to find the transfer function of interest.

On the other hand, the complexity increases when determining the small-signal PWM switch-equivalent circuit model of, for example, the nonisolated, single-ended primary inductor converter (SEPIC) to obtain its duty-cycle to output-voltage transfer function with voltage-mode control in discontinuous conduction mode (DCM). Now, by including the inductors' dc resistances and the capacitors' ESR, there are 14 circuit elements, and the resultant transfer function contains more than 700 terms of circuit parameters when expanded and collected with “s.”

Obviously, it is a major task to obtain the transfer function of the SEPIC converter topology manually even with the EET method. Besides, it is a good possibility to inadvertently introduce errors during this manual analysis process.

Needless to say, it also requires learning and digesting the EET method. Besides, the complexity level of the equivalent circuit analysis is much higher with the current-mode control if all the parasitic elements of the reactive components and subharmonic oscillation model parameters are included (the final transfer function contains thousands of parameters with the SEPIC converter topology). Analyzing such a circuit even with the EET method is an extremely long (or impossible) task unless you omit some parasitic elements to simplify the circuit.

There is a computer-based method to analyze such linear circuits and obtain analytical expressions for the transfer functions of interest. The method works even for transfer functions containing thousands of parameters in it. It is fully computer based, so a designer can obtain and analyze the resultant transfer functions much faster and more reliably than manual analysis methods. Tools needed for such analysis are:

  • Linear circuit-analysis software that can perform symbolic circuit analysis

  • Math software to post-process the transfer function equation generated by the circuit-analysis program

  • An executable program to format the transfer function equation generated by the circuit-analysis program in the form required by the math software.

The details of this method are explained and demonstrated next.

Software Programs

Several linear circuit-analysis programs can perform symbolic circuit analysis. Among these are TINA, by Design Ware Inc.; Analog Insydes, by ITWM (Germany), which works on Mathematica by Wolfram Research as an add-on program; and SAPWIN, written by the electrical engineering department at the University of Florence (Italy).

The first two programs are supported by companies, so a designer has to purchase them to use. However, SAPWIN is available as a free download on the University of Florence's electrical engineering department's website.[9] Although any of these programs can be used for the purpose of symbolic circuit analysis, SAPWIN will be used here because it is free and sufficient for the purposes of small-signal analysis of switching dc-dc converters.

After the designer obtains the transfer function through the symbolic circuit-analysis program, it must be manipulated by a math software program to obtain its attributes (poles, zeros, dc gains, etc.) symbolically and numerically. There are several math software programs, and almost all of them have symbolic math functions built into them, such as Matlab, Mathcad, Mathematica, Maple and MuPAD.

The functionalities, capabilities and ease of use of these math programs in symbolic mode differ and some have advantages over others. Mathcad (version 13.1) will be used here simply because it seems to be the most common math software used by dc-dc converter design engineers.

SAPWIN solves linear circuits and displays the result (transfer function equation) in a specific format. The transfer function generated by SAPWIN must be modified to transfer it into Mathcad for manipulation. This modification can be done manually by copying the SAPWIN transfer function into a text editor and then modifying it.

However, manual modification wouldn't be practical and dependable (for example, it would be prone to introducing errors) if the number of parameters in the transfer function exceeded a certain level (for example, if 100 was the limit). Therefore, an executable code is needed that formats the SAPWIN circuit equation into a form that can be transferred to a Mathcad equation. Such a code significantly improves the effectiveness of the method, reduces the analysis time and eliminates the possibility of introducing an error into the equation.

PWM Switch Model

Vorperian derived the PWM switch models for voltage-mode control in CCM and DCM and for current-mode control in CCM.[2-4, 8] PWM switch models won't be explained here, rather an example will be given that shows how to use the PWM switch models in symbolic analysis of switching dc-dc converters. The method will be demonstrated on a small-signal analysis of a SEPIC with voltage-mode control in DCM. What follows is a brief explanation of PWM switch models of voltage-mode control in DCM.

Fig. 1 shows the nonisolated SEPIC converter topology. With the PWM switch models, the switch pairs are modeled as a three-terminal element, so the diode and switch have to be connected at one end to express the topology with the PWM switch model. Therefore, the diode in Fig. 1 is drawn on the bottom rather than on the top. Terminal “c” is the common terminal to which both switches are connected, terminal “a” is the active terminal to which the control switch is connected and terminal “p” is the passive terminal where the diode is connected.

For a given conduction and control mode, the PWM switch model has a three-terminal dc and small-signal models. The dc model is used to solve for parameters of dc operating point, which are then substituted into the small-signal model parameters.

Fig. 2 shows the PWM switch dc and small-signal models with voltage-mode control in DCM. The upper-case terminal currents and voltages in Fig. 2a represent dc quantities, and lower-case terminal currents and voltages in Fig. 2b represent the perturbed quantities (or small-signal ac quantities). The dc quantities are solved by substituting the dc model into the SEPIC topology in Fig. 1 and opening capacitors C and C1 and shorting inductors L1 and L2. Then by using SAPWIN, substitute the small-signal model into the SEPIC topology to obtain the transfer function of interest.

Besides terminal currents and voltages, Figs. 2a and 2b also contain model parameters, which are expressed by the dc terminal currents and voltages as:

where fS is the switching frequency and D is the steady-state duty cycle of the converter.

Small-Signal Analysis of SEPIC Converter

Now see how the symbolic small-signal analysis of the SEPIC in Fig. 1 with voltage-mode control in DCM can be done by using the PWM switch model in Fig. 2, SAPWIN and Mathcad. First, substitute the three-terminal dc model in Fig. 2a into Fig. 1, open the capacitors and short the inductors to solve for the dc quantities. The resultant equivalent circuit is shown in Fig. 3.

Note that omitting the dc resistance of the inductor has a negligible effect on the accuracy of the dc quantities on practical examples, and including them in the dc model significantly complicates the small-signal transfer function with no noticeable benefit. Therefore, neglect inductor dc resistances in the dc models in this example.

Solve for Vcp, µ, Ip, Vac, Ia and D using the equivalent circuit in Fig. 3 to express the model parameters gi, ki, go, ko and gf in Eqs. 2, 3, 4, 5 and 6. These parameters can be solved from Fig. 3 by inspection:

Using Eqs. 1, 7 and 11:

If Eqs. 7 to 11 are substituted into Eqs. 2 to 6, this results in:

Now that the dc quantities have been solved, substitute the small-signal model in Fig. 2b into Fig. 1 and short the dc input-voltage source to obtain the transfer function from d to vout. The resultant equivalent circuit is shown in Fig. 4. Fig. 5 shows the equivalent circuit in Fig. 4 as drawn using the SAPWIN schematic capture tool.

The little circular element at node “vout” in Fig. 5 defines the node whose voltage is to be solved by SAPWIN. Therefore, in Fig. 5 SAPWIN solves for node “vout” in terms of circuit parameters. By dividing the SAPWIN equation of “vout” by d and substituting Eqs. 13 to 17 into it, the transfer function of vout(s)/d(s) can be derived.

Note that some circuit parameters in Fig. 5 are in square brackets. SAPWIN is limited in naming components in the circuit. For example, all resistor names have to start with a capital “R.” A designer who wants to name a resistor “rL,” for example, would need to have a capital “R” at the start, so the resistor would actually have to be named “RrL.”

Seeing the resistor name as “RrL” in the final equation would be inconvenient for the user. Therefore, the code written to simplify the SAPWIN equation is done in such a way that it also simplifies any parameter names where square brackets are used, by taking only the characters within the brackets and removing the characters in the rest of the parameter name. The user can name the circuit parameters with any characters on the keyboard by putting them within square brackets. Once the code simplifies the SAPWIN equation, the circuit parameter names will be shown in the equation with the characters in square brackets.

The analytical equation of node “vout” in Fig. 5 is calculated by SAPWIN, as shown in Fig. 6. When the SAPWIN equation in Fig. 6 is simplified by the executable code, it looks like the equation in Fig. 7 .

As seen in Fig. 7, the code removes the characters outside the brackets in the reference designators of the circuit elements, adds a multiplication sign (*) between any adjacent parameters if there is no math operator between them, places all the terms on the same line, automatically detects the division sign that separates the numerator from the denominator, and displays the equation in string format. These steps can be done manually modifying the equation in Fig. 6 in a text editor. However, it would be cumbersome and prone to introducing an error into the final equation for a long equation as in Fig. 6.

The equation in Fig. 7 is in string format that can be converted into a Mathcad equation. However, when this equation is copied into Mathcad, the program will not treat it as an equation but as a string, instead. So, a Mathcad script is needed that converts an equation in string format into a Mathcad equation. Such a Mathcad script — as written by Dr. Valery F. Ochkov, a professor of the Moscow Power Engineering Institute (Technical University), Russia — is available on the Mathcad Collaboratory official online forum.

Now, to simplify the equation of “vout” in Fig. 7 by the code, transfer it into Mathcad, divide it by d and substitute the dc quantities into it from Eq. 13 to Eq. 17. The equation of “vout” in Fig. 6 or Fig. 7 is rather long and not useful in its present form. But it tells the orders of the numerator and the denominator, so its known how many poles and zeros there are. Both the numerator and the denominator in Fig. 6 are fourth order, so there are four zeros and four poles. One significant benefit of the EET method is that the resultant equation is expressed in terms of series parallel combination of the circuit components, which is very convenient and useful in determining the resultant equation with certain relations between the circuit parameters.

The equation obtained by SAPWIN doesn't look as elegant as the equation obtained through the EET method. However, it can be arranged in a much better and useful form than how it looks in Fig. 7 by using the symbolic keywords of Mathcad, including “factor,” “collect,” “simplify,” “substitute,” “assume” and “coeffs.”

The first symbolic keyword to apply to the equation in Fig. 7 should be “factor.” By applying the keyword “factor” to a transfer function, the zeros and poles of the transfer function that can be factored out are found. Therefore, if there are any zeros or poles that factor out in the transfer function, the approximate expressions don't have to be used for them.

Next, analytical formulas are needed of the approximate poles and zeros of the transfer function, which is explained in Chapter 8.1.8 of Fundamentals of Power Electronics (by R.W. Erickson and D. Maksimovic) with the condition that the poles and zeros are well-separated.[10] Of interest are the location of the poles and zeros if they are real and the resonant frequency and quality factor if they are complex. To find these quantities analytically, the coefficients of the numerator and denominator of the transfer function are assigned to arrays using “coeffs.”

Once these quantities are analytically expressed in Mathcad, they can further be simplified by using “simplify,” they can be collected with certain circuit parameters sequentially using “collect,” and they can be expressed with certain conditions of circuit parameters using “assume” and “substitute.” Using these keywords will significantly make the analytical formulas look better and more useful if not as good as low-entropy expressions obtained through EET.

By applying the keyword “factor” to the transfer function in Fig. 7, the ESR zero set by the output capacitor “C” and “Resr” factors out as (1+s × C × Resr). The coefficients of the remaining third-order polynomial of the numerator and the fourth-order polynomial of the denominator are assigned to two arrays to find approximated analytical expressions for the zeros and poles.

At this point, one needs to decide where to place the poles and zeros of the power transfer function on the s-plane. Then, the poles and zeros can be approximated to analytical expressions provided they are well-separated. Alternatively, if the power stage of the SEPIC has already been designed — and therefore the values of the power train components have been defined — the analytical expressions of the poles and zeros can be obtained with the values in hand provided that the values yield poles and zeros well-separated from each other.

A Numerical Example

Consider a SEPIC converter of Fig. 1 with the following parameters:

Vin = 9 V
Vout = 5 V
R = 2.5 Ω
C = 330 μF
Resr = 40 mΩ
C1 = 33 μF
Resr1 = 15 mΩ
fS = 400 kHz
L1 = L2 = 1.8 μH
rL1 = rL2 = 2 mΩ

With these parameters, the dc quantities in Eq. 13 to Eq. 17 and the transfer function of vout(s)/d(s) are calculated in Mathcad as follows:

μ = 0.555
D = 0.298
gi = 0.124 mho
ki = 7.456 A
ko = 13.407 A
go = 0.4 mho
gf = 0.445 mho

Zeros and poles of the numeric transfer function in Eq. 18 can be solved in rad/s in Mathcad as follows:

Note that the arrow sign “→” in Eqs. 19 and 20, and in other equations to come, is the symbolic equal sign in Mathcad. We have the following observations with Eqs. 19 and 20. There are two real zeros, a complex zero pair, two real poles and a complex pole pair. One of the real zeros is in left half plane (LHP) and the other is in the right half plane (RHP). Both real poles are in the LHP. The complex pole and zero pairs have almost the same real and complex parts, which would practically cancel each other. So, if we plot the gain/phase of Eq. 18, it would look like the plot of a transfer function with two real zeros and two real poles.

Also note that zeros are well-separated and so are the poles. Because of this, we can easily derive approximate analytical equations for the zeros and poles of vout(s)/d(s) using the formulas in Chapter 8.1.8 of Fundamentals of Power Electronics.[10] With the converter parameter values listed previously, the ESR zero in Eq. 21 corresponds to the first zero in Eq. 19, which is:

The transfer function of vout(s)/d(s) can be expressed as in Eq. 22 with the ESR zero factoring out in it:

The coefficients of an and bn in Eq. 22 are assigned to arrays in Mathcad in symbolic form, which are functions of circuit parameters. The dc gain of vout(s)/d(s) - let’s call it K - can be found from Eq. 22 by Mathcad by setting s = 0. Hence:

The frequency of the RHP zero is significantly higher than the resonant frequency of the complex zero pair in Eq. 19, so the RHP zero can be approximated as:

The approximate formula of the resonant frequency of the complex zero pair is:

The low frequency and high frequency real poles can be approximated as:


The resonant frequency of the complex pole pair can be approximated as follows:

where b1 and b3 are given in Eqs. 30 and 32.

If the parasitic resistances rL1, rL2, Resr, Resr1 are ignored, Eqs. 25, 27, 28, 31 and 34 simplify as shown below. The formulas from (35) to (40) can be obtained by Mathcad by setting rL1, rL2, Resr, Resr1 to zero in Eqs. 25, 27, 31, and 34 using the symbolic keyword "substitute".

Now, let’s check the validity of the formulas we derived so far by substituting the component values in the aforementioned numeric example and comparing the results with the numeric solution in Eqs. 19 and 20. The table compares the poles and zeros of the numerical example by using Eq. 18, the formulas from Eqs. 23 to 34, and the ones in Eqs. 35 to 40.

We see in the table that the poles and zeros calculated using the numerical solution of Eq. 18 and the formulas derived are very close in value. The formulas derived would yield less and less accurate values if the poles and zeros are not well-separated among themselves.

We can also correlate the SAPWIN transfer function in Eq. 18 to PSPICE simulation to make sure the SAPWIN transfer function in Eq. 18 was properly derived. The PSPICE model “VMLSDCM” can be used for this simulation. It needs to be noted that the PSPICE model “VMLSDCM” works fine on this specific example, but its model needs to be modified as proposed by reference 11 below, if used with a boost converter topology to obtain the correct simulation results.

Fig. 8 shows gain and phase plots of the numeric SEPIC converter example above as simulated by PSPICE and as plotted using Eq. 18. Expectedly, they overlap on each other at all frequencies.

By the approach explained in this article, the complexity level of the small-signal equivalent circuit of the dc-dc converters almost doesn’t matter, since solving the circuit and analyzing the resultant transfer function are handled by software programs. The circuits can be analyzed by SAPWIN with their full complex form by including all relevant parasitic elements, then transferring the transfer function obtained through SAPWIN into Mathcad. The transfer function can be analyzed with the desired complexity by setting none, some of, or all parasitic elements to zero in Mathcad.

Once one goes through this process on one circuit example, the Mathcad file generated can be used as a template to analyze other dc-dc converter topologies (with minor modifications to the Mathcad file from topology to topology). With this approach, all it takes to analyze a small-signal model of a dc-dc converter is to draw its PWM switch-based schematic in SAPWIN, transfer the transfer function from SAPWIN into Mathcad and make minor modifications to the Mathcad file (for example, modifying the dc-equivalent circuit solutions, modifying the formulas to obtain approximate poles and zeros depending on the order of the poles and zeros of the transfer function in hand). This enables analysis of very complex linear circuits to be done in a matter of hours at most, that would otherwise not be doable or would take days of work and be very cumbersome if analyzed manually.


1. Middlebrook, R.D., Cuk, S., “A General Unified Approach to Modeling Switching-Converter Power Stages,” IEEE Power Electronics Specialists Conference, 1976.
2. Vorperian, Vatche, “Simplified Analysis of PWM Converters Using Model of PWM Switch, Part I: Continuous Conduction Mode,” IEEE Transactions on Aerospace and Electronic Systems, vol. 26, no. 3, May 1990, pp. 490-496.
3. Vorperian, Vatche, “Simplified Analysis of PWM Converters Using Model of PWM Switch, Part II: Discontinuous Conduction Mode,” IEEE Transactions on Aerospace and Electronic Systems, vol. 26, no. 3, May 1990, pp. 497-505.
4. Vorperian, Vatche, “Analysis of Current-Controlled PWM Converters Using the Model of the Current-Controlled PWM Switch,” Power Conversion and Intelligent Motion Conference, 1990, pp. 183-195.
5. Middlebrook, R.D., “Low-Entropy Expressions: The Key to Design Oriented Analysis,” IEEE Frontiers in Education, 21st Annual Conference, Purdue University, Sept. 1-24, 1991, pp. 399-403.
6. Middlebrook, R.D., “Null Double Injection and the Extra Element Theorem,” IEEE Transactions on Education, vol. 32, no. 3, August 1989, pp. 167-180.
7. Middlebrook, R.D., Vorperian, Vatche, and Lindal, J., “The N Extra Element Theorem,” IEEE Transactions on Circuits and Systems – I: Fundamental Theory and Applications, vol. 45, no. 9, September 1998, pp. 919-935.
8. Vorperian, Vatche, Fast Analytical Techniques for Electrical and Electronic Circuits, Cambridge University Press, 2002.
9. SAPWIN, University of Florence, Department of Electronics and Telecommunications Engineering,
10. Erickson, R.W., Maksimovic, D., Fundamentals of Power Electronics, second edition, Kluwer Academic Publishers, 2004.
11. Zhu, G., Batarseh, I. “Correcting the PSPICE Large-Signal Model for PWM Converters Operating in DCM,” IEEE Transactions on Aerospace and Electronic Systems, vol. 36, no. 2, April 2000, pp. 718-721.