本文整理汇总了C++中decpwrf函数的典型用法代码示例。如果您正苦于以下问题:C++ decpwrf函数的具体用法?C++ decpwrf怎么用?C++ decpwrf使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了decpwrf函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pulsesequence
pulsesequence() {
// Define Variables and Objects and Get Parameter Values
MPSEQ dec = getblew("blewH",0,0.0,0.0,0,1);
strncpy(dec.ch,"dec",3);
putCmd("chHblew='dec'\n");
CP hx = getcp("HX",0.0,0.0,0,1);
strncpy(hx.fr,"dec",3);
strncpy(hx.to,"obs",3);
putCmd("frHX='dec'\n");
putCmd("toHX='obs'\n");
//--------------------------------------
// Copy Current Parameters to Processed
//-------------------------------------
putCmd("groupcopy('current','processed','acquisition')");
// Dutycycle Protection
DUTY d = init_dutycycle();
d.dutyon = getval("pwH90") + getval("tHX") + getval("rd") + getval("ad") + at;
d.dutyoff = d1 + 4.0e-6;
d = update_dutycycle(d);
abort_dutycycle(d,10.0);
// Set Phase Tables
settable(phH90,4,table1);
settable(phXhx,4,table2);
settable(phHhx,4,table3);
settable(phRec,4,table4);
setreceiver(phRec);
// Begin Sequence
txphase(phXhx); decphase(phH90);
obspwrf(getval("aXhx")); decpwrf(getval("aH90"));
obsunblank(); decunblank(); _unblank34();
delay(d1);
sp1on(); delay(2.0e-6); sp1off(); delay(2.0e-6);
// H to X Cross Polarization
decrgpulse(getval("pwH90"),phH90,0.0,0.0);
decphase(phHhx);
_cp_(hx,phHhx,phXhx);
// Begin Acquisition
_mpseqon(dec, phHhx);
obsblank(); _blank34();
delay(getval("rd"));
startacq(getval("ad"));
acquire(np, 1/sw);
endacq();
_mpseqoff(dec);
obsunblank(); decunblank(); _unblank34();
}
示例2: pulsesequence
pulsesequence()
{
dpwr = getval("dpwr");
if (dpwr > 46) /* Do not fry the probe */
{ abort_message("Decoupling power too large (max is 46) - acquisition aborted.");
}
/* equilibrium period */
status(A);
decpwrf(4095.0);
hsdelay(d1);
/* --- tau delay --- */
status(B);
pulse(p1, zero);
hsdelay(d2);
/* --- observe period --- */
status(C);
pulse(pw,oph);
}
示例3: pulsesequence
//.........这里部分代码省略.........
if (phase1 == 1) {; } /* CC */
else if (phase1 == 2) { tsadd (t1, 1, 4); } /* SC */
else if (phase1 == 3) { tsadd (t2, 1, 4); } /* CS */
else if (phase1 == 4) { tsadd (t1, 1, 4); tsadd(t2, 1, 4); } /* SS */
if (phase2 ==1) {;} else { tsadd (t3, 1, 4); }
if (t1_counter %2) { tsadd(t3, 2, 4); tsadd(t5, 2, 4); }
tau1 = 1.0*t1_counter*cos_hm1/swTilt;
tau2 = 1.0*t1_counter*cos_cm1/swTilt;
tau3 = 1.0*t1_counter*cos_cm2/swTilt;
tau1 = tau1/2.0; tau2 = tau2/2.0; tau3 = tau3/2.0;
if (ix ==1 )
{
printf ("Current Spectral Width:\t\t%5.2f\n", swTilt);
printf ("Angle_hm1: %5.2f \n", angle_hm1);
printf ("Angle_cm1: %5.2f \n", angle_cm1);
printf ("Angle_cm2: %5.2f \n", angle_cm2);
printf ("\n\n\n\n\n");
}
/* BEGIN ACTUAL PULSE SEQUENCE */
status(A);
delay(d1);
rcvroff();
obsoffset(satfrq); obspower(tpwr); obspwrf(4095.0); txphase(zero);
decoffset(dof); decpower(pwClvl); decpwrf(4095.0); decphase(zero);
dec2offset(dof2); dec2power(pwNlvl); dec2pwrf(4095.0); dec2phase(zero);
/* Crush water and steady state carbon magnetization */
if (satflg[A] == 'y')
{
obspower(satpwr);
rgpulse(satdly, zero, 20.0e-6, 2.0e-6);
obspower(tpwr);
}
decrgpulse(pwC, zero, 2.0e-6, 2.0e-6); /*destroy C13 magnetization*/
zgradpulse(gzlvl0, gt0);
delay(gstab);
if (satflg[A] == 'y')
{
shiftedpulse("sinc", pwHs, 90.0, 0.0, zero, 2.0e-6, 2.0e-6);
}
decrgpulse(pwC, one, 2.0e-6, 2.0e-6);
zgradpulse(0.7*gzlvl0, gt0);
txphase(t1);
delay(gstab);
obsoffset(tof); obspower(tpwr);
status(B);
rgpulse(pw, t1, 2.0e-6, 2.0e-6); /* 1H pulse excitation */
if (tau1 > pwC)
示例4: pulsesequence
//.........这里部分代码省略.........
t1_counter = (int) ( (d2-d2_init)*sw1 + 0.5 );
if(t1_counter % 2)
{
tsadd(t1,2,4);
tsadd(t11,2,4);
}
if( ix == 1) d3_init = d3;
t2_counter = (int) ( (d3-d3_init)*sw2 + 0.5 );
if(t2_counter % 2)
{
tsadd(t3,2,4);
tsadd(t11,2,4);
}
/* Correct inverted signals for NH2 only spectra */
if (NH2only[A]=='y')
{
tsadd(t3,2,4);
}
/* BEGIN PULSE SEQUENCE */
status(A);
obspower(tpwr);
decpower(pwClvl);
dec2power(pwNlvl);
decoffset(dof);
decpwrf(rf0);
txphase(zero);
dec2phase(zero);
delay(d1);
dec2rgpulse(pwN, zero, 0.0, 0.0); /*destroy N15 and C13 magnetization*/
decrgpulse(pwC, zero, 0.0, 0.0);
zgradpulse(gzlvl0, 0.5e-3);
delay(1.0e-4);
dec2rgpulse(pwN, one, 0.0, 0.0);
decrgpulse(pwC, one, 0.0, 0.0);
zgradpulse(0.7*gzlvl0, 0.5e-3);
txphase(t1);
decphase(zero);
dec2phase(zero);
initval(135.0,v1);
obsstepsize(1.0);
xmtrphase(v1);
delay(5.0e-4);
rcvroff();
rgpulse(pw, t1, 50.0e-6, 0.0); /* 1H pulse excitation */
xmtrphase(zero); /* SAPS_DELAY */
txphase(zero);
if (tau1 > (2.0*GRADIENT_DELAY + pwN + 0.64*pw + 5.0*SAPS_DELAY))
{
if (tau1>0.002)
示例5: pulsesequence
//.........这里部分代码省略.........
if (toss[0] == 'y')
{
dutycycle = dutycycle + 2.142/srate;
if (dm[2] != 'y') timeoff = timeoff + 2.142/srate - 8*pwx;
}
if (pdp[0] == 'y')
{
dutycycle = dutycycle + 2.0/srate;
timeoff = timeoff + pdpd2;
}
dutycycle = timeoff/dutycycle;
if ((dutycycle < 0.8) || (dm[0] == 'y'))
{
fprintf(stdout, "Duty cycle is %5.2f%%.\n", (1.0 - dutycycle) * 100.0);
fprintf(stdout, "ABORT! The duty cycle must be less than 20%%.\n");
psg_abort(1);
}
/*begin pulse sequence*/
if (xpol[0] == 'n')
{
settable(t1,4,table1);
settable(t3,4,table3);
settable(t4,4,table4);
status(A);
setreceiver(t1);
obs_pw_ovr(TRUE);
dec_pw_ovr(TRUE);
declvloff();
decpwrf(dipolr);
obspwrf(tpwrm);
delay(d1);
if(p180 > 0.0)
{
decoff();
if (dm[1] == 'y') decon();
rgpulse(p180, zero, rof1, 0.0);
delay(d2);
}
rcvroff();
rgpulse(pw, t1,rof1, 0.0);
decoff();
if (dm[2] == 'y') decon();
}
else
{
settable(t1,4,table1);
settable(t2,4,table2);
settable(t3,4,table3);
settable(t4,4,table4);
status(A);
setreceiver(t1);
obs_pw_ovr(TRUE);
dec_pw_ovr(TRUE);
declvloff();
decpwrf(crossp);
obspwrf(tpwrm);
txphase(t3);
示例6: pulsesequence
//.........这里部分代码省略.........
/* Set up f2180 */
tau2 = d3; /* run 2D exp for NH correlation, but must use tau2 instead of tau1
because bionmr.h is written for nh_evol* to do tau2 evolution*/
if((f2180[A] == 'y') && (ni2 > 1.0)) /* use f2180 to control tau2 */
{ tau2 += ( 1.0 / (2.0*sw2) ); if(tau2 < 0.2e-6) tau2 = 0.0; }
tau2 = tau2/2.0;
/* Calculate modifications to phases for States-TPPI acquisition */
if( ix == 1) d3_init = d3;
t2_counter = (int) ( (d3-d3_init)*sw1 + 0.5 );
if(t2_counter % 2)
{ tsadd(t8,2,4); tsadd(t12,2,4); tsadd(t13,2,4); }
/* BEGIN PULSE SEQUENCE */
status(A);
delay(d1);
if (dm3[B]=='y') lk_hold();
rcvroff();
set_c13offset("cab");
obsoffset(tof);
obspower(tpwr);
obspwrf(4095.0);
decpower(pwClvl);
decpwrf(4095.0);
dec2power(pwNlvl);
txphase(one);
delay(1.0e-5);
if (TROSY[A] == 'n')
dec2rgpulse(pwN, zero, 0.0, 0.0); /*destroy N15 and C13 magnetization*/
decrgpulse(pwC, zero, 0.0, 0.0);
zgradpulse(gzlvl0, 0.5e-3);
delay(gstab);
if (TROSY[A] == 'n')
dec2rgpulse(pwN, one, 0.0, 0.0);
decrgpulse(pwC, zero, 0.0, 0.0);
zgradpulse(0.7*gzlvl0, 0.5e-3);
delay(gstab);
if(dm3[B] == 'y') /*optional 2H decoupling on */
{dec3unblank(); dec3rgpulse(1/dmf3, one, 0.0, 0.0);
dec3unblank(); setstatus(DEC3ch, TRUE, 'w', FALSE, dmf3);}
rgpulse(pw, zero, 2.0e-6, 0.0);
zgradpulse(gzlvl5, gt5);
delay(tauCH - gt5 - WFG2_START_DELAY - 0.5e-3 + 68.0e-6 );
sim_c13adiab_inv_pulse("", "aliph", stCwidth, "sech1", 2.0*pw, 1.0e-3,
zero, zero, 2.0e-6, 2.0e-6);
zgradpulse(gzlvl5, gt5);
delay(tauCH - gt5 - 0.5e-3 + 68.0e-6);
rgpulse(pw, one, 0.0, 0.0);
if (ser_flg[0] == 'n' )
delay(pwS5);
if (ser_flg[0] == 'y' )
c_shapedpulse("isnob5",30.0,24.0,zero, 2.0e-6, 2.0e-6);
示例7: pulsesequence
//.........这里部分代码省略.........
tau1 = tau1/2.0; tau2 = tau2/2.0; tau3 = tau3/2.0;
/* CHECK VALIDITY OF PARAMETER RANGES */
if (bigTN - 0.5*ni*(cos_N/swTilt) + pwS4 < 0.2e-6)
{ printf(" ni is too big. Make ni equal to %d or less.\n",
((int)((bigTN + pwS4)*2.0*swTilt/cos_N))); psg_abort(1);}
if ((fCTCa[A]=='y') && (bigTCa - 0.5*ni*(cos_Ca/swTilt) - WFG_STOP_DELAY
- POWER_DELAY - gt11 - 50.2e-6 < 0.2e-6))
{
printf(" ni is too big for Ca. Make ni equal to %d or less.\n",
(int) ((bigTCa -WFG_STOP_DELAY
- POWER_DELAY - gt11 - 50.2e-6)/(0.5*cos_Ca/swTilt)) );
psg_abort(1);
}
if (bigTCo - 0.5*ni*(cos_CO/swTilt) - 4.0e-6 - POWER_DELAY < 0.2e-6)
{
printf(" ni is too big for CO. Make ni equal to %d or less.\n",
(int) ((bigTCo - 4.0e-6 - POWER_DELAY) / (0.5*cos_CO/swTilt)) );
psg_abort(1);
}
/* BEGIN ACTUAL PULSE SEQUENCE */
status(A);
obsoffset(tof);
obspower(satpwr); /* Set transmitter power for 1H presaturation */
obspwrf(4095.0);
decpower(pwClvl); /* Set Dec1 power for hard 13C pulses */
decpwrf(4095.0);
dec2power(pwNlvl); /* Set Dec2 power for 15N hard pulses */
dec2pwrf(4095.0);
set_c13offset("ca"); /* set Dec1 carrier at Ca */
sim3_c13pulse("", "ca", "co", "square", "", 0.0, 180.0, 0.0,
zero, zero, zero, 2.0e-6, 0.0);
set_c13offset("co"); /* set Dec1 carrier at Co */
/* Presaturation Period */
if (satmode[0] == 'y')
{
delay(2.0e-5);
rgpulse(d1,zero,2.0e-6,2.0e-6); /* presaturation */
obspower(tpwr); /* Set transmitter power for hard 1H pulses */
delay(2.0e-5);
if(fscuba[0] == 'y')
{
delay(2.2e-2);
rgpulse(pw,zero,2.0e-6,0.0);
rgpulse(2*pw,one,2.0e-6,0.0);
rgpulse(pw,zero,2.0e-6,0.0);
delay(2.2e-2);
}
}
else
{
delay(d1);
}
obspower(tpwr); /* Set transmitter power for hard 1H pulses */
txphase(one);
dec2phase(zero);
delay(1.0e-5);
示例8: pulsesequence
//.........这里部分代码省略.........
if (phase1 == 1) {;} /* CC */
else if (phase1 == 2) { tsadd(t1, 1, 4); } /* SC */
else if (phase1 == 3) { tsadd(t2, 1, 4); tsadd(t14,1,4); } /* CS */
else if (phase1 == 4) { tsadd(t1, 1, 4); tsadd(t2,1,4); tsadd(t14,1,4); } /* SS */
if ( phase2 == 1 ) { tsadd(t5,2,4); icosel = 1; }
else icosel = -1;
tau1 = 1.0 * t1_counter * cos_H / swTilt;
tau2 = 1.0 * t1_counter * cos_C / swTilt;
tau3 = 1.0 * t1_counter * cos_N / swTilt;
tau1 = tau1/2.0; tau2 = tau2/2.0; tau3 =tau3/2.0;
if (ix ==1 )
{
printf ("Current Spectral Width:\t\t%5.2f\n", swTilt);
printf ("Angle_H: %5.2f \n", angle_H);
printf ("Angle_C: %5.2f \n", angle_C);
printf ("Angle_N: %5.2f \n", angle_N);
printf ("\n\n\n\n\n");
}
/* BEGIN ACTUAL PULSE SEQUENCE */
status(A);
delay(d1);
rcvroff();
obsoffset(tofali); obspower(tpwr); obspwrf(4095.0);
decoffset(dof); decpower(pwClvl); decpwrf(rf0);
dec2offset(dof2); dec2power(pwNlvl); dec2pwrf(4095.0);
if (gt0 > 0.2e-6)
{
decrgpulse(pwC,zero,10.0e-6,0.0);
dec2rgpulse(pwN,zero,2.0e-6,2.0e-6);
zgradpulse(gzlvl0,gt0);
delay(gstab);
}
txphase(t1); decphase(t2); dec2phase(zero);
status(B);
rgpulse(pw,t1,4.0e-6,2.0e-6);
zgradpulse(gzlvl3,gt3);
delay(2.0*tauCH - gt3 - 2.0*GRADIENT_DELAY -4.0e-6);
decrgpulse(pwC,t2,2.0e-6,2.0e-6);
decphase(zero);
/*======= Start of c13 evolution ==========*/
if ( ((tau2 -PRG_START_DELAY - POWER_DELAY -pwN - 2.0*pwC/PI -2.0e-6)> 0)
&& ((tau2 -PRG_STOP_DELAY - POWER_DELAY - pwN - 2.0*pwC/PI -2.0e-6)>0)
&& (codec[A] == 'y') )
{
decpower(copwr); decpwrf(copwrf);
decprgon(codecseq,1/codmf,cores);
decon();
示例9: pulsesequence
pulsesequence() {
// Define Variables and Objects and Get Parameter Values
CP hx = getcp("HX",0.0,0.0,0,1);
strncpy(hx.fr,"dec",3);
strncpy(hx.to,"obs",3);
putCmd("frHX='dec'\n");
putCmd("toHX='obs'\n");
DSEQ dec = getdseq("H");
strncpy(dec.t.ch,"dec",3);
putCmd("chHtppm='dec'\n");
strncpy(dec.s.ch,"dec",3);
putCmd("chHspinal='dec'\n");
//--------------------------------------
// Copy Current Parameters to Processed
//-------------------------------------
putCmd("groupcopy('current','processed','acquisition')");
// Dutycycle Protection
DUTY d = init_dutycycle();
d.dutyon = getval("pw1Hhytrap") + getval("pw2Hhytrap") + getval("tHX");
d.dutyoff = d1 + 4.0e-6 + getval("t1HYtrap") + getval("t2HYtrap");
d.c1 = d.c1 + (!strcmp(dec.seq,"tppm"));
d.c1 = d.c1 + ((!strcmp(dec.seq,"tppm")) && (dec.t.a > 0.0));
d.t1 = getval("rd") + getval("ad") + at;
d.c2 = d.c2 + (!strcmp(dec.seq,"spinal"));
d.c2 = d.c2 + ((!strcmp(dec.seq,"spinal")) && (dec.s.a > 0.0));
d.t2 = getval("rd") + getval("ad") + at;
d = update_dutycycle(d);
abort_dutycycle(d,10.0);
// Set Phase Tables
settable(ph1Hhytrap,4,table1);
settable(phYhytrap,4,table2);
settable(ph2Hhytrap,4,table3);
settable(phXhx,4,table4);
settable(phHhx,4,table5);
settable(phRec,4,table6);
setreceiver(phRec);
// Begin Sequence
txphase(phXhx); decphase(ph1Hhytrap); dec2phase(phYhytrap);
obspwrf(getval("aXhx")); decpwrf(getval("aHhytrap")); dec2pwrf(getval("aYhytrap"));
obsunblank(); decunblank(); _unblank34();
delay(d1);
sp1on(); delay(2.0e-6); sp1off(); delay(2.0e-6);
// TRAPDOR on H with Y Modulation
decrgpulse(getval("pw1Hhytrap"),ph1Hhytrap,0.0,0.0);
decphase(ph2Hhytrap);
decunblank();
dec2on();
delay(getval("t1HYtrap"));
dec2off();
decrgpulse(getval("pw2Hhytrap"),ph2Hhytrap,0.0,0.0);
decphase(phHhx);
decunblank();
decphase(phHhx);
decpwrf(getval("aHhx"));
delay(getval("t2HYtrap"));
// H to X Cross Polarization
_cp_(hx,phHhx,phXhx);
// Begin Acquisition
_dseqon(dec);
obsblank(); _blank34();
delay(getval("rd"));
startacq(getval("ad"));
acquire(np, 1/sw);
endacq();
_dseqoff(dec);
obsunblank(); decunblank(); _unblank34();
}
示例10: pulsesequence
//.........这里部分代码省略.........
t2_counter = (int) ( (d3-d3_init)*sw2 + 0.5 );
if(t2_counter % 2)
{ tsadd(t2,2,4); tsadd(t14,2,4); tsadd(t15,2,4);tsadd(t24,2,4); tsadd(t25,2,4); }
/* Set up CONSTANT/SEMI-CONSTANT time evolution in N15 */
if (ni2 > 1)
{
halfT2 = 0.5*(ni2-1)/sw2;
t2b = (double) t2_counter*((halfT2 - timeTN)/((double)(ni2-1)));
if( ix==1 && halfT2 - timeTN > 0 ) printf("SCT mode on, max ni2=%g\n",timeTN*sw2*2+1);
if(t2b < 0.0) t2b = 0.0;
t2a = timeTN - tau2*0.5 + t2b;
if(t2a < 0.2e-6) t2a = 0.0;
}
else
{
t2b = 0.0;
t2a = timeTN - tau2*0.5;
}
status(A);
rcvroff();
decpower(pwClvl);
decoffset(dof);
dec2power(pwNlvl);
dec2offset(dof2);
obspwrf(tpwrsf);
decpwrf(4095.0);
obsoffset(tof);
set_c13offset("co");
dec2rgpulse(pwN*2.0,zero,0.0,0.0);
zgradpulse(1.5*gzlvl4, gt4);
delay(1.0e-4);
lk_sample();
delay(d1-gt4);
lk_hold();
h_shapedpulse("pc9f",shbw,shofs,zero, 2.0e-6, 0.0);
delay(lambda-pwS5*0.5-pwS6*0.5);
h_sim3shapedpulse("reburp",shbw,shofs,0.0,2.0*pwN, one, zero, zero, 0.0, 0.0);
delay(lambda-pwS5*0.5-pwS6*0.5);
if(n15_flg[0]=='y') h_shapedpulse("pc9f_",shbw,shofs,three, 0.0, 0.0);
else h_shapedpulse("pc9f_",shbw,shofs,one, 0.0, 0.0);
obspower(shlvl1);
/**************************************************************************/
dec2rgpulse(pwN,zero,0.0,0.0);
zgradpulse(gzlvl4, gt4);
delay(timeTN-pwS2*0.5-gt4);
sim3_c13pulse("", "co", "ca", "sinc", "", 0.0, 180.0, 2.0*pwN,
zero, zero, zero, 2.0e-6, 2.0e-6);
示例11: pulsesequence
void pulsesequence() {
// Define Variables and Objects and Get Parameter Values
CP hx = getcp("HX",0.0,0.0,0,1);
strncpy(hx.fr,"dec",3);
strncpy(hx.to,"obs",3);
putCmd("frHX='dec'\n");
putCmd("toHX='obs'\n");
MPSEQ spc5 = getspc5("spc5X",0,0.0,0.0,0,1);
MPSEQ spc5ref = getspc5("spc5X",spc5.iSuper,spc5.phAccum,spc5.phInt,1,1);
strncpy(spc5.ch,"obs",3);
putCmd("chXspc5='obs'\n");
DSEQ dec = getdseq("H");
strncpy(dec.t.ch,"dec",3);
putCmd("chHtppm='dec'\n");
strncpy(dec.s.ch,"dec",3);
putCmd("chHspinal='dec'\n");
// Set Constant-time Period for d2.
if (d2_index == 0) d2_init = getval("d2");
double d2_ = (ni - 1)/sw1 + d2_init;
putCmd("d2acqret = %f\n",roundoff(d2_,12.5e-9));
putCmd("d2dwret = %f\n",roundoff(1.0/sw1,12.5e-9));
//--------------------------------------
// Copy Current Parameters to Processed
//-------------------------------------
putCmd("groupcopy('current','processed','acquisition')");
// Dutycycle Protection
DUTY d = init_dutycycle();
d.dutyon = getval("pwH90") + getval("tHX") + getval("pwX90") +
spc5.t + spc5ref.t;
d.dutyoff = d1 + 4.0e-6 + 2.0*getval("tZF");
d.c1 = d.c1 + (!strcmp(dec.seq,"tppm"));
d.c1 = d.c1 + ((!strcmp(dec.seq,"tppm")) && (dec.t.a > 0.0));
d.t1 = d2_ + getval("rd") + getval("ad") + at;
d.c2 = d.c2 + (!strcmp(dec.seq,"spinal"));
d.c2 = d.c2 + ((!strcmp(dec.seq,"spinal")) && (dec.s.a > 0.0));
d.t2 = d2_ + getval("rd") + getval("ad") + at;
d = update_dutycycle(d);
abort_dutycycle(d,10.0);
// Create Phasetables
settable(phH90,4,table1);
settable(phHhx,4,table2);
settable(phXhx,4,table3);
settable(phXmix1,4,table4);
settable(phXmix2,4,table5);
settable(phRec,4,table6);
setreceiver(phRec);
if (phase1 == 2)
tsadd(phXhx,1,4);
// Begin Sequence
txphase(phXhx); decphase(phH90);
obspwrf(getval("aXhx")); decpwrf(getval("aH90"));
obsunblank(); decunblank(); _unblank34();
delay(d1);
sp1on(); delay(2.0e-6); sp1off(); delay(2.0e-6);
// H to X Cross Polarization
decrgpulse(getval("pwH90"),phH90,0.0,0.0);
decphase(phHhx);
_cp_(hx,phHhx,phXhx);
// F2 Indirect Period for X
obspwrf(getval("aX90"));
_dseqon(dec);
delay(d2);
_dseqoff(dec);
// Mixing with SPC5 Recoupling
rgpulse(getval("pwX90"),phXmix1,0.0,0.0);
obspwrf(getval("aXspc5"));
xmtrphase(v1); txphase(phXmix1);
delay(getval("tZF"));
decpwrf(getval("aHmix"));
decon();
_mpseq(spc5, phXmix1);
xmtrphase(v2); txphase(phXmix2);
_mpseq(spc5ref, phXmix2);
decoff();
obspwrf(getval("aX90"));
xmtrphase(zero); txphase(phXmix2);
delay(getval("tZF"));
rgpulse(getval("pwX90"),phXmix2,0.0,0.0);
// Begin Acquisition
//.........这里部分代码省略.........
示例12: pulsesequence
pulsesequence() {
// Define Variables and Objects and Get Parameter Values
SHAPE p1 = getpulse("90H",0.0,0.0,1,0);
strncpy(p1.pars.ch,"dec",3);
putCmd("chH90='dec'\n");
p1.pars.array = disarry("xx", p1.pars.array);
p1 = update_shape(p1,0.0,0.0,1);
MPSEQ ph = getpmlgxmx("pmlgH",0,0.0,0.0,1,0);
strncpy(ph.ch,"dec",3);
putCmd("chHpmlg='dec'\n");
double pwHpmlg = getval("pwHpmlg");
ph.nelem = (int) (d2/(2.0*pwHpmlg) + 0.1);
ph.array = disarry("xx", ph.array);
ph = update_mpseq(ph,0,p1.pars.phAccum,p1.pars.phInt,1);
SHAPE p2 = getpulse("90H",0.0,0.0,2,0);
strncpy(p2.pars.ch,"dec",3);
putCmd("chH90='dec'\n");
p2.pars.array = disarry("xx", p2.pars.array);
p2 = update_shape(p2,ph.phAccum,ph.phInt,2);
double pwX180 = getval("pwX180");
double d22 = ph.t/2.0 - pwX180/2.0;
if (d22 < 0.0) d22 = 0.0;
// CP hx and DSEQ dec Return to the Reference Phase
CP hx = getcp("HX",0.0,0.0,0,1);
strncpy(hx.fr,"dec",3);
strncpy(hx.to,"obs",3);
putCmd("frHX='dec'\n");
putCmd("toHX='obs'\n");
DSEQ dec = getdseq("H");
strncpy(dec.t.ch,"dec",3);
putCmd("chHtppm='dec'\n");
strncpy(dec.s.ch,"dec",3);
putCmd("chHspinal='dec'\n");
// Set Constant-time Period for d2.
if (d2_index == 0) d2_init = getval("d2");
double d2_ = (ni - 1)/sw1 + d2_init;
putCmd("d2acqret = %f\n",roundoff(d2_,12.5e-9));
putCmd("d2dwret = %f\n",roundoff(1.0/sw1,12.5e-9));
//--------------------------------------
// Copy Current Parameters to Processed
//-------------------------------------
putCmd("groupcopy('current','processed','acquisition')");
// Dutycycle Protection
DUTY d = init_dutycycle();
d.dutyon = p1.pars.t + d2_ + p2.pars.t + getval("pwH90") + getval("pwHtilt") +
getval("tHX");
d.dutyoff = d1 + 4.0e-6 + getval("tHmix");
d.c1 = d.c1 + (!strcmp(dec.seq,"tppm"));
d.c1 = d.c1 + ((!strcmp(dec.seq,"tppm")) && (dec.t.a > 0.0));
d.t1 = getval("rd") + getval("ad") + at;
d.c2 = d.c2 + (!strcmp(dec.seq,"spinal"));
d.c2 = d.c2 + ((!strcmp(dec.seq,"spinal")) && (dec.s.a > 0.0));
d.t2 = getval("rd") + getval("ad") + at;
d = update_dutycycle(d);
abort_dutycycle(d,10.0);
// Set Phase Tables
settable(ph1H90,4,table1);
settable(phHpmlg,4,table2);
settable(ph2H90,4,table3);
settable(ph3H90,4,table4);
settable(phHtilt,4,table5);
settable(phXhx,4,table6);
settable(phHhx,4,table7);
settable(phRec,4,table8);
//Add STATES TPPI ("States with "FAD")
tsadd(phRec,2*d2_index,4);
if (phase1 == 2) {
tsadd(ph2H90,2*d2_index+3,4);
}
else {
tsadd(ph2H90,2*d2_index,4);
}
setreceiver(phRec);
// Begin Sequence
txphase(phXhx); decphase(ph1H90);
obspwrf(getval("aX180")); decpwrf(getval("aH90"));
obsunblank();decunblank(); _unblank34();
delay(d1);
sp1on(); delay(2.0e-6); sp1off(); delay(2.0e-6);
// Offset H Preparation with a Tilt Pulse
//.........这里部分代码省略.........
示例13: pulsesequence
//.........这里部分代码省略.........
tau2 = d3;
if((f2180[A] == 'y') && (ni2 > 1.0))
{ tau2 += ( 1.0 / (2.0*sw2) ); if(tau2 < 0.2e-6) tau2 = 0.0; }
tau2 = tau2/2.0;
/* Calculate modifications to phases for States-TPPI acquisition */
if( ix == 1) d2_init = d2;
t1_counter = (int) ( (d2-d2_init)*sw1 + 0.5 );
if(t1_counter % 2)
{ tsadd(t2,2,4); tsadd(t12,2,4); }
if( ix == 1) d3_init = d3;
t2_counter = (int) ( (d3-d3_init)*sw2 + 0.5 );
if(t2_counter % 2)
{ tsadd(t8,2,4); tsadd(t12,2,4); }
/* BEGIN PULSE SEQUENCE */
status(A);
delay(d1);
if (dm3[B]=='y') lk_hold();
rcvroff();
set_c13offset("ca");
obsoffset(tof);
obspower(tpwr);
obspwrf(4095.0);
decpower(pwClvl);
decpwrf(4095.0);
dec2power(pwNlvl);
txphase(three);
delay(1.0e-5);
dec2rgpulse(pwN, zero, 0.0, 0.0); /*destroy N15 and C13 magnetization*/
decrgpulse(pwC, zero, 0.0, 0.0);
zgradpulse(gzlvl0, 0.5e-3);
delay(1.0e-4);
dec2rgpulse(pwN, one, 0.0, 0.0);
decrgpulse(pwC, zero, 0.0, 0.0);
zgradpulse(0.7*gzlvl0, 0.5e-3);
delay(5.0e-4);
if(dm3[B] == 'y') /*optional 2H decoupling on */
{dec3unblank(); dec3rgpulse(1/dmf3, one, 0.0, 0.0);
dec3unblank(); setstatus(DEC3ch, TRUE, 'w', FALSE, dmf3);}
rgpulse(pw, zero, 0.0, 0.0); /* 1H pulse excitation */
txphase(zero);
decphase(zero);
zgradpulse(gzlvl0, gt0); /* 2.0*GRADIENT_DELAY */
decpwrf(rfst);
delay(tauCH - gt0 - WFG2_START_DELAY - 0.5e-3 + 70.0e-6);
simshaped_pulse("",stCshape, 2.0*pw, 1.0e-3, zero, zero, 0.0, 0.0);
delay(tauCH - gt0 - 0.5e-3 + 70.0e-6 - 150.0e-6);
decpwrf(rf0);
示例14: pulsesequence
//.........这里部分代码省略.........
tsadd(t2,1,4);
}
/* calculate modification to phases based on current t1 values
to achieve States-TPPI acquisition */
if(ix == 1)
{
d2_init = d2;
}
t1_counter = (int) ( (d2-d2_init)*sw1 + 0.5);
if(t1_counter %2)
{
tsadd(t2,2,4);
tsadd(t14,2,4);
}
/* set up so that get (-90,180) phase corrects in F1 if f1180 flag is y */
tau1=d2;
if( (f1180[A] == 'y') && (ni >1.0) ) tau1 += (1.0/(2.0*sw1));
tau1 = tau1/2.0 -pw -2*pwN/PI;
if (tau1 < 0.0) tau1=0.0;
/* BEGIN ACTUAL PULSE SEQUENCE */
status(A);
obspower(tpwr); /* Set power for pulses */
dec2power(pwNlvl); /* Set decoupler2 power to pwNlvl */
decpower(pwClvl);
decpwrf(rf0);
obsoffset(tof);
decoffset(dofCHn);
delay(d1);
status(B);
rcvroff();
txphase(t1);
delay(9.0e-5);
/* spin-echo filter and 15N/13C double filters */
rgpulse(pw,t1,0.0,0.0);
if(C13filter[A]=='y')
{
decphase(t5);
zgradpulse(gzlvl5,gt5);
delay(tauCH1-gt5);
decrgpulse(pwC,t5,0.0,0.0);
txphase(t3); dec2phase(t5);
delay(tauNH1-tauCH1-pwN*0.5);
sim3pulse(2.0*pw,2*pwC,pwN,t3,zero,t5,0.0,0.0);
decphase(t6);
delay(tauCH2+tauCH1-tauNH1-pwN*0.5);
decrgpulse(pwC,t6,0.0,0.0);
delay(tauNH1+tauNH2-tauCH1-tauCH2-gt5-gstab);
示例15: pulsesequence
pulsesequence()
{
double gzlvlE = getval("gzlvlE"),
gtE = getval("gtE"),
EDratio = getval("EDratio"),
gstab = getval("gstab"),
hsglvl = getval("hsglvl"),
hsgt = getval("hsgt"),
satdly = getval("satdly"),
pwxlvl = getval("pwxlvl"),
pwx = getval("pwx"),
jFH = getval("jFH"),
dly1, dly2;
char sspul[MAXSTR],
satmode[MAXSTR];
int icosel;
getstr("satmode",satmode);
getstr("sspul",sspul);
if (jFH == 0.0) jFH=7.0;
dly1 = 1.0 / (2.0*jFH);
dly2 = 1.0 / (3.0*jFH);
icosel = -1;
settable(t1,4,ph1);
settable(t2,4,ph2);
settable(t3,8,ph3);
settable(t4,32,ph4);
settable(t5,16,ph5);
getelem(t1,ct,v1);
getelem(t2,ct,v2);
getelem(t3,ct,v3);
getelem(t4,ct,v4);
getelem(t5,ct,oph);
initval(2.0*(double)(((int)(d2*getval("sw1")+0.5)%2)),v10);
{
add(v1,v10,v1);
add(oph,v10,oph);
}
decpower(pwxlvl); decpwrf(4095.0);
status(A);
if (sspul[0] == 'y')
{
zgradpulse(hsglvl,hsgt);
rgpulse(pw,zero,rof1,rof1);
decrgpulse(pwx,zero,rof1,rof1);
zgradpulse(hsglvl,hsgt);
}
if (satmode[0] == 'y')
{
if (d1 - satdly > 0) delay(d1 - satdly);
else delay(0.02);
obspower(satpwr);
if (satfrq != tof) obsoffset(satfrq);
rgpulse(satdly,zero,rof1,rof1);
if (satfrq != tof) obsoffset(tof);
obspower(tpwr);
delay(1.0e-5);
}
else delay(d1);
if (getflag("wet"))
wet4(zero,one);
status(B);
decrgpulse(pwx, v1, rof1, rof1);
if (d2/2.0==0.0) delay(d2);
else delay(d2/2.0-2*rof1-pw);
rgpulse(2.0*pw,v3,rof1,rof1);
if (d2/2.0==0.0) delay(d2);
else delay(d2/2.0-2*rof1-pw);
delay(dly1 - gtE-gstab);
zgradpulse(gzlvlE*EDratio,gtE);
delay(gstab);
decrgpulse(pwx,v2,rof1,rof1);
rgpulse(pw, v4, rof1, rof1);
zgradpulse(icosel*gzlvlE,gtE);
decpower(dpwr);
delay(dly2 - gtE);
status(C);
}