- Research
- Open Access

# Power allocation, bit loading and sub-carrier bandwidth sizing for OFDM-based cognitive radio

- Vinay Thumar
^{1}Email author, - Taskeen Nadkar
^{1}, - Tej Gopavajhula
^{1}, - Uday B Desai
^{2}and - Shabbir N Merchant
^{1}

**2011**:87

https://doi.org/10.1186/1687-1499-2011-87

© Thumar et al; licensee Springer. 2011

**Received:**14 February 2011**Accepted:**5 September 2011**Published:**5 September 2011

## Abstract

The function of the Radio Resource Management module of a Cognitive Radio (CR) system is to evaluate the available resources and assign them to meet the Quality of Service (QoS) objectives of the Secondary User (SU), within some constraints on factors which limit the performance of the Primary User (PU). While interference mitigation to the PU spectral band from the SU's transmission has received a lot of attention in recent literature; the novelty of our work is in considering a more realistic and effective approach of dividing the PU into sub-bands, and ensuring that the interference to each of them is below a specified threshold. With this objective, and within a power budget, we execute the tasks of power allocation, bit loading and sizing the sub-carrier bandwidth for an orthogonal frequency division multiplexing (OFDM)-based SU. After extensively analyzing the solution form of the optimization problems posed for the resource allocation, we suggest iterative algorithms to meet the aforementioned objectives. The algorithm for sub-carrier bandwidth sizing is novel, and not previously presented in literature. A multiple SU scenario is also considered, which entails assigning sub-carriers to the users, besides the resource allocation. Simulation results are provided, for both single and multi-user cases, which indicate the effectiveness of the proposed algorithms in a CR environment.

## Keywords

- cognitive radio
- OFDM
- interference mitigation
- power allocation
- bit loading
- sub-carrier bandwidth sizing

## I. Introduction

A new paradigm, called Cognitive Radio (CR), has emerged in the field of wireless communication, to alleviate the imbalance between spectrum allocation and its use [1, 2]. CR entails the temporary usage of unused portions of the spectrum (*spectrum holes or white spaces*), owned by the licensed users *(Primary Users--PUs)*, to be accessed by unlicensed users *(Secondary Users--SUs)*. Built on the platform of *software-defined radio (SDR)*, a CR node is rendered *reconfigurable*: the SDR allows the operating parameters such as frequency range, modulation type or output power to be reconfigured in software, without making any alteration in the hardware [2]. It is anticipated that the *Next-Generation* (xG) communication networks will be based on CR [2]. These networks will provide high bandwidth to mobile users via heterogenous wireless architectures and dynamic spectrum access techniques. Besides the tasks of *spectrum sensing, spectrum allocation, spectrum sharing* and *spectrum mobility*, one of the key functions of CR nodes in spectrum-aware xG networks is *spectrum utilization*. The spectrum utilization function entails efficient Radio Resource Management (RRM), the aim of which is to evaluate the available resources (power, time slots, bandwidth, etc) and assign them to meet the QoS objectives of the SU, within some constraints on factors (typically interference) which limit the performance of the PU [3]. Furthermore, for optimum spectrum utilization it is necessary to be adaptive to, one or more, time-varying characteristics of the system, such as the wireless channel state, number of users, QoS requirements, etc.

OFDM is a widely-deployed multi-carrier modulation technology for various wireless application segments, besides being a popular choice for CR. Other than its ability to handle multi-path fading and inter-symbol interference, it offers flexibility of resource allocation (power, constellation size and bandwidth) of its individual sub-carriers. The two main impairments in OFDM are inter-symbol interference (ISI) and inter-carrier interference (ICI) [4]. ISI is mitigated by the addition of a guard interval (GI) which should be longer than that delay spread of the channel (also known as the cyclic prefix, since it is a cyclic copy of the original symbol). The loss of orthogonality between the sub-carriers of OFDM due to its sensitivity to frequency offsets results in ICI. Frequency errors which occur due to local oscillator errors can be easily compensated by frequency tracking, while those due to Doppler spread are poorly compensated for.

In conventional OFDM systems, optimum power allocation that maximizes the channel capacity under a total power budget is water-filling [4]. However, when OFDM is used for the SU system in a CR scenario, it's side-lobes causes interference to the PUs, limiting their performance. The Federal Communications Commission's (FCC) Spectrum Policy Task Force has recommended a metric called the interference temperature which when exceeded causes harmful interference to the PU band. The issue of interference mitigation in the PU band is receiving increasing attention in recent literature [5–14]. In an OFDM-based SU system, the amount of interference to the PU band depends on the SU's sub-carrier parameters (power and bandwidth), the spectral distance between the SU's sub-carriers and the PU band, as well as the channel between the SU and PU. Bit loading (or constellation sizing or modulation) for CR imposes an additional condition that a given performance should be achieved in every sub-carrier. The SNR gap is used to measure the reduction of SNR (signal to noise ratio) with respect to the capacity; it depends on the target error probability required in every sub-carrier when it carries log_{2}(*M* ) bits per symbol, either QAM (quadrature amplitude modulation) or PSK (phase shift keying) modulated [15]. The sub-carrier bandwidth selection in OFDM is a trade-off between increasing the sub-carrier bandwidth to decrease the ICI, and reducing the bandwidth to mitigate ISI [16, 22]. In CR, the interference to the PU band is a function of the SU sub-carrier bandwidth; the optimum sub-carrier bandwidth is, therefore, the one that maximizes the SU throughput while mitigating the PU interference.

*adaptive sub-carrier bandwidth/allocation*[11, 23, 24], which actually refers to the assignment of sub-carriers to users in a multiple SU scenario, and not

*sub-carrier bandwidth sizing*.)

To detail the proposed scheme, the paper has been organized as follows: Section 30 presents related literature. Section 31 describes the system model and communication scenario for a single SU. Sections 33, 35, VI and VII describe the power allocation, bit loading, sub-carrier bandwidth sizing and combined optimization problems, respectively. Likewise, SectionsVIII-XII are dedicated to the corresponding multiple SU situation. It is followed by a complexity analysis of each of the proposed algorithms, in Section XIII. Section XIV presents exhaustive simulation results and their discussion, while Section XV concludes the paper.

## II. Related work

### A. Power allocation

Weiss et al. [5] have characterized the mutual interference between the PU and SU in an OFDM-based CR. Bansal et al. [6] have formulated the power allocation problem for a single SU with the objective of maximizing it's throughput while maintaining the interference to the entire PU band below a threshold, however, without a total power constraint. The model of Wang et al. [7] considers a single SU and multiple PUs; the system bandwidth is divided into sub-channels, and different PUs co-exist with the SU on each sub-channel. A path-loss model is used between the SU and PU to determine the peak power constraint of each sub-channel. Additionally, a total power constraint is included and the objective is to maximize the SU's capacity. The algorithm used is called *iterative partitioned water-filling*. The system model of Wang et al. [8] is similar to that of [7], however, they have additionally considered the side-lobe power in each SU sub-channel, contributed by the neighboring sub-carriers, in the optimization problem.

The situation for multiple SUs is more challenging, since it involves allotment of sub-carriers to users, besides power allocation, under the specified constraints. Münz et al. [25] and Jang et al. [26] have suggested strategies for multi-user power allocation with the objective of maximizing the total data rate. Shen et al. [27] have proposed power allocation with proportional fairness among the users. Wong et al. [23] and Kivanc et al. [24] have provided bit-loading and power allocation algorithms to minimize the total transmit power in the multi-user scenario.

Power allocation for multiple SUs in the CR scenario has also received considerable attention in recent literature. Chengshi et al. [9] have performed multi-user water-filling for CR. More recently, Shaat et al. [10] and Bansal et al. [11], have presented a Lagrangian formulation for maximizing the sum capacity of multiple SUs subject to a power budget and PU interference constraints. Since the combinatorial optimization problem is computationally complex, both references have proposed sub-optimal schemes. First the users are allocated SU sub-carriers based on the best channel conditions, and the interference constrained maximum power limit on each SU sub-carrier is computed; then a *cap-limited* water-filling is executed [10]. On the other hand, the users are allocated sub-carriers based on the channel-to-noise ratio (CNR), and the Lagrangian formulation is used to maximize the sum capacity of the SUs under the PU interference constraints [11].

### B. Bit loading

Two main classes of bit loading problems are: rate maximization (RM)--maximizing the data rate within a power budget; and margin maximization (MM)--minimizing power consumption given a target data rate [28]. The implementation of bit loading algorithms in literature fall into two broad categories. The first category of algorithms use numerical methods that employ Lagrangian optimization, resulting in real numbers for the bit loading ([23, 29, 30]). However, for practical constellation sizing, the number of bits allocated per sub-carrier is restricted to integer values, which imposes a combinatorial structure in the loading optimization problem. The second category of algorithms employ a discrete greedy method in order to obtain optimum integer bit allocation results ([31–38]). Bit loading for a multi-user OFDM scenario has been addressed by Wong et al. [23] and Huang et al. [39] for MM and RM problems, respectively.

In the CR context, the following work exists in literature: Tang et al. [12] have formulated a bit loading problem for multiple SUs, which is based on maximizing total system throughput under interference power constraint to PUs, individual data rate constraints for the SUs and total transmission power constraint. Cheng et al. [13] have used a game-theoretic approach to formulate a transmit power control game for CR, which jointly solves the bandwidth allocation, bit loading and power allocation problems. Budiarjo et al. [14] have used the Fischer and Huber algorithm [37] for bit-loading for a single SU, followed by Raised Cosine windowing to mitigate the side lobe interference to the PU.

