Skip to main content

Low complexity subcarrier and power allocation algorithm for uplink OFDMA systems


In this article, we consider the joint subcarrier and power allocation problem for uplink orthogonal frequency division multiple access system with the objective of weighted sum-rate maximization. Since the resource allocation problem is not convex due to the discrete nature of subcarrier allocation, the complexity of finding the optimal solution is extremely high. We use the optimality conditions for this problem to propose a suboptimal allocation algorithm. A simplified implementation of the proposed algorithm has been provided, which significantly reduced the algorithm complexity. Numerical results show that the presented algorithm outperforms the existing algorithms and achieves performance very close to the optimal solution.

1 Introduction

Orthogonal frequency division multiple access (OFDMA) is an efficient technology that has been adopted as the core technology for many wireless communication systems. Radio resource allocation plays a key role in optimizing the performance of OFDMA systems by exploiting the frequency and multiuser diversity gains. In general, the main metric in radio resource allocation is the system spectral efficiency. However, energy efficiency has attracted a growing attention recently as a key design criterion in communication systems [13]. The focus of this article will be on the system spectral efficiency and fairness among the users. For joint multi-cell subcarrier and power allocation (SPA), joint processing and/or coordination among the cells need to be considered. With joint multi-cell signal processing, the uplink channel will turn into MIMO multiple access channel, and all received signals are considered as useful. In this case, the system can be viewed as a super-cell virtual MIMO system. In the non-joint processing case, interference reduction is required by proper cell coordination mechanisms. Interference can be controlled by real-time coordination among all coordinating cells to avoid that two cell-edge users in neighbouring cells use the same subcarriers. Each scenario, either joint processing or coordination, has its own performance gain and signalling overhead cost. Proper trade-off between the achieved gain in the performance and the incurred signalling overhead need to be considered. We will consider the joint SPA problem for single-cell uplink OFDMA system. The objective is to maximize the users’ weighted sum-rate. The inter-cell interference is assumed to be mitigated by inter-cell interference coordination (ICIC) schemes [4]. Once the inter-cell interference is controlled, the SPA in each cell can be optimized independently. The developed algorithm can be applied in conjunction with some ICIC schemes in the literature, such as partial frequency reuse, soft frequency reuse [4].

By observing the optimality conditions in multiuser and single-user scenarios, we propose a novel suboptimal SPA algorithm. In addition, a simplified implementation of the proposed algorithm has been provided, which significantly reduced the complexity. The work that uses optimality analysis to develop suboptimal algorithms (e.g. [57]) mainly follows the multiuser optimality structure. Here, we argue that even though we look at a multiuser problem, the algorithm should follow the same structure as single-user power allocation. This is motivated by the fact that for a given subcarrier allocation (SA), the power allocation is a single-user water-filling (SUWF) for each user. Thus, our proposed algorithm follows SUWF structure and uses the multiuser optimality conditions only to obtain the SA criteria.

A review of different approaches for radio resource allocation in uplink OFDMA can be found in [8]. However, only [57] consider the problem of instantaneous sum-rate maximization (SRM) by centralized SPA, which is most relevant to the problem of this article. Hence, we use the algorithms from [5, 7] as benchmarks to evaluate the effectiveness of our proposed algorithm. The algorithms from [5, 7] will be referred to as Benchmarks 1 and 2, respectively. Benchmark 1 is developed by observing the optimality conditions and it has been proven to be Pareto optimal within a large neighbourhood of the solution obtained by the algorithm [5]. Benchmark 2 uses a quite different approach as it iteratively solves a relaxed problem where the users are allowed to share the subcarriers. Then, a suboptimal solution is derived by hard mapping that allocates each subcarrier to the user with the highest share. The performance of the proposed algorithm will be evaluated and compared with the benchmark algorithms using spectral efficiency and fairness. Furthermore, the optimal solution of the relaxed problem, which serves as an upper bound, will be considered in the comparison.

