# Patent

## Title
Multiuser allocation method for maximizing transmission capacity

## Abstract

Disclosed is a method and computer-readable medium for bit and power allocation for modems sharing a common multi-carrier binder, including Discrete Multi-Tone (DMT) based Digital Subscriber Line (DSL) modems. In one preferred embodiment, the method includes the steps of initializing a modem by calculating loop-to-loop channel transfer functions and noise power spectral densities (PSDs) at a corresponding receiver, and taking into account cross-talk between loops in the process of allocation so as to maximize total data rates within the binder.

## Background
FIELD OF THE INVENTION
The present invention relates to multi-carrier modem systems and, more particularly, to a method and system for allocating information bits and power so as to maximize data transmission capacity within a multi-carrier binder.
BACKGROUND OF THE INVENTION
Digital Subscriber Line (DSL) technology greatly increases the digital capacity of an ordinary telephone line, allowing much more information to be channeled into a home or office receiver as well as providing for “always-on” operation. The speed that a DSL modem can achieve is a function of the distance between the receiver and a central office. Symmetric DSL (SDSL) is typically used for short connections that require high data rates in both upstream and downstream directions. SDSL utilizes only one cable pair and may be used with adaptive rates from 144 Kbps to 1.5 Mbps. High Bit Rate DSL (HDSL) is a symmetric technology that uses two twisted pairs for transmission distances up to about 12,000 feet. Each twisted pair can be used to provide T1 transmission, but such lines are typically not shared with analog telephone devices. Alternatively, HDSL-2 technology requires only one cable pair and provides transmission distances of about 18,000 feet.
Asymmetric DSL (ADSL) technology uses frequencies that are higher than voice, shares telephone lines, and is suitable for accessing the Internet. For ADSL applications, a Plain Old Telephone System (POTS) splitter may be installed at the receiver end to separate the voice frequencies and the ADSL frequencies. The ‘G.lite’ version of ADSL, alternatively known as ‘ADSL lite,’ ‘Universal ADSL,’ or ‘splitterless ADSL,’ does not require a POTS splitter. Rather, telephone devices are connected to low-pass filters that remove the higher ADSL frequencies from the lower-frequency voice transmissions. In the current state of the art, ADSL is using Discrete Multi-tone (DMT) modulation and Carrierless Amplitude Phase (CAP) modulation.
Cables comprising twisted-pair transmission channels emanate from essentially all telephone company central offices. Such cables typically include binders containing groups of twenty-five or fifty tightly-packed twisted pairs. As can be appreciated by one skilled in the relevant art that this configuration results in crosstalk among twisted pairs in the same binder. There are nearly a billion such twisted pairs worldwide and the number is growing dramatically as nearly all new commercial and residential building developments continue to install twisted-pair lines for telephone service connection. This “installed copper base” of twisted pairs lines may indeed be the greatest infrastructure asset of the local telephone service provider.
In view of the fact that DSL technology can provide for many services over this installed copper base, the communication lines in a binder can be viewed as a service provider resource, much as the wireless spectrum is viewed as a resource. This resource needs fair management to provide the maximum competitive financial return and economic prosperity to all stakeholders in the broadband marketplace. Thus, in view of the valuable resource provided by the binder, unstructured use of the binder communication lines at the physical layer by uncoordinated competitive service providers becomes detrimental to the overall binder data carrying capacity.
In a typical binder containing twenty five or fifty twisted copper-pair lines, insulation between the lines provides only minimal shielding between copper loops in the high frequency band that is used by the various flavors of xDSL technologies. Accordingly, as the deployment of the various xDSL products has grown, the resulting interference into neighboring loops sharing the binder also continues to increase. Consequently, it has become clear that ever-increasing levels of interference in the binder present a limitation to xDSL product performance. The cross-talk caused by the signals transmitted on the loops, such as self-echo, near-end cross-talk (NEXT), and far-end cross-talk (FEXT), is dependent on the transmit signal power levels. In conventional xDSL applications, this cross-talk reduces the signal-to-noise ratio (SNR) since the cross talk acts as additional noise to the receiver.
In DMT-based ADSL modems, a selected bandwidth of 1.104 MHz is divided into 256 bins and the data bits are used for Quadrature Amplitude Modulation (QAM) in each bin. In DMT-based VDSL modems, a selected bandwidth of 17.664 MHz is divided into 4096 bins. Normally during the initialization period, each modem goes through a channel SNR estimation phase and data/power allocation phase, so as to maximize its own data rate. Because of the fact that each modem's transmission power leaks into other loops within the same binder, the leaked power adds to the noise detected by modems on the other loops. Moreover, if two modems happen to be sharing the same frequency band, then an increase in transmission power of one modem reduces the transmission data rate of the other shared-frequency-band modem. On the other hand, if the two modems were not sharing a common frequency band, then one modem's operation would have less of an adverse effect on the data rate of the other modem. As can be appreciated by one skilled in the art, if both modems were cooperating and jointly performed initial power allocation over available frequency bands, the resulting transmission data rate of the two modems would greater than the transmission data rates achieved if both modems were not cooperating.
Data rates can be increased utilizing a power control algorithm based on a single user as disclosed, for example, in a related technical article by Wei Yu, George Ginis, and John M. Cioffi, entitled “An adaptive multi-user power control algorithm,” T1E1.4 Contribution 01-200R3, August 2001. The core of the disclosed adaptive multi-user power control algorithm is an iterative water-filling procedure that effectively allocates transmission power among modem users and frequency bands when the power budget of each modem user is known. In the iterative water-filling procedure, multiple users take turns to allocate power based on the well-known water-filling method for a single user, taking into account the background noise and the cross-talk noise from other users, until the power allocation profile converges to equilibrium.
Thus, there is a particular need for a method which takes into account cross-talk among users in maximizing the total data rate achievable within a multi-carrier binder.
BRIEF SUMMARY OF THE INVENTION
The present invention provides a method and computer readable medium for allocation of available power budget of each Discrete Multi-Tone (DMT)-based Digital Subscriber Line (DSL) modem to its DMT frequency tones, simultaneously, over a collection of all ‘cooperating’ DSL modems that share a common binder. The method includes the steps of: initializing the DMT-based DSL modems by calculating the frequency-dependent values of channel attenuations, loop-to-loop cross-talk coefficients, and noise power spectral densities (PSDs) at all receivers, and using an iterative process to allocate power and bits to the frequency bins of all the cooperating modems such that the data rate totaled over all the modems is maximized for the pre-assigned power budgets for each of the modems. The disclosed method allocates the power considering all the users simultaneously rather than allocating the power sequentially from user to user and also functions within constraints imposed by the Standards Organizations.



BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing summary of the invention, as well as the following detailed description of preferred embodiments, is better understood when read in conjunction with the accompanying drawings, which are included by way of example, and not by way of limitation with regard to the claimed invention:
FIG. 1 is a simplified functional diagram of a conventional discrete multi-tone-based digital subscriber system;
FIG. 2 is a generalized diagram showing a DSL channel with M transmitters and M receivers modeled as an M-input and M-output interference channel; and
FIG. 3 is a flow diagram illustrating a preferred method of allocating bits and power in the DSL channel of FIG. 2.



DETAILED DESCRIPTION OF THE INVENTION
There is shown in FIG. 1 a simplified functional diagram of a conventional discrete multi-tone-based digital subscriber system 10 including a central office 31 such as may be provided by a local telephone company. The central office 31 includes a plurality of transmitters or modems, exemplified by central office modems 11 and 21. In the example provided, the central office modem 11 communicates with a customer receiver or modem 15 via communication link 13 and the central office modem 21 communicates with a customer receiver or modem 25 via communication link 23.
This duplex transmission configuration results in a certain amount of signal leakage between the communication links 13 and 23. For example, signals transmitted to the customer modem 15 induce cross-talk 17 (having coefficient HB,A) in the communication link 23 and signals transmitted to the customer modem 25 induce cross-talk 27 (having coefficient HA,B) in the communication link 13. Moreover, background noise 19 (ZA) and 29 (ZB) appear on the respective communication links 13 and 23. The calculation of transmission source power levels PA and PB needed at the central office 31 for specific bit-error rates are coupled to respective receiver signal power levels YA and YB required at the customer premise 30.
Existing telephone loops can be adapted to provide broadband access using DSL technology. The dominant impairment in such DSL communication methods typically results from the electromagnetic coupling occurring between neighboring twisted pair lines. Traditional approaches to prevent the failure of a DSL system due to the cross-talk are based on the single-user system design. That is, a criterion used to limit the power level of a particular telephone loop or carrier is determined by the worst-case cross-talk induced in other loops.
It can be appreciated that, because the channel characteristics of DSL loops typically change more slowly than channel parameters of a wireless network, it becomes possible to acquire fairly accurate channel information for DSL lines and advantageously model the DSL loop as an interference channel. This approach allows the channel information to be used more effectively in allocating power among multiple user carriers and frequency bands, in comparison to a single-user system method.
A typical DSL configuration may include twenty-five to fifty twisted pairs bundled as a group of communication lines, herein represented by a binder 33. As can be appreciated by one skilled in the relevant art, the electromagnetic field generated by a twisted pair in the binder 33 provides causes cross-talk signals, particularly on other pairs within the binder 33. These interactions can be illustrated in greater detail with reference to FIG. 2 in which a DSL channel with M transmitters and M receivers can be modeled as an M-input and M-output (MIMO) interference channel. Each user's channel comprises an inter-symbol interference (ISI) channel divided into N independent sub-channels in discrete multi-tone (DMT) systems. Thus, the DMT-based DSL channel with M users consists of N independent sub-channels, where N is equal to the number of DMT tones to which data must be assigned for each modem. The M transmitters operate at respective power levels of P(n,1), P(n,2), . . . , P(n, M), where 0≦n≦N.
Each DMT tone can be modeled as an interference channel having the following channel matrix:




  
    
      
        
          H
          n
        
        =
        
          [
          
            
              
                
                  
                    H
                    
                      1
                      ,
                      1
                    
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
              
                
                  
                    H
                    
                      1
                      ,
                      2
                    
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
              
                ⋯
              
              
                
                  
                    H
                    
                      1
                      ,
                      M
                    
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
            
            
              
                
                  
                    H
                    
                      2
                      ,
                      1
                    
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
              
                
                  
                    H
                    
                      2
                      ,
                      2
                    
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
              
                ⋯
              
              
                
                  
                    H
                    
                      2
                      ,
                      M
                    
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
            
            
              
                ⋮
              
              
                ⋮
              
              
                ⋰
              
              
                ⋮
              
            
            
              
                
                  
                    H
                    
                      M
                      ,
                      1
                    
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
              
                
                  
                    H
                    
                      M
                      ,
                      2
                    
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
              
                ⋯
              
              
                
                  
                    H
                    
                      M
                      ,
                      M
                    
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        1
        )
      
    
  




