# Patent

## Title
Robust erasure detection and erasure-rate-based closed loop power control

## Abstract

Techniques for performing erasure detection and power control for a transmission without error detection coding are described. For erasure detection, a transmitter transmits codewords via a wireless channel. A receiver computes a metric for each received codeword, compares the computed metric against an erasure threshold, and declares the received codeword to be “erased” or “non-erased”. The receiver dynamically adjusts the erasure threshold based on received known codewords to achieve a target level of performance. For power control, an inner loop adjusts the transmit power to maintain a received signal quality (SNR) at a target SNR. An outer loop adjusts the target SNR based on the status of received codewords (erased or non-erased) to achieve a target erasure rate. A third loop adjusts the erasure threshold based on the status of received known codewords (“good”, “bad”, or erased) to achieve a target conditional error rate.

## Background
CLAIM OF PRIORITY UNDER 35 U.S.C. §120
The present Application for Patent is a Divisional of patent application Ser. No. 11/676,563 entitled “ROBUST ERASURE DETECTION AND ERASURE-RATE-BASED CLOSED LOOP POWER CONTROL” filed Feb. 20, 2007, pending, which is a Continuation of patent application Ser. No. 10/890,717 entitled “ROBUST ERASURE DETECTION AND ERASURE-RATE-BASED CLOSED LOOP POWER CONTROL” filed Jul. 13, 2004, pending, which claims priority to Provisional Application No. 60/580,819 entitled “REVERSE-LINK POWER CONTROL ALGORITHM” filed Jun. 18, 2004, expired, and assigned to the assignee hereof and hereby expressly incorporated by reference herein.


BACKGROUND
I. Field
The present invention relates generally to data communication, and more specifically to techniques for performing erasure detection and power control in a wireless communication system.
II. Background
A wireless multiple-access communication system can simultaneously support communication for multiple wireless terminals. Each terminal communicates with one or more base stations via transmissions on the forward and reverse links. The forward link (or downlink) refers to the communication link from the base stations to the terminals, and the reverse link (or uplink) refers to the communication link from the terminals to the base stations.
Multiple terminals may simultaneously transmit on the reverse link by multiplexing their transmissions to be orthogonal to one another. The multiplexing attempts to achieve orthogonality among the multiple reverse link transmissions in time, frequency, and/or code domain. Complete orthogonality, if achieved, results in the transmission from each terminal not interfering with the transmissions from other terminals at a receiving base station. However, complete orthogonality among the transmissions from different terminals is often not realized due to channel conditions, receiver imperfections, and so on. The loss in orthogonality results in each terminal causing some amounts of interference to other terminals. The performance of each terminal is then degraded by the interference from all other terminals.
On the reverse link, a power control mechanism may be used to control the transmit power of each terminal in order to ensure good performance for all terminals. This power control mechanism is normally implemented with two power control loops, which are often called an “inner” loop and an “outer” loop. The inner loop adjusts the transmit power of a terminal such that its received signal quality (SNR), as measured at a receiving base station, is maintained at a target SNR. The outer loop adjusts the target SNR to maintain a desired block error rate (BLER) or packet error rate (PER).
The conventional power control mechanism adjusts the transmit power of each terminal such that the desired block/packet error rate is achieved for the reverse link transmission from the terminal. An error detection code, such as a cyclic redundancy check (CRC) code, is typically used to determine whether each received data block/packet is decoded correctly or in error. The target SNR is then adjusted accordingly based on the result of the error detection decoding. However, an error detection code may not be used for some transmissions, e.g., if the overhead for the error detection code is deemed excessive. A conventional power control mechanism that relies on an error detection code cannot be used directly for these transmissions.
There is therefore a need in the art for techniques to properly adjust transmit power for a transmission when error detection coding is not used.
SUMMARY
Techniques for performing erasure detection and power control for a transmission on a “physical” channel (e.g., a control channel or a data channel) that does not employ error detection coding are described herein. Data is transmitted as “codewords” on the physical channel, where each codeword may be a block of coded or uncoded data.
For erasure detection, a transmitting entity (e.g., a wireless terminal) transmits codewords on the physical channel and via a wireless channel to a receiving entity (e.g., a base station). The base station computes a metric for each received codeword, as described below, and compares the computed metric against an erasure threshold. The base station declares each received codeword to be an “erased” codeword or a “non-erased” codeword based on the comparison result. The base station dynamically adjusts the erasure threshold to achieve a target level of performance, which may be quantified by a target conditional error rate that indicates the probability of a received codeword being decoded in error when declared to be a non-erased codeword. The erasure threshold may be adjusted based on received known codewords, which are received codewords for known codewords transmitted by terminals in communication with the base station, as described below. The adjustable erasure threshold can provide robust erasure detection performance in various channel conditions.
A power control mechanism with three loops (an inner loop, an outer loop, and a third loop) may be used to control the transmit power for the physical channel. The inner loop adjusts the transmit power for the physical channel to maintain the received SNR at or near a target SNR. The outer loop adjusts the target SNR based on the status of received codewords (erased or non-erased) to achieve a target erasure rate, which is the probability of declaring a received codeword as an erased codeword. The third loop adjusts the erasure threshold based on the status of received known codewords (“good”, “bad”, or erased) to achieve the target conditional error rate. The target erasure rate and the target conditional error rate are two measures of performance for the physical channel.
Various aspects and embodiments of the invention are described in further detail below.



