You are on page 1of 5

An Efficient Waterfilling Algorithm for Multiple Access OFDM

Gerhard Münz, Stephan Pfletschinger, Joachim Speidel


Institute of Telecommunications, University of Stuttgart
Pfaffenwaldring 47, D-70569 Stuttgart, Germany

Abstract – In this paper we present a novel and This is intuitively clear, as CDMA and TDMA do not make
computationally efficient waterfilling algorithm for multiuser much use of channel state information (CSI) and are not
OFDM. This algorithm is based on the multiuser waterfilling adapted to a specific channel but are mostly used in systems
theorem and determines the subcarrier allocation for a multiple where no CSI is available. Although adaptive bitloading only
access OFDM system. This approach maximizes the total bitrate
works perfect for time-invariant channels, it will offer benefits
under the constraints of user-individual power budgets. Once the
for slowly time-varying channels, too – especially when high
subcarrier allocation has been established, the bit and power
allocation for each user can be determined with a single-user spectral efficiency is demanded and fast channel estimation is
bitloading algorithm, for which several implementations can be available.
found in the literature. The presented iterative algorithm For single-user OFDM, a bitloading algorithm determines
performs well, also with a high number of subchannels. for each subcarrier the power and the number of bits per QAM
symbol. For OFDMA, first the subcarrier allocation algorithm
assigns the subcarriers to the users, then a bitloading algorithm
I. INTRODUCTION determines the power and number of bits on each subcarrier.
Thus, for the second step the same algorithms as for single-
Recently, there has been a growing interest in broadband user OFDM can be employed. As these algorithms have
multiple access systems like wireless local area networks, reached a state of maturity and several implementations can be
cellular mobile communication systems and bidirectional found in the literature [2], we do not consider single-user
hybrid fiber coax (HFC) networks. Owing to their capability to bitloading in this paper. Instead, we concentrate on the
combat multipath fading and frequency-selective interference, subcarrier allocation based on the multiuser waterfilling
multicarrier systems have found their way into many wireless theorem. This maximizes the total bitrate under the constraint
and wireline applications such as DAB, DVB-T, HiperLAN/2, of a maximum transmit power per user. An algorithm which
ADSL and they are discussed for future use in 4G mobile computes the power spectral density for each user has been
communication. presented recently [4]. Other approaches minimize e.g. the
The theoretical solution for achieving the channel capacity total transmit power while guaranteeing a minimum bitrate for
for spectrally-shaped channels with Gaussian noise has been each user [5].
found quite some time ago [1] and in the last decade several
practical implementations have been presented (see [2] and the
references therein). For multiple access channels, the II. SYSTEM MODEL
information theoretical foundations have been laid by Cheng
and Verdú [3], who studied the capacity regions for multiple We consider a multiple access OFDM system where the
access channels and found a generalization of the single-user channel is known to transmitter and receiver. This is usually
waterfilling theorem. the case for a bidirectional transmission system where CSI is
In this paper, we consider an algorithm which applies the available at the receiver side after channel estimation and a
multiuser waterfilling theorem to orthogonal frequency signalling channel can be used to pass the CSI to the
division multiple access (OFDMA) systems. A typical transmitter. We assume a linear time-invariant channel with
example for a multicarrier multiple access system is the uplink intersymbol interference (ISI) and additive Gaussian noise.
in a wireless LAN or in a mobile communication system, but Provided that the length of the cyclic prefix is chosen longer
the same technique can be applied to wireline systems such as than the longest impulse response, the channel can be
the upstream in a bidirectional HFC network. In such decomposed into N independent flat subchannels with channel
environments, each user has its own transfer function and gain coefficients H u, n for user u and subchannel n, as
transmit power constraint. If the channel is known to the illustrated in Fig. 1. The noise sequences r n [ k ] are assumed to
transmitter and the receiver, it can be shown that OFDMA with be independent, white Gaussian with zero mean and variances
σ n = E [ r n [ k ] ] , where E [ ⋅ ] denotes the expectation
2 2
adaptive subcarrier allocation and adaptive modulation is
superior to other multiuser techniques like TDMA or CDMA. operator. Note, as the variances are not necessarily identical,

IEEE Global Telecommunications Conference 2002 (Globecom ’02), Taipei, Taiwan, Nov. 2002.
H1,1
In this equation, we already incorporated the SNR gap [6],
x1,1[k] which accounts for the desired symbol error ratio (SER),
user 1

assuming QAM modulation. For the classical waterfilling



H1,N r1[k]
x1,N[k] theorem which maximizes the channel capacity, Γ = 1 has to
y1[k]
be chosen.


rN[k]


Then, according to the waterfilling theorem, the power on
HU,1 yN[k] subchannel n is given by
xU,1[k]
user U

