;rfdr-trev (TopSpin 2.0)
;RFDR with time reversal for pure phases, modified rfdrps
;for arbitrary scan numbers, ns=n*4
;2D exchange NMR in rotating solids
;rotor synchronized, set cnst31=spin rate, spin rate regulation
;recommended
;see Bennet, Ok, Griffin, Vega J. Chem. Phys. 98, 8624 (1992)
;and Boender and Vega, for phase sensitive method
;written by HF, 16.9.98, modified 21.5.2007
;Proton offset at LG frequency during mix to avoid HH transfer
;use STATES-TPPI for transform,
;Avance III version
;parameters:
;d1 : recycle delay
;p1 : X 90 degree pulse at pl1
;p2 : X 180 degree pulse at pl11
;p3 : 90 degree 1H pulse
;p9 : used as t1 increment and decrement for d0
;p15 : contact pulse (typ. 1ms)
;pcpd2 : pulse length in decoupling sequence
;pl1 : X power level (for CP)
;sp0 : proton power level during contact
;pl2 : =120dB, not used
;pl11 : power level for pi pulses on X
;pl12 : power level for H 90 and standard proton decoupling
;pl13 : power level for lg decoupling during mixing
;cpdprg2 : decoupling during acquisition
;cpdprg1 : decoupling during RFDR, usually cwlg
;cnst21 : =0, proton offset
;cnst20: proton RF field if LG-decoupling is used (at pl13)
;cnst31 : spinning frequency
;l1 : number of rotor cycles for mixing time
;l3 : =0, scan counter used for time reversal
;parmod = 2D
;td1 = si/4 = si1/2
;nd0=1, in0=ind10=dw, STATES-TPPI
;ns=32*n
;$COMMENT=exchange NMR (RFDR) in rotating solids, rotor synchronized
;$CLASS=Solids
;$DIM=2D
;$TYPE=cross polarisation
;$SUBTYPE=homonuclear correlation
;$OWNER=Bruker
define loopcounter count
"count=td1/2"
define delay tau
"tau=0.5s/cnst31-p2/2"
"d31=1s/cnst31" ;allow protection for misset d31
define delay aqf1
"aqf1=dw*td1+d31"
"l9=(aqf1/d31+1)"
define delay trev
"trev=l9*d31"
"d10=trev"
"l4=ns/4"
"d0=1u"
"cnst21=0"
"p9=inf1"
;cnst11 : to adjust t=0 for acquisition, if digmod = baseopt
"acqt0=1u*cnst11"
#include <Avancesolids.incl>
;standard stuff
#include <rot_prot.incl>
;protect for too slow rotation
1 ze
d31
2 10u
"l3=0"
3 d1 do:f2 ;recycle delay, F2 decoupler off
#include <p15_prot.incl>
;make sure p15 does not exceed 10 msec
;let supervisor change this pulseprogram if
;more is needed
#include <aq_prot.incl>
;allows max. 50 msec acquisition time, supervisor
;may change to max. 1s at less than 5 % duty cycle
;and reduced decoupling field
aqf1
trev
rpp4 ;reset the phase ph4 pointer to the first element
1u fq=cnst21:f2
(p3 pl12 ph1):f2 ;proton 90° pulse
(p15 pl1 ph2):f1 (p15:sp0 ph10):f2 ;contact pulse with square or
;ramp shape ramp.100 on F2
d0 cpds2:f2 ;F2 decouping during the evolution period
(p1 pl11 ph3):f1 ;90° pulse putting magnetization back
;to z-axis for RFDR excitation
if "l3<2" goto goon ;scan counter l3
d10 ;time-reversed period
goon, ;non-time-reversed period
1u cpds1:f2 ;F2 decoupling during mixing period
5 tau ;mixing period with Gullion sequence
;tau = half rotor period - p2/2
p2:f1 ph4^ ;180° pulse, increment phase ph4 pointer
tau ;tau = half rotor period - p2/2
lo to 5 times l1 ;set l1 for desired mixing time
(p1 ph5):f1 (1u cpds2):f2 ;90° detection pulse,
;F2 decoupling during acquisition
gosc ph31 ;gosc does not loop to 2
;start ADC with ph31 signal routing
10u do:f2 ;F2 decoupler off
"l3=l3+1"
lo to 3 times 4 ;four scans
10u
lo to 2 times l4 ;ns/4 iterations, reset l3=0
100m wr #0 if #0 zd ;save data
1m ip2 ;increments the phase of ph2 of
;the CP contact pulse by 90°
lo to 2 times 2 ;STATES t1 quadrature detection
"d0=d0+p9" ;p9 used as increment of the evolution period
"d10=d10-p9" ;p9 used as decrement of the time reversal period
lo to 2 times count ;count=td1/2
HaltAcqu, 1m
6 exit
ph1= 0
ph2= 1
ph10=1
ph3= 0 0 0 0 2 2 2 2 1 1 1 1 3 3 3 3
ph4= 0 1 0 1 1 0 1 0
ph5= 0 1 2 3 0 1 2 3 1 2 3 0 1 2 3 0
0 1 2 3 0 1 2 3 3 0 1 2 3 0 1 2
ph31=0 1 2 3 2 3 0 1 0 1 2 3 2 3 0 1
0 1 2 3 2 3 0 1 0 1 2 3 2 0 3 1
Copyright © 2002-2024
pascal-man.com. All rights reserved.