where the diagonal term H1,l(n) is a channel gain coefficient for user i, and the off-diagonal term Hl,j(n) is a channel cross-talk coefficient representing signal coupling from user j to user i in sub-channel DMT-frequency bin n. Using this nomenclature, a receiver signal power level 40, designated as Y(n,1), transmitted to a first user includes received transmission source power 41, designated as H1,12(n)P(n,1), and background noise 43, designated as Z(n,1). The receiver signal power Y(n,1) also includes a plurality of cross-talk signals from other user communication links, exemplified by a cross-talk signal 45, designated as H1,22 (n)P(n,2), from a second user and a cross-talk signal 47, designated as H1,M2(n)P(n,M), from an Mth user.

Similarly, a receiver signal power level 50, designated as Y(n,2), transmitted to the second user includes received transmission source power 51, designated as H2,22 (n)P(n,2), and background noise 53, designated as Z(n,2). The receiver signal power Y(n,2) also includes a plurality of cross-talk signals, exemplified by a cross-talk signal 55, designated as H2,22, (n)P(n,1), from the first user and a cross-talk signal 57, designated as H2,M2(n)P(n,M), from the Mth user. The Mth receiver signal power level 90, designated as Y(n,M), includes received transmission source power 91, HM,M2(n)P(n,M), background noise 93, Z(n,M), cross-talk signal 95, HM,12(n)P(n,1), and cross-talk signal 97, HM,22(n)P(n,2).
The disclosed method addresses the allocation of power in each modem so as to maximize the total capacity of the binder 33. In this case, the total noise power spectral density function of user i in sub-channel n is the sum of the background noise power Z(n,i) and the cross-talk caused by other communication links in the binder 33,




  
    
      
        
          Noise
          ⁢
          
            
          
          ⁢
          
            Power
            ⁡
            
              (
              
                n
                ,
                i
              
              )
            
          
        
        =
        
          
            Z
            ⁡
            
              (
              
                n
                ,
                i
              
              )
            
          
          +
          
            
              ∑
              
                
                  j
                  =
                  1
                
                ,
                
                  j
                  ≠
                  i
                
              
              M
            
            ⁢
            
              
                
                  H
                  
                    i
                    ,
                    j
                  
                  2
                
                ⁡
                
                  (
                  n
                  )
                
              
              ·
              
                P
                ⁡
                
                  (
                  
                    n
                    ,
                    j
                  
                  )
                
              
            
          
        
      
    
    
      
        (
        2
        )
      
    
  




