gr::fec::code::polar_decoder_sc_list
gr::fec::code::polar_decoder_common
gnuradio/fec/polar_decoder_sc_list.h
const std::unique_ptr< polar::scl_list > const std::unique_ptr<polar::scl_list> gr::fec::code::polar_decoder_sc_list::d_scl d_scl gr::fec::code::polar_decoder_sc_list::d_scl
generic_decoder::sptr static generic_decoder::sptr gr::fec::code::polar_decoder_sc_list::make (int max_list_size, int block_size, int num_info_bits, std::vector< int > frozen_bit_positions, std::vector< uint8_t > frozen_bit_values) make gr::fec::code::polar_decoder_sc_list::make int max_list_size int block_size int num_info_bits std::vector< int > frozen_bit_positions std::vector< uint8_t > frozen_bit_values

max_list_size

caps number of followed decoding paths.

block_size

codeword size. MUST be a power of 2.

num_info_bits

represents the number of information bits in a block. Also called frame_size. <= block_size

frozen_bit_positions

is an 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.

gr::fec::code::polar_common::block_size
gr::fec::code::polar_common::num_info_bits
gr::fec::code::polar_decoder_sc_list::~polar_decoder_sc_list
() override
~polar_decoder_sc_list
gr::fec::code::polar_decoder_sc_list::~polar_decoder_sc_list
void void gr::fec::code::polar_decoder_sc_list::generic_work (const void *in_buffer, void *out_buffer) override generic_work gr::fec::code::polar_decoder_sc_list::generic_work generic_work const void * in_buffer void * out_buffer gr::fec::code::polar_common::block_size gr::fec::code::polar_common::num_info_bits
gr::fec::code::polar_decoder_sc_list::polar_decoder_sc_list
(int max_list_size, int block_size, int num_info_bits, std::vector< int > frozen_bit_positions, std::vector< uint8_t > frozen_bit_values)
polar_decoder_sc_list
gr::fec::code::polar_decoder_sc_list::polar_decoder_sc_list
int max_list_size
int block_size
int num_info_bits
std::vector< int > frozen_bit_positions
std::vector< uint8_t > frozen_bit_values
void void gr::fec::code::polar_decoder_sc_list::initialize_list (const float *in_buf) initialize_list gr::fec::code::polar_decoder_sc_list::initialize_list const float * in_buf
const unsigned char * const unsigned char * gr::fec::code::polar_decoder_sc_list::decode_list () decode_list gr::fec::code::polar_decoder_sc_list::decode_list
void void gr::fec::code::polar_decoder_sc_list::decode_bit (const int u_num) decode_bit gr::fec::code::polar_decoder_sc_list::decode_bit const int u_num
void void gr::fec::code::polar_decoder_sc_list::calculate_llrs_for_list (const int u_num) calculate_llrs_for_list gr::fec::code::polar_decoder_sc_list::calculate_llrs_for_list const int u_num
void void gr::fec::code::polar_decoder_sc_list::set_bit_in_list (const int u_num) set_bit_in_list gr::fec::code::polar_decoder_sc_list::set_bit_in_list const int u_num

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

gr::fec::code::polar_common
gr::fec::code::polar_decoder_common
gr::fec::code::polar_decoder_sc_list
gr::fec::generic_decoder
gr::fec::code::polar_common
d_frozen_bit_positions
d_info_bit_positions
d_info_bit_positions_reversed
d_frozen_bit_values
gr::fec::code::polar_decoder_common
gr::fec::code::polar_decoder_sc_list
gr::fec::generic_decoder
d_logger
d_name
std::basic_string< Char >
std::shared_ptr< logger >
std::string
std::vector< int >
std::vector< uint8_t >
- gr::fec::code::polar_decoder_sc_list
  alias
- gr::fec::code::polar_decoder_sc_list
  base_unique_id
- gr::fec::code::polar_decoder_sc_list
  bit_reverse
- gr::fec::code::polar_decoder_sc_list
  block_power
- gr::fec::code::polar_decoder_sc_list
  block_size
- gr::fec::code::polar_decoder_sc_list
  butterfly
- gr::fec::code::polar_decoder_sc_list
  butterfly_generic
- gr::fec::code::polar_decoder_sc_list
  butterfly_volk
