Selective Pulse Design/Optimization

Design of the selective excitation pulse E100A (a member of the E-Family)

e100A Pulse Shape

e100A Excitation Profile

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