where P(n, j) and Z(n, i) are the transmit signal power of user j and the background noise power of receiver i in sub-channel n, respectively. The signal to noise ratio S(n,i) at receiver i in sub-channel n can be expressed as,





  
    
      
        
          S
          ⁡
          
            (
            
              n
              ,
              i
            
            )
          
        
        =
        
          
            
              
                
                  H
                  
                    i
                    ,
                    i
                  
                  2
                
                ⁡
                
                  (
                  n
                  )
                
              
              ·
              
                P
                ⁡
                
                  (
                  
                    n
                    ,
                    i
                  
                  )
                
              
            
            
              
                Z
                ⁡
                
                  (
                  
                    n
                    ,
                    i
                  
                  )
                
              
              +
              
                
                  ∑
                  
                    
                      j
                      =
                      1
                    
                    ,
                    
                      j
                      ≠
                      i
                    
                  
                  M
                
                ⁢
                
                  
                    
                      H
                      
                        i
                        ,
                        j
                      
                      2
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                  ·
                  
                    P
                    ⁡
                    
                      (
                      
                        n
                        ,
                        j
                      
                      )
                    
                  
                
              
            
          
          .
        
      
    
    
      
        (
        3
        )
      
    
  




By assuming that all the transmitted signals and the background noise are Gaussian, the number of bits that can be transmitted in sub-channel n from transmitter i to receiver i is given by,




  
    
      
        
          b
          ⁡
          
            (
            
              n
              ,
              i
            
            )
          
        
        =
        
          
            log
            2
          
          ⁡
          
            (
            
              1
              +
              
                
                  S
                  ⁡
                  
                    (
                    
                      n
                      ,
                      i
                    
                    )
                  
                
                Γ
              
            
            )
          
        
      
    
    
      
        (
        
          4
          ⁢
          a
        
        )
      
    
  
  
    
      
        =
        
          
            log
            2
          
          (
          
            1
            +
            
              
                
                  
                    H
                    
                      i
                      ,
                      i
                    
                    2
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
                ·
                
                  P
                  ⁡
                  
                    (
                    
                      n
                      ,
                      i
                    
                    )
                  
                
              
              
                Γ
                ·
                
                  (
                  
                    
                      Z
                      ⁡
                      
                        (
                        
                          n
                          ,
                          i
                        
                        )
                      
                    
                    +
                    
                      
                        ∑
                        
                          
                            j
                            =
                            1
                          
                          ,
                          
                            j
                            ≠
                            i
                          
                        
                        M
                      
                      ⁢
                      
                        
                          
                            H
                            
                              i
                              ,
                              j
                            
                            2
                          
                          ⁡
                          
                            (
                            n
                            )
                          
                        
                        ·
                        
                          P
                          ⁡
                          
                            (
                            
                              n
                              ,
                              j
                            
                            )
                          
                        
                      
                    
                  
                  )
                
              
            
          
          )
        
      
    
    
      
        (
        
          4
          ⁢
          b
        
        )
      
    
  




where Γ is the signal-to-noise ratio gap. The data rate of user i can be found by summing the bit rates in all N channels to give,





  
    
      
        
          R
          i
        
        =
        
          
            1
            
              T
              s
            
          
          ⁢
          
            
              ∑
              
                n
                =
                1
              
              N
            
            ⁢
            
              b
              ⁡
              
                (
                
                  n
                  ,
                  i
                
                )
              
            
          
        
      
    
    
      
        (
        
          5
          ⁢
          a
        
        )
      
    
  
  
    
      
        =
        
          
            1
            
              T
              s
            
          
          ⁢
          
            
              ∑
              
                n
                =
                1
              
              N
            
            ⁢
            
              
                log
                2
              
              (
              
                1
                +
                
                  
                    
                      
                        H
                        
                          i
                          ,
                          i
                        
                        2
                      
                      ⁡
                      
                        (
                        n
                        )
                      
                    
                    ·
                    
                      P
                      ⁡
                      
                        (
                        
                          n
                          ,
                          i
                        
                        )
                      
                    
                  
                  
                    Γ
                    ·
                    
                      (
                      
                        
                          Z
                          ⁡
                          
                            (
                            
                              n
                              ,
                              i
                            
                            )
                          
                        
                        +
                        
                          
                            ∑
                            
                              
                                j
                                =
                                1
                              
                              ,
                              
                                j
                                ≠
                                i
                              
                            
                            M
                          
                          ⁢
                          
                            
                              
                                H
                                
                                  i
                                  ,
                                  j
                                
                                2
                              
                              ⁡
                              
                                (
                                n
                                )
                              
                            
                            ·
                            
                              P
                              ⁡
                              
                                (
                                
                                  n
                                  ,
                                  j
                                
                                )
                              
                            
                          
                        
                      
                      )
                    
                  
                
              
              )
            
          
        
      
    
    
      
        (
        
          5
          ⁢
          b
        
        )
      
    
  




where





  1
  
    T
    s
  




is the symbol rate.

