Tuesday, April 5, 2022

Re: GPSDO

On 2022-04-05 22:18, Manuel Caldas wrote:
>
> Hi!
>
> I'm a newbie to gnuradio, and am designing a simple radiometer with an
> Ettus USRP x300 SDR, which has a board mounted GPSDO (and antenna, of
> course).
>
> What I want now is to get the (GPS) timestamp(s) of my data stream, so
> that I can match datapoints to correspondig UTC (gps)time.
>
> So what I have done is I've set "Mbx Time Source" in the USRP Source
> Block to "O/B GPSDO". I understand that I'm missing a step, possibly
> in the File Meta Sink block, so gps time is included in the data
> stream and contained in the data header (possibly in "rx_time")? Btw,
> what exactly is this rx_time (only info I've found is "format from
> UHD")? Is it expressed in days, hours? Referred to what date?
>
> Thanks in advance!
>
> /Manuel
>
>
You should probably look at the sync_to_gps  UHD example.

But the "rx_time" tag is a PMT with

   uint64 seconds
   double fractions_of_second

https://www.gnuradio.org/doc/doxygen-3.7.8/page_metadata.html

My recollection is that if you have  a B2xx with a built-in GPSDO, UHD
will set the time-of-day on the device at startup from GPS data.  And
the time returned in the tag
  will basically be GPS time coerced into UTC with the standard Unix Epoch.

But if the GPSDO hasn't locked when you create a session, UHD cannot
determine the valid time to stuff into the time registers.    Which is
what the "sync_to_gps" example
  is all about.

The "clock source" is about where it gets its 10Mhz reference clock, NOT
about "time of day".  In truth, the on-board GPSDO is *primarily* about
providing a stable and precise
  10Mhz reference and precise 1PPS pulse, and the GPS time-of-day as a
bit of an "also ran".   There's not really good support within GRC for
doing the kind of "dance"
  that "sync_to_gps" does.


It *could* be that with the new "code snippets" one could do what
"sync_to_gps" does, but I haven't really investigated, TBH.

If it were my problem, I'd bring the B2xx up, let the GPS "warm up" for
an hour, then run "sync_to_gps".   Then whenever you run your
flow-graph, make sure
  that "sync" is set to "none" (you don't want the program touching the
clock on the radio), and use "O/B GPSDO" for both the reference clock
and 1PPS options.

No comments:

Post a Comment