Hello, Yes, that is the purpose of the set_time_next_pps function. When combined with common 10 MHz and 1 PPS references this allows for stable time synchronization of 1 sample clock cycle, 5 ns at 200 MS/s. I recommend reading through the examples which show using all these commands and others related to streaming multiple channels. https://github.com/EttusResearch/uhd/tree/maint/host/examples
The manual also covers these topics. http://files.ettus.com/manual/page_sync.html Derek On Thu, Mar 8, 2018 at 11:02 PM, Zhongyuan Zhao <zhz...@cse.unl.edu> wrote: > Hi Derek, > > If USRPs A & B clocked by an Octoclock, are connected to the same host, I > want calibrate the counter values from USRPs A and B. How can I do it? Is > this function supported by UHD? If not, could I update the counter values > in the FPGA Radio blocks? or I can only keep an calibration table of > counter value offsets on my host? > > Thanks! > > Zhongyuan Zhao > > PhD Candidate, > Department of Computer Science & Engineering, > University of Nebraska-Lincoln > Office Hour: WF 9:30-10:00am, Avery Hall 12, > Suite 117, Schorr Center, > Lincoln, Nebraska 68588-0115 > > > On Thu, Mar 8, 2018 at 4:42 PM, Derek Kozel <derek.ko...@ettus.com> wrote: > >> Hello, >> >> The same commands are available in the GNU Radio environment and I >> believe are exposed in the pre-release Python API branch. >> >> The FPGA radio blocks contain a timekeeper which is a counter which >> increments at the same rate as the master_clock_rate which is the effective >> ADC/DAC sample rate. This allows for commands to be executed with very fine >> temporal precision. >> >> Regards, >> Derek >> >> On Thu, Mar 8, 2018 at 10:12 PM, Zhongyuan Zhao <zhz...@cse.unl.edu> >> wrote: >> >>> Hi Derek, >>> >>> I have two questions about the rx timed samples example, >>> 1. is there python version for timed command? >>> 2. Is the time stamp from the clock on USRP or on the host? >>> >>> Thanks >>> >>> Zhongyuan Zhao >>> >>> PhD Candidate, >>> Department of Computer Science & Engineering, >>> University of Nebraska-Lincoln >>> Office Hour: WF 9:30-10:00am, Avery Hall 12, >>> Suite 117, Schorr Center, >>> Lincoln, Nebraska 68588-0115 >>> >>> >>> On Thu, Mar 8, 2018 at 3:27 PM, Derek Kozel via USRP-users < >>> usrp-users@lists.ettus.com> wrote: >>> >>>> The stream command object has a field for a time spec of when to start >>>> streaming and a boolean flag for whether to make use of that time spec. >>>> http://files.ettus.com/manual/structuhd_1_1stream__cmd__t.html >>>> >>>> Here we can see it used in an rx example. >>>> https://github.com/EttusResearch/uhd/blob/maint/host/example >>>> s/rx_timed_samples.cpp#L92-L93 >>>> >>>> Usually it is most practical to make a call to get_time_now() and then >>>> add an offset from that time which is returned. The minimum offset would be >>>> the roundtrip command time, usually a few milliseconds. >>>> >>>> Regards, >>>> Derek >>>> >>>> On Thu, Mar 8, 2018 at 9:03 PM, Andrew Thommesen < >>>> andrewjoh...@outlook.com> wrote: >>>> >>>>> No, how do you do that? >>>>> >>>>> >>>>> Sent from Outlook <http://aka.ms/weboutlook> >>>>> ------------------------------ >>>>> *From:* Derek Kozel <derek.ko...@ettus.com> >>>>> *Sent:* 08 March 2018 20:58:38 >>>>> *To:* Andrew Thommesen >>>>> *Cc:* usrp-users >>>>> *Subject:* Re: [USRP-users] TwinRx Channel Alignment >>>>> >>>>> Hello Andrew, >>>>> >>>>> Are you starting the streaming with timed commands? >>>>> >>>>> Regards, >>>>> Derek >>>>> >>>>> On Mar 8, 2018 7:32 PM, "Andrew Thommesen via USRP-users" < >>>>> usrp-users@lists.ettus.com> wrote: >>>>> >>>>> Hi all, >>>>> >>>>> >>>>> I have an x310 with a twinRx and would like to process coherent, >>>>> time aligned data within the FPGA. However, the data is not currently time >>>>> aligned and there is an offset of ~400 samples between the two channels. >>>>> >>>>> >>>>> The RFNoC radio block is configured to receive data on both channels, >>>>> with the LO of channel 1 set to companion. The output of the radio block >>>>> then passes through the RFNoC DDC block that decimates from 100MSPS to >>>>> 50MSPS. The decimated data then passes to a custom RFNoC block that strips >>>>> out the timestamps (for loopback). It is within this custom block that the >>>>> the offset is detected at the output of the AXI wrapper before any >>>>> processing has taken place. >>>>> >>>>> >>>>> Any ideas? >>>>> >>>>> >>>>> Andy >>>>> >>>>> >>>>> >>>>> >>>>> Sent from Outlook <http://aka.ms/weboutlook> >>>>> >>>>> _______________________________________________ >>>>> USRP-users mailing list >>>>> USRP-users@lists.ettus.com >>>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >>>>> >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> USRP-users mailing list >>>> USRP-users@lists.ettus.com >>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >>>> >>>> >>> >> >
_______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com