34 #include <itpp/itexports.h> 65 _gaussian_fct = Gaussian_Fct(in_sigma2A);
66 return 1.0-
itpp::quad(_gaussian_fct, -lim, lim);
75 double sigma2A = _gaussian_fct.sigma();
82 double extrinsic_mutual_info(
const itpp::vec &obs,
83 const itpp::bvec &cond,
87 class ITPP_EXPORT Gaussian_Fct
91 Gaussian_Fct(): _sigma(0.0){}
92 Gaussian_Fct(
double sigma): _sigma(sigma){}
93 double sigma()
const {
return _sigma;}
94 double operator()(
double x)
const;
96 Gaussian_Fct _gaussian_fct;
double randn(void)
Generates a random Gaussian (0,1) variable.
itpp::vec generate_apriori_info(const itpp::bvec &bits)
Generates a priori information assuming a Gaussian distribution of the a priori information.
double quad(Ftn f, double a, double b, double tol=std::numeric_limits< double >::epsilon())
BPSK modulator with real symbols.
void modulate_bits(const bvec &bits, vec &output) const
Modulate bits into BPSK symbols in complex domain.
EXtrinsic Information Transfer (EXIT) chart.
double apriori_mutual_info(const double &in_sigma2A, const double &lim=100)
Computes the a priori mutual information.
One- and two-dimensional modulators - header file.
Include file for the IT++ base module.
vec sqrt(const vec &x)
Square root of the elements.