コード例 #1
0
def XY8_rep_el_final_tau(RO_dur=48,Ex_p=11.5e-9,MW_freq=2.8291e9,lt1=False,ssro_dict={},CORPSE=False,name='XY8'):
    datafolder= 'D:/measuring/data/'
    date = dtime.strftime('%Y') + dtime.strftime('%m') + dtime.strftime('%d')
    datapath = datafolder+date + '/'
    
    name = name
    m = Decoupling(name)
    m.setup(lt1)

    

    # Determine tau
    tau_el_len = 75
    final_tau=np.linspace(0,100,11)

    m.par['sweep_par'] = final_tau
    m.par['sweep_length'] = len(final_tau)
    m.par['RO_duration'] = RO_dur
    m.par['Ex_RO_amplitude'] = Ex_p
    m.f_drive=MW_freq
    pulse_dict = {
        "Pi":{"duration": 50., "amplitude": 0*0.4028},
        "CORPSE_pi":{"duration": 58., "amplitude":0.484},
        "CORPSE_pi2":{"duration": 58., "amplitude":0.498},
        "init_state_pulse": {"duration":25. , "amplitude":0*0.429},  
            "time_between_pulses": 10.,
            "nr_of_XY8_cycles": 64/8.,
            "duty_cycle_time": 100.,  
            "tau_el_length":tau_el_len,
            "final_tau":final_tau,
            "tau_sweep":1,
            "time_between_CORPSE":20.,
            }    
    
    m.par['free_evol'] = final_tau
    print m.par['free_evol']
    m.par['fe_max'] = m.par['sweep_par'].max()
    m.par['fe_min'] = m.par['sweep_par'].min()
    m.par['sweep_par_name'] = 'final tau (ns)'
    m.par['nr_of_pulses']=8*pulse_dict['nr_of_XY8_cycles']
    pulse_dict["duty_cycle_time"] = 100
    m.sequence={}
    m.sequence["max_seq_time"]=17205
    if CORPSE:
        m.start_measurement(dec.XY8_cycles_multiple_elements_CORPSE,pulse_dict,lt1=lt1,ssro_dict=ssro_dict)
    else:
        m.start_measurement(dec.XY8_cycles_sweep_final_tau,pulse_dict,lt1=lt1,ssro_dict=ssro_dict,send_sequence_AWG=True)
    
    dp=get_datapath()
    path = lde_calibration.find_newest_data(dp,string=m.name)
    spin_control.plot_SE(path)    
コード例 #2
0
def XY8_rep_el_tau(RO_dur=48,Ex_p=11.5e-9,MW_freq=2.8291e9,lt1=False,ssro_dict={},name='XY8'):
    datafolder= 'D:/measuring/data/'
    date = dtime.strftime('%Y') + dtime.strftime('%m') + dtime.strftime('%d')
    datapath = datafolder+date + '/'
    
    name = name
    m = Decoupling(name)
    m.setup(lt1)

    

    # Determine tau
    tau_el_len = 53.9064e3/11/3
    tau_el_len = np.round_(np.linspace(1578,1658,20)/4)*4
    tau_el_len[0] = 500./33.
    tau_rep_el = 33*3
    
    m.par['sweep_par'] = tau_el_len
    m.par['sweep_length'] = len(tau_el_len)
    m.par['RO_duration'] = RO_dur
    m.par['Ex_RO_amplitude'] = Ex_p
    m.f_drive=MW_freq
    pulse_dict = {
        "Pi":{"duration": 50., "amplitude": 0.4028},
        "init_state_pulse": {"duration":25. , "amplitude":0.452},  
            "time_between_pulses": 10.,
            "nr_of_XY8_cycles": 32/8.,
            "duty_cycle_time": 100.,  
            "final_tau":50.,
            "tau_rep_el":tau_rep_el,
            }    
    
    m.par['free_evol'] = pulse_dict['nr_of_XY8_cycles']*16*tau_rep_el*tau_el_len
    m.par['free_evol'][0]=1*pulse_dict['nr_of_XY8_cycles']*16
    print m.par['free_evol']
    m.par['fe_max'] = m.par['free_evol'].max()*1e-6
    m.par['fe_min'] = m.par['free_evol'].min()*1e-6
    m.par['sweep_par_name'] = 'Free evolution time (ms)'
    m.par['nr_of_pulses']=8*pulse_dict['nr_of_XY8_cycles']
    pulse_dict["duty_cycle_time"] = 100
    m.sequence={}
    m.sequence["max_seq_time"]=10506

    m.start_measurement(dec.XY8_cycles_multiple_elements_tau,pulse_dict,lt1=lt1,ssro_dict=ssro_dict,send_sequence_AWG=False)
    
    dp=get_datapath()
    path = lde_calibration.find_newest_data(dp,string=m.name)
    spin_control.plot_SE(path)    
