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)
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)
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)
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)
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)
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)
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)
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)