Difference between revisions of "Stream Demux"

From GNU Radio
Jump to: navigation, search
(Added tags to example)
m (Fix typo)
 
Line 27: Line 27:
  
  
[[File:stream_demux_demo_flowgraph.png|800x]]
+
[[File:stream_demux_demo_flowgraph.png|800px]]
  
 
[[File:Stream_demux_demo_exec.png|800px]]
 
[[File:Stream_demux_demo_exec.png|800px]]

Latest revision as of 14:58, 29 October 2020

Stream demuxing block to demultiplex one stream into N output streams.

Demuxes a stream producing N outputs streams that contains n_0 items in the first stream, n_1 items in the second, etc., and repeats. Tags are propagated. The number of items in each output stream is specified using the lengths parameter like so [n_0, n_1, ..., n_N-1].

Example:
lengths = [2, 3, 4]

input stream = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...]
output_stream_0 = [0, 1, 9, 10, ...]
output_stream_1 = [2, 3, 4, 11, ...]
output_stream_2 = [5, 6, 7, 8, ...]

Parameters[edit]

Lengths
a vector (list/tuple) specifying the number of items to copy to each output stream.
Num outputs
Number of output streams.

Example Flowgraph[edit]

This flowgraph shows the Stream Demux block demuxing an input stream into three output streams with lengths = [2, 3, 4].

The block will put 2 items into the first output stream, 3 items into the second output stream, 4 items into the third output stream, and repeat. Notice that tags are preserved.


Stream demux demo flowgraph.png

Stream demux demo exec.png

Source Files[edit]

C++ files
[1]
Header files
[2]
Public header files
[3]
Block definition
[4]