### C. Sub-carrier bandwidth sizing

The most significant literature on sub-carrier bandwidth sizing is summarized in this section. Das et al. [16, 17] have proposed an approach for adaptive bandwidth for sub-carriers for single user OFDM and a multi-user scenario [18]. Zhang and Ma [19] have also proposed the implementation of variable sub-carrier bandwidth for a multi-user OFDM down-link scenario. Steendam and Moeneclaey [20], Harvatin and Ziemer [21], and Tufvesson and Maseng [22] have demonstrated the impact of varying the sub-carrier bandwidth on the system performance in a time and frequency-selective channel (either in terms of interference power or in terms of BER), but do not discuss the gains from dynamically adjusting the bandwidth.

We infer from our analysis of the aforementioned works in literature, that most of the power allocation algorithms for CR have considered the entire PU band as one, for characterizing the interference. This is not as effective as the proposed strategy of dividing the PU into sub-bands, and separately mitigating the interference to each of them. While the authors of [10] have characterized the interference to each PU sub-band, in their problem solution, only the spectrally closest PU band is considered for the interference constraint. Moreover, the channel gain from different SUs to each PU sub-band has been ignored in their formulation. In [11], a brute-force combinatorial approach is executed for power allocation, which has high computational complexity. In the proposed power allocation algorithm, we have jointly considered interference mitigation to each PU sub-band, within the power budget, while maximizing the throughput of the single SU, or the sum throughput in case of multiple SUs. The approach attempts to strike a balance between performance optimization and computational complexity. Similar considerations are applied for PU interference mitigation in the proposed bit loading and sub-carrier bandwidth sizing algorithms.

## III. System Model and Communication Scenario: Single SU

*N*

_{ s }be the number of active sub-carriers for the SU. The transmission opportunity is detected by the SU in the spectrum sensing phase of its cognitive cycle [1]. The channel power gain of the

*i*th sub-carrier on the link between the SU transmitter (Tx) and receiver (Rx) is denoted by

*h*

_{ i }. To efficiently control the interference to the PU, the PU spectrum is divided into

*N*

_{ p }sub-bands of equal width, and the gain of the

*j*th sub-band from the SU Tx to the PU Rx is given by

*g*

_{ j }. In the present work, we have considered an immobile SU, resulting in no Doppler spread. It is assumed that the frequency offset due to any other source is compensated [40], and consequently we ignore the effect of ICI. The mutual interference model between the PU and SU is assumed [5].

Resource allocation strategies in CR require that the channel state information (CSI) be known to the SU Tx. It is assumed that the SU Rx estimates the channel by measuring the received power of the pilot signals sent by the transmitter, and the CSI is fed back to the transmitter [41]. A robust and low-complexity protocol can be used for the feedback. A block fading propagation channel is assumed where the channel remains constant during the resource allocation and transmission process. The channel sensing and feedback is done once per coherence time. Estimating the channel between the PU Tx and SU Rx, as well as that between the SU Tx and PU Rx, is more challenging, and entails the use of blind estimation techniques [41].

in which *B* is the sub-carrier bandwidth, *T*_{
g
} is the duration of the guard interval, and *P*_{
i
} is the power allocated to the *i* th SU sub-carrier. ${\sigma}_{i}^{2}={\sigma}^{2}+{J}_{i}$, where *σ*^{2} is the Additive White Gaussian Noise (AWGN) variance, and *J*_{
i
} is the interference from the PU on the *i* th SU subcarrier. *J*_{
i
} depends on the power spectral density (PSD) of the PU and the channel gain between the PU Tx and SU Rx.

*j*

^{ th }PU sub-band is formulated as

where ${{T}_{s}}^{\prime}={T}_{s}+{T}_{g}$. ${{T}_{s}}^{\prime}$ is the total length of the symbol after adding the guard interval, *T*_{
s
} is the length of the symbol without the guard interval, and *f*_{
i
} represents the center frequency of the *i* th subcarrier. Sinc(*x*) is the mathematical function commonly defined by Sin(*πx*)*/*(*πx*).

## IV. Power allocation

In the power allocation problem, our objective is to maximize the SU throughput under a total node power constraint *P*_{
t
} , in such a way that the interference to the *j* th PU sub-band is less than a threshold ${I}_{th}^{j}$. ${I}_{th}^{j}={T}_{th}^{j}B{W}_{j}$, where ${T}_{th}^{j}$ is the interference temperature limit for the *j*^{
th
} PU sub-band and BW _{
j
} is its bandwidth. For simplicity of representation, we assume that the interference threshold is the same for all PU sub-bands and is denoted by *I*_{
th
} . The optimization problem can stated as

### Problem P1

*/*(

*Tg*+ 1

*/B*) in the expression for

*C*, is a constant in the power optimization problem, and is ignored in the above expression and all the subsequent analysis in this section.

*λ*

_{ j },

*μ*and

*β*

_{ i }are the Lagrangian multipliers. The problem is a convex optimization problem, and Karush-Kuhn-Tucker (KKT) conditions [42] are applied to find the optimum solution. Also, since we require

*P*

_{ i }≥ 0,

*β*

_{ i }is substituted as 0, due to the complementary slackness condition [42]. The optimum power allocation is given by [43] (which refers to our own previous work)

Though the above solution looks like water-filling, it is different from the conventional water-filling technique in the fact that each SU sub-carrier has a different water level.

We would like to note here that the problem formulation in [7] and [8] appear similar to the above problem (*P1*). However, the system model of the current work and that of the aforementioned references are significantly different--while the former considers the system bandwidth to be frequency division multiplexed by the PU and SU, the latter assumes the two entities to be spatially separate but occupying the same spectrum. In the problem formulation of [7], the inequality constraints are decoupled, making the problem simpler to solve using either an exhaustive search-based approach or an *iterative partitioned water-filling*. On the other hand, in the formulation of [8], the inequality constraints are coupled by the use of dependent variables. Its solution involves segregating the equality (binding) and inequality (non-binding) constraints for the given power budget using a search-based approach and computing the optimal solution from the equality constraints. This technique has a high computationally complexity. The proposed method attempts to find a low-complexity sub-optimum solution after a detailed analysis of the solution form.

*P1*) is convex with linear constraints, at the optimum point some constraints are binding, while the others are non-binding. If the power budget of the SU (

*P*

_{ t }) is too small, then that will be a binding constraint and all interference constraints are non-binding; the corresponding Lagrange multipliers (

*λ*

_{ j }) are zero and the solution looks like that of conventional water-filling with a constant water level:

*j*

^{ th }PU sub-carrier which receives the maximum interference will be responsible for the binding constraint; and the solution looks like

*g*

_{ j }

*Q*

_{ j, i }, to get

*cap-limited*water-filling. The solution takes the form

The solution to the above *N*_{
p
} equations cannot be obtained directly, and we propose an iterative algorithm (*Algorithm 1*) to achieve the objective of *P1*, given the interference constraints on each PU sub-band and the power budget.

### Algorithm 1

- 1)
*Initialize all λ*_{ j }*and μ*. - 2)
*Compute P*_{ i }*by substituting the above λ*_{ j }*and μ in (9)*.*Compute the total power allocated as P*_{ s }*=*∑*P*_{ i }*Calculate the interference caused to each PU sub-band, I*_{ j }*, as given by (2)*. - 3)
*For each PU sub-band calculate the difference between the interference generated and the threshold, as diff*_{ j }*= I*_{ j }*-I*_{ th }*. Calculate the difference between the total power allocated and the power budget, as diff*_{ p }*= P*_{ s }*-P*_{ t }. - 4)
*For each PU sub-carrier, If(diff*_{ j }*> 0)**λ*_{ j }*= λ*_{ j }*+ a*_{ j }** diff*_{ j }*end If**If(diff*_{ p }*> 0)**μ**= μ + b * diff*_{ p }*end If* - 5)
*If (diff*_{ j }*> 0) or (diff*_{ p }*> 0)**Goto Step2*.*Else**End Algorithm**end If*

In the first step of the algorithm, we initialize all *λ*_{
j
} and *μ*, such that the resultant power allocation violates one or all of the constraints. In the subsequent steps, we update the Lagrange multipliers *λ*_{
j
} and *μ* in proportion to diff _{
j
} and diff _{
p
} respectively. *a*_{
j
} and *b* are the step sizes; *a*_{
j
} = diff _{
j
}*/max*(*diff*_{
j
} ) and *b* = 1*/N*_{
s
} . The process is iteratively repeated until all the constraints are satisfied.

## V. Bit loading

*i*

^{ th }OFDM sub-carrier is given by [44]

*gap approximation*formula [44, 15], based on the target probability of error (

*P*

_{ e }). M-ary QAM (M-QAM) is a preferred choice of modulation, because it is more energy efficient than M-ary PSK (M-PSK) while retaining the same bandwidth-efficiency. When rectangular M-QAM is deployed (

*b*

_{ i }∈ 2, 4, 6, ...), we can write [45]

*Q*

^{-1}is the inverse of the well-known Q function given by

