WO2006120844A1 - Ldpc符号化方式によるエンコーダ及びデコーダ - Google Patents

Ldpc符号化方式によるエンコーダ及びデコーダ Download PDF

Info

Publication number
WO2006120844A1
WO2006120844A1 PCT/JP2006/308116 JP2006308116W WO2006120844A1 WO 2006120844 A1 WO2006120844 A1 WO 2006120844A1 JP 2006308116 W JP2006308116 W JP 2006308116W WO 2006120844 A1 WO2006120844 A1 WO 2006120844A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
matrix
minimum value
category
node
Prior art date
Application number
PCT/JP2006/308116
Other languages
English (en)
French (fr)
Inventor
Tsuguo Maru
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to EP06732045.7A priority Critical patent/EP1881610B1/en
Priority to JP2007528155A priority patent/JP5315693B2/ja
Priority to US11/914,328 priority patent/US8140930B1/en
Priority to KR1020137004821A priority patent/KR101356808B1/ko
Priority to KR1020117023498A priority patent/KR101390544B1/ko
Priority to KR1020097017454A priority patent/KR20090106620A/ko
Priority to CN2006800165262A priority patent/CN101233693B/zh
Publication of WO2006120844A1 publication Critical patent/WO2006120844A1/ja

Links

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/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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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
    • 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/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/1122Soft-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 storing only the first and second minimum values per check node
    • 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/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations

