NOTE: the sample rate at which this component is executed can be arbitrarily set via the
"Sample-rate setting for Signal Generators and
Input ASCII files" button
(or the "Sample-Rate Setting" command under the "Edit" menu) on the toolbar, which is
activated whenever the component is selected on the DrawingBoard.
Equivalently, it can be set via the dialog box which (i) appears
when the component is initially
dragged on to the DrawingBoard or (ii) is activated using the right-mouse-button when
the component is selected on the DrawingBoard.
This procedure allows the component to either (i) enforce
a user-determined sample rate on the downstream component(s), or (ii) to inherit the sample rate from
the downstream component(s). Different signal generators can run at different
sample rates on a DrawingBoard, as long as the rules of connectivity
for multiple sample rates are adhered to (see the
WaveWarp Users' Guide
for more information.)
The characteristics of the waveform are adjustable via
the Parameter Window, as summarised in the
following table.
| Parameter | Purpose |
| "Waveform" selection buttons |
Selects the waveform from a choice of built-in profiles or from an
external ASCII file (for total flexibility). The chosen waveform
is depicted in the plot window. The "Wavetable length" (i.e. the number of data points
used to represent
one cycle of the waveform) is displayed in the "Playback settings"
window.
The 7 built-in profiles are summarised as follows:
- "Sine" -- sine wave
- "Triangular" -- triangular wave
- "Square" -- square (rectangular) wave
- "Log (symmetric)" -- repeating symmetric (double-sided) logarithmic profile
- "Log (asymmetric)" -- repeating asymmetric (single-sided) logarithmic profile
- "Random (uniform)" -- (pseudo-)random uniform noise sequence, repeating over the length of the wavetable
- "Random (telegraph)" -- telegraph (two-state) sequence with (pseudo-)random distribution of change-points,
repeating over the length of the wavetable
|
| "Base frequency" slider |
Sets the peak value of the control signal output (this corresponds to
the maximum frequency obtained when this component is used for driving
a frequency-controlled oscillator). As the wavetable is scanned, the
control signal ouput varies according to the profile, but doesn't exceed the peak value set here.
|
| "Sweep rate" slider |
Adjusts the rate at which the wavetable is scanned, i.e. the rate at which
output control signal varies across its profile. When the wavetable is played,
it is scanned at the appropriate "Playback increment" (dependent
on the wavetable length) to generate the desired sweep rate.
For low frequencies, the wavetable is sampled at the appropriate
lower rate (displayed as the "Re-sample rate"). The time-scale in the plot
automatically adjusts to reflect the duration of a single waveform cycle (in accordance with
the selected sweep rate).
|
| "Depth" slider |
Only activated when "ENABLE SCALING" is selected, whereby
the ouput signal is scaled to the range from 0 to the value of the "Base frequency".
The "Depth" determines the fraction of this range over which the
waveform is
mapped. Maximum "Depth" (a value of 1) implies that the waveform will be
mapped on to the entire range from 0 to the "Base frequency", thereby maximising
the signal variation.
Minimum "Depth" (a value of 0) implies no mapping, thereby minimising the
signal variation (i.e. constant
output). An intermediate value, say 0.2, implies that the
waveform will be
mapped on to the upper 20% of the output range, and so forth. The plot is
automatically adjusted to
reflect the selected "Depth".
When "ENABLE SCALING" is not selected, the waveform is
mapped on to the range from -1 to 1, also reflected in the plot.
|
| "Skew" slider |
Adjusts the asymmetry of the "Triangular"
waveform and the aspect ratio of the
"Square" (rectangular) waveform
(de-activated for all other options).
|
| "Log polarity" checkbox |
Adjusts the vertical "polarity" of the "Log (symmetric)" and "Log (asymmetric)" waveforms
(de-activated for all other options).
|
| "Noise density" slider |
Adjusts the signal bandwidth of the "Random (uniform)" and "Random (telegraph)" waveforms
(de-activated for all other options).
|
| "Load wavetable from file" dialog |
Activated when
"Load from file" is selected. The wavetable is imported from
an ASCII file containing an arbitrary
user-defined profile, and interpolated (to a suitable length) via the
selected "Interpolation" method.
The ASCII file format is
described in the
WaveWarp Users' Guide.
This simple file structure
enables
files to be written by hand (e.g. via a text editor).
For
MATLAB®
users, the process of creating waveforms
is particularly straightforward.
The "wwmatlab" sub-directory of the WaveWarp root directory contains
the necessary function m-files (plus example scripts) for exporting
wavetables from MATLAB, thereby providing ready access to
MATLAB's powerful mathematical tools for creating
elaborate waveforms.
(Refer to the
WaveWarp Users' Guide
for
a summary of all bundled m-files for working with MATLAB
in a variety of areas in addition to waveform design).
|
| "Save wavetable to file" dialog |
Exports the current wavetable to an ASCII file
for future import or off-line analysis.
|