Author: phy-东西
Reviewer: 时光
Problem Statement
The water-filling theorem solves a fundamental problem in information theory: how to allocate power among AWGN channels so as to maximize total capacity. Suppose there are K parallel AWGN channels with mutually independent noise powers σ12,σ22,⋅⋅⋅,σK2. Given a total power constraint P, find the allocation that maximizes the combined capacity of the K channels.
Written as an optimization problem:
s.t.p1,…,pKmaxk=1∑Klog2(1+σk2pk)k=1∑Kpk≤Ppk≥0, k=1,2,…,K(1.1)
An Intuitive Proof
This section gives a derivation that is comparatively easy to understand.
It may seem sufficient to assign all available power to the best channel—the one with the least noise. But channel capacity is Ck=log2(1+pk/σk2), whose rate of increase falls as power rises. This suggests that each new increment of power should go to whichever channel currently offers the greatest increase in capacity.
Assume an initial allocation p1(0),p2(0),…,pK(0) satisfying:
k=1∑Kpk(0)<P, pk(0)≥0, k=1,2,…,K
Clearly, p1(0)=p2(0)=⋯=pK(0)=0 is a valid initialization. Let a positive quantity (P−∑k=1Kpk(0))≥δ>0 represent the next increment of power to allocate. If the amount δ is assigned to channel k, its capacity increases by:
ΔC=log2(1+σk2pk(0)+δ)−log2(1+σk2pk(0))=log2(1+pk(0)+σk2δ)(2.1)
The power should plainly go to the channel with the smallest pk(0)+σk2. If δ is made arbitrarily small at every step, then once all the power has been allocated, the active channels will share a constant value of σk2+pk. The poorer channels, whose noise power σk2 exceeds that constant, receive no power. Thus:
pk=max{0,p∗−σk2}(2.2)
Here p⋆ is chosen so that ∑k=1Kpk=P.
For any allocation in which pi+σi2>pj+σj2, set δ=min{pi,(pi+σi2−pj−σj2)/2}. Starting from pi(0)=pi−δ,pj(0)=pj, our earlier argument shows that assigning δ to channel j yields more capacity than assigning it to channel i. After reallocation, either pi+σi2=pj+σj2 or pi=0; in the latter case, σi2≥pj+σj2.
A Rigorous Proof
Rewrite (1.1) as:
s.t.p1,…,pKmin−k=1∑Kln(1+σk2pk)k=1∑Kpk−P≤0−pk≤0, k=1,2,…,K(3.1)
−ln(⋅) is convex, so the objective function is convex. It is likewise straightforward to show that the feasible region (p1,p2,…,pK)∈P is convex. The problem is therefore a convex optimization problem, with Lagrangian:
L(p1,p2,…,pK;λ0,λ1,…,λK)=−k=1∑Kln(1+σk2pk)+λ0(k=1∑Kpk−P)−k=1∑Kλkpk(3.2)
Its KKT conditions are:
∂pk∂L=−σk2+pk1+λ0−λk=0, k=1,2,…,K(3.3a)
λk≥0, k=0,1,2,…,K(3.3b)
k=1∑Kpk≤P(3.3c)
λ0(k=1∑Kpk−P)=0(3.3d)
pk≥0, k=1,2,…,K(3.3e)
λkpk=0, k=1,2,…,K(3.3f)
Equation (3.3a) can be rewritten as:
λk=λ0−σk2+pk1pk=λ0−λk1−σk2(3.4)
If ∑k=1Kpk<P, then λ0=0,λk=−1/(σk2+pk)<0, contradicting (3.3b). Therefore ∑k=1Kpk=P. Because each pk is nonnegative, they cannot all be zero.
Without loss of generality, suppose σ12≤σ22≤⋯≤σK2. Because the pk cannot all vanish, at least one pk is positive, and its corresponding λk is zero. For channels with pk>0,λk=0:
pk=λ0−λk1−σk2=λ01−σk2(3.5)
If λk>0, then pk=0, and:
λk=λ0−σk2+pk1=λ0−σk21(3.6)
Because σk2 increases monotonically:
λK≥λK−1≥⋯≥λk>0, pK=pK−1=⋯=pk=0(3.7)
This is precisely the result described above. For good channels (λk=0), the allocated powers pk satisfy pk+σk2=1/λ0, a constant. Poor channels receive no power (λk>0; note that (3.7) shows that if a channel with noise power σk is poor, then every channel with still greater noise power is poor as well). Allocation continues in this fashion until all power has been assigned. The quantity 1/λ0 is the p⋆ used above.
Water-Filling for Continuous Parallel Channels
For colored noise σ2(f) in a transform domain such as the frequency domain, the water-filling problem can be written:
s.t.p(f)min−∫flfhlog2(1+σ2(f)p(f))df∫flfhp(f)df≤Pp(f)≥0, fl≤f≤fh(4.1)
Construct the Lagrangian functional:
=L[p(f),λ0,λ1(f)]−∫flfhln(1+σ2(f)p(f))df+λ0(∫flfhp(f)df)−λ1(f)p(f)(4.2)
Its KKT conditions are:
δL=∫flfh(λ0−σ2(f)+p(f)1)δp(f)df−λ1(f)δp(f)=0, ∀δp(f)(4.3a)
∫flfhp(f)df≤P(4.3b)
λ0≥0,λ1(f)≥0, fl≤f≤fh(4.3c)
λ0(∫flfhp(f)df−P)=0(4.3d)
p(f)≥0, fl≤f≤fh(4.3e)
λ1(f)p(f)=0, fl≤f≤fh(4.3f)
Here δp(f) is the variation of p(f).
When λ1(f)>0—analogous to a “poor channel” above—p(f)≡0, and hence δp(f)=0. Conversely, when p(f)>0, λ1(f)≡0, analogous to a “good channel,” and p(f)=λ1−σ2(f). Therefore:
p(f)=max{0,p∗−σ2(f)}(4.4)
where p⋆ satisfies:
∫flfhp(f)df=P(4.5)
Why is this called “water-filling”? Imagine σ2(f) as the bottom of a bowl and the power as water poured into it. Wherever power is assigned, the combined noise and signal power reaches the same flat “water level.” Noise that rises above the waterline marks a channel too poor to receive any power.
