Add option to suppress ringing in Saturation Recovery script
A parameter option "suppress_ringing" has been added to the Saturation Recovery script. This option modifies phase lists and allows the application of a phase cycle that compensates for ringing but reduces signal-to-noise ratio by half. This gives users the option to prioritize either reduced ringing or higher SNR as per their requirements.
This commit is contained in:
parent
0d25b17c60
commit
7da97a4f26
@ -25,8 +25,9 @@ def experiment(): # saturation-recovery with soild-echo detection
|
|||||||
pars['D2'] = 1e-4 # end interval in saturation sequence (s)
|
pars['D2'] = 1e-4 # end interval in saturation sequence (s)
|
||||||
pars['DATADIR'] = '/home/fprak/Students/' # data directory
|
pars['DATADIR'] = '/home/fprak/Students/' # data directory
|
||||||
pars['OUTFILE'] = None # output file name
|
pars['OUTFILE'] = None # output file name
|
||||||
|
pars["suppress_ringing"] = False # 16 Phase cycle, reduces ringing but halves SNR
|
||||||
|
|
||||||
# specify a variable parameter (optional):
|
# specify a variable parameter (optional):
|
||||||
pars['VAR_PAR'] = 'TAU' # variable parameter name (a string)
|
pars['VAR_PAR'] = 'TAU' # variable parameter name (a string)
|
||||||
start = 1e-4 # starting value
|
start = 1e-4 # starting value
|
||||||
stop = 1e-0 # end value
|
stop = 1e-0 # end value
|
||||||
@ -109,11 +110,17 @@ def satrec2_experiment(pars, run):
|
|||||||
|
|
||||||
pars['PROG'] = 'satrec2_experiment'
|
pars['PROG'] = 'satrec2_experiment'
|
||||||
|
|
||||||
# phase lists:
|
if pars["suppress_ringing"]:
|
||||||
pars['PH1'] = [ 0] # saturation pulses
|
# phase cycle to compensate ringing (loss of half the signal!)
|
||||||
pars['PH3'] = [ 0, 180, 0, 180, 90, 270, 90, 270] # 1st 90-degree pulse
|
pars['PH3'] = [ 0, 0, 0, 0, 90, 90, 90, 90, 180, 180, 180, 180, 270, 270, 270, 270] # 1st 90-degree pulse
|
||||||
pars['PH4'] = [90, 90, 270, 270, 0, 0, 180, 180] # 2nd 90-degree pulse
|
pars['PH4'] = [ 0, 90, 180, 270, 90, 180, 270, 0, 180, 270, 0, 90, 270, 0, 90, 180] # 2nd 90-degree pulse
|
||||||
pars['PH2'] = [ 0, 180, 0, 180, 90, 270, 90, 270] # receiver
|
pars['PH2'] = [ 180, 0, 180, 0, 270, 90, 270, 90, 0, 180, 0, 180, 90, 270, 90, 270] # receiver
|
||||||
|
else:
|
||||||
|
# simple phase cycle:
|
||||||
|
pars['PH1'] = [0] # saturation pulses
|
||||||
|
pars['PH3'] = [0, 180, 0, 180, 90, 270, 90, 270] # 1st 90-degree pulse
|
||||||
|
pars['PH4'] = [90, 90, 270, 270, 0, 0, 180, 180] # 2nd 90-degree pulse
|
||||||
|
pars['PH2'] = [0, 180, 0, 180, 90, 270, 90, 270] # receiver
|
||||||
|
|
||||||
# read in variables:
|
# read in variables:
|
||||||
P90 = pars['P90']
|
P90 = pars['P90']
|
||||||
|
Loading…
Reference in New Issue
Block a user