The remainder of this article is organized as follows: Section 2 presents the system model. The optimality conditions are analysed in section 3. The proposed algorithm and its simplified implementation are presented in sections 4 and 5, respectively. In section 6, we evaluate and compare the performance of the algorithm. Finally, section 7 is devoted to concluding remarks.

2 System model

Here, we consider the SPA problem for uplink OFDMA system with the objective of weighted sum-rate maximization (WSRM). A single-cell OFDMA system with a set of users K={1,,K} transmitting to the same base station is considered. The total frequency band is divided into a set of subchannels (subcarriers/tones) N={1,,N}. A user kK can transmit over a subset of subcarriers, with transmission power p k,n over subcarrier nN subject to individual maximum power constraint P k : n N p k , n P k . Perfect channel state information (CSI) is assumed to be available at the base station. The CSI can be obtained using the measurements from the uplink pilots and the past transmissions from the user equipment. Based on the obtained CSI, the base station assigns the subcarriers and power to each user through a reliable signalling channel. Using the Shannon capacity formula for the Gaussian channel, the optimization problem for WSRM can be formulated as follows:

max x k , n , p k , n k K , n N w k x k , n log(1+ g k , n p k , n ),

subject to

k K x k , n 1,nN,
n N p k , n P k ,kK,
p k , n 0,kK,nN,
x k , n {0,1},kK,nN,

where g k , n = h k , n 2 / N 0 B N is the channel signal-to-noise ratio for user k on subcarrier n, and h k,n is the channel gain that user k experiences on subcarrier n. N 0 and B N are the noise power spectral density and the subchannel bandwidth, respectively. x k,n is the SA index, where x k,n equal to 1 if subcarrier n is allocated to user k, and 0 otherwise. w k is the weight associated with user k. If all the users’ weights are equal, the problem turns to SRM.

3 Optimality conditions

In this section, we will present the optimality conditions for multiuser and single-user resource allocation problem. From the analysis of the multiuser case, the criteria of allocating the subcarriers to the users will be obtained. The single-user power allocation will reveal the structure for designing a suboptimal algorithm. Then the insights gained from the optimality conditions will be combined to propose a suboptimal algorithm for SPA in the following section.

3.1 Optimality conditions in multiuser uplink resource allocation

The above problem is a combinatorial one due to the binary variable x k,n , which is intractable for large system. In [9], it has been shown that many multicarrier resource allocation problems satisfy a “time sharing” property when the number of subcarriers reaches infinity, and the optimal solution can be obtained via dual decomposition techniques. Unfortunately, the complexity of the dual decomposition technique is still high for practical systems. Another approach to solve the problem is to relax the binary allocation to take any real value in the interval [0,1] to make the problem convex. So, the constraint (4) can be replaced by

x k , n 0,kK,nN.

It can directly be verified that the relaxed problem is convex and has no duality gap [10]. Consequently, the Karush–Kuhn–Tucker conditions are necessary and sufficient for optimality of the relaxed problem [10]. This relaxation cannot be used in practical systems because it implies more than one user share the same subcarrier. Based on this relaxation, it has been shown in [5] that a necessary condition for the optimal solution that a subcarrier should be assigned to the user who has the maximum utility on that subcarrier, i.e.

k =arg max k K w k log(1+ p k , n g k , n ).

The SA criterion in (7) is based on the fact that when the primal problem is convex, the duality gap between the dual problem and the primal problem is zero [11]. Consequently, the maximization of the main objective function can be done by maximizing on each subcarrier [9]. However, when the primal problem is not convex, it implies a gap between the primal and dual solutions, which is the case of the SPA stated here.

An alternative SA criterion which can heuristically be derived is explained as follows. Let R k a be the rate of user k using the subcarriers that already allocated to that user, and R k be the rate if an extra subcarrier is allocated to the user. We would like to allocate one more subcarrier to one of the users. So, intuitively we have to allocate a subcarrier to a user that will achieve the maximum increase in the objective function (1), i.e.

k =arg max k w k ( R k - R k a ).

