WO2007132656A1 - 誤り訂正符号化方法及び装置 - Google Patents

誤り訂正符号化方法及び装置 Download PDF

Info

Publication number
WO2007132656A1
WO2007132656A1 PCT/JP2007/058972 JP2007058972W WO2007132656A1 WO 2007132656 A1 WO2007132656 A1 WO 2007132656A1 JP 2007058972 W JP2007058972 W JP 2007058972W WO 2007132656 A1 WO2007132656 A1 WO 2007132656A1
Authority
WO
WIPO (PCT)
Prior art keywords
polynomial
multiplication
circuit
bit
length
Prior art date
Application number
PCT/JP2007/058972
Other languages
English (en)
French (fr)
Inventor
Norifumi Kamiya
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 EP07742407.5A priority Critical patent/EP2031759B1/en
Priority to CN2007800263128A priority patent/CN101490963B/zh
Priority to JP2008515479A priority patent/JP4978625B2/ja
Priority to US12/300,412 priority patent/US8205142B2/en
Publication of WO2007132656A1 publication Critical patent/WO2007132656A1/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/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
    • 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/1151Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-LDPC 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/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1162Array based LDPC codes, e.g. array 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/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1168Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal sub-matrices
    • 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/611Specific encoding aspects, e.g. encoding by means of decoding
    • 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/617Polynomial operations, e.g. operations related to generator polynomials or parity-check polynomials
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs

Definitions

  • the present invention relates to a block error correcting code method and an apparatus therefor, in which an information sequence is divided into blocks of a fixed length and a redundant sequence is independently added to each block, and in particular, a low-density nority.
  • the present invention relates to an inspection (LDPC) encoding method and apparatus.
  • the low-density parity check code scheme is a generic term for error correction codes having a feature that a check matrix is sparse rather than just showing one error correction coding scheme.
  • a sparse check matrix means that most of the components (elements) in the check matrix are "0" and the number of components that are "1" is very small.
  • the low density note check code is D. J. C. MacKay,
  • Non-Patent Document 1 By using an iterative decoding method such as a product duct (sum-product) algorithm, it is possible to construct an error correction code method that has a very large coding gain close to the theoretical limit.
  • a technical problem associated with the low-density parity check code is that the coding method, that is, the information bit sequence power, requires a large amount of calculation for the redundant bit sequence calculation method. It is. In the most typical coding device in which the generation of redundant bit sequences is the multiplication power of a matrix by a code generator matrix, the number of times proportional to the square of the code length is excluded in the generation of a low-density parity check code sequence. Logical OR operation is required.
  • the code checker When the code checker is configured with a code check matrix, the generation of the low-density parity check code sequence is performed as follows.
  • the parity check matrix is fundamentally transformed into the following form, which is realized by the fundamentally modified parity check matrix.
  • Equation (2) Each bit p in the corresponding r-bit redundant bit string p 1, p 2,..., P is calculated by Equation (2).
  • this r X k matrix A is held in a storage device such as a memory, and the number of exclusions equal to the number of values “1” in each component of the matrix A is excluded. Logical OR operation is required.
  • FIG. 1 shows an example of the configuration of a code key apparatus in the related art that performs code keying using a low density parity check code.
  • the encoding apparatus shown in the figure performs a code check using a low-density parity check code when an information bit string is given, and outputs a code bit string.
  • This encoding device performs the operation of the above equation (2) on the information bit sequence to generate a redundant bit sequence, and holds the matrix A shown in equation (1).
  • a matrix information storage memory 72 that supplies each component (element) of the sequence A to the redundant bit sequence calculation device 71 and an information bit sequence and redundant bit sequence calculation device 71 so that a sign bit sequence in which the information bit sequence and the redundant bit sequence are combined is obtained.
  • the redundant bit string calculation device 71 includes an exclusive OR operation circuit.
  • a check matrix is a matrix that is a block matrix power of a cyclic permutation matrix.
  • a method for reducing the amount of memory and simplifying exclusive logical operation processing by limiting each block matrix to a cyclic matrix is disclosed.
  • these methods are also called pseudo cyclic codes, and even in these methods, there is a problem that the reduction in the scale of the apparatus and the simplicity of the processing are not compatible with each other! Even with the method using cyclic codes, the equipment scale is reduced.
  • there is a problem that complicated control is required, or that it can be applied only to codes that are further limited among pseudo cyclic codes, that is, codes that are further constrained.
  • Patent Document 1 Japanese Patent Laid-Open No. 2003-115768
  • Patent Document 2 JP 2004-72130 A
  • Non-Patent Document 1 DJC MacKav, “Good Error -Correcting Codes Based on very sparse matrices (Always a sparse line [J-based good error ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ),, IEEE Transactions on Information Theory, pp. 39 9-431, March 1999
  • Non-Patent Document 2 Thomas Richardson, R. Urbanke (Enocient Noncoding, Efficient Encoding of Low—Density Parity—Check Codes, “IEEE Transactions on” In formation Theory, pp. 619— 656, September 2001
  • the code ⁇ ⁇ ⁇ ⁇ related to the low-density parity check code includes a storage device such as a matrix information storage memory that holds the matrix A in the above equation (1), and a redundant bit string that executes the processing of the above equation (2). Since it is implemented using an arithmetic processing unit such as a calculation unit, the scale of the encoding unit becomes very large compared to cyclic encoding such as Reed-Solomon code or convolutional encoding. Has a point. Because of this problem, the error correction coding in the related technology described above is easy to process in the coding process and the scale of the device, particularly when applied to systems such as satellite communication, terrestrial microwave communication, and mobile communication. Therefore, it is difficult to achieve both reduction in coding and improvement in coding gain by code key processing.
  • an object of the present invention is an error correction code input method using a low-density NOR check code, and the error correction encoding device can be reduced in scale and simple in configuration.
  • the object is to provide a method capable of obtaining a large coding gain by iterative decoding.
  • Another object of the present invention is an error correction coding apparatus using low density parity check coding, in which the apparatus scale is small and the apparatus configuration is simple, and a large coding gain is obtained by iterative decoding. It is in providing the apparatus which can obtain.
  • the error correction coding method of the present invention is an error correction code method using a low-density parity check code, where K, m, n are positive integers, r is an integer of l ⁇ r ⁇ m, k , k, ..., k to 0 ⁇ k, k
  • the error correction code (M ⁇ r) first blocks consisting of bit strings of length n and each of k blocks of length k 1, k 2,.
  • the error correction encoding apparatus of the present invention is an error correction encoding apparatus using a low density parity check code, wherein K, m, n are positive integers, r is an integer of l ⁇ r ⁇ m, k, k, ..., k to 0 ⁇ k, k
  • the length K of the information bit sequence to be error-corrected code is (m ⁇ r) first blocks each consisting of a bit sequence of length ⁇ , Each of k, k, ..., k
  • each first arithmetic unit may include a maximum of (m ⁇ r) polynomial multiplier circuits.
  • the second arithmetic unit may be, for example, a maximum of one polynomial division (r 1) for the second block having a length k and the operation results from the r first arithmetic units.
  • An output Pth polynomial division 'multiplication unit In this case, assuming that q is an integer of 1 ⁇ q ⁇ r, the r-th polynomial division 'multiplication unit is provided with, for example, at most one polynomial division circuit and at most (r-q) polynomial multiplication circuits. Can do.
  • connection logic can be used to set a polynomial to be a divisor in the polynomial division circuit and a polynomial for determining a multiplier in the polynomial multiplication circuit.
  • a coding method using a low-density parity check code which has a small device scale and a simple device configuration, and can obtain a high coding gain by an iterative decoding method.
  • An apparatus can be provided.
  • FIG. 1 is a block diagram showing an example of the configuration of an error correction code encoding device in the related art.
  • FIG. 2 is a block diagram showing a configuration of an error correction code encoder according to an embodiment of the present invention.
  • FIG. 3 is a block diagram showing an example of a configuration of a polynomial multiplication unit.
  • FIG. 4 is a block diagram showing an example of a configuration of a polynomial multiplication circuit.
  • FIG. 5 is a block diagram showing an example of the configuration of a polynomial division / multiplication unit.
  • FIG. 6 is a block diagram showing an example of a configuration of a polynomial division circuit.
  • FIG. 7 is a diagram showing an example of a frame format related to a code bit sequence.
  • FIG. 8 is a block diagram showing another configuration example of the polynomial multiplication unit.
  • FIG. 9 is a block diagram showing an example of the configuration of a data communication system using a coding device according to the present invention. Explanation of symbols
  • the error correction code encoding apparatus generates a code bit string by performing error correction coding using a low density parity check code on an information bit string supplied as an input.
  • the error correction code encoder includes r polynomial multiplication units 11 arranged in parallel, r being an integer equal to or greater than 1, r polynomial divisions' multiplication units 12 arranged in series, and an input A switch 13 provided on the output side, and a switch 14 provided on the output side.
  • the notation "[l]" to "[r]” is used as described later.
  • the switch 13 is used to distribute the information bit string input to the error correction code unit to one of the polynomial multiplication units 11.
  • Switch 14 sequentially selects the information bit string and the r outputs of the polynomial division / multiplication unit [1] in the final stage in order to output a sign bit string in which the information bit string and the redundant bit string are combined, as will be described later. Is to do.
  • the code method according to the present embodiment receives an information bit sequence having a length of K bits and calculates and outputs a code bit sequence having a length of nm bits.
  • the bit length K of the information bit sequence can be expressed by the following equation.
  • K bits in a code bit sequence having a bit length of nm completely match an input information bit sequence having a bit length of ⁇ . That is, the encoding method in the present embodiment is a systematic code method. Details of the configuration of the error correction coding apparatus according to this embodiment will be described below. In the following description, the length means a bit length unless otherwise specified.
  • the r polynomial multiplication units 11 have the same configuration, and m is an integer greater than or equal to r, and at most (m ⁇ r) polynomial multiplication circuits as shown in FIG. 21, an exclusive OR circuit 22 that is one less than the number of polynomial multiplication circuits 21, and a switch 23.
  • the (m ⁇ r) polynomial multiplier circuits 21 are connected in series via exclusive OR circuits 22.
  • the switch 23 has one input (m ⁇ r) output, and the input information bit string is the first, ie, the leftmost polynomial multiplier circuit 21 or (m ⁇ r ⁇ 1) exclusive logics. Supply to one of the sum circuits 22. That is, the output of the polynomial multiplication circuit 21 at the right end in the figure is supplied to the subsequent polynomial division / multiplication unit 12 as the output of the polynomial multiplication unit 11.
  • Such a polynomial multiplication unit 11 receives n (m -r) bits of the information bits of length K shown in Equation (2) as input, and outputs a bit string of length n. This output bit string is input to the subsequent polynomial division / multiplication unit 12. A bit string of length n (m ⁇ r) is divided every n bits, and is distributed to one of (m ⁇ r) polynomial multiplication circuits 21 by the switch 23.
  • the 1st force nth bit is sequentially input to the first, ie, the leftmost polynomial multiplication circuit 21, and the (n + 1) th power 2nth bit is passed through the exclusive OR circuit 22, It is sequentially input to the second polynomial multiplier circuit 21 from the left end of the figure.
  • j is an integer of 2 ⁇ j ⁇ m—r—1
  • the (jn + 1) th to (j + 1) nth bits are passed through the jth exclusive OR circuit 22.
  • (J + 1) th Are sequentially input to the polynomial multiplication circuit 21.
  • each polynomial multiplication circuit 21 in the polynomial multiplier unit 11 has the same configuration.
  • each polynomial multiplication circuit 21 includes n flip-flops 31 used as registers, n powers of n exclusive OR circuits 32, and exclusive logic.
  • a connection element 33 provided for each sum circuit 32 and supplied with an input bit string to the polynomial multiplication circuit 21 and having a connection or non-connection state determined according to a check matrix, and a switch 34 are provided.
  • An exclusive OR circuit 32 is provided for each flip-flop 31 on the input side of the flip-flop. In this way, the n flip-flops 31 with the exclusive OR circuit 32 are connected in series via the exclusive OR circuit 32, and the switch 34 is the flip-flop of the final stage.
  • the switch 34 supplies the output of the flip-flop 31 of the final stage to the outside as the output of the polynomial multiplier circuit 21 or is supplied to the flip-flop 31 of the first stage, that is, the left end of the figure via the exclusive OR circuit 32 of the first stage. This is for selecting whether to return.
  • the polynomial multiplication circuit 21 has an n-bit input and an n-bit output.
  • the n-bit input bit string is sequentially input to the multiplicative multiplier 21, and all inputs are completed.
  • the switch 34 By switching the switch 34 at the time, the contents of n flip-flops (ie, registers) 31 are sequentially output.
  • each of the n connection elements 33 is a predetermined n-bit bit string h 1, h 2,.
  • the r polynomial division / multiplication units 12 arranged in series are distinguished from each other by "[l]" to "[r]” in order to distinguish them from each other.
  • polynomial division on the input side ie, the polynomial multiplication unit 11 ⁇
  • the multiplication unit is polynomial division / multiplication unit [r-1]
  • the rightmost polynomial division ⁇ multiplication unit is the polynomial division ⁇ multiplication unit [1].
  • Polynomial division like this, where i is an integer of l ⁇ i ⁇ r.
  • Polynomial division of multiplication unit 12 Division / multiplication unit [i] is at most one polynomial division as shown in Fig. 5.
  • a circuit 41 and at most (i-1) polynomial multiplier circuits 42 are provided.
  • the polynomial multiplier circuit 42 the polynomial multiplier circuit shown in FIG. 4 can be used as it is.
  • the polynomial division circuit 41 will be described later.
  • the r polynomial division / multiplication units 12 arranged in series have different numbers of polynomial multiplication circuits constituting the polynomial division 12 depending on their positions in the series arrangement.
  • a unit is distinguished by the number of polynomial multiplication circuits that compose it. In the sign unit shown in Fig.
  • the number of polynomial multiplication circuits 42 in the polynomial division / multiplication unit [r] is (r 1) or less, and the polynomial multiplication in the polynomial division / multiplication unit [r 1]
  • the number of circuits 42 is (r 2) or less, and as described above, the number of polynomial multiplication circuits 42 in the polynomial division / multiplication unit [i] is (i ⁇ 1) or less. If multiplication with the zero polynomial is taken into account, there is no need to provide a multiplication circuit for multiplication with the zero polynomial, so the number of polynomial multiplication circuits 42 in the polynomial division / multiplication unit [i] is (i — 1 ).
  • the polynomial division / multiplication unit [i] is described below.
  • Polynomial division ⁇ Multiplication unit [i] has a maximum of one polynomial division circuit 41 and a maximum (i
  • the first (i-1) terminals are connected to the input of the polynomial multiplier 42 via the exclusive OR circuit 43, and the output of the polynomial multiplier 42 is , Each connected to terminal 48.
  • the exclusive OR circuit 43 is also supplied with the output of the selector 44 in common.
  • the output of the selector 44 is also connected to the terminal 47.
  • the remaining one terminal 46 is connected to the remaining two exclusive OR circuits 43.
  • One of these exclusive OR circuits 43 is also supplied with a bit string from a terminal 45 and is connected to an input of a polynomial division circuit 41.
  • the other exclusive OR circuit 43 is supplied with the output bit string of the polynomial divider circuit 41 and is connected to one input terminal of the selector 44.
  • the other input terminal of the selector 44 is connected to the terminal 45.
  • the r terminals 46 are respectively connected to the outputs of the r polynomial multiplication units 11.
  • the polynomial multiplication circuit 42 and the terminal 48 are not provided.
  • the polynomial division circuit 41 receives as an input the exclusive OR of the k bits sequentially input from the terminal 45 and the first half k bits of the n bits sequentially input from the terminal 46. (N ⁇ k) bits are output sequentially.
  • the exclusive OR of the (n ⁇ k) bits of the output of the polynomial divider circuit 41 and the (n ⁇ k) bits of the latter half of the n bits sequentially input from the terminal 46 is obtained via the selector 44. It is supplied to the input of the polynomial multiplication circuit 42.
  • the selector 44 receives k bits sequentially input from the terminal 45 as the first input, and sequentially inputs the output of the polynomial divider circuit and the terminal 46 from the terminal 46.
  • the exclusive OR of the n bits of the latter half (n-ki) is received as the second input, and the first and second inputs are switched to output a total of n bits sequentially.
  • the n bits output from the selector 44 are output from the terminal 47 as n bits in the nm bits of the code bit sequence.
  • the polynomial multiplier circuit 42 receives an exclusive OR of the output from the selector 44 and the n bits sequentially input to the terminal 46 as an input, and sequentially outputs the n bits of the multiplication result from the terminal 48.
  • the polynomial divider circuit 41 includes (n—k) flip-flops 51, at most (n—k) exclusive OR circuits 52, where k is an integer of 0 ⁇ k ⁇ n, n ⁇ k + 1) connecting elements 53, switches 54 and 55, and force are also formed.
  • Each of the (n—ki + 1) wiring elements 53 is associated with each bit of g (g—g,..., G) having a predetermined length (n—k + 1) bits.
  • the switch 54 supplies the output of the flip-flop 51 of the final stage to the outside as the output of this polynomial divider circuit 41, or supplies the remaining one exclusive OR circuit 52, that is, the last exclusive OR circuit 52. It is a switch to do.
  • the final exclusive OR circuit 52 is supplied with the input bit string to the polynomial divider circuit 41, and the output of the final exclusive OR circuit 52 passes through the switch 55 (n— The k + 1) th connection element 53, that is, the connection element corresponding to the bit g is supplied. No. 1
  • connection element 53 corresponding to bit g is provided.
  • the flop 51 corresponds to the bit g via the connection element 53 corresponding to the bits g,..., G to the exclusive OR circuit 52 provided at the input part thereof.
  • Such a polynomial divider circuit 41 receives the bit as a sequential input with the switch 54 as the last exclusive OR circuit 52 side, and switches the switch 54 when the input is completed.
  • the total (n—ki) bits stored in the flip-flop 51 are sequentially output.
  • this polynomial division circuit 41 has a k-bit input bit string and a (n—k + 1) -bit bit string g, g,.
  • the parity check matrix of Equation (4) is an r X m block matrix, and each component thereof is an n X n cyclic matrix.
  • n x n circulant matrix in the lower right triangular part of equation (4) that is, the part written as “0” in bold letters in the equation is a zero matrix.
  • the n X n cyclic matrix is the row vector in the second row that is a one bit right rotation of the row vector in the first row, and k As an integer of 2 ⁇ k ⁇ n, the column vector in the k-th column is the row vector in the first row rotated (k-1) bits to the right.
  • the row vector of the first row of the ⁇ ⁇ ⁇ circulant matrix in equation (5) can be expressed as a polynomial of ( ⁇ -1) degree or less, as shown in equation (6).
  • i is an integer 1 ⁇ i ⁇ r
  • j is an integer 1 ⁇ j ⁇ m—r
  • v is an integer 2 ⁇ v ⁇ r
  • u is an integer 1 ⁇ u ⁇ t1
  • the row vector of the first row of H in (4) is (n 1) th order
  • the tuttle expressed as a polynomial of (n 1) degree or lower is denoted as f (u ' v) (X), and the row vector of the first row of G in Equation (4) is (n ⁇ 1) order or lower This is expressed as g (i) (X).
  • N_bit bit string h 1, h 2,..., H _ which determines whether the connection element 33 is connected or not connected, is represented by the polynomials h (i ′ j) (x) and f (u , v ) Determined through selection of (x).
  • a primitive element ⁇ of a finite field GF (q) with q powers and an integer i satisfying 1 ⁇ i ⁇ r g (i ) (X) is defined as in Eq. (7).
  • B is a subset of integers greater than or equal to 0 and less than or equal to q-2, and its coefficient is 0 or 1 when the polynomial of equation (7) is expanded. Therefore, g (i) (X) is a polynomial that is multiplied by the minimum polynomial on the original field (GF (2)) of GF (q) defined by B. Further, B 1, B 2,..., B satisfy the following relationship (equation (8)).
  • the polynomial h (i ′ j) (x) is set as a double polynomial of g (i) (x) modulo x n ⁇ 1. That is, the formula As a condition satisfying the condition (9), a polynomial h (" j) (x) of degree (n-1) or less is set.
  • i is an integer of l ⁇ i ⁇ r
  • j is an integer of l ⁇ j ⁇ m—r
  • ⁇ (i ' j) (x) has a coefficient of 0 or 1 for each term
  • the polynomial has an order of (n-1) order or less.
  • the polynomial f (u ' v) (x) described above is set as a double polynomial of g (i) (x) modulo x n -1, as with the polynomial h (i ' j) (x). To do. That is, a polynomial f (u ′ v) (X) having an order of (n ⁇ 1) or less is set as satisfying the condition of Expression (10).
  • v is an integer of 2 ⁇ v ⁇ r
  • u is an integer of l ⁇ u ⁇ v—1
  • ⁇ ( u , v ) (x) has a coefficient of 0 for each term, It is assumed that the order is a polynomial of degree (n ⁇ 1) or less.
  • connection element 33 is connected to the predetermined n-bit bit string h 1, h 2,. Which state of non-connection state is determined. Specifically, if j is an integer of 0 ⁇ j ⁇ n— 1 and h is 1, then the connection element marked "h" is in the connected state, and h is
  • connection element marked “h” When it is 0, the connection element marked “h” is in a non-connection state.
  • the n-bit bit string that defines this connection is selected as follows.
  • each polynomial multiplication unit 11 includes at most (m ⁇ r) polynomial multiplication circuits 21 as shown in FIG. , m—r.
  • i is an integer of l ⁇ i ⁇ r
  • j is an integer of l ⁇ j ⁇ m—r
  • k is an integer of 0 ⁇ k ⁇ n— 1
  • the connection of the jth polynomial multiplication circuit in the i-th polynomial multiplication unit N is represented by hh..., H, and h is expressed by equation (9)
  • FIG. 6 shows the configuration of the polynomial divider circuit 41.
  • whether the connection element 53 is in a connected state or a non-connected state is determined in advance as described above.
  • (n— k + 1) bit sequence g, g, ..., g, i is an integer of l ⁇ i ⁇ n
  • j is an integer of 0 ⁇ j ⁇ n— k
  • V is an integer of 1 ⁇ V ⁇ r
  • u is an integer of l ⁇ u ⁇ v—l
  • the upper force in the vth polynomial division / multiplication unit 12 is also the uth polynomial (see Fig. 5)
  • Each connection element in the multiplier circuit 42 is connected in the same way as in the polynomial multiplier circuit 21 in the polynomial multiplication unit 11 according to the coefficient of each term of ⁇ (u ' v) (X) in Equation (10). Set to one of unconnected states.
  • Equation (12) the number of redundant bits in the code method using the matrix H of Equation (4) as a check matrix
  • Equation (3) the number of information bits is shown in Equation (3).
  • Matches K The bit length of one block that combines the number of information bits and the number of redundant bits is nm.
  • FIG. 7 shows an example of a frame format related to a code bit sequence having a length of nm bits encoded by the error correction code encoder of this embodiment.
  • the K bits in the sign bit sequence shown in Equation (3) completely match the input information bit sequence to this sign unit.
  • the sign key method of the present embodiment is a systematic sign key method.
  • Polynomial division ⁇ Multiplication unit [r] is the next-stage polynomial division 'multiplication unit using the above k bits of information and!: Total of nr bits output from the 11 polynomial multiplication units 11 as inputs. It outputs n (r ⁇ l) bits that are input to [r ⁇ 1] and n bits that are output from this encoder. Switch 14 switches to the output terminal of the polynomial division / multiplication unit [r], and outputs n bits. Assuming that i is an integer of 2 ⁇ i ⁇ r—1, switch 1 and 3 in the same manner, so that a k-bit information bit string is supplied to the polynomial division 'multiplication unit [i].
  • Polynomial division / multiplication unit [i] processes the ni bits supplied from the polynomial division 'multiplication unit [i + 1] in addition to the information bits of this bit, and outputs n bits that are the output of the encoder and the next stage. N (i-l) bits to be output to the polynomial division and multiplication unit [i-1]. Note that a K-bit information bit string is continuously supplied to the encoding device of this embodiment. Since the processing in each polynomial division / multiplication unit 12 requires n unit time, after inputting k bits in the information bit string, the processing of the polynomial division / multiplication unit [i] is completed and the output is completed. It is necessary to delay the input of the information bit string (k bits) to the polynomial division / multiplication unit [i–l] that operates next until the time until
  • switch 13 is switched so that the k-bit information bit string and the n bits that are the output of the polynomial division / multiplication unit [2] are input to the polynomial division / multiplication unit [1].
  • n bits are output from the polynomial division / multiplication unit [1].
  • This n-bit output becomes the output of this coding device via the switch 14.
  • each polynomial multiplication unit 11 is sequentially input with n (m ⁇ r) bits up to the first bit n (m ⁇ r) bit of the information bit string.
  • n (m ⁇ r) bits are divided into n bits and distributed to (m ⁇ r) polynomial multiplier circuits 21 in the polynomial multiplier unit 11 by the switch 23 as shown in FIG. .
  • the first bit to the nth bit are sequentially input to the first polynomial multiplier, that is, the leftmost polynomial multiplier in FIG.
  • switch 23 When the nth bit has been input, switch 23 is switched, and the (n + 1) th bit to the 2nth bit are passed through the exclusive OR circuit 22 to the second polynomial multiplication. Circuit, that is, the leftmost force in FIG. 3 is input to the second polynomial multiplier circuit. That is, the exclusive OR of each of the (n + 1) th bit to the 2nth bit and the output bit of the first polynomial multiplier circuit is sequentially input to the second polynomial multiplier circuit.
  • the polynomial division / multiplication unit 12 includes at most one polynomial division circuit 41 and at most (r 1) polynomial multiplication circuits 42.
  • the polynomial division / multiplication unit 12 is distinguished by the number of polynomial multiplication circuits 42 constituting it, but the basic operation is the same.
  • n (m ⁇ r) bits are already input in the K bits of the information bit string of Equation (3) to the encoding device of the present embodiment.
  • the multiplication unit [r] has first the (n (m—r) + 1) th bit force of the information bit string and the (n (m—r) + k) th bit through the force terminal 45 At the same time, an n-bit bit string is sequentially input through the terminal 46 in parallel with each of the r polynomial multiplying units 11. While an information bit string of a total of k bits is being input from terminal 45, the exclusive OR of this information bit string from terminal 45 and the bit string input from! Is input. At this time, the selector 44 is set to select the input from the terminal 45, and the input from the terminal 45 is output as it is to the output terminal 47.
  • the output of the selector 44 is output from the output terminal 47 and simultaneously input to the (r ⁇ 1) exclusive OR circuits 43.
  • the first output excluding those that are input to the polynomial divider circuit 41 is also the input from the terminal 46 up to the (r-1) th Are respectively input to (r 1) polynomial multiplication circuits 42 through an exclusive OR circuit 43 having the above selector output as the other input.
  • the output of the selector 44 is input from the output of the polynomial divider 41 and the!: Th terminal 46. It is set to select exclusive OR with the data to be processed. At this time, the number of bits output from the polynomial divider circuit 41 is (n ⁇ k) bits. The output of selector 44 is output from terminal 47. In addition, the output of the sign unit, that is, the redundant bit string, and the exclusive OR operation with the input from the (r-1) terminals 46 are executed. The result of the exclusive OR operation is the multiplication of each polynomial. Input to circuit 42.
  • the first k bits are the information bit string input from the terminal 45, and the second (n ⁇ k) bits are redundant bits.
  • k bits from the (n (m ⁇ r) + 1) th to (n (m ⁇ r) + k) of the information bit string and the first k bits of the bit string input from terminal 46! ⁇ Unit time is required, and then unit time is required to process the output (n—k) bits of the polynomial divider circuit and the (n—k) bits in the second half of the bit string input from the terminal 46.
  • the processing time required for the polynomial division / multiplication unit [r] is n unit times.
  • the data stored in the flip-flop (ie, register) 31 in the (r-1) polynomial multiplier circuit 42 is output from the terminal 48, and the next-stage polynomial division / multiplication unit [r 1] Is input.
  • [i] is the output of the sign unit from the k bits input from terminal 45 and the ni bits input from terminal 46 via the terminal 46 using the polynomial division / multiplication unit [i + 1] 47 output as well as data to be input to the next polynomial division / multiplication unit [i-1].
  • This generated data is output from the terminal 48 of the polynomial division / multiplication unit [i] during the operation of the next-stage polynomial division / multiplication unit [i 1].
  • the first half of the bits is the information bit string input from the terminal 45, and the latter (n ⁇ k) bits are redundant bits.
  • Polynomial division 'multiplication unit [1] consists of at most one polynomial division circuit 41.
  • This polynomial division circuit 41 is a polynomial division • of the n bits input from the multiplication unit [2] via terminal 46. First k bits and end
  • Input from child 45 Inputs an exclusive OR with k bits. N video output from terminal 47
  • bit string input via terminal 45 is output as is.
  • the (n—k) bits in the latter half are the (n—k) bits that are the output of the polynomial divider circuit 41 and the terminal 4
  • the contents of (n ⁇ k) flip-flops (ie, registers) 5 1 are all initialized to zero, and the switch 54 is set to the feedback side, that is, not to the output side. Then, switch 55 is closed.
  • the contents of the shift register composed of the flip-flops 51 are sequentially updated.
  • switch 55 is opened, switch 54 is set to the output side, and the contents of each flip-flop 51 are output sequentially.
  • the error correction coding apparatus assumes that K is a positive integer, and is given this information bit string when a blocked information bit string having a length of K bits is given.
  • a code bit sequence of length mn is output in the frame format shown in FIG. M and n are integers of 2 or more, r is an integer of l ⁇ r ⁇ m, and k, k, k, ⁇ , k are each 0
  • the r polynomial multiplication units 11 include a total of up to r (m ⁇ r) polynomial multiplication circuits 21, and the maximum r (m ⁇ r) polynomial multiplication circuits 21 are long.
  • the r polynomial division / multiplication unit 12 includes a maximum of total !: polynomial division circuits 41 and a total of r (r 1) polynomial multiplication circuits 42, where r polynomials
  • the division / multiplication unit 12 uses the polynomial division circuit 41 and the polynomial multiplication circuit 42 to divide the K-bit input information bit string as described above into the lengths k, k, k, ..., k block and polynomial multiplication unit 11 output data
  • a maximum of r polynomial divider circuits 41 are provided.
  • the minimum number on the original prime field of the finite field as a maximum of r polynomials A series of polynomials related to the polynomial is adopted.
  • the polynomial that defines the state of the connecting element in the polynomial multiplier 42 in the polynomial divider / multiplier unit 12 is selected so that the matrix formed by the product polynomial with the polynomial corresponding to the polynomial divider 41 becomes a sparse matrix. Selected.
  • W (k) represents the sum of each coefficient as an integer when the integer k with l ⁇ k ⁇ q-2 is expanded in binary.
  • g (X) 1.
  • i and j are integers satisfying l ⁇ i and j ⁇ r, if i and j, (x) is divisible by g (i) (x), so it is set by equations (13) and (14).
  • the polynomial expressions g (1 ) ( X ), g (2) (x), ..., g W (x) satisfy the requirements of Eqs. (7) and (8).
  • the polynomial h (i ' j) (x) is selected as follows: where i is an integer of l ⁇ i ⁇ r, j is an integer of l ⁇ j ⁇ m—r, and g ( i) Set to be a multiple polynomial of (X). If V is an integer of 2 ⁇ v ⁇ r and u is an integer of l ⁇ u ⁇ v- 1, the choice of polynomial f (u , v) (x) is the same as for polynomial h (i , j) (x) Similarly, as shown in equation (10), it is set to be a multiple polynomial of g (u) (x).
  • the polynomials h (i ' j) (x) and f (u ' v) (x) can be selected freely, but the polynomials g (i) (x) and h (i ' j ) (x), f (u ' ⁇ ) ( ⁇ ) And the parity check matrix shown in Eq. (4) H force
  • the polynomial h (i ' j) (so that it matches the matrix obtained by transforming the block matrix H' with the sparse cyclic matrix as the block x), f (u ' v) (x) can be selected. Therefore, the bit string encoded by the encoding method of the present embodiment becomes a low-density parity check code and can be decoded by applying an iterative decoding method such as the Sam 'product decoding method, for example. It becomes possible.
  • Equation (17) Equation (13) and Equation (14).
  • the polynomial ⁇ (i ' j) (x) and the polynomial ⁇ (u ' ⁇ ) ( ⁇ ) are replaced by the check matrix ⁇ in Eq. (4), the zero matrix and the cyclic permutation matrix. Can be selected to match the matrix obtained by transforming the sparse block matrix H 'with the basic row transformation.
  • the number of information bits is 3687 bits.
  • Such a selection makes it possible to construct a code device with a code length of 40 95 bits and an information bit length of 3687 bits, which is also highly accurate and efficient by an iterative decoding method such as the Sam 'product decoding method. Decryption processing can be performed automatically.
  • the code length is 4095 bits and the number of information bits is By applying a 3687-bit code, a coding gain of 3.5 dB or more can be obtained when the bit error probability after decoding is 0.1%. In this case, the bandwidth expansion rate is about 11%.
  • the parameter r corresponding to the number of row blocks in the matrix of Equation (4) is set to 8, but by changing this parameter r, the coding apparatus is greatly improved. It is possible to change the code rate and the bandwidth expansion rate without any change. For example, reset only parameter r from 8 to 4 and leave other settings such as polynomial selection unchanged! /.
  • the sparse block matrix H obtained by transforming the block matrix H with the basic row the first row block force is the same as the fourth row block.
  • the code length is 4095 bits and the information bit length is 3855 bits, and the bandwidth expansion ratio is about 6.2%.
  • the bit error probability after decoding is 0. At 1%, a coding gain of 2.5 dB or more can be obtained.
  • m is a positive integer
  • r is an integer of l ⁇ r ⁇ m
  • (m ⁇ r) polynomial multiplication circuits 21 are provided. Connected in series via exclusive OR circuit 22! These (m ⁇ r) polynomial multiplication circuits connected in series can be arranged in parallel by performing serial-parallel conversion on the input data of the polynomial multiplication unit.
  • the exclusive OR of the outputs of (m ⁇ r) polynomial multipliers arranged in parallel is used as the output of the polynomial multiplier unit.
  • the advantage of this parallelization is that the number of flip-flops in the polynomial multiplication unit is reduced by sharing the flip-flop between the polynomial multiplication units arranged in parallel.
  • FIG. 8 shows a polynomial multiplication unit in which (m ⁇ r) polynomial multiplication circuits are arranged in parallel in this way.
  • (m ⁇ r) is set to N for simplicity.
  • An exclusive OR circuit 62 is provided on the input side of the flip-flop for each flip-flop 61.
  • N flip-flops 61 each having an exclusive OR circuit 62 are connected in series via the exclusive OR circuit 62, and the switch 34 is a flip-flop of the final stage. Connected to flop 61 output.
  • the switch 34 supplies the output of the flip-flop 61 of the final stage to the outside as the output of this polynomial multiplication unit or returns to the flip-flop 61 of the first stage, that is, the left end of the figure via the exclusive OR circuit 62 of the first stage. This is for selecting.
  • N wiring elements 63 provided for each exclusive OR circuit 62 correspond to the N outputs from the serial / parallel converter 65, respectively. It determines whether or not to supply power. Assuming that i is an integer satisfying l ⁇ i ⁇ n, whether the right force shown in the figure is also applied to the i-th flip'flop 61 is supplied with N outputs from the serial Z parallel variable 65. Determined by whether the corresponding bit of the bit string hh (2) ,..., H (N) is Kano '0 "that is" 1 "i + 1 i + 1 i + 1
  • the polynomial multiplication unit in the form of Figure 3 uses n (mr) flip-flops !, whereas the parallelized polynomial multiplication unit in Figure 8 has n flip-flops. . By paralleling in this way, the number of flip-flops is reduced in the one shown in FIG.
  • the fan-in number to the exclusive OR circuit 62 arranged between the flip-flops is equal to the fan to the exclusive OR circuit 32 in the polynomial multiplier circuit of FIG. It is larger than the number of ins. If the maximum number of fan-ins in the exclusive OR circuit exceeds the allowable range in the circuit of Fig. 8, the number of fan-ins is within the allowable range by using the parallel connection and the series connection of the polynomial multiplier circuit together. Can be kept within.
  • the configuration of the polynomial multiplication unit is such that the circuit shown in FIG. 8 is inserted into the polynomial multiplication circuit 21 in the polynomial multiplication unit of FIG.
  • FIG. 9 shows an example of the configuration of a data communication system using the coding apparatus according to the present invention.
  • This data communication system includes a data transmission device 81 and a data transmission device 81. And a data receiving device 85 for receiving data transmitted via the communication path 80.
  • the data transmission device 81 performs control for frame synchronization with the encoding device 82 according to the present invention to which data to be transmitted is input and the bit string output by the encoding device 82, and is adjusted to the modulator.
  • the data receiving device 85 demodulates the information received from the communication path 50, converts the output data of the demodulator 86 into input data to the decoding device, and performs processing for frame synchronization
  • the output from the modulator 84 is recorded on the recording medium instead of the communication path 80, and the demodulator 86 reads not only the information from the communication path 80 but also the recording medium force. It is also possible to configure a data storage device by allowing
  • the error correction code encoder can select a code length, an information bit length, a coding rate (bandwidth expansion rate) by selecting a parameter m, r, n and a polynomial expression. Wide V, can meet the demands.
  • the error correction code generator according to the present invention also has a simple combination power of a polynomial multiplier circuit and a polynomial divider circuit, and thus can be realized with a simple device configuration. It is possible to reduce the amount of calculation required for the process and the scale of the apparatus. Further, by selecting connections in the polynomial multiplier circuit and the polynomial divider circuit, it becomes possible to configure an error correction code generator capable of obtaining a large coding gain by iterative decoding. In this way, the present invention contributes to improvement in reliability and reduction in required power in the communication system.
  • the present invention relates to an error correction technique for satisfying system configuration requirements such as reduction of required power and miniaturization of an antenna in a satellite communication system or a mobile communication system, or a storage device such as magnetic recording. It can be applied as an error correction technique for improving reliability.

Abstract

低密度パリティ検査符号を用いる誤り訂正符号化方法は、誤り訂正符号化すべき情報ビット列を、各々が長さnのビット列からなる(m-r)個の第1のブロックと、各々が長さk1,k2,…,krのビット列からなるr個の第2のブロックとに分割することと、(m-r)個の第1のブロックに対して多項式乗算を行って長さnのr個のビット列を出力する第1の演算と、r個の第2のブロックと第1の演算によるr個の演算結果とに対して多項式除算及び多項式乗算を行って、長さがそれぞれn-k1,n-k2,…,n-krである冗長ビット系列を含むビット列を出力する第2の演算と、を有する。

Description

明 細 書
誤り訂正符号化方法及び装置
技術分野
[0001] 本発明は、情報系列を一定長のブロックに分割し、各ブロックごとに独立に冗長系 列を付加するブロック誤り訂正符号ィ匕方法とそのための装置とに関し、特に、低密度 ノ リティ検査(LDPC; Low -Density Parity -Check)符号化の方法及びその装 置に関する。
背景技術
[0002] 衛星通信あるいは移動体通信システムなどの通信システムにお!/、ては、所要電力 の低減、アンテナの小型化などのシステム構成上の要件を満たすために、大きな符 号化利得を有する誤り訂正符号化技術の導入が行われて!/ヽる。低密度パリティ検査 符号は、非常に大きな符号化利得を有する誤り訂正符号として知られている。各種 通信システムやさらには磁気記録装置などの記憶装置への低密度パリティ検査符号 の導入が進んでいる。
でいる。
[0003] 低密度パリティ検査符号方式は、単に一つの誤り訂正符号化方式を示すのではな ぐ検査行列が疎であるという特徴をもった誤り訂正符号の総称である。検査行列が 疎であるとは、検査行列中の成分(要素)のほとんどが" 0"であり、 "1"である成分の 数が非常に少ないことをいう。低密度ノ^ティ検査符号は、 D. J. C. MacKay,
'Good Error― Correcting し odes Based on very sparse matrices, IEEE Transactions on Information Theory, pp. 399—431, March 1999 (非特許文献 1)に開示されるように、疎な検査行列の選択によって、サム'プ 口ダクト(sum— product)アルゴリズムなどの繰り返し復号方式を用いることにより、 理論限界に近い非常に大きな符号化利得を持つ誤り訂正符号ィ匕方式を構成するこ とが可能であると 、う特徴を有して 、る。
[0004] 低密度パリティ検査符号に関連する技術的問題点は、符号化方法、すなわち情報 ビット系列力も冗長ビット系列を算出する方法に必要となる計算量が多い、ということ である。冗長ビット系列の生成が符号の生成行列による行列の乗算演算力 なるとい う最も典型的な符号化装置においては、低密度パリティ検査符号系列の生成に、符 号長の二乗に比例した回数の排他的論理和演算が必要となる。
[0005] 符号の検査行列によって符号ィ匕装置を構成する場合には、低密度パリティ検査符 号系列の生成は、式(1)に見られるように、検査行列の一部が対角行列となる形にそ の検査行列を基本変形し、その基本変形された検査行列によって実現される。
[0006] [数 1]
Figure imgf000004_0001
[0007] 具体的には、 r及び kは正整数であるとし、 iは l≤i≤rの整数であるとし、式(1)の Aで 記した部分 ¾r X k行列とし、 c , c , · · ·, cを kビットの情報ビット系列とすると、それに
1 2 k
対応する rビットの冗長ビット列 p , p , · · ·, pにおける各ビット pは、式(2)によって算 出される。
[0008] [数 2]
Hai Cj = "UC1 + °i,2 C2 + · " + ai,kck
Figure imgf000004_0002
[0009] ここで、 jは l≤j≤kの整数であるとして、式中の a は、前述の r X k行列 Aでの(i, j)
ι, ]
成分を表す。したがって、誤り訂正符号の符号ィ匕を行うためには、この r X k行列 Aを メモリなどの記憶装置に保持し、行列 Aの各成分中の値" 1 "の数と等しい回数の排 他的論理和演算が必要となる。
[0010] 図 1は、低密度パリティ検査符号による符号ィ匕を行う、関連技術における符号ィ匕装 置の構成の一例を示している。図示される符号化装置は、情報ビット列が与えられた ときに、低密度パリティ検査符号による符号ィ匕を行って符号ビット列を出力するもので ある。この符号化装置は、情報ビット列に対して上記の式 (2)の演算を実行して冗長 ビット列を生成する冗長ビット列算出装置 71と、式(1)に示した行列 Aを保持して行 列 Aの各成分 (要素)を冗長ビット列算出装置 71に供給する行列情報保存メモリ 72と 、情報ビット列と冗長ビット列とが組み合わされた符号ビット列が得られるように、情報 ビット列と冗長ビット列算出装置 71からの冗長ビット列とを切り替えるスィッチ 73と、を 備えている。冗長ビット列算出装置 71は、排他的論理和演算回路を含んでいる。
[0011] このような符号ィ匕装置において、記憶装置 (すなわち行列情報保存メモリ 72)の記 憶容量の削減や、冗長ビット列算出回路 71における排他的論理和演算回路の数の 削減に関連して、行列 Aの成分中の" 1"の数ができるだけ少なぐかつ繰り返し復号 によって得られる符号化利得がなるべく大きくなるような、低密度パリティ検査符号の 構成方法が知られている。そのような構成方法は、例えば、 Thomas Richardson, R. Urbanke, Efncient Encoding of Low— Density Parity— Check Codes, " IEEE Transactions on Information Theory, pp. 619— 656 , September 2001 ( 特許文献 2)【こ開示されて ヽる。また、特開 2003— 1157 68号公報 (特許文献 1)及び特開 2004— 72130号公報 (特許文献 2)には、検査行 列を巡回置換行列のブロック行列力 なる行列とし、各ブロック行列を巡回行列に限 定することによって、メモリ量の削減、及び排他的論理演算処理の簡素化を実現する 方法が開示されている。検査行列をこのようなの形のものに限定したものは、特に、 擬似巡回符号と呼ばれている。これらの方法においても、装置規模の削減と処理の 簡便さが両立しな 、と 、う問題点が残されて!/、る。すなわち擬似巡回符号を用いる 方法でも、装置規模は削減される一方で複雑な制御が必要となる、あるいは、擬似 巡回符号の中でもさらに限定された符号、すなわちさらに制約条件が加えられた符 号にのみ適用可能である、などの課題がある。
[0012] 各種通信システム及び磁気記録などの記憶装置への誤り訂正符号化の適用の発 展のために、符号化処理を小規模な装置で簡便な処理で行えることに加え、上記の サム ·プロダクト.アルゴリズムなどの繰り返し復号によって得られる符号化利得の改 善力もたらされる符号ィ匕方式の開発が求められている。
特許文献 1:特開 2003 - 115768号公報
特許文献 2 :特開 2004— 72130号公報
非特許文献 1 : D. J. C. MacKav (マッカイ), "Good Error -Correcting Codes Based on very sparse matrices ( 常に疎な行歹 [Jに基づく良好なエラ ~~言丁正コ ~~ド) ,,, IEEE Transactions on Information Theory, pp. 39 9-431, 1999年 3月
非特許文献 2 :Thomas Richardson (トーマス リチャードソン), R. Urbanke (ゥ ノレノ ンケリ, Efficient Encoding of Low— Density Parity— Check Cod es (低密度パリティ検査符号の効率的な符号化), " IEEE Transactions on In formation Theory, pp. 619— 656, 2001年 9月
発明の開示
発明が解決しょうとする課題
[0013] 低密度パリティ検査符号に関する符号ィ匕は、上述の式(1)中の行列 Aを保持する 行列情報保存メモリなどの記憶装置と、上述の式 (2)の処理を実行する冗長ビット列 算出装置などの演算処理装置とを用いて実現されていることにより、リードソロモン符 号などの巡回符号化、あるいは畳込み符号化と比較して、符号化装置の規模が非常 に大きくなるという問題点を有する。この課題のために、上述した関連技術での誤り 訂正符号化では、特に衛星通信、地上マイクロ波通信、移動体通信などのシステム に適用した場合において、符号化処理における処理の簡便さ及び装置規模の削減 と、符号ィ匕処理による符号化利得の向上との両立が困難なものとなっている。
[0014] そこで本発明の目的は、低密度ノ リティ検査符号ィ匕による誤り訂正符号ィ匕方法で あって、誤り訂正符号化装置の装置規模が小さく済みかつ装置構成が簡単であると ともに、繰り返し復号によって大きな符号化利得を得ることができる方法を提供するこ とにある。
[0015] 本発明の別の目的は、低密度パリティ検査符号化による誤り訂正符号化装置であ つて、装置規模が小さく済みかつ装置構成が簡単であるとともに、繰り返し復号によ つて大きな符号化利得を得ることができる装置を提供することにある。
課題を解決するための手段
[0016] 本発明の誤り訂正符号化方法は、低密度パリティ検査符号を用いる誤り訂正符号 ィ匕方法であって、 K, m, nを正整数、 rを l≤r≤mの整数、 k , k , · ··, kを 0≤k , k
1 2 r 1 2
, · ··, ≤n—lの整数として、誤り訂正符号ィ匕すべき長さ Kの情報ビット列を、各々が 長さ nのビット列からなる(m—r)個の第 1のブロックと、各々が長さ k , k , · ··, kのビ
1 2 r ット列からなる r個の第 2のブロックとに分割することと、(m—r)個の第 1のブロックに 対して多項式乗算を行って長さ nの r個のビット列を出力する第 1の演算と、 r個の第 2 のブロックと第 1の演算による r個の演算結果とに対して多項式除算及び多項式乗算 を行って、長さがそれぞれ n—k , n-k , · ··, n—kである冗長ビット系列を含むビッ
1 2 r
ト列を出力する第 2の演算と、を有する。
[0017] 本発明の誤り訂正符号化装置は、低密度パリティ検査符号を用いる誤り訂正符号 化装置であって、 K, m, nを正整数、 rを l≤r≤mの整数、 k , k , · ··, kを 0≤k , k
1 2 r 1 2
, · ··, ≤n—lの整数として、誤り訂正符号ィ匕すべき長さ Kの情報ビット列を、各々が 長さ ηのビット列からなる(m—r)個の第 1のブロックと、各々が長さ k , k , · ··, kのビ
1 2 r ット列力もなる r個の第 2のブロックとに分割する分割部と、(m—r)個の第 1のブロック に対して多項式乗算を行って演算結果として長さ nのビット列を出力する!:個の第 1の 演算部と、 r個の第 2のブロックと!:個の第 1の演算部の各々から並列に入力する演算 結果とに対して多項式除算及び多項式乗算を行って、長さがそれぞれ n—k , n-k
1 2
, · ··, η— k Cある冗長ビット系列を含むビット列を出力する第 2の演算部と、を有する
[0018] 本発明の誤り訂正符号化装置において、例えば各第 1の演算部は、それぞれ、最 大で (m—r)個の多項式乗算回路を備えていてもよい。また第 2の演算部は、例えば 、長さが kである第 2のブロックと r個の第 1の演算部からの演算結果とに対してたか だ力 1個の多項式除算とたかだか (r 1)回の多項式乗算とを並列に行って、冗長ビ ット列のうちの(n— k )ビットと (r 1)個の長さ nのビット列とを出力する第 1の多項式 除算'乗算ユニットと、 pを 2≤p≤rの整数として、第 (p— 1)の多項式除算'乗算ュ- ットから出力される(r—p + 1)個の長さ nのビット列と、長さが k である第 2のブロ
r-p + l
ックとに対して、たかだか 1回の多項式除算とたかだ力 r p回の多項式乗算とを並列 に行って、冗長ビット列のうちの(n—k )ビットと (r—p)個の長さ nのビット列とを
r-p + l
出力する第 Pの多項式除算'乗算ユニットと、を備えることができる。この場合、 qを 1≤ q≤rの整数として、第 rの多項式除算'乗算ユニットは、例えば、たかだか 1つの多項 式除算回路と、たかだか (r— q)個の多項式乗算回路とを備えることができる。 [0019] このような多項式除算 ·乗算ユニットにおいては、多項式除算回路における除数と なるべき多項式と、多項式乗算回路における乗数を定める多項式とを設定するため に、例えば結線論理を用いることができる。この場合、多項式除算回路の結線に対 応する最大 r個の多項式として有限体の元の素体上の最小多項式に関連した一連 の多項式を採用し、多項式乗算回路の結線に対応する多項式を、多項式除算装置 に対応する多項式との積多項式によって構成した行列が疎な行列となるよう選択す ることによって、符号化利得を大きくすることができ、効率的な処理を行うことが可能 になる。
[0020] 本発明によれば、装置規模が小さぐ装置構成が簡単であり、なおかつ繰り返し復 号方式によって高 、符号化利得を得ることが可能な、低密度パリティ検査符号による 符号ィ匕方法及び装置を提供することができる。
図面の簡単な説明
[0021] [図 1]関連技術における誤り訂正符号ィ匕装置の構成の一例を示すブロック図である。
[図 2]本発明の実施の一形態の誤り訂正符号ィ匕装置の構成を示すブロック図である。
[図 3]多項式乗算ユニットの構成の一例を示すブロック図である。
[図 4]多項式乗算回路の構成の一例を示すブロック図である。
[図 5]多項式除算 ·乗算ユニットの構成の一例を示すブロック図である。
[図 6]多項式除算回路の構成の一例を示すブロック図である。
[図 7]符号ビット系列に関するフレームフォーマットの一例を示す図である。
[図 8]多項式乗算ユニットの別の構成例を示すブロック図である。
[図 9]本発明に基づく符号ィ匕装置を使用したデータ通信システムの構成の一例を示 すブロック図である。 符号の説明
[0022] 11 多項式乗算ユニット
12 多項式除算 ·乗算ユニット
13, 14, 23, 34, 54, 55, 64, 73 スィッチ
21, 42 多項式乗算回路
22, 32, 43, 52, 62 排他的論理和回路 31, 51, 61 フリップ 'フ口ップ
33, 53, 63 結線素子
41 多項式除算回路
44 セレクタ
45, 46 入力端子
47, 48 出力端子
65 シリアル Zパラレル変^^
71 冗長ビット列算出装置
72 行列情報保存メモリ
81 データ送信装置
82 符号化装置
83, 87 同期制御 ·データ変換装置
84 変調器
85 データ受信装置
86 復調器
88 復号装置
発明を実施するための最良の形態
図 2に示す本発明の実施の一形態に基づく誤り訂正符号ィ匕装置は、入力として供 給される情報ビット列に対して低密度パリティ検査符号による誤り訂正符号化を行つ て符号ビット列を生成するものである。この誤り訂正符号ィ匕装置は、 rを 1以上の整数 として、並列に配置された r個の多項式乗算ユニット 11と、直列に配置された r個の多 項式除算'乗算ユニット 12と、入力側に設けられるスィッチ 13と、出力側に設けられ るスィッチ 14と、を備えている。 r個設けられる多項式除算'乗算ユニット 12を相互に 識別するために、後述するように、 " [l] "〜" [r] "の表記を用いている。スィッチ 13は 、この誤り訂正符号ィ匕装置に入力される情報ビット列をいずれかの多項式乗算ュ-ッ ト 11に振り分けるためのものである。スィッチ 14は、後述するように情報ビット列と冗 長ビット列とが組み合わされた符号ビット列を出力するために、情報ビット列と最終段 の多項式除算 ·乗算ユニット [1]の r個の出力とを順次選択するためのものである。 [0024] 本実施形態における符号ィ匕方式は、長さが Kビットである情報ビット系列を入力とし て、長さが nmビットである符号ビット系列を算出して出力するものである。ここで、情 報ビット系列のビット長 Kは次式で表すことができる。
[0025] [数 3]
Figure imgf000010_0001
i=l
[0026] ビット長が nmである符号ビット系列中の Kビットは、ビット長が Κである入力情報ビット 系列に完全に一致する。すなわち、本実施形態における符号化方式は組織符号ィ匕 方式となっている。以下、本実施形態の誤り訂正符号化装置の構成の詳細について 説明する。以下の説明において、特に断らない限り、長さとはビット長のことをいう。
[0027] r個設けられる多項式乗算ユニット 11は、いずれも同様の構成のものであって、 mを r以上の整数として、図 3に示すように、たかだか (m—r)個の多項式乗算回路 21と、 多項式乗算回路 21の個数よりも 1個少ない排他的論理和回路 22と、スィッチ 23とを 備えている。(m—r)個設けられる多項式乗算回路 21は、各々が排他的論理和回路 22を介して直列に接続されている。スィッチ 23は、 1入力(m—r)出力のものであつ て、入力されてくる情報ビット列を 1番目すなわち図示左端の多項式乗算回路 21ま たは (m—r— 1)個の排他的論理和回路 22のいずれかに供給する。最終段すなわ ち図示右端の多項式乗算回路 21の出力が、この多項式乗算ユニット 11の出力とし て、後段の多項式除算 ·乗算ユニット 12に供給されるようになって 、る。
[0028] このような多項式乗算ユニット 11は、式(2)に示した長さ Kの情報ビットのうち、 n (m —r)ビットを入力として受け取り、長さ nのビット列を出力する。この出力ビット列は、後 段の多項式除算 ·乗算ユニット 12へ入力される。長さ n (m—r)のビット列は、 nビット ごとに分割され、スィッチ 23によって、(m—r)個の多項式乗算回路 21のいずれかへ 分配されることになる。例えば、 1番目力 n番目のビットは、 1番目すなわち図示左端 の多項式乗算回路 21へ逐次入力され、(n+ 1)番目力 2n番目のビットは、排他的 論理和回路 22を介して 2番目すなわち図示左端から 2番目の多項式乗算回路 21へ 逐次入力される。以下同様にして、 jは 2≤j≤m— r— 1の整数であるとして、 (jn+ 1) 番目から (j + 1) n番目のビットは、 j番目の排他的論理和回路 22を介して (j + 1)番目 の多項式乗算回路 21へ逐次入力される。
[0029] 多項式乗算ユニット 11中の多項式乗算回路 21は、いずれも同様の構成のもので ある。各多項式乗算回路 21は、図 4に示すように、 nを正整数として、レジスタとして 用いられる n個のフリップ'フロップ 31と、たかだ力 n個の排他的論理和回路 32と、排 他的論理和回路 32ごとに設けられるとともに多項式乗算回路 21への入力ビット列が 供給され、検査行列に応じて結線または非結線の状態が定まる結線素子 33と、スィ ツチ 34と、を備えている。排他的論理和回路 32は、フリップ'フロップ 31ごとにそのフ リップ'フロップの入力側に設けられている。このようにそれぞれ排他的論理和回路 3 2を伴った n個のフリップ'フロップ 31は、それらの排他的論理和回路 32を介して直 列に接続しており、スィッチ 34は、最終段のフリップ'フロップ 31の出力に接続してい る。スィッチ 34は、最終段のフリップ 'フロップ 31の出力をこの多項式乗算回路 21の 出力として外部に供給するか、あるいは初段の排他的論理和回路 32を介して初段 すなわち図示左端のフリップ'フロップ 31に戻すかを選択するためのものである。
[0030] このようにこの多項式乗算回路 21は、 nビット入力、 nビット出力のものである。多項 式乗算回路 21は、スィッチ 34により最終段のフリップ'フロップ 31の出力が初段のフ リップ ·7ロップ 31に供給されるときには nビットの入力ビット列が逐次入力され、すべ ての入力が終わった時点でスィッチ 34を切り替えることにより、 n個のフリップ ·フロッ プ (すなわちレジスタ) 31の中身を順次出力するように構成されている。 n個の結線素 子 33は、図示するように、それぞれ、予め定められた nビットのビット列 h , h , · ··, h
0 1 n に対応するものであり、該当するビットが" 1"であるカ ' 0"であるかによって、結線状 態と非結線状態とのいずれかの状態をとるものである。結線状態とは、多項式乗算回 路 21への入力ビット列が結線素子 33を介して排他的論理和回路 32に供給される状 態のことである。これに対して非結線状態とは、多項式乗算回路 21への入力ビット列 力 S排他的論理和回路 32に供給されない状態のことである。 jを 0≤j≤n—lの整数と して、 hが 1であった時は" h "と記された部分の結線素子が"結線"状態となり、 hが 0 であった時は" h "と記された部分の結線素子が"非結線"状態となる。このようにして 多項式乗算回路 21は、 nビットのビット列 h , h , · ··, h を係数とする多項式との多 項式乗算を実行する。ビット列 h。, h , · ··, h に関する選択方法の一例については 後述する。
[0031] 直列に配置された r個の多項式除算 ·乗算ユニット 12については、それらを相互に 識別するために、 " [l] "〜" [r] "の表示で区別している。図 2に示すように、入力側す なわち多項式乗算ユニット 11側の多項式除算 ·乗算ユニットを多項式除算 ·乗算ュ ニット [r]とし、多項式除算 ·乗算ユニット [r]の出力に設けられる多項式除算 ·乗算ュ ニットを多項式除算,乗算ユニット [r—1]とし、以下同様にして、図示右端の多項式 除算 ·乗算ユニットを多項式除算 ·乗算ユニット [ 1 ]とする。
[0032] iを l≤i≤rの整数とすると、このような多項式除算.乗算ユニット 12のうちの多項式 除算 ·乗算ユニット [i]は、図 5に示すように、たかだか 1個の多項式除算回路 41と、 たかだか (i—1)個の多項式乗算回路 42を備えている。多項式乗算回路 42としては 、図 4に示した多項式乗算回路をそのまま使用することができる。多項式除算回路 41 については後述する。
[0033] 直列に配置された r個の多項式除算 ·乗算ユニット 12は、直列配置内での位置によ つてそれを構成する多項式乗算回路の数がそれぞれ異なっており、したがって、各 多項式除算 ·乗算ユニットは、それを構成する多項式乗算回路の数によって区別さ れることになる。図 2に示した符号ィ匕装置では、多項式除算 ·乗算ユニット [r]におけ る多項式乗算回路 42の数は (r 1)個以下であり、多項式除算,乗算ユニット [r 1] における多項式乗算回路 42の数は (r 2)個以下であり、上述したように、多項式除 算,乗算ユニット [i]における多項式乗算回路 42の数は (i— 1)個以下である。なお、 零多項式との乗算を考慮すれば、零多項式との乗算のための乗算回路は設ける必 要がないので、多項式除算 ·乗算ユニット [i]における多項式乗算回路 42の数は (i— 1)個となる。以下、多項式除算 ·乗算ユ ット [i]について説明する。
[0034] 多項式除算 ·乗算ユニット [i]は、たかだ力 1個の多項式除算回路 41とたかだか (i
1)個の多項式除算回路 42のほかに、多項式除算回路 41に対して 2個と各多項式 乗算回路 42ごとに 1個設けられた排他的論理和回路 43と、セレクタ (SEL) 44と、ス イッチ 13 (図 2参照)から情報ビット列が供給される端子 45と、前段の多項式除算'乗 算ユニット [i+ 1]力ものビット列が並列に入力する i個の端子 46と、スィッチ 14 (図 2 参照)に対してビット列を供給する端子 47と、後段の多項式除算 ·乗算ユニット ]にビット列を並列に出力する(i— 1)個の端子 48と、を備えている。 i個の端子 46のう ち、最初の (i— 1)個の端子は、それぞれ、排他的論理和回路 43を介して多項式乗 算回路 42の入力に接続し、多項式乗算回路 42の出力は、それぞれ、端子 48に接 続している。これらの排他的論理和回路 43には、セレクタ 44の出力も共通に供給さ れている。
[0035] セレクタ 44の出力は、端子 47にも接続している。端子 46のうち、残る 1個の端子 46 は、残る 2つの排他的論理和回路 43に接続している。これらの排他的論理和回路 4 3のうちの一方は、端子 45からビット列も供給され、多項式除算回路 41の入力に接 続している。他方の排他的論理和回路 43は、多項式除算回路 41の出力ビット列が 供給されるとともに、セレクタ 44の一方の入力端子に接続している。セレクタ 44の他 方の入力端子は、端子 45に接続している。
[0036] なお、 i=rの場合、すなわち多項式除算 ·乗算ユニット [r]では、 r個の端子 46は、 それぞれ r個の多項式乗算ユニット 11の出力に接続する。また、 i= lの場合、すなわ ち多項式除算 ·乗算ユニット [1]では、多項式乗算回路 42と端子 48とは設けられな い。
[0037] このような多項式除算 ·乗算ユニット [i]では、式(2)に示した長さ Kの情報ビットのう ち kビットが端子 45から入力するとともに、前段の多項式除算 ·乗算ユニット [i+ 1]か らの niビットが端子 46によって iビットずつ並列に入力する。なお、 i=rの時は、端子 4 6には、 r個の多項式乗算ユニットの出力が 1ビットずつ並列に入力する。そして多項 式除算 ·乗算ユニット [i]は、長さ nのビット列を符号ビット列の一部として端子 47から 出力するとともに、長さ nのビット列を (i—1)個の多項式乗算回路力も並列に端子 48 力も合計 n (i—l)ビット出力する。多項式除算回路 41は、端子 45から逐次入力され る kビットと端子 46から逐次入力される nビットのうちの前半 kビット分との排他的論理 和を入力として受け取り、入力が終了した次の時点から、(n— k )ビットを逐次出力す る。この多項式除算回路 41の出力の (n—k )ビットと端子 46から逐次入力される nビ ットの後半の(n—k )ビット分との排他的論理和は、セレクタ 44を介して、多項式乗算 回路 42の入力に供給される。セレクタ 44は、端子 45から逐次入力される kビットとを 第 1の入力として受け取るとともに、多項式除算回路の出力と端子 46から逐次入力さ れる nビットの後半の (n—ki)ビット分との排他的論理和を第 2の入力として受け取り、 第 1及び第 2の入力を切り替えて、合計 nビットを逐次出力する。セレクタ 44が出力し た nビットは、符号ビット系列の nmビット中の nビットとして、端子 47から出力される。 多項式乗算回路 42は、セレクタ 44からの出力と端子 46に逐次入力される nビットとの 排他的論理和を入力として受け取り、乗算結果の nビットを端子 48から逐次出力する
[0038] 上述したように iは l≤i≤rの整数であるとして、次に、多項式除算'乗算ユニット [i] 内に設けられる多項式除算回路 41について、図 6を用いて説明する。
[0039] 多項式除算回路 41は、 kを 0≤k≤nの整数として、(n—k )個のフリップ.フロップ 51と、たかだか (n—k )個の排他的論理和回路 52と、(n— k + 1)個の結線素子 53 と、スィッチ 54, 55と、力も構成されている。(n— ki+ 1)個の結線素子 53は、それぞ れ、予め定められた長さ(n—k + 1)ビットのビット列 g , g , · ··, g の各ビットに対
i 0 1 n-ki
応し、対応するビットの値に応じて、結線状態または非結線状態のいずれかの状態 に定められる。具体的には、 jは 0≤j≤n—kの整数であるとして、(j + 1)番目の結線 素子 53すなわち図示" g "と記載された結線素子は、ビット gが 1である時は結線状態 となり、ビット gが 0である時は非結線状態となる。(n—k)個のフリップ'フロップ 51は
、それぞれ排他的論理和回路 52を間に挟んで直列に接続している。スィッチ 54は、 最終段のフリップ'フロップ 51の出力を、この多項式除算回路 41の出力として外部に 供給するか、あるいは残る 1つの排他的論理和回路 52すなわち最後の排他的論理 和回路 52に供給するかを切り替えるものである。
[0040] 最後の排他的論理和回路 52には、多項式除算回路 41への入力ビット列が供給さ れており、最後の排他的論理和回路 52の出力は、スィッチ 55を介して、(n—k + 1) 番目の結線素子 53すなわちビット g に対応する結線素子に供給されている。 1番
n-ki
目すなわち図示左端のフリップ'フロップ 51には、ビット gに対応する結線素子 53を
0
介して、ビット g に対応する結線素子 53からの出力が供給されている。残りのフリツ
n-ki
プ 'フロップ 51に関しては、その入力部に設けられた排他的論理和回路 52に対し、 それぞれ、ビット g , · ··, g に対応する結線素子 53を介して、ビット g に対応
1 n-ki- 1 n-ki する結線素子 53からの出力が供給されている。 [0041] このような多項式除算回路 41は、スィッチ 54を最後の排他的論理和回路 52側とし て ビットを逐次入力として受け取り、入力が終わった時点でスィッチ 54を切り替え、 (n—ki)個のフリップ'フロップ 51に蓄えられた合計 (n—ki)ビットを逐次出力する。す なわちこの多項式除算回路 41は、 kビットの入力ビット列と、(n—k + 1)ビットのビッ ト列 g , g , · · ·, g
0 1 n-kiの各ビットを係数とする多項式との多項式除算を実行する。ビッ ト列 g , g , · · ·, g
0 1 n-kiに関する選択方法の一例については後述する。
[0042] ここで、図 2に示した誤り訂正符号ィ匕装置に対応する検査行列について説明する。
この検査行列は、式 (4)で表される。
[0043] [数 4]
Figure imgf000015_0001
[0044] 式(4)の検査行列は r X mブロック行列であり、その各成分は n X n巡回行列である。
式 (4)の右下三角部分、すなわち式においてボールド文字で" 0"と記載された部分 の n X n巡回行列は零行列である。 n X n巡回行列は、式(5)に記したように、第 2行 目の行ベクトルが第 1行目の行ベクトルを 1ビット右に巡回したものとなっているととも に、 kを 2≤k≤nの整数として、第 k列目の列ベクトルが第 1行目の行ベクトルを (k— 1)ビットだけ右に巡回したものとなっているものである。
[0045] [数 5]
Figure imgf000015_0002
αχ "2 "3 . • "0
[0046] 式(5)の η Χ η巡回行列の第 1行目の行ベクトルは、式(6)に示すように、(η— 1)次 以下の多項式として表現することができる。
[0047] a +a x + a χ2Η—— ha χη_ 1 (6) [0048] 以下、 iは 1≤ i≤ rの整数、 jは 1≤ j≤ m— rの整数、 vは 2≤ v≤ rの整数、 uは 1≤ u ≤t 1の整数であるとして、式 (4)における H の第 1行目の行ベクトルを (n 1)次
1, j
以下の多項式として表示したものを h(ij) (x)と記し、式 (4)中の F の第 1行目の行べ
s, t
タトルを (n 1)次以下の多項式として表示したものを f(u' v) (X)と記し、式 (4)中の G の第 1行目の行ベクトルを (n— 1)次以下の多項式として表示したものを g(i) (X)と記 す。
[0049] 多項式乗算ユニット 11における多項式乗算回路 21、及び多項式除算'乗算ュニッ ト 12における多項式乗算回路 42は、いずれも上述したように図 4に示す構成を有す る力 このような多項式乗算回路において、結線素子 33の結線状態または非結線状 態の別を定める nビットのビット列 h , h , · ··, h _は、上述の多項式 h(i' j) (x)及び f(u, v) (x)の選択を通して決定される。また、多項式除算'乗算ユニット 12における多項式 除算回路 41の結線を定める(n—k + 1)ビットのビット列 g , g , · ··, g の選択は、
i 0 1 n-ki
多項式 g(i) (x)の選択を通して決定される。以下、多項式 h(i' j) (x) , f(u' ν) (χ) , g(i) (χ) の選択の一例について説明する。
[0050] 整数 qを 2の冪とし、すなわち sを正整数として q = 2sとし、前述の整数 nを n = q— 1と する。 q個の元力もなる有限体 GF (q)の原始元 αと、 1≤i≤rを満たす整数 iとに対し て、 g(i) (X)を式(7)のように定める。
[0051] 園 g(')(x)= n - ) (7)
[0052] ここで、 Bは、 0以上 q— 2以下の整数の部分集合であって、式(7)の多項式を展開し たときに、その係数が 0もしくは 1となるものとする。したがって、 g(i) (X)は、 Bによって 定められた GF (q)の元の素体 (GF (2) )上の最小多項式を掛け合わせた多項式とな る。また、 B , B , · ··, Bは、次の関係(式 (8) )を満たすものとする。
1 2 r
[0053] B £ B 〜 Β (8)
1 2 r
[0054] これは、 iと jをそれぞれ l≤i≤r, l≤j≤rを満たす整数とするとき、 iく jならば (x) は g(i) (x)で割り切れることを意味している。
[0055] 多項式 h(i' j) (x)は、 xn- 1を法として、 g(i) (x)の倍多項式と設定する。すなわち、式 (9)の条件を満たすものとして、次数が (n— 1)以下の多項式 h(" j) (x)を設定する。
[0056] h( ) (x)≡¥( ) (x) g(i)(x) mod (χη— 1) (9)
[0057] ここで、 iは l≤i≤rの整数、 jは l≤j≤m— rの整数とし、 ¥(i'j)(x)は、各項の係数が 0 あるいは 1である、次数が(n— 1)次以下の多項式とする。さらに、前述の多項式 f(u'v) (x)は、多項式 h(i' j) (x)と同様に、 xn- 1を法として、 g(i) (x)の倍多項式と設定する。 すなわち、式(10)の条件を満たすものとして、次数が (n— 1)次以下の多項式 f(u'v)( X)を設定する。
[0058] f(u'v)(x)≡ (u'v)(x) g(u)(x) mod (xn-l) (10)
[0059] ここで、 vを 2≤v≤rの整数、 uを l≤u≤v— 1の整数として、 φ (uv) (x)は、各項の係 数が 0ある 、は 1である、次数が(n— 1)次以下の多項式とする。
[0060] 次に、多項式乗算ユニット 11における多項式乗算回路 21の結線について説明す る。前述のように、多項式乗算回路の構成を示す図 4において、結線素子 33は、予 め定められた nビットのビット列 h , h , ···, h によって、その結線素子が結線状態 となるか非結線状態のいずれの状態となるかが定まる。具体的には、 jを 0≤j≤n— 1 の整数として、 hが 1であったときは、 "h"と記された結線素子は結線状態となり、 hが
0であったときは、 "h"と記された結線素子は非結線状態となる。この結線を定める n ビットのビット列の選択は次のように行う。
[0061] 本実施形態の符号化装置は、図 2に示すように r個の多項式乗算ユニット 11を備え ているので、 r個の多項式乗算ユニット 11に対して、図示上から 1, 2, ···, rと番号付 けする。また各多項式乗算ユニット 11は、図 3に示すように、たかだか (m—r)個の多 項式乗算回路 21を備えるので、これらの多項式乗算回路に対して左から 1, 2, ···, m—rと番号付けする。 iは l≤i≤rの整数、 jは l≤j≤m— rの整数、 kは 0≤k≤n— 1 の整数として、 i番目の多項式乗算ユニットにおける j番目の多項式乗算回路の結線 を示す nビットのビット列を h h ···, h によって表すとき、 h を式(9)
0 1 n-1 k
における (x)の xkの項の係数とする。このように設定することで、式(9)の多項式 (X)を使って、図 2に示す符号ィ匕装置内の多項式乗算ユニット 11に現れるすべ ての多項式乗算回路の係数を設定することができる。
[0062] 次に、多項式除算 ·乗算ユニット 12における多項式除算回路 41と多項式乗算回路 42における結線素子の状態について説明する。
[0063] 図 6に多項式除算回路 41の構成が示されているが、図 6中、結線素子 53が結線状 態であるか非結線状態であるかは、前述のように、予め定められた (n— k + 1)ビット のビット列 g , g , · ··, g によって定まり、 iは l≤i≤nの整数、 jは 0≤j≤n— kの整
0 1 n-ki i 数であるとして、 gが 1であったときは" g "と記された部分の結線素子は結線状態とな り、 gが 0であったときは" g "と記された部分の結線素子は非結線状態となる。多項式
] j
除算 ·乗算ユニット [i]における多項式除算回路での結線素子の状態を示す (n— 1^ + 1)ビットのビット列を g g · ··, g ωによって表す時、 g (i)を、式 (8)の多項
0 1 n-ki j
式 g(i) (χ)から式(11)に基づいて定まる多項式 σ (i) (χ)の xjの項の係数とする。
[0064] [数 7] σ(') (χ) = ¾^ (1 1 )
[0065] このように設定することで、式 (8)の多項式 g(i) )を用いて、図 2に示す符号化装置 内の多項式除算 ·乗算ユニット 12に現れる多項式除算回路 41の係数を設定すること ができる。
[0066] 図 6に示すように、多項式除算回路 41の出力は、多項式除算回路 41への入力ビッ ト列を係数とする多項式を式(11)の多項式 σ (i) (x)で除算した剰余に相当する。こ のため、 g(i) (X) = 1、すなわち σ (i) (x) =xn— 1である場合には、多項式除算回路 41 は、入力ビット列をそのまま出力することとなる。
[0067] Vは 1≤ V≤ rの整数、 uは l≤u≤v—lの整数であるとして、 v番目の多項式除算 ·乗 算ユニット 12における上力も u番目(図 5参照)の多項式乗算回路 42における各結線 素子は、多項式乗算ユニット 11における多項式乗算回路 21の場合と同様のやり方 で、式(10)の φ (u' v) (X)の各項の係数によって、結線状態か非結線状態かのいずれ かに設定される。
[0068] 多項式除算回路 41での結線素子 53の状態を定める式(11)の多項式 σ ω (χ)の 次数は、(η— k )に一致し、式(7)〜(11)によって、式 (4)の行列 Hの階数 Rは次の 式(12)で与えられる。
[0069] [数 8] = ) (12)
i=l
[0070] したがって、式 (4)の行列 Hを検査行列とする符号ィ匕方式における冗長ビット数は、 式(12)に示した Rであり、情報ビット数は、式 (3)に示した Kに一致する。情報ビット 数と冗長ビット数を合わせた 1ブロックのビット長は nmとなる。
[0071] 本実施形態の誤り訂正符号ィ匕装置によって符号化された長さ nmビットの符号ビット 系列に関するフレームフォーマットの一例を図 7に示す。式(3)に示す符号ビット系 列中の Kビットは、この符号ィ匕装置への入力情報ビット系列に完全に一致する。すな わち、本実施形態の符号ィ匕方式は組織符号ィ匕方式となっていることがわ力る。
[0072] 次に、本実施形態の誤り訂正符号化装置の動作について説明する。
[0073] 図 2に示す誤り訂正符号ィ匕装置には、誤り訂正符号ィ匕のためブロック化された、式 ( 3)に示した長さ Kビットの情報ビット列力 順次入力される。スィッチ 13の切り替えに よって、長さ Kの情報ビットのうち、 1番目のビットから n (m— r)番目のビットまでの n( m-r)ビット ¾τ個の並列に配置された多項式乗算ュ-ット 11の全てへ逐次入力させ る。このとき、スィッチ 14は、 n (m—r)ビットの入力が符号ィ匕装置の出力としてそのま ま出力されるようにセットされる。符号ィ匕装置が n(m—r)番目のビットを入力し終えた 段階で、スィッチ 13を切り替え、これ以降の!^ビットが初段の多項式除算'乗算ュ-ッ ト [r]に入力されるようにする。
[0074] 多項式除算 ·乗算ユニット [r]は、前述の kビットの情報ビットと!:個の多項式乗算ュ ニット 11からの出力の合計 nrビットとを入力として、次段の多項式除算'乗算ユニット [r—1]の入力となる n(r—l)ビットとこの符号ィ匕装置の出力となる nビットとを出力す る。スィッチ 14は、その接続先が多項式除算 ·乗算ユニット [r]の出力端子に切り替 わり、 nビットを出力する。 iは 2≤i≤r— 1の整数であるとして、以下同様に、スィッチ 1 3を切り替え、多項式除算'乗算ユニット [i]に kビットの情報ビット列が供給されるよう にする。多項式除算 ·乗算ユニット [i]は、この ビットの情報ビットに加え、多項式除 算 '乗算ユニット [i+ 1]から供給される niビットを処理し、符号化装置の出力となる n ビットと次段の多項式除算,乗算ユニット [i- 1]へ出力される n (i- l)ビットとを生成 する。なお、 Kビットの情報ビット列が本実施形態の符号ィ匕装置に連続的に供給され る場合、各多項式除算 ·乗算ユニット 12での処理には n単位時間を要するため、情 報ビット列中の kビットを入力後、多項式除算 ·乗算ユニット [i]の処理が終了し、出力 が完了するまでの間の時間、次に動作する多項式除算 ·乗算ユニット [i—l]への情 報ビット列 (k ビット)の入力を遅延させる必要がある。
[0075] 最後に、スィッチ 13を切り替え、多項式除算'乗算ユニット [1]に kビットの情報ビッ ト列と多項式除算 ·乗算ユニット [2]の出力である nビットが入力されるようにする。そ の結果、多項式除算 ·乗算ユニット [1]からは nビットが出力される。この nビットの出力 は、スィッチ 14を経て、この符号ィ匕装置の出力となる。なお、先に一例を示した多項 式除算回路の結線において、 g(i) (X) = 1である場合、 k =0ビットであり、前述のよう に、多項式除算'乗算ユニット [i]における多項式除算は省略される。
[0076] 次に、多項式乗算ユニット 11の動作の詳細について説明する。前述のように、各多 項式乗算ユニット 11には、情報ビット列の 1ビット目力 n (m—r)ビット目までの n(m —r)ビットが逐次入力される。これらの n(m— r)ビットは、 nビットごとに分割され、図 3 に示すように、スィッチ 23によって、多項式乗算ユニット 11中の(m—r)個の多項式 乗算回路 21へ分配される。まず 1番目のビットから n番目のビットまでが、 1番目の多 項式乗算回路すなわち図 3における左端の多項式乗算回路へ逐次入力される。 n番 目のビットを入力し終えた時点で、スィッチ 23が切り替えられ、(n+ 1)番目のビットか ら 2n番目のビットまでが、排他的論理和回路 22を介して、 2番目の多項式乗算回路 すなわち図 3において左端力 2番目の多項式乗算回路へ入力される。すなわち、( n+ 1)番目のビットから 2n番目のビットまでの各々と 1番目の多項式乗算回路の出力 ビットとの排他的論理和が、 2番目の多項式乗算回路へ逐次入力されることになる。 以下同様に、 jは 2≤j≤m— r— 1の整数であるとして、(jn+ 1)番目のビットから (j + 1) n番目のビットまで力排他的論理和回路を介して (j + 1)番目の多項式乗算回路 へ入力され、これにより、(jn+ 1)番目から (j + l) n番目までのビットの各々と j番目の 多項式乗算回路の出力ビットとの排他的論理和がこの (j + 1)番目の多項式乗算回 路へ逐次入力されることになる。最終段の多項式乗算回路すなわち (m— r)番目の 多項式乗算回路の出力 nビットが、図 3に示す多項式乗算ユニット 11の出力となる。
[0077] ここで多項式乗算回路の動作について、図 4を用いて説明する。レジスタとして用 いられるフリップ 'フロップ 31の中身をすベて零に初期化しておき、 nビットのビット列 を 1ビットずつ多項式乗算回路に逐次入力する。この間、フィードバックが力かるよう に、スィッチ 34をフィードバック側すなわち出力側でない方へセットしておく。 nビット のすべてが入力し終わった時点でスィッチ 34を切り替え、各フリップ 'フロップ 31の中 身を順次出力する。
[0078] 次に、多項式除算 ·乗算ユニット 12の動作について、図 5を用いて説明する。前述 のように多項式除算 ·乗算ユニット 12は、たかだか一つの多項式除算回路 41とたか だか (r 1)個の多項式乗算回路 42からなる。多項式除算'乗算ユニット 12は、これ を構成する多項式乗算回路 42の数によって区別されるが、基本的な動作は同一で ある。前述の多項式乗算ユニット 11の処理が終了した時点で、本実施形態の符号化 装置には、式(3)の情報ビット列の Kビット中、 n(m—r)ビットが既に入力されている。
[0079] 多項式除算 ·乗算ユニット [r]には、まず情報ビット列の (n(m— r) + 1)番目のビット 力も (n (m— r) +k )番目のビットまで力 端子 45を通して逐次入力され、これと同時 に、 r個の多項式乗算ユニット 11の各々力 並列に nビットのビット列が端子 46を通し て逐次入力される。端子 45から合計 kビットの情報ビット列が入力している間に、この 端子 45からの情報ビット列と!:番目すなわち図示下端の端子 46から入力するビット列 との排他的論理和が、多項式除算回路 41へ入力される。このときセレクタ 44は、端 子 45からの入力を選択するように設定され、端子 45からの入力はそのまま出力端子 47力 出力される。セレクタ 44の出力は、出力端子 47から出力されると同時に (r—1 )個の排他的論理和回路 43へ入力される。各多項式乗算ユニット 11からの出力を入 力とする r個の端子 46のうち、多項式除算回路 41への入力となるものを除いた 1番目 力も (r—1)番目までの端子 46からの入力は、それぞれ、前述のセレクタ出力をもう 一方の入力とする排他的論理和回路 43を経由して、(r 1)個の多項式乗算回路 4 2へ入力される。
[0080] (n(m-r) +k )番目のビットが端子 45を経由して入力され終わった時点で、セレク タ 44の出力は、多項式除算回路 41の出力と!:番目の端子 46から入力するデータと の排他的論理和を選択するようにセットされる。このとき、多項式除算回路 41から出 力されるビット数は、(n— k )ビットである。セレクタ 44の出力は、端子 47から出力さ れて符号ィ匕装置の出力すなわち冗長ビット列となるとともに、(r— 1)個の端子 46から の入力との排他的論理和演算が実行される、排他的論理和演算の結果は各多項式 乗算回路 42へ入力される。
[0081] 端子 47から出力される nビットのうち、前半の kビットは端子 45から入力された情報 ビット列そのままであり、後半の (n— k )ビットが冗長ビットとなる。情報ビット列の (n ( m-r) + 1)番目から(n (m— r) +k )番目までの kビットと端子 46から入力されるビッ ト列の前半の kビットとを処理するのに!^単位時間を要し、その後、多項式除算回路 の出力(n— k )ビットと端子 46から入力されるビット列の後半の (n— k )ビットとを処理 するのに 単位時間を要する。すなわち、多項式除算 ·乗算ユニット [r]に要す る処理時間は、 n単位時間となる。(r—1)個の多項式乗算回路 42中のフリップ'フロ ップ (すなわちレジスタ) 31に保存されたデータは、端子 48から出力され、次段の多 項式除算 ·乗算ユニット [r 1]へ入力される。
[0082] 以下同様に、 iは 2≤i≤r—lの整数の整数であるとして、多項式除算'乗算ユニット
[i]は、端子 45から入力される kビットと前段の多項式除算 ·乗算ユニット [i+ 1]から 端子 46を介して入力される niビットから、この符号ィ匕装置の出力を生成して端子 47 力も出力するとともに、次段の多項式除算 ·乗算ユニット [i—1]の入力となるデータを 生成する。この生成されたデータは、次段の多項式除算'乗算ユニット [i 1]の動作 中に、多項式除算,乗算ユニット [i]の端子 48から出力される。端子 47から出力され る nビットのうち、前半の ビットは端子 45から入力された情報ビット列そのままであり、 後半の (n—k )ビットが冗長ビットとなる。
[0083] 最後に、情報ビットのうち、(K— k + 1)番目のビットから K番目のビットまでの kビッ
0 0 トが多項式除算'乗算ユニット [1]に入力される。多項式除算'乗算ユニット [1]はた かだか一つの多項式除算回路 41からなり、この多項式除算回路 41は、多項式除算 •乗算ユニット [2]から端子 46を介して入力される nビットのうちの前半の kビットと端
0
子 45からの入力 kビットとの排他的論理和を入力とする。端子 47から出力される nビ
0
ットのうち、前半の kビットでは、端子 45を介して入力されるビット列がそのまま出力さ
0
れ、後半の (n—k )ビットは、多項式除算回路 41の出力である (n—k )ビットと端子 4
0 0
6を介して入力される nビットの後半の (n—k )ビットとの排他的論理和となる。 [0084] 次に、多項式除算回路 41の動作について、図 6を用いて説明する。ここでは説明 を簡単にするため、多項式除算 ·乗算ユニット [r]内の多項式除算回路について説明 するが、他の多項式除算,乗算ユニット内の多項式除算回路においても、基本的な 動作はここで述べるものと同一である。
[0085] 多項式除算回路 41において、(n—k )個のフリップ.フロップ(すなわちレジスタ) 5 1の中身をすベて零に初期化しておき、スィッチ 54をフィードバック側すなわち出力 側でない方にセットし、スィッチ 55を閉じておく。多項式除算回路 41へ kビットのビッ ト列が逐次入力されると、フリップ'フロップ 51からなるシフトレジスタの中身が順次更 新される。 kビットが入力され終わった時点で、スィッチ 55を開き、スィッチ 54を出力 側にセットして、各フリップ'フロップ 51の中身を順次出力する。
[0086] 以上のようにして本実施形態の誤り訂正符号化装置は、 Kは正整数であるとして、 ブロック化された長さ Kビットの情報ビット列が与えられたときに、この情報ビット列をさ らに(m—r)個の長さ nのブロックと各々が長さ k , k , k , · ··, kの r個のブロックに分
1 2 3 r
割し、低密度パリティ検査符号に対応する式 (4)に示す検査行列を使用して、図 7に 示すフレームフォーマットにより、長さ mnの符号ビット系列を出力する。なお、 m, nは 2以上の整数であり、 rは l≤r≤mの整数であり、 k , k , k , · ··, kは、それぞれ、 0
1 2 3 r
≤k , k , k , · ··, k≤nを満たす整数である。
1 2 3 r
[0087] r個の多項式乗算ユニット 11には、最大で合計 r (m—r)個の多項式乗算回路 21が 含まれるが、この最大 r (m—r)個の多項式乗算回路 21は、長さ Kビットの入力情報 ビット列を上述のように分割して得られるビット列のうち、(m—r)個の長さ nの各ブロッ クを入力とし、各々長さ nの系列を出力する。そして、 r個の多項式除算'乗算ユニット 12には、最大で合計!:個の多項式除算回路 41と、最大で合計 r (r 1)個の多項式 乗算回路 42が含まれるが、 r個の多項式除算'乗算ユニット 12は、これらの多項式除 算回路 41及び多項式乗算回路 42を用いて、 Kビットの入力情報ビット列を上述のよ うに分割した際の長さ k , k , k , · ··, kのブロックと多項式乗算ユニット 11の出力デ
1 2 3 r
一タとを入力として、それぞれ、長さ力 ^n— k n-k
1, 2, n-k
3,…, n— kである冗長ビ r
ット系列を出力する。
[0088] 本実施形態の符号化装置では、最大 r個設けられる多項式除算回路 41について 各多項式除算回路内の結線素子 53 (図 6参照)が結線状態か非結線常態のいずれ の状態であるかを定めるために、最大 r個の多項式として有限体の元の素体上の最 小多項式に関連した一連の多項式を採用している。また、多項式除算 ·乗算ユニット 12内の多項式乗算回路 42内の結線素子の状態を定める多項式を、多項式除算装 置 41に対応する多項式との積多項式によって構成した行列が疎な行列となるよう選 択している。このように多項式を採用し選択することによって、符号化利得が大きくな り、効率的な処理が可能となっている。
[0089] 以下、本発明のさらに具体的な例として、上述の式 (7)と式 (8)を満たす多項式 g(1)
(x) , g (x) , · ··, gW (x)のより具体的な設定方法の一例について説明する。
[0090] 整数 qを 2の冪とし、すなわち sが正整数であり q = 2sであるとして、前述の整数 nを n
= q— 1とする。 q個の元からなる有限体 GF (q)の原始元 αと 0≤ L≤ s— 1を満たす 整数 Lとに対して、 g (X)を式(13)のように定める。
[0091] [数 9]
¾ ) = Π — ) (13)
k=l
W(k)≤L
[0092] ここで、 W(k)は、 l≤k≤q— 2である整数 kを 2進展開した際における、各係数の、整 数としての総和を表す。また g (X) = 1とする。式(13)の多項式を展開すると、その係
0
数は 0もしくは 1となる。式(13)の多項式 g (X)を使って、 g W (x)を式(14)のように選
択する。
[0093] g(i) (x) =g (x) , 2L<i≤2L+1 (14)
[0094] ただし、 g(1) (x) =g(2) (x) = 1とする。 iと jを l≤i, j≤rを満たす整数とするとき、 iく jな らば (x)は g(i) (x)で割り切れるため、式(13)及び式(14)によって設定された多 項式 g(1) (X) , g(2) (x) , · ··, gW (x)は、式 (7)と式 (8)の要件を満たす。
[0095] 多項式 h(i' j) (x)の選択は、 iを l≤i≤rの整数、 jを l≤j≤m— rの整数として、式(9) に示す通り、 g(i) (X)の倍多項式となるように設定する。 Vを 2≤v≤rの整数、 uを l≤u ≤v- 1の整数として、多項式 f (uv) (x)の選択は、多項式 h(ij) (x)の場合と同様に、 式 (10)が示す通り、 g(u) (x)の倍多項式となるように設定する。多項式 h(i' j) (x)と f (u' v) (x)の選択には自由度があるが、式(14)の多項式 g(i) (x)と多項式 h(i' j) (x) , f(u' ν) (χ )とによって定まる、式 (4)に示した検査行列 H力 疎な巡回行列をブロックとするプロ ック行列 H'を基本行変換した行列に一致するように、多項式 h(i'j)(x), f(u'v)(x)を選 択することができる。このこと〖こよって、本実施形態の符号化方式によって符号化され たビット列は、低密度パリティ検査符号となって、例えばサム'プロダクト復号法などの 繰り返し復号法を適用することにより復号することが可能となる。
[0096] 具体的数値例を挙げて説明する。前述の整数 s, qを s = 3, q = 8とし、 αを χ3 + χ + 1を原始多項式とする有限体 GF (8)の原始元とする。この時、 n=7であり、 m=9, r =3とする。式 (13)と式 (14)から、 g(1) (x) =g(2) (x) =1であり、 g(3) (x)は原始多項 式に一致し、 g(3) (X) =x3+x+lとなる。式 (9)によって h j) (X)を定める (X)を 次のように選択する。ここで iは l≤i≤3の整数であり、 jは l≤j≤6の整数である。
[0097] [数 10] ( )(x) = 0, Ψ(1'2)( ) = 1, Ψ(υ)( ) = χ4, Ψ( )(χ) = 5, Ψ(1·5)( ) = 5, Ψ(1'6)(χ) = χ, Ψ(2·1)( ) = 1, Ψ(2'2)(χ) = χ4, Ψ(2'3)(χ) = 5, Ψ(2'4)(χ) = χ5, Ψ(2'5)(χ) = χ, Ψ(2'6)(χ) = 1, Ψ(3α)( ) = 0, Ψ(3'2)(χ) = χ6, Ψ(3'3)(χ) = 3, Ψ(3'4)(χ) = 2, Ψ(3'5)(χ) = 5, Ψ(3'6)( ) = χ5
(15)
[0098] 式 (10)により、 f(u'v)(x)を定める φ( ν)(χ)を φ(1'3)(χ)=1, (2'3) (χ)=χ5, φ '
2) (χ) =χ5と選択する。以上によって、本実施形態の符号化装置における各結線素 子の状態がすべて定まる。またこれによつて、式 (4)の検査行列 Ηが定まる力 これ は次の式( 16)に示した行列 Η 'を基本行変換した行列に一致する。
[0099] [数 11]
(0
Η = 0
0 ノ
[0100] ここで、ボールド文字の" 0"は 7 X 7全零行列を表し、 kは 0≤k≤6の整数であるとし て、 Iは、式(5)の巡回行列において、 aのみが 1であり、他はすべて 0である巡回置 k k
換行列を表す。この検査行列 H'に対応したサム'プロダクト復号法などの繰り返し復 号法の適用により、本実施形態の符号ィ匕装置によって誤り訂正符号化されたビット列 を効率的、かつ高精度で復号することができる。
[0101] 最後に本実施形態の符号化装置と、これに対応して設計されたサム'プロダクト復 号法などの繰り返し復号法を実施する装置を、各々送信側と受信側に設置すること による効果を一数値例によって説明する。前述の整数 s, qを s = 6, q = 64とし、 αを χ6+χ+1を原始多項式とする有限体 GF(64)の原始元とする。この時、 n=63であ り、 m=65, r=8とする。式(13)と式(14)から、 g(1) (x) =g(2) (x) =1であり、 g(3) (x) と g(4) (x)は原始多項式に一致し、 g (x) =g(4) (x) =x6+x+ 1となる。また、 g(5) (x) , g(6) (x), g(7) (x), g(8)(x)は、式 (13)と式 (14)より、式 (17)に示す多項式 g )に
2 一致する。
[0102] [数 12] g2( )-(x6+jc + l)(x6 +x4 +x2 +X + 1)(JC6 +X5 + x2 +X + 1)(J 3 +x2 +l) (17)
[0103] 前述の具体例と同様に、多項式 Ψ (i' j) (x)と多項式 φ (u' ν) (χ)を、式 (4)の検査行列 Ηが、零行列と巡回置換行列を成分とする疎なブロック行列 H'を基本行変換した行 列に一致するように、選択することができる。この時、 n=63, m=65であるから、符 号長は 4095ビットであり、 k =k =0, k =k =6, k =k =k =k =21であるから
1 2 3 4 5 6 7 8
、式(3)より、情報ビット数は 3687ビットである。このような選択によって、符号長が 40 95ビット、情報ビット長が 3687ビットの符号ィ匕装置を構成することができ、さらにこれ はサム'プロダクト復号法などの繰り返し復号法によって、高精度かつ効率的に復号 処理することが可能である。
[0104] 加法的白色ガウス雑音環境下にお!/、て 2相位相偏移 (BPSK)変調方式で変調さ れた信号によって通信を行う際、前述の符号長が 4095ビット、情報ビット数が 3687 ビットの符号を適用することによって、復号後のビット誤り確率が 0. 1%の時、 3. 5dB 以上の符号化利得を得ることができる。なお、このときの帯域拡大率は約 11%である
[0105] 前述のように本具体例においては、式 (4)の行列の行ブロック数に相当するパラメ ータ rを 8と設定したが、このパラメータ rを変えることによって、符号化装置に大幅な 変更を伴うことなぐ符号ィ匕率や帯域拡大率を変えることが可能である。例えば、パラ メータ rのみを 8から 4へ設定し直し、多項式の選択等の他の設定は変えな!/、ものとす る。この時のブロック行列 Hは、行ブロック数が 4、列ブロック数が 65であり、各行ブロ ックは、 r= 8である時のブロック行列 Hの第 1行ブロックから第 4行ブロックに一致する 。ブロック行列 Hを基本行変形して得られる疎なブロック行列 H,についても同様にそ の第 1行ブロック力も第 4行ブロックが一致する。 r =4の場合の符号ィ匕装置は、 r=8 の場合の符号化装置における多項式乗算回路と多項式除算回路の一部を切り離す ことによって実現できる。図 2において 8個並列に設置された多項式乗算ユニットの下 4個を切り離し、さらに i=8, 7, 6, 5である多項式除算 ·乗算ユニット [i]に関して、多 項式除算回路と前述のように切り離された下 4個の多項式乗算ユニットに接続された 多項式乗算回路とを切り離した回路は、 r=4の場合の符号ィ匕装置の構成に一致す る。またこの場合、符号長は 4095ビット、情報ビット長は 3855ビットとなり、このときの 帯域拡大率は約 6. 2%であって、前述の通信環境下では、復号後のビット誤り確率 が 0. 1%の時、 2. 5dB以上の符号化利得を得ることができる。
[0106] 次に、本発明の他の実施形態の誤り訂正符号ィ匕装置について説明する。
[0107] 上述の実施形態において、図 3に示した多項式乗算ユニット 11では、 mを正の整 数、 rは l≤r≤mの整数として、(m—r)個の多項式乗算回路 21が排他的論理和回 路 22を介して直列に接続されて!ヽる。これら直列に接続された (m—r)個の多項式 乗算回路は、多項式乗算ユニットの入力データに対してシリアル 'パラレル変換が行 われるようにすることによって、並列に配置させることができる。この場合、並列に配置 された (m— r)個の多項式乗算回路の出力の排他的論理和を多項式乗算ユニットの 出力とする。この並列化による利点は、並列の配置されている多項式乗算ユニット間 でフリップ 'フ口ップを共有できることによる、多項式乗算ユニット中のフリップ ·フロッ プ数の削減にある。
[0108] 図 8は、このように (m— r)個の多項式乗算回路が並列に配置された多項式乗算ュ ニットを示している。以下の説明において、簡単のため、(m—r)を Nとおく。この多項 式乗算ユニットは、 nを正整数として、レジスタとして用いられる n個のフリップ ·フロッ プ 61と、たかだ力 n個の (N+ 1)入力の排他的論理和回路 62と、排他的論理和回路 62ごとに N個ずつ設けられ検査行列に応じて結線あるいは非結線の状態が定まる 結線素子 63と、スィッチ 64と、シリアルに入力するビット列を N (=m—r)個にシリア ル 'パラレル変換するシリアル Zパラレル (S→P)変翻65と、を備えている。排他的 論理和回路 62は、フリップ 'フロップ 61ごとにそのフリップ 'フ口ップの入力側に設けら れており、それぞれ排他的論理和回路 62を伴った n個のフリップ'フロップ 61は、そ れらの排他的論理和回路 62を介して直列に接続し、スィッチ 34は、最終段のフリツ プ.フロップ 61の出力に接続している。スィッチ 34は、最終段のフリップ 'フロップ 61 の出力をこの多項式乗算ユニットの出力として外部に供給する力 あるいは初段の排 他的論理和回路 62を介して初段すなわち図示左端のフリップ ·フロップ 61に戻すか を選択するためのものである。
[0109] この多項式乗算ユニットでは、排他的論理和回路 62ごとに N個ずつ設けられる結 線素子 63は、シリアル/パラレル変 65からの N本の出力のそれぞれを対応する 排他的論理和回路 62に供給する力供給しないかを定めるものである。 iは l≤i≤nを 満たす整数とすると、図示右力も i番目のフリップ'フロップ 61に対して、シリアル Zパ ラレル変 65からの N本の出力が供給される力されないかは、それぞれ、ビット列 h h (2), · ··, h (N)の対応するビットが" 1"であるカノ' 0"であるかによって定ま i + 1 i + 1 i + 1
る。
[0110] 図 8に示す多項式乗算ユニットの出力は、 N (=m— r)個の多項式乗算回路の出 力の排他的論理和に一致する。図 3の形の多項式乗算ユニットにおいてはフリップ- フロップが n (m-r)個使用されて!、たのに対し、図 8の並列化された多項式乗算ュ ニットにおけるフリップ'フロップ数は n個である。このように並列化を図ることによって 、図 8に示したものではフリップ'フロップ数が削減されている。
[0111] なお、図 8に示す回路においては、フリップ'フロップ間に配置された排他的論理和 回路 62へのファンイン数が、図 4の多項式乗算回路における排他的論理和回路 32 へのファンイン数と比較して大きくなつている。もし、図 8の回路において排他的論理 和回路での最大ファンイン数が許容範囲を超える場合には、多項式乗算回路の並 列接続と直列接続とを併用することで、ファンイン数を許容範囲内に抑えることができ る。その場合の多項式乗算ユニットの構成は、図 3の多項式乗算ユニットにおける多 項式乗算回路 21の部分に、図 8に示した回路が入る形態となる。
[0112] 次に、上述した各実施形態の誤り訂正符号化装置の適用例について説明する。図 9は、本発明に基づく符号ィ匕装置を用いたデータ通信システムの構成の一例を示し ている。このデータ通信システムは、データ送信装置 81と、データ送信装置 81から 通信路 80を介して送信されてきたデータを受信するデータ受信装置 85とを備えてい る。データ送信装置 81は、送信すべきデータが入力する本発明に基づく符号化装 置 82と、符号ィ匕装置 82が出力するビット列に対してフレーム同期をとるための制御を 行い、変調器に合わせたデータへ変換する同期制御 ·データ変換装置 83と、同期制 御 ·データ変換装置 83から出力されるデータを変調して通信路 80に送出する変調 器 84と、を備えている。データ受信装置 85は、通信路 50から受信した情報を復調す る復調器 86と、復調器 86の出力データを復号装置への入力データに変換するととも に、フレーム同期をとるための処理を行う同期制御 'データ変換装置 87と、サム'プロ ダクト復号法などの繰り返し復号を実行する復号装置 88と、を備えて!/、る。
[0113] 図 9に示す構成において、変調器 84からの出力を通信路 80ではなくて記録媒体 に記録し、復調器 86には通信路 80からの情報ではなくて記録媒体力も読出された 情報が入力するようにすることによって、データ記憶装置を構成することも可能である
[0114] 以上説明したように本発明の誤り訂正符号ィ匕装置は、ノ メータ m, r, n、及び多 項式の選択によって、符号長、情報ビット長、符号化率 (帯域拡大率)に関する幅広 V、要求に応えることが可能である。
[0115] このように本発明に基づく誤り訂正符号ィ匕装置は、多項式乗算回路と多項式除算 回路との平易な組み合わせ力もなるため、単純な装置構成で実現することができ、符 号ィ匕処理に要する計算量と装置規模の削減とを図ることが可能である。また、多項式 乗算回路と多項式除算回路における結線の選択によって、繰り返し復号によって多 くの符号化利得を得ることが可能な誤り訂正符号ィ匕装置を構成できるようになる。こ のようにして本発明は、通信システムにおける信頼性の向上、所要電力の低下に貢 献する。
産業上の利用可能性
[0116] 本発明は、衛星通信システムあるいは移動体通信システムなどにおける所要電力 の低減やアンテナの小型化などのシステム構成上の要件を満たすための誤り訂正技 術として、あるいは磁気記録などの記憶装置に関する信頼性向上のための誤り訂正 技術として、適用することができる。

Claims

請求の範囲
[1] 低密度パリティ検査符号を用いる誤り訂正符号化方法であって、
m, nを正整数、 rを l≤r≤mの整数、 k , k , · ··, kを 0≤k , k , · ··, k≤n— 1の
1 2 r 1 2 r
整数として、
誤り訂正符号ィ匕すべき情報ビット列を、各々が長さ nのビット列力もなる (m—r)個の 第 1のブロックと、各々が長さ k , k , · ··, kのビット列力 なる r個の第 2のブロックとに
1 2 r
分割することと、
(m— r)個の前記第 1のブロックに対して多項式乗算を行って長さ nの r個のビット列 を出力する第 1の演算と、
r個の前記第 2のブロックと前記第 1の演算段階による!:個の演算結果とに対して多 項式除算及び多項式乗算を行って、長さがそれぞれ n— k , n-k , · ··, η— kである
1 2 r 冗長ビット系列を含むビット列を出力する第 2の演算と、
を有する、誤り訂正符号化方法。
[2] 前記第 2の演算は、
長さが kである前記第 2のブロックと前記第 1の演算力 の r個の演算結果とに対し てたかだか 1回の多項式除算とたかだか (r 1)回の多項式乗算とを並列に行って、 前記冗長ビット列のうちの (n—k )ビットと (r— 1)個の長さ nのビット列とを出力する第 1の多項式除算 ·乗算演算と、
pを 2≤p≤rの整数として、第 (p— 1)の多項式除算 ·乗算演算力 出力される (r— p + 1)個の長さ nのビット列と、長さが k である前記第 2のブロックとに対して、た
r-p + l
かだか 1回の多項式除算とたかだか (r p)回の多項式乗算とを並列に行って、前記 冗長ビット列のうちの (n—k )ビットと (r—p)個の長さ nのビット列とを出力する第
r-p + l
Pの多項式除算 ·乗算演算と、
を備える、請求項 1に記載の方法。
[3] 前記多項式除算における除数を、多項式 xn— 1を 1の n乗根を含む有限体の元の 素体上の最小多項式の積力もなる多項式で除算した商多項式とする、請求項 2に記 載の方法。
[4] 低密度パリティ検査符号を用いる誤り訂正符号化装置であって、 m, nを正整数、 rを l≤r≤mの整数、 k , k , · ··, kを 0≤k , k , · ··, k≤n— 1の
1 2 r 1 2 r
整数として、
誤り訂正符号ィ匕すべき情報ビット列を、各々が長さ nのビット列力もなる (m—r)個の 第 1のブロックと、各々が長さ k , k , · ··, kのビット列力 なる r個の第 2のブロックとに
1 2 r
分割する分割部と、
(m— r)個の前記第 1のブロックに対して多項式乗算を行って演算結果として長さ n のビット列を出力する r個の第 1の演算部と、
r個の前記第 2のブロックと r個の前記第 1の演算部の各々から並列に入力する前記 演算結果とに対して多項式除算及び多項式乗算を行って、長さがそれぞれ n—k , n-k , · ··, n—kである冗長ビット系列を含むビット列を出力する第 2の演算部と、
2 r
を有する、誤り訂正符号化装置。
前記第 2の演算部は、
長さが kである前記第 2のブロックと!:個の前記第 1の演算部力 の演算結果とに対 してたかだか 1個の多項式除算とたかだか (r 1)回の多項式乗算とを並列に行って 、前記冗長ビット列のうちの(n—k )ビットと (r 1)個の長さ nのビット列とを出力する 第 1の多項式除算'乗算ユニットと、
pを 2≤p≤rの整数として、第 (p— 1)の多項式除算 ·乗算ユニットから出力される (r p + 1)個の長さ nのビット列と、長さが k である前記第 2のブロックとに対して、
r-p + l
たかだか 1回の多項式除算とたかだ力 r p回の多項式乗算とを並列に行って、前記 冗長ビット列のうちの (n—k )ビットと (r—p)個の長さ nのビット列とを出力する第
r-p + l
Pの多項式除算'乗算ユニットと、
を備える、請求項 4に記載の装置。
前記第 1の演算部は、
複数段縦続接続されたレジスタと、
前記縦続接続においてレジスタごとに当該レジスタの入力端に配置された排他的 論理和回路と、を備え、
前記排他的論理和回路ごとに当該排他的論理回路の出力論理を非反転または反 転とするように、所定の多項式演算に基づいて定められる結線によって前記各排他 的論理回路の出力論理が設定されている、請求項 4に記載の装置。
[7] qを l≤q≤rの整数として、第 rの多項式除算'乗算ユニットは、たかだか 1つの多項 式除算回路と、たかだか (r q)個の多項式乗算回路とを備える、請求項 5に記載の 装置。
[8] 前記多項式除算回路は、多項式 xn— 1を 1の n乗根を含む有限体の元の素体上の 最小多項式の積からなる多項式で除算した商多項式を除数として多項式除算を実 行する回路である、請求項 7に記載の装置。
[9] 前記第 1の演算部は、
複数段縦続接続されたレジスタと、
前記縦続接続においてレジスタごとに当該レジスタの入力端に配置された排他的 論理和回路と、を備え、
前記排他的論理和回路ごとに当該排他的論理回路の出力論理を非反転または反 転とするように、所定の多項式演算に基づいて定められる結線によって前記各排他 的論理回路の出力論理が設定されている、請求項 5に記載の装置。
[10] 入力データを変調して送信するデータ送信装置であって、前記入力データに対し て誤り訂正符号化を行う請求項 4乃至 9のいずれ力 1項に記載の装置を有するデー タ送信装置。
[11] 入力データを変調して記録媒体に記録するデータ記憶装置であって、前記入力デ ータに対して誤り訂正符号ィヒを行う請求項 4乃至 9のいずれか 1項に記載の装置を 有するデータ記憶装置。
PCT/JP2007/058972 2006-05-12 2007-04-25 誤り訂正符号化方法及び装置 WO2007132656A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP07742407.5A EP2031759B1 (en) 2006-05-12 2007-04-25 Coding method and device for Quasi-Cyclic LDPC codes
CN2007800263128A CN101490963B (zh) 2006-05-12 2007-04-25 纠错编码方法及装置
JP2008515479A JP4978625B2 (ja) 2006-05-12 2007-04-25 誤り訂正符号化方法及び装置
US12/300,412 US8205142B2 (en) 2006-05-12 2007-04-25 Error correction coding method and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006134092 2006-05-12
JP2006-134092 2006-05-12

Publications (1)

Publication Number Publication Date
WO2007132656A1 true WO2007132656A1 (ja) 2007-11-22

Family

ID=38693755

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/058972 WO2007132656A1 (ja) 2006-05-12 2007-04-25 誤り訂正符号化方法及び装置

Country Status (6)

Country Link
US (1) US8205142B2 (ja)
EP (1) EP2031759B1 (ja)
JP (1) JP4978625B2 (ja)
CN (1) CN101490963B (ja)
RU (1) RU2408979C2 (ja)
WO (1) WO2007132656A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713398B2 (en) 2011-03-22 2014-04-29 Nec Corporation Error correct coding device, error correct coding method, and error correct coding program
US11165438B2 (en) 2017-12-27 2021-11-02 Nec Corporation Error-correction encoding method and device, and decoding method and device using channel polarization

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103281091B (zh) 2007-09-28 2017-10-27 松下电器产业株式会社 编码方法、编码器、解码器、发送装置和接收装置
CN101821808B (zh) 2008-07-28 2014-03-19 艾格瑞系统有限公司 用于确定头组件与存储介质之间的飞行高度的系统和方法
US9343082B2 (en) 2010-03-30 2016-05-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for detecting head contact
US8526133B2 (en) 2011-07-19 2013-09-03 Lsi Corporation Systems and methods for user data based fly height calculation
WO2014054283A1 (ja) * 2012-10-05 2014-04-10 パナソニック株式会社 符号化方法、復号方法、符号化器、及び、復号器
US9293164B2 (en) 2013-05-10 2016-03-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for energy based head contact detection
US8937781B1 (en) 2013-12-16 2015-01-20 Lsi Corporation Constant false alarm resonance detector
US9129632B1 (en) 2014-10-27 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Loop pulse estimation-based fly height detector
RU2639661C1 (ru) * 2016-09-02 2017-12-21 Акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" Способ умножения и деления элементов конечных полей
WO2018218466A1 (zh) 2017-05-28 2018-12-06 华为技术有限公司 信息处理的方法和通信装置
EP3624350A4 (en) 2017-06-03 2020-06-17 Huawei Technologies Co., Ltd. INFORMATION PROCESSING PROCESS AND COMMUNICATION DEVICE
RU2659025C1 (ru) * 2017-06-14 2018-06-26 Общество с ограниченной ответственностью "ЛЭНДИГРАД" Способы кодирования и декодирования информации

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072130A (ja) * 2001-07-18 2004-03-04 Sony Corp 符号化方法および符号化装置
US20040148560A1 (en) 2003-01-27 2004-07-29 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
WO2006064659A1 (ja) * 2004-12-15 2006-06-22 Nec Corporation 誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HU216669B (hu) 1990-09-19 1999-08-30 Koninklijke Philips Electronics N.V. Információhordozó fő adatállománnyal és vezérlőállománnyal, eljárás és készülék ezen állományok rögzítésére, valamint készülék azok kiolvasására
US7865806B2 (en) * 2006-03-03 2011-01-04 Peter Lablans Methods and apparatus in finite field polynomial implementations
WO2006001015A2 (en) * 2004-06-25 2006-01-05 Runcom Technologies Ltd. Multi-rate ldpc code system and method
DE602005007320D1 (de) * 2005-02-22 2008-07-17 Lucent Technologies Inc Vorgehensweise und Apparat zur Encodierung von Low-Density Parity-Check (LDPC) Codes
CN1753315A (zh) * 2005-11-03 2006-03-29 华中科技大学 一种低密度奇偶校验码的编码方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072130A (ja) * 2001-07-18 2004-03-04 Sony Corp 符号化方法および符号化装置
US20040148560A1 (en) 2003-01-27 2004-07-29 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
WO2006064659A1 (ja) * 2004-12-15 2006-06-22 Nec Corporation 誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
FUJITA H ET AL.: "IEICE TRANSACTIONS ON FUNDAMENTALS OF ELECTRONICS, COMMUNICATIONS AND COMPUTER SIENCES", vol. E88-A, 1 December 2005, ENGINEERING SCIENCES SOCIETY, article "SOME CLASSES OF QUASI-CYCLIC LDPC CODES: PROPERTIES AND EFFICIENT ENCODING METHOD", pages: 3627 - 3635
HOCEVAR D E: "Efficient encoding for family of quasi-cyclic LDPC codes", PROC., IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, GLOBECOM 2003, vol. 7, 1 December 2003 (2003-12-01), pages 3996 - 4000
See also references of EP2031759A4
TANNER R.M. ET AL.: "IEEE TRANSACTIONS ON INFORMATION THEORY", vol. 50, 1 December 2004, IEEE PRESS, article "LDPC Block and Convolutional Codes Based on Circulant Ma- trices", pages: 2966 - 2984
ZONGWANG LI ET AL.: "PROC., IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, GLOBECOM 2005", vol. 3, 28 November 2005, MO, article "Efficient encoding of quasi-cyclic low-density parity-check codes", pages: 1205 - 1210

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713398B2 (en) 2011-03-22 2014-04-29 Nec Corporation Error correct coding device, error correct coding method, and error correct coding program
US11165438B2 (en) 2017-12-27 2021-11-02 Nec Corporation Error-correction encoding method and device, and decoding method and device using channel polarization

Also Published As

Publication number Publication date
CN101490963A (zh) 2009-07-22
RU2408979C2 (ru) 2011-01-10
US20090187810A1 (en) 2009-07-23
US8205142B2 (en) 2012-06-19
RU2008148940A (ru) 2010-06-20
EP2031759A4 (en) 2012-07-04
EP2031759A1 (en) 2009-03-04
EP2031759B1 (en) 2014-07-30
CN101490963B (zh) 2013-11-06
JP4978625B2 (ja) 2012-07-18
JPWO2007132656A1 (ja) 2009-09-24

Similar Documents

Publication Publication Date Title
JP4978625B2 (ja) 誤り訂正符号化方法及び装置
US6928602B2 (en) Encoding method and encoder
US7343548B2 (en) Method and apparatus for encoding and decoding data
US8095859B1 (en) Encoder for low-density parity check codes
US6938196B2 (en) Node processors for use in parity check decoders
JP4062435B2 (ja) 誤り訂正符号復号装置
US7673223B2 (en) Node processors for use in parity check decoders
US7499490B2 (en) Encoders for block-circulant LDPC codes
US8108760B2 (en) Decoding of linear codes with parity check matrix
EP2234275B1 (en) Encoder and encoding method
JP4821613B2 (ja) 誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法
JP4320418B2 (ja) 復号装置および受信装置
WO2007088870A1 (ja) 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器
WO2011136089A1 (ja) 符号化装置、誤り訂正符号構成方法およびそのプログラム
EP2951925B1 (en) Ldpc code design and encoding apparatus enabling the adjustment of code rate and codelength
JPH07202715A (ja) 時間定義域代数エンコーダ/デコーダ
US8713398B2 (en) Error correct coding device, error correct coding method, and error correct coding program
EP2309650B1 (en) A systematic encoder with arbitrary parity positions
JP5523064B2 (ja) 復号装置及び方法
US8527851B2 (en) System and method for using the universal multipole for the implementation of a configurable binary Bose-Chaudhuri-Hocquenghem (BCH) encoder with variable number of errors
EP2951926B1 (en) Ldpc code design and encoding apparatus for their application
KR101221062B1 (ko) 가변 usc 부호를 이용한 부호화 및 복호화 방법
Sukhavasi et al. A Primitive Polynomial to Define the Finite Field Modules for High-Throughput Interpolator to Encode and Decode Of Non Binary Cyclic Codes
Gautam et al. Study and design of architecture for BCH code encoder and decoder
EP2309649A1 (en) A systematic encoder with arbitrary parity positions

Legal Events

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

Ref document number: 200780026312.8

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07742407

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008515479

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 12300412

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: 2007742407

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2008148940

Country of ref document: RU