Ejemplo n.º 1
0
def prepare(m):
    funcs.prepare(m)

    m.CORPSE_pi = pulselib.IQ_CORPSE_pi_pulse(
        'CORPSE pi-pulse',
        I_channel='MW_Imod',
        Q_channel='MW_Qmod',
        PM_channel='MW_pulsemod',
        PM_risetime=m.params['MW_pulse_mod_risetime'],
        frequency=m.params['CORPSE_pi_mod_frq'],
        amplitude=m.params['CORPSE_pi_amp'],
        length_60=m.params['CORPSE_pi_60_duration'],
        length_m300=m.params['CORPSE_pi_m300_duration'],
        length_420=m.params['CORPSE_pi_420_duration'])

    m.CORPSE_pi2 = pulselib.IQ_CORPSE_pi2_pulse(
        'CORPSE pi2-pulse',
        I_channel='MW_Imod',
        Q_channel='MW_Qmod',
        PM_channel='MW_pulsemod',
        PM_risetime=m.params['MW_pulse_mod_risetime'],
        frequency=m.params['CORPSE_pi2_mod_frq'],
        amplitude=m.params['CORPSE_pi2_amp'],
        length_24p3=m.params['CORPSE_pi2_24p3_duration'],
        length_m318p6=m.params['CORPSE_pi2_m318p6_duration'],
        length_384p3=m.params['CORPSE_pi2_384p3_duration'])
Ejemplo n.º 2
0
def cal_CORPSE_pi2(name):
    m = CORPSEPi2Calibration(name + 'M=1')
    funcs.prepare(m)

    pts = 11
    m.params['pts'] = pts
    m.params['repetitions'] = 1000
    m.params['wait_for_AWG_done'] = 1

    # sweep params
    m.params['CORPSE_pi2_sweep_amps'] = np.linspace(0.42, 0.52, pts)  #
    m.params['multiplicity'] = 1
    name = name + 'M={}'.format(m.params['multiplicity'])
    m.params['delay_element_length'] = 1e-6

    # for the autoanalysis
    m.params['sweep_name'] = 'CORPSE pi/2 amplitude (V)'
    m.params['sweep_pts'] = m.params['CORPSE_pi2_sweep_amps']

    funcs.finish(m)
Ejemplo n.º 3
0
def cal_CORPSE_pi2(name):
    m = CORPSEPi2Calibration(name+'M=1')
    funcs.prepare(m)

    pts = 11
    m.params['pts'] = pts
    m.params['repetitions'] = 1000
    m.params['wait_for_AWG_done'] = 1

    # sweep params
    m.params['CORPSE_pi2_sweep_amps'] = np.linspace(0.42, 0.50, pts)#
    m.params['multiplicity'] = 1
    name = name + 'M={}'.format(m.params['multiplicity'])
    m.params['delay_element_length'] = 1e-6

    # for the autoanalysis
    m.params['sweep_name'] = 'CORPSE pi/2 amplitude (V)'
    m.params['sweep_pts'] = m.params['CORPSE_pi2_sweep_amps']  

    funcs.finish(m)
Ejemplo n.º 4
0
def cal_CORPSE_pi(name):
    m = CORPSEPiCalibration(name+'M=11')
    funcs.prepare(m)

    pts = 11
    m.params['pts'] = pts
    m.params['repetitions'] = 1000
    m.params['wait_for_AWG_done'] = 1

    # sweep params
    m.params['CORPSE_pi_sweep_amps'] = np.linspace(0.39, 0.49, pts)
    m.params['multiplicity'] = 11
    name = name + 'M={}'.format(m.params['multiplicity'])
    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)
Ejemplo n.º 5
0
def cal_CORPSE_pi(name):
    m = CORPSEPiCalibration(name + 'M=11')
    funcs.prepare(m)

    pts = 11
    m.params['pts'] = pts
    m.params['repetitions'] = 1000
    m.params['wait_for_AWG_done'] = 1

    # sweep params
    m.params['CORPSE_pi_sweep_amps'] = np.linspace(0.39, 0.49, pts)
    m.params['multiplicity'] = 11
    name = name + 'M={}'.format(m.params['multiplicity'])
    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)
