本文整理汇总了C++中decphase函数的典型用法代码示例。如果您正苦于以下问题:C++ decphase函数的具体用法?C++ decphase怎么用?C++ decphase使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了decphase函数的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
void pulsesequence() {
// Define Variables and Objects and Get Parameter Values
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("pwX90");
d.dutyoff = d1 + 4.0e-6;
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(phX90,4,table1);
settable(phRec,4,table2);
setreceiver(phRec);
// Begin Sequence
txphase(phX90); decphase(zero);
obspwrf(getval("aX90"));
obsunblank(); decunblank(); _unblank34();
delay(d1);
sp1on(); delay(2.0e-6); sp1off(); delay(2.0e-6);
// X Direct Polarization
rgpulse(getval("pwX90"),phX90,0.0,0.0);
// Begin Acquisition
_dseqon(dec);
obsblank(); _blank34();
delay(getval("rd"));
startacq(getval("ad"));
acquire(np, 1/sw);
endacq();
_dseqoff(dec);
obsunblank(); decunblank(); _unblank34();
}
示例3: pulsesequence
pulsesequence() {
// Define Variables and Objects and Get Parameter Values
initval(getval("periods"),v2);
//--------------------------------------
// Copy Current Parameters to Processed
//-------------------------------------
putCmd("groupcopy('current','processed','acquisition')");
// Set Phase Tables
settable(phX90,4,table1);
settable(phRec,4,table2);
setreceiver(phRec);
// Begin Sequence
txphase(phX90); decphase(zero);
obspwrf(getval("aX90"));
obsunblank(); decunblank(); _unblank34();
delay(d1);
xgate(1.0);
sp1on(); delay(2.0e-6); sp1off(); delay(2.0e-6);
// Apply a Rotorsync Delay
rgpulse(getval("pwX90"),phX90,0.0,0.0);
rotorsync(v2);
rgpulse(getval("pwX90"),phX90,0.0,0.0);
xgate(getval("xperiods"));
rgpulse(getval("pwX90"),phX90,0.0,0.0);
delay(10.0e-6);
// X Direct Polarization
rgpulse(getval("pwX90"),phX90,0.0,0.0);
// Begin Acquisition
obsblank(); _blank34();
delay(getval("rd"));
startacq(getval("ad"));
acquire(np, 1/sw);
endacq();
obsunblank(); decunblank(); _unblank34();
}
示例4: pulsesequence
//.........这里部分代码省略.........
if(phase1==2) tsadd(t21,1,4);
if(phase2==2) tsadd(t12,1,4);
if(d2_index%2)
{
tsadd(t21,2,4);
tsadd(t10,2,4);
}
if(d3_index%2)
{
tsadd(t12,2,4);
tsadd(t10,2,4);
}
/* BEGIN ACTUAL PULSE SEQUENCE */
status(A);
if (satmode[A] == 'y')
{
if(satmove)
obsoffset(satfrq);
obspower(satpwr);
rgpulse(d1,zero,rof1,rof1);
if(satmove)
obsoffset(tof);
}
else
{
delay(d1);
}
rcvroff();
decphase(t13);
obspower(tpwr); /* Set transmitter power for hard 1H pulses */
decpower(pwcalvl);
status(B);
rgpulse(pw,t21,1.0e-5,0.0); /* First 1H 90 degree pulse */
txphase(t11);
if(tau1 < (2*pwca + pw)) /* first t1-value */
{
delay(tauhc - 2*pwca - 1.0e-6); /* assuming pwca > pw */
decrgpulse(pwca,t13,0.0,0.0); /* 13C composite 180 deg pulse */
simpulse(2*pw, 2*pwca,t11, t14, 1.0e-6, 0.0);
decrgpulse(pwca,t13,1.0e-6,0.0); /* 13C composite 180 deg pulse */
txphase(one);
decphase(t12);
delay(tauhc - 2*pwca - 1.0e-6); /* assuming pwca > pw */
}
else
{
delay(tauhc + tau1/2 - 2*pwca -1.0e-6); /* t1-evol. plus pol. trans. */
decrgpulse(pwca,t13,0.0,0.0); /* 13C composite 180 deg pulse */
decrgpulse(2*pwca,t14,1.0e-6,0.0); /* 13C composite 180 deg pulse */
decrgpulse(pwca,t13,0.0,0.0); /* 13C composite 180 deg pulse */
delay(tau1/2 - 2*pwca - pw); /* continued t1-evol. */
rgpulse(2*pw,t11,0.0,0.0); /* proton echo pulse */
txphase(one);
decphase(t12);
delay(tauhc - pw);
}
simpulse(pw,pwca,one,t12,1.0e-6,0.2e-6);
decphase(zero);
decpower(pwcolvl);
if(tau2/2 > POWER_DELAY)
示例5: pulsesequence
//.........这里部分代码省略.........
dec2phase(zero);
delay(1.0e-5);
/* Begin Pulses */
status(B);
rcvroff();
lk_hold();
delay(20.0e-6);
initval(1.0,v2);
obsstepsize(phase_sl);
xmtrphase(v2);
/* shaped pulse */
obspower(tpwrsl);
shaped_pulse(shp_sl,pw_sl,one,4.0e-6,0.0);
xmtrphase(zero);
obspower(tpwr); txphase(zero);
delay(4.0e-6);
/* shaped pulse */
rgpulse(pw,zero,0.0,0.0); /* 90 deg 1H pulse */
delay(0.2e-6);
zgradpulse(gzlvl5,gt5);
delay(2.0e-6);
delay(taua - gt5 - 2.2e-6); /* taua <= 1/4JNH */
sim3pulse(2*pw,0.0e-6,2*pwN,zero,zero,zero,0.0,0.0);
txphase(three); dec2phase(zero); decphase(zero);
delay(0.2e-6);
zgradpulse(gzlvl5,gt5);
delay(200.0e-6);
delay(taua - gt5 - 200.2e-6 - 2.0e-6);
if (sel_flg[A] == 'n')
{
rgpulse(pw,three,2.0e-6,0.0);
delay(0.2e-6);
zgradpulse(gzlvl3,gt3);
delay(200.0e-6);
dec2rgpulse(pwN,zero,0.0,0.0);
delay( zeta );
dec2rgpulse(2.0*pwN,zero,0.0,0.0);
decshaped_pulse(spchirp,pwchirp,zero,0.0,0.0);
delay(zeta -WFG_START_DELAY -pwchirp -WFG_STOP_DELAY -2.0e-6);
dec2rgpulse(pwN,zero,2.0e-6,0.0);
}
else
{
rgpulse(pw,one,2.0e-6,0.0);
initval(1.0,v3);
示例6: pulsesequence
//.........这里部分代码省略.........
if (dm3[B] == 'y')
{
lk_hold();
lk_sampling_off();
} /*freezes z0 correction, stops lock pulsing */
rcvroff();
obspower(tpwr);
decpower(pwClvl);
dec2power(pwNlvl);
decpwrf(rf0);
obsoffset(tof);
txphase(t3);
delay(1.0e-5);
decrgpulse(pwC, zero, 0.0, 0.0); /*destroy C13 magnetization */
zgradpulse(gzlvl0, 0.5e-3);
delay(1.0e-4);
decrgpulse(pwC, one, 0.0, 0.0);
zgradpulse(0.7 * gzlvl0, 0.5e-3);
delay(5.0e-4);
if (dm3[B] == 'y') /* begins optional 2H decoupling */
{
dec3rgpulse(1 / dmf3, one, 10.0e-6, 2.0e-6);
dec3unblank();
dec3phase(zero);
delay(2.0e-6);
setstatus(DEC3ch, TRUE, 'w', FALSE, dmf3);
}
rgpulse(pw, t3, 0.0, 0.0); /* 1H pulse excitation */
zgradpulse(gzlvl0, gt0); /* 2.0*GRADIENT_DELAY */
decphase(zero);
delay(taua + tau1 - gt0 - 2.0 * GRADIENT_DELAY - 2.0 * pwC);
decrgpulse(2.0 * pwC, zero, 0.0, 0.0);
txphase(zero);
delay(tau1);
rgpulse(2.0 * pw, zero, 0.0, 0.0);
zgradpulse(gzlvl0, gt0);
txphase(one);
decphase(t5);
delay(taua - gt0);
rgpulse(pw, one, 0.0, 0.0);
zgradpulse(gzlvl3, gt3);
delay(2.0e-4);
decrgpulse(pwC, t5, 0.0, 0.0);
delay(tau2);
dec2rgpulse(2.0 * pwN, zero, 0.0, 0.0);
zgradpulse(gzlvl4, gt4); /* 2.0*GRADIENT_DELAY */
decphase(zero);
decpwrf(rf7);
delay(taub - 2.0 * pwN - gt4 - 2.0 * GRADIENT_DELAY);
decshaped_pulse("offC10", pwC10, zero, 0.0, 0.0);
txphase(zero);
decpwrf(rf0);
delay(taub - 2.0 * pw);
rgpulse(2.0 * pw, zero, 0.0, 0.0);
delay(tau2);
decrgpulse(2.0 * pwC, zero, 0.0, 0.0);
decpwrf(rf7);
delay(taub);
decshaped_pulse("offC10", pwC10, zero, 0.0, 0.0);
zgradpulse(gzlvl4, gt4); /* 2.0*GRADIENT_DELAY */
delay(taub - gt4 - 2.0 * GRADIENT_DELAY);
decpwrf(rfd);
示例7: pulsesequence
//.........这里部分代码省略.........
if(d3_index % 2) { tsadd(t2,2,4); tsadd(t12,2,4); tsadd(t31,2,4); }
tau3 = 0.5*(d4_index/swC+0.5/swC)-pw -rof1 -pwC*2.0/M_PI ; /* increment corresponds to 13C increment */
tau3p = 0.5*(d4_index/swN+0.5/swN) -pw -rof1 -pwC -pwN*2.0/M_PI -tau3;
if(d4_index % 2) { tsadd(t7,2,4); tsadd(t8,2,4); tsadd(t31,2,4); }
tau2 = d3;
tau2 += 0.0*(-pw*4.0/M_PI-rof1*2.0);
if((f2180[A] == 'y') && (ni2 > 0.0)) {tau2 += ( 1.0 / (2.0*sw2) ); }
if(tau2 < 0.2e-6) {tau2 = 0.0;}
tau2 = tau2/2.0;
}
/* simultaneous Ntrosy-ChsqcSE, last part */
/* Phase incrementation for hypercomplex 2D data, States-Haberkorn element */
if (phase1 == 1) {icosel = 1; }
else { tsadd(t21,2,4); tsadd(t22,2,4); tsadd(t23,2,4); icosel = -1; }
if(d2_index % 2) { tsadd(t4,2,4); tsadd(t5,2,4); tsadd(t31,2,4); }
/* ECHO-ANTIECHO + STATES-TPPI t1, t1' in TROSY/HSQC last step */
tau1 = 1.0*d2_index/swC; /* increment corresponds to 13C increment */
tau1p = 1.0*d2_index*(1.0/swN-1.0/swC);
/* BEGIN PULSE SEQUENCE */
status(A);
obspower(tpwr);
decpower(pwClvl);
dec2power(pwNlvl);
txphase(zero);
decphase(zero);
dec2phase(zero);
delay(d1);
/* Destroy 13C magnetization*/
decrgpulse(pwC*1.0, zero, 0.0, 0.0);
zgradpulse(-gzlvl0, gt0);
delay(gstab);
/* NOESY */
if(exp_mode[A]!='2')
{ /* 3-4D */
if(exp_mode[A]=='4')
{ /* full 4D */
/* t3 evolution, the very first HSQC */
/* Hz -> HzXz INEPT */
rgpulse(pw,two,rof1,rof1); /* 1H pulse excitation */
zgradpulse(gzlvl7, gt0); delay(tauCH-gt0);
decrgpulse(pwC*2.0, zero, 0.0, 0.0); delay(tauNH -tauCH -pwC*2.0 );
sim3pulse(2.0*pw, 0.0, 2.0*pwN, zero, zero, zero, 0.0, 0.0);
delay(tauNH - gt0 -gstab); zgradpulse(gzlvl7, gt0); delay(gstab);
rgpulse(pw, one, rof1, rof1);
/* water defoc-refoc */
delay(gstab); zgradpulse(gzlvl8, gt8); delay(gstab);
示例8: pulsesequence
//.........这里部分代码省略.........
delay(ni/sw1-d2); /*decreases as t1 increases for const.heating*/
if ((ni2/sw2-d3)>0)
delay(ni2/sw2-d3); /*decreases as t2 increases for const.heating*/
delay(d1);
if ( dm3[B] == 'y' )
{ lk_hold(); lk_sampling_off();} /*freezes z0 correction, stops lock pulsing*/
rcvroff();
obspower(tpwr);
decpower(pwClvl);
dec2power(pwNlvl);
decpwrf(rf0);
obsoffset(tof);
txphase(t3);
delay(1.0e-5);
decrgpulse(pwC, zero, 0.0, 0.0); /*destroy C13 magnetization*/
zgradpulse(gzlvl1, 0.5e-3);
delay(1.0e-4);
decrgpulse(pwC, one, 0.0, 0.0);
zgradpulse(0.7*gzlvl1, 0.5e-3);
delay(5.0e-4);
if ( dm3[B] == 'y' ) /* begins optional 2H decoupling */
{
dec3rgpulse(1/dmf3,one,10.0e-6,2.0e-6);
dec3unblank();
dec3phase(zero);
delay(2.0e-6);
setstatus(DEC3ch, TRUE, 'w', FALSE, dmf3);
}
rgpulse(pw, t3, 0.0, 0.0); /* 1H pulse excitation */
decphase(zero);
delay(0.5*del + tau1 - 2.0*pwC);
decrgpulse(2.0*pwC, zero, 0.0, 0.0);
txphase(zero);
delay(tau1);
rgpulse(2.0*pw, zero, 0.0, 0.0);
if (mag_flg[A] == 'y')
{
magradpulse(icosel1*gzcal*gzlvl1,0.1*gt1);
}
else
{
zgradpulse(icosel1*gzlvl1, 0.1*gt1);
}
decphase(t5);
delay(0.5*del - 0.1*gt1);
simpulse(pw, pwC, zero, t5, 0.0, 0.0);
zgradpulse(gzlvl3, gt3);
decphase(zero);
delay(0.5*del2 - gt3);
simpulse(2.0*pw, 2.0*pwC, zero, zero, 0.0, 0.0);
zgradpulse(gzlvl3, gt3);
txphase(t6);
decphase(one);
delay(0.5*del2 - gt3);
示例9: pulsesequence
pulsesequence() {
// Define Variables and Objects and Get Parameter Values
double pw1Xstmas = getval("pw1Xstmas");
double pw2Xstmas = getval("pw2Xstmas");
double tXzfselinit = getval("tXzfsel");
double tXzfsel = tXzfselinit - 3.0e-6;
if (tXzfsel < 0.0) tXzfsel = 0.0;
double d2init = getval("d2");
double d2 = d2init - pw1Xstmas/2.0 - pw2Xstmas/2.0;
if (d2 < 0.0) d2 = 0.0;
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("pw1Xstmas") + getval("pw2Xstmas") + getval("pwXzfsel");
d.dutyoff = d1 + 4.0e-6;
d.c1 = d.c1 + (!strcmp(dec.seq,"tppm"));
d.c1 = d.c1 + ((!strcmp(dec.seq,"tppm")) && (dec.t.a > 0.0));
d.t1 = d2_ + tXzfsel + 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_ + tXzfsel + getval("rd") + getval("ad") + at;
d = update_dutycycle(d);
abort_dutycycle(d,10.0);
// Set Phase Tables
settable(ph1Xstmas,4,table1);
settable(ph2Xstmas,4,table2);
settable(phXzfsel,8,table3);
settable(phRec,8,table4);
if (phase1 == 2) {
tsadd(ph1Xstmas,1,4);
}
setreceiver(phRec);
// Begin Sequence
txphase(ph1Xstmas); decphase(zero);
obspower(getval("tpwr"));
obspwrf(getval("aXstmas"));
obsunblank(); decunblank(); _unblank34();
delay(d1);
sp1on(); delay(2.0e-6); sp1off(); delay(2.0e-6);
// H Decoupler on Before STMAS
_dseqon(dec);
// Two-Pulse STMAS
rgpulse(getval("pw1Xstmas"),ph1Xstmas,0.0,0.0);
txphase(ph2Xstmas);
delay(d2);
rgpulse(getval("pw2Xstmas"),ph2Xstmas,0.0,0.0);
// Z-filter Pulse
txphase(phXzfsel);
obsblank();
obspower(getval("dbXzfsel"));
obspwrf(getval("aXzfsel"));
delay(3.0e-6);
obsunblank();
delay(tXzfsel);
rgpulse(getval("pwXzfsel"),phXzfsel,0.0,0.0);
// Begin Acquisition
obsblank(); _blank34();
delay(getval("rd"));
startacq(getval("ad"));
acquire(np, 1/sw);
endacq();
_dseqoff(dec);
obsunblank(); decunblank(); _unblank34();
}
示例10: pulsesequence
//.........这里部分代码省略.........
status(A);
if (dm3[B]=='y') lk_sample();
delay(d1);
if (dm3[B]=='y') lk_hold();
rcvroff();
obspower(tpwr);
decpower(pwClvl);
dec2power(pwNlvl);
decpwrf(rfC);
obsoffset(tof);
decoffset(dofa);
dec2offset(dof2);
txphase(t3);
delay(1.0e-5);
decrgpulse(pwC, zero, 0.0, 0.0); /*destroy C13 magnetization*/
zgradpulse(gzlvl1, 0.5e-3);
delay(grecov/2);
decrgpulse(pwC, one, 0.0, 0.0);
zgradpulse(0.7*gzlvl1, 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, t3, 0.0, 0.0); /* 1H pulse excitation */
decphase(zero);
delay(0.5*del + tau1 - 2.0*pwC);
decrgpulse(2.0*pwC, zero, 0.0, 0.0);
txphase(zero);
delay(tau1);
rgpulse(2.0*pw, zero, 0.0, 0.0);
zgradpulse(icosel1*gzlvl1, 0.1*gt1);
decphase(t5);
delay(0.5*del - 0.1*gt1);
simpulse(pw, pwC, zero, t5, 0.0, 0.0);
zgradpulse(gzlvl3, gt3);
decphase(zero);
delay(0.5*del2 - gt3);
simpulse(2.0*pw, 2.0*pwC, zero, zero, 0.0, 0.0);
zgradpulse(gzlvl3, gt3);
txphase(t6);
decphase(one);
delay(0.5*del2 - gt3);
simpulse(pw, pwC, t6, one, 0.0, 0.0);
zgradpulse(gzlvl4, gt3);
txphase(zero);
decphase(zero);
delay(0.5*del1 - gt3);
示例11: pulsesequence
//.........这里部分代码省略.........
obspower(tpwrmess);
txphase(zero);
rgpulse(dly_pg1,zero,2.0e-6,2.0e-6);
txphase(one);
rgpulse(dly_pg1/1.62,one,2.0e-6,2.0e-6);
obspower(tsatpwr);
}
if (fsat[0] == 'y')
{
obsoffset(tofps);
delay(2.0e-5);
rgpulse(d1,zero,2.0e-6,2.0e-6); /* presat */
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 */
obsoffset(tof);
decphase(zero);
/* Begin Pulses */
status(B);
rcvroff();
delay(10.0e-6);
rgpulse(pw,t6,4.0e-6,0.0); /* 90 deg 1H pulse */
txphase(zero); decphase(zero);
delay(2.0e-6);
zgradpulse(gzlvl8,gt8);
delay(gstab);
delay(taua1 - gt8 - gstab -2.0e-6 - POWER_DELAY - 4.0e-6
- PRG_START_DELAY - d_me1);
/* 1st purge CHIRP inversion on */
decpower(dchrp1); /* Set power for 1st purge CHIRP inversion */
delay(4.0e-6);
decprgon(ch_shp1,1.0/dmfchp1,dres_chp);
decon();
delay(d_me1);
rgpulse(2*pw,zero,0.0,0.0); /* 1H inversion pulse */
示例12: pulsesequence
//.........这里部分代码省略.........
{
delay(5.0e-5);
rgpulse(pw,zero,rof1,0.0);
rgpulse(pw,one,0.0,rof1);
zgradpulse(1.5*gzlvl3, 0.5e-3);
delay(5.0e-4);
rgpulse(pw,zero,rof1,0.0);
rgpulse(pw,one,0.0,rof1);
zgradpulse(-gzlvl3, 0.5e-3);
}
delay(d1);
rcvroff();
status(B);
rgpulse(pw, zero, rof1, rof1);
zgradpulse(0.3*gzlvl3,gt3);
txphase(zero);
dec2phase(zero);
delay(tauxh-gt3); /* delay=1/4J(XH) */
sim3pulse(2*pw,0.0,2*pwN,t4,zero,zero,rof1,rof1);
zgradpulse(0.3*gzlvl3,gt3);
dec2phase(t2);
delay(tauxh-gt3 ); /* delay=1/4J(XH) */
rgpulse(pw, t1, rof1, rof1);
zgradpulse(0.5*gsign*ihh*gzlvl3,gt3);
delay(200.0e-6);
decphase(zero);
if (TROSY[A] == 'y')
{
txphase(t3);
if ( phase1 == 2 )
dec2rgpulse(pwN, t6, rof1, 0.0);
else
dec2rgpulse(pwN, t2, rof1, 0.0);
if ( (C13refoc[A]=='y') && (d2 > 1.0e-3 + 2.0*WFG2_START_DELAY) )
{
delay(d2/2.0 - 0.5e-3 - WFG2_START_DELAY);
decshaped_pulse("stC200", 1.0e-3, zero, 0.0, 0.0);
delay(d2/2.0 - 0.5e-3 - WFG2_STOP_DELAY);
}
else
delay(d2);
rgpulse(pw, t3, 0.0, rof1);
zgradpulse(0.65*gzlvl3,gt3);
delay(tauxh-gt3 );
sim3pulse(2*pw,0.0,2*pwN,zero,zero,zero,rof1,rof1);
zgradpulse(0.65*gzlvl3,gt3);
delay(tauxh-gt3 );
sim3pulse(pw,0.0,pwN,zero,zero,t3,rof1,rof1);
}
else
{
txphase(t4);
dec2rgpulse(pwN, t2, rof1, 0.0);
示例13: pulsesequence
//.........这里部分代码省略.........
/* BEGIN ACTUAL PULSE SEQUENCE */
status(A);
obspower(satpwr); /* Set transmitter power for 1H presaturation */
decpower(pwClvl); /* Set Dec1 power for hard 13C pulses */
dec2power(pwNlvl); /* Set Dec2 to low power */
/* Presaturation Period */
status(B);
if (fsat[0] == 'y')
{
obsoffset(tofps);
delay(2.0e-5);
rgpulse(d1,zero,2.0e-6,2.0e-6); /* presat with transmitter */
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.0*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 */
obsoffset(tof);
txphase(t1);
decphase(zero);
dec2phase(zero);
delay(1.0e-5);
/* Begin Pulses */
status(C);
decoffset(dof_me);
lk_hold();
rcvroff();
delay(20.0e-6);
/* ensure that magnetization originates on 1H and not 13C */
if(dtt_flg[A] == 'y') {
obsoffset(tof_dtt);
obspower(tpwrs1);
shaped_pulse("H2Osinc",pwHs1,zero,10.0e-6,0.0);
obspower(tpwr);
obsoffset(tof);
}
decrgpulse(pwC,zero,0.0,0.0);
zgradpulse(gzlvl0,gt0);
delay(gstab);
rgpulse(pw,zero,0.0,0.0); /* 90 deg 1H pulse */
示例14: pulsesequence
void pulsesequence()
{
char c1d[MAXSTR]; /* option to record only 1D C13 spectrum */
int ncyc;
double tau1 = 0.002, /* t1 delay */
post_del = 0.0,
pwClvl = getval("pwClvl"), /* coarse power for C13 pulse */
pwC = getval("pwC"), /* C13 90 degree pulse length at pwClvl */
compC = getval("compC"),
compH = getval("compH"),
mixpwr = getval("mixpwr"),
jCH = getval("jCH"),
gt0 = getval("gt0"),
gt1 = getval("gt1"),
gt2 = getval("gt2"),
gzlvl0 = getval("gzlvl0"),
gzlvl1 = getval("gzlvl1"),
gzlvl2 = getval("gzlvl2"),
grec = getval("grec"),
phase = getval("phase");
getstr("c1d",c1d);
ncyc=1;
if(jCH > 0.0)
tau1 = 0.25/jCH;
dbl(ct, v1); /* v1 = 0 */
mod4(v1,oph);
hlv(ct,v2);
add(v2,v1,v2);
if (phase > 1.5)
incr(v1); /* hypercomplex phase increment */
initval(2.0*(double)((int)(d2*getval("sw1")+0.5)%2),v10);
add(v1,v10,v1);
add(oph,v10,oph);
mod4(v1,v1); mod4(v2,v2); mod4(oph,oph);
assign(zero,v3);
if(FIRST_FID)
{
HHmix = pbox_mix("HHmix", "DIPSI2", mixpwr, pw*compH, tpwr);
if(c1d[A] == 'n')
{
opx("CHdec"); setwave("WURST2 30k/1.2m"); pbox_par("steps","600"); cpx(pwC*compC, pwClvl);
CHdec = getDsh("CHdec");
}
}
ncyc = (int) (at/HHmix.pw) + 1;
post_del = ncyc*HHmix.pw - at;
/* BEGIN PULSE SEQUENCE */
status(A);
zgradpulse(gzlvl0, gt0);
rgpulse(pw, zero, 0.0, 0.0); /* destroy H-1 magnetization*/
zgradpulse(gzlvl0, gt0);
delay(1.0e-4);
obspower(tpwr);
txphase(v1);
decphase(zero);
dec2phase(zero);
presat();
obspower(tpwr);
delay(1.0e-5);
status(B);
if(c1d[A] == 'y')
{
rgpulse(pw,v1,0.0,0.0); /* 1H pulse excitation */
delay(d2);
rgpulse(pw,two,0.0,0.0); /* 1H pulse excitation */
assign(oph,v3);
}
else
{
decunblank(); pbox_decon(&CHdec);
rgpulse(pw,v1,0.0,0.0); /* 1H pulse excitation */
txphase(zero);
delay(d2);
pbox_decoff(); decblank();
decpower(pwClvl); decpwrf(4095.0);
delay(tau1 - POWER_DELAY);
simpulse(2.0*pw, 2.0*pwC, zero, zero, 0.0, 0.0);
txphase(one); decphase(one); dec2phase(one);
delay(tau1);
simpulse(pw, pwC, one, one, 0.0, 0.0);
txphase(zero); decphase(zero); dec2phase(zero);
delay(tau1);
simpulse(2.0*pw, 2.0*pwC, zero, zero, 0.0, 0.0);
//.........这里部分代码省略.........
示例15: pulsesequence
void pulsesequence() {
//======================================================
// Define Variables and Objects and Get Parameter Values
//======================================================
// --------------------------------
// Acquisition Decoupling
// -------------------------------
char Xseq[MAXSTR];
getstr("Xseq",Xseq);
DSEQ dec = getdseq("X");
strncpy(dec.t.ch,"dec",3);
putCmd("chXtppm='dec'\n");
strncpy(dec.s.ch,"dec",3);
putCmd("chXspinal='dec'\n");
//-------------------------------------
// Homonuclear Decoupling During Echo
//-------------------------------------
MPDEC homo1 = getmpdec("hdec1H",0,0.0,0.0,0,1);
strncpy(homo1.mps.ch,"obs",3);
putCmd("chHhdec1='obs'\n");
// --------------------
// H echo calculation
// --------------------
double t1Hecho = getval("t1Hecho") - getval("pwHecho")/2.0 -
((!strcmp(homo1.dm,"y"))?getval("pwHshort1")*2.:0.0);
if (t1Hecho < 0.0) t1Hecho = 0.0;
double t2Hecho = getval("t2Hecho") - getval("pwHecho")/2.0 -
((!strcmp(homo1.dm,"y"))?getval("pwHshort1")*2.:0.0) -
getval("rd")- getval("ad");
if (t2Hecho < 0.0) t2Hecho = 0.0;
double t1H_echo = 0.0;
double t2H_echo = 0.0;
double t1H_left = 0.0;
double t2H_left = 0.0;
if (!strcmp(homo1.dm,"y")) {
t2H_echo = homo1.mps.t*((int)(t2Hecho/homo1.mps.t));
t2H_left = t2Hecho - t2H_echo;
t1H_echo = t2H_echo;
t1H_left = t1Hecho - t1H_echo;
}
//--------------------------------------
// Copy Current Parameters to Processed
//-------------------------------------
putCmd("groupcopy('current','processed','acquisition')");
//----------------------
// Dutycycle Protection
//----------------------
DUTY d = init_dutycycle();
d.dutyon = getval("pwH90");
d.dutyoff = d1 + 4.0e-6;
if (!strcmp(homo1.dm,"y"))
d.dutyon += t1H_echo + t2H_echo;
else
d.dutyoff += t1H_echo + t2H_echo;
d.c1 = d.c1 + (!strcmp(Xseq,"tppm"));
d.c1 = d.c1 + ((!strcmp(Xseq,"tppm")) && (dec.t.a > 0.0));
d.t1 = getval("rd") + getval("ad") + at;
d.c2 = d.c2 + (!strcmp(Xseq,"spinal"));
d.c2 = d.c2 + ((!strcmp(Xseq,"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(phH90,4,table1);
settable(phHecho,8,table2);
settable(phRec,4,table3);
setreceiver(phRec);
//=======================
// Begin Sequence
//=======================
txphase(phH90); decphase(zero);
obspwrf(getval("aH90"));
obsunblank(); decunblank(); _unblank34();
delay(d1);
sp1on(); delay(2.0e-6); sp1off(); delay(2.0e-6);
//------------------------
// H Direct Polarization
//------------------------
rgpulse(getval("pwH90"),phH90,0.0,0.0);
//.........这里部分代码省略.........