gr::fec::code::polar_common
gr::fec::code::polar_decoder_common
gr::fec::code::polar_encoder
gr::fec::code::polar_encoder_systematic
gnuradio/fec/polar_common.h
std::vector< int > std::vector<int> gr::fec::code::polar_common::d_frozen_bit_positions d_frozen_bit_positions gr::fec::code::polar_common::d_frozen_bit_positions
std::vector< uint8_t > std::vector<uint8_t> gr::fec::code::polar_common::d_frozen_bit_values d_frozen_bit_values gr::fec::code::polar_common::d_frozen_bit_values
std::vector< int > std::vector<int> gr::fec::code::polar_common::d_info_bit_positions d_info_bit_positions gr::fec::code::polar_common::d_info_bit_positions
std::vector< int > std::vector<int> gr::fec::code::polar_common::d_info_bit_positions_reversed d_info_bit_positions_reversed gr::fec::code::polar_common::d_info_bit_positions_reversed
volk::vector< unsigned char > volk::vector<unsigned char> gr::fec::code::polar_common::d_volk_temp d_volk_temp gr::fec::code::polar_common::d_volk_temp
volk::vector< unsigned char > volk::vector<unsigned char> gr::fec::code::polar_common::d_volk_frozen_bit_mask d_volk_frozen_bit_mask gr::fec::code::polar_common::d_volk_frozen_bit_mask
volk::vector< unsigned char > volk::vector<unsigned char> gr::fec::code::polar_common::d_volk_frozen_bits d_volk_frozen_bits gr::fec::code::polar_common::d_volk_frozen_bits
int int gr::fec::code::polar_common::d_block_size d_block_size gr::fec::code::polar_common::d_block_size
int int gr::fec::code::polar_common::d_block_power d_block_power gr::fec::code::polar_common::d_block_power
int int gr::fec::code::polar_common::d_num_info_bits d_num_info_bits gr::fec::code::polar_common::d_num_info_bits
gr::blocks::kernel::unpack_k_bits gr::blocks::kernel::unpack_k_bits gr::fec::code::polar_common::d_unpacker d_unpacker gr::fec::code::polar_common::d_unpacker
gr::fec::code::polar_common::polar_common
(int block_size, int num_info_bits, std::vector< int > frozen_bit_positions, std::vector< uint8_t > frozen_bit_values)
polar_common
gr::fec::code::polar_common::polar_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_common::~polar_common
()
~polar_common
gr::fec::code::polar_common::~polar_common
const int const int gr::fec::code::polar_common::block_size () const block_size gr::fec::code::polar_common::block_size
const int const int gr::fec::code::polar_common::block_power () const block_power gr::fec::code::polar_common::block_power
const int const int gr::fec::code::polar_common::num_info_bits () const num_info_bits gr::fec::code::polar_common::num_info_bits
long long gr::fec::code::polar_common::bit_reverse (long value, int active_bits) const bit_reverse gr::fec::code::polar_common::bit_reverse long value int active_bits
void void gr::fec::code::polar_common::print_packed_bit_array (const unsigned char *printed_array, const int num_bytes) const print_packed_bit_array gr::fec::code::polar_common::print_packed_bit_array const unsigned char * printed_array const int num_bytes
void void gr::fec::code::polar_common::print_unpacked_bit_array (const unsigned char *bits, const unsigned int num_bytes) const print_unpacked_bit_array gr::fec::code::polar_common::print_unpacked_bit_array const unsigned char * bits const unsigned int num_bytes
void void gr::fec::code::polar_common::setup_info_bit_positions_reversed () setup_info_bit_positions_reversed gr::fec::code::polar_common::setup_info_bit_positions_reversed
void void gr::fec::code::polar_common::setup_volk_vectors () setup_volk_vectors gr::fec::code::polar_common::setup_volk_vectors
void void gr::fec::code::polar_common::volk_encode (unsigned char *out_buf, const unsigned char *in_buf) volk_encode gr::fec::code::polar_common::volk_encode unsigned char * out_buf const unsigned char * in_buf
void void gr::fec::code::polar_common::volk_encode_block (unsigned char *out_buf, unsigned char *in_buf) volk_encode_block gr::fec::code::polar_common::volk_encode_block unsigned char * out_buf unsigned char * in_buf
void void gr::fec::code::polar_common::initialize_info_bit_position_vector () initialize_info_bit_position_vector gr::fec::code::polar_common::initialize_info_bit_position_vector

POLAR code common operations and attributes.

Polar codes are based on this paper by Erdal Arikan "Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels", 2009 block holds common information for encoders and decoders. All polar encoder/decoders inherit from polar_common.

class holds common info. It is common to all encoders and decoders.

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::code::polar_encoder
gr::fec::code::polar_encoder_systematic
gr::fec::code::polar_common
d_frozen_bit_positions
d_info_bit_positions
d_info_bit_positions_reversed
d_frozen_bit_values
std::vector< int >
std::vector< uint8_t >
- gr::fec::code::polar_common
  bit_reverse
- gr::fec::code::polar_common
  block_power
- gr::fec::code::polar_common
  block_size
- gr::fec::code::polar_common
  d_block_power
- gr::fec::code::polar_common
  d_block_size
- gr::fec::code::polar_common
  d_frozen_bit_positions
- gr::fec::code::polar_common
  d_frozen_bit_values
- gr::fec::code::polar_common
  d_info_bit_positions
- gr::fec::code::polar_common
  d_info_bit_positions_reversed
- gr::fec::code::polar_common
  d_num_info_bits
- gr::fec::code::polar_common
  d_unpacker
- gr::fec::code::polar_common
  d_volk_frozen_bit_mask
- gr::fec::code::polar_common
  d_volk_frozen_bits
- gr::fec::code::polar_common
  d_volk_temp
- gr::fec::code::polar_common
  initialize_info_bit_position_vector
- gr::fec::code::polar_common
  num_info_bits
- gr::fec::code::polar_common
  polar_common
- gr::fec::code::polar_common
  print_packed_bit_array
- gr::fec::code::polar_common
  print_unpacked_bit_array
- gr::fec::code::polar_common
  setup_info_bit_positions_reversed
- gr::fec::code::polar_common
  setup_volk_vectors
- gr::fec::code::polar_common
  volk_encode
- gr::fec::code::polar_common
  volk_encode_block
- gr::fec::code::polar_common
  ~polar_common