def cal_CORPSE_pi2(name): """ Do a pi/2 with and without a pi pulse afterward, sweeping the amplitude of the pi/2. """ m = CORPSEPi2Calibration(name) funcs.prepare(m) pts = 21 m.params['pts_awg'] = pts # 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['repetitions'] = 2000 m.params['wait_for_AWG_done'] = 1 m.params['CORPSE_mod_frq'] = m.params['CORPSE_pi_mod_frq'] sweep_axis = 0.42 + linspace(-0.06, 0.06, pts) m.params['CORPSE_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)) funcs.finish(m, upload=UPLOAD, debug=DEBUG)
def cal_CORPSE_pi2(name): m = CORPSEPi2Calibration(name + 'M=1') funcs.prepare(m) pts = 11 m.params['pts'] = pts m.params['repetitions'] = 1000 m.params['wait_for_AWG_done'] = 1 # sweep params m.params['CORPSE_pi2_sweep_amps'] = np.linspace(0.42, 0.52, pts) # m.params['multiplicity'] = 1 name = name + 'M={}'.format(m.params['multiplicity']) m.params['delay_element_length'] = 1e-6 # for the autoanalysis m.params['sweep_name'] = 'CORPSE pi/2 amplitude (V)' m.params['sweep_pts'] = m.params['CORPSE_pi2_sweep_amps'] funcs.finish(m)
def cal_CORPSE_pi2_alternative(name, M): m = CORPSEPi2Calibration(name + str(M)) funcs.prepare(m) ### Currently does not work, because element length fill-up causes dephasing. #Calibration method abandoned for now pts = 11 m.params['pts'] = pts m.params['repetitions'] = 1000 m.params['wait_for_AWG_done'] = 1 # sweep params m.params['CORPSE_pi2_sweep_amps'] = np.linspace(0.5, 0.6, pts) # m.params['multiplicity'] = M name = name + 'M={}'.format(m.params['multiplicity']) m.params['delay_element_length'] = 10e-9 # for the autoanalysis m.params['sweep_name'] = 'CORPSE pi/2 amplitude (V)' m.params['sweep_pts'] = m.params['CORPSE_pi2_sweep_amps'] funcs.finish(m)
def find_CORPSE_pi2_fidelity(name): m = CORPSEPi2Calibration(name + 'fidelity_M=1') funcs.prepare(m) pts = 11 m.params['pts'] = pts m.params['repetitions'] = 1000 m.params['wait_for_AWG_done'] = 1 # sweep params m.params['CORPSE_pi2_sweep_amps'] = np.ones(pts) * m.params[ 'CORPSE_pi2_amp'] #np.linspace(0.54, 0.66, pts)# m.params['multiplicity'] = 1 name = name + 'M={}'.format(m.params['multiplicity']) m.params['delay_element_length'] = 1e-6 m.params['delay_reps'] = 15 # for the autoanalysis m.params['sweep_name'] = '' m.params['sweep_pts'] = np.arange(pts) # m.params['CORPSE_pi_sweep_amps'] funcs.finish(m)