Esempio n. 1
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')
Esempio n. 2
0
def calibrate_Hermite_pi2_pulse(name, params, debug=False):

    m = pulsar_msmt.GeneralPi2Calibration(name)

    prepare(m, params)
    pulse_pi, pulse_pi2 = pulse_defs(m, pulse_type='Hermite')

    m.params['pulse_type'] = 'Hermite'
    m.params['IQmod'] = False

    pts = 11
    m.params['pts_awg'] = pts
    m.params['repetitions'] = 3000
    m.params['Ex_SP_amplitude'] = 0
    m.params['wait_for_AWG_done'] = 1

    # 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

    sweep_axis = m.params['MW_pi2_amp'] + np.linspace(-0.15, 0.15, 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))

    finish(m, debug=debug, pulse_pi=pulse_pi, pulse_pi2=pulse_pi2)
def calibrate_pi2_pulse(name, debug=False):
    m = pulsar_msmt.GeneralPi2Calibration(name)

    m.params.from_dict(qt.exp_params['samples'][SAMPLE])
    m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO'])
    m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['AdwinSSRO'])
    m.params.from_dict(
        qt.exp_params['protocols'][SAMPLE_CFG]['AdwinSSRO-integrated'])
    m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO+espin'])
    m.params.from_dict(qt.exp_params['protocols']['cr_mod'])
    m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['pulses'])

    print 'pulse_shape =', m.params['pulse_shape']

    pts = 11
    m.params['pulse_type'] = 'Square QuMem'
    m.params['pts_awg'] = pts
    m.params['repetitions'] = 1500

    # Append pi & pi/2 pulses to instance
    m.MW_pi = ps.X_pulse(m)

    m.MW_pi2 = ps.Xpi2_pulse(m)

    # 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

    # Square pulses
    sweep_axis = m.params['fast_pi2_amp'] + np.linspace(-0.1, 0.1, pts)
    m.params['pulse_pi2_sweep_amps'] = sweep_axis

    # Hermite pulses
    sweep_axis = m.params['Hermite_fast_pi2_amp'] + np.linspace(
        -0.08, 0.08, 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)
def calibrate_pi2_pulse(name, debug=False, mw2=False):
    m = pulsar_msmt.GeneralPi2Calibration(name)
    espin_funcs.prepare(m)

    pts = 11
    m.params['pulse_type'] = 'Hermite'
    m.params['pts_awg'] = pts
    m.params['repetitions'] = 2000

    if mw2:
        print m.params['mw2_pulse_shape']
        m.MW_pi = ps.mw2_X_pulse(m)
        m.MW_pi2 = ps.mw2_Xpi2_pulse(m)
        sweep_axis = m.params['mw2_Hermite_pi2_amp'] + np.linspace(
            -0.12, 0.12, pts)
        m.params['pulse_pi2_sweep_amps'] = sweep_axis
    else:
        print m.params['pulse_shape']
        m.MW_pi = ps.X_pulse(m)
        m.MW_pi2 = ps.Xpi2_pulse(m)
        sweep_axis = m.params['Hermite_pi2_amp'] + np.linspace(
            -0.12, 0.12, pts)
        m.params['pulse_pi2_sweep_amps'] = sweep_axis

    # print 'this is the length',m.MW_pi2.length
    # 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

    # Square pulses
    # sweep_axis =  m.params['fast_pi2_amp'] + np.linspace(-0.02, 0.02, 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)