Arbitrary Waveform Generator (AWG)#

Arbitrary waveform generators.

Instrument and Abstract Driver#

InstroAWG

AWG instrument.

AWGDriverBase

Vendor AWG driver contract.

Vendor Drivers#

Vendor

Model

Description

Keysight

33521B

SCPI driver for the Keysight 33521B arbitrary waveform generator.

Rigol

DG1022Z

SCPI driver for the Rigol DG1022Z two-channel arbitrary waveform generator.

Types & Configuration#

Sine

Sine waveform definition.

Square

Continuous rectangular wave; high for duty_cycle_pct percent of each period.

Sawtooth

Sawtooth waveform definition.

Triangle

Triangle waveform definition.

Pulse

Continuous rectangular wave (not single-shot); each period goes high for width_s seconds after delay_s.

Arbitrary

Arbitrary waveform definition; samples are normalized to [-1, 1] and scaled by amplitude/offset.

StaticValue

Static valued waveform definition.

AmplitudeMeasurementUnit

ModulationType

BurstType

BurstTriggerSource

GatePolarity

SweepType

SweepTriggerSource

convert_amplitude

Convert an amplitude value between measurement units for a waveform shape.

Configuration#

AWGConfig

Validated config for constructing an InstroAWG from JSON.

ChannelConfig

Initial per-channel state applied on open(); the channel stays silent until its output is explicitly enabled.

VisaDriverConfig

Driver config for a VISA-connected AWG.

SineConfig

Sine waveform config.

SquareConfig

Square waveform config.

SawtoothConfig

Sawtooth waveform config.

TriangleConfig

Triangle waveform config.

PulseConfig

Pulse waveform config.

ArbitraryConfig

Arbitrary waveform config; samples are either given inline or read from a CSV file path.

StaticValueConfig

Static (DC) value config.

AmplitudeConfig

Output amplitude config; maps to InstroAWG.set_amplitude.

ModulationConfig

Carrier modulation config; maps to InstroAWG.set_modulation/modulation_enable.

ModulationTypeConfig

Modulation type and its magnitude; magnitude's meaning varies by name (see InstroAWG.set_modulation).

BurstConfig

Burst config; maps to InstroAWG's set_burst*/burst_enable setters.

SweepConfig

Sweep config; maps to InstroAWG's set_sweep*/sweep_enable setters.

build_waveform

Construct the runtime Waveform definition described by a waveform config block.

resolve_awg_from_config

Resolve a validated AWGConfig into the (name, driver, num_channels, config_publishers, poll_interval) InstroAWG needs.

Shared configuration#

Class

Description

DeviceInfo

Device metadata.

TimingConfig

Timing configuration for instrument background polling.

NominalCorePublisherConfig

Publisher config for streaming to a Nominal Core dataset.

FilePublisherConfig

Publisher config for writing measurements to a local file.


Errors raised by these methods are documented in Exceptions.