The disclosed method maximizes binder capacity over an available frequency bandwidth subject to a power budget constraint Pbudget(i), a power mask constraint Pmask(n), and a ‘bit-cap’ constraint bmax(n) for each user carrier. Using the channel matrix terms Hi,j(n) and the background noise power spectral density function Z(n, i), the transmit signal powers are advantageously distributed among the N sub-channels such that the summation of the data rates of all the user carriers is maximized:




  
    
      
        
          
            max
            ⁢
            
              
                ∑
                
                  i
                  =
                  1
                
                M
              
              ⁢
              
                R
                i
              
            
          
          =
          
            max
            ⁢
            
              1
              
                T
                s
              
            
            ⁢
            
              
                ∑
                
                  i
                  =
                  1
                
                M
              
              ⁢
              
                
                  ∑
                  
                    n
                    =
                    1
                  
                  N
                
                ⁢
                
                  [
                  
                    
                      log
                      2
                    
                    (
                    
                      1
                      +
                      
                        
                          
                            
                              H
                              
                                i
                                ,
                                i
                              
                              2
                            
                            ⁡
                            
                              (
                              n
                              )
                            
                          
                          ·
                          
                            P
                            ⁡
                            
                              (
                              
                                n
                                ,
                                i
                              
                              )
                            
                          
                        
                        
                          Γ
                          ·
                          
                            (
                            
                              
                                Z
                                ⁡
                                
                                  (
                                  
                                    n
                                    ,
                                    i
                                  
                                  )
                                
                              
                              +
                              
                                
                                  ∑
                                  
                                    
                                      j
                                      =
                                      1
                                    
                                    ,
                                    
                                      j
                                      ≠
                                      i
                                    
                                  
                                  M
                                
                                ⁢
                                
                                  
                                    
                                      H
                                      
                                        i
                                        ,
                                        j
                                      
                                      2
                                    
                                    ⁡
                                    
                                      (
                                      n
                                      )
                                    
                                  
                                  ·
                                  
                                    P
                                    ⁡
                                    
                                      (
                                      
                                        n
                                        ,
                                        j
                                      
                                      )
                                    
                                  
                                
                              
                            
                            )
                          
                        
                      
                    
                    )
                  
                  ]
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          subject
          ⁢
          
            
          
          ⁢
          to
        
      
    
    
      
        (
        
          6
          ⁢
          a
        
        )
      
    
  
  
    
      
        
          
            
              
                ∑
                
                  n
                  =
                  1
                
                N
              
              ⁢
              
                P
                ⁡
                
                  (
                  
                    n
                    ,
                    i
                  
                  )
                
              
            
            ≤
            
              
                
                  P
                  budget
                
                ⁡
                
                  (
                  i
                  )
                
              
              ⁢
              
                
              
              ⁢
              for
              ⁢
              
                
              
              ⁢
              i
            
          
          =
          1
        
        ,
        ...
        ⁢
        
          
        
        ,
        M
      
    
    
      
        (
        
          6
          ⁢
          b
        
        )
      
    
  




0≦P(n,i)≦Pmask(n) for i=1, . . . ,M; n=1, . . . ,N  (6c)

b(n,i)≦bmax(n) for i=1, . . . , M;n=1, . . . ,N  (6d)

where └X┘ is defined as the largest integer that is not greater than X, Pbudget(i) is the power budget of user i, Pmask(n) is the power mask constraint in the sub-channel n, and bmax(n) is the bit cap constraint in the sub-channel n. As is understood by one skilled in the relevant art, when a theoretical solution to equation (6) produces a non-integer bit allocation, an integer bit allocation approximating the non-integer solution is preferably used in a physical system such as the discrete multi-tone-based digital subscriber system 10, in FIG. 1.

Equation (3) can be rearranged and expressed as

yn=Anxn  (7)

where

