# Patent

## Title
Fast method for adjusting downlink transmitted power

## Abstract

An algorithm calculates a correction value to be applied to a slot in an adjustment period for power correction. For each slot, the algorithm determines whether adding a correction value in a given slot would bring the actual accumulative adjustment value closer or farther from a total desired power correction value for the adjustment period. In one embodiment, the correction value is added to consecutive slots in the adjustment period to conduct the correction as fast as possible. The algorithm also checks the total amount of adjustment applied to the slots over a sliding adjustment window within the adjustment period to make sure that the total amount of adjustment applied to the slots in the adjustment window do not exceed a predetermined maximum threshold.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to wireless communication systems.
2. Description of the Related Art
Communication systems, such as wireless systems, are designed to meet various demands of subscribers. Service providers continuously seek ways to improve the overall performance of the communication system. As wireless communications become more and more popular for subscribers to obtain data (i.e., email or information from the internet), communication systems must be capable of a higher throughput.
There are two directions of data flow in such systems. Communications from a base station to a mobile device are considered to flow in a downlink direction while the communications originating at the mobile device are considered to flow in an uplink direction. Most of the work in this area has focused on the downlink flow of information, which is to the mobile devices (typically from a base station, called “Node B” in the Universal Mobile Telecommunications Standard, or UMTS).
In general, a given service coverage area is divided into multiple cells, with a base station (Node B) associated with one or more cells, as shown in FIG. 1. A scheduler at the base station selects a user for transmission at a given time, and adaptive modulation and coding allows selection of an appropriate transport format (modulation and coding) for the current channel conditions seen by the user. Accordingly, in scheduling, the Node B grants permission to one or more users at a time, rather than to allow data users to transmit autonomously. Typically, this is based on an estimate of each user's radio link quality in one of the downlink and uplink.
When user equipment is moved between cell sites, the Node B in each cell site prevents dropped signals by holding the signal in both cell sites until the transfer between cell sites is completed. This process is called a “soft handover.” More particularly, the Node B in the cell where the user equipment is originally located does not cut off the signal until it receives information from the Node B in the destination cell that it is maintaining the signal. Each Node B involved in the soft handover is considered part of an active set.
Each Node B also participates in power control, as it enables the user equipment to adjust its power using downlink transmission power control (TPC) commands via an inner-loop power control on the basis of uplink TPC information. Ideally, each Node B radio link involved in the soft handover receives the same TPC commands to control the transmitted power of the downlink channels (e.g., downlink data channels and downlink control channels). Due to errors in the uplink control channel radio links, however, the TPC commands received by each Node B may be different; for example, during soft handover, stronger radio links will have a lower probability of TPC bit errors than weaker radio links. If the radio link is extremely weak, the TPC bits received by the Node B will be random, breaking the inner-loop power control and potentially increasing the transmitted power of the weak link unnecessarily.
Because the inner loop at each Node B responds to the TPC commands it receives, cumulative TPC bit errors will cause the Node B transmitted power to drift substantially if the transmitted power levels of each Node B in the active set are left unsynchronized. Optimal downlink capacity is achieved if the values of the transmitted power of all the Node Bs in the active set are the same or nearly the same. If the transmitted power levels are not kept synchronized, the relative power spread between radio links increases, reducing downlink system capacity and increasing the probability of dropped signals during handover.
The UMTS standard specifies a downlink power adjustment procedure for adjusting the Node B transmitted power of the radio links in the active set. Although the UMTS standard defines the parameters, ranges and accuracy of the power adjustment procedure, the standard leaves open the specific method used to compute and apply the adjustment corrections.
There is a desire for a method that can adjust downlink transmitted power so that the values at each Node B in the active set is balanced.
SUMMARY OF THE INVENTION
The present invention is directed to an algorithm for calculating a correction value to be applied to a given slot in an adjustment period for power correction. A predetermined total amount of power adjustment to be applied over the adjustment period is divided to determine an individual correction value that can be applied to single slots in the adjustment period. The correction value is then distributed over the adjustment period as fast as possible so that the transmitted power in a given active set converges quickly toward the total power adjustment amount, diminishing the spread of transmitted power among members in the active set and thereby increasing the downlink capacity.
In one embodiment, the correction value is added to consecutive slots in the adjustment period. The algorithm also checks the total amount of power adjustment applied to the slots over a sliding adjustment window to make sure that the total amount of adjustment applied to the slots in the adjustment window does not exceed a predetermined maximum threshold.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a representative diagram of cells and nodes operating one embodiment of the invention; and
FIG. 2 is a flow diagram illustrating one embodiment of the inventive algorithm.



