commfunc.h File Reference

Definitions of some specific functions useful in communications. More...

#include <itpp/base/mat.h>
#include <itpp/base/vec.h>

Go to the source code of this file.

Functions

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.

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

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 \]

.


Detailed Description

Definitions of some specific functions useful in communications.

Author:
Tony Ottosson and Erik G. Larsson
-------------------------------------------------------------------------

Copyright (C) 1995-2008 (see AUTHORS file for a list of contributors)

This file is part of IT++ - a C++ library of mathematical, signal processing, speech processing, and communications classes and functions.

IT++ is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

IT++ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with IT++. If not, see <http://www.gnu.org/licenses/>.

-------------------------------------------------------------------------


Generated on Tue Jun 2 10:02:13 2009 for mixpp by  doxygen 1.5.8