yn=[S(n,1)Z(n,1) S(n,2)Z(n,2) . . . S(n,M)Z(n,M)]T  (8)





  
    
      
        
          A
          n
        
        =
        
          [
          
            
              
                
                  
                    H
                    
                      1
                      ,
                      1
                    
                    2
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
              
                
                  
                    -
                    
                      S
                      ⁡
                      
                        (
                        
                          n
                          ,
                          1
                        
                        )
                      
                    
                  
                  ⁢
                  
                    
                      H
                      
                        1
                        ,
                        2
                      
                      2
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                
              
              
                ⋯
              
              
                
                  
                    -
                    
                      S
                      ⁡
                      
                        (
                        
                          n
                          ,
                          1
                        
                        )
                      
                    
                  
                  ⁢
                  
                    
                      H
                      
                        1
                        ,
                        M
                      
                      2
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                
              
            
            
              
                
                  
                    -
                    
                      S
                      ⁡
                      
                        (
                        
                          n
                          ,
                          2
                        
                        )
                      
                    
                  
                  ⁢
                  
                    
                      H
                      
                        2
                        ,
                        1
                      
                      2
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                
              
              
                
                  
                    H
                    
                      2
                      ,
                      2
                    
                    2
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
              
                ⋯
              
              
                
                  
                    -
                    
                      S
                      ⁡
                      
                        (
                        
                          n
                          ,
                          2
                        
                        )
                      
                    
                  
                  ⁢
                  
                    
                      H
                      
                        2
                        ,
                        M
                      
                      2
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                
              
            
            
              
                ⋮
              
              
                ⋮
              
              
                ⋰
              
              
                ⋮
              
            
            
              
                
                  
                    -
                    
                      S
                      ⁡
                      
                        (
                        
                          n
                          ,
                          M
                        
                        )
                      
                    
                  
                  ⁢
                  
                    
                      H
                      
                        M
                        ,
                        1
                      
                      2
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                
              
              
                
                  
                    -
                    
                      S
                      ⁡
                      
                        (
                        
                          n
                          ,
                          M
                        
                        )
                      
                    
                  
                  ⁢
                  
                    
                      H
                      
                        M
                        ,
                        2
                      
                      2
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                
              
              
                ⋯
              
              
                
                  
                    H
                    
                      M
                      ,
                      M
                    
                    2
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        9
        )
      
    
  




xn=[P(n,1)P(n,2) . . . P(n,M)]T  (10)

The disclosed method for allocating power among users and frequency bands can be described in greater detail with reference to the flow diagram of FIG. 3. Initial parameters are obtained, at step 101, by measuring the channel matrix parameters Hi,j(n) found in equation (3) above, and by measuring the background noise parameter terms Z(n,i).
A series of bit allocation matrices bn, one for each user i, are initialized, at step 103:

[bn]l=[0102 . . . 0N]T for i=1, . . . , N  (11)

A null flag matrix [F] of size M×N is initialized for use in maintaining a set of system flags:





  
    
      
        
          
            [
            
              F
              
                N
                ,
                M
              
            
            ]
          
          0
        
        =
        
          [
          
            
              
                
                  0
                  
                    1
                    ,
                    1
                  
                
              
              
                
                  0
                  
                    1
                    ,
                    2
                  
                
              
              
                ⋯
              
              
                
                  0
                  
                    1
                    ,
                    M
                  
                
              
            
            
              
                
                  0
                  
                    2
                    ,
                    1
                  
                
              
              
                
                  0
                  
                    2
                    ,
                    2
                  
                
              
              
                ⋯
              
              
                
                  0
                  
                    2
                    ,
                    M
                  
                
              
            
            
              
                ⋮
              
              
                ⋮
              
              
                ⋰
              
              
                ⋮
              
            
            
              
                
                  0
                  
                    N
                    ,
                    1
                  
                
              
              
                
                  0
                  
                    N
                    ,
                    2
                  
                
              
              
                ⋯
              
              
                
                  0
                  
                    N
                    ,
                    M
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        12
        )
      
    
  




At step 105, the power required to transmit one bit in each of the N frequency bins and for each of the M users is calculated using the expression:




  
    
      
        
          
            J
            ⁡
            
              (
              
                n
                ,
                i
              
              )
            
          
          =
          
            
              
                
                  w
                  i
                
                ·
                
                  
                    
                      S
                      ⁡
                      
                        (
                        
                          n
                          ,
                          i
                        
                        )
                      
                    
                    ·
                    
                      Z
                      ⁡
                      
                        (
                        
                          n
                          ,
                          i
                        
                        )
                      
                    
                  
                  
                    
                      H
                      
                        i
                        ,
                        i
                      
                      2
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                
              
              ⁢
              
                
              
              ⁢
              for
              ⁢
              
                
              
              ⁢
              n
            
            =
            1
          
        
        ,
        ...
        ⁢
        
          
        
        ,
        
          N
          ;
          
            i
            =
            1
          
        
        ,
        
          ...
          ⁢
          
            
          
          ⁢
          
            M
            .
          
        
      
    
    
      
        (
        13
        )
      
    
  




