Waveform Generator

Some BitScopes (eg BS3xx) have a built-in waveform generator. It is enabled by selecting the WAVE Instrument or on models that support BitGen (eg, BS1xx) via the WAVE Tool.

DSO Waveform Generator Control

When selected this panel appears with parameters that control how the waveforms are generated.

The generator LED (1) lights up when the generator is active and waveform preview (2) shows an image of the generated waveform.

Wave function buttons (3) select the basis function used to synthesize the waveform and four generator parameters control how the waveform is generated.

These parameters are divided into two pairs, each of which share a parameter control (6) and (9).

Frequency (4) specifies the fundamental frequency and symmetry (5) applies (an optional) symmetry modification to the waveform.

The second pair comprise the amplitude (7) which adjusts the output level and the the offset (8) which adjusts DC offset of the waveform.

Waveform Generator Implementation

How the waveform generator works in detail depends on the BitScope model, but from the perspective of this control panel, most differences are not significant.

The key functional difference is that the waveform generator built into the BS3xx models is a truly arbitrary sample recording and playback engine, whereas the DSP based waveform generator in BS1xx synthesises the waveforms directly.

That is, the generators themselves are capable of very different types of waveform synthesis but for the purposes of this discussion they work the same with two exceptions:

  • The BS3xx generator can generate waveform only while the BitScope captures data. It also (re)uses the logic buffer (to store the waveform) so concurrent logic capture is not possible.
  • The BS1xx generator is independent of waveform capture and can operate continuously, even when the BitScope is idle, but it cannot generate completely arbitrary waveforms.
Front Panel Switch

There are other applications which can be used with either type to access the special features unique to each but for the purposes of this virtual instrument, waveform generation is automatically synchronized with waveform capture.

This makes transfer function analysis among other things very easy.

All BitScopes send the generator output to the WavePort (pin 26 on the POD connector) and some can also send it via BNC B (under software control).

Some older models have a front panel generator switch to connect the waveform generator output to BNC B as shown here. On these models one must also turn this switch ON for the waveform output to be available via B BNC.

In all models the waveform generator output is terminated in 50 ohms.

Waveform Preview


The waveform generator includes a mini-scope display for waveform preview.

Loop Button

The preview is the same as the main display except it shows the waveform that will be generated, not the actual output.

It adjusts according to the timebase and voltage scale used on the main display, so synthesized waveforms appear as they do on the main display.

The purpose of the preview is to provide instantaneous visual feedback about what the waveform will look like as waveform generator parameters are changed. It does this even when the waveform generator is not enabled.

Of course the generated waveform can be recaptured and shown on the main display using one of the analog channels, but if one is using both analog channels to show other signals, the preview allows one to see the generator at the same time.

Wave Function


The first step when programming the waveform generator is to choose a wave function.

Wave Function Buttons
  1. TONE sinusoidal waveforms (pure tones).
  2. STEP square, pulse and impulse waveforms.
  3. RAMP triangle, ramp and inverse ramp waveforms.

The wave function is not the waveform itself.

It is instead the mathematical function used to synthesize the waveform according the specified waveform generator parameters.

TONE Function

Synthesizes a standard sinusoidal waveform (assuming symmetry of 50%).

Fig [1] TONE Wave Function (50%)

Fig [1] TONE Wave Function (50%)

TONE function waveforms are used for tone based circuit analyses including phase response and any other application that requires a single pure frequency.

If the symmetry is set to other than 50%, the sinusoid is progressively phase distorted.

STEP Function

Synthesizes a standard square wave (assuming symmetry of 50%).

Fig [2] STEP Wave Function (50%)

Fig [2] STEP Wave Function (50%)

STEP function waveforms are used for step and impulse response analysis and general transfer function analysis. If the symmetry is adjusted to other than 50%, the mark-space ratio of the square wave can be adjusted. In the extreme case one can synthesize a pulse train in this way.

RAMP Function

Synthesizes a standard triangle waveform (assuming symmetry of 50%).

Fig [3] RAMP Wave Function (50%)

Fig [3] RAMP Wave Function (50%)

RAMP function waveforms are useful to test system linearity, slew rate measurements or for their unique spectral characteristics. If the symmetry is adjusted to other than 50%, the triangle waveform can be transformed into a ramp or inverse ramp (aka sawtooth) waveform.

Parameter Controls

(6) (9)

In addition to the wave function, the waveform generator divides the four other parameters (frequency, symmetry, amplitude and offset) into two parameter groups.

Parameter Control

Each group displays the parameter pair and has a shared parameter slider positioned below them.

To change a parameter, click on its value to highlight the parameter and adjust the slider to change the parameter.

As the parameter is changed, the waveform preview adjusts immediately to reflect the change to the waveform.

Keyed Parameter Entry

It is also possible type in a new value for each parameter.

Click on the parameter to be changed and type in a new value pressing enter to finish.

The value typed may be followed by an optional range character (e.g. m, k, M).

For example, the value 23.4k entered into the frequency parameter box will change the frequency to 23.4kHz. If no range is entered, units are assumed.

It is also possible to enter a new value with a postfix operator to apply to the parameter value.

For example, if the frequency is 4kHz and 3k+ is entered, the new frequency will be 7kHz.
Likewise entering 2/ will produced 2kHz and entering 10* will produce 40kHz.

As new parameter values are entered, the waveform preview updates immediately to show what the new waveform will look like. If the previewed waveform appears too small or the timebase is inappropriate, simply adjust the associated DSO contols (timebase and/or voltage scale).

