Hi,

Please see my response below:

>>
> >> How are you communicating the same start time to each device in your
> >> setup? Suppose there were two devices, would it not be more like this:
> >>
> >> self.uhd_usrp_source_0.set_time_now(uhd.time_spec_t(time.time()))
> >> self.uhd_usrp_source_1.set_time_now(uhd.time_spec_t(time.time()))
> >>
> >> #start stream time common for all N devices
> >> start_time = uhd.time_spec_t(time.time() + 0.5)
> >>
> >> self.uhd_usrp_source_0.set_start_time(start_time)
> >> self.uhd_usrp_source_1.set_start_time(start_time)
> >>
> >> -josh
> >>
> >>
> > The 2 USRP is each connected to a different computer. Each computer is
> > sync'd in time via NTP update. Since NTP time is accurate to ~ 1ms, I
> > consider the 2 computers sync'd right after the NTP update. There is
> > network communication (socket signal) between the 2 computer so that they
> > note their system time immediately after the socket signal and schedule
> > (round forward to a future integer 10 second point) to perform the same
> > action (data gathering) at the same time in the future. That is, each
> > schedule an amount of time and each watch its clock, when it gets to that
> > scheduled point, it immediately launches the top_block.py script in which
> > the same set_time_now and set_start_time command are performed. There is
> no
> > "_0" and "_1" distinction because each is operating independently. I am
>
> The code snippet was just supposed to help demonstrate. You need to
> share the *same* start time for both flow graphs for this to work. The
> fact that you are using different start times and scheduling the
> execution of the flow graph and creation of device objects is
> introducing all this extra variability.
>
> -josh
>

My understanding is that the approximately *same* start time is enforced at
the 2 computer that have just been sync'd to NTP, because the top_block.py
is executed at the approximately (~ 1 ms accuracy) the same time. And
inside top_block.py the same code is applied to the 2 units. So I would
expect approximately the same start time is used. Maybe not. Maybe the
better way to do this is to get away from the top_block.py script and start
using the rx_samples_to_file command, and get the metadata structure info
and correct for the difference in the metadata timestamp. My question is
what are the files to modify and how I save the metadata, whether in a
separate file or in the same file as the sampled data.

Thanks,

LD
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to