Abstract:
Methods and apparatus for trellis termination of a turbo decoder are disclosed which simplifies the hardware implementation. As a given example, backward state metrics, which is required to be calculated with forward state metric as part of a constitute decoding, are initialized with pre-calculated values based on input bits.

Description:
RELATED APPLICATIONS 
     This patent claims priority from U.S. Provisional Application Ser. No. 61/289,921 entitled “A method of trellis termination handling in turbo decoder” which was filed on Dec. 23, 2009; U.S. Provisional Application Ser. No. 61/289,958 entitled “A simple and efficient early stop scheme for turbo decoder” which was filed on Dec. 23, 2009; U.S. Provisional Application Ser. No. 61/292,801 entitled “A UMTS turbo decoder with multiple MAP engines” which was filed on Jan. 6, 2010; and U.S. Provisional Application Ser. No. 61/301,046 entitled “A contention free memory structure and interleaver for parallel HSPA_LTE turbo decoder” which was filed on Feb. 3, 2010. Each of U.S. Provisional Patent Application Ser. Nos. 61/289,958, 61/292,801, 61/289,921 and 61/301,046 is hereby incorporated by reference in its entirety. 
    
    
     FIELD OF THE DISCLOSURE 
     This disclosure relates generally to receivers for communication systems, and, more particularly, to methods and apparatus to perform turbo decoding for communications receivers. 
     BACKGROUND 
     Communications Systems widely adopt error correction coding techniques to combat with error introduced by interference and noise.  FIG. 1  illustrates a typical communication system with error correction techniques which comprises an error correction encoder  100  at transmitter and a decoder  110  at receiver. The class of error control codes, referred to as turbo codes, offers significant coding gain for power limited communications channels. UMTS standards defined turbo codes for WCDMA specifications and LTE specification using identical constituent recursive convolutional codes with the difference of interleaver design. A tail sequence of 12 bits are used to terminate the trellis to enforce the state to zero state. 
     Turbo codes are decoded by iterative decoding algorithms. The BCJR algorithm which is based on maximum a posteriori (MAP) decoding needs to compute forward state metric calculation and backward state metric calculations [1]. Multiple iterations of MAP decoding are performed to gradually improve the decoding reliability. 
     Conventional turbo decoder design treats tails bit identically as information and parity bits to compute the backward state metrics. For UMTS turbo code, the 6 tails bits for each constituent decoder are treated as 3 additional trellis stages for decoding. At each iteration, the state metric initial stage computation is repeated although no additional information is provided. This problem is especially complicated in LTE turbo code, where the block size is always defined as multiple of two and radix-4 turbo decoding can be applied. In radix-4 decoding, each decoding stage generates 2 extrinsic information and process two trellis stages instead of one from normal radix-2 decoding. Since the number of stage for trellis termination is 3, special handling has to be done for backward metric calculation since the number of stage of trellis termination is not dividable by 2. 
     [1] L. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal Decoding of Linear Codes for minimizing symbol error rate”, IEEE Transactions on Information Theory, vol. IT-20 (2), pp. 284-287, March 1974. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates a communications system with error correction coding. 
         FIG. 2  illustrates a block diagram of turbo code. 
         FIG. 3  illustrates an iteration decoding algorithm for turbo codes. 
     
    
    
     DETAILED DESCRIPTION 
     As illustrated in  FIG. 2 , turbo codes consist of two constituent recursive convolutional codes. The information bits are first encoded by a recursive systematic convolutional encoder  210 , and the interleaved version  220  of the information bits are encoded again by the same type of convolutional encoder  230 . The resultant parity bits of the first encoder, the second encoder and the systematic information bits itself are transmitted over the communications channels. 
     The decoding algorithm of turbo codes is known as iterative decoding algorithm. The block diagram of an example iterative decoding algorithm is illustrated in  FIG. 3 . In a decoding iteration, two soft-input, soft-output decoders are employed. The output of the first decoder  300  is feed into the second decoder as input after interleaving. Similarly, the output of the second decoder  320  is feed into the first decoder as input. A decoding iteration is completed by passing information once between the DEC- 1   300  to DEC- 2   320  and DEC- 2   320  to DEC- 1   310 . For each soft-input soft-output decoder, the MAP decoding algorithms which generates maximum a posterior probability of the information bits are usually used. The MAP decoder takes soft input of systematic bits, and parity bits. It computes the soft-output of the systematic bits using the trellis structure of the convolutional code. The soft-output is called a posterior information. At the same time, the extrinsic information is also calculated which is defined as the contribution of information from the current decoding process alone. The extrinsic information is de-interleaved before passing to the next decoding stage. In the next decoding stage, the extrinsic information is utilized as a priori information of the systematic bits and added together with the systematic information bits before decoding. This type of iteration is repeated multiple times before the final results are given as the output. To achieve a good performance of turbo decoding, multiple decoding iterations are required. 
     Conventional turbo decoder design treats the tail bit as regular systematic and parity bits to calculate the forward and backward state metric computation. The tail bits are used repeatedly at each iteration although no additional information is provided from one iteration to another. This calculation is especially difficult for LTE radix-4 decoder since the number of trellis termination stage is 3 which is not dividable by 2 implied by the radix-4 decoding. Specially handing is required for the tail bits. 
     This disclosure presents a method to pre-compute the initial values of backward state metric. These metrics are identical from one iteration to another. Therefore, pre-computation is preferred and these values can be stored for further iteration use. The initial values are computed purely from the input signal. In the example of UMTS turbo decoding, The 8 initial values called beta values need to be calculated as follows: 
     
       
         
           
             
               
                 
                   { 
                   
                     
                       
                         
                           
                             
                               β 
                               
                                 k 
                                 + 
                                 0 
                               
                             
                             ⁡ 
                             
                               ( 
                               0 
                               ) 
                             
                           
                           = 
                           
                             
                               γ 
                               
                                 k 
                                 + 
                                 3 
                               
                               00 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 2 
                               
                               00 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 1 
                               
                               00 
                             
                           
                         
                       
                     
                     
                       
                         
                           
                             
                               β 
                               
                                 k 
                                 + 
                                 0 
                               
                             
                             ⁡ 
                             
                               ( 
                               1 
                               ) 
                             
                           
                           = 
                           
                             
                               γ 
                               
                                 k 
                                 + 
                                 3 
                               
                               00 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 2 
                               
                               00 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 1 
                               
                               11 
                             
                           
                         
                       
                     
                     
                       
                         
                           
                             
                               β 
                               
                                 k 
                                 + 
                                 0 
                               
                             
                             ⁡ 
                             
                               ( 
                               2 
                               ) 
                             
                           
                           = 
                           
                             
                               γ 
                               
                                 k 
                                 + 
                                 3 
                               
                               00 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 2 
                               
                               11 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 1 
                               
                               10 
                             
                           
                         
                       
                     
                     
                       
                         
                           
                             
                               β 
                               
                                 k 
                                 + 
                                 0 
                               
                             
                             ⁡ 
                             
                               ( 
                               3 
                               ) 
                             
                           
                           = 
                           
                             
                               γ 
                               
                                 k 
                                 + 
                                 3 
                               
                               00 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 2 
                               
                               11 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 1 
                               
                               01 
                             
                           
                         
                       
                     
                     
                       
                         
                           
                             
                               β 
                               
                                 k 
                                 + 
                                 0 
                               
                             
                             ⁡ 
                             
                               ( 
                               4 
                               ) 
                             
                           
                           = 
                           
                             
                               γ 
                               
                                 k 
                                 + 
                                 3 
                               
                               11 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 2 
                               
                               10 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 1 
                               
                               01 
                             
                           
                         
                       
                     
                     
                       
                         
                           
                             
                               β 
                               
                                 k 
                                 + 
                                 0 
                               
                             
                             ⁡ 
                             
                               ( 
                               5 
                               ) 
                             
                           
                           = 
                           
                             
                               γ 
                               
                                 k 
                                 + 
                                 3 
                               
                               11 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 2 
                               
                               10 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 1 
                               
                               10 
                             
                           
                         
                       
                     
                     
                       
                         
                           
                             
                               β 
                               
                                 k 
                                 + 
                                 0 
                               
                             
                             ⁡ 
                             
                               ( 
                               6 
                               ) 
                             
                           
                           = 
                           
                             
                               γ 
                               
                                 k 
                                 + 
                                 3 
                               
                               11 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 2 
                               
                               01 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 1 
                               
                               11 
                             
                           
                         
                       
                     
                     
                       
                         
                           
                             
                               β 
                               
                                 k 
                                 + 
                                 0 
                               
                             
                             ⁡ 
                             
                               ( 
                               7 
                               ) 
                             
                           
                           = 
                           
                             
                               γ 
                               
                                 k 
                                 + 
                                 3 
                               
                               11 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 2 
                               
                               01 
                             
                             + 
                             
                               γ 
                               
                                 k 
                                 + 
                                 1 
                               
                               00 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   1 
                 
               
             
           
         
       
     
     Where β k (s) is the backward state metric for state s of k-th bit in logarithm domain and γ k   uv  is the branch metric associated with the state transition that produces systematic bit u and parity bit ν in logarithm domain. 
     For LTE turbo decoding using radix-4 decoder, this algorithm is especially useful since the code block size is always a multiple of 2, no additional boundary consideration is required to calculate the 3 trellis termination stages. The backward state metrics can be directly initialized from the stored values pre-computed.