Patterned Interleaver

From GNU Radio
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Interleave items from multiple streams based on a provided pattern (given as a vector).

Parameters

IO Type
Supported types are: complex, float, int, short, and byte
Pattern
Vector that represents the interleaving pattern.
For example, the pattern [ 0, 0, 1, 2 ] means to pass one item of data from port 0 twice, then from port 1 once, then from port 2 once, then repeat.
The number of inputs is set by max(pattern,0) + 1.
Note, all inputs must be connected even if all are not used in the pattern. For example, the pattern [0, 0, 1, 2, 4] would create 5 inputs. The fourth input (pattern val 3) is unused but the flowgraph will not run.
Vector Length
The vector length for the input stream(s).

Example Flowgraph

Example 1

An example flowgraph using the default pattern with vector length 1 streams:

Patterned interleaver example flowgraph.png


An example of the settings field:

Patterned interleaver example settings.png


An example of the beginning of the output sequence:

Patterned interleaver example output.png


The output pattern begins with: 0, 1, 10, 20, 2, 3, 11, 21, 4, 0, 12, 22, ....


Example 2

This example shows a vector length 2 example:

Patterned interleaver flowgraph example two.png


An example of the beginning of the output sequence:

Patterned interleaver output example two.png


The output pattern for the first stream begins with: 0, 1, 10, 20, 2, 3, 11, 21, 4, 0, 12, 22, ....

The output pattern for the second stream begins with: 1, 2, 11, 21, 3, 4, 12, 22, 5, 0, 13, 23, ....

Source Files

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