BRIEF DESCRIPTION OF THE DRAWINGS
The features and nature of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein:
FIG. 1 shows a wireless multiple-access communication system;
FIG. 2 shows a power control mechanism with three loops;
FIGS. 3A and 3B show a process for updating the second and third loops for the power control mechanism shown in FIG. 2;
FIG. 4 shows data and control channels for a data transmission scheme; and
FIG. 5 shows a block diagram of a base station and a terminal.



DETAILED DESCRIPTION
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs.
FIG. 1 shows a wireless multiple-access communication system 100. System 100 includes a number of base stations 110 that support communication for a number of wireless terminals 120. A base station is a fixed station used for communicating with the terminals and may also be referred to as an access point, a Node B, or some other terminology. Terminals 120 are typically dispersed throughout the system, and each terminal may be fixed or mobile. A terminal may also be referred to as a mobile station, a user equipment (UE), a wireless communication device, or some other terminology. Each terminal may communicate with one or more base stations on the forward and reverse links at any given moment. This depends on whether the terminal is active, whether soft handoff is supported, and whether the terminal is in soft handoff. For simplicity, FIG. 1 only shows transmissions on the reverse link. A system controller 130 couples to base stations 110, provides coordination and control for these base stations, and further controls the routing of data for the terminals served by these base stations.
The erasure detection and power control techniques described herein may be used for various wireless communication systems. For example, these techniques may be used for a Code Division Multiple Access (CDMA) system, a Time Division Multiple Access (TDMA) system, a Frequency Division Multiple Access (FDMA) system, an orthogonal frequency division multiple access (OFDMA) system, and so on. A CDMA system uses code division multiplexing, and transmissions for different terminals are orthogonalized by using different orthogonal (e.g., Walsh) codes for the forward link. The terminals use different pseudo-random number (PN) sequences for the reverse link in CDMA and are not completely orthogonal to one another. A TDMA system uses time division multiplexing, and transmissions for different terminals are orthogonalized by transmitting in different time intervals. An FDMA system uses frequency division multiplexing, and the transmissions for different terminals are orthogonalized by transmitting in different frequency subbands. An OFDMA system utilizes orthogonal frequency division multiplexing (OFDM), which effectively partitions the overall system bandwidth into a number of orthogonal frequency subbands. These subbands are also commonly referred to as tones, sub-carriers, bins, and frequency channels. An OFDMA system may use various orthogonal multiplexing schemes and may employ any combination of time, frequency, and/or code division multiplexing.
The techniques described herein may be used for various types of “physical” channels that do not employ error detection coding. The physical channels may also be referred to as code channels, transport channels, or some other terminology. The physical channels typically include “data” channels used to send traffic/packet data and “control” channels used to send overhead/control data. A system may employ different control channels to send different types of control information. For example, a system may use (1) a CQI channel to send channel quality indicators (CQI) indicative of the quality of a wireless channel, (2) an ACK channel to send acknowledgments (ACK) for a hybrid automatic retransmission (H-ARQ) scheme, (3) a REQ channel to send requests for data transmission, and so on. The physical channels may or may not employ other types of coding, even though error detection coding is not used. For example, a physical channel may not employ any coding, and data is sent “in the clear” on the physical channel. A physical channel may also employ block coding so that each block of data is coded to obtain a corresponding block of coded data, which is then sent on the physical channel. The techniques described herein may be used for any and all of these different physical (data and control) channels.
For clarity, the erasure detection and power control techniques are specifically described below for an exemplary control channel used for the reverse link. Transmissions from different terminals on this control channel may be orthogonally multiplexed in frequency, time, and/or code space. With complete orthogonality, no interference is observed by each terminal on the control channel. However, in the presence of frequency selective fading (or variation in frequency response across the system bandwidth) and Doppler (due to movement), the transmissions from different terminals may not be orthogonal to one another at a receiving base station.
Data is sent in blocks on the exemplary control channel, with each block containing a predetermined number of (L) data bits. Each data block is coded with a block code to obtain a corresponding codeword or coded data block. Since each data block contains L bits, there are 2L possible different data blocks that are mapped to 2L possible codewords in a codebook, one codeword for each different data block. The terminals transmit codewords for the data blocks on the control channel.
A base station receives the codewords transmitted on the control channel by different terminals. The base station performs the complementary block decoding on each received codeword to obtain a decoded data block, which is a data block deemed most likely to have been transmitted for the received codeword. The block decoding may be performed in various manners. For example, the base station may compute a Euclidean distance between the received codeword and each of the 2L possible valid codewords in the codebook. In general, the Euclidean distance between the received codeword and a given valid codeword is shorter the closer the received codeword is to the valid codeword, and is longer the farther away the received codeword is from the valid codeword. The data block corresponding to the valid codeword with the shortest Euclidean distance to the received codeword is provided as the decoded data block for the received codeword.
As an example, the L data bits for a data block may be mapped to a codeword containing K modulation symbols for a particular modulation scheme (e.g., BPSK, QPSK, M-PSK, M-QAM, and so on). Each valid codeword is associated with a different set of K modulation symbols, and the 2L sets of modulation symbols for the 2L possible valid codewords may be selected to be as far apart (in Euclidean distance) from each other as possible. A received codeword would then contain K received symbols, where each received symbol is a noisy version of a transmitted modulation symbol. The Euclidean distance between the received codeword and a given valid codeword may be computed as:




  
    
      
        
          
            
              d
              i
            
            ⁡
            
              (
              k
              )
            
          
          =
          
            
              1
              K
            
            ⁢
            
              
                ∑
                
                  j
                  =
                  1
                
                K
              
              ⁢
              
                
                  (
                  
                    
                      
                        
                          s
                          ^
                        
                        k
                      
                      ⁡
                      
                        (
                        j
                        )
                      
                    
                    -
                    
                      
                        s
                        i
                      
                      ⁡
                      
                        (
                        j
                        )
                      
                    
                  
                  )
                
                2
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          1
          )
        
      
    
  




