Пример #1
0
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)
Пример #2
0
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')
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
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)
Пример #6
0
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()