Author: phy-东西
Reviewer: 时光
Problem Statement
The water-filling theorem solves a fundamental problem in information theory: how should power be allocated across AWGN channels to maximize their total capacity? Suppose there are K parallel AWGN channels with mutually independent noise processes and noise powers σ12,σ22,⋅⋅⋅,σK2. Given a total power budget P, we seek the allocation that maximizes the combined capacity of the K channels.
As an optimization problem, this becomes:
s.t.p1,…,pKmaxk=1∑Klog2(1+σk2pk)k=1∑Kpk≤Ppk≥0, k=1,2,…,K(1.1)
An Intuitive Proof
We begin with a relatively intuitive derivation.
At first, it may seem best to assign all available power to the channel with the least noise. But a channel’s capacity is Ck=log2(1+pk/σk2), so the marginal gain in capacity decreases as its allocated power increases. Each additional increment of power should therefore go to the channel that currently provides the largest marginal gain.
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 starting point. Let a positive quantity (P−∑k=1Kpk(0))≥δ>0 be the next increment of power to allocate. Assigning δ to channel k increases its capacity by:
ΔC=log2(1+σk2pk(0)+δ)−log2(1+σk2pk(0))=log2(1+pk(0)+σk2δ)(2.1)
The increment should plainly go to the channel with the smallest pk(0)+σk2. If δ is made arbitrarily small at each step, then once all the power has been allocated, every active channel will have the same value of σk2+pk. Channels whose noise power σk2 exceeds this level receive no power. Thus:
pk=max{0,p∗−σk2}(2.2)
Here p⋆ is chosen so that ∑k=1Kpk=P.
Consider any allocation for which pi+σi2>pj+σj2, and set δ=min{pi,(pi+σi2−pj−σj2)/2}. Beginning with pi(0)=pi−δ,pj(0)=pj, the argument above shows that assigning δ to channel j produces more capacity than assigning it to channel i. After this 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)
Because −ln(⋅) is convex, the objective function is convex. The feasible region (p1,p2,…,pK)∈P is also readily shown to be convex. This is therefore a convex optimization problem, whose Lagrangian is:
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 exactly the result obtained above. For active channels (λk=0), the allocated powers pk satisfy pk+σk2=1/λ0, a constant. Inactive channels receive no power (λk>0; equation (3.7) shows that if a channel with noise power σk is inactive, every channel with still greater noise power is inactive as well). Power is allocated in this way until the entire budget has been used. The quantity 1/λ0 is the p⋆ introduced 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, corresponding to an inactive channel above, p(f)≡0, and hence δp(f)=0. Conversely, when p(f)>0, λ1(f)≡0, corresponding to an active 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”? Picture σ2(f) as the bottom of a bowl and the available power as water poured into it. Wherever power is allocated, the sum of the noise and signal power rises to the same flat “water level.” Any noise floor above that level represents a channel that receives no power.