where ŝk(j) is the j-th received symbol for received codeword k;
si(j) is the j-th modulation symbol for valid codeword i; and
di(k) is the Euclidean distance between received codeword k and valid codeword i.
Equation (1) computes the Euclidean distance as the mean-squared error between the K received symbols for the received codeword and the K modulation symbols for the valid codeword. The data block corresponding to the valid codeword with the smallest di(k) is provided as the decoded data block for the received codeword.
Without an error detection code, there is no direct way to determine whether the block decoding of a given received codeword is correct or in error, and that the decoded data block is indeed the transmitted data block. A metric may be defined and used to provide an indication of the confidence in the decoding result. In an embodiment, a metric may be defined as follows:




  
    
      
        
          
            m
            ⁡
            
              (
              k
              )
            
          
          =
          
            
              
                d
                
                  n
                  ⁢
                  
                    
                  
                  ⁢
                  1
                
              
              ⁡
              
                (
                k
                )
              
            
            
              
                d
                
                  n
                  ⁢
                  
                    
                  
                  ⁢
                  2
                
              
              ⁡
              
                (
                k
                )
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          2
          )
        
      
    
  




    
    
        where dn1(k) is the Euclidean distance between received codeword k and the nearest valid codeword;
        dn2(k) is the Euclidean distance between received codeword k and the next nearest valid codeword; and
        m(k) is the metric for received codeword k.
    
    


If the received codeword is much closer to the nearest codeword than the next nearest codeword, then the metric m(k) is a small value and there is a high degree of confidence that the decoded data block is correct. Conversely, if the received codeword has approximately equal distance to the nearest codeword and the next nearest codeword, then the metric m(k) approaches one, or m(k)→1, and there is less confidence that the decoded data block is correct.
Equation (2) shows one exemplary metric that is based on the ratio of Euclidean distances and which may be used to determine whether the block decoding of a given received codeword is correct or in error. Other metrics may also be used for erasure detection, and this is within the scope of the invention. In general, a metric may be defined based on any suitable reliability function ƒ(r,C), where r is a received codeword and C is a codebook or collection of all possible codewords. The function ƒ(r,C) should be indicative of the quality/reliability of a received codeword and should have the proper characteristic (e.g., monotonic with detection reliability).
Erasure detection may be performed to determine whether the decoding result for each received codeword meets a predetermined level of confidence. The metric m(k) for a received codeword may be compared against an erasure threshold, THerasure, to obtain a decoding decision for the received codeword, as follows:

m(k)<THerasure, declare a non-erased codeword,

m(k)≧THerasure, declare an erased codeword.  Eq (3)

