How to reduce PFC harmonics and improve THD using harmonic injection (part 1)


As an engineer with TI’s high-performance isolated power team, I work with server and telecom companies which typically need a high-performance power supply. Developing a high-end power factor correction (PFC) design requires not only the total harmonic distortion (THD) to be below a certain percentage with a specific load, but also requires each of the individual harmonics to not exceed a specific limit, as defined in the IEC 61000-3-2 compliance standard.  In this two part blog, I will introduce a harmonic injection method to reduce PFC harmonics and improve THD.

Table 1, IEC 61000-3-2 harmonics limit

Traditionally, loop tuning is an effective way to reduce harmonic distortion and improve THD. However, I have seen a PFC design pass the THD test, but fail the individual harmonics distortion test, no matter how hard the engineer tried to tune the control loop. Traditional loop tuning doesn’t help much in this case.  A new method is needed to deal with individual harmonics.

In single-switch three-phase rectifier designs, I’ve seen engineers inject a third order current signal to reduce THD.  This made me think of a similar method where the harmonics with high magnitudes can be suppressed (compensated).  The method should be easy to use, involve no extra hardware cost and be flexible so that any order of harmonics can be suppressed.

With the help of a digital power controller such as TI’s UCD3138, I developed a simple harmonic injection method in which any order of harmonics can be suppressed (compensated) actively. As a result, the specific order of harmonic magnitude is reduced and the THD is improved.

The basic idea is to generate a specific order of sinusoidal signal and inject this signal into the PFC current control loop. The magnitude of the sinusoidal signal can be dynamically adjusted based on operating conditions, such as load and input voltage, to maximize the suppression effect.

More specifically, in digital controlled PFC, the firmware is divided into two major loops: a background loop for low priority and low speed tasks, such as housekeeping; and an interrupt loop for high priority and time critical tasks, such as PFC state machine.

Follow these steps to implement this method, in background loop:

  1. The input voltage (Vac) is measured with an analog to digital converter (ADC) at a fixed rate. The Vac zero-crossing is found by checking the ADC measurements. By counting ADC samples during two consecutive zero-crossing, the Vac frequency can be calculated. This frequency is the fundamental frequency.
  2. There is a sine table in the ROM of the UCD3138. It has 256 entries which correspond to one cycle of a sine wave, and each element is an integer. By reading this table at different speeds, different frequency of sinusoidal signals can be obtained. The magnitude of the sinusoidal signal can be the element of the table multiplied by a gain.  
  3. Based on the fundamental frequency, you will generate the desired high order sinusoidal signal.  For example, if the PFC’s third harmonic is too high and we want to reduce it, then a third order sinusoidal signal is generated. If there are more than one order of harmonics to suppress, then the same order of sinusoidal signals are generated and combined together. These sinusoidal signals will be used as the harmonic signals to be injected.
  4. The magnitude of each sinusoidal signal is well tuned. The magnitude can also be dynamically adjusted based on operation condition, such as load and input voltage, to maximize the compensation effect.
  5. Repeat step one above. Even if the AC frequency changed, the fundamental frequency will be updated automatically, and the new sinusoidal signal based on this new fundamental frequency is generated.

This process is demonstrated below:

Figure 1: Flow chart of harmonic injection in background loop

Next week, I will cover how to inject this sinusoidal signal into PFC control loop  along with an example of this method in practice. Stay tuned by email subscribing to this blog in the top right-hand corner of this page. If you have any questions about this new method, please leave them in the comments below.

Related blogs: