34#include <itpp/itexports.h>
69 BCH(
int in_n,
int in_k,
int in_t,
const ivec &genpolynom,
bool sys =
false);
82 BCH(
int in_n,
int in_t,
bool sys =
false);
88 virtual void encode(
const bvec &uncoded_bits, bvec &coded_bits);
90 virtual bvec encode(
const bvec &uncoded_bits);
103 virtual bool decode(
const bvec &coded_bits, bvec &decoded_message, bvec &cw_isvalid);
106 virtual void decode(
const bvec &coded_bits, bvec &decoded_bits);
109 virtual bvec decode(
const bvec &coded_bits);
112 virtual void decode(
const vec &received_signal, bvec &output);
113 virtual bvec decode(
const vec &received_signal);
117 return static_cast<double>(k) / n;
133 const bool systematic;
Channel Code class virtual interface.
virtual int get_k() const
Get cardinality of code k.
virtual double get_rate() const
Get the code rate.
BCH(int in_n, int in_k, int in_t, const ivec &genpolynom, bool sys=false)
Initialize a (n,k)-code that can correct t errors.
virtual ~BCH()
Destructor.
Channel_Code()
Default constructor.
Polynomials over GF(q)[x], where q=2^m, m=1,...,16.
Definitions of Galois Field algebra classes and functions.