예제 #1
0
def darkesrp1_auto(name):

    m = pulsar_msmt.DarkESR(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['mw_frq'] = m.params['ms+1_cntr_frq'] - 43e6  #MW source frequency
    #m.params['mw_frq'] = 2*m.params['zero_field_splitting'] - m.params['ms-1_cntr_frq'] -43e6

    m.params['mw_power'] = 20
    m.params['repetitions'] = 3000

    m.params['ssbmod_frq_start'] = 43e6 - 6.5e6
    m.params['ssbmod_frq_stop'] = 43e6 + 6.5e6
    m.params['pts'] = 151
    m.params['pulse_length'] = 2e-6
    m.params['ssbmod_amplitude'] = 0.05

    m.autoconfig()
    m.generate_sequence(upload=False)
    m.run()
    m.save()
    m.finish()
예제 #2
0
def darkesr(name, range_MHz, pts, reps):

    m = pulsar_msmt.DarkESR(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['mw_frq'] = m.params['ms+1_cntr_frq']-43e6 #MW source frequency
    #m.params['mw_frq'] = 2*m.params['zero_field_splitting'] - m.params['ms-1_cntr_frq'] -43e6

    m.params['mw_power'] = 20
    m.params['repetitions'] = reps

    m.params['ssbmod_frq_start'] = 43e6 - range_MHz*1e6 ## first time we choose a quite large domain to find the three dips (15)
    m.params['ssbmod_frq_stop'] = 43e6 + range_MHz*1e6
    m.params['pts'] = pts
    m.params['pulse_length'] = 2e-6
    m.params['ssbmod_amplitude'] = 0.03

    m.autoconfig()
    m.generate_sequence(upload=True)
    m.run()
    m.save()
    m.finish()
예제 #3
0
def darkesr(name):
    m = pulsar_msmt.DarkESR(name)

    m.params.from_dict(qt.cfgman['protocols']['AdwinSSRO'])
    m.params.from_dict(qt.cfgman['protocols']['sil9-default']['AdwinSSRO'])
    m.params.from_dict(
        qt.cfgman['protocols']['sil9-default']['AdwinSSRO-integrated'])

    m.params.from_dict(qt.cfgman['protocols']['AdwinSSRO+espin'])

    ssro.AdwinSSRO.repump_aom = qt.instruments['GreenAOM']
    m.params['repump_duration'] = m.params['green_repump_duration']
    m.params['repump_amplitude'] = m.params['green_repump_amplitude']

    m.params['mw_frq'] = 2.8e9
    m.params['ssbmod_frq_start'] = 29e6 - 6e6  #22e6#18e6#
    m.params['ssbmod_frq_stop'] = 29e6 + 6e6  #34e6#33e6#
    m.params['pts'] = 101
    m.params['mw_power'] = 20
    m.params['pulse_length'] = 2.5e-6
    m.params['repetitions'] = 2000
    m.params['ssbmod_amplitude'] = 0.035
    m.params['MW_pulse_mod_risetime'] = 10e-9

    m.autoconfig()
    m.generate_sequence(upload=True)
    m.run()
    m.save()
    m.finish()
예제 #4
0
def darkesr(name, ms='msp'):

    m = pulsar_msmt.DarkESR(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'])

    if ms == 'msp':
        m.params[
            'mw_frq'] = m.params['ms+1_cntr_frq'] - 43e6  #MW source frequency
        m.params['ssbmod_amplitude'] = 0.03
    elif ms == 'msm':
        m.params['mw_frq'] = 2 * m.params['zero_field_splitting'] - m.params[
            'ms+1_cntr_frq'] - 43e6
        m.params['ssbmod_amplitude'] = 0.015

    m.params['repetitions'] = 1000
    m.params['ssbmod_frq_start'] = 43e6 - 5.5e6
    m.params['ssbmod_frq_stop'] = 43e6 + 5.5e6
    m.params['pts'] = 81
    m.params['pulse_length'] = 2e-6

    m.autoconfig()
    m.generate_sequence()
    m.run()
    m.save()
    m.finish()
예제 #5
0
    def darkesr(name, range_MHz, pts, reps, power, MW_power, pulse_length):

        m = pulsar_msmt.DarkESR(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['temp'] = temperature_sensor.get_readlastval()
        m.params['magnet_position'] = magnet_Z_scanner.GetPosition()

        m.params[
            'mw_frq'] = m.params['ms-1_cntr_frq'] - 43e6  #MW source frequency

        m.params['mw_power'] = MW_power
        m.params['repetitions'] = reps

        m.params[
            'ssbmod_frq_start'] = 43e6 - range_MHz * 1e6  ## first time we choose a quite large domain to find the three dips (15)
        m.params['ssbmod_frq_stop'] = 43e6 + range_MHz * 1e6
        m.params['pts'] = pts
        m.params['pulse_length'] = pulse_length
        m.params['ssbmod_amplitude'] = power  #0.01

        m.params['sweep_pts'] = (np.linspace(
            m.params['ssbmod_frq_start'], m.params['ssbmod_frq_stop'],
            m.params['pts']) + m.params['mw_frq']) * 1e-9

        m.autoconfig()
        m.generate_sequence(upload=True)
        m.run()
        m.save()
        m.finish()
예제 #6
0
def darkesrp1(name):

    m = pulsar_msmt.DarkESR(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['mw_frq'] = 3.754e9 - 43e6  #MW source frequency
    m.params['mw_power'] = 20
    m.params['repetitions'] = 3000

    m.params['ssbmod_frq_start'] = 43e6 - 6.5e6
    m.params['ssbmod_frq_stop'] = 43e6 + 6.5e6
    m.params['pts'] = 41
    m.params['pulse_length'] = 2e-6
    m.params['ssbmod_amplitude'] = 0.05

    m.autoconfig()
    m.generate_sequence(upload=True)
    m.run()
    m.save()
    m.finish()
예제 #7
0
def darkesrp1(name):

    m = pulsar_msmt.DarkESR(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['mw_mod_freq'] = 43e6
    # m.params['SP_duration'] = 50
    # m.params['ms+1_cntr_frq'] =  3.725838e9
    m.params['mw_frq'] = m.params['ms+1_cntr_frq'] - m.params[
        'mw_mod_freq']  #MW source frequency
    # m.params['mw_frq'] = 2*m.params['zero_field_splitting'] - m.params['ms-1_cntr_frq'] - m.params['mw_mod_freq']

    m.params['mw_power'] = -1
    m.params['repetitions'] = 1000

    m.params['ssbmod_frq_start'] = m.params['mw_mod_freq'] - 4e6
    m.params['ssbmod_frq_stop'] = m.params['mw_mod_freq'] + 4e6
    m.params['pts'] = 101
    m.params['pulse_length'] = 3e-6
    m.params['ssbmod_amplitude'] = 0.08

    m.params['sweep_pts'] = (
        np.linspace(m.params['ssbmod_frq_start'], m.params['ssbmod_frq_stop'],
                    m.params['pts']) + m.params['mw_frq']) * 1e-9

    m.autoconfig()
    m.generate_sequence(upload=True)
    m.run()
    m.save()
    m.finish()
예제 #8
0
def darkesrp1(name):
    '''dark ESR on the 0 <-> +1 transition
    '''

    m = pulsar_msmt.DarkESR(name+'_p1')
    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']['Gretel_sil10']['Magnetometry'])

    m.params['ssmod_detuning'] = m.params['MW_modulation_frequency']
    m.params['mw_frq']         = m.params['ms+1_cntr_frq'] - m.params['ssmod_detuning'] # MW source frequency, detuned from the target
    #m.params['mw_power'] = 20
    m.params['repetitions'] = 500
    m.params['range']        = 10e6
    m.params['pts'] = 101
    m.params['pulse_length'] = 2e-6
    m.params['ssbmod_amplitude'] = 0.005
    m.params['Ex_SP_amplitude']=0

    m.params['ssbmod_frq_start'] = m.params['ssmod_detuning'] - m.params['range']
    m.params['ssbmod_frq_stop']  = m.params['ssmod_detuning'] + m.params['range']

    m.autoconfig()
    m.generate_sequence(upload=True)
    m.run()
    m.save()
    m.finish()
예제 #9
0
def darkesr(name, ms = 'msp', range_MHz = 6, pts = 81, reps = 1000, freq=0, 
        pulse_length = 2e-6, ssbmod_amplitude = None, mw_power = 20, mw_switch=False):
    if mw_switch:
        m = pulsar_msmt.DarkESR_Switch(name)
    else:
        m = pulsar_msmt.DarkESR(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']['111_1_sil18']['pulses']) #Added to include the MW switch MA

    m.params['mw_power'] = mw_power
    m.params['temp'] = temperature_sensor.get_readlastval()
    m.params['magnet_position'] = magnet_Z_scanner.GetPosition()

    if ms == 'msp':
        m.params['mw_frq'] = m.params['ms+1_cntr_frq']-43e6 #MW source frequency
        m.params['pulse_length'] = pulse_length
        
        if ssbmod_amplitude == None:
            m.params['ssbmod_amplitude'] = 0.025
        else:
            m.params['ssbmod_amplitude'] = ssbmod_amplitude

    elif ms == 'msm':
        m.params['mw_frq'] = m.params['ms-1_cntr_frq'] - 43e6
        m.params['pulse_length'] = pulse_length
        
        if ssbmod_amplitude == None:
            m.params['ssbmod_amplitude'] = 0.010
        else:
            m.params['ssbmod_amplitude'] = ssbmod_amplitude
        
    if freq != 0:
        m.params['mw_frq'] = freq - 43e6
            
    m.params['repetitions'] = reps

    m.params['ssbmod_frq_start'] = 43e6 - range_MHz*1e6 
    m.params['ssbmod_frq_stop'] = 43e6 + range_MHz*1e6
    m.params['pts'] = pts

    m.params['sweep_pts'] = (np.linspace(m.params['ssbmod_frq_start'],
                    m.params['ssbmod_frq_stop'], m.params['pts']) 
                    + m.params['mw_frq'])*1e-9

    m.autoconfig()
    m.generate_sequence(upload=True)
    m.run()
    m.save()
    m.finish()
예제 #10
0
def darkesr(name, **kw):
    '''dark ESR on the 0 <-> +/-1 transition
    '''

    m = pulsar_msmt.DarkESR(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'])

    # m.params['ssmod_detuning'] = 250e6#m.params['MW_modulation_frequency']
    m1_transition = kw.get('m1_transition', True)
    m.params['range'] = kw.get('range', 4e6)  #5e6
    # Range must be smaller than 30MHz because freq sweep is done via ssb mod

    m1_freq = m.params['ms-1_cntr_frq'] - 43e6 + 0 * 0.002191e9
    p1_freq = m.params['ms+1_cntr_frq'] - 43e6 + 0 * 0.002191e9

    m.params[
        'mw_frq'] = m1_freq if m1_transition else p1_freq  #MW source frequency

    print 'mw_frq +43e6', p1_freq + 43e6
    m.params['repetitions'] = 400  #200
    m.params['pts'] = 151
    m.params['pulse_length'] = m.params[
        'DESR_pulse_duration']  # was 2.e-6 changed to msmt params # NK 2015-05 27
    m.params['ssbmod_amplitude'] = m.params[
        'DESR_pulse_amplitude'] if m1_transition else m.params[
            'DESR_pulse_amplitude'] * 1.5

    m.params['mw_power'] = 20
    m.params['Ex_SP_amplitude'] = 0

    m.params['ssbmod_frq_start'] = 43e6 - m.params['range']
    m.params['ssbmod_frq_stop'] = 43e6 + m.params['range']

    list_swp_pts = np.linspace(m.params['ssbmod_frq_start'],
                               m.params['ssbmod_frq_stop'], m.params['pts'])
    m.params['sweep_pts'] = (np.array(list_swp_pts) +
                             m.params['mw_frq']) * 1e-9

    print 'mw_frq +43e6', m.params['mw_frq'] + 43e6
    m.autoconfig()
    m.generate_sequence(upload=True)
    m.run()
    m.save()
    m.finish()
예제 #11
0
def darkesr(name, ms='msp', range_MHz=6, pts=81, reps=1000, freq=0):

    m = pulsar_msmt.DarkESR(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'][SAMPLE_CFG]['Magnetometry'])
    m.params['Ex_SP_amplitude'] = 0.
    if ms == 'msp':
        m.params[
            'mw_frq'] = m.params['ms+1_cntr_frq'] - 43e6  #MW source frequency
        m.params['pulse_length'] = 2.5e-6
        m.params['ssbmod_amplitude'] = 0.017
        print m.params['ssbmod_amplitude']
    elif ms == 'msm':
        print 'Ex_SP_amp is ', m.params['Ex_SP_amplitude']
        m.params['mw_frq'] = 2 * m.params['zero_field_splitting'] - m.params[
            'ms+1_cntr_frq'] - 43e6
        m.params['pulse_length'] = 2.5e-6
        m.params['ssbmod_amplitude'] = 0.009

    if freq != 0:
        m.params['mw_frq'] = freq - 43e6

    m.params['mw_power'] = 20
    m.params['repetitions'] = reps

    m.params[
        'ssbmod_frq_start'] = 43e6 - range_MHz * 1e6  ## first time we choose a quite large domain to find the three dips (15)
    m.params['ssbmod_frq_stop'] = 43e6 + range_MHz * 1e6
    m.params['pts'] = pts

    m.autoconfig()
    m.generate_sequence(upload=True)
    m.run()
    m.save()
    m.finish()
예제 #12
0
def darkesrp1(name):
    '''dark ESR on the 0 <-> +1 transition
    '''

    m = pulsar_msmt.DarkESR(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'])
    # m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['Magnetometry'])

    # m.params['ssmod_detuning'] = m.params['MW_modulation_frequency']
    m.params['mw_frq'] = m.params[
        'ms+1_cntr_frq'] - 43e6  # - m.params['ssmod_detuning'] # MW source frequency, detuned from the target
    m.params['mw_power'] = 20
    m.params['repetitions'] = 1000
    m.params['range'] = 5e6
    m.params['pts'] = 81
    m.params['pulse_length'] = m.params[
        'DESR_pulse_duration']  #2.1e-6 changed to msmt params # NK 2015-05 27
    m.params['ssbmod_amplitude'] = m.params[
        'DESR_pulse_amplitude']  #0.03 changed to msmt params # NK 2015-05-27

    m.params['ssbmod_frq_start'] = 43e6 - m.params['range']
    m.params['ssbmod_frq_stop'] = 43e6 + m.params['range']
    list_swp_pts = np.linspace(m.params['ssbmod_frq_start'],
                               m.params['ssbmod_frq_stop'], m.params['pts'])
    m.params['sweep_pts'] = (np.array(list_swp_pts) +
                             m.params['mw_frq']) * 1e-9
    m.autoconfig()
    m.generate_sequence(upload=True)
    m.run()
    m.save()
    m.finish()
예제 #13
0
def darkesr(name,width=16,upload=True):
    '''dark ESR on the 0 <-> -1 transition
    '''

    m = pulsar_msmt.DarkESR(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'])
    stools.turn_off_all_lasers()
    
    m.params['ssmod_detuning'] = m.params['MW_modulation_frequency']
    m.params['mw_frq']       = m.params['ms-1_cntr_frq'] - m.params['ssmod_detuning'] #MW source frequency, detuned from the target

    m.params['repetitions']  = 1000
    m.params['range']        = 4e6
    m.params['pts'] = 121
    m.params['pulse_length'] = 4.e-6
    m.params['ssbmod_amplitude'] = 0.023

    
    m.params['Ex_SP_amplitude']=0
             # Power broadening of pulse in kHz
    if width==700:
        m.params['range']        = 12.e6
        m.params['mw_power']=7
        m.params['pulse_length'] = 0.5e-6
        m.params['ssbmod_amplitude'] = 0.032

    if width==350:
        m.params['range']        = 0.35e6
        m.params['mw_power']=7
        m.params['pulse_length'] = 5e-6
        m.params['ssbmod_amplitude'] = 0.016
    if width==40:
        m.params['range']        = 0.05e6
        m.params['mw_power']=-11
        m.params['pulse_length'] = 40e-6
        m.params['ssbmod_amplitude'] = 0.008
    if width==16:
        m.params['range']        = 0.05e6
        m.params['mw_power']=-17
        m.params['pulse_length'] = 80e-6
        m.params['ssbmod_amplitude'] = 0.008   


    m.params['ssbmod_frq_start'] = m.params['ssmod_detuning'] - m.params['range']
    m.params['ssbmod_frq_stop']  = m.params['ssmod_detuning'] + m.params['range']
    mIzero=np.linspace(m.params['ssbmod_frq_start'],m.params['ssbmod_frq_stop'], m.params['pts'])
    mIm1=mIzero-m.params['N_HF_frq']
    mIp1=mIzero+m.params['N_HF_frq']

    list_swp_pts=list(mIm1)+list(mIzero)+list(mIp1)
    list_swp_pts=list(mIzero)
    m.params['sweep_pts'] = (np.array(list_swp_pts) +  m.params['mw_frq'])*1e-9
    
    m.autoconfig()
    m.generate_sequence(upload=upload)
    if upload==False:
        AWG.set_runmode('SEQ')
        qt.msleep(10)
        AWG.start()
        qt.msleep(20)   
    m.run()
    m.save()
    m.finish()