Ejemplo n.º 6
0
def find_CORPSE_pi2_fidelity(name):
    m = CORPSEPi2Calibration(name+'fidelity_M=1')
    funcs.prepare(m)

    pts = 11
    m.params['pts'] = pts
    m.params['repetitions'] = 1000
    m.params['wait_for_AWG_done'] = 1

    # sweep params
    m.params['CORPSE_pi2_sweep_amps'] = np.ones(pts)*m.params['CORPSE_pi2_amp']#np.linspace(0.54, 0.66, pts)#
    m.params['multiplicity'] = 1
    name = name + 'M={}'.format(m.params['multiplicity'])
    m.params['delay_element_length'] = 1e-6
    m.params['delay_reps'] = 15

    # for the autoanalysis
    m.params['sweep_name'] = ''
    m.params['sweep_pts'] = np.arange(pts) # m.params['CORPSE_pi_sweep_amps']  

    funcs.finish(m)
Ejemplo n.º 7
0
def cal_CORPSE_pi2_alternative(name, M):
    m = CORPSEPi2Calibration(name + str(M))
    funcs.prepare(m)
    ### Currently does not work, because element length fill-up causes dephasing.
    #Calibration method abandoned for now

    pts = 11
    m.params['pts'] = pts
    m.params['repetitions'] = 1000
    m.params['wait_for_AWG_done'] = 1

    # sweep params
    m.params['CORPSE_pi2_sweep_amps'] = np.linspace(0.5, 0.6, pts)  #
    m.params['multiplicity'] = M
    name = name + 'M={}'.format(m.params['multiplicity'])
    m.params['delay_element_length'] = 10e-9

    # for the autoanalysis
    m.params['sweep_name'] = 'CORPSE pi/2 amplitude (V)'
    m.params['sweep_pts'] = m.params['CORPSE_pi2_sweep_amps']

    funcs.finish(m)
Ejemplo n.º 8
0
def find_CORPSE_pi2_fidelity(name):
    m = CORPSEPi2Calibration(name + 'fidelity_M=1')
    funcs.prepare(m)

    pts = 11
    m.params['pts'] = pts
    m.params['repetitions'] = 1000
    m.params['wait_for_AWG_done'] = 1

    # sweep params
    m.params['CORPSE_pi2_sweep_amps'] = np.ones(pts) * m.params[
        'CORPSE_pi2_amp']  #np.linspace(0.54, 0.66, pts)#
    m.params['multiplicity'] = 1
    name = name + 'M={}'.format(m.params['multiplicity'])
    m.params['delay_element_length'] = 1e-6
    m.params['delay_reps'] = 15

    # for the autoanalysis
    m.params['sweep_name'] = ''
    m.params['sweep_pts'] = np.arange(pts)  # m.params['CORPSE_pi_sweep_amps']

    funcs.finish(m)
Ejemplo n.º 9
0
def cal_CORPSE_pi2_alternative(name, M):
    m = CORPSEPi2Calibration(name+str(M))
    funcs.prepare(m)
    ### Currently does not work, because element length fill-up causes dephasing. 
    #Calibration method abandoned for now

    pts = 11
    m.params['pts'] = pts
    m.params['repetitions'] = 1000
    m.params['wait_for_AWG_done'] = 1

    # sweep params
    m.params['CORPSE_pi2_sweep_amps'] = np.linspace(0.5, 0.6, pts)#
    m.params['multiplicity'] = M
    name = name + 'M={}'.format(m.params['multiplicity'])
    m.params['delay_element_length'] = 10e-9

    # for the autoanalysis
    m.params['sweep_name'] = 'CORPSE pi/2 amplitude (V)'
    m.params['sweep_pts'] = m.params['CORPSE_pi2_sweep_amps']  

    funcs.finish(m)
