discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] How do I capture of the time of USRP N210 samples


From: Josh Blum
Subject: Re: [Discuss-gnuradio] How do I capture of the time of USRP N210 samples with host computer system time?
Date: Wed, 16 Jan 2013 18:02:38 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2


On 01/16/2013 05:17 PM, LD Zhang wrote:
> Hi,
> 
> Please see my comment below:
> 
> On Wed, Jan 16, 2013 at 2:30 PM, Josh Blum <address@hidden> wrote:
> 
>>
>>
>> On 01/16/2013 03:37 PM, LD Zhang wrote:
>>> Hi Folks,
>>>
>>> Sorry for trying to resurrect this topic thought to be settled at one
>> time.
>>> My earlier impression was somehow incorrect. Let me summarize the
>>> situation: basically one wants to gather data at approximately the same
>>> time for 2 USRPs. Using the 2 host computers sync'd to NTP, this appears
>> to
>>> be feasible in principle. If they differ by 1 or 2 ms, I don't care and
>>> it's within tolerance of the particular application.
>>>
>>> So the quickest thing to do was to modify the top_block.py generated from
>>> GRC as follows:
>>>
>>>
>>> self.uhd_usrp_source_0.set_time_now(uhd.time_spec_t(time.time()))
>>>
>>> self.uhd_usrp_source_0.set_start_time(uhd.time_spec_t(time.time() + 0.5))
>>>
>>
>> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]