POLAR Decoder SC List Definition

From GNU Radio
Revision as of 15:39, 5 May 2025 by Frankfu (talk | contribs) (add Example Flowgraph)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Successive cancellation list (SCL) decoder for polar codes.

Decoder is based on Tal, Vardy "List Decoding of Polar Codes", 2012 LLR version: Balatsoukas-Stimming, Parizi, Burg "LLR-based Successive Cancellation List Decoding of Polar Codes", 2015.

Block expects float input with bits mapped 1 --> 1, 0 --> -1

Or: f = 2.0 * bit - 1.0

Parameters

Parallelism
For parallel execution of multiple instances of the block (more info is needed on this)
Dimension 1
For parallelism
Dimension 2
For parallelism
Maximum List size
Caps number of followed decoding paths.
Block size (N)
Codeword size. MUST be a power of 2.
#Info Bits (K)
Represents the number of information bits in a block. Also called frame_size. <= block_size
Frozen Bit Positions
Integer vector which defines the position of all frozen bits in a block. Its size MUST be equal to block_size - num_info_bits. Also it must be sorted and every position must only occur once.
Frozen Bit Values
Holds an unpacked byte for every frozen bit position. It defines if a frozen bit is fixed to '0' or '1'. Defaults to all ZERO.

Example Flowgraph

This flowgraph can be found at [1]

Fecapi polar decoders fg.png

Source Files

C++ files
[2]
Common code
Public header files
[3]
Block definition
[4]