;pithirds2 topspin3 Avance3 ;note this pulse sequence uses MAS triggering during pulses ;test MAS triggering before use, see pulse sequence ? ;required stability is better than ~80 Hz at 20kHz, easier lower MAS ;constant-time fpRFDR based on taur/3 pi pulses, no PSL, TPPM ;written KT 2014jan03 ;modeled on pithirds3 Spinsight pulse program ;parameters: ;p21 : proton 90 at power level pl2 ;p15 : CP time ;cpdprg2 : decouple tppm during acq ;pl17 : X power 180 pulse ;p22 : TPPM pulse length ;pcpd2 : TPPM acq pulse length ;p2 : PSL pulse ;cnst31 : spin rate >1 kHz ;cnst34 : number of rotor periods CP ;cnst35 : spin lock? 0=no ;l1 : k1 repeats of a,b or c ;l2 : k2 repeats abc to fill ct ;l3 : k3 repeats b ;l4 : rotor cycles in each repeat ;d1 : recycle delay ;d31 : used to check spin rate ;d12 : PSL ringdown delay ;l22 : # of echos to be acquired ;l30 : rotor cycles per echo ;pau6 : PSL power X ;pl1 : X power level for contact ;pl2 : proton power level for 90 ;pl12 : proton power level for acq tppm ;pl23 : proton power level for cw during seq ;spnam0 : file name for variable amplitude CP ;$COMMENT=pi thirds experiment, cp for excitation, pulsed spin lock ;$CLASS=Solids ;$DIM=1D ;$TYPE=cross polarisation ;$SUBTYPE=pi thirds ;$OWNER=nmrsu #include define pulse tau "tau=1s/cnst31" define delay tau_third "tau_third=tau/3.0" define pulse pithird "pithird=tau/3.0" define delay tau_thirdm "tau_thirdm=(tau/3.0)-15u" define delay pswitch "pswitch = 0.3u" define delay ttrigg "ttrigg = 10.0u" ;define loopcounter K4 ;"K4 = 4" define loopcounter count1 "count1 = l4*l1" define loopcounter count3 "count3 = l4*l1*3*l3" define pulse tiny "tiny = 1u" define delay tinyd "tinyd = 1u" "cnst34 = trunc(p15/tau) + 4" define delay tm3 "tm3 = cnst34*tau - p21 - 2*pswitch - p15 - ttrigg" define delay ttotal "ttotal = tau*l4*l1*3*(l2 + l3)" define delay del4 "del4=d12-7u" "d6=l30*tau/2-d12-p2/2" "cnst1=((d6*2+d12*2+p2)*l22)/dw" define delay rest "rest=aq-(cnst1*dw)" #include #include 1 ze ;accumulate into an empty memory #include #include 2 d1 do:f2 ;recycle delay, decoupler off in go-loop 10u rpp10 10u pl1:f1 pl2:f2 ;set powers trigg ;trigger scope 10u total 1u trigpe4 ;MAS trigger (p21 pl2 ph1):f2 ;90 degree proton pulse pswitch (p15 pl1 ph2):f1 (p15:sp0 ph3):f2 ;cross-polarization pswitch 3 (tau_third):f1 (pithird pl23 ph4):f2 (tau_third):f1 (pithird pl23 ph4):f2 (pithird pl17 ph10^):f1 (pithird pl23 ph4):f2 lo to 3 times count1 4 (pithird pl17 ph10^):f1 (pithird pl23 ph4):f2 (tau_third):f1 (pithird pl23 ph4):f2 (tau_third):f1 (pithird pl23 ph4):f2 lo to 4 times count1 5 (tau_third):f1 (pithird pl23 ph4):f2 (pithird pl17 ph10^):f1 (pithird pl23 ph4):f2 (tau_third):f1 (pithird pl23 ph4):f2 lo to 5 times count1 lo to 3 times l2 6 (tau_third):f1 (pithird pl23 ph4):f2 (pithird pl17 ph10^):f1 (pithird pl23 ph4):f2 (tau_third):f1 (pithird pl23 ph4):f2 lo to 6 times count3 if "cnst35==0" goto 9 ;PSL choice 0=no PSL 1u cpds2:f2 ;pl12 is used here with tppm, pl13 with cwlg, cwlgs STARTADC RESETPHASE RGP_ADC_ON 1u RG_OFF del4 pl16:f1 1u DWL_CLK_ON 1u RG_ON 7 d6 d12 RG_OFF (p2 pl16 ph13):f1 d12 d6 RG_ON lo to 7 times l22 rest 1u RG_OFF 1u DWL_CLK_OFF 1u do:f2 rcyc=2 goto 10 ;PSL, skip no PSL detection 9 go=2 ph31 cpds2:f2 finally do:f2 ;no PSL 10 10u do:f2 10u wr #0 HaltAcqu, 1m exit ph1= 1 3 ;H90 ph2= 0 0 1 1 2 2 3 3 ;X CP ph3= 0 ;H CP (mix) ph4= 1 ;H decouple ph10= 0 1 0 1 1 0 1 0 2 3 2 3 3 2 3 2 ;Xpi ph13= 0 0 1 1 2 2 3 3 ;Xtheta PSL ph30= 0 ;detection PSL extra phase ph31= 0 2 1 3 2 0 3 1 ;detection