Keywords

1 Introduction

As the demand for communication quality and services increase, it prompts communication industries to seek more effective technologies to satisfy people’s growing demands. Orthogonal frequency division multiplexing (OFDM) technology is one of the most effective technologies due to its high robustness to the inter-symbol interference and high spectral efficiency. In OFDM system, the spectrum is divided into many orthogonal subcarriers. It could dynamically allocate the bits and power according to the characteristic of the subcarriers to improve spectral efficiency and system performance [1].

There are three typical multiple access methods in the multi-users system, frequency division multiple access (FDMA), time division multiple access (TDMA), and code division multiple access (CDMA) [2]. In the OFDM system, the static resource allocation includes OFDM-FDMA, OFDM-CDMA, and OFDM-TDMA [3]. In the static resource allocation, the bits and subcarriers are allocated in advance, and users may occupy some deep fading subcarriers without considering the real-time status of the subcarriers. The dynamic resource allocation considers the difference between different users and subcarriers, and assigns the better subcarriers to the corresponding users. Meanwhile, different subcarriers could adopt different modulation to reduce the bit error rate of system [4, 5].

In 1999, a subcarrier, bit and power joint resource allocation algorithm is proposed [6]. But this algorithm is too complicated to achieve. As an improved algorithm, a two-step resource allocation algorithm is proposed, in which the subcarriers and bits allocation are achieved step-by-step [7]. Although the algorithm is suboptimal, the complexity is much lower than the optimal algorithm. In order to minimize the transmitted power of the system, the min–max principle is used in the subcarriers allocation, and the water filling principle is used in the bits allocation [8]. A dynamic joint frequency and power allocation for the downlink of OFDMA-based cellular networks is proposed, where spectrum is allocated to cells by a central broker to minimize long-term cell-edge inter-cell interference [9]. An optimal subcarrier matching algorithm is proposed to match subcarriers in order of channel power gain for both transmission sides in the decode-and-forward two-way relay system [10].

In this paper, we address the joint optimization for the subcarriers allocation and bits allocation to minimize the transmitted power in the multi-users OFDM system. The rest of the paper is organized as follows. An improved dynamic resource allocation (IDRA) is described in Sect. 2. In Sect. 3, we show some simulation results and analyses of the proposed algorithm. Finally, Sect. 4 states some conclusions.

2 Dynamic Resource Allocating Algorithm

2.1 System Model

We consider a multi-user OFDM system with multiple sources and one sink. Assume that there are K users and N subcarriers in the system. \(\Gamma\) is a signal-to-noise rate gap, which is related to the required bit error rate (BER). It is defined as follows [11]:

$$\Gamma = - \ln \left( {5*\,{\text{BER}}} \right)/1.5.$$
(1)

According to the capacity of the additive white Gaussian noise (AWGN) channel, the transmitted power of user k in the subcarrier n can be expressed as follows:

$$P_{k,n} (b_{k,n} ) = \frac{{\Gamma \sigma^{2} \left( {2^{{b_{k,n} }} - 1} \right)}}{{h_{k,n}^{2} }},$$
(2)

where k = 1, 2…, K, n = 1, 2…, N, \(\sigma^{2}\) is the power of AWGN of the sub-channel n, \(h_{k,n}\) is the channel gain of user k over subcarrier n, \(b_{k,n}\) is the number of bits of the user k assigned to subcarrier n. Our goal is to minimize the total transmitted power, and the optimization can be described as follows:

