Tagged Stream Multiply Length Tag: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
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]

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 [1].

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