Ejemplo n.º 1
0
def nspinflips(name):
    m = NSpinflips(name)
    funcs.prepare(m)

    SP_power = 20e-9
    m.params['AWG_SP_amplitude'] = qt.instruments['NewfocusAOM_lt1'].power_to_voltage(
        SP_power, controller='sec')
    m.params['AWG_SP_duration'] = 10e-6

    pts = 15
    rep_factor = 200
    m.params['pts'] = pts
    m.params['AWG_sequence_repetitions'] = np.arange(pts) * rep_factor
    m.params['reps_per_ROsequence'] = 1000

    # for testing
    m.params['msm1_CORPSE_pi_amp'] = 0.796974
    m.params['pi2pi_mIm1_mod_frq'] = 2.828067e9 - 2.8e9 - 2.19290e6
    m.params['pi2pi_mIm1_amp'] = 0.108
    m.params['pi2pi_mIm1_duration'] = 396e-9

    # for the autoanalysis
    m.params['sweep_name'] = 'SP cycles'
    m.params['sweep_pts'] = m.params['AWG_sequence_repetitions']

    funcs.finish(m, upload=True, debug=False)
Ejemplo n.º 2
0
def run_gaussian_electron_rabi(name):
    m = ShapedRabiMsmt(name) # BSM.ElectronRabiMsmt(name)

    sil_name='sil9'
    funcs.prepare(m, sil_name, yellow=False)
    
    pts = 11
    m.params['pts'] = pts
    m.params['reps_per_ROsequence'] = 1000
    m.params['MW_pulse_multiplicities'] = np.linspace(0,10,pts).astype(int) * 1
    m.params['MW_pulse_delays'] = np.ones(pts) * 100e-9


    #initialisation:cfg.set(branch+        
    m.params['AWG_MBI_MW_pulse_mod_frq']= m.params['mIp1_mod_frq']
    m.params['AWG_MBI_MW_pulse_ssbmod_frq']=m.params['AWG_MBI_MW_pulse_mod_frq']

    m.params['pulse_mod_frqs'] = np.ones(pts) * m.params['mIm1_mod_frq']
    m.params['pulse_amps'] = np.ones(pts)*0.07#np.linspace(0,0.12,pts)
    m.params['pulse_durations']= np.ones(pts) * 395e-9

    # for the autoanalysis
    m.params['sweep_name'] = 'MW_pulse_multiplicities'
    m.params['sweep_pts'] = m.params['MW_pulse_multiplicities'] 

    m.PulseClass = pulselib.MW_IQmod_pulse
    #pulselib.MW_IQmod_pulse
    #pulselib.GaussianPulse_Envelope_IQ
    #pulselib.HermitePulse_Envelope_IQ
    #pulselib.ReburpPulse_Envelope_IQ



    funcs.finish(m, upload=True, debug=False)
Ejemplo n.º 3
0
def run_gaussian_electron_rabi(name):
    m = ShapedRabiMsmt(name) # BSM.ElectronRabiMsmt(name)

    sil_name='sil9'
    funcs.prepare(m, sil_name, yellow=False)
    
    pts = 11
    m.params['pts'] = pts
    m.params['reps_per_ROsequence'] = 1000
    m.params['MW_pulse_multiplicities'] = np.linspace(0,10,pts).astype(int) * 1
    m.params['MW_pulse_delays'] = np.ones(pts) * 100e-9


    #initialisation:cfg.set(branch+        
    m.params['AWG_MBI_MW_pulse_mod_frq']= m.params['mIp1_mod_frq']
    m.params['AWG_MBI_MW_pulse_ssbmod_frq']=m.params['AWG_MBI_MW_pulse_mod_frq']

    m.params['pulse_mod_frqs'] = np.ones(pts) * m.params['mIm1_mod_frq']
    m.params['pulse_amps'] = np.ones(pts)*0.07#np.linspace(0,0.12,pts)
    m.params['pulse_durations']= np.ones(pts) * 395e-9

    # for the autoanalysis
    m.params['sweep_name'] = 'MW_pulse_multiplicities'
    m.params['sweep_pts'] = m.params['MW_pulse_multiplicities'] 

    m.PulseClass = pulselib.MW_IQmod_pulse
    #pulselib.MW_IQmod_pulse
    #pulselib.GaussianPulse_Envelope_IQ
    #pulselib.HermitePulse_Envelope_IQ
    #pulselib.ReburpPulse_Envelope_IQ



    funcs.finish(m, upload=True, debug=False)
