gr::fec::code::polar_decoder_common
gr::fec::generic_decoder
gr::fec::code::polar_common
gr::fec::code::polar_decoder_sc
gr::fec::code::polar_decoder_sc_list
gr::fec::code::polar_decoder_sc_systematic
gnuradio/fec/polar_decoder_common.h
const float const float gr::fec::code::polar_decoder_common::D_LLR_FACTOR D_LLR_FACTOR gr::fec::code::polar_decoder_common::D_LLR_FACTOR
unsigned int unsigned int gr::fec::code::polar_decoder_common::d_frozen_bit_counter d_frozen_bit_counter gr::fec::code::polar_decoder_common::d_frozen_bit_counter
gr::fec::code::polar_decoder_common::polar_decoder_common
(int block_size, int num_info_bits, std::vector< int > frozen_bit_positions, std::vector< uint8_t > frozen_bit_values)
polar_decoder_common
gr::fec::code::polar_decoder_common::polar_decoder_common
int block_size
int num_info_bits
std::vector< int > frozen_bit_positions
std::vector< uint8_t > frozen_bit_values

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_decoder_common::~polar_decoder_common
() override
~polar_decoder_common
gr::fec::code::polar_decoder_common::~polar_decoder_common
double double gr::fec::code::polar_decoder_common::rate () override rate gr::fec::code::polar_decoder_common::rate rate

Returns the rate of the code. For every r input bits, there is 1 output bit, so the rate is 1/r. Used for setting things like the encoder block's relative rate.

This function MUST be reimplemented by the child class.

int int gr::fec::code::polar_decoder_common::get_input_size () override get_input_size gr::fec::code::polar_decoder_common::get_input_size get_input_size

Returns the input size in items that the decoder object uses to decode a full frame. Often, this number is the number of bits per frame if the input format is unpacked. If the block expects packed bytes, then this value should be the number of bytes (number of bits / 8) per input frame.

The child class MUST implement this function.

int int gr::fec::code::polar_decoder_common::get_output_size () override get_output_size gr::fec::code::polar_decoder_common::get_output_size get_output_size

Returns the output size in items that the decoder object produces after decoding a full frame. Often, this number is the number of bits in the outputted frame if the input format is unpacked. If the block produces packed bytes, then this value should be the number of bytes (number of bits / 8) per frame produced. This value is generally something like get_input_size()/R for a 1/R rate code.

The child class MUST implement this function.

bool bool gr::fec::code::polar_decoder_common::set_frame_size (unsigned int frame_size) override set_frame_size gr::fec::code::polar_decoder_common::set_frame_size set_frame_size unsigned int frame_size

Updates the size of a decoded frame.

The child class MUST implement this function and interpret how the `frame_size` information affects the block's behavior. It should also provide bounds checks.

float float gr::fec::code::polar_decoder_common::llr_odd (const float la, const float lb) const llr_odd gr::fec::code::polar_decoder_common::llr_odd const float la const float lb
float float gr::fec::code::polar_decoder_common::llr_even (const float la, const float lb, const unsigned char f) const llr_even gr::fec::code::polar_decoder_common::llr_even const float la const float lb const unsigned char f
unsigned char unsigned char gr::fec::code::polar_decoder_common::llr_bit_decision (const float llr) const llr_bit_decision gr::fec::code::polar_decoder_common::llr_bit_decision const float llr
const bool const bool gr::fec::code::polar_decoder_common::is_frozen_bit (const int u_num) const is_frozen_bit gr::fec::code::polar_decoder_common::is_frozen_bit const int u_num
const unsigned char const unsigned char gr::fec::code::polar_decoder_common::next_frozen_bit () next_frozen_bit gr::fec::code::polar_decoder_common::next_frozen_bit
void void gr::fec::code::polar_decoder_common::initialize_decoder (unsigned char *u, float *llrs, const float *input) initialize_decoder gr::fec::code::polar_decoder_common::initialize_decoder unsigned char * u float * llrs const float * input
void void gr::fec::code::polar_decoder_common::butterfly (float *llrs, unsigned char *u, const int stage, const int u_num, const int row) butterfly gr::fec::code::polar_decoder_common::butterfly float * llrs unsigned char * u const int stage const int u_num const int row
void void gr::fec::code::polar_decoder_common::butterfly_volk (float *llrs, unsigned char *u, const int stage, const int u_num, const int row) butterfly_volk gr::fec::code::polar_decoder_common::butterfly_volk float * llrs unsigned char * u const int stage const int u_num const int row
void void gr::fec::code::polar_decoder_common::butterfly_generic (float *llrs, unsigned char *u, const int stage, const int u_num, const int row) butterfly_generic gr::fec::code::polar_decoder_common::butterfly_generic float * llrs unsigned char * u const int stage const int u_num const int row
void void gr::fec::code::polar_decoder_common::even_u_values (unsigned char *u_even, const unsigned char *u, const int u_num) even_u_values gr::fec::code::polar_decoder_common::even_u_values unsigned char * u_even const unsigned char * u const int u_num
void void gr::fec::code::polar_decoder_common::odd_xor_even_values (unsigned char *u_xor, const unsigned char *u, const int u_num) odd_xor_even_values gr::fec::code::polar_decoder_common::odd_xor_even_values unsigned char * u_xor const unsigned char * u const int u_num
void void gr::fec::code::polar_decoder_common::extract_info_bits (unsigned char *output, const unsigned char *input) const extract_info_bits gr::fec::code::polar_decoder_common::extract_info_bits unsigned char * output const unsigned char * input
void void gr::fec::code::polar_decoder_common::print_pretty_llr_vector (const float *llr_vec) const print_pretty_llr_vector gr::fec::code::polar_decoder_common::print_pretty_llr_vector const float * llr_vec

