-------------------------------------------------------------------------------
--                                                                           --
--                          Experiment Source Code                           --
--              Delta NMR Experiment & Machine Control Interface             --
--                                                                           --
--                     Copyright (c) 2000 JEOL Ltd                           --
--                            All Rights Reserved                            --
--                                                                           --
-------------------------------------------------------------------------------
-- HELP.eng: proton DQ/SQ correlation with 1H-1H decoupling and z-rotation
-- Category: solids, 2D, homonuclear correlation
--- By Rongchun Zhang, 2021/02/25
header
    filename    => "TQ_wPMLG_zrot_2D";
    sample_id   => "";
    comment     => "TQ_wPMLG_zrot_2D";
    process     =  "2d_solid_scale.list";
    include "header_solid";
    auto_dwell  => false;
    auto_filter => false;
end header;

instrument
    include "instrument_solid";
    recvr_gain       => 20;
end instrument;

acquisition
    x_domain         => "Proton";
    x_offset         => 14[ppm];
    x_sweep		=> 100[kHz];
    x_points         => 256;
    scans            => 16;
    x_prescans       => 2;
    mod_return       => 1;
    y_domain         =  x_domain;
    y_offset         =  x_offset*3;

    filter_width     = 0[MHz];
include "acquisition_solid";

end acquisition;

pulse
    collect COMPLEX,OBS COMPLEX;
    initial_wait     =  1.0[s];
    mas_frequency    =  mas_spin_get;

    spinning_freq    => 12[kHz];

    obs_width_90     => x90;
    obs_amp_pulse    => 100[%],  0[%]->100[%]:0.01[%], help "set ampliper for x pulse";


RN_Setup    =? "-----------Setup RN pulses-----------";
    number_large_N      =>  12;
    number_n        =>  2;
    number_nu       =>  5;
    number_RN       =>  1;
    obs_amp_RN      =>  0[%];
    obs_phs_RN_p        =   180*number_nu/number_large_N;
    obs_phs_RN_m        =   -obs_phs_RN_p;
    obs_width_RN        =   (number_n/spinning_freq)/number_large_N;
    supercycle          =>  "S0Sinv", ("S0","S0S180","S0Sinv","S0Sinv_180");
    recoupling          =?  if supercycle = "S0" then number_RN*number_n/spinning_freq
                    else    if supercycle = "S0S180" then 2*number_RN*number_n/spinning_freq
                    else    if supercycle = "S0Sinv" then 2*number_RN*number_n/spinning_freq
                    else    if supercycle = "S0Sinv_180" then 4*number_RN*number_n/spinning_freq
                    else 0[us];

    z_filter        =>  100[us],0[ns]   ->  50[ms]  :   20[ns],     help "total echo time";

LG_Setup    =? "-----------Setup PMLG pulses-----------";

    obs_width_nominal90  => x90;
    obs_amp_lg           => 100[%],  0[%]->100[%]:0.01[%], help "set ampliper for x pulse";

    obs_width_lg         =? obs_width_nominal90 * sqrt(2/3) * 4;
    PMLGn                =? 3, help "PMLGn pulse divided into 3 steps";
    obs_width_lg_element => obs_width_lg / PMLGn;
    obs_width_lg_e_round =? round(obs_width_lg_element / 20[ns]) * 20[ns];

x_Setup          =? "#Setup X Dimension#";
    bef_trig_1       =  2000[ns];
    bef_trig_2       =  1500[ns];
    t_trig           =  1400[ns];
    aft_trig         =  1200[ns];
    t_w              =  bef_trig_1 + bef_trig_2 + t_trig + aft_trig;

    scale_factor_x   => 0.47, help "Theoretical Scaling Factor for wPMLG3";
    scale_x_sweep    =  1 / Scale_factor_x;
    cycle_time_x     =  (obs_width_lg_e_round * 2 * PMLGn + t_w) * 2;
    x_sweep          =  100[kHz];

    get_freq = "pulse_service::get_freq_value";
    scaled_x_sweep   =? 1 / cycle_time_x / scale_factor_x * (1[Mppm] / _get_freq( x_domain ));

