{'fraction_non_alphanumeric': 0.037103324843395055, 'fraction_numerical': 0.011610564236708658, 'mean_word_length': 4.450475237618809, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 7, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Review Article Bit and Power Allocation in Constrained Multicarrier Systems: The Single-User Case

Multicarrier modulation is a powerful transmission technique that provides improved performance in various communication fields. A fundamental topic of multicarrier communication systems is the bit and power loading, which is addressed in this article as a constrained multivariable nonlinear optimization problem. In particular, we present the main classes of loading problems, namely, rate maximization and margin maximization, and we discuss their optimal solutions for the single-user case. Initially, the classical water-filling solution subject to a total power constraint is presented using the Lagrange multipliers optimization approach. Next, the peak-power constraint is included and the concept of cup-limited waterfilling is introduced. The loading problem is also addressed subject to the integer-bit restriction and the optimal discrete solution is examined using combinatorial optimization methods. Furthermore, we investigate the duality conditions of the rate maximization and margin maximization problems and we highlight various ideas for low-complexity loading algorithms. This article surveys and reviews existing results on resource allocation in constrained multicarrier systems and presents new trends in this area.

The principle of MCM is the spectrum decomposition into a set of orthogonal narrowband subchannels by utilizing complex exponentials as information-bearing carriers. Two important MCM techniques have widespread use: orthogonal frequency-division multiplexing (OFDM) [14] mainly employed in wireless applications and discrete multitone (DMT) [15] used in wireline systems. Both OFDM and DMT employ the fast Fourier transform (FFT) for spectrum decomposition, hence data transmission is performed in blocks. In order to avoid ISI and to preserve orthogonality, a cyclic prefix is introduced at the expense of a data rate loss [16]. Using the cyclic prefix, the system carriers can be viewed as separate independent channels, on which different information rates can be transferred by utilizing constellations of different sizes.
The allocation of bits and power to the subchannels is a fundamental aspect in the design of multicarrier systems. The allocation problem is known as bit and power loading and is based on loading algorithms, which aim to distribute the total number of bits and the available power over the subchannels in an optimal way that maximizes performance and preserves a target quality of service. In fact, the bit and power loading is a constraint optimization problem and generally two cases are of practical interest [17]: rate maximization (RM) and margin maximization (MM), where the objective is the maximization of the achievable data rate or the achievable system margin, respectively. In fact, margin maximization is equivalent to power minimization given a target data rate. The loading problem defines a set of 2 EURASIP Journal on Advances in Signal Processing constraints imposed either by recommendation rules and specifications [18], or by practical limitations and implementation issues [9]. Such constraints include total available power budget, power spectral density (PSD) mask, integer number of bits per subcarrier, and so forth.
Adaptive loading is possible only when channel state information (CSI) is known both at the transmitter and the receiver. In wireless applications, the channel is timevarying and therefore OFDM systems usually employ the same constellation in all carriers. On the other hand, the wireline channel is treated either as almost constant or as slow time-varying, and therefore CSI can be sent to the transmitter by a feedback link. Thus, in DMT applications, the utilization of different signal constellations per subchannel by adaptive bit and power loading is of great importance, and as the number of subchannels required in commercial applications [9,17] increases, the development of efficient loading algorithms is a challenging task.
The literature contains several loading algorithms proposed for DMT-based systems. These algorithms consider either the RM or the MM problem, and two general classes can be distinguished. The first class of loading algorithms treats the allocation problem using numerical methods that employ Lagrange optimization, which in general results in real numbers for optimum bit allocation [19][20][21][22]. However, for practical applications, the number of bits per subchannel is restricted to integer values, and thus, the above algorithms include a final suboptimum bit-rounding step. The integer-bit constraint imposes a combinatorial structure in the loading optimization problem. The second class of loading algorithms employs discrete greedy-type methods in order to obtain the optimum integer-bit allocation results [23][24][25][26][27].
This article aims at providing a tutorial survey on the bit and power loading in constrained multicarrier systems and at reviewing the most popular results on the loading algorithms for the RM and MM problems. We examine the singleuser communications scenario, that is, a point-to-point link between a DMT-based transmitter and a receiver. We start out with a short introductory overview of the multicarrier basics. Then, the loading problem is considered only subject to a total power constraint and the classical water-filling solution is discussed using the Lagrange multipliers optimization approach. Next, the peak-power constraint is included and the concept of cup-limited water-filling is introduced. The loading problem is also addressed subject to the integer-bit restriction and the optimal discrete solution is examined using combinatorial optimization methods. Moreover, we investigate the duality conditions of the RM and MM loading problems and we highlight some ideas for low-complexity loading algorithms. This article aims to provide the basic knowledge for more complex and challenging problems of bit and power allocation in constrained multicarrier systems under the multi-user context.

MULTICARRIER LOADING
MCM decomposes the channel spectrum into a set of N orthogonal narrowband subchannels of equal bandwidths [1]. For each subchannel i, where 1 ≤ i ≤ N, a rate function R(P i ) is defined, which gives the number of bits b i that can be transmitted using power P i . The rate function depends on the maximum probability of error that can be tolerated and the applied modulation and coding schemes, which we assume to be shared among all the subchannels. In addition, we assume the existence of the inverse function R −1 (b i ), namely, power function, which gives the power P i required for the transmission of b i bits. We consider practical QAM-coded MCM, where the rate function is given by the following logarithmic expression in bits per two-dimensional symbol: where g i = |H i | 2 /N i is the gain-to-noise ratio of subchannel i, H i is the channel frequency response, N i is the noise power, and Γ is the SNR gap expressing the loss, in terms of SNR, between the actual rate b i conveyed by the used transmission scheme and the theoretical capacity achieved for Γ = 1 (0 dB). The SNR gap is calculated according to the "gapapproximation" analysis [15,28], based on the target error probability P e , the applied coding gain γ c , and the system performance margin γ m . Some useful comments on the validity limits of the "gap-approximation" can be found also in [21]. When QAM transmission is employed, we can write where Q −1 is the inverse of the well-known Q-function defined as Note that the margin γ m in (2) expresses the SNR degradation immunity, which the system designer tries to achieve, so that the MCM performance is maintained for the desired probability of error. The higher the system margin is, the more power is required for a given probability of error. On the other hand, as the coding gain γ c increases, the transmission rate approaches the system capacity.
Since OFDM and DMT systems usually require the same error rate for all subchannels [15], in the rest of this article we will consider that Γ is embedded in the g i s, that is, , it is clear that the power function is defined by the exponential expression while the total power and the total data rate of the multicarrier system are, respectively, N. Papandreou and T. Antonakopoulos

3
The loading problem aims at determining the optimal distribution of the available power in all subchannels. Using the rate and power functions, (1) and (4), respectively, the optimal distribution of the available power is transformed into an optimal distribution of the achievable data rate over the subchannels, and vice versa. The loading problem is formulated as a multivariable constraint optimization problem. The optimization objective is the maximization of the rate function (RM case), or the minimization of the power function (MM case), subject to a set of constraint functions that reflect system limitations and restrictions. In the following sections, we formulate the loading problem, initially only subject to the total power budget constraint, and afterwards when the peak-power restriction per subchannel is also included.

TOTAL POWER-CONSTRAINED LOADING
Let P budget denote the total power budget and B target denote the desired data rate. The RM and MM loading problems are formulated as follows.

RM loading problem:
MM loading problem: We observe that the logarithmic expression in (6) is a strictly increasing and concave function of P i , while the exponential expression in (7) is a strictly increasing and convex function of b i [29]. As a result, we recognize that both RM and MM belong to the class of convex optimization problems with convex constraint sets, and therefore a unique global solution exists. Moreover, we observe that both problems are nonlinear. The optimal solution is calculated by forming the corresponding Lagrangian function and applying the Kuhn-Tucker conditions [30].
From the MM problem formulation in (7), it is clear that margin maximization is equivalent to power minimization. In fact, given a target data rate, the MM objective is to determine (from all possible bit allocations that correspond to a data rate equal to the target one) the optimum bit allocation, which requires the least total power. The additional power, that is, the difference between the available power budget and the total power of the optimum bit allocation, is used in order to increase the system margin γ m in (2).
Not used 1 Subchannels N Figure 1: Water-filling rate maximization. The shaded area represents the total available power.
Note that for the MM problem, we assume that the available power budget is sufficient to support the desired target rate, otherwise the problem in (7) has no solution. Based on this assumption, a total power budget constraint is not included in (7).

Rate maximization water-filling
The optimal solution to the RM problem is given by the following relation, which is known as the water-filling formula: for all used subchannels, 0 otherwise, where K r is a constant value depending on the total power budget.
The solution in (8) can be best described using Figure 1. The spectrum can be considered as a vessel and the shape of the bottom of this vessel is determined by the inverse of g i values. We can say that the available power is poured over the spectrum vessel, so that the subchannels covered by the water-level K r are assigned power, while the remaining subchannels are not used at all (water-filling is also referred to as water-pouring). Assuming that the subchannels are sorted, 1 the water-level K r is

EURASIP Journal on Advances in Signal Processing
where M r is the total number of the used subchannels determined according to the following criteria: An iterative algorithm that determines the water-filling RM solution by using an initial sorting of the subchannels' gain-to-noise ratio values is described in [20]. When the subchannels are sorted, the objective of the loading algorithm is to determine the cut-off subchannel M r and the constant K r . Sorting is not a trivial task when the number of subchannels is large. In general, this task dominates the computational complexity of all practical algorithms for waterfilling, so the complexity is O(N log 2 N).
The optimum bit allocation is derived by (1) and (8), which results in the following compact formula: while the total data rate is Remark 1. By combining (8) and (9), we derive that the optimal solution uses all the available power budget, that is, the total power constraint in (6) is met with equality. Moreover, we observe that as more power budget is available, the water-level in (9) becomes higher and as a consequence, more subchannels may be turned on, as long as (10) implies a higher value for M r . Therefore, a higher power budget corresponds to a higher water-level, which generally results in the utilization of more subchannels and thus in a higher data rate. (8) and (9), we can write the optimum power allocation using the following expression:

Remark 2. From
The first term is a constant power portion, while the second term is the distance between the mean of the inverse gain-to-noise ratios of all used subchannels and the g −1 i of each subchannel. Figure 2 illustrates this remark, where the subchannels are sorted. Observe that for subchannel i the distance of g −1 i to the mean value is positive, while for subchannel j, the distance is negative. Figure 2 also illustrates a characteristic feature of the water-filling allocation strategy: water-filling allocates more power to the strongest subchannels. Figure 2: Graphical representation of (13).

Margin maximization water-filling
Using the Lagrange multipliers method and applying the Kuhn-Tucker conditions, we can derive the optimal solution to the MM problem in (7) as follows: where K m is constant and depends on the target data rate.
Assuming that the subchannels are sorted in a descending order, K m is given by where M m is the total number of used subchannels determined according to the following criteria: The analogy between (9) and (10) of the RM problem with (15) and (16) will be evident, as soon as we calculate the power of each subchannel allocated with b i bits according to (14). Using (4), we get In (17), we observe that the optimum bit solution to the MM problem results in a power distribution that follows a water-filling power allocation as in the RM problem. Therefore, a power distribution, similar to the one shown in Figure 1, holds also for the MM problem. In this case, the constant water-level is equal to N. Papandreou and T. Antonakopoulos 5 while the total power is given by Remark 4. We observe in (18), that the higher the target rate, the higher the water-level and consequently more subchannels may be used, as long as (16) implies a higher value for M m . As a result, a higher target rate requires a higher total power consumption.

Duality conditions between RM and MM problems
The RM and MM problems admit a unique water-filling solution. The following proposition holds.

be a water-filling bit and power allocation, where
Proof. We have shown in Section 3.1, that a waterfilling power allocation provides the unique solution that maximizes the data rate subject to a total power constraint. In fact, the whole power budget is consumed (see Remark 1). Therefore, any other allocation Therefore, the first part of (20) is true.
Moreover, we have shown in Section 3.2, that a waterfilling bit allocation provides the unique solution that minimizes the total power subject to a target rate constraint. Therefore, any other allocation Consequently, the second part of (20) is also true.
From the analytical expressions derived for the RM and MM problems, there exists a duality between the RM and MM problems under specific conditions. We are now in the position to define these conditions in the form of the following theorem.
is also the solution to the RM problem with P budget = P m .
Proof. Using Proposition 1, for the RM solution (b r i , P r i ), we can write which implies that (b r i , P r i ) is also the solution to the MM problem, when B target = B r .
Similarly, for the MM solution (b m i , P m i ), we can write is also the solution to the RM problem, when P budget = P m .

TOTAL POWER AND PEAK-POWER CONSTRAINED LOADING
When introducing the peak-power constraint, the optimization problem becomes more complicated. Let P i , for 1 ≤ i ≤ N, denote the maximum allowable power per subchannel.
In multicarrier systems, a power spectral density (PSD) mask constraint is usually imposed by regulatory rules in order to control the level of interference into other communication systems operating in the neighborhood, for example, [18]. The RM and MM problems are formulated as follows.
RM loading problem: MM loading problem: In the RM problem, we observe that the peak-power constraint upper bounds the possible power allocation in each subchannel. In the MM problem, the peak-power constraint is transformed into a maximum bit allocation constraint, denoted as b i for 1 ≤ i ≤ N, which upper bounds the possible bit allocation in each subchannel and is defined by The RM and MM problems in (23) and (24) also belong to the class of convex optimization problems with convex constraint sets, and therefore a unique global solution exists. (1) sort g i s in descending order reduce the available power Algorithm 1: Cap-limited water-filling.

Rate maximization water-filling
By using the Lagrange multipliers approach and applying the Kuhn-Tucker conditions, we can derive the optimal solution to the RM problem in (23) as follows 2 : where K r is a constant and is determined by the solution to the following nonlinear equation: The RM solution in (26) is again water-filling, however in this case, the spectrum vessel has a limited depth of P i and 2 The following notation is used, where x, a, and c are real numbers with Figure 4: The optimal water-filling.
is covered by a cap. When P i = P for all subchannels, then the shape of the cap is identical to the vessel's bottom, that is, the inverse of the g i s. The concept of the "cap-limited" water-filling is illustrated in Figure 3 subject to a common PSD mask for all subchannels.
In order to obtain the solution in (26), we need to determine the constant K r . In Section 3.1, an iterative algorithm for the calculation of the water-level of the total power constrained RM was presented. When the peak-power constraint is introduced, the RM problem in (23) can be treated using an iterative water-filling process [21], which is described using the pseudocode of Algorithm 1.
Algorithm 1 is optimal, however its direct implementation is not efficient and presents O(N 2 ) complexity. In order to overcome such a high computational load, an iterative algorithm of reduced complexity can be constructed by exploiting the fact that in every new iteration of Algorithm 1, the participating subchannels are allocated more power with respect to the previous iteration.
First, consider the optimal water-filling solution in Section 3.1, which is described in Figure 4, where the subchannels are sorted. Denoting as P N = [P 1 , P 2 , . . . , P N ] the optimum N-point water-filling power vector, P N satisfies the following set of equations: where K w is the water-level and subchannels from M +1 to N are turned off, that is, they are loaded with zero power, and the following proposition holds.  if P M > P M then (8) go to step (6) (9) else (10) set P i = P i , for i = j, . . . , M − 1 (11) reduce the available power Proof. We prove for L = 1. Let P N−1 = [P 2 , . . . , P N ] be the optimum vector. Then, P N−1 should satisfy (28): where P budget = P budget −P 1 , K w = (P budget + M i=2 g −1 i )/(M −1), and subchannels from M + 1 to N are turned off.
For M = M, the constant K w becomes From (28) and (30), we derive that the power vector P N−1 = [P 2 , . . . , P N ] satisfies (29) and therefore P N−1 is the optimal vector. The proof for L > 1 is similar.
As suggested by Algorithm 1, if the power allocated to subchannel i (staring from the one with the highest g i ) exceeds P i , then we set P i = P i , reduce P budget by P i , exclude subchannel i from the optimization problem, and perform water-filling to the remaining subchannels. Since P budget is reduced by an amount of power less than the optimal power assigned by the previous water-filling, then according to Proposition 2 and Remark 1, the new solution has higher K w and additional subchannels may be turned on. As a result, all subchannels participating in the next water-filling will be assigned additional power. Based on this remark, the new optimal algorithm is described by the pseudocode in Algorithm 2.
Algorithm 2 is explained using Figure 5 subject to common PSD mask for all subchannels. Given the initial The complexity improvement of the iterative waterfilling scheme described by Algorithm 2 compared with Algorithm 1 depends on the total number of iterations that water-filling has executed. If L ≤ N is the number of iterations, then the computational complexity of Algorithm 2 is O(N(L + log 2 N)). The lower is L compared to N, the higher is the computational complexity improvement. In [21], a suboptimum algorithm for the RM problem in (23) is described that uses an iterative search-secant method to determine the root of (27), by noting that (27) admits a root when N i=1 P i > P budget . The search-secant process is subject to a tolerance variable that affects the speed of convergence, as well as the accuracy of the final result. Generally, there is a tradeoff between the speed of convergence and accuracy. The method presents a computational complexity that grows linearly with L N, where L is the number of the search-secant iterations.
Remark 5. Similar to Remark 1, we observe from (26) and (27) that the optimal "cap-limited" water-filling solution consumes the total available power budget.

Margin maximization water-filling
In order to obtain the optimal solution to the peak-power constrained MM problem, we will use the duality between 8 EURASIP Journal on Advances in Signal Processing the RM and MM problems developed in Section 3.3. We have shown in Section 3.2 that the optimal bit solution for the MM problem under a total power constraint results in a power allocation, which follows a water-filling distribution. Given a peak-power constraint, this power allocation should also follow the "cap-limited" water-filling concept of Figure 3. The optimal bit solution to (24) is therefore given by where K m is the solution to the following nonlinear equation: It can be easily verified that Theorem 1 applies also for the total and peak-power constrained RM and MM problems.

INTEGER-BIT CONSTRAINED LOADING
The Lagrangian methods described in the previous sections provide the optimal loading solutions, where generally the bit assignment in each subchannel takes real values. However, due to implementation constraints, only integer bit values are of practical interest, that is, design of realistic constellation encoders and decoders. As a consequence, the proposed Lagrangian algorithms in the literature include a final suboptimal bit-rounding step with appropriate power scaling to preserve the power budget and target error rate constraints.
The integer-bit constrained loading problem, also referred to as discrete loading, belongs to the class of combinatorial optimization problems. The RM and MM formulations of the previous sections apply here, along with the additional integer-bit constraint: b i ∈ Z + for 1 ≤ i ≤ N. Remark 6. The monotonicity and concave nature of the rate function in (1), along with the monotonicity and convex nature of the power function in (4), as well as of the corresponding discrete incremental (33) and decremental (34) power cost functions defined below, guarantee the existence of a unique optimum solution for each of the RM and MM discrete loading problems based on appropriate greedy algorithms. The optimality is addressed in [26,31,32], using the matroid theory.

Optimum greedy algorithms
The solution to the integer-bit loading problem is provided using a greedy algorithm, which defines an appropriate bit allocation cost function and iteratively assigns one bit at a time to the least cost-expensive subchannel. In general, a greedy algorithm is characterized by the following two properties [33]. First, at each step, the algorithm always moves its operating point along the direction that guarantees the largest increment (decrement) to the assigned objective function to be maximized (minimized). Second, a greedy algorithm proceeds only in a forward way, that is, it never tracks back. Two greedy loading methods are used: the bit-filling [23,31] and the bit-removal [25,32].
Considering that subchannel i carries b i bits, the power needed to transmit one more bit in this subchannel is given by while the power saved by removing one bit from this subchannel is given by and the maximum 3 number of bits that can be assigned to each subchannel is The incremental power in (33) constitutes the cost function of the bit-filling process, while the decremental power in (34) constitutes the cost function of the bit-removal process. In particular, the bit-filling algorithm starts from an initial all-zero bit allocation, b i = 0 for 1 ≤ i ≤ N, and then adds one bit at a time to the subchannel that requires the minimum additional power until the total power budget is consumed (RM case) or the target rate is achieved (MM case). On the other hand, the bit-removal algorithm starts from an initial maximum bit allocation, b i = b i for 1 ≤ i ≤ N, and then removes one bit at a time from the subchannel that saves the maximum power until the target rate is achieved (MM case). Note that if N i=1 P i ≤ P budget , the maximum bit allocation b i = b i used initially by the bitremoval algorithm, is the direct solution to the RM case. In Appendix A, the following theorem is proved.

Theorem 2. Given a target rate B target , the bit-filling and bitremoval algorithms result in the same optimum bit and power allocation.
The following remarks are also in order.
Remark 7. For the nondiscrete RM problems formulated in the previous sections, we have noted that the optimal solution results in the consumption of the total available power budget. In the discrete RM problem, however, the optimum integer-bit solution results in total power that is generally less or equal to the power budget.
Remark 8. Although bit-filling and bit-removal provide the same solution, the computational load associated with each method mainly depends on the target data rate. The complexity of the bit-filling is O (B target N), while the complexity of the bit-removal is O((B max − B target )N), where B max is the data rate corresponding to the b i bit-profile. If B target is close to B max , then bit-removal converges faster.

Remark 9.
If bit-filling is left free to proceed above B target , by adding one bit at a time to the least power cost-expensive subchannel, then it will terminate at the b i allocation.
Also for the discrete loading RM and MM problems, there exist exact conditions for their equivalence, as in the water-filling case. Theorem 1 developed in Section 3.3 holds also for the case of discrete loading, where the only difference is that due to the integer-bit allocation, the MM solution under the duality conditions is also the RM solution with P budget ≥ P m (see Theorem 1 for details). The proof is given in Appendix B. Another approach is provided in [34].

Efficient integer-bit allocation profiles
The high computational load of the greedy bit-filling and bitremoval algorithms is an important disadvantage for practical systems with large number of subchannels and high data rate demands. In [27], an efficient discrete bit allocation profile was developed by recognizing that the order of the subchannels, which participate in the single-bit incremental process of bit-filling, is specific and includes a characteristic circular repetition.
The characteristic bit allocation profile is calculated as follows: where i max = arg max{g i }, i min = arg min{g i }, and k i = g imax /g i for 1 ≤ i ≤ N. The allocation b i depends only on the system g i values and presents an optimum bit allocation profile of a continuous greedy bit-filling process, where any total power or peak-power constraints are at the moment ignored. In other words, if bit-filling is continuously applied, then it will reach the allocation b i after N i=1 b i steps, where N i=1 b i is the data rate that corresponds to the b i profile. From (36), we observe that b i = 0 for i = i min . Depending on the value of k i , b i may be zero for other subchannels as well. Assuming that the subchannels are sorted, that is, i max = 1 and i min = N, the following remarks are in order.

Remark 10.
Given allocation (36) and assuming that bitfilling is applied, then one bit has to be added to all the subchannels i : 2 ≤ i ≤ N, before we can further increase the bits in subchannel i = 1 by one. The order, in which the subchannels are assigned by one more bit, depends on the power cost function (33) of each subchannel and generally it does not coincide with the descending order of the g i values.
Remark 11. If bit-removal is applied in (36), then one bit is first removed from subchannel i = 1 and then, one bit has to be removed from all the subchannels i : 2 ≤ i ≤ N * , before we can further decrease the bits in subchannel i = 1 by one, where N * corresponds to the first nonzero bit-loaded subchannel.
The importance of allocation (36) in providing low complexity bit loading follows from Remarks 10 and 11 along with the next theorem. [35]:

Theorem 3. The integer bit allocation
Proof. This theorem is proved by in (33) and showing that (37) is true, ∀i, j : Theorem 3 states that every up-or downshift of (36) corresponds to an optimum discrete bit allocation under the power minimization goal, taking also into account the low (all-zeros) and the upper (b i ) bounds of the valid bit vectors. In [27], the following theorem was proven.

According to Theorem 4, if (36) is shifted by Δb
where the sign of Δb determines the up-or downshift. This is illustrated in Figure 6 for the two possible cases, where the subchannels are sorted. In Figure 6(b), the b i profile violates the maximum allowable allocation b i in some of the subchannels. This is due to the fact that profile (36) does not include any power or PSD restrictions.
Using Theorem 4, along with Remarks 10 and 11, we can use the bit-profile b i as an initial optimum allocation and then perform a multiple-bit addition or removal process, that converges to the optimum bit solution with no more than a single bit difference per subchannel. In the following section efficient loading algorithms for the discrete RM and MM problems are presented.

LOW-COMPLEXITY INTEGER-BIT LOADING
In the previous section, it was made clear that in each allocation step, the greedy algorithm updates the bit-profile according to a power cost function until the system constraints are met, that is, the total power budget is consumed for the RM case or the target data rate is achieved for the MM case. At the end of the greedy process, the respective objective is satisfied, that is, rate maximization or margin maximization. The system constraints define a pair of low and maximum bit allocation limits. The greedy loading process can be described as a continuous bit-by-bit allocation procedure, since at each step it updates the bit-profile by moving on efficient bit allocations, see (37), within the set of all possible bitprofiles. For the RM problem, the upper bit allocation limit is determined by the total power budget constraint, while for the MM problem the upper bound is directly calculated by (35). In fact, the upper bound forthe RM problem coincides Bit-distribution with the rate maximization solution. In the rest of this section, we present efficient discrete loading algorithms by exploiting the characteristic bit-profile b i defined in (36). These algorithms are based on a multiple-bit loading process that moves the b i profile towards the optimum solution.

Discrete rate maximization
First, we address the total power constrained problem. In contrast to the case of a PSD mask, where the maximum allowable bit allocation is directly determined by (35), the bit upper limit in the total power constrained problem is not straightforward. However, we know from Theorem 3 that every shift of the b i bit-profile corresponds to an efficient allocation. Thus, if the available power budget is not exceeded, the new bit allocation is valid within the system constraints.
Since there is no explicit bit upper limit defined, we will use notation [x] a c with a = ∞, that is, [x] ∞ 0 = max(x, 0). The data rate and total power of bit allocation b i +α, where α ∈ Z, are, respectively, Let P(0) < P budget . In order to obtain the maximum possible data rate, we want to upshift profile b i by α ≥ 0, so that P(α) ≤ P budget < P(α + 1).
From (38), we can write Using (40), we derive the integer solution of (39) as The difference between the total power budget and the power corresponding to the b i profile upshifted by (41) may allow the allocation of a limited number of additional bits, less than N. We can use the greedy bit-filling process to allocate these bits.
If P(0) > P budget , then we want to downshift profile b i by α ≤ 0, so that (39) also holds. Note that |α + 1| < |α|, when α ≤ 0. It turns out that α is given by (41). Since the value of |α| may be greater than the smallest nonzero value of b i for 1 ≤ i ≤ N, the total power of the downshifted bitprofile [b i + α] ∞ 0 may be higher than expected and therefore additional downshifting may be necessary. In this case, the new value of α is calculated using (41), where the upper limit of the summations is replaced by N * , which denotes the total number of nonzero bit-loaded subchannels, and P(0) is replaced by the total power P(α), which corresponds to the downshifted bit profile of the previous step. At the end of the downshift process, we use greedy bit-filling to add any additional bits less than N * if there is available power. The pseudocode in Algorithm 3 describes the low-complexity discrete loading for the total power constrained RM problem.
In the case of a peak-power constraint, the optimum RM solution can be calculated by directly allocating b i bits and then, if necessary, we perform bit-removal in order to discard the most power-expensive bits until the total power constraint is met.

Discrete margin maximization
In the MM problem, we assume that the total power budget is sufficient in order to support the desired target rate. As in the previous section, we first address the total power-constrained loading. Given the initial bit-profile b i with a total data rate of B(0), see (38), we can perform multiple-bits loading by directly calculating the allocation In (42), N * is the total number of nonzero bit-loaded subchannels, as defined in Remark 11, and the sign of α depends on whether data rate increase (if B target > B(0)) or decrease (if B target < B(0)) is required. The new bit allo- 0 is efficient according to Theorem 3 and optimum under the power minimization goal. However, when downshift is performed, the resulting data rate might be greater than expected due to the low (zero) bitlimit. Therefore successive, but limited, number of multiplebits loading steps may be necessary until α becomes zero. Then, according to Remarks 10 and 11, the bit-profile allocated so far differs from the target rate solution at most in a single bit per subchannel. The remaining bits can be allocated to the appropriate subchannels based on the respective cost function (33) or (34). The pseudocode in Algorithm 4 describes the low-complexity MM loading.
The above results also hold for the peak-power constrained loading. However, in this case, two important points should be noted. First, an explicit bit upper limit exists and the data-rate expression in (38) becomes Second, in (42), the value of α is calculated by the difference between the desired rate and the rate of the bounded b i profile. Since the difference between b i and [b i ] bi 0 may be large, a result of a = 0 may not indicate the maximum of one bit difference convergence. In order to overcome such a situation, if b imax violates the upper limit b imax , we apply Theorem 4 and move the b i bit-profile within the bit-limits.
(1) calculate initial bit-profile b i (2) calculate total rate B(0) from (38) go to step (3) (8) else if target rate not met then (9) do GREEDY BIT-FILLING (10) end if Algorithm 4: Discrete total power-constrained margin maximization. Figure 7 shows an example of bit and power allocation using the CSA(6) standard ADSL loop in Table 47 of ANSI T1.413-1995 [36]. The system parameters are: N = 256 subchannels, subcarrier spacing 4.3125 kHz, −140 dBm/Hz additive white Gaussian noise (AWGN) plus near-end crosstalk (NEXT) generated by 20 high-rate DSL (HDSL) neighboring lines, and a 40-kHz lower band edge. The loading constraint values are: −40 dBm/Hz PSD mask, 100 mWatt total power budget, and b max = 15. We also consider 6 dB margin and 3 dB coding gain. Assuming a maximum bit-error rate of 10 −7 , the corresponding SNR gap equals 12.8 dB. Figure 7 shows the maximum bit allocation, b i , the initial bit allocation, b i , and the target bit allocation that corresponds to 80% of the maximum possible data rate, that is, Figure 7 also shows the transmit PSD that corresponds to the maximum and the target rate allocation. The sawtooth shape of the PSD is common to all discrete bit-loading algorithms and is the result of the stepwise power distribution due to the integer bit constraint. Since there is a 40-kHz lower band edge, subchannels 1-9 are not used. Also, note that for the requested target rate, the loading algorithm does not utilize subchannels 28-52. The remaining power, that is, the difference between the total power of the target rate allocation and the power budget, can be used in order to increase the system margin in all subchannels.

Numerical example
In [27], numerical results show that exploiting the efficient bit allocation profile described in Section 5.2, a computational complexity improvement of up to 6 times compared with the greedy bit-filling and the bit-removal methods is achieved. Although the results correspond to the case of total and peak-power constraints, the complexity improvement for the total power constraint is only the same or higher. Indeed, in the latter case, the algorithm experiences less differences between the actual and the expected power or rate (step 6 of Algorithms 3 and 4), thus the optimum bit-allocation is reached with less shifting operations of the b i profile. It has to be noted that according to Remarks 10 and 11, the shifting of the b i profile converges to the target rate with only one bit difference per subchannel. Therefore, the final greedy bitfilling or bit-removal steps in Algorithms 3 and 4 require only the calculation of the cost function (33) or (34) and the determination of the least or most power-expensive subchannels, respectively. As a result of Remarks 10 and 11, after each subchannel selection, there is no need to update the corresponding cost function, thus the total complexity of the final greedy process is reduced.

When perfect CSI is not known
The bit and power loading algorithms described in the previous sections presume that an estimation of the instantaneous CSI, that is, the subchannel gain-to-noise ratio values, is available. When the channel is constant or slow time varying, this is not a complex task. For "always on" links, such as DSL, CSI is obtained during the modems' training. For burst transmission, such as in wireless LANs, CSI can be estimated using a suitable preamble structure or inbound training information. However, in order to account for the limitations imposed by the time-varying behavior of the wireless channels, such as noisy or outdated CSI, alternative adaptive MCM schemes have gained research attention, for example, statistical adaptive MCM and adaptive MCM with partial CSI. References [37][38][39] can motivate the interested reader on this topic.

CONCLUSIONS
In this work, we surveyed the area of bit and power loading in constrained multicarrier communication systems in the single-user context. We discussed the optimal solutions to the main classes of loading problems, namely, rate maximization and margin maximization, under a set of specification and implementation constraints. We presented the water-filling power allocation policy under a total power constraint and the cap-limited water-filling concept was introduced when the peak-power constraint is included. Moreover, the loading problem was addressed subject to the integer-bit restriction and the optimal discrete solution was examined using combinatorial optimization methods. We reviewed existing loading algorithms and highlighted some ideas for low-complexity solutions.

A. PROOF OF THEOREM 2: EQUIVALENCE OF BIT-FILLING AND BIT-REMOVAL
We denote as b ∈ Z N + the N-point bit vector calculated in each allocation step by the bit-filling method. Then for all components of b = [b 1 , . . . , b N ], the following relation holds: and the bit-distribution vector b is said to be BF-efficient.
The above definition was first used by Campello [35]. On the other hand, if b ∈ Z N + is the N-point bit vector calculated in each allocation step by the bit-removal method, then the following relation holds: Similarly, we define that bit vector b ∈ Z N + is BR-efficient if equation (A.2) holds.
In order to show that the bit-filling and bit-removal methods are equivalent, we have to prove that for a given target rate B target = N i=1 b i , there exists only one BF-efficient solution and only one BR-efficient solution and that an Npoint BF-efficient vector is also BR-efficient.
We assume that there exist two different BF-efficient vectors b = [b 1 , . . . , b N ] and r = [r 1 , . . . , r N ], so that B target = N i=1 b i = N i=1 r i . Consequently, there exist at least two points, named i 0 and j 0 , where b i0 > r i0 and b j0 < r j0 , otherwise the above bit-distributions are equal.
Since r is BF-efficient, then ΔP + i0 r i0 > ΔP + j0 r j0 − 1 . which means that vector b is not BF-efficient and this is in contradiction to our initial assumption. Therefore, there is only one bit-profile that is BF-efficient for a given target rate. A similar proof can be derived for the uniqueness of the BRefficient bit solution. Next, we consider a bit distribution vector b, which is BFefficient, that is, ∀i, j : 1 ≤ i, j ≤ N: therefore b is also BR-efficient.

B. PROOF OF THEOREM 1: DUALITY CONDITIONS FOR THE DISCRETE RM AND MM PROBLEMS
Let (b G i , P G i ), for 1 ≤ i ≤ N, be efficient greedy bit and power allocation profiles that satisfy (37) and let N i=1 b G i = B G and N i=1 P G i = P G . From the definition of the greedy bit allocation process in Section 5.1, we have For a given subchannel g i , the data rate function b i = log 2 (1 + P i · g i ) is strictly increasing with respect to P i , while the integer function b i is increasing with respect to P i . Therefore, which means that (b M i , P M i ) is also the solution to the integer RM problem subject to a total power of P M .