[USRP-users] Receive samples at exact time_spec_t

Dario Fertonani dario.fertonani at gmail.com
Thu Nov 16 17:10:14 EST 2017


You may want to look at my messages in the thread "UHD command delay is
different in the first recv stream".
You'll see that: delays have been there for a long time, are still there in
UHD 3.10.x, delay values depend on sampling rate (and/or master clock
rate), and, more critically, the very first delay value in each run is
typically an outlier (this matters only if you issue multiple stream
commands in your app).

On Thu, Nov 16, 2017 at 9:42 AM, ROBIN TORTORA via USRP-users <
usrp-users at lists.ettus.com> wrote:

> If you are using UHD 3.9.x or earlier, I would guess filter delay...
>
> On November 16, 2017 at 5:31 AM Hojoon Yang via USRP-users <
> usrp-users at lists.ettus.com> wrote:
>
> Hi.
>
>
>
> I use USRP B200 with external on-board GPSDO.
>
>
> 1. I set the clock source and time soure to GPSDO
>
>     usrp->set_clock_source("gpsdo", 0);
>
>     usrp->set_time_source("gpsdo", 0);
>
>
>
> 2. Set_time_next_pps and sleep 2 secs.
>
>     usrp->set_time_next_pps(uhd::time_spec_t(0.0), 0);
>
>     boost::this_thread::sleep(boost::posix_time::seconds(2));
>
>
>
> 3. Issue the stream command to start the stream from 3.0 seconds.
>
>     uhd::stream_cmd_t stream_cmd(uhd::stream_cmd_t::
> STREAM_MODE_NUM_SAMPS_AND_DONE);
>
>     stream_cmd.num_samps = 100;
>
>     stream_cmd.stream_now = false;
>
>     const uhd::time_spec_t stream_time = uhd::time_spec_t(3.0);
>
>     stream_cmd.time_spec = stream_time;
>
>     rx_stream->issue_stream_cmd(stream_cmd);
>
>
>
> 4. Start the Rx streams and check received time.
>
>     size_t num_rx_samps = rx_stream->recv(&buff.front(), buff.size(), md,
> 5.0);
>
>     ------------------------------------------------------------
> ---------------------------------------
>
>     Received packet: 100 samples, 3 full secs, 0.000037 frac secs
>
>     Stream time was: 3 full secs, 0.000000 frac secs
>
>     Difference between stream time and first packet: 37.093750 us
>
>
>
> I command to start receving from 3.0 seconds, but the USRP B200 does not
> start at exact time(there are some delay, 37us).
>
>
>
> I guess it seems normal.
>
>
>
> (a)But is there any method to overcome this tiny difference? at least
> below 10 us.
>
>
>
> (b)Is the difference always same? If not, Could you tell me which things
> could change the difference?
>
>
>
> (c)Can I solve the problem If I set the stream time to 3.0s - 37us?
>
>
>
> It will be very appreciated if someone could answer the above three
> questions!
>
>
>
> Thanks in advance.
> _______________________________________________
> USRP-users mailing list
> USRP-users at lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
> _______________________________________________
> USRP-users mailing list
> USRP-users at lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20171116/111dd553/attachment-0002.html>


More information about the USRP-users mailing list