[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] How far can one get with "tags" only without usin
Re: [Discuss-gnuradio] How far can one get with "tags" only without using "messages"
Tue, 19 Mar 2013 17:45:48 -0400
On Thu, Mar 14, 2013 at 12:21 PM, Achilleas Anastasopoulos
> I have in mind a comm system where a Tx is monitoring a beacon and
> estimates timing from it
> (say the beacon is transmitting a periodic signal with period 100msec).
> Then the Tx aligns its transmission with this beacon and sends some
> data at the beginning of each 100msec interval (lets assume the data
> can be send in 10msec).
> The Rx is also listening to the same beacon and aligns its reception
> with it, etc,.
> I want to see if this system can be built with tags only, ie, without
> using messages.
> My idea is the following:
> At the Tx I will run an estimate of the beacon timing and
> know the exact 100msec boundaries by using the UHD-source tags (eg, if
> I know that the synchronizer found the
> m-th sample as the boundary and I know from the UHD-source tag that
> the n-th sample
> happened at time t0, I can figure out the 100msec absolute time
> boundaries with respect to the Tx-USRP internal clock).
> This syncing process can be run at the beginning (I am assuming
> half-duplex daughterboards)
> and/or wake up and run it every say 10seconds so that I keep an accurate
> I will do exactly the same at the Rx.
> So every 10seconds there is an updated estimate of the 100msec
> boundary at both Tx and Rx
> relative to their respective USRP clocks.
> Now at the Rx all I have to do is to tag the incoming samples from the
> USRP with the beginning of the
> boundary (every 100msec) and the downstream blocks can catch these
> tags and do the rest of the processing.
> So far so good.
> At the Tx all I have to do is to time-stamp my transmitted signal to
> the estimated/calculated transmitted boundaries.
> So the question is, how do I inform the Tx blocks (the ones that are
> responsible for transmitting the data)
> of the estimated/calculated boundaries?
> Can this happen with tags only or do i need messages?
For this, I would definitely use the message passing system to trigger
the TX from the RX. You can have the first block of the TX path simply
wait for a message. Look at the "pdu_to_tagged_stream" block for
The nice thing about this is that you don't really have to worry about
the asynchronous properties of the message passing infrastructure.
Since the source is based on waiting for a message, it will actually
just block and do nothing until a message is posted. It will then
immediately call the message handler to start things happening on the