# Determining H-Bridge DC-link decoupling capacitors

I'm trying to determine the optimal DC-link decoupling for a class D full bridge amplifier. Parameters:

• PWM frequency = 300 kHz, 40 ns rise time.
• Max duty cycle = 90%
• DC bus voltage = 50V
• Ipeak = (50 V / 8 ohm) * 90% = 5.625 A
• Desired ripple voltage = 0.5% or 250 mV

The formula I found in order to calculate required bulk capacitance is:

C >= (Ipeak * Tperiod * Max duty cycle) / Vripple = 67.49 µF.

And capacitor ESR should be below Vripple / Ipeak = 44 mOhm.

What capacitor type(s) would be most cost effective? 4x 22 µF SMD ceramic capacitors are expensive at these voltages. Electrolytic capacitors are probably too slow to handle the high harmonic frequencies of the square wave edges. A combination of electrolytic and ceramic perhaps? How to determine how much ceramic capacitance too add?

In case of electrolytics, how do I calculate the ripple current trough the capacitors in order to determine the required ripple current rating?

• Use a simulator is my recommendation. – Andy aka Feb 12 '18 at 11:42
• Why IGBT? 300kHz is a little tough for them. – Gregory Kornblum Feb 12 '18 at 11:55

This is a attempt to answer part of my own question:

how do I calculate the ripple current trough the capacitors in order to determine the required ripple current rating?

To calculate the capacitor ripple current for a given duty cycle D, [0, 1], we first determine the voltage across the load by calculating the voltage on each side of the bridge and subtracting one from the other:

Uload = (Uin * D) - (Uin * (1 - D))


Then determine the current trough the load:

Iload = Uload / Rload


Since the filter inductors are in series with the load, the average inductor current equals the load current.

Pload = Uload * Iload


This power is the constant power supplied by the power supply for the given duty cycle, so the current supplied by the power supply is:

Iin = Pload / Uin


The difference between the current supplied by the power supply and the load/inductor current has to be supplied by the capacitor(s), during the active part of the period:

Icap-active = Iin - Iload


During the freewheeling part of the period, the inductor returns some of the energy it had stored to the capacitor(s). Since the current trough a inductor cannot instantly change, the current returned by the inductor equals Iload. So the capacitor recharges by the sum of Iin and Iload during freewheeling:

Icap-freewheel = Iin + Iload


The resulting current ripple is a square wave, we need to determine the RMS value which is of importance for electrolytic capacitors:

Icap-rms = √((Icap-active² * D) + (Icap-freewheel² * (1 - D)))


Example for Uin = 50V, Rload = 8ohm, 80% duty cycle (D = 0.8):

Uload = (50V * 0.8) - (50V * 0.2) = 30V
Iload = 30V / 8 ohm = 3.75A
Pload = 30V * 3.75A = 112.5W
Iin = 112.5W / 50V = 2.25A
Icap-active = 2.25A - 3.75A = -1.5A
Icap-freewheel = 2.25A + 3.75A = 6A
Icap-rms = √(1.8 + 7.2) = 3A


Have a computer do all the work for each duty cycle in 1% steps and you get something like this, from which you can easily determine the peaks: One way to estimate is by allowing certain dV ripple and taking T/2 time into CV = It equation. This way you can see how much energy can be provided by the capacitor given the source cannot provide anything in reasonable time.

Of higher importance is the loop inductance. You don't want resonance at the chopping rate.

Also, high ESL (including lead inductance and wiring and PCB inductance and inductance of the +VDD and -VDD bypass capacitors) must be included in your thinking.