Tagged Stream Multiply Length Tag: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 16: Line 16:
== Example Flowgraph ==
== Example Flowgraph ==


This flowgraph can be found at [https://github.com/gnuradio/gnuradio/blob/master/gr-digital/examples/packet/packet_tx.grc].
This flowgraph can be found at [https://github.com/gnuradio/gnuradio/blob/master/gr-digital/examples/packet/packet_tx.grc packet_tx.grc].


The Polyphase Arbitrary Resampler upsamples the stream by a factor of 2. Because of this, the packet length is also increased (becomes twice the original one). But this change of packet length is not propagated to the tags in the output stream of the PAR block. Tagged stream multiply length tag block is used to update the values of the tags. Length scalar is set to 2 to change the packet length to packet_len*2.
The Polyphase Arbitrary Resampler upsamples the stream by a factor of 2. Because of this, the packet length is also increased (becomes twice the original one). But this change of packet length is not propagated to the tags in the output stream of the PAR block. Tagged stream multiply length tag block is used to update the values of these tags. Length scalar is set to 2 to change the packet length to packet_len*2.


[[File:Packet_tx_fg.png|746px]]
[[File:Packet_tx_fg.png|746px]]
Line 25: Line 25:


; C++ files
; C++ files
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/tagged_stream_multiply_length_impl.cc]
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/lib/tagged_stream_multiply_length_impl.cc tagged_stream_multiply_length_impl.cc]


; Header files
; Header files
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/tagged_stream_multiply_length_impl.h]
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/lib/tagged_stream_multiply_length_impl.h tagged_stream_multiply_length_impl.h]


; Public header files
; Public header files
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/include/gnuradio/blocks/tagged_stream_multiply_length.h]
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/include/gnuradio/blocks/tagged_stream_multiply_length.h tagged_stream_multiply_length.h]


; Block definition
; Block definition
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/grc/blocks_tagged_stream_multiply_length.block.yml]
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/grc/blocks_tagged_stream_multiply_length.block.yml blocks_tagged_stream_multiply_length.block.yml]

Latest revision as of 12:58, 26 January 2022

Allows scaling of a tagged stream length tag for constant rate change blocks in a tagged stream.

Searches for a specific tagged stream length tag and multiplies that length by a constant.

Parameters

(R): Run-time adjustable

Length tag names
Length tag key
Length scalar (R)
Value to scale length tag values by


Example Flowgraph

This flowgraph can be found at packet_tx.grc.

The Polyphase Arbitrary Resampler upsamples the stream by a factor of 2. Because of this, the packet length is also increased (becomes twice the original one). But this change of packet length is not propagated to the tags in the output stream of the PAR block. Tagged stream multiply length tag block is used to update the values of these tags. Length scalar is set to 2 to change the packet length to packet_len*2.

Packet tx fg.png

Source Files

C++ files
tagged_stream_multiply_length_impl.cc
Header files
tagged_stream_multiply_length_impl.h
Public header files
tagged_stream_multiply_length.h
Block definition
blocks_tagged_stream_multiply_length.block.yml