As shown in equation (3), the received codeword is declared as (1) an “erased” codeword if the metric m(k) is equal to or greater than the erasure threshold and (2) a “non-erased” codeword if the metric m(k) is less than the erasure threshold. The base station may treat decoded data blocks for non-erased and erased codewords differently. For example, the base station may use decoded data blocks for non-erased codewords for subsequent processing and may discard decoded data blocks for erased codewords.
The probability of declaring a received codeword as an erased codeword is called an erasure rate and is denoted as Prerasure. The erasure rate is dependent on the erasure threshold used for erasure detection and the received signal quality (SNR) for the received codeword. The signal quality may be quantified by a signal-to-noise ratio, a signal-to-noise-and-interference ratio, and so on. For a given received SNR, a low erasure threshold increases the likelihood of a received codeword being declared an erased codeword, and vice versa. For a given erasure threshold, a low received SNR also increases the likelihood of a received codeword being declared an erased codeword, and vice versa. For a given erasure threshold, the received SNR may be set (by controlling the transmit power for the control channel, as described below) to achieve the desired erasure rate.
The erasure threshold may be set to achieve the desired performance for the control channel. For example, a probability of error conditioned on non-erased codewords, which is called a conditional error rate, may be used for the control channel. This conditional error rate is denoted as Prerror and means the following: given that a received codeword is declared to be a non-erased codeword, the probability of the decoded data block for the received codeword being incorrect is Prerror. A low Prerror (e.g., 1% or 0.1%) corresponds to a high degree of confidence in the decoding result when a non-erased codeword is declared. A low Prerror may be desirable for many types of transmission where reliable decoding is important. The erasure threshold may be set to the proper level to achieve the desired Prerror.
A well-defined relationship may be expected to exist between the erasure rate Prerasure, the conditional error rate Prerror, the erasure threshold THerasure, and the received SNR. In particular, for a given erasure threshold and a given received SNR, there exists a specific erasure rate and a specific conditional error rate. By changing the erasure threshold, a trade off may be made between the erasure rate and the conditional error rate. Computer simulation may be performed and/or empirical measurements may be made to determine or predict the relationship between the erasure rate and the conditional error rate for different erasure threshold values and different received SNRs.
However, in a practical system, the relationship between these four parameters may not be known in advance and may be dependent on deployment scenarios. For example, the specific erasure threshold that can achieve the desired erasure rate and conditional error rate may not be known a priori and may even change over time, but probably slowly. Furthermore, it is not known whether “predicted” relationship between the erasure rate and the conditional error rate, obtained via simulation or by some other means, will hold true in an actual deployment.
A power control mechanism may be used to dynamically adjust the erasure threshold and the received SNR to achieve the desired performance for the control channel. The control channel performance may be quantified by a target erasure rate Prerasure (e.g., 10% erasure rate, or Prerasure=0.1) and a target conditional error rate Prerror (e.g., 1% conditional error rate, or Prerror=0.01), i.e., a (Prerasure, Prerror) pair.
FIG. 2 shows a power control mechanism 200 that may be used to dynamically adjust the erasure threshold and to control the transmit power for a transmission sent on the control channel from a terminal to a base station. Power control mechanism 200 includes an inner loop 210, an outer loop 220, and a third loop 230.
Inner loop 210 attempts to maintain the received SNR for the transmission, as measured at the base station, as close as possible to a target SNR. For inner loop 210, an SNR estimator 242 at the base station estimates the received SNR for the transmission and provides the received SNR to a transmit power control (TPC) generator 244. TPC generator 244 also receives the target SNR for the control channel, compares the received SNR against the target SNR, and generates TPC commands based on the comparison results. Each TPC command is either (1) an UP command to direct an increase in transmit power for the control channel or (2) a DOWN command to direct a decrease in transmit power. The base station transmits the TPC commands on the forward link (cloud 260) to the terminal.
The terminal receives and processes the forward link transmission from the base station and provides “received” TPC commands to a TPC processor 262. Each received TPC command is a noisy version of a TPC command sent by the base station. TPC processor 262 detects each received TPC command and obtains a TPC decision, which may be (1) an UP decision if the received TPC command is deemed to be an UP command or (2) a DOWN decision if the received TPC command is deemed to be a DOWN command.
A transmit (TX) power adjustment unit 264 adjusts the transmit power for the transmission on the control channel based on the TPC decisions from TPC processor 262. Unit 264 may adjust the transmit power as follows:




  
    
      
        
          
            P
            cch
          
          ⁡
          
            (
            
              n
              +
              1
            
            )
          
        
        =
        
          {
          
            
              
                
                  
                    
                      P
                      cch
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                  +
                  
                    Δ
                    ⁢
                    
                      
                    
                    ⁢
                    
                      P
                      up
                    
                  
                
              
              
                
                  for an UP decision,
                
              
            
            
              
                
                  
                    
                      P
                      cch
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                  -
                  
                    Δ
                    ⁢
                    
                      
                    
                    ⁢
                    
                      P
                      dn
                    
                  
                
              
              
                
                  for a DOWN decision,
                
              
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          4
          )
        
      
    
  




where Pcch(n) is the transmit power for inner loop update interval n;
ΔPup is an up step size for the transmit power; and
ΔPdn is a down step size for the transmit power.
The transmit power Pcch(n) and step sizes ΔPup and ΔPdn are in units of decibels (dB). As shown in equation (4), the transmit power is increased by ΔPup for each UP decision and decreased by ΔPdn for each DOWN decision. Although not described above for simplicity, a TPC decision may also be a “no-OP” decision if a received TPC command is deemed to be too unreliable, in which case the transmit power may be maintained at the same level, or Pcch(n+1)=Pcch(n). The ΔPup and ΔPdn step sizes are typically equal, and may both be set to 1.0 dB, 0.5 dB, or some other value.
Due to path loss, fading, and multipath effects on the reverse link (cloud 240), which typically vary over time and especially for a mobile terminal, the received SNR for the transmission on the control channel continually fluctuates. Inner loop 210 attempts to maintain the received SNR at or near the target SNR in the presence of changes in the reverse link channel condition.
Outer loop 220 continually adjusts the target SNR such that the target erasure rate is achieved for the control channel. A metric computation unit 252 computes the metric m(k) for each received codeword obtained from the control channel, as described above. An erasure detector 254 performs erasure detection for each received codeword based on the computed metric m(k) for the codeword and the erasure threshold and provides the status of the received codeword (either erased or non-erased) to a target SNR adjustment unit 256.
Target SNR adjustment unit 256 obtains the status of each received codeword and adjusts the target SNR for the control channel, as follows:




  
    
      
        
          S
          ⁢
          
            
          
          ⁢
          N
          ⁢
          
            
          
          ⁢
          
            
              R
              target
            
            ⁡
            
              (
              
                k
                +
                1
              
              )
            
          
        
        =
        
          {
          
            
              
                
                  
                    
                      S
                      ⁢
                      
                        
                      
                      ⁢
                      N
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          R
                          target
                        
                        ⁡
                        
                          (
                          k
                          )
                        
                      
                    
                    +
                    
                      Δ
                      ⁢
                      
                        
                      
                      ⁢
                      S
                      ⁢
                      
                        
                      
                      ⁢
                      N
                      ⁢
                      
                        
                      
                      ⁢
                      
                        R
                        up
                      
                    
                  
                  ,
                
              
              
                
                  for an erased codeword,
                
              
            
            
              
                
                  
                    
                      S
                      ⁢
                      
                        
                      
                      ⁢
                      N
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          R
                          target
                        
                        ⁡
                        
                          (
                          k
                          )
                        
                      
                    
                    -
                    
                      Δ
                      ⁢
                      
                        
                      
                      ⁢
                      S
                      ⁢
                      
                        
                      
                      ⁢
                      N
                      ⁢
                      
                        
                      
                      ⁢
                      
                        R
                        dn
                      
                    
                  
                  ,
                
              
              
                
                  for a non-erased codeword,
                
              
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          5
          )
        
      
    
  