y_Setup          =? "#Setup Y Dimension#";
    scale_factor_y   => 0.47, help "Theoretical Scaling Factor for wPMLG3";
    scale_y_sweep    =  1 / Scale_factor_y;

    lg_loop          => 4, 0->64:1, help "loop number for PMLG";
    cycle_time_y     =  cycle_time_x * lg_loop;
    y_sweep          =  1 / cycle_time_y;
    scaled_y_sweep   =? y_sweep / scale_factor_y * (1[Mppm] / _get_freq( y_domain ));

    y_points         => 64;
    acq_time_y       =? y_points * cycle_time_y;

Others_Setup          =? "#Setup Others#";

    relaxation_delay => 5.0[s], help"inter-pulse delay";
    repetition_time  =? relaxation_delay + x_points * cycle_time_x ,help"relaxation_delay+x_acq_time";

    obs_atn          => xatn, help "set attenuator for x pulse";
    obs_phs_lg       =  {0};
    obs_phs_exc     =   {  0..300:60, 30..330:60}.ystep(60%2);
    obs_phs_rec     =   {  0};
    obs_phs_restore =   {6(  0),6(120),6(240)};
    obs_phs_acq     =   {3(  0,180),3(120,300),3(240, 60)}.ystep(180%2);


    module_config = "solid_sample obs.blank_inhibit";

begin
    initial_wait;
    relaxation_delay;
----#1
    loop number_RN times
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
 when supercycle = "S0S180" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
when supercycle = "S0Sinv" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
when supercycle = "S0Sinv_180" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
    end loop;
----#2
    loop number_RN times
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc+120), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc+120), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
when supercycle = "S0S180" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc+300), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc+300), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
when supercycle = "S0Sinv" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc-120), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc-120), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
when supercycle = "S0Sinv_180" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc-120), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc-120), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc+300), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc+300), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc+ 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc+ 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
    end loop;

-----#3
    loop number_RN times
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc+240), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc+240), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
when supercycle = "S0S180" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc+ 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc+ 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
when supercycle = "S0Sinv" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc-240), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc-240), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
when supercycle = "S0Sinv_180" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc-240), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc-240), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_exc- 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_exc- 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
    end loop;
------starting t1 evolution -----------------------
    loop 0 ystep 1  times
    loop lg_loop times
      bef_trig_1 + bef_trig_2 + t_trig + aft_trig;
        obs_width_lg_e_round, (obs.gate, obs.phs.obs_phs_lg+034.64, obs.amp.obs_amp_lg, obs.atn.obs_atn);
        obs_width_lg_e_round, (obs.gate, obs.phs.obs_phs_lg+103.92, obs.amp.obs_amp_lg, obs.atn.obs_atn);
        obs_width_lg_e_round, (obs.gate, obs.phs.obs_phs_lg+173.21, obs.amp.obs_amp_lg, obs.atn.obs_atn);
        obs_width_lg_e_round, (obs.gate, obs.phs.obs_phs_lg+353.21, obs.amp.obs_amp_lg, obs.atn.obs_atn);
        obs_width_lg_e_round, (obs.gate, obs.phs.obs_phs_lg+283.92, obs.amp.obs_amp_lg, obs.atn.obs_atn);
        obs_width_lg_e_round, (obs.gate, obs.phs.obs_phs_lg+214.64, obs.amp.obs_amp_lg, obs.atn.obs_atn);

      bef_trig_1 + bef_trig_2 + t_trig + aft_trig;
        obs_width_lg_e_round, (obs.gate, obs.phs.obs_phs_lg+034.64+180, obs.amp.obs_amp_lg, obs.atn.obs_atn);
        obs_width_lg_e_round, (obs.gate, obs.phs.obs_phs_lg+103.92+180, obs.amp.obs_amp_lg, obs.atn.obs_atn);
        obs_width_lg_e_round, (obs.gate, obs.phs.obs_phs_lg+173.21+180, obs.amp.obs_amp_lg, obs.atn.obs_atn);
        obs_width_lg_e_round, (obs.gate, obs.phs.obs_phs_lg+353.21+180, obs.amp.obs_amp_lg, obs.atn.obs_atn);
        obs_width_lg_e_round, (obs.gate, obs.phs.obs_phs_lg+283.92+180, obs.amp.obs_amp_lg, obs.atn.obs_atn);
        obs_width_lg_e_round, (obs.gate, obs.phs.obs_phs_lg+214.64+180, obs.amp.obs_amp_lg, obs.atn.obs_atn);
    end loop;
    end loop;