HU,N
–1 +  x for x > 0
E n = [ c 0 – T n ] , where [ x ] = 
+
xU,N[k] (4)
 0 else
Fig. 1. Channel model for multiuser OFDM. and the "water level" c 0 must be chosen such that
N
the assumed noise on the broadband channel is not restricted to
be white. The input sequences x u, n [ k ] are QAM-modulated
E tot = ∑ En . (5)
n=1
symbols with mean energy per symbol1
Eq. (4), (5) can be visualized with the waterfilling diagram
E u, n = E [ x u, n [ k ] ] and b u, n bits per symbol, with
2
shown in Fig. 2(a).
b u, n ∈ B = { 0, 1, …, b max } .
B. Multiuser Waterfilling
According to [6], the necessary symbol energy in order to
transmit b bits with symbol error probability PS,u is given by In the multiple access channel shown in Fig. 1, the received
symbol sequence on subchannel n is given by
Γu ⋅ σn
2
b
E u, n = ----------------2- ⋅ ( 2 – 1 ) (1) U
H u, n yn [ k ] = ∑ H u, n ⋅ xu, n [ k ] + r n [ k ] (6)
u=1
where Γ u is the SNR gap defined by
and the CNRs are defined by
– 1 P S, u
2
Γ u = --- ⋅ Q  -----------
1
, Γu ≥ 1 (2) 2
3  4  H u, n
T u, n = ----------------
- . (7)
Γu ⋅ σn
–1 2
and Q ( ⋅ ) is the inverse Q-function. A coding gain can be
considered in Γ u , thus allowing different users to employ
The generalization of the waterfilling theorem involves the
different coding schemes [6].
idea of an equivalent channel Ĥ u, n = H u, n ⁄ b u , which
Solving (1) for b and setting Γ u = 1 gives Shannon’s
leads to the adoption of the equivalent transmit power
famous formula for the channel capacity. Thus, the SNR gap
Ê u, n = b u ⋅ E u, n . This approach makes it possible to combine
Γ u can be interpreted as a link between the information
theoretic channel capacity and the bitrate which is achievable
with (coded) QAM modulation. Setting Γ u according to (2) is -1
Tn
hence the first step of applying the waterfilling theorem to c0
multicarrier systems with QAM modulation.
Before delving into the details of the multiuser waterfilling
Etot
theorem, we revisit the basics of the single-user case.

0 N n
A. Single-user Waterfilling (a)
With regard to the waterfilling theorem, the channel is
completely characterized by its channel gain to noise ratio -1
b2T2,n
-1 -1
b3T3,n b2Etot(2) b1T1,n
(CNR), defined as 1
2 b3Etot(3)
Hn
Tn - , n = 1, …, N .
= ------------- (3)
Γ ⋅ σn
2
b1Etot(1)
0 (b) N n

Fig. 2. (a) Single-user waterfilling diagram, (b) Multiuser waterfilling


1. Note that this corresponds to the average transmit power of
diagram.
user u on subcarrier n.
the waterfilling diagrams of different users: for each user, the b = 1 , A = g(b, T)
multiplier b u is chosen such that the water level is unity. Then, repeat
the individual diagrams can be combined to one as shown in A old = A
Fig. 2(b). for u = 1,…,U
–1 +
The power constraint of user u is denoted by Emax(u): ∆ Ê = ∑n = 1 a u, n [ 1 – b u T u, n ] – b u E max ( u )
N

N if ∆ Ê ≠ 0 then

∑ E u, n ≤ E max ( u )
–1
E tot ( u ) = . (8) b̂ n = T u, n ⋅ min l ≠ u { b l T l, n } , ∀n = 1, …, N
n=1 repeat
b old = b u
In the multiuser waterfilling diagram, the CNR curves of all
if ∆ Ê > 0 then
users are combined to one curve by choosing the minimum.
b u = min { b̂ n b̂ n > b old } // next bigger b̂ n
The equivalent energies are thus given by
n 1 = arg min { b̂ n b̂ n > b old }
 [ 1 – b u T –u,1n ]
+ –1 –1 a u, n1 = 0
for b u T u, n ≤ b l T l, n ∀l ≠ u
Ê u, n =  (9) else if
 0 otherwise b u = max { b̂ n b̂ n < b old } // next smaller b̂ n