DETAILED DESCRIPTION
FIG. 2 is a flow diagram illustrating an algorithm for adjusting the downlink transmitted power to equalize the values at each Node B in an active set. For purposes of illustration only, the example described below focuses on power adjustment according to parameters defined by the UMTS standard, but the inventive algorithm can be applied to any wireless system using any standard. Parameters and formulas defined by the UMTS standard and referenced in this description are defined below in Table 1.








TABLE 1





UMTS Parameter Name or Formula
Definition of Parameter











  
    
      ∑
      
        k
        =
        Adjustment_Period
      
    
    ⁢
    
      
        P
        bal
      
      ⁡
      
        (
        k
        )
      
    
  
  =
  
    
      (
      
        1
        -
        r
      
      )
    
    ⁢
    
      (
      
        
          P
          ref
        
        +
        
          P
          
            P
            -
            CPICH
          
        
        -
        
          P
          init
        
      
      )
    
  




aggregate amount of power adjustmentcorrection to be superimposed on the innerloop power control adjustments


 


Pbal(k)
amount of power correction applied in slot k


Adjustment_Period
period in which a power adjustment



correction ΣPbal(k) is applied (range 1 to



256 frames)


r
adjustment ratio defining the convergence



rate used in the adjustment period


Pref
downlink reference power relative to the P-



CPICH to which the power adjustment



algorithm should converge to (range-35 dB to



15 dB)


PP-CPICH
primary common pilot absolute power


Pinit
code absolute power of the last slot of the



previous adjustment period


Max_Adjustment_Step
maximum number of slots in which the



magnitude of the power balancing correction



cannot exceed 1 dB (range 1 to 10 slots)









In this embodiment, the UMTS standard calls for a periodic procedure at a given Node B to compute the aggregate downlink power correction ΣPbal(k), which is the total desired power correction value, over the number of frames defined by the Adjustment_Period parameter. Generally, the aggregate downlink power correction is computed before the adjustment period starts and is applied across the adjustment period by adding a correction value Pbal(k) to the downlink inner loop power control at each slot k. The UMTS standard also limits the sum of the adjustment corrections over a sliding adjustment window encompassing Max_Adjustment_Step number of slots to 1 dB or less. As shown in Table 1, the adjustment window Max_Adjustment_Step has a fixed number of slots that are a subset of the slots in the adjustment period.
With the aggregate correction value ΣPbal(k) calculated by a given Node B being known, the inventive algorithm calculates a correction value Pbal(k) to be applied to a given slot k in the adjustment period. The algorithm calculates the correction value Pbal(k) so that the aggregate correction is distributed as fast as possible over the adjustment period; generally, the correction value Pbal(k) is added to each consecutive slot in the adjustment period until the aggregate correction value ΣPbal(k) reaches the maximum value for the adjustment window within the adjustment period. By correcting power imbalances as fast as possible in the adjustment period, the invention can prevent the TPC bits in a weak radio link from exhibiting random characteristics.
As a practical matter, the actual cumulative correction may not actually reach the target ΣPbal at the end of the adjustment period, particularly when ΣPbal is large, due to quantization effects and the Max_Adjustment_Step adjustment window limitation. The algorithm will, however, ensure that the maximum possible cumulative correction is applied during the adjustment period as fast as possible.
To control the correction amount applied to a given slot, the algorithm calculates a proposed applied correction value Δadj for a given slot k, for each slot so that




  
    
      
        
          
            ∑
            
              k
              ∈
              Adjustment_Period
            
          
          ⁢
          
            
              P
              bal
            
            ⁡
            
              (
              k
              )
            
          
        
        =
        
          
            (
            
              1
              -
              r
            
            )
          
          ⁢
          
            (
            
              
                P
                ref
              
              +
              
                P
                
                  P
                  -
                  CPICH
                
              
              -
              
                P
                init
              
            
            )
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        1
      
    
  