Each power value has been weighted with a predetermined weight factor wi, where 0≦wi≦1. The weighted values are then stored in the weighted incremental power array given by:





  
    
      
        
          [
          
            J
            
              N
              ,
              M
            
          
          ]
        
        =
        
          [
          
            
              
                
                  J
                  
                    1
                    ,
                    1
                  
                
              
              
                
                  J
                  
                    1
                    ,
                    2
                  
                
              
              
                ⋯
              
              
                
                  J
                  
                    1
                    ,
                    M
                  
                
              
            
            
              
                
                  J
                  
                    2
                    ,
                    1
                  
                
              
              
                
                  J
                  
                    2
                    ,
                    2
                  
                
              
              
                ⋯
              
              
                
                  J
                  
                    2
                    ,
                    M
                  
                
              
            
            
              
                ⋮
              
              
                ⋮
              
              
                ⋰
              
              
                ⋮
              
            
            
              
                
                  J
                  
                    N
                    ,
                    1
                  
                
              
              
                
                  J
                  
                    N
                    ,
                    2
                  
                
              
              
                ⋯
              
              
                
                  J
                  
                    N
                    ,
                    M
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        14
        )
      
    
  




The terms Hl,j, and Z(n,i) in equation (13) can be measured at subscriber system initiation. From equation (4) the signal-to-noise ratio S(n,i) can be represented as a function of the number of bits transmitted by the receiver i in the sub-channel n,

S(n, i)=Γ·(2b(n,j)−1)  (15)

Using equations (8), (9), and (15), An and yn can be determined once the transmission bits b(n,i), the channel cross-talk coefficients Hi,j(n), and the background noise Z(n, i) parameters have been derived.

The minimum element (n, i) used to select the user and the frequency bin that costs the least for transmitting one additional bit is determined, in step 107. If a flag has been set in the flag matrix [F], the corresponding flagged element is not included among the available sub-channels and users in this determination. The minimum element (n, i) can represented by the expression:




  
    
      
        
          (
          
            n
            ,
            i
          
          )
        
        =
        
          arg
          ⁢
          
            
              {
              
                
                  min
                  
                    {
                    
                      
                        
                          (
                          
                            m
                            ,
                            j
                          
                          )
                        
                        ·
                        
                          F
                          
                            m
                            ,
                            j
                          
                        
                      
                      =
                      0
                    
                    }
                  
                
                ⁢
                
                  
                
                ⁢
                
                  J
                  ⁡
                  
                    (
                    
                      m
                      ,
                      j
                    
                    )
                  
                
              
              }
            
            .
          
        
      
    
    
      
        (
        16
        )
      
    
  




The necessary power of each user to transmit bn=[b(n,1) b(n,2) . . . b(n,M)]T bits in sub-channel n can then be calculated by solving the linear equation (7) for xn.

In step 109, the bit count in sub-channel n is increased by one bit for user i if none of the power budget constraint Pbudget(i), power mask constraint Pmask(n), or ‘bit-cap’ constraint bmax(n) has been exceeded,

bn<=bn+el.  (17)

For the multi-user application, a ‘greedy algorithm’ is used to increase one bit in the sub-channel n, for the selected user i, which requires least incremental power to transmit one more bit. In such multi-user integer bit-loading, the P(n,j) values are changed for j=1 . . . , M; j≠i, in addition to the P(n,i) values. That is, because the bit count for the selected user i has been increased, the power levels for the non-selected users need to be increased to offset increased cross-talk and maintain the desired bit-error rate for the other users transmitting b(n, j) bits for j=1 . . . ,M; j≠i in the sub-channel n. As can be appreciated by one skilled in the art, the step of increasing the power of one user (i.e., of user i) results in an increase in the cross-talk to other users (i.e., to users j for j=1 . . . ,M; j≠i).
Thus, the cost function provided by [JN,M] in equation (14) above is used to effectively represent the incremental powers incurred by all the users j to increase one bit of a the particular user i. In a preferred embodiment, the cost function value J(n,i) for increasing one bit of user i in sub-channel n is selected to be a weighted sum of the incremental powers of all the users, such as given by the expression:

J(n,i)=w·(xn(bn+el)−xn(bn)),  (18)

where w=[w1 w2 . . . wM]T is a pre-selected weight vector containing a weight for each user, el is a unit vector whose ith element is unity and all the other elements are zero, and xn(bn), denotes the necessary power to transmit bn bits in the sub-channel n.

In step 111, the cost of increasing one bit for every user in sub-channel n is updated. This is preferably done by solving equation (7) and then updating the corresponding cost function value J(n,j) using the weight vector to give:

J(n,j)=w·(xn(bn+ej)−xn(bn)), for j=1 . . . , M  (19)

In decision block 113, the power value xn(bn) is checked against the power mask constraint Pmask(n) and the bit count bn is checked against the bit cap constraint bmax(n). The corresponding flag in the flag matrix [F] is set (i.e., Fn,i=1), at step 115, if either of the power mask or bit count constraints is met or exceeded, indicating that sub-channel n is no longer available to increase one bit of user i, and operation returns to step 107.
If neither the bit cap constraint nor the power mask constraint has been met or exceeded, at decision block 113, a query is made, at decision block 117, as to whether there are remaining powers for all users. If modem power is not exhausted, then operation returns to step 107. If modem power has been exhausted, the bit and power allocation process is ended, at step 119.
While the invention has been described with reference to a preferred embodiment, it will be understood by those skilled in the relevant art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims.

