WaveformGenerator

WaveformGenerator#

class WaveformGenerator(resourceName, name)#

Bases: Hardware

WaveformGenerator abstract base for arbitrary waveform generators (AWGs).

Provides common configuration for sampling, triggering, output mode/load, and per-channel waveform lists. Subclasses (e.g., KeysightWaveformGenerator, SpectrumWaveformGenerator) implement vendor-specific SCPI/driver logic.

  • Typical workflow: connect()set()upload()check()close()

Constructor Summary
WaveformGenerator(resourceName, name)#

Construct a WaveformGenerator.

Parameters:
  • resourceName (string) – Connection resource for the device

  • name (string, optional) – Device nickname (default: [])

Property Summary
IsOutput logical#

Per-channel output enables

Offset double = 0#
OutputLimit (1,2) double#

[lower, upper] output amplitude at 50 Ω

OutputLoad string {mustBeMember(OutputLoad,{'50','Infinity'})} = "50"#

Output load selection

OutputMode string {mustBeMember(OutputMode,{'Gated','Normal'})} = "Normal"#

Output mode

SamplingRate double#

Sampling rate per channel [Hz]

SamplingRateLimit (1,1) double#

Maximum supported sampling rate [Hz]

TriggerDelay double {mustBeNonnegative} = 0#
TriggerSlope string {mustBeMember(TriggerSlope,{'Rise','Fall'})} = "Rise"#

Trigger edge

TriggerSource string {mustBeMember(TriggerSource,{'External','Software','Immediate'})} = "External"#

Trigger source

WaveformList cell#

Per-channel waveform list objects