The actual value of Δadj can be determined externally based on, for example, the speed of the mobile units, channel conditions, the amount of Doppler in the system, and other relevant parameters. FIG. 2 illustrates one possible implementation of the inventive algorithm 200 for computing a correction value Pbal(k) for a given slot. The algorithm 200 may be repeated, incrementing the slot counter k each time, until a correction value has been calculated for each slot in the adjustment period.

Referring to FIG. 2, the algorithm notes the slot value k and defines B=Max_Adjustment_Step−1 (block 204). The algorithm then compares the value B with the slot number k. If the slot number k is less than B (that is, if the current slot number is less than the number of slots in the sliding window Max_Adjustment_Step minus one), then the algorithm sets a value C to equal 0. Otherwise, C is set to 1 (block 204). The value C is used later in the algorithm to calculate an accumulative applied correction value Acc_Pbal.
The algorithm then checks whether the slot number k=0, indicating that the slot k is the first slot in the adjustment period (block 206). If k=0, then an accumulative adjustment value Acc_Adj, which represents the total amount of correction applied during a given adjustment period, and the accumulative applied correction value Acc_Pbal, which is used to calculate the total amount of correction applied in the sliding Max_Adjustment_Step adjustment window, are set to 0 (because there have been no previous slots in the adjustment window). The correction value Pbal(0) for slot k=0 is also set to zero, and a value A is set to equal to the total desired power correction for the adjustment period (block 208).
Once the algorithm defines the value for A and initializes the values for the applied correction value Pbal(0), accumulative adjustment value Acc_Adj and accumulative applied correction value Acc_Pbal to zero, the algorithm checks whether the proposed applied correction value Δadj is less than or equal to 1 dB or some other maximum total adjustment value (block 210). The algorithm also checks whether the absolute value of A is greater than zero, indicating that the adjustment period requires power correction; a value of A=0 indicates that no power correction is needed.
If either of these are false (that is, if no power correction is needed or if the proposed applied correction value Δadj is larger than the allowable correction value for the sliding adjustment window in the adjustment period), then the algorithm keeps the applied correction value Pbal at 0, which was set in block 208, so that no correction value will be added for slot k=0 (block 212).
If, however, power correction is needed and the proposed applied correction value is less than or equal to 1 dB, then the applied correction value Pbal(0) is set to be equal to the proposed applied correction value Δadj (block 214). The accumulative adjustment value Acc_Adj and the accumulative applied correction Acc_Pbal are both also set to be equal to Pbal(0) to reflect the addition of the correction value Pbal(0) to the slot. The adjustment cycle for slot k=0 then ends (block 216), priming the algorithm for calculating the applied correction value Pbal for the next slot in the adjustment period.
For slot values where k does not equal 0 (i.e., for slots other than the first slot in the adjustment period) the algorithm calculates values D, E and F to take correction values from previous slots into account when determining the appropriate correction value for the current slot. More particularly, if k does not equal 0, value D is set to be the total desired power correction minus the accumulative adjustment value and the proposed applied correction value. Value E is set to be the total power correction needed minus the accumulative adjustment value Acc_Adj, while value F is set to be the sum of the accumulative applied correction value Acc_Pbal and the proposed applied adjustment value Δadj (block 218). Note that value F reflects the total amount of adjustment applied so far in the adjustment period.
The algorithm then checks whether value D is less than or equal to value E and whether value F is less than or equal to 1 dB or some other maximum permissible correction value (block 220). If value D is greater than E, this indicates that the proposed applied correction value Δadj would move the accumulative adjustment value Acc_Adj away from, rather than toward, the total desired power correction A. Further, the algorithm checks whether the proposed applied correction value Δadj will cause the total amount of correction applied in the adjustment window so far to go above the maximum total correction amount for the adjustment window (1 dB in this example).
If the criteria in block 220 are both true, then the algorithm sets the applied correction value Pbal(k) for the current slot k to be equal to the proposed applied correction value Δadj (block 222). The algorithm also updates the accumulative adjustment value Acc_Adj by adding the applied correction value Pbal(k) for the slot to the previous value for Acc_Adj. The accumulative applied correction value Acc_Pbal is also updated to reflect the applied correction value Pbal(k) for slot k by adding the applied correction value Pbal(k) of the current slot k to the previous accumulative applied correction value Acc_Pbal and then subtracting the applied correction value used in the first slot of the Max_Adjustment_Step adjustment window. In other words, the Acc_Pbal value is recalculated to treat the current slot k as the last slot in the sliding window in determining whether the total correction amount in the adjustment window has reached its maximum. This recalculation slides the adjustment window so that the current slot k is always the last slot in the adjustment window. Note that if C is set equal to zero (block 204), which would occur if the total number of slots considered so far is less than the number of slots in the adjustment window, then the subtraction step is not needed.
If either of the criteria in block 220 are false (that is, if the proposed applied correction value Δadj actually moves the accumulative adjustment value Acc_Adj farther away from the total desired power correction), as shown by comparing values D and E, or if the proposed applied correction value Δadj would make the accumulative applied correction value larger than the allowable correction value for the entire adjustment window, as indicated by value F), then the algorithm sets the applied correction value Pbal to 0 so that no correction value will be added for slot k=0 (block 224). As in block 222, block 224 recalculates the accumulative applied correction value Acc_Pbal so that it reflects the value of Acc_Pbal for the sliding window Max_Adjustment_Step. The algorithm then finishes (block 216) and readies itself for determining the correction value for the next slot.
Table 2 below illustrates one example of an application of the fast adjustment method according to one embodiment of the invention. In this example, the sliding Max_Adjustment_Step adjustment window is set at 8 slots (that is, any 8 consecutive slots cannot have a total correction amount exceeding 1 dB) and the accumulative applied correction value ΣPbal for the adjustment period is 2.3 dB. The proposed applied correction value Δadj for each slot is selected to be 0.2 dB, and the adjustment period is 2 frames, which correspond to 30 slots in this example.