コード例 #3
0
def XY8_rep_el(RO_dur=48,Ex_p=11.5e-9,MW_freq=2.8291e9,lt1=False,ssro_dict={},CORPSE=False,name='XY8'):
    datafolder= 'D:/measuring/data/'
    date = dtime.strftime('%Y') + dtime.strftime('%m') + dtime.strftime('%d')
    datapath = datafolder+date + '/'
    
    name = name
    m = Decoupling(name)
    m.setup(lt1)

    

    # Determine tau
    tau_el_len = 53.7239e3/11/3
    tau_el_len = 1628
    #tau_el_len = 2e3
    #tau_el_len_us = tau_el_len*1e3

    #tau_rep_min=0     # maxtau in units of tau_len
    #tau_rep_max=25     # maxtau in units of tau_len
    #tau_rep = np.linspace(tau_rep_min,tau_rep_max,nr_of_datapoints)
    #tau_rep[0]=1
    
    #tau_rep=np.array([1./500.,1,2,3,4])
    #tau_rep=np.array([1,1,2,3,4,5,6,7,8,10,13,15,17,20,30,40,50,60,70,75]) #XY4
    #tau_rep=np.array([1,1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20]) #XY16
    #tau_rep=np.array([1,1,2,3,4,5,6,7,8,9,10]) #XY32
    #tau_rep=np.array([1,1,2,3,4,5,6,7,8,9,10]) #XY64
    
    #on revivals
    #tau_rep=np.array([1/500.,1,2,3,4,5,6,7,8,9]) #XY4
    #tau_rep=np.array( [1/500.,1,2,3,4,5,6]) #XY8
    #tau_rep=np.array([33./500,31,32,33,34,35]) #XY16
    tau_rep=np.array([1/3.,1/3.])*3 #XY32
    #tau_rep=np.array([11/500.,1])*3 #XY64
    #tau_rep=np.array([11/500.,11*20]) #XY64
    #tau_rep=np.array([11./500.,50*11]) #XY16-pairs
    #tau_rep = np.linspace (0,15,16)
    #tau_rep[0] = 11./500
    
    m.par['sweep_par'] = tau_rep
    m.par['sweep_length'] = len(tau_rep)
    m.par['RO_duration'] = RO_dur
    m.par['Ex_RO_amplitude'] = Ex_p
    m.f_drive=MW_freq
    pulse_dict = {
        "Pi":{"duration": 0*50., "amplitude": 0*0.40514},
        "CORPSE_pi":{"duration": 58., "amplitude":0.484},
        "CORPSE_pi2":{"duration": 58., "amplitude":0.498},
        "init_state_pulse": {"duration":50. , "amplitude":0.40514},  
            "time_between_pulses": 10.,
            "nr_of_XY8_cycles": 4/8.,
            "duty_cycle_time": 100.,  
            "tau_el_length":tau_el_len,
            "final_tau":50.,
            "time_between_CORPSE":20.,
            }    
    
    m.par['free_evol'] = pulse_dict['nr_of_XY8_cycles']*16*tau_el_len*tau_rep
    m.par['free_evol'][0]=1*pulse_dict['nr_of_XY8_cycles']*16
    print m.par['free_evol']
    m.par['fe_max'] = m.par['free_evol'].max()*1e-6
    m.par['fe_min'] = m.par['free_evol'].min()*1e-6
    m.par['sweep_par_name'] = 'Free evolution time (ms)'
    m.par['nr_of_pulses']=8*pulse_dict['nr_of_XY8_cycles']
    pulse_dict["duty_cycle_time"] = 100
    m.sequence={}
    m.sequence["max_seq_time"]=100000
    if CORPSE:
        m.start_measurement(dec.XY8_cycles_multiple_elements_CORPSE,pulse_dict,lt1=lt1,ssro_dict=ssro_dict)
    else:
        m.start_measurement(dec.XY8_cycles_multiple_elements,pulse_dict,lt1=lt1,ssro_dict=ssro_dict,send_sequence_AWG=False)
    
    dp=get_datapath()
    path = lde_calibration.find_newest_data(dp,string=m.name)
    spin_control.plot_SE(path)