Miscellaneous Communications Functions
Communications Module

## 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

subject to

Parameters

  alpha | vector of gains (must have strictly positive elements)
  P | power constraint

Returns
  vector of power allocations

The computational complexity of the method is 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_sigma2A | variance 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