qcodes_contrib_drivers.drivers.RohdeSchwarz package

Subpackages

Submodules

qcodes_contrib_drivers.drivers.RohdeSchwarz.HMC8041 module

class qcodes_contrib_drivers.drivers.RohdeSchwarz.HMC8041.RohdeSchwarzHMC8041(*args: Any, **kwargs: Any)[source]

Bases: _RohdeSchwarzHMC804x

This is the qcodes driver for the Rohde & Schwarz HMC8041 Power Supply

qcodes_contrib_drivers.drivers.RohdeSchwarz.HMC8042 module

class qcodes_contrib_drivers.drivers.RohdeSchwarz.HMC8042.RohdeSchwarzHMC8042(*args: Any, **kwargs: Any)[source]

Bases: _RohdeSchwarzHMC804x

This is the qcodes driver for the Rohde & Schwarz HMC8042 Power Supply

qcodes_contrib_drivers.drivers.RohdeSchwarz.HMC8043 module

class qcodes_contrib_drivers.drivers.RohdeSchwarz.HMC8043.RohdeSchwarzHMC8043(*args: Any, **kwargs: Any)[source]

Bases: _RohdeSchwarzHMC804x

This is the qcodes driver for the Rohde & Schwarz HMC8043 Power Supply

qcodes_contrib_drivers.drivers.RohdeSchwarz.HMP2020 module

class qcodes_contrib_drivers.drivers.RohdeSchwarz.HMP2020.RohdeSchwarzHMP4040(*args: Any, **kwargs: Any)[source]

Bases: _RohdeSchwarzHMP

This is the qcodes driver for the Rohde & Schwarz HMP2020 Power Supply

qcodes_contrib_drivers.drivers.RohdeSchwarz.HMP2030 module

class qcodes_contrib_drivers.drivers.RohdeSchwarz.HMP2030.RohdeSchwarzHMP4040(*args: Any, **kwargs: Any)[source]

Bases: _RohdeSchwarzHMP

This is the qcodes driver for the Rohde & Schwarz HMP2030 Power Supply

qcodes_contrib_drivers.drivers.RohdeSchwarz.HMP4030 module

class qcodes_contrib_drivers.drivers.RohdeSchwarz.HMP4030.RohdeSchwarzHMP4030(*args: Any, **kwargs: Any)[source]

Bases: _RohdeSchwarzHMP

This is the qcodes driver for the Rohde & Schwarz HMP4030 Power Supply

qcodes_contrib_drivers.drivers.RohdeSchwarz.HMP4040 module

class qcodes_contrib_drivers.drivers.RohdeSchwarz.HMP4040.RohdeSchwarzHMP4040(*args: Any, **kwargs: Any)[source]

Bases: _RohdeSchwarzHMP

This is the qcodes driver for the Rohde & Schwarz HMP4040 Power Supply

qcodes_contrib_drivers.drivers.RohdeSchwarz.SMB100A module

QCoDeS-Driver for Rohde & Schwartz SMB100A microwave signal generator: https://www.rohde-schwarz.com/us/products/test-and-measurement/analog-signal-generators/rs-smb100a-microwave-signal-generator_63493-9379.html

Authors:

Julien Barrier <julien@julienbarrier.eu>, 2023

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMB100A.RohdeSchwarz_SMB100A(*args: Any, **kwargs: Any)[source]

Bases: VisaInstrument

Class to represent a Rohde & Schwartz SMB100A microwave signal generator

status: beta-version

Parameters:
  • name – name for the instrument

  • address – Visa resource name to connect

off() None[source]
on() None[source]
reset() None[source]
run_self_tests() None[source]
start_sweep() None[source]

qcodes_contrib_drivers.drivers.RohdeSchwarz.SMR40 module

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMR40.RohdeSchwarz_SMR40(*args: Any, **kwargs: Any)[source]

Bases: VisaInstrument

This is the qcodes driver for the Rohde & Schwarz SMR40 signal generator Status: beta-version.

Work still pending:
  • Add all parameters that are in the manual

  • Add test suite

  • See if there can be a common driver for RS mw sources from which different models inherit

This driver does not contain all commands available for the SMR40 but only the ones most commonly used.

do_get_frequency()[source]

Get frequency from device.

Parameters:

None

Output:

frequency (float) : frequency in Hz

do_get_power()[source]

Get output power from device.

Parameters:

None

Output:

power (float) : output power in dBm

do_get_pulse_delay()[source]

Get output power from device.

Parameters:

None

Output:

power (float) : output power in dBm

do_get_status()[source]

Get status from instrument.

Parameters:

None

Output:

status (str) : ‘on or ‘off’

do_get_status_of_ALC()[source]

Get status from instrument.

Parameters:

None

Output:

status (str) : ‘on or ‘off’

do_get_status_of_modulation()[source]

Get status from instrument.

Parameters:

None

Output:

status (str) : ‘on’ or ‘off’

do_set_frequency(frequency)[source]

Set frequency of device.

Parameters:

frequency (float) – frequency in Hz

Output:

None

do_set_power(power)[source]

Set output power of device.

Parameters:

power (float) – output power in dBm

Output:

None

do_set_pulse_delay(delay)[source]

Set output power of device.

Parameters:

power (float) – output power in dBm

Output:

None

do_set_status(status)[source]

Set status of instrument.

Parameters:

status (str) – ‘on or ‘off’

Output:

None

do_set_status_of_ALC(status)[source]

Set status of instrument.

