US8984377B2 - Stopping methods for iterative signal processing - Google Patents
Stopping methods for iterative signal processing Download PDFInfo
- Publication number
- US8984377B2 US8984377B2 US13/089,748 US201113089748A US8984377B2 US 8984377 B2 US8984377 B2 US 8984377B2 US 201113089748 A US201113089748 A US 201113089748A US 8984377 B2 US8984377 B2 US 8984377B2
- Authority
- US
- United States
- Prior art keywords
- state metric
- map decoding
- iterative
- stopping
- signature vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000012545 processing Methods 0.000 title claims abstract description 21
- 239000013598 vector Substances 0.000 claims description 57
- 230000015654 memory Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 238000004088 simulation Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/2975—Judging correct decoding, e.g. iteration stopping criteria
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6525—3GPP LTE including E-UTRA
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6544—IEEE 802.16 (WIMAX and broadband wireless access)
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2972—Serial concatenation using convolutional component codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/6331—Error control coding in combination with equalisation
Definitions
- the present invention is related to a data transfer system using iterative signal processing to decode convolutionally coded signals, and more particularly, to a turbo decoder by implementing the iterative decoding and a method to generate a stopping signal to stop the iterative decoding.
- Turbo code is a capacity-approaching error correction code having high performance. Because of its high performance and proper decoding complexity, it has been widely used in many communication systems, such as CCSDS standard in deep space, DVB-RCS standard in broadcast systems, W-CDMA, WiMAX or 3GPP-LTE in cellular systems, etc.
- turbo decoding principle is further extended to other iterative signal processing such as serial turbo codes, hybrid turbo codes, turbo equalization, turbo detection, etc.
- the turbo code disclosed in U.S. Pat. No. 5,446,747 is constructed by parallel concatenating two convolutional codes via an interleaver. Similar to '747, the conventional turbo decoder adopts iterative way to decode.
- the decoder is a decoding loop, which connects a first maximum a-posteriori (MAP) decoding module, an interleaver, a second MAP decoding module, and a deinterleaver in series.
- MAP decoding module is to calculate a-posteriori probability (APP) and is usually implemented by the BCJR algorithm.
- APP a-posteriori probability
- the BCJR algorithm was published by Bahl et al. in IEEE Transactions on Information Theory in March 1974.
- the prior art '747 disclosed that after receiving a data block, the data enters the decoding loop via the first MAP decoder. Then, one iteration of decoding is performed by the first MAP decoding, interleaving, the second MAP decoding and deinterleaving in order.
- the conventional turbo decoding performs iterative decoding using a fixed number of iterations. The more the number of iterations is performed, the higher the accuracy of data is obtained. The performance can be close to Shannon's channel capacity limit. However, when the number of iterations is increased, the performance improvement is reduced gradually and saturated accordingly. More iterations will only increase the power consumption and decoding delay, therefore it is necessary to have a stopping method to solve this problem.
- FIG. 1 it is a block diagram illustrating a turbo decoder with CE stopping method.
- the turbo decoder consists of a conventional turbo decoding module 10 ′ and a stopping method module 20 ′.
- the turbo decoding module 10 ′ basically is a decoding loop and comprises a first MAP decoding module (MAP1) 101 ′, an interleaver ( ⁇ ) 103 ′, a second MAP decoding module (MAP2) 102 ′ and a deinterleaver ( ⁇ ⁇ 1 ) 104 ′.
- MAP1 MAP1
- ⁇ interleaver
- MAP2 second MAP decoding module
- ⁇ ⁇ 1 deinterleaver
- the turbo decoding module 10 ′ is configured to receive convolutionally coded signals and perform iterative decoding. When finishing one iteration, the a-priori information and/or extrinsic information is generated and transferred to the stopping method module 20 ′. The stopping method module 20 ′ proceeds to calculate the cross-entropy at 201 ′ and determine the stopping condition at 202 ′. It then outputs a stopping signal 203 ′ to the turbo decoding module 10 ′ so as to control whether to continue iterative decoding or not.
- the MAP decoding module is typically performed the logarithmic BCJR algorithm, which is easier to be implemented and also named as Log-MAP algorithm.
- the algorithm was published by Robertson in IEEE ICC'95 in June 1995. It is summarized as follows, where some of the superscripts and subscripts are omitted for convenience.
- ⁇ s is a threshold developed in accordance with bit error rate (BER) performance requirement
- BER bit error rate
- the HDA method is another Shao's method.
- the HDA method is a further simplified version of the CE method.
- Shao et al. mentioned that the saving of iteration of the HDA method is not as good as the CE method or the SCR method in high SNR region.
- the HDA method is also required memories to store the signs of the extrinsic information of entire data block.
- ⁇ k 1 N ⁇ [ sgn ⁇ ( L aj , k ( i ) ) ⁇ sgn ⁇ ( L ej , k ( i ) ) ] N ⁇ ⁇ s , where ⁇ s is a threshold developed in accordance with BER performance requirement, then a stopping signal is generated
- ⁇ s is a threshold developed in accordance with BER performance requirement
- the turbo decoding module when the turbo decoding module is converged, the a-priori information aj (i) , the extrinsic information ej (i) or the APP in the entire data block will be converged.
- Using an entire data block to design the stopping methods are the conventional methods in the prior art, such as U.S. Pat. Nos. 6,738,948, 6,898,254, 6,518,892, 6,956,912, and U.S. Patent App. US 2005/0015696, etc.
- the prior art are intuitive, but the drawback of requiring large memory and/or complicated calculations is obvious.
- the main object of the present invention is to provide a low complexity method for stopping the iterative decoding.
- the method for the iterative decoding not only preserves the performance of decoding and effectiveness in reducing the number of iterations in the prior art, but also includes the advantages of low memory requirement and without complicated calculations.
- the method of the present invention used for stopping the iterative decoding is implemented in a chip, the present invention offers advantages in the saving of power consumption as well as in the effectiveness by reducing the chip area.
- Another object of the present invention is to provide an iterative signal processor for decoding convolutionally coded signals.
- the iterative signal processor has a function to determine the stopping index for iterative signal processing, such that the number of iterations in the iterative decoding is reduced and as a result the requirements in memory needs and calculation operation are reduced.
- the present invention creates effectiveness in power saving as well as delay time saving.
- Still another object of the present invention is to provide an apparatus for wireless communication.
- the apparatus have a function to determine the stopping index for iterative signal processing, such that the number of iterations in the iterative decoding is reduced and as a result the requirements in memory needs and calculation operation are reduced.
- the present invention creates effectiveness in power saving as well as delay time saving.
- the present invention provides A method for stopping an iterative MAP decoding of convolutionally coded signals, the method comprising: (a) selecting an integer value k, 1 ⁇ k ⁇ N+ ⁇ , where N is the data block length of said convolutionally coded signals and ⁇ is the memory length of said convolutionally coded signals; (b) providing at least one MAP decoding module to perform said iterative MAP decoding of said convolutionally coded signals; (c) generating a state metric signature vector at kth time instant by said MAP decoding module during said iterative MAP decoding; (d) accumulating state metric signatures in said state metric signature vector into a stopping index variable; (e) setting a predetermined threshold; (f) comparing said stopping index variable with said predetermined threshold; and (g) stopping said MAP iterative decoding when said stopping index variable is less than said predetermined threshold.
- the present invention provides a method for stopping an iterative MAP decoding of convolutionally coded signals, the method comprising: (a) selecting an integer value k, 1 ⁇ k ⁇ N+ ⁇ , where N is the data block length of said convolutionally coded signals and ⁇ is the memory length of said convolutionally coded signals; (b) providing at least one MAP decoding module to perform said iterative MAP decoding of said convolutionally coded signals; (c) generating a forward state metric signature vector at kth time instant by said MAP decoding module during said iterative MAP decoding; (d) generating a backward state metric signature vector at kth time instant by said MAP decoding module during said iterative MAP decoding; (e) accumulating each product of forward state metric signature in said forward state metric signature vector and backward state metric signature of same state in said backward state metric signature vector into a stopping index variable; (f) setting a predetermined threshold; (g) comparing said stopping index variable with said predetermined
- an iterative signal processor for decoding convolutionally coded signals, comprising: an iterative signal processing module including a plurality of MAP decoding modules and said plurality of MAP decoding modules output at least one state metric signature vector at kth time instant during an iterative MAP decoding process performed by the iterative signal processor, wherein k is a selected integer value satisfying 1 ⁇ k ⁇ N+ ⁇ , where N is the data block length of said convolutionally coded signals and ⁇ is the memory length of said convolutionally coded signals; and a stopping method module including: an accumulator configured to accumulate a plurality of state metric signatures in said state metric signature vector into a stopping index variable; and a decision unit configured to compare said stopping index variable with a predetermined threshold, when said stopping index variable is less than said predetermined threshold, said decision unit will output a stopping signal to said iterative signal processing module, and said iterative MAP decoding is determined to be stopped.
- FIG. 1 is a schematic block diagram illustrating a conventional turbo decoder with the CE method.
- FIG. 2 is a block diagram illustrating a turbo decoder in the first embodiment of the present invention.
- FIG. 3 is a block diagram illustrating a turbo decoder in the second embodiment of the present invention.
- FIG. 4 is a block diagram illustrating a turbo decoder in the third embodiment of the present invention.
- FIG. 5 is a block diagram illustrating a turbo decoder in the fourth embodiment of the present invention.
- FIG. 6 is a block diagram illustrating a turbo decoder in the fifth embodiment of the present invention.
- FIG. 7 is the BER performance comparison of different embodiments of the present invention and prior art.
- FIG. 8 is the average number of iterations of different embodiments of the present invention and prior art.
- a stopping method is disclosed in the present invention and the method is using the value of state metric at a particular time instant within the MAP decoding module during the iterative decoding process. It should be noted that the data generated at a particular time instant is used in the present invention instead of an entire data block. According the concept described above, a stopping method in the present invention is disclosed in the following.
- the MAP decoding module Given a parallel turbo code of data block length N comprised two convolutional codes of ⁇ -bit memory with zero-state trellis termination and the Log-MAP algorithm is used as the MAP decoding module in a turbo decoding module, the MAP decoding module will calculate the state metric of states at time k during the iterative decoding process, where the state metric includes the forward state metric ⁇ tilde over ( ⁇ ) ⁇ k (s) and the backward state metric ⁇ tilde over ( ⁇ ) ⁇ k (s).
- the state metric is a function of the a-priori information and the a-priori information is a function of the extrinsic information of entire data block e , the state metric can be expressed as a function of the extrinsic information of entire data block. Therefore, the state metric can be a compact representation of e .
- ⁇ tilde over ( ⁇ ) ⁇ k (s) is also a function of L a,N for N ⁇ k ⁇ N+ ⁇
- f ⁇ ,k+1 (•) g ⁇ ,k+1 (h ⁇ ,k+1 (•))
- g ⁇ ,k+1 (•) and h ⁇ ,k+1 (•) is a function at time k+1, respectively.
- the range of k is different for the forward and backward state metric due to the nature of decoding algorithm.
- state metric including ⁇ tilde over ( ⁇ ) ⁇ k (s) for 1 ⁇ k ⁇ N+ ⁇ and ⁇ tilde over ( ⁇ ) ⁇ k (s) for 0 ⁇ k ⁇ N ⁇ 1 is defined as state metric signature ⁇ k (s), i.e., ⁇ k (s) is a common alias of ⁇ tilde over ( ⁇ ) ⁇ k (s) and ⁇ tilde over ( ⁇ ) ⁇ k (s).
- ⁇ k (s) ⁇ tilde over ( ⁇ ) ⁇ k (s) or ⁇ tilde over ( ⁇ ) ⁇ k (s) for 1 ⁇ k ⁇ N ⁇ 1
- ⁇ k (s) ⁇ tilde over ( ⁇ ) ⁇ k (s) for N ⁇ k ⁇ N+ ⁇ .
- the k [ ⁇ tilde over ( ⁇ ) ⁇ k (0) ⁇ tilde over ( ⁇ ) ⁇ k (1) . . .
- ⁇ tilde over ( ⁇ ) ⁇ k (S ⁇ 1)] and k [ ⁇ tilde over ( ⁇ ) ⁇ k (0) ⁇ tilde over ( ⁇ ) ⁇ k (1) . . . ⁇ tilde over ( ⁇ ) ⁇ k (S ⁇ 1)] is defined as the forward and backward state metric signature vector, respectively, where S is the total number of state of the convolutional code.
- the state metric signature vector k is defined as a common alias of the forward state metric signature vector k and the backward state metric signature vector k .
- the state metric signature ⁇ k (s) which embedded the information of e can be used as a stopping index for turbo decoding. Because the state metric signature is a compact representation of e , low-complexity stopping method is possible if the state metric signature is employed.
- the present invention uses the state metric signature to design the stopping method.
- the fundamental stopping method in the present invention is disclosed as follows.
- the stopping method module receives the state metric signature vector j,k (i) of the jth MAP decoding module at ith iteration from the turbo decoder so as to calculate a stopping index T I , where
- T I ⁇ ⁇ ⁇ ⁇ ⁇ s ⁇ S ⁇ ⁇ j , k ( i ) ⁇ ( s ) .
- a parallel turbo code of data block length N comprised two convolutional codes of ⁇ -bit memory with zero-state trellis termination is considered in the following embodiments and the Log-MAP algorithm is used as the MAP decoding module in the turbo decoding module.
- the turbo decoding module 10 in the following embodiments of the present invention basically is a decoding loop, and the turbo decoding module 10 comprises a first MAP decoding module 101 , an interleaver ( ⁇ ) 103 , a second MAP decoding module 102 and a deinterleaver ( ⁇ ⁇ 1 ) 104 .
- the stopping method module 20 comprises an accumulator 201 and a decision unit 202 . It then outputs a stopping signal 203 to the turbo decoding module 10 so as to control whether to continue iterative decoding or not.
- FIG. 2 it is a block diagram illustrating the turbo decoder in the present invention.
- the forward state metric signatures of the second MAP decoding module 102 at the ith iteration are accumulated so as to calculate the stopping index T I , where
- T I ⁇ ⁇ ⁇ ⁇ ⁇ s ⁇ S ⁇ ⁇ 2 , k ( i ) ⁇ ( s ) .
- the turbo decoding module 10 receives a data block and performs iterative decoding.
- the second MAP decoding module 102 will transfer the forward state metric signature vector 2,k to the stopping method module 20 .
- the accumulator 201 of the stopping method module 20 will accumulate all the forward state metric signatures ⁇ 2,k (i) (s) and save the result in the stopping index variable T I , i.e.,
- T I ⁇ ⁇ ⁇ ⁇ ⁇ s ⁇ S ⁇ ⁇ 2 , k ( i ) ⁇ ( s ) .
- the decision unit 202 will compare the accumulated result of the stopping index variable T I with a threshold ⁇ s .
- the stopping index is less than the predetermined threshold, i.e., T I ⁇ s
- the stopping signal 203 is generated to the turbo decoding module 10 so as to stop the iterative decoding. Otherwise, the iteration is repeated until the stopping condition is fulfilled (T I ⁇ s ) or a fixed number of iterations are performed.
- T I ⁇ ⁇ ⁇ ⁇ ⁇ s ⁇ S ⁇ ⁇ 2 , k ( i ) ⁇ ( s ) .
- the turbo decoding module 10 receives a data block and performs iterative decoding.
- the second MAP decoding module 102 will transfer the backward state metric signature vector 2,k to the stopping method module 20 .
- the accumulator 201 of the stopping method module will accumulate all the backward state metric signatures ⁇ 2,k (i) (s) and save the result in stopping index variable T I , i.e.,
- T I ⁇ ⁇ ⁇ ⁇ ⁇ s ⁇ S ⁇ ⁇ 2 , k ( i ) ⁇ ( s ) .
- the decision unit 202 will compare the accumulated result of the stopping index variable T I with a threshold ⁇ s .
- the stopping index is less than the predetermined threshold, i.e., T I ⁇ s
- the stopping signal 203 is generated to the turbo decoding module 10 so as to stop iterative decoding. Otherwise, the iteration is repeated until the stopping condition is fulfilled (T I ⁇ s ) or a fixed number of iterations are performed.
- the present embodiment is a combination of the first embodiment and second embodiment. Instead of using 2,k or 2,k alone, both of 2,k and 2,k are used to calculate the stopping index. As shown in FIG. 4 , the present embodiment is configured to use the forward state metric signature vector 2,k and the backward state metric signature vector 2,k generated by the second MAP decoding module 102 . At the ith iteration, all the state metric signatures of the second MAP decoding module 102 at time k are accumulated so as to calculate the stopping index T I , where
- T I ⁇ ⁇ ⁇ ⁇ ⁇ s ⁇ S ⁇ ( ⁇ 2 , k ( i ) ⁇ ( s ) + ⁇ 2 , k ( i ) ⁇ ( s ) ) .
- the turbo decoding module 10 receives a data block and performs iterative decoding.
- the second MAP decoding module 102 will transfer the state metric signature vectors 2,k and 2,k to the stopping method module 20 .
- the accumulator 201 of the stopping method module will accumulate all the state metric signatures ⁇ 2,k (i) (s) and ⁇ 2,k (i) (s) and save the result in stopping index variable T I , i.e.,
- T I ⁇ ⁇ ⁇ ⁇ ⁇ s ⁇ S ⁇ ( ⁇ 2 , k ( i ) ⁇ ( s ) + ⁇ 2 , k ( i ) ⁇ ( s ) ) .
- the decision unit 202 will compare the accumulated result of the stopping index variable T I with a threshold ⁇ s .
- the stopping index is less than the predetermined threshold, i.e., T I ⁇ s
- the stopping signal 203 is generated to the turbo decoding module 10 so as to stop iterative decoding. Otherwise, the iteration is repeated until the stopping condition is fulfilled (T I ⁇ s ) or a fixed number of iterations are performed.
- the present embodiment is a variant of the third embodiment. Instead of using vector summation of 2,k and 2,k , product of 2,k and 2,k (i.e., 2,k T ⁇ 2,k ) are used to calculate the stopping index. As shown in FIG. 5 , the present embodiment is configured to use the forward state metric signature vector 2,k and the backward state metric signature vector 2,k generated by the second MAP decoding module 102 . At the ith iteration, all the state metric signatures of the second MAP decoding module 102 at time k are accumulated so as to calculate the stopping index T I , where
- T I ⁇ ⁇ ⁇ ⁇ ⁇ s ⁇ S ⁇ ( ⁇ 2 , k ( i ) ⁇ ( s ) ⁇ ⁇ 2 , k ( i ) ⁇ ( s ) ) .
- the turbo decoding module 10 receives a data block and performs iterative decoding.
- the second MAP decoding module 102 will transfer the state metric signature vectors 2,k and 2,k to the stopping method module 20 .
- the accumulator 201 of the stopping method module will accumulate each product of the state metric signatures ⁇ 2,k (i) (s) and ⁇ 2,k (i) (s) of same state and save the result in stopping index variable T I , i.e.,
- T I ⁇ ⁇ ⁇ ⁇ ⁇ s ⁇ S ⁇ ( ⁇ 2 , k ( i ) ⁇ ( s ) ⁇ ⁇ 2 , k ( i ) ⁇ ( s ) ) .
- the decision unit 202 will compare the accumulated result of the stopping index variable T I with a threshold ⁇ s .
- the stopping index is greater than the predetermined threshold, i.e., T I > ⁇ s
- the stopping signal 203 is generated to the turbo decoding module 10 so as to stop iterative decoding. Otherwise, the iteration is repeated until the stopping condition is fulfilled (T I > ⁇ s ) or a fixed number of iterations are performed.
- the present embodiment is an extension of the first embodiment. Instead of using 2,k from single stage of MAP decoding module, two stages of forward state metric signature vectors including 1,k and 2,k are used to calculate the stopping index. As shown in FIG. 6 , the present embodiment is configured to use the forward state metric signature vector generated by the first MAP decoding module 101 and the second MAP decoding module 102 . At the ith iteration, the forward state metric signatures of the first MAP decoding module 101 and the second MAP decoding module 102 are accumulated so as to calculate the stopping index T I , where
- T I ⁇ ⁇ ⁇ ⁇ ⁇ s ⁇ S ⁇ ( ⁇ 1 , k ( i ) ⁇ ( s ) + ⁇ 2 , k ( i ) ⁇ ( s ) ) .
- the turbo decoding module 10 receives a data block and performs iterative decoding.
- the first MAP decoding module 101 will transfer the forward state metric signature vector 1,k to the stopping method module 20 ; then the second MAP decoding module 102 will transfer the forward state metric signature vector 2,k to the stopping method module 20 .
- the accumulator 201 of the stopping method module will accumulate all the forward state metric signatures including ⁇ 1,k (i) (s) and ⁇ 2,k (i) (s) and save the result in stopping index variable T I , i.e.,
- T I ⁇ ⁇ ⁇ ⁇ ⁇ s ⁇ S ⁇ ( ⁇ 1 , k ( i ) ⁇ ( s ) + ⁇ 2 , k ( i ) ⁇ ( s ) ) .
- the decision unit 202 will compare the accumulated result of the stopping index variable T I with a threshold ⁇ s .
- the stopping index is less than the predetermined threshold, i.e., T I ⁇ s
- the stopping signal 203 is generated to the turbo decoding module 10 so as to stop iterative decoding. Otherwise, the iteration is repeated until the stopping condition is fulfilled (T I ⁇ s ) or a fixed number of iterations are performed.
- the simulation parameters are as follows.
- the turbo code constructed by parallel concatenating two (7,5) recursive systematic convolutional codes with zero-state trellis termination via a quadratic polynomial permutation (QPP) interleaver is used.
- the data block length is 6144 and the code rate is 1/3.
- the Log-MAP algorithm is used as the MAP decoding algorithm.
- the threshold is targeted to the BER performance less than 10 ⁇ 5 . At the mean time, the maximum number of iteration is limited to 8.
- FIG. 7 it is the BER performance comparison of the different embodiments in the present invention and the prior art of soft information class. Different parameters for each embodiment are used in the simulations to demonstrate the efficiency of the present invention.
- the threshold ⁇ s for each embodiment is appended in each simulation case, respectively.
- the prior art includes CE, SCR, and SDR methods.
- the horizontal axis is the ratio of bit energy to noise power spectral density (E b /N 0 ) in dB, where E b is the energy per bit and N 0 is noise power spectral density.
- the vertical axis is the BER performance.
- the Genie line is the virtually ideal stopping method.
- the Fixed line is the decoding method of conventional decoder for always decoding eight iterations. As shown in FIG. 7 , the requirement of the target BER performance is achieved for the different embodiments in the present invention and prior art when E b /N 0 is greater 0.8 dB.
- FIG. 8 it is the comparison diagram of the average number of iterations for the different embodiments in the present invention and prior art.
- the horizontal line is E b /N 0 and the vertical line is the average number of iteration.
- the iteration numbers of most embodiments are close to the SCR and SDR when the E b /N 0 is greater than 1.2 dB.
- the fifth embodiment for time instant 6144 is better than the SCR.
- the first embodiment for time instant 1 and 2 is worse than the SDR.
- the different embodiments in the present invention are able to save the number of iterations for a given target BER performance.
- the advantages of the present invention are low memory requirement and without complicated calculations.
- the stopping method is made in a chip, the area of the chip is also reduced effectively.
- the stopping method is used in handheld or portable devices, the durability is better.
- the difference is the state metric signature vectors used to calculate the stopping index, the definition and calculation of the stopping index T I , and comparison relation in the decision unit.
- the plurality of MAP decoding modules in turbo decoding module can be implemented by sharing a single instance of MAP decoding module.
- the parallel turbo code is used in the present invention, it is not limited herein due to the MAP decoding module is applicable to all kind of iterative signal processing for convolutionally coded signals.
- a plurality of MAP decoding modules in the present invention can be used to iteratively process the parallel, serial, or hybrid concatenation of convolutionally coded signals and systems, such as serial turbo codes, turbo equalization, turbo detection and other iterative signal processing.
- the stopping method of iterative signal processing in the present invention can be embedded in a chip and executed as an iterative signal processor; and it is also used in the way of software, the stopping method of iterative signal processing is implemented in software program to be executed. For example, the stopping method of iterative signal processing is saved in a computer-readable medium and then called to be executed by main program.
- the main feature of the present invention is to transfer and utilize the state metric signature of MAP decoding module at a particular time instant instead of the a-priori information, extrinsic information or APP values of an entire data block.
- the turbo code in the present invention is implemented in apparatus such as handheld devices, portable devices or base stations in cellular communication systems, which includes at least one antenna to receive a radio frequency signal with convolutionally coded baseband signals such as turbo codes, multipath fading signals, multi-antenna signals, etc., an demodulator connected with the antenna and configured to demodulate the radio frequency signal to the convolutionally coded baseband signals, and an iterative signal processor connected with the demodulator and configured to do the iterative signal processing for the convolutionally coded baseband signals.
- An iterative signal processor such as turbo decoder, turbo equalizer or turbo detector, etc. implemented by at least one MAP decoding module, and the MAP decoding module output at least one state metric signature vector during iterative processing process.
- the stopping method module includes an accumulator configured to accumulate the state metric signatures generated by the MAP decoding module into a stopping index variable.
- a decision unit configured to compare the stopping index variable with a predetermined threshold for stopping iterative decoding, when the stopping index is less than the predetermined threshold, the decision unit will output a stopping signal to the iterative signal processing module and the iterative decoding is determined to be stopped.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
where the subscript k is the kth time instant; {tilde over (γ)}k(s′,s) is the branch metric from state s′ to state s; ukε{+1, −1} is the value of transmitted symbol; E+/E− is the set of (s′,s) branch pair corresponding to uk=+1/uk=−1, respectively; {tilde over (α)}k (s) is the forward state metric; {tilde over (β)}k (s′) is the backward state metric; Ld/La/Le are the APP/a-priori information/extrinsic information, respectively; Lc is the channel reliability, yk s is the value of received systematic information symbol, Ls Lcyk s is the log-likelihood ratio of yk s; yk p is the value of received parity symbol, Lp Lcyk p is the log-likelihood ratio of yk p; xk p, is the value of transmitted parity symbol; Hk and Gk are the normalized term for {tilde over (α)}k(s) and {tilde over (β)}k (s′), respectively; and max*{a,b}=max(a,b)+ln(1+e−|a-b|). Note that the dashed line in
where the Le2,k (i-1) is the extrinsic information of the kth data bit of the second MAP decoding module at (i−1)th iteration and the exp (•) is exponential function. When the stopping condition is qualified as
where εs is a threshold developed in accordance with bit error rate (BER) performance requirement, then a
where the E[•] is expectation function, the sgn(•) is sign function, the ⊕ is exclusive OR logic, and C(i) is the number of different signs of the extrinsic information between ith and (i−1)th iteration of the second MAP decoding module. When the stopping condition is qualified as
where εs is a threshold developed in accordance with BER performance requirement, then a stopping signal is generated. Because the SCR method is simplified, the saving of the number of iterations is not as good as CE. Similar to the CE method, the SCR method is also required more memories (because the signs of the extrinsic information of entire data block are required to be memorized).
sgn(L e2,k (i))=sgn(L e2,k (i-1))
for all k, then a stopping signal is generated. However, Shao et al. mentioned that the saving of iteration of the HDA method is not as good as the CE method or the SCR method in high SNR region. The HDA method is also required memories to store the signs of the extrinsic information of entire data block.
where εs is a threshold developed in accordance with BER performance requirement, then a stopping signal is generated The SDR method does not required extra memories to store the signs of the extrinsic information of entire data block. Comparing the number of iteration saving, the SDR method is the worst.
{tilde over (α)}k(s)=g α,k(L a,k)=g α,k(h α,k( e))=f α,k( e), for 1≦k≦N
where fα,k (•)=gα,k(hα,k(•)), gα,k(•) and hα,k(•) is a function at time k, respectively. Because {tilde over (α)}k(s) is also a function of La,N for N<k≦N+ν, the range of k can be extended to N+ν, i.e.,
{tilde over (α)}k(s)=f α,k( e) for 1<k≦N+ν.
{tilde over (β)}k(s)=g β,k+1(L a,k+1)=g β,k+1(h β,k+1(L a,k+1))=f β,k+1( e) for 0≦k≦N−1
where fβ,k+1(•)=gβ,k+1(hβ,k+1(•)), gβ,k+1(•) and hβ,k+1(•) is a function at
When TI<εs, the iterative decoding is stopped, where εs is a threshold developed in accordance with BER performance requirement. All other variants of the fundamental stopping method are extension of the present invention and it will be described later.
Then, the
Then, the
Then, the
Then, the
Then, the
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/089,748 US8984377B2 (en) | 2011-04-19 | 2011-04-19 | Stopping methods for iterative signal processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/089,748 US8984377B2 (en) | 2011-04-19 | 2011-04-19 | Stopping methods for iterative signal processing |
Publications (2)
Publication Number | Publication Date |
---|---|
US20120272125A1 US20120272125A1 (en) | 2012-10-25 |
US8984377B2 true US8984377B2 (en) | 2015-03-17 |
Family
ID=47022218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/089,748 Active 2032-08-05 US8984377B2 (en) | 2011-04-19 | 2011-04-19 | Stopping methods for iterative signal processing |
Country Status (1)
Country | Link |
---|---|
US (1) | US8984377B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10567008B2 (en) * | 2015-07-02 | 2020-02-18 | Apple Inc. | Stopping criteria for turbo decoder |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9696994B2 (en) * | 2011-12-23 | 2017-07-04 | Arm Limited | Apparatus and method for comparing a first vector of data elements and a second vector of data elements |
CN103124181A (en) * | 2013-01-22 | 2013-05-29 | 华中科技大学 | Turbo code decoding iteration cease method based on cosine similarity |
CN109062565B (en) * | 2018-07-20 | 2021-06-15 | 北京航空航天大学 | Digital satellite AOS protocol telemetry source code artificial intelligence writing method |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5446747A (en) | 1991-04-23 | 1995-08-29 | France Telecom | Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder |
US6518892B2 (en) | 2000-11-06 | 2003-02-11 | Broadcom Corporation | Stopping criteria for iterative decoding |
US20030061561A1 (en) * | 2000-02-17 | 2003-03-27 | Analog Devices, Inc. | Method, apparatus, and product for use in generating CRC and other remainder based codes |
US20030142727A1 (en) * | 2001-02-20 | 2003-07-31 | Pantelis Monogioudis | Decoderless bit-error-rate estimation for convolutionally encoded transmissions in wireless systems |
US20040022336A1 (en) * | 2002-08-02 | 2004-02-05 | Xiaoyong Yu | Turbo decoder with partial interference cancellation |
US6700937B1 (en) * | 2000-01-05 | 2004-03-02 | At&T Corp. | Iterative decoding |
US6738948B2 (en) | 2001-04-09 | 2004-05-18 | Motorola, Inc. | Iteration terminating using quality index criteria of turbo codes |
US20050015696A1 (en) | 2003-07-17 | 2005-01-20 | Evolium S.A.S. | Stop criterion for an iterative data processing method |
US20050022090A1 (en) * | 2000-09-12 | 2005-01-27 | Broadcom Corporation | Parallel concatenated code with soft-in soft-out interactive turbo decoder |
US6879648B2 (en) | 2000-01-31 | 2005-04-12 | Texas Instruments Incorporated | Turbo decoder stopping based on mean and variance of extrinsics |
US6891485B2 (en) * | 1999-12-03 | 2005-05-10 | Broadcom Corporation | Interspersed training for turbo coded modulation |
US6898254B2 (en) | 2000-01-31 | 2005-05-24 | Texas Instruments Incorporated | Turbo decoder stopping criterion improvement |
US6956912B2 (en) | 2000-11-14 | 2005-10-18 | David Bass | Turbo decoder with circular redundancy code signature comparison |
US20070011586A1 (en) * | 2004-03-31 | 2007-01-11 | Belogolovy Andrey V | Multi-threshold reliability decoding of low-density parity check codes |
US20090089643A1 (en) | 2007-09-28 | 2009-04-02 | Via Technologies, Inc. | Turbo decoder and iteration stopping method thereof |
US8397141B2 (en) * | 2007-09-21 | 2013-03-12 | Silverbrook Research Pty Ltd | Coding pattern comprising Reed-Solomon codewords encoded by mixed multi-pulse position modulation |
-
2011
- 2011-04-19 US US13/089,748 patent/US8984377B2/en active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5446747A (en) | 1991-04-23 | 1995-08-29 | France Telecom | Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder |
US6891485B2 (en) * | 1999-12-03 | 2005-05-10 | Broadcom Corporation | Interspersed training for turbo coded modulation |
US6700937B1 (en) * | 2000-01-05 | 2004-03-02 | At&T Corp. | Iterative decoding |
US6898254B2 (en) | 2000-01-31 | 2005-05-24 | Texas Instruments Incorporated | Turbo decoder stopping criterion improvement |
US6879648B2 (en) | 2000-01-31 | 2005-04-12 | Texas Instruments Incorporated | Turbo decoder stopping based on mean and variance of extrinsics |
US20030061561A1 (en) * | 2000-02-17 | 2003-03-27 | Analog Devices, Inc. | Method, apparatus, and product for use in generating CRC and other remainder based codes |
US20050022090A1 (en) * | 2000-09-12 | 2005-01-27 | Broadcom Corporation | Parallel concatenated code with soft-in soft-out interactive turbo decoder |
US6518892B2 (en) | 2000-11-06 | 2003-02-11 | Broadcom Corporation | Stopping criteria for iterative decoding |
US20040140915A1 (en) * | 2000-11-06 | 2004-07-22 | Broadcom Corporation | Method and apparatus for iterative decoding |
US6956912B2 (en) | 2000-11-14 | 2005-10-18 | David Bass | Turbo decoder with circular redundancy code signature comparison |
US20030142727A1 (en) * | 2001-02-20 | 2003-07-31 | Pantelis Monogioudis | Decoderless bit-error-rate estimation for convolutionally encoded transmissions in wireless systems |
US6738948B2 (en) | 2001-04-09 | 2004-05-18 | Motorola, Inc. | Iteration terminating using quality index criteria of turbo codes |
US20040022336A1 (en) * | 2002-08-02 | 2004-02-05 | Xiaoyong Yu | Turbo decoder with partial interference cancellation |
US20050015696A1 (en) | 2003-07-17 | 2005-01-20 | Evolium S.A.S. | Stop criterion for an iterative data processing method |
US20070011586A1 (en) * | 2004-03-31 | 2007-01-11 | Belogolovy Andrey V | Multi-threshold reliability decoding of low-density parity check codes |
US8397141B2 (en) * | 2007-09-21 | 2013-03-12 | Silverbrook Research Pty Ltd | Coding pattern comprising Reed-Solomon codewords encoded by mixed multi-pulse position modulation |
US20090089643A1 (en) | 2007-09-28 | 2009-04-02 | Via Technologies, Inc. | Turbo decoder and iteration stopping method thereof |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10567008B2 (en) * | 2015-07-02 | 2020-02-18 | Apple Inc. | Stopping criteria for turbo decoder |
Also Published As
Publication number | Publication date |
---|---|
US20120272125A1 (en) | 2012-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ilnseher et al. | A 2.15 GBit/s turbo code decoder for LTE advanced base station applications | |
US7657819B2 (en) | Method and apparatus for termination of iterative turbo decoding | |
CN100578944C (en) | A method and device for iterative decoding of LDPC codes | |
CN107689801B (en) | An Early Stopping Method for ADMM Iterative Decoding of LDPC Codes | |
CN101707485A (en) | LDPC decoding method combining bit flipping (BF) and majority logic (MLG) | |
CN103269229A (en) | A Hybrid Iterative Decoding Method for LDPC-RS Two-Dimensional Product Codes | |
CN106330207A (en) | Joint Detection and Decoding Algorithm Based on Turbo-SCMA System | |
US8984377B2 (en) | Stopping methods for iterative signal processing | |
Fougstedt et al. | Energy-efficient soft-assisted product decoders | |
Gross et al. | Deep learning techniques for decoding polar codes | |
CN101262232A (en) | A Decoding Algorithm for Overlapping Code Multiplexing | |
US7370332B2 (en) | Arrangement and method for iterative decoding | |
CN102832954B (en) | Turbo code iterative decoding stopping method based on soft information average minimum value | |
CN101299613B (en) | Method and apparatus for decoding ZigZag code | |
US20180248563A1 (en) | Device and Method of Controlling an Iterative Decoder | |
CN102611464B (en) | Turbo decoder based on external information parallel update | |
CN101753153B (en) | Turbo code encoder, decoder, encoding method and decoding method | |
KR101923701B1 (en) | Apparatus and method for iterative detection and decoding in wireless communication system | |
CN113644919B (en) | Method for improving Turbo decoding performance in DVB-RCS2 and decoding structure | |
CN101621300B (en) | Soft-in-soft-out NR decoder and soft information generation method thereof | |
Weithoffer et al. | Where to go from here? New cross layer techniques for LTE Turbo-Code decoding at high code rates | |
Chen et al. | A 691 Mbps 1.392 mm 2 configurable radix-16 turbo decoder ASIC for 3GPP-LTE and WiMAX systems in 65nm CMOS | |
Ardakani et al. | An efficient max-log map algorithm for vlsi implementation of turbo decoders | |
CN100486235C (en) | Iterative receiving method for maintaining soft information | |
CN101488759A (en) | Decoding method for MIMO OFDM system low density correcting code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LIN, SHOU-SHEU, TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIN, SHOU-SHEU;LAI, JE-AN;LIN, SUN-TING;REEL/FRAME:026150/0825 Effective date: 20110408 |
|
AS | Assignment |
Owner name: NATIONAL KAOHSIUNG FIRST UNIVERSITY OF SCIENCE AND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LIN, SHOU-SHEU;REEL/FRAME:034647/0726 Effective date: 20141219 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2552); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 8 |