where

SNRtarget(k) is the target SNR for outer loop update interval k;
ΔSNRup is an up step size for the target SNR; and
ΔSNRdn is a down step size for the target SNR.
The target SNR SNRtarget(k) and the step sizes ΔSNRup and ΔSNRdn are in units of dB. As shown in equation (5), unit 256 reduces the target SNR by ΔSNRdn if a received codeword is deemed to be a non-erased codeword, which may indicate that the received SNR for the control channel is higher than necessary. Conversely, unit 256 increases the target SNR by ΔSNRup if a received codeword is deemed to be an erased codeword, which may indicate that the received SNR for the control channel is lower than necessary.
The ΔSNRup and ΔSNRdn step sizes for adjusting the target SNR may be set based on the following relationship:




  
    
      
        
          Δ
          ⁢
          
            
          
          ⁢
          S
          ⁢
          
            
          
          ⁢
          N
          ⁢
          
            
          
          ⁢
          
            R
            up
          
        
        =
        
          Δ
          ⁢
          
            
          
          ⁢
          S
          ⁢
          
            
          
          ⁢
          N
          ⁢
          
            
          
          ⁢
          
            
              R
              dn
            
            ·
            
              
                (
                
                  
                    1
                    -
                    
                      Pr
                      erasure
                    
                  
                  
                    Pr
                    erasure
                  
                
                )
              
              .
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          6
          )
        
      
    
  




For example, if the target erasure rate for the control channel is 10% (or Prerasure=0.1), then the up step size is 9 times the down step size (or ΔSNRup=9·ΔSNRdn). If the up step size is selected to be 0.5 decibel (dB), then the down step size is approximately 0.056 dB. Larger values for ΔSNRup and ΔSNRdn speed up the convergence rate for outer loop 220. A large value for ΔSNRup also causes more fluctuation or variation of the target SNR at steady state.
Third loop 230 dynamically adjusts the erasure threshold such that the target conditional error rate is achieved for the control channel. The terminal may transmit a known codeword on the control channel periodically or whenever triggered. The base station receives the transmitted known codeword. Metric computation unit 252 and erasure detector 254 perform erasure detection for each received known codeword based on the erasure threshold and in the same manner as for the received codewords. For each received known codeword deemed to be non-erased, a decoder 262 decodes the received known codeword and determines whether the decoded data block is correct or in error, which can be done since the codeword is known. Decoder 262 provides to an erasure threshold adjustment unit 264 the status of each received known codeword, which may be: (1) an erased codeword, (2) a “good” codeword if the received known codeword is a non-erased codeword and decoded correctly, or (3) a “bad” codeword if the received known codeword is a non-erased codeword but decoded in error.
Erasure threshold adjustment unit 264 obtains the status of the received known codewords and adjusts the erasure threshold, as follows:




  
    
      
        
          
            TH
            erasure
          
          ⁡
          
            (
            
              l
              +
              1
            
            )
          
        
        =
        
          {
          
            
              
                
                  
                    
                      
                        TH
                        erasure
                      
                      ⁡
                      
                        (
                        l
                        )
                      
                    
                    +
                    
                      Δ
                      ⁢
                      
                        
                      
                      ⁢
                      
                        TH
                        up
                      
                    
                  
                  ,
                
              
              
                
                  for a good codeword,
                
              
            
            
              
                
                  
                    
                      
                        TH
                        erasure
                      
                      ⁡
                      
                        (
                        l
                        )
                      
                    
                    -
                    
                      Δ
                      ⁢
                      
                        
                      
                      ⁢
                      
                        TH
                        dn
                      
                    
                  
                  ,
                
              
              
                
                  for a bad codeword, and
                
              
            
            
              
                
                  
                    
                      TH
                      erasure
                    
                    ⁡
                    
                      (
                      l
                      )
                    
                  
                  ,
                
              
              
                
                  for an erased codeword,
                
              
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          7
          )
        
      
    
  




