IT++ Logo
Miscellaneous Communications Functions

Classes

class  itpp::Multilateration
 Multilateration class for 3D indoor localization More...

Functions

bmat itpp::graycode (int m)
 Generate Gray code of blocklength m.
int itpp::hamming_distance (const bvec &a, const bvec &b)
 Calculate the Hamming distance between a and b.
int itpp::weight (const bvec &a)
 Calculate the Hamming weight of a.
vec itpp::waterfilling (const vec &alpha, double P)
 Compute the water-filling solution.
double itpp::apriori_mutual_info (const double &in_sigma2A, const double &lim=100)
 EXtrinsic Information Transfer (EXIT) chart.

Detailed Description

Function Documentation

◆ graycode()

ITPP_EXPORT bmat itpp::graycode ( int m)

Generate Gray code of blocklength m.

The codes are contained as binary codewords {0,1} in the rows of the returned matrix. See also the gray() function in math/scalfunc.h.

Definition at line 39 of file commfunc.cpp.

References concat(), graycode(), ones_b(), reverse(), to_bmat(), and zeros_b().

Referenced by graycode(), itpp::ND_UPAM::set_M(), itpp::ND_UPSK::set_M(), itpp::ND_UQAM::set_M(), itpp::PAM::set_M(), itpp::PAM_c::set_M(), itpp::PSK::set_M(), and itpp::QAM::set_M().

◆ hamming_distance()

ITPP_EXPORT int itpp::hamming_distance ( const bvec & a,
const bvec & b )

Calculate the Hamming distance between a and b.

Definition at line 59 of file commfunc.cpp.

References it_assert_debug.

◆ weight()

ITPP_EXPORT int itpp::weight ( const bvec & a)

Calculate the Hamming weight of a.

Definition at line 71 of file commfunc.cpp.

Referenced by itpp::Extended_Golay::decode().

◆ waterfilling()

ITPP_EXPORT vec itpp::waterfilling ( const vec & alpha,
double P )

Compute the water-filling solution.

This function computes the solution of the water-filling problem

\‍[\max_{p_0,...,p_{n-1}} \sum_{i=0}^{n-1} \log\left(1+p_i\alpha_i\right)
\‍]

subject to

\‍[\sum_{i=0}^{n-1} p_i \le P
\‍]

Parameters
alphavector of $\alpha_0,...,\alpha_{n-1}$ gains (must have strictly positive elements)
Ppower constraint
Returns
vector of power allocations $p_0,...,p_{n-1}$

The computational complexity of the method is $O(n^2)$ at most

Definition at line 82 of file commfunc.cpp.

References it_assert, and length().

◆ apriori_mutual_info()

double itpp::apriori_mutual_info ( const double & in_sigma2A,
const double & lim = 100 )

EXtrinsic Information Transfer (EXIT) chart.

Computes the A priori Mutual Information assuming a Gaussian distribution of the a priori information and the Extrinsic Mutual Information between the emitted bits and their extrinsic information

Description:

  • the a priori mutual information is computed using relation (14)
  • the extrinsic mutual information is computed by estimating first the conditional Probability Density Functions (PDF), given the emitted bits, and then numerically integrating according to relation (19)

Reference: Stephan ten Brink, ''Convergence behavior of iteratively decoded parallel concatenated codes,`` IEEE Transactions on Communications, oct. 2001 */ class ITPP_EXPORT EXIT { public: ! Computes the a priori mutual information /*! It is assumed that the a priori information has a Gaussian distribution

Parameters
in_sigma2Avariance of the a priori information
lim[-lim,+lim] is the integration interval (theoretically it should be [-inf,+inf])

Definition at line 61 of file exit.h.

References apriori_mutual_info(), and quad().

Referenced by apriori_mutual_info().

Generated on for IT++ by Doxygen 1.15.0