def calhadamard(name):
    m = CalibrateHadamard(name, qt.instruments['adwin'], qt.instruments['AWG'])
    mbi._prepare(m)

    m.params['pts'] = 11 
    pts = m.params['pts']

    # Hadamard pulse
    m.params['N_rabi_frequencies'] = np.linspace(-1e3,1e3,pts) + 5.554e3#5.536e3
    m.params['AWG_RF_Hadamardpulse_durations'] = int(1./2/np.sqrt(2)/m.params['N_rabi_frequencies']*1e9)#np.linspace(-500,500,pts).astype(int)\
            
    m.params['AWG_RF_Hadamardpulse_amp'] = 1.
    m.params['AWG_RF_Hadamardpulse_frqs'] = 7.135e6 + m.params['N_rabi_frequencies']

    # measurement settings
    m.params['reps_per_ROsequence'] = 1000

    # for the autoanalysis
    m.params['sweep_name'] = 'Hadamard Pulse Duration (us)'
    m.params['sweep_pts'] = m.params['AWG_RF_Hadamardpulse_durations']/1e3

    

    m.program_AWG = True
    mbi._run(m)
def uncondhadamard(name):

    m = UncondHadamard(name, qt.instruments['adwin'], qt.instruments['AWG'])
    mbi._prepare(m)
    
    # Hadamard pulse
    m.params['N_rabi_frequency'] = 5.6e3#5.536e3
    m.params['AWG_RF_Hadamardpulse_duration'] = int(1./2/np.sqrt(2)/m.params['N_rabi_frequency']*1e9)
    m.params['AWG_RF_Hadamardpulse_amp'] = 1.
    m.params['AWG_RF_Hadamardpulse_frq'] = 7.135e6 + m.params['N_rabi_frequency']

    # Total CORPSE duration
    m.params['AWG_uncond_CORPSE_total_duration']= m.params['AWG_uncond_CORPSE60_duration'] \
            + m.params['AWG_uncond_CORPSE300_duration'] \
            + m.params['AWG_uncond_CORPSE420_duration'] \
            + int(20) #start delays

    # measurement settings
    m.params['reps_per_ROsequence'] = 1000

    # for the autoanalysis
    m.params['sweep_name'] = 'bases'
    m.params['sweep_pts'] = np.arange(3)

    m.params['pts'] = 3 #This is just to trick the setup part

    m.program_AWG = True
    mbi._run(m)
def corpsetest(name):
    m = CORPSEtest(name, qt.instruments['adwin'], qt.instruments['AWG'])
    mbi._prepare(m)


    m.params['AWG_pipulse_amplitude'] = 1.
    m.params['AWG_pipulse_duration'] = 86e3
    m.params['AWG_pipulse_frq'] = 7.1383e6

    # rotation pulse
    m.params['AWG_p2pulse_duration'] = 43e3
    m.params['AWG_p2pulse_amp'] = 1.
    m.params['AWG_p2pulse_frq'] = 7.1383e6

    # measurement settings
    m.params['reps_per_ROsequence'] = 1000

    # for the autoanalysis
    m.params['sweep_name'] = 'bases'
    m.params['sweep_pts'] = np.arange(3)

    m.params['pts'] = 3 #This is just to trick the setup part

    m.program_AWG = True
    mbi._run(m)
def tomo(name):
    m = NMRTomography(name, qt.instruments['adwin'], qt.instruments['AWG'])
    mbi._prepare(m)

    # measurement settings
    m.params['reps_per_ROsequence'] = 1000

    # for the autoanalysis
    m.params['sweep_name'] = 'bases'
    m.params['sweep_pts'] = np.arange(3)

    m.params['pts'] = 3 #This is just to trick the setup part

    m.program_AWG = True
    mbi._run(m)
def calpi397ns(name):
    m = mbi.ElectronRabi('pi_calib_397ns_'+name, 
        qt.instruments['adwin'], qt.instruments['AWG'])
    mbi._prepare(m)

    pts = 8
    m.params['pts'] = pts
    m.params['AWG_RO_MW_pulse_durations'] = np.ones(pts) * 396
    m.params['AWG_RO_MW_pulse_amps'] = np.linspace(0.06, 0.1, pts)
    m.params['AWG_RO_MW_pulse_ssbmod_frqs'] = np.ones(pts) * \
        m.params['AWG_MBI_MW_pulse_ssbmod_frq'] 
    m.params['reps_per_ROsequence'] = 1000
    m.params['MW_pulse_multiplicity'] = 5
    m.params['MW_pulse_delay'] = 20000

    m.params['sweep_name'] = 'MW pulse amplitude (V)'
    m.params['sweep_pts'] = m.params['AWG_RO_MW_pulse_amps']

    mbi._run(m)
def calCORPSE420(name):
    m = mbi.ElectronRabi('calib_CORPSE420_'+name, 
        qt.instruments['adwin'], qt.instruments['AWG'])
    mbi._prepare(m)

    pts = 8
    m.params['pts'] = pts
    m.params['AWG_RO_MW_pulse_durations'] = np.linspace(132,142,pts)
    m.params['AWG_RO_MW_pulse_amps'] = np.ones(pts) * 0.9
    m.params['AWG_RO_MW_pulse_ssbmod_frqs'] = np.ones(pts) * \
        m.params['AWG_MBI_MW_pulse_ssbmod_frq']
    m.params['reps_per_ROsequence'] = 1000
    m.params['MW_pulse_multiplicity'] = 1
    m.params['MW_pulse_delay'] = 100

    m.params['sweep_name'] = 'MW pulse duration (ns)'
    m.params['sweep_pts'] = m.params['AWG_RO_MW_pulse_durations']

    mbi._run(m)
