sqdlab.github.io

Documentation for RF source (SGS100A)

This device is a microwave source, which is used ito produce a microwave at a particular frequency and power. Signal from this and AWG are input to mixer. Following is the python code used in the lab, to connect to it remotely, given your system is in lab network .

Information & Parameters:

User manual of this microwave source can be found here.

This instrument can be used in 2 output modes:

It also have ALC - Automatic Level Control, which can be used for almost all applications, especailly I/Q modulation. This is had 3 states:

There 2 modes of pulse modulation if it is enabled:

Creating the object and connecting to AWG:

NOTE: Please close all connections before establishing new ones, which is done using line 2:

from qcodes.instrument_drivers.sqdlab.SGS100A import RohdeSchwarz_SGS100A
RohdeSchwarz_SGS100A.close_all() # CLOSE ALL previous connections.
src_sgs1 = RohdeSchwarz_SGS100A('src_sgs1', 'TCPIP::<IP ADDRESS>::INSTR', terminator='\n')

Set Reference Oscillator parameters:

There can be 2 sources of oscillator with different outputs as follows:

Set reference oscillator:

This can be internal or external.

src_sgs.ref_osc_source.set('EXT')

Set reference oscillator input frequency:

src_sgs.ref_osc_external_freq.set('10MHz' if src_sgs==src_sgs1 else '1000MHz')

Set reference oscillator output frequency:

src_sgs.ref_osc_output_freq.set('1000MHz')

Set General device paramters:

Set Power:

The units are in dBm.

src_sgs4.power.set(0)

Set frequency:

The units are in Hz.

src_sgs4.frequency.set(1250e6)

Set phase:

The units are in degrees.

src_sgs4.phase.set(45)

Set ALC:

src_sgs4.alc.set('off')

Set Pulse modulation parameter.

This is optional, required if enabled.

Enable pulse modulation:

src_cavity.pulsemod_state.set('on')

Set pulse modulation source:

This can be internal or external.

src_cavity.pulsemod_source.set('EXT')

Sample python Script:

A sample python configuration script is attached below:

# R&S microwave generators
# from qcodes.instrument_drivers.rohde_schwarz.SGS100A import RohdeSchwarz_SGS100A
from qcodes.instrument_drivers.sqdlab.SGS100A import RohdeSchwarz_SGS100A
RohdeSchwarz_SGS100A.close_all()
src_sgs1 = RohdeSchwarz_SGS100A('src_sgs1', 'TCPIP::192.168.1.115::INSTR', terminator='\n')
src_sgs2 = RohdeSchwarz_SGS100A('src_sgs2', 'TCPIP::192.168.1.116::INSTR', terminator='\n')
src_sgs3 = RohdeSchwarz_SGS100A('src_sgs3', 'TCPIP::192.168.1.117::INSTR', terminator='\n')
src_sgs4 = RohdeSchwarz_SGS100A('src_sgs4', 'TCPIP::192.168.1.118::INSTR', terminator='\n')
src_sgs5 = RohdeSchwarz_SGS100A('src_sgs5', 'TCPIP::192.168.1.119::INSTR', terminator='\n')
src_sgs6 = RohdeSchwarz_SGS100A('src_sgs6', 'TCPIP::192.168.1.109::INSTR', terminator='\n')

# set up reference 
for src_sgs in (src_sgs1, src_sgs2, src_sgs3, src_sgs4, src_sgs5, src_sgs6):
    src_sgs.ref_osc_source.set('EXT')
    src_sgs.ref_osc_external_freq.set('10MHz' if src_sgs==src_sgs1 else '1000MHz')
    src_sgs.ref_osc_output_freq.set('1000MHz')
    #src_sgs.ref_out_signal('REF')
    src_sgs.status('Off')

# pulse modulation
#Source for up conversion:
src_cavity = Instrument(src_sgs2, 'cavity')
src_cavity.pulsemod_state.set('on')
src_cavity.pulsemod_source.set('EXT')
src_cavity.status.set('off')