Parameters:

status (str) – ‘on or ‘off’

Output:

None

do_set_status_of_modulation(status)[source]

Set status of modulation.

Parameters:

status (str) – ‘on’ or ‘off’

Output:

None

get_all()[source]

Reads all implemented parameters from the instrument, and updates the wrapper.

Parameters:

None

Output:

None

off()[source]

Set status to ‘off’.

Parameters:

None

Output:

None

off_modulation()[source]

Set status of modulation to ‘off’.

Parameters:

None

Output:

None

on()[source]

Set status to ‘on’.

Parameters:

None

Output:

None

on_modulation()[source]

Set status of modulation to ‘on’.

Parameters:

None

Output:

None

reset()[source]

Resets the instrument to default values.

Parameters:

None

Output:

None

set_ext_trig()[source]

Set to the external trigger mode.

Parameters:

None

Output:

None

qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A module

QCoDeS-Driver for Rohde&Schwarz Vector Signal Generator RS_SMW200A.

This driver can be used with a simulation class (SMW200Asim.py) to generate reasonable answers to all requests. The only thing is to change two times the comments as shown below (real mode/simulation mode).

Note

To use RohdeSchwarz_SMW200A with a dummy/simulator, replace its base class VisaInstrument with MockVisa from file SMW200Asim.py.

Authors:

Michael Wagener, ZEA-2, m.wagener@fz-juelich.de Sarah Fleitmann, ZEA-2, s.fleitmann@fz-juelich.de Lukas Lankes, ZEA-2, l.lankes@fz-juelich.de

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A.AmplitudeModulation(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int, chnum: int)[source]

Bases: InstrumentChannel

__init__(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int, chnum: int)[source]

Combines all the parameters concerning the amplitude modulation. Activation of amplitude modulation deactivates ARB, I/Q modulation, digital modulation and all digital standards.

Parameters:
  • parent – the parent instrument of this channel

  • name – the internal QCoDeS name of this channel

  • hwchan – the internal number of the hardware channel used in the communication

  • chnum – the internal number of the channel used in the communication

state

actives/deactivates the amplitude modulation. Values are ‘ON’ and ‘OFF’.

source

Selects the modulation source. Values are: ‘INT’: internally generated LF signal = ‘LF1’ (channel 2 only with option SMW-K24) ‘EXT’: externally supplied LF signal = ‘EXT1’ (channel 2 only with option SMW-K24) ‘LF1’: first internally generated signal ‘LF2’: second internally gererated signal (only available with option SMW-K24) ‘NOIS’: internally generated noise signal (only available with option SMW-K24) ‘EXT1’: first externally supplied signal ‘EXT2’: second externally supplied signal

depth

Sets the depth of the amplitude modulation in percent.

total_depth

Sets the total depth of the LF signal when using combined signal sources in amplitude modulation.

coupling_mode

Selects the coupling mode. The coupling mode parameter also determines the modefor fixing the total depth. Values are: ‘UNC’: Does not couple the LF signals. The deviation depth values of both paths are independent. ‘TOT’: Couples the deviation depth of both paths. ‘RAT’: Couples the deviation depth ratio of both paths.

deviation_ratio

Sets the deviation ratio (path2 to path1) in percent.

sensitivity

(ReadOnly) Queries the sensitivity of the externally applied signal. The sensitivity depends on the set modulation depth. The returned value reports the sensitivity in %/V. It is assigned to the voltage value for full modulation of the input.

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A.FrequencyModulation(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int, chnum: int)[source]

Bases: InstrumentChannel

__init__(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int, chnum: int)[source]

Combines all the parameters concerning the frequency modulation.

Parameters:
  • parent – the parent instrument of this channel

  • name – the internal QCoDeS name of this channel

  • hwchan – the internal number of the hardware channel used in the communication

  • chnum – the internal number of the channel used for the communication

state

actives/deactivates the frequency modulation. Values are ‘ON’ and ‘OFF’.

deviation

Sets the modulation deviation of the frequency modulation in Hz.

source

Selects the modulation source. Values are: ‘INT’: internally generated LF signal = ‘LF1’ (channel 2 only with option SMW-K24) ‘EXT’: externally supplied LF signal = ‘EXT1’ (channel 2 only with option SMW-K24) ‘LF1’: first internally generated signal ‘LF2’: second internally gererated signal (only available with option SMW-K24) ‘NOIS’: internally generated noise signal (only available with option SMW-K24) ‘EXT1’: first externally supplied signal ‘EXT2’: second externally supplied signal ‘INTB’: internal baseband signal (only available with option SMW-B9)

coupling_mode

Selects the coupling mode. The coupling mode parameter also determines the mode for fixing the total deviation. Values are: ‘UNC’: Does not couple the LF signals. The deviation values of both paths are independent. ‘TOT’: Couples the deviation of both paths. ‘RAT’: Couples the deviation ratio of both paths

total_deviation

Sets the total deviation of the LF signal when using combined signal sources in frequency modulation.

deviation_ratio

Sets the deviation ratio (path2 to path1) in percent.

mode

Selects the mode for the frequency modulation. Values are: ‘NOR’: normal mode ‘LNO’: low noise mode

sensitivity