We will refer to the SA criteria in (7) and (8) as SA1 and SA2, respectively.

3.2 Optimality conditions in single-user resource allocation

For a given SA {x k,n }, the problem will turns into K independent power allocation problems, one for each user as follows

max p k , n n N log(1+ p k , n g k , n ),

subject to

n N p k , n = P k ,and p k , n 0,nN.

This problem has a well-known solution, which known as water-filling. The SUWF solution can be expressed as follows:

p k , n = λ k - 1 g k , n + ,

where [x]+= max(0,x) and λ k are known as the water-level that should satisfy the power constraint in (10). The SUWF solution can be found iteratively by sorting the subcarriers in descending order g k,Π(1)g k,Π(2)g k,Π(N), where Π represents a permutation. Then, starting with the best subcarrier g k,Π(1), the water-level and power allocation are calculated from (12) and (11). Then the best unallocated subcarrier is considered (we will refer to this subcarrier as the desired subcarrier), and the water-level and power allocation are recalculated according to (12) and (11). This process is repeated until non-positive power allocation happens (i.e. 1 g k , Π ( i ) λ k (i)).

λ k (i)= P k + 1 / g k , Π ( i ) , if i = 1 , ( i - 1 ) λ k ( i - 1 ) + 1 / g k , Π ( i ) i , otherwise .

4 Proposed algorithm

In this section, a suboptimal SPA algorithm for uplink OFDMA system will be proposed based on the optimality conditions for multiuser and single-user presented in the previous section. The allocation criteria SA1 and SA2 will be incorporated in the SUWF algorithm to create a suboptimal multiuser SPA algorithm. In the proposed algorithm, each user performs SUWF assuming the desired subcarrier is allocated to him. Based on the SA criteria SA1 or SA2, one subcarrier is allocated to one of the users. The algorithm iteratively allocates the subcarriers one-by-one. This can be understood as parallel multiuser water-filling, because each user will follow the exact structure of the SUWF algorithm. The difference between the proposed algorithm and the SUWF is the allocation of the subcarrier. In SUWF, the desired subcarrier will be allocated to the user as long as it has a positive power (i.e. 1 g k , n < λ k ). However, in the proposed algorithm, the user has to satisfy the criterion in (7) or (8), in addition to the positive power condition, to be allocated his desired subcarrier. This structure (parallel multiuser water-filling) is the reasoning why the proposed algorithm is efficient in SPA. The algorithm is summarized as follows:

  1. (1)

    Select for each user its best unallocated subcarrier (i.e. desired subcarrier) and perform SUWF over the subcarriers already allocated to the user and the desired subcarrier.

  2. (2)

    Subcarrier Allocation (SA):

    SA1: Compute the rate of each user on its desired subcarrier and allocate a subcarrier to the user that has the maximum utility on his desired subcarrier as in (7).

    SA2: Compute the users’ rates R k using the power allocation from step 1 and compute R k a by performing SUWF over the subcarriers already allocated to the user. Allocate the desired subcarrier to the user that achieves the maximum increase in the objective function as in (8).

  3. (3)

    Repeat steps 1 and 2 until all subcarriers are allocated then perform SUWF for each user.

In benchmark 1, the SUWF is performed for each user on the allocated subcarriers plus all unallocated subcarriers. In contrast, in our algorithm, the SUWF is performed for each user on the allocated subcarriers plus the desired subcarrier only.

Many performance parameters can be incorporated in determining the users’ weights, such as quality-of-service requirements and queue-lengths. For instance, to achieve the balanced rate vector [12], the users’ weights can be optimized using the algorithm in [12]. The balanced rate vector ( R ̂ ) is the users’ rate vector that satisfies

R ̂ 1 R 1 max = R ̂ 2 R 2 max == R ̂ K R K max ,

