Exemplo n.º 1
0
def NuclearRamseyWithInitialization_cal(name, 
        carbon_nr           = 5,               
        carbon_init_state   = 'up', 
        el_RO               = 'positive',
        detuning            = 0.5e3,
        el_state            = 0,
        debug               = False,
        fid_transition      = '_m1'):
    
    m = DD.NuclearRamseyWithInitialization_v2(name)
    funcs.prepare(m)

    '''Set parameters'''

    ### Sweep parameters
    m.params['reps_per_ROsequence'] = freq_reps
    m.params['C13_MBI_RO_state'] = 0
    ### overwritten from msmnt params
           
    ####################################
    ### Option 1; Sweep waiting time ###
    ####################################
    
        # 1A - Rotating frame with detuning
    m.params['add_wait_gate'] = True
    m.params['pts'] = 21
    if carbon_nr == 6:
        m.params['pts'] = 18
    m.params['free_evolution_time'] = 400e-6 + np.linspace(0e-6, 3*1./detuning,m.params['pts'])
    # m.params['free_evolution_time'] = 180e-6 + np.linspace(0e-6, 4*1./74e3,m.params['pts'])
    

    m.params['C'+str(carbon_nr)+'_freq_0']  += detuning
    m.params['C'+str(carbon_nr)+'_freq_1'+str(fid_transition)]  += detuning
    m.params['C_RO_phase'] =  np.ones(m.params['pts'] )*0  

    m.params['sweep_name'] = 'free_evolution_time'
    m.params['sweep_pts']  = m.params['free_evolution_time']

    '''Derived and fixed parameters'''
    # 
    m.params['electron_readout_orientation'] = el_RO
    m.params['carbon_nr']                    = carbon_nr
    m.params['init_state']                   = carbon_init_state  
    m.params['electron_after_init'] = str(el_state)
    m.params['Nr_C13_init']       = 1
    m.params['Nr_MBE']            = 0
    m.params['Nr_parity_msmts']   = 0

    funcs.finish(m, upload =True, debug=debug)
Exemplo n.º 2
0
def NuclearRamseyWithInitialization_cal(name, 
        carbon_nr           = 1,               
        carbon_init_state   = 'up', 
        el_RO               = 'positive',
        detuning            = 0.5e3,
        evo_time            = 400e-6,
        el_state            = 1,
        debug               = False,
        fid_transition      = 'm1',
        free_evolution_time  = 400e-6 + np.linspace(0., 6.0e-3,44),
        dyn_dec_wait=False):
    
    m = DD.NuclearRamseyWithInitialization_v2(name)
    funcs.prepare(m)

    '''Set parameters'''

    ### Sweep parameters
    m.params['reps_per_ROsequence'] = 250
    m.params['C13_MBI_RO_state'] = 0
    ### overwritten from msmnt params

    ####################################
    ### Option 1; Sweep waiting time ###
    ####################################

    ## '''1A - Rotating frame with detuning'''
    m.params['add_wait_gate'] = True
    m.params['pts'] = len(free_evolution_time)
    m.params['free_evolution_time'] = free_evolution_time
    
    # m.params['free_evolution_time'] = 180e-6 + np.linspace(0e-6, 4*1./74e3,m.params['pts'])
    m.params['dyn_dec_wait']=dyn_dec_wait

    if ~dyn_dec_wait:    
        if fid_transition != '0':
            m.params['C'+str(carbon_nr)+'_freq_1'+fid_transition]  += detuning
        else:
            m.params['C'+str(carbon_nr)+'_freq_0']  += detuning
    elif dyn_dec_wait:
        if fid_transition == '0':
            print 'please select a transition to dyn decouple'
        if fid_transition != '0':
            m.params['C'+str(carbon_nr)+'_freq'+fid_transition]  += detuning

    m.params['fid_transition'] = fid_transition
    m.params['C_RO_phase'] =  np.ones(m.params['pts'] )*0  

    m.params['sweep_name'] = 'free_evolution_time'
    m.params['sweep_pts']  = m.params['free_evolution_time']


    ###########################################
    ## Option 2; Sweep RO phase at set time ###
    # ###########################################
    # if ~dyn_dec_wait:    
    #     if fid_transition != '0':
    #         m.params['C'+str(carbon_nr)+'_freq_1'+fid_transition]  += detuning
    #     else:
    #         m.params['C'+str(carbon_nr)+'_freq_0']  += detuning
    # elif dyn_dec_wait:
    #     if fid_transition == '0':
    #         print 'please select a transition to dyn decouple'
    #     if fid_transition != '0':
    #         m.params['C'+str(carbon_nr)+'_freq'+fid_transition]  += detuning
            

    # m.params['fid_transition'] = fid_transition

    # m.params['pts'] = 11
    # m.params['add_wait_gate'] = False
    # m.params['free_evolution_time'] = np.ones(m.params['pts'] )*evo_time
    # m.params['C_RO_phase'] = np.linspace(-20, 400,m.params['pts'])    

    # m.params['sweep_name'] = 'phase'
    # m.params['sweep_pts']  = m.params['C_RO_phase']

    '''Derived and fixed parameters'''

    m.params['electron_readout_orientation'] = el_RO
    m.params['carbon_nr']                    = carbon_nr
    m.params['init_state']                   = carbon_init_state  
    m.params['electron_after_init'] = str(el_state)
    m.params['Nr_C13_init']       = 1
    m.params['Nr_MBE']            = 0
    m.params['Nr_parity_msmts']   = 0

    funcs.finish(m, upload =True, debug=debug)