[USRP-users] Align CORDICS in the DSP ( N200x2, MIMO, SBX, GPSDO)

Marcus D. Leech mleech at ripnet.com
Fri Oct 13 17:22:03 EDT 2017

On 10/13/2017 04:57 PM, John Shields via USRP-users wrote:
> Hi,
>     From the Hardware Driver and USRP Manual, under the section on 
> Align CORDICs in the DSP, it says :
> 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.
> For receive, a burst is started when the user issues a stream command. 
> This stream command should have a time spec set:
> uhd::stream_cmd_tstream_cmd(uhd::stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE);
> stream_cmd.num_samps = samps_to_recv;
> stream_cmd.stream_now = false;
> stream_cmd.time_spec = time_to_recv;
> usrp->issue_stream_cmd(stream_cmd);
> 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.
> So I have a couple of questions re: CORDIC alignment:
> 1) if my desire is to stream for a looooong time (e.g. days) what 
> stream command do I give in Python?
> 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?
> 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?
>                  Kind Regards,
>                                John
The UHD source block in GRC does all of this, except for the 
timed-command wrapper for tuning.

It starts streaming at a fixed time, and uses timestamps to time-align 

So the only thing left would be PLL synthesizer ambiguity.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20171013/b5e2c366/attachment-0002.html>

More information about the USRP-users mailing list