Frequency and Symmetry

(4) (5)

The frequency and symmetry are the primary waveform generation parameters.

Frequency/Symmetry Control

The frequency is arguably the most important because it sets the fundamental frequency of the waveform.

Frequency can be specified to 8 digits precision but when choosing the frequency it is important to understand how it relates to the generator sample rate.

The frequency will always be accurate in the mean, but if the sample rate is too low the waveform shape may be somewhat distorted. If the frequency is high (relative to the sample rate) low levels of short-term phase jitter may be produced, especially if it's not an integral fraction of the sample rate.

The simplest way to ensure an optimal sample rate for high fidelity waveform synthesis is to choose a timebase that results in just a few periods of the waveform being displayed, or to maximize the waveform buffer size (for BS3xx models, it does not affect BitGen).

Waveform Symmetry

The symmetry control adjusts the mark-space of STEP functions, the rise/fall ramp rate of STEP functions and the relative time span of each half of TONE functions.

Fig [4] RAMP Wave Function (1%)

Fig [4] RAMP Wave Function (1%)

Fig [4] shows the RAMP function with 1% symmetry; the triangle waveform has been transformed into a sawtooth. Similarly a 1% STEP function (a pulse train) is shown Fig [7].

Fig [5] STEP Wave Function (1%)

Fig [5] STEP Wave Function (1%)

Any variation between these extremes is possible. Likewise TONE can be made asymmetric:

Fig [6] TONE Wave Function (1%)

Fig [6] TONE Wave Function (20%)

In this example the rising phase is shortened to 20% of the cycle.

Amplitude and Offset

(7) (8)

The amplitude and offset are the secondary waveform generator parameters.


Neither of these controls affects the waveform shape or how it is encoded for replay, but they are both very important.

The amplitude controls the waveform generator's peak-to-peak output voltage swing. The largest amplitude possible depends on the BitScope model, and to some extent the prevailing offset.

The offset controls the DC offset (if any) applied to the waveform. By default generated waveforms are bipolar; that is they oscillate between negative and positive voltages.

In many situations a unipolar waveform is required, for example a 0 to 5V square wave in which case the offset and amplitude controls together can be used to adjust the output accordingly.

These parameters are applied to the waveform generator output so that even at very low levels the resolution of the synthesized waveform is not compromised.

Transfer Function Analysis

Simultaneous waveform generation and capture facilitates transfer function analysis.

By using waveforms of appropriate shape, frequency and/or spectral characteristics, BitScope can be used to characterize electronic circuits without the need for additional test equipment.

For example, one can test impulse, step, amplitude and phase responses directly and using the spectrum analyzer view approximations of the associated transfer functions simultaneously.

Fig [7] Tank Circuit

Fig [7] - Tank Circuit

Tank Circuit Example

Back in Electronics 101 most of us learnt about the LC or tank circuit ^.

We'll use this simple circuit to demonstrate how to characterize the transfer function.

Fig [7] shows a tank circuit driven by the waveform generator (via Channel B) and the circuit response captured (via Channel A).

With an inductor, capactor and resistor one can build this "back of an envelope" linear circuit as shown Fig [8] (hacked together with no soldering or breadboards required :-).

Fig [8] Tank Circuit Setup

Fig [8] - "Back of an Envelope" Tank Circuit

It comprises a 470 uH inductor and 100 nF capacitor forming the tank circuit and driven directly from the waveform generator via a 470R.

The generator itself adds 50R to ground (i.e. its internal termination impedance).

When a step is applied to this circuit it will oscillate at its resonant frequency.

Due to the resistance in parallel with the tank (470R+50R) this is actually an RLC circuit^ so we expect it to decay.

Therefore if we set up the waveform generator to produce a square wave and plot the signal after an edge in the waveform, we would expect to see a damped sinusoidal waveform, i.e. "ringing", the frequency of which can calculated using a standard formula Fig [9].

Fig [9] - Resonant Frequency

Fig [9] - Resonant Frequency

In this case, we expect a resonant frequency of 23.2 kHz so we'll set up the waveform generator to produce a square wave about an order of magnitude or two slower so we can observe a reasonable number of ringing oscillations.

Fig [10] - Generator Setup

Fig [10] Generator Setup

Fig [10] shows the generator set up to produce a 4V square wave at 500 Hz.

We've left symmetry at 50% in this case because we're looking at the step response.

If we were interested in the impulse response we could set symmetry to a small value to synthesize an impulse instead.

When the waveform generator is enabled, both analog channels and the spectrum analyzer should appear on the display similar to Fig [11].

In this screenshot we've disabled the graticule and enabled the time and frequency cursors to enable period and frequency measurements.

The green waveform and spectrum show the generator output (CHB) and the yellow waveform and spectrum show the tank circuit response (CHA).

Fig [11] Tank Circuit Step Response

Fig [11] Tank Circuit Step Response

Some features of note are:

  • The generator drives the tank circuit with a low frequency square wave.
  • The display is offset and zoomed in on one edge switching from -4V to 0V.
  • The tank circuit response shows the classic damped sinusiodal shape we expect.
  • The time cursors measure a ringing period of 41.7 uS; a frequency of 24 kHz.
  • The frequency cursor measures a peak at 23.9 kHz which agrees with the time domain.
  • Above the resonant frequency the spectrum rolls off due to the effect of the capacitor.

The measured results match the theory to within the tolerance of the components used.

This is just one example of using BitScope's waveform generator for transfer function analysis.