Water Filling Algorithm
Updated 17 Jun 2003
WFILL: The Water Filling algorithm.
WLINE = WFILL(VEC, PCON, TOL) performs the water filling algorithm with the given total power constrain to approach Shannon capacity of the channel.
The water filling algorithm is based on an interative procedure, so the tolerance must be assigned to determine the end-of-loop.
VEC is a noise absolute or relative level in LINEAR units at different frequencies, space or whatever bins. PCON is a total power constrain given in the same units as the VEC. TOL is an acceptable tolerance in the units of VEC. WLINE indicates the WATERLINE level in units of VEC so that:
The algorithm is built such a way that PCON>=SUM(MAX(WLINE-VEC, 0)) and never
VEC must be a row vector representing a noise level. PCON and TOL must be scalars in the same units as VEC.
Input: VEC=[1 3 5 4]
The function doesn't check the formats of VEC, PCON and TOL, as well as a number of the input and output parameters.
Author: G. Levin, May, 2003
T. M. Cover and J. A. Thomas, "Elements of Information Theory", John Wiley & Sons, Inc, 1991.
G. Levin (2023). Water Filling Algorithm (https://www.mathworks.com/matlabcentral/fileexchange/3592-water-filling-algorithm), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.