Code for Avance III spectrometers with topSpin2.1 operating system
;wpmlg2d (TOPSPIN 2.1)
;windowed PMLG homonuclear decoupling, digital mode, proton-proton spin diffusion 2D experiment
;purified version according to Leskes, Madhu and Vega, Chem. Phys. Lett., in press
;using shapes for wpmlg
;HF 26.09.07
;spin 10-15 kHz according to RF field
;set:
;p9 2.4-4.5 usec, depending on probe deadtime, usually:
;for 200 and 300 MHz, CRAMPS probe required or use 4.5 usec
;use digital mode, swh=10-20 kHz
;before ft, set s sw=sw/0.58
;set:
;d1 : recycle delay
;p1 : proton 90 degree pulse at pl12
;set o1p around 10 ppm or -4 ppm, usually better on left side of spectrum
;pl12 : power level for initial pulses
;pl13 : power level for pmlg, set cnst20 to RF field at pl13, for simplicity, use pl13=pl12
; sensible proton RF-field: 80 000 Hz for 300-400 MHz proton frequency, 100000 for 500-600 MHz
; 120000 for 600 MHz and higher (due to probe bandwidth differences)
;ns=n*4
;spnam1=m5m or m3m, m5p or m3p
;shape consists of 10 (6) slices of length 2*p5/10 (/6),
;set cnst20 for approximate RF field, adjust power for best result,
;shape duration recalculated so slice is a multiple of 100 ns
;set l11=number of oversampled datapoints to be sampled, 8-32 depending on
; available window, check acqu in ased for sensible value.
;select Fn_Mode STATES-TPPI to be able to correct for peak folding
;set l3 and swh such that scaledsw and scaledsw1 are calculated as close as possible
;$COMMENT=homonuclear decoupling with w-pmlg
;$CLASS=Solids
;$DIM=2D
;$TYPE=homonuclear decoupling
;$SUBTYPE=explicit acquisition
;cnst11 : to adjust t=0 for acquisition, if digmod = baseopt
"acqt0=1u*cnst11"
dwellmode auto
#include <Avancesolids.incl>
#include <Delayssolids.incl>
#include <lgcalc.incl> /*;set cnst20 to RF field at pl13, wpmlg pulse calculated as multiple of 100 ns */
"sp1=pl13"
"d3=p9" ;p9 sets the window to make sure it is in micorseconds
"d9=0.1u*(l11)" ;set the sampling window in Avancesolids.incl
"inf1=(l3*(d3+p5))*4" ;t1 increment
"l0=0" ;reset F1 dwell counter
"blktr2 = 0.7u" ;this opens the transmitter gate 0.7 usec before the
;pulse, so the transmitter noise is not sampled
define delay dead
"dead=1.2u"
define delay acqu ;small window, defined by d3, 2.5-4.5 usec depending
"acqu=2*p9-1.2u-d9-.1u" ;on probe deadtime large window-sampling period
;make sure shape slice durations are a multiple of 0.1 usec
define loopcounter smooth
"smooth=10*p5"
define pulse polish
"polish=1u*smooth/10"
define pulse wpmlg
"wpmlg=2*polish"
define delay cycle
"cycle=4*p9+2*wpmlg+.2u"
define loopcounter count
"count=aq/cycle" ;make sure td datapoints are sampled
define delay rest ;make sure sampling proceeds throughout the sequence
"rest=aq-(count*cycle)"
define loopcounter scaledsw1
"scaledsw1=(1/l3*cycle)/0.47"
define loopcounter scaledsw
"scaledsw=1e6/(2*dw*0.47)"
define loopcounter setswh
"setswh=scaledsw1*0.47"
define delay realdwell1
"realdwell1=2/scaledsw1" ;effective dwell is cycle time *scaling factor
define delay realdwell
"realdwell=2/scaledsw"
define delay setdwell
"setdwell=2/setswh"
define loopcounter nrows ;for STATES-TPPI procedure
"nrows=td1/2" ;and STATES cos/sin procedure
1 ze ;acquire into a cleared memory
realdwell1 ;show calculated dwell and swh in F1
realdwell
setdwell
2 d1 pl12:f1 ;recycle delay
10u reset1:f1 ;synchronise pulse and detection RF
p1:f1 ph0 ;first 90 at pl12
3 d3 pl13:f1
d3
(wpmlg:sp1 ph11^):f1
d3
d3
(wpmlg:sp1 ph11^):f1
lo to 3 times l0
p1:f1 ph5
d8 ;mixing
STARTADC ;prepare adc for sampling, set reference frequency, defined in Avancedru.incl
RESETPHASE ;reset reference phase
(p1 pl12 ph1):f1
.1u DWL_CLK_ON
4 dead pl13:f1
acqu
d9 RG_ON
.1u RG_OFF ;take l11 complex data points
(wpmlg:sp1 ph10^):f1
dead
acqu
d9 RG_ON
.1u RG_OFF
(wpmlg:sp1 ph10^):f1
lo to 4 times count ;make sure td points are sampled
rest
1u DWL_CLK_OFF
rcyc=2 ;next scan
5 100m wr #0 if #0 zd ;save data
1m ip0 ;90° phase increment
lo to 2 times 2 ;t1 quadrature detection
6 1m iu0*l3
1m
lo to 2 times nrows ;nrows=td1/2
exit ;finished
ph0= 0
ph1= 1 2 3 0
ph2= 0
ph4= 0
ph5= 2
ph10=0 2
ph11=0 2
ph30=0
ph31=1 2 3 0
Copyright © 2002-2024
pascal-man.com. All rights reserved.