1. General information
The Multilevel waveform design tool was developed in C language, using Builder 1.0 (for Windows) visual programming environment. All sources are available from the author ( sdaher@secrel. com. br / daher@re. e-technik. uni-kassel. de ). Main features are:
– Construction of multilevel waveforms up to 35 levels per quarter cycle, with the possibility to include user-defined hold-on-at-zero time;
– Determination of waveforms with reduced THD contents through fine adjustment of the switching angels ("improved" waveforms);
– Inclusion of configurable smoothness in waveforms with non-zero hold-on-at-zero time;
– Calculus of THD and Modulation index for all generated waveforms;
– Generation of look-up tables in C-code format for direct implementation in a microcontroller;
– Generation of waveforms text file (length: 1000 points);
– Generation of text file containing analysis data and switching angels.
2. Description of input parameters
Parameter |
Description |
p: |
Number of levels per quarter cycle (also the number of switching angels); |
INI: |
First harmonic included in THD calculus; |
SEL: |
Last harmonic used in the calculus of the THDsel output; |
X: |
Last harmonic used in the calculus of the THDx output; |
FREQ: |
Waveform frequency; |
Aref: |
Defines the reference sinus (used only by the "NATURAL" command). |
Tz: |
Defines the user hold-on-at-zero time (in us). |
Mi: |
Desired value of modulation index (if equal to 0, then it is not considered). |
Wmin: |
minimum width of any step; |
Max Hsel: |
Used by the command "MIN(X)", to define a constraint for the maximum allowed THDsel (THDsel <= Max Hsel) |
Max Hx: |
Used by the command "MIN(SEL)", to define a constraint for the maximum allowed THDx (THDx <= Max Hx) |
INT: |
Defines the control interval (in us). |
Step_INI: |
Height of the initial step ( used by the "SMOOTH" command ) |
Step_ADD: |
Height of the additional steps (used by the "SMOOTH" command) |
RAMP: |
Force the commands "MIN(x)" and "MIN(sel)" to search waveforms where step widths increase gradually. RAMP is marked as default. |
3. Description of commands
Parameter |
Description |
NATURAL |
Generates a waveform based on the straightforward* method described in section 4.5.1. Used parameters: p, Mi, Aref and Tz. *In case of Mi Ф 0, the last switching angle is adjusted to produce the specified Mi. |
SMOOTH |
Introduces smoothness in a waveform generated previously. Used parameters: Step INI, Step ADD and INT. |
MIN(X) |
Fine adjustment of the current waveform: search of an improved waveform with minimum value of THDx (subjected to the MAX_Hsel constraint). Used parameters: Tz, Mi, Wmin, RAMP, MAX Hsel and INT. |
MIN(SEL) |
Fine adjustment of the current waveform: search of an improved waveform with minimum value of THDsel (subjected to the MAX_Hx constraint). Used parameters: Tz, Mi, Wmin, RAMP, MAX Hx and INT. |
C CODE |
Generates an output text file containing the equivalent C source code for the current waveform. |
MANUAL |
Generates a waveform based on arbitrary values of switching angels (specified on the right side of the window: T1 – T35). Used parameter: p. |
STOP |
Used to stop the current search ("MIN" functions) when convergence is reached (when there is no more changes in the values of THDx or THDsel shown above the STOP button). |
SAVE DATA |
Save data for the current waveform. |
THD WAVE |
Makes the analysis of the current waveform in the screen (analysis of the graphical data points). |
FILE MENU |
Used to load and display waveform data in. CSV format (direct from Tektronic oscilloscope – spreadsheet format) or in. MAT format (ASCII text file, one row). |
3. Example of use
Find all waveform data for p = 16, with Tz = 700us and 64 points per cycle.
– Set INT = 75 and use other parameters as defaults
– Press NATURAL
– Press MIN(X)
– Press STOP (when convergence applies)
– Press SMOOTH
– Press SAVE DATA
– Press AVRCODE
– Press SAVE DATA