这篇教程C++ txphase函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中txphase函数的典型用法代码示例。如果您正苦于以下问题:C++ txphase函数的具体用法?C++ txphase怎么用?C++ txphase使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了txphase函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: spinlock_pulse spinlock_pulse(){ power(v3,TODEV); delay(d1); rcvroff(); txphase(v5); delay(rof1); xmtron(); delay(pi); xmtroff(); power(v4,TODEV); txphase(v6); delay(tph); xmtron(); delay(pj); xmtroff(); power(v3,TODEV); txphase(v7); delay(tph); xmtron(); delay(pi); xmtroff(); delay(rof2); rcvron(); delay(tix);}
开发者ID:DanIverson,项目名称:OpenVnmrJ,代码行数:26,
示例2: mlevbvoid mlevb(double window){ txphase(v4); delay(pw); xmtroff(); delay(window); xmtron(); txphase(v5); delay(2 * pw); xmtroff(); delay(window); xmtron(); txphase(v4); delay(pw);}
开发者ID:timburrow,项目名称:ovj3,代码行数:8,
示例3: mlevavoid mleva(double window){ txphase(v2); delay(pw); xmtroff(); delay(window); xmtron(); txphase(v3); delay(2 * pw); xmtroff(); delay(window); xmtron(); txphase(v2); delay(pw);}
开发者ID:timburrow,项目名称:ovj3,代码行数:8,
示例4: mlevamleva(){ double slpw; slpw = getval("slpw"); txphase(zero); delay(slpw); xmtroff(); delay(slpw); xmtron(); txphase(one); delay(2*slpw); xmtroff(); delay(slpw); xmtron(); txphase(zero); delay(slpw);}
开发者ID:timburrow,项目名称:ovj3,代码行数:10,
示例5: mlevbmlevb(){ double slpw; slpw = getval("slpw"); txphase(two); delay(slpw); xmtroff(); delay(slpw); xmtron(); txphase(three); delay(2*slpw); xmtroff(); delay(slpw); xmtron(); txphase(two); delay(slpw);}
开发者ID:timburrow,项目名称:ovj3,代码行数:10,
示例6: pulsesequencepulsesequence() {// 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();}
开发者ID:timburrow,项目名称:OpenVnmrJ,代码行数:60,
示例7: pulsesequencevoid 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();}
开发者ID:DanIverson,项目名称:OpenVnmrJ,代码行数:58,
示例8: pulsesequencepulsesequence() {// 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();}
开发者ID:timburrow,项目名称:OpenVnmrJ,代码行数:50,
示例9: pulsesequencevoid pulsesequence(){ double pwClvl,gzlvl1,gt1; gzlvl1=getval("gzlvl1"); gt1=getval("gt1"); pwClvl=getval("pwClvl"); add(oph,one,v1); /* equilibrium period */ status(A); obspower(pwClvl); hsdelay(d1); /* --- tau delay --- */ status(B); rgpulse(pw, oph,rof1,0.0); txphase(zero); zgradpulse(gzlvl1,gt1); delay(d2-gt1); rgpulse(p1,v1,0.0,0.0); zgradpulse(gzlvl1,gt1); delay(d2-gt1); status(C);}
开发者ID:DanIverson,项目名称:OpenVnmrJ,代码行数:22,
示例10: pulsesequencepulsesequence() {// 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();}
开发者ID:timburrow,项目名称:OpenVnmrJ,代码行数:100,
示例11: pulsesequence//.........这里部分代码省略......... 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); /*********************************** transfer CB->CA + DEPT CBH **************/
开发者ID:DanIverson,项目名称:OpenVnmrJ,代码行数:67,
示例12: pulsesequence//.........这里部分代码省略........./* 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(t3,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(t5,2,4); tsadd(t11,2,4); }/* BEGIN PULSE SEQUENCE */status(A); if ( dm3[B] == 'y' ) lk_sample(); if ((ni/sw1-d2)>0) 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);
开发者ID:DanIverson,项目名称:OpenVnmrJ,代码行数:67,
示例13: pulsesequence//.........这里部分代码省略........./* Presaturation Period */ if(mess_flg[A] == 'y') { obspower(tpwrmess); rgpulse(dly_pg1,zero,20.0e-6,20.0e-6); rgpulse(dly_pg1/1.62,one,20.0e-6,20.0e-6); obspower(tsatpwr); } if (fsat[0] == 'y') { delay(2.0e-5); rgpulse(d1,zero,20.0e-6,20.0e-6); 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(zero); dec2phase(zero); decphase(zero); delay(1.0e-5);/* Begin Pulses */ rcvroff(); delay(10.0e-6);/* first ensure that magnetization does infact start on H and not C */ decrgpulse(pwC,zero,2.0e-6,2.0e-6); delay(2.0e-6); zgradpulse(gzlvl0,gt0); delay(gstab);/* this is the real start */ rgpulse(pw,zero,0.0,0.0); /* 90 deg 1H pulse */ delay(2.0e-6); zgradpulse(gzlvl1,gt1); delay(2.0e-6); delay(taua - gt1 - 4.0e-6); /* taua <= 1/4JCH */ simpulse(2*pw,2*pwC,zero,zero,0.0,0.0); txphase(t1);
开发者ID:timburrow,项目名称:OpenVnmrJ,代码行数:66,
示例14: pulsesequence//.........这里部分代码省略......... if(f2180[A] == 'y') /* Set up f2180 */ { tau2 += 0.5/sw2; halfT2 += 0.25/sw2; } t2b = (double) t2_counter*((halfT2 - CTdelay)/((double)(ni2-1))); } tau1 = tau1/2.0; tau2 = tau2/2.0; if(tau1 < 0.2e-6) tau1 = 0.0; if(tau2 < 0.2e-6) tau2 = 0.0; if(t2b < 0.0) t2b = 0.0; t2a = CTdelay - tau2 + t2b; if(t2a < 0.2e-6) t2a = 0.0;/* uncomment these lines to check t2a and t2b printf("%d: t2a = %.12f", t2_counter,t2a); printf(" ; t2b = %.12f/n", t2b);*//* BEGIN PULSE SEQUENCE */status(A); 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); decoffset(dofCO); txphase(zero); 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(1.0e-4); 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(5.0e-4); rgpulse(pw, zero, 0.0, 0.0); /* 1H pulse excitation */ dec2phase(zero); zgradpulse(gzlvl0, gt0); delay(lambda - gt0); sim3pulse(2.0*pw, 0.0, 2.0*pwN, zero, zero, zero, 0.0, 0.0); txphase(one); zgradpulse(gzlvl0, gt0); delay(lambda - gt0); rgpulse(pw, one, 0.0, 0.0); if (tpwrsf < 4095.0) {obspwrf(tpwrsf); obspower(tpwrs+6.0);} /* increases tpwrs by 6dB, now need */ else obspower(tpwrs); /* tpwrsf to be ~ 2048 for equivalence */
开发者ID:timburrow,项目名称:OpenVnmrJ,代码行数:67,
示例15: pulsesequence//.........这里部分代码省略........./* 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(t1,2,4); tsadd(t16,2,4); } if( ix == 1) d3_init = d3 ; t2_counter = (int)((d3-d3_init)*sw2 + 0.5); if((t2_counter % 2)) { tsadd(t2,2,4); tsadd(t16,2,4); } decstepsize(1.0); initval(phi_CO, v1); initval(phi_Ca, v2);/* BEGIN ACTUAL PULSE SEQUENCE */status(A); delay(d1-1.0e-3); obsoffset(tof); decoffset(dof); obspower(tpwr); decpower(pwClvl); decpwrf(4095.0); dec2power(pwNlvl); txphase(zero); decphase(zero); dec2phase(zero); rcvroff(); if(gt6 > 0.2e-6) { delay(10.0e-6); decrgpulse(pwC, zero, 1.0e-6, 1.0e-6); delay(0.2e-6); zgradpulse(gzlvl6, gt6); } decpwrf(dfCa180); delay(1.0e-3); rgpulse(pw,zero,1.0e-6,1.0e-6); delay(2.0e-6); zgradpulse(gzlvl0,gt0); delay(taua - gt0 - 2.0e-6 - WFG_START_DELAY); simshaped_pulse("","offC17",2.0*pw,pwCa180,zero,zero,1.0e-6,1.0e-6); /* c13 offset on CO, slp 180 on Ca */ delay(taua - gt0 - 500.0e-6 - WFG_STOP_DELAY); zgradpulse(gzlvl0,gt0); txphase(one); delay(500.0e-6); rgpulse(pw, one, 1.0e-6, 1.0e-6); decphase(zero); delay(2.0e-6); zgradpulse(gzlvl3,gt3); obspower(tpwrHd);
开发者ID:timburrow,项目名称:OpenVnmrJ,代码行数:67,
示例16: pulsesequence//.........这里部分代码省略......... 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); delay(d1); if(p180 > 0.0) { decrgpulse(p180, zero, rof1, 0.0); delay(d2); } rcvroff(); decphase(t2); delay(rof1); decon(); delay(pw - 0.8e-6); decphase(zero); delay(0.8e-6); xmtron(); delay(cntct); xmtroff();/*optional spin lock for 13C T1rho*/ if (pcrho > 0.0) { decoff(); if (dm[1] == 'y') decon(); xmtron(); delay(pcrho); xmtroff(); } decpwrf(dipolr); decoff(); if (dm[2] == 'y')
开发者ID:timburrow,项目名称:OpenVnmrJ,代码行数:67,
示例17: pulsesequence//.........这里部分代码省略......... if (phase3 == 2) {tsadd(t7 ,1,4); tsadd(t8 ,1,4);} 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);
开发者ID:DanIverson,项目名称:OpenVnmrJ,代码行数:67,
示例18: pulsesequence//.........这里部分代码省略......... 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) delay(tau2/2 - POWER_DELAY); /* t2 evolution */ else delay(tau2/2); decshaped_pulse(coshape,pwco,zero,0.0,0.0); decpower(pwcalvl);
开发者ID:DanIverson,项目名称:OpenVnmrJ,代码行数:67,
示例19: pulsesequence//.........这里部分代码省略........./* BEGIN ACTUAL PULSE SEQUENCE */status(A); obsoffset(tof); decoffset(dof); /* set Dec1 carrier at Co */ obspower(tsatpwr); /* Set transmitter power for 1H presaturation */ decpower(d_chirp); /* Set Dec1 power for hard 13C pulses */ dec2power(pwNlvl); /* Set Dec2 power for 15N hard pulses *//* Presaturation Period */ if (fsat[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(zero); 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);
开发者ID:timburrow,项目名称:OpenVnmrJ,代码行数:67,
示例20: pulsesequencepulsesequence() {// Set the Maximum Dynamic Table and v-var Numbers settablenumber(10); setvvarnumber(30);// Define Variables and Objects and Get Parameter Values double aXprep1 = getval("aXprep1"); // Define Tilted Pulses using "prep1X". double pw1Xprep1 = getval("pw1Xprep1"); double pw2Xprep1 = getval("pw2Xprep1"); double phXprep1 = getval("phXprep1"); WMPA wpmlg = getwpmlg("wpmlgX"); strncpy(wpmlg.ch,"obs",3); putCmd("chXwpmlg='obs'/n");//--------------------------------------// Copy Current Parameters to Processed//------------------------------------- putCmd("groupcopy('current','processed','acquisition')");// Dutycycle Protection DUTY d = init_dutycycle(); d.dutyon = getval("pw1Xprep1") + getval("pw2Xprep1") + 2.0*wpmlg.q*wpmlg.cycles*wpmlg.pw; d.dutyoff = d1 + 4.0e-6 + 5.0e-6 + wpmlg.r1 + wpmlg.r2 + at - 2.0*wpmlg.q*wpmlg.cycles*wpmlg.pw; d = update_dutycycle(d); abort_dutycycle(d,10.0);// Set Phase Tables settable(ph1Xprep1,4,table1); settable(ph2Xprep1,4,table2); settable(phXwpmlg,4,table3); settable(phRec,4,table4); setreceiver(phRec);// Set the Small-Angle Step double obsstep = 360.0/(PSD*8192); obsstepsize(obsstep); int phfXprep1 = initphase(phXprep1, obsstep); int phXzero = initphase(0.0, obsstep);// Begin Sequence xmtrphase(phfXprep1); txphase(ph1Xprep1); obspwrf(aXprep1); obsunblank(); decunblank(); _unblank34(); delay(d1); sp1on(); delay(2.0e-6); sp1off(); delay(2.0e-6);// Tilted Preparation Pulse for FSLG or PMLG "prep1X" startacq(5.0e-6); rcvroff(); delay(wpmlg.r1); rgpulse(pw1Xprep1, ph1Xprep1, 0.0, 0.0); rgpulse(pw2Xprep1, ph2Xprep1, 0.0, 0.0); xmtrphase(phXzero); delay(wpmlg.r2);// Apply WPMLG Cycles decblank(); _blank34(); _wpmlg(wpmlg, phXwpmlg); endacq(); obsunblank(); decunblank(); _unblank34();}
开发者ID:timburrow,项目名称:OpenVnmrJ,代码行数:73,
示例21: pulsesequence//.........这里部分代码省略......... 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);/* Begin Pulses */status(B); rcvroff(); lk_hold(); shiftedpulse("sinc", pwHs, 90.0, 0.0, one, 2.0e-6, 0.0); txphase(zero); delay(2.0e-6);/* xxxxxxxxxxxxxxxxxxxxxx 1HN to 15N TRANSFER xxxxxxxxxxxxxxxxxx */ rgpulse(pw,zero,0.0,0.0); /* 90 deg 1H pulse */ delay(0.2e-6); zgradpulse(gzlvl1, gt1); delay(2.0e-6); delay(taua - gt1 - 2.2e-6); /* taua <= 1/4JNH */ sim3pulse(2*pw,0.0,2*pwN,zero,zero,zero,0.0,0.0); txphase(three); dec2phase(zero); decphase(zero); delay(taua - gt1 - gstab -0.2e-6 - 2.0e-6); delay(0.2e-6);
开发者ID:OpenVnmrJ,项目名称:OpenVnmrJ,代码行数:67,
示例22: pulsesequence//.........这里部分代码省略......... obspower(tpwrs); obspwrf(tpwrsf_d); shaped_pulse("H2Osinc_d",pwHs,one,2.0e-6,0.0); obspower(tpwr); obspwrf(4095.0); /* shaped pulse */ rgpulse(pw,zero,rof1,0.0); zgradpulse(gzlvl0*1.3,gt0); delay(gstab); delay(tauhn - gt0 - gstab); /* 1/(4JHN) */ sim3pulse(2.0*pw,0.0,2.0*pwN,zero,zero,zero,rof1,rof1); delay(tauhn - gt0 - gstab); /* 1/(4JHN) */ zgradpulse(gzlvl0*1.3,gt0); delay(gstab); rgpulse(pw,three,rof1,0.0); /* 90 1H */ zgradpulse(gzlvl3,gt3); delay(gstab); decpwrf(rf180onco); /* Set decoupler power to rf180onco */ dec2rgpulse(pwN,zero,0.0,0.0); /* 90 15N *//* start transfer from N to CO */ delay(5.5e-3 - pwHd - POWER_DELAY - PRG_START_DELAY); /* 1/(2JHN) */ obspower(tpwrd); rgpulse(pwHd,one,rof1,0.0); txphase(zero); obsprgon("waltz16", pwHd, 90.0); xmtron(); delay(taunco - 5.5e-3 - 0.5*pw180onco); /* 1/(4JNCO) - 1/(2JHN) */ sim3pulse(0.0,pw180onco,2.0*pwN,zero,zero,zero,rof1,rof1); delay(taunco - 5.5e-3 - 0.5*pw180onco); /* 1/(4JNCO) - 1/(2JHN) */ /* turn proton decoupling off */ xmtroff(); obsprgoff(); rgpulse(pwHd,three,rof1,0.0); obspower(tpwr); /* turned proton decoupling off */ delay(5.5e-3 - PRG_STOP_DELAY - pwHd - POWER_DELAY); /* 1/(2JHN) */ /* Start in-phase filter */ if (( phase1 == 1 || phase1 == 2)) { dec2rgpulse(pwN,one,0.0,0.0); /* 90 15N */ zgradpulse(gzlvl3*1.5,gt3); delay(gstab); /* shaped pulse WATER-FLIP-back */ obspower(tpwrs); obspwrf(tpwrsf_d); shaped_pulse("H2Osinc_d",pwHs,one,rof1,0.0);
开发者ID:DanIverson,项目名称:OpenVnmrJ,代码行数:67,
示例23: pulsesequence//.........这里部分代码省略......... /* t2, CA */ if (phase2 == 2) { tsadd(t3,1,4); } if (d3_index % 2) { tsadd(t3,2,4); tsadd(t31,2,4); } /* setup constant time in t2 (ni2) */ tau2 = d3; t2max=2.0*(timeCN - CO180offCA.pw); if((f2180[A] == 'y') && (ni2 > 0.0)) {tau2 += 0.5/sw2 ; t2max += 0.5/sw2 ;} if(tau2 < 0.2e-6) {tau2 = 0.0;} if ( (ni2-1.0)/sw2 > t2max) { text_error("too many ni2 increments in t2 ! "); psg_abort(1); } if(FIRST_FID) { printf("t1max is %f/n",t1max); printf("t2max is %f/n",t2max); }; /* BEGIN PULSE SEQUENCE */status(A); obspower(tpwr); decpower(pwClvl); dec2power(pwNlvl); txphase(zero); decphase(zero); dec2phase(zero); delay(d1); zgradpulse(gzlvl2, gt2); delay(gstab*3.0); if (exp_mode[B]=='n') dec2rgpulse(2.0*pwN, zero, 0.0, 0.0); /* test for steady-state 15N */ /* Hz -> HzXz INEPT */ rgpulse(pw,zero,rof1,rof1); /* 1H pulse excitation */ zgradpulse(gzlvl0, gt0); delay(tauNH -gt0); sim3pulse(2.0*pw, 0.0, 2.0*pwN, zero, zero, zero, 0.0, 0.0); delay(tauNH - gt0 -gstab); zgradpulse(gzlvl0, gt0); delay(gstab); rgpulse(pw, t6, rof1, rof1); /* on HzNz now */ /* water flipback*/ obspower(tpwrs); obspwrf(tpwrsf_u); shaped_pulse("H2Osinc",pwHs,zero,rof1,rof1); obspower(tpwr); obspwrf(4095.0); /* purge */
开发者ID:timburrow,项目名称:OpenVnmrJ,代码行数:67,
示例24: pulsesequence//.........这里部分代码省略......... /* MAKE PBOX SHAPES */ if (FIRST_FID) hhmix = pbox_mix("HHmix", mixpat, mixpwr, pw*compH, tpwr); /* HADAMARD stuff */ if(httype[0] == 'e') /* excitation */ hdx = pboxHT_F1e(pshape, pw*compH, tpwr); else if(httype[0] == 'r') /* refocusing */ hdx = pboxHT_F1r(pshape, pw*compH, tpwr); else if(httype[0] == 'd') /* DPFGSE */ { hdx = pboxHT_F1r(pshape, pw*compH, tpwr); if (FIRST_FID) ref180 = hdx; } else /* httype[0] == 'i' */ /* inversion */ hdx = pboxHT_F1i(pshape, pw*compH, tpwr); if (getval("htcal1") > 0.5) /* Optional fine power calibration */ hdx.pwr += getval("htpwr1"); /* THE PULSE PROGRAMM STARTS HERE */ status(A); delay(5.0e-5); zgradpulse(gzlvl0,gt0); if (sspul[A] == 'y') { rgpulse(pw,zero,rof1,rof1); zgradpulse(gzlvl0,gt0); } pre_sat(); if (getflag("wet")) wet4(zero,one); delay(1.0e-5); obspower(tpwr); delay(1.0e-5); status(B); if (httype[0] == 'i') /* longitudinal encoding */ { ifzero(v1); delay(2.0*(pw+rg1)); zgradpulse(gzlvl2,gt2); delay(gstab); elsenz(v1); rgpulse(2.0*pw,v3,rg1,rg1); zgradpulse(gzlvl2,gt2); delay(gstab); endif(v1); pbox_pulse(&hdx, zero, rg1, rg1); zgradpulse(gzlvl2,gt2); delay(gstab); } else /* transverse encoding */ { if (httype[0] == 'e') pbox_pulse(&hdx, oph, rg1, rg1); else { rgpulse(pw,oph,rg1,rg1); if (httype[0] == 'd') /* DPFGSE */ { zgradpulse(2.0*gzlvl2,gt2); delay(gstab); pbox_pulse(&ref180, oph, rg1, rg1); zgradpulse(2.0*gzlvl2,gt2); delay(gstab); } zgradpulse(gzlvl2,gt2); delay(gstab); pbox_pulse(&hdx, v2, rg1, rof2); zgradpulse(gzlvl2,gt2); delay(gstab - POWER_DELAY); } } if (mix) pbox_spinlock(&hhmix, mix, v2); if (httype[0] == 'i') { zgradpulse(0.87*gzlvl2,gt2); delay(gstab); obspower(tpwr); txphase(v3); rgpulse(pw,v3,rg1,rof2); } status(C);}
开发者ID:timburrow,项目名称:OpenVnmrJ,代码行数:101,
示例25: pulsesequence//.........这里部分代码省略......... tau1=0.5*d2; if(t1_counter %2) { tsadd(t2,2,4); tsadd(t14,2,4); } /* BEGIN ACTUAL PULSE SEQUENCE */status(A); obspower(tpwr); /* Set power for pulses */ dec2power(pwNlvl); /* Set decoupler2 power to pwNlvl */ initval(ncyc+0.1,v10); /* for DIPSI-2 */ delay(d1);status(B); rcvroff();/*destroy N15 magnetization*/ dec2rgpulse(pwN, zero, 0.0, 0.0); zgradpulse(gzlvl1, gt1); delay(9.0e-5);/* 1H-15N INEPT */ rgpulse(pw,zero,1.0e-6,0.0); txphase(zero); dec2phase(zero); zgradpulse(gzlvl2,gt2); delay(taua -pwN-0.5*pw -gt2 ); /* delay=1/4J(NH) */ sim3pulse(2.0*pw,0.0e-6,2*pwN,zero,zero,zero,0.0,0.0); txphase(one); dec2phase(t1); zgradpulse(gzlvl2,gt2); delay(taua -1.5*pwN -gt2); /* delay=1/4J(NH) */ sim3pulse(pw,0.0e-6,pwN,one,zero,t1,0.0,0.0); if (tpwrsf < 4095.0) {obspwrf(tpwrsf); tpwrs=tpwrs+6.0;} obspower(tpwrs); shaped_pulse("H2Osinc", pwHs, two, 2.0e-6, 0.0); obspower(tpwr); obspwrf(4095.0); tpwrs=tpwrs-6.0; txphase(zero); dec2phase(zero); zgradpulse(gzlvl3,gt3); delay(taub -1.5*pwN -gt3 -pwHs-2.0e-6-2.0*POWER_DELAY-WFG_START_DELAY); /* delay=1/4J(NH) */ sim3pulse(2.0*pw,0.0e-6,2*pwN,zero,zero,zero,0.0,0.0); dec2phase(one); zgradpulse(gzlvl3,gt3); delay(taub -1.5*pwN -gt3 ); /* delay=1/4J(NH) */ dec2phase(one); dec2rgpulse(pwN,one,0.0,0.0);
开发者ID:DanIverson,项目名称:OpenVnmrJ,代码行数:66,
示例26: pulsesequence//.........这里部分代码省略.........// Copy Current Parameters to Processed//------------------------------------- putCmd("groupcopy('current','processed','acquisition')");// Dutycycle Protection DUTY d = init_dutycycle(); d.dutyon = getval("pw1Xmqmas") + nXfam2*(pw1Xfam2 + pw2Xfam2 + pw3Xfam2 +pw4Xfam2) + getval("pwXechsel"); 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_ + tXechselinit + 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_ + tXechselinit + getval("rd") + getval("ad") + at; d = update_dutycycle(d); abort_dutycycle(d,10.0);// Set Phase Tables if (phase1 == 0) { settable(phf1Xmqmas,12,table1); settable(ph1Xfam2,6,table2); settable(ph2Xfam2,6,table3); settable(phfXechsel,96,table4); settable(phRec,48,table5); } else { settable(phf1Xmqmas,6,table6); settable(ph1Xfam2,6,table7); settable(ph2Xfam2,6,table8); settable(phfXechsel,48,table9); settable(phRec,24,table10); if (phase1 == 2) { tsadd(phf1Xmqmas,30,360); } } setreceiver(phRec); obsstepsize(1.0);// Begin Sequence xmtrphase(phf1Xmqmas); decphase(zero); obspower(getval("tpwr")); obspwrf(getval("aXmqmas")); obsunblank(); decunblank(); _unblank34(); delay(d1); sp1on(); delay(2.0e-6); sp1off(); delay(2.0e-6);// H Decoupler on Before MQMAS _dseqon(dec);// Two-Pulse MQMAS with DFS Conversion rgpulse(getval("pw1Xmqmas"),zero,0.0,0.0); xmtrphase(zero); txphase(ph1Xfam2); obspwrf(aXfam2); delay(d20);// X FAM2 Pulse loop(v4,v5); xmtron(); delay(pw1Xfam2); xmtroff(); txphase(ph2Xfam2); delay(pw2Xfam2); xmtron(); delay(pw3Xfam2); xmtroff(); txphase(ph2Xfam2); delay(pw4Xfam2); endloop(v5);// Tau Delay and Second Selective Echo Pulse xmtrphase(phfXechsel); obsblank(); obspower(getval("dbXechsel")); obspwrf(getval("aXechsel")); delay(3.0e-6); obsunblank(); delay(d21 + tXechsel); rgpulse(getval("pwXechsel"),zero,0.0,0.0); delay(d22); // Begin Acquisition obsblank(); _blank34(); delay(getval("rd")); startacq(getval("ad")); acquire(np, 1/sw); endacq(); _dseqoff(dec); obsunblank(); decunblank(); _unblank34();}
开发者ID:timburrow,项目名称:OpenVnmrJ,代码行数:101,
示例27: pulsesequence//.........这里部分代码省略......... 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) {
开发者ID:timburrow,项目名称:ovj3,代码行数:67,
示例28: pulsesequence//.........这里部分代码省略......... 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(); delay(tau2 -PRG_START_DELAY - POWER_DELAY -pwN - 2.0*pwC/PI -2.0e-6); sim3pulse(2.0*pw, 0.0, 2.0*pwN, t1, zero, zero, 0.0, 0.0); delay(tau2 -PRG_STOP_DELAY - POWER_DELAY - pwN - 2.0*pwC/PI -2.0e-6); decoff(); decprgoff(); } else if ( (tau2 -pwN - 2.0*pwC/PI -2.0e-6) > 0) { delay(tau2 -pwN - 2.0*pwC/PI -2.0e-6); sim3pulse(2.0*pw, 0.0, 2.0*pwN, t1, zero, zero, 0.0, 0.0);
开发者ID:DanIverson,项目名称:OpenVnmrJ,代码行数:67,
示例29: pulsesequencepulsesequence() {// Define Variables and Objects and Get Parameter Values CP hy = getcp("HY",0.0,0.0,0,1); strncpy(hy.fr,"dec",3); strncpy(hy.to,"dec2",4); putCmd("frHY='dec'/n"); putCmd("toHY='dec2'/n"); GP inept = getinept("ineptYX"); strncpy(inept.ch1,"dec2",4); strncpy(inept.ch2,"obs",3); putCmd("ch1YXinept='dec2'/n"); putCmd("ch2YXinept='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"); DSEQ mix = getdseq("Hmix"); strncpy(mix.t.ch,"dec",3); putCmd("chHmixtppm='dec'/n"); strncpy(mix.s.ch,"dec",3); putCmd("chHmixspinal='dec'/n");// Dutycycle Protection double simpw1 = inept.pw1; if (inept.pw2 > inept.pw1) simpw1 = inept.pw2; double simpw2 = inept.pw3; if (inept.pw4 > inept.pw3) simpw2 = inept.pw4; DUTY d = init_dutycycle(); d.dutyon = getval("pwH90") + getval("tHY") + 2.0*simpw1 + 2.0*simpw2; 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 = inept.t1 + inept.t2 + inept.t3 + inept.t4 + 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 = inept.t1 + inept.t2 + inept.t3 + inept.t4 + getval("rd") + getval("ad") + at; d = update_dutycycle(d); abort_dutycycle(d,10.0);// Set Phase Tables settable(phH90,16,table1); settable(phHhy,4,table2); settable(phYhy,4,table3); settable(ph1Yyxinept,4,table4); settable(ph1Xyxinept,4,table5); settable(ph2Yyxinept,4,table6); settable(ph2Xyxinept,16,table7); settable(ph3Yyxinept,8,table8); settable(ph3Xyxinept,4,table9); settable(phRec,8,table10); setreceiver(phRec);// Begin Sequence txphase(ph1Xyxinept); decphase(phH90); dec2phase(phYhy); obspwrf(getval("aXyxinept")); decpwrf(getval("aH90")); dec2pwrf(getval("aYhy")); obsunblank(); decunblank(); _unblank34(); delay(d1); sp1on(); delay(2.0e-6); sp1off(); delay(2.0e-6);// H to Y Cross Polarization decrgpulse(getval("pwH90"),phH90,0.0,0.0); decphase(phHhy); _cp_(hy,phHhy,phYhy); decphase(zero);// INEPT Transfer from Y to X _dseqon(mix); _ineptref(inept,ph1Yyxinept,ph1Xyxinept,ph2Yyxinept,ph2Xyxinept,ph3Yyxinept,ph3Xyxinept); _dseqoff(mix);// Begin Acquisition _dseqon(dec); obsblank(); _blank34(); delay(getval("rd")); startacq(getval("ad")); acquire(np, 1/sw); endacq(); _dseqoff(dec); obsunblank(); decunblank(); _unblank34();}
开发者ID:timburrow,项目名称:OpenVnmrJ,代码行数:96,
示例30: pulsesequence//.........这里部分代码省略......... obspower(tpwr); } } delay(d1); if (satmode[0] == 'y') { obspower(satpwr); if (satfrq != tof) obsoffset(satfrq); rgpulse(satdly,zero,rof1,rof1); if (satfrq != tof) obsoffset(tof); obspower(tpwr); delay(1.0e-5); } status(B); if (PFGflg[0] == 'y') { if (nullflg[0] == 'y') { rgpulse(0.5*pw,zero,rof1,rof1); delay(2*tau); sim3pulse(2.0*pw,0.0,2.0*pwx2,zero,zero,zero,rof1,rof1); delay(2*tau); rgpulse(1.5*pw,two,rof1,rof1); zgradpulse(hsglvl,hsgt); delay(1e-3); } } else { if (null != 0.0) { rgpulse(pw,zero,rof1,rof1); delay(2*tau); sim3pulse(2*pw,0.0,2*pwx2,zero,zero,zero,rof1,rof1); delay(2*tau); rgpulse(pw,two,rof1,rof1); delay(null); } } rcvroff(); rgpulse(pw,zero,rof1,rof1); delay(tau - pwx2 - 2*pw/PI - 2*rof1); sim3pulse(2*pw,0.0,2*pwx2,zero,zero,zero,rof1,rof1); delay(tau - pwx2 - 2*pwx2/PI - 2*rof1); sim3pulse(pw,0.0,pwx2,t1,zero,v2,rof1,2.0e-6); if (d2/2 > 0.0) delay(d2/2 - (2*pwx2/PI) - pw - 4.0e-6); else delay(d2/2); rgpulse(2*pw,zero,2.0e-6,2.0e-6); if (d2/2 > 0.0) delay(d2/2 - (2*pwx2/PI) - pw - 4.0e-6); else delay(d2/2); sim3pulse(pw,0.0,pwx2,t3,zero,t4,2.0e-6,rof1); delay(tau - pwx2 - (2*pwx2/PI) - 2*rof1); sim3pulse(2*pw,0.0,2*pwx2,zero,zero,zero,rof1, rof1); obspower(slpwr); txphase(zero); delay(tau - rof1 - pwx2 - POWER_DELAY); if (cycles > 1.0) { xmtron(); delay(trim); starthardloop(v9); mleva(); mleva(); mlevb(); mlevb(); mlevb(); mleva(); mleva(); mlevb(); mlevb(); mlevb(); mleva(); mleva(); mleva(); mlevb(); mlevb(); mleva(); txphase(one); delay(0.66*slpw); endhardloop(); xmtroff(); } if (mult > 0.5) { obspower(tpwr); delay(tau - POWER_DELAY - rof1); sim3pulse(2*pw,0.0,mult*pwx2,zero,zero,zero,rof1,0.0); rcvron(); dec2power(dpwr2); delay(tau - POWER_DELAY); } else { dec2power(dpwr2); delay(rof2 - POWER_DELAY); rcvron(); } status(C);}
开发者ID:timburrow,项目名称:ovj3,代码行数:101,
注:本文中的txphase函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ txt函数代码示例 C++ txg_wait_synced函数代码示例 |