TABLE 2







SlotNumber k
Acc_Adj[dB]
Pbal(k)[dB]




  
    
      
        
          Acc_P
          bal
        
      
    
    
      
        
          
            ∑
            
              i
              =
              
                max
                ⁡
                
                  (
                  
                    0
                    ,
                    
                      k
                      -
                      7
                    
                  
                  )
                
              
            
            k
          
          ⁢
          
            
              
                P
                bal
              
              ⁡
              
                (
                i
                )
              
            
            ⁡
            
              [
              dB
              ]
            
          
        
      
    
  
   

























0
0.2
0.2
0.2



1
0.4
0.2
0.4



2
0.6
0.2
0.6



3
0.8
0.2
0.8



4
1.0
0.2
1.0



5
1.0
0.0
1.0



6
1.0
0.0
1.0



7
1.0
0.0
1.0



8
1.2
0.2
1.0



9
1.4
0.2
1.0



10
1.6
0.2
1.0



11
1.8
0.2
1.0



12
2.0
0.2
1.0



13
2.0
0.0
1.0



14
2.0
0.0
1.0



15
2.0
0.0
1.0



16
2.2
0.2
1.0



17
2.4
0.2
1.0



18
2.4
0.0
0.8



19
2.4
0.0
0.6



20
2.4
0.0
0.4



