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
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
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?