88 const ivec &interleaver_sequence,
int in_iterations = 8,
89 std::string in_metric =
"LOGMAX",
double in_logmax_scale_factor = 1.0,
112 void set_metric(std::string in_metric =
"LOGMAX",
double in_logmax_scale_factor = 1.0,
179 void encode(
const bvec &input, bvec &output);
192 virtual void decode(
const vec &received_signal, bvec &decoded_bits,
const bvec &true_bits =
"0");
206 virtual void decode(
const vec &received_signal, bvec &decoded_bits, ivec &nrof_used_iterations,
207 const bvec &true_bits =
"0");
256 virtual void decode_block(
const vec &rec_syst1,
const vec &rec_syst2,
const mat &rec_parity1,
const mat &rec_parity2,
257 bmat &decoded_bits_i,
int &nrof_used_iterations_i,
const bvec &true_bits =
"0");
270 void decode_n3(
const vec &received_signal, bvec &decoded_bits, ivec &nrof_used_iterations,
271 const bvec &true_bits =
"0");
274 int interleaver_size;
275 int Ncoded, Nuncoded;
276 int m_tail, n1, n2, n_tot, iterations;
277 double Ec, N0, Lc, R, logmax_scale_factor;
282 bvec decoded_bits_previous_iteration;
298 #endif // #ifndef TURBO_H