Waveform Examples

The examples below were generated by BitGen.

They were created using the Control Panel and captured with BitScope DSO.

Continuous Waveform Generation

The most basic type of waveform generator is a function generator.

Simple Sinewave

In this example the VSR mode is used to generate a continuous 1kHz sinusoidal waveform. The wavetable was created using the built-in sine function and there several others available. However any waveform can be loaded to the wavetable as this complex example shows:

Complex Waveform

Any data, whether synthesized, captured or hand edited can be loaded and played this way. For example an asynchronous serial data sequence can be generated like this:

Serial Data Stream

The sample rate at which the table is replayed may be varied and the table size arbitrarily adjusted offering a virtually unlimited range of waveform periods and frequencies completely free of jitter.

Burst/Sweep Waveform Generation

DDS mode works like VSR but it is capable of more sophisticated synthesis techniques including fractional phase accumulation for precision fixed frequency generation, timed and triggered bursts and sweep frequency output.

Burst Start

This example shows the start of a single 1mS burst of a 4kHz sine wave via the WavePort (green trace) and the concurrent synchronisation signal via the TimePort (yellow trace).

The synchronisation mark lasts 500uS and on the falling edge the BitScope is triggered to capture the 1mS burst. Many modes can start like this meaning you always have the ability to trigger the BitScope (or any other device) on the TimePort upon commencement of waveform generation.

However, DDS can do things VSR cannot, in this case emit a 1mS chirp from 4Khz to DC:

Burst Chirp

Or if a wider and longer frequency sweep is required, you can do something like this:

Wide Sweep

This is a 2kHz to 48kHz linear sweep shown here with its spectrum.

Instead of one triggered burst, perhaps you need a sequence of three:

Three Bursts

The number of bursts is programmable between 1 and 64k per generation.

All these examples are wavetable based: while a sinusoid is used here the waveform generated can be whatever you choose to load to the table. The timing of each burst duration, the trigger delay, mark and the space between bursts is programmable down to sample precision so you can arrange for just the right data to be generated exactly when it's required.

The TimePort is always available to trigger external devices to synchronise them with the burst sequence or sweep or it may be used the other way around (to trigger the commencement of the burst from an external source).

Gated Waveform Generation

Sometimes it's convenient to generate waveform contingent on an external gate signal.

Both the VSR and noise modes support this. For example a gated noise looks like this:

Gated Noise

The same thing can be done with the wavetable in VSR mode:

Gated Tone

Note that a fundamental different between simply switching the output on and off is that gated output synchronises waveform generation with the gate edge: very important if the waveform being gated is a test signal or data vector which you need to be reproduced exactly the same way every time the gate is asserted.

Clocked Waveform Generation

The TimePort may be used as a clock in/out signal, generating a simple clock or a clock related to the sample rate or table phase of a waveform emitted via the WavePort.

For example, this is a 32 point sinewave driven by an externally supplied clock:

Clocked Tone

If the wavetable is populated with appropriate data or complex waveforms one can generate logic test vectors or data sequences locked to an external clock:

Clocked Serial Data

This example shows the same serial example as before but this time externally clocked.

Noise Generation

The noise modes produce spectrally clean noise using a long sequence PRNG based technique.


The starting phase of the noise can be seeded so it is possible to produce a predictable sequence each time the generator is run, or a random seed can be used to make it far less predictable.

The sample rate can be adjusted and noise generation externally clocked, in effect emitting a new random voltage on each clock edge.

Noise sequence is very long, much longer than can be analyzed using correlation techniques.

By combining all the above techniques with custom waveform or logic data and using the range of available synchronisation mechanisms available, BitGen + BitScope offers a very powerful signal synthesis, capture and analysis system all in one box.