In this project, the Blahut algorithm for estimating capacity-expense function is implemented using C programming language. The algorithm is implemented in an object-oriented fashion and is easy to use. The vector and matrix manipulation is based on the GNU Scientific Library. The algorithm is provided as a programming library so that it can be easily integrated in any other applications. The source code can be found on http://code.google.com/p/blahut/.
Figure 1,2 show the algorithm for estimating the unconstrained capacity and the constrained capacity. They were originally published in R.E.Blahut's paper Computation of Channel Capacity and Rate-Distortion Functions in 1972.
The rest of the report is organized as following. Section 2 gives three examples to validate the implementation of the algorithm. Section 3 illustrate how to install and use the library. Section 4 gives part of the library source codes that implement the Blahut algorithm.
Kefei Lu 2008-05-15