Methods and apparatus for early stop algorithm of turbo decoding

Information

  • Patent Grant
  • 8918695
  • Patent Number
    8,918,695
  • Date Filed
    Tuesday, December 21, 2010
    13 years ago
  • Date Issued
    Tuesday, December 23, 2014
    9 years ago
Abstract
Methods and apparatus for early stop algorithm of turbo decoding are disclosed. An example method comprises of combination of comparing of hard decisions of soft outputs of the current iteration and the previous iteration and comparing the minimum log likelihood results against a threshold. The decoding iteration is stopped once the hard decisions are matched and the minimum soft decoding result exceeds a threshold.
Description
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.


Turbo codes are decoded by iterative decoding algorithms. It belongs to a family of iterative decoding algorithms applicable to LDPC code, turbo product code, parallel concatenated convolutional code, serial concatenated convolutional code and etc. During each iteration, the decoder improves the reliability of the information bits. In order to reach a sufficient decoding performance, usually a fixed number of iteration is used. However, in many cases, the correct decoding results can be generated with only a few iterations. Excessive iteration does not help to improve the performance further and only consumes extra power which is a critical resource in mobile devices.


Many early stop algorithms have been proposed to reduce the power consumption for turbo decoding. These algorithm claims to have good performance but these studies did not looked into practical scenarios where the code rate is high. For example, a hard-decision comparison based algorithm has been proposed in [1]. This algorithm compares hard-decisions of information bits from the current iteration and that of the previous iteration. The decoding is stopped once the hard-decisions from the previous iteration matches with those of the current iteration. This algorithm introduces large performance loss in high SNR channel conditions especially with the combination of high code rate. This made the algorithm difficult to be implemented into a practical communication system since the practical communication system like HSDPA usually applies high code rate when signal to noise ration is sufficient. Another early stop algorithm [1] has been proposed which computes the minimum log likelihood ratio (LLR) of decoded output bits. If the minimum value of LLR of all bits exceeds the certain threshold, the decoding is stopped. However, a large block error rate (BLER) performance loss is reported when channel SNR is high. Among various early stop algorithms proposed, no sufficient investigation in the literature has been found to explore the relationship between the BLER performance loss and code rate.


[1] A. Matache, S. Dolinar and F. Pollara, “Stopping Rules for Turbo Decoders”, TMO Progress Report 42-142, Jet Propulsion Laboratory, Aug. 15, 2000.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a communications system with error correction coding.



FIG. 2 is a block diagram of turbo code.



FIG. 3 illustrates an iteration decoding algorithm for turbo codes.



FIG. 4 illustrates the early stop algorithm invented.



FIG. 5 illustrates the performance of early stop algorithm in low code rate.



FIG. 6 illustrates the performance of early stop algorithm in high code rate.





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-1300 to DEC-2320 and DEC-2320 to DEC-1310. 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. But the number of iteration depends on the signal to noise ratio (SNR) of the channel. In a low SNR scenario, more iteration, typically 8 to 16 is usually required. However, in high SNR scenarios, the number of iteration can be largely reduced.


In cellular communication systems, the turbo code is adopted for many standards. The WCDMA standard, the CDMA2000 standard and the WiMAX standard have adopted turbo code as forward error correction techniques. In the case of mobile devices which usually powered by batteries, the power consumption is an important factor. For high data rate communication applications, the turbo decoder consumes significant percentage of total amount of power of a mobile device. Therefore, reducing power consumption by early stopping the turbo decoding iterations without error rate performance degradation is critical.


In this disclosure, a new algorithm is proposed to reduce the number of iterations without observable performance loss in BLER. This algorithm as illustrated in FIG. 4 is a combination of the following two approaches.


For each half iteration number (i), the hard-decisions are stored and compared with the hard-decisions from the previous iteration (i−2). No comparison is performed between two consecutive half iterations due to the fact that these information bits are generated in the interleaved order. For two consecutive half iterations (i) and (i+1), if both of them have matched hard-decisions with their previous iteration results respectively, i.e., half iteration (i) matched with (i−2) and half iteration (i−1) matched with (i−3). The first stop criterion is met. This stop criterion is found to perform well in low code rate but showing significant performance loss in high code since no sufficient extrinsic information is provided from highly punctured parity bits therefore hard decision may not change between consecutive iterations.


The minimum log likelihood ratio (LLR) of all output bits are computed and compared with a threshold K. If the minimum reliability of the output bits exceeds the threshold K. Then the second stop criterion is met. This stop criterion is found to provide limited performance in high SNR scenario but is good in high code rate cases.


For each half iteration, the decoding is stopped when both stop criterions are met therefore.


