Exemplo n.º 1
0
def cal_pi2pi_pi_mI0(name, mult=1):
    m = pulsar_mbi_espin.ElectronRabiSplitMultElements('cal_pi2pi_pi_mI0_' +
                                                       name + '_M=%d' % mult)
    m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO+MBI'])
    funcs.prepare(m)

    # 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

    # MBI is in mI = 0 here
    # some msmts use mod, others ssbmod (haven't found the mistake yet.) set both.
    m.params['AWG_MBI_MW_pulse_mod_frq'] = m.params['pi2pi_mI0_mod_frq']
    m.params['AWG_MBI_MW_pulse_ssbmod_frq'] = m.params['pi2pi_mI0_mod_frq']

    # hard pi pulses
    m.params['MW_pulse_durations'] = np.ones(pts) * 396e-9
    m.params['MW_pulse_amps'] = np.linspace(0.095, 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, debug=False, upload=UPLOAD)
Exemplo n.º 2
0
def cal_pi2pi_pi_mI0(name, yellow, mult=1):
    m = pulsar_mbi_espin.ElectronRabiSplitMultElements(
        'cal_pi2pi_pi_mI0_'+name+'_M=%d' % mult)
    funcs.prepare(m,yellow)
    
    # 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

    # easiest way here is to initialize into mI=0 directly by MBI
    m.params['AWG_MBI_MW_pulse_mod_frq'] = m.params['mI0_mod_frq']
    
    # hard pi pulses
    m.params['MW_pulse_durations'] = 1e-9 * (11 + np.ones(pts) + 395)
    m.params['MW_pulse_amps'] = np.linspace(0.13,0.2,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)
Exemplo n.º 3
0
def cal_fast_pi(name, mult=1):
    m = pulsar_mbi_espin.ElectronRabiSplitMultElements('cal_fast_pi_' + name +
                                                       '_M=%d' % mult)
    m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO+MBI'])
    funcs.prepare(m)

    # 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'] = np.ones(
        pts) * m.params['fast_pi_duration']
    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, debug=False, upload=UPLOAD)
Exemplo n.º 4
0
def cal_fast_pi(name, mult=1, Range=0.04, mbi=True, mw_switch=False):
    if mw_switch:
        m = pulsar_mbi_espin.ElectronRabiSplitMultElements_Switch(
            'cal_fast_pi_' + name + '_M=%d' % mult)
    else:
        m = pulsar_mbi_espin.ElectronRabiSplitMultElements('cal_fast_pi_' +
                                                           name +
                                                           '_M=%d' % mult)
    #funcs.prepare(m, SIL_NAME)
    funcs.prepare(m)

    # measurement settings
    pts = 21
    m.params['pts'] = pts
    m.params['reps_per_ROsequence'] = 200  #0
    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'] = m.params['fast_pi_duration']*(np.ones(pts))
    m.params['MW_pulse_durations'] = (
        np.ones(pts)) * 100e-9  #m.params['fast_pi_duration']*(np.ones(pts))
    # print     m.params['MW_pulse_durations']
    m.params['MW_pulse_amps'] = np.linspace(
        0.1 - Range, 0.1 + Range, pts
    )  #np.linspace(m.params['fast_pi_amp']-Range/2.,m.params['fast_pi_amp']+Range/2.,pts)
    print m.params['electron_transition']
    # if m.params['electron_transition'] == '_p1':
    #     m.params['MW_pulse_amps'] = np.linspace(0.69-Range/2.,0.69+Range/2.,pts)
    #     print m.params['MW_pulse_amps']
    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']

    # print m.params['fast_pi_duration']

    if mbi == False:
        m.params['MBI_threshold'] = 0
        m.params['Ex_SP_amplitude'] = 0
        m.params['Ex_MBI_amplitude'] = 0

        m.params['repump_after_MBI_A_amplitude'] = [15e-9]
        m.params['repump_after_MBI_duration'] = [50]

    funcs.finish(m)
Exemplo n.º 5
0
def cal_fast_pi_length(name,
                       mult=1,
                       min_pulse_length=125e-9,
                       max_pulse_length=140e-9,
                       pulse_amp=0.4,
                       mbi=True):
    m = pulsar_mbi_espin.ElectronRabiSplitMultElements('cal_fast_pi_length' +
                                                       name + '_M=%d' % mult)
    #funcs.prepare(m, SIL_NAME)
    funcs.prepare(m)

    # measurement settings
    pts = 15  #15
    m.params['pts'] = pts
    m.params['reps_per_ROsequence'] = 1000  #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.linspace(min_pulse_length,
                                                 max_pulse_length, pts)
    print m.params['MW_pulse_durations']
    m.params['MW_pulse_amps'] = pulse_amp * np.ones(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'] = 'Pulse length (ns)'
    m.params['sweep_pts'] = m.params['MW_pulse_durations'] * 1e9

    print m.params['fast_pi_duration']

    if mbi == False:
        m.params['MBI_threshold'] = 0
        m.params['Ex_SP_amplitude'] = 0
        m.params['Ex_MBI_amplitude'] = 0

        m.params['repump_after_MBI_A_amplitude'] = [15e-9]
        m.params['repump_after_MBI_duration'] = [50]

    funcs.finish(m)
Exemplo n.º 6
0
def sweep_pies(name):
    m = pulsar_mbi_espin.ElectronRabiSplitMultElements("sweep_pipulse_cnt_"+name)
    funcs.prepare(m)
    
    # measurement settings
    pts = 16
    m.params['pts'] = pts
    m.params['reps_per_ROsequence'] = 1000
    m.params['MW_pulse_multiplicities'] = range(0,5*pts,5)
    m.params['MW_pulse_delays'] = np.ones(pts) * 15e-6
    
    # hard pi pulses
    m.params['MW_pulse_durations'] = np.ones(pts) * m.params['4MHz_pi_duration']
    m.params['MW_pulse_amps'] = np.ones(pts) * m.params['4MHz_pi_amp']
    m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \
        m.params['AWG_MBI_MW_pulse_mod_frq']
        
    # for the autoanalysis    
    m.params['sweep_name'] = 'Number of pies'
    m.params['sweep_pts'] = m.params['MW_pulse_multiplicities']

    funcs.finish(m, upload=True)
Exemplo n.º 7
0
def cal_fast_pi(name, yellow, mult=1):
    m = pulsar_mbi_espin.ElectronRabiSplitMultElements(
        'cal_fast_pi_'+name+'_M=%d' % mult)
    funcs.prepare(m, yellow)
    
    # 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) * 62e-9
    m.params['MW_pulse_amps'] = np.linspace(0.6,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)
Exemplo n.º 8
0
def cal_pi2pi_pi_len(name, mult=1):
    m = pulsar_mbi_espin.ElectronRabiSplitMultElements(
        'cal_pi2pi_pi_len_'+name+'_M=%d' % mult)
    funcs.prepare(m)
    
    # 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)