Class holds common methods and attributes for different decoder implementations.

gr::fec::code::polar_common
gr::fec::code::polar_decoder_common
gr::fec::code::polar_decoder_sc
gr::fec::code::polar_decoder_sc_list
gr::fec::code::polar_decoder_sc_systematic
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::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_common
  alias
- gr::fec::code::polar_decoder_common
  base_unique_id
- gr::fec::code::polar_decoder_common
  bit_reverse
- gr::fec::code::polar_decoder_common
  block_power
- gr::fec::code::polar_decoder_common
  block_size
- gr::fec::code::polar_decoder_common
  butterfly
- gr::fec::code::polar_decoder_common
  butterfly_generic
- gr::fec::code::polar_decoder_common
  butterfly_volk
- gr::fec::code::polar_decoder_common
  d_frozen_bit_counter
- gr::fec::code::polar_decoder_common
  d_frozen_bit_positions
- gr::fec::code::polar_decoder_common
  d_frozen_bit_values
- gr::fec::code::polar_decoder_common
  d_info_bit_positions
- gr::fec::code::polar_decoder_common
  d_info_bit_positions_reversed
- gr::fec::code::polar_decoder_common
  D_LLR_FACTOR
- gr::fec::code::polar_decoder_common
  d_logger
- gr::fec::code::polar_decoder_common
  d_name
- gr::fec::code::polar_decoder_common
  d_volk_frozen_bit_mask
- gr::fec::code::polar_decoder_common
  d_volk_frozen_bits
- gr::fec::code::polar_decoder_common
  d_volk_temp
- gr::fec::code::polar_decoder_common
  even_u_values
- gr::fec::code::polar_decoder_common
  extract_info_bits
- gr::fec::code::polar_decoder_common
  generic_decoder
- gr::fec::code::polar_decoder_common
  generic_decoder
- gr::fec::code::polar_decoder_common
  generic_work
- gr::fec::code::polar_decoder_common
  get_history
- gr::fec::code::polar_decoder_common
  get_input_conversion
- gr::fec::code::polar_decoder_common
  get_input_item_size
- gr::fec::code::polar_decoder_common
  get_input_size
- gr::fec::code::polar_decoder_common
  get_iterations
- gr::fec::code::polar_decoder_common
  get_output_conversion
- gr::fec::code::polar_decoder_common
  get_output_item_size
- gr::fec::code::polar_decoder_common
  get_output_size
- gr::fec::code::polar_decoder_common
  get_shift
- gr::fec::code::polar_decoder_common
  initialize_decoder
- gr::fec::code::polar_decoder_common
  is_frozen_bit
- gr::fec::code::polar_decoder_common
  llr_bit_decision
- gr::fec::code::polar_decoder_common
  llr_even
- gr::fec::code::polar_decoder_common
  llr_odd
- gr::fec::code::polar_decoder_common
  my_id
- gr::fec::code::polar_decoder_common
  next_frozen_bit
- gr::fec::code::polar_decoder_common
  num_info_bits
- gr::fec::code::polar_decoder_common
  odd_xor_even_values
- gr::fec::code::polar_decoder_common
  polar_common
- gr::fec::code::polar_decoder_common
  polar_decoder_common
- gr::fec::code::polar_decoder_common
  print_packed_bit_array
- gr::fec::code::polar_decoder_common
  print_pretty_llr_vector
- gr::fec::code::polar_decoder_common
  print_unpacked_bit_array
- gr::fec::code::polar_decoder_common
  rate
- gr::fec::code::polar_decoder_common
  set_frame_size
- gr::fec::code::polar_decoder_common
  setup_info_bit_positions_reversed
- gr::fec::code::polar_decoder_common
  setup_volk_vectors
- gr::fec::code::polar_decoder_common
  sptr
- gr::fec::code::polar_decoder_common
  unique_id
- gr::fec::code::polar_decoder_common
  volk_encode
- gr::fec::code::polar_decoder_common
  volk_encode_block
- gr::fec::code::polar_decoder_common
  ~generic_decoder
- gr::fec::code::polar_decoder_common
  ~polar_common
- gr::fec::code::polar_decoder_common
  ~polar_decoder_common