def calibrate_pi2_pulse_2(name, multiplicity=1, debug=False): m = pulsar_msmt.GeneralPi2Calibration_2(name) sweep_Bell._setup_params(m, setup=qt.current_setup) pts = 11 m.params['multiplicity'] = multiplicity m.params['pulse_type'] = 'Hermite Bell' m.params['pts_awg'] = pts m.params['repetitions'] = 2000 if multiplicity == 1 else 5000 # we do actually two msmts for every sweep point, that's why the awg gets only half of the # pts; m.params['pts'] = pts m.params['Ex_SP_amplitude'] = 0 m.params['SP_duration'] = 50 m.params['wait_for_AWG_done'] = 1 rng = 0.1 if multiplicity == 1 else 0.07 sweep_axis = m.params['MW_pi2_amp'] + np.linspace(-rng, rng, pts) m.params['pulse_pi2_sweep_amps'] = sweep_axis m.params['delay_reps'] = 15 # for the autoanalysis m.params['sweep_name'] = 'MW pi/2 amp (V)' m.params['sweep_pts'] = sweep_axis m.params['wait_for_AWG_done'] = 1 espin_funcs.finish(m, debug=debug, pulse_pi=m.MW_pi, pulse_pi2=m.MW_pi2)
def calibrate_pi2_pulse(name, debug=False): m = pulsar_msmt.GeneralPi2Calibration(name) sweep_Bell._setup_params(m, setup=qt.current_setup) pts = 11 m.params['pulse_type'] = 'Hermite Bell' m.params['pts_awg'] = pts m.params['repetitions'] = 5000 # we do actually two msmts for every sweep point, that's why the awg gets only half of the # pts; m.params['pts'] = 2 * pts m.params['Ex_SP_amplitude'] = 0 m.params['SP_duration'] = 50 m.params['wait_for_AWG_done'] = 1 sweep_axis = m.params['MW_pi2_amp'] + np.linspace(-0.1, 0.1, pts) m.params['pulse_pi2_sweep_amps'] = sweep_axis # for the autoanalysis m.params['sweep_name'] = 'MW pi/2 amp (V)' m.params['sweep_pts'] = np.sort(np.append(sweep_axis, sweep_axis)) espin_funcs.finish(m, debug=debug, pulse_pi=m.MW_pi, pulse_pi2=m.MW_pi2) #, upload='old_method')
def calibrate_pi_pulse(name, multiplicity=1, debug=False): m = pulsar_msmt.GeneralPiCalibration(name) sweep_Bell._setup_params(m, setup=qt.current_setup) m.params['multiplicity'] = multiplicity m.params['pulse_type'] = 'Hermite Bell' pts = 11 m.params['Ex_SP_amplitude'] = 0 m.params['SP_duration'] = 100 m.params['pts'] = pts m.params['repetitions'] = 1000 if multiplicity == 1 else 5000 # sweep params rng = 0.2 if multiplicity == 1 else 0.05 # rng = 0.05 m.params['MW_pulse_amplitudes'] = m.params['MW_pi_amp'] + np.linspace( -rng, rng, pts) #XXXXX -0.05, 0.05 #m.params['MW_pulse_amplitudes'] = np.linspace(0.52, 0.59, pts) #0.872982*np.ones(pts)# m.params['delay_reps'] = 15 # spacing between pi pulses in us # for the autoanalysis m.params['sweep_name'] = 'MW amplitude (V)' m.params['sweep_pts'] = m.params['MW_pulse_amplitudes'] m.params['wait_for_AWG_done'] = 1 espin_funcs.finish(m, debug=debug, pulse_pi=m.MW_pi)
def check_pi4_pulse_poles(name, debug=False): m = pulsar_msmt.GeneralNPi4Calibration_3(name) sweep_Bell._setup_params(m, setup = qt.current_setup) m.params['pulse_type'] = 'Hermite Bell' pts = 11 m.params['Ex_SP_amplitude']=0 m.params['SP_duration'] = 100 m.params['pts'] = pts m.params['repetitions'] = 5000 # sweep params sweep_axis = m.params['MW_Npi4_amp'] + np.linspace(-0.05, 0.05, pts) m.params['pulse_Npi4_sweep_amps'] = sweep_axis m.params['pulse_Npi4_sweep_durations']=np.ones(pts)*m.params['MW_Npi4_duration'] m.params['pulse_Npi4_sweep_phases'] = np.zeros(pts) m.params['evolution_times'] = np.ones(pts)*500e-9 m.params['extra_wait_final_Npi4'] = np.ones(pts)*0. # for the autoanalysis m.params['sweep_name'] = 'MW amplitude (V)' m.params['sweep_pts'] = sweep_axis m.params['wait_for_AWG_done'] = 1 espin_funcs.finish(m, debug=debug, pulse_pi=m.MW_pi, pulse_pi4=m.MW_pi2)
def calibrate_Npi4_pulse(name,debug=False): m = pulsar_msmt.GeneralNPi4Calibration(name) sweep_Bell._setup_params(m, setup = qt.current_setup) pts = 11 m.params['pulse_type'] = 'Hermite Bell' m.params['pts_awg'] = pts m.params['repetitions'] = 5000 # we do actually two msmts for every sweep point, that's why the awg gets only half of the pts; m.params['pts'] = 2*pts m.params['Ex_SP_amplitude']=0 m.params['SP_duration'] = 50 m.params['wait_for_AWG_done'] = 1 sweep_axis = m.params['MW_Npi4_amp'] + np.linspace(-0.1, 0.1, pts) m.params['pulse_Npi4_sweep_amps'] = sweep_axis m.params['pulse_Npi4_sweep_durations']=np.ones(pts)*m.params['MW_Npi4_duration'] m.params['pulse_Npi4_sweep_phases'] = np.zeros(pts) m.params['evolution_times'] = np.ones(pts)*500e-9 m.params['extra_wait_final_Npi4'] = np.ones(pts)*0. # for the autoanalysis m.params['sweep_name'] = 'MW Npi/4 amp (V)' m.params['sweep_pts'] = np.sort(np.append(sweep_axis,sweep_axis)) espin_funcs.finish(m, debug=debug, pulse_pi=m.MW_pi, pulse_pi2=m.MW_pi2)
def test_mw_aftereffect(name, debug=False): m = TestMWaftereffect(name) sweep_Bell._setup_params(m, setup=qt.current_setup) m.params['pulse_type'] = 'Hermite Bell' pts = 7 m.params['Ex_SP_amplitude'] = 0 m.params['SP_duration'] = 100 m.params['pts'] = pts m.params['repetitions'] = 2000 m.params['syncs_per_sweep'] = 250 m.params['mw_pi2_opt_1_sep'] = np.ones( pts) * 20e-9 #np.linspace(100,1000,pts)*1e-9 m.params['opt_sep'] = np.ones( pts) * 250e-9 #np.linspace(250,1000,pts)*1e-9# m.params['mw_pi_opt_2_sep'] = np.ones(pts) * 20e-9 m.params['mw_pi2_amps'] = m.params['MW_pi2_amp'] + np.linspace( -0.05, 0.05, pts) # for the autoanalysis m.params['sweep_name'] = 'mw_pi2_amps [V]' m.params['sweep_pts'] = m.params['mw_pi2_amps'] * 1e9 m.params['wait_for_AWG_done'] = 1 m.params['count_marker_channel'] = 1 m.autoconfig() m.generate_sequence(upload=True) if not debug: m.setup(debug=debug, mw=True) m.run(autoconfig=False, setup=False, debug=debug) m.save() m.finish()