Water-pouring algorithm

The water-pouring algorithm is a technique used in digital communications systems for allocating power among different channels in multicarrier schemes.

It was described by R. C. Gallager in 1968[1] along with the water-pouring theorem which proves its optimality for channels having Additive White Gaussian Noise (AWGN) and intersymbol interference (ISI).

For this reason, it is a standard baseline algorithm for various digital communications systems.

[2] The intuition that gives the algorithm its name is to think of the communication medium as if it was some kind of water container with an uneven bottom.

Note, however, that the ratio allocation to each channel is not a fixed proportion but varies nonlinearly with the maximum average transmit power.