예제 #1
0
def _create_laser_pulses(msmt,Gate):
    Gate.AWG_repump = pulse.SquarePulse(channel ='AOM_Newfocus',name = 'repump',
        length = msmt.params['LDE_SP_duration'],amplitude = 1.)

    if (msmt.params['is_two_setup_experiment'] > 0 and msmt.current_setup == 'lt4'):
        ### The LT4 eom is not connected for this measurement. set amplitudes to 0.
        msmt.params['eom_off_amplitude'] = 0
        msmt.params['eom_pulse_amplitude'] = 0
        msmt.params['eom_overshoot1'] = 0
        msmt.params['eom_overshoot2'] = 0
        msmt.params['eom_overshoot2'] = 0

    Gate.eom_pulse =     msmt.eom_pulse = eom_pulses.OriginalEOMAOMPulse('Eom_Aom_Pulse', 
                    eom_channel = 'EOM_Matisse',
                    aom_channel = 'EOM_AOM_Matisse',
                    eom_pulse_duration      = msmt.params['eom_pulse_duration'],
                    eom_off_duration        = msmt.params['eom_off_duration'],
                    eom_off_amplitude       = msmt.params['eom_off_amplitude'],
                    eom_pulse_amplitude     = msmt.params['eom_pulse_amplitude'],
                    eom_overshoot_duration1 = msmt.params['eom_overshoot_duration1'],
                    eom_overshoot1          = msmt.params['eom_overshoot1'],
                    eom_overshoot_duration2 = msmt.params['eom_overshoot_duration2'],
                    eom_overshoot2          = msmt.params['eom_overshoot2'],
                    aom_risetime            = msmt.params['aom_risetime'],
                    aom_amplitude           = msmt.params['aom_amplitude'])

    Gate.yellow = pulse.SquarePulse(channel = 'AOM_Yellow',name = 'reionize',
                        length = msmt.params['LDE_SP_duration'],amplitude = 1.)
예제 #2
0
def _setup_params(msmt, setup):
    msmt.params['setup'] = setup

    if setup == 'lt4':

        import measurement.scripts.bell.params_lt4 as params_lt4
        reload(params_lt4)

        for k in params_lt4.params_lt4:
            msmt.params[k] = params_lt4.params_lt4[k]
        msmt.params['MW_BellStateOffset'] = 0.0
        bseq.pulse_defs_lt4(msmt)
    elif setup == 'lt3':

        import measurement.scripts.bell.params_lt3 as params_lt3
        reload(params_lt3)

        for k in params_lt3.params_lt3:
            msmt.params[k] = params_lt3.params_lt3[k]
        msmt.params['MW_BellStateOffset'] = 0.0
        bseq.pulse_defs_lt3(msmt)
    elif setup == 'lt1':

        msmt.params['setup'] = 'lt4'

        # LDE Sequence in the AWGs # params taken from the previous LT1 params
        msmt.params['eom_pulse_amplitude'] = 1.9
        msmt.params['eom_pulse_duration'] = 2e-9
        msmt.params['eom_off_duration'] = 50e-9
        msmt.params['eom_off_amplitude'] = -0.293  # calibration 2015-11-04
        msmt.params['eom_overshoot_duration1'] = 20e-9
        msmt.params['eom_overshoot1'] = -0.04
        msmt.params['eom_overshoot_duration2'] = 4e-9
        msmt.params['eom_overshoot2'] = -0.00
        msmt.params['aom_risetime'] = 17e-9
        msmt.params['aom_amplitude'] = 0.57  #CR 31

        msmt.eom_pulse = eom_pulses.OriginalEOMAOMPulse(
            'Eom Aom Pulse',
            eom_channel='EOM_Matisse',
            aom_channel='FM',
            eom_pulse_duration=msmt.params['eom_pulse_duration'],
            eom_off_duration=msmt.params['eom_off_duration'],
            eom_off_amplitude=msmt.params['eom_off_amplitude'],
            eom_pulse_amplitude=msmt.params['eom_pulse_amplitude'],
            eom_overshoot_duration1=msmt.params['eom_overshoot_duration1'],
            eom_overshoot1=msmt.params['eom_overshoot1'],
            eom_overshoot_duration2=msmt.params['eom_overshoot_duration2'],
            eom_overshoot2=msmt.params['eom_overshoot2'],
            aom_risetime=msmt.params['aom_risetime'],
            aom_amplitude=msmt.params['aom_amplitude'])