For non-rectangular QAM signal constellations (*b*_{
i
} ∈ 3, 5, 7, ...), the SNR gap is given by (19) without the equality [45]. In the case of BPSK, the SNR gap is approximated by [*Q*^{-1}(*P*_{
e
} /4)]^{2}*/* 2, which is slightly larger than the right hand side of (19). However, for simplicity and practicality, (19) with the equality sign is used to approximate the SNR gap for *b*_{
i
} ∈ ℤ_{+}[45].

The optimization problem for bit-loading can stated as

### Problem P2

*P2*) is a combinatorial optimization problem [28]; to make it tractable, the integer constraint is relaxed to

The problem is now equivalent to the single user power allocation problem (*P1*), and the solution to it is characterized the way it has been done in Section IV. We propose a few iterative algorithms, with varying degrees of trade-off between optimality of solution and computational complexity.

The first of the proposed bit loading algorithms comprises two steps; to start with, the power allocation *P*_{
i
} is computed using *Algorithm 1*, and the corresponding bit-load *b*_{
i
} is obtained from (18). These are, however, real values. The next step, is to round the real values to the nearest higher integer, for practical constellation sizing. This may cause the interference or power constraint, or both to be violated. Therefore, a greedy bit-removal is executed till both the constraints are met. The complete algorithm operates as follows:

### Algorithm 2

- 1)
*Compute the transmit power P*_{ i }*using Algorithm 1, and the corresponding bit-load bi using (18)* - 2)
*b*_{ i }*= ceil(b*_{ i }*), where ceil() represents rounding to the nearest higher integer*. - 3)
*Calculate the transmit power P*_{ i }*corresponding to the quantized b*_{ i }*using (25), and the interference caused to each PU sub-band, I*_{ j }*, using (2)*.*Compute the total power allocated as P*_{ s }*=*∑*P*_{ i } - 4)
*If*{*(P*_{ s }*> P*_{ t }*) OR (I*_{ j }*> I*_{ th }*(for any j))*}{

*While*{*I*_{ j }*> I*_{ th }∀*j*}*Do*{

*Compute the power saved in removing one bit from the i*^{ th }*SU subcarrier as*$\Delta {P}_{i}=\frac{1}{{\alpha}_{i}}{2}^{{b}_{i}-1}$.*Compute the reduced interference in the j*^{ th }*PU sub-band due to removal of one bit from every i*^{ th }*SU sub-carrier as*Δ*I*_{ j, i }=*g*_{ j }Δ*P*_{ i }*Q*_{ j, i }*, which is a vector of size N*_{ p }×*N*_{ s }.*Compute the maximum element of the vector*Δ*I*_{ j, i }*, max*{Δ*I*_{ j, i }}*, and remove a bit from the sub-carrier identified by the corresponding column index i*.*Update the bit allocation profile b*_{ i }*and the corresponding power allocation profile P*_{ i }.}

*While*{*P*_{ s }*> P*_{ t }}*Do*{

*Compute the power saved in removing one bit from the i*^{ th }*SU subcarrier as*$\Delta {P}_{i}=\frac{1}{{\alpha}_{i}}{2}^{{b}_{i}-1}$.*Remove one bit from the sub-carrier that corresponds to the highest*Δ*P*_{ i }.*Update the bit allocation profile b*_{ i }*, and the corresponding power allocation profile P*_{ i }.*Compute the total power allocated as P*_{ s }*=*∑*P*_{ i }.}

}

*end If*.

Motivated by the need to reduce the computational complexity associated with *Algorithm 2* (due to the iterative power allocation process of *Algorithm 1* in its *Step 1*), we also propose a simple greedy bit allocation process with two passes. In the first pass bit-loading is executed till the power constraint is met; and in the second pass, bit-removal is performed till the interference constraint is satisfied. The algorithm is as follows:

### Algorithm 3

- 1)
*Initialize the bits allocated to each sub-carrier b*_{ i }*to zero*.*Compute the corresponding power allocation P*_{ i }*using (25), and the total power allocation as P*_{ s }*=*∑*P*_{ i }. - 2)
*While*{*P*_{ s }*< P*_{ t }}*Do*{

*Compute the power required to add one bit to the i*^{ th }*SU subcarrier as*$\Delta {P}_{i}=\frac{1}{{\alpha}_{i}}{2}^{{b}_{i}}$.*Add one bit to the sub-carrier that corresponds to the lowest*Δ*P*_{ i }.*Update the bit allocation profile b*_{ i }*and the corresponding power allocation profile P*_{ i }.*Compute the total power allocated as P*_{ s }*=*∑*P*_{ i }.}

- 3)
*Compute the interference caused to each PU sub-band, I*_{ j }*, using (2)*. - 4)
*While*{*I*_{ j }*> I*_{ th }∀_{ j }}*Do*{

*Compute the power saved in removing one bit from the i*^{ th }*SU subcarrier as*$\Delta {P}_{i}=\frac{1}{{\alpha}_{i}}{2}^{{b}_{i}-1}$.*Compute the reduced interference in the j*^{ th }*PU sub-band due to removal of one bit from every i*^{ th }*SU sub-carrier as*Δ*I*_{ j, i }=*g*_{ j }Δ*P*_{ i }*Q*_{ j, i }*, which is a vector of size N*_{ p }×*N*_{ s }.*Compute the maximum element of the vector*Δ*I*_{ j, i }*, max*{Δ*I*_{ j, i }}*, and remove a bit from the sub-carrier identified by the corresponding column index i*.*Update the bit allocation profile b*_{ i }*, the corresponding power allocation profile P*_{ i }*, and the interference caused to each PU sub-band, I*_{ j }}

The execution of two passes can be further condensed to a single loop, which executes till both the power and interference constraints are met. This is rendered possible in *Algorithm 4*, by the introduction of a new metric, viz, power weighted by the spectral distance from the PU band.

### Algorithm 4

- 1)
*Initialize the bits allocated to each sub-carrier b*_{ i }*to zero*.*Compute the corresponding power allocation P*_{ i }*, and the total power allocation as P*_{ s }*=*∑*P*_{ i }.*Compute the interference caused to each PU sub-band, I*_{ j }*, using (2)*. - 2)
*While*{*(P*_{ s }*< P*_{ t }*) AND (I*_{ j }*< I*_{ th }∀*j)*}*Do*{

*Compute the metric*Δ*WP*_{ i }= Δ*P*_{ i }*/d*_{ i }*, which represents the power saved in removing one bit from the i*^{ th }*SU subcarrier weighted by the distance of the i*^{ th }*sub-carrier from the PU band*.*Add one bit to the sub-carrier that corresponds to the lowest*Δ*WP*_{ i }.*Update the bit allocation profile b*_{ i }*, the corresponding power allocation profile P*_{ i }*, and the interference caused to each PU sub-band, I*_{ j }*Compute the total power allocated as P*_{ s }*=*∑*P*_{ i }.}

The proposed algorithms have been compared on the basis of their computational complexity and performance in Section XIII and XIV, respectively. Intuitively, we can expect *Algorithm 2* to give the best performance, since its solution is obtained from the optimization problem. But it is associated with high complexity. *Algorithm 3* entails bit-removal till the PU interference constraint is met without any compensatory bit-addition in some other sub-carrier to improve the throughput. Consequently its performance will be inferior to *Algorithm 2*. *Algorithm 4*, though computational the simplest, will result in poorer performance as compared to the previous two algorithms because of weighting Δ*P*_{
i
} with *d*_{
i
} , which may not always give the desired result. For instance, if Δ*P*_{
i
} is very small and *d*_{
i
} is small, it may result in an overall low value of the metric causing a bit to be added on that sub-carrier at the cost of increased PU interference.

## VI. Sub-carrier bandwidth sizing

The OFDM sub-carrier bandwidth should be greater than the Doppler spread of the channel and less than the coherence bandwidth. An increase in the bandwidth results is a corresponding increase in the throughput (1) unto a certain point, after which the throughput falls due to a drop in the bandwidth efficiency. In a CR scenario, the sub-carrier bandwidth also impacts the PU interference. Increasing the bandwidth implies decreasing the number of sub-carriers, and thereby, the node power is distributed among lesser sub-carriers; a higher power in each sub-carrier generates higher side-lobe interference in the PU band. Consequently, as the bandwidth increases, the interference to the PU band increases, within a fixed power budget. This has been observed during simulation study and the results are plotted in Sect. XIV.

In the optimum sub-carrier bandwidth sizing problem for an OFDM-based CR, the objective is to maximize the SU throughput under a power budget and PU interference constraint. It can be posed as follows:

### Problem P3

The first two constraints are the same as those of Equations 4 and 5, but are repeated for completeness. Δ*f*_{
c
} is the coherence bandwidth of the channel. Since presently mobility is not considered, the bandwidth is lower bounded by 0 (in the case of mobile SUs, the bandwidth *B* should be greater than the Doppler spread of the channel). To solve the above problem for the optimum bandwidth *B**, the sub-carrier power is considered to be uniform, i.e. *P*_{
i
} = *P*_{
t
} */N*_{
s
} . However, it is possible that none of the values of bandwidth satisfy the PU interference constraint within the given power budget, and consequently the solution to the above problem does not exist. Only if the power budget is very small, some value of bandwidth may satisfy the interference constraint. Therefore, both the sub-carrier bandwidth and power need to be varied to arrive at an optimum OFDM configuration which meets the interference constraint, within the power budget, while maximizing the achievable throughput. The problem entails solving for *B** and ${P}_{i}^{*}$, and can be posed as

