<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 10/13/2017 04:57 PM, John Shields
      via USRP-users wrote:<br>
    </div>
    <blockquote
      cite="mid:F37B8C2152FB44C2ADED1E983328E6B5@JohnsHPLaptop"
      type="cite">
      <div dir="ltr">
        <div style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri'; COLOR:
          #000000">
          <div>Hi,</div>
          <div>    From the Hardware Driver and USRP Manual, under the
            section on Align CORDICs in the DSP, it says :</div>
          <div> </div>
          <p><font face="Times New Roman">In order to achieve phase
              alignment between USRP devices, the CORDICS in both
              devices must be aligned with respect to each other. This
              is easily achieved by issuing stream commands with a time
              spec property, which instructs the streaming to begin at a
              specified time. Since the devices are already synchronized
              via the 10 MHz and PPS inputs, the streaming will start at
              exactly the same time on both devices. The CORDICs are
              reset at each start-of-burst command, so users should
              ensure that every start-of-burst also has a time spec set.</font></p>
          <p><font face="Times New Roman">For receive, a burst is
              started when the user issues a stream command. This stream
              command should have a time spec set:</font></p>
          <div class="fragment">
            <div class="line"><a moz-do-not-send="true" class="code"
                style="href:
"https://files.ettus.com/manual/structuhd_1_1stream__cmd__t.html""><font
                  face="Times New Roman">uhd::stream_cmd_t</font></a><font
                face="Times New Roman"> stream_cmd(</font><a
                moz-do-not-send="true" class="code" style="href:
"https://files.ettus.com/manual/structuhd_1_1stream__cmd__t.html#a4df1f2e22148b7e09ace0eca0dfbf904a0e293a4a7cab198a4f6cb0e196ca377d""><font
                  face="Times New Roman">uhd::stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE</font></a><font
                face="Times New Roman">);</font></div>
            <div class="line"><font face="Times New Roman">stream_cmd.num_samps
                = samps_to_recv;</font></div>
            <div class="line"><font face="Times New Roman">stream_cmd.stream_now
                = <span class="keyword">false</span>;</font></div>
            <div class="line"><font face="Times New Roman">stream_cmd.time_spec
                = time_to_recv;</font></div>
            <div class="line"><font face="Times New Roman">usrp->issue_stream_cmd(stream_cmd);</font></div>
            <div class="line"> </div>
            <div class="line"> </div>
            <div class="line"><font face="Times New Roman">The next
                section mentions how to LO align SBXs and I have done
                this in python (and it has been checked by an expert)
                but I still get a variable phase offset between both
                channels on the USRPs and suspect the CORDICs are
                spinning relatively. </font></div>
            <div class="line"> </div>
            <div class="line"><font face="Times New Roman">So I have a
                couple of questions re: CORDIC alignment:</font></div>
            <div class="line"> </div>
            <div class="line"><font face="Times New Roman">1) if my
                desire is to stream for a looooong time (e.g. days) what
                stream command do I give in Python?</font></div>
            <div class="line"> </div>
            <div class="line"><font face="Times New Roman">2) I have
                seen one posting where the person showed that alignment
                of the CORDICs should happen after a timed_cmd tune – is
                this correct, or should it be before, or does it not
                matter?</font></div>
            <div class="line"> </div>
            <div class="line">3) has anyone been able to get N200r4x2,
              GPSDO, MIMO cable, 2xSBX to align with zero phase offset
              or, at least, a constant phase offset which doesn’t vary
              between each run of the GRC file?</div>
            <div class="line"> </div>
            <div class="line">                 Kind Regards,</div>
            <div class="line"> </div>
            <div class="line">                               John</div>
            <div class="line"> </div>
            <br>
          </div>
        </div>
      </div>
    </blockquote>
    <font face="Times New Roman">The UHD source block in GRC does all of
      this, except for the timed-command wrapper for tuning.<br>
      <br>
      It starts streaming at a fixed time, and uses timestamps to time-align
      samples.<br>
      <br>
      So the only thing left would be PLL synthesizer ambiguity.<br>
      <br>
      <br>
    </font>
  </body>
</html>