where R k max is the maximum rate that the k th user can achieve when there are no other users in the system (which can be found by using SUWF). An iterative approach can be used to find the users’ weights that give the balanced rate vector. Starting with arbitrary users’ weights, the users’ rates can be found using the proposed SPA algorithm. Based on the resulted rate vector, the users’ weights are updated using the algorithm from [12, Equations (47–50)]. The updated weights are plugged again in the proposed SPA to find new users’ rate vector. The process keeps iterating until either the number of iterations reaches a given threshold or the difference in the users’ rates between two successive iterations vanishes.

5 Simplified implementation

To allocate all the subcarriers with a straightforward implementation, the proposed algorithm requires N iterations. In each iteration, one SUWF operation is performed for each user to calculate the user rate on the desired subcarrier for SA1, and two SUWF operations for SA2. Consequently, for SA1 the proposed SPA algorithm requires NK SUWF operations and 2N K for SA2. In this section, we introduce a simpler implementation method to eliminate the SUWF operation in each iteration. The simplification makes use of the relation between the water-level of two successive iterations as shown in (12). By substituting (11) and (12) in (7), it can be shown that the user utility on the desired subcarrier (7) is given by

u k = w k log ( 1 + P k g k , l k ) , if A k = ϕ , w k log 1 + | A k | g k , l k λ k a | A k | + 1 , otherwise ,

where l k , A k and λ k a are the index of the desired subcarrier, the set of the allocated subcarriers and the water-level (for the allocated subcarriers A k ) of the k th user, respectively. In the same way, the increase in the user’ utility ( w k ( R k - R k a )) in (8) can be calculated by

u k = w k log ( 1 + P k g k , l k ) , if A k = ϕ , w k ( | A k | + 1 ) log | A k | λ k a + 1 g k , l k | A k | + 1 + log ( g k , l k ) - | A k | log ( λ k a ) , otherwise .

Algorithm 1 Simplified implementation for the proposed algorithm

Consequently, the SUWF operations and the calculation of the users’ rates are replaced by the evaluation of a single equation. The complete proposed simplified implementation is given in Algorithm 1. The algorithm complexity with simplified implementation is provided in Table 1. It can be seen from the table that both SA1 and SA2 have a complexity of O(N(K+1)), which is lower than that of the fast implementation of the benchmark 1 that has a complexity of O(NK log 2 N). Also, comparing to benchmark 2, which has a complexity of O(KN(1+N)L) (L is the number of iterations), our algorithm has far less complexity.

Table 1 Algorithm complexity

6 Simulation results

In this section, we evaluate the performance of the proposed algorithm through Monte Carlo simulation. We consider a single-cell with 1 km radius and users’ locations are randomly generated and uniformly distributed over the cell. The maximum transmit power of each user is 1 W and the system bandwidth is 5 MHz consisting of 64 subcarriers. The link gain between the base station and a user is given as the product of path loss and fast fading effects. ITU pedestrian B channel model is adopted for generating fast fading and the simplified model [13] for the path loss. The noise power spectral density is assumed to be -120 dB/Hz. Spectral efficiency and Jain’s fairness index are used as the performance evaluation metrics. The Jain’s fairness index is given by [14]

Jain’s fairness index= ( k = 1 K R k ) 2 K k = 1 K R k 2 .

In addition to the benchmark algorithms, the performance of the proposed algorithm is compared with the optimal solution of the relaxed problem, which is calculated using the iterative algorithm in [7]. As the relaxed problem implies that the users share the same subcarrier, it is not practical for implementation. Nevertheless, it can serve as an upper bound for the performance.

