Protocol: Hxidmissct2ds  Sequence: hxidmissct2ds.c  Apptype: solidseq1d

Description:

HX correlation with indirect highband detection, using MPSEQ SPINAL
decoupling during F1 on H and during F2 on X.  Employs MISS solvent
supression using a homospoil pulse follwed by XY saturation on H.
Detection is through a reverse CP to H followed by RFDR mixing on H.

This version uses the MPSEQ spnlX and spnlmH rather than the DSEQ
router. Channel Identifiers are HID mode, H = 'pbs', X = 'dec',
Y = dec2'and Z = 'dec3'.

Parameter  Groups:

90H:  Module:  no
Sequence:  tancpx.c 
Description:  Provides a 90-degree pulse on obs (HID) that can be used
              as a preparation pulse. Also used to store the obs (HID)
              calibration.
Parameters:  Channels Page
       aH90  - the amplitude of the pulse.
       pwH90 - the pulse length.

cpHX:  Module:  yes
Sequence:  tancpx.c
Description:  Implements constant, linear or tangent-ramped cross
              polarization from obs to dec (HID).
Parameters:  Sequence Page
       shHX - 'c', constant, 'l', linear and 't', tangent shape on
               the channel designated with chHX.
       chHX - the variable-amplitude channel, 'fr' from or 'to', to.
       aHhx - median amplitude of the dec channel.
       aXhx - median amplitude of the obs channel.
       bHX -  +/- tangent curvature (>0 to 1.0e5).
       dHX -  amplitude width of the ramp. A negative width sets a
              ramp that starts high and decreases in amplitude.
       tHX -  contact time
       ofHX - overall offset on the variable channel
       frHX = 'dec' -  channel with the initial polarization (must
              be set - not shown).
       toHX = 'obs' -  channel with the final polarization (must be
              set - not shown).
Implementation:  CP hx = getcp("HX",0.0,0.0,0,1);
Underscore functions: _cp_(hx,phHhx,phXhx);

spnlmH:  Module:  yes
Sequence:  hxidmissct2ds.c
Description:  Implements TPPM, SPINAL16 SPINAL32 and SPINAL64 as a
              MPSEQ on obs (HID) Used as an alternate to the DSEQ
              router.
Parameters:  Sequence Page
       aHspnlm - amplitude of SPINAL or TPPM.
       pwHspnlm - approximate 180-degree flip on obs (HID).
       nHspnlm - 2 for TPPM, 16, 32, 64 for SPINAL.
       qHspnlm - Number of PULSES (not cycles!) in the .DEC file.
       ph1Hspnlm - TPPM +/- phase, "phi".
       ph2Hspnlm - additional SPINAL phase, "alfa".
       ofHspnlm - overall frequency offset.
       chHspnlm - must be 'obs' (HID).

The Basic SPINAL cycle Q is: [(phi),(-phi)],(phi+alfa),(-phi-alfa),(phi+2alpha),
                             (-phi-2alpha),(phi+alfa),(-phi-alpha). Note that
                             the first two elements [(phi),(-phi)] are TPPM.
SPINAL repeats with: [[Q-Q]-QQ]-QQQ-Q]. where the [] include 16,32 and 64 pulses.
                     The "Supercycle" of this SPINAL is one PULSE, (not Q).
Implementation: MPSEQ spnl = getspnlm("spnlmH",0,0.0,0.0,0,1);
Underscore functions: _MPSEQ functions.

spnlX:  Module:  yes
Sequence:  hxidmissct2ds.c
Description:  Implements TPPM, SPINAL16 SPINAL32 and SPINAL64 as a
              MPSEQ on dec (HID) Used as an alternate to the DSEQ
              router.
Parameters:  Sequence Page
       aXspnl - amplitude of SPINAL or TPPM.
       pwXspnl - approximate 180-degree flip on dec (HID).
       nXspnl - 2 for TPPM, 16, 32, 64 for SPINAL.
       qXspnl - Number of PULSES (not cycles!) in the .DEC file.
       ph1Xspnl - TPPM +/- phase, "phi".
       ph2Xspnl - additional SPINAL phase, "alfa".
       ofXspnl - overall frequency offset.
       chXspnl - must be 'dec' (HID).

The Basic SPINAL cycle Q is: [(phi),(-phi)],(phi+alfa),(-phi-alfa),(phi+2alpha),
                             (-phi-2alpha),(phi+alfa),(-phi-alpha). Note that
                             the first two elements [(phi),(-phi)] are TPPM.
SPINAL repeats with: [[Q-Q]-QQ]-QQQ-Q]. where the [] include 16,32 and 64 pulses.
                     The "Supercycle" of this SPINAL is one PULSE, (not Q).
Implementation: MPSEQ spnl = getspnl("spnlX",0,0.0,0.0,0,1);
Underscore functions: _MPSEQ functions.

pxyH:  Module:  yes
Sequence:  hxidmissct2ds.c
Description:  Implements presaturation with and XY phase cycle
Parameters:  Sequence Page
       aHpxy - amplitude of obs (HID) pulses.
       pwHpxy - 180-degree flip on obs.
       qHpxy - RFDR cycles represented in the .DEC file.
       ofHpxy - overall frequency offset.
       chHpxy = 'obs' must be set (not shown).
Implementation: MPSEQ pxy = getpxy("pxyH",0,0.0,0.0,0,1);
Underscore functions: _MPSEQ functions.

rfdrH:  Module:  yes
Sequence:  hxidmissct2ds.c
Description:  Implements RFDR with a single pi pulse per rotor period
              and an XY8 phase cycle.
Parameters:  Sequence Page
       aHrfdr - amplitude of obs (HID) pulses.
       pwHrfdr - 180-degree flip on obs.
       qHrfdr - RFDR cycles represented in the .DEC file.
       ofHrfdr - overall frequency offset.
       chHrfdr = 'obs' (HID) must be set (not shown).
Implementation: MPSEQ rfdr = getrfdrxy8("rfdrH",0,0.0,0.0,0,1);
Underscore functions: _MPSEQ functions.

cpXH:  Module:  yes
Sequence:  hxidmissct2ds.c
Description:  Implements constant, linear or tangent-ramped cross
              polarization from dec to obs (HID).
Parameters:  Sequence Page
       shXH - 'c', constant, 'l', linear and 't', tangent shape on the
              channel designated with chHX.
       chXH - the variable-amplitude channel, 'fr' from or 'to', to.
       aHxh - median amplitude of the obs (HID) channel.
       aXxh - median amplitude of the dec (HID) channel.
       bXH - tangent curvature (>0 to 1.0e5).
       dXH - +/- amplitude width of the ramp. A negative width sets a
              ramp that starts high and decreases in amplitude.
       tXH - contact time.
       ofXH - overall offset on the variable channel.
       frXH = 'dec' (HID) - channel with the initial polarization (must be
              set - not shown).   
       toXH = 'obs' (HID) - channel with the final polarization (must be set
              - not shown).
Implementation: CP xh = getcp("XH",0.0,0.0,0,1);
Underscore function: _cp_(xh,phXhx,phHhx);

