Selective Pulse Design/Optimization
Design of the selective excitation pulse E100A (a member of the E-Family)


selpul
****** The System **********************************************************************
spectrometer(MHz) *
spinning_freq(kHz) *
channels H1
nuclei H1
atomic_coords *
cs_isotropic *
csa_parameters *
j_coupling *
quadrupole *
dip_switchboard *
csa_switchboard *
exchange_nuclei *
bond_len_nuclei *
bond_ang_nuclei *
tors_ang_nuclei *
groups_nuclei *
******* Pulse Sequence *****************************************************************
CHN 1
timing(usec) t100.tm
power(kHz) 0
phase(deg) 90
freq_offs(kHz) 0
******* Variables **********************************************************************
scan_par cs_iso_1/0:0.025:5/
*** Compute the pulse shape
A=zeros(15,1)
B=zeros(15,1)
n=1:15
t=(50:100:9950)'
C=cos((2*pi/10000)*t*n)
S=sin((2*pi/10000)*t*n)
power_1_1=0.1*(A0+C*A+S*B)
*** Optimization routine options
RFC_TOL=0.001
RDX_FDJ=0.01
fit_par A0 A([1:15]) B([1:15])
*** Show the results *******************************************************************
** Plot the pulse shape
opts1 = "--title='Selective Pulse Optimization: Pulse Shape (e100A)' --xlabel='time, ms' --ylabel '$\omega_1/2\pi$, kHz'"
plot(t, 0.1*(A0+C*A+S*B), opts1), x_
** Recompute the excitation profile using different scan_par steps & range **
** Results will be saved in e100A_re.dat and e100A_im.dat
system("spinev profile -macro{name}=e100A"), x_
** Plot the results
files = "e100A_re.dat e100A_im.dat"
opts2 = " --title='Selective Pulse Optimization: Excitation Profile (e100A)' --xlabel='Frequency Offset, kHz'"
plot(files & opts2), x_
******* Options etc ********************************************************************
rho0 I1z
observables I1p
EulerAngles *
n_gamma *
line_broaden(Hz) *
zerofill *
FFT_dimensions *
options -varselpul0.par -ne100A -fne100 -o0
****************************************************************************************
-- The initial conditions for the optimizarion are loaded from selpul0.par
-- The optimized pulse shape parameters are saved as e100A.par
-- The target excitation profile is specified by the e100_re/im.fit/wht files
-- The profile has has a 100 Hz pure excitation band and 150 Hz transition regions
profile
****** The System ***********************************
spectrometer(MHz) *
spinning_freq(kHz) *
channels H1
nuclei H1
atomic_coords *
cs_isotropic *
csa_parameters *
j_coupling *
quadrupole *
dip_switchboard *
csa_switchboard *
exchange_nuclei *
bond_len_nuclei *
bond_ang_nuclei *
tors_ang_nuclei *
groups_nuclei *
******* Pulse Sequence ******************************
CHN 1
timing(usec) t100.tm
power(kHz) 0
phase(deg) 90
freq_offs(kHz) 0
******* Variables ***********************************
scan_par cs_iso_1/-1:0.01:1/
A=zeros(15,1)
B=zeros(15,1)
n=1:15
t=(50:100:9950)'
load_vars {name}.par
C=cos((2*pi/10000)*t*n)
S=sin((2*pi/10000)*t*n)
power_1_1=0.1*(A0+C*A+S*B)
******* Options etc *********************************
rho0 I1z
observables I1p
EulerAngles *
n_gamma *
line_broaden(Hz) *
zerofill *
FFT_dimensions *
options -v0 -n{name}
******************************************************
-- The shape name must be supplied with -macro{name}=
-- This simulation is called from selpul to show performance of the new shaped
pulse, which was saved as {name}.par file.
selpul0.par
A0=-0.75 A(1)=-0.5 A(2)=2 A(3)=-1
selpul_re.fit
0.000000 1.000000 0.025000 1.000000 0.050000 1.000000 0.075000 0.000000 0.100000 0.000000 0.125000 0.000000 0.150000 0.000000 ... 5.000000 0.000000
selpul_im.fit
0.000000 0.000000 0.025000 0.000000 0.050000 0.000000 0.075000 0.000000 0.100000 0.000000 ... 5.000000 0.000000
selpul_re.wht
0.000000 1.000000 0.025000 1.000000 0.050000 1.000000 0.075000 0.000000 0.100000 0.000000 0.125000 0.000000 0.150000 0.000000 0.175000 0.000000 0.200000 1.000000 0.225000 1.000000 0.250000 1.000000 0.275000 1.000000 ... 5.000000 1.000000
selpul_im.wht
0.000000 1.000000 0.025000 1.000000 0.050000 1.000000 0.075000 0.000000 0.100000 0.000000 0.125000 0.000000 0.150000 0.000000 0.175000 0.000000 0.200000 1.000000 0.225000 1.000000 0.250000 1.000000 0.275000 1.000000 ... 5.000000 1.000000