def calhardpipulse(name):
    m = mbi.ElectronRabi('pi_calib_hardpulse_'+name,#'pi_calib_hardpulse',
        qt.instruments['adwin'], qt.instruments['AWG'])
    mbi._prepare(m)

    pts = 8
    m.params['pts'] = pts
    m.params['AWG_RO_MW_pulse_durations'] = np.linspace(55,75,pts)
    m.params['AWG_RO_MW_pulse_amps'] = np.ones(pts) * 0.9
    m.params['AWG_RO_MW_pulse_ssbmod_frqs'] = np.ones(pts) * \
        m.params['AWG_MBI_MW_pulse_ssbmod_frq']
    m.params['reps_per_ROsequence'] = 1000
    m.params['MW_pulse_multiplicity'] = 5
    m.params['MW_pulse_delay'] = 20000

    m.params['sweep_name'] = 'MW pulse length (ns)'
    m.params['sweep_pts'] = m.params['AWG_RO_MW_pulse_durations']
    
    mbi._run(m)
def hadamard(name):
    m = NMRTomoHadamard(name, qt.instruments['adwin'], qt.instruments['AWG'])
    mbi._prepare(m)

    # Hadamard pulse
    m.params['N_rabi_frequency'] = 5.6e3#5.536e3
    m.params['AWG_RF_Hadamardpulse_duration'] = int(1./2/np.sqrt(2)/m.params['N_rabi_frequency']*1e9)
    m.params['AWG_RF_Hadamardpulse_amp'] = 1.
    m.params['AWG_RF_Hadamardpulse_frq'] = 7.135e6 + m.params['N_rabi_frequency']

    # measurement settings
    m.params['reps_per_ROsequence'] = 1000

    # for the autoanalysis
    m.params['sweep_name'] = 'bases'
    m.params['sweep_pts'] = np.arange(3)

    m.params['pts'] = 3 #This is just to trick the setup part

    m.program_AWG = True
    mbi._run(m)
def uncondpi2(name):

    m = UncondPiOver2(name, qt.instruments['adwin'], qt.instruments['AWG'])
    mbi._prepare(m)
    
    # Total CORPSE duration
    m.params['AWG_uncond_CORPSE_total_duration']= m.params['AWG_uncond_CORPSE60_duration'] \
            + m.params['AWG_uncond_CORPSE300_duration'] \
            + m.params['AWG_uncond_CORPSE420_duration'] \
            + int(20) #start delays

    # measurement settings
    m.params['reps_per_ROsequence'] = 1000

    # for the autoanalysis
    m.params['sweep_name'] = 'bases'
    m.params['sweep_pts'] = np.arange(3)

    m.params['pts'] = 3 #This is just to trick the setup part

    m.program_AWG = True
    mbi._run(m)
Esempio n. 10
0
def corpse60sweepcal(name):
    m = mbi.CORPSETest(name, qt.instruments['adwin'], qt.instruments['AWG'])
    mbi._prepare(m)

    # Rabi    
    m.params['pts'] = 6#11
    pts = m.params['pts']
    
    #Durations CORPSE pulse.
    m.params['AWG_uncond_CORPSE420_durations'] = np.ones(pts) * m.params['AWG_uncond_CORPSE420_duration'] #np.linspace(-5,+5,pts) + 
    m.params['AWG_uncond_CORPSE300_durations'] =np.ones(pts) * m.params['AWG_uncond_CORPSE300_duration']#  
    m.params['AWG_uncond_CORPSE60_durations'] = np.linspace(-5,+5,pts) + m.params['AWG_uncond_CORPSE60_duration']# + 25##np.ones(pts) * 28#  #  #
 
    # measurement settings
    m.params['reps_per_ROsequence'] = 1000

    # for the autoanalysis
    m.params['sweep_name'] = 'duration CORPSE 60'
    m.params['sweep_pts'] =  m.params['AWG_uncond_CORPSE60_durations']

    m.program_AWG = True
    mbi._run(m)
Esempio n. 11
0
def calNpipulse(name):
    m = mbi.NMRSweep('CalNPipulse_'+name, qt.instruments['adwin'], qt.instruments['AWG'])
    mbi._prepare(m)

    # Sweep
    m.params['pts'] = 8
    pts = m.params['pts']

    m.params['RF_pulse_len'] = np.linspace(75e3, 105e3, pts).astype(int)
    m.params['RF_pulse_amp'] = np.ones(pts) * 1.
    m.params['RF_frq'] = np.ones(pts) * 7.135e6

    m.params['wait_before_readout_reps'] = np.ones(pts)
    m.params['wait_before_readout_element'] = int(1e3)

    # measurement settings
    m.params['reps_per_ROsequence'] = 1000

    # for the autoanalysis
    m.params['sweep_name'] = 'RF pulse length (us)'
    m.params['sweep_pts'] = m.params['RF_pulse_len']/1e3

    m.program_AWG = True
    mbi._run(m)