I am reading The Art of Electronics, Third Edition by Paul Horowitz and Winfield Hill but I feel like I am missing something when the book comes to talk about (begins to, instead) Power-supply filtering (Chapter 1.6.3_A, page 32) after a half/full wave rectifier with capacitor.

In the A subparagraph, here is what it is said :

It is easy to calculate the approximate ripple voltage, particularly if it is small compared with the DC. The load causes the capacitor to discharge somewhat between cycles (or half-cycles, for full-waves rectification). If you assume that the load current stays constant (it will, for small ripple), you have : $$ \Delta V = \frac{I}{C}\Delta t $$ Just use 1/f (or 1/2f for full-wave rectification) for \$\Delta t\$ (this estimate is a bit one the safe side, because the capacitor begins charging again in less than a half-cycle). You get $$ \Delta V = \frac{I_{Load}}{fC} $$ for half-wave $$ \Delta V = \frac{I_{Load}}{2fC} $$ for full-wave

Ok, I don't understand where that comes from, more specifically the \$I_{Load}\$ term instead of \$I_{in} - I_{Load}\$ term that I found (see below). I tried to retrieve it, I don't.

Let's take the following schematic (which is used in the book): enter image description here

The KCL and KVL gives respectively : $$ I_{in} = I_C + I_{Load} = C\frac{dV_{Load}}{dt} + I_{Load} $$ $$ V_C = V_{Load} = V $$

The latter is quite useless in fact. So, if we work with the KCL equation : $$ \Delta V = \frac{I_{in} - I_{Load}}{Cf} $$ for a half-wave rectifier. And : $$ \Delta V = \frac{I_{in} - I_{Load}}{2Cf} $$ for a full-wave rectifier.

What am I doing wrong ? Why don't I find the same equation that the book gives ?

Thanks !

  • 2
    \$\begingroup\$ You are not doing anything wrong! In fact your equation is okay, then your book takes next step in the hypotesys of "small ripple". Upon this your \$I_\text{in}\$ current is nearly always zero (note) and book and you agree on the same result. (note) input current is zero unless for short spikes around input sine tops which take care of supplying average current \$\endgroup\$
    – carloc
    Commented Jul 2, 2017 at 12:17

2 Answers 2


Commenter @carloc has it right. Just to go into a little more detail:

KCL works for average current, and it works for instantaneous current, but of course you have to be consistent in what you are comparing.

Looking at the average: The average (DC) value of current in a capacitor is zero, so then Iin (avg) = Iload (avg), and the average change is voltage is zero, since it increases and decreases by the same amount each cycle once you reach steady state.

Looking at the instantaneous current is more useful because you are trying to find the amount the voltage drops during the time the diodes are off, Iin = 0, and the capacitor is supplying all the load current. As @carloc says, Iin is zero for most of the cycle, because the diodes are only forward biased for a small period of time near the positive and negative peaks of the input AC voltage. If you set Iin = 0 then your equation matches the book except for the sign, but peak-to-peak ripple is conventionally given as a positive number so you would take the absolute value.

By the way, it is an approximate formula. If the ripple voltage is high and/or diode and transformer resistance limit the diode current, then the forward biased time is an appreciable fraction of the cycle and you can no longer assume the discharge time is T/2 (full wave) or T (half-wave).


Iload is the current drawn by the load. They are making the simplifying assumption that the ripple voltage is small compared to the average voltage, so the load current is reasonably constant.

For example, let's say you have a full wave bridge driven from the secondary of a transformer that puts out 12 V RMS. Since the power line voltage is sinusoidal, the peaks will be sqrt(2) higher than the RMS, so 17.0 V. Figure 700 mV drop across each diode. There are always two diodes in series with the output of a full wave bridge at any time, so that means the bridge drops 1.4 V. The resulting peaks are then 15.6 V.

Now let's say you use a "large" filter cap and the load is a 100 Ω resistor. If the cap were infinitely large, the DC would always be at 15.6 V and the load would draw (15.6 V)/(100 Ω) = 156 mA.

Their point is that the load current won't be much different as long as the filter cap is large enough so that the dips in voltage between the line cycle peaks are small compared to the 15.6 V. Suppose the voltage actually dips 500 mV between peaks. What would the load current be then? At the bottom of the dip it will be (15.1 V)/(100 Ω) = 151 mA. That's not so different from the no-dip figure of 156 mA. And, that's the minimum. The average will be roughly half way between these two, so 153.5 mA, although that level of precision in stating the numbers is silly. Nonetheless, it shows that approximating the load current as constant in this case only introduces 1.6% error. That's inconsequential when using 20% capacitors.

As a exercise, let's see roughly what size cap gives you the 500 mVpp ripple in this example.

    (156 mA)(8.33 ms)/(500 mV) = 2.6 mF

Note that this equation includes the same simplifying assumption Horiwitz and Hill used. It assumes that the load is drawing 156 mA the whole time. As we saw, it actually dips to 151 mA at the bottom of the ripples. But think about what that actually matters. This way you are told to use a slightly larger cap. These things are usually 20% at best. You're going to leave some margin and round up to the nearest common value anyway. You'll need to use at least a 3.3 mF cap just due to tolerance. In practise you'd probably use 3.6 mF cap, or decide you can live with a little more ripple.

  • \$\begingroup\$ You explain why load current, even with a resistive load, can be considered constant. I don't think this has anything to do with OP question. \$\endgroup\$
    – carloc
    Commented Jul 2, 2017 at 12:58
  • \$\begingroup\$ @carl: The OP said "I don't understand where that comes from (most specifically the ILoad term)". Since Iload is obvious, it seems the confusion is how it can be a constant. In any case, I also showed where it comes from, and even showed a example of computing Iload. \$\endgroup\$ Commented Jul 2, 2017 at 13:05
  • \$\begingroup\$ maybe... anyway the only difference between OP and book is the Iin term. Typo? let's hope OP can clarify \$\endgroup\$
    – carloc
    Commented Jul 2, 2017 at 13:10
  • \$\begingroup\$ @carloc You are right. That's what I meant. I was not precise enough in what confuses me, I am sorry Olin. I made the edit to make it clearer. Anyway, your explanation also helped me to understand this part. I did take the "constant part" as granted but here, it is justified. \$\endgroup\$
    – vionyst
    Commented Jul 2, 2017 at 21:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.