24 #ifndef INCLUDED_FEC_POLAR_DECODER_COMMON_H 25 #define INCLUDED_FEC_POLAR_DECODER_COMMON_H 57 std::vector<int> frozen_bit_positions,
58 std::vector<char> frozen_bit_values);
62 double rate() {
return (1.0 * get_output_size() / get_input_size()); };
68 static const float D_LLR_FACTOR;
69 unsigned int d_frozen_bit_counter;
73 float llr_odd(
const float la,
const float lb)
const;
74 float llr_even(
const float la,
const float lb,
const unsigned char f)
const;
77 return (llr < 0.0f) ? 1 : 0;
81 const bool is_frozen_bit(
const int u_num)
const;
82 const unsigned char next_frozen_bit();
85 void initialize_decoder(
unsigned char* u,
float* llrs,
const float* input);
89 float* llrs,
unsigned char* u,
const int stage,
const int u_num,
const int row);
91 float* llrs,
unsigned char* u,
const int stage,
const int u_num,
const int row);
92 void butterfly_generic(
93 float* llrs,
unsigned char* u,
const int stage,
const int u_num,
const int row);
94 void even_u_values(
unsigned char* u_even,
const unsigned char* u,
const int u_num);
96 odd_xor_even_values(
unsigned char* u_xor,
const unsigned char* u,
const int u_num);
97 void extract_info_bits(
unsigned char* output,
const unsigned char* input)
const;
100 void print_pretty_llr_vector(
const float* llr_vec)
const;
unsigned char llr_bit_decision(const float llr) const
Definition: polar_decoder_common.h:75
int get_input_size()
Definition: polar_decoder_common.h:63
int get_output_size()
Definition: polar_decoder_common.h:64
Parent class for FECAPI objects.
Definition: generic_decoder.h:60
bool set_frame_size(unsigned int frame_size)
Definition: polar_decoder_common.h:65
GNU Radio logging wrapper for log4cpp library (C++ port of log4j)
Definition: basic_block.h:43
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:62
POLAR code common operations and attributes.
Definition: polar_common.h:58