Ejemplo n.º 4
0
def sweep_amplitude(name):
    m = CORPSEPiCalibration(name)
    funcs.prepare(m)

    pts = 11
    m.params['pts'] = pts
    m.params['reps_per_ROsequence'] = 1000

    # sweep params
    m.params['CORPSE_pi_sweep_amps'] = np.linspace(0.48, 0.57, pts)
    m.params['multiplicity'] = 11
    m.params['delay_reps'] = 15

    # for the autoanalysis
    m.params['sweep_name'] = 'CORPSE amplitude (V)'
    m.params['sweep_pts'] = m.params['CORPSE_pi_sweep_amps']

    funcs.finish(m, debug=False)
Ejemplo n.º 5
0
def sweep_amplitude(name):
    m = CORPSEPiCalibration(name)
    funcs.prepare(m)

    pts = 11
    m.params['pts'] = pts
    m.params['reps_per_ROsequence'] = 1000

    # sweep params
    m.params['CORPSE_pi_sweep_amps'] = np.linspace(0.48, 0.57, pts)
    m.params['multiplicity'] = 11
    m.params['delay_reps'] = 15

    # for the autoanalysis
    m.params['sweep_name'] = 'CORPSE amplitude (V)'
    m.params['sweep_pts'] = m.params['CORPSE_pi_sweep_amps']
    
    funcs.finish(m, debug=False)
Ejemplo n.º 6
0
def run(name):
    m = pulsar_mbi_espin.ElectronRabi(name)
    funcs.prepare(m)

    pts = 21
    m.params["pts"] = pts
    m.params["reps_per_ROsequence"] = 500
    m.params["MW_pulse_multiplicities"] = np.ones(pts).astype(int)
    m.params["MW_pulse_delays"] = np.ones(pts) * 2000e-9

    # MW pulses
    m.params["MW_pulse_durations"] = np.linspace(0, 500e-9, pts) + 10e-9
    m.params["MW_pulse_amps"] = np.ones(pts) * 0.8
    m.params["MW_pulse_mod_frqs"] = np.ones(pts) * m.params["AWG_MBI_MW_pulse_mod_frq"]

    # for the autoanalysis
    m.params["sweep_name"] = "MW pulse duration (ns)"
    m.params["sweep_pts"] = m.params["MW_pulse_durations"] * 1e9

    funcs.finish(m, debug=False)
def cal_fast_rabi(name):
    m = pulsar_mbi_espin.ElectronRabi('cal_fast_rabi'+name)
    funcs.prepare(m, SIL_NAME)

    pts = 21
    m.params['pts'] = pts
    m.params['reps_per_ROsequence'] = 1000
    m.params['MW_pulse_multiplicities'] = np.ones(pts).astype(int)
    m.params['MW_pulse_delays'] = np.ones(pts) * 20e-9

    # MW pulses
    m.params['MW_pulse_durations'] = np.linspace(0,500e-9,pts) + 5e-9
    m.params['MW_pulse_amps'] = np.ones(pts) * 0.4
    m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \
        m.params['AWG_MBI_MW_pulse_mod_frq']

    # for the autoanalysis
    m.params['sweep_name'] = 'MW pulse duration (ns)'
    m.params['sweep_pts'] = m.params['MW_pulse_durations'] * 1e9
    
    funcs.finish(m)
def cal_slow_pi(name):
    m = pulsar_mbi_espin.ElectronRabi('cal_slow_pi_'+name)
    funcs.prepare(m)
    
    # measurement settings
    pts = 11
    m.params['reps_per_ROsequence'] = 500
    m.params['pts'] = pts
    m.params['MW_pulse_multiplicities'] = np.ones(pts).astype(int)
    m.params['MW_pulse_delays'] = np.ones(pts) * 1e-9
  
    # slow pi pulses
    m.params['MW_pulse_durations'] = np.ones(pts) * 2500e-9
    m.params['MW_pulse_amps'] = np.linspace(0,0.03,pts) 
    m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \
        m.params['AWG_MBI_MW_pulse_mod_frq']

    # for the autoanalysis
    m.params['sweep_name'] = 'MW pulse amp (V)'
    m.params['sweep_pts'] = m.params['MW_pulse_amps']
    
    funcs.finish(m)
