I am working through a paper that discusses the design of a multi-level inverter to connect photovoltaic arrays to the grid. It uses 4 PV modules (only two are shown in the design image below, but it is expandable) along with an H-bridge to produce 31 voltage levels. These are used to produce a modified sine wave with low THD: Proposed inverter design

The scheme for switching Q1 - Q4 uses a reference voltage: V_ref(t) = V_max*sin(wt + delta_ref) enter image description here

The authors given equations for calculating the switch signals, which include "mod 2": Switching equations for Q1 - Q4

I am aware of the usual meaning of "m mod n" as "the remainder left over when m is divided by n". This doesn't seem to work here at all!

Can anybody tell me how the given equations are able to generate the switching signals?: Switching signal graphs

  • \$\begingroup\$ Modulo 2 is the remainder when an integer is divide by 2. For example 7 modulo 2 = 1, since 7/2 = 3 remainder 1. Modulo 2 is used in digital systems because dividing any positive integer by 2 will give a remainder of either 1 or zero \$\endgroup\$ – Chu May 7 '15 at 7:35
  • \$\begingroup\$ Can you give a link to the paper, so we can get a bit more context around the equations? (In particular what the function $$V_{ref}$$ does.) \$\endgroup\$ – Li-aung Yip May 7 '15 at 8:14
  • \$\begingroup\$ Here is the paper, but it is behind a pay wall (perhaps available through your own institution): link. V_ref is a reference sine wave with the same frequency as the desired output AC voltage. I understand the usual remainder usage of modulus, but in this case V_ref is not an integer. It also may never get above 1, depending on the chosen value of V_max. \$\endgroup\$ – DFisher May 7 '15 at 15:31

It's the modulus of the value with 2. It's used to isolate the individual quantization bits in the digital representation of the wave.

  • \$\begingroup\$ I'm not sure what you mean. How does it work to generate the switching signals in this case? \$\endgroup\$ – DFisher May 13 '15 at 18:14
  • \$\begingroup\$ The level modules act as a DAC in order to generate the sine wave. \$\endgroup\$ – Ignacio Vazquez-Abrams May 13 '15 at 22:17
  • \$\begingroup\$ I see a bit better now. For a sinusoidal V_ref (expressed as floating point value), simply taking V_ref mod 2 does not result in a nice 0,1,0,1,... sequence. I'm able to get something by scaling V_ref to +/- 15 and rounding it to the nearest integer value. That way, V_ref is an integer between -15 and +15. Now when I take V_ref mod 2 the value is always the 0 or 1 I want. These are then used for the switching values. Thanks! \$\endgroup\$ – DFisher May 14 '15 at 0:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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