soft4pes.control.modulation#

Modulation methods for power electronic converters.

Submodules#

Classes#

CarrierPWM

Base class for controllers.

Package Contents#

class soft4pes.control.modulation.CarrierPWM[source]#

Bases: soft4pes.control.common.controller.Controller

Base class for controllers.

data#

Data storage for the controller, containing input and output namespaces.

Type:

SimpleNamespace

input#

Namespace for storing input data.

Type:

SimpleNamespace

output#

Namespace for storing output data.

Type:

SimpleNamespace

Ts#

Sampling interval [s].

Type:

float

execute(sys, kTs)[source]#

Generate switching time instants and switch positions using asynchronous carrier-based pulse width modulation (CB-PWM). The modulating signal is sampled at the peaks of the carrier, resulting in the device switching frequency of 1/(2Ts) for two-level converters. For three- level converters, the device switching frequency is roughly half the apparent switching, ie. the carrier frequency, when phase-disposition PWM is used.

The produced output is presented below. Note that the switching times are in ascending order.

Switch positions |

Switching time instants | Phase A | Phase B | Phase C | ————— |---------|———|---------|

0 | state | state | state t_switch[1] | state | state | state t_switch[2] | state | state | state t_switch[3] | state | state | state

Parameters:
  • sys (system object) – The system model.

  • kTs (float) – Current discrete time instant [s].

Returns:

  • t_switch (ndarray) – Switching time instants.

  • switch_array (ndarray) – Switch positions.