예제 #3
0
def pulse_defs_lt4(msmt):

    # a waiting pulse on the MW pulsemod channel
    msmt.T = pulse.SquarePulse(channel='MW_pulsemod',
                               length=50e-9,
                               amplitude=0)

    msmt.TIQ = pulse.SquarePulse(channel='MW_Imod', length=10e-9, amplitude=0)

    msmt.T_sync = pulse.SquarePulse(channel='sync', length=50e-9, amplitude=0)

    # some not yet specified pulse on the electron
    msmt.e_pulse = pulselib.MW_IQmod_pulse(
        'MW pulse',
        I_channel='MW_Imod',
        Q_channel='MW_Qmod',
        PM_channel='MW_pulsemod',
        PM_risetime=msmt.params['MW_pulse_mod_risetime'])

    msmt.MW_pi = pulselib.HermitePulse_Envelope(
        'Hermite pi-pulse',
        MW_channel='MW_Imod',
        PM_channel='MW_pulsemod',
        second_MW_channel='MW_Qmod',
        amplitude=msmt.params['MW_pi_amp'],
        length=msmt.params['MW_pi_duration'],
        PM_risetime=msmt.params['MW_pulse_mod_risetime'],
        pi2_pulse=False)

    msmt.MW_pi2 = pulselib.HermitePulse_Envelope(
        'Hermite pi/2-pulse',
        MW_channel='MW_Imod',
        PM_channel='MW_pulsemod',
        second_MW_channel='MW_Qmod',
        amplitude=msmt.params['MW_pi2_amp'],
        length=msmt.params['MW_pi2_duration'],
        PM_risetime=msmt.params['MW_pulse_mod_risetime'],
        pi2_pulse=True)

    msmt.MW_BellAngle = pulselib.HermitePulse_Envelope(
        'Hermite pi/2-pulse',
        MW_channel='MW_Imod',
        PM_channel='MW_pulsemod',
        second_MW_channel='MW_Qmod',
        amplitude=msmt.params['MW_pi2_amp'] *
        msmt.params['MW_BellStateFactor'],
        length=msmt.params['MW_pi2_duration'],
        PM_risetime=msmt.params['MW_pulse_mod_risetime'],
        pi2_pulse=True)

    msmt.MW_RND_I = pulselib.HermitePulse_Envelope(
        'Hermite RND-pulse-I',
        MW_channel='MW_Imod',
        PM_channel='MW_pulsemod',
        amplitude=msmt.params['MW_RND_amp_I'],
        length=msmt.params['MW_RND_duration_I'],
        PM_risetime=msmt.params['MW_pulse_mod_risetime'],
        pi2_pulse=True)
    msmt.MW_RND_Q = pulselib.HermitePulse_Envelope(
        'Hermite RND-pulse-Q',
        MW_channel='MW_Qmod',
        PM_channel='MW_pulsemod',
        amplitude=msmt.params['MW_RND_amp_Q'],
        length=msmt.params['MW_RND_duration_Q'],
        PM_risetime=msmt.params['MW_pulse_mod_risetime'],
        pi2_pulse=True)

    msmt.eom_pulse = eom_pulses.OriginalEOMAOMPulse(
        'Eom Aom Pulse',
        eom_channel='EOM_Matisse',
        aom_channel='EOM_AOM_Matisse',
        eom_pulse_duration=msmt.params['eom_pulse_duration'],
        eom_off_duration=msmt.params['eom_off_duration'],
        eom_off_amplitude=msmt.params['eom_off_amplitude'],
        eom_pulse_amplitude=msmt.params['eom_pulse_amplitude'],
        eom_overshoot_duration1=msmt.params['eom_overshoot_duration1'],
        eom_overshoot1=msmt.params['eom_overshoot1'],
        eom_overshoot_duration2=msmt.params['eom_overshoot_duration2'],
        eom_overshoot2=msmt.params['eom_overshoot2'],
        aom_risetime=msmt.params['aom_risetime'],
        aom_amplitude=msmt.params['aom_amplitude'])

    msmt.RND_halt_off_pulse = pulse.SquarePulse(
        channel='RND_halt', amplitude=2.0, length=msmt.params['RND_duration'])

    ### synchronizing, etc
    msmt.adwin_trigger_pulse = pulse.SquarePulse(channel='adwin_sync',
                                                 length=5e-6,
                                                 amplitude=2)

    msmt.sync = pulse.SquarePulse(channel='sync', length=50e-9, amplitude=1.0)
    msmt.SP_pulse = pulse.SquarePulse(channel='AOM_Newfocus', amplitude=1.0)
    msmt.RO_pulse = pulse.SquarePulse(channel='EOM_AOM_Matisse', amplitude=0.0)
    msmt.yellow_pulse = pulse.SquarePulse(channel='AOM_Yellow', amplitude=1.0)

    msmt.plu_gate = pulse.SquarePulse(channel='plu_sync',
                                      amplitude=1.0,
                                      length=msmt.params['PLU_gate_duration'])

    return True