(ReadOnly) Queries the sensitivity of the externally supplied signal for frequency modulation. The sensitivity depends on the set modulation deviation.

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A.IQChannel(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

Bases: InstrumentChannel

__init__(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

The I/Q channels are the analog output channels of the device.

Parameters:
  • parent – the parent instrument of this channel

  • name – the internal QCoDeS name of this channel

  • hwchan – the internal number of the hardware channel used in the communication

state

Actives/deactives the I/Q output. Values are ‘ON’ and ‘OFF’.

type

Sets the type of the analog signal. Values are ‘SING’ (single) and ‘DIFF’ (differential, only available with option SMW-K16)

mode

Determines the mode for setting the output parameters. Values are ‘FIX’: Locks the I/Q output settings ‘VAR’: Unlocks the settings (only available with option SMW-K16)

level

Sets the off-load voltage Vp of the analog I/Q signal output. Values are in range 0.04V to 4V for option SMW-B10 and in range 0.04V to 2V for option SMW-B9. The value range is adjusted so that the maximum overall output voltage does not exceed 4V. Only settable when mode has the value ‘VAR’.

coupling

Couples the bias setting of the I and Q signal components. Values are ‘ON and ‘OFF’.

i_bias

Specifies the amplifier bias of the I component. The value range is adjusted so that the maximum overall output voltage does not exceed 4V. Is only settable, if the mode parameter has the value ‘VAR’.

q_bias

Specifies the amplifier bias of the Q component. The value range is adjusted so that the maximum overall output voltage does not exceed 4V. Is only settable, if the mode parameter has the value ‘VAR’.

i_offset

Sets an offset between the inverting and non-inverting input of the differential analog I/Q output signal for the I component. The value range is adjusted so that the maximum overall output voltage does not exceed 4V. Is only settable, if parameter mode has the value ‘VAR’.

q_offset

Sets an offset between the inverting and non-inverting input of the differential analog I/Q output signal for the Q component. The value range is adjusted so that the maximum overall output voltage does not exceed 4V. Is only settable, if parameter mode has the value ‘VAR’.

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A.IQModulation(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

Bases: InstrumentChannel

__init__(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

Combines all the parameters concerning the IQ modulation.

Parameters:
  • parent – the parent instrument of this channel

  • name – the internal QCoDeS name of this channel

  • hwchan – the internal number of the hardware channel used in the communication

state

Activates/deactivates the I/Q modulation. Values are ‘ON’, and ‘OFF’.

source

Selects/reads the input signal source for the I/Q modulator. ‘BAS’: internal baseband signal ‘ANAL’: external analog signal ‘DIFF’: differential analog signal (only with option SMW-K739)

gain

Optimizes the modulation of the I/Q modulator for a subset of measurement requirements. ‘DB0’: Activates the gain of 0 dB ‘DB2’: Activates the gain of +2 dB ‘DB3’: same as ‘DB2’, for backward compatibility ‘DB4’: Activates the gain of +4 dB ‘DB6’: Activates the gain of +6 dB ‘DB8’: Activates the gain of +8 dB ‘DBM2’: Activates the gain of -2 dB ‘DBM3’: same as ‘DBM2’, for backward compatibility ‘DBM4’: Activates the gain of -4 dB ‘AUTO’: The gain value is retrieved form the connected R&S SZU. The I/Q modulator is configured automatically.

swap

Activates/Deactives the swapping of the I and Q channel. Values are ‘ON’ / ‘OFF’.

crest_factor

If source set to ‘ANAL’ (Analog Wideband I/Q Input), sets the crest factor of the externally supplied analog signal. The crest factor gives the difference in level between the peak envelope power (PEP) and the average power value (RMS) in dB. The R&S SMW uses this value for the calculation of the RF output power. The allowed range is from 0 dB to 35 dB.

wideband

Activates/deactivates optimization for wideband modulation signals (higher I/Q modulation bandwidth). Values are ‘ON’ and ‘OFF’.

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A.LFOutputChannel(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int, lfchan: int)[source]

Bases: InstrumentChannel

__init__(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int, lfchan: int)[source]

Combines all the parameters concerning one LF output. The LF output is used as modulation signal for the analog modulation.

Parameters:
  • parent – the parent instrument of this channel

  • name – the internal QCoDeS name of this channel

  • hwchan – the internal number of the hardware channel used in the communication

  • lfchan – the internal number of the LF output channel used

bandwidth

(ReadOnly) Requests the current bandwidth.

state

(hwchan=1) The state of the output. Values are ‘ON’ or ‘OFF’.

offset

(hwchan=1) DC offset voltage in the range from -3.6V to +3.6V.

source

(hwchan=1) Determines the LF signal to be synchronized if monitoring is enabled.

  • ‘LF1’, ‘LF2’, ‘LF1A’, ‘LF2A’, ‘LF1B’, ‘LF2B’: Selects an internally generated LF signal.

  • ‘NOISE’, ‘NOISA’, ‘NOISB’: Selects an internally generated noise signal.

  • ‘EXT1’, ‘EXT2’: Selects an externally supplied LF signal.

  • ‘AM’, ‘AMA’, ‘AMB’: Selects the AM signal.

  • ‘FMPM’, ‘FMPMA’, ‘FMPMB’: Selects the signal also used by the frequency or phase modulations.

source_path

(hwchan=1) Path of the LF output source. Values are ‘A’ or ‘B’.

voltage

(hwchan=1) Output voltage of the LF output. The valid range will be dynamic

as shown in the datasheet.
period

(lfchan=1, ReadOnly). Queries the repetition frequency of the sine signal.

frequency

(lfchan=1) The Frequency of the LF signal when the mode() is ‘FIX’. Valid range is from 0.1Hz and ends

depending on the installed options.
freq_manual

(lfchan=1) Manual frequency set only valid in the range given by the parameters freq_min and freq_max.

freq_min

(lfchan=1) Set minimum for manual frequency from 0.1Hz to 1MHz.

freq_max

(lfchan=1) Set maximum for manual frequency from 0.1Hz to 1MHz.

mode

(lfchan=1) Set the used mode:

  • ‘FIX’: fixed frequency mode (CW is a synonym)

  • ‘SWE’: set sweep mode (use LFOutputSweep class)

shape

(SMW-K24) Define the shape of the signal.

Valid values

‘SINE’,’SQUARE’,’TRIANGLE’,’TRAPEZE’.

shape_duty_cycle

(SMW-K24) Duty cycle for shape pulse (range 1e-6 to 100)

shape_period

(SMW-K24) Period for shape pulse (range 1e-6 to 100)

shape_width

(SMW-K24) Width for shape pulse (range 1e-6 to 100)

trapez_fall

(SMW-K24) Fall time for the trapezoid shape (range 1e-6 to 100)

trapez_height

(SMW-K24) High time for the trapezoid signal (range 1e-6 to 100)

trapez_period

(SMW-K24) Period of the generated trapezoid shape (range 1e-6 to 100)

trapez_rise

(SMW-K24) Rise time for the trapezoid shape (range 1e-6 to 100)

triangle_period

(SMW-K24) Period of the generated pulse (range 1e-6 to 100)

triangle_rise

(SMW-K24) Rise time for the triangle shape (range 1e-6 to 100)

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A.LFOutputSweep(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

Bases: InstrumentChannel

__init__(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

Combines all the parameters concerning one LF output Sweeping. The LF output is used as modulation signal for the analog modulation.

Parameters:
  • parent – the parent instrument of this channel

  • name – the internal QCoDeS name of this channel

  • hwchan – the internal number of the hardware channel used in the communication

dwell

Dwell time in seconds from 0.5 ms to 100 s.

mode

Cycle mode for level sweep. ‘AUTO’: Each trigger triggers exactly one complete sweep. ‘MAN’: You can trigger every step individually with a command. ‘STEP’: Each trigger triggers one sweep step only.

points

Steps within level sweep range

shape

Waveform shape for sweep. Allowed values are ‘SAWTOOTH’ and ‘TRIANGLE’

execute

Executes one RF level sweep. Use this without any ( )

retrace

Activates that the signal changes to the start frequency value while it is waiting for the next trigger event. Values are ‘ON’ and ‘OFF’. You can enable this feature, when you are working with sawtooth shapes in sweep mode ‘MAN’ or ‘STEP’.

running

(ReadOnly) Reports the current sweep state. Returnvalues are ‘ON’ or ‘OFF’.

spacing

calculationmode of frequency intervals. Values are ‘LIN’ or ‘LOG’

log_step

Sets the step width factor for logarithmic sweeps to calculate the frequencies of the steps. The value can be from 0.01% upto 100%.

lin_step

Set the step size for linear sweep. The value can be from 0.01 up to the value of <OutputChannel::sweep_span>

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A.OutputChannel(parent: RohdeSchwarz_SMW200A, name: str, chnum: int)[source]

Bases: InstrumentChannel

__init__(parent: RohdeSchwarz_SMW200A, name: str, chnum: int)[source]

Combines all the parameters concerning one RF output.

Parameters:
  • parent – the parent instrument of this channel

  • name – the internal QCoDeS name of this channel

  • chnum – the internal number of the channel used in the communication

state

actives/deactivates the RF output. Values are ‘ON’ and ‘OFF’.

frequency

set/read the main frequency of the oscillator.

level

set/read the output power level.

mode

selects the mode of the oscillator. Valid values are: ‘FIX’: fixed frequency mode (CW is a synonym) ‘SWE’: set sweep mode (use sweep_start/sweep_stop/sweep_center/sweep_span) ‘LIST’: use a special loadable list of frequencies - the list functions are not yet implemented here.

sweep_center

set/read the center frequency of the sweep.

sweep_span

set/read the span of frequency sweep range.

sweep_start

set/read the start frequency of the sweep.

sweep_stop

set/read the stop frequency of the sweep.

losc_input

read the LOscillator input frequency (ReadOnly).

losc_mode

set/read the LOscillator mode. Valid values are:

  • ‘INT’: A&B Internal / Internal (one path instrument). Uses the internal oscillator signal in both paths.

  • ‘EXT’: A External & B Internal (one path instrument). Uses an external signal in path A. B uses its internal signal.

  • ‘COUP’: A Internal & A->B Coupled. Assigns the internal oscillator signal of path A also to path B.

  • ‘ECO’: A External & A->B Coupled. Assigns an externally supplied signal to both paths.

  • ‘BOFF’: A Internal & B RF Off. Uses the internal local oscillator signal of path A, if the selected frequency exceeds the maximum frequency of path B.

  • ‘EBOF’: A External & B RF Off. Uses the LO IN signal for path A, if the selected RF frequency exceeds the maximum frequency of path B.

  • ‘AOFF’: A RF Off & B External. Uses the LO IN signal for path B, if the selected RF frequency exceeds the maximum frequency of path A.

losc_output

read the LOscillator output frequency (ReadOnly).

losc_state

set/read the LOscillator state. Valid values are ‘ON’ and ‘OFF’.

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A.OutputFrequencySweep(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

Bases: InstrumentChannel

__init__(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

Combines all the parameters concerning one RF output frequency sweeping.

Parameters:
  • parent – the parent instrument of this channel

  • name – the internal QCoDeS name of this channel

  • hwchan – the internal number of the hardware channel used in the communication

dwell

Dwell time for frequency sweep. Valid range from 0.001s to 100s.

mode

Cycle mode for frequency sweep. Values are: ‘AUTO’: Each trigger triggers exactly one complete sweep. ‘MAN’: You can trigger every step individually with a command. ‘STEP’: Each trigger triggers one sweep step only.

points

Steps within frequency sweep range, minimum is 2.

spacing

Calculationmode of frequency intervals. Values are ‘LIN’ or ‘LOG’.

shape

Waveform shape for sweep. Valid values are ‘SAWTOOTH’ or ‘TRIANGLE’.

execute

Executes one RF frequency sweep. Use no braces () here!

retrace

Activates that the signal changes to the start frequency value while it is waiting for the next trigger event. Values are ‘ON’ and ‘OFF’. You can enable this feature, when you are working with sawtooth shapes in sweep mode ‘MAN’ or ‘STEP’.

running

(ReadOnly) Get the current sweep state. Return values are ‘ON’ or ‘OFF’.

log_step

Logarithmically determined step size for the RF frequency sweep. Valid range is 0.01 to 100.

lin_step

Step size for linear RF frequency sweep. The minimum is 0.01 and the maximum is the sweep_span of the output channel and will be read during the set lin_step command.

reset

Resets all active sweeps to the starting point. Use no braces () here!

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A.OutputLevelSweep(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

Bases: InstrumentChannel

__init__(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

Combines all the parameters concerning one RF output level (power) sweeping.

Parameters:
  • parent – the parent instrument of this channel

  • name – the internal QCoDeS name of this channel

  • hwchan – the internal number of the hardware channel used in the communication

attenuator

Power attenuator mode for level sweep. Values are: ‘NORM’: Performs the level settings in the range of the built-in attenuator. ‘HPOW’: Performs the level settings in the high level range.

dwell

Dwell time for level sweep, valid range is from 0.001s to 100s.

mode

Cycle mode for level sweep. Values are: ‘AUTO’: Each trigger triggers exactly one complete sweep. ‘MAN’: You can trigger every step individually with a command. ‘STEP’: Each trigger triggers one sweep step only.

points

Steps within level sweep range, minimum is 2.

log_step

Logarithmically determined step size for the RF level sweep, valid range is 0.01dB to 139dB.

shape

Waveform shape for sweep. Valid are ‘SAWTOOTH’ and ‘TRIANGLE’.

execute

Executes one RF level sweep. Use no braces () here!

retrace

Activates that the signal changes to the start frequency value while it is waiting for the next trigger event. Values are ‘ON’ and ‘OFF’. You can enable this feature, when you are working with sawtooth shapes in sweep mode ‘MAN’ or ‘STEP’.

running

(ReadOnly) Get the current sweep state. Return values are ‘ON’ or ‘OFF’.

reset

Resets all active sweeps to the starting point. Use no braces () here!

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A.PhaseModulation(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int, chnum: int)[source]

Bases: InstrumentChannel

__init__(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int, chnum: int)[source]

Combines all the parameters concerning the phase modulation.

Parameters:
  • parent – the parent instrument of this channel

  • name – the internal QCoDeS name of this channel

  • hwchan – the internal number of the hardware channel used in the communication

  • chnum – the internal number of the channel used in the communication

state

Activates or deactivates phase modulation. Activation of phase modulation deactivates frequency modulation. Possible values are ‘ON’ and ‘OFF’.

deviation

Sets the modulation deviation of the phase modulation in RAD.

source

Selects the modulation source. Values are: ‘INT’: internally generated LF signal = ‘LF1’ (channel 2 only with option SMW-K24) ‘EXT’: externally supplied LF signal = ‘EXT1’ (channel 2 only with option SMW-K24) ‘LF1’: first internally generated signal ‘LF2’: second internally gererated signal (only available with option SMW-K24) ‘NOIS’: internally generated noise signal (only available with option SMW-K24) ‘EXT1’: first externally supplied signal ‘EXT2’: second externally supplied signal ‘INTB’: internal baseband signal (only available with option SMW-B9)

mode

Selects the mode for the phase modulation. Possible values are: ‘HBAN’: sets the maximum available bandwidth (High BANdwidth) ‘HDEV’: sets the maximum range for deviation (High DEViation) ‘LNO’: selects a phase modulation mode with phase noise and spurious characteristics close to CW mode. (Low NOise)

coupling_mode

Selects the coupling mode. Possible values are: ‘UNC’: Does not couple the LF signals. The deviation of both paths are independent. ‘TOT’: Couples the deviation of both paths. ‘RAT’: Couples the deviation ratio of both paths.

total_deviation

Sets the total deviation of the LF signal when using combined signal sources. Possible values range from 0 to 20.

ratio

Sets the deviation ratio (path2 to path1) in percent.

sensitivity

Queries the sensitivity of the externally applied signal for phase modulation. The returned value reports the sensitivity in RAD/V. It is assigned to the voltage value for full modulation of the input.

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A.PulseGenerator(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

Bases: InstrumentChannel

Configurations for the Pulse Generator set with another subclasses:

Pulse Mode -> PulseModulation.mode() Trigger Mode -> PulseModulation.trigger_mode() Pulse Period -> PulseModulation.period() Pulse Width -> PulseModulation.width() Double Pulse Width -> PulseModulation.double_width() Pulse Delay -> PulseModulation.delay() Double Pulse Delay -> PulseModulation.double_delay()

__init__(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

Combines all the parameters concerning the pulse generator for setting output of the pulse modulation signal. Available only with option SMW-K23 installed.

Parameters:
  • parent – the parent instrument of this channel

  • name – the internal QCoDeS name of this channel

  • hwchan – the internal number of the hardware channel used in the communication

polarity

Sets the polarity of the pulse output signal. Values are: ‘NORM’: Outputs the pulse signal during the pulse width, that means during the high state. ‘INV’: Inverts the pulse output signal polarity. The pulse output signal is suppressed during the pulse width, but provided during the low state.

output

Activates the output of the pulse modulation signal. Values are: ‘OFF’ or ‘ON’.

state

Enables the output of the video/sync signal. If the pulse generator is the current modulation source, activating the pulse modulation automatically activates the signal output and the pulse generator.

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A.PulseModulation(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

Bases: InstrumentChannel

__init__(parent: RohdeSchwarz_SMW200A, name: str, hwchan: int)[source]

Combines all the parameters concerning the pulse modulation.

Parameters:
  • parent – the parent instrument of this channel

  • name – the internal QCoDeS name of this channel

  • hwchan – the internal number of the hardware channel used in the communication

state

Activates/deactivates the pulse modulation. Values are ‘ON’ and ‘OFF’.

source

Selects the modulation source. Values are:

  • ‘INT’: internally generated signal is used (only available with option SMW-K23)

  • ‘EXT’: externally supplied signal is used

transition_type

sets the transition mode for the pulse signal. Values are:

  • ‘SMO’: flattens the slew , resulting in longer rise/fall times (SMOothed)

  • ‘FAST’: enables fast transition with shortest rise and fall times

video_polarity

Sets the polarity of the pulse video (modulating) signal, related to the RF (modulated) signal. Values are:

  • ‘NORM’: the video signal follows the RF signal, that means it is high when RF signal is high and vice versa

  • ‘INV’: the video signal follows in inverted mode

polarity

sets the polarity of the externally applied modulation signal

  • ‘NORM’: Suppresses the RF signal during the pulse pause

  • ‘INV’: Suppresses the RF signal during the pulse

impedance

Sets the impedance for the external pulse modulation input. Values are ‘G50’ and ‘G1K’

trigger_impedance

Sets the impedance for the external pulse trigger. Values are ‘G50’ and ‘G10K’

mode

(Only SMW-K23) Selects the mode for the pulse modulation. Values can be:

  • ‘SING’: generates a single pulse

  • ‘DOUB’: generates two pulses within one pulse period

double_delay

(Only SMW-K23) Sets the delay from the start of the first pulse to the start of the second pulse.

double_width

(Only SMW-K23) Sets the width of the second pulse.

trigger_mode

(Only SMW-K23) Selects a trigger mode for generating the modulation signal. Values are ‘AUTO’ (AUTOmatic), ‘EXT’ (EXTernal), ‘EGAT’ (External GATed), ‘ESIN’ (External single).

period

(Only SMW-K23) Sets the period of the generated pulse, that means the repetition frequency of the internally generated modulation signal.

width

(Only SMW-K23) Sets the width of the generated pulse, that means the pulse length. It must be at least 20ns less than the set pulse period.

delay

(Only SMW-K23) Sets the pulse delay.

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200A.RohdeSchwarz_SMW200A(*args: Any, **kwargs: Any)[source]

Bases: VisaInstrument

This is the qcodes driver for the Rohde & Schwarz SMW200A vector signal generator.

Do not forget to change the class for real / simulation mode.

Status:

coding: almost finished communication tests: done usage in experiment: outstanding

close()[source]

Close the connection.

Parameters:

None

Returns:

None

gen_trigger_pulse(val)[source]

Function to generate a trigger pulse. The port for this is always defined by the user. And the Options SMW-K22 and SMW-K23 must be installed.

Parameters:

val – the time value in seconds (tested with 0.0001)

get_error()[source]

Reads the errors from the device.

Parameters:

None

Returns:

List of strings containing error number and string representation

get_id()[source]

Get the device identification.

Parameters:

None

Returns:

Strings from the IDN command from the startup.

get_options()[source]

Get the device option flags.

Parameters:

None

Returns:

Stringarray with the options installed in the device

getall(submod='*')[source]

Read all parameters and retun them to the caller. This will scan all submodules with all parameters, so in this function no changes are necessary for new modules or parameters.

Parameters:

submod – (optional) returns only the parameters for this submodule.

Returns:

dict with all parameters, the key is the modulename and the parametername

reset()[source]

Resets the instrument to default values.

Parameters:

None

Returns:

None

qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200Asim module

Simulation for the QCoDeS-Driver SMW200A.

This simulation is used to generate meanfull answers to the comunication from the driver if the hardware is not available.

Authors:

Michael Wagener, ZEA-2, m.wagener@fz-juelich.de

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200Asim.MockVisa(*args: Any, **kwargs: Any)[source]

Bases: VisaInstrument

set_address(address)[source]

Set the address for this instrument.

Parameters:

address – The visa resource name to use to connect. The address should be the actual address and just that. If you wish to change the backend for VISA, use the self.visalib attribute (and then call this function).

class qcodes_contrib_drivers.drivers.RohdeSchwarz.SMW200Asim.MockVisaHandle[source]

Bases: object

Simulate the API needed for a visa handle.

ask(cmd)[source]
clear()[source]
close()[source]
query(cmd)[source]
write(cmd)[source]
cmddef = {'*IDN?': 'Rohde&Schwarz,SMW200A,1412.0000K02/105578,04.30.005.29 SP2', '*OPT?': 'SMW-B13T,SMW-B22,SMW-B120,SMW-K22,SMW-K23', 'OUTP1:STAT?': '0', 'SOUR1:AM1:DEPT?': '50.0', 'SOUR1:AM1:SOUR?': 'LF1', 'SOUR1:AM1:STAT?': '0', 'SOUR1:AM2:DEPT?': '50.0', 'SOUR1:AM2:SOUR?': 'LF1', 'SOUR1:AM2:STAT?': '0', 'SOUR1:AM:RAT?': '50.0', 'SOUR1:AM:SENS?': '50.0', 'SOUR1:FM1:DEV?': '1000.0', 'SOUR1:FM1:SOUR?': 'LF1', 'SOUR1:FM1:STAT?': '0', 'SOUR1:FM2:DEV?': '1000.0', 'SOUR1:FM2:SOUR?': 'EXT1', 'SOUR1:FM2:STAT?': '0', 'SOUR1:FM:MODE?': 'NORM', 'SOUR1:FM:RAT?': '100.0', 'SOUR1:FM:SENS?': '1000.0', 'SOUR1:FREQ:CENT?': '300000000.0', 'SOUR1:FREQ:LOSC:INP:FREQ?': '0', 'SOUR1:FREQ:LOSC:MODE?': 'INT', 'SOUR1:FREQ:LOSC:OUTP:FREQ?': '0', 'SOUR1:FREQ:LOSC:OUTP:STAT?': '0', 'SOUR1:FREQ:MODE?': 'CW', 'SOUR1:FREQ:SPAN?': '400000000.0', 'SOUR1:FREQ:STAR?': '100000000.0', 'SOUR1:FREQ:STOP?': '500000000.0', 'SOUR1:FREQ?': '20000000000.0', 'SOUR1:IQ:CRES?': '0.0', 'SOUR1:IQ:GAIN?': 'DB4', 'SOUR1:IQ:OUTP:ANAL:BIAS:COUP:STAT?': '0', 'SOUR1:IQ:OUTP:ANAL:BIAS:I?': '0', 'SOUR1:IQ:OUTP:ANAL:BIAS:Q?': '0', 'SOUR1:IQ:OUTP:ANAL:MODE?': 'FIX', 'SOUR1:IQ:OUTP:ANAL:OFFS:I?': '0', 'SOUR1:IQ:OUTP:ANAL:OFFS:Q?': '0', 'SOUR1:IQ:OUTP:ANAL:STAT?': '0', 'SOUR1:IQ:OUTP:ANAL:TYPE?': 'SING', 'SOUR1:IQ:OUTP:LEV?': '1.0', 'SOUR1:IQ:SOUR?': 'BAS', 'SOUR1:IQ:STAT?': '0', 'SOUR1:IQ:SWAP:STAT?': '0', 'SOUR1:IQ:WBST?': '0', 'SOUR1:LFO1:FREQ?': '1000.0', 'SOUR1:LFO:FREQ:MAN?': '1000.0', 'SOUR1:LFO:FREQ:MODE?': 'CW', 'SOUR1:LFO:FREQ:STAR?': '1000.0', 'SOUR1:LFO:FREQ:STOP?': '50000.0', 'SOUR1:LFO:SWE:DWEL?': '0.01', 'SOUR1:LFO:SWE:MODE?': 'AUTO', 'SOUR1:LFO:SWE:POIN?': '50', 'SOUR1:LFO:SWE:RETR?': '0', 'SOUR1:LFO:SWE:RUNN?': '0', 'SOUR1:LFO:SWE:SHAP?': 'SAWT', 'SOUR1:LFO:SWE:SPAC?': 'LIN', 'SOUR1:LFO:SWE:STEP:LOG?': '1.0', 'SOUR1:LFO:SWE:STEP?': '1000.0', 'SOUR1:PGEN:OUTP:POL?': 'NORM', 'SOUR1:PGEN:OUTP:STAT': 'OFF', 'SOUR1:PGEN:STAT': 'OFF', 'SOUR1:PM1:SOUR?': 'LF1', 'SOUR1:PM1:STAT?': '0', 'SOUR1:PM2:SOUR?': 'EXT1', 'SOUR1:PM2:STAT?': '0', 'SOUR1:PM:MODE?': 'HBAN', 'SOUR1:PM:RAT?': '100', 'SOUR1:PM:SENS?': '1', 'SOUR1:POW:POW?': '-145.0', 'SOUR1:PULM:DEL?': '0', 'SOUR1:PULM:DOUB:DEL?': '0', 'SOUR1:PULM:DOUB:WID?': '0', 'SOUR1:PULM:IMP?': 'G1K', 'SOUR1:PULM:MODE?': '0', 'SOUR1:PULM:OUTP:VID:POL?': 'NORM', 'SOUR1:PULM:PER?': '2.0', 'SOUR1:PULM:POL?': 'NORM', 'SOUR1:PULM:SOUR?': 'EXT', 'SOUR1:PULM:STAT?': '0', 'SOUR1:PULM:TRIG:EXT:IMP?': 'G50', 'SOUR1:PULM:TRIG:MODE?': '0', 'SOUR1:PULM:TTYP?': 'FAST', 'SOUR1:PULM:WIDT?': '0', 'SOUR1:SWE:DWEL?': '0.01', 'SOUR1:SWE:MODE?': 'AUTO', 'SOUR1:SWE:POIN?': '401', 'SOUR1:SWE:POW:AMOD?': 'AUTO', 'SOUR1:SWE:POW:DWEL?': '0.01', 'SOUR1:SWE:POW:MODE?': 'AUTO', 'SOUR1:SWE:POW:POIN?': '21', 'SOUR1:SWE:POW:RETR?': '0', 'SOUR1:SWE:POW:RUNN?': '0', 'SOUR1:SWE:POW:SHAP?': 'SAWT', 'SOUR1:SWE:POW:STEP?': '1.0', 'SOUR1:SWE:RETR?': '0', 'SOUR1:SWE:RUNN?': '0', 'SOUR1:SWE:SHAP?': 'SAWT', 'SOUR1:SWE:SPAC?': 'LIN', 'SOUR1:SWE:STEP:LOG?': '1.0', 'SOUR1:SWE:STEP?': '1000000.0', 'SOUR2:IQ:OUTP:ANAL:BIAS:COUP:STAT?': '0', 'SOUR2:IQ:OUTP:ANAL:BIAS:I?': '0', 'SOUR2:IQ:OUTP:ANAL:BIAS:Q?': '0', 'SOUR2:IQ:OUTP:ANAL:MODE?': 'FIX', 'SOUR2:IQ:OUTP:ANAL:OFFS:I?': '0', 'SOUR2:IQ:OUTP:ANAL:OFFS:Q?': '0', 'SOUR2:IQ:OUTP:ANAL:STAT?': '0', 'SOUR2:IQ:OUTP:ANAL:TYPE?': 'SING', 'SOUR2:IQ:OUTP:LEV?': '1.0', 'SOUR:LFO1:BAND?': 'BW10', 'SOUR:LFO1:OFFS?': '0', 'SOUR:LFO1:PER?': '0.001', 'SOUR:LFO1:SOUR?': 'LF1', 'SOUR:LFO1:STAT?': '0', 'SOUR:LFO1:VOLT?': '1.0', 'SOUR:LFO2:BAND?': 'BW10', 'SOUR:LFO2:OFFS?': '0', 'SOUR:LFO2:SOUR?': 'EXT1', 'SOUR:LFO2:STAT?': '0', 'SOUR:LFO2:VOLT?': '1.0', 'SOUR:PM1:DEV?': '1', 'SOUR:PM2:DEV?': '1', 'STAT?': '0'}

qcodes_contrib_drivers.drivers.RohdeSchwarz.ZVL13 module

class qcodes_contrib_drivers.drivers.RohdeSchwarz.ZVL13.ComplexSweep(name: str, instrument: Instrument, start: float, stop: float, npts: int, channel: int, **kwargs)[source]

Bases: ArrayParameter

get_raw()[source]

get_raw is called to perform the actual data acquisition from the instrument. This method should either be overwritten to perform the desired operation or alternatively for Parameter a suitable method is automatically generated if get_cmd is supplied to the parameter constructor. The method is automatically wrapped to provide a get method on the parameter instance.

set_sweep(start: float, stop: float, npts: int) None[source]
class qcodes_contrib_drivers.drivers.RohdeSchwarz.ZVL13.FrequencySweep(name: str, instrument: Instrument, start: float, stop: float, npts: int, channel: int, **kwargs)[source]

Bases: ArrayParameter

get_raw()[source]

get_raw is called to perform the actual data acquisition from the instrument. This method should either be overwritten to perform the desired operation or alternatively for Parameter a suitable method is automatically generated if get_cmd is supplied to the parameter constructor. The method is automatically wrapped to provide a get method on the parameter instance.

set_sweep(start: float, stop: float, npts: int) None[source]
class qcodes_contrib_drivers.drivers.RohdeSchwarz.ZVL13.FrequencySweepMagPhase(name: str, instrument: Instrument, start: float, stop: float, npts: int, channel: int, **kwargs)[source]

Bases: MultiParameter

get_raw()[source]

get_raw is called to perform the actual data acquisition from the instrument. This method should either be overwritten to perform the desired operation or alternatively for Parameter a suitable method is automatically generated if get_cmd is supplied to the parameter constructor. The method is automatically wrapped to provide a get method on the parameter instance.

set_sweep(start: float, stop: float, npts: int) None[source]
class qcodes_contrib_drivers.drivers.RohdeSchwarz.ZVL13.SAFrequencySweep(name: str, instrument: Instrument, start: float, stop: float, npts: int, channel: int, **kwargs)[source]

Bases: ArrayParameter

get_raw()[source]

get_raw is called to perform the actual data acquisition from the instrument. This method should either be overwritten to perform the desired operation or alternatively for Parameter a suitable method is automatically generated if get_cmd is supplied to the parameter constructor. The method is automatically wrapped to provide a get method on the parameter instance.

set_sweep(start: float, stop: float, npts: int) None[source]
class qcodes_contrib_drivers.drivers.RohdeSchwarz.ZVL13.ZVL13(*args: Any, **kwargs: Any)[source]

Bases: VisaInstrument

calibration()[source]

Loads calibration file as specified by self.calibration_file.

na_mode()[source]
reset()[source]
sa_mode()[source]
update_traces()[source]

Module contents