21
2.4
0.0
0.4



22
2.4
0.0
0.4



23
2.4
0.0
0.4



24
2.4
0.0
0.2



25
2.4
0.0
0.0



26
2.4
0.0
0.0



27
2.4
0.0
0.0



28
2.4
0.0
0.0



29
2.4
0.0
0.0










Table 2 shows the applied correction value Pbal(k) for each slot and the accumulative applied correction value Acc_Pbal. As shown in Table 2, the correction value will be applied to each slot in the adjustment window until the accumulative applied correction value reaches the maximum value for adjustment window. Once the accumulative applied correction value reaches the maximum threshold, the correction value for subsequent slots in the adjustment window is set to zero. Because the adjustment window slides forward as each new slot is examined, the accumulative applied correction value Acc_Pbal in the adjustment window may eventually drop below the maximum threshold. When this occurs, the correction value is again added to consecutive slots. The Ideally, the process continues until the accumulative adjustment value Acc_Adj reaches the total desired power correction for the adjustment period, or at least a maximum possible cumulative correction amount. The correction value for the remaining slots in the adjustment period are then set to zero because no further correction is needed for the period.

As a result, the inventive algorithm tracks and corrects any power imbalances among the Node Bs in the active set quickly, particularly for weak radio links which tend to have higher TPC bit error rates. By conducting a fast adjustment, the invention corrects the imbalance and adjusts the transmitted power toward the reference power level to prevent the TPC bits from becoming random and maintain the downlink transmitted power at an acceptable level.
While the particular invention has been described with reference to illustrative embodiments, this description is not meant to be construed in a limiting sense. It is understood that although the present invention has been described, various modifications of the illustrative embodiments, as well as additional embodiments of the invention, will be apparent to one of ordinary skill in the art upon reference to this description without departing from the spirit of the invention, as recited in the claims appended hereto. Consequently, this method, system and portions thereof and of the described method and system may be implemented in different locations, such as network elements, the wireless unit, the base station, a base station controller, a mobile switching center and/or radar system. Moreover, processing circuitry required to implement and use the described system may be implemented in application specific integrated circuits, software-driven processing circuitry, firmware, programmable logic devices, hardware, discrete components or arrangements of the above components as would be understood by one of ordinary skill in the art with the benefit of this disclosure. Those skilled in the art will readily recognize that these and various other modifications, arrangements and methods can be made to the present invention without strictly following the exemplary applications illustrated and described herein and without departing from the spirit and scope of the present invention. It is therefore contemplated that the appended claims will cover any such modifications or embodiments as fall within the true scope of the invention.

## Claims

1. A method for adjusting transmitted power in a channel over an adjustment period having a plurality of slots, each slot having an associated slot number, comprising:
determining a total desired power correction value for the adjustment period;
calculating an applied correction value to be added to a given slot;
adding the applied correction value to the given slot if adding the applied correction value to an accumulative adjustment value brings the accumulative adjustment value toward the total desired power correction value and further comprising:
defining a proposed applied correction value;
calculating a first reference value by subtracting the accumulative adjustment value and the proposed applied correction value from the total desired power correction value;
calculating a second reference value by subtracting the accumulative adjustment value from the total desired power correction value; and
conducting the adding step if the first reference value is less than or equal to the second reference value.

2. The method of claim 1, further comprising adding the applied correction value to the accumulative adjustment value to update the accumulative adjustment value.

