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:
		| @@ -25,6 +25,7 @@ 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)    | ||||||
| @@ -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'] = [ 0,   90,  180, 270, 90,  180, 270, 0,   180, 270, 0,   90,  270, 0,   90,  180]	# 2nd 90-degree pulse | ||||||
|  |         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['PH4'] = [90, 90, 270, 270, 0, 0, 180, 180]  # 2nd 90-degree pulse | ||||||
|     pars['PH2'] = [ 0, 180,   0, 180, 90, 270,  90, 270]	# receiver |         pars['PH2'] = [0, 180, 0, 180, 90, 270, 90, 270]  # receiver | ||||||
|  |  | ||||||
|     # read in variables: |     # read in variables: | ||||||
|     P90 = pars['P90'] |     P90 = pars['P90'] | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user