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

In part 1, I covered steps for generating the desired high order sinusoidal signal in a background loop. Today, I will cover how to inject this sinusoidal signal into PFC control loop along with an example of the method in practice.

Follow these steps to implement the harmonic injection method, in interrupt loop:

  1.  At the instant of Vac zero-crossing, synchronize the prepared sinusoidal signals with Vac.
  2.  Inject these sinusoidal signals into the PFC current loop. There are several places in the current loop where it can be injected, but my experiments show that injecting into PWM duty gives the best result.
  3.  Repeat step one for the next AC cycle.

 This procedure is shown in Figure 1:

Figure 1, Flow chart of harmonic injection

The proposed method was tested on a 360W single phase PFC. The harmonic analyzer shows that the third and fifth harmonics are high in this PFC, therefore a third and a fifth order of sinusoidal signals are generated and injected into the current control loop. As can be seen in Figure 2, the third and fifth harmonics are significantly reduced with the harmonic injection. 

Figure 2, Harmonic comparison with/without harmonic injection

 As the individual harmonics are suppressed, the THD also improves.  Figure 3 shows significant THD improvement after harmonic injection. 

Figure 3, THD comparison with/without harmonic injection

Here is a summary of the advantages of this method:

  • Significantly reduce PFC harmonic distortion and improve THD.
  • Can inject any order of harmonic.
  • Can inject any combination to any order of harmonics simultaneously, therefore suppressing more than one harmonic.
  • The magnitude of injected harmonic signal can be dynamically adjusted based on the operation condition to maximize the compensation effect.
  • Total firmware solution, very flexible and requires no additional hardware.

 This method can be applied to any digital controller, including the UCD3138, and C2000 microprocessor. I hope by publishing this blog series, you will pass the THD test, AND pass the individual harmonics distortion test.

 Again, if you have any questions, leave them below and I’ll answer. Till then – good luck!

  • sir,

    i am engineering student from india ,i would like to know more about How to reduce PFC harmonics and improve THD using harmonic injection and would like to implement it on my c2000 board .it would be kind of you if you could share the code and simulation files for the same.

    my id:

  • Hi, Sushant,

    I don't have code example for C2000, I implemented this method on UCD3138, but it is easy to follow the steps in the post to develop your own code for C2000.

    Best Regards,Bosheng Sun

  • hello ,

    sir i am going to make a  single phase power analyzer with 3rd harmonic eliminator , i need a guidance regarding this project . can i use this method to eliminate 3rd harmonic  ??