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