24 #ifndef INCLUDED_FEC_POLAR_DECODER_COMMON_H 25 #define INCLUDED_FEC_POLAR_DECODER_COMMON_H 56 std::vector<int> frozen_bit_positions,
57 std::vector<char> frozen_bit_values);
61 double rate(){
return (1.0 * get_output_size() / get_input_size());};
67 static const float D_LLR_FACTOR;
68 unsigned int d_frozen_bit_counter;
72 float llr_odd(
const float la,
const float lb)
const;
73 float llr_even(
const float la,
const float lb,
const unsigned char f)
const;
77 const bool is_frozen_bit(
const int u_num)
const;
78 const unsigned char next_frozen_bit();
81 void initialize_decoder(
unsigned char* u,
float* llrs,
const float* input);
84 void butterfly(
float* llrs,
unsigned char* u,
const int stage,
const int u_num,
const int row);
85 void butterfly_volk(
float* llrs,
unsigned char* u,
const int stage,
const int u_num,
const int row);
86 void butterfly_generic(
float* llrs,
unsigned char* u,
const int stage,
const int u_num,
const int row);
87 void even_u_values(
unsigned char* u_even,
const unsigned char* u,
const int u_num);
88 void odd_xor_even_values(
unsigned char* u_xor,
const unsigned char* u,
const int u_num);
89 void extract_info_bits(
unsigned char* output,
const unsigned char* input)
const;
92 void print_pretty_llr_vector(
const float* llr_vec)
const;
int get_input_size()
Definition: polar_decoder_common.h:62
int get_output_size()
Definition: polar_decoder_common.h:63
Parent class for FECAPI objects.
Definition: generic_decoder.h:60
bool set_frame_size(unsigned int frame_size)
Definition: polar_decoder_common.h:64
Include this header to use the message passing features.
Definition: logger.h:695
Class holds common methods and attributes for different decoder implementations.
Definition: polar_decoder_common.h:39
#define FEC_API
Definition: gr-fec/include/gnuradio/fec/api.h:30
double rate()
Definition: polar_decoder_common.h:61
unsigned char llr_bit_decision(const float llr) const
Definition: polar_decoder_common.h:74
POLAR code common operations and attributes.
Definition: polar_common.h:55