WO2006064659A1 - 誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法 - Google Patents

誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法 Download PDF

Info

Publication number
WO2006064659A1
WO2006064659A1 PCT/JP2005/021909 JP2005021909W WO2006064659A1 WO 2006064659 A1 WO2006064659 A1 WO 2006064659A1 JP 2005021909 W JP2005021909 W JP 2005021909W WO 2006064659 A1 WO2006064659 A1 WO 2006064659A1
Authority
WO
WIPO (PCT)
Prior art keywords
polynomial
length
error correction
connection
block
Prior art date
Application number
PCT/JP2005/021909
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 DE05811730T priority Critical patent/DE05811730T1/de
Priority to CN2005800432023A priority patent/CN101080874B/zh
Priority to US11/792,692 priority patent/US7979780B2/en
Priority to EP05811730A priority patent/EP1841075A4/en
Priority to JP2006548752A priority patent/JP4821613B2/ja
Publication of WO2006064659A1 publication Critical patent/WO2006064659A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • 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/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Definitions

  • the present invention relates to an error correction code detector and an error correction code method used therefor, and in particular, a block error correction in which an information sequence is divided into fixed length blocks and a redundant sequence is added independently for each block.
  • the present invention relates to a method and apparatus for a low density parity check (LDPC) code key in a code key system and its circuit.
  • LDPC low density parity check
  • error correction code techniques that have a large coding gain are required to meet the requirements of system configuration such as reduction of required power and downsizing of antennas.
  • Introduction has been made.
  • the low density parity check code is known as an error correction code having a very large coding gain, and has been introduced into various communication systems and storage devices such as magnetic recording.
  • the low-density parity check code has a sparse check matrix that does not simply indicate one error correction coding method (most of the components in the matrix are 0, and the number of components that are 1 is very large).
  • This is a generic term for error correction codes with the characteristics of By selecting a sparse check matrix and using an iterative decoding method such as the sum-product algorithm, an error correction code method with a very large coding gain close to the theoretical limit can be obtained. It can be configured (see, for example, Non-Patent Documents 1 and 2).
  • the parity check matrix is [Number 1]
  • the part marked by 8 in equation (1) is a 1 ⁇ matrix (1 :, k is a positive integer), c, c, ⁇ ⁇ ⁇
  • c is a k-bit information bit sequence, the corresponding r-bit redundant bit sequence p, p k 1 2
  • Each bit p. (I is an integer between 1 and r) is
  • a in equation (2) represents the (i, j) component of the r X k matrix A (i is an integer between 1 and r)
  • the code correction device configuration of the error correction code requires that the matrix A of r X k is held in a storage device such as a memory and the number of exclusive OR operations equal to the number of 1 in the matrix A components is required. Become.
  • FIG. 7 shows an example of a conventional coding apparatus related to a low density parity check code.
  • 51 is a redundant bit string calculation device that performs the operation of equation (2)
  • 52 in FIG. 7 represents a memory that holds matrix A in equation (1)
  • 53 in FIG. 7 represents a switch. It is.
  • a method of limiting the matrix to the matrix that is the block matrix power of the cyclic permutation matrix and making the matrix A have regularity, thereby reducing the amount of memory and simplifying exclusive OR operation processing for example, (See Patent Document 1), and a method of constructing a low-density parity check code that minimizes the number of 1s in the components of the matrix A and further increases the coding gain obtained by iterative decoding (for example, non-patent documents) 3) is known.
  • a cyclic code that calculates a redundant bit string only by a polynomial division circuit is known.
  • a Reed Solomon (RS) code and BCH code (BCH) code are known.
  • the convolutional code can realize the encoding device very easily, similarly to the above-described cyclic code.
  • turbo code is suitable for systems that require a high code rate with a low code rate (ratio between the length of the information bit sequence and the length of the code bit sequence). Not.
  • the error rate characteristic evaluation and performance prediction of the low density parity check code can be generally performed by a method called Density-Evolution in a region where the error probability is sufficiently large. It is known (see, for example, Non-Patent Document 4).
  • the performance prediction of the error rate characteristics in a region with a low error probability, especially in the region called the error floor, is evaluated by an experimental method using computer simulation.
  • the conventional coding apparatus related to the low density parity check code is realized by the storage device that holds the matrix A in the above equation (1) and the arithmetic processing device of the above equation (2). It is done. Also, the error rate characteristics are evaluated experimentally.
  • Patent Document 1 Japanese Patent Laid-Open No. 2003-115768 (10th and 11th pages, FIGS. 4 to 7)
  • Patent Document 2 United States Patent 5446747 (Page 2, Figure 1)
  • Non-Patent Document 1 “Low—Density Parity -Check Codes” [Robert Gallager, MIT Press, 1963]
  • Non-Patent Document 2 "Dat Ela 'Collecting Cause Based on Very Sparse Metrics” (DJC MacKay), Eye Triple IEEE Transactions on Information Theory. March 1999, pp. 399-431]
  • Non-Patent Document 3 “Efncient Encoding of Low— Density Parity— Cneck Codes” [Thomas Richardson, R. Urbane (R. Ur banke), I EEE Transactions on Information Theory (September 2001, younger brothers 638 to 6 56)
  • Non-Patent Document 4 “Design of Capacity— Approaching Irr egular Low-Density Parity-Check Codes” [Thomas Richardson ), Em 'MA Shokrollahi, by Arnole' R. Urbanke, I Triplex Transactions on Information Theory, September 2001, pages 619-637 ]
  • the coding device related to the conventional low density parity check code includes a storage device that holds the matrix ⁇ in the above equation (1), and the above equation (2).
  • the scale of the coding device is very large, especially for satellite communications and mobile In an environment where the conditions for the device scale and power consumption such as body communication are severe, it is necessary to further reduce the storage device and the exclusive OR operation device.
  • the turbo code can realize the encoding device relatively easily, it is difficult to apply to a system that requires a low code rate and a high code rate. Due to the above problems, in a communication system that requires a particularly high code rate, the amount of calculation required for the encoding process is high in order to obtain a high coding gain using a low density parity check code. Many device configurations become complicated.
  • the object of the present invention is to solve the above-described problems, simplify the apparatus configuration, perform decoding with near-optimal accuracy by iterative decoding, and reduce the error in the error floor area.
  • An object of the present invention is to provide an error correction code encoding device that can perform characteristic evaluation by a simple calculation formula without using computer experiments, and an error correction code encoding method used therefor.
  • An error correction code encoder is an error correction encoding device using a low density parity check code
  • n a block of length n (where n is an integer greater than 1) and length (n—r) (r is between 1 and n), where m is an integer greater than 1.
  • the block of length n of the information bit sequence divided into one block consisting of a bit sequence (which represents an integer of n) is input, and a polynomial multiplication is performed to output a bit sequence of length n m —
  • Polynomial division is performed on the block of length (n ⁇ r) and the output result of the adder. And a polynomial divider that outputs a redundant bit sequence of length r.
  • An error correction coding method is an error correction coding method using a low density parity check code
  • n in a polynomial multiplier of 1 (m represents an integer greater than 2) !
  • m one block of length n (where n represents an integer greater than 1) and length (N ⁇ r) (where r is an integer between 1 and n) and a block of length n of the information bit string divided into one block consisting of bit strings, and performing polynomial multiplication Output each bit sequence of length n,
  • polynomial division is performed on the block of length (n ⁇ r) and the output result of the adder to output a redundant bit sequence of length r.
  • the error correction code key device of the present invention generates an information bit sequence of length K (K represents an integer) blocked for the error correction code key. Further, m is divided into one block of length n and one block of length (n ⁇ r) (m, n represents an integer of 2 or more, and r represents an integer between 1 and n) M—one polynomial multiplier for performing polynomial multiplication with each of the divided information bit sequences as m—one block of length n and outputting a sequence of length n.
  • m Additional unit that adds each output of one polynomial multiplier, and a block of length (n ⁇ r) and the output result of the adder are used as inputs to perform polynomial division, and a redundant bit of length r And a polynomial divider that outputs a sequence.
  • the error correction coding apparatus includes a polynomial multiplication device and a polynomial division device, and thus can be realized with a simple device configuration, and the amount of calculation required for the coding process. And a reduction in the scale of the apparatus. Further, in the error correction code apparatus according to the present invention, an error correction code apparatus having a small number of minimum weight codewords can be configured by selecting the connection in the polynomial multiplier and the connection in the polynomial division apparatus.
  • the apparatus configuration is small and the apparatus configuration is simple, and it is possible to obtain a high coding gain by the iterative decoding method. It is possible to contribute to the improvement of power and reduction of power requirements.
  • the error correction coding apparatus of the present invention it is possible to accurately calculate the minimum distance and the number of minimum weight codewords by selecting the connection in the polynomial multiplication apparatus and the connection in the polynomial division apparatus. Therefore, it is possible to easily calculate an error rate characteristic in a typical communication system to which the present invention is applied, in particular, an approximate value with a good error probability in the error floor region by calculation. This makes it possible to quantitatively evaluate the reliability of the communication system even in cases where it is difficult in terms of time and time.
  • the present invention can simplify the device configuration, perform decoding with near-optimal accuracy by iterative decoding, and An effect is obtained that the characteristic evaluation of the error floor area can be performed by a simple calculation formula without using a computer experiment.
  • FIG. 1 is a block diagram showing a configuration of an error correction code encoder according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing the configuration of the n ⁇ l degree polynomial multiplier of FIG. 1.
  • FIG. 3 is a block diagram showing the configuration of the r-th order polynomial divider in FIG. 1.
  • FIG. 4 is a block diagram showing a detailed configuration of the polynomial multiplication block in FIG. 1.
  • FIG. 5 is a flowchart showing an example of a method for calculating m non-zero polynomials according to an embodiment of the present invention.
  • FIG. 6 is a flowchart showing an example of a polynomial calculation method according to another embodiment of the present invention.
  • FIG. 7 is a block diagram showing an example of a conventional error correction coding apparatus.
  • FIG. 1 is a block diagram showing the configuration of an error correction code generator according to an embodiment of the present invention.
  • an error correction code encoder according to an embodiment of the present invention includes one serial parallel (S ⁇ P) converter 11 and m—one n ⁇ 1 first-order polynomial multiplier 12—1-12. — (M—1), a polynomial multiplication block 1 consisting of an adder 13, one r-th order polynomial divider 2, and switches 3 and 4.
  • S ⁇ P serial parallel
  • a device that converts bits into bit strings (m and n are integers greater than or equal to 2, and r is an integer between 1 and n).
  • the polynomial multiplication block 1 is realized in the form shown in FIG. 4, but in order to simplify the description, m-1 n ⁇ first-order polynomial multipliers 12-1 to 12— ( m— 1) This will be explained as a multiplicative multiplication block 1 with power.
  • the encoding method of the present invention represents a systematic code encoding device in which the leading bit (nm-r) bits of the code bit string match the information bit string, and the remaining r bits are redundant bit strings for error correction. ing.
  • n— One n— first-order polynomial multiplier 12— 1 to 12— (m— 1) is an information bit string of length K blocked for error correction code ⁇ (K is an integer) Is further divided into m—one block of length n and one block of length (n—r), where m and n are integers greater than or equal to 2, and r is between 1 and n (Represents an integer), m—1 each block of length n is divided into n—first-order polynomial multiplication, and a sequence of length n is output.
  • the adder 13 adds the outputs of m-1 n-1 first-order polynomial multipliers 12-1 to 12- (m-1).
  • the r-order polynomial divider 2 receives the block of length (n ⁇ r) and the output result of the adder 13 as input, performs r-order polynomial division, and outputs a redundant bit sequence of length r.
  • FIG. 2 is a block diagram showing a configuration of the n ⁇ 1-th order polynomial multiplier of FIG.
  • N—first-order polynomial multiplier 12 includes n registers 121-1 to 121-n and a maximum of n exclusive OR arithmetic units 122-1 to 122-n.
  • the n ⁇ first-order polynomial multiplier 12 — 1 to 12— (m ⁇ 1) in FIG. 1 has the same configuration as the n ⁇ first-order polynomial multiplier 12.
  • the n-first-order polynomial multiplier 12 has n-bit input and n-bit output, and sequentially inputs an n-bit input bit string. When all the inputs are completed, the switch 124 is switched and n registers are registered. The contents of the star 121-1 to 121-n are output sequentially.
  • 123-l to 123-n are predetermined n-bit bit strings h 1, h 2,.
  • h is a switch that determines connection or non-connection.
  • h-force ⁇ the part marked h is connected, and when h is 0, the part marked h is not connected (j is an integer between 1 and m). How to select this n-bit bit sequence h, h, ..., h will be described later
  • FIG. 3 is a block diagram showing a configuration of the r-order polynomial divider of FIG.
  • r-order polynomial divider 2 is composed of: registers 21—l to 21-r, up to r exclusive OR calculators 22—l to 22-r, and switch 24. Has been.
  • the r-order polynomial divider 2 is exclusive of (n—r) bits of information bits and (m—1) n—first-order polynomial multipliers 121— 1 to 121—n output bits. Logical OR n bits are input and r bits are output. When the (n ⁇ r) bits of information bits have been input, the r-order polynomial divider 2 switches the switch 24, and the remaining r bits of the outputs of the n—first-order polynomial multipliers 121— 1 to 121—n
  • the exclusive OR with the contents of r registers 21-l to 21-r in Fig. 3 is sequentially output (the input of the information bit string is set to 0 at this time).
  • the output r bits of the r-order polynomial divider 2 is an r-bit redundant bit string for the (nm-r) -bit information bit string.
  • reference numerals 23-1 to 23- (r-1) denote switches that determine connection or non-connection by a predetermined bit sequence u, u,. u
  • FIG. 4 is a block diagram showing a detailed configuration of the polynomial multiplication block 1 of FIG.
  • the register portion is shared.
  • 33 is a predetermined n (m-1).
  • This is a switch that determines connection or non-connection according to a bit string of bits.
  • FIG. 1 A check matrix corresponding to the error correction code encoder according to the embodiment of the present invention shown in FIG.
  • the parity check matrix in Equation (3) above consists of a one-dimensional array of m n X n cyclic matrices, and Hi in Equation (3) indicates an n X n cyclic matrix (i is between 1 and m) Integer).
  • the cyclic matrix is
  • the row vector of the second row is the 1st row vector circulated to the left by 1 bit
  • the column vector of the kth row is (k is 2 Is an integer between 1 and n), and the row vector of the first row is rotated k-1 bits to the left.
  • t which is expressed as a polynomial of the order (n— 1) or less as shown in f, is denoted as f (i) (X) (i is an integer between 1 and m).
  • One of the conditions for selecting m (n—1) degree polynomials f (1) (x), f (2) (x), ..., f (m) (x) is , M polynomials for all integers V between 1 and n—1,
  • the number of elements of the set ⁇ is denoted as IAI.
  • the second condition for the selection of the above-mentioned m (n— 1) degree polynomials f (1) (x), f (2) (x), ..., f (m) (x) is Each of m ⁇ l polynomials f (2) (x),..., f (m) (x) is divisible by polynomial f (1) (X) modulo polynomial (X — 1) To do. Also,
  • Equation (8) is a condition necessary for executing a decoding process close to the optimum by iterative decoding of a low-density parity check code, represented by the Sam 'product algorithm.
  • the number of 1s contained in each row vector in the parity check matrix of Equation (3) above is (nm) 1/2 at the maximum, and the parity check matrix is a sparse matrix.
  • the second condition [Expression (9)] is a condition necessary for the redundant bit string to be correctly calculated by the error correction code generator shown in FIG.
  • An example of a polynomial that satisfies the above two conditions [Equations (8) and (9)] will be described later.
  • the connection in the n ⁇ 1 first-order polynomial multiplier 12 shown in FIG. 2 will be described.
  • the switches 123-1 to 123-n in the n—first-order polynomial multiplier 12 in FIG. 2 are connected by a predetermined n-bit bit sequence h 1, h 2,. Determine the connection. h
  • n-bit bit string h 1, h 2,..., H is performed as follows.
  • Figure 1 The error correction coding apparatus shown in FIG. 1 has m ⁇ 1 n ⁇ first-order polynomial multipliers 12 ⁇ 1 to 12 ⁇ (m ⁇ 1), and the i-th n ⁇ first-order polynomial multiplier 12 ⁇ i
  • switches 23—1 to 23— (r—1) are predetermined r—1 bit strings u 1, u 2,.
  • gcd (f (1) (x), x n — 1) means the greatest common polynomial of f (1) (x) and x n — 1, and the order of this greatest common polynomial is n—r.
  • r is the number of redundant bits in the encoding apparatus of the present invention. That is, the number of information bits in the error correction code encoder according to the present invention is a bit obtained by counting the degree of the greatest common divisor polynomial of f (1) (X) and x n ⁇ 1 in n (m ⁇ 1). It becomes a number.
  • Information bit string of length K (nm ⁇ r) bits that is blocked for error correction code ⁇ (m, n represents an integer of 2 or more, r represents an integer between 1 and n)
  • the information bit sequence consists of the first block from the 1st bit to the n (m ⁇ 1) th bit, and the (n ⁇ m) + 1st bit to the (nm ⁇ r) th bit. Divided into a second block of bits.
  • the first block is sequentially input to a polynomial multiplication block 1 having m-1 n-first-order polynomial multipliers 12-1 to 12- (m-1) power, and the second After the switch 3 is switched, the block is sequentially input to the r-th order polynomial divider 2.
  • the first block of length n (m-1) input to polynomial multiplication block 1 is converted to m-1 bits by serial / parallel converter 11, and converted m-1 bits.
  • n— 1st-order polynomial multipliers 12—1 to 12— (m—1) are m—1 in total.
  • the i-th bit in the m—1 bit converted in parallel (i is an integer between 1 and m ⁇ 1) is input to the n ⁇ first-order polynomial multiplier 12 ⁇ i of the second.
  • the That is, the first block is subdivided into m ⁇ 1 blocks of length n through the serial-to-parallel converter 11, and each of m ⁇ 1 blocks of length n is m ⁇ 1.
  • n—First-order polynomial multiplier 12— 1 to 12 — (m— 1) Input to each.
  • Each of the above n-1 first-order polynomial multipliers 12-1 to 12- (m-1) inputs the above subdivided n bits, and the number of output bits is n bits.
  • m One n—first-order polynomial multiplier 1 2— 1 to 12— (m—1)
  • the exclusive OR for each bit of the output is the n-bit output of the polynomial multiplier block 1.
  • n All the contents of n are initialized to zero, and an n-bit bit string is sequentially input bit by bit. During this time, switch 124 is set upward so that feedback is applied. When all n bits have been input, switch 124 is switched and the contents of registers 121-1 to 121-n are sequentially output.
  • the error correction coding apparatus shown in FIG. 1 uses m-1 single n-1 polynomial multipliers 12 shown in FIG. 2, and n-1 first-order polynomial multipliers 12-1 to 12- (m-1) ) Since the exclusive OR of each output becomes the output of the polynomial multiplication block 1, n— 1st order polynomial multiplier 12— 1 to 1 2- (m-1) Each register (121— 1 to 121— n) can be shared with other polynomial multipliers.
  • the polynomial multiplication block 1 can be realized in the form shown in FIG.
  • the registers 31-1 to 31-n are shared! Therefore, the desired output result can be obtained by the apparatus configuration of FIG.
  • Register Sl—l Sl-ir is all initialized to zero, and the latter n ⁇ r bits of the above information bit string and the output n bits of the above polynomial multiplication block 1 are sequentially input one bit at a time. .
  • switch 24 in Fig. 3 is set to the left side so that feedback is applied.
  • switch 24 is switched and exclusive OR of the remaining r bits of output of polynomial multiplication block 1 and the contents of each register (21—1 to 21—r) Sequentially output (At that time, the input of the information bit string is set to 0).
  • the output r bits of the r-th order polynomial divider 2 shown in FIG. 3 is a redundant bit string for the information bit string of (nm ⁇ r) bits. If the number of redundant bits r is equal to n, the number of information bits input to the r-order polynomial divider 2 is zero. In this case, the r-order polynomial divider 2 simply uses the polynomial multiplication block 1 Output Output n bits as they are.
  • the information bit string of (nm ⁇ r) bits becomes the output bit string of the error correction code unit simultaneously with the input to the polynomial multiplication block 1 and the r-th order polynomial division unit 2.
  • the 1st to n (m-1) th information bits that are input to the polynomial multiplication block 1 are made to match the bit order indicated by the parity check matrix shown in (3). Sort to output.
  • this embodiment represents a systematic coding apparatus in which (nm ⁇ r) bits from the head of a code bit string match an information bit string, and the remaining r bits are redundant bit strings for error correction. .
  • a low density parity check code having a coding rate of (n ⁇ l) Zn or more is obtained by using a maximum of 2n registers and 2n exclusive OR operation devices. It is possible to configure an error correction code encoder.
  • the coding gain is large due to this configuration, and the error rate characteristic in the error floor region can be calculated by a simple evaluation formula.
  • a device can be configured.
  • be the primitive element of the finite field GF (2 2S ) (S is a positive integer), and R be 1 or a divisor that is not S. Also, (2 s + 1) (2 R — 1) is n, and (2 s — 2 s — R ) Z (2 R — 1) is m. (N-1) A polynomial ⁇ ⁇ (X) [Number 15] (Ri
  • L (K) is a subset of integers between 0 and n—1,
  • Tr in Eq. (16) is the finite field GF (2) force and the force to GF (2
  • FIG. 5 is a flowchart showing an example of a method for calculating the above m non-zero polynomials. For an integer k between 0 and (2 s -1) / (2 R — 1) — 1, whether the polynomial ⁇ ⁇ (X) is zero or not is an element of the finite field GF (2 s ) Depending on whether or not the trace of a to the power of k (2 s + 1) to GF (2 R ) is zero, that is,
  • t can be determined.
  • the value of the above trace is the same value for each k (an integer between 0 and (2 s -1) / (2 R 1) 1) even if the value is other than zero. Therefore, the polynomial ⁇ (k) (X) is a subset of the finite field GF (2 2S ), and the values raised to the m-th power match each other, and the trace to the finite field GF (2 s ) is It is defined by a set that also has a power that matches a predetermined value other than zero (steps S1 to S7 in FIG. 5).
  • the length ⁇ of the code bit string in the error correction code device according to the present embodiment configured by the selected polynomial is:
  • n (ml) (2 s +1) (2 s — 2 s — R — 2 R +1)
  • the number of bits is obtained by adding the order of the greatest common polynomial of f (1) (X) and x n —1 to n (m ⁇ 1) as described above.
  • the modulation method is binary phase shift keying (2PSK) and the channel is an additive Gaussian channel.
  • EbZNo represents the signal-to-noise ratio (SNR) per bit in an additive Gaussian channel
  • Q represents the Gaussian Q function
  • FIG. 6 is a flowchart showing an example of a polynomial calculation method according to another embodiment of the present invention.
  • k is a non-negative integer
  • T is a set of polynomials of order n ⁇ 1 (n is an integer of 2 or more).
  • p represents a power of 2 such as 2, 4.
  • k is zero
  • T is an empty set
  • a polynomial f (X) of n ⁇ 1 or lower order is selected at random.
  • n (ml) is the number of bits obtained by adding the order of the greatest common divisor polynomial of f (1) (X) and x n —1.
  • n (m-l) it is at least n (m-l) at least.
  • the numerical value obtained by substituting the lower bound of the number of code bit strings having the minimum weight into Eq. (18) has a relatively low error probability! (When the SN ratio of the channel is relatively large) Give a very good approximation of the error rate characteristics.
  • the number of code bit strings having weight 2w is at least the number obtained by multiplying the binary coefficient of m and 2 by n, and in many cases, the code bit string having weight 2w
  • the numerical value obtained by substituting the lower bound of Eq. (18) into the equation (18) gives a very good approximation of the error rate characteristics when the error probability is relatively low! (When the SN ratio of the channel is relatively large). give.
  • T ⁇ f (1) (x), f (2) (x), f (3) (x), f (4) (xM Can do.
  • the small distance is 14 or less.
  • the number of sign bit strings with weight 14 A is 14 or less.
  • bit error probability after decoding 10-12 are those constructed from the above f (X) and the ratio
  • the deciphering bit error probability power is expected to be 0.4 decibels.
  • the error correction coding apparatus which only needs to select an error correction coding apparatus that meets the requirements of the communication system, responds to the request in such a wide manner by selecting a polynomial. Is possible.
  • the present invention reduces required power in satellite communication, mobile communication system or the like.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

 装置構成を簡単にし、繰り返し復号によって最適に近い精度で復号を実行可能とするとともに、エラーフロア領域の特性評価が計算機実験によらなくても簡単な計算式によって行うことが可能な誤り訂正符号化装置を提供する。  多項式乗算ブロック1のn-1次多項式乗算装置12-1~12-(m-1)は誤り訂正符号化のためブロック化された情報ビット列をさらにm-1個の長さnのブロックと長さ(n-r)の一つのブロックに分割し(m、nは2以上の整数を表し、rは1からnの間の整数を表す)、分割された各情報ビット列の内、長さnのブロックを入力とし、同じ長さの系列を出力する。r次多項式除算装置2はn-1次多項式乗算装置12-1~12-(m-1)の各出力の加算結果と、長さ(n-r)のブロックを入力とし、長さrの冗長ビット系列を出力する。

Description

明 細 書
誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法
技術分野
[0001] 本発明は誤り訂正符号ィヒ装置及びそれに用いる誤り訂正符号ィヒ方法に関し、特に 情報系列を一定長のブロックに分割し、各ブロック毎独立に冗長系列を付加するプロ ック誤り訂正符号ィ匕方式及びその回路における低密度パリティ検査 (LDPC)符号ィ匕 の方法及びその装置に関する。
背景技術
[0002] 衛星通信、あるいは移動体通信システム等においては、所要電力の低減、アンテ ナの小型化等のシステム構成上の要件を満たすため、大きな符号化利得を有する誤 り訂正符号ィ匕技術の導入が行われている。低密度パリティ検査符号は、非常に大き な符号化利得を有する誤り訂正符号として知られており、各種通信システム及び磁 気記録等の記憶装置への導入が進んで 、る。
[0003] 低密度パリティ検査符号は、単に一つの誤り訂正符号化方式を示すのではなぐ検 查行列が疎である(行列中の成分のほとんどが 0であり、 1である成分の数が非常に 少ない)という特徴をもった誤り訂正符号の総称である。疎な検査行列の選択によつ て、サム ·プロダクト(sum— product)アルゴリズム等の繰り返し復号方式を用いるこ とによって、理論限界に近い非常に大きな符号化利得を持つ誤り訂正符号ィ匕方式を 構成することが可能であるという特徴をもっている(例えば、非特許文献 1, 2参照)。
[0004] 低密度パリティ検査符号に関連する技術的問題点は、符号化方法 (情報ビット系列 力 冗長ビット系列を算出する方法)に必要となる計算量が多いこと、誤り確率が低い 領域、特にエラーフロアと呼ばれる領域における誤り率特性 (得られる符号化利得) の性能評価が困難なことである。符号ィ匕方式が符号の生成行列による行列の乗算か らなるという最も典型的な符号ィ匕装置については、符号長の二乗に比例した回数の 排他的論理和演算が必要となる。
[0005] また、符号の検査行列によって符号化装置を構成する場合には、その検査行列を [数 1]
Figure imgf000004_0001
•••(l)
という式に見られるような一部が対角行列となる形に基本変形し、その基本変形され た検査行列によって実現される。
[0006] 具体的には、(1)式の八で記した部分を 1^行列とし(1:, kは正整数)、 c , c , · · ·
1 2
, c を kビットの情報ビット系列とすると、それに対応する rビットの冗長ビット列 p , p k 1 2
, · · ·, p の各ビット p. (iは 1から rの間の整数)は、
[数 2]
Figure imgf000004_0002
•••(2)
という式によって算出される。
[0007] ここで、(2)式中の a は前記 r X k行列 Aの(i, j)成分を表す (iは 1から rの間の整数
、 jは 1から kの間の整数)。したがって、誤り訂正符号の符号ィ匕装置構成には r X kの 行列 Aをメモリ等の記憶装置に保持し、行列 Aの成分中の 1の数と等しい回数の排他 的論理和演算が必要となる。
[0008] 図 7は低密度パリティ検査符号に関する従来の符号化装置の一例を示す。図 7中 の 51は(2)式の演算を実行する冗長ビット列算出装置であり、図 7中の 52は(1)式 中の行列 Aを保持するメモリを表し、図 7中の 53はスィッチである。
[0009] 符号化装置における記憶装置及び排他的論理和演算装置の削減に関して、検査 行列を巡回置換行列のブロック行列力 なる行列に限定して、行列 Aに規則性を持 たせ、それによつてメモリ量の削減及び排他的論理和演算処理の簡単ィ匕を実現する 方法 (例えば、特許文献 1参照)、また行列 Aの成分中の 1の数ができるだけ少なぐ なおかつ繰り返し復号によって得られる符号化利得がなるべく大きくなるような低密 度パリティ検査符号の構成方法 (例えば、非特許文献 3参照)が知られている。
[0010] また、符号化装置が簡単に実現できる誤り訂正符号としては、多項式除算回路の みによって冗長ビット列の算出を行う巡回符号が知られており、特に代表的なものと してリードソロモン (RS)符号、ビー 'シ一'ェイチ(BCH)符号が知られている。さらに 、畳み込み符号も、上記の巡回符号と同様、符号化装置を非常に簡単に実現するこ とがでさる。
[0011] し力しながら、このような巡回符号、あるいは拘束長の長い畳み込み符号は最適に 近 、精度で復号処理を行う軟判定復号に要する計算量が非常に多 、と 、う問題が あり、上述したサム'プロダクト等の繰り返し復号装置によって簡単に最適に近い精度 で復号処理を行うことができる低密度パリティ検査符号と比較して、十分な符号化利 得が得られな 、と 、う問題がある。繰り返し復号によって最適に近 、精度で復号処理 を行うことができ、符号ィ匕装置に用いる比較的簡単な符号としてターボ符号 (例えば
、特許文献 2参照)が知られているが、ターボ符号は符号ィ匕率 (情報ビット列の長さと 符号ビット列の長さの比)が低ぐ高い符号ィ匕率が要求されるシステムには向いてい ない。
[0012] 低密度パリティ検査符号の誤り率特性の評価、性能予測については誤り確率が十 分大きな領域ではデンシティ一'ェヴオリユーシヨン(Density—Evolution)と呼ばれ る方式によって一般的に行えることが知られている(例えば、非特許文献 4参照)。誤 り確率が低 、領域、特にエラーフロアと呼ばれる領域における誤り率特性の性能予 測については計算機シミュレーションによる実験的方法によって評価が行われる。
[0013] このように、従来の低密度パリティ検査符号に関する符号化装置は、上記の(1)式 中の行列 Aを保持する記憶装置と、上記の(2)式の演算処理装置とによって実現さ れる。また、誤り率特性の評価に関しては実験的に行われている。
[0014] 特許文献 1 :特開 2003— 115768号公報(第 10, 11頁、図 4〜7) 特許文献 2 :United States Patent 5446747 (第 2頁、図 1)
非特許文献 1 :「口一'デンシティ ノ リティ'チェック コーズ (Low— Density Parity -Check Codes)」 [ロバート ギャラガ(Robert Gallager)著,ェム'アイ'ティ プ レス(MIT Press) , 1963年]
非特許文献 2 :「ダット エラ一'コレクティング コーズ ベースト オン ベリー スパー ス メトリシィ ~~ス (Good Error― Correcting Codes Based on very sparse matrices)」 [ディー ·ジエー ·シー マッカイ(D. J. C. MacKay)著,アイトリプル ィー トランザクションズ オン インフォメーション セオリー(IEEE Transactions on Information Theory) . 1999年 3月,第 399頁〜第 431頁]
非特許文献 3 :「エフイシェント エンコーディング ォブ ロー'デンシティ ノ リティ'チ エック コ ~~ (Efncient Encoding of Low— Density Parity— Cneck Cod es)」 [トーマス リチャードソン(Thomas Richardson) ,アール'ウルバンケ(R. Ur banke)著.アイトリプルィー トランザクションズ オン インフォメーション セオリー(I EEE Transactions on Information Theory , 2001年 9月 ,弟 638頁〜第 6 56頁]
非特許文献 4:「デザイン ォブ キャパシティー 'アプローチング イレギュラー ロー' ケンシアイ ノヽリアイ'チェック コース、 (Design of Capacity— Approaching Irr egular Low -Density Parity -Check Codes)」 [トーマス リチャードソン(Th omas Richardson) , ェム 'エー ショコロラヒ (M. A. Shokrollahi) , アーノレ'ゥノレ バンケ(R. Urbanke)著,アイトリプルィー トランザクションズ オン インフォメーショ ン セオリー (IEEE Transactions on Information Theory) , 2001年 9月 , 第 619頁〜第 637頁]
発明の開示
発明が解決しょうとする課題
上述した従来の誤り訂正符号化装置では、従来の低密度パリティ検査符号に関す る符号化装置が、上記の(1)式中の行列 Αを保持する記憶装置と、上記の(2)式の 演算処理装置とによって実現されているため、リードソロモン符号等の巡回符号、あ るいは畳み込みと比較して符号化装置の規模が非常に大きぐ特に衛星通信、移動 体通信等の装置規模、消費電力に対する条件が厳しい環境下では、この記憶装置 及び排他的論理和演算装置のさらなる削減が必要である。
[0016] また、ターボ符号は符号化装置を比較的簡単に実現することができるものの、符号 化率が低ぐ高い符号ィ匕率が要求されるシステムには適用が困難である。以上の問 題のために、特に高い符号ィ匕率が要求される通信システムにおいて、低密度パリティ 検査符号を用いて高!、符号化利得を得るためには、符号化処理に要する計算量が 多ぐ装置構成が複雑となる。
[0017] また、従来の誤り訂正符号化装置では、誤り率特性の評価が、実験的評価に頼ら ざるを得ない点である。誤り確率が低い領域、特にエラーフロアと呼ばれる領域にお ける誤り率特性、あるいはエラーフロアが観測される誤り確率の予測は、通信システ ムの信頼性評価において重要な項目である。計算機シミュレーションによる実験的方 法は有効ではあるが、誤り確率が 10— 12程度の領域の特性を実験的に行うことは、現 状の計算機の能力では時間的に困難である。
[0018] そこで、本発明の目的は上記の問題点を解消し、装置構成を簡単にすることができ 、繰り返し復号によって最適に近い精度で復号を実行することができるとともに、エラ 一フロア領域の特性評価が計算機実験によらなくても簡単な計算式によって行うこと ができる誤り訂正符号ィ匕装置及びそれに用いる誤り訂正符号ィ匕方法を提供すること にある。
課題を解決するための手段
[0019] 本発明による誤り訂正符号ィ匕装置は、低密度パリティ検査符号を用いる誤り訂正符 号化装置であって、
m— 1個(mは 2以上の整数を表す)の長さ n (nは 2以上の整数を表す)のビット列か らなるブロックと長さ(n— r) (rは 1から nの間の整数を表す)のビット列からなる一つの ブロックとに分割した情報ビット列のうちの前記長さ nのブロックをそれぞれ入力し、多 項式乗算を行って長さ nのビット系列をそれぞれ出力する m— 1個の多項式乗算装 置と、
前記 m— 1個の多項式乗算装置の各出力を加算する加算装置と、
前記長さ (n— r)のブロックと前記加算装置の出力結果とに対して多項式除算を行 つて長さ rの冗長ビット系列を出力する多項式除算装置とを備えている。
[0020] 本発明による誤り訂正符号ィ匕方法は、低密度パリティ検査符号を用いる誤り訂正符 号化方法であって、
m— 1個(mは 2以上の整数を表す)の多項式乗算装置にお!、て、 m— 1個の長さ n (nは 2以上の整数を表す)のビット列からなるブロックと長さ(n— r) (rは 1から nの間の 整数を表す)のビット列からなる一つのブロックとに分割した情報ビット列のうちの前 記長さ nのブロックをそれぞれ入力し、多項式乗算を行って長さ nのビット系列をそれ ぞれ出力し、
前記 m— 1個の多項式乗算装置の各出力を加算装置で加算し、
多項式除算装置において、前記長さ (n— r)のブロックと前記加算装置の出力結果 とに対して多項式除算を行って長さ rの冗長ビット系列を出力している。
[0021] すなわち、本発明の誤り訂正符号ィ匕装置は、上記の目的を達成するため、誤り訂 正符号ィ匕のためブロック化された長さ Kの情報ビット列 (Kは整数を表す)をさらに m 1個の長さ nのブロックと長さ(n— r)の一つのブロックとに分割し (m、 nは 2以上の 整数を表し、 rは 1から nの間の整数を表す)、分割された各情報ビット列の内、 m— 1 個の長さ nの各ブロックを入力として多項式乗算を行い、各々長さ nの系列を出力す る m— 1個の多項式乗算装置と、この m— 1個の多項式乗算装置の各出力を加算す る加算装置と、長さ (n— r)のブロックと加算装置の出力結果とを入力として多項式除 算を行い、長さ rの冗長ビット系列を出力する多項式除算装置とを有することを特徴と する。
[0022] これによつて、本発明の誤り訂正符号化装置では、多項式乗算装置と多項式除算 装置とからなるため、簡単な装置構成で実現することが可能となり、符号化処理に要 する計算量と装置規模の削減とが可能になる。また、本発明の誤り訂正符号ィ匕装置 では、多項式乗算装置内の結線と多項式除算装置内の結線との選択によって、最 小重み符号語数の少ない誤り訂正符号ィ匕装置が構成可能となる。
[0023] したがって、本発明の誤り訂正符号化装置では、装置規模が小さぐ装置構成が簡 単であり、なおかつ繰り返し復号方式によって高い符号化利得を得ることが可能とな り、通信システムにおける信頼性の向上、所要電力の低下に貢献することが可能とな る。
[0024] さらに、本発明の誤り訂正符号化装置では、多項式乗算装置内の結線と多項式除 算装置内の結線との選択によって、最小距離、最小重み符号語数の精度のよい概 算が可能であるため、本発明を適用した典型的な通信システムにおける誤り率特性 、特にエラーフロア領域における誤り確率の良い近似値を計算によって簡単に算出 することが可能となり、計算機シミュレーションによる実験的評価が計算量的、時間的 に困難な場合においても通信システムの信頼性を定量的に評価することが可能とな る。
発明の効果
[0025] 本発明は、以下に述べるような構成及び動作とすることで、装置構成を簡単にする ことができ、繰り返し復号によって最適に近い精度で復号を実行することができるとと もに、エラーフロア領域の特性評価が計算機実験によらなくても簡単な計算式によつ て行うことができるという効果が得られる。
図面の簡単な説明
[0026] [図 1]本発明の一実施例による誤り訂正符号ィ匕装置の構成を示すブロック図である。
[図 2]図 1の n—l次多項式乗算装置の構成を示すブロック図である。
[図 3]図 1の r次多項式除算装置の構成を示すブロック図である。
[図 4]図 1の多項式乗算ブロックの詳細な構成を示すブロック図である。
[図 5]本発明の一実施例による m個の零でない多項式の算出方法の一例を示すフロ 一チャートである。
[図 6]本発明の他の実施例による多項式算出方法の一例を示すフローチャートであ る。
[図 7]従来の誤り訂正符号化装置の一例を示すブロック図である。
符号の説明
[0027] 1 多項式乗算ブロック
2 r次多項式除算装置
3, 4, 24, 34, 124 スィッチ
11, 40 シリアルパラレル変換部 12, 12—l〜12—(m—l) n—l次多項式乗算装置
13 加算装置
21— 1〜21— r, 31— 1〜31— n, 121— 1〜121— n レジスタ
22— 1〜22— r, 32— 1〜32— n, 122— 1〜122— n 排他的論理和演算装置 23— 1〜23— (r— 1) , 33, 123— 1〜123— n 結線,非結線を示すスィッチ 発明を実施するための最良の形態
[0028] 次に、本発明の実施例について図面を参照して説明する。図 1は本発明の一実施 例による誤り訂正符号ィ匕装置の構成を示すブロック図である。図 1において、本発明 の一実施例による誤り訂正符号ィ匕装置は、一つのシリアルパラレル (S→P)変換部 1 1と m— 1個の n— 1次多項式乗算装置 12— 1〜12—(m— 1)と、加算装置 13とから なる多項式乗算ブロック 1と、一つの r次多項式除算装置 2と、スィッチ 3, 4とから構成 され、(nm— r)ビットの情報ビット列を nmビットの符号ビット列に変換する装置である (m、 nは 2以上の整数を表し、 rは 1から nの間の整数を表す)。
[0029] 多項式乗算ブロック 1は、後述するように、図 4に示す形態で実現するが、説明を簡 単にするため、 m- 1個の n— 1次多項式乗算装置 12— 1〜12—(m— 1)力 なる多 項式乗算ブロック 1として説明する。
[0030] 本発明の符号化方式は、符号ビット列の先頭力 (nm-r)ビットが情報ビット列に 一致し、残りの rビットが誤り訂正のための冗長ビット列となる組織符号ィ匕装置を表し ている。
[0031] m— 1個の n— 1次多項式乗算装置 12— 1〜12—(m— 1)は誤り訂正符号ィ匕のた めブロック化された長さ Kの情報ビット列 (Kは整数を表す)をさらに m— 1個の長さ n のブロックと長さ(n—r)の一つのブロックとに分割し(m、 nは 2以上の整数を表し、 r は 1から nの間の整数を表す)、分割された各情報ビット列の内、 m— 1個の長さ nの 各ブロックを入力として n— 1次多項式乗算を行い、各々長さ nの系列を出力する。
[0032] 加算装置 13は m— 1個の n— 1次多項式乗算装置 12— 1〜12—(m— 1)の各出 力を加算する。 r次多項式除算装置 2は長さ (n—r)のブロックと加算装置 13の出力 結果とを入力として r次多項式除算を行い、長さ rの冗長ビット系列を出力する。
[0033] 図 2は図 1の n—l次多項式乗算装置の構成を示すブロック図である。図 2において 、 n— 1次多項式乗算装置 12は n個のレジスタ 121— 1〜121— nと、最大 n個の排他 的論理和演算装置 122— 1〜122— nとからなる。図 1の n— 1次多項式乗算装置 12 — 1〜12— (m— 1)はこの n— 1次多項式乗算装置 12と同様の構成となっている。
[0034] n- 1次多項式乗算装置 12は nビット入力、 nビット出力であり、 nビットの入力ビット 列を逐次入力し、すべてが入力し終わった時点でスィッチ 124を切替え、 n個のレジ スタ 121— 1〜121— nの中身を順次出力する。
[0035] 図 2において、 123— l〜123—nは、予め定められた nビットのビット列 h , h , · ··
1 2
, h によって結線、非結線を定めるスィッチである。 h力^であった時には hと記され た部分を結線し、 hが 0であった時には hと記された部分を結線しない (jは 1から m の間の整数)。この nビットのビット列 h , h , · ··, h の選択方法については後述する
1 2 n
[0036] 図 3は図 1の r次多項式除算装置の構成を示すブロック図である。図 3において、 r 次多項式除算装置 2は!:個のレジスタ 21— l〜21—rと、最大 r個の排他的論理和演 算装置 22— l〜22—rと、スィッチ 24とから構成されている。
[0037] r次多項式除算装置 2は (n— r)ビットの情報ビットと、(m— 1)個の n— 1次多項式 乗算装置 121— 1〜 121— nの各出力ビットとの排他的論理和 nビットを入力し、 rビッ トを出力する。(n—r)ビットの情報ビットを入力し終えた段階で、 r次多項式除算装置 2はスィッチ 24を切替え、 n— 1次多項式乗算装置 121— 1〜121— nの出力の残り r ビットと図 3中の r個のレジスタ 21— l〜21—rの中身との排他的論理和を順次出力 する(この際、情報ビット列の入力は 0にセットしておく)。
[0038] r次多項式除算装置 2の出力 rビットが、(nm— r)ビットの情報ビット列に対する rビッ トの冗長ビット列となる。図 3において、 23— 1〜23— (r— 1)は予め定められた r— 1 ビットのビット列 u , u , · ··, u によって結線、非結線を定めるスィッチである。 uが
1 2 r-1 j
1であった時には uと記された部分を結線し、 uが 0であった時には uと記された部
J j j
分を結線しない (jは 1から r— 1の間の整数)。この r— 1ビットのビット列 u , u ,…, u
1 2 r
-1の選択方法にっ 、ては後述する。
[0039] 図 4は図 1の多項式乗算ブロック 1の詳細な構成を示すブロック図である。図 4にお いては、レジスタ部分を共有させたものである。図 4の 33は予め定められた n (m— 1) ビットのビット列によって結線、非結線を定めるスィッチである。この n (m— 1)ビットの ビット列の選択方法を図 2の n— 1次多項式乗算装置 12の結線における選択方法と 同一にすることで、図 4に示す入出力の関係は、図 2の n—l次多項式乗算装置 12を m— 1個用いて実現した多項式乗算ブロック 1の入出力の関係と一致する。
図 1に示す本発明の一実施例による誤り訂正符号ィ匕装置に対応する検査行列を、 [数 3]
Figure imgf000012_0001
•••(3)
という式に示す。
上記の(3)式の検査行列は m個の n X n巡回行列の一次元配列からなり、(3)式中 の Hiは n X n巡回行列を示している(iは 1から mの間の整数)。巡回行列は、
[数 4]
Figure imgf000012_0002
•••(4)
という式に記したように、第 2行目の行ベクトルが第 1行目の行ベクトルを 1ビット左に 巡回したものとなっており、以下、第 k行目の列ベクトルは(kは 2から nの間の整数)、 第 1行目の行ベクトルを k— 1ビット左に巡回したものとなっている。
上記の(4)式の n X n巡回行列の第 1行ベクトルを、 [数 5]
Figure imgf000013_0001
= / ') + f2 (ox +… + / -1 = / - 1
} ~ι
•••(5)
t、う式のように (n— 1)次以下の多項式として表示したものを f(i) (X)と記す (iは 1から mの間の整数)。
[0043] 上述した n— 1次多項式乗算装置 12, 12— 1〜12—(m— 1)と、 r次多項式除算装 置 2との結線を定める nビット列の選択は、上記の m個の (n— 1)次以下の多項式 f(1) (X), f(2) (x), ···, f(m) (x)の選択によって決定される。そのため、まず上記の m個の( n— 1)次以下の多項式 f(1) (x), f(2) (x), ···, f(m)の選択方法について説明する。
[0044] (n-1)次以下の多項式 f (X)に関して、集合 s (f (x) )を、
[数 6] /(ぶ)) = |/ 0, ≤i<n\
•••(6)
t、う式のように定める。ここで、 f (X)の次数 iの項の係数を f と記す。集合 s (f (X) ) i+1
は多項式 f (χ)によって定まる、 0から n—1の間の n個の整数の部分集合である。
[0045] また、 1から n—1の整数 Vに対して、直積集合 s(f (x)) Xs(f (x))の部分集合 λ v(f
(x))を、
[数 7] (fM) = {( - j≡vmodnt iEs(f(x) j s(f(x))}
•••(7)
という式のように定める。
[0046] m個の(n—1)次以下の多項式 f(1) (x), f(2) (x), ···, f(m) (x)の選択の条件の一つ は、 m個の多項式が、 1から n—1の間のすべての整数 Vに対して、
[数 8] (/") («)
(ぶ)) + Αν(/(2)(Λ))十… + (/ ·( (ぶ)) 1
Figure imgf000014_0001
•••(8)
という式を満たすこととする。
[0047] ここで、集合 Αの要素数を I A Iと記すことにする。上記の m個の (n— 1)次以下の 多項式 f(1) (x), f(2) (x), ···, f(m) (x)の選択の第 2の条件は、 m—l個の多項式 f(2) (x ) , ···, f(m) (x)の各々が、多項式 (X — 1)を法として多項式 f(1) (X)で割り切れることと する。また、
[数 9] f(i)(x): g( (x)f(1)(x)mod(xn -1), i = 2,3,4,···, w
•••(9)
という式に示すように、これらの m—l個の商多項式を g(2) (x), g(3) (x), ···, g(m) (x) と表す。
[0048] 上述した m個の (n— 1)次以下の多項式 f(1) (x), f(2) (x), ···, f(m) (x)の選択に関 する第 1の条件 [(8)式]は、サム'プロダクトアルゴリズムに代表される、低密度パリテ ィ検査符号の繰り返し復号処理によって最適に近い復号処理を実行するために必要 な条件である。実際、条件 [(8)式]によって、上記の(3)式の検査行列中の各行べク トルに含まれる 1の数は最大でも (nm) 1/2となり、検査行列は疎な行列となる。
[0049] 第 2の条件 [(9)式]は、図 1に示す誤り訂正符号ィ匕装置によって、正しく冗長ビット 列が算出されるために必要な条件である。上記の二つの条件 [ (8)式及び (9)式]を 満足する多項式の例については後述する。
[0050] 次に、図 2に示す n—1次多項式乗算装置 12における結線について説明する。上 述したように、図 2の n— 1次多項式乗算装置 12中のスィッチ 123— 1〜123— nは、 予め定められた nビットのビット列 h , h , ···, h によって結線、非結線を定める。 h
1 2 n j 力 Siであった時には hと記された部分を結線し、 h力^であった時には hと記された
J J J
部分を結線しな 、 (jは 1から mの間の整数)。
[0051] この nビットのビット列 h , h , ···, h の選択は次のように行う。上述したように、図 1 に示す誤り訂正符号化装置は、 m— 1個の n— 1次多項式乗算装置 12— 1〜12—( m— 1)を持ち、第 i番目の n— 1次多項式乗算装置 12— iにおいて結線を定める nビ ット列を、
[数 10] ), 0,…, )
•••do)
と記す(iは 1から m—lの間の整数)。この nビット列は、上記の(9)式に示す m—l個 の多項式 g(2) ), g(3) (x), ···, g(m) (x)によって、
[数 11]
, 2,3,...,"
•••(11)
という式によって定める。
ここで、
[数 12] g(k)(x) = ) '-1 = glk) + + gik)x2 +… + )ぶ"-1
;"=1
•••(12)
とする(kは 2から mの間の整数)。また、図 4において結線を定める n (m—l)ビットの ビット列、
[数 13]
A , ,…, A„, i = l '- -l
•••(13)
も、上記と同様に、(10)式によって定める。 [0053] 次に、図 3に示す r次多項式除算装置 2における結線について説明する。図 3のス イッチ 23— 1〜23— (r— 1)は予め定められた r— 1ビットのビット列 u , u , · ··, u
1 2 r-1 によって結線、非結線を定める。 U力^であった時には Uと記された部分を結線し、 U が 0であった時には uと記された部分を結線しない (jは 1から r—lの間の整数)。上 記の r— 1ビットのビット列 u , u , · ··, u は上記の多項式 f(1) (X)を用いて、
1 2 -1
[数 14] l + Mr_I + Mr_2 2 + · · · + u,xr~l + x = κχη - l) / gcd( {1 {x), x" -1)
•••(14)
という式によって定める。
[0054] ここで、 gcd (f(1) (x) , xn— 1)は f(1) (x)と xn— 1との最大公約多項式を意味し、この 最大公約多項式の次数は n—rとなる。 rは、上述したように、本発明の符号化装置に おける冗長ビット数となる。すなわち、本発明の誤り訂正符号ィ匕装置における情報ビ ット数は、 n (m— 1)に f(1) (X)と xn—1との最大公約多項式の次数をカ卩えたビット数と なる。
[0055] 次に、図 1に示す本実施例の動作について説明する。誤り訂正符号ィ匕のためプロ ック化された長さ K= (nm— r)ビットの情報ビット列 (m、 nは 2以上の整数を表し、 rは 1から nの間の整数を表す)が、図 1に示す誤り訂正符号化装置に順次入力される。 情報ビット系列は第 1番目のビットから第 n(m— 1)番目のビットからなる第 1のブロッ クと、第 n (m—l) + 1番目のビットから第 (nm—r)番目のビットからなる第 2のブロック とに分割される。
[0056] 上記の第 1のブロックは m— 1個の n— 1次多項式乗算装置 12— 1〜12—(m— 1) 力 なる多項式乗算ブロック 1へと逐次入力され、上記の第 2のブロックはスィッチ 3を 切替えた後、 r次多項式除算装置 2へと逐次入力される。情報ビット列において、多 項式乗算ブロック 1へ入力される長さ n (m— 1)の第 1のブロックはシリアルパラレル変 換装置 11によって m— 1ビットに変換され、変換された m— 1ビットの各ビットは n— 1 次多項式乗算装置 12— 1〜12—(m— 1)へと逐次入力される。
[0057] n— 1次多項式乗算装置 12— 1〜12—(m— 1)は全部で m— 1個あり、上記のシリ アルパラレル変換された m— 1ビット中の第 i番目のビットは(iは 1から m— 1の間の整 数)、第潘目の n—1次多項式乗算装置 12— iへと入力される。すなわち、上記の第 1のブロックは上記のシリアルパラレル変換装置 11を通して長さ nの m— 1個のブロッ クに細分され、長さ nの m— 1個のブロックの各々が m— 1個の n— 1次多項式乗算装 置 12— 1〜12— (m— 1)各々へ入力される。
[0058] 上記の n— 1次多項式乗算装置 12— 1〜12—(m— 1)各々は、上記の細分された nビットを入力し、出力ビット数は nビットである。 m—1個の n—1次多項式乗算装置 1 2— 1〜12— (m— 1)の各出力のビット毎の排他的論理和が多項式乗算ブロック 1の nビットの出力となる。
[0059] 次に、図 2に示す n—1多項式乗算装置 12の動作について説明する。レジスタ 121
1〜121— nの中身をすベて零に初期化しておき、 nビットのビット列を 1ビットずつ 逐次入力する。この間、フィードバックが力かるようにスィッチ 124を上側へセットして おく。 nビットのすべてが入力し終わった時点でスィッチ 124を切替え、レジスタ 121 — 1〜121— nの中身を順次出力する。
[0060] 図 1に示す誤り訂正符号化装置は、図 2に示す n— 1多項式乗算装置 12を m— 1個 使用し、 n- 1次多項式乗算装置 12— 1〜12— (m— 1)各々の出力の排他的論理 和が多項式乗算ブロック 1の出力となることから、 n— 1次多項式乗算装置 12— 1〜1 2- (m- 1)各々のレジスタ(121— 1〜121— n)は他の多項式乗算装置と互いに共 有することができる。
[0061] これによつて、図 4に示す形態で多項式乗算ブロック 1を実現することができる。図 4 に示す形態での動作にっ 、ては、レジスタ 31— 1〜31— nを共有して!/、る点を除!ヽ て同じであり、この図 4の装置構成によって所望の出力結果を得ることができる。
[0062] 次に、図 3に示す r次多項式除算装置 2について説明する。レジスタ Sl— l Sl - irの中身をすベて零に初期化しておき、上記の情報ビット列の後半 n—rビットと上記 の多項式乗算ブロック 1の出力 nビットとを同時に 1ビットずつ逐次入力する。この間、 フィードバックがかかるように、図 3のスィッチ 24を左側へセットしておく。 n— rビットの 情報ビット列を入力し終えた段階でスィッチ 24を切替え、多項式乗算ブロック 1の出 力の残り rビットと各レジスタ(21— 1〜21—r)の中身との排他的論理和を順次出力 する(その際、情報ビット列の入力は 0にセットしておく)。
[0063] 図 3に示す r次多項式除算装置 2の出力 rビットが上記の(nm— r)ビットの情報ビット 列に対する冗長ビット列となる。尚、冗長ビット数 rが nに一致する場合には、 r次多項 式除算装置 2へ入力される情報ビット数が零であり、この場合、 r次多項式除算装置 2 は単に多項式乗算ブロック 1の出力 nビットをそのまま出力する。
[0064] 次に、図 1に示す誤り訂正符号ィ匕装置の出力スィッチ 4について説明する。(nm— r)ビットの情報ビット列は、多項式乗算ブロック 1、また r次多項式除算装置 2への入 力と同時に、誤り訂正符号ィ匕装置の出力ビット列となる。ここで、必要ならば、多項式 乗算ブロック 1への入力となる第 1番目から第 n (m- 1)番目の情報ビット分を (3)式 に示した検査行列が示すビット順序に一致するように並べ替えて出力する。
[0065] (nm— r)ビットの情報ビット列の出力が終わった段階で、スィッチ 4¾τ次多項式除 算装置 2の出力側へ切替え、 r次多項式除算装置 2の出力!:ビットを誤り訂正符号ィ匕 装置の出力として出力する。このように、本実施例は、符号ビット列の先頭から (nm— r)ビットが情報ビット列に一致し、残りの rビットが誤り訂正のための冗長ビット列となる 組織符号化装置を表して 、る。
[0066] これによつて、本実施例では、最大 2n個のレジスタと、 2n個の排他的論理和演算 装置とによって、符号化率が (n— l) Zn以上の低密度パリティ検査符号の誤り訂正 符号ィ匕装置を構成することができる。
[0067] また、本実施例では、後述するように、この構成によって符号化利得が大きぐさら にエラーフロア領域における誤り率特性が簡単な評価式によって算出することができ る誤り訂正符号ィ匕装置を構成することができる。
[0068] 次に、上述した条件 [ (8)式及び (9)式]を満たす多項式の具体的な算出方法の一 例について説明する。さらに、この一例を用いて、符号化利得が大きくなることを示し
、さらにまたエラーフロア領域における誤り率特性が簡単な評価式によって算出でき ることについて説明する。
[0069] 有限体 GF (22S)の原始元を αとし(Sは正の整数とする)、 Rを Sの 1、あるいは Sで はない約数とする。また、 (2s + 1) (2R— 1)を nとし、 (2s— 2sR ) Z (2R— 1)を mと 記す。(n— 1)次以下の多項式 φ ω (X)を、 [数 15] (り
Figure imgf000019_0001
•••(15)
という式のように定める (kは 0から(2s -1)/(2R 1) 1の間の整数とする)。
[0070] ここで、 L(K)は 0から n— 1の間の整数の部分集合で、
[数 16] lj Q≤ j <n}
Figure imgf000019_0002
•(16)
という式によって定める。尚、(16)式中の Tr は有限体 GF (2 )力も GF (2 へのト
2S|S
レースを表すものとする。 0から(2s -1)/(2R 1) 1の間の整数 kの中で、多項 式 φ (k) (X)が零でな!ヽものは全部で m個ある。
[0071] 図 5は上記の m個の零でない多項式の算出方法の一例を示すフローチャートであ る。 0から(2s -1)/(2R— 1)— 1の間の整数 kに対して、多項式 φω (X)が零であ るか否かは有限体 GF (2s )の元である aの k (2s + 1)乗の GF (2R )へのトレースが 零であるか否かによって、つまり、
[数 17]
Figure imgf000019_0003
•••(17)
t 、う式力 判定することができる。
[0072] 上記の(16)式の集合 L(k)は、(2s -1)/(2R— 1)に mを乗じた値が 22S— 1となる ことから、有限体 GF(22S)の部分集合で、 m乗した値が互いに一致し、有限体 GF(2S
)へのトレースが 1となる元力もなる集合に対応する。また、上記のトレースの値は零 以外の他の値であっても、各 k(0から(2s -1)/(2R 1) 1の間の整数)で同じ値 であればよいため、上記の多項式 φ (k) (X)は、有限体 GF(22S)の部分集合で、 m乗 した値が互いに一致し、有限体 GF (2s )へのトレースが零以外の予め定められた値 に一致となる元力もなる集合によって規定されることになる(図 5ステップ S1〜S7)。
[0073] 図 5の出力である m個の多項式を適当に順序付けた後、 f(1) (x), f(2) (x), ···, f(m) ( x)と記すことにすると、これら m個の多項式 f(1) (x), f(2) (x), ···, f(m) (x)は上述した 条件 [(8)式及び (9)式]を満たす。ここで、特に、多項式 f(1) )は、零でない多項式 φω (X)の中で、χη — 1との最大公約多項式の次数が最も小さい極小多項式となる ように順序つける。
[0074] このように、選択された多項式によって構成される本実施例による誤り訂正符号ィ匕 装置における符号ビット列の長さ Νは、
N=nm=(2s +1) (2s—2sR)
であり、情報ビット列の長さ Kは少なくとも、
n(m-l) = (2s +1) (2s— 2sR— 2R +1)
以上となる。正確には、上記のように、 n(m— 1)に f(1) (X)と xn—1との最大公約多項 式の次数をカ卩えたビット数となる。
[0075] また、最小距離 dは d= 2R + 1となり、重み dの符号ビット列の数 A は少なくとも(2s
d
+1) (2s—2sR)以上となる。実際には、重み dの符号ビット列の数 A は(2s +1) (2
d
S— 2sR)に非常に近ぐ良い近似であるのにカ卩え、この重み dの符号ビット列の数は 非常に少なぐ次に説明するように誤り率特性に良い効果をもたらす。
[0076] この最小距離 dと重み dの符号ビット列の数との概算によって、変調方式を 2元位相 偏移変調(2PSK:2 Phase Shift Keying)、通信路を加法的ガウス通信路とした 場合のビット誤り確率 Pbの近似値を、
[数 18]
Figure imgf000020_0001
•••(18)
という式によって算出することができる。 ここで、 dは最小距離 (d=2R + 1)、 A は重み dの符号ビット列の数、 Nは符号ビッ d
ト列の長さを表し、 yは符号化率を表す(γ =KZN)。また、 EbZNoは加法的ガウ ス通信路における 1ビット当りの信号対雑音比(SNR: Signal Noise Ratio)を表し 、 Qはガウスの Q関数を表し、
[数 19]
Figure imgf000021_0001
•••(19)
という式で表される。
[0078] 上記の(18)式の N, dに各々 2R +1, (2s +1) (2s—2sR)を代入し、 A に(2s + d
1) (2s— 2sR )を代入することで、ビット誤り確率 P の近似値を計算によって算出す
b
ることができる。これは、エラーフロア領域において非常に精度のよい近似であり、計 算機シミュレーションによる実験的評価が計算量的、時間的に困難な場合において、 エラーフロアの特性を評価するのに有効である。
[0079] 上記の(18)式によって、誤り確率を改善し、より多くの符号化利得を得るためには 、最小距離 dを大きくすることが効果的である。上記の(15)式に示す多項式 φ ω (χ) , k=0, 1, ···, (2s -1)/(2R—1)—1の中に零でないものは m個ある力 上記の ように、 m個の多項式すベてを使うのではなぐその一部のみを使うことによって、最 小距離を 2R +1程度に大きくすることが可能である。この方法について説明する。
[0080] 零でない m個の多項式 φ ω (X) (kは 0から(2s— 1)Z(2R— 1) 1の間の整数)の 中から m,個の多項式を選択し、適当に順序つけて、 f(1) (x), f(2) (x), ···, f(m')(x)と 記すことにする。この時、二つの多項式 φ ω (X)と多項式 φ ( ))(χ)とを同時に選択し ないようにする。ここで、 r(k)は 2Xkを (2s -1)/(2R—1)で割った余りを表すもの とする。
[0081] これら m個の多項式 f(1) (x), f(2) (x), ···, f(m>)(x)は、上述した条件 [(8)式及び( 9)式]を満たし、このように選択された多項式によって構成される本発明の符号化装 置における符号ビット列の長さ Nは N=nm'となる。最小距離は 2R+1以下であり、重 み 2K+1の符号ビット列の数は少なくとも m'と 2との二項係数に nをかけた数以上となる 。この重み 2R+1の符号ビット列の下界を(18)式に代入して得られる数値は、誤り確率 が比較的低い場合 (通信路の SN比が比較的大きい場合)、誤り率特性の非常によ い近似を与える。この方法によって、符号化率は m個の多項式全てを使用する場合 と比較して小さくなるが、それと引き換えに誤り特性を良くすることができる。
[0082] さらに、具体的な数値例について説明する。上述した実施例において、 Sを 6とし、 Rを 3と設定する。この場合、 n=455, m=8となる。また、(15)式の多項式 φ (k) (x) (kは 0から 8の間の整数)は、
[数 20]
> (1) (X) = jc131 + X175 +ぶ201239 + 25 +χ2Ά7 + X288 + X338
φ (χ)≡ (ψ(ι) (JC))2 mod(x455― 1)
ψ (3) (JC) -ぶ30 十ぶ 40 + 121 + + 90 + X306 + x 5 + M
≡ g(x w(x)mod(x455 ~l)
ψ(4)(χ)≡(φ(1)(χ)Ϋ mod(jt435—1)
5) ( = Χ3{1)(Χ)Ϋ2 mod(jc455 -1)
ψ(6)(χ)≡ (^(3)(χ))2 mod( 45 一 1)
Figure imgf000022_0001
ψ Ί){χ)≡ χ(ψι1)(χ)γ6 τηοά(χ" -1)
φ(8)(χ)≡(φ(1)(χ)γ mod(xn—1)
• · · (20)
という式のように計算される。尚、 )=0でぁり、8 )は (3) )を φω )で、 ( X455 1)を法として割り算した際の商多項式を表す。
[0083] 8個の多項式 f(1) (x), f(2) (x), ···, f(8) (x)を f(k) (χ) = ω (x), k=l, 2, ···, 8と すると、これらの 8個の多項式は上述した条件 [(8)式及び(9)式]を満たす。この時、 符号ビット列の長さ Nは 3640ビット、情報ビット列の長さ Kは 3288ビット、符号化率 γは約 0.9、最小距離は 9、重み 9の符号ビット列の数 Α は 3640以上となる。
9
[0084] これらを(18)式に代入し、誤り確率を算出すると、復号後のビット誤り確率が 10— 12 を達成するのに必要な 1ビット当たりの信号対雑音比は約 5デシベルであることがわ かり、これは繰り返し復号方式を適用することで実現することができる。
[0085] 繰り返し復号を用いて、これ以下のビット誤り率を達成するための信号対雑音比に ついても簡単に計算することができる。また、この符号を同じ符号ィ匕率のリードソロモ ン符号で符号化し、典型的な限界距離復号方式で復号した場合と比較すると、復号 後のビット誤り確率が 10— 6の場合、 2. 0デシベル (dB)以上の符号化利得がある。
[0086] 上記の 8個の多項式 φ ω (X) , φ (X) , · · · , φ (8) (X)のうちの 4つを使い、 f(1) (X)
= Φ ω (x) , f(2) (x) = Φ (4) (χ) , f(3) (χ) = Φ (7) (χ) , f(4) (χ) = Φ (3) (χ)とした場合にも 、これら 4つの多項式は上述した条件 [ (8)式及び(9)式]を満たす。この時、符号ビ ット列の長さ Νは 1820ビット、情報ビット列の長さ Κは 1468ビット、符号化率 γは約 0 . 8、最小距離は 16以下、重み 16の符号ビット列の数 Α は 2730以上となる。
16
[0087] これらを(18)式に代入し、誤り確率を算出すると、復号後のビット誤り確率が 10— 12 を達成するのに必要な 1ビット当たりの信号対雑音比は約 4. 4デシベルであることが わかり、これは繰り返し復号方式を適用することで実現することができる。繰り返し復 号を用いて、これ以下のビット誤り率を達成するための信号対雑音比についても簡単 に計算することができる。また、この符号においても同じ符号ィ匕率のリードソロモン符 号で符号化し、典型的な限界距離復号方式で復号した場合と比較すると、復号後の ビット誤り確率が 10— 6の場合、 2. 0デシベル (dB)以上の符号化利得がある。
[0088] 図 6は本発明の他の実施例による多項式算出方法の一例を示すフローチャートで ある。図 6において、 kを非負整数、 Tを n— 1 (nは 2以上の整数)次以下の多項式の 集合とする。また、 pは 2, 4等の 2のべき乗数を表すものとする。初期状態として kを零 、 Tを空集合とし、 n— 1次以下の多項式 f (X)をランダムに選択する。
[0089] この多項式が上記の条件 [ (8)式]を満たす時 [ (8)式中の mを 1, f(1) (x)を f (x)と する]、 f (x)を前記の集合 Tの要素に加え、 kの値を 1つ増加する。以下、図 6の第 k 回目の繰り返し処理にお!、ては (kは 2以上の整数)、多項式の集合 Tと上記の多項 式 f (X)とから計算される多項式、
[数 21]
≡(f (x))p(k-l) mod(xn •••(21)
が上記の条件 [(8)式]を満たす時 [(8)式中の mを kとする]、 f(k) )を上記の集合 T の要素に加え、 kの値を 1つ増加する。多項式の集合 Tに含まれる多項式の数が、予 め設定した数 m(mは 2以上の整数)となった時点で Tを出力し、処理を終了する(図 6ステップ S 11〜S 17)。
[0090] 図 6において、初めにランダムに選択した多項式 f(x)によって、上記のように、 [数 22] f(k)(x)≡(f(x))p(k-1) mod(xn一 1), =l,2,'",w
•••(22)
とすると、図 6の出力 Tは T={fG) (x), f(2) (x), ···, f(m) (xMとなり、上述した条件 [(8 )式及び(9)式]を満たす。また、上記の初めに選択した多項式 f(x)の零でない項の 数を wとすると、 Tに含まれる多項式の各々はすべて w個の零でない項を持つ。
[0091] 図6の出力である m個の多項式 f(1) (x), f(2) (x), ···, f(m) (x)から構成される本実施 例による誤り訂正符号ィ匕装置における符号ビット列の長さ Nは N=nmであり、情報ビ ット列の長さ Kは少なくとも n(m— 1)以上となる。正確には、上記のように、 n(m-l) に f(1) (X)と xn—1との最大公約多項式の次数をカ卩えたビット数となる。
[0092] pが 2の場合には、最小距離 dは d=w+lとなり、重み dの符号ビット列の数 A は少
d なくとも n(m—l)以上となる。多くの場合、この最小重みを持つ符号ビット列の数の 下界を(18)式に代入して得られる数値は、誤り確率が比較的低!、場合 (通信路の S N比が比較的大きい場合)、誤り率特性の非常によい近似を与える。
[0093] また、 pが 2以外の場合には、重み 2wの符号ビット列の数は少なくとも mと 2との二 項係数に nをかけた数以上となり、多くの場合、この重み 2wの符号ビット列の数の下 界を( 18)式に代入して得られる数値は、誤り確率が比較的低!、場合 (通信路の SN 比が比較的大きい場合)、誤り率特性の非常によい近似を与える。
[0094] 次に、具体的な数値例について説明する。本実施例において、 n=255, m=4, p
=4とした時、 5( ) = x25 + 33 +^64 +^114 +^185
f7(x) = x6 + x114 +ぶ132 + 68 + x2 +ぶ230 + 241
•••(23)
という式に記した f (X)によって、
5
[数 24] f (り (x)≡ (/5 (ぶ)) "1) mod(jc255— 1), = 1,2,3,4
• · · (24)
とすると、図 6に記した処理の出力として、例えば T={f(1) (x), f(2) (x), f(3) (x), f(4) ( xMを得ることができる。
[0095] この 4つの多項式は上述した条件 [(8)式及び(9)式]を満たす。この時、符号ビット 列の長さ Nは 1020ビット、情報ビット数 Kは 769ビット、符号化率は約 0.754、最小 距離は 10以下、重み 10の符号ビット列の数 A は 1530以上となる。
10
[0096] これらを(18)式に代入し、誤り確率を算出すると、復号後のビット誤り確率が 10— 12 を達成するのに必要な 1ビット当たりの信号対雑音比は約 5.6デシベルであることが わかり、これは繰り返し復号方式を適用することで実現できる。繰り返し復号を用いて 、これ以下のビット誤り率を達成するための信号対雑音比についても簡単に計算する ことができる。
[0097] 次に、(23)式に記した f (X)によって、
7
[数 25] f(k)(x)≡ (/7( )) 4(1) mod(^255—1), ん = 1,2,3,4
•••(25)
とすると、図 6に記した処理の出力として、前記した f (X)の場合と同様に、 T={f(1) (
5
x), f(2) (x), f(3) (x), f(4) (xMを得ることができる。この 4つの多項式は上述した条件 [(8)式及び (9)式]を満たす。この時、符号ビット列の長さ N、情報ビット数 K、符号 化率は、上記の f (X)の場合と全く同様に、各々 1020、 769、 0. 754であるが、最
5
小距離は、 f (X)の場合と異なり、 14以下となる。また、重み 14の符号ビット列の数 A
5
は 1530以上となる。
14
[0098] これらを(18)式に代入し、誤り確率を算出すると、復号後のビット誤り確率が 10— 12 を達成するのに必要な 1ビット当たりの信号対雑音比は約 5. 0デシベルであることが わかり、これは繰り返し復号方式を適用することで実現することができる。繰り返し復 号を用いて、これ以下のビット誤り率を達成するための信号対雑音比についても簡単 に計算することができる。
[0099] 復号後のビット誤り確率が 10—12の場合には、上記の f (X)から構成されたものと比
5
較して 0. 6デシベルの符号化利得の向上が望める一方で、復号後のビット誤り確率 力 の場合には、上記の f (X)から構成されたものと比較して 0. 4デシベルの符
5
号化利得の劣化が見られる。この場合には、通信システムの要求に沿った誤り訂正 符号化装置を選択すればよぐ本実施例による誤り訂正符号ィ匕装置は、多項式の選 択によって、このように幅広 、要求に答えることが可能である。
産業上の利用可能性
[0100] 本発明は、衛星通信、あるいは移動体通信システム等における、所要電力の低減
、アンテナの小型化等のシステム構成上の要件を満たすための誤り訂正技術として、 あるいは磁気記録等の記憶装置に関する信頼性向上のための誤り訂正技術として 適用することが可能である。

Claims

請求の範囲
[1] 低密度パリティ検査符号を用いる誤り訂正符号化装置であって、
m— 1個(mは 2以上の整数を表す)の長さ n (nは 2以上の整数を表す)のビット列か らなるブロックと長さ(n— r) (rは 1から nの間の整数を表す)のビット列からなる一つの ブロックとに分割した情報ビット列のうちの前記長さ nのブロックをそれぞれ入力し、多 項式乗算を行って長さ nのビット系列をそれぞれ出力する m— 1個の多項式乗算装 置と、
前記 m— 1個の多項式乗算装置の各出力を加算する加算装置と、
前記長さ (n— r)のブロックと前記加算装置の出力結果とに対して多項式除算を行 つて長さ rの冗長ビット系列を出力する多項式除算装置とを有することを特徴とする誤 り訂正符号化装置。
[2] 前記多項式除算装置および前記多項式乗算装置は、レジスタと該レジスタの出力 に接続される排他的論理和回路とを複数段縦続接続する回路を含み、該排他的論 理和回路の出力論理を非反転または反転とするように、所定の多項式演算に基づい て定められる結線によって該排他的論理和回路の出力論理を設定することを特徴と する請求項 1記載の誤り訂正符号化装置。
[3] 前記多項式除算装置内の結線を指定する結線多項式を、 2の 2S乗個(Sは正の整 数)の元力もなる有限体の部分集合において、 m乗した値が一致しかつ 2の S乗個の 元力 なる有限体へのトレースが零以外の値に一致する元力 なる集合によって規 定される多項式の中で極小となる極小多項式とし、他の有限体の部分集合によって 規定される多項式の前記極小多項式による商多項式を前記多項式乗算装置内の結 線を指定する結線多項式とすることを特徴とする請求項 2記載の誤り訂正符号化装 置。
[4] 前記多項式除算装置内の結線を指定する結線多項式をランダムに選択し、前記 m
1個の多項式乗算装置内の結線を指定する m— 1個の結線多項式の各々を前記 ランダムに選択した多項式の互いに異なるべき乗によって定めることを特徴とする請 求項 2記載の誤り訂正符号化装置。
[5] 低密度パリティ検査符号を用いる誤り訂正符号化方法であって、 m— 1個(mは 2以上の整数を表す)の多項式乗算装置にお!、て、 m— 1個の長さ n (nは 2以上の整数を表す)のビット列からなるブロックと長さ(n— r) (rは 1から nの間の 整数を表す)のビット列からなる一つのブロックとに分割した情報ビット列のうちの前 記長さ nのブロックをそれぞれ入力し、多項式乗算を行って長さ nのビット系列をそれ ぞれ出力し、
前記 m— 1個の多項式乗算装置の各出力を加算装置で加算し、
多項式除算装置において、前記長さ (n— r)のブロックと前記加算装置の出力結果 とに対して多項式除算を行って長さ rの冗長ビット系列を出力することを特徴とする誤 り訂正符号化方法。
[6] 前記多項式除算装置内の結線を指定する結線多項式を、 2の 2S乗個(Sは正の整 数)の元力もなる有限体の部分集合において、 m乗した値が一致しかつ 2の S乗個の 元力 なる有限体へのトレースが零以外の値に一致する元力 なる集合によって規 定される多項式の中で極小となる極小多項式とし、他の有限体の部分集合によって 規定される多項式の前記極小多項式による商多項式を前記多項式乗算装置内の結 線を指定する結線多項式とすることを特徴とする請求項 5記載の誤り訂正符号化方 法。
[7] 前記多項式除算装置内の結線を指定する結線多項式をランダムに選択し、前記 m
1個の多項式乗算装置内の結線を指定する m— 1個の結線多項式の各々を前記 ランダムに選択した多項式の互いに異なるべき乗によって定めることを特徴とする請 求項 5記載の誤り訂正符号化方法。
PCT/JP2005/021909 2004-12-15 2005-11-29 誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法 WO2006064659A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE05811730T DE05811730T1 (de) 2004-12-15 2005-11-29 Fehlerkorrekturkodiervorrichtung und dabei verwendetes fehlerkorrekturkodierverfahren
CN2005800432023A CN101080874B (zh) 2004-12-15 2005-11-29 纠错编码装置以及在其中使用的纠错编码方法
US11/792,692 US7979780B2 (en) 2004-12-15 2005-11-29 Error correction encoding apparatus and error correction encoding method used therein
EP05811730A EP1841075A4 (en) 2004-12-15 2005-11-29 ERROR CORRECTION CODING DEVICE AND ERROR CORRECTION CODING PROCESS USED THEREOF
JP2006548752A JP4821613B2 (ja) 2004-12-15 2005-11-29 誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004362135 2004-12-15
JP2004-362135 2004-12-15

Publications (1)

Publication Number Publication Date
WO2006064659A1 true WO2006064659A1 (ja) 2006-06-22

Family

ID=36587718

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/021909 WO2006064659A1 (ja) 2004-12-15 2005-11-29 誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法

Country Status (7)

Country Link
US (1) US7979780B2 (ja)
EP (1) EP1841075A4 (ja)
JP (1) JP4821613B2 (ja)
CN (1) CN101080874B (ja)
DE (1) DE05811730T1 (ja)
RU (1) RU2373641C2 (ja)
WO (1) WO2006064659A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007132656A1 (ja) * 2006-05-12 2007-11-22 Nec Corporation 誤り訂正符号化方法及び装置
CN101136704B (zh) * 2006-08-30 2012-09-26 株式会社日立制作所 光集线装置以及光用户装置
US9276611B2 (en) 2007-09-28 2016-03-01 Panasonic Corporation Encoding method, encoder, and decoder

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534417B (zh) * 2002-12-06 2013-07-17 汤姆森许可贸易公司 用于远程调谐和时钟同步的方法和系统
KR100833515B1 (ko) * 2006-12-05 2008-05-29 한국전자통신연구원 가변 정보 길이 및 가변 부호율을 가진 ldpc 부호의패리티 검사 행렬 생성 방법, 부/복호화 방법 및 이를이용하는 장치
US8266507B2 (en) * 2007-11-16 2012-09-11 Samsung Electronics Co., Ltd. Data processing apparatus for operating lens correction and method for compressing and restoring lookup table values
WO2009120952A2 (en) * 2008-03-27 2009-10-01 Thomson Licensing Apparatus and method for decoding signals
US8370711B2 (en) 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
CN101582739A (zh) * 2008-06-27 2009-11-18 北京新岸线移动多媒体技术有限公司 数字广播信号的发送装置、发送方法和发送系统
JP4935778B2 (ja) * 2008-08-27 2012-05-23 富士通株式会社 符号化装置、送信装置および符号化方法
JP2010073137A (ja) * 2008-09-22 2010-04-02 Nec Electronics Corp 半導体集積回路設計方法及び設計プログラム
US9122563B2 (en) * 2009-02-03 2015-09-01 Microsoft Technology Licensing, Llc Computing minimal polynomials
CN102541675B (zh) * 2010-12-23 2015-03-11 慧荣科技股份有限公司 提升错误更正能力的方法、记忆装置及其控制器
JP5413701B2 (ja) * 2011-03-22 2014-02-12 日本電気株式会社 誤り訂正符号化装置、誤り訂正符号化方法および誤り訂正符号化プログラム
US9190856B2 (en) * 2013-02-15 2015-11-17 GM Global Technology Operations LLC Systems and methods for charging multiple vehicle rechargeable energy storage systems
US10523244B2 (en) * 2016-08-11 2019-12-31 Zebware Ab Device and associated methodoloy for encoding and decoding of data for an erasure code
RU2639661C1 (ru) * 2016-09-02 2017-12-21 Акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" Способ умножения и деления элементов конечных полей
CN112328962B (zh) * 2020-11-27 2021-12-31 深圳致星科技有限公司 矩阵运算优化方法、装置、设备和可读存储介质
CN116757158B (zh) * 2023-08-11 2024-01-23 深圳致赢科技有限公司 基于半导体存储的数据管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63107319A (ja) * 1986-10-24 1988-05-12 Ricoh Co Ltd 拡張ガロア体上の多項式除算回路
US5446747A (en) 1991-04-23 1995-08-29 France Telecom Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder
JP2003115768A (ja) 2001-07-11 2003-04-18 Internatl Business Mach Corp <Ibm> データの低密度パリティ検査符号化方法および装置
WO2003048918A1 (en) * 2001-11-30 2003-06-12 Analog Devices Inc. Galois field multiplier system
JP2004072130A (ja) * 2001-07-18 2004-03-04 Sony Corp 符号化方法および符号化装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768296A (en) * 1994-07-01 1998-06-16 Quantum Corporation ECC system supporting different-length Reed-Solomon codes whose generator polynomials have common roots
KR19990003242A (ko) * 1997-06-25 1999-01-15 윤종용 구조적 펀처드 길쌈부호 부호와 및 복호기
US7028247B2 (en) * 2002-12-25 2006-04-11 Faraday Technology Corp. Error correction code circuit with reduced hardware complexity
US7155656B1 (en) * 2003-05-01 2006-12-26 Hellosoft Inc. Method and system for decoding of binary shortened cyclic code

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63107319A (ja) * 1986-10-24 1988-05-12 Ricoh Co Ltd 拡張ガロア体上の多項式除算回路
US5446747A (en) 1991-04-23 1995-08-29 France Telecom Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder
JP2003115768A (ja) 2001-07-11 2003-04-18 Internatl Business Mach Corp <Ibm> データの低密度パリティ検査符号化方法および装置
JP2004072130A (ja) * 2001-07-18 2004-03-04 Sony Corp 符号化方法および符号化装置
WO2003048918A1 (en) * 2001-11-30 2003-06-12 Analog Devices Inc. Galois field multiplier system

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
GALLAGER, R.: "Low-Density Parity-Check Codes", 1963, MIT PRESS
ISHIDA T. AND WADAYAMA T.: "Kakuteiteki Koseiho o Yusuru Kofugoka LDPC Fugo to Sono Seino Hyoka", IEICE TECHNICAL REPORT (IT 2002-21), July 2002 (2002-07-01), pages 7 - 12, XP002996320 *
MACKAY, D.J.C.: "Good Error-Correcting Codes Based on Very Sparse Matrices", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 45, no. 2, March 1999 (1999-03-01), pages 399 - 431
RICHARDSON, T.J.; SHOKROLLAHI, M.A.; URBANKE, R.L.: "Design of Capacity-Approaching Irregular Low-Density Parity-Check Codes", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 47, no. 2, September 2001 (2001-09-01), pages 619 - 637
RICHARDSON, T.J.; URBANKE, R.L.: "Efficient Encoding of Low-Density Parity-Check Codes", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 47, no. 2, September 2001 (2001-09-01), pages 638 - 656, XP002965294, DOI: doi:10.1109/18.910579
See also references of EP1841075A4

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007132656A1 (ja) * 2006-05-12 2007-11-22 Nec Corporation 誤り訂正符号化方法及び装置
EP2031759A1 (en) * 2006-05-12 2009-03-04 NEC Corporation Error correction coding method and device
EP2031759A4 (en) * 2006-05-12 2012-07-04 Nec Corp METHOD AND DEVICE FOR ENCODING ERROR CORRECTION
JP4978625B2 (ja) * 2006-05-12 2012-07-18 日本電気株式会社 誤り訂正符号化方法及び装置
CN101136704B (zh) * 2006-08-30 2012-09-26 株式会社日立制作所 光集线装置以及光用户装置
US9276611B2 (en) 2007-09-28 2016-03-01 Panasonic Corporation Encoding method, encoder, and decoder
US9859921B2 (en) 2007-09-28 2018-01-02 Panasonic Corporation Transmitting method and transmitting apparatus
US10560121B2 (en) 2007-09-28 2020-02-11 Panasonic Corporation Transmission method, transmission apparatus, reception method and reception apparatus
US11121723B2 (en) 2007-09-28 2021-09-14 Panasonic Corporation Transmission method, transmission apparatus, reception method and reception apparatus

Also Published As

Publication number Publication date
RU2007126849A (ru) 2009-01-27
CN101080874B (zh) 2012-11-14
RU2373641C2 (ru) 2009-11-20
CN101080874A (zh) 2007-11-28
US7979780B2 (en) 2011-07-12
JP4821613B2 (ja) 2011-11-24
DE05811730T1 (de) 2008-05-29
US20070300135A1 (en) 2007-12-27
JPWO2006064659A1 (ja) 2008-06-12
EP1841075A1 (en) 2007-10-03
EP1841075A4 (en) 2009-01-07

Similar Documents

Publication Publication Date Title
WO2006064659A1 (ja) 誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法
US8095859B1 (en) Encoder for low-density parity check codes
US10511326B2 (en) Systems and methods for decoding error correcting codes
US6785863B2 (en) Method and apparatus for generating parity-check bits from a symbol set
US8352847B2 (en) Matrix vector multiplication for error-correction encoding and the like
US6928602B2 (en) Encoding method and encoder
US8065598B1 (en) Low latency programmable encoder with outer systematic code and low-density parity-check code
US11115051B2 (en) Systems and methods for decoding error correcting codes
US7318186B2 (en) Decoding method, decoding apparatus, and program to decode low density parity check codes
US8578252B2 (en) Encoder, decoder, transmitting apparatus, and receiving apparatus
US8166363B2 (en) Decoding device and method
RU2408979C2 (ru) Способ и устройство кодирования с исправлением ошибок
KR20070058508A (ko) Ldpc 코드를 이용한 부호화 및 복호화 방법
WO2014122772A1 (ja) 誤り訂正符号の検査行列のデータ構造、並びに誤り訂正符号の符号化率可変装置および可変方法
US8843810B2 (en) Method and apparatus for performing a CRC check
KR101216075B1 (ko) 채널 코드를 이용한 복호화 및 복호화 장치
JP5523064B2 (ja) 復号装置及び方法
JP2009177228A (ja) 符号化方法、符号化器、復号器
Mondal et al. Efficient hardware design architectures for BCH product codes in the frequency domain
EP2951926B1 (en) Ldpc code design and encoding apparatus for their application
JP2010028408A (ja) 情報処理装置、情報処理方法、およびプログラム
Sirbu et al. On Some Characteristics of a Novel Lossless Data Compression Algorithm based on Polynomial Codes
JP2010041628A (ja) 符号化装置、符号化方法および符号化プログラム
Gautam Study and design of architecture for BCH code encoder and decoder
KR20070071676A (ko) Ldpc 코드에 의한 복호화 방법 및 그 장치

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

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

Ref document number: 2006548752

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11792692

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 200580043202.3

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2005811730

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007126849

Country of ref document: RU

WWP Wipo information: published in national office

Ref document number: 2005811730

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11792692

Country of ref document: US