24#ifndef INCLUDED_FEC_POLAR_ENCODER_H
25#define INCLUDED_FEC_POLAR_ENCODER_H
67 std::vector<int> frozen_bit_positions,
68 std::vector<char> frozen_bit_values,
69 bool is_packed =
false);
74 double rate() {
return (1.0 * get_input_size() / get_output_size()); };
84 std::vector<int>& frozen_bit_positions,
85 std::vector<char>& frozen_bit_values,
90 void setup_frozen_bit_inserter();
93 unsigned char* d_frozen_bit_prototype;
95 void insert_packed_frozen_bits_and_reverse(
unsigned char* target,
96 const unsigned char* input)
const;
97 void insert_unpacked_bit_into_packed_array_at_position(
unsigned char* target,
98 const unsigned char bit,
100 void insert_packet_bit_into_packed_array_at_position(
unsigned char* target,
101 const unsigned char bit,
102 const int target_pos,
103 const int bit_pos)
const;
106 void encode_vector_packed(
unsigned char* target)
const;
107 void encode_vector_packed_subbyte(
unsigned char* target)
const;
108 void encode_packed_byte(
unsigned char* target)
const;
109 void encode_vector_packed_interbyte(
unsigned char* target)
const;
POLAR code common operations and attributes.
Definition polar_common.h:59
POLAR encoder for basic details see 'polar_common' class.
Definition polar_encoder.h:45
bool set_frame_size(unsigned int frame_size)
Definition polar_encoder.h:77
const char * get_input_conversion()
Definition polar_encoder.h:78
int get_output_size()
Definition polar_encoder.h:76
const char * get_output_conversion()
Definition polar_encoder.h:79
void generic_work(void *in_buffer, void *out_buffer)
double rate()
Definition polar_encoder.h:74
static generic_encoder::sptr make(int block_size, int num_info_bits, std::vector< int > frozen_bit_positions, std::vector< char > frozen_bit_values, bool is_packed=false)
int get_input_size()
Definition polar_encoder.h:75
Definition generic_encoder.h:35
boost::shared_ptr< generic_encoder > sptr
Definition generic_encoder.h:49
#define FEC_API
Definition gr-fec/include/gnuradio/fec/api.h:30
GNU Radio logging wrapper for log4cpp library (C++ port of log4j)
Definition basic_block.h:46