Active Technologies AWG-401x 1.2GS/s Arbitrary Waveform Generator
- class pymeasure.instruments.activetechnologies.AWG401x_AFG(adapter, **kwargs)
Bases:
AWG401x_base
Represents the Active Technologies AWG-401x Arbitrary Waveform Generator in AFG mode.
wfg = AWG401x_AFG("TCPIP::192.168.0.123::INSTR") wfg.reset() # Reset the instrument at default state wfg.channels[1].shape = "SINUSOID" # Sets a sine waveform on CH1 wfg.channels[1].frequency = 4.7e3 # Sets the frequency to 4.7 kHz on CH1 wfg.channels[1].amplitude = 1 # Set amplitude of 1 V on CH1 wfg.channels[1].offset = 0 # Set the amplitude to 0 V on CH1 wfg.channels[1].enabled = True # Enables the CH1 wfg.channels[2].shape = "SQUARE" # Sets a square waveform on CH2 wfg.channels[2].frequency = 100e6 # Sets the frequency to 100 MHz on CH2 wfg.channels[2].amplitude = 0.5 # Set amplitude of 0.5 V on CH2 wfg.channels[2].offset = 0 # Set the amplitude to 0 V on CH2 wfg.channels[2].enabled = True # Enables the CH2 wfg.enabled = True # Enable output of waveform generator wfg.beep() # "beep" print(wfg.check_errors()) # Get the error queue
- ch_1
- Channel
- ch_2
- Channel
- property enabled
A boolean property that enables the generation of signals.
- class pymeasure.instruments.activetechnologies.AWG401x_AWG(adapter, **kwargs)
Bases:
AWG401x_base
Represents the Active Technologies AWG-401x Arbitrary Waveform Generator in AWG mode.
wfg = AWG401x_AWG("TCPIP::192.168.0.123::INSTR") wfg.reset() # Reset the instrument at default state # Set a oscillating waveform wfg.waveforms["MyWaveform"] = [1, 0] * 8 for i in range(1, wfg.num_ch + 1): wfg.entries[1].channels[i].voltage_high = 1 # Sets high voltage = 1 wfg.entries[1].channels[i].voltage_low = 0 # Sets low voltage = 1 wfg.entries[1].channels[i].waveform = "SQUARE" # Sets a square wave wfg.setting_ch[i].enabled = True # Enable channel wfg.entries.resize(2) # Resize the number of entries to 2 wfg.entries[2].channels[1].waveform = "MyWaveform" # Set custom waveform wfg.enabled = True # Enable output of waveform generator wfg.beep() # "beep" print(wfg.check_errors()) # Get the error queue
- class DummyEntriesElements(parent, number_of_channel)
Bases:
Sequence
Dummy List Class to list every sequencer entry. The content is loaded in real-time.
- class WaveformsLazyDict(parent)
Bases:
MutableMapping
This class inherit from MutableMapping in order to create a custom dict to lazy load, modify, delete and create instrument waveform.
- reset()
Reset the class reloading the waveforms from instrument
- property burst_count
This property sets or queries the burst count parameter.(dynamic)
- property burst_count_max
This property queries the maximum burst count parameter.
- property burst_count_min
This property queries the minimum burst count parameter.
- property enabled
A boolean property that enables the generation of signals.
- property entry_level_strategy
This property sets or or returns the Entry Length Strategy. This strategy manages the length of the sequencer entries in relationship with the length of the channel waveforms defined for each entry. The possible values are:
ADAPTL<ONGER>: the length of an entry of the sequencer by default will be equal to the length of the longer channel waveform, among all analog channels, assigned to the entry.
ADAPTS<HORTER>: the length of an entry of the sequencer by default will be equal to the length of the shorter channel waveform, among all analog channels, assigned to the entry.
DEF<AULT>:the length of an entry of the sequencer by default will be equal to the value specified in the Sequencer Item Default Length [N] parameter
- list_files(path=None)
Return a List of tuples with all file found in a directory. If the path is not specified the current directory will be used
- property num_ch
This property queries the number of analog channels.
- property num_dch
This property queries the number of digital channels.
- remove_file(file_name, path=None)
Remove a specified file
- property run_mode
This property sets or returns the AWG run mode. The possible values are:
CONT<INUOUS>: each waveform will loop as written in the entry repetition parameter and the entire sequence is repeated circularly
BURS<T>: the AWG waits for a trigger event. When the trigger event occurs each waveform will loop as written in the entry repetition parameter and the entire sequence will be repeated circularly many times as written in the Burst Count[N] parameter. If you set Burst Count[N]=1 the instrument is in Single mode and the sequence will be repeated only once.
TCON<TINUOUS>: the AWG waits for a trigger event. When the trigger event occurs each waveform will loop as written in the entry repetition parameter and the entire sequence will be repeated circularly.
STEP<PED>: the AWG, for each entry, waits for a trigger event before the execution of the sequencer entry. The waveform of the entry will loop as written in the entry repetition parameter. After the generation of an entry has completed, the last sample of the current entry or the first sample of the next entry is held until the next trigger is received. At the end of the entire sequence the execution will restart from the first entry.
ADVA<NCED>: it enables the “Advanced” mode. In this mode the execution of the sequence can be changed by using conditional and unconditional jumps (JUMPTO and GOTO commands) and dynamic jumps (PATTERN JUMP commands).
The *RST command sets this parameter to CONTinuous.
- property run_status
This property returns the run state of the AWG. The possible values are: STOPPED, WAITING_TRIGGER, RUNNING
- property sample_decreasing_strategy
This property sets or returns the Sample Decreasing Strategy. The “Sample decreasing strategy” parameter defines the strategy used to adapt the waveform length to the sequencer entry length in the case where the original waveform length is longer than the sequencer entry length. Can be set to: DECIM<ATION>, CUTT<AIL>, CUTH<EAD>
- property sample_increasing_strategy
This property sets or or returns the Sample Increasing Strategy. The “Sample increasing strategy” parameter defines the strategy used to adapt the waveform length to the sequencer entry length in the case where the original waveform length is shorter than the sequencer entry length. Can be set to: INTER<POLATION>, RETURN<ZERO>, HOLD<LAST>, SAMPLESM<ULTIPLICATION>
- property sampling_rate
This property sets or queries the sample rate for the Sampling Clock.(dynamic)
- property sampling_rate_max
This property queries the maximum sample rate for the Sampling Clock.
- property sampling_rate_min
This property queries the minimum sample rate for the Sampling Clock.
- save_file(file_name, data, path=None, override_existing=False)
Write a string in a file in the instrument
- trigger()
Force a trigger event to occour.
- property trigger_source
This property sets or returns the instrument trigger source. The possible values are:
TIM<ER>: the trigger is sent at regular intervals.
EXT<ERNAL>: the trigger come from the external BNC connector.
MAN<UAL>: the trigger is sent via software or using the trigger button on front panel.
- property waveforms
This property returns a dict with all the waveform present in the instrument system (Wave. List). It is possible to modify the values, delete them or create new waveforms
- class pymeasure.instruments.activetechnologies.AWG401x.ChannelAFG(instrument, id)
Bases:
ChannelBase
Implementation of a Active Technologies AWG-4000 channel in AFG mode.
- property baseline_offset
This property sets or queries the offset level for the specified channel. The offset range setting depends on the amplitude parameter. (dynamic)
- property baseline_offset_max
This property queries the maximum offset voltage level that can be set to the output waveform.
- property baseline_offset_min
This property queries the minimum offset voltage level that can be set to the output waveform.
- property frequency
This property sets or queries the frequency of the output waveform. This command is available when the Run Mode is set to any setting other than Sweep. The output frequency range setting depends on the type of output waveform. If you change the type of output waveform, it may change the output frequency because changing waveform types affects the setting range of the output frequency. The output frequency range setting depends also on the amplitude parameter.(dynamic)
- property frequency_max
This property queries the maximum frequency that can be set to the output waveform.
- property frequency_min
This property queries the minimum frequency that can be set to the output waveform.
- property load_impedance
This property sets the output load impedance for the specified channel. The specified value is used for amplitude, offset, and high/low level settings. You can set the impedance to any value from 1 Ω to 1 MΩ. The default value is 50 Ω.
- property output_impedance
This property sets the instrument output impedance, the possible values are: 5 Ohm or 50 Ohm (default).
- property phase
This property sets or queries the phase of the output waveform for the specified channel. The value is in degrees.(dynamic)
- property phase_max
This property queries the maximum phase that can be set to the output waveform.
- property phase_min
This property queries the minimum phase that can be set to the output waveform.
- property shape
This property sets or queries the shape of the carrier waveform. Allowed choices depends on the choosen modality, please refer on instrument manual. When you set this property with a different value, if the instrument is running it will be stopped. Can be set to: SIN<USOID>, SQU<ARE>, PULS<E>, RAMP, PRN<OISE>, DC, SINC, GAUS<SIAN>, LOR<ENTZ>, ERIS<E>, EDEC<AY>, HAV<ERSINE>, ARBB, EFIL<E>, DOUBLEPUL<SE>
- property voltage_amplitude
This property sets or queries the output amplitude for the specified channel. The measurement unit of amplitude depends on the selection operated using the voltage_unit property. If the carrier is Noise the amplitude is Vpk instead of Vpp. If the carrier is DC level this command causes an error. The range of the amplitude setting could be limited by the frequency and offset parameter of the carrier waveform. (dynamic)
- property voltage_amplitude_max
This property queries the maximum amplitude voltage level that can be set to the output waveform.
- property voltage_amplitude_min
This property queries the minimum amplitude voltage level that can be set to the output waveform.
- property voltage_high
This property sets or queries the high level of the waveform. The high level could be limited by noise level to not exceed the maximum amplitude. If the carrier is Noise or DC level, this command and this query cause an error.(dynamic)
- property voltage_high_max
This property queries the maximum high voltage level that can be set to the output waveform.
- property voltage_high_min
This property queries the minimum high voltage level that can be set to the output waveform.
- property voltage_low
This property sets or queries the low level of the waveform. The low level could be limited by noise level to not exceed the maximum amplitude. If the carrier is Noise or DC level, this command and this query cause an error.(dynamic)
- property voltage_low_max
This property queries the maximum low voltage level that can be set to the output waveform.
- property voltage_low_min
This property queries the minimum low voltage level that can be set to the output waveform.
- property voltage_offset
This property sets or queries the offset level for the specified channel. The offset range setting depends on the amplitude parameter. (dynamic)
- property voltage_offset_max
This property queries the maximum offset voltage level that can be set to the output waveform.
- property voltage_offset_min
This property queries the minimum offset voltage level that can be set to the output waveform.
- property voltage_unit
This property sets or queries the units of output amplitude, the possible choices are: VPP, VRMS, DBM. This command does not affect the offset, high level, or low level of output.