#FFT filtering not yet working, possibly BW not large enough #D1 4670MHZ Edge (4.8GHz) LO above #D2 4330MHz Edge (4.1GHz) LO below D1 = AfDig(adressDigi='3036D1', adressLo='3011D1', LoPosAB=1, LoRef=0, name='D1 Lags (sec)', cfreq=f1, inputlvl=-2, start=(-lags / BW), stop=(lags / BW), pt=(lags * 2 - 1), nSample=lsamples, sampFreq=BW) D2 = AfDig(adressDigi='3036D2', adressLo='3010D2', LoPosAB=0, LoRef=3, name='D2 Lags (sec)', cfreq=f2, inputlvl=-2, start=(-lags / BW), stop=(lags / BW), pt=(lags * 2 - 1), nSample=lsamples, sampFreq=BW) # Sweep equipment setup nothing = dummy('none', name='nothing', start=0, stop=1, pt=1, sstep=20e-3, stime=0.0) vBias = sim928c(sim900, name='V 1Mohm', sloti=2, start=-0.010, stop=-0.010, pt=1, sstep=0.060, stime=0.020) vMag = sim928c(sim900, name='Magnet V R=22.19KOhm', sloti=3, start=-0.85, stop=-0.57, pt=71, sstep=0.03, stime=0.020) pFlux = AnSigGen('GPIB0::17::INSTR', name='FluxPump', start=2.03, stop=0.03, pt=101, sstep=30e-3, stime=1e-3) #-30 dB at output
LoRef=2, name='Signal Gen', start=2e9, stop=6e9, pt=1, sstep=1e9, stime=0.0) sgen.set_power(-30) sgen.output(0) pFlux = AnSigGen('GPIB0::17::INSTR', name='FluxPump', start=0.03, stop=0.03, pt=1, sstep=30e-3, stime=1e-3) pFlux.set_power_mode(0) # Log(0)/Linear mode in mV (1) pFlux.set_frequency(fd) pFlux.sweep_par = 'power' # Power sweep pFlux.set_power(-50) pFlux.output(0) # Power OFF (0)/ On (1) # -20 dB at output dummyD1D2 = dummy('prober', name='Probe frequency', start=4.5e9, stop=5.8e9, pt=391, sstep=6e9, stime=0.0) dummyD1D2.D1 = D1 dummyD1D2.D2 = D2 dummyD1D2.sgen = pFlux dummyD1D2.sweep_par = 'f11' vBias = sim928c(sim900, name='V 1Mohm', sloti=4, start=-20.0+0.0017, stop=20.0017, pt=9, sstep=0.200, stime=0.025) vBias.set_volt(0.0) vBias.output(1) vMag = sim928c(sim900, name='Magnet V R=22.19KOhm', sloti=3, start=-2.6, stop=-2.6, pt=1,
sstep=10, stime=0) #D12spacing = dummy(name='D1-f', # start=5.4e9, stop=3.5e9, pt=1, # sstep=4e9, stime=0.0) vBias = sim928c(sim900, name='V 1Mohm', sloti=4, start=0.0, stop=0.0, pt=1, sstep=0.060, stime=0.020) vMag = sim928c(sim900, name='Magnet V R=22.19KOhm', sloti=3, start=-1.09, stop=-1.09, pt=1, sstep=0.03, stime=0.020) nothing = dummy(name='nothing', start=0, stop=1, pt=1, sstep=1.0, stime=0.0) pFlux.set_power_mode(1) # Linear mode in mV pFlux.set_freq(f1+f2) pFlux.sweep_par='power' # Power sweep # D12spacing.D1 = D1 # assign objects (in reverse D1 f > D2 f) # D12spacing.D2 = D2 # D12spacing.sweep_par = 'f12' # D12spacing.cfreq = f1+f2 # sweep_dim_1(vBias, 0.002) dim_1 = pFlux dim_1.UD = False dim_1.defval = 0.001
iBias = yoko('GPIB0::13::INSTR', name = 'Yoko V R=14.8KOhm', start = 90e-3, stop = -90e-3, pt = 1801 ) #'Yoko V' iBias.prepare_v(vrange = 3) # vrange =2 -- 10mV, 3 -- 100mV, 4 -- 1V, 5 -- 10V, 6 -- 30V vMag = yoko('GPIB0::10::INSTR', name = 'Magnet V R=2.19KOhm', start = -0.5, stop = 0.5, pt = 401) #'Yoko M' vMag.prepare_v(vrange = 4) dim_3 = dummy(name = 'Nothing', start = 0, stop = 0, pt = 1) dim_1= iBias dim_2= vMag def sweep_dim_1(dim_1,value): ramp(dim_1, 'v', value, 0.001, 0.0001) def sweep_dim_2(dim_3,value): ramp(dim_3, 'v', value, 0.01, 0.01) def sweep_dim_3(dim_2,value): pass vm.prepare_data_save(folder, filen_0, dim_1, dim_2, dim_3) #vm.ask_overwrite() copy_file(thisfile, filen_0, folder) #backup this script
sstep = 5e-3, #def step and step/wait-time in sec for ramping stime = 1e-3) iBias.prepare_v(vrange = 3) # vrange =2 -- 10mV, 3 -- 100mV, 4 -- 1V, 5 -- 10V, 6 -- 30V vMag = yoko('GPIB0::10::INSTR', name = 'Magnet V R=2.19KOhm', start = -0.5, stop = +0.5, pt = 101, sstep = 20e-3, stime = 1e-3) #'Yoko M' vMag.prepare_v(vrange = 4) PSG = dummy('GPIB0::18::INSTR', name = 'Nothing', start = 300e-3, stop = -1e-3, pt = 1) #PSG.set_powUnit('V') #PSG.set_freq(1e9) #gives 2 uV steps #PSG.set_output(1) #define what is to be swept i.e. get_v(..) /set_v(..) would be 'v' iBias.sweep_par = 'v' vMag.sweep_par = 'v' #PSG.sweep_par = 'power' dim_1= iBias def sweep_dim_1(obj,value): obj.sweep_v(value, 2) sleep(2.1)
iBias.prepare_i(vrange = 4) # vrange =4 -- 1mA, 5 -- 10mA, 6 -- 100mA iBias.UD = True vMag = yoko('GPIB0::10::INSTR', name = 'Magnet V R=2.19KOhm', start = -600e-3, stop = 600e-3, pt = 401, sstep = 10e-3, stime = 1e-6) vMag.prepare_v(vrange = 4) PSG = dummy('GPIB0::11::INSTR', name = 'none', start = 0, stop = 1, pt = 1, sstep = 20e-3, stime = 1e-3) iBias.sweep_par = 'iv' vMag.sweep_par = 'iv' dim_1= iBias def sweep_dim_1(obj, value): ramp(obj, obj.sweep_par, value, obj.sstep, obj.stime) #obj.sweep_iv(value, 5) #sleep(5.1) dim_2= vMag def sweep_dim_2(obj, value):
iBias.prepare_v(vrange = 6) # vrange =2 -- 10mV, 3 -- 100mV, 4 -- 1V, 5 -- 10V, 6 -- 30V vMag = yoko('GPIB0::10::INSTR', name = 'Magnet V R=2.19KOhm', start = -280e-3, stop = -190e-3, pt = 20, sstep = 5e-3, stime = 1e-6) #'Yoko M' vMag.prepare_v(vrange = 4) # PSG = APSG('GPIB0::11::INSTR', PSG = dummy('GPIB0::11::INSTR', name = 'RF - Power (V)', start = 0, stop = 0, pt = 1, sstep = 20e-3, stime = 1e-3) # PSG.set_powUnit('V') # PSG.set_freq(11.7e9) # 1GHz gives 2 uV steps # PSG.set_output(1) #define what is to be swept i.e. get_v(..) /set_v(..) would be 'v' iBias.sweep_par = 'v' vMag.sweep_par = 'v' # PSG.sweep_par = 'power' dim_1= iBias def sweep_dim_1(obj,value):
if not os.path.exists(folder): os.makedirs(folder) sim900 = sim900c('GPIB0::12::INSTR') vm = key2000('GPIB0::29::INSTR') f1 = 4.8e9 f2 = 4.1e9 # Sweep equipment setup nothing = dummy('none', name='nothing', start=0, stop=1, pt=1, sstep=20e-3, stime=0.0) vBias = sim928c(sim900, name='V 1Mohm', sloti=4, start=(-6 +0.002), stop=6.002, pt=301, sstep=0.060, stime=0.020) #vMag = dummy(sim900, name='Magnet V R=22.19KOhm', sloti=3, # start=-0.0, stop=0.0, pt=351, # sstep=0.03, stime=0.020) pFlux = dummy('GPIB0::8::INSTR', name='FluxPump', start=0.00, stop=0.00, pt=1, sstep=10, stime=0) #-30 dB at output
adressDigi="3036D2", adressLo="3010D2", LoPosAB=0, LoRef=3, name="D2 Lags (sec)", cfreq=f2, inputlvl=-2, start=(-lags / BW), stop=(lags / BW), pt=(lags * 2 - 1), nSample=lsamples, sampFreq=BW, ) # Sweep equipment setup nothing = dummy("none", name="nothing", start=0, stop=1, pt=1, sstep=20e-3, stime=0.0) vBias = sim928c(sim900, name="V 1Mohm", sloti=2, start=-20.0, stop=20.0, pt=201, sstep=0.060, stime=0.020) vMag = sim928c(sim900, name="Magnet V R=22.19KOhm", sloti=3, start=-0.85, stop=-0.57, pt=5, sstep=0.03, stime=0.020) pFlux = AnSigGen("GPIB0::17::INSTR", name="FluxPump", start=0.03, stop=0.03, pt=1, sstep=30e-3, stime=1e-3) # -30 dB at output sgen = None pFlux.set_power_mode(1) # Linear mode in mV # f1+f2 pFlux.set_freq(f1 + f2) pFlux.sweep_par = "power" # Power sweep
# FFT filtering not yet working, possibly BW not large enough # D1 4670MHZ Edge (4.8GHz) LO above # D2 4330MHz Edge (4.1GHz) LO below D1 = AfDig(adressDigi='3036D1', adressLo='3011D1', LoPosAB=1, LoRef=0, name='D1 Lags (sec)', cfreq=f1, inputlvl=-20, start=(-lags / BW), stop=(lags / BW), pt=(lags * 2 - 1), nSample=lsamples, sampFreq=BW) D2 = AfDig(adressDigi='3036D2', adressLo='3010D2', LoPosAB=0, LoRef=3, name='D2 Lags (sec)', cfreq=f2, inputlvl=-15, start=(-lags / BW), stop=(lags / BW), pt=(lags * 2 - 1), nSample=lsamples, sampFreq=BW) # Sweep equipment setup Dfreq = dummy('DigiFreq', name='Frequency', start=4e9, stop=6.0e9, pt=201, sstep=10e9, stime=0.0) vBias = sim928c(sim900, name='V 1Mohm', sloti=4, start=0.0, stop=0.0, pt=1, sstep=0.060, stime=0.020) vMag = sim928c(sim900, name='Magnet V R=22.19KOhm', sloti=3, start=-1.1, stop=-1.1, pt=1, sstep=0.03, stime=0.020) pFlux = AnSigGen('GPIB0::8::INSTR', name='FluxPump', start=0.024, stop=0.00, pt=49, sstep=30e-3, stime=0.0) # -30 dB at output
LoRef=2, name='Signal Gen', start=2e9, stop=6e9, pt=1, sstep=1e9, stime=0.0) sgen.set_power(-30) sgen.output(0) pFlux = AnSigGen('GPIB0::17::INSTR', name='FluxPump', start=0.03, stop=1.5, pt=151, sstep=300e-3, stime=1e-3) pFlux.set_power_mode(1) # Log(0)/Linear mode in mV (1) pFlux.set_frequency(fd) pFlux.sweep_par = 'power' # Power sweep pFlux.set_power(0.03) pFlux.output(0) # Power OFF (0)/ On (1) # -20 dB at output dummyD1D2 = dummy('prober', name='Drive frequency', start=8.5e9, stop=15.5e9, pt=351, sstep=6e9, stime=0.0) dummyD1D2.D1 = D1 dummyD1D2.D2 = D2 dummyD1D2.pFlux = pFlux dummyD1D2.sweep_par = 'pfreq' vBias = sim928c(sim900, name='V 1Mohm', sloti=4, start=0.0017, stop=0.0017, pt=1, sstep=0.200, stime=0.025) vBias.set_volt(0.0) vBias.output(1) vMag = sim928c(sim900, name='Magnet V R=22.19KOhm', sloti=3, start=0.03, stop=0.03, pt=1,
PSG.set_powUnit('V') # PSG.set_freq(12.9e9) # 1GHz gives 2uV steps # PSG.set_freq(12.2e9) PSG.set_freq(8.9e9) PSG.set_output(1) PSG.set_power(PSG.start) iBias.sweep_par = 'v' vMag.sweep_par = 'v' nothing = dummy('GPIB0::11::INSTR', name = 'nothing', start = 0, stop = 0, pt = 1, sstep = 20e-3, stime = 1e-3) # dim_2 = vMag dim_1 = PSG dim_2= iBias dim_3 = nothing dim_1.UD = False def sweep_dim_1(obj,index): # value = obj.lin[int(index)] if index == 0 : # check for even number PSG.set_output(1)