if max { b̂ n b̂ n < b old } = { } then
with
b u = ( 1 – ε )b old
N else if
∑ Ê u, n ≤ bu ⋅ E max ( u ) , ∀u = 1, …, U . (10) n 1 = arg max { b̂ n b̂ n < b old }
n=1 a u, n1 = 1
Inserting (9) into (10) gives a system with U equations for the end if
U multipliers b 1, …, b U . If this system is solved for the b u , end if
the energy allocation is given by (9) and the subchannel ∆ Ê old = ∆ Ê
–1 +
∆ Ê = ∑n = 1 a u, n [ 1 – b u T u, n ] – b u E max ( u )
N
allocation can be derived easily. Unfortunately, the equation
system is highly nonlinear and standard algorithms, which until sgn ( ∆ Ê old ) ≠ sgn ( ∆ Ê )
have been applied to this system, have not produced satisfying b u = ( b old ∆ Ê – b u ∆ Ê old ) ⁄ ( ∆ Ê – ∆ Ê old )
results. In the next section we will derive an iterative algorithm A = g(b, T)
which yields a good approximation of the solution. end if
Note, that for the case that a total power constraint is given end
instead of user-individual power constraints, the subcarrier until A = Aold
allocation becomes a trivial task: for each subchannel the user
with the highest CNR T u, n is chosen. Fig. 3. Algorithm for multiuser waterfilling.

a u, n = 0 otherwise. This matrix can be derived easily out of


III. MULTIUSER WATERFILLING ALGORITHM the values of b = ( b 1, …, b U ) and T = ( T u, ν ) :
A. Implementation  1 for b u T –u,1n ≤ b l T –l,1n ∀l ≠ u
A = g ( b, T ) =  . (12)
We observe from (9): the equivalent transmit power  0 otherwise
Ê tot ( u ) = ∑n = 1 Ê u, n increases for falling b u . At the same
N

time, the equivalent power budget Ê max ( u ) = b u ⋅ E max ( u ) At the beginning, the algorithm assigns arbitrary values to
decreases. For the values the multipliers b 1, …, b U . Then these values are varied for
–1 each user until
b u = b̂ n = T u, n ⋅ min { b l T l, n } , n = 1, …, N (11)
l≠u
∆Ê = ( ∑n = 1 Ê u, n ) – b u E max ( u ) ≈ 0 .
N
(13)
the equivalent transmit power Ê tot ( u ) has a saltus, because an
additional subcarrier is assigned to user u for falling b u or a For ∆Ê > 0 the energy assigned to user u is too big and
subcarrier is taken away for raising b u . In the proposed consequently b u must be increased and a subcarrier is taken
algorithm, the multipliers b u are varied until (10) is fulfilled away from user u. For ∆Ê < 0 , b u must be lowered and
for all users with (almost) equality. This approach can be eventually an additional subcarrier is assigned to user u. In
regarded as a generalization of the two-user algorithm order to accelerate this process, the saltuses b̂ n are calculated
presented by Diggavi [7]. according to (11) and depending on the sign of ∆Ê , the next
We define the subcarrier allocation matrix A = ( a u, n ) bigger or the next smaller value out of the set { b̂ 1, …, b̂ N } is
with a u, n = 1 if user u is active on subcarrier n, and assigned to b u . It may happen that there is no smaller value for
b u in the set. In this case, the multiplier b u is decreased by a -6 dB
small amount without assigning a new subcarrier. If ∆Ê > 0 ,
the value of b u is increased stepwise until a sign change in ∆Ê
is encountered. Note that this implicitly fulfills the -8 dB
condition (13). For ∆Ê < 0 , the same applies accordingly. The

H u, n
optimal value for b u lies between the two last values and is
approximated linearly with -10 dB

(new) b old ∆Ê – b u ∆Ê old


bu = ------------------------------------------
- . (14)
∆Ê – ∆Ê old -12 dB user 1
user 2
Then, with the new values of b the subcarrier allocation matrix user 3
user 4
A is determined and the algorithm continues with the next user. -14 dB
This procedure is repeated until the allocation matrix is stable. 0 5 10 15 20 25 30 35
carrier n

B. Channel Capacity Fig. 4. Transfer functions for four users.


The multiuser waterfilling algorithm determines the
multipliers b and the subcarrier allocation matrix A. Thus, the
symbol energies can be calculated as The operation of the algorithm can be visualized easily by
using the multipliers b u which are produced as a by-product.
a u, n –1 +
E u, n = --------- ⋅ [ 1 – b u T u, n ] (15) The equivalent symbol energy per subchannel at the
bu transmitter side is given by
and the signal power at the receiver is U

∑ au, n ⋅ [ 1 – bu T u, n ]
–1 +
U Ê tx ( n ) = . (19)
E rx ( n ) = ∑ E u, n H u, n
2 u=1
. (16)
u=1 These values are added in the waterfilling diagram in Fig. 6 to
–1
Thus, the channel capacity for the multiple access channel is the minimum equivalent inverse CNR b u T u, n and the sum
N represents the water level which adds up to one for all
 E rx ( n )
C = ∑ log2  1 + ---------------
-