where
ΔTHerasure(l) is the erasure threshold for third loop update interval l;
ΔTHup is an up step size for the erasure threshold; and
ΔTHdn is a down step size for the erasure threshold.
As shown in equation (7), the erasure threshold is decreased by ΔTHdn for each received known codeword that is a bad codeword. The lower erasure threshold corresponds to a more stringent erasure detection criterion and results in a received codeword being more likely to be deemed erased, which in turn results in the received codeword being more likely to be decoded correctly when deemed to be non-erased. Conversely, the erasure threshold is increased by ΔTHup for each received known codeword that is a good codeword. The higher erasure threshold corresponds to a less stringent erasure detection criterion and results in a received codeword being less likely to be deemed erased, which in turn results in the received codeword being more likely to be decoded in error when deemed to be non-erased. The erasure threshold is maintained at the same level for received known codewords that are erased.
The ΔTHup and ΔTHdn step sizes for adjusting the erasure threshold may be set based on the following relationship:




  
    
      
        
          Δ
          ⁢
          
            
          
          ⁢
          
            TH
            dn
          
        
        =
        
          Δ
          ⁢
          
            
          
          ⁢
          
            
              TH
              up
            
            ·
            
              
                (
                
                  
                    1
                    -
                    
                      Pr
                      error
                    
                  
                  
                    Pr
                    error
                  
                
                )
              
              .
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          8
          )
        
      
    
  