### Problem P4

*P3*, and additionally

*B*, as follows:

where BW is the total system bandwidth.

*P4*) has a combination of linear and non-linear (polynomial in

*B*) constraints. It has been analyzed to form a convex optimization problem (though the proof has not been included). Its Lagrangian will look like

where *κ*_{
j
}*, χ, ω* and *ψ*_{
i
} are the Lagrangian multipliers. Applying KKT conditions to solve the problem results in complex non-linear equations (as discussed in Appendix A), which cannot be solved directly. A graphical, as well as intuitive analysis of the variation of sub-carrier bandwidth (in discrete steps of *N*_{
s
} ) with corresponding power allocation uniformly (*P*_{
i
} = *P*_{
t
} /*N*_{
s
} ), by water-filling, and by *Algorithm 1*, reveals its relation with the achievable throughput. Unto a certain point, an increase in bandwidth results in a corresponding increase in throughput; after which, any further increase results in the symbol duration becoming relatively smaller than the guard interval, and the bandwidth efficiency reduces. The proposed iterative algorithm is motivated by this discussion; it is a search-based approach, in which, initially the throughput is computed in larger steps of *N*_{
s
} , with the power allocation at every point obtained from *Algorithm 1* (which ensures the PU interference constraint being met within the power budget). Then a finer search is executed to look for the global optima. *N*_{
s
} (number of sub-carriers) is the preferred choice of variable, as compared to *B*, due to its integer granularity. The two are related as given by (33). The algorithm is as follows:

### Algorithm 5

- 1)
*Initialize the sub-carrier bandwidth to its maximum value, i.e. B =*Δ*f*_{ c }. - 2)
*Calculate the corresponding number of sub carriers as*${N}_{{s}_{min}}$*, using (33)*. - 3)
*Initialize C*_{ prev }(*P*_{ i })*=C*_{ new }(*P*_{ i })*=0 (where C*(*P*_{ i })*represents the achievable throughput obtained from (1))*.*Initialize the number of sub-carriers*${N}_{s}={N}_{{s}_{min}}$*While*{*C*_{ prev }(*P*_{ i })*<*=*C*_{ new }(*P*_{ i })}*Do*{

*C*_{ prev }(*P*_{ i })*=C*_{ new }(*P*_{ i })*Increment the number of sub-carriers with some suitable step-size s, i.e. N*_{ s }*= N*_{ s }*+s.**Find the power allocation P*_{ i }*using Algorithm 1*.*Calculate throughput C*_{ new }(*P*_{ i })*using (1)*.}

- 4)
*N*_{ s }*= N*_{ s }*-s*.*Calculate the throughput for the number of sub-carriers N*_{ s }*, N*_{ s }*+1, N*_{ s }*-1 and represent them C*_{ Ns }(*P*_{ i }),*C*_{Ns+1}(*P*_{ i })*, C*_{Ns-1}(*P*_{ i })*, respectively, using Algorithm 1 and (1)*. - 5)
*While*{*(C*_{ Ns }(*P*_{ i }) < (*C*_{Ns+1}(*P*_{ i })*)**OR**(C*_{ Ns }(*P*_{ i }) <*C*_{Ns-1}(*P*_{ i })*)*}*Do*{

*s = ceil(s/2)**If*{*C*_{ Ns }(*P*_{ i }) <*C*_{Ns+1}(*P*_{ i })}*N*_{ s }*= N*_{ s }*+s*.*end If**If*{*C*_{ Ns }(*P*_{ i }) <*C*_{Ns-1}(*P*_{ i })}*N*_{ s }*= N*_{ s }*-s*.*end If**Calculate throughput for the number of sub-carriers N*_{ s }*, N*_{ s }*+1, N*_{ s }*-1 and represent them as C*_{ Ns }(*P*_{ i })*, C*_{Ns+1}(*P*_{ i })*, C*_{Ns-1}(*P*_{ i })*, respectively, using Algorithm 1 and (1)*.}

- 6)
*N*_{ sopt }*= N*_{ s }*, and the corresponding sub-carrier bandwidth B*_{ opt }*is obtained using (33)*.

## VII. Sub-carrier power allocation, bandwidth sizing and bit loading

After having addressed the power allocation, bit loading and bandwidth sizing individually, we formulate the problem of doing all the three together, for an OFDM-based CR, with the objective of maximizing the SU throughput. It is as follows:

### Problem P5

subject to the PU interference constraint (4), power budget (23), the integer bit granularity (24), and bounds on the sub-carrier bandwidth (30).

The proposed algorithm first computes the power allocation and sub-carrier bandwidth using the strategy discussed in the previous section. The corresponding bit load are real values, which are rounded to the nearest higher integer, and a greedy bit removal is executed till the power and PU interference constraint are met.

### Algorithm 6

- 1)
*Compute the optimum power allocation P*_{ i }*and sub-carrier bandwidth B using Algorithm 5*. - 2)
*Compute the corresponding bit load b*_{ i }*using (18)*. - 3)
*Execute Step 2 onwards of Algorithm 2*.

## VIII. System Model and Communication Scenario: Multiple SUs

*K*SU transceivers, and the PU is in the radio range of all of them (Figure 3). The assumptions on the propagation channel are the same as in the single user case (Sect. III). The multi-user scenario is more complex than the single user situation, since it involves assigning sub-carriers to users, besides allocating power under the given constraints. The throughput of the

*k*th user on the

*i*th sub-carrier is defined as

where *p*_{
k, i
} is the power allocated to the *i* th sub carrier assigned to the *k* th user, and *h*_{
k, i
} is channel power gain of *k* th user on *i* th sub carrier.

*N*

_{ s }active SU sub-carriers will be assigned to the various users, while optimizing the sum throughput under a power budget and an interference constraint on each PU sub-band. The sum throughput is given by

All the CSI estimated at the receivers, is now required to be sent to a centralized controller, which is responsible for coordinating the resource allocation in the multi-user CR network. A centralized mode involves considerable signaling overheads, especially in fast fading environments. In a slow fading environment as is assumed in this work, the centralized architecture will compensate for the overheads with near-optimum solutions.

*Note: To avoid complexity of notations, we have used the same variables (for the Lagrangian multipliers) for the single and multi-user cases. Their values will, however, depend on the specific problem*.

## IX. Power allocation (Multiple SUs)

*ζ*

_{ k, i }=

*p*

_{ k, i }*

*ρ*

_{ k, i }

Our objective is to maximize the sum throughput, given the total power budget on all users *P*_{
t
} , and the interference constraint on each PU sub-band. The problem is posed as

### Problem P6

*g*

_{ k, j }is the channel power gain between

*k*

^{ th }SU and

*j*

^{ th }primary band.

*i*to that user

*k*that will maximize the function H

_{ k, i }, i.e.

Next, we compute the power on each SU sub-carrier using (48). This looks like a water-filling solution with different water levels, as in the case of a single user. But it can be inferred from (48)-(51), that for multiple SUs, the sub-carrier assignment and power allocation are not independent of each other and the solution to the equations cannot be obtained directly. *H*_{
k, i
} is proportional to the ratio of the channel gain of the *k*^{
th
} user on the *i*^{
th
} sub-carrier to the cumulative interference of all the *N*_{
p
} PU bands, weighted by the corresponding Lagrangian multipliers *λ*_{
j
} . *H*_{
k, i
} will be used as the metric to assign sub-carriers to users in the proposed power allocation algorithm (*Algorithm 7*). The proposed algorithm is devised to iteratively assign sub-carriers and allocate the powers till neither the interference or power constraints are violated.

### Algorithm 7

- 1)
*Initialize all λ*_{ j }*and μ*. - 2)
*Initialize λ*_{ jold }*and μ*_{ old }*to zero*. - 3)
*Assign each sub-carrier i to that user k that will maximize the function H*_{ k, i }. - 4)
*Compute ξ*_{ k, i }*by substituting the above λ*_{ j }*and μ in (48)*.*Compute the total power allocated as P*_{ s }*=*∑_{ k }∑_{ i }ζ_{k, i}*Calculate the interference caused to each PU sub-band, I*_{ j }*(from left hand side of (42))*. - 5)
*For each PU sub-band calculate the difference between the interference generated and the threshold, as diff*_{ j }*= I*_{ j }*-I*_{ th }*. Calculate the difference between the total power allocated and the power budget, as diff*_{ p }*= P*_{ s }*-P*_{ t }. - 6)
λ

_{ jold }*= λ*_{ j }*∀*_{ j }*and μ*_{ old }*= μ**If(max(diff*_{ j }*) < 0) and (diff*_{ p }*< 0)**λ*_{ j }*= (λ*_{ jold }*+λ*_{ j }*)/2*∀*j**μ = (μ*_{ old }*+μ)/2**Goto Step3*.*end If* - 7)
*For each PU sub-carrier, If(diff*_{ j }*> 0)**λ*_{ j }*= λ*_{ j }*+ a*_{ j }** diff*_{ j }*end If**If(diff*_{ p }*> 0)**μ**= μ + b * diff*_{ p }*end If* - 8)
*If (diff*_{ j }*> 0) or (diff*_{ p }*> 0)*

*Goto Step3*.

*Else*

*End Algorithm*

*end If*

The step sizes *a*_{
j
} and *b* are the same as those defined in *Algorithm 1*.

## X. Bit loading (Multiple SUs)

The objective of the bit loading problem is the same as the corresponding single user case, i.e. *Problem P2*, additionally requiring the sub-carriers to be assigned to the *K* users. The problem is posed as

### Problem P7

*ε*

_{ k, i }=

*b*

_{ k, i }*

*ρ*

_{ k, i }(

*ρ*

_{ k, i }is described in (40))

*g*

_{ k, j }is the channel power gain between

*k*

^{ th }SU and

*j*

^{ th }PU band.

The problem becomes equivalent to the multi-user power allocation problem (*P6*). Similar to the single user bit-loading, we propose iterative algorithms to arrive at the optimum integer bit allocation for practical constellation sizing. The first such algorithm (*Algorithm 8*) computes the power allocation using *Algorithm 7* and rounds the corresponding bit load to the nearest higher integer. Then a greedy bit-removal is executed till both the power and interference constraints are met.

### Algorithm 8

- 1)
*Compute the transmit power, ζ*_{ k', i }*, using Algorithm 7*.*Compute the corresponding bit-load ε*_{ k', i }*using (59)*.*The subscript k'**indicates the optimum user assignment on the i*^{ th }*subcarrier using ρ*_{ k, i }. - 2)
*ε*_{ k', i }*= ceil(ε*_{ k', i }*), where ceil() represents rounding to the nearest higher integer*. - 3)
*Calculate the transmit power, ζ*_{ k', i }*, corresponding to the quantized b*_{ k', i }*using (59), and the interference caused to each PU sub-band, I*_{ j }*, using the left hand side of (42)*.*Compute the total power allocated as P*_{ s }*=*∑_{ i }ζ_{k', i} - 4)
*If*{*(P*_{ s }*> P*_{ t }*) OR (I*_{ j }*> I*_{ th })}{

*While*{*I*_{ j }*> I*_{ th }∀_{ j }}*Do*{

*Compute the power saved in removing one bit from the i*_{ th }*SU subcarrier as*$\Delta {\zeta}_{{k}^{\prime},i}=\frac{1}{{\alpha}_{{k}^{\prime},i}}{2}^{{\epsilon}_{{k}^{\prime},{i}^{-1}}}$*, where*${\alpha}_{{k}^{\prime},i}=\frac{{h}_{{k}^{\prime},i}}{{\sigma}_{i}^{2}\Gamma}$*Compute the reduced interference in the j*^{ th }*PU sub-band due to removal of one bit from every i*^{ th }*SU sub-carrier as*Δ*I*_{ j, i }=*g*_{ k', j }Δ*ζ*_{ k', i }*Q*_{ j, i }*, which is a vector of size N*_{ p }×*N*_{ s }.*Compute the maximum element of the vector*Δ*I*_{ j, i }*, max*{Δ*I*_{ j, i }}*, and remove a bit from the sub-carrier identified by the corresponding column index i*.*Update the bit allocation profile, ε*_{ k' , i }*and the corresponding power allocation profile, ζ*_{ k' , i }.}

*While*{*P*_{ s }*> P*_{ t }}*Do*{

*Compute the power saved in removing one bit from the i*^{ th }*SU subcarrier as*$\Delta {\zeta}_{{k}^{\prime},i}=\frac{1}{{\alpha}_{{k}^{\prime},i}}{2}^{{\epsilon}_{{k}^{\prime},{i}^{-1}}}$ .*Remove one bit from the sub-carrier that corresponds to the highest*Δ*ζ*_{ k' , i }.*Update the bit allocation profile, ε*_{ k' , i }*and the corresponding power allocation profile, ζ*_{ k' , i }.*Compute the total power allocated as P*_{ s }*=*∑_{ i }*ζ*_{ k' , i }.}

}

*end If*.

The next algorithm (*Algorithm 9*), on the other hand, involves a greedy bit allocation which reduces the computational complexity. In its first pass, bit-loading is executed till the power constraint is met; and in the second pass, bit-removal is performed till the interference constraint is satisfied. The algorithm is as follows:

### Algorithm 9

- 1)
*Compute the metric h*(*k, i*)*/*∑_{ j }*g*(*k, j*)*, which is a vector of size K*×*N*_{ s }. - 2)
*Identify the maximum element of each column, and corresponding row index k' denotes the assignment of that user to the i*^{ th }*sub-carrier*. - 3)
*Initialize the bits allocated to each i*^{ th }*sub-carrier, b*_{ k' , i }*to zero*.*Compute the corresponding power allocation p*_{ k' , i }*, and the total power allocation as P*_{ s }*=*∑_{ i }*p*_{ k' , i. } - 4)
*While*{*P*_{ s }*< P*_{ t }}*Do*{

*Compute the power required to add one bit to the i*^{ th }*SU subcarrier as*$\Delta {p}_{{k}^{\prime},i}=\frac{1}{{\alpha}_{{k}^{\prime},i}}{2}^{{b}_{{}_{{k}^{\prime},i}}}$ .*Add one bit to the sub-carrier that corresponds to the lowest*Δ*p*_{ k' , i }.*Update the bit allocation profile, b*_{ k' , i }*and the corresponding power allocation profile, p*_{ k' , i }.*Compute the total power allocated as P*_{ s }*=*∑_{ i }*p*_{ k' , i }.}

- 5)
*Compute the interference caused to each PU sub-band, I*_{ j }*, using left hand side of (42)*. - 6)
*While*{*I*_{ j }*> I*_{ th }∀*j*}*Do*{

*Compute the power saved in removing one bit from the i*^{ th }*SU subcarrier as*$\Delta {p}_{{k}^{\prime},i}=\frac{1}{{\alpha}_{{k}^{\prime},i}}{2}^{{b}_{{}_{{k}^{\prime},i}}-1}$ .*Compute the reduced interference in the j*^{ th }*PU sub-band due to removal of one bit from every i*^{ th }*SU sub-carrier as as*Δ*I*_{ j, i }=*g*_{ k' , j }Δ*p*_{ k' , i }*Q*_{ j, i }*, which is a vector of size N*_{ p }×*N*_{ s }.*Compute the maximum element of the vector*Δ*I*_{ j, i }*, max*{Δ*I*_{ j, i }}*, and remove a bit from the sub-carrier identified by the corresponding column index i*.*Update the bit allocation profile, b*_{ k' , i }*, the corresponding power allocation profile, p*_{ k' , i }*, and the interference caused to each PU sub-band, I*_{ j }}

