39 lines
1.0 KiB
Python
39 lines
1.0 KiB
Python
# -*- coding: iso-8859-1 -*-
|
|
|
|
def experiment(): # 'go setup' routine
|
|
|
|
pars = {}
|
|
pars['P90'] = 2.5e-6 # 90-degree pulse length (s)
|
|
pars['RD'] = 1 # delay between scans (s)
|
|
pars['SW'] = 100e3 # spectrum window (Hz)
|
|
pars['SI'] = 1*1024 # number of acquisition points
|
|
pars['DEAD1'] = 10e-6 # receiver dead time (s)
|
|
|
|
while True:
|
|
yield gs_experiment(pars)
|
|
|
|
|
|
def gs_experiment(pars):
|
|
e=Experiment()
|
|
|
|
# read in variables:
|
|
P90 = pars['P90']
|
|
RD = pars['RD']
|
|
SI = pars['SI']
|
|
SW = pars['SW']
|
|
DEAD1 = pars['DEAD1']
|
|
|
|
if P90 > 20e-6:
|
|
raise Exception("Pulse too long!!!")
|
|
|
|
e.ttl_pulse(2e-6, value=1) # unblank RF amplifier
|
|
e.ttl_pulse(P90, value=3) # apply 90-degree pulse
|
|
e.wait(DEAD1) # wait for receiver dead time
|
|
e.record(SI, SW, sensitivity=2) # acquire signal
|
|
e.wait(RD) # wait for next scan
|
|
|
|
# write experiment parameters:
|
|
for key in pars.keys():
|
|
e.set_description(key, pars[key])
|
|
|
|
return e |