Chapter 3 Joint Beamforming and Subcarrier Allocation for
4.2 Power and Bit Allocation Algorithm
4.2.2 Proposed Power and Bit Allocation Algorithm with Low Complexity
In this section we will propose a new power and bit allocation algorithm which combines the advantages of the above two conventional algorithms which are optimal and computationally efficient.
0 5 10 15 20 25 0
1 2 3 4 5 6
Subcarriers sorted by CNR
Number of bits per subcarriers
Initial bit-allocation
0 5 10 15 20 25
0 1 2 3 4 5 6
Subcarriers sorted by CNR
Number of bits per subcarriers
Initial bit-allocation
Figure 4.1: Bit distribution after initial allocation
Our bit loading algorithm uses a two-step procedure to obtain the optimal bit allocation. Initially, the algorithm exploits the differences between the CNRs of subcarriers and calculates the initial bit allocation under the system constraints, as shown by the initial bit-allocation curve in Figure 4.1. The result shows that it has no more than a single bit difference per subchannel compared with the optimal bit distribution as shown in Figure 4.2. Then, bit-removal is used in order to achieve the target-rate bit allocation as shown in Figure 4.3.
0 5 10 15 20 25
Subcarriers sorted by CNR
Number of bits per subcarriers
Optimal bit-allocation
Subcarriers sorted by CNR
Number of bits per subcarriers
Optimal bit-allocation
Figure 4.2: Comparison between optimal and the initial allocation
0 5 10 15 20 25
Subcarriers sorted by CNR
Number of bits per subcarriers
Second stage allocation
Subcarriers sorted by CNR
Number of bits per subcarriers
Second stage allocation
Figure 4.3: Bit distribution after second stage allocation
From Equation (4.5), the power increment to transmit one more bit on subcarrier i
The power decrement by removing one bit is given by
( ) 2 1
The case of two subcarriers is considered first. We examine the process of bit-filling. Without loss of generality, CNRm>CNRn is assumed. We find that bit-filling loads subchannel m with bm =⎢⎣log (2 km) 1+ ⎥⎦ bits before the first bit is added to
Then, any additional bits with respect to subchannels m and n are successively added, starting from subchannel m as seen in Figure 4.5 (II)-(V). The above statement is valid, since for any integer x≥0
( 1 ) ( ) ( )
m m n m m
P b+ x P+ x P b+ x
∆ − + ≤ ∆ ≤ ∆ + . (4.10)
We can calculate the difference of number of bits between these two subcarriers, which is
(I) (II)
(III) (IV)
(V)
Figure 4.4: Procedure of bit-filling algorithm in two subcarrier case
Similarly, we examine bit allocation on subchannels p, m and n ,where CNRp
≥ CNRm≥ CNRn. Bit-filling algorithm adds bn =⎢⎣log (2 kn) 1+ ≥⎥⎦ bmbits to subchannel
p before the first bit is added to subchannel n, where kn =(CNR / CNR )p n , while subchannel m is filled with bn− bits. The last statement is straightforward by setting bm
n m
x= − in Equation (4.10). Then, any additional bits with respect to subchannels p, b b m, and n are inserted based on the minimum required power, so that, after every three allocations on subchannels p, m, and n, they are filled with one more bit. In the following examples, the above results are extended to all N subchannels. This algorithm can be illustrated by Figures 4.5 and 4.6 which describe the first and second stage algorithm in detail.
A. Initial bit allocation
Start
Sort subcarriers by CNR such that CNRs1≧…≧CNRsN
Compare B and Breq
Finish
Sort subcarriers by CNR such that CNRs1≧…≧CNRsN
Compare B and Breq
Finish
Figure 4.5: Flow chart of initial stage of proposed bit loading algorithm
B. Second Stage
Finish Start
Let Ib’be the index of subcarrier with minimum CNR from each group with the same b’
' ' 1
bremove bremove
b P b
Compare B and Breq
B = Breq
Let Ib’be the index of subcarrier with minimum CNR from each group with the same b’
' ' 1
bremove bremove
b P b
Compare B and Breq
B = Breq
Let Ib’be the index of subcarrier with minimum CNR from each group with the same b’
' ' 1
bremove bremove
b P b
Compare B and Breq
B = Breq
Figure 4.6: Flow chart of second stage of proposed bit loading algorithm
An example is given to make the algorithm easy to understand. Consider that the rate requirement is 58 bits per OFDM symbol which is denoted as Breq. The total number of subcarriers is 30 and CNRi denotes channel gain-to-noise ratio on subcarrier i. In the following figures, x-axis represents the index of sorted CNR and y-axis represents the number of allocated bits. The result of each step is shown in Figure 4.7 where B stands for the number of total assigned bits.
Initial Stage:
The initial value of
s1
b is 4. The bar masked by gray region represents the number of bits allocated to subcarriers. In Figure 4.7(I), we can find that the number of total assigned bits in the first allocation is 16. In order to make the number of total assigned bits larger than required, we down shift the gray block by one bit in each iteration. We then recalculate the number of assigned bits iteration by iteration until the number of total assigned bit is more than required as shown in Figure 4.7(II)-(V).
Second Stage:
In the second stage, bit-removal processing is executed. We select the subcarriers with the minimum CNR from each group which has the same number of allocated bits.
It is shown by arrows in Figure 4.7 (VI)-(VII). We find that these subcarriers are the right most ones in each group which have the same number of assigned bits. We calculate their power decrement by removing one bit on these subcarriers. Choosing the maximal one, remove one bit from it and shift the red arrow left. We then subtract the total assigned bit by one and iterate the loop until the number of total assigned bits is equal to required. Finally optimal bit allocation is obtained with the power minimization goal met.
(I)
(II)
(III)
(IV)
(V)
(VI)
(VII)
Figure 4.7: Example of proposed bit loading algorithm