Ejemplo n.º 9
0
def run(name):
    m = pulsar_mbi_espin.ElectronRamsey(name)
    funcs.prepare(m, SIL_NAME)

    pts = 21
    m.params['pts'] = pts
    m.params['reps_per_ROsequence'] = 500

    m.params['MW_pulse_delays'] = np.linspace(0,3000e-9,pts)

    # MW pulses
    m.params['MW_pulse_durations'] = np.ones(pts) * m.params['fast_pi2_duration']
    m.params['MW_pulse_amps'] = np.ones(pts) * m.params['fast_pi2_amp']
    m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \
        m.params['AWG_MBI_MW_pulse_mod_frq']
    m.params['MW_pulse_1_phases'] = np.ones(pts) * 0
    m.params['MW_pulse_2_phases'] = np.ones(pts) * 0

    # for the autoanalysis
    m.params['sweep_name'] = 'evolution time (ns)'
    m.params['sweep_pts'] = m.params['MW_pulse_delays'] /1e-9
    
    funcs.finish(m, debug=False)
def cal_fast_pi2(name,  mult=1):
    m = pulsar_mbi_espin.ElectronRabi(
        'cal_fast_pi_over_2_'+name+'_M=%d' % mult)
    funcs.prepare(m, SIL_NAME)    
    
    # measurement settings
    pts = 11
    m.params['reps_per_ROsequence'] = 2000
    m.params['pts'] = pts
    m.params['MW_pulse_multiplicities'] = np.ones(pts).astype(int)
    m.params['MW_pulse_delays'] = np.ones(pts) * 100e-9
    
    # pulses
    m.params['MW_pulse_durations'] = 1e-9 * (np.ones(pts) * 32)
    m.params['MW_pulse_amps'] = np.linspace(0.7, 0.9, pts)
    m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \
        m.params['AWG_MBI_MW_pulse_mod_frq']

    # for the autoanalysis
    m.params['sweep_name'] = 'MW pulse amplitude (V)'
    m.params['sweep_pts'] = m.params['MW_pulse_amps']
    
    funcs.finish(m)
def cal_pi2pi_pi_len(name, mult=1):
    m = pulsar_mbi_espin.ElectronRabiSplitMultElements(
        'cal_pi2pi_pi_len_'+name+'_M=%d' % mult)
    funcs.prepare(m, SIL_NAME)
    
    # measurement settings
    pts = 11
    m.params['pts'] = pts
    m.params['reps_per_ROsequence'] = 500
    m.params['MW_pulse_multiplicities'] = np.ones(pts).astype(int) * mult
    m.params['MW_pulse_delays'] = np.ones(pts) * 15e-6
    
    # hard pi pulses
    m.params['MW_pulse_durations'] = 1e-9 * (np.linspace(-50,50,pts).astype(int) + 395)
    m.params['MW_pulse_amps'] = np.ones(pts)*0.137
    m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \
        m.params['f0']
        
    # for the autoanalysis    
    m.params['sweep_name'] = 'MW pulse length (s)'
    m.params['sweep_pts'] = m.params['MW_pulse_durations']

    funcs.finish(m)
def cal_pi2pi_pi(name, mult=1):
    m = pulsar_mbi_espin.ElectronRabiSplitMultElements(
        'cal_pi2pi_pi_'+name+'_M=%d' % mult)
    funcs.prepare(m, SIL_NAME)
    
    # measurement settings
    pts = 11
    m.params['pts'] = pts
    m.params['reps_per_ROsequence'] = 1000
    m.params['MW_pulse_multiplicities'] = np.ones(pts).astype(int) * mult
    m.params['MW_pulse_delays'] = np.ones(pts) * 15e-6
    
    # hard pi pulses
    m.params['MW_pulse_durations'] = np.ones(pts) * 395e-9
    m.params['MW_pulse_amps'] = np.linspace(0.09, 0.12, pts)
    m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \
        m.params['AWG_MBI_MW_pulse_mod_frq']
        
    # for the autoanalysis    
    m.params['sweep_name'] = 'MW pulse amplitude (V)'
    m.params['sweep_pts'] = m.params['MW_pulse_amps']

    funcs.finish(m)