Figure 1 shows the spectral efficiency versus the number of users (K) for SRM and WSRM. In the figure, the proposed algorithm, Algorithm 1, with the two SA criteria (SA1 and SA2), the benchmark algorithms and the upper bound are indicated as Proposed-SA1, Proposed-SA2, Benchmark 1, Benchmark 2 and Upper Bound, respectively. It can be seen that the performance of our proposed algorithm SA2 outperforms the benchmark algorithms in both cases and achieves very close performance to the upper bound, especially for WSRM. On the other hand, SA1 outperforms the benchmarks in the SRM case and for high number of users in WSRM case. As it is clear, SA2 achieves higher spectral efficiency comparing to SA1, especially for the WSRM case. This because in contrast to the SA1 criterion, SA2 takes into account the reduction in the rate on the allocated subcarriers due to the change in the power allocation, which makes it more effective in maximizing the objective function. For SRM, SA2 and SA1 achieve in average 98.2% and 97.2% of the upper bound, respectively, while the benchmarks achieve only 92.4% and 94%. For WSRM, SA2 and SA1 achieve in average 99.6% and 88.2% of the upper bound, respectively, while the benchmarks achieve 80.6% and 90%. These percentage values are the ratio between the spectral efficiency achieved by the suboptimal algorithm and the upper bound averaged over all the values of K. Figure 2 shows the Jain’s fairness index versus the number of users (K) for SRM and WSRM. It can be observed from the figure that SA2 has the highest fairness and it is significantly fairer than the benchmarks. Also, the fairness of SA2 is very close to the upper bound. Although it is not as fair as SA2, SA1 is fairer than the benchmarks.

Figure 1
figure 1

Spectral efficiency comparison of the proposed algorithm and the benchmarks for SRM and WSRM.

Figure 2
figure 2

Jain’s fairness index comparison of the proposed algorithm and the benchmarks for SRM and WSRM.

Now, the performance of the proposed algorithm will be evaluated with users’ weights that are optimized to achieve the balanced rate vector. To measure the performance, we propose a modified version of Jain’s fairness index (MJFI), which is given by

MJFI= k = 1 K R ̄ k 2 K k = 1 K R ̄ k 2 ,where R ̄ k = R k R k max .

Clearly, MJFI is bounded between 0 and 1 with the maximum achieved by the balanced rate vector ( R ̂ ). Figure 3 shows the MJFI for the proposed algorithm with weights optimized to achieve the balanced rate vector using the algorithm in [12]. It can be noticed from the figure that for N equal to 128, the proposed algorithm achieves performance very close to the upper bound (i.e. MJFI = 1). On average, the achieved MJFI is 98.8% of the upper bound. Moreover, it can be noticed that when the number of users is close to the number of subcarriers (i.e. KN), the balanced rate vector is not feasible. This fact has also been pointed out in [15].

Figure 3
figure 3

Performance evaluation of the proposed algorithm with users’ weights optimized to achieve the balanced rate vector.

Considering the results altogether, it can be concluded that the proposed algorithm SA2 outperforms the benchmark algorithms and achieves near optimum performance in both spectral efficiency and fairness. Consequently, proposed algorithm SA2 is a preferred solution since it achieves better performance and lower complexity than the benchmark algorithms. Furthermore, SA2 is more spectral-efficient and fairer comparing to SA1. As the two SA criteria have a comparable complexity, SA2 is preferable for practical implementation.

7 Conclusion