Definitions

  • the present invention relates to a decoder and an encoder of an LDPC (Low-Density Parity-Check) encoding system that is an error correction encoding system.
  • LDPC Low-Density Parity-Check
  • Gallager proposed an LDPC encoding method.
  • An LDPC code is a linear code whose most elements in the check matrix are "0".
  • classical coding theory a code is designed by defining a check matrix.
  • a similar definition can be made for the LDPC coding scheme, which is based on the turbo principle, which is said to be responsible for a new era of coding theory.
  • a definition method based on a Tanner graph that captures the essence is used.
  • a Tanner graph is a bipartite graph in which a sign is expressed by two types of nodes called a variable node and a check node.
  • An edge connected to each node is called an edge, and an edge connected to each node. Is called the order of the node.
  • the total number of branches is V, where “1” stands in the check matrix, the number of “1” in the column direction of the check matrix is called column weight, and the number of “1” in the row direction is called row weight.
  • this check matrix is not unique.
  • the LDPC code decoding is dependent on this check matrix, and is performed by calculating the probability propagation by a method called iterative decoding.
  • the method of developing a rediscovery LDPC code as a powerful error correction capability that is said to be further thinned to the Shannon limit is that the graph is used in the probability propagation calculation between each node on the Tanner graph. Based on the local structure of the code, the probability propagation calculation is performed on the log likelihood ratio (LLR) that is the target of propagation. Degree distribution was obtained using DE (abbreviation of Density Evolution), which is a technique for calculating the change in LLR probability density function for each iteration for an ensemble with the same sign as LDPC with degree distribution. This is an extension of this method to the non-mussel IjLDPC code and a search for an excellent degree distribution. Note that the node order is equal. A code determined by a regular graph is called a regular LDPC code, and a case where the orders are not equal is called the same code as an irregular LDPC.
  • the probability propagation calculation on the Tanner graph is generally a message transmission algorithm called sum-product. However, if this is faithfully executed, the circuit scale will increase. Therefore, a bold approximation in the Min (Max) Log region is performed. The approximation in the MaxLog domain is also called the minSum algorithm in LDPC codes.
  • DE shows the limit of iterative decoding characteristics when the code length is essentially infinite.
  • DE has a huge code length of at least 10 6 to 10 7 bits.
  • Memory is required, and the weight distribution also requires a high maximum order of about 100-200.
  • the degree is high !, and! / Means that the circuit scale is large.
  • the opposite encoder uses a sparse check matrix with a low weight distribution, the opposite encoder is almost certainly not a sparse matrix. When it is sparse, it means low complexity. Therefore, the algorithm that generates the code while activating the sparse check matrix is ⁇ 2001, February, i'i'i'ii'transaction'on'information'seori, 47th, 2nd, 638-656 (IEEE Transactions on informati on theory Volume 47, Issue 2, pp.638-656 “Efficient encoding of low-density parity-c home codes)”.
  • Patent Document 1 Japanese Patent Laid-Open No. 2005-65271 discloses an algorithm called Max-Log-MAP used for decoding in the turbo code method.
  • the LDPC encoding method is different from the turbo code key method, and the code key structure is completely different. ⁇ , Repeated decryption is similar in terms of!
  • the weighting for the received signal should be determined in consideration of signal point mapping in modulation / demodulation as well as the information sequence and parity sequence, and should be considered separately from the LLR that is the target of probability propagation in the iterative decoding process.
  • This sort of arrangement shows that the LLR that is the target of probability propagation in this example is one extrinsic likelihood ratio (extrinxic LLR; hereinafter abbreviated as external LLR).
  • external LLR extrinsic likelihood ratio
  • the external LLR is weighted by Max-Log-MAP in the turbo code.
  • FIG. 1 of Patent Document 2 Patent No. 324 6484
  • 0 is obtained by shift addition.
  • An example has been disclosed in which 75 times the weighting is performed on the external LLR and achieved with low complexity.
  • FIG. 5 of Patent Document 1 shows an example in which weighting processing is performed on an external LLR for each half iteration!
  • Patent Document 3 Japanese Patent Laid-Open No. 2004-266463 describes a density evolution method (Density Evolution), which is a conventional method of analysis in the LDPC code method, and a Gaussian approximation method, which is also a conventional method. (Gaussin Approximation; hereinafter abbreviated as GA), and a generation method using Latin squares is disclosed.
  • GA Density Approximation
  • the method used in Patent Document 3 is a probability propagation process in which a relationship called "Symmetry condition" is preserved, and the probability distribution can be traced only by the average value. This is a technique in which distribution is also traced at the same time.
  • Non-Patent Document 1 February 2001, I'i'i'i'Transaction'on'information'Seoli, 47th, No.2, pp.638-656 (IEEE Transactions on information t heory Volume 47, Issue 2, pp. 638—65 Efficient encoding of low-density parity-check codes)
  • Patent Document 1 Japanese Patent Laid-Open No. 2005-65271
  • Patent Document 2 Japanese Patent No. 3246484
  • Patent Document 3 JP 2004-266463 A
  • Non-Patent Document 1 discloses a calculation method for generating codes while activating a sparse check matrix, but only discloses a calculation method for creating a program. I was touched by anything.
  • the present invention has been made in view of the problems of the prior art as described above, and is a circuit scale that can be mounted on a mobile body used in the communication field such as mobile communication and is close to the Shannon limit.
  • An object of the present invention is to provide a decoder and an encoder using the LDPC code method with strong error correction capability.
  • the circuit scale is reduced by dividing each node into categories.
  • the purpose is to provide a method that exhibits high performance even when using approximation calculation such as MaxLog approximation (also with minSum algorithm! /, U) for probability propagation calculation.
  • an object of the present invention is to provide an LDPC decoder architecture that achieves high performance and high speed.
  • Another object of the present invention is to provide a configuration for realizing a reduction in circuit scale and high speed even in an LDPC encoder opposed to an LDPC decoder.
  • the LDPC decoder of the present invention can categorize each node into a plurality of categories using a Tanner graph in the LDPC encoding method, and in advance for each category in the probability propagation calculation in iterative decoding.
  • the determined weight is applied to the log likelihood ratio (hereinafter abbreviated as LLR) that is the propagation target.
  • the probability propagation calculation in the iterative decoding may be a MaxLog approximation (or min Sum algorithm) and determine a value to be weighted according to the column weight of the check matrix belonging to each category. ,.
  • an RA structure (abbreviation of Repeat Accumulate structure, also referred to as a zigzag structure) is included in the plurality of categories, and the weight of the category is set larger than the weights of other categories. May be.
  • An LDPC decoder uses a Tanner graph in the LDPC code method, and each node constituting the graph can be divided into a plurality of groups based on the column weight of the check matrix.
  • the weighting determined for each group is performed on the log likelihood ratio (LLR) that is a propagation target.
  • An LDPC decoder uses a Tanner graph in the LDPC code method, so that each node can be classified into a plurality of categories, and the weight of the check matrix belonging to each category It is characterized in that the log likelihood ratio can be accessed in parallel by changing the number of divisions of the memory bank storing the log likelihood ratio (LLR) to be propagated according to the distribution.
  • LLR log likelihood ratio
  • each node has a plurality of forces using the Tanner graph in the LDPC code method. It can be classified into categories, and has a structure that changes the number of memory bank divisions that store the log likelihood ratio (LLR) to be propagated according to the weight distribution of the test matrix belonging to each category, When performing parallel access to the log-likelihood ratio, it is performed through a caching circuit having a FIFO function.
  • LLR log likelihood ratio
  • a first minimum value is detected by a first minimum value detection circuit, and the detected first value is detected.
  • a first memory that temporarily stores LLRs for variable nodes, and a first memory according to claim 7
  • a second memory for a check node that stores a minimum value, a second minimum value, and a polar sum modulo 2 of the input thereof, and the input to the first memory is defined in claim 7.
  • connection determined by the Tanner graph based on the first minimum value and the second minimum value it is sequentially performed by adding to the stored value of the first memory, and the first memory is The categorization according to claim 2 is performed, and weighting predetermined for each category is performed on the first memory output, and after adding the weighted LLR and the received value LLR, the The first minimum value and the second Subtracting the value selected by the connection information determined by the Tanner graph based on the small value and the sum of the polarities of 2 and performing iterative decoding that performs MaxLog approximation again (also with the minSum algorithm! /) Also good.
  • weighting for each category may be applied not to the first memory output but to the path until the first memory input or the MaxLog approximation (also referred to as minSum algorithm) output returns. Good.
  • connection information determined by the Tanner graph may be stored in the form of an index at the position of 1 in the inspection matrix.
  • first memories that temporarily store the LLRs for the variable nodes, and a check for storing a sum of polarities modulo 2 of the first minimum value and the second minimum value and their inputs If there are two sides of the second memory for the node and one of the memories is used as an output, the other memory is used as an input, and the input and output of the memory are alternately output at each iteration cycle in the iterative decoding. It may be replaced.
  • the LDPC encoder of the present invention includes an upper triangular zero matrix including a lower triangular matrix T having 1 as a diagonal element by matrix operation of the check matrix H
  • Means 1 for obtaining a matrix A, B, T having a relationship of C D E is further obtained from the upper triangular zero matrix [0037] [Equation 2]
  • F l-ET " 1 B + D ⁇ E T- 1 has a means 2 for obtaining a matrix F, and means 1 and 2 are pre-calculated off-line processes, and the resulting matrix F
  • the memory 1 stores the position of the element 1 in the form of an index, the memory 2 in which the information bit sequence S is stored, and the first row counter, and is addressed by the first row counter.
  • the memory 5 in which the second NOR series p2 is stored is a mirror memory having the number of row weights of the matrix T, and is stored as a position force index of 1 of the elements of the matrix T.
  • Memory 4 is a format that outputs row weight indexes for unit addresses, and by reading and addressing these indexes to each mirror memory, exclusive OR for row weights is once performed. It is good also to do.
  • An LDPC decoder is an LDPC decoder using a Tanner graph V representing a code by a variable node and a check node,
  • a first variable node memory having a plurality of memory banks storing log likelihood ratios, which are propagation targets classified into a plurality of categories, for each category;
  • a second variable node memory comprising a plurality of memory banks storing weight values for each of the plurality of categories for each category;
  • a weighting processing unit for determining a weighting value for each category stored in the second logarithmic node memory in accordance with a log likelihood ratio to be propagated;
  • Probability propagation calculation in iterative decoding is performed from the storage contents of each category of the first variable node memory and the second variable node memory, and the first variable node is used as a log likelihood ratio to be propagated.
  • Check node processing means for output to the memory and weighting processing unit;
  • the probability propagation calculation in the iterative decoding in the check node processing unit is performed by MaxLog approximation or minSum algorithm, and a value to be weighted is determined in accordance with the column weight of the check matrix belonging to each category. Also good.
  • An LDPC decoder is an LDPC decoder using a Tanner graph V representing a code by a variable node and a check node,
  • a first variable node memory having a plurality of memory banks storing logarithmic likelihood ratios to be propagated classified into a plurality of groups according to the column weight of the check matrix for each category;
  • a second variable node memory comprising a plurality of memory banks for storing the weight values for the plurality of groups for each group;
  • a weighting processing unit for determining a weighting value for each group stored in the second logarithmic node memory according to a log likelihood ratio to be propagated;
  • Probability propagation calculation in iterative decoding is performed from the storage contents of each group of the first variable node memory and the second variable node memory, and the first variable node is used as a log likelihood ratio to be propagated.
  • Check node processing means for output to the memory and weighting processing unit;
  • An LDPC decoder is an LDPC decoder using a Tanner graph that represents a code by a variable node and a check node.
  • a first variable node memory having a plurality of memory banks storing log likelihood ratios, which are propagation targets classified into a plurality of categories, for each category;
  • a second variable node memory comprising a plurality of memory banks storing weight values for each of the plurality of categories for each category;
  • a weighting processing unit for determining a weighting value for each category stored in the second logarithmic node memory in accordance with a log likelihood ratio to be propagated;
  • Probability propagation calculation in iterative decoding is performed from the storage contents of each category of the first variable node memory and the second variable node memory, and the first variable node is used as a log likelihood ratio to be propagated.
  • Check node processing means for output to the memory and weighting processing unit;
  • the number of memory banks of the first variable node memory is an inspection matrix belonging to each category.
  • the first variable node memory can be accessed in a normal manner.
  • a caching circuit having a FIFO function for performing parallel access to the first variable node memory may be provided! /.
  • check node processing means includes:
  • a first minimum value circuit for detecting a first minimum value by a first minimum value detection circuit; and an input corresponding to the first minimum value detected by the first minimum value circuit is masked.
  • a second minimum value detection circuit for detecting a minimum value of
  • the first and second minimum value circuits may be of a nopline structure and equivalently execute approximation calculation with one clock.
  • check node processing means includes:
  • a first memory that temporarily stores log likelihood ratios to be output to the first variable node memory and the weighting processing unit classified into the plurality of categories;
  • a second memory for a check node that stores the first minimum value and the second minimum value and a sum of polarities modulo 2 of the input
  • the input to the first memory is sequentially added to the stored value of the first memory based on a connection determined by the Tanner graph based on the first minimum value and the second minimum value.
  • First weighting predetermined for each category is performed on the first memory output, the weighted LLR and the received value LLR are added, and then the first minimum value which is the second memory accumulation result Subtract the value selected by the connection information determined by the Tanner graph based on the second minimum value and the polar sum modulo 2, and repeat the MaxLog approximation or minSum algorithm again. It is good.
  • check node processing means includes:
  • a first memory that temporarily stores log likelihood ratios to be output to the first variable node memory and the weighting processing unit classified into the plurality of categories;
  • the input to the first memory is sequentially added to the stored value of the first memory based on a connection determined by the Tanner graph based on the first minimum value and the second minimum value.
  • the weight determined in advance for each category is applied to the path until returning to the first memory input or MaxLog approximation or minSum algorithm output, and the weighted LLR and received value LLR are added. Subtract the value selected by the connection information determined by the Tanner graph based on the sum of the polarities modulo 2 with the first minimum value and the second minimum value as the second memory accumulation result. Again, there is a MaxLog approximation, or iterative decoding with minSum algorithm.
  • connection information determined by the Tanner graph may be stored in the form of an index at the position of 1 in the inspection matrix.
  • the other is input. It may be used as an input and output alternately for each iteration cycle in iterative decoding.
  • An LDPC encoder includes an upper triangular zero matrix including a lower triangular matrix T having a diagonal element of 1 by matrix operation of a check matrix H by offline processing calculated in advance.
  • a first memory for storing the position of the first element of the matrix F obtained by the first means and the second means in the form of an index
  • a second memory in which the information bit sequence S is stored is stored
  • the first NOR sequence pi is obtained by taking the exclusive OR of the output of the second memory addressed by the index of the output from the first memory addressed by the first row counter. 1 circuit,
  • a fourth memory for storing the position of the first element of the matrix ⁇ in the form of an index, a fifth memory for storing the second parity sequence ⁇ 2,
  • the output of the fifth memory that is sequentially addressed by the output of the fourth memory addressed by the second row counter, and the third address that is addressed by the second row counter.
  • the code processing is performed by the off-line processing and the on-line processing by the first and second circuits.
  • the fifth memory in which the second NOR series p2 is stored is a mirror memory having the number of row weights of the matrix T,
  • the fourth memory in which the 1 position of the element of the matrix ⁇ is stored as an index is a format that outputs an index corresponding to the row weight for the unit address, and these indexes are read out to each mirror memory. It is also possible to perform exclusive OR of the line weights at one time by addressing.
  • each node can be classified into a plurality of categories in the Tanner graph, and a weight determined in advance for each category in propagation calculation in iterative decoding is a propagation target. Since it can be performed on the log likelihood ratio (hereinafter abbreviated as LLR), it is possible to correct the bias of the LLR probability distribution that differs for each category, and to improve the performance.
  • LLR log likelihood ratio
  • the probability propagation calculation in the iterative decoding is Max Log approximation (or also referred to as minSum algorithm), and a value weighted according to the column weight of the check matrix belonging to each category is set. Since it can be determined, it is possible to correct the LLR bias according to the difference in the column weight that is the cause of the bias of the LLR probability distribution, and the performance can be improved.
  • the LDPC decoder of the present invention has an RA structure category (abbreviation of Repeat Accumulate structure and zigzag structure) in the plurality of categories in the Tanner graph, and the weighting of the category is Since it is larger than the weights of other categories, it is possible to correct the difference between the characteristics improvement effect due to the introduction of the RA structure and other categories with large LLR bias, and further improve the performance. .
  • RA structure category abbreviation of Repeat Accumulate structure and zigzag structure
  • the LDPC decoder of the present invention is a Tanner graph in the LDPC encoding method, wherein each node constituting the graph can be divided into a plurality of groups according to the column weight of the check matrix, and the probability propagation calculation in iterative decoding is performed. In doing so, the weighting determined for each group is applied to the log-likelihood ratio (LLR), which is the propagation target, so that the LLR bias can be unified for each group, and correction by appropriate weighting is possible. Can be applied to improve performance.
  • LLR log-likelihood ratio
  • the LDPC decoder of the present invention is a Tanner graph in the LDPC encoding method.
  • Each node can be classified into multiple categories, and the logarithm of the memory bank storing the log likelihood ratio (LLR) to be propagated is changed according to the weight distribution of the check matrix belonging to each category. Since parallel access to the likelihood ratio is possible, there is an effect of enabling efficient and high-speed operation with low complexity by dividing the memory bank optimally.
  • LLR log likelihood ratio
  • the LDPC decoder of the present invention can be classified into a plurality of categories in the Tanner graph in the LDPC encoding method, and is a propagation target in accordance with the weight distribution of the check matrix belonging to each category. It has a structure that changes the number of divisions of the memory bank that stores the log likelihood ratio (LLR), and is performed through a caching circuit having a FIFO function when performing parallel access to the log likelihood ratio. Even when the timing of access concentration occurs, it can be averaged, and the chip area of the LSI can be reduced by increasing the number of memory bank divisions and the number of on-chip noses, thereby reducing the cost.
  • LLR log likelihood ratio
  • the LDPC decoder of the present invention detects the first minimum value by the first minimum value detection circuit when the probability propagation calculation in the iterative decoding is performed by MaxLog approximation (also referred to as minS alert algorithm), and the detection is performed. It has a second minimum value detection circuit that detects the second minimum value by masking the input corresponding to the first minimum value, and the first and second minimum value circuits are configured by a pipeline structure. By doing so, it is possible to execute the approximate calculation equivalently with one clock, so that high speed operation can be realized with a small circuit scale.
  • MaxLog approximation also referred to as minS alert algorithm
  • the LDPC decoder of the present invention when performing probability propagation calculation in iterative decoding by MaxLog approximation (also referred to as minSum algorithm), a first memory that temporarily stores LLRs for variable nodes, and claims A second memory corresponding to a check node for storing a sum of polarities of the first minimum value and the second minimum value described in paragraph 7 and their inputs modulo 2; The input is sequentially performed by adding to the stored value of the first memory based on the connection determined by the Tanner graph based on the first minimum value and the second minimum value.
  • MaxLog approximation also referred to as minSum algorithm
  • the LDPC decoder of the present invention has a path to return to the first memory input or the MaxLog approximation (also referred to as minSum algorithm) output that does not use the weighting for each category by the first memory output. Therefore, it has the effect of giving freedom when designing the LDPC decoder.
  • the LDPC decoder of the present invention takes the connection information determined by the Tanner graph in the form of storing the position of 1 in the check matrix in the form of an index. Therefore, the connection information is reduced with a small memory capacity. This has the effect of maintaining and reducing the circuit scale.
  • the LDPC decoder of the present invention has two first memories that temporarily store LLRs for variable nodes, and further includes a first minimum value and a second minimum value according to claim 7. If there are two second memories for the check node that store the polarity sum modulo 2 of the input, and one of the memories is used as an output, the other memory is used as an input and iterative decoding is performed. Since the input and output of the memory are alternately switched every repetition cycle, the speed can be doubled by using an efficient memory.
  • the LDPC encoder of the present invention includes an upper triangular zero matrix including a lower triangular matrix T having a diagonal element "1" by matrix operation of the check matrix H.
  • Equation 7 It has a means 1 to obtain a matrix A, B, T with the following relation, and from the upper triangular zero matrix [0069] [Equation 8]
  • a memory 1 that stores the position of element 1 of matrix F obtained as a result in the form of an index
  • a memory 2 that stores information bit sequence S
  • the first parity sequence pi is obtained by exclusive-ORing the output of the memory 2 further addressed by the index from which the memory 1 addressed by the first row counter is output.
  • a circuit that takes the product of the norm series pi and the matrix B obtained by the off-line processing, and takes the product of the information bit series S and the matrix A obtained by the off-line processing to obtain an exclusive logic
  • -A-s r -B p L has a memory 3 for storing the sequence, the memory 4 for storing the position of the element 1 of the matrix T obtained by the off-line processing in the form of an index, and a second An output of the memory 5 that has a memory 5 in which a parity sequence ⁇ 2 is stored and a second row counter, and is further sequentially read and addressed by an index from which the memory 4 addressed by the second row counter is output
  • the second parity sequence ⁇ 2 is obtained by exclusive ORing the output of the memory 3 addressed by the second row counter and written to the memory 4 written and addressed by the second row counter.
  • the memory 5 in which the second null series ⁇ 2 is stored is a mirror memory having the number of row weights of the matrix ⁇ , and the position of 1 in the matrix ⁇ is an index.
  • the memory 4 is stored in a format that outputs an index corresponding to the row weight with respect to the unit address, and by reading and addressing these indexes to each mirror memory, the row weight is exclusive. Since the logical sum can be performed at once, there is an effect of performing the encoding process at high speed.
  • the LDPC code method of the present invention is completely different from the turbo code disclosed in Patent Document 1.
  • the decoding is executed repeatedly by calculating the probability propagation on the bipartite graph called Tanner graph.
  • nodes constituting the Tanner graph are classified into a plurality of categories, and a predetermined weight is independently applied to the log likelihood ratio as a propagation target for each classified category. It is the present invention. This not only eliminates the error floor, but also achieves higher performance. Since the present invention analyzes non-linear processing by MaxLog approximation (minSum algorithm), the relationship of “Symmetry condition” is no longer preserved, and the method of the present invention must be used.
  • the present invention is an LDPC code type encoder and decoder, and its analysis method should be authorized.
  • the analysis method that provides the theoretical support for the present invention is also different from Patent Document 3, and the analysis method disclosed in Patent Document 3 cannot analyze the encoding method of the present invention.
  • the LDPC code encoder and decoder according to the present invention provide means for realizing high performance, high speed, and high efficiency on a circuit scale that can be realized in the communication field such as mobile communication. Can be provided.
  • each node of the Tanner graph is classified into multiple categories, the processing scale is reduced by the low weight distribution, and a bold approximation in the Min (Max) Log domain instead of the sum-product.
  • Min (Max) Log domain instead of the sum-product.
  • the present invention can provide a decoder with high performance, high speed, and efficiency with a low weight distribution check matrix, but the encoder also benefits from the low weight distribution check matrix, A means for realizing an architecture that operates at high speed can be provided.
  • FIG. 1 is a diagram showing an embodiment of a decoder according to the LDPC code method of the present invention.
  • FIG. 1A is a diagram showing a specific circuit configuration of the decoder shown in FIG.
  • FIG. 2 is a diagram showing an example of a Tanner graph (socket model) classified into categories by the LDPC code method according to the present invention.
  • FIG. 3 is a diagram showing an example of a check matrix classified into categories by the LDPC code method of the present invention.
  • FIG. 4 is a diagram showing an example of the weight distribution of variable nodes and check nodes classified into categories by the LDPC code method according to the present invention.
  • FIG. 5 is a diagram showing the bit error rate characteristic by Monte Carlo simulation showing the effect of the weighted method for each category by the LDPC code method of the present invention.
  • FIG. 6 is a diagram showing the bit error rate characteristics by Monte Carlo simulation using a conventional single weighting method.
  • FIG. 7 is a diagram showing a hyperbolic tangent rule in check node processing and a circuit approximated by a simplified Min (Max) Log region.
  • FIG. 8 is a diagram showing a first circuit of an encoder architecture according to the LDPC code method of the present invention.
  • FIG. 9 is a diagram showing a second circuit of the encoder architecture based on the LDPC code method of the present invention.
  • FIG. 10 is a diagram showing a circuit in which a second circuit of an encoder architecture based on the LDPC code key system of the present invention is fast-speeded.
  • the parameter for tracing the development process of the above equation may be only one variable. This can be seen from the following easy-to-use examples. Considering the Hyperbolic Tangent Rule in the case of the current line weight d,
  • I is a fixed value that includes the integral variable, so it is omitted and the remaining non-integral function is
  • the left side is natural
  • Equation 54 (22) Equilibrium is maintained by the statistical properties of both sides (dispersion ⁇ and mean value m u ) and (dispersion ⁇ and mean value rn ⁇ ), that is, the statistical properties that satisfy this condition (dispersion u with ⁇ 2 and mean value m) is the output.
  • Tanner graphs classified into the following categories can be used as they are.
  • the GA in the Tanner graph classified into the categories is described below.
  • the total number of branches in category i is
  • LLR log likelihood ratio at each node
  • Equation 92] ⁇ 1) is a random variable with a size greater than X
  • Z J represents the probability of positive and negative cases.
  • . ' 3. ⁇ 2 3)
  • the probability density distribution Q (1) of L to be obtained is the cumulative probability distribution of L in the above equation (36).
  • the implemented socket model is shown in Fig. 2, the inspection matrix is shown in Fig. 3, and the correspondence table is shown in Fig. 4.
  • This example is called MultKType and is categorized by type! /, The Above (40)
  • the power running weight is a single row weight of 4, such as the polynomial in the equation and the socket model in Figs.
  • the optimum weight is searched for by the GA in the Tanner graph classified into the category including the nonlinear processing generated by the MaxLog approximation (or minSum algorithm).
  • Fig. 1 shows the location corresponding to the weighting in a block diagram. In other words, each category is weighted independently. In the figure below, the values that give the best performance with the weighting of the corresponding parts are entered to the left of the table below.
  • the weight of the column weight 2 with the RA structure is 0.98, and the others are the highest, about 0.58 to 0.62. This is because a node with a RA structure category has a high LLR with a high reliability of other column weights, whereas a node other than the RA structure has a low reliability from the RA structure. In order to obtain a low LLR, the RA structure category seems to have a high weight and the other categories have a low weight.
  • Figure 5 shows the result of Monte Carlo simulation using an LDPC decoder using the actual MaxLog approximation based on the above results.
  • the left line uses V-sum-product characteristics
  • the right line uses MaxLog approximation (or! /, Or minSum algorithm! /).
  • the weighting used in this condition is as follows.
  • the weight of the column weight 2 with RA structure is the highest at 0.999, and other values are from 0.58 to 0.69. It was. It can be seen that the tendency is the same although the values are slightly different due to differences in the operating point of the optimization target.
  • Fig. 6 shows the results of a Monte Carlo simulation in which the weighting coefficients were optimized with exactly the same contents by using a single weighting method for all conventional nodes.
  • a table in which the weighting coefficients used at this time are added is shown below.
  • FIG. Figure 1 uses the MaxLog approximation (or! /, Or minSum algorithm! /) Using Tanner graphs classified into the category of the present invention.
  • FIG. 1A is a block diagram showing a configuration of a decoder that performs weighting for each category, and FIG. 1A is a diagram showing a specific circuit configuration thereof.
  • the decoder shown in FIG. 1 includes a memory 100 composed of variable node memories 101 and 102, a weighting processing unit 103, 107, a subtractor 104, a check node processing unit 105, and a check node memory 106! RU
  • Variable node memories 101 and 102 for storing variable nodes are used by switching to output and input, respectively, and according to the category division in the Tanner graph, the inside of these is divided by memory banks (not shown). Has been. In addition, an area for storing the received value LLR is provided, and the output unit responsible for the output of the variable node adds and outputs the received value LLR when outputting the variable node.
  • variable node memories 101 and 102 the power of variable node memories 101 and 102, It will be described as being used.
  • variable node LLR output as described above has the first minimum value, the second minimum value, and the polar sum and minimum value modulo 2 for the MaxLog approximation (also referred to as minSum).
  • minSum the polar sum and minimum value modulo 2 for the MaxLog approximation
  • the check node processing unit 105 detects the first minimum value, the second minimum value, the polarity sum modulo 2 and the position of the minimum value for MaxLog approximation (also referred to as minSum).
  • FIG. 7 (a) A specific circuit configuration of the check node processing unit 105 is shown in FIG.
  • the hyperbolic tangent rule is realized by an approximation algorithm in the Min (Max) Log domain.
  • the message update norm in check node processing is called Hyperbolic tangent rule, and since it is pipelined in a parallel configuration as shown in Fig. 7 (b), it operates in 1 clock on average.
  • minimum value detection (min) is performed in a tree configuration
  • Sub-min is performed by masking the minimum value.
  • the check node memory 106 includes two memory units used as inputs or outputs, and stores the values obtained by the processing of the check node processing unit 105 in the input memory unit. To do. At the same time, the LLR, which is the value of u in the equation (41) obtained by selection and polarity assignment using them, is stored in the variable node memory 102. At that time, the weighting processing unit 103 performs weighting determined in advance for each category, and then stores it in 102.
  • weighting processing may be performed before adding the received value LLR in the variable node memory 101, which is a power output for which weighting processing is performed at the time of storage, or a check node processing unit.
  • a weighting process may be performed when outputting at 105.
  • the configuration is switched so that the variable node memory 102 is an output and the variable node memory 101 is an input. Although it is complicated, it is omitted in the figure, but the weighting processing unit 103 is also applied to the variable node memory 101 as an input. Also, the two-part check node memory 106 is switched between input and output, and processing for alternately switching the input and output of the memory is performed every repetition cycle until a predetermined number of repetitions is reached.
  • Access to these memories is further divided into memory banks according to the weight distribution in the categories in the memory banks divided for each category, so that processing can be performed in parallel.
  • memory access is performed via a caching circuit having a FIFO function in consideration of the case where the timing of parallel access temporarily occurs due to the weight distribution in each category. As a result, the number of memory banks has been increased and the number of on-chip buses has been reduced.
  • connection information determined by the Turner graph has a memory that stores the position of 1 in the inspection matrix in the form of an index and is small! /, LLR connection control with memory capacity.
  • the check matrix H determined by the low-order profile has a small amount of processing for force decoding that becomes a sparse matrix and is suitable for low complexity. Since the generation matrix G corresponding to the sparse check matrix H is almost certainly not a sparse matrix, the encoding process cannot be ignored for the decoding process. However, there are known arithmetic methods that generate codes while making use of this sparse check matrix. Therefore, a description will be given of the architecture capable of high-speed processing and the small processing scale with reference to the drawings.
  • the encoding process of the present invention includes an offline process (Offline process) for performing pre-calculation in advance and an online process (Online process) by hardware.
  • Offline process for performing pre-calculation in advance
  • Online process online process
  • matrix transformation is performed while maintaining the sparse nature of the check matrix.
  • on-line processing by nodeware performs high-speed encoding processing based on the four matrices A, B, T, and F created while maintaining the sparse nature of the check matrix.
  • the following upper triangular zero matrix H is obtained by exchanging the rows and columns of the check matrix.
  • T is a lower triangular matrix with " ⁇ in the diagonal element from the left
  • Equation 120 In the same vector, s represents an information bit sequence, and p and ⁇ are parity bit sequences, respectively.
  • a norit bit sequence P which is part of the encoder output, is generated at high speed from the given information bit sequence s.
  • Equation 126 (48)
  • the matrix ⁇ is a lower triangular matrix with “ ⁇ in the diagonal elements as follows.
  • the fifth memory 903 stores the second parity sequence p2, and uses the index output from the fourth memory 902 addressed by the second row counter 904 as a read address. With the output of the fifth memory 903
  • the encoder of the present invention is configured by the above offline processing and the online processing by the hardware shown in Figs.
  • Figure 10 shows a speed-up of the circuit of Figure 9 that bears most of the load of the encoding process, and similar to the one shown in Figure 9, the matrix T of the memory 1002 addressed by the second row counter 1004 It operates with the position of 1 of the element of as an index.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

 本発明は、移動通信等の通信分野に適した誤り訂正符号のエンコーダ及びデコーダを高性能で高速に効率良く実現出来るLDPC符号化方式を提供することを目的とし、その構成は、符号を変数ノードとチェックノードにより表現するタナーグラフを用い、各ノードを複数のカテゴリに分類し、繰り返し復号における確率伝播計算に際しこのカテゴリ毎に予め決められた重み付けを伝播対象である対数尤度比(LLR)に対して行う。

Description

