Abstract:
A resource allocation with dynamic bit control to achieve the greatest fairness for all users and minimize transmission power over orthogonal frequency division multiplexing (OFDM) systems is presented. This technique can be also applied in WiMAX system.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention generally relates to dynamic and fair resource allocation algorithm for OFDM systems. 
     2. Description of the Prior Art 
     Orthogonal Frequency-Division Multiplexing (OFDM) for multiple users has become a crucial scheme for the next-generation wireless communication. One of the characteristics for OFDM is that all the sub-carriers carrying data are orthogonal to each other. If the channel-state information (CSI) can be known perfectly, sub-carriers carrying data bits can achieve the best efficiency while maintaining fairness. A variety of methods have thus far been proposed to address these issues. 
     One method has been proposed by D. Kivanc, G. Li and H. Liu, titled “Computationally efficient bandwidth allocation and power control for OFDMA,” IEEE Trans. Wireless commun., vol. 2, pp. 1150-1158, November 2003, which allocates a suitable amount of sub-carriers to each user, and then decides which sub-carrier is to be allocated to a specific user. Such technique is computationally efficient, but very power consuming. In addition, if the overall bandwidth cannot satisfy all users, then users demanding lower data rates are sacrificed in order for the rest to continue. In terms of QoS, this technique is not fair. 
     In addition, a publication authored by T.-D. Nguyen and Y. Han, titled “A dynamic channel assignment algorithm for OFDMA systems,” in Proc. IEEE Veh. Technol. Conf.k September 2006 pp. 1-5, has proposed a dynamic channel assignment algorithm that makes a compromise between system output and fairness. However, this is based on the assumption that the allocation of the sub-carriers are of equal power distribution. This is unfavorable in terms of power consideration. Therefore, there is a need for a method that achieves better and fairer resource allocation while reducing transmission power. 
     SUMMARY OF THE INVENTION 
     In view of the prior art and the needs of the related industries, the present invention provides that solves the abovementioned shortcomings of the conventional. 
     One objective of the present invention is to provide a method for fair sub-carriers allocation for an OFDM system, as shown in  FIG. 3 . First, as shown in step  310 , data transmission rates requested by a plurality of users are obtained. Next, as shown in step  320 , a user sequence is generated based on the data transmission rates requested by the plurality of users, wherein the user after the last user in the user sequence is the first user in the user sequence. Thereafter, in step  330 , a sub-carrier group having a plurality of sub-carriers is obtained. Then, in step  340 , an allocated user is sequentially selected from the user sequence and an allocation process is performed for the allocated user until there are no more users in the user sequence or sub-carriers in the sub-carrier group. 
     The above allocation process is shown in  FIG. 4 . First, in step  341 , a sub-carrier with the largest response in the sub-carrier group is allocated to the allocated user. Thereafter, as shown in step  342 , the sub-carrier with the largest response is removed from the sub-carrier group. Next, in step  343 , when the sum of data transmission rates of all the sub-carriers allocated to the allocated user is larger than that requested by the allocated user, then the allocated user is removed from the user sequence. 
     One objective of the present invention is to provide a method for dynamic bit assignment for an OFDM system, as shown in  FIG. 6 . This OFDM system allocated enough sub-carrier(s) to each user in a user group based on the data transmission rates requested by the respective user, thus forming a user-sub-carrier group. An unallocated sub-carrier group including a plurality of sub-carriers is also provided. 
     First, as shown in step  610 , sub-carrier(s) is/are allocated to each user in the user group, forming a user-sub-carrier group. Next, as shown in step  620 , a user with the highest sum of transmission rates is selected from the user group as an assigned user. Next, in step  630 , a sub-carrier with the lowest response is selected from the user-sub-carrier group allocated to the assigned user as a first assigned sub-carrier. Then, in step  640 , a sub-carrier with the highest response is selected from the unallocated sub-carrier group for the assigned user as a second assigned sub-carrier. Thereafter, as shown in step  650 , the BER for the assigned user is calculated when a portion of the data carried by the first assigned sub-carrier is assigned to the second assigned sub-carrier, the result being an assigned BER. Then, in step  660 , when the assigned BER is lower than a predetermined BER, the portion of the data carried by the first assigned sub-carrier is assigned to the second assigned sub-carrier; the second assigned sub-carrier is allocated to the assigned user; and the second assigned sub-carrier is then removed from the unallocated sub-carrier group. Then, as shown in step  680 , when there are no more sub-carriers in the user-sub-carrier group of the assigned user, the assigned user is removed from the user group. Finally, in step  690 , when the user group includes at least one user, the process returns back to step  620 . 
     Furthermore, in an example of the present invention, step  690  returns to step  620  when the unallocated sub-carrier group includes at least one sub-carrier. Additionally, as for the assigned user, based on the proportion of the response of the first assigned sub-carrier to that of the second assigned sub-carrier, a portion of the data originally carried by the first assigned sub-carrier is assigned to the second assigned sub-carrier. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings incorporated in and forming a part of the specification illustrate several aspects of the present invention, and together with the description serve to explain the principles of the disclosure. In the drawings: 
         FIG. 1  is a diagram illustrating an algorithm for sub-carrier allocation; 
         FIGS. 2 ,  3  and  4  are flowcharts illustrating embodiments of a method for fair sub-carrier allocation for an OFDM system according to the present invention; 
         FIG. 5  is a diagram illustrating a dynamic bit assignment algorithm for an OFDM system according to the present invention; and 
         FIG. 6  is a flowchart illustrating an embodiment of a method for dynamic bit assignment for an OFDM system according to the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Assuming that receiving and transmitting ends are both aware of the transmission channel state information, the dynamic resource allocation algorithm proposed by the present invention considers two situations: one with sufficient bandwidth and the other with insufficient bandwidth due to too many users. In the situation where bandwidth is sufficient, each user can be allocated with a required bandwidth. At this time, the present invention uses the remaining bandwidth to minimize the transmission power for the overall system under an acceptable BER. On the other hand, if there are too many users such that the bandwidth is not enough for allocation, then each user will be allocated a bandwidth in a fair way without being interrupted. 
     As such, one embodiment of the present invention is a method for fair sub-carriers allocation for an OFDM system. As shown in  FIG. 1 , assuming there are K users and N sub-carriers in the OFDM system. The user set is defined as U={u k |k=1,2, Λ, K}, which is arranged according to the data transmission rates of each user, that is R 1 ≧R 2 ≧Λ≧R K , where R k  indicates the data transmission rate of the k th  user. Thus, the user set can be regarded as a user sequence. The sub-carrier set is further defined as S={S n |n=1,2,Λ, N}, and the sub-carrier set allocated to the k th  user is G k ={S n |nεS}, where k=1,2, . . . , K. 
     Furthermore, r k,n  indicates the number of data bits carried by the n th  sub-carrier for the k th  user. Thus, r k,n =0 means that the n th  sub-carrier is not allocated to the k th  user. In addition, ƒ(r k,n ) indicates the power-bit function of the n th  sub-carrier carrying r k,n  bits for the k th  user. Thus, the transmission power for the k th  user can be expressed as follows: 
     
       
         
           
             
               
                 
                   
                     p 
                     k 
                   
                   = 
                   
                     
                       
                         ∑ 
                         
                           n 
                           = 
                           1 
                         
                         N 
                       
                       ⁢ 
                       
                         p 
                         
                           k 
                           , 
                           n 
                         
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           n 
                           = 
                           1 
                         
                         N 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           
                             f 
                             ⁡ 
                             
                               ( 
                               
                                 r 
                                 
                                   k 
                                   , 
                                   n 
                                 
                               
                               ) 
                             
                           
                           
                             α 
                             
                               k 
                               , 
                               n 
                             
                             2 
                           
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
     The algorithm for sub-carriers allocation is shown in  FIG. 1 . 
     In  FIG. 1 , union and difference operand are denoted by “U” and “\”, respectively. In addition,             denotes an empty set. The above sub-carriers are allocated to a user one by one to ensure the fairness of QoS.
     As such, a first embodiment of the present invention is a method for fair sub-carriers allocation for an OFDM system, as shown in  FIG. 2 . This OFDM system provides a group of sub-carriers to a plurality of users in a user sequence for data transmission, wherein the plurality of users are arranged according to their requested data transmission rates in a descending order. As shown in step  210 , an allocated user is sequentially selected from the user sequence, wherein the next user after the last user in the user sequence is the first user in the user sequence. 
     In step  220 , a sub-carrier with the largest response in the sub-carrier group is allocated to the allocated user. Thereafter, as shown in step  230 , the sub-carrier with the largest response is removed from the sub-carrier group. Next, in step  240 , when the sum of data transmission rates of all the sub-carriers allocated to the allocated user is larger than that requested by the allocated user, then the allocated user is removed from the user sequence. Finally, in step  250 , when the user sequence includes at least one user, the process returns back to step  210 . 
     In addition, before any sub-carrier is allocated to a user, the total number of sub-carriers in the sub-carrier group is larger than the total number of users in the user sequence. Furthermore, the sum of data transmission rates of all the sub-carriers in the sub-carrier group is larger than that requested by all the users in the user sequence. 
     As such, a second embodiment of the present invention is a method for fair sub-carriers allocation for an OFDM system, as shown in  FIG. 3 . First, as shown in step  310 , data transmission rates requested by a plurality of users are obtained. Next, as shown in step  320 , a user sequence is generated based on the data transmission rates requested by the plurality of users, wherein the user after the last user in the user sequence is the first user in the user sequence. Thereafter, in step  330 , a sub-carrier group having a plurality of sub-carriers is obtained. Then, in step  340 , an allocated user is sequentially selected from the user sequence and an allocation process is performed for the allocated user until there are no more users in the user sequence or sub-carriers in the sub-carrier group. 
     The above allocation process is shown in  FIG. 4 . First, in step  341 , a sub-carrier with the largest response in the sub-carrier group is allocated to the allocated user. Thereafter, as shown in step  342 , the sub-carrier with the largest response is removed from the sub-carrier group. Next, in step  343 , when the sum of data transmission rates of all the sub-carriers allocated to the allocated user is larger than that requested by the allocated user, then the allocated user is removed from the user sequence. 
     In M-ary quadrature amplitude modulation scheme, under a given predetermined bit error rate (BER) P e , the average power-bit function (referring to C. Y. Wong, R. S. Cheng, K. B. Letaief, and R. D. Murch, “Multiuser OFDM with adaptive subcarrier, bit, and power allocation,” IEEE J. Sel. Areas Commun., vol. 17, pp. 1747-1758, October 1999.) is as follows: 
     
       
         
           
             
               
                 
                   
                     
                       f 
                       ⁡ 
                       
                         ( 
                         r 
                         ) 
                       
                     
                     = 
                     
                       
                         
                           
                             N 
                             0 
                           
                           3 
                         
                         ⁢ 
                         
                           
                             
                               ( 
                               
                                 M 
                                 - 
                                 1 
                               
                               ) 
                             
                             [ 
                             
                               
                                 Q 
                                 
                                   - 
                                   1 
                                 
                               
                               ( 
                               
                                 
                                   P 
                                   e 
                                 
                                 
                                   4 
                                   ⁢ 
                                   
                                     ( 
                                     
                                       1 
                                       - 
                                       
                                         1 
                                         
                                           M 
                                         
                                       
                                     
                                     ) 
                                   
                                 
                               
                               ) 
                             
                             ] 
                           
                           2 
                         
                       
                       ≈ 
                       
                         
                           
                             N 
                             0 
                           
                           3 
                         
                         ⁢ 
                         
                           
                             
                               ( 
                               
                                 
                                   2 
                                   r 
                                 
                                 - 
                                 1 
                               
                               ) 
                             
                             ⁡ 
                             
                               [ 
                               
                                 
                                   Q 
                                   
                                     - 
                                     1 
                                   
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     
                                       P 
                                       e 
                                     
                                     4 
                                   
                                   ) 
                                 
                               
                               ] 
                             
                           
                           2 
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
     wherein N O  indicates the single-sided power spectral density, and 
               Q   ⁡     (   x   )       =       1       2   ⁢           ⁢   π         ⁢       ∫   x   ∞     ⁢       exp   ⁡     (     -       u   2     2       )       ⁢           ⁢       ⅆ   u     .                 
 Since that the power-bit function must satisfy the predetermined BER P e  and number of bits r, the remaining unallocated sub-carriers can be used to reduce the transmission rate.
 
     Accordingly, given the predetermined BER P e , the transmission power for the k th  user can be re-expressed as follows: 
     
       
         
           
             
               
                 
                   
                     
                       p 
                       k 
                     
                     = 
                     
                       
                         
                           ∑ 
                           
                             n 
                             = 
                             1 
                           
                           N 
                         
                         ⁢ 
                         
                           p 
                           
                             k 
                             , 
                             n 
                           
                         
                       
                       = 
                       
                         
                           ∑ 
                           
                             n 
                             = 
                             1 
                           
                           N 
                         
                         ⁢ 
                         
                           
                             
                               
                                 N 
                                 0 
                               
                               3 
                             
                             ⁢ 
                             
                               
                                 
                                   ( 
                                   
                                     
                                       2 
                                       
                                         4 
                                         
                                           k 
                                           , 
                                           n 
                                         
                                       
                                     
                                     - 
                                     1 
                                   
                                   ) 
                                 
                                 ⁡ 
                                 
                                   [ 
                                   
                                     
                                       Q 
                                       
                                         - 
                                         1 
                                       
                                     
                                     ⁡ 
                                     
                                       ( 
                                       
                                         
                                           P 
                                           e 
                                         
                                         4 
                                       
                                       ) 
                                     
                                   
                                   ] 
                                 
                               
                               2 
                             
                           
                           
                             α 
                             
                               k 
                               , 
                               n 
                             
                             2 
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
     From equation (3), it can be seen that the transmission power P k,n  is proportional to the number of bits carried r k,n . Therefore, reducing the number of bits carried can significantly reduced the transmission power. Assuming J=S\(G 1 ∪G 2 ∪Λ⊚G K ) is the unallocated sub-carrier set, the dynamic bit assignment algorithm for an OFDM system according to the present invention is shown in  FIG. 5 . 
     As such, a third embodiment of the present invention is a method for dynamic bit assignment for an OFDM system, as shown in  FIG. 6 . This OFDM system allocated enough sub-carrier(s) to each user in a user group based on the data transmission rates requested by the respective user, thus forming a user-sub-carrier group. An unallocated sub-carrier group including a plurality of sub-carriers is also provided. 
     First, as shown in step  610 , sub-carrier(s) is/are allocated to each user in the user group, forming a user-sub-carrier group. Next, as shown in step  620 , a user with the highest sum of transmission rates is selected from the user group as an assigned user. Next, in step  630 , a sub-carrier with the lowest response is selected from the user-sub-carrier group allocated to the assigned user as a first assigned sub-carrier. Then, in step  640 , a sub-carrier with the highest response is selected from the unallocated sub-carrier group for the assigned user as a second assigned sub-carrier. Thereafter, as shown in step  650 , calculates the BER for the assigned user when a portion of the data carried by the first assigned sub-carrier is assigned to the second assigned sub-carrier, the result being an assigned BER. Then, in step  660 , when the assigned BER is lower than a predetermined BER, the portion of the data carried by the first assigned sub-carrier is assigned to the second assigned sub-carrier; the second assigned sub-carrier is allocated to the assigned user; and the second assigned sub-carrier is then removed from the unallocated sub-carrier group. Then, as shown in step  680 , when there are no more sub-carriers in the user-sub-carrier group of the assigned user, the assigned user is removed from the user group. Finally, in step  690 , when the user group includes at least one user, the process returns back to step  620 . 
     Furthermore, in an example of the present invention, step  690  returns to step  620  when the unallocated sub-carrier group includes at least one sub-carrier. Additionally, as for the assigned user, based on the proportion of the response of the first assigned sub-carrier to that of the second assigned sub-carrier, a portion of the data originally carried by the first assigned sub-carrier is assigned to the second assigned sub-carrier. 
     As such, a fourth embodiment of the present invention is a method for fair sub-carrier allocation and dynamic bit assignment for an OFDM system, which includes: obtaining data transmission rates requested by a plurality of users; generating a user sequence based on the data transmission rates requested by the plurality of users, wherein the user after the last user in the user sequence is the first user in the user sequence; obtaining a sub-carrier group having a plurality of sub-carriers; continually and sequentially selecting an allocated user from the user sequence, and performing an allocation process for the allocated user until there are no more users in the user sequence or sub-carriers in the sub-carrier group; allocating sub-carrier(s) to each user in the user group to form a user-sub-carrier group; and continually performing an assignment process when the user group includes at least one user. 
     The above allocation process includes: allocating a sub-carrier with the largest response in the sub-carrier group to the allocated user; removing the sub-carrier with the largest response from the sub-carrier group; removing the allocated user from the user sequence when the sum of data transmission rates of all the sub-carriers allocated to the allocated user is larger than that requested by the allocated user. 
     In addition, the above assignment process includes: selecting a user with the highest sum of transmission rates from the user group as an assigned user; selecting a sub-carrier with the lowest response from the user-sub-carrier group allocated to the assigned user as a first assigned sub-carrier; selecting a sub-carrier with the highest response from the unallocated sub-carrier group for the assigned user as a second assigned sub-carrier; calculating the BER for the assigned user when a portion of the data carried by the first assigned sub-carrier is assigned to the second assigned sub-carrier, the result being an assigned BER; assigning the portion of the data carried by the first assigned sub-carrier to the second assigned sub-carrier when the assigned BER is lower than a predetermined BER; allocating the second assigned sub-carrier to the assigned user when the assigned BER is lower than a predetermined BER; and then removing the second assigned sub-carrier from the unallocated sub-carrier group when the assigned BER is lower than a predetermined BER; removing the first assigned sub-carrier from the user-sub-carrier group of the assigned user; and removing the assigned user from the user group when there are no more sub-carriers in the user-sub-carrier group of the assigned user. 
     The relevant details of this embodiment have been disclosed earlier and will not be further described. 
     It is understood that several modifications, changes, and substitutions are intended in the foregoing disclosure and in some instances some features of the invention will be employed without a corresponding use of other features. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the invention.