I'm not looking for very detailed explanation (although it would be welcome). I'm more looking to intuitively understand how it works.

Basically in computer PSU I have input followed by filters followed by PFC circuit followed by switch followed by transformer followed by rectified and in the end I have output filtering and consumer. From what I've read the same PWM circuit which controls the switch and regulates voltage at the output also controls the active power factor correction.

What I don't get is the way the power factor is actually corrected.

Here's a picture:

Active PC from hardwaresecrets.com

How do those two transistors work here and how would the PFC controller determine that the power factor is bad?

I know that the power factor is usually corrected with coils and capacitors and I see both here, but I don't understand what actually happens when one of the transistors starts to conduct, why two transistors are needed and how that affects the power factor.

  • \$\begingroup\$ The two FETs are identical and always act together, I would think. It can be drawn with only one. \$\endgroup\$
    – endolith
    Nov 10, 2011 at 18:59

3 Answers 3


The power factor is managed ("corrected" is really the wrong term, although its the common one) by making the current follow the voltage. In your schematic, the bus voltage will be a bit higher than the peaks for the AC waveform. The inductor, FETs, diode, and capacitor form a boost converter. This converter takes the rectified AC input voltage and makes the bus voltage.

If the control system only regulated the output voltage, there would be no PFC happening. What it does instead is regulate the average current thru the diode to be proportional to the instantaneous rectified AC input voltage. Remember that the ideal load from a power factor point of view has the current in phase with the voltage. Another way of looking at it is that load on the AC line needs to look resistive. Just like a real resistor, you want to keep the current proportional to the voltage.

Of course that is at odds with regulating the bus voltage. This is handled by having a fast response to the AC input voltage but a much slower response to regulating the bus voltage. In other words, the AC line still sees a resistance, but the resistance value is slowly changed as needed to keep the bus voltage near its target value.

You can check out my Digital PFC Control writeup for more background on PFC and a way I came up with to keep the current proportional to the voltage without having to measure the current. I've got a patent on that, which also includes using digital computation to control the bus voltage more accurately. With a little computational power, you can know what ripple is caused on the bus due to following the AC line voltage, then use that to determine what changed due to varying demand from the load. This allows adjusting to load changes more quickly than the conventional approach but without defeating the PFC function.

  • \$\begingroup\$ Olin, the link to your writeup is triggering security warnings in browsers. I know that you're not doing anything malicious, but Google's scanners are flagging it, and this is creating concerns among visitors here. See google.com/transparencyreport/safebrowsing/diagnostic/… for details. \$\endgroup\$
    – Dave Tweed
    Jan 4, 2016 at 12:20
  • \$\begingroup\$ @Dave: Unfortunately most virus scanners don't to more than look for certain patterns, at least one of which apparently occurs in one of our low level routines. It's a false positive, but the virus scanner folks don't seem to care. I have submitted full EXEs to them, but nothing was ever fixed. \$\endgroup\$ Jan 4, 2016 at 12:35
  • 1
    \$\begingroup\$ Yes, I understand all of that. But given that modern browsers are now issuing dire warnings before allowing people to visit your site at all, it's probably time to find a different way to distribute your software. For example, I'm using Chrome on this particular machine, and I get a bright red warning screen when I click on the link above, and I have to click two more times before it will allow me to continue to your site. \$\endgroup\$
    – Dave Tweed
    Jan 4, 2016 at 12:44
  • \$\begingroup\$ @DaveTweed - It sounds like you had a solution for Olin... \$\endgroup\$ Jun 12, 2019 at 13:31


  • the PFC controller doesn't "know" if the power factor is "bad", it guarantees that the power factor is good
  • having two transistors as illustrated is irrelevant in terms of operation of the boost converter (both will be on and off at the same time)
  • passive power factor correction with coils and capacitors is fundamentally different from active power factor correction

The canonical paper on active PFC by Philip C. Todd gives a very detailed explanation of how PFC works, and even though it's written for an archaic controller (the UC3854) the ideas are still relevant and the basis for many modern active PFC implementations.

The fundamental purpose of an active PFC controller is to make the load drawn from the mains appear resistive. Obviously, the downstream load is non-resistive in most cases (usually a constant-power load like a DC/DC converter) . The way the PFC controller can achieve power factor correction is by sensing the AC waveshape and modulating the duty cycle of a converter (usually a boost) to act like a resistor - draw no current at the zero crossings, and draw maximum current at the AC peaks.

Passive PFC (the coils and capacitors you described) involves putting a big low-pass filter on the mains to counteract the non-ideal loading. There aren't any 'smarts' involved.

The illustration you provided is missing the sensing networks that a typical PFC controller uses:

  • the input AC waveshape sensing
  • the output DC sensing
  • the MOSFET current

The waveshape sensing provides a signal to the PFC controller, usually in the form of current, that represents the AC waveshape after the bridge rectifier. The PFC controller uses this waveshape input to control the duty cycle of the converter.

The output DC sensing is a slow voltage (usually less than 20Hz) loop that maintains the boost converter output regulation. It has to have a lower bandwidth than the AC waveshape input, or PFC won't work.

The MOSFET current sensing is a fast current loop, used for current-mode control.


"Power factor" refers to two separate concerns:

  • the phase angle between current and voltage (more phase difference = lower power delivered compared to I * V)

  • the current distortion caused by nonlinear loads: crest factor = peak current / rms current can be much greater than the sqrt(2) for sine waves, leading to harmonics that cause more dissipation in the utility's transmission system.

A PFC circuit in a power supply primarily addresses the second of these. If you got rid of the inductor + the MOSFETs in that diagram, you'd end up with a very high crest factor load: the diode draws large "slurps" of current into the capacitor.

The PFC circuit attempts to shield the utility from this, by making the current through the inductor into a rectified sine wave (in phase with the voltage), making the current at the utility mains look like a sine wave.

Why are two transistors needed? They're not, that's an implementation detail (perhaps it's more cost-effective to use two smaller MOSFETs in a common package than to use one larger MOSFET in an uncommon package).

The control circuit turns on the MOSFET which increases the current through the inductor. Turning off the MOSFET will allow the current to flow into the load, which generally decreases the current. The control circuit decides to turn it on/off to control the current through the inductor -- as a rectified sine wave, as I stated earlier.

It also regulates the voltage at the output.

To do this requires a bit more complexity than, say, a regular DC/DC converter, as well as more energy storage capacity in both the inductor and the capacitor.


Your Answer

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

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