Questions on stream tags

Dear List,

I’m new to stream tags. Could someone help me to understand about stream
tags and know how to use it?

  1. In GNU Radio Manual: “A stream tags is generated by a block’s work
    function and from there on flows the downstream…until it reaches a
    sink

    …”.
    If we use tags to tell the USRP Sink to start/stop the TX chain, do we
    need
    to modify the USRP Sink block?
    I found that gr_uhd_usrp_sink.cc file contains the get_tags_in_range()
    function. However, this file is not, at first, in the GNU Radio 3.7.0
    source folder. How to add this to project and make it work with USRP
    Sink?

  2. I am implementing a model of ofdm-based two-way relaying network
    apply
    network coding. Up to now, each single transmission in one time slot are
    done, but the model runs without any timing synchronization. For this, I
    need to use TDMA, and stream tags is the solution. I list here the steps
    to
    make TDMA with stream tags. Could you leave some comments if I miss some
    thing?

  • Add tags to stream; using provided block such as PDU to Tagged Stream,
    or
    custom block.
  • Write a block for error checking, repeat request…

Sorry if my questions are silly.

Thanks,
Hoang

On 05.05.2014 09:56, Hoang Ngo K. wrote:

Dear List,

I’m new to stream tags. Could someone help me to understand about stream
tags and know how to use it?

Remember that we have a lot tag debugging tools available, such as the
QT GUI Time Sink and tag debug.

  1. In GNU Radio Manual: “A stream tags is generated by a block’s work
    function and from there on flows the downstream…until it reaches a
    sink
    …”.
    If we use tags to tell the USRP Sink to start/stop the TX chain, do we
    need to modify the USRP Sink block?

Probably not… are you talking about tx_sob and tx_eob?

I found that gr_uhd_usrp_sink.cc file contains the get_tags_in_range()
function. However, this file is not, at first, in the GNU Radio 3.7.0
source folder. How to add this to project and make it work with USRP Sink?

Look in gr-uhd/, there it is.

  1. I am implementing a model of ofdm-based two-way relaying network
    apply network coding. Up to now, each single transmission in one time
    slot are done, but the model runs without any timing synchronization.
    For this, I need to use TDMA, and stream tags is the solution. I list
    here the steps to make TDMA with stream tags. Could you leave some
    comments if I miss some thing?
  • Add tags to stream; using provided block such as PDU to Tagged Stream,
    or custom block.
  • Write a block for error checking, repeat request…

Seems right. You shouldn’t need other blocks to control UHD.

M

Hi Martin, and all,

I meant, I want to add tx_sob and tx_eob to tell the USRP Sink to
start/stop the TX chain. I intend to add tags before the modulation,
where
data type is *byte. *Since the provided block PDU to Tagged Stream takes
message as input, I guess I need to make my own block(s).

On 06.05.2014 04:44, Hoang Ngo K. wrote:

Hi Martin, and all,

I meant, I want to add tx_sob and tx_eob to tell the USRP Sink to
start/stop the TX chain. I intend to add tags before the modulation,
where data type is /byte. /Since the provided block PDU to Tagged Stream
takes message as input, I guess I need to make my own block(s).

On current master, you can also pipe the tagged stream straight into the
uhd sink.

M

Sorry, I didn’t really get what you meant by “pipe the tagged stream
straight into the uhd sink”.

On 06.05.2014 12:18, Hoang Ngo K. wrote:

Sorry, I didn’t really get what you meant by “pipe the tagged stream
straight into the uhd sink”.

If you put tagged streams into the UHD sink it’ll understand that (and
add eob automatically).

M