Skip to content

Topic: Waveform Designer

Jack Sankey edited this page Aug 21, 2020 · 4 revisions

Waveform Designer

Interfaces to instruments capable of generating a waveform have the same interface:

waveform_designer.png

Basically, adjusting the settings on the left will control the waveform in the plot on the right, and the host program is responsible for controlling how and when this is sent to the hardware outputs. Some settings require a bit of explanation, however!

Enabling Channels: Each output channel has a "root" in the settings tree, with the appropriate name. In this case, the host application is soundcard, and so the two channels are "Left" and "Right". For the adalm2000, you will see "Ch1" and "Ch2" instead. If the name is checked, the output is enabled.

Rate, Samples, and Time: The sampling rate ("Rate"), number of samples ("Samples") and duration of the waveform ("Time") are all linked. If you set one, the others may adjust. Specifically "Samples" must be restricted to values between "Min" and "Max", which places limitations on "Time".

Waveform, Frequency, and Cycles: To set the waveform, select the appropriate value next to "Waveform". Those waveforms having an associated frequency will show a frequency next to their name, and a number of cycles. Importantly, the oscillatory waveforms produced by this object are guaranteed to have a period that fits exactly within an allowed number samples. In the simplest case, you can specify "Time" and "Cycles" to define the frequency. If you specify the frequency directly, waveform_designer will find the number of samples between "Min" and "Max" that produces the closest possible frequency, and update the settings (including the frequency) accordingly. As such, you want "Min" as small as possible and "Max" as large as possible to get the most options, but hardware limitations tend to impose limits on these. For example, the ADALM2000 requires a buffer that is a multiple of 4 and larger than ~200 to remain stable, and the upper bound depends on how reliably you can transfer data to the device with it's internal 8192-point buffer. Finally, for the "Custom" waveform, it is up to you to fill the Databox Plotter waveform_designer.plot_design with the appropriate data.

Loop: Finally, if you enable "Loop", the output will be looped. If "Loop" is not enabled, it will be a single shot.