In this paper, we considered joint subcarrier and power allocation for weighted sum-rate maximization in uplink OFDMA system. Using the optimality conditions for multiuser and single-user resource allocation, we proposed a suboptimal subcarrier and power allocation algorithm with two subcarrier allocation criteria. Furthermore, a simplified implementation of the algorithm is proposed to reduce the complexity, and a brief complexity evaluation is provided. It is shown that the simplified implementation of the algorithm has complexity of O(N(K+1)), which considerably low comparing to existing algorithms. Simulation results showed a noticeable performance improvement in spectral efficiency and fairness comparing to the benchmark algorithms proposed in [5, 7] under different settings; SRM and WSRM. One subcarrier allocation criterion (SA2) has shown better performance in spectral efficiency and fairness comparing to the other criterion (SA1), and achieves near optimum performance. Finally, it can be concluded that our proposed algorithm is more efficient and less complex comparing to existing work, and achieves performance very close to the optimal solution.


  1. Miao G, Himayat N, Li G, Talwa S: Low-complexity energy-efficient OFDMA. IEEE International Conference on Communications 2009, 1-5.

    Google Scholar 

  2. Buzzi S, Colavolpe G, Saturnino D, Zappone A: Potential games for energy-efficient power control and subcarrier allocation in uplink multicell OFDMA systems. IEEE J. Sel. Topics Signal Process 2012, 6(2):89-103.

    Article  Google Scholar 

  3. Héliot F, Imran MA, Tafazolli R: Energy-efficiency based resource allocation for the orthogonal multi-user channel. In IEEE Vehicular Technology Conference. IEEE; 2012:1-5.

    Google Scholar 

  4. Kosta C, Hunt B, Quddus A, Tafazolli R: On interference avoidance through inter-cell interference coordination (ICIC) based on OFDMA mobile systems. IEEE Commun. Surv. Tutor 2013.

    Google Scholar 

  5. Ng CY, Sung CW: Low complexity subcarrier and power allocation for utility maximization in uplink OFDMA systems. IEEE Trans. Wirel. Commun 2008, 7(5):1667-1675.

    Article  Google Scholar 

  6. Kim K, Han Y, Kim S-L: Joint subcarrier and power allocation in uplink OFDMA systems. IEEE Commun. Lett 2005, 9(6):526-528. 10.1109/LCOMM.2005.1437359

    Article  MathSciNet  Google Scholar 

  7. Hoshyar R, Shariat M, Tafazolli R: Subcarrier and power allocation with multiple power constraints in OFDMA systems. IEEE Commun. Lett 2010, 14(7):644-646.

    Article  Google Scholar 

  8. Yaacoub E, Dawy Z: A survey on uplink resource allocation in OFDMA wireless networks. IEEE Commun. Surv. Tutor 2012, 14(2):322-337.

    Article  Google Scholar 

  9. Yu W, Lui R: Dual methods for nonconvex spectrum optimization of multicarrier systems. IEEE Trans. Commun 2006, 54(7):1310-1322.

    Article  Google Scholar 

  10. Luo Z-Q, Yu W: An introduction to convex optimization for communications and signal processing. IEEE J. Sel. Areas Commun 2006, 24(8):1426-1438.

    Article  Google Scholar 

  11. Palomar DP, Chiang M: A tutorial on decomposition methods for network utility maximization. IEEE J. Sel. Areas Commun 2006, 24(8):1439-1451.

    Article  Google Scholar 

  12. Sartenaer T, Vandendorpe L, Louveaux J: Balanced capacity of wireline multiuser channels. IEEE Trans. Commun 2005, 53(12):2029-2042. 10.1109/TCOMM.2005.860106

    Article  Google Scholar 

  13. Goldsmith A: Wireless Communications. Cambridge University Press, Cambridge; 2005.

    Book  Google Scholar 

  14. Jain RK, D-Chiu MW, Hawe WR: A quantitative measure of fairness and discrimination for resource allocation in shared computer systems. DEC Technical Report 1984, 301.

    Google Scholar 

  15. Cipriano AM, Ciblat P, Gault S, Hachem W: Balanced allocation strategy in multi-user OFDM with channel state information at the transmitter. European Signal Processing Conference 2006.

    Google Scholar 

Download references


This study was sponsored by the UK Engineering and Physical Sciences Research Council (EPSRC) under grant number EP/J017655/1. The authors would like to acknowledge its financial support.

Author information

Authors and Affiliations


Corresponding author

Correspondence to Mohammed Al-Imari.

Additional information

Competing interests

The authors declare that they have no competing interest.

Authors’ original submitted files for images

Below are the links to the authors’ original submitted files for images.

Authors’ original file for figure 1

Authors’ original file for figure 2

Authors’ original file for figure 3

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and Permissions

About this article

Cite this article

Al-Imari, M., Xiao, P., Imran, M.A. et al. Low complexity subcarrier and power allocation algorithm for uplink OFDMA systems. J Wireless Com Network 2013, 98 (2013).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI:


  • Uplink
  • Radio resource allocation
  • Water-filling
  • Fairness