-------------  Starting TQ reconversion------------------------
    loop number_RN times
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
when supercycle = "S0S180" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
when supercycle = "S0Sinv" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
when supercycle = "S0Sinv_180" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec+180), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
    end loop;

    loop number_RN times
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec+120), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec+120), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
when supercycle = "S0S180" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec+300), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec+300), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
when supercycle = "S0Sinv" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec-120), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec-120), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
when supercycle = "S0Sinv_180" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec-120), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec-120), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec+300), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec+300), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec+ 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec+ 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
    end loop;

    loop number_RN times
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec+240), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec+240), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
when supercycle = "S0S180" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec+ 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec+ 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
when supercycle = "S0Sinv" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec-240), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec-240), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
when supercycle = "S0Sinv_180" do
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec-240), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec-240), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec+ 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec+ 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
    loop number_large_N/2 times
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_m+obs_phs_rec- 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    obs_width_RN,   (obs.gate,  obs.phs.(obs_phs_RN_p+obs_phs_rec- 60), obs.amp.obs_amp_RN, obs.atn.obs_atn);
    end loop;
end when;
    end loop;

    z_filter;

    obs_width_90,       (obs.gate,  obs.phs.obs_phs_restore,        obs.amp.obs_amp_pulse,  obs.atn.obs_atn);

    acquire begin
        bef_trig_1, (OBS.BLANK, OBS.PHS.0);
        bef_trig_2, (RCV.GATE, OBS.BLANK, OBS.PHS.0);
        t_trig, (RCV, RCV.GATE, OBS.BLANK, OBS.PHS.0, RCV.PHS.obs_phs_acq);
        aft_trig / 2;
        obs_width_lg_e_round, (OBS.GATE, OBS.PHS.obs_phs_lg + 34.64, OBS.AMP.obs_amp_lg, OBS.ATN.obs_atn);
        obs_width_lg_e_round, (OBS.GATE, OBS.PHS.obs_phs_lg + 103.92, OBS.AMP.obs_amp_lg, OBS.ATN.obs_atn);
        obs_width_lg_e_round, (OBS.GATE, OBS.PHS.obs_phs_lg + 173.21, OBS.AMP.obs_amp_lg, OBS.ATN.obs_atn);
        obs_width_lg_e_round, (OBS.GATE, OBS.PHS.obs_phs_lg + 353.21, OBS.AMP.obs_amp_lg, OBS.ATN.obs_atn);
        obs_width_lg_e_round, (OBS.GATE, OBS.PHS.obs_phs_lg + 283.92, OBS.AMP.obs_amp_lg, OBS.ATN.obs_atn);
        obs_width_lg_e_round, (OBS.GATE, OBS.PHS.obs_phs_lg + 214.64, OBS.AMP.obs_amp_lg, OBS.ATN.obs_atn);
        bef_trig_1 + bef_trig_2 + t_trig + aft_trig;
        obs_width_lg_e_round, (OBS.GATE, OBS.PHS.obs_phs_lg + 34.64 + 180, OBS.AMP.obs_amp_lg, OBS.ATN.obs_atn);
        obs_width_lg_e_round, (OBS.GATE, OBS.PHS.obs_phs_lg + 103.92 + 180, OBS.AMP.obs_amp_lg, OBS.ATN.obs_atn);
        obs_width_lg_e_round, (OBS.GATE, OBS.PHS.obs_phs_lg + 173.21 + 180, OBS.AMP.obs_amp_lg, OBS.ATN.obs_atn);
        obs_width_lg_e_round, (OBS.GATE, OBS.PHS.obs_phs_lg + 353.21 + 180, OBS.AMP.obs_amp_lg, OBS.ATN.obs_atn);
        obs_width_lg_e_round, (OBS.GATE, OBS.PHS.obs_phs_lg + 283.92 + 180, OBS.AMP.obs_amp_lg, OBS.ATN.obs_atn);
        obs_width_lg_e_round, (OBS.GATE, OBS.PHS.obs_phs_lg + 214.64 + 180, OBS.AMP.obs_amp_lg, OBS.ATN.obs_atn);
        aft_trig / 2;
    end acquire;
end pulse;