3. A method for adjusting transmitted power in a channel over an adjustment period having a plurality of slots, each slot having an associated slot number, comprising:
determining a total desired power correction value for the adjustment period;
calculating an applied correction value to be added to a given slot;
adding the applied correction value to the given slot if adding the applied correction value to an accumulative adjustment value brings the accumulative adjustment value toward the total desired power correction value and further comprising:
defining an accumulative applied correction value as a sum of applied correction values over a selected number of slots in the adjustment period;
adding the applied correction value to the given slot if adding the applied correction value to the accumulative adjustment value brings the accumulative adjustment value toward the total desired power correction value and if adding the applied correction value to the accumulative applied correction value keeps the accumulative applied correction value below a maximum threshold;
ignoring the applied correction value for the given slot if adding the applied correction value to the accumulative adjustment value brings the accumulative adjustment value away from the total desired power collection value; and
ignoring the applied correction value for the given slot if adding the applied correction value to the accumulative applied correction value sends the accumulative applied correction value above the maximum threshold.

4. The method of claim 3, further comprising repeating the adding step and the ignoring steps for consecutive slots until the accumulative applied correction value reaches the maximum threshold.

5. The method of claim 3, further comprising adding the applied correction value to the accumulative adjustment value to update the accumulative adjustment value.

6. The method of claim 3, wherein the selected number of slots used to determine the accumulative applied correction value are consecutive slots in an adjustment window having a fixed number of slots.

7. The method of claim 6, wherein the adjustment window has a first slot and a last slot, and wherein the adjustment window is set as a sliding window such that the given slot is set to be the last slot in the adjustment window.

8. The method of claim 7, wherein the sliding window is set by:
adding the applied correction value of the last slot in the adjustment window to the accumulative applied correction value; and
subtracting the applied correction value of the first slot in the adjustment window, wherein the adding and subtracting steps update the accumulative applied correction value.

9. A method for adjusting transmitted power in a wireless downlink channel over an adjustment period having a plurality of slots, each slot having an associated slot number, comprising:
determining a total desired power correction value for the adjustment period;
defining a proposed applied correction value to be added to a given slot;
calculating a first reference value by subtracting the accumulative adjustment value and the proposed applied correction value from the total desired power correction value;
calculating a second reference value by subtracting the accumulative adjustment value from the total desired power correction value;
adding the proposed applied correction value to the given slot as an applied correction value if the first reference value is less than or equal to the second reference value, indicating that the applied correction value would bring the accumulative adjustment value tow ard the total desired power correction value; and
adding the applied correction value to the accumulative adjustment value to update the accumulative adjustment value.

10. The method of claim 9, further comprising the steps of:
defining an accumulative applied correction value as a sum of the applied correction values in consecutive slots in an adjustment window having a fixed number of slots that is fewer than the number of slots in the adjustment period;
adding the applied correction value to the given slot if adding the applied correction value to the accumulative adjustment value brings the accumulative adjustment value toward the total desired power correction value and if adding the applied correction value to the accumulative applied correction value keeps the accumulative applied correction value below a maximum threshold;
ignoring the applied correction value for the given slot if adding the applied correction value to the accumulative adjustment value brings the accumulative adjustment value away from the total desired power correction value; and
ignoring the applied correction value for the given slot if adding the applied correction value to the accumulative applied correction value sends the accumulative applied correction value above the maximum threshold.

11. The method of claim 10, wherein the adding step adds the applied correction value to consecutive slots until the accumulative applied correction value reaches the maximum threshold.

12. The method of claim 10, wherein the adjustment window has a first slot and a last slot, and wherein the adjustment window is set as a sliding window such that the given slot is set to be the last slot in the adjustment window by:
adding the applied correction value of the last slot in the adjustment window to the accumulative applied correction value; and
subtracting the applied correction value of a first slot in the adjustment window, wherein the adding and subtracting steps update the accumulative applied correction value.

13. The method of claim 9, comprising:
adding a corresponding proposed applied correction value to each of a plurality of consecutive slots.

14. A method for adjusting transmitted power in a channel over an adjustment period having a plurality of slots, each slot having an associated slot number, comprising:
determining a total desired power correction value for the adjustment period;
calculating an applied correction value to be added to a given slot;
adding the applied correction value to the given slot if adding the applied correction value to an accumulative adjustment value brings the accumulative adjustment value toward the total desired power correction value; and
adding a corresponding applied correction value to each of a plurality of consecutive slots.