soft4pes.control.modulation.carrier_pwm#
Asynchronous carrier-based pulse width modulation (CB-PWM) for two and three-level converters.
Classes#
Base class for controllers. |
Module Contents#
- class soft4pes.control.modulation.carrier_pwm.CarrierPWM[source]#
Bases:
soft4pes.control.common.controller.Controller
Base class for controllers.
- data[source]#
Data storage for the controller, containing input and output namespaces.
- Type:
SimpleNamespace
- 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.