. (17) subcarriers.
σn
2
n=1 The SNR gap for this simulation was chosen Γ u = 2 ,
–4
which corresponds to a SER of P S = 2 ⋅ 10 and a coding
gain of 4 dB.
The channel capacity of this multiple access channel was
IV. SIMULATION RESULTS
evaluated according to (17) as C = 161 bit per OFDM symbol
The channel transfer functions for four users were generated and the total achieved bitrate (which corresponds to the sum of
assuming a wireless channel as described in [8] and are
depicted in Fig. 4. White noise was assumed, i.e.
σ 2n = N 0 ∀n ; thus the CNRs are just the inverse of the squared
magnitude response. For these CNRs and a power budget1 of 6

15 dB per user the proposed algorithm was executed. This 5.5


algorithm produces the subcarrier allocation matrix A which is
bits per symbol

subsequently input to a single-user bitloading algorithm which 5


assigns the appropriate bit and power to each subchannel user
4.5
by user. For this task, an algorithm which approximates the
single-user waterfilling theorem [9] was applied, which yields 4
the bit allocation as shown in Fig. 5. Note that this already
user 1
fixes the transmit power through (1) and (7) as 3.5 user 2
user 3
–1 b u, n
E u, n = T u, n ( 2 – 1) . (18) 3 user 4
0 5 10 15 20 25 30
carrier n
1. All powers are normalized to the total noise power Fig. 5. Resulting bit allocation after subcarrier and bit allocation.
P N = ∑n = 1 σ n
N 2
V. CONCLUSION
user 1
user 2
user 3 We have presented in detail an efficient algorithm for
user 4 subcarrier allocation in multiple access OFDM systems. The
b u T u, n

1
–1

proposed algorithm is based on the multiuser waterfilling


theorem of information theory, and it maximizes the total
0.8 user 2 user 1 user 4 user 3 bitrate under the constraint of a maximum transmit power for
each user. We have described how this subcarrier allocation
0.6 algorithm can be combined with existing solutions for single-
user bitloading and have presented simulation results for
0.4 wireless multiple access channels. A great advantage of the
proposed algorithm is its low complexity which is proportional
0.2 to N compared to N log N of existing solutions, where N is the
number of OFDM subcarriers.
0
0 5 10 15 20 25 30 REFERENCES
carrier n
[1] R. G. Gallager, Information Theory and Reliable Communications. New
Fig. 6. Waterfilling diagram for N = 32 subcarriers and U = 4 users.
–1 York: Wiley, 1968.
The bottom line of the diagram is given by min u { b u T u, n } . Onto this
[2] R. V. Sonalkar, "An efficient bit-loading algorithm for DMT
line the symbol energy Ê tx ( n ) according to (19) is added.
applications," IEEE Comm. Letters, vol. 4, no. 3, pp. 80-82, March 2000.
[3] R. S. Cheng, S. Verdú, "Gaussian multiaccess channels with ISI: capacity
the bits per subchannel shown in Fig. 5) was 130 bit per region and multiuser water-filling," IEEE Trans. Information
Technology, vol. 39, no. 3, May 1993.
OFDM symbol. The discrepancy between channel capacity [4] C. Zeng, L. M. C. Hoo, J. M. Cioffi, "Efficient water-filling algorithms
and bitrate depends heavily on the SNR gap – only for the for a Gaussian multiaccess channel with ISI," VTC Fall 2000, Boston,
impractical value Γ u = 1 the difference approaches zero. Sept. 2000.
The presented algorithm was tested with a great number of [5] C. Y. Wong, R. S. Cheng, K. B. Letaief, R. D. Murch, "Multiuser OFDM
different CNRs, different numbers of users and subchannels. with adaptive subcarrier, bit, and power allocation," IEEE JSAC, vol. 17,
no. 10, pp. 1747-1757, Oct. 1999.
The low number of subcarriers and users in the example shown [6] J. M. Cioffi, "A multicarrier primer," ANSI T1E1.4 Committee
in Fig. 6 was chosen for illustrative purposes. The Contribution, Nov. 1991.
computational complexity depends approximately linearly on [7] S. N. Diggavi, "Multiuser DMT: a multiple access modulation scheme,"
the number of subcarriers, making this algorithm well suited Globecom ’96, London, Nov. 1996.
for multicarrier systems with a high number of carriers. The [8] P. Höher, "A statistical discrete-time model for the WSSUS multipath
channel," IEEE Trans. Vehicular Tech., vol. 41, no. 4, Nov. 1992.
algorithm presented in [4] is reported to have a complexity [9] D. Hughes-Hartoges, "Ensemble modem structure for imperfect
which is proportional to N log N . transmission media," U.S. Patent 4,679,227, July 1987.

You might also like