IT++ Logo

Miscellaneous Communications Functions
[Communications Module]


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.


Function Documentation

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 itpp::ones_b(), itpp::reverse(), itpp::to_bmat(), and itpp::zeros_b().

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

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:
alpha vector of $\alpha_0,...,\alpha_{n-1}$ gains (must have strictly positive elements)
P power 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 81 of file commfunc.cpp.

References it_assert, and itpp::length().

SourceForge Logo

Generated on Sun Dec 9 17:31:08 2007 for IT++ by Doxygen 1.5.4