For example, if the target conditional error rate for the control channel is 1%, then the down step size is 99 times the up step size. The magnitude of ΔTHup and ΔTHdn may be determined based on the expected magnitude of the received symbols, the desired convergence rate for the third loop, and possibly other factors.
In general, the adjustment of the erasure threshold is dependent on how the metric used for erasure detection is defined. Equations (7) and (8) are based on the metric defined as shown in equation (2). The metric may also be defined in other manners (e.g., m(k)=dn2(k)=dn1(k) instead of m(k)=dn1(k)/dn2(k)), in which case the adjustment of the erasure threshold may be modified accordingly. The adjustable erasure threshold may also be used in combination with any erasure detection technique to achieve robust erasure detection performance for various channel conditions.
The erasure threshold, THensure(l), may be dynamically adjusted in various manners. In one embodiment, a separate third loop is maintained by the base station for each terminal in communication with the base station. This embodiment allows the erasure threshold to be individually adjusted for each terminal, which then allows the control channel performance to be specifically tailored for the terminal. For example, different terminals may have different target conditional error rates, which may be achieved by operating separate third loops for these terminals. In another embodiment, a single third loop is maintained by the base station for all terminals in communication with the base station. The common erasure threshold is then used for erasure detection for all of these terminals and is also updated based on known codewords received by the base station from these terminals. This embodiment provides good performance for all terminals if the control channel performance is robust for these terminals for various channel conditions. This embodiment allows for a faster rate of convergence for the third loop and also reduces overhead since each terminal may transmit the known codeword at a lower rate (e.g., once every few hundred milli-seconds). In yet another embodiment, a single third loop is maintained by the base station for each group of terminals having the same control channel performance, and the erasure threshold is updated based on known codewords received by the base station from all terminals in the group.
Inner loop 210, outer loop 220, and third loop 230 are typically updated at different rates. Inner loop 210 is the fastest loop of the three loops, and the transmit power for the control channel may be updated at a particular rate (e.g., 150 times per second). Outer loop 220 is the next fastest loop, and the target SNR may be updated whenever a codeword is received on the control channel. Third loop 230 is the slowest loop, and the erasure threshold may be updated whenever a known codeword is received on the control channel. The update rates for the three loops may be selected to achieve the desired performance for erasure detection and power control.
For the embodiment described above, the target conditional error rate Prerror is used as one of the measures of performance for the control channel, and the third loop is designed to achieve this Prerror. Other measures of performance may also be used for the control channel, and the third loop may be designed accordingly. For example, a target probability of a received codeword being decoded in error when deemed to be erased may be used for the third loop.
FIGS. 3A and 3B show a flow diagram of a process 300 for updating the second and third loops of power control mechanism 300. A received codeword k is initially obtained from the control channel (block 312). The metric m(k) is computed for the received codeword, e.g., as described above, (block 314) and compared against the erasure threshold (block 316). If the computed metric m(k) is greater than or equal to the erasure threshold, as determined in block 320, and if the received codeword is not a known codeword, as determined in block 322, then the received codeword is declared as an erased codeword (block 324). The target SNR is increased by the ΔSNRup step size if the computed metric m(k) is greater than or equal to the erasure threshold, regardless of whether the received codeword is known or not known (block 326). After block 326, the process returns to block 312 to process the next received codeword.
If the computed metric m(k) is less than the erasure threshold, as determined in block 320, and if the received codeword is not a known codeword, as determined in block 332, then the received codeword is declared as a non-erased codeword (block 334), and the target SNR is decreased by the ΔSNRdn step size (block 336). The process returns to block 312 to process the next received codeword.
If the computed metric m(k) is less than the erasure threshold, as determined in block 320, and if the received codeword is a known codeword, as determined in block 332, then (referring to FIG. 3B) the received codeword is decoded (block 340). If the decoding was correct, as determined in block 342, then the received known codeword is declared as a good codeword (block 344), and the erasure threshold is increased by the ΔTHup step size (block 346). Otherwise, if there was a decoding error, as determined in block 342, then the received known codeword is declared as a bad codeword (block 354), and the erasure threshold is decreased by the ΔTHdn step size (block 356). From blocks 346 and 356, the process returns to block 312 in FIG. 3A to process the next received codeword.
As noted above, the techniques described herein may be used for various types of physical channels that do not employ error detection coding. The use of these techniques for an exemplary data transmission scheme is described below. For this transmission scheme, a terminal desiring a forward link transmission estimates the received signal quality of the forward link for its serving base station (e.g., based on a pilot transmitted by the base station). The received signal quality estimate may be translated to an L-bit value, which is called a channel quality indicator (CQI). The CQI may indicate the received SNR for the forward link, the supported data rate for the forward link, and so on. In any case, block coding is performed on the CQI to obtain a CQI codeword. As a specific example, L may be equal to 4, and the CQI codeword may contain 16 QPSK modulation symbols, or [si(1) si(2) . . . si(16)]. The terminal transmits the CQI codeword on the CQI channel (which is one of the control channels) to the serving base station. The serving base station receives the CQI codeword sent on the CQI channel and performs erasure detection on the received CQI codeword. If the received CQI codeword is not erased, then the serving base station decodes the received CQI codeword and uses the decoded CQI to schedule a data transmission for the terminal.
FIG. 4 shows a set of data and control channels used for the exemplary data transmission scheme. The terminal measures the received signal quality of the forward link and transmits a CQI codeword on the CQI channel. The terminal continually makes measurements of the forward link quality and sends updated CQI codewords on the CQI channel. Thus, discarding received CQI codewords deemed to be erased is not detrimental to system performance. However, received CQI codewords deemed to be non-erased should be of high quality since a forward link transmission may be scheduled based on the information contained in these non-erased CQI codewords.
If the terminal is scheduled for forward link transmission, then the serving base station processes data packets to obtain coded packets and transmits the coded packets on a forward link data channel to the terminal. For a hybrid automatic retransmission (H-ARQ) scheme, each coded packet is partitioned into multiple subblocks, and one subblock is transmitted at a time for the coded packet. As each subblock for a given coded packet is received on the forward link data channel, the terminal attempts to decode and recover the packet based on all subblocks received thus far for the packet. The terminal is able to recover the packet based on a partial transmission because the subblocks contain redundant information that is useful for decoding when the received signal quality is poor but may not be needed when the received signal quality is good. The terminal then transmits an acknowledgment (ACK) on an ACK channel if the packet is decoded correctly, or a negative acknowledgment (NAK) otherwise. The forward link transmission continues in this manner until all coded packets are transmitted to the terminal.
The techniques described herein may be advantageously used for the CQI channel. Erasure detection may be performed on each received CQI codeword as described above. The transmit power for the CQI channel may be adjusted using power control mechanism 300 to achieve the desired performance for the CQI channel (e.g., the desired erasure rate and the desired conditional error rate). The transmit power for other control channels (e.g., the ACK channel) and reverse link data channels may also be set based on the power-controlled transmit power for the CQI channel.
For clarity, the erasure detection and power control techniques have been specifically described for the reverse link. These techniques may also be used for erasure detection and power control for a transmission sent on the forward link.
FIG. 5 shows a block diagram of an embodiment of a base station 110x and a terminal 120x. On the reverse link, at terminal 120x, a transmit (TX) data processor 510 receives and processes (e.g., formats, codes, interleaves, and modulates) reverse link (RL) traffic data and provides modulation symbols for the traffic data. TX data processor 510 also processes control data (e.g., CQI) from a controller 520 and provides modulation symbols for the control data. A modulator (MOD) 512 processes the modulation symbols for traffic and control data and pilot symbols and provides a sequence of complex-valued chips. The processing by TX data processor 510 and modulator 512 is dependent on the system. For example, modulator 512 may perform OFDM modulation if the system utilizes OFDM. A transmitter unit (TMTR) 514 conditions (e.g., converts to analog, amplifies, filters, and frequency upconverts) the sequence of chips and generates a reverse link signal, which is routed through a duplexer (D) 516 and transmitted via an antenna 518.
At base station 110x, the reverse link signal from terminal 120x is received by an antenna 552, routed through a duplexer 554, and provided to a receiver unit (RCVR) 556. Receiver unit 556 conditions (e.g., filters, amplifies, and frequency downconverts) the received signal and further digitizes the conditioned signal to obtain a stream of data samples. A demodulator (DEMOD) 558 processes the data samples to obtain symbol estimates. A receive (RX) data processor 560 then processes (e.g., deinterleaves and decodes) the symbol estimates to obtain decoded data for terminal 120x. RX data processor 560 also performs erasure detection and provides to a controller 570 the status of each received codeword used for power control. The processing by demodulator 558 and RX data processor 560 is complementary to the processing performed by modulator 512 and TX data processor 510, respectively.
The processing for a forward link transmission may be performed similarly to that described above for the reverse link. The processing for reverse link and forward link transmissions is typically specified by the system.
For reverse link power control, an SNR estimator 574 estimates the received SNR for terminal 120x and provides the received SNR to a TPC generator 576. TPC generator 576 also receives the target SNR and generates TPC commands for terminal 120x. The TPC commands are processed by a TX data processor 582, further processed by a modulator 584, conditioned by a transmitter unit 586, routed through duplexer 554, and transmitted via antenna 552 to terminal 120x. 
At terminal 120x, the forward link signal from base station 110x is received by antenna 518, routed through duplexer 516, conditioned and digitized by a receiver unit 540, processed by a demodulator 542, and further processed by an RX data processor 544 to obtain received TPC commands. A TPC processor 524 then detects the received TPC commands to obtain TPC decisions, which are used to generate a transmit power adjustment control. Modulator 512 receives the control from TPC processor 524 and adjusts the transmit power for the reverse link transmission. Forward link power control may be achieved in a similar manner.
Controllers 520 and 570 direct the operations of various processing units within terminal 120x and base station 110x, respectively. Controller 520 and 570 may also perform various functions for erasure detection and power control for the forward link and reverse link. For example, each controller may implement the SNR estimator, TPC generator, and target SNR adjustment unit for its link. Controller 570 and RX data processor 560 may also implement process 300 in FIGS. 3A and 3B. Memory units 522 and 572 store data and program codes for controllers 520 and 570, respectively.
The erasure detection and power control techniques described herein may be implemented by various means. For example, these techniques may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units used to perform erasure detection and/or power control may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof.
For a software implementation, the techniques described herein may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory unit (e.g., memory unit 572 in FIG. 5) and executed by a processor (e.g., controller 570). The memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