$$\begin{aligned} & \hbox{min} \sum\limits_{k = 1}^{K} {\sum\limits_{n = 1}^{N} {\rho_{k,n} *P_{k,n} } \quad \forall k \in \left\{ {1,2 \ldots K} \right\},\forall n \in \left\{ {1,2 \ldots N} \right\}} \\ & s.t.\left\{ {\begin{array}{*{20}c} {\sum\limits_{k = 1}^{K} {\rho_{k,n} = 1} } & {\forall n \in \left\{ {1,2 \ldots N} \right\}} \\ {R_{k} = \sum\limits_{n = 1}^{N} {\rho_{k,n} b_{k,n} } } & {\forall k \in \left\{ {1,2 \ldots K} \right\}} \\ {{\text{BER}}_{k,n} \le {\text{BER}}_{k} } & {\forall n \in \left\{ {1,2 \ldots N} \right\}\,\forall k \in \left\{ {1,2 \ldots K} \right\}} \\ \end{array} } \right. \\ \end{aligned}$$
(3)

where \(\rho_{k,n}\) represents whether the channel n is occupied by user k (when the channel n is occupied by user k, \(\rho_{k,n} = 1\), otherwise \(\rho_{k,n} = 0\)), R k is the bit rate of user k, \({\text{BER}}_{k,n}\) is the bit error rate of user k over subchannel n, and \({\text{BER}}_{k}\) is the upper limit of the bit error rate of user k allowed.

In the case of same bit rate, the transmitted power is decreased as the channel gain increased. In order to minimize the total transmitted power, we allocate the system resource with two steps, subcarriers allocation, and bits allocation. In the subcarriers allocation, better subchannels are assigned to the users which have larger gain of subcarriers, meanwhile the fairness between users is considered. Then the worst subcarriers of different users are switched with the transposition ideology to reduce the transmitted power. In the bits allocation, all bits are allocated to users with greedy algorithm to reduce transmitted power.

2.2 Subcarriers Allocation

The subcarriers allocation is the basic one. It consists of the following steps:

  1. (1)

    Deciding the number of subcarriers allocated to each user. Considering the fairness between users, we allocate subcarriers according to bit rate of each user. Suppose the bit rate of user k is R k , the number of subcarriers allocated to user k is given as follows:

    $${\text{num}}_{k} = {\text{floor}}\left( {N*\frac{{R_{k} }}{{{\text{sum}}\left( {R_{k} } \right)}}} \right),$$
    (4)

    where k = 1, 2… K, floor(x) denotes the integer of x, sum(x) denotes the sum of x.

  2. (2)

    Allocating subcarriers to users. We choose num k subcarriers which have higher gain than others to allocate to user k. The information for channel occupied is represented by \(\rho_{k,n}\). In this case, a subcarrier may be occupied by more than one user.

  3. (3)

    Adjusting subcarriers between users. When we allocate subcarriers according to the channel gains to different users, it is possible that one subcarrier may be occupied by several users. In this case, we would adjust the subcarriers between these users. Suppose channel n is occupied by users k 1 and k 2, the number of the (num k1 + 1)th subcarrier with better gain to user k 1 is n 1, the number of the (num k2 + 1)th subcarrier with better gain to user k 2 is n 2. We define the power increased as follows:

    $$\left\{ \begin{aligned}\Delta _{1} = \frac{1}{{(H(k_{1} ,n_{1} ))^{2} }} - \frac{1}{{(H(k_{1} ,n))^{2} }} \hfill \\\Delta _{2} = \frac{1}{{(H(k_{2} ,n_{2} ))^{2} }} - \frac{1}{{(H(k_{2} ,n))^{2} }} \hfill \\ \end{aligned} \right.\;\;.$$
    (5)

    If \(\Delta _{1} >\Delta _{2}\), we allocate channel n to user k 1 and channel n 2 to user k 2, meanwhile let \(\rho_{{k_{2} ,n}} = 0\); otherwise, we allocate channel n to user k 2 and channel n 1 to users k 1, then, let \(\rho_{{k_{1} ,n}} = 0\).

  4. (4)

    Allocating remainder subcarriers to users. If there are remainder subcarriers, allocate the remainder to the user whose gain is largest.

  5. (5)

    Exchanging subcarriers between users. Suppose the number of the subcarrier with lowest gain to user k 3 is n 3, the number of the subcarrier with lowest gain to user k 4 is n 4. Exchanging the subcarriers n 3 and n 4 between k 3 and k 4, we get the power difference as follows:

    $${\text{pow}}\_{\text{change}}\left( {k_{3} ,k_{4} } \right) = \frac{1}{{h_{{k_{3} ,n_{3} }}^{2} }} + \frac{1}{{h_{{k_{4} ,n_{4} }}^{2} }} - \frac{1}{{h_{{k_{3} ,n_{4} }}^{2} }} - \frac{1}{{h_{{k_{4} ,n_{3} }}^{2} }},$$
    (6)

    where \(k_{3} ,k_{4} \in \left\{ {1,2 \ldots K} \right\},\,k_{3} \ne k_{4}\). Find the largest difference of pow_change. If it is larger than 0, exchange the subcarriers between users k 3 and k 4 which has the largest difference.

  6. (6)

    Repeating the step (5) until all difference are not larger than 0.

2.3 Bits Allocation

After allocating subcarriers, we will allocate the bits transmitted. There are four steps in the bit allocation.

  1. (1)

    Allocating bits to subcarriers. We use greedy algorithm to allocate bits of user k to all subcarriers. If the number of bits of user k is larger than the number of subcarrier assigned to user k, we allocate one bit for each subcarrier first. If \(\rho_{k,n} = 0\), b k,n  = 0.

  2. (2)

    Allocating the remainder bits of user k. When we assign one more bit to a subcarrier, we should calculate the increasing power for each subcarrier as follows:

    $$\Delta {\text{pow}}(n) = \frac{{\sigma^{2}\Gamma (2^{B(k,n)} )}}{{(H(k,n))^{2} }}\;\;.$$
    (7)

    Find the subcarrier \(\bar{n}\) whose \(\Delta {\text{pow}}(\bar{n})\) is smallest and allocate one bit to subcarrier \(\bar{n}\) again.

  3. (3)

    Repeating the step (2) until all bits of user k are allocated.

  4. (4)

    Repeating the steps (2) and (3) until all bits of all users are allocated.

3 Simulation Results and Analysis

In this section, we present some simulation results to show the performance of the proposed algorithm. We consider a multi-user OFDM system with 256 subcarriers and 16 users in the 100 MHz bandwidth. The channel is assumed to be Rayleigh fading with 10−8 W/Hz Gauss noise density [12]. The required BER is 10−3. In the simulations, each user has the 64 bits in a symbol; every user is assigned 16 subcarriers according to the fairness.

Figure 1 shows the channel gains of the subcarriers which are allocated to first user, and Fig. 2 shows the number of bits assigned to corresponding subcarriers. It is found that the less the gain of the subcarrier is, the fewer bits are allocated to. This would ensures to minimize the transmitted power of the system. When the difference of gains between subcarriers is small, the bits allocated to these subcarriers may be same. For example, the gains of subcarriers 4 and 8 are different, but the difference is so small that the bits allocated to these two subcarriers are the same.

Fig. 1
figure 1

Gain of subcarriers of the first user

Fig. 2
figure 2

Number of bits allocated to subcarriers

Figure 3 compares the transmitted powers in the algorithm proposed (IDRA algorithm) and OFDM-FDMA one [10] under different bits. There are 56 subcarriers and 16 users in this system. As the number of the bits in a symbol increases from 16 bits to 64 bits, the transmitted power of system increases. However,the transmitted power in IDRA algorithm is always smaller than the one in OFDM-FDMA algorithm.

Fig. 3
figure 3

Transmitted powers under different bits

Figure 4 presents the comparison of the transmitted powers of IDRA algorithm and OFDM-FDMA algorithm when the BERs of the system change from 10−1 to 10−8. As the BER decreases, the transmitted power of the system is increased. As the same in Fig. 3, the transmitted power in IDRA algorithm is always lower than the one in OFDM-FDMA algorithm.

Fig. 4
figure 4

Transmitted powers under different BERs

Figure 5 shows the convergence of IDRA algorithm proposed where there are 64 subcarriers and 16 users with 64 bits in a symbol. It is seen that the convergence speed of IDRA algorithm is very fast. It only takes 7 iterations to achieve the convergence.

Fig. 5
figure 5

Transmitted powers as the iteration

4 Conclusion

In this paper, an improved dynamic resource allocation algorithm was proposed to minimize the total transmitted power of the multi-users OFDM system. In the algorithm, the system resource is allocated with two steps, subcarriers allocation, and bits allocation. In the subcarriers allocation, better subchannels are assigned to the users which have larger gain of subcarriers. In bits allocation, all bits are allocated to users with greedy algorithm in order to reduce transmitted power. The simulation results show that the transmitted power of the system with the proposed algorithm is smaller than the one with OFDM-FDMA algorithm.