def dd_sweep_LDE_DD_XYX_t_between_pulse(name): m = dd_msmt.DynamicalDecoupling('calibrate_xyx_t_between_pulses') dd_msmt.prepare(m) pts = 21 m.params['pts'] = pts m.params['repetitions'] = 2000 m.params_lt2['wait_for_AWG_done'] = 1 m.params['dd_use_delay_reps'] = False #suppress optical pulses here m.params_lt2['eom_aom_on'] = False m.params_lt2['eom_pulse_amplitude'] = -0.26 #free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt2['free_evolution_times'] = np.ones(pts) * m.params_lt2['first_C_revival'] m.params_lt2['dd_spin_echo_times'] = np.ones(pts) * m.params_lt2['dd_spin_echo_time'] #m.params_lt2['A_SP_amplitude'] = 0. #use LDE element SP. # sweep params m.params_lt2['extra_ts_between_pulses'] = 400e-9 + np.linspace(-2e-6,2e-6,pts) m.params_lt2['DD_pi_phases'] = [90,0,90] m.dd_sweep_LDE_spin_echo_time_msmt() # for the autoanalysis m.params_lt2['sweep_name'] = 'extra t between pi pulses (us)' m.params_lt2['sweep_pts'] = m.params_lt2['extra_ts_between_pulses'] / 1e-6 dd_msmt.finish(m,upload=UPLOAD,debug=False)
def dd_sweep_LDE_DD_XYX_free_evolution_time(name): m = dd_msmt.DynamicalDecoupling('calibrate_xyx_fet_pi2phase_min90') dd_msmt.prepare(m) pts = 17 m.params['pts'] = pts m.params['repetitions'] = 3000 m.params_lt2['wait_for_AWG_done'] = 1 #free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt2['extra_ts_between_pulses'] = np.ones( pts) * m.params_lt2['dd_extra_t_between_pi_pulses'] m.params_lt2['dd_spin_echo_times'] = np.ones( pts) * m.params_lt2['dd_spin_echo_time'] #m.params_lt2['A_SP_amplitude'] = 0. #use LDE element SP. # sweep params m.params_lt2['pi2_pulse_phase'] = 0 m.params_lt2['free_evolution_times'] = np.linspace( -1e-6, 1e-6, pts) + m.params_lt2['first_C_revival'] m.params_lt2['DD_pi_phases'] = [90, 0, 90] m.dd_sweep_LDE_spin_echo_time_msmt() # for the autoanalysis m.params_lt2['sweep_name'] = 'free evolution time (us)' m.params_lt2['sweep_pts'] = m.params_lt2['dd_extra_t_between_pi_pulses'] * (len(m.params_lt2['DD_pi_phases']) -1) + \ 2 * len(m.params_lt2['DD_pi_phases']) * m.params_lt2['free_evolution_times'] / 1e-6 dd_msmt.finish(m, upload=UPLOAD, debug=False)
def dd_calibrate_T2(name): m = dd_msmt.DynamicalDecoupling('calibrate_T2') dd_msmt.prepare(m) m.params['dd_use_delay_reps'] = True pts_per_revival = 11 revivals = 12 pts = pts_per_revival * (revivals - 1) m.params['pts'] = pts m.params['repetitions'] = 2000 m.params_lt2['wait_for_AWG_done'] = 1 # sweep params #free evolutiona time is half the total evolution time!!! from centre to centre of pulses sweep_array = m.params_lt2['first_C_revival'] + np.linspace( -1e-6, 1e-6, pts_per_revival) for r in range(2, revivals): sweep_array=np.append(sweep_array, \ r * (m.params_lt2['first_C_revival'] \ + m.params_lt2['CORPSE_pi2_wait_length'] \ + m.params_lt2['dd_extra_t_between_pi_pulses']) + np.linspace(-1e-6, 1e-6, pts_per_revival)) print sweep_array m.params_lt2['free_evolution_times'] = sweep_array m.params_lt2['DD_pi_phases'] = [0] m.dd_sweep_free_ev_time_msmt() # for the autoanalysis m.params_lt2['sweep_name'] = 'total free evolution time (us)' m.params_lt2['sweep_pts'] = 2 * m.params_lt2['free_evolution_times'] / 1e-6 dd_msmt.finish(m, upload=UPLOAD, debug=False)
def dd_sweep_LDE_DD_XX_free_evolution_time(name): m = dd_msmt.DynamicalDecoupling('calibrate_xx_fet') dd_msmt.prepare(m) pts = 17 m.params['pts'] = pts m.params['repetitions'] = 5000 m.params_lt2['wait_for_AWG_done'] = 1 #free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt2['extra_ts_between_pulses'] = np.ones(pts) * m.params_lt2['dd_extra_t_between_pi_pulses'] m.params_lt2['dd_spin_echo_times'] = np.ones(pts) * m.params_lt2['dd_spin_echo_time'] #m.params_lt2['A_SP_amplitude'] = 0. #use LDE element SP. # sweep params m.params_lt2['free_evolution_times'] = np.linspace(-1e-6,1e-6,pts) + m.params_lt2['first_C_revival'] m.params_lt2['DD_pi_phases'] = [0,0] m.dd_sweep_LDE_spin_echo_time_msmt() # for the autoanalysis m.params_lt2['sweep_name'] = 'free evolution time (us)' m.params_lt2['sweep_pts'] = m.params_lt2['dd_extra_t_between_pi_pulses'] * (len(m.params_lt2['DD_pi_phases']) -1) + \ 2 * len(m.params_lt2['DD_pi_phases']) * m.params_lt2['free_evolution_times'] / 1e-6 dd_msmt.finish(m,upload=True,debug=False)
def dd_sweep_free_ev_time_with_LDE(name): m = dd_msmt.DynamicalDecoupling('calibrate_first_revival_w_LDE') dd_msmt.prepare(m) pts = 16 m.params['pts'] = pts m.params['repetitions'] = 1000 m.params_lt2['wait_for_AWG_done'] = 1 m.params_lt2['revival_nr'] = 1 m.params_lt2['dd_spin_echo_times'] = np.ones(pts) * m.params_lt2['dd_spin_echo_time'] # sweep params #free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt2['free_evolution_times'] = np.linspace(-3000e-9, 3000e-9, pts) + \ m.params_lt2['first_C_revival'] * m.params_lt2['revival_nr']# m.params_lt2['DD_pi_phases'] = [0] m.dd_sweep_LDE_spin_echo_time_msmt() # for the autoanalysis m.params_lt2['sweep_name'] = 'total free evolution time (us)' m.params_lt2['sweep_pts'] = 2*m.params_lt2['free_evolution_times'] / 1e-6 dd_msmt.finish(m,upload=True,debug=False)
def dd_sweep_free_ev_time_with_LDE(name): m = dd_msmt.DynamicalDecoupling('calibrate_first_revival_w_LDE') dd_msmt.prepare(m) pts = 16 m.params['pts'] = pts m.params['repetitions'] = 1000 m.params_lt3['wait_for_AWG_done'] = 1 m.params_lt3['revival_nr'] = 1 m.params_lt3['dd_spin_echo_times'] = np.ones( pts) * m.params_lt3['dd_spin_echo_time'] # sweep params #free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt3['free_evolution_times'] = np.linspace(-3000e-9, 3000e-9, pts) + \ m.params_lt3['first_C_revival'] * m.params_lt3['revival_nr']# m.params_lt3['DD_pi_phases'] = [0] m.dd_sweep_LDE_spin_echo_time_msmt() # for the autoanalysis m.params_lt3['sweep_name'] = 'total free evolution time (us)' m.params_lt3['sweep_pts'] = 2 * m.params_lt3['free_evolution_times'] / 1e-6 dd_msmt.finish(m, upload=True, debug=False)
def dd_sweep_LDE_DD_XY4_pi2_pulse_amp(name): m = dd_msmt.DynamicalDecoupling('calibrate_xy4_t_before_pi2') dd_msmt.prepare(m) pts = 16 m.params['pts'] = pts m.params['repetitions'] = 2000 m.params_lt3['wait_for_AWG_done'] = 1 #free evolutiona time is half the total evolution time!!! from centre to centre of pulses #m.params_lt3['A_SP_amplitude'] = 0. #use LDE element SP. m.params_lt3['extra_ts_before_pi2'] = np.ones(pts) * 0 # sweep params m.params_lt3['pi2_pulse_amps'] = np.linspace( -0.15, 0.15, pts) + m.params_lt3['CORPSE_pi2_amp'] m.params_lt3['DD_pi_phases'] = [0, -90, 0, -90] m.dd_sweep_LDE_DD_second_pi2() # for the autoanalysis m.params_lt3['sweep_name'] = 'pi2 pulse amplitude (V)' m.params_lt3['sweep_pts'] = m.params_lt3['pi2_pulse_amps'] dd_msmt.finish(m, upload=True, debug=False)
def dd_sweep_LDE_DD_XYX_free_evolution_time(name): m = dd_msmt.DynamicalDecoupling("calibrate_xyx_fet_pi2phase_min90") dd_msmt.prepare(m) pts = 17 m.params["pts"] = pts m.params["repetitions"] = 3000 m.params_lt2["wait_for_AWG_done"] = 1 # free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt2["extra_ts_between_pulses"] = np.ones(pts) * m.params_lt2["dd_extra_t_between_pi_pulses"] m.params_lt2["dd_spin_echo_times"] = np.ones(pts) * m.params_lt2["dd_spin_echo_time"] # m.params_lt2['A_SP_amplitude'] = 0. #use LDE element SP. # sweep params m.params_lt2["pi2_pulse_phase"] = 0 m.params_lt2["free_evolution_times"] = np.linspace(-1e-6, 1e-6, pts) + m.params_lt2["first_C_revival"] m.params_lt2["DD_pi_phases"] = [90, 0, 90] m.dd_sweep_LDE_spin_echo_time_msmt() # for the autoanalysis m.params_lt2["sweep_name"] = "free evolution time (us)" m.params_lt2["sweep_pts"] = ( m.params_lt2["dd_extra_t_between_pi_pulses"] * (len(m.params_lt2["DD_pi_phases"]) - 1) + 2 * len(m.params_lt2["DD_pi_phases"]) * m.params_lt2["free_evolution_times"] / 1e-6 ) dd_msmt.finish(m, upload=UPLOAD, debug=False)
def dd_calibrate_T2(name): m = dd_msmt.DynamicalDecoupling('calibrate_T2') dd_msmt.prepare(m) m.params['dd_use_delay_reps'] = True pts_per_revival = 11 revivals=12 pts=pts_per_revival*(revivals-1) m.params['pts'] = pts m.params['repetitions'] = 2000 m.params_lt2['wait_for_AWG_done'] = 1 # sweep params #free evolutiona time is half the total evolution time!!! from centre to centre of pulses sweep_array= m.params_lt2['first_C_revival'] + np.linspace(-1e-6, 1e-6, pts_per_revival) for r in range(2,revivals): sweep_array=np.append(sweep_array, \ r * (m.params_lt2['first_C_revival'] \ + m.params_lt2['CORPSE_pi2_wait_length'] \ + m.params_lt2['dd_extra_t_between_pi_pulses']) + np.linspace(-1e-6, 1e-6, pts_per_revival)) print sweep_array m.params_lt2['free_evolution_times'] = sweep_array m.params_lt2['DD_pi_phases'] = [0] m.dd_sweep_free_ev_time_msmt() # for the autoanalysis m.params_lt2['sweep_name'] = 'total free evolution time (us)' m.params_lt2['sweep_pts'] = 2*m.params_lt2['free_evolution_times'] / 1e-6 dd_msmt.finish(m,upload=UPLOAD,debug=False)
def dd_sweep_LDE_DD_XYX_t_between_pulse(name): m = dd_msmt.DynamicalDecoupling('calibrate_xyx_t_between_pulses') dd_msmt.prepare(m) pts = 21 m.params['pts'] = pts m.params['repetitions'] = 2000 m.params_lt2['wait_for_AWG_done'] = 1 m.params['dd_use_delay_reps'] = False #suppress optical pulses here m.params_lt2['eom_aom_on'] = False m.params_lt2['eom_pulse_amplitude'] = -0.26 #free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt2['free_evolution_times'] = np.ones( pts) * m.params_lt2['first_C_revival'] m.params_lt2['dd_spin_echo_times'] = np.ones( pts) * m.params_lt2['dd_spin_echo_time'] #m.params_lt2['A_SP_amplitude'] = 0. #use LDE element SP. # sweep params m.params_lt2['extra_ts_between_pulses'] = 400e-9 + np.linspace( -2e-6, 2e-6, pts) m.params_lt2['DD_pi_phases'] = [90, 0, 90] m.dd_sweep_LDE_spin_echo_time_msmt() # for the autoanalysis m.params_lt2['sweep_name'] = 'extra t between pi pulses (us)' m.params_lt2['sweep_pts'] = m.params_lt2['extra_ts_between_pulses'] / 1e-6 dd_msmt.finish(m, upload=UPLOAD, debug=False)
def dd_sweep_LDE_spin_echo_time(name): m = dd_msmt.DynamicalDecoupling("calibrate_LDE_spin_echo_time") dd_msmt.prepare(m) pts = 21 m.params["pts"] = pts m.params["repetitions"] = 2000 m.params_lt2["wait_for_AWG_done"] = 1 m.params["dd_use_delay_reps"] = False # suppress optical pulses here m.params_lt2["eom_aom_on"] = False m.params_lt2["eom_pulse_amplitude"] = -0.26 # free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt2["free_evolution_times"] = np.ones(pts) * m.params_lt2["first_C_revival"] m.params_lt2["extra_ts_between_pulses"] = np.ones(pts) * 0 # m.params_lt2['A_SP_amplitude'] = 0. #use LDE element SP. # sweep params m.params_lt2["dd_spin_echo_times"] = np.linspace(-150e-9, 0e-9, pts) m.params_lt2["DD_pi_phases"] = [0] m.dd_sweep_LDE_spin_echo_time_msmt() # for the autoanalysis m.params_lt2["sweep_name"] = "extra dd spin echo time (us)" m.params_lt2["sweep_pts"] = m.params_lt2["dd_spin_echo_times"] / 1e-6 dd_msmt.finish(m, upload=UPLOAD, debug=False)
def dd_sweep_LDE_DD_XY4_spin_echo(name): m = dd_msmt.DynamicalDecoupling('calibrate_xy4_t_between_pulses') dd_msmt.prepare(m) pts = 15 m.params['pts'] = pts m.params['repetitions'] = 1000 m.params_lt3['wait_for_AWG_done'] = 1 #free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt3['free_evolution_times'] = np.ones( pts) * m.params_lt3['first_C_revival'] #m.params_lt3['A_SP_amplitude'] = 0. #use LDE element SP. m.params_lt3['extra_ts_between_pulses'] = np.ones( pts) * m.params_lt3['dd_extra_t_between_pi_pulses'] # sweep params m.params_lt3['dd_spin_echo_times'] = np.linspace( -40e-9, 40e-9, pts) + m.params_lt3['dd_spin_echo_time'] m.params_lt3['DD_pi_phases'] = [0, -90, 0, -90] m.dd_sweep_LDE_spin_echo_time_msmt() # for the autoanalysis m.params_lt3['sweep_name'] = 'dd spin echo times (us)' m.params_lt3['sweep_pts'] = m.params_lt3['dd_spin_echo_times'] / 1e-6 dd_msmt.finish(m, upload=True, debug=False)
def dd_sweep_LDE_DD_XY4_free_evolution_time_t_coh(name): m = dd_msmt.DynamicalDecoupling('calibrate_xy4_fet') dd_msmt.prepare(m) pts = 51 ppts = pts * 4 + 5 m.params['pts'] = pts m.params['repetitions'] = 1500 m.params_lt3['wait_for_AWG_done'] = 1 #free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt3['extra_ts_between_pulses'] = np.ones( ppts) * m.params_lt3['dd_extra_t_between_pi_pulses'] m.params_lt3['dd_spin_echo_times'] = np.ones( ppts) * m.params_lt3['dd_spin_echo_time'] #m.params_lt3['A_SP_amplitude'] = 0. #use LDE element SP. # sweep params m.params_lt3['free_evolution_times1'] = np.linspace( -1e-6, 1e-6, pts) + m.params_lt3['first_C_revival'] m.params_lt3['free_evolution_times2'] = np.linspace( -1e-6, 1e-6, pts) + 2 * m.params_lt3['first_C_revival'] m.params_lt3['free_evolution_times3'] = np.linspace( -1e-6, 1e-6, 10) + 3 * m.params_lt3['first_C_revival'] m.params_lt3['free_evolution_times4'] = np.linspace( -1e-6, 1e-6, pts) + 4 * m.params_lt3['first_C_revival'] m.params_lt3['free_evolution_times'] = np.linspace( -5e-6, 5e-6, pts) + 3 * m.params_lt3['first_C_revival'] #np.array( [ m.params_lt3['free_evolution_times1'] , m.params_lt3['free_evolution_times2'] , #m.params_lt3['free_evolution_times3'], m.params_lt3['free_evolution_times4'] ]).flatten() print m.params_lt3['free_evolution_times'] m.params_lt3['DD_pi_phases'] = [0, -90, 0, -90] m.dd_sweep_LDE_spin_echo_time_msmt() # for the autoanalysis m.params_lt3['sweep_name'] = 'free evolution time (us)' m.params_lt3['sweep_pts'] = m.params_lt3['dd_extra_t_between_pi_pulses'] * (len(m.params_lt3['DD_pi_phases']) -1) + \ 2 * len(m.params_lt3['DD_pi_phases']) * m.params_lt3['free_evolution_times'] / 1e-6 dd_msmt.finish(m, upload=True, debug=False)
def dd_calibrate_C13_revival(name): m = dd_msmt.DynamicalDecoupling('calibrate_first_revival') dd_msmt.prepare(m) pts = 11 m.params['pts'] = pts m.params['repetitions'] = 2000 m.params_lt2['wait_for_AWG_done'] = 1 # sweep params #free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt2['free_evolution_times'] = 53.4e-6 + np.linspace(-2.5e-6, 2.5e-6, pts) #m.params_lt2['first_C_revival'] # m.params_lt2['DD_pi_phases'] = [0] m.dd_sweep_free_ev_time_msmt() # for the autoanalysis m.params_lt2['sweep_name'] = 'total free evolution time (us)' m.params_lt2['sweep_pts'] = 2*m.params_lt2['free_evolution_times'] / 1e-6 dd_msmt.finish(m,upload=True,debug=False)
def dd_sweep_LDE_DD_XY4_free_evolution_time_t_coh(name): m = dd_msmt.DynamicalDecoupling('calibrate_xy4_fet') dd_msmt.prepare(m) pts = 51 ppts = pts*4 + 5 m.params['pts'] = pts m.params['repetitions'] = 1500 m.params_lt2['wait_for_AWG_done'] = 1 #free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt2['extra_ts_between_pulses'] = np.ones(ppts) * m.params_lt2['dd_extra_t_between_pi_pulses'] m.params_lt2['dd_spin_echo_times'] = np.ones(ppts) * m.params_lt2['dd_spin_echo_time'] #m.params_lt2['A_SP_amplitude'] = 0. #use LDE element SP. # sweep params m.params_lt2['free_evolution_times1'] = np.linspace(-1e-6,1e-6,pts) + m.params_lt2['first_C_revival'] m.params_lt2['free_evolution_times2'] = np.linspace(-1e-6,1e-6,pts) + 2 * m.params_lt2['first_C_revival'] m.params_lt2['free_evolution_times3'] = np.linspace(-1e-6,1e-6,10) + 3 * m.params_lt2['first_C_revival'] m.params_lt2['free_evolution_times4'] = np.linspace(-1e-6,1e-6,pts) + 4 * m.params_lt2['first_C_revival'] m.params_lt2['free_evolution_times'] = np.linspace(-5e-6,5e-6,pts) + 3 * m.params_lt2['first_C_revival'] #np.array( [ m.params_lt2['free_evolution_times1'] , m.params_lt2['free_evolution_times2'] , #m.params_lt2['free_evolution_times3'], m.params_lt2['free_evolution_times4'] ]).flatten() print m.params_lt2['free_evolution_times'] m.params_lt2['DD_pi_phases'] = [0,-90,0,-90] m.dd_sweep_LDE_spin_echo_time_msmt() # for the autoanalysis m.params_lt2['sweep_name'] = 'free evolution time (us)' m.params_lt2['sweep_pts'] = m.params_lt2['dd_extra_t_between_pi_pulses'] * (len(m.params_lt2['DD_pi_phases']) -1) + \ 2 * len(m.params_lt2['DD_pi_phases']) * m.params_lt2['free_evolution_times'] / 1e-6 dd_msmt.finish(m,upload=True,debug=False)
def dd_calibrate_C13_revival(name): m = dd_msmt.DynamicalDecoupling('calibrate_first_revival') dd_msmt.prepare(m) pts = 11 m.params['pts'] = pts m.params['repetitions'] = 2000 m.params_lt3['wait_for_AWG_done'] = 1 # sweep params #free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt3['free_evolution_times'] = 53.4e-6 + np.linspace( -2.5e-6, 2.5e-6, pts) #m.params_lt3['first_C_revival'] # m.params_lt3['DD_pi_phases'] = [0] m.dd_sweep_free_ev_time_msmt() # for the autoanalysis m.params_lt3['sweep_name'] = 'total free evolution time (us)' m.params_lt3['sweep_pts'] = 2 * m.params_lt3['free_evolution_times'] / 1e-6 dd_msmt.finish(m, upload=True, debug=False)
def dd_bare_XY4(name): m = dd_msmt.DynamicalDecoupling('bare_xy4_noLDE') dd_msmt.prepare(m) pts = 11 m.params['pts'] = pts m.params['repetitions'] = 5000 m.params_lt2['wait_for_AWG_done'] = 1 # sweep params #free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt2['free_evolution_times'] = m.params_lt2['first_C_revival'] + np.linspace(-1e-6, 1e-6, pts) # # m.params_lt2['DD_pi_phases'] = [0, -90, 0, -90] m.dd_sweep_free_ev_time_msmt() # for the autoanalysis m.params_lt2['sweep_name'] = 'total free evolution time (us)' m.params_lt2['sweep_pts'] = m.params_lt2['dd_extra_t_between_pi_pulses'] * (len(m.params_lt2['DD_pi_phases']) -1) + \ 2 * len(m.params_lt2['DD_pi_phases']) * m.params_lt2['free_evolution_times'] / 1e-6 dd_msmt.finish(m,upload=True,debug=False)
def dd_sweep_LDE_DD_XY4_t_before_pi2(name): m = dd_msmt.DynamicalDecoupling('calibrate_xy4_t_before_pi2') dd_msmt.prepare(m) pts = 15 m.params['pts'] = pts m.params['repetitions'] = 1000 m.params_lt2['wait_for_AWG_done'] = 1 #free evolutiona time is half the total evolution time!!! from centre to centre of pulses #m.params_lt2['A_SP_amplitude'] = 0. #use LDE element SP. # sweep params m.params_lt2['extra_ts_before_pi2'] = np.linspace(-3e-6, 3e-6,pts) m.params_lt2['DD_pi_phases'] = [0,-90,0,-90] m.dd_sweep_LDE_DD_second_pi2() # for the autoanalysis m.params_lt2['sweep_name'] = 'extra t before pi2 pulse (us)' m.params_lt2['sweep_pts'] = m.params_lt2['extra_ts_before_pi2'] / 1e-6 dd_msmt.finish(m,upload=True,debug=False)
def dd_bare_XY4(name): m = dd_msmt.DynamicalDecoupling('bare_xy4_noLDE') dd_msmt.prepare(m) pts = 11 m.params['pts'] = pts m.params['repetitions'] = 5000 m.params_lt3['wait_for_AWG_done'] = 1 # sweep params #free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt3['free_evolution_times'] = m.params_lt3[ 'first_C_revival'] + np.linspace(-1e-6, 1e-6, pts) # # m.params_lt3['DD_pi_phases'] = [0, -90, 0, -90] m.dd_sweep_free_ev_time_msmt() # for the autoanalysis m.params_lt3['sweep_name'] = 'total free evolution time (us)' m.params_lt3['sweep_pts'] = m.params_lt3['dd_extra_t_between_pi_pulses'] * (len(m.params_lt3['DD_pi_phases']) -1) + \ 2 * len(m.params_lt3['DD_pi_phases']) * m.params_lt3['free_evolution_times'] / 1e-6 dd_msmt.finish(m, upload=True, debug=False)
def dd_sweep_LDE_DD_XY4_t_before_pi2(name): m = dd_msmt.DynamicalDecoupling('calibrate_xy4_t_before_pi2') dd_msmt.prepare(m) pts = 15 m.params['pts'] = pts m.params['repetitions'] = 1000 m.params_lt3['wait_for_AWG_done'] = 1 #free evolutiona time is half the total evolution time!!! from centre to centre of pulses #m.params_lt3['A_SP_amplitude'] = 0. #use LDE element SP. # sweep params m.params_lt3['extra_ts_before_pi2'] = np.linspace(-3e-6, 3e-6, pts) m.params_lt3['DD_pi_phases'] = [0, -90, 0, -90] m.dd_sweep_LDE_DD_second_pi2() # for the autoanalysis m.params_lt3['sweep_name'] = 'extra t before pi2 pulse (us)' m.params_lt3['sweep_pts'] = m.params_lt3['extra_ts_before_pi2'] / 1e-6 dd_msmt.finish(m, upload=True, debug=False)
def dd_calibrate_C13_revival(name): m = dd_msmt.DynamicalDecoupling("calibrate_first_revival") dd_msmt.prepare(m) m.params["dd_use_delay_reps"] = False pts = 11 m.params["pts"] = pts m.params["repetitions"] = 2000 m.params_lt2["wait_for_AWG_done"] = 1 # sweep params # free evolutiona time is half the total evolution time!!! from centre to centre of pulses m.params_lt2["free_evolution_times"] = 52.4e-6 + np.linspace( -2.5e-6, 2.5e-6, pts ) # m.params_lt2['first_C_revival'] # m.params_lt2["DD_pi_phases"] = [0] m.dd_sweep_free_ev_time_msmt() # for the autoanalysis m.params_lt2["sweep_name"] = "total free evolution time (us)" m.params_lt2["sweep_pts"] = 2 * m.params_lt2["free_evolution_times"] / 1e-6 dd_msmt.finish(m, upload=UPLOAD, debug=False)
def dd_sweep_LDE_DD_XY4_pi2_pulse_amp(name): m = dd_msmt.DynamicalDecoupling('calibrate_xy4_t_before_pi2') dd_msmt.prepare(m) pts = 16 m.params['pts'] = pts m.params['repetitions'] = 2000 m.params_lt2['wait_for_AWG_done'] = 1 #free evolutiona time is half the total evolution time!!! from centre to centre of pulses #m.params_lt2['A_SP_amplitude'] = 0. #use LDE element SP. m.params_lt2['extra_ts_before_pi2'] = np.ones(pts) * 0 # sweep params m.params_lt2['pi2_pulse_amps'] = np.linspace(-0.15, 0.15, pts) + m.params_lt2['CORPSE_pi2_amp'] m.params_lt2['DD_pi_phases'] = [0,-90,0,-90] m.dd_sweep_LDE_DD_second_pi2() # for the autoanalysis m.params_lt2['sweep_name'] = 'pi2 pulse amplitude (V)' m.params_lt2['sweep_pts'] = m.params_lt2['pi2_pulse_amps'] dd_msmt.finish(m,upload=True,debug=False)