明 細 書
LDPC符号ィ匕方式によるエンコーダ及びデコーダ
技術分野
[0001] 本発明は、誤り訂正符号化方式である LDPC (Low-Density Parity-Check)符号化 方式のデコーダ及びエンコーダに関するものである。
背景技術
[0002] 1962年に Gallagerにより LDPC符号化方式が提案されている。 LDPC符号とは線 形符号でその検査マトリクスの殆どの要素が" 0"であるものを 、う。古典的な符号理 論では検査マトリクスを定めて符号の設計を行って 、た。符号化理論の新時代を担う と言われるターボ原理を発端とする LDPC符号ィヒ方式も同様の定義の仕方が可能で ある。しかし、本発明ではより本質を捉えたタナーグラフに基づく定義の仕方を用いる ことにする。
[0003] タナーグラフとは変数ノードとチェックノードと呼ばれる二種類のノードで符号を表 現する二部グラフで、各ノードに接続している枝をエッジといい、各ノードに接続して いる枝の数をそのノードの次数と呼ぶ。この枝の総数は検査マトリクスの" 1"の立って V、る数であつて検査マトリクスの列方向の" 1 "の数を列重み、行方向の" 1 "の数を行 重みという。 LDPC符号ィ匕方式でこの検査マトリクスは一意ではない。 LDPC符号ィ匕 方式のデコードはこの検査マトリクスに依存しており、繰返し復号と呼ばれる方法で確 率伝搬を計算することによって行われる。
[0004] 近年、再発見された LDPC符号を更にシャノン限界に肉薄するといわれる強力な 誤り訂正能力として発展させた方法は、タナーグラフ上の各ノード間の確率伝搬計算 にお 、て、グラフが持つ符号の局所的な構造に基づ 、た確率伝搬計算を伝播対象 である対数尤度比 (LLR)に対して行うに当たり、ランダム的に構成される符号と確率 的繰り返し復号による方法で或る次数分布を持つ LDPCと同じ符号のアンサンブル に対して LLRの確率密度関数の変化を繰り返し回数毎に計算する手法である DE (D ensity Evolutionの略)を用いて次数分布を求めた点であり、非正貝 IjLDPC符号に対 してこの手法を拡張し優れた次数分布を探索した点である。尚、ノードの次数が等し い正則グラフにより定まる符号を正則 LDPC符号と呼び、次数が等しくない場合を非 正則 LDPCと同じ符号と呼ぶ。
[0005] タナーグラフ上の確率伝播計算は sum-productと呼ばれるメッセージ伝達型ァルゴ リズムが一般的であるが、これを忠実に実行しょうとすると回路規模の増大を引き起こ す。そこで Min(Max)Log領域における大胆な近似が行われている。尚、 MaxLog領域 における近似を LDPC符号では minSumアルゴリズムとも呼ばれている。
[0006] 以上説明した様に、シャノン限界に近い強力な誤り訂正能力を得ようとするには DE に基づく次数分布に従った非正則 LDPC符号を用いる必要がある。しかし、 DEは元 々符号長が事実上無限大の場合にっ 、ての繰り返し復号特性限界を示すもので、 実際には例えば少なくとも 106〜107ビット程度の膨大な符号長を納める為のメモリが 必要であり、更に、重み分布も 100〜200程度の高い最大次数を必要としている。こ こで次数が高!、と!/、うことは回路規模がそれだけ大き 、ことを意味して 、る。
[0007] 近年、移動通信等の通信分野で研究が著しく進められているが、それに伴い誤り 訂正符号のエンコーダ及びデコーダの高性能化、高速化、効率化が強く求められて いる。し力しながら、シャノン限界に近い高性能化が実現出来たとしても移動体にとつ て現実的でな!ヽと ヽつた問題があった。
[0008] これに対して最近、非正則 LDPC符号の高重み分布を下げる試みがなされており 、その中にノードをカテゴリに分割して低重み分布で発生しやす 、エラーフロアに対 処する方法が取られている。尚、これらのカテゴリには重み 1のノードを持つカテゴリ や、変数ノードをパンクチャリングするカテゴリも含まれて 、る。
[0009] また、 sum— productの代わりに Min(Max)Log領域における大胆な近似を実現可能 な回路規模のする為に用いられるが、その為に無視できない特性劣化を引き起こす といった問題があった。
[0010] 更に、対向するエンコーダは、その生成マトリクスが喩え低重み分布による疎な検 查マトリクスを用いたとしてもそれに反して殆ど確実に疎なマトリクスにならない。疎で あると 、うことは低複雑度を意味する。そこで疎な検査マトリクスを活力しつつ符号を 生成する算法が「2001年、 2月、アイ'ィー 'ィー 'ィ一'トランザクション'オン'インフ オメーシヨン 'セオリ、第 47卷、第 2号、 638〜656頁 (IEEE Transactions on informati on theory Volume 47, Issue 2, pp.638- 656 "Efficient encoding of low-density parity- c heck codes)]に開示されている。
[0011] 特許文献 1 (特開 2005— 65271号公報)には、ターボ符号ィ匕方式における復号で 使われる Max-Log-MAPと呼ばれるアルゴリズムが開示されている。 LDPC符号化方 式はターボ符号ィ匕方式と異なる方式であり、その符号ィ匕構造が全く異なる。只、繰り 返し復号を行うと!ヽぅ点で類似する。
[0012] 繰り返し復号処理での MaxLog近似における重み付けである力 特許文献 1ではあ た力も二つの重み付け(Wc、 Wa)を行っている如くみえる力 二つの内の一方の重 み付け (Wc)は受信信号における情報系列( Ac (xt、 0) )に対して行って 、るだけで 繰り返し復号処理の間、この情報系列(Ac (xt、 0) )は同一の値を取る。即ち、繰り 返し復号における確率伝播対象である LLRとは無関係なものである。そもそも受信 信号に対する重み付けは、情報系列やパリティ系列はもとより変復調における信号点 マッピングを考慮して決めるべきものであって、繰り返し復号処理における確率伝播 対象である LLRとは別に考えるべきものである。この様に整理すると、この例での確 率伝播対象である LLRは外部対数尤度比(extrinxic LLR ;以下外部 LLRと略す。 )一つであることが分かる。ターボ符号における Max-Log-MAPでこの外部 LLRに対 して重み付け処理を行うことは既に公知の事実で、例えば、特許文献 2 (特許第 324 6484号公報)の第一図ではシフト加算によって 0. 75倍の重み付けを外部 LLRに対 して行 、低複雑度で実現してる例が開示されて 、る。
[0013] 特許文献 1の図 5には、ハーフイタレーシヨン毎の外部 LLRに対して重み付け処理 を行って!/、る例が示されて 、る。
[0014] 即ち、特許文献 1に開示される技術を含めて、基本的にターボ符号化方式の繰り返 し復号は外部対数尤度比(extrinxic LLR)と呼ばれる一つの確率伝播対象に対し て制御されて 、るのである。
[0015] また、特許文献 3 (特開 2004— 266463号公報)には LDPC符号ィ匕方式における 解析の常套手段である密度発展法 (Density Evolution)を、またこれも常套手段で あるガウス近似法(Gaussin Approximation ;以下 GAと略す。)で行い、ラテン方 陣を使った生成方法が開示されている。 [0016] 即ち、特許文献 3で用いて!/、る方法は" Symmetry condition"と呼ばれる関係が 保存される確率伝播処理で、確率分布に対するトレースを平均値のみで行うことが出 来、これで分散も同時にトレースしたことになるといった手法である。
非特許文献 1 : 2001年、 2月、アイ'ィー 'ィ一'ィー 'トランザクション'オン'インフォメ ーシヨン 'セオリ、第 47卷、第 2号、 638〜656頁 (IEEE Transactions on information t heory Volume 47,Issue2,pp.638— 65り Efficient encoding of low-density parity-check codes)
特許文献 1 :特開 2005— 65271号公報
特許文献 2:特許第 3246484号公報
特許文献 3:特開 2004— 266463号公報
発明の開示
発明が解決しょうとする課題
[0017] シャノン限界に近 、強力な誤り訂正能力を得ようとするには DEに基づく次数分布 に従った非正則 LDPC符号を用いる必要があるが、膨大な符号長を納める為のメモ リが必要であり、回路規模が大きくなるという問題点がある。また、シャノン限界に近い 高性能化が実現出来たとしても移動体にとって現実的でないといった問題があった。
[0018] 非正則 LDPC符号の高重み分布を下げる試みがなされて 、るが無視できな 、特性 劣化を引き起こすといった問題があった。
[0019] エンコーダには、疎なマトリクスが望まれる力 その生成マトリクスが喩え低重み分布 による疎な検査マトリクスを用いたとしてもそれに反して殆ど確実に疎なマトリクスにな らない。非特許文献 1には疎な検査マトリクスを活力しつつ符号を生成する算法が開 示されているものの、プログラムを作成する為の算法の開示されているのみで、高速 動作が可能なアーキテクチャに対してはなんら触れられて ヽな 、。
[0020] 本発明は上述したような従来技術が有する問題点に鑑みてなされたものであって、 移動通信等の通信分野で用いられる移動体で実装可能な回路規模で、シャノン限 界に近い強力な誤り訂正能力を持つ LDPC符号ィ匕方式を用 、たデコーダ及びェン コーダを提供することを目的とするものである。
[0021] 更に、上記を実現するに当たって各ノードをカテゴリ分割した場合で回路規模削減 の為に確率伝搬計算を MaxLog近似(minSumアルゴリズムとも!/、う)等の近似計算を 用いた場合でも高性能を発揮する方法を提供することを目的とするものである。
[0022] 更に、本発明は、高性能で高速ィ匕を実現する LDPCデコーダのアーキテクチャを 提供することを目的とするものである。
[0023] 更に、 LDPCデコーダと対向する LDPCエンコーダでも回路規模の削減と高速ィ匕 を実現する為の構成を提供することを目的とするものである。
課題を解決するための手段
[0024] 本発明の LDPCデコーダは、 LDPC符号化方式におけるタナーグラフを用いて、 各ノードは複数のカテゴリに分類することが可能であって、繰り返し復号における確 率伝播計算に際し前記カテゴリ毎に予め決定された重み付けを伝播対象である対数 尤度比(以下 LLRと略す)に対して行うことを特徴として構成される。
[0025] この場合、前記繰り返し復号における確率伝搬計算は、 MaxLog近似(或いは min Sumアルゴリズム)であって各カテゴリに属する検査マトリクスの列重みに合わせて重 み付けする値を決定することとしてもょ 、。
[0026] また、前記タナーグラフとして、前記複数のカテゴリ内に RA構造 (Repeat Accum ulate構造の略でジグザグ構造ともいう)のカテゴリを有し、該カテゴリの重み付けは 他のカテゴリの重み付けより大きくしてもよい。
[0027] 本発明の他の形態による LDPCデコーダは、 LDPC符号ィ匕方式におけるタナーグ ラフを用いて、グラフを構成する各ノードは、その検査マトリクスの列重みによる複数 のグループ分けが可能であって、繰り返し復号における確率伝播計算に際しては、 前記グループ毎に決定された重み付けを伝播対象である対数尤度比 (LLR)に対し て行うことを特徴として構成される。
[0028] 本発明の他の形態による LDPCデコーダは、 LDPC符号ィ匕方式におけるタナーグ ラフを用いて、各ノードは複数のカテゴリに分類することが可能であって、各カテゴリ に属する検査マトリクスの重み分布に合わせて伝播対象である対数尤度比 (LLR)を 格納するメモリバンクの分割数を変えて該対数尤度比へのパラレルアクセスを可能に したことを特徴とする。
[0029] この場合、 LDPC符号ィ匕方式におけるタナーグラフを用いて、各ノードは複数の力 テゴリに分類することが可能であって、各カテゴリに属する検査マトリクスの重み分布 に合わせて伝播対象である対数尤度比 (LLR)を格納するメモリバンクの分割数を変 える構造を有し、前記対数尤度比へのパラレルアクセスを行う際、 FIFO機能を有す るキャッシング回路を介して行われることとしてもょ 、。
[0030] また、前記繰り返し復号における確率伝搬計算を MaxLog近似 (minSumアルゴリ ズムともいう)によって行う際、第一の最小値検出回路によって第一の最小値を検出 し、該検出された第一の最小値に対応する入力をマスクして第二の最小値を検出す る第二の最小値検出回路を有し、第一及び第二の最小値回路をパイプライン構造に よって構成することにより等価的に一クロックで近似計算を実行することとしてもよい。
[0031] また、前記繰り返し復号における確率伝搬計算を MaxLog近似 (minSumアルゴリ ズムともいう)によって行う際、変数ノード分の LLRを一時保存する第 1のメモリと、請 求項 7記載の第 1の最小値及び第 2の最小値とその入力の 2を法とする極性和を保 存するチェックノード分の第 2のメモリを有し、該第 1のメモリへの入力は、請求項 7記 載の第 1の最小値及び第 2の最小値を元にタナーグラフによって決定される接続に 基づ 、て該第 1のメモリの保存値に加算することによって順次行われ、該第 1のメモリ は、請求項 2記載のカテゴリ分けがなされていて、カテゴリ毎に予め決められた重み 付けを該第 1のメモリ出力に対して行われ、その重み付けされた LLRと受信値 LLRと を加算した後、前記第 2のメモリ蓄積結果である第 1の最小値及び第 2の最小値と 2を 法とする極性和を元にタナーグラフによって決定される接続情報によって選択される 値を差引き、再び MaxLog近似(minSumアルゴリズムとも!/、う)を行う繰り返し復号 を行なうこととしてもよい。
[0032] また、前記カテゴリ毎の重み付けを前記第一のメモリ出力ではなく、該第一のメモリ 入力か若しくは MaxLog近似(minSumアルゴリズムとも 、う)出力に逆戻る迄の経 路に施すこととしてもよい。
[0033] また、前記タナーグラフによって決定される接続情報は、検査マトリクスにおける 1の 位置をインデックスの形で保存することとしてもよ 、。
[0034] また、前記バリアブルノード分の LLRを一時保存する第 1のメモリを 2面持ち、更に 第 1の最小値及び第 2の最小値とその入力の 2を法とする極性和を保存するチェック ノード分の第 2のメモリを二面持ち、どちらか一方のメモリを出力として用いている場 合は他のメモリを入力として用いて、繰り返し復号における繰り返しサイクル毎に交互 に該メモリの入力と出力を入れ替えることとしてもよい。
[0035] 本発明の LDPCエンコーダは、検査マトリクス Hの行列操作によって対角要素に 1 を持つ下三角マトリクス Tを含む上三角零マトリクス
[0036] [数 1]
A B T
H =
C D E なる関係を持つマトリクス A, B, Tを得る手段 1を有し、更に該上三角零マトリクスより [0037] [数 2]
F = l- E T"1 B + D^ ^E T-1 なるマトリクス Fを得る手段 2を有し、該手段 1及び 2は予め計算されるオフライン処理 であって、その結果得られたマトリクス Fの要素 1の位置をインデックスの形で蓄積す るメモリ 1と、情報ビット系列 Sが格納されているメモリ 2と第 1の行カウンタを有しており 、該第 1の行カウンタによってアドレッシングされた前記メモリ 1が出力されるインデック スによって更にアドレッシングされる前記メモリ 2の出力を排他的論理和することによ つて第 1のパリティ系列 piを得る第 1の回路を有しており、該ノ^ティ系列 piと前記ォ フライン処理で得られたマトリクス Bの積を取り、前記情報ビット系列 Sと前記オフライ ン処理で得られたマトリクス Aの積を取って排他的論理和することによって
[0038] [数 3]
Figure imgf000009_0001
なる系列を格納するメモリ 3を有し、前記オフライン処理で得られたマトリクス Tの要素 1の位置をインデックスの形で蓄積するメモリ 4と、第 2のノ リティ系列 p2が格納される メモリ 5と第 2の行カウンタを有し、該第 2の行カウンタによってアドレッシングされた前 記メモリ 4が出力されるインデックスによって更に逐次読み出しアドレッシングされる前 記メモリ 5の出力と、前記第 2の行カウンタによってアドレッシングされるメモリ 3の出力 を排他的論理和をすることによって第 2のノ リティ系列 p2を得て前記第 2の行カウン タによって書き込みアドレッシングされる前記メモリ 4へ書き込む第 2の回路を有して おり、前記オフライン処理と第 2及び第 2の回路によるオンライン処理によって符号ィ匕 処理を行うことを特徴として構成される。
[0039] この場合、第 2のノ リティ系列 p2が格納される前記メモリ 5をマトリクス Tの行重みの 数分有したミラーメモリとし、マトリクス Tの要素の 1の位置力インデックスとして格納さ れているメモリ 4は単位アドレスに対して行重み分のインデックスを出力するフォーマ ットであって、これらのインデックスを各ミラーメモリに対して読み出しアドレッシングす ることによって行重み分の排他的論理和を一度に行うこととしてもよい。
[0040] 本発明の他の形態による LDPCデコーダは、符号を変数ノードとチェックノードによ り表現するタナーグラフを用 V、た LDPCデコーダであって、
複数のカテゴリに分類された伝播対象である対数尤度比を各カテゴリ毎に格納する 複数のメモリバンクを備えた第 1の変数ノードメモリと、
前記複数のカテゴリ毎の重み付け値を各カテゴリ毎に格納する複数のメモリバンク を備えた第 2の変数ノードメモリと、
前記第 2の対数ノードメモリに格納される各カテゴリ毎の重み付け値を伝播対象で ある対数尤度比に応じて決定する重み付け処理部と、
前記第 1の変数ノードメモリおよび第 2の変数ノードメモリの各カテゴリ毎の格納内 容から繰り返し復号における確率伝播計算を行なって伝播対象である対数尤度比と して前記前記第 1の変数ノードメモリおよび重み付け処理部へ出力するチェックノー ド処理手段と、
を有することを特徴とする。
[0041] この場合、チェックノード処理部での前記繰り返し復号における確率伝搬計算は、 MaxLog近似あるいは minSumアルゴリズムによって行なわれ、各カテゴリに属する検 查マトリクスの列重みに合わせて重み付けする値を決定するとしてもよい。
[0042] また、前記複数のカテゴリ内に RA構造のカテゴリを有し、該カテゴリの重み付けは 他のカテゴリの重み付けより大きくしてもよい。 [0043] 本発明の他の形態による LDPCデコーダは、符号を変数ノードとチェックノードによ り表現するタナーグラフを用 V、た LDPCデコーダであって、
検査マトリクスの列重みによって複数のグループに分類された伝播対象である対数 尤度比を各カテゴリ毎に格納する複数のメモリバンクを備えた第 1の変数ノードメモリ と、
前記複数のグループ毎の重み付け値を各グループ毎に格納する複数のメモリバン クを備えた第 2の変数ノードメモリと、
前記第 2の対数ノードメモリに格納される各グループ毎の重み付け値を伝播対象で ある対数尤度比に応じて決定する重み付け処理部と、
前記第 1の変数ノードメモリおよび第 2の変数ノードメモリの各グループ毎の格納内 容から繰り返し復号における確率伝播計算を行なって伝播対象である対数尤度比と して前記前記第 1の変数ノードメモリおよび重み付け処理部へ出力するチェックノー ド処理手段と、
を有することを特徴とする。
[0044] 本発明の他の形態による LDPCデコーダは、符号を変数ノードとチェックノードによ り表現するタナーグラフを用 V、た LDPCデコーダであって、
複数のカテゴリに分類された伝播対象である対数尤度比を各カテゴリ毎に格納する 複数のメモリバンクを備えた第 1の変数ノードメモリと、
前記複数のカテゴリ毎の重み付け値を各カテゴリ毎に格納する複数のメモリバンク を備えた第 2の変数ノードメモリと、
前記第 2の対数ノードメモリに格納される各カテゴリ毎の重み付け値を伝播対象で ある対数尤度比に応じて決定する重み付け処理部と、
前記第 1の変数ノードメモリおよび第 2の変数ノードメモリの各カテゴリ毎の格納内 容から繰り返し復号における確率伝播計算を行なって伝播対象である対数尤度比と して前記前記第 1の変数ノードメモリおよび重み付け処理部へ出力するチェックノー ド処理手段と、
を有し、
前記第 1の変数ノードメモリのメモリバンクの数は各カテゴリに属する検査マトリクス の重み分布に合わせて変更可能とされ、これにより前記第 1の変数ノードメモリへの ノラレルアクセスが可能であることを特徴とする。
[0045] この場合、前記第 1の変数ノードメモリへのパラレルアクセスを行う FIFO機能を有 するキャッシング回路を備えることとしてもよ!/、。
[0046] また、チェックノード処理手段は、
第 1の最小値検出回路によって第 1の最小値を検出する第 1の最小値回路と、 前記第 1の最小値回路により検出された第 1の最小値に対応する入力をマスクして 第 2の最小値を検出する第 2の最小値検出回路と、を有し、
前記第 1及び第 2の最小値回路はノ ィプライン構造とされて等価的に 1クロックで近 似計算を実行するとしてもよい。
[0047] また、チェックノード処理手段は、
前記複数のカテゴリに分類された前記第 1の変数ノードメモリおよび重み付け処理 部へ出力する対数尤度比を一時保存する第 1のメモリと、
前記第 1の最小値及び第 2の最小値と、その入力の 2を法とする極性和を保存する チェックノード分の第 2のメモリと、
を有し、
前記第 1のメモリへの入力が、前記第 1の最小値及び第 2の最小値を元にタナーグ ラフによって決定される接続に基づいて該第 1のメモリの保存値に加算することが順 次行ない、
各カテゴリ毎に予め決められた重み付けを該第 1のメモリ出力に対して行い、その 重み付けされた LLRと受信値 LLRとを加算した後、前記第 2のメモリ蓄積結果である 第 1の最小値及び第 2の最小値と 2を法とする極性和を元にタナーグラフによって決 定される接続情報よつて選択される値を差引き、再び MaxLog近似あるいは minSumァ ルゴリズムを行う繰り返し復号を行なうこととしてもよい。
[0048] また、チェックノード処理手段は、
前記複数のカテゴリに分類された前記第 1の変数ノードメモリおよび重み付け処理 部へ出力する対数尤度比を一時保存する第 1のメモリと、
前記第 1の最小値及び第 2の最小値と、その入力の 2を法とする極性和を保存する チェックノード分の第 2のメモリと、
を有し、
前記第 1のメモリへの入力が、前記第 1の最小値及び第 2の最小値を元にタナーグ ラフによって決定される接続に基づいて該第 1のメモリの保存値に加算することが順 次行ない、
各カテゴリ毎に予め決められた重み付けを前記第 1のメモリ入力若しくは MaxLog近 似あるいは minSumアルゴリズム出力に逆戻る迄の経路に対して行 、、その重み付け された LLRと受信値 LLRとを加算した後、前記第 2のメモリ蓄積結果である第 1の最 小値及び第 2の最小値と 2を法とする極性和を元にタナーグラフによって決定される 接続情報よつて選択される値を差引き、再び MaxLog近似ある 、は minSumァルゴリズ ムを行う繰り返し復号を行なうこととしてもょ 、。
[0049] この場合、前記タナーグラフによって決定される接続情報は、検査マトリクスにおけ る 1の位置をインデックスの形で保存することとしてもよい。
[0050] また、前記第 1の変数ノードメモリと前記第 2の変数ノードメモリ、および、前記第 1の メモリと第 2のメモリは、どちらか一方を出力として用いている場合には他方が入力と して用いられ、繰り返し復号における繰り返しサイクル毎に交互に入力と出力が入れ 替えられるとしてもよい。
[0051] 本発明の他の形態によるによる LDPCエンコーダは、予め計算されるオフライン処 理によって検査マトリクス Hの行列操作により対角要素に 1を持つ下三角マトリクス T を含む上三角零マトリクス
[0052] [数 4]
A B T
H =
C D E なる関係を持つマトリクス A, B, Tを得る第 1の手段と、
前記上三角零マトリクスより、予め計算されるオフライン処理によって
[数 5] F = (- E T"1 B + D)"1 (∑ A - C) なるマトリクス Fを得る第 2の手段と、を備え、
前記第 1の手段および第 2の手段により得られたマトリクス Fの第 1の要素の位置を インデックスの形で蓄積する第 1のメモリと、
情報ビット系列 Sが格納されている第 2のメモリと、
第 1の行カウンタと、
前記第 1の行カウンタによってアドレッシングされた前記第 1のメモリが出力するイン デッタスによってアドレッシングされた前記第 2のメモリの出力の排他的論理和をとる ことによって第 1のノ リティ系列 piを得る第 1の回路と、
前記第 1のノ リティ系列 piと前記オフライン処理で得られたマトリクス Bの積を取り、 前記情報ビット系列 Sと前記オフライン処理で得られたマトリクス Aの積を取って排他 的論理和をとることによって得られた
- A sr - ρχ Γ なる系列を格納する第 3のメモリと、
前記マトリクス Τの第 1の要素の位置をインデックスの形で蓄積する第 4のメモリと、 第 2のパリティ系列 ρ2が格納される第 5のメモリと、
第 2の行カウンタと、
前記第 2の行カウンタによってアドレッシングされた前記第 4のメモリが出力するイン デッタスによって逐次読み出しがアドレッシングされる前記第 5のメモリの出力と、前 記第 2の行カウンタによってアドレッシングされる前記第 3のメモリの出力の排他的論 理和をとることによって前記第 2のノ リティ系列 ρ2を得て前記第 2の行カウンタによつ て書き込みアドレッシングされる前記第 5のメモリへ書き込む第 2の回路と、を有し、 前記オフライン処理と第 1及び第 2の回路によるオンライン処理によって符号ィ匕処 理を行うことを特徴とする。 [0055] この場合、第 2のノ リティ系列 p2が格納される前記第 5のメモリがマトリクス Tの行重 みの数分有したミラーメモリであり、
マトリクス Τの要素の 1の位置がインデックスとして格納されている第 4のメモリは単 位アドレスに対して行重み分のインデックスを出力するフォーマットであって、これら のインデックスを各ミラーメモリに対して読み出しアドレッシングすることによって行重 み分の排他的論理和をとることを一度に行うこととしてもよい。
[0056] 本発明の LDPCデコーダは、タナーグラフにおいて各ノードが複数のカテゴリに分 類することが可能であって、繰り返し復号における確率伝播計算に際し前記カテゴリ 毎に予め決定された重み付けを伝播対象である対数尤度比(以下 LLRと略す)に対 して行うことが出来るので、カテゴリ毎に異なる LLRの確率分布の偏りを補正すること が出来、性能を向上させることが出来る。
[0057] 更に本発明の LDPCデコーダは、前記繰り返し復号における確率伝搬計算が Max Log近似(或いは minSumアルゴリズムともいう)であって、各カテゴリに属する検査マト リクスの列重みに合わせて重み付けする値を決定することが出来るので、 LLRの確 率分布の偏りの原因である列重みの違いに合わせて LLRの偏りを補正することが出 来、性能を向上させることが出来る。
[0058] 更に本発明の LDPCデコーダは、前記タナーグラフにおいて、前記複数のカテゴリ 内に RA構造 (Repeat Accumulate構造の略でジグザグ構造とも 、う)のカテゴリを有し ており、該カテゴリの重み付けは他のカテゴリの重み付けより大きくするので、 RA構 造を導入したことによる特性向上効果と、 LLRの偏りの大きい他のカテゴリとの差を補 正することが出来、更に性能を向上させることが出来る。
[0059] 更に本発明の LDPCデコーダは、 LDPC符号化方式におけるタナーグラフおいて 、グラフを構成する各ノードがその検査マトリクスの列重みによる複数のグループ分け 可能であって、繰り返し復号における確率伝播計算に際しては、前記グループ毎に 決定された重み付けを伝播対象である対数尤度比 (LLR)に対して行う様にしている ので LLRの偏りをグループ毎に統一することが出来、適切な重み付けによる補正を 掛けることが出来、性能を向上させる効果がある。
[0060] 更に本発明の LDPCデコーダは、 LDPC符号化方式におけるタナーグラフおいて 、各ノードが複数のカテゴリに分類可能であって、各カテゴリに属する検査マトリクス の重み分布に合わせて伝播対象である対数尤度比 (LLR)を格納するメモリバンクの 分割数を変えて該対数尤度比へのパラレルアクセスを 可能にしているので、最適な メモリバンクの分割による低複雑度で効率的な高速動作を可能にする効果がある。
[0061] 更に本発明の LDPCデコーダは、 LDPC符号化方式におけるタナーグラフおいて 、各ノードが複数のカテゴリに分類可能であって、各カテゴリに属する検査マトリクス の重み分布に合わせて伝播対象である対数尤度比 (LLR)を格納するメモリバンクの 分割数を変える構造を有し、前記対数尤度比へのパラレルアクセスを行う際 FIFO機 能を有するキャッシング回路を介して行われるので、一時的にアクセスが集中するタ イミングが生じても平均化出来、メモリバンクの分割数の増加やオンチップノ スの本 数を削減させて LSIのチップ面積を削減出来、コスト低減を可能にする効果がある。
[0062] 更に本発明の LDPCデコーダは繰り返し復号における確率伝搬計算を MaxLog近 似 (minS醒アルゴリズムともいう)によって行う際、第 1の最小値検出回路によって第 1 の最小値を検出し、該検出された第 1の最小値に対応する入力をマスクして第 2の最 小値を検出する第 2の最小値検出回路を有し、第 1及び第 2の最小値回路をパイプ ライン構造によって構成することにより等価的に一クロックで近似計算を実行すること が出来るので高速動作を少ない回路規模で実現出来る効果がある。
[0063] 更に本発明の LDPCデコーダは繰り返し復号における確率伝搬計算を MaxLog近 似(minSumアルゴリズムともいう)によって行う際、変数ノード分の LLRを一時保存す る第 1のメモリと、特許請求の範囲第七項記載の第 1の最小値及び第 2の最小値とそ の入力の 2を法とする極性和を保存するチェックノード分の第 2のメモリを有し、該第 1 のメモリへの入力は、第 1の最小値及び第 2の最小値を元にタナーグラフによって決 定される接続に基づいて該第 1のメモリの保存値に加算することによって順次行われ 、該第 1のメモリは、カテゴリ分けがなされていて、カテゴリ毎に予め決められた重み 付けを該第 1のメモリ出力に対して行われ、その重み付けされた LLRと受信値 LLRと を加算した後、前記第 2のメモリ蓄積結果である第 1の最小値及び第 2の最小値と 2を 法とする極性和を元にタナーグラフによって決定される接続情報よつて選択される値 を差し引いた後、再び MaxLog近似(minSumアルゴリズムとも 、う)を行う繰り返し復号 を実現出来るので、少ないメモリ構成並びに近似による回路規模削減効果、並びに 高速化、更に適切な重み付け補正によって性能を向上させる効果がある。
[0064] 更に本発明の LDPCデコーダは、前記カテゴリ毎の重み付けを前記第 1のメモリ出 力ではなぐ該第 1のメモリ入力か若しくは MaxLog近似(minSumアルゴリズムともいう) 出力に逆戻る迄の経路に対し施すことを考慮してるので LDPCデコーダの設計に際 し自由度を持たせる効果がある。
[0065] 更に本発明の LDPCデコーダは、前記タナーグラフによって決定される接続情報 は、検査マトリクスにおける 1の位置をインデックスの形で保存する形態をとっている ので、少な 、メモリ容量で接続情報を保持し回路規模を削減する効果がある。
[0066] 更に本発明の LDPCデコーダは、バリアブルノード分の LLRを一時保存する第 1の メモリを 2面持ち、更に特許請求の範囲第七項記載の第 1の最小値及び第 2の最小 値とその入力の 2を法とする極性和を保存するチェックノード分の第 2のメモリを二面 持ち、どちらか一方のメモリを出力として用いている場合は他のメモリを入力として用 いて、繰り返し復号における繰り返しサイクル毎に交互に該メモリの入力と出力を入 れ替える形態をとつているので、効率的なメモリの使用で、スピードを倍増させること が出来る。
[0067] 更に本発明の LDPCエンコーダは、検査マトリクス Hの行列操作によって対角要素 に" 1"を持つ 下三角マトリクス Tを含む上三角零マトリクス
[0068] [数 7]
Figure imgf000017_0001
なる関係を持つマトリクス A, B, Tを得る手段 1を有し、更に上三角零マトリクスより [0069] [数 8]
F = l- E T"1 B + D^ - IE T"1 A - C) なるマトリクス Fを得る手段 2を有しており、該手段 1及び 2は予め計算されるオフライ ン処理であって、その結果得られたマトリクス Fの要素 1の位置をインデックスの形で 蓄積するメモリ 1と、情報ビット系列 Sが格納されているメモリ 2と第 1の行カウンタを有 しており、該第 1の行カウンタによってアドレッシングされたメモリ 1が出力されるインデ ックスによって更にアドレッシングされる前記メモリ 2の出力を排他的論理和することに よって第 1のパリティ系列 piを得る第 1の回路を有しており、ノ リティ系列 piと前記ォ フライン処理で得られたマトリクス Bの積を取り、情報ビット系列 Sと前記オフライン処 理で得られたマトリクス Aの積を取って排他的論理和することによって
[0070] [数 9]
- A - sr -B pL なる系列を格納するメモリ 3を有しており、前記オフライン処理で得られたマトリクス T の要素 1の位置をインデックスの形で蓄積するメモリ 4と、第 2のパリティ系列 ρ2が格 納されるメモリ 5と第 2の行カウンタを有し、該第 2の行カウンタによってアドレッシング された前記メモリ 4が出力されるインデックスによって更に逐次読み出しアドレッシング される前記メモリ 5の出力と、前記第 2の行カウンタによってアドレッシングされるメモリ 3の出力を排他的論理和をすることによって第 2のパリティ系列 ρ2を得て第 2の行カウ ンタによって書込アドレッシングされるメモリ 4へ書き込む第 2の回路を有し、オフライ ン処理と第 1及び第 2の回路によるオンライン処理によって符号化処理を行う形態を とっているので、疎な検査マトリクスの有効性を保持して得られる効果が有り、少ない メモリ容量と簡単な排他的論理和による少ない回路規模でエンコード処理を実現出 来る効果がある。
[0071] 更に本発明の LDPCエンコーダは、第 2のノ リティ系列 ρ2が格納される前記メモリ 5 をマトリクス Τの行重みの数分有したミラーメモリとし、マトリクス Τの要素の 1の位置が インデックスとして格納されて 、るメモリ 4は、単位アドレスに対して行重み分のインデ ックスを出力するフォーマットであって、これらのインデックスを各ミラーメモリに対して 読出しアドレッシングすることによって行重み分の排他的論理和を一度に行うことが 出来るので、エンコード処理を高速に行う効果がある。
[0072] 本発明の LDPC符号ィ匕方式は、特許文献 1に開示されるターボ符号とは全く異な る符号ィ匕構造であって、タナーグラフと呼ばれる二部グラフ上の確率伝播を計算する ことによって繰り返し復号が実行される。この繰り返し復号における確率伝播計算に 際しタナーグラフを構成するノードを複数のカテゴリに分類し、分類したカテゴリ毎に 独立に予め決められた重み付けを伝搬対象である対数尤度比に対して行っている のが本発明である。これによつてエラーフロアの解消のみならず高性能化を実現して いるのである。本発明は MaxLog近似(minSumアルゴリズム)による非線形処理を 解析するものであるからもはや" Symmetry condition"の関係が保存されておらず 、本発明の手法を用いる必要がある。
[0073] 本発明は LDPC符号ィ匕方式のエンコーダとデコーダであってその解析法の権利化 は行って ヽな 1ヽ。また本発明の理論的裏付けとなる解析方法も特許文献 3とは異なる もので、特許文献 3に開示される解析方法では本発明の符号化方式の解析は出来 ない。
発明の効果
[0074] 以上説明した様に、本発明の LDPC符号ィ匕方式によるエンコーダ及びデコーダは 、移動通信等の通信分野でも実現可能な回路規模で高性能化、高速化、効率化を 実現出来る手段を提供出来る。
[0075] その為に、タナーグラフの各ノードを複数のカテゴリに分類して低重み分布による処 理規模削減を行って、更に、 sum-productの代わりに Min(Max)Log領域における大胆 な近似によって回路規模の大幅な削減が有効であるが、その為に引き起こされる性 能劣化を生ずることなく高性能化、高速化、効率化出来る手段を提供出来る。
[0076] 更に、本発明により低重み分布の検査マトリクスで高性能化、高速化、及び効率ィ匕 を備えたデコーダを提供出来るが、エンコーダもまた同低重み分布の検査マトリクス の恩恵を得、高速に動作するアーキテクチャを実現出来る手段を提供出来る。
図面の簡単な説明
[0077] [図 1]本発明の LDPC符号ィ匕方式によるデコーダの実施形態を示す図である。
[図 1A]図 1に示したデコーダの具体的な回路構成を示す図である。
[図 2]本発明の LDPC符号ィ匕方式によるカテゴリに分類されたタナーグラフ(ソケット モデル)の一例を示す図である。 [図 3]本発明の LDPC符号ィ匕方式によるカテゴリに分類された検査マトリクスの一例を 示す図である。
圆 4]本発明の LDPC符号ィ匕方式によるカテゴリに分類された変数ノード及びチェッ クノードの重み分布の一例を示す図である。
[図 5]本発明の LDPC符号ィ匕方式によるカテゴリ毎に重み付けした方式の効果を示 すモンテカルロシミュレーションによるビット誤り率特性を示す図である。
[図 6]従来の単一の重み付け方式を用いたモンテカルロシミュレーションによるビット 誤り率特性を示す図である。
[図 7]チェックノード処理における Hyperbolic tangent ruleとそれを簡易化した Min(Max )Log領域で近似した回路を示す図である。
[図 8]本発明の LDPC符号ィ匕方式によるエンコーダアーキテクチャの第 1の回路を示 す図である。
[図 9]本発明の LDPC符号ィ匕方式によるエンコーダアーキテクチャの第 2の回路を示 す図である。
[図 10]本発明の LDPC符号ィ匕方式によるエンコーダアーキテクチャの第 2の回路を 高速ィ匕した回路を示す図である。
符号の説明
101 変数ノード LLRを格納するメモリ
102 変数ノード LLRを格納するメモリ
103 重み付け処理部
104 減算器
105 チ ックノード処理部
106 チェックノードメモリ
107 重み付け処理部
801 第 1のメモリ
802 第 2のメモリ
803 第 1の行カウンタ
804 排他的論理和 805 遅延素子
806 パリティ系列 pi用メモリ
901 第三のメモリ
902 第四のメモリ
903 第五のメモリ
904 行カウンタ
905 排他的論理和
906 遅延素子
907 セレクタ
1001 第三のメモリ
1002 第四のメモリ
1003 第五のメモリ
1003- - 1、 2 ミラーメモリ
1004 第 2の行カウンタ
1005 排他的論理和
発明を実施するための最良の形態
[0079] 次に、本発明の実施形態について式と図面を参照しながら説明する前に、先ず、 本発明の裏付けとなる解析を MaxLog近似(minSumアルゴリズムとも!/、う)よって生じる 非線形処理を含む密度発展法 (Density Evolution;以下 DEと略す。 )による解析的 結果を交えて説明する。
[0080] 先ず、 Gaussian Approximation (以下 GAと略す)による通常の DEと非線形処理を 含む DEとの違いにつ!、て説明する。
[0081] 通常の GAでは sumproductによる繰り返し復号過程を前提として、伝播対象である LLRの平均値をトレースすることによって行われる。即ち、列重み iのシンボル Vに対 してその平均値 m は、
[0082] [数 10] (1 )
アンサンブル平均で考えて変数ノードの次数分布を [数 11] ^
ί-2 とすると以下の関係を得る。
[数 12]
Figure imgf000022_0001
(2)
ここで、以下に説明する分散と平均値の条件
[0085] [数 13] = 2 - μ を用いて、
[0086] [数 14]
Figure imgf000022_0002
(3)
[0087] [数 15]
Figure imgf000023_0001
なる Φ (Χ)を用いると、
[0088] [数 16]
Figure imgf000023_0002
となる。従って以下の関係を得る。
[0089] [数 17]
E\
Figure imgf000023_0003
(5) 又 sum-product復号法における" tanh rule"により行重み jのシンボル uに対してその
j
平均値 m は、
[数 18]
1 -
Figure imgf000023_0004
アンサンブル平均で考えてチェックノードの次数分布を
[0091] [数 19]
とすると
[0092] [数 20]
mv =∑Ρ
で上記 Φ (χ)を用いると
[0093] [数 21]
Figure imgf000024_0002
[0094] [数 22]
-1
Figure imgf000024_0003
であるから結局、
[0095] [数 23]
「ν
- E tanh
Figure imgf000024_0001
I 2 J - ソ 更に (5)式の
[0096] [数 24]
·
Figure imgf000025_0001
を用いると、
[0097] [数 25] つ卜1、 ノ
Figure imgf000025_0002
を得る。更に (1)式の
[0098] [数 26] f"Yi =£[vj = m¾ +(i-l) ma を用いると、以下の非正則に対する再帰式を得る
[0099] [数 27] =2
Figure imgf000025_0003
予め与えられた次数プロファイルの元で再起式である上記(9)式により繰り返し復 号過程における平均的な振る舞いをみることが出来る。時間的に無限大へ発展して いけばエラーフリーになるし、途中で発展がストップすればエラーフリーを実現するこ とが出来ないということである。その境目を反復閾値 (Threshold)と呼びその時の受信 値 LLR平均
[0100] [数 28] m . に対応する E ZNがエラーフリー実現に必要なレベルとなる。
b 0
[0101] ここで、上式の発展過程をトレースするパラメータは一変数のみで良い。これは以 下の分力り易い例から見て取ることが出来る。今行重 dの場合の Hyperbolic Tangent Ruleを考えると、
[0102] [数 29]
Figure imgf000026_0001
であるから、左辺の確率変数 uに対する統計的性質 (分散 σ と平均値 m )と右辺の
[0103] [数 30]
V AJ,2, -,is-l に対する統計的性質 (分散 σ と平均値 m )によって期待値を考える必要がある。そ こで先ず右辺の分散を考えると、
[0104] [数 31]
Figure imgf000026_0002
(10) ここで [0105] [数 32] v は互いに独立で同じ統計的性質を持つとすると、
[数 33]
Figure imgf000027_0001
(1 1 ) ここで、
[0107] [数 34]
Figure imgf000027_0002
(12) 両式の差は、
[0108] [数 35]
Figure imgf000027_0003
(13)
Figure imgf000027_0004
、て固定値は" 0"になるかどうかにお!/ヽて関係な!/、ので省略し、 tanhを指 数表現により非積分項を見ると以下の様になる。 [0109] [数 36]
Figure imgf000028_0001
(14) 上式の最後の
[0110] [数 37]
は積分変数を含す固定値なので省略して、残った非積分関数を
[0111] [数 38]
とおいて、
[0112] [数 39] 一
/( =
Figure imgf000028_0002
(15) この関数の対象関数 f (一 X)は
[0113] [数 40]
Figure imgf000028_0003
-- (16) となって非積分関数
[0114] [数 41]
は奇関数であることが分かる。従って
[0115] [数 42]
Figure imgf000029_0001
となって、任意の
[0116] [数 43]
2 = 2m) なる GAにおいて
[0117] [数 44]
Figure imgf000029_0002
従って(10)式の分散の第 1項は、 [数 45]
Figure imgf000029_0003
(18) 従って(10)式の分散は、
[数 46] (1-4</«,))^-((1-4<^))^)
Figure imgf000030_0001
(19) 次に左辺の確率変数 uに対する統計的性質 (分散 σ ^平均値 m )で左辺の分散 を考えると、
[数 47]
Figure imgf000030_0002
(20) 結局左辺右辺の関係は
[0121] [数 48]
Figure imgf000030_0003
より
[0122] [数 49]
Figure imgf000030_0004
であるから
[0123] [数 50] ( l一 Φ(«¾) )- ( ι- ψ(«¾) Υ ^ ( 1— Φ(« し ((ι— ψ(«
(21 ) となりうる両辺の統計的性質 (分散 σ と平均値 mu)と (分散 σ と平均値 によって 平衡状態が保たれるようになる。即ち、この条件が成り立つ統計的性質 (分散 σ 2と 平均値 m )を持つ uが出力である。
[0124] 一方、平均値の方は、上記の結果と矛盾無く状態が保存されているかどうかを見る と、
[0125] [数 51]
Figure imgf000031_0001
より右辺は
[0126] [数 52] ')
Figure imgf000031_0002
、左辺は当然
[0127] [数 53]
Figure imgf000031_0003
従って平均値の観点からは、
[0128] [数 54] (22) となりうる両辺の統計的性質 (分散 σ と平均値 mu)と (分散 σ と平均値 rn^によって 平衡状態が保たれるようになる。即ち、この条件が成り立つ統計的性質 (分散 σ 2と 平均値 m )を持つ uが出力である。
[0129] (21)式と(22)式の関係を見ると、例えば(22)式の関係が成り立つ条件を使って(
21)式の左辺を計算すると、
[0130] [数 55]
^{tanh〔〕}= ( 1― 4 mJ )—(卜 4« ) = ( 1 - <K«> ) — (( 1— ) = a/jiltaiihf 〕
(23) となって(21)式と (22)式の関係、即ち、平均値と分散の関係が矛盾無く成り立って いることが分かる。即ち Hyperbolic Tangent Ruleにおける平均値とその分散のトレー スは、平均値のみのトレースでも分散も同時にトレースしたことになるので、一変数の み観測するばよい。
[0131] この関係は互いに独立な確率変数として扱っているので、 Φ ( * )によって異なる統 計的環境に対する確率変数に対しても成り立つ。従って、以下に示すカテゴリに分 類したタナーグラフにつ ヽてもそのまま使えることになる。以下カテゴリに分類したタ ナーグラフにおける GAにつ 、て記す。
[0132] 上述した従来の非正則 LDPCの GAではアンサンブル平均した形で全ての LLRを 単一の平均値で扱っていた。カテゴリに分類したタナーグラフでは、カテゴリ毎にアン サンブル平均しているので、その分詳細で正確な過程を評価することが出来る。即ち 、変数ノードからチェックノードへ、且つ、チェックノードから変数ノードへのメッセージ をカテゴリ毎に別けて考えている点である。今カテゴリの数を n個とし、カテゴリ iの或 e
一つの枝が出る方向として接続されているチェックノード (変数ノード)に対し、カテゴ リ j (≠i)の枝が dj本、カテゴリ iの枝が di-1本入る方向として接続されているものとする
。この状態での GAを考える。
[0133] S醒 Productによる各更新過程の平均値を追い掛ける訳である力 カテゴリ別に分け て考える為、
[0134] [数 56] vM (i .e. 0.5,0.3,0.2,0.2) 毎にそれぞれまとめた次数の
[0135] [数 57]
のベクトル表現を用いる。即ち任意の次数 dでカテゴリ iの内列重 dのメッセージ v(i)に
i d 対する平均値
[0136] [数 58]
»«(*)v,<l は、
[0137] [数 59]
Figure imgf000033_0001
J*!
(24) ここで、カテゴリ iの枝の内で任意に選んだ次数
[0138] [数 60] d = (dvd2, -,dx ) のノードに接続している枝の割合を表記するのに当たって以下の関係を用いる。
[数 61]
Figure imgf000034_0001
(25) カテゴリ iの枝の総数は
[数 62]
∑ 1 であるから結局任意に選んだ次数
[0141] [数 63] d = (d1,a2,---, dx j のノードに接続して!/、る枝の割合は
[0142] [数 64]
∑ ^ u)
4 となる。
[0143] そこでカテゴリ i内のアンサンブル平均で考えて以下の関係を得る。
[0144] [数 65]
Figure imgf000035_0001
(26) ここで、 Φ(χ)を用!、ると、
[0145] [数 66]
L 〕ト 従って以下の関係を得る。
[0146] [数 67]
E ^
、 2 ソ」 T
》o
Figure imgf000035_0002
d. -v. . d, v
1 -∑
v ,i)ノ ― ) ― ,】Γ
(27) 同様にカテゴリ j (≠ i)の枝が d本、カテゴリ iの枝が di-1本入る方向として接続されて
J
いるものとして、カテゴリ別に分けて考える為
[0147] [数 68] v¾d ( ^.0.5,0^,0.2?02) 毎にそれぞれまとめた次数
[0148] [数 69] d = (dvd2, -,dx のベクトル表現を用いる。任意の次数 dでカテゴリ iの内列重 dの LLRU(i)に対する平
i d
均値
[0149] [数 70]
は、 sumProductにおける 'tanh rule を用 ヽて、
[0150] [数 71]
Figure imgf000036_0001
ここで、カテゴリ iの枝の内で任意に選んだ次数
[0151] [数 72]
のノードに接続している枝の割合を表記するに当たって以下の関係を用いる。
[0152] [数 73] (
μ«ι
Figure imgf000037_0001
(29)
カテゴリ iの枝の総数は
[0153] [数 74]
d
である力 結局任意に選んだ次数
[0154] [数 75] d = (d1, 2,- -, ii ) のノードに接続して!/、る枝の割合は
[0155] [数 76] di -^a — a
Figure imgf000037_0002
となる。
[0156] そこでカテゴリ i内のアンサンブル平均で考えて以下の関係を得る
[0157] [数 77]
Figure imgf000038_0001
Φ(χ)を用いると
[0158] [数 78]
Ε\ tanh び ω
で上式より、
[0159] [数 79]
Figure imgf000038_0002
であるから結局、
[0160] [数 80]
Figure imgf000038_0003
(30) 更に、上述の
[0161] [数 81] vi.i
Φ(™ ( )
Figure imgf000038_0004
' 1 ,1) は jに対しても同様の考えが成り立つから、 [0162] [数 82]
s
Figure imgf000039_0001
(31 ) を得る。更に上述の、
[0163] [数 83]
Figure imgf000039_0002
を用いると、カテゴリに分類したタナーグラフにおける GAの下記再帰式を得る。
[0164] [数 84]
、ヽ l メノ ヽヽ
Figure imgf000039_0003
ノノ
(32) 予め与えられた次数
[0165] [数 85]
Figure imgf000039_0004
(33) の元で再帰式(32)により繰り返し復号過程における平均的な振る舞 、をみることが 出来る。平均値 mが繰り返しと共に無限大へ発展していけばエラーフリーで、途中で 発展がストップすればエラーフリーを実現出来ない。その境目を反復閾値 (Threshold )と呼び、その時の通信路 LLR平均 m(i) i=l〜nに対応する E /Nがエラーフリ u0 e b 0
一実現に必要なレベルとなる。また上式にぉ 、て、
[0166] [数 86] ή '
Figure imgf000040_0001
(34) である。
[0167] 以上は sumProductによる Hyperbolic Tangent Ruleを用いた場合で、(21)式と(22) 式の関係、即ち、平均値と分散の関係が繰り返し復号過程でも矛盾無く成り立つてい る場合である。即ち Hyperbolic Tangent Ruleにおける平均値とその分散のトレースは 、平均値のみのトレースでも分散も同時にトレースしたことになるので、一変数のみ観 測すればよ力つた場合である。
[0168] し力し、 MaxLog近似(或いは minSumアルゴリズムとも!/、う)によって生じた非線形処 理を含む GAの場合、もはや(21)式、(22)式の関係が成り立たなくなって、平均値 のみのトレースで分散も同時にトレースしたことになるメリットを得ることが出来なくなつ てくる。
[0169] そこで、平均値と分散の両方を繰り返し復号過程でトレースし、その SNRが十分に 大きくなるかどうかで判断する。途中で SNRの増大がストップすれば性能が悪い。そ の境目の通信路 LLR平均 m (i) i=l〜nに対応する E /Nをもって必要なレベル u0 e b 0
を判断する。
[0170] その為に、 MaxLog近似(或いは minSumアルゴリズムともいう)における確率分布を 求める必要がある。以下行重み 4の場合を例に取ってその確率分布について記す。
[0171] 行重みが 4であるから、 d—1 = 3で 3変数の確率分布を求めることになる。
[0172] 今、行方向の演算を考え、各ノードにおける対数尤度比を LLRと表記する。従って LLRは推定対象であるノードの個数を除く dc-1個の独立な確率変数によって決定さ れ、その確率変数をベクトルで
[0173] [数 87]
と表記し、それぞれの確率密度関数を平均値 m、分散 として
[0174] [数 88]
の様に表す。更に確率関数を以下の様に定義する。
[0175] [数 89] x >0 に対して
[0176] [数 90] φ+ (X, }. , o2j) = j x {Zj, , σ j άζ3
φ— Cx, , σ ) = J {Zj , mj, σ ) dzj ( 35 ) 、即ち、
[0177] [数 91]
Φ+ ( と
[0178] [数 92] Φ一 ) は X以上の大きさを持つ確率変数
[0179] [数 93]
ZJ の正の場合と負の場合の確率を表してレ、る。
LLRの確率密度分布 (pdl)である Q (X)を求める為に LLRの累積確率分布 (cc©を計 算する。
[0180] [数 94]
/<0 に対して、
[0181] [数 95]
Pr(£ <ί =Pr{odd number ^ ttgativ vahi ittitand^z^ >\l\ , } 即ち、全ての
[0182] [数 96] が
[0183] [数 97]
以上ならば
[0184] [数 98] ιηϊιψ も
[0185] [数 99] |/| 以上となる。従って
[0186] [数 100]
Figure imgf000043_0001
で近似されるところの負の領域(odd number of negative value in Z)で最小の [0187] [数 101] minijz j}
でも
[0188] [数 102] I
となるから、 [0189] [数 103]
£ <l <0 となり、
[0190] [数 104]
{odd number oj negatsvev hie in Z, and |i, | > | | ,V で領域化される事象は全て
[0191] [数 105]
Pr(L < /)
に含まれることになる。逆に全ての
[0192] [数 106]
[0193] [数 107]
以上でなければ
[0194] [数 108]
以下の事象が必ず存在するので
[0195] [数 109] Pr(L <i) に含まれない。従って行重みが 4で 3変数の累積分布 F (1)は、
L
[数 110] aiKQ
^(/)=ΡΓ(Ι</)=φ_ψ|,/κ1>σ2ι)-φ+(| «2)σ2 3)-φ+ψ|.'«3.σ23)
+Φ-ΦΙ- /κ2,σ ) -φ+(|/|, 021)^ + (| |,*«3,023)
+Φ— ψ|, «*32 - φ+(|/|, , ^,σ^)- φ+(| |, «2,σ2
+Φ—ΨΙ,
Figure imgf000045_0001
-φ— ψ|,/«323)
(36) 従って、求めようとしている Lの確率密度分布 Q (1)は、上記 (36)式の Lの累積確率分 し
布 (cdl)を 1で微分することによって得られ、
[数 111] αίί<
QL(i)= PrXz1,m1,a\)-^\,m2,a22). >+(\i\,m ,o )
+ Φ— (|4 /«ぃ σ2ι) . P (- ¾,/«2, σ2 2 ) - φ |/|, m^, σ2 3)
+ Φ— ψ|, /« σ2ι) · φ+φΙ, m2 , σ2 2) · Ρ¾ (― , w3, σ2 3)
+
Figure imgf000045_0002
. φ+(||,«3, σ2 3)
+ Φ一 ψ|, Μ2, σ22) - Ρ i-zv ίίί σ · φ+(|4 m3,o2i)
+ Φ_φ|, m72 2)- φ+ψ , σ2ι) .尸 (—も,/ Μ3, σ2 3)
+ Pli(z1,ml, σ2 3) - φ+ψ|, m1, σ2ι) - φ+ψ|, m2, σ2 2 )
+ φ_ψ|,«ί323)- ¾ ,σι)- φ+ψ|, 2,o )
+ φ一 ψ|, W 3, σ2 3) - φ+ ψ|, 12ι)- (-¾ ,/Μ22 2)
+ ^ σ2ι)- φ_(|/|,/«2, σ2 - Φ— ψ|, «3, σ23)
+ Φ-(|4 /«ぃ 尸(も, w2 ' σ2 2 ) - φ一 (|/|, «3 , σ2 3)
+ Φ_φ|, »ivo2 - φ— φ|, 2 , σ2 2) . ¾ (¾,/κ3, σ2 3 )
(37 となる。 1>0の場合も同じ結果になるのでここでは省略する。
(37)式より MaxLog近似(或いは minSumアルゴリズムとも!/、う)の平均値は、
[0198] [数 112]
(38) によって得ることが出来る。また、分散は、
[0199] [数 113]
Figure imgf000046_0001
(39) によって得ることが出来る。
これを( 32)式に当てはめると MaxLog近似(或いは minSumアルゴリズムともいう)によ つて生じた非線形処理を含むカテゴリに分類したタナーグラフにおける GAとなる。そ の GAによって最適な重み付けを検索した結果を以下の例で示す。
実施例
[0200] 多変数多項式;
[0201] [数 114] v(r>K)v T . Π =°-8-/; -χ, +0.1 -χ,! +0.2 -r0 -x -x + 0.1- 0■ ■ x3 + ϋ.3■ η
Figure imgf000046_0002
(40) 実施したソケットモデルを図 2に、検査マトリクスを図 3に、また対応表を図 4に示す, [0202] この例は MultKTypeと呼ばれるもので、 Type毎にカテゴリ分けして!/、る。上記(40) 式の多項式や図 2〜図 4のソケットモデルなど力 行重みが 4の単一行重みであるこ とが分かる。この例を上記 MaxLog近似(或いは minSumアルゴリズムともいう)によって 生じた非線形処理を含むカテゴリに分類したタナーグラフにおける GAによって最適 な重み付けを探索する。重み付けに相当する箇所をブロック図で示すと図 1の様にな る。即ち異なるカテゴリ毎に独立に重み付けがなされる様に構成されている。同図上 でに相当する箇所の重み付けで最高性能を発揮する値を下記表の左に記入すると 以下の様になる。
[0203] [表 1]
Figure imgf000047_0001
[0204] この結果が示す様に、 RA構造を持つ列重み 2の箇所の重み付けが 0. 98で一番 高ぐ他は 0. 58〜0. 62程度となっている。これは RA構造を持つカテゴリのノードは 他の高い列重み力もの信頼度の高い LLRを得るのに対して逆に RA構造以外の力 テゴリのノードは RA構造からの低 、列重み力 の信頼度の低 、LLRを得る為、 RA 構造のカテゴリは高い重み付けで、他のカテゴリは低い重み付けになったものと思わ れる。
[0205] 尚、カテゴリ分けのな!、タナーグラフで MaxLog近似(或いは minSumアルゴリズムとも V、う)を用いたとき重み付けによって補正を掛けることが知られて 、るが、これは全て のノードに対して単一の重み付けを行っているものである。或いは列重みではなく行 重みに注目して重み付けを行っている。これに対して本発明は列重みに注目して重 み付けを行って 、る点に注意が必要である。
[0206] 例えば、行重みに注目して重み付けを行ったとすると、上記の例では全ての行重み 力 S4で重み付けの値は同じということになつてしまう。それにも関わらず、重み付けを カテゴリ毎に変えることによって特性向上が示される点が従来と大きく異なる点で、こ れは上記のカテゴリ分けされた状態での非線形処理を含む DEを試みた本発明で始 めて明らかになった点であり、本発明はこの解析結果に基づいて行われたものである
[0207] 以上の結果を基に実際の MaxLog近似を使った LDPCデコーダでモンテカルロシミ ユレーシヨンを行った結果を図 5に示す。同図において左のラインが sum-productを用 V、た特性で右のラインが MaxLog近似(或!/、は minSumアルゴリズムとも!/、う)を用いた 特性である。この条件で用いた重み付けは以下の様になる。
[0208] [表 2]
Figure imgf000048_0001
[0209] 最終的なモンテカルロシミュレーションにおいても、上記結果が示す様に RA構造を 持つ列重み 2の箇所の重み付けが 0. 9999で一番高く、他は 0. 58〜0. 69といった 値になった。若干の最適化対象の動作点の違いで値が若干ずれているものの傾向と しては同じものであることが分かる。
[0210] 一方、従来の全てのノードに対して単一の重み付けを行う方法で他は全く同じ内容 で重み付け係数の最適化を行いモンテカルロシミュレーションを行った結果を図 6に 示す。この時用いた重み付け係数を追記した表を以下に示す。
[0211] [表 3]
Figure imgf000049_0001
[0212] 図 6の特性を見て分かるように MaxLog近似(或いは minSumアルゴリズムともいう)を 用いた右側のラインでは単一の重み付け係数だけではエラーフロアが生じてしま!/ヽ 用いることが出来な 、状態となる。
[0213] 以上が本発明の裏付けとなる解析結果であり、カテゴリに分類したタナーグラフによ る MaxLog近似(或いは minSumアルゴリズムとも!/、う)を用いたデコーダにカテゴリ毎の 重み付けが有効であることを示すものである。
[0214] 以下、図 1を参照しながら本発明の実施例を説明する。図 1は本発明のカテゴリに 分類したタナーグラフによる MaxLog近似(或!/、は minSumアルゴリズムとも!/、う)を用い
、カテゴリ毎の重み付けを施すデコーダの構成を示すブロック図、図 1Aはその具体 的な回路構成を示す図である。
[0215] 図 1に示すデコーダは、変数ノードメモリ 101および 102より構成されるメモリ 100、 重み付け処理部 103, 107、減算器 104、チェックノード処理部 105およびチェックノ 一ドメモリ 106から構成されて!、る。
[0216] 変数ノードを格納する変数ノードメモリ 101と 102はそれぞれ出力と入力とに切り替 えられて使用されるもので、タナーグラフにおけるカテゴリ分割に従い、メモリバンク( 不図示)によってこれらの内部は分割されている。また、受信値 LLRを格納するエリ ァが設けられており、変数ノードの出力を受け持つ出力部は変数ノードを出力する際 に受信値 LLRを加算して出力する。
[0217] 以下の説明では、変数ノードメモリ 101と 102のそれぞれ力 現在、出力と入力に 使用されているとして説明する。
[0218] 上記の様にして出力された変数ノード LLRは、 MaxLog近似(或いは minSumともいう )の為の第 1の最小値と第 2の最小値と 2を法とする極性和と最小値の位置を納めた チェックノードメモリ 106から生成された値、即ち、同じ行内における変数ノード LLR
[0219] [数 115]
に対して
[0220] [数 116]
Figure imgf000050_0001
( 41 ) なる選択と極性付けを行ってカテゴリに対応する重み付けが重み付け処理部 103に よりなされている力 重み付け処理部 103と同じ重み付け値を出力する重み付け処 理部 107の出力値を減算器 104で差し引いた後にチェックノード処理部 105に出力 される。
[0221] チェックノード処理部 105では、 MaxLog近似(或いは minSumともいう)の為の第 1の 最小値と第 2の最小値と 2を法とする極性和と最小値の位置の検出を行う。
[0222] チェックノード処理部 105の具体的な回路構成を図 7に示す。図 7 (a)に示すように 、 Min(Max)Log領域における近似アルゴリズムで Hyperbolic tangent ruleを実現して いる。ここで、チェックノード処理におけるメッセージ更新規範を、 Hyperbolic tangent ruleと呼んでおり、図 7 (b)に示す様に並列構成でパイプラインィ匕しているので、平均 的に見て 1クロックで動作を完了する。回路動作は tree構成で最小値検出 (min)を行 い、その最小値をマスクして第 2の最小値検出 (Sub-min)を行っている。 2step動作で あるが、パイプラインィ匕しているので等価的に 1クロックで全ての処理が完結する。尚 、煩雑になるので図ではパイプライン用の F/Fを省略して!/、る。 [0223] 図 1に戻って、このチェックノード処理をチェックノード処理部 105で行った後、得ら れた値 (min、 Sub-min, 2を法とする極性和である sign、そして最小値の位置を示す Po sition)をチェックノードメモリ 106に格納する。
[0224] チェックノードメモリ 106はメモリ 100と同様に入力または出力として用いられる 2つ のメモリ部を備えるものであり、チェックノード処理部 105の処理により得られた値を入 力のメモリ部に格納する。また、同時に、それらを用いて選択と極性付けで得られた( 41)式における uの値である LLRを変数ノードメモリ 102へ格納する。その際、重み 付け処理部 103で予めカテゴリ毎に決められた重み付けを行ってから 102へ格納す る。
[0225] 尚、このブロック図では格納する際に重み付け処理を行っている力 出力である変 数ノードメモリ 101で受信値 LLRを加算する前に重み付け処理を行ってもよいし、チ エックノード処理部 105で出力する際に重み付け処理を行っても良い。
[0226] 次のサイクルでは、こんどは変数ノードメモリ 102が出力で変数ノードメモリ 101が 入力となるべく構成が入れ替わる。煩雑になるので図では省略しているが重み付け 処理部 103も入力である変数ノードメモリ 101に対して行われる様になる。また、二部 構成のチェックノードメモリ 106も入力と出力が入れ替わり、予め決められた繰り返し 回数になるまで繰り返しサイクル毎に交互にメモリの入力と出力を入れ替える処理が 行われる。
[0227] これらのメモリのアクセスはカテゴリ毎に分割されたメモリバンク内で更にカテゴリ内 の重み分布に応じてメモリバンクによる分割がなされており、パラレルで処理がすす む様になつている。また、各カテゴリ内の重み分布の関係で一時的にパラレルァクセ スが集中するタイミングが生じた場合を考慮して FIFO機能を有するキャッシング回路 を介してメモリアクセスを行う様になって 、るので、平均化の効果でメモリバンクの分 割数の増加やオンチップバスの本数の削減を行っている。
[0228] また、図中特に記載されていないが、ターナーグラフによって決定される接続情報 は検査マトリクスの 1の位置をインデックスの形で保存して 、るメモリが有り、少な!/、メ モリ容量で LLRの接続制御を行って 、る。
[0229] 更に、図 2, 3, 4を見て分力るように、この例ではカテゴリと列重みの関係がほぼ対 応する様になつている。特に列重みに拘らずカテゴリ化で自由に重み付けを決めるこ とも出来る力 この例の様に列重みによるグループ化をカテゴリに含ませることも可能 である。
[0230] 以上図 1を参照しながらデコーダのアーキテクチャについて説明した。次に本発明 によるエンコーダについて説明する。
[0231] 低次数プロファイルによって決定される検査マトリクス Hは疎な行列となる力 復号 の為の処理量が少なく低複雑ィ匕に適して 、る。し力し疎な検査マトリクス Hに対応し た生成マトリクス Gはほとんど確実に疎な行列でなくなるので、この為符号化処理が 復号処理に対して無視出来ないということになる。しかし、この疎な検査マトリクスを活 力しつつ符号を生成する算法が知られている。そこで、高速ィ匕可能で処理規模の小 さ 、アーキテクチャにつ 、て図を参照しながら説明する。
[0232] 本発明の符号化処理は、予め計算(Pre-calculation)を行うオフライン処理 (Offline process)とハードウェアによるオンライン処理(Online process)によって構成されてい る。予め行うオフライン処理では検査マトリクスの疎な性質を保ったままで行列変換を 行う。またノヽードウエアによるオンライン処理では検査マトリクスの疎な性質を保ったま ま作られた四つのマトリクス A, B, T及び Fを元に高速に符号化処理を実行する。
[0233] (1) Pre- calculation (Offline process)
検査マトリクスの行入れ替えおよび列入れ替えによって以下の上三角零行列 Hを 得る。
[0234] [数 117]
A B T
H =
C D E
( 42 )
:で、 Tは対角要素に "Γを持つ下三角行列で左から
[0235] [数 118] I 0
-E-T"1 I (43) を掛けると、以下の行列を得る。
[0236] [数 119]
Figure imgf000053_0001
( 4) ここでエンコーダ出力である符号語をベクトル表現で以下の様に表記する。
[0237] [数 120]
Figure imgf000053_0002
同ベクトル内ベクトルで sは情報ビット系列を表し、 p ,ρはそれぞれパリティビット系列
1 2
を表す。
符号語ベクトル Xと検査マトリクス Ηとの間には
[0238] [数 121]
H X = 0 なる関係があるから、
[0239] [数 122]
Figure imgf000054_0001
(45) これより以下の関係を得る。
[0240] [数 123]
Figure imgf000054_0002
sr (46)
(2) Hardware Encoding (Online process)
上式を元に与えられた情報ビット系列 sからエンコーダ出力の一部であるノ リテイビ ット系列 Pを高速に生成する。
[0241] i. s→p : 上式における第 2の関係より、
[0242] [数 124]
Figure imgf000054_0003
= F-s- where; prec l iated m tfix F = |rE B+D) IE T"1 A-C) (47) 上式における演算は全て GF (2)上で行われ、ベクトル Ριの大きさは" gap"と呼ばれ る部分で非常に小さい。従って図 8の様な簡単な回路で実現出来る。同図において 、第 1のメモリ 801はオフライン処理で得られるマトリクス Fの要素 1の位置をインデック スとして蓄積しており、第 1の行カウンタ 803によってアドレッシングされこの第 1のメモ リ 801が出力するインデックスによって更にアドレッシングされる第 2のメモリ 802には 情報ビット系列 Sが格納されている。従って、マトリクス Fの要素である 1のインデックス によって出力された情報ビット Sを排他的論理和回路 804と遅延素子 805によって 2 を法とする積算することになるので出力先のパリティ系列 plを蓄積するメモリ 806 は上記(47)式の
[0243] [数 125]
力 S格糸内されること〖こなる。
ii. s, p→p :上記 (46)式における第 1の関係より、
1 2
[0244] [数 126]
Figure imgf000055_0001
( 48) ここで、マトリクス Τは以下の様な対角要素に "Γを持つ下三角マトリクスである 従って、
[0245] [数 127]
Figure imgf000055_0002
Figure imgf000055_0003
( 49 )
:れより以下の関係を得る c
[0246] [数 128]
Figure imgf000056_0001
…㊉ -
( 50) 上式における演算は全て GF (2)上で行われ、マトリクス Tは下三角行列で疎な行 列でもある。また、 Aも Bも疎な行列であるから、図 9の様な簡単な回路で実現出来る。
[0247] 同図において、第 3のメモリ 901には (47)式によるオンライン処理で得られたパリテ ィ系列 piと上述のオフライン処理で得られたマトリクス Bの積と前記情報ビット系列 Sと オフライン処理で得られたマトリクス Aの積の和である
[0248] [数 129]
(- A sr - B が格納されていて、第 4のメモリ 902にはオフライン処理で得られたマトリクス Tの要 素 1の位置をインデックスとして蓄積している。
[0249] 第 5のメモリ 903は第 2のパリティ系列 p2を格納し、第 2の行カウンタ 904によってァ ドレッシングされた第 4のメモリ 902が出力するインデックスを読み出しアドレスとするメ モリであって、第 5のメモリ 903の出力と
[0250] [数 130]
(- A s^ - B p! が格納されている第 3のメモリ 901の出力が行の初回のみ排他的論理和を取る様に セレクタ 907が第 2の行カウンタ 904によって制御され、その後は第 2のノ リティ系列 p 2の方にセレクタ 907が切り替わることによって、排他的論理和回路 905と遅延素子 9 06によって(50)式の演算が実行される。尚、 [0251] [数 131] -B p,r) のハードウェアでの演算は通常の設計事項であるのでここでは説明を省略する。
[0252] 以上のオフライン処理と図 8と図 9に示されるハードウ アによるオンライン処理によ つて本発明のエンコーダが構成される。
[0253] 図 10はエンコード処理の負荷の殆どを担う図 9の回路を高速化したもので、図 9に 示したものと同様に、第 2の行カウンタ 1004によってアドレッシングされたメモリ 1002 のマトリクス Tの要素の 1の位置をインデックスとして動作している。
7 図 10において、図 9に示した構成と異なる点はこのインデックスが行重み分有る点 で、同一の行内にある全ての 1の位置に対するインデックスをパラレルに第 2のパリテ ィ系列 p2が格納されるメモリ 1003にアドレッシングしている点である。その為、第 2の ノ リティ系列 p2が格納されるメモリとしてミラーメモリ 1003— 1, 2を付加して
[0254] [数 132]
Figure imgf000057_0001
が格納されている第 3のメモリ 1001の出力と共に排他的論理和回路 1005によって 一度期に(50)式の演算を行い、その結果をミラーメモリ 1003— 1, 2を含む第 2のパ リティ系列 p2が格納されるメモリ 1003に格納して高速動作を実現したものである。

Claims

請求の範囲
[1] LDPC符号ィ匕方式におけるタナーグラフを用いて、各ノードは複数のカテゴリに分類 することが可能であって、繰り返し復号における確率伝播計算に際し前記カテゴリ毎 に予め決定された重み付けを伝播対象である対数尤度比(以下 LLRと略す)に対し て行うことを特徴として構成される LDPCデコーダ。
[2] 前記繰り返し復号における確率伝搬計算は、 MaxLog近似(或いは minSumァルゴ リズム)であって各カテゴリに属する検査マトリクスの列重みに合わせて重み付けする 値を決定することを特徴として構成される請求項 1項記載の LDPCデコーダ。
[3] 前記タナーグラフとして、前記複数のカテゴリ内に RA構造 (Repeat Accumulate 構造の略でジグザグ構造ともいう)のカテゴリを有し、該カテゴリの重み付けは他の力 テゴリの重み付けより大きくしたことを特徴として構成される請求項 1または請求項 2記 載の LDPCデコーダ。
[4] LDPC符号ィ匕方式におけるタナーグラフを用いて、グラフを構成する各ノードは、そ の検査マトリクスの列重みによる複数のグループ分けが可能であって、繰り返し復号 における確率伝播計算に際しては、前記グループ毎に決定された重み付けを伝播 対象である対数尤度比 (LLR)に対して行うことを特徴として構成される LDPCデコー ダ。
[5] LDPC符号ィ匕方式におけるタナーグラフを用いて、各ノードは複数のカテゴリに分類 することが可能であって、各カテゴリに属する検査マトリクスの重み分布に合わせて伝 播対象である対数尤度比 (LLR)を格納するメモリバンクの分割数を変えて該対数尤 度比へのパラレルアクセスを可能にしたことを特徴として構成される LDPCデコーダ。
[6] LDPC符号ィ匕方式におけるタナーグラフを用いて、各ノードは複数のカテゴリに分類 することが可能であって、各カテゴリに属する検査マトリクスの重み分布に合わせて伝 播対象である対数尤度比 (LLR)を格納するメモリバンクの分割数を変える構造を有 し、前記対数尤度比へのパラレルアクセスを行う際、 FIFO機能を有するキャッシング 回路を介して行われることを特徴として構成される請求項 5項記載の LDPCデコーダ
[7] 前記繰り返し復号における確率伝搬計算を MaxLog近似 (minSumアルゴリズムとも いう)によって行う際、第一の最小値検出回路によって第一の最小値を検出し、該検 出された第一の最小値に対応する入力をマスクして第二の最小値を検出する第二の 最小値検出回路を有し、第一及び第二の最小値回路をパイプライン構造によって構 成することにより等価的に一クロックで近似計算を実行することを特徴として構成され る請求項 2項記載の LDPCデコーダ。
[8] 前記繰り返し復号における確率伝搬計算を MaxLog近似 (minSumアルゴリズムとも いう)によって行う際、変数ノード分の LLRを一時保存する第 1のメモリと、請求項 7記 載の第 1の最小値及び第 2の最小値とその入力の 2を法とする極性和を保存するチ エックノード分の第 2のメモリを有し、該第 1のメモリへの入力は、請求項 7記載の第 1 の最小値及び第 2の最小値を元にタナーグラフによって決定される接続に基づいて 該第 1のメモリの保存値に加算することによって順次行われ、該第 1のメモリは、請求 項 2記載のカテゴリ分けがなされていて、カテゴリ毎に予め決められた重み付けを該 第 1のメモリ出力に対して行われ、その重み付けされた LLRと受信値 LLRとを加算し た後、前記第 2のメモリ蓄積結果である第 1の最小値及び第 2の最小値と 2を法とする 極性和を元にタナーグラフによって決定される接続情報によって選択される値を差引 き、再び MaxLog近似(minSumアルゴリズムとも 、う)を行う繰り返し復号を特徴とし て構成される請求項 7記載の LDPCデコーダ。
[9] 前記カテゴリ毎の重み付けを前記第一のメモリ出力ではなぐ該第一のメモリ入力か 若しくは MaxLog近似(minSumアルゴリズムとも ヽぅ)出力に逆戻る迄の経路に施 すことを特徴として構成される請求項 8記載の LDPCデコーダ。
[10] 前記タナーグラフによって決定される接続情報は、検査マトリクスにおける 1の位置を インデックスの形で保存することを特徴として構成される請求項 8または請求項 9の L DPCデコーダ。
[11] 前記バリアブルノード分の LLRを一時保存する第 1のメモリを 2面持ち、更に請求項 7 記載の第 1の最小値及び第 2の最小値とその入力の 2を法とする極性和を保存する チェックノード分の第 2のメモリを二面持ち、どちらか一方のメモリを出力として用いて いる場合は他のメモリを入力として用いて、繰り返し復号における繰り返しサイクル毎 に交互に該メモリの入力と出力を入れ替えることを特徴として構成される請求項 8記 載の LDPCデコーダ。
検査マトリクス Hの行列操作によって対角要素に 1を持つ下三角マトリクス Tを含む上 三角零マトリクス
[数 1]
A Β Τ
Η =
C D E なる関係を持つマトリクス A, B, Tを得る手段 1を有し、更に該上三角零マトリクスより [数 2]
Figure imgf000060_0001
なるマトリクス Fを得る手段 2を有し、該手段 1及び 2は予め計算されるオフライン処理 であって、その結果得られたマトリクス Fの要素 1の位置をインデックスの形で蓄積す るメモリ 1と、情報ビット系列 Sが格納されているメモリ 2と第 1の行カウンタを有しており 、該第 1の行カウンタによってアドレッシングされた前記メモリ 1が出力されるインデック スによって更にアドレッシングされる前記メモリ 2の出力を排他的論理和することによ つて第 1のパリティ系列 piを得る第 1の回路を有しており、該ノ^ティ系列 piと前記ォ フライン処理で得られたマトリクス Bの積を取り、前記情報ビット系列 Sと前記オフライ ン処理で得られたマトリクス Aの積を取って排他的論理和することによって
[数 3]
- A -sr -B ρχ Γ なる系列を格納するメモリ 3を有し、前記オフライン処理で得られたマトリクス Τの要素 1の位置をインデックスの形で蓄積するメモリ 4と、第 2のノ リティ系列 ρ2が格納される メモリ 5と第 2の行カウンタを有し、該第 2の行カウンタによってアドレッシングされた前 記メモリ 4が出力されるインデックスによって更に逐次読み出しアドレッシングされる前 記メモリ 5の出力と、前記第 2の行カウンタによってアドレッシングされるメモリ 3の出力 を排他的論理和をすることによって第 2のノ リティ系列 ρ2を得て前記第 2の行カウン タによって書き込みアドレッシングされる前記メモリ 4へ書き込む第 2の回路を有して おり、前記オフライン処理と第 2及び第 2の回路によるオンライン処理によって符号ィ匕 処理を行うことを特徴として構成される LDPCエンコーダ。
[13] 第 2のパリティ系列 p2が格納される前記メモリ 5をマトリクス Tの行重みの数分有したミ ラーメモリとし、マトリクス Tの要素の 1の位置がインデックスとして格納されているメモリ 4は単位アドレスに対して行重み分のインデックスを出力するフォーマットであって、こ れらのインデックスを各ミラーメモリに対して読み出しアドレッシングすることによって 行重み分の排他的論理和を一度に行うことを特徴として構成される請求項 12記載の LDPCエンコーダ。
[14] 符号を変数ノードとチェックノードにより表現するタナーグラフを用いた LDPCデコー ダであって、
複数のカテゴリに分類された伝播対象である対数尤度比を各カテゴリ毎に格納する 複数のメモリバンクを備えた第 1の変数ノードメモリと、
前記複数のカテゴリ毎の重み付け値を各カテゴリ毎に格納する複数のメモリバンク を備えた第 2の変数ノードメモリと、
前記第 2の対数ノードメモリに格納される各カテゴリ毎の重み付け値を伝播対象で ある対数尤度比に応じて決定する重み付け処理部と、
前記第 1の変数ノードメモリおよび第 2の変数ノードメモリの各カテゴリ毎の格納内 容から繰り返し復号における確率伝播計算を行なって伝播対象である対数尤度比と して前記前記第 1の変数ノードメモリおよび重み付け処理部へ出力するチェックノー ド処理手段と、
を有することを特徴とする LDPCデコーダ。
[15] チェックノード処理部での前記繰り返し復号における確率伝搬計算は、 MaxLog近似 あるいは minSumアルゴリズムによって行なわれ、各カテゴリに属する検査マトリクスの 列重みに合わせて重み付けする値を決定することを特徴とする請求項 14記載の LD PCデコーダ。
[16] 前記複数のカテゴリ内に RA構造のカテゴリを有し、該カテゴリの重み付けは他の力 テゴリの重み付けより大きくしたことを特徴とする請求項 14または請求項 15記載の L DPCデコーダ。
[17] 符号を変数ノードとチェックノードにより表現するタナーグラフを用いた LDPCデコー ダであって、
検査マトリクスの列重みによって複数のグループに分類された伝播対象である対数 尤度比を各カテゴリ毎に格納する複数のメモリバンクを備えた第 1の変数ノードメモリ と、
前記複数のグループ毎の重み付け値を各グループ毎に格納する複数のメモリバン クを備えた第 2の変数ノードメモリと、
前記第 2の対数ノードメモリに格納される各グループ毎の重み付け値を伝播対象で ある対数尤度比に応じて決定する重み付け処理部と、
前記第 1の変数ノードメモリおよび第 2の変数ノードメモリの各グループ毎の格納内 容から繰り返し復号における確率伝播計算を行なって伝播対象である対数尤度比と して前記前記第 1の変数ノードメモリおよび重み付け処理部へ出力するチェックノー ド処理手段と、
を有することを特徴とする LDPCデコーダ。
[18] 符号を変数ノードとチェックノードにより表現するタナーグラフを用いた LDPCデコー ダであって、
複数のカテゴリに分類された伝播対象である対数尤度比を各カテゴリ毎に格納する 複数のメモリバンクを備えた第 1の変数ノードメモリと、
前記複数のカテゴリ毎の重み付け値を各カテゴリ毎に格納する複数のメモリバンク を備えた第 2の変数ノードメモリと、
前記第 2の対数ノードメモリに格納される各カテゴリ毎の重み付け値を伝播対象で ある対数尤度比に応じて決定する重み付け処理部と、
前記第 1の変数ノードメモリおよび第 2の変数ノードメモリの各カテゴリ毎の格納内 容から繰り返し復号における確率伝播計算を行なって伝播対象である対数尤度比と して前記前記第 1の変数ノードメモリおよび重み付け処理部へ出力するチェックノー ド処理手段と、
を有し、 前記第 1の変数ノードメモリのメモリバンクの数は各カテゴリに属する検査マトリクス の重み分布に合わせて変更可能とされ、これにより前記第 1の変数ノードメモリへの パラレルアクセスが可能であることを特徴とする LDPCデコーダ。
[19] 前記第 1の変数ノードメモリへのパラレルアクセスを行う FIFO機能を有するキヤッシン グ回路を備えることを特徴とする請求項 18記載の LDPCデコーダ。
[20] チェックノード処理手段は、
第 1の最小値検出回路によって第 1の最小値を検出する第 1の最小値回路と、 前記第 1の最小値回路により検出された第 1の最小値に対応する入力をマスクして 第 2の最小値を検出する第 2の最小値検出回路と、を有し、
前記第 1及び第 2の最小値回路はノ ィプライン構造とされて等価的に 1クロックで近 似計算を実行することを特徴とする請求項 15記載の LDPCデコーダ。
[21] チェックノード処理手段は、
前記複数のカテゴリに分類された前記第 1の変数ノードメモリおよび重み付け処理 部へ出力する対数尤度比を一時保存する第 1のメモリと、
前記第 1の最小値及び第 2の最小値と、その入力の 2を法とする極性和を保存する チェックノード分の第 2のメモリと、
を有し、
前記第 1のメモリへの入力が、前記第 1の最小値及び第 2の最小値を元にタナーグ ラフによって決定される接続に基づいて該第 1のメモリの保存値に加算することが順 次行ない、
各カテゴリ毎に予め決められた重み付けを該第 1のメモリ出力に対して行い、その 重み付けされた LLRと受信値 LLRとを加算した後、前記第 2のメモリ蓄積結果である 第 1の最小値及び第 2の最小値と 2を法とする極性和を元にタナーグラフによって決 定される接続情報よつて選択される値を差引き、再び MaxLog近似あるいは minSumァ ルゴリズムを行う繰り返し復号を行なうことを特徴とする請求項 20記載の LDPCデコ ーダ。
[22] チェックノード処理手段は、
前記複数のカテゴリに分類された前記第 1の変数ノードメモリおよび重み付け処理 部へ出力する対数尤度比を一時保存する第 1のメモリと、
前記第 1の最小値及び第 2の最小値と、その入力の 2を法とする極性和を保存する チェックノード分の第 2のメモリと、
を有し、
前記第 1のメモリへの入力が、前記第 1の最小値及び第 2の最小値を元にタナーグ ラフによって決定される接続に基づいて該第 1のメモリの保存値に加算することが順 次行ない、
各カテゴリ毎に予め決められた重み付けを前記第 1のメモリ入力若しくは MaxLog近 似あるいは minSumアルゴリズム出力に逆戻る迄の経路に対して行 、、その重み付け された LLRと受信値 LLRとを加算した後、前記第 2のメモリ蓄積結果である第 1の最 小値及び第 2の最小値と 2を法とする極性和を元にタナーグラフによって決定される 接続情報よつて選択される値を差引き、再び MaxLog近似ある 、は minSumァルゴリズ ムを行う繰り返し復号を行なうことを特徴とする請求項 20記載の LDPCデコーダ。
[23] 前記タナーグラフによって決定される接続情報は、検査マトリクスにおける 1の位置を インデックスの形で保存することを特徴として構成される請求項 21または請求項 22 記載の LDPCデコーダ。
[24] 前記第 1の変数ノードメモリと前記第 2の変数ノードメモリ、および、前記第 1のメモリと 第 2のメモリは、どちらか一方を出力として用いている場合には他方が入力として用い られ、繰り返し復号における繰り返しサイクル毎に交互に入力と出力が入れ替えられ ることを特徴とする請求項 21記載の LDPCデコーダ。
[25] 予め計算されるオフライン処理によって検査マトリクス Hの行列操作により対角要素 に 1を持つ下三角マトリクス Tを含む上三角零マトリクス
[数 4]
A B T
H =
C D E なる関係を持つマトリクス A, B, Tを得る第 1の手段と、
前記上三角零マトリクスより、予め計算されるオフライン処理によって [数 5]
F = (- E T"1 B + D)"1 (∑ A - C) なるマトリクス Fを得る第 2の手段と、を備え、
前記第 1の手段および第 2の手段により得られたマトリクス Fの第 1の要素の位置を インデックスの形で蓄積する第 1のメモリと、
情報ビット系列 Sが格納されている第 2のメモリと、
第 1の行カウンタと、
前記第 1の行カウンタによってアドレッシングされた前記第 1のメモリが出力するイン デッタスによってアドレッシングされた前記第 2のメモリの出力の排他的論理和をとる ことによって第 1のノ リティ系列 piを得る第 1の回路と、
前記第 1のノ リティ系列 piと前記オフライン処理で得られたマトリクス Bの積を取り、 前記情報ビット系列 Sと前記オフライン処理で得られたマトリクス Aの積を取って排他 的論理和をとることによって得られた
[数 6]
- A sr - ρχ Γ なる系列を格納する第 3のメモリと、
前記マトリクス Τの第 1の要素の位置をインデックスの形で蓄積する第 4のメモリと、 第 2のパリティ系列 ρ2が格納される第 5のメモリと、
第 2の行カウンタと、
前記第 2の行カウンタによってアドレッシングされた前記第 4のメモリが出力するイン デッタスによって逐次読み出しがアドレッシングされる前記第 5のメモリの出力と、前 記第 2の行カウンタによってアドレッシングされる前記第 3のメモリの出力の排他的論 理和をとることによって前記第 2のノ リティ系列 ρ2を得て前記第 2の行カウンタによつ て書き込みアドレッシングされる前記第 5のメモリへ書き込む第 2の回路と、を有し、 前記オフライン処理と第 1及び第 2の回路によるオンライン処理によって符号ィ匕処 理を行うことを特徴とする LDPCエンコーダ。
第 2のパリティ系列 p2が格納される前記第 5のメモリがマトリクス Tの行重みの数分有 したミラーメモリであり、
マトリクス Tの要素の 1の位置がインデックスとして格納されている第 4のメモリは単 位アドレスに対して行重み分のインデックスを出力するフォーマットであって、これら のインデックスを各ミラーメモリに対して読み出しアドレッシングすることによって行重 み分の排他的論理和をとることを一度に行うことを特徴とする請求項 25記載の LDP Cエンコーダ。
PCT/JP2006/308116 2005-05-13 2006-04-18 Ldpc符号化方式によるエンコーダ及びデコーダ WO2006120844A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
EP06732045.7A EP1881610B1 (en) 2005-05-13 2006-04-18 Weighted LDPC decoding using the MaxLog approximation
JP2007528155A JP5315693B2 (ja) 2005-05-13 2006-04-18 Ldpc符号化方式によるエンコーダ及びデコーダ
US11/914,328 US8140930B1 (en) 2005-05-13 2006-04-18 Encoder and decoder by LDPC coding
KR1020137004821A KR101356808B1 (ko) 2005-05-13 2006-04-18 Ldpc 부호화 방식에 의한 인코더 및 디코더
KR1020117023498A KR101390544B1 (ko) 2005-05-13 2006-04-18 Ldpc 부호화 방식에 의한 인코더 및 디코더
KR1020097017454A KR20090106620A (ko) 2005-05-13 2006-04-18 Ldpc 부호화 방식에 의한 인코더 및 디코더
CN2006800165262A CN101233693B (zh) 2005-05-13 2006-04-18 利用ldpc编码的编码器和解码器

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-141588 2005-05-13
JP2005141588 2005-05-13

Publications (1)

Publication Number Publication Date
WO2006120844A1 true WO2006120844A1 (ja) 2006-11-16

Family

ID=37396357

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/308116 WO2006120844A1 (ja) 2005-05-13 2006-04-18 Ldpc符号化方式によるエンコーダ及びデコーダ

Country Status (6)

Country Link
US (1) US8140930B1 (ja)
EP (1) EP1881610B1 (ja)
JP (1) JP5315693B2 (ja)
KR (4) KR100945991B1 (ja)
CN (1) CN101233693B (ja)
WO (1) WO2006120844A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007013518A (ja) * 2005-06-30 2007-01-18 Nec Electronics Corp 復号装置と方法並びにプログラム
CN101299612A (zh) * 2008-06-10 2008-11-05 上海瀚讯无线技术有限公司 一种快速树图分解方法
JP2009135735A (ja) * 2007-11-30 2009-06-18 Sumitomo Electric Ind Ltd 復号器、受信装置及び符号化データの復号方法
US7805654B2 (en) 2005-06-30 2010-09-28 Nec Electronics Corporation Decoding device and decoding method and program
JP2012060450A (ja) * 2010-09-09 2012-03-22 Toshiba Corp 誤り訂正復号器、メモリコントローラ及び受信機
JP2012129591A (ja) * 2010-12-13 2012-07-05 Toshiba Corp 誤り訂正復号器及び記憶装置
JP2016502821A (ja) * 2012-12-03 2016-01-28 デジタル パワーラジオ,リミティド ライアビリティ カンパニー 連結コーディング・システムの先進繰り返しデコーディングおよびチャネル評価のためのシステムおよび方法

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8418023B2 (en) * 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US8473824B1 (en) * 2008-09-08 2013-06-25 Marvell International Ltd. Quasi-cyclic low-density parity-check (QC-LDPC) encoder
TWI372523B (en) * 2008-11-14 2012-09-11 Realtek Semiconductor Corp Recording controller and decoder for parity-check code
JP5197544B2 (ja) * 2009-10-05 2013-05-15 株式会社東芝 メモリシステム
US8732564B2 (en) * 2010-01-27 2014-05-20 Telefonaktiebolaget L M Ericsson (Publ) Error floor reduction in iteratively decoded FEC codes
US8661326B1 (en) * 2010-08-04 2014-02-25 Marvell International Ltd. Non-binary LDPC code decoding early termination
CN102130693B (zh) 2010-11-10 2013-06-05 华为技术有限公司 一种低密度奇偶校验码的译码方法和装置
US8713398B2 (en) * 2011-03-22 2014-04-29 Nec Corporation Error correct coding device, error correct coding method, and error correct coding program
JP5648852B2 (ja) * 2011-05-27 2015-01-07 ソニー株式会社 データ処理装置、及び、データ処理方法
JP5664919B2 (ja) * 2011-06-15 2015-02-04 ソニー株式会社 データ処理装置、及び、データ処理方法
CN104221291B (zh) * 2012-03-28 2018-02-23 英特尔公司 更新与迭代解码器关联的变量节点
US9154261B2 (en) * 2013-01-16 2015-10-06 Broadcom Corporation Low density parity check (LDPC) coding in communication systems
US8995302B1 (en) 2013-01-16 2015-03-31 Pmc-Sierra Us, Inc. Method and apparatus for translated routing in an interconnect switch
US9178653B2 (en) * 2013-01-16 2015-11-03 Broadcom Corporation Very short size LDPC coding for physical and/or control channel signaling
US9128858B1 (en) 2013-01-29 2015-09-08 Pmc-Sierra Us, Inc. Apparatus and method for adjusting a correctable raw bit error rate limit in a memory system using strong log-likelihood (LLR) values
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US8990661B1 (en) 2013-03-05 2015-03-24 Pmc-Sierra Us, Inc. Layer specific attenuation factor LDPC decoder
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US9397701B1 (en) 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
US8935598B1 (en) * 2013-03-12 2015-01-13 Pmc-Sierra Us, Inc. System and method for adaptive check node approximation in LDPC decoding
US8984376B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for avoiding error mechanisms in layered iterative decoding
US8984365B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for reduced memory storage in LDPC decoding
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
US9235467B2 (en) 2013-03-15 2016-01-12 Pmc-Sierra Us, Inc. System and method with reference voltage partitioning for low density parity check decoding
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US8930790B1 (en) * 2013-09-13 2015-01-06 U-Blox Ag Method and apparatus for identifying selected values from among a set of values
JP5971670B2 (ja) 2013-12-09 2016-08-17 三菱電機株式会社 誤り訂正復号装置
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US9935654B2 (en) 2015-02-06 2018-04-03 Alcatel-Lucent Usa Inc. Low power low-density parity-check decoding
US9590657B2 (en) * 2015-02-06 2017-03-07 Alcatel-Lucent Usa Inc. Low power low-density parity-check decoding
FR3032571B1 (fr) * 2015-02-11 2017-03-10 Commissariat Energie Atomique Methode de decodage iteratif de sequences lfsr a faible probabilite de fausse alarme
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10318389B2 (en) * 2016-07-15 2019-06-11 Quantum Corporation Joint de-duplication-erasure coded distributed storage
KR102666852B1 (ko) * 2016-07-21 2024-05-20 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템 및 그의 동작 방법
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10157677B2 (en) 2016-07-28 2018-12-18 Ip Gem Group, Llc Background reference positioning and local reference positioning using threshold voltage shift read
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
CN108574493B (zh) 2017-03-10 2021-12-24 华为技术有限公司 数据处理的方法和装置
TWI657669B (zh) * 2017-11-28 2019-04-21 財團法人資訊工業策進會 低密度奇偶檢查碼解碼器及其解碼方法
US11200484B2 (en) * 2018-09-06 2021-12-14 International Business Machines Corporation Probability propagation over factor graphs
CN112005499B (zh) * 2018-10-18 2023-02-03 华为技术有限公司 Ldpc码的译码方法和装置
CN111208538B (zh) * 2018-11-21 2022-04-26 展讯通信(上海)有限公司 电文的解调方法及装置
KR20200084687A (ko) 2019-01-03 2020-07-13 삼성전자주식회사 비이진 폴라 코드를 수신하는 장치 및 이의 디코딩 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004186940A (ja) * 2002-12-03 2004-07-02 Nec Corp 誤り訂正符号復号装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
JP3808769B2 (ja) 2001-12-27 2006-08-16 三菱電機株式会社 Ldpc符号用検査行列生成方法
JP3833545B2 (ja) 2002-02-13 2006-10-11 三菱電機株式会社 通信システム、受信機、送信機および通信方法
US7197690B2 (en) * 2002-05-31 2007-03-27 Broadcom Corporation Bandwidth efficient coded modulation scheme based on MLC (multi-level code) signals having multiple maps
KR100891782B1 (ko) 2002-06-11 2009-04-07 삼성전자주식회사 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
JP2004088470A (ja) * 2002-08-27 2004-03-18 Sony Corp 復号装置及び復号方法
EP1568140A1 (en) 2002-11-27 2005-08-31 Koninklijke Philips Electronics N.V. Running minimum message passing ldpc decoding
JP4163023B2 (ja) 2003-02-28 2008-10-08 三菱電機株式会社 検査行列生成方法および検査行列生成装置
KR20040101743A (ko) 2003-05-26 2004-12-03 삼성전자주식회사 통신 시스템에서 저밀도 패리티 검사 코드의 복호 장치 및방법
US7391826B2 (en) 2003-08-08 2008-06-24 Lucent Technologies Inc. Decoding method and apparatus
US7174495B2 (en) * 2003-12-19 2007-02-06 Emmanuel Boutillon LDPC decoder, corresponding method, system and computer program
US7237181B2 (en) * 2003-12-22 2007-06-26 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
KR20060032464A (ko) * 2004-10-12 2006-04-17 삼성전자주식회사 효율적인 저밀도 패리티 검사 코드 복호 방법 및 장치
KR100703271B1 (ko) 2004-11-23 2007-04-03 삼성전자주식회사 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치
US7562279B2 (en) * 2005-05-20 2009-07-14 Mitsubishi Electric Research Laboratories, Inc. 2D-normalized min-sum decoding for ECC codes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004186940A (ja) * 2002-12-03 2004-07-02 Nec Corp 誤り訂正符号復号装置

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CHUNG S.-Y., RICHARDSON T.J., URBANKE R.L.: "Analysis of Sum-Product Decoding of Low-Density Parity-Check Codes Using a Gaussian Approximation", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 47, no. 2, February 2001 (2001-02-01), pages 657 - 670, XP011027864 *
RICHARDSON T. AND URBANKE R.: "Multi-Edge Type LDPC Codes", SBS IMPLEMENTERS FORUM, 20 April 2004 (2004-04-20), pages 1 - 36, XP002992932 *
RICHARDSON T.: "Multi-edge type LDPC codes, On the occasion of Bob McEliece's 60th birthday celebration", SBS IMPLEMENTES FORUM, 3 February 2003 (2003-02-03), pages 1 - 52, XP002992931 *
RICHARDSON T.J. AND URBANKE R.L.: "Efficient Encoding of Low-Density Parity-Check Codes", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 47, no. 2, February 2001 (2001-02-01), pages 638 - 656, XP011027880 *
See also references of EP1881610A4 *
ZARKESHVARI F. AND BANIHASHEMI A.H.: "On Implementation of Min-Sum Algorithm for Decoding Low-Density Parity-Check (LDPC) Codes", GLOBAL TELECOMMUNICATIONS CONFERENCE, 2002. GLOBECOM '02, 17 November 2002 (2002-11-17), pages 1349 - 1353, XP010636365 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007013518A (ja) * 2005-06-30 2007-01-18 Nec Electronics Corp 復号装置と方法並びにプログラム
US7805654B2 (en) 2005-06-30 2010-09-28 Nec Electronics Corporation Decoding device and decoding method and program
JP2009135735A (ja) * 2007-11-30 2009-06-18 Sumitomo Electric Ind Ltd 復号器、受信装置及び符号化データの復号方法
CN101299612A (zh) * 2008-06-10 2008-11-05 上海瀚讯无线技术有限公司 一种快速树图分解方法
JP2012060450A (ja) * 2010-09-09 2012-03-22 Toshiba Corp 誤り訂正復号器、メモリコントローラ及び受信機
JP2012129591A (ja) * 2010-12-13 2012-07-05 Toshiba Corp 誤り訂正復号器及び記憶装置
JP2016502821A (ja) * 2012-12-03 2016-01-28 デジタル パワーラジオ,リミティド ライアビリティ カンパニー 連結コーディング・システムの先進繰り返しデコーディングおよびチャネル評価のためのシステムおよび方法
US10135567B2 (en) 2012-12-03 2018-11-20 Ln2 Db, Llc Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems

Also Published As

Publication number Publication date
EP1881610B1 (en) 2015-06-03
KR20130038399A (ko) 2013-04-17
KR100945991B1 (ko) 2010-03-09
KR20080004609A (ko) 2008-01-09
CN101233693B (zh) 2012-11-14
EP1881610A4 (en) 2010-10-06
KR101390544B1 (ko) 2014-04-30
JPWO2006120844A1 (ja) 2008-12-18
KR101356808B1 (ko) 2014-01-28
CN101233693A (zh) 2008-07-30
KR20090106620A (ko) 2009-10-09
JP5315693B2 (ja) 2013-10-16
EP1881610A1 (en) 2008-01-23
US8140930B1 (en) 2012-03-20
KR20110125266A (ko) 2011-11-18

Similar Documents

Publication Publication Date Title
WO2006120844A1 (ja) Ldpc符号化方式によるエンコーダ及びデコーダ
Planjery et al. Finite alphabet iterative decoders—Part I: Decoding beyond belief propagation on the binary symmetric channel
JP5483875B2 (ja) Ldpc符号のブロックおよびレートに独立な復号の方法および装置
CN1953336B (zh) 在低密度奇偶校验解码器中更新校验节点的方法
CN101079639B (zh) 基于节点存储器的低密度奇偶校验解码装置和方法
EP3092717B1 (en) Decoding of non-binary ldpc codes
CN100589357C (zh) 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法
Sarkis et al. Stochastic decoding of LDPC codes over GF (q)
US9195536B2 (en) Error correction decoder and error correction decoding method
CN101273532A (zh) 解码装置及接收装置
CN102893529B (zh) 用于ldpc码的解码的方法和系统
CN109802688B (zh) 一种多进制ldpc译码系统和方法
Lin et al. Efficient shuffled decoder architecture for nonbinary quasi-cyclic LDPC codes
US10554226B2 (en) Method for controlling a check node of a NB-LDPC decoder and corresponding check node
KR101631128B1 (ko) 크기조정 상수를 사용하는 가변 노드 업데이터를 갖는 ldpc 디코더
Sha et al. Stage-combined belief propagation decoding of polar codes
US8347167B2 (en) Circuits for implementing parity computation in a parallel architecture LDPC decoder
Sha et al. Improved BP decoder for polar codes based on a modified kernel matrix
US20080178066A1 (en) Method and apparatus for receiving data in communication system
Sarkis et al. Relaxed half-stochastic decoding of LDPC codes over GF (q)
Astola et al. On the use of Lee-codes for constructing multiple-valued error-correcting decision diagrams
CN106569906B (zh) 基于稀疏矩阵的编码写入方法及装置
KR20040000060A (ko) 근사화 함수를 사용하는 오류정정부호의 복호 방법
Astola et al. Introducing Fault-Tolerance to Multiple-Valued Logic with Error-Correcting Decision Diagrams.
Leduc-Primeau et al. Stochastic decoding of error-correcting codes

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680016526.2

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007528155

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2006732045

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11914328

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 1020077026683

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: RU

WWP Wipo information: published in national office

Ref document number: 2006732045

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: KR

Ref document number: 1020097017454

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1020117023498

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1020137004821

Country of ref document: KR