## Claims

1. An apparatus which controls a transmit power for a physical channel in a wireless communications system, comprising:
a first sub-system utilizing an inner loop operable to adjust the transmit power for the physical channel to maintain a received Signal-to-Noise Ratio (SNR) substantially at a target SNR value;
a second sub-system utilizing an outer loop operable to adjust the target SNR value which achieves a target erasure rate; and
a third sub-system utilizing a third loop is operable to adjust an erasure threshold to achieve a target conditional error rate.

2. The apparatus of claim 1, wherein the first sub-system further comprises:
an SNR estimator operable to determine an of estimate the received SNR at a base station; and
a transmit power control (TPC) generator, functionally coupled to the SNR estimator, operable to determine a comparison between the estimate of the received SNR with the target SNR value, and generate TPC commands based the comparison.

3. The apparatus of claim 2, wherein the TPC generator receives the target SNR associated with a control channel from the second sub-system, and provides TPC commands over a forward link to a mobile terminal.

4. The apparatus of claim 3, wherein the TPC commands include at least one of an UP command to direct an increase in transmit power for the control channel or a DOWN command to direct a decrease in channel power.

5. The apparatus of claim 1, wherein the second sub-system further comprises:
a metric computation unit operative to determine a metric for received codewords obtained from a control channel;
an erasure detector, functionally coupled to the metric computation unit, operable to perform erasure detection for the received codewords based on the determined metric for the received codeword and the erasure threshold; and
a target SNR adjustment unit, functionally coupled to the erasure detector, operable to obtain the status of the received codewords and adjust the target SNR for the control channel.

6. The apparatus of claim 5, wherein the erasure detector is further operable to provide a status of the received codewords are defined as being one of erased or non-erased.

7. The apparatus of claim 5, wherein the target SNR adjustment unit is further operable to provide the target SNR to the first sub-system.

8. The apparatus of claim 1, wherein the third sub-system further comprises:
a decoder operable to decode received known codewords and determine whether the codewords are correct, and generate a codeword status based upon the determination; and
an erasure threshold adjustment unit, functionally coupled to the decoder, operable to determine the erasure threshold based upon the generated codeword status, and provide the erasure threshold to the second sub-system.

9. The apparatus of claim 8, wherein the codeword status is defined as one of good, bad or erased.

10. The apparatus of claim 1, wherein the inner loop, the outer loop, and the third loop are updated at different rates.

11. The apparatus of claim 10, wherein inner loop is the fastest loop, the outer loop is the next fastest loop, and the third loop is the slowest loop.

12. A method for controlling a transmit power for a physical channel in a wireless communications system, comprising:
adjusting the transmit power for the physical channel within a first loop to maintain a received Signal-to-Noise Ratio (SNR) substantially at a target SNR value;
adjusting the target SNR value within a second loop which achieves a target erasure rate;
adjusting an erasure threshold within a third loop to achieve a target conditional error rate.

13. The method of claim 1, further comprising:
determining an of estimate the received SNR at a base station; and
determining a comparison the estimate of the received SNR with the target SNR value; and
generating transmit power control (TPC) commands based the comparison.

14. The method of claim 13, further comprising:
receiving the target SNR for a control channel from the second sub-system; and
providing the TPC commands over a forward link to a mobile terminal.

15. The method of claim 14, wherein the TPC commands include at least one of an UP command to direct an increase in transmit power for the control channel or a DOWN command to direct a decrease in channel power.

16. The method of claim 12, further comprising:
determining a metric for received codewords obtained from a control channel;
performing erasure detection for the received codewords based on the determined metric for the received codeword and the erasure threshold;
obtaining the status of the received codewords; and
adjusting the target SNR for the control channel.

17. The method of claim 16, further comprising providing a status of the received codewords which are defined as being one of erased or non-erased.

18. The method of claim 16, further comprising providing the target SNR to the first loop.

19. The method of claim 12, further comprising:
decoding received known codewords and determining whether the codewords are correct, and generating a codeword status based upon the determination; and
determining the erasure threshold based upon the generated codeword status, and providing the erasure threshold to the second sub-system.

20. The method of claim 19, wherein the codeword status is defined as one of good, bad or erased.

21. The method of claim 12, further comprising updating the inner loop, the outer loop, and the third loop at different rates.