You are on page 1of 26

Bit- and power-loading

EIT 140, tom<AT>eit.lth.se


Model of multicarrier system
2 I)
Z1 N (0, Z1
H1


X1


Y1

Includes
2 I)
Z2 N (0, Z2
IDFT
H2





CP extension
X2 channel
Y2






CP removal
.. DFT
.. .. For large N: parallel independent flat
2 I)
Z N N (0, ZN complex-valued subchannels
HN


XN 

YN


Spectral allocation of information and power

Straightforward transmission over subchannels yields a lousy performance


since the worst subchannel, i.e., the subchannel with the highest
probability of error, determines the performance of the whole system.
Single-carrier system: the information is spread over the occupied
bandwidth; equaliser at the receiver fishes out the portions with high
signal-to-noise ratio (SNR)
Multicarrier system: we have the opportunity to spectrally allocate power
and informationhowever, we must do it well in order to achieve good
performance on all subchannels by one or both of the following means:
ensure reliability of transmission through coding
adjust the amount of information transmitted over each subchannel
according to quality of the subchannels through bit-/power-loading
Single real-valued subchannel

Z N (0, Z2 )

X H Y

A single subchannel is memoryless, discrete-time, real-valued with a real-valued


scalar H and additive, real-valued, white, Gaussian noise (AWGN) of zero-mean
and variance Z2 :

Y = H X + Z, H real-valued, Z N (0, Z2 )
Capacity of real-valued subchannel

Differential entropy of the noise:


1
h (Z ) = h (Y |X ) = log(2eZ2 )
2
The channel input is a continuous random variable X , with finite power:
E(X 2 ) PX

The capacity of this channel is

C = max I (X ; Y )
fX (x ):E(X 2 )PX

= max {h(Y ) h(Y |X )} = max {h(Y )} h(Z )


fX (x ):E(X 2 )PX fX (x ):E(X 2 )PX
1 1
= log2 (2e (H 2 X2 + Z2 )) log2 (2eZ2 )
2 ! 2
2
H X 2
1
= log2 1 + bit per channel use
2 Z2
Capacity of real-valued subchannel, contd

Capacity-achieving input probability density function (PDF) is Gaussian


X N (0, X2 ) with X2 = PX
Output PDF, Y N (0, Y2 ), with Y2 = H 2 X2 + Z2 and Z2 = PZ
Ratio H 2 /Z2 is a property of the subchannel and determines its quality
Parallel channels
2 )
Z1 N (0, Z1

X1 H1 Y1 N real-valued, parallel, independent subchannels


(tot)
Goal: find the best distribution of PX over the N
Z2 2 )
N (0, Z2 subchannels such that the right-hand side of
!
1 N H 2 PXi
X2 H2 Y2 I (X1 X2 . . . XN ; Y1 Y2 . . .YN ) log2 1 + i
2 i =1 PZi

is maximised under the constraint


..
.. .. N
PXi
(tot)
ZN 2 )
N (0, ZN
PX
i =1

XN HN YN
Parallel channelswaterfilling solution

Constrained optimisation problem


!
1 N H 2 PXi N
= arg max log2 1 + i PXi
(opt) (tot)
PXi subject to PX
PXi 2 i =1 PZi i =1

for i = 1, 2, . . . , N is solved
!
N
PXi
(tot)
PX
i =1

where the real-valued is the so called Lagrange multiplier, which yields


! !
1 N Hi2 PXi N

2 i Xi
(tot)
log 2 1 + + P X P
=1 PZi i =1
Parallel channelswaterfilling solution, contd

Setting the partial derivatives with respect to PXi equal to 0 yields


    
N 
H2P (tot) N
21 log2 1 + Pi ZiXi + PX PXi
i =1 i =1
=0
PXi
Hi2 1
2
= 0
PZi + Hi PXi 2 ln (2)

Eventually, we obtain
PZi 1
PXi = , with =
Hi2 2 ln(2)

Since PXi 0 must hold, the optimum power allocation is given by


N
PZi P
max{ HZi2 , 0} = PX
(tot)
PXi = max{ , 0} with chosen such that
Hi2 i =1 i
Complex-valued subchannel
Subchannel model in complex-valued notation:
 
Re(Z )
Y = H X + Z, H complex-valued, N (0, Z2 I),
Im(Z )

Subchannel model in matrix notation (H = Aej , A 0):


      
Re(Y ) A cos A sin Re(X ) Re(Z )
= +
Im(Y ) A sin A cos Im(X) Im(Z)
| {z } | {z } | {z } | {z }
y H x n

Singular value decomposition of H yields


 
A 0
H = USV, where UUH = I, VVH = I, S =
0 A

Remember that S contains the non-negative square roots of the eigenvalues of


HHH , which is given by  2 
A 0
HHH = 2
0 A
Complex-valued subchannel, contd

Multiplying
| {z } x + n
y = USV (1)
H
with UH from the left, we obtain

UH y = S |{z}
Vx + U H
|{z}n, (2)
|{z}
y x n

n has the same mean vector and the same covariance matrix as n
x has the same mean vector and the same covariance matrix as x
(1) and (2) have the same capacity
(2) is just a set of 2 real-valued parallel channels waterfilling!
Complex-valued subchannel, contd

However, since
   
A 0 Re(Z )
S= , and N (0, Z2 I)
0 A Im(Z )

the two channels have identical subchannel SNR waterfilling simplifies to


equal distribution of available power
The capacity of a complex-valued subchannel is thus

| H | 2 PX
 
C = log2 1 + bit per channel use
PZ

For complex-valued subchannels, we perform waterfilling with |H i |


QAM-constellation implements equal power-distribution over the two
dimensions
Waterfilling solution: system of linear equations

Solving the waterfilling problem is equivalent to solving the following set of


N + 1 linear equations
PZ 1
PX 1 =
| H1 | 2
P
PX 2 = Z 22
| H2 |
..
.
P
PXN = ZN2
| HN |
(tot)
PX 1 + PX 2 + . . . + PXN =PX

under the constraint PXi 0, i = 1, . . . , N


Waterfilling solution: example
20
|H( f )|2

magnitude in dB
PZ ( f )
10 SNR( f )

10
0 1/2
normalised frequency f

|Hk |2
PZk
magnitude

0
1 2 N/2 + 1
subchannel index k

|H (f )|2 : squared magnitude response of channel


H (z ) = 1 + 0.8z 1 + z 2
PZ (f ): noise PSD (zero-mean, variance 0.2 per subchannel (N = 32))
SNR(f ) = |H (f )|2 /PZ (f ): resulting channel SNR
Waterfilling solution: example, contd
(tot) (tot)
Solution for PX = 1 (upper plot) and for PX = 4 (lower plot):
1/2
magnitude PXk

0
1 2 N/2 + 1
subchannel index k
1/2
PXk
magnitude

0
1 2 N/2 + 1
subchannel index k
Waterfilling algorithm: matrix-based implementation

Step 1: Set up a system of N + 1 equations.


Step 2: Solve the system of equations.
Step 3: In case all power values are non-negative, the problem is solved.
In case PXi < 0 for a set of indices i I = {i1 , . . . , iK }, set up
a new system of equations: start from the previous system,
PZi
omit the K equations PXi = |H 2 , i I and omit the
i|
power values PXi , i I in the last equation, i.e.,

PXi
(tot)
= PX ,
i
/I

which results in a new system of N + 1 K equations.


Proceed with Step 2.
Waterfilling algorithm: alternative implementation

Observation 1: The waterfilling level for K subchannels of an arbitrary set


I = {i1 , . . . , iK }, in case only these subchannels are used, is
given by
(tot) P PZi
PX + |HZi1|2 + . . . + |H K|2
i1 iK
=
K
Check it out: insert the K equations
PZij
PXij = j = 1, . . . , K
| H ij | 2

into
K
PXi
(tot)
k
= PX
k =1
|H |2
Observation 2: If a subchannel No. i with a certain subchannel SNR PZii is
not used because its subchannel SNR is too low, all
subchannels with lower SNR are omitted as well process
subchannels in sorted order
Waterfilling algorithm: alternative implementation

| H i1 | 2 |Hi2 |2 | H iN | 2
Step 1: Sort the subchannels such that PZi1 PZi2 ... PZiN ;
(tot)
set k = 0 and = PX
Step 2: Set k = k + 1 and compute the waterfilling level for the set of
PZi
users {i1 , . . . , ik }: = + |H k|2 , = /k
ik

Step 3: If the power of the subchannel with the lowest subchannel SNR
PZi
is still larger than zero, i.e., if |H k|2 > 0, go to Step 2.
ik
Otherwise proceed with Step 4.
Step 4: Undo the increment corresponding to subchannel No. ik :
PZi
= |H k|2 , = /(k 1); Compute the subchannel
ik
power values:

PZij
|Hij |2
, j = 1, . . . , k 1
PXij =
0, otherwise
Practical aspects of bit and power loading

Two principally different types of constraints:


Constraint on total power (transmitted on all subchannels)
Constraint on power spectral density (PSD), which is equivalent to a
per-subchannel power constraint if the number of subchannels is large
In case the total power is the active constraint, we can do
waterfilling with both a total power and a PSD-constraint
In case the PSD is the active constraint, there is no need for
waterfilling new problem: find an adequate constellation size for
each subchannel such that a prescribed probability of error can be
guaranteed
Practical aspects of bit and power loading

Bit loading in practice usually requires an integer number of bits per


subchannel
Waterfilling solution will, in general, return a non-integer number of bits
per subchannel
Finite granularity issue gave rise to the development of several special
algorithms (Chow algorithm, Levin-Campello algorithm)

3
PXk
bit per subchannel

0
1 2 N/2 + 1
subchannel index k
Gap analysis

Instead of using the capacity formula

|H |2 PX i
 
ci = log2 1 + i ,
PZ i

we compute the per-subchannel data rate as

|Hi |2 PX i
 
bi = log2 1 +
PZ i

denotes the SNR gap


is chosen such that uncoded transmission achieves Ps
for QAM, is almost independent of the constellation size
Example: = 8.8 dB for Ps = 106
not exact, but simple and robust approach to assigning bits
Levin-Campello

Greedy principle: minimize the cost to achieve a certain sub-goal


Application ot bit-loading:
Step 1: find subcarrier k that requires least energy, denoted ek , to
increase bk by 1
Step 2: find subcarrier ` that saves most energy, denoted e` , when
decreasing b` by 1
Step 3: if more energy is saved than spent (e` > ek ), move a bit from
subcarrier ` to subcarrier k and goto Step 1
every iteration improves the energy-efficiency while keeping the total
number of bits constant and eventually yields a so-called efficient
distribution
Levin-Campello contd

Rate-adaptive loading (also referred to as fixed-margin loading) aims at


maximizing the total datarate under a total power constraint:

maximize bi
PX i
subject to PX i = const

b is energy-tight if no additional bit can be added without violating the


energy constraint
Levin-Campello algorithm for rate-adaptive loading:
Step 1: choose any b
Step 2: make the result of Step 1 efficient
Step 3: make the result of Step 2 energy-tight
Levin-Campello contd

(Performance) Margin adaptive loading (also referred to as


power-minimization loading or margin-maximization loading) aims at
minimizing the total power under a total datarate constraint:

minimize PX i
bi (3)
subject to bi = const

b is bit-tight if it achieves the target number of bits


Levin-Campello algorithm for margin-adaptive loading:
Step 1: choose any b
Step 2: make the result of Step 1 efficient
Step 3: make the result of Step 2 bit-tight
Practical aspects of bit and power loading

Provision of the maximum rate implies that the rate is variablein


practice, often a minimum rate is required rather than a maximum rate
an algorithm for bit and power loading could focus on minimising the
required power per symbol to deliver the required rate
Finally, we should remind ourselves that any kind of waterfilling,
bit-loading or power-loading requires knowledge of the channel at the
transmitter
Summary

We worked our way through the capacity of ...


Real-valued subchannel
Complex-valued subchannel
N parallel real-valued subchannels
N parallel complex-valued subchannel
Waterfilling algorithms:
Matrix-based version
Alternative version (involving sorting of subchannels)
Example
Practical aspects of waterfilling

You might also like