- gr::fec::code::polar_decoder_sc_list
  calculate_llrs_for_list
- gr::fec::code::polar_decoder_sc_list
  d_frozen_bit_positions
- gr::fec::code::polar_decoder_sc_list
  d_frozen_bit_values
- gr::fec::code::polar_decoder_sc_list
  d_info_bit_positions
- gr::fec::code::polar_decoder_sc_list
  d_info_bit_positions_reversed
- gr::fec::code::polar_decoder_sc_list
  d_logger
- gr::fec::code::polar_decoder_sc_list
  d_name
- gr::fec::code::polar_decoder_sc_list
  d_scl
- gr::fec::code::polar_decoder_sc_list
  d_volk_frozen_bit_mask
- gr::fec::code::polar_decoder_sc_list
  d_volk_frozen_bits
- gr::fec::code::polar_decoder_sc_list
  d_volk_temp
- gr::fec::code::polar_decoder_sc_list
  decode_bit
- gr::fec::code::polar_decoder_sc_list
  decode_list
- gr::fec::code::polar_decoder_sc_list
  even_u_values
- gr::fec::code::polar_decoder_sc_list
  extract_info_bits
- gr::fec::code::polar_decoder_sc_list
  generic_decoder
- gr::fec::code::polar_decoder_sc_list
  generic_decoder
- gr::fec::code::polar_decoder_sc_list
  generic_work
- gr::fec::code::polar_decoder_sc_list
  get_history
- gr::fec::code::polar_decoder_sc_list
  get_input_conversion
- gr::fec::code::polar_decoder_sc_list
  get_input_item_size
- gr::fec::code::polar_decoder_sc_list
  get_input_size
- gr::fec::code::polar_decoder_sc_list
  get_iterations
- gr::fec::code::polar_decoder_sc_list
  get_output_conversion
- gr::fec::code::polar_decoder_sc_list
  get_output_item_size
- gr::fec::code::polar_decoder_sc_list
  get_output_size
- gr::fec::code::polar_decoder_sc_list
  get_shift
- gr::fec::code::polar_decoder_sc_list
  initialize_decoder
- gr::fec::code::polar_decoder_sc_list
  initialize_list
- gr::fec::code::polar_decoder_sc_list
  is_frozen_bit
- gr::fec::code::polar_decoder_sc_list
  llr_bit_decision
- gr::fec::code::polar_decoder_sc_list
  llr_even
- gr::fec::code::polar_decoder_sc_list
  llr_odd
- gr::fec::code::polar_decoder_sc_list
  make
- gr::fec::code::polar_decoder_sc_list
  my_id
- gr::fec::code::polar_decoder_sc_list
  next_frozen_bit
- gr::fec::code::polar_decoder_sc_list
  num_info_bits
- gr::fec::code::polar_decoder_sc_list
  odd_xor_even_values
- gr::fec::code::polar_decoder_sc_list
  polar_common
- gr::fec::code::polar_decoder_sc_list
  polar_decoder_common
- gr::fec::code::polar_decoder_sc_list
  polar_decoder_sc_list
- gr::fec::code::polar_decoder_sc_list
  print_packed_bit_array
- gr::fec::code::polar_decoder_sc_list
  print_pretty_llr_vector
- gr::fec::code::polar_decoder_sc_list
  print_unpacked_bit_array
- gr::fec::code::polar_decoder_sc_list
  rate
- gr::fec::code::polar_decoder_sc_list
  set_bit_in_list
- gr::fec::code::polar_decoder_sc_list
  set_frame_size
- gr::fec::code::polar_decoder_sc_list
  setup_info_bit_positions_reversed
- gr::fec::code::polar_decoder_sc_list
  setup_volk_vectors
- gr::fec::code::polar_decoder_sc_list
  sptr
- gr::fec::code::polar_decoder_sc_list
  unique_id
- gr::fec::code::polar_decoder_sc_list
  volk_encode
- gr::fec::code::polar_decoder_sc_list
  volk_encode_block
- gr::fec::code::polar_decoder_sc_list
  ~generic_decoder
- gr::fec::code::polar_decoder_sc_list
  ~polar_common
- gr::fec::code::polar_decoder_sc_list
  ~polar_decoder_common
- gr::fec::code::polar_decoder_sc_list
  ~polar_decoder_sc_list