US20060282742A1 - 2D-normalized min-sum decoding for ECC codes - Google Patents

2D-normalized min-sum decoding for ECC codes Download PDF

Info

Publication number
US20060282742A1
US20060282742A1 US11/134,545 US13454505A US2006282742A1 US 20060282742 A1 US20060282742 A1 US 20060282742A1 US 13454505 A US13454505 A US 13454505A US 2006282742 A1 US2006282742 A1 US 2006282742A1
Authority
US
United States
Prior art keywords
decoding
node processor
bit
codes
normalization
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.)
Granted
Application number
US11/134,545
Other versions
US7562279B2 (en
Inventor
Juntan Zhang
Daqing Gu
Jinyun Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Research Laboratories Inc
Original Assignee
Mitsubishi Electric Research Laboratories Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Research Laboratories Inc filed Critical Mitsubishi Electric Research Laboratories Inc
Priority to US11/134,545 priority Critical patent/US7562279B2/en
Assigned to MITSUBISHI ELECTRIC RESEARCH LABORATORIES, INC. reassignment MITSUBISHI ELECTRIC RESEARCH LABORATORIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ZHANG, JUNTAN, GU, DAQING, ZHANG, JINYUN
Priority to EP06746041A priority patent/EP1884023B1/en
Priority to PCT/JP2006/309209 priority patent/WO2006123543A1/en
Priority to CN2006800014224A priority patent/CN101107782B/en
Priority to JP2006529345A priority patent/JP5138221B2/en
Publication of US20060282742A1 publication Critical patent/US20060282742A1/en
Application granted granted Critical
Publication of US7562279B2 publication Critical patent/US7562279B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • H03M13/1197Irregular repeat-accumulate [IRA] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6583Normalization other than scaling, e.g. by subtraction

Definitions

  • This invention relates generally to decoding error-correcting codes (ECC), and more particularly to normalized min-sum decoders for LDPC codes and repeat accumulate codes.
  • ECC error-correcting codes
  • BP decoding for these LDPC codes provides excellent performance, it is too complex for hardware implementation.
  • BP decoding can be simplified by a check node processor with a simple minimum operation, resulting in a min-sum decoding method. While the min-sum decoding method is less complex to implement, it has decreased performance compared to BP decoding.
  • the min-sum decoding method can be improved by linear post-normalization at a check node processor, which is called the normalized min-sum decoding method. Nevertheless, there is still a big gap between the performance of the normalized min-sum decoding method and BP decoding, especially for decoding irregular LDPC codes.
  • LDPC codes were first described by Gallager in the 1960s. LDPC codes perform remarkably close to Shannon limit.
  • a binary (N, K) LDPC code with a code length N and dimension K, is defined by a parity check matrix H of (N-K) rows and N columns. Most entries of the matrix H are zeros and only a small number the entries are ones, hence the matrix H is sparse.
  • Each row of the matrix H represents a check sum, and each column represents a variable, e.g., a bit or symbol.
  • the LDPC codes described by Gallager are regular, i.e., the parity check matrix H has constant-weight rows and columns.
  • turbo-codes In 1993, similar iterative methods were shown to perform very well for a new class of codes known as “turbo-codes.” The success of turbo-codes was partially responsible for greatly renewed interest in LDPC codes and iterative decoding methods. There has been a considerable amount of recent work to improve the performance of iterative decoding methods for both turbo-codes and LDPC codes, and other related codes such as “turbo product codes” and “repeat-accumulate codes.” For example, a special issue of the IEEE Communications Magazine was devoted to this work in August 2003. For an overview, see C. Berrou, “ The Ten-Year-Old Turbo Codes are entering into Service ,” IEEE Communications Magazine, vol. 41, pp. 110-117, August 2003 and T. Richardson and R. Urbanke, “ The Renaissance of Gallager's Low-Density Parity Check Codes ,”IEEE Communications Magazine, vol. 41, pp. 126-131, August 2003.
  • Regular LDPC codes can be extended to irregular LDPC codes, in which the weight of rows and columns vary.
  • An irregular LDPC code is specified by degree distribution polynomials v(x) and c(x), which define the variable and check node degree distributions, respectively.
  • the variables d v max and d c max are a maximum variable node degree and a maximum check node degree, respectively
  • v j (c j ) represents the fraction of edges emanating from variable (check) nodes of degree j. It has been shown, both theoretically and empirically, that with properly selected degree distributions, irregular LDPC codes outperform regular LDPC codes.
  • the regular and irregular LDPC codes can be decoded by hard-decision, soft-decision and hybrid-decision methods.
  • the best soft decision decoding is BP, which gives the best error performance of LDPC codes.
  • the check node processor 110 and a bit node processor 120 operate serially while passing reliability messages to each other based on the belief propagation principle, where U ch 130 is a log-likelihood ratio from channel.
  • U ch 130 is a log-likelihood ratio from channel.
  • the main difficulty for a practical implementation of a BP decoder arises from the check processor, in which a “tanh” function requires very high computational complexity.
  • N(m) the set of bits that participate in check m
  • M(n) the set of checks in which bit n participates.
  • N(m) ⁇ n the set N(m) with bit n excluded
  • M(n) ⁇ m the set M(n) with check m excluded.
  • the conventional BP decoding method includes the following steps:
  • Min-sum decoding is possible in hardware because only comparison and addition operations are needed. Nevertheless, the conventional min-sum decoding has decreased performance.
  • the normalized min-sum decoding method performs near to that of conventional BP when decoding regular LDPC codes. Nevertheless, for decoding irregular LDPC codes, which are preferred for many applications, the gap between the performance of conventional normalized min-sum decoding and that of BP is large.
  • the 2D normalization min-sum decoding has a similar and better performance than BP decoding method, in waterfall and error floor regions.
  • the 2D normalization min-sum decoding method requires much less computational complexity than conventional BP decoding.
  • the 2D normalization min-sum decoding can also be extended to 2D offset min-sum decoding.
  • FIG. 1 is a block diagram of a conventional BP decoder of LDPC codes
  • FIG. 2 is a block diagram of a conventional min-sum decoder of LDPC codes
  • FIG. 3 is a block diagram of a conventional normalized min-sum decoder of LDPC codes
  • FIG. 4 is a block diagram of a 2D normalized min-sum decoder of error-correcting codes according to one embodiment of the invention.
  • FIG. 5 is a graph comparing word-error rates (WER) of decoding methods.
  • a 2D-normalized min-sum decoder for error-correcting codes, such as regular and irregular LDPC codes and regular and irregular repeat-accumulate codes.
  • the messages generated by the bit node processor are normalized as well.
  • varying normalization factors are used, which are mainly dependent on different weights of bit nodes. Because there are two normalization operations, we call our method 2D normalization min-sum decoding.
  • normalization factors which means the normalization factors of bit and check nodes can vary during different decoding iterations.
  • the normalization factors for the check node processor depend on a first predetermined number of decoding iterations (e.g., 10), while the normalization factors are constant during remaining decoding iterations.
  • the normalization factors for the bit node processor depend on a predetermined number of first decoding iterations (e.g., 10), while the normalization factors are constant during remaining decoding iteration.
  • FIG. 4 shows a 2D normalized min-sum decoder of error-correcting codes according to one embodiment of the invention.
  • H the parity check matrix defining an LDPC code.
  • N(m) the set of bits that participate in check m
  • M(n) the set of checks in which bit n participates
  • N(m) ⁇ n the set of bits that participate in check m
  • M(n) ⁇ m the set M(n) with check m excluded.
  • U ch,n 430 be the log-likelihood ratio (LLR) of bit n, which is derived from the channel output.
  • U mn (i) be the LLR of bit n, which is sent from check node m to bit node n at i th decoding iteration.
  • V mn (i) be the LLR of bit n, which is sent from bit node n to check node m.
  • V mn ( i ) U ch , ⁇ n + B dv ⁇ ( n ) ( i ) ⁇ ⁇ m ′ ⁇ M ⁇ ( n ) ⁇ ⁇ ⁇ ⁇ m ⁇ U m ′ ⁇ n ( i ) , ( 9 ) where dv(n) denotes the degree of bite node n and B dv(n) (i) 450 denotes the normalization factor of bit node n at iteration i.
  • Step 1 of 2D-normalized min-sum decoding includes the following substeps:
  • V mn ( i ) U ch , n + B dv ⁇ ( n ) ( i ) ⁇ ⁇ m ′ ⁇ M ⁇ ( n ) ⁇ ⁇ ⁇ ⁇ m ⁇ U m ′ ⁇ n ( i )
  • V n ( i ) U ch , n + B dv ⁇ ( n ) ( i ) ⁇ ⁇ m ⁇ M ⁇ ( n ) ⁇ U mn ( i ) .
  • Step 2 and Step 3 are the same as in the conventional normalized min-sum decoding, i.e. Step 2 and Step 3 of conventional BP decoding.
  • the 2D-normalized min-sum decoding for irregular LDPC codes can be extended to 2D offset min-sum decoding.
  • belief messages In offset min-sum decoding, belief messages have absolute values equal or greater than an offset parameter x. In this case, the magnitudes of these messages are reduced by x, otherwise, belief messages are set to zero.
  • Step 1 of 2D offset min-sum decoding is described below.
  • Step 2 and Step 3 are the same as described above.
  • the 2D offset min-sum decoding offers a similar performance gain as the 2D-normalized min-sum decoding described above.
  • the method is applied regular and irregular repeat-accumulate codes.
  • the 2D-normalized min-sum decoding method provides a comparable performance as BP decoding, and, interestingly has a lower error floor than that of BP decoding in a high SNR region.

Abstract

A method for decoding error-correcting codes normalizes messages generated by a bit node processor, and normalizes messages generated by the check node processor.

Description

    FIELD OF THE INVENTION
  • This invention relates generally to decoding error-correcting codes (ECC), and more particularly to normalized min-sum decoders for LDPC codes and repeat accumulate codes.
  • BACKGROUND OF THE INVENTION
  • Efficient and reliable data storage and communication requires practical encoding and decoding methods for error-correcting codes. It is known that low density parity check (LDPC) codes with belief propagation (BP) decoding provide performance close to the Shannon limit. In particular, irregular LDPC codes are among the best for many applications. Various irregular LDPC codes have been accepted or being considered for various communication and storage standards, such as DVB/DAB, wireline ADSL, IEEE 802.11n, and IEEE 802.16. However, it is known that the performance of irregular LDPC decoders is less than optimal.
  • Although BP decoding for these LDPC codes provides excellent performance, it is too complex for hardware implementation. BP decoding can be simplified by a check node processor with a simple minimum operation, resulting in a min-sum decoding method. While the min-sum decoding method is less complex to implement, it has decreased performance compared to BP decoding. The min-sum decoding method can be improved by linear post-normalization at a check node processor, which is called the normalized min-sum decoding method. Nevertheless, there is still a big gap between the performance of the normalized min-sum decoding method and BP decoding, especially for decoding irregular LDPC codes.
  • LDPC Codes
  • LDPC codes were first described by Gallager in the 1960s. LDPC codes perform remarkably close to Shannon limit. A binary (N, K) LDPC code, with a code length N and dimension K, is defined by a parity check matrix H of (N-K) rows and N columns. Most entries of the matrix H are zeros and only a small number the entries are ones, hence the matrix H is sparse. Each row of the matrix H represents a check sum, and each column represents a variable, e.g., a bit or symbol. The LDPC codes described by Gallager are regular, i.e., the parity check matrix H has constant-weight rows and columns.
  • In 1993, similar iterative methods were shown to perform very well for a new class of codes known as “turbo-codes.” The success of turbo-codes was partially responsible for greatly renewed interest in LDPC codes and iterative decoding methods. There has been a considerable amount of recent work to improve the performance of iterative decoding methods for both turbo-codes and LDPC codes, and other related codes such as “turbo product codes” and “repeat-accumulate codes.” For example, a special issue of the IEEE Communications Magazine was devoted to this work in August 2003. For an overview, see C. Berrou, “The Ten-Year-Old Turbo Codes are entering into Service,” IEEE Communications Magazine, vol. 41, pp. 110-117, August 2003 and T. Richardson and R. Urbanke, “The Renaissance of Gallager's Low-Density Parity Check Codes,”IEEE Communications Magazine, vol. 41, pp. 126-131, August 2003.
  • Regular LDPC codes can be extended to irregular LDPC codes, in which the weight of rows and columns vary. An irregular LDPC code is specified by degree distribution polynomials v(x) and c(x), which define the variable and check node degree distributions, respectively. More specifically, let v ( x ) = j = 1 d v max v j x j - 1 , ( 1 ) and c ( x ) = j = 1 d c max c j x j - 1 , ( 2 )
    where the variables dv max and dc max are a maximum variable node degree and a maximum check node degree, respectively, and vj(cj) represents the fraction of edges emanating from variable (check) nodes of degree j. It has been shown, both theoretically and empirically, that with properly selected degree distributions, irregular LDPC codes outperform regular LDPC codes.
  • The regular and irregular LDPC codes can be decoded by hard-decision, soft-decision and hybrid-decision methods. The best soft decision decoding is BP, which gives the best error performance of LDPC codes.
  • BP Decoding
  • As shown in FIG. 1 for conventional BP decoding, the check node processor 110 and a bit node processor 120 operate serially while passing reliability messages to each other based on the belief propagation principle, where Uch 130 is a log-likelihood ratio from channel. The main difficulty for a practical implementation of a BP decoder arises from the check processor, in which a “tanh” function requires very high computational complexity.
  • We denote the set of bits that participate in check m by N(m), and the set of checks in which bit n participates by M(n). We also denote N(m)\n as the set N(m) with bit n excluded, and M(n)\m as the set M(n) with check m excluded.
  • We define the following notations associated with ithiteration:
      • Uch,n: the log-likelihood ratios (LLR) of bit n which is generated by the channel output,
      • Umn (i): the LLR of bit n which is sent from check m to bit node n,
      • Vmn (i): The LLR of bit n which is sent from bit node n to check node m, and
      • Vn (i): the a posteriori LLR of bit n computed at each iteration.
  • The conventional BP decoding method includes the following steps:
  • Initialization
  • Set i=1 and the maximum number of iterations to Imax. For each m and n, set Vmn (0)=Uch,n.
  • Step 1
  • Horizontal step, for 1≦n≦N and each m ε M(n), process: U mn ( i ) = log 1 + n N ( m ) \ n tanh ( V mn ( i - 1 ) / 2 ) 1 - n N ( m ) \ n tanh ( V mn ( i - 1 ) / 2 ) . ( 3 )
  • Vertical step, for 1≦n≦N and each m ε M(n), process V mn ( i ) = U ch , n + m M ( n ) \ m U m n ( i ) , and ( 4 ) V n ( i ) = U ch , n + m M ( n ) U mn ( i ) . ( 5 )
  • Step 2
  • Hard decision and termination criterion test. Generate ŵ(i)=[Ŵn (i)], such that Ŵn (i)=1 for Vn (i)>0, and Ŵn (i)=0 otherwise. If Hŵ(i)=0, or the maximum number of iterations is reached, then output ŵ(i) as the decoded codeword and terminate the decoding iteration, otherwise, set i=i+1, and go to Step 1.
  • Step 3
  • Output ŵ(i) as the decoded codeword.
  • Min-sum Decoding
  • As shown in FIG. 2, conventional min-sum decoding simplifies the conventional BP decoding in the check node processor 210 by approximating the product of tanh functions as a min-sum operation. The updating rule in the check node of min-sum is modified as: U mn ( i ) = n N ( m ) \ n sgn ( V mn ( i - 1 ) ) × min n N ( m ) \ n V mn ( i - 1 ) . ( 6 )
  • Min-sum decoding is possible in hardware because only comparison and addition operations are needed. Nevertheless, the conventional min-sum decoding has decreased performance.
  • Conventional Normalized Min-Sum Decoding
  • As shown in FIG. 3, conventional normalized min-sum decoding improves the min-sum decoding by normalizing 310 the messages generated by the check node processor 210, where ‘A’ 300 denotes the normalization factor. The updating rule in the check node of normalized min-sum decoding is as follows: U mn ( i ) = A n N ( m ) \ n sgn ( V mn ( i - 1 ) ) × min n N ( m ) \ n V mn ( i - 1 ) . ( 7 )
  • The normalized min-sum decoding method performs near to that of conventional BP when decoding regular LDPC codes. Nevertheless, for decoding irregular LDPC codes, which are preferred for many applications, the gap between the performance of conventional normalized min-sum decoding and that of BP is large.
  • Therefore is desired to improve the normalized min-sum decoding method for all LDPC codes.
  • SUMMARY OF THE INVENTION
  • In a 2D normalization min-sum decoding method, messages generated by a check node and messages generated by a bit node in min-sum decoding are both normalized. This decoding has significantly improved performance when compared with conventional min-sum and normalization min-sum decoding methods.
  • At the same time, the 2D normalization min-sum decoding has a similar and better performance than BP decoding method, in waterfall and error floor regions.
  • Furthermore, the 2D normalization min-sum decoding method requires much less computational complexity than conventional BP decoding. The 2D normalization min-sum decoding can also be extended to 2D offset min-sum decoding.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a conventional BP decoder of LDPC codes;
  • FIG. 2 is a block diagram of a conventional min-sum decoder of LDPC codes;
  • FIG. 3 is a block diagram of a conventional normalized min-sum decoder of LDPC codes;
  • FIG. 4 is a block diagram of a 2D normalized min-sum decoder of error-correcting codes according to one embodiment of the invention; and
  • FIG. 5 is a graph comparing word-error rates (WER) of decoding methods.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • In one embodiment of our invention, we provide a 2D-normalized min-sum decoder for error-correcting codes, such as regular and irregular LDPC codes and regular and irregular repeat-accumulate codes.
  • In conventional normalization min-sum decoding, the belief messages generated by a check processor are post-processed by a normalization operation. Then, these normalized belief messages are operated on by a bit node processor, which is the same as in the conventional BP decoding method.
  • For an irregular LDPC code, the degrees of bits are not constant. Therefore, probability distributions of belief messages generated from bits with different weights are not the same. It is not reasonable for the check node processor to treat these messages with different degrees equally.
  • Therefore, in one embodiment of the invention, the messages generated by the bit node processor are normalized as well. In addition, varying normalization factors are used, which are mainly dependent on different weights of bit nodes. Because there are two normalization operations, we call our method 2D normalization min-sum decoding.
  • Another consideration is to use varying normalization factors, which means the normalization factors of bit and check nodes can vary during different decoding iterations. For example, the normalization factors for the check node processor depend on a first predetermined number of decoding iterations (e.g., 10), while the normalization factors are constant during remaining decoding iterations. In addition, or alternatively, the normalization factors for the bit node processor depend on a predetermined number of first decoding iterations (e.g., 10), while the normalization factors are constant during remaining decoding iteration.
  • In summary, we provide the following procedures to improve the performance of conventional min-sum and normalized min-sum decoding:
  • We normalize the messages generated by the check node processor, and we normalize the messages generated by the bit node processor. The normalization factors for bit processor are dependent on the weights of different bit nodes, and the normalization factors of check and bit node processors are dependent on the number of decoding iterations.
  • FIG. 4 shows a 2D normalized min-sum decoder of error-correcting codes according to one embodiment of the invention. Let H be the parity check matrix defining an LDPC code. We denote the set of bits that participate in check m by N(m), and the set of checks in which bit n participates as M(n). We also denote N(m)\n as the set N(m) with bit n excluded, and M(n)\m as the set M(n) with check m excluded. Let U ch,n 430 be the log-likelihood ratio (LLR) of bit n, which is derived from the channel output. Let Umn (i)be the LLR of bit n, which is sent from check node m to bit node n at ithdecoding iteration. Let Vmn (i)be the LLR of bit n, which is sent from bit node n to check node m.
  • The normalized check node processor in 2D-normalized min-sum decoding is performed as follows: U mn ( i ) = A dc ( m ) ( i ) n N ( m ) \ n sgn ( V mn ( i - 1 ) ) min n N ( m ) \ n V mn ( i - 1 ) , ( 8 )
    where dc(m) denotes the degree of check node m and Adc(m) (i) 440 denotes the normalization factor of check node m at iteration i.
  • The normalized bit node processor in 2D-normalized min-sum decoding is performed as: V mn ( i ) = U ch , n + B dv ( n ) ( i ) m M ( n ) \ m U m n ( i ) , ( 9 )
    where dv(n) denotes the degree of bite node n and B dv(n) (i) 450 denotes the normalization factor of bit node n at iteration i.
  • Step 1 of 2D-normalized min-sum decoding includes the following substeps:
  • Horizontal Step, 1≦n≦N and each m ε M(n), process U mn ( i ) = A dc ( m ) ( i ) n N ( m ) \ n sgn ( V mn ( i - 1 ) ) min n N ( m ) \ n V mn ( i - 1 ) . ( 10 )
  • Vertical Step, for 1≦n≦N and each m ε M(n), process V mn ( i ) = U ch , n + B dv ( n ) ( i ) m M ( n ) \ m U m n ( i ) , and ( 11 ) V n ( i ) = U ch , n + B dv ( n ) ( i ) m M ( n ) U mn ( i ) . ( 12 )
  • Because there are two normalization operations, one in a horizontal step and the other in a vertical step, we call our method 2D normalization min-sum decoding.
  • Step 2 and Step 3 are the same as in the conventional normalized min-sum decoding, i.e. Step 2 and Step 3 of conventional BP decoding.
  • The 2D-normalized min-sum decoding for irregular LDPC codes can be extended to 2D offset min-sum decoding. In offset min-sum decoding, belief messages have absolute values equal or greater than an offset parameter x. In this case, the magnitudes of these messages are reduced by x, otherwise, belief messages are set to zero.
  • The main reason to use the offset operation is to reduce correlation between decoding iterations, and to suppress error propagation. As for the conventional offset min-sum decoding, only messages sent from check nodes are reprocessed with offset operations. Nevertheless, in 2D offset min-sum decoding, both messages generated by check and bit nodes are reprocessed with offset operation.
  • Step 1 of 2D offset min-sum decoding is described below.
  • Horizontal Step, 1≦n≦N and each m ε M(n), process U mn ( i ) = n N ( m ) \ n sgn ( V mn ( i - 1 ) ) max ( min n N ( m ) \ n V mn ( i - 1 ) - A dc ( m ) ( i ) , 0 ) . ( 13 )
  • Vertical Step, for 1≦n≦N and each m ε M(n), process V mn ( i ) = U ch , n + sgn ( m M ( n ) \ m U m n ( i ) ) max ( m M ( n ) \ m U m n ( i ) - B dv ( n ) ( i ) , 0 ) , and ( 14 ) V n ( i ) = U ch , n + sgn ( m M ( n ) U mn ( i ) ) max ( m M ( n ) U mn ( i ) - B dv ( n ) ( i ) , 0 ) . ( 15 )
  • Step 2 and Step 3 are the same as described above.
  • The 2D offset min-sum decoding offers a similar performance gain as the 2D-normalized min-sum decoding described above.
  • It should be understood that in other embodiments of the invention the method is applied regular and irregular repeat-accumulate codes.
  • Effect of the Invention
  • Analysis of the 2D-normalized min-sum decoder indicates better performance, less complexity and decoding speed trade-offs than prior art decoders.
  • FIG. 5 compares the word error rate of the conventional BP decoding 501, 2D-normalized min-sum decoding 502, conventional normalized min-sum decoding 503, and min-sum decoding 504, for decoding the (16200,7200) irregular LDPC code with Imax=200. The 2D-normalized min-sum decoding method provides a comparable performance as BP decoding, and, interestingly has a lower error floor than that of BP decoding in a high SNR region.
  • Although the invention has been described by the way of examples of preferred embodiments, it is to be understood that various other adaptations and modifications may be made within the spirit and scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.

Claims (14)

1. A method for decoding error-correcting codes, comprising:
normalizing messages generated by a bit node processor; and
normalizing messages generated by the check node processor.
2. The method of claim 1, in which normalization factors for the bit processor depend on weights of different bit nodes, and normalization factors of the check node processor and the bit node processor depend on a number of decoding iterations.
3. The method of claim 1, in which the error-correcting codes are LDPC codes.
4. The method of claim 3, in which the LDPC codes are regular.
5. The method of claim 3, in which the LDPC codes are irregular.
6. The method of claim 1, in which the error-correcting codes are regular repeat-accumulate codes.
7. The method of claim 1, in which the error-correcting codes are irregular repeat-accumulate codes.
8. The method of claim 2, in which the normalization factor for the bit node processor only normalizes messages generated by the check node processor.
9. The method of claim 2, in which the normalization factors for the check node processor depend on a first predetermined number of decoding iterations, while the normalization factors are constant during remaining decoding iterations.
10. The method of claim 2, in which the normalization factor for the check node processor only normalizes messages from the bit node processor.
11. The method of claim 2, in which the normalization factors for the bit node processor depend on a predetermined number of first decoding iterations, while the normalization factors are constant during remaining decoding iteration.
12. The method of claim 2, in which the normalization factors for bit node processor are constant during all decoding iterations.
13. The methods of claim 1, further comprising:
replacing the normalization with an offset operation, in which messages generated from both the check node processor and the bit node processor are processed with offset operations.
14. The method of claim 13, in which belief messages with absolute values equal to or greater than an offset parameter x have a magnitudes reduced by x, otherwise, the belief messages are set to zero.
US11/134,545 2005-05-20 2005-05-20 2D-normalized min-sum decoding for ECC codes Expired - Fee Related US7562279B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US11/134,545 US7562279B2 (en) 2005-05-20 2005-05-20 2D-normalized min-sum decoding for ECC codes
EP06746041A EP1884023B1 (en) 2005-05-20 2006-04-27 Normalized belief propagation decoding
PCT/JP2006/309209 WO2006123543A1 (en) 2005-05-20 2006-04-27 Normalized belief propagation decoding
CN2006800014224A CN101107782B (en) 2005-05-20 2006-04-27 ECC decoding method
JP2006529345A JP5138221B2 (en) 2005-05-20 2006-04-27 Method for min-sum decoding error correction code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/134,545 US7562279B2 (en) 2005-05-20 2005-05-20 2D-normalized min-sum decoding for ECC codes

Publications (2)

Publication Number Publication Date
US20060282742A1 true US20060282742A1 (en) 2006-12-14
US7562279B2 US7562279B2 (en) 2009-07-14

Family

ID=36602595

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/134,545 Expired - Fee Related US7562279B2 (en) 2005-05-20 2005-05-20 2D-normalized min-sum decoding for ECC codes

Country Status (5)

Country Link
US (1) US7562279B2 (en)
EP (1) EP1884023B1 (en)
JP (1) JP5138221B2 (en)
CN (1) CN101107782B (en)
WO (1) WO2006123543A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090222710A1 (en) * 2008-02-29 2009-09-03 Ara Patapoutian Selectively applied hybrid min-sum approximation for constraint node updates of ldpc decoders
US20110164705A1 (en) * 2006-09-18 2011-07-07 Juntan Zhang Bit mapping scheme for an ldpc coded 32apsk system
US20110173509A1 (en) * 2006-09-18 2011-07-14 Availink, Inc. Bit mapping scheme for an ldpc coded 16apsk system
TWI400890B (en) * 2007-05-07 2013-07-01 Broadcom Corp Operational parameter adaptable ldpc (low density parity check)decoder
US20130272456A1 (en) * 2010-09-30 2013-10-17 JVC Kenwood Corporation Decoding apparatus and decoding method for decoding data encoded by ldpc
US20140313610A1 (en) * 2013-04-22 2014-10-23 Lsi Corporation Systems and Methods Selective Complexity Data Decoding
US9281839B2 (en) 2012-08-27 2016-03-08 Samsung Electronics Co., Ltd. Hard-decision decoding method and low-density parity-check decoder using same

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090106620A (en) * 2005-05-13 2009-10-09 닛본 덴끼 가부시끼가이샤 Encoder and decoder by ldpc encoding
US7797613B1 (en) * 2006-02-22 2010-09-14 Aquantia Corporation Digital implementation of an enhanced minsum algorithm for error correction in data communications
US20080109698A1 (en) * 2006-07-25 2008-05-08 Legend Silicon Hybrid min-sum decoding apparatus with low bit resolution for ldpc code
FR2912574B1 (en) * 2007-02-13 2010-09-17 Commissariat Energie Atomique METHOD FOR DECODING MESSAGE PASSAGE AND FORCED CONVERGENCE.
KR101492595B1 (en) * 2007-05-21 2015-02-11 라모트 앳 텔-아비브 유니버시티 리미티드 Memory-efficient ldpc decoding
CN101453220B (en) * 2007-12-03 2012-02-01 华为技术有限公司 Weaving and coding method for duplicate accumulation code encoding, corresponding equipment
US8370711B2 (en) 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US8407553B2 (en) * 2008-08-15 2013-03-26 Lsi Corporation RAM list-decoding of near codewords
JP5489552B2 (en) 2009-06-19 2014-05-14 三菱電機株式会社 Decoding method and decoding apparatus
CN102412843B (en) * 2011-07-28 2013-06-19 清华大学 Adaptive normalized minimum sum LDPC (Low Density Parity Check Code) decoding method and decoder
JP2013070133A (en) * 2011-09-21 2013-04-18 Jvc Kenwood Corp Decoder and decoding method
JP5631846B2 (en) * 2011-11-01 2014-11-26 株式会社東芝 Semiconductor memory device and decoding method
CN103607208A (en) * 2013-11-25 2014-02-26 上海数字电视国家工程研究中心有限公司 LDPC minimum sum decoding method based on normalization correction factor sequences
EP2892157A1 (en) * 2014-01-02 2015-07-08 Alcatel Lucent Offset Min-Sum decoding of LDPC codes
US10263640B2 (en) * 2017-04-04 2019-04-16 Seagate Technology Llc Low density parity check (LDPC) decoder with pre-saturation compensation
US10171110B1 (en) 2017-07-03 2019-01-01 Seagate Technology Llc Sequential power transitioning of multiple data decoders
CN107968657B (en) * 2017-11-28 2021-05-18 东南大学 Hybrid decoding method suitable for low-density parity check code
US10892777B2 (en) 2019-02-06 2021-01-12 Seagate Technology Llc Fast error recovery with error correction code (ECC) syndrome weight assist

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070276895A9 (en) * 2004-02-13 2007-11-29 Winstead Chris J Low-voltage CMOS circuits for analog decoders

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100891782B1 (en) * 2002-06-11 2009-04-07 삼성전자주식회사 Apparatus and method for correcting of forward error in high data transmission system
KR20040101743A (en) * 2003-05-26 2004-12-03 삼성전자주식회사 Apparatus and method for decoding of ldpc in a communication system
EP1819056B1 (en) * 2004-12-02 2013-07-17 Mitsubishi Electric Corporation Decoding device and communication device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070276895A9 (en) * 2004-02-13 2007-11-29 Winstead Chris J Low-voltage CMOS circuits for analog decoders

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110164705A1 (en) * 2006-09-18 2011-07-07 Juntan Zhang Bit mapping scheme for an ldpc coded 32apsk system
US20110173509A1 (en) * 2006-09-18 2011-07-14 Availink, Inc. Bit mapping scheme for an ldpc coded 16apsk system
US8369448B2 (en) * 2006-09-18 2013-02-05 Availink, Inc. Bit mapping scheme for an LDPC coded 32APSK system
TWI400890B (en) * 2007-05-07 2013-07-01 Broadcom Corp Operational parameter adaptable ldpc (low density parity check)decoder
US20090222710A1 (en) * 2008-02-29 2009-09-03 Ara Patapoutian Selectively applied hybrid min-sum approximation for constraint node updates of ldpc decoders
US8156409B2 (en) 2008-02-29 2012-04-10 Seagate Technology Llc Selectively applied hybrid min-sum approximation for constraint node updates of LDPC decoders
US20130272456A1 (en) * 2010-09-30 2013-10-17 JVC Kenwood Corporation Decoding apparatus and decoding method for decoding data encoded by ldpc
US9281839B2 (en) 2012-08-27 2016-03-08 Samsung Electronics Co., Ltd. Hard-decision decoding method and low-density parity-check decoder using same
US20140313610A1 (en) * 2013-04-22 2014-10-23 Lsi Corporation Systems and Methods Selective Complexity Data Decoding

Also Published As

Publication number Publication date
CN101107782A (en) 2008-01-16
EP1884023A1 (en) 2008-02-06
EP1884023B1 (en) 2009-11-18
US7562279B2 (en) 2009-07-14
CN101107782B (en) 2010-08-25
WO2006123543A1 (en) 2006-11-23
JP5138221B2 (en) 2013-02-06
JP2008541496A (en) 2008-11-20

Similar Documents

Publication Publication Date Title
US7562279B2 (en) 2D-normalized min-sum decoding for ECC codes
Zhang et al. Two-dimensional correction for min-sum decoding of irregular LDPC codes
Wymeersch et al. Log-domain decoding of LDPC codes over GF (q)
Han et al. Low-floor decoders for LDPC codes
US8261170B2 (en) Multi-stage decoder for error-correcting codes
Radosavljevic et al. Optimized message passing schedules for LDPC decoding
Zimmermann et al. Reduced complexity LDPC decoding using forced convergence
Kienle et al. Low complexity stopping criterion for LDPC code decoders
Hu et al. Performance-complexity tradeoffs of Raptor codes over Gaussian channels
Levin et al. Lazy scheduling forLDPC decoding
Jing et al. Improved adaptive belief propagation decoding of Reed-Solomon codes with SPC codes
Yue et al. Low-rate generalized low-density parity-check codes with Hadamard constraints
Zuo et al. Design of fixed-point processing based LDPC codes using EXIT charts
Yin et al. LDPC-based joint source-channel coding scheme for multimedia communications
Hatami et al. A modified min-sum algorithm for quantized LDPC decoders
Lentmaier et al. Exact erasure channel density evolution for protograph-based generalized LDPC codes
Hussein et al. Comparisons of soft decision decoding algorithms based LDPC wireless communication system
Kothiyal et al. A comparison of adaptive belief propagation and the best graph algorithm for the decoding of linear block codes
Papaharalabos et al. Approximated box-plus decoding of LDPC codes
Usatyuk et al. Construction of high performance block and convolutional multi-edge type QC-LDPC codes
Li et al. An efficient post processing scheme to lower the error floor of LDPC decoders
Bosco et al. Decreasing the complexity of LDPC iterative decoders
Amirzadeh et al. On the design of good LDPC codes with joint genetic algorithm and linear programming optimization
Ismail et al. Turbo adaptive threshold bit flipping for LDPC decoding
de Baynast et al. On turbo-schedules for LDPC decoding

Legal Events

Date Code Title Description
AS Assignment

Owner name: MITSUBISHI ELECTRIC RESEARCH LABORATORIES, INC., M

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHANG, JUNTAN;GU, DAQING;ZHANG, JINYUN;REEL/FRAME:016903/0099;SIGNING DATES FROM 20050812 TO 20050815

FPAY Fee payment

Year of fee payment: 4

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20170714