soft4pes.control.modulation.carrier_pwm#
Asynchronous carrier-based pulse width modulation (CB-PWM) for two and three-level converters.
Classes#
Asynchronous carrier-based pulse width modulation (CB-PWM) for two and three-level converters. |
Module Contents#
- class soft4pes.control.modulation.carrier_pwm.CarrierPWM[source]#
Bases:
soft4pes.control.common.controller.ControllerAsynchronous carrier-based pulse width modulation (CB-PWM) for two and three-level converters. 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.
- Parameters:
None –
- execute(sys, kTs)[source]#
Generate switching time instants and switch positions using asynchronous carrier-based pulse width modulation (CB-PWM).
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.