You are here

AWG Waveform with SBench 6 | Spectrum

Arbitrary waveform generators (AWG's) are among the most powerful signal sources available for testing. They offer an extensive range of waveshapes which can be created and selected to rapidly provide a broad range of test events.

Spectrum Instrumentation offers two families of arbitrary waveform generators. The first is theM2i.60 series which offers sample rates to 125 Megasamples/second (MS/s) and signal bandwidths of up to 60 MHz at 14 bits amplitude resolution. The second is the newly released M4i.66xx series Arbitrary Waveform Generators that set new standards in bandwidth, time and amplitude resolution. The new models of the M4i.66xx series offer one, two and four channels with each channel capable of outputting electronic signals at rates of up to 625 MS/s with 16 bit vertical resolution. These two families of AWG's are ideal for generating either low or high frequency signals up to 200 MHz with the best possible accuracy and fidelity.

AWG Waveform generationSupporting all its modular digitizer and AWG products Spectrum offers a sophisticated software application known as SBench6. On the AWG side SBench6 provides an editor for creating waveforms using equations as shown in Figure 1.

Waveform Equation Components

This application note provides an overview of the rules for waveform creation along with a series of detailed examples. Let’s start with an overview of the waveform creation elements available in SBench6:


Two constants are pre-defined:

e = Euler’s number = 2.7182...
pi = PI = 3.14159 ...

Users can define their own constants using the function ‘const’ function:
const SpeedOfLight=299792458;


Comments can be inserted into the formula by using /* and */ mark (C language style comments).
Spaces, blank lines or line feeds may be added to the equation structure to improve understandability.

Source Signals

sig0(x) value of source signal 0
sig1(x) value of source signal 1
sig2(x) value of source signal 2
sig3(x) value of source signal 3


+     Addition
-     Subtraction
*     Multiplication
/     Division
%     Modulo
^     Power
&     bitwise AND
|     bitwise OR
<<     bitwise left shift
>>     bitwise right shift


All the following functions require an argument. The standard argument is the x (current sample) which runs from zero to [length-1]. The argument can also be modified using another expression. This allows manipulation of the time base of the resultant signal.
The bitwise functions AND, OR, SHIFT can only be used on signals or on other bitwise functions but it is not possible to use them on functions.

Function List

sin(x)     Sine
cos(x)     Cosine
tan(x)     Tangent
asin(x)     Arc Sine
acos(x)     Arc Cosine
atan(x)     Arc Tangent
sinh(x)     Hyperbolic Sine
cosh(x)     Hyperbolic Cosine
tanh(x)     Hyperbolic Tangent
ln(x)     Natural Logarithm
abs(x)     Absolute Value

Conditional Functions

if (x, min, max)     if x >=min and x<=max the result is 1.0, otherwise zero
sign (x)     is -1.0 if argument is negative, +1.0 if argument is positive
tri (x,d)     Triangle with d% of one period rising, the other 100- d% falling
rect (x,d)     Rectangle with d% of one period high, the other 100-d% low

Examples of Creating Waveforms in SBench 6 Using Equations

The following table contains many examples of waveforms based on equations using the elements discussed previously. Note all equations are based upon the current sample value represented by the symbol x. This results in equation arguments expressed in terms of the signal period which is always an integer number of samples. The time axis can be determined by multiplying the sample value by the sampling period. Adjusting the sample rate of the AWG allows any frequency or time interval to be produced within the waveform memory length and sampling rate resolution limits.