## Claims

1. A method suitable for use in allocating information bits and power among user modems and frequency bins in a multi-carrier binder, said method comprising the steps of:
selecting a least-incremental-power-bit frequency bin having a corresponding bit count and meeting a first predefined criterion, said least-incremental-power-bit frequency bin corresponding to a selected user;
increasing said bit count in said selected least-incremental-power-bit frequency bin in response to said step of selecting;
calculating power values for other non-selected users within the multi-carrier binder in response to said step of increasing said bit count;
if a second predefined criterion has not been satisfied, repeatedly performing said steps of selecting, increasing, and calculating until said second predefined criterion has been satisfied; and,
if said second predefined criterion has been satisfied, stopping bit and power allocation if modem power has been exhausted.

2. The method of claim 1 wherein said first predetermined criterion comprises having an incremental power requirement for an increase in bit-count which is less than or equal to an incremental power requirement for an increase in bit-count for another frequency bin in the multi-carrier binder.

3. The method of claim 1 wherein said bit-count comprises an initial predetermined number of bits.

4. The method of claim 1 wherein said step of increasing said bit-count comprises the step of increasing said bit-count by one bit.

5. The method of claim 1 wherein said step of increasing said bit count includes the step of setting a flag indicating a full frequency bin said increased bit count exceeds a pre-established maximum bit-count value.

6. The method of claim 1 wherein said second predefined criterion is satisfied if power allocated to said least-incremental-power-bit frequency bin meets or exceeds a pre-established power value.

7. The method of claim 1 wherein said power values are substantially equivalent to minimum power values required by said non-selected users to offset increased cross-talk resulting from said step of increasing said bit count.

8. The method of claim 1 wherein said step of selecting comprises the steps of:
calculating a set of incremental power values for increases in bit count for a set of all frequency bins in the multi-carrier binder;
determining a least incremental power value in said set of incremental power values; and
identifying as said least-incremental-power-bit frequency bin a frequency bin having said least incremental power value.

9. The method of claim 8 wherein said step of identifying a frequency bin comprises the step of calculating a weighted power sum, said weighted power sum being a function of weight factors and incremental power values for frequency bins in the multi-carrier binder.

10. The method of claim 9 wherein said weighted power sum is further a function of noise and signal-to-noise ratio in a corresponding frequency bin.

11. The method of claim 1 further comprising the step of measuring channel matrix parameters and noise in the frequency bins prior to said step of selecting.

12. A computer-readable medium comprising computer-executable instructions for allocating power among users and frequency bins within a multi-carrier binder by performing the steps of:
selecting a least-incremental-power-bit frequency bin having a corresponding bit count and meeting a first predefined criterion, said least-incremental-power-bit frequency bin corresponding to a selected user;
increasing said bit count in said selected least-incremental-power-bit frequency bin in response to said step of selecting;
calculating power values for other non-selected users within the multi-carrier binder in response to said step of increasing said bit count;
if a second predefined criterion has not been satisfied, repeatedly performing said steps of selecting, increasing, and calculating until said second predefined criterion has been satisfied; and,
if said second predefined criterion has been satisfied, stopping bit and power allocation if modem power has been exhausted.

13. The computer-readable medium of claim 12 wherein said first predetermined criterion comprises having an incremental power requirement for an increase in bit-count which is less than or equal to an incremental power requirement for an increase in bit-count for another frequency bin in the multi-carrier binder.

14. The computer-readable medium of claim 12 wherein said step of increasing said bit count includes the step of setting a flag indicating a full frequency bin said increased bit count exceeds a pre-established maximum bit-count value.

15. The computer-readable medium of claim 12 wherein said second predefined criterion is satisfied if power allocated to said least-incremental-power-bit frequency bin meets or exceeds a pre-established power value.

16. The computer-readable medium of claim 12 wherein said step of selecting comprises the steps of:
calculating a set of incremental power values for increases in bit count for a set of all frequency bins in the multi-carrier binder;
determining a least incremental power value in said set of incremental power values; and
identifying as said least-incremental-power-bit frequency bin a frequency bin having said least incremental power value.

17. The computer-readable medium of claim 16 wherein said step of identifying a frequency bin comprises the step of calculating a weighted power sum, said weighted power sum being a function of weight factors and incremental power values for frequency bins in the multi-carrier binder.