The execution of the two passes can be further condensed to a single loop, which executes till both the power and interference constraints are met. *Algorithm 10* achieves that by using the power weighted by the distance from the PU band, as its metric.

### Algorithm 10

- 1)
*Compute the metric h*(*k, i*)*/*∑_{ j }*g*(*k, j*)*, which is a vector of size K*×*N*_{ s }. - 2)
*Identify the maximum element of each column, and corresponding row index k' denotes the assignment of that user to the i*^{ th }*sub-carrier*. - 3)
*Initialize the bits allocated to each i*^{ th }*sub-carrier, b*_{ k' , i }*to zero*.*Compute the corresponding power allocation p*_{ k' , i }*, and the total power allocation as P*_{ s }*=*∑_{ i }*p*_{ k' , i }.*Compute the interference caused to each PU sub-band, I*_{ j }*, using the right hand side of (42)*. - 4)
*While*{*(P*_{ s }*< P*_{ t }*) AND (I*_{ j }*< I*_{ th })}*Do*{

*Compute the metric*Δ*W P*_{ k' , i }= Δ*p*_{ k' , i }/*d*_{ i }*, which represents the power spent in adding one bit to the i*^{ th }*SU subcarrier weighted by the distance of the i*^{ th }*sub-carrier from the PU band*.*Add one bit to the sub-carrier that corresponds to the lowest*Δ*W P*_{ k' , i }.*Update the bit allocation profile, b*_{ k' , i }*, the corresponding power allocation profile, p*_{ k' , i }*, and the interference caused to each PU sub-band, I*_{ j }*Compute the total power allocated as P*_{ s }*=*∑_{ i }*p*_{ k' , i. }}

## XI. Sub-carrier bandwidth sizing (Multiple SUs)

The sub-carrier bandwidth sizing problem for multiple SUs entails computing the assignment of sub-carriers to the users, and the optimum power and bandwidth that will maximize the sum throughput, subject to a net power budget and PU interference constraint. The problem is formulated as

### Problem P8

The non-linearity of the equations associated with the problem solution (as explained for the corresponding single user case in Appendix XV), coupled with the task of assigning sub-carriers to the multiple users, make the problem extremely complex. To make the problem tractable, a search-based algorithm is executed, in discrete steps of *N*_{
s
} , to identify that the value of the sub-carrier bandwidth, which will maximize the net throughput of the SUs, within the power budget, while mitigating the PU interference. The algorithm is as follows:

### Algorithm 11

- 1)
*Initialize the sub-carrier bandwidth to its maximum value, i.e. B =*Δ*f*_{ c }. - 2)
*Calculate the corresponding number of sub carriers as*${N}_{{s}_{min}}$*using 33*. - 3)
*Initialize*${C}_{{m}_{prev}}\left({p}_{k,i}\right)={C}_{{m}_{new}}\left({p}_{k,i}\right)=0$*(where C*_{ m }(*p*_{ k, i })*represents the achievable throughput obtained from (38))*.*Initialize the number of sub-carriers*${N}_{s}={N}_{{s}_{min}}$*While*$\left\{{C}_{{m}_{prev}}\left({p}_{k,i}\right)<={C}_{{m}_{new}}\left({p}_{k,i}\right)\right\}$*Do*{

${C}_{{m}_{prev}}\left({p}_{k,i}\right)={C}_{{m}_{new}}\left({p}_{k,i}\right)$

*Increment the number of sub-carriers with a suitable step-size s, i.e. N*_{ s }*= N*_{ s }*+s*.*Find the assignment of sub-carriers to users and the power allocation using Algorithm 7*.*Calculate throughput*${C}_{{m}_{new}}\left({p}_{k,i}\right)$*using (38)*.}

- 4)
*N*_{ s }*= N*_{ s }*-s*.*Calculate the throughput for the number of sub-carriers N*_{ s }*, N*_{ s }*+1, N*_{ s }*-1 and represent them as*${C}_{{m}_{Ns}}\left({p}_{k,i}\right)$*,*${C}_{{m}_{Ns+1}}\left({p}_{k,i}\right)$*,*${C}_{{m}_{Ns-1}}\left({p}_{k,i}\right)$*, respectively, using Algorithm 7 and (38)*. - 5)
*While*{*(C*_{ Ns }(*p*_{ k, i }) <*C*_{Ns+1}(*p*_{ k, i })*)**OR**(C*_{ Ns }(*p*_{ k, i }) <*C*_{Ns-1}(*p*_{ k, i })*)*}*Do*{

*s = ceil(s/2)**If*{*C*_{ Ns }(*p*_{ k, i }) <*C*_{Ns+1}(*p*_{ k, i })}*N*_{ s }*= N*_{ s }*+s*.*end If**If*{*C*_{ Ns }(*p*_{ k, i }) <*C*_{Ns-1}(*p*_{ k, i })}*N*_{ s }*= N*_{ s }*-s*.*end If**Calculate throughput for the number of sub-carriers N*_{ s }*, N*_{ s }*+1, N*_{ s }*-1 and represent them as*${C}_{{m}_{Ns}}\left({p}_{k,i}\right)$*,*${C}_{{m}_{Ns+1}}\left({p}_{k,i}\right)$*,*${C}_{{m}_{Ns-1}}\left({p}_{k,i}\right)$*, respectively, using Algorithm 7 and (39)*.}

- 6)
*N*_{ sopt }*= N*_{ s }*, and the corresponding sub-carrier bandwidth B*_{ opt }*is obtained using (33)*.

## XII. Sub-carrier power allocation, bandwidth sizing and bit loading (Multiple SUs)

subject to the PU interference constraint (42), power budget (55), the integer bit granularity (57), bounds on the sub-carrier bandwidth (30), and the integer variable for assigning sub-carriers to users (44).

The iterative algorithm which is meant to solve for optimum power allocation, bit load and sub-carrier bandwidth, operates as follows:

### Algorithm 12

- 1)
*Compute the optimum power allocation p*_{ k, i }*and sub-carrier bandwidth B using Algorithm 11*. - 2)
*Compute the corresponding bit load b*_{ k, i }*using (59), and ε*_{ k, i }*= b*_{ k, i }**ρ*_{ k, i }. - 3)
*Execute Step 2 onwards of Algorithm 8*.

## XIII. Complexity Analysis

In this section, we analyze the worst-case computational complexity of each of the proposed algorithms.

### A. Single User Algorithms

*O*(

*N*log

*N*), where

*N*is the number of sub-carriers that are sorted in the order of their channel gain-to noise ratio [28]. The proposed power allocation algorithm for a single SU in the CR scenario (

*Algorithm 1*) is an iterative process which starts from some initial values of the Lagrangian multipliers

*μ*and

*λ*

_{ j }, and converges when both the PU interference constraint and power budget are satisfied. Let

*C*

_{1}and

*C*

_{2}represent the initial total power (∑

*P*

_{ i }) and initial maximum interference among all the PU sub-bands (max

*I*

_{ j }), respectively. Then, since each iteration entails

*N*

_{ p }×

*N*

_{ s }computations, the complexity of this algorithm is given by

*Algorithm 2*) obtains non-real values of the bit allocation using Lagrangian multiplier optimization, followed by rounding to the nearest higher integer and then a greedy bit removal till both the PU interference constraint and power budget are satisfied. Each greedy bit-removal from

*N*

_{ s }SU sub-carriers involves

*N*

_{ p }×

*N*

_{ s }computations. Thus, the computational complexity is given by

*O*(

*B*

_{ tar }

*N*) and

*O*((

*B*

_{ max }

*- B*

_{ tar })

*N*), respectively. In the proposed greedy bit-addition algorithm for CR (

*Algorithm 3*), we start with an all zeros allocation and add bits till the power budget is met. This involves log(

*P*

_{ t }×

*CNR*) iterations, where CNR represents the maximum channel-to-noise ratio among all the SU sub-carriers. Then, the algorithm executes a greedy bit-removal till the PU interference constraint is met. The complexity of

*Algorithm 3*is given by

*Algorithm 3*,

*Algorithm 4*has condensed the two passes into a single pass which executes till both the constraints are satisfied. Its complexity is given by

Out of the three proposed bit loading algorithms, *Algorithm 2* has the highest computational complexity. This is followed by *Algorithm 4* and *Algorithm 3* in that order. It can be attributed to the following facts: *Algorithm 2* involves calculation *P*_{
i
} using *Algorithm 1*, and hence the overall number of iterations are very high. *Algorithm 3* initially entails a conventional greedy bit-addition pass which has complexity *O*(*N*_{
s
} ) in each iteration, and is followed by a greedy bit-removal pass with a complexity *O*(*N*_{
p
}*N*_{
s
} ) in each iteration. The second pass will involve very few iterations, unless the power budget is very high. On the other hand, in *Algorithm 4*, each essential iteration requires a complexity *O*(*N*_{
p
}*N*_{
s
} ).

*Algorithm 5*) involves two passes: in the first pass a crude search is conducted with a relatively larger step size of

*N*

_{ s }, followed by a fine search to look for the global optima. The computational complexity of the complete algorithm is therefore given by

in which *X* and *Y* represent the complexities of the crude search and fine search respectively.

*N*

_{ s }using

*Algorithm 1*. If we denote $\frac{{N}_{{s}_{max}}-{N}_{{s}_{min}}}{s}$ as

*S*

_{ N }, then

*N*

_{ s },

*N*

_{ s }+ 1 and

*N*

_{ s }

*-*1 in each iteration. Thus, we get

*Algorithm 6*uses

*Algorithm 5*for power allocation and bandwidth sizing, which is followed by greedy bit-removal using

*Algorithm 2*. Thus, its computational complexity is given by

where ${N}_{{s}_{\mathsf{\text{opt}}}}$ represents the number of sub-carriers corresponding to the optimum bandwidth.

### B. Multiple User Algorithms

*Algorithm 7*) entails assigning sub-carriers to the

*K*SUs, besides the power allocation. Hence, its complexity is given by

*Algorithm 8*) is given by

The complexity of *Algorithm 9* and *Algorithm 10* will be the same as the corresponding single-user algorithms (*Algorithm 3* and *Algorithm 4*). As such, their complexities are given by (72) and (73), respectively. This is because, in these two algorithms assigning sub-carriers to users is not an iterative process, rather is computed once at the beginning of the algorithms.

*Algorithm 11*) also involves assigning sub-carriers to the

*K*SUs, and its complexity is given by (referring to the corresponding single-user algorithm complexity in (74))

*Algorithm 12*, which involves power allocation, bandwidth sizing and bit loading for multiple SUs is given by (referring to the corresponding single-user algorithm complexity in (81))

## XIV. Simulation Results and Discussion

### A. Single user

#### Power Allocation

For the single user case, we assume that the total system bandwidth for the PU and SU is 6 MHz wide, of which the SU occupies a contiguous band of 5 MHz, while the PU occupies 1 MHz bandwidth. The SU transceiver uses 32 sub-carrier OFDM for communication. The channels undergo Rayleigh multi-path fading, defined in the time domain by $\sum _{l=0}^{L-1}{h}_{l}\delta \left(t-lT\right)$ where *h*_{
l
} is the complex amplitude of path *l* and *L* is the number of channel taps. The *l*^{th} channel coefficient is distributed as N(0, *σ*^{2}), and the frequency domain channel is given by its Fourier Transform. The AWGN variance is assumed to be *σ*^{2} = 1e-4 and the guard interval length is *T*_{
g
} = 1 *μ* sec. The PU band is divided into 8 sub-bands, and we attempt to mitigate the interference to each of them. We set the interference temperature, *T*_{th} = 1e-5 W/Hz for each PU sub-band. Without loss of generality, it is assumed that the interference induced by the PU to the SU is negligible.

*P*

_{ t }= 100 mW. This value being very small, the interference constraint is non-binding, and it is observed (though the channel gains have not been plotted) that the solution closely resembles that of conventional water-filling: better channels are allocated higher powers as compared to the poorer ones. As the power budget is increased to 1 W (Figure 4b), the interference constraint becomes binding. The graph tapers towards the PU band because lesser power is allocated in the SU sub-carriers spectrally closer to the PU.

*cap-limited*scheme [10] is only partially interference constrained by the closest PU sub-band. On the other hand, the proposed scheme (

*Algorithm 1*) considers the interference threshold to each PU sub-band. The SU throughput achieved is the optimum result within the given power budget and interference constraints. It is observed that when the power budget is very low, the solution is very close to that of conventional water-filling since only the power constraint is binding. Furthermore, after a certain power budget (

*P*

_{ t }= 700 mW), the throughput hardly increases, since only the interference constraint is binding. Any further increase in the power budget, cannot increase the SU sub-carrier power allocation without violating the interference constraint. These results have been averaged over 100 independent realizations of the channel.

*cap-limited*scheme is successful in keeping only the interference to the closest PU sub-band under the threshold. We have also included for comparison, the power allocation scheme which considers the entire PU as a single band for mitigating interference, as is done in literature [6]. It can be observed that it is not as effective as dividing the PU into sub-bands, as is proposed in

*Algorithm 1*. These results are reported for a power budget

*P*

_{ t }= 1 W, and a single instance of the channel.

#### Bit loading

The simulation parameters for bit loading are the same as those assumed for power allocation. The SNR gap is computed considering an error probability *P*_{
e
} = 10^{-6}.

*Algorithm 2*is depicted in Figure 8. Figure 8a demonstrates the results of executing the Lagrangian optimization problem, which yields real numbers for the bit allocation. This is followed by integer quantization to the nearest higher integer (Figure 8b), causing the interference to the PU to increase beyond the specified threshold (

*I*

_{th}), or the power constraint (

*P*

_{ t }) to be violated. A greedy bit-removal is executed, resulting in the final allocation of bits (Figure 8c). It can be observed that the interference constraint causes the profile to taper towards the PU band. A power budget

*P*

_{ t }of 1 W is considered for these graphs.

*Algorithm 2*,

*Algorithm 3*and

*Algorithm 4*are shown together in Figure 9; while those obtained with the schemes proposed in literature are depicted in Figure 10. A power budget

*P*

_{ t }of 1 W is considered in each of these cases. Though much cannot be concluded from Figure 9, the SU throughput for various algorithms, averaged over 100 independent realizations of the channel (Figure 11), reveals more about their performance: the highest throughput is achieved by the cap-limited scheme proposed in literature [10], since it only mitigates interference to the closest PU band. It is followed closely by that obtained from the proposed

*Algorithm 2*.

*Algorithm 3*and

*Algorithm 4*follow, in that order. The scheme from literature which is based on sub-carrier nulling [14] gives the lowest throughput.

*Algorithm 2-4*, are successful in mitigating the interference to each of the PU sub-bands, the cap-limited scheme only does so for the spectrally closest PU sub-band. The subcarrier-nulling scheme, however, generates the lowest interference profile, since it nulls sub-carriers till interference to each band is mitigated.

#### Sub-carrier bandwidth sizing

The simulation parameters are the same as those described for the power allocation and bit loading problems. However, the 5 MHz SU bandwidth is not divided into 32 sub-carriers anymore. Instead, the problem entails searching for that sub-carrier bandwidth which will maximize the SU throughput, while mitigating the interference to the PU band. The coherence bandwidth is Δ*f*_{
c
} = 200 KHz (Δ*f*_{c} = 1 = 5*σ*_{
τ
}[46], where *σ*_{
τ
} is the rms delay spread, and assumed to be 1 *μ* sec). The power budget at the SU Tx is *P*_{
t
} = 1 W.

*f*

_{c}. Although not plotted, it is expected that the SNR will increase with an increase in the sub-carrier bandwidth, however, the same cannot be said about the throughput. It is observed (Figure 13) that unto a certain point, an increase in bandwidth results in a corresponding increase in throughput; after which, any further increase results in the symbol duration becoming relatively smaller than the guard interval, and the throughput reduces. Initially, a crude search was conducted by varying

*N*

_{ s }in a step size of 10 as indicated by the markers in Figure 13. Then a fine search was conducted to look for the global optima. The execution of

*Algorthm 5*yielded

*N*

_{sopt}as 101 and the corresponding

*B*

_{ opt }as 99.01 Khz. The optimum SU sub-carrier bandwidth should also maintain the interference to the PU band below the specified threshold. To understand the effect of varying sub-carrier bandwidth on the PU interference, we have plotted Figures 14 and 15 by dividing the PU band into 4 and 8 sub-bands, respectively, and allocating the power uniformly. In both cases, the following observations are made: (1) as the SU sub-carrier bandwidth decreases, the interference to the PU sub-bands decreases. This is because, decreasing the bandwidth implies increasing the number of sub-carriers, and thereby, the power budget is now distributed among a relatively large number of sub-carriers; a lower power in each sub-carrier generates lower interference power to the PU band. (2) As expected, the interference decreases with the increasing spectral distance. The same results will be obtained for water-filling-based allocation.

Figures 14a and 14b (resp. Figures 15a and 15b), represent the interference profile of the PU, without and with consideration of the SU to PU channel gains, respectively, for 4 PU sub-bands (resp. 8 PU sub-bands).

*Algorithm 5*). Only

*Algorithm 5*is successful in keeping the interference to the PU band below the specified threshold.

#### Sub-carrier power allocation, bandwidth sizing and bit-loading

*Algorithm 6*, first the optimum bandwidth is obtained with the corresponding power allocation. Figure 17a reports the optimum number of sub-carriers as

*N*

_{ sopt }= 78 and the bandwidth

*B*

_{ opt }= 126.6 KHz, while Figure 17b depicts the power allocation profile. The bit loading profile is as shown in Figure 17c.

### B. Multi-user

#### Power Allocation

*P*

_{ t }= 1

*W*. Due to the interference constraint, the profile tapers towards the PU band. Figure 19 depicts the sum throughput graphs of the SU, averaged over 100 independent realizations of the channel, and Figure 20 represents the PU interference profile. Both these graphs have the same interpretations as the corresponding single user results.

#### Bit loading

*Algorithm 8*. Figure 21a, b and 21c depict the result of the Lagrangian optimization, rounding and bit removal, respectively. Figure 22 represents the comparative sum SU throughput of the various bit loading schemes, viz.,

*Algorithm 8*,

*Algorithm 9*,

*Algorithm 10*, the cap-limited scheme and sub-carrier nulling, averaged over 100 independent realizations of the channel. The highest throughput is achieved by the cap-limited scheme, since it only mitigates interference to the closest PU band. It is followed closely by that obtained from the proposed

*Algorithm 8*.

*Algorithm 9*and

*Algorithm 10*follow in that order. The sub-carrier nulling scheme gives the lowest throughput. Figure 23 depicts the PU interference profile.

#### Sub-carrier power allocation, bandwidth sizing and bit-loading

*Algorithm 12*, first the optimum bandwidth is obtained with the corresponding power allocation. Figure 24a reports the optimum number of sub-carriers as

*N*

_{sopt}= 144 and the bandwidth

*B*

_{opt}= 68.97

*KHz*, while Figure 24b depicts the power allocation profile and the assignment of sub-carriers to the 3 users. The bit loading profile is as shown in Figure 24c. The results of

*Algorithm 11*have not been included, since they would be similar to the results of bandwidth sizing, power allocation and the assignment of sub-carriers to users, as those demonstrated in Figures 24a and 24b.

## XV. Conclusion

The major contribution of the paper is towards *Radio Resource Management* in an OFDM-based CR. The issues of power allocation, bit loading and sub-carrier bandwidth sizing are addressed individually, and then as a joint problem, for both single and multiple SU scenarios; the objective being-maximization of the SU's throughput within a power budget and PU interference constraints. The PU spectral band is divided into sub-bands, and the proposed algorithms effectively mitigate the interference to each of them. For bit loading, multiple algorithms are suggested. The algorithms for sub-carrier bandwidth sizing for the SU are novel, and effective in mitigating the PU interference. The computational complexity of all the algorithms is analyzed. Exhaustive simulation results are provided with rigorous interpretations of each of the graphs, and comparisons with techniques from literature, wherever possible. The performance results are encouraging, and motivate the deployment of the suggested strategies in practical CR networks. While the proposed algorithms are mainly for stationary SUs and may be applicable to walking speeds, the resource allocation for medium/high speed mobile SUs, is an issue we intend to tackle in the near future.

## Appendix A

*N*

_{ s }from (33) in (35), and differentiating it wrt B,

*P*

_{ i },

## Appendix B

*ζ*

_{k, i}and applying KKT conditions,

*β*

_{k, i}substituted as 0, due to the complementary slackness condition [42])

where ${\mathsf{\text{c\u2019}}}_{k,i}^{-1}$ is the inverse of derivative of function c_{k, i}.

*ρ*

_{k, i}and applying KKT conditions,

*c*

_{ k, i }from (37) in (94) and (99), we get, respectively

## Declarations

### Acknowledgements

This work has been supported by the Ministry of Communication and Information Technology, Government of India, New Delhi, and also been supported by Microsoft Corporation and Microsoft Research India under the Microsoft Research India PhD Fellowship Award 2009.

## Authors’ Affiliations

## References

- Haykin S: Cognitive radio: brain-empowered wireless communications.
*IEEE Trans Sel Areas in Comm*2005, 23: 201-220.View ArticleGoogle Scholar - Akyildiz IF, Leea W, Vuran MC, Mohantya S: NeXt generation/dynamic spectrum access/cognitive radio wireless networks: A survey.
*Computer Networks*2006, 50(13):2127-2159. 10.1016/j.comnet.2006.05.001View ArticleGoogle Scholar - Corvino V, Giupponi L, Neira AP, Tralli V, Verdone R: Cross-layer radio resource allocation: The journey so far and the road ahead.
*Proc of 2nd International Workshop on Cross Layer Design*2009.Google Scholar - Tse D, Vishwananth P:
*Fundamentals of Wireless Communication.*Cambridge University Press, Cambridge; 2005.View ArticleGoogle Scholar - Weiss T, Hillenbrand J, Krohn A, Jondral FK: Mutual interference in OFDM-based spectrum pooling systems.
*Proc 59th IEEE Vehicular Technology Conference*2004, 1873-1877.Google Scholar - Bansal G, Hossain MJ, Bhargava VK: Adaptive power loading for OFDM-based cognitive radio systems.
*Proc IEEE Int Conference on Comm*2007, 5137-5142.Google Scholar - Wang P, Zhao M, Xiao L, Zhou S, Wang J: Power allocation in OFDM-Based cognitive radio systems.
*Proc of IEEE Global Telecommunications Conference*2007, 4061-4065.Google Scholar - Wang P, Zhong X, Xiao L, Zhou S, Wang J: A general power allocation algorithm for ofdm-based cognitive radio systems.
*Proc of the IEEE International Conference on Communications Workshops*2009.Google Scholar - Chengshi Z, Mingrui Z, Bin S: Capacity Maximized Power Allocation for Secondary Users in OFDM-Based Cognitive Networks.
*Proc 2008 International Symposium on Communications and Information Technologies*2008, 110-115.View ArticleGoogle Scholar - Shaat M, Bader F: Computationally Efficient Power Allocation Algorithm in Multicarrier-Based Cognitive Radio Networks: OFDM and FBMC Systems, EURASIP Adv.
*Signal Process*2010. Article ID 528378Google Scholar - Bansal G, Hasan Z, Hossain MJ, Bhargava VK: Subcarrier and power adaptation for multiuser OFDM-based cognitive radio systems.
*Proc National Conference on Communications*2010, 1-5.Google Scholar - Tang J, Rahulamathavan Y, Lambotharan S: Optimal adaptive bit loading and subcarrier allocation techniques for OFDM based cognitive radio systems.[http://www.emfield.org/icctadmin/download_paper.php?id=404]
- Cheng SL, Yang Z: Adaptive modulation and power control for throughput enhancement in cognitive radios.
*J Electro*2008, 25(1):65-69.Google Scholar - Budiarjo I, Nikookar H, Ligthart LP: Combined spectrum pooling and adaptive bit loading for cognitive radio OFDM based system.
*Proc 13th IEEE Symposium on Communications and Vehicular Technology*2006, 73-76.Google Scholar - Armada AG: SNR gap approximation for M-PSK-based bit loading.
*IEEE Trans Wirel Comm*2006, 5(1):57-60.View ArticleGoogle Scholar - Das SS, De Carvalho E, Prasad R: Performance analysis of OFDM systems with adaptive sub carrier bandwidth.
*IEEE Trans Wireless Commun*2008, 7(4):1117-1122.View ArticleGoogle Scholar - Das SS, De Carvalho E, Prasad R: Dynamically adaptive bandwidth for sub carriers in OFDM based wireless systems.
*Proc IEEE Wirel Commun Networking Conference*2007, 1378-1383.Google Scholar - Das SS, De Carvalho E, Prasad R: Variable sub-carrier bandwidth in OFDM framework.
*Electron. Lett*2007, 43(1):46-47. 10.1049/el:20072920View ArticleGoogle Scholar - Zhang X, Ni Ma: An adaptive scheme to determine the sub-carrier spacing for multi-carrier systems.
*International Patent No. W0 2010/015102 A1, 11 Feb 2010*Google Scholar - Steendam H, Moeneclaey M: Analysis and optimization of the performance of OFDM on frequency-selective time-selective fading channels.
*IEEE Trans Comm*1999, 47(12):1811-1819. 10.1109/26.809701View ArticleGoogle Scholar - Harvatin DT, Ziemer RE: Orthogonal frequency division multiplexing performance in delay and Doppler spread channels.
*Proc IEEE Veh Tech Conf*1997, 1644-1647.Google Scholar - Tufvesson F, Maseng T:
*Multiaccess, mobility and teletraffic - advances in wireless networks.*Dordrecht, Kluwer Academic Publishers; 1998.Google Scholar - Wong CY, Cheng RS, Lataief KB, Murch RD: Multiuser OFDM with adaptive subcarrier, bit, and power allocation.
*IEEE J Sele Areas Commun*1999, 17(10):1747-1758. 10.1109/49.793310View ArticleGoogle Scholar - Kivanc D, Li G, Liu H: Computationally efficient bandwidth allocation and power control for OFDMA.
*IEEE Trans on Wirel Commun*2003, 2(6):1150-1158. 10.1109/TWC.2003.819016View ArticleGoogle Scholar - Münz G, Pfletschinger S, Speidel J: An Efficient Waterfilling Algorithm for Multiple Access OFDM.
*Proc IEEE Global Telecommunications Conference*2002, 681-685.Google Scholar - Jang J, Lee KB: Transmit power adaptation for multiuser OFDM systems.
*IEEE J Sele Areas Commun*2003, 21(2):171-178. 10.1109/JSAC.2002.807348View ArticleGoogle Scholar - Shen Z, Andrews JG, Evans BL: Optimal power allocation in multiuser OFDM systems.
*Proc IEEE Global Telecommun Conference*2003, 337-341.Google Scholar - Papandreou N, Antonakopoulos T: Bit and Power Allocation in Constrained Multicarrier Systems: the Single-User Case.
*EURASIP J Adv Signal Process*2008.Google Scholar - Krongold B, Ramchandran K, Jones D: Computationally efficient optimal power allocation algorithms for multicarrier communication systems.
*IEEE Trans Comm*2000, 48: 23-27. 10.1109/26.818869View ArticleGoogle Scholar - Ko H, Lee K, Oh S, Kim C: Fast Optimal Discrete Bit-Loading Algorithms for OFDM-Based Systems.
*Proc 18th International Conference on Computer Communications and Networks*2009, 1-6.Google Scholar - Hughes-Hartogs D: Ensemble modem structure for imperfect transmission media, 4 679 227 (July 1987), 4 731 816 (March 1988) and 4 833 796 (May 1989).Google Scholar
- Sonalkar RV, Shively RR: Efficient bit-loading algorithm for DMT applications.
*IEEE Commun Letts*2000, 4(3):80-82. 10.1109/4234.831031View ArticleGoogle Scholar - Baccarelli E, Biagi M: Optimal integer bit-loading for multicarrier ADSL systems subject to spectral-compatibility limits.
*Signal Process*2004, 84(4):729-741. 10.1016/j.sigpro.2003.12.004View ArticleGoogle Scholar - Fasano A: On the optimal discrete bit loading for multicarrier systems with constraints.
*Proc 57th IEEE Semiannual Vehicular Technology Conference*2003, 915-919.Google Scholar - Leke A, Cioffi JM: A Maximum rate loading algorithm for discrete multitone modulation systems.
*Proc IEEE Global Telecommunications Conference*1997, 1514-1518.View ArticleGoogle Scholar - Wyglinski AM, Labeau F, Kabal P: An Efficient Bit Allocation Algorithm for Multicarrier Modulation.
*Proc IEEE Wirel Commun Networking Conference*2004, 1194-1199.Google Scholar - Fischer R, Huber J: A New Loading Algorithm for Discrete Multitone Transmission.
*Proc IEEE Global Telecommunications Conference*1996, 724-728.Google Scholar - Chow PS, Cioffi JM, Bingham J: Practical discrete multitone transceiver loading algorithm for data transmission over spectrally shaped channels.
*IEEE Transactions on Communications*1995, 43: 773-775. 10.1109/26.380108View ArticleGoogle Scholar - Huang D, Shen Z, Miao C, Leung C: Resource Allocation in MU-OFDM Cognitive Radio Systems with Partial Channel State Information.
*EURASIP Journal on Wireless Comm*2010.Google Scholar - Ycek T:
*Channel, Spectrum and Waveform Awareness in OFDM-Based Cognitive Radio Systems.*Ph.D. Dissertation, University of South Florida; 2007.Google Scholar - Muquet B, de Courville M, Duhamel P: Subspace-based blind and semi-blind channel estimation for OFDM systems.
*IEEE Transactions on Signal Processing*2002, 50(7):1699-1712. 10.1109/TSP.2002.1011210View ArticleGoogle Scholar - Boyd S, Vandenberghe L:
*Convex Optimization.*Cambridge University Press, Cambridge; 2004.View ArticleGoogle Scholar - Tej GPS, Nadkar T, Thumar VM, Desai UB, Merchant SN: Power Allocation in Cognitive Radio: Single and Multiple Secondary Users.
*Proc of IEEE Wireless Communications and Networking Conference*2010.Google Scholar - Cioffi JM: A multicarrier primer.
*ANSI Contribution T1E1.4/91-157*1991.Google Scholar - Lee C, Jeon GJ: An Efficient Adaptive Modulation Scheme for Wireless OFDM Systems.
*ETRI Journal*2007, 29: 445-451. 10.4218/etrij.07.0106.0246View ArticleGoogle Scholar - Rappaport TS:
*Wireless communications: Principles & Practice, Prentice Hall, New Jersey*. 1996.Google Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.