Extensive computer simulation has been performed to check the performance of the disclosed algorithm to cover different code rate from ⅓ to 0.99 and different code block sizes. Using the first stopping criteria alone, the BLER performance does not degrade in the low code rate but significant performance loss observed in high code rate. Using the second stopping criteria alone, the BLER performance degradation is significant especially when code rate is low. However, combining these two stopping criteria, the BLER performance loss becomes none observable in any code rate.


Computer simulation results are given for the disclosed algorithm. The performance loss of BLER is illustrated in FIG. 5 when code rate is low, i.e., r=0.33 and code block size=5114. The performance loss of BLER is illustrated in FIG. 6 when code rate is high, i.e., r=0.98 and code block size=5114. Both cases showing excellent BLER performance of the disclosed algorithm.

Claims
  • 1. A method comprising: decoding received signal sequence, by a decoder module comprising a first soft-input, soft-output decoder and a second soft-input, soft-output decoder, using an iterative decoding process which aborts the decoding when a combination of two criterions is met, wherein each decoding iteration includes two consecutive half iterations wherein a first half iteration comprises decoding by the first decoder and the second half iteration comprises decoding by the second decoder, wherein output of the first decoder is fed as an input into the second decoder and output of the second decoder is fed as an input into the first decoder,determining whether the first criterion is met by determining whether hard decisions of decoder output bits from first half iteration of a current decoding iteration are identical to hard decisions decoder of decoder output bits from a first half iteration of a previous decoding iteration and whether hard decisions of decoder output bits of a second half iteration of the current decoding iteration are identical to hard decisions of decoder output bits from a second half iteration of the previous decoding iteration, anddetermining whether a second criterion is met by determining whether a minimum value of log likelihood ratio of output decoded bits of a current decoding iteration is greater than a threshold.
  • 2. A method according to claim 1, wherein said decoder module is used for one of parallel concatenated convolutional codes and turbo codes.
  • 3. A method according to claim 1, wherein said decoder module is used for one of WCDMA and HSDPA cellular systems defined by 3GPP standards.
RELATED APPLICATIONS

This patent claims priority from 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; 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; 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.

US Referenced Citations (41)
Number Name Date Kind
5761248 Hagenauer et al. Jun 1998 A
6578892 Tsimmerman Jun 2003 B2
6594792 Hladik et al. Jul 2003 B1
6675342 Yagyu Jan 2004 B1
6686853 Shen et al. Feb 2004 B2
6693566 Jaffe et al. Feb 2004 B2
6708948 Nosel Mar 2004 B2
6718504 Coombs et al. Apr 2004 B1
6738948 Dinc et al. May 2004 B2
6745352 Cheng Jun 2004 B2
6898254 Wolf et al. May 2005 B2
6982659 Shen et al. Jan 2006 B2
6993704 Wolf Jan 2006 B2
7185260 Coombs et al. Feb 2007 B2
7200799 Wang et al. Apr 2007 B2
7242726 Cameron et al. Jul 2007 B2
7254190 Kwentus et al. Aug 2007 B2
7260766 Levy et al. Aug 2007 B2
7331012 Vasic et al. Feb 2008 B2
7657819 Berkmann et al. Feb 2010 B2
7849377 Hekstra et al. Dec 2010 B2
8250448 Andrews Aug 2012 B1
8341506 Li et al. Dec 2012 B2
8468428 Matache Jun 2013 B1
20020184596 Dinc et al. Dec 2002 A1
20050022101 Malm et al. Jan 2005 A1
20060158568 Kaylani et al. Jul 2006 A1
20070061666 Nakai Mar 2007 A1
20070067703 Berkmann et al. Mar 2007 A1
20070101231 Kutz et al. May 2007 A1
20070234180 Edmonston et al. Oct 2007 A1
20080092010 Orio Apr 2008 A1
20080270868 Shinagawa et al. Oct 2008 A1
20090049358 Jalloul et al. Feb 2009 A1
20090089643 Hsieh Apr 2009 A1
20090300463 Purkovic et al. Dec 2009 A1
20110055657 Charpentier et al. Mar 2011 A1
20110107019 Pan et al. May 2011 A1
20130156133 Gentile et al. Jun 2013 A1
20130235957 El Khamy et al. Sep 2013 A1
20140064413 Huebner et al. Mar 2014 A1
Non-Patent Literature Citations (1)
Entry
Kim et al., IEEE Transactions on Circuits and Systems “Double-Binary Circular Turbo Decoding Based on Border Metric Encoding”, vol. 55, No. 1, Jan. 2008, pp. 79-83.
Related Publications (1)
Number Date Country
20110154156 A1 Jun 2011 US
Provisional Applications (4)
Number Date Country
61289958 Dec 2009 US
61292801 Jan 2010 US
61289921 Dec 2009 US
61301046 Feb 2010 US