Ejemplo n.º 10
0
def electronramsey(name):
    m = pulsar.ElectronRamsey(name)
    funcs.prepare(m)

    pts = 61
    m.params['pts'] = pts
    m.params['repetitions'] = 1000

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

    # MW pulses
    m.params['detuning']  = 0.0e6
    m.params['CORPSE_pi2_mod_frq'] = m.params['CORPSE_pi2_mod_frq'] + m.params['detuning']
    m.params['CORPSE_pi2_amps'] = np.ones(pts)*m.params['CORPSE_pi2_amp']
    m.params['CORPSE_pi2_phases1'] = np.ones(pts) * 0
    m.params['CORPSE_pi2_phases2'] = np.ones(pts) * 0#360 * m.params['evolution_times'] * 2e6

    # for the autoanalysis
    m.params['sweep_name'] = 'evolution time (ns)' 
    m.params['sweep_pts'] = m.params['evolution_times'] /1e-9

    funcs.finish(m)
Ejemplo n.º 11
0
def cal_8mhz_rabi(name):
    m = pulsar_msmt.ElectronRabi('cal_8mhz_rabi' + name)
    funcs.prepare(m)

    m.params['pts'] = 21
    pts = m.params['pts']
    m.params['repetitions'] = 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, 250e-9, pts) + 5e-9
    m.params['MW_pulse_amplitudes'] = np.ones(pts) * 0.545
    m.params['MW_pulse_frequency'] = m.params['f0']

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

    m.params['sequence_wait_time'] = \
            int(np.ceil(np.max(m.params['MW_pulse_durations'])*1e6)+10)

    funcs.finish(m)
Ejemplo n.º 12
0
def cal_8mhz_rabi(name):
    m = pulsar_msmt.ElectronRabi('cal_8mhz_rabi'+name)
    funcs.prepare(m)

    m.params['pts'] = 21
    pts = m.params['pts'] 
    m.params['repetitions'] = 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,250e-9,pts) + 5e-9
    m.params['MW_pulse_amplitudes'] = np.ones(pts) * 0.545
    m.params['MW_pulse_frequency'] = m.params['f0']

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

    m.params['sequence_wait_time'] = \
            int(np.ceil(np.max(m.params['MW_pulse_durations'])*1e6)+10)
    
    funcs.finish(m)
Ejemplo n.º 13
0
def prepare(m):
    funcs.prepare(m)
   
    m.CORPSE_pi = pulselib.IQ_CORPSE_pi_pulse('CORPSE pi-pulse',
        I_channel = 'MW_Imod', 
        Q_channel = 'MW_Qmod',    
        PM_channel = 'MW_pulsemod',
        PM_risetime = m.params['MW_pulse_mod_risetime'],
        frequency = m.params['CORPSE_pi_mod_frq'],
        amplitude = m.params['CORPSE_pi_amp'],
        length_60 = m.params['CORPSE_pi_60_duration'],
        length_m300 = m.params['CORPSE_pi_m300_duration'],
        length_420 = m.params['CORPSE_pi_420_duration'])    

    m.CORPSE_pi2 = pulselib.IQ_CORPSE_pi2_pulse('CORPSE pi2-pulse',
        I_channel = 'MW_Imod', 
        Q_channel = 'MW_Qmod',
        PM_channel = 'MW_pulsemod',
        PM_risetime = m.params['MW_pulse_mod_risetime'],
        frequency = m.params['CORPSE_pi2_mod_frq'],
        amplitude = m.params['CORPSE_pi2_amp'],
        length_24p3 = m.params['CORPSE_pi2_24p3_duration'],
        length_m318p6 = m.params['CORPSE_pi2_m318p6_duration'],
        length_384p3 = m.params['CORPSE_pi2_384p3_duration'])