WO2003073621A1 - Procede de generation de matrices d'inspection de code ldpc et dispositif de generation de matrices d'inspection - Google Patents

Procede de generation de matrices d'inspection de code ldpc et dispositif de generation de matrices d'inspection Download PDF

Info

Publication number
WO2003073621A1
WO2003073621A1 PCT/JP2003/002331 JP0302331W WO03073621A1 WO 2003073621 A1 WO2003073621 A1 WO 2003073621A1 JP 0302331 W JP0302331 W JP 0302331W WO 03073621 A1 WO03073621 A1 WO 03073621A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
weight
row
column
matrix
Prior art date
Application number
PCT/JP2003/002331
Other languages
English (en)
French (fr)
Inventor
Wataru Matsumoto
Original Assignee
Mitsubishi Denki Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Denki Kabushiki Kaisha filed Critical Mitsubishi Denki Kabushiki Kaisha
Priority to JP2003572182A priority Critical patent/JP3893383B2/ja
Priority to EP03743066A priority patent/EP1480346A4/en
Priority to US10/482,815 priority patent/US7089479B2/en
Publication of WO2003073621A1 publication Critical patent/WO2003073621A1/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
    • 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/13Linear codes
    • H03M13/134Non-binary linear block codes not provided for otherwise

Definitions

  • the present invention relates to a method for generating a check matrix for an LPC code when an LDPC (Low-Density Parity-Check) code is employed as an error correction code.
  • LDPC Low-Density Parity-Check
  • FIG. 27 is a diagram showing an LDPC-encoded Z-decoding system.
  • 101 is an encoder
  • 102 is a modulator
  • 103 is a communication path
  • 104 is a demodulator
  • 105 is a decoder.
  • encoder 101 on the transmitting side generates parity check matrix H by a predetermined method described later. Then, the generator matrix G is obtained based on the following conditions.
  • G kXn matrix (k: information length, 11: codeword length)
  • the encoder 101 receives the message (n ⁇ n'.mk) having the information length k, and generates a codeword C using the generator matrix G.
  • the modulator 102 performs digital modulation such as BPSK, QPSK, and multi-level QAM on the generated codeword C and transmits the codeword C.
  • the demodulator 104 performs digital demodulation such as BPSK, QPSK, and multilevel QAM on the modulated signal received via the communication channel 103, and furthermore, the decoder 105 outputs LDP C Sum-pr oduct algorithm ", and outputs the estimation result (corresponding to the original m 2- " m k ).
  • the matrix shown in Fig. 28 is a binary matrix of "1" and "0", and the portion of "1" is filled. All other parts are “0".
  • the number of “1” s in one row (which is expressed as a row weight) is 4
  • the number of “1” s in one column (which is expressed as a column weight) is 3
  • all This is generally called "Regu 1 ar—LDPC code” because the column and row weights are uniform.
  • the matrix is divided into three blocks, and random replacement is performed on the second block and the third block.
  • Euclid geometric codes EG is a kind of finite geometry codes (2, 2 6) has been proposed a method of generating a check matrix of the LDPC code using, in the error rate 1 0 4 points, from the Shannon limit 1. A characteristic close to 45 dB is obtained.
  • FIG. 29 is a diagram showing, for example, the structure of the Euclidean geometric code EG (2, 2 2 ), in which the weight of each of the rows and columns is 4, 4 “Regu 1 ar—LDP. Code”. Building.
  • the Euclidean geometric code has a structure in which the arrangement of "1" in each row is cyclically shifted for each row, and has the advantage that the code can be easily and deterministically configured. is there.
  • FIG. 30 is a diagram showing an example in which the weights of the columns are regularly separated from four to two.
  • the conventional method for generating a parity check matrix for LDPC codes repeatedly derives the order distribution of variable nodes and the order distribution of check nodes a predetermined number of times. Required.
  • the present invention can easily search for a parity check matrix for an LDPC code that is deterministic, has stable characteristics, and corresponds to an arbitrary ensemble. It is intended to provide a way. Disclosure of the invention
  • a maximum value of a column weight is determined.
  • a Euclidean geometric code determining step for determining a basic Euclidean geometric code based on the maximum value of the coding rate, a coding rate determining step for determining a coding rate, and a state in which the coding rate is fixed and Gaussian noise is maximized.
  • a weight search step of searching for an optimal ensemble of row weights and column weights by a linear programming so as to obtain an information length for calculating an information length based on a predetermined block length and the code Ich rate.
  • the row deletion step the weight of each row in the Euclidean geometric code is randomly divided based on the ensemble, and the divided row is The information length is subtracted from the number, and thereafter, the number of rows corresponding to the subtraction result is deleted while adjusting the ratio of each weight in the ensemble.
  • a predetermined number of rows is deleted from the basic Euclidean geometric code, and then, based on the ensemble, It is characterized by randomly dividing the weight of each row in the Euclidean geometric code.
  • the weight distribution of the ensemble is expressed as follows: the total number of weights in the weight unit is an integer; Are adjusted so that the total number becomes equal, and the division processing is performed based on the adjusted ensemble.
  • a Latin square of a basic random sequence is created, and the Euclidean square based on the Latin square is used.
  • the feature is to randomly divide each column and each row by extracting the weight “1” from each row and each column in the geometric code.
  • a predetermined polynomial is used to generate a parity check matrix of a row or a column in the Euclidean geometric code. It is characterized in that weights are divided to reduce the “cycle number 6” existing in the Euclidean geometric code, which is a cause of characteristic degradation.
  • a weight determination means for determining a maximum value of a column weight is provided, as a configuration for generating a parity check matrix of an Irregu 1 ar-LDPC code using a Euclidean geometric code, A Euclidean geometric code determining means for determining a Euclidean geometric code based on the maximum value of the column weights; a coding rate determining means for determining a coding rate; and Weight search means for searching for an optimal ensemble of row weights and column weights by linear programming so as to maximize noise, and information for calculating an information length based on a predetermined block length and the coding rate A length calculating unit, a row deleting unit that deletes a predetermined row based on the information length using the Euclidean geometric code, and a weight of a row or a column of the matrix after the row is deleted. And a dividing means for randomly dividing by a predetermined procedure.
  • FIG. 1 is a flowchart showing a method of generating a parity check matrix for LDPC codes according to the first embodiment
  • FIG. 3 is a diagram showing a Euclidean geometric code EG (2, 2 2 )
  • FIG. 4 is a diagram showing a Euclidean geometric code EG (2, 2 2 ) shown in FIG.
  • FIG. 5 is a diagram showing the column numbers of “1” in each row
  • FIG. 5 is a diagram showing the column numbers of “1” in each row after sorting
  • FIG. 7 is a diagram showing the column number of “1” in each row after deleting 5 rows. Is a diagram showing a fabric
  • FIG. 1 is a flowchart showing a method of generating a parity check matrix for LDPC codes according to the first embodiment
  • FIG. 8 is a diagram showing a weight distribution after 5 rows deleted in Euclid geometric codes EG (2, 2 5)
  • FIG. 9 is a Euclid geometry code EG (2, 2 5 )
  • FIG. 10 is a diagram showing an example of a divided table
  • FIG. 11 is a diagram showing a weight distribution adjustment table
  • FIG. 12 is a diagram showing an ensemble of a generation function L (x) and a generation function 10 (X) after weight distribution
  • FIG. 13 is a diagram showing a conventional division procedure. Is a diagram showing a graph of EG (2, 25 ) before division
  • FIG. 15 is a diagram showing a graph after division in which edges of EG (2, 25 ) are randomly selected.
  • FIG. 16 is a diagram showing a relationship between E b / No and BER
  • FIG. 17 is a diagram showing an ensemble of “Regu 1 ar—LDPC code”.
  • FIG. 18 is a diagram showing an ensemble of “I rre gu lar—LDP C code j.
  • FIG. 19 shows a basic random sequence C (i) and a permutation pattern LB j (i) of the basic random sequence.
  • FIG. 20 is a diagram showing a Latin square matrix L jq (i)
  • FIG. 21 is a diagram showing a case where the LD PC code shown in FIG. 29 is represented by a bipartite graph.
  • FIG. 22 is a diagram showing an example of cycle 4 and cycle 6, and FIG.
  • FIG. 23 is a diagram showing a row of “1” in each column of the Euclidean geometric code EG (2, 2 2 ) shown in FIG.
  • FIG. 24 is a diagram showing a matrix in a case where the matrix shown in FIG. 23 is separated by equation (19) and the column weight is set to 2
  • FIG. 25 is a diagram showing a matrix col
  • FIG. 26 is a diagram illustrating a matrix co 1 ⁇ s 2_4 (i, j) when (i, j) is simply separated into two front columns and two rear columns.
  • FIG. 26 illustrates a matrix co 1 ⁇ s 2_4 (i, j) according to the second embodiment.
  • Place FIG. 27 is a diagram showing a matrix co 1 — s 2 — 4 ′ (i, j) of FIG.
  • FIG. 27 is a diagram showing an LDPC encoding / decoding system.
  • FIG. 29 is a diagram illustrating a parity check matrix
  • FIG. 29 is a diagram illustrating a configuration of a Euclidean geometric code EG (2, 2 2 )
  • FIG. 30 is an example in which column weights are regularly separated from 4 to 2
  • FIG. BEST MODE FOR CARRYING OUT THE INVENTION an embodiment of a method of generating a parity check matrix for LDPC codes according to the present invention will be described in detail with reference to the drawings. The present invention is not limited by the embodiment.
  • FIG. 1 is a flowchart showing a method of generating a detection matrix for LDPC codes according to the present invention.
  • the method of generating a parity check matrix for LDPC codes according to the present embodiment may be implemented, for example, in a communication device according to set parameters, or in another control device (such as a computer) outside the communication device. It may be executed.
  • the method of generating a parity check matrix for an LDP code in the present embodiment is performed outside a communication device, the generated parity check matrix for an LDPC code is stored in the communication device.
  • the case where the above method is executed in a communication device will be described for convenience of explanation.
  • the encoder 101 on the transmission side generates a parity check matrix H by a method for generating a parity check matrix for LDP C codes according to the present embodiment described later. Then, a generator matrix G is obtained based on the following conditions.
  • G k X n matrix (k: information length, n: codeword length)
  • the encoder 101 receives the message (i ⁇ m ⁇ mk) having the information length k, and generates a codeword C using the generator matrix G.
  • modulator 102 generates BPSK 'QPSK, Performs digital modulation such as multi-level QAM and transmits.
  • the demodulator 104 performs digital demodulation such as BPSK, QPSK, and multi-level QAM on the modulated signal received via the communication channel 103, and furthermore, the decoder 105 outputs LDP C the coded demodulation results, the iterative decoding performed by the "sum- pro du ct algorithm", and outputs the estimated result (corresponding to the original mi ii "m k). '
  • the point “1” in a row in the parity check matrix is defined as a variable node, and the The point “1” is defined as a check node.
  • ⁇ (x) and ⁇ / o ( ⁇ ) are the degree distributions of the variable nodes and check nodes, respectively (the “1” of each row and each column of the variable nodes and check nodes). (Representing a number as an order), and can be expressed as in equations (3) and (4). Also, ⁇ i and ⁇ i represent the ratio of edges belonging to a variable node and a check node of degree i, respectively. Is the order of the maximum variable node, and d r is the order of the maximum check node.
  • Equation (6) f (s 5 t w ) — (6) where ti is the first Of the LLR output value of the check node at the time of Ensemble average.
  • the condition for obtaining the SNR limit (threshold) where the error can be 0 is that when 1 ⁇ ⁇ , 1 ⁇ (s) ⁇ ⁇ (expressed as R +).
  • the following condition (7) must be satisfied.
  • Equation (8) can be equivalently expressed as the following equation (9).
  • ⁇ (9) the condition for finding the SNR limit (threshold) where the error can be 0 is that (s) ⁇ 0.
  • condition (10) Expression must be satisfied. r> h (s, r), all re (0, (
  • the test for “Irre gu lar—LD PC code” that is deterministic, has stable characteristics, and corresponds to an arbitrary ensemble, an arbitrary code length, and an arbitrary code rate.
  • a method for searching a matrix easily in a short time is explained (see Fig. 1).
  • the parity check matrix for “Irregu 1 ar one LDPC code” is obtained by dividing and deleting the arrangement of “1” in one row or one column in the Euclidean geometric code. Generate.
  • FIG. 1 is a diagram illustrating a method of generating a parity check matrix for an LDP C code according to the first embodiment.
  • the maximum Determine the value dl (step SI).
  • d 1 32.
  • the base Euclidean geometric code EG (2, 2 s ) is selected based on the column weight d 1 (step S 2) .
  • the Euclidean geometric code EG (2, 2 s ) is selected.
  • s' that satisfies the condition 2 s — 1 and d 1 ⁇ 2 S + 1 is selected.
  • step S 3 the coding rate (r ate) is determined (step S 3).
  • r ate 0.5
  • X represents a weight
  • the lambda chi and [rho chi represent the weight distribution of Bariaburunodo and check nodes.
  • ⁇ ⁇ represents the noise variance at “thresh ⁇ 1” derived by Gaussian approximation, and is SNR n .
  • subject(GA) represents the difference between the SNR at“ thresho 1 ”derived by the Gaussian approximation method and the SNR at the Canon limit.
  • Equation (9) and Equation (10) the generation that satisfies Equation (9) and Equation (10) is performed. Since the function; (x) and the generating function p (x) are determined by one linear programming, the derivation of the generating function; L (X) and the generating function p as in the above paper (c hun g, etc.) An ensemble with deterministic and stable characteristics can be generated more easily and in a shorter time than the method of repeatedly deriving (X) and finding the optimum value of both.
  • step S6 the line corresponding to the information length K is deleted.
  • the row deletion method (first deletion method, second deletion method) according to the present embodiment will be described in detail.
  • the number of rows and the number of columns of the base Euclidean geometric code EG (2, 2 s ) can be expressed by 2 S X 2 s -1.
  • one row having a weight of 32 is divided into one row having a weight of 10 and two rows having a weight of 11 based on the ensemble shown in FIG.
  • the ratio of weight 10 is ⁇ .
  • D 10Z32 0.3125
  • each row having a weight of 32 is divided into one row having a weight of 10 and two rows having a weight of 11, for example, a random division described later, that is, a “division method using a Latin square of a random number sequence” Is carried out.
  • one row having a weight of 32 is assigned a weight of 10
  • 569 rows are deleted so that the ratios p 10 and p u are not changed as much as possible.
  • FIG. 4 is a diagram showing the column number of “1” in each row in the Euclidean geometric code EG (2, 2 2 ) shown in FIG. 3.
  • the column number of “1” in each row is (i, j) (where i represents the row number and j represents the column number).
  • FIG. 5 is a diagram showing the column numbers of “1” in each row after sorting.
  • the column numbers of “1” in each row after sorting are expressed as Row (i, j).
  • FIG. 6 is a diagram showing the column number of “U” in each row after deleting five rows from the bottom of FIG. 5.
  • the column number of “1” in each row after deletion is Row_5 ′ ( i, j).
  • FIG. 7 is a diagram showing a weight distribution in a column after row deletion, and shows the relationship between the column number and the number of “1” included in the column in FIG.
  • FIG. 8 is a diagram showing a weight distribution of the Euclidean geometric code EG (2, 25 ) after deleting five rows.
  • Figure 9 shows the weight distribution when only 189 rows in the Euclidean geometric code EG (2, 25 ) are deleted in the same procedure as the second deletion method described above.
  • the weight distribution; the value of X in l x and the value of X in weight distribution ⁇ , that is, the weights of the columns and rows, are each a combination of X, for example, 32.
  • FIG. 10 is a diagram showing an example of a division table. For example, the combination of 7 X 4 and 2 X 2 indicates that one column with weight 32 can be divided into four columns with weight ⁇ and two columns with weight 2. As shown in Fig.
  • FIG. 11 is a diagram showing a weight distribution adjusting table.
  • FIG. 12 is a diagram showing an ensemble of the generator function I (X) and the generator function ⁇ (X) after weight distribution.
  • FIG. 13 is a diagram showing a division procedure in the above-mentioned paper.
  • matrix numbering is performed as shown in FIG.
  • the column numbers are 1, 2, 3, ... from the left end
  • the row numbers are 1, 2, 3, ... from the top.
  • the division is performed regularly according to the following equation (12).
  • the division processing of the Euclidean geometric code in the present embodiment does not regularly divide as described above, but randomly extracts the number of (x) force “1”. This extraction processing may use any method as long as the randomness is maintained.
  • FIG. 14 shows the graph of EG (2, 25 ) before splitting FIG.
  • the line connecting both nodes is expressed as an edge.
  • the Euclidean geometric code of 1023 rows ⁇ 1023 columns (each matrix has a weight of 32) before the division is represented.
  • FIG. 15 is a diagram showing a graph after division in which edges of EG (2, 2 E ) are randomly selected.
  • FIG. 16 is a diagram showing the relationship between 'EbZ No (signal power to noise power ratio per information bit) and error rate characteristics (BER). The number of repetitions is 50, and the decoding method is "Sum-Produc algorithm”.
  • FIG. 17 is a diagram showing an ensemble of the above “Regu 1 ar—LDP C code”.
  • the maximum value d 1 of the column weight is determined, and then the base Euclidean geometric code EG (2, 2 s ) is determined based on the column weight d 1. Then, the coding rate (rate) is determined. Next, using the above-described Gaussian approximation method, the generation function of the order distribution of variable nodes (X) and the generation function of the degree distribution of check nodes P ( x) is derived, then the information length K is determined from the predetermined block length N, and then the row corresponding to the information length K is deleted according to the predetermined procedure described above. The column is divided according to the above-mentioned predetermined procedure.
  • the parity check matrix for “Irregu 1 ar—LDP. Code” that is deterministic and stable in characteristics, and is compatible with an arbitrary ensemble, an arbitrary code length, and an arbitrary coding rate is obtained as follows. It can be easily generated in a short time.
  • a random sequence for random division is generated easily and deterministically.
  • the point U in this method is that the sender and the receiver can generate the same random sequence. This is very important in a real system. There is also an advantage that the conditions of the code characteristics can be accurately defined.
  • P is the smallest prime number that satisfies P 2 s , for example, when it is 25 , it becomes P 37.
  • C (i) (1 2 4 8 16 32 27 17 34 31 25 13 26 15 30 23 9 18 36 35 33 29 21 5 10 20 3 6 12 2 11 22
  • the skip interval S ( ⁇ ⁇ ⁇ ⁇ ) is defined as the following equation (14) in order to read the basic random sequence at regular intervals.
  • FIG. 19 is a diagram showing a basic random sequence C (i) and a basic random sequence replacement pattern LBj (i). ,
  • FIG. 20 is a diagram showing a Latin square matrix L (i).
  • the Latin square matrix L jq (i) determines the division pattern of the matrix to be expanded (for example, the matrix shown in FIG. 12) at column i X32 + q.
  • the division pattern is as follows.
  • ⁇ 670, 1 (1) g 670 (L 3 ⁇ 430 (1))
  • ⁇ 670, 3 (1) g 670 (L 21j30 (1))
  • LDPC codes (check matrices for LDPC codes) are generally represented by, for example, a bipartite graph: a bipartite graph ("tanner graph"). . can be expressed by j) second 1 figure -.. as an example, a diagram showing a case where the LDPC code illustrated in FIG. 29 is expressed by a bipartite graph in this way, the two parts on the graph In, variable nodes are represented by soft AND and check nodes are represented by soft EXOR.
  • FIG. 22 is a diagram showing an example of cycle 4 and cycle 6.
  • the influence of cycle 4 is the largest, and the influence decreases as the number of cycles increases. Therefore, as the LDPC code, a structure that suppresses the occurrence of a small number of cycles such as cycle 4 and cycle 6 is desirable.
  • the decoding characteristics are improved by reducing the number of cycles 6 present in the Euclidean geometric code.
  • cycle 4 does not already exist in the base Euclidean geometric code, and this property is not affected by 'separation and deletion of rows and columns (including separation and deletion in Embodiment 1). Les ,.
  • FIG. 23 is a diagram showing the row number of “1” in each column of the Euclidean geometric code EG (2, 2 2 ) shown in FIG. 3 described above, and represents this matrix as col (i, j). .
  • the polynomial W (X) indicating the position of “1” in col (i, j) can be expressed as the following equation (17) with respect to the top row.
  • FIG. 24 is a diagram showing a matrix in a case where the matrix shown in FIG. 23 is separated by the above equation (19) and the column weight is set to 2, and this matrix is represented by col—s 2 (i, j).
  • the LDPC code corresponding to the matrix in FIG. 24 separated by the above processing has a Ray configuration having no vital 6 at all.
  • the polynomial-based separation may be any degree pair. That is, separation may be performed using the following equation (20).
  • FIG. 25 shows the procedure for separating the column with weight 4 into 20 columns with weight 2 and 5 columns with weight 4, where col (i,; j) above is simply separated into two front columns and two rear columns.
  • FIG. 4 is a diagram showing a matrix col—s 2—4 (i, j) of FIG.
  • the number of cycles 6 is 35.
  • FIG. 26 is a diagram showing a matrix col_s2_4 ′ (i, j) when the separation is performed by the above equation.
  • the number of cycles 6 is 33, which is smaller than in the case of FIG.
  • the column weights are separated so as to reduce the number of cycles 6 present in the Euclidean code that causes the characteristic degradation. Therefore, the decoding characteristics can be improved.
  • the Euclidean geometric code is used as a basic code (basic matrix).
  • the present invention is not limited to this. As long as the matrix satisfies the condition of “6 or more”, for example, a matrix other than the Euclidean geometric code, such as a projective geometric code, may be used.
  • the maximum value d 1 of the column weight is determined, and then the base Euclidean geometric code EG (2, 2 s ) is determined based on the column weight d 1. Then, the coding rate (rate) is determined.
  • the generation function ⁇ of the order distribution of the parable nodes and the generation function ⁇ ( X) is derived, then the information length ⁇ is determined from the predetermined block length ⁇ , and then the line corresponding to the information length ⁇ is deleted in the above predetermined procedure.
  • the column is divided according to the above procedure.
  • the weight of each line in the Euclidean geometric code is randomly divided based on a predetermined ensemble, the information length is subtracted from the number of divided lines, and then the ratio of each weight in the ensemble is calculated.
  • the number of rows corresponding to the result of the subtraction is deleted so as to be as small as possible.
  • a predetermined number of lines are deleted from the basic Euclidean geometric code, and then the weight of each line in the deleted .ukrit geometric code is randomly divided based on the ensemble.
  • the weight distribution is determined as follows: the total number of weights in the weight unit is an integer; By adjusting the sum of the total number of place weights to be equal to the total number of “1” of the Euclidean geometric code, there is an effect that a more accurate division process can be realized.
  • the column weights are separated so as to reduce the number of cycles 6 in the Euclidean geometric code that causes the characteristic degradation, so that the decoding characteristic can be greatly improved. This has the following effect.
  • the maximum value d 1 of the column weight is determined, and then the base Euclidean geometric code EG (2, 2 s ) is selected based on the column weight d 1,
  • the coding rate (rate) is determined.
  • the generation function ⁇ ( ⁇ ) of the variable distribution of the variable node and the generation function ⁇ (X ) is determined.
  • the information length ⁇ is determined from the predetermined block length ⁇ , and the row corresponding to the information length ⁇ is deleted by the above-mentioned predetermined procedure.
  • the configuration is such that the column division processing is performed according to a predetermined procedure.
  • the parity check matrix for “I 1- re gu 1 ar—: LDP C code” that is deterministic, has stable characteristics, and corresponds to an arbitrary ensemble, an arbitrary code length, and an arbitrary coding rate, This has the effect that a check matrix generation device that can be easily generated in a short time can be obtained.
  • the parity check matrix generation method for LDPC codes and the parity check matrix generation device according to the present invention are useful for communication systems that employ LDPC codes as error correction codes. Suitable for generating stable "Irregu 1 ar—LDPC code".

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Complex Calculations (AREA)

Description

明 細 書
LDP C符号用検査行列生成方法および検查行列生成装置 技術分野
本発明は、 誤り訂正符号として LD PC (Low-Density Parity-Check) 符号を 採用した場合における L D P C符号用検查行列生成方法に関するものである。 背景技術
第 27図は、 LDPC符号化 Z復号システムを示す図である。 第 27図におい て、 101は符号化器であり'、 102は変調器であり、 103は通信路であり、 104は復調器であり、 105は復号器である。 ここでは、 従来の L D P C符号 用検査行列生成方法を説明する前に、 LD PC符号を使用した場合の符号化, 復 号の流れについて説明する。
まず、 送信側の符号化器 101では、 後述する所定の方法で検査行列 Hを生成 する。 そして、 以下の条件に基づいて生成行列 Gを求める。
G: kXn行列 (k :情報長, 11 :符号語長)
GHT=0 (Tは転置行列)
その後、 符号化器 101では、 情報長 kのメッセージ (n^n '.mk) を受け取 り、 上記生成行列 Gを用いて符号語 Cを生成する。
C = (m1m2---mk
= (Clc2---cn) (ただし、 H (Clc2"'cn) τ=0)
そして、 変調器 102では、 生成した符号語 Cに対して、 BPSK, QPSK, 多値 Q AMなどのデジタル変調を行い、 送信する。
一方、 受信側では、 復調器 104が、 通信路 103を介して受け取った変調信 号に対して、 BPSK, QPSK, 多値 Q AMなどのデジタル復調を行い、 さら に、 復号器 105力 LDP C符号化された復調結果に対して、 「 s u m— p r o d u c tアルゴリズム」 による繰り返し復号を実施し、 推定結果 (もとの m2-"mkに対応) を出力する。 '
以下、 従来の L D P C符号用検査行列生成方法について説明する。 L D P C符 号用の検查行列としては、 たとえば、 0?〇の発案者0& 1 1 a g e rにより 以下のような行列が提案されている (第 28図参照) 。
第 28図に示す行列は、 「 1」 と 「 0」 の 2値の行列で、 「 1」 の部分を塗り つぶしている。 他の部分は全て 「0」 である。 この行列は、 1行の 「1」 の数 ( これを行の重みと表現する) が 4で、 1列の 「1」 の数 (これを列の重みと表現 する) が 3であり、 全ての列と行の重みが均一なため、 これを一般に 「Re g u 1 a r—LDPC符号」 と呼んでいる。 また、 Ga l 1 a g e rの符号では、 た とえば、 第 28図に示すように、 行列を 3ブロックに分け、 2ブロック目と 3プ 口ック目に対してランダム置換を行っている。
しかしながら、 このランダム置換には、 所定のルールがないため、 より特性の 良好な符号を見つけるためには、 計算機による時間のかかる探索を行わなければ ならなかった。
そこで、 たとえば、 計算機探索によらなくても確定的に行列を生成でき、 比較 的安定した良好な特性を示す LD PC符号として、 ユークリット幾何符号を用い る方法が、 Y. Ko u等 (Y, Kou, S. Lin, and M. P. C. Fossorier, "Low Den sity Parity Check Codes Based on Finite Geometries-' A Rediscovery, " ISIT 2000, pp. 200, Sorrento, Itary, June 25- 30, 2000. ) によって提案された。 この方法では、 規則的な e 11 s emb 1 e (アンサンブノレ) で構成された 「R e g u 1 a r一 LDPC符号」 について説明されている。
ここでは、 有限幾何符号の一種であるユークリット幾何符号 EG (2, 26) を用いて L D P C符号の検査行列を生成する方法が提案されており、 誤り率 1 0— 4点において、 シャノン限界から 1. 45 dBに接近した特性を得ている。 第 29図は、 たとえば、 ユークリット幾何符号 EG (2, 22) の構成を示す図で あり、 行, 列のそれぞれの重みが 4, 4の 「Re gu 1 a r— LDP。符号」 構 造をしている。
したがって、 ユークリット幾何符号 EG (m, 2s) の場合、 その特性は、 以 下のように規定される。
符号長: n=22s-l
冗長ビット長: n— k = 3s— 1
情報長: k = 22s-3s
最小距離: dBin=2s+l
密度: r = 2ゾ (22s— 1)
第 29図を見ても分かるように、 ユークリット幾何符号は、 各行の 「1」 の配 置が行毎に巡回シフトした構造になっており、 符号が容易にかつ確定的に構成で きる特長がある。
Y. Ko uらによる検查行列の生成方法では、 さらに、 上記ユークリッ卜幾何 符号に基づいて行と列の重みを変更し、 行, 列を必要に応じて拡張している。 た とえば、 EG (2, 22) の列の重みを 1 Z 2に分離する場合、 Y. Ko uらの 論文では、 1列内に 4つある重みを 1つ置きに 2個づっ分離する。 第 30図は、 列の重みを 4力 ら 2に規則的に分離した例を示す図である。
一方、 上記 「R e g u 1 a r— LD P C符号」 の特性よりも 「 I r r e g u 1 a r -LDP C符号」 の特性の方が良好であることが、 L u d y等 (M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi, and D. A. Spielman, "Improved Low~De nsity Parity-Check Codes Using Irregular Graphs and Belief Propagation, " Proceedings of 1998 IEEE International Symposium on Information Theory, p p. 171, Cambridge, Mass. , August 16-21, 1998. ) により報告された。 なお、 上記 「I r r e gu 1 a r— LDPC符号」 は、 列と行の重みがそれぞれあるい はどちらか一方が均一でない L D P C符号を表す。
そして、 それは、 R i c h a r d s o n等 (T. J. Richardson and R. Urbank e, "The capacity of low-density parity-check codes under message-passing decoding, " IEEE Trans. Inform. Theory, vol.47, No.2, pp.599 - 618, Feb. 2001. ) 、 あるいは Chun g等 (S.—Y. Chung, T. J. Richardson, and R. Urbanke, "Analysis of Sura- Product Decoding of Low-Density Parity-Check Codes
Using a Gaussian Approximation, " IEEE Trans. Inform. Theoiy, vol.47, No.2, pp.657-670, Feb. 2001. ) によって理論的に解析された。
特に、 Chun g等は、 繰り返し復号器における入力と出力の対数尤度比 (L
LR) がガウス分布に近似できると仮定して LDPC符号の 「Sum— P r o d u c tアルゴリズム」 を解析し、 良好な行と列の重みのアンサンブルを求めてい る。
しかしながら、 たとえば、 上記 Chun g等による従来の LD PC符号用検査 行列生成方法は、 行内の 「1」 の点の数 (後述するバリアブルノードの次数配分 に相当) と、 列内の 「1」 の点の数 (後述するチェックノードの次数配分に相当 ) と、 の両方を変数として、 下記の (1) 式 (r a t e :符号ィヒ率) が最大とな るバリァブルノードの次数配分およびチェックノードの次数配分を求めている。 ;: すなわち、 SNR (Signal to Noise Ratio) が最小となるアンサンブルを線形 計画法により探索している。 rate = 1一 '(1)
Figure imgf000006_0001
そのため、 上記 「r a t e」 の最大値により得られる検査行列が流動的になり、 特性が安定しない、 という問題があった。 また、 従来の LD PC符号用検査行列 生成方法は、 バリァブルノ一ドの次数配分の導出とチェックノードの次数配分の 導出とを所定回数にわたつて繰り返し行っているため、 探索処理にある程度の時 間を要する、 という問題もあった。
従って、 本発明は、 確定的で特性が安定し、 かつ任意のアンサンブルに対応し た LD PC符号用の検査行列を、 容易に探索可能で、 さらに、 性能の良好な LD P C符号用検査行列生成方法を提供することを目的としている。 発明の開示
本発明にかかる L D P C符号用検査行列生成方法にあっては、 I r r e g u 1 a r - L D P C符号の検査行列を生成するために、 列の重みの最大値を決定する 重み決定ステップと、 前記列の重みの最大値に基づいて基本となるユークリット 幾何符号を決定するユークリット幾何符号決定ステップと、 符号化率を決定する 符号化率決定ステップと、 前記符号化率を固定した状態で、 かつガウスノイズが 最大になるように、 行の重みと列の重みの最適なアンサンブルを線形計画法で探 索する重み探索ステップと、 所定のプロック長および前記符号ィヒ率に基づいて情 報長を算出する情報長算出ステップと、 前記ユークリット幾何符号を用いて、 前 記情報長に基づいた所定の行の削除処理を行う行削除ステップと、 前記行削除後 の行列の行または列の重みを所定の手順でランダムに分割する分割ステップと、 を含むことを特徴とする。 " つぎの発明にかかる L D P C符号用検査行列生成方法において、 前記行削除ス テツプにあっては、 前記アンサンブルに基づいて前記ユークリット幾何符号にお ける各行の重みをランダムに分割し、 分割後の行数から前記情報長を減算し、 そ の後、 前記アンサンブルにおける各重みの比率を調整しながら、 前記減算結果に 相当する行数を削除することを特徴とする。
つぎの発明にかかる L D P C符号用検査行列生成方法において、 前記行削除ス テツプにあっては、 前記基本のユークリット幾何符号から所定の行数を削除し、 その後、 前記アンサンブルに基づいて当該削除後のユークリット幾何符号におけ る各行の重みをランダムに分割することを特徴とする。
つぎの発明にかかる L D P C符号用検査行列生成方法にあっては、 前記アンサ ンブルの重み配分を、 重み単位の重み総数が整数で、 かつ重み単位の重み総数の 総和とユークリット幾何符号の 「 1」 の総数とが等しくなるように調整し、 調整 後のアンサンブルに基づいて前記分割処理を行うことを特徴とする。
つぎの発明にかかる L D P C符号用検査行列生成方法にあっては、 基本のラン ダム系列のラテン方陣を作成し、 当該ラテン方陣に基づいて、 前記ユークリット 幾何符号における各行および各列から重み 「1」 を抽出することにより、 各列お よび各行をランダムに分割することを特徴とする
つぎの発明にかかる L D P C符号用検查行列生成方法にあっては、 I r r e g u 1 a r— L D P C符号の検査行列を生成するために、 所定の多項式を用いて前 記ユークリット幾何符号における行または列の重みを分割し、 特性劣化の要因と なる前記ユークリット幾何符号に存在する 「サイクル数 6」 を削減することを特 徴とする。
つぎの発明にかかる検査行列生成装置にあっては、 ユークリット幾何符号を用 いて I r r e g u 1 a r— L D P C符号の検査行列を生成する構成として、 列の 重みの最大値を決定する重み決定手段と、 前記列の重みの最大値に基づいてユー クリツト幾何符号を決定するユークリット幾何符号決定手段と、 符号化率を決定 する符号ィ匕率決定手段と、 前記符号化率を固定した状態で、 かつガウスノイズが 最大になるように、 行の重みと列の重みの最適なアンサンブルを線形計画法で探 索する重み探索手段と、 所定のプロック長および前記符号化率に基づいて情報長 を算出する情報長算出手段と、 前記ユークリット幾何符号を用いて、 前記情報長 に基づレヽた所定の行の削除処理を行う行削除手段と、 前記行削除後の行列の行ま たは列の重みを所定の手順でランダムに分割する分割手段と、 を備えることを特 徴とする。 図面の簡単な説明
第 1図は、 実施の形態 1の L D P C符号用検査行列生成方法を示すフローチヤ —トであり、 第 2図は、 r a t e = 0 . 5の時の λ ( χ ) と ρ ( χ ) のアンサン ブルの一例を示す図であり、 第 3図は、 ユークリット幾何符号 E G ( 2 , 22) を示す図であり、 第 4図は、 第 3図に示すユークリット幾何符号 E G ( 2, 22 ) における各行の 「1」 の列番号を示す図であり、 第 5図は、 並べ替えた後の各 行の 「1」 の列番号を示す図であり、 第 6図は、 第 5図の下から5行を削除した 後の各行の 「1」 の列番号を示す図であり、 第 7図は、 行削除後の列内の重み分 布を示す図であり、 第 8図は、 ユークリット幾何符号 EG (2, 25) における 5行削除後の重み分布を示す図であり、 第 9図は、 ユークリット幾何符号 EG ( 2, 25) における行を 189行だけ削除した場合の重み分布を示す図であり、 第 10図は、 分割テーブルの一例を示す図であり、 第 11図は、 重み配分調整用 テーブルを示す図であり、 第 12図は、 重み配分後の生成関数; L (x) と生成関 数 10 (X) のアンサンブルを示す図であり、 第 13図は、 従来の分割手順を示す 図であり、 第 14図は、 分割前の EG (2, 25) のグラフを示す図であり、 第 1 5図は、 EG (2, 25) のエッジをランダムに選択した分割後のグラフを示 す図であり、 第 16図は、 E b/Noと BERとの関係を示す図であり、 第 17 図は、 「R e g u 1 a r— L D P C符号」 のァンサンブルを示す図であり、 第 1 8図は、 「 I r r e gu l a r— LDP C符号 j のアンサンブルを示す図であり、 第 19図は、 基本のランダム系列 C (i ) と基本のランダム系列の置換パターン LBj (i) を示す図であり、 第 20図は、 ラテン方陣行列 Ljq (i) を示す図で あり、 第 21図は、 第 29図に示す LD PC符号を 2部グラフで表現した場合を 示す図であり、 第 22図は、 サイクル 4およびサイクル 6の一例を示す図であり、 第 23図は、 第 3図に示すユークリット幾何符号 EG (2, 22) の各列におけ る 「1」 の行番号を示す図であり、 第 24図は、 第 23図に示す行列を (19) 式により分離して列の重みを 2にした場合の行列を示す図であり、 第 25図は、 行列 c o l (i, j ) を単純に前 2列と後ろ 2列に分離した場合の行列 c o 1— s 2_4 (i, j ) を示す図であり、 第 26図は、 実施の形態 2の方法で分離し た場合の行列 c o 1— s 2— 4 ' (i, j ) を示す図であり、 第 27図は、 LD PC符号化/復号システムを示す図であり、 第 28図は、 従来の LDPC符号用 の検査行列を示す図であり、 第 29図は、 ユークリット幾何符号 EG (2, 22 ) の構成を示す図であり、 第 30図は、 列の重みを 4から2に規則的に分離した 例を示す図である。 発明を実施するための最良の形態 以下に、 本発明にかかる LD P C符号用検査行列生成方法の実施の形態を図面 に基づいて詳細に説明する。 なお、 この実施の形態によりこの発明が限定される ものではない。
実施の形態 1.
第 1図は、 本発明にかかる LD PC符号用検查行列生成方法を示すフローチヤ ートである。 なお、 本実施の形態における L D P C符号用検査行列生成方法は、 たとえば、 設定されるパラメータに応じて通信装置内で実行する構成としてもよ いし、 通信装置外部の他の制御装置 (計算機等) で実行することとしてもよい。 本実施の形態における L D P C符号用検査行列生成方法が通信装置外部で実行さ れる場合は、 生成済みの LD PC符号用検査行列が通信装置に格納される。 以降 の実施の形態では、 説明の便宜上、 通信装置内で上記方法を実行する場合につい て説明する。 , まず、 本実施の形態の LD PC符号用検查行列生成方法を説明する前に、 本実 施の形態の LD P C符号用検査行列生成方法を実現可能な符号化器および復号器 の位置付け、 および 「I r r e gu l a r— LDP C符号」 甩の従来の検查行列 生成方法について説明する。 なお、 LD PC符号ィヒ Z復号システムの構成につい ては、 先に説明した第 27図と同様である。
送信側の符号化器 101では、 後述する本実施の形態の L D P C符号用検査行 列生成方法で検査行列 Hを生成する。 そして、 以下の条件に基づいて生成行列 G を求める。
G: k X n行列 (k :情報長, n :符号語長)
GHT= 0 (Tは転置行列)
その後、 符号化器 101では、 情報長 kのメッセージ (i^m^mk) を受け取 り、 上記生成行列 Gを用いて符号語 Cを生成する。
C= (m G
= (C lc2---cn) (ただし、 H (Clc2---cn) T=0)
そして、 変調器 102では、 生成した符号語 Cに対して、 BPSK' Q P S K, 多値 QAMなどのデジタル変調を行い、 送信する。
一方、 受信側では、 復調器 104が、 通信路 103を介して受け取った変調信 号に対して、 BPSK, QPSK, 多値 Q AMなどのデジタル復調を行い、 さら に、 復号器 105力 LDP C符号化された復調結果に対して、 「 s u m— p r o du c tアルゴリズム」 による繰り返し復号を実施し、 推定結果 (もとの mi ii "mkに対応) を出力する。 '
つぎに、 Chun g等 (S. -Y. Chung, T. J. Richardson, and R. Urbanke, " Analysis of Sum- Product Decoding of Low-Density Parity-Check Codes Using a Gaussian Approximation, IEEE Trans. Inform. Theory, vol.47, No.2, pp.65 7 - 670, Feb. 2001. ) によって理論的に解析された、 「I r r e gu l a r— L D P C符号」 用の従来の検査行列生成方法について詳細に説明する。 ここでは、 繰り返し復号器における入力と出力の対数尤度比 (LLR) がガウス分布に近似 できると仮定して L D P。符号の 「 Sum— P r o du c tアルゴリズム J を解 析し、 良好な行と列の重みのアンサンブルを求めている。
なお、 上記論文に記述された L D P C符号用検査行列生成方法であるガウス近 似法 (Gaussian Approximation) では、 前提として、 検査行列における行内の 「 1」 の点をバリアブルノードと定義し、 列内の 「1」 の点をチェックノードと定 義する。
まず、 チェックノードカ らノ リアブ/レノ一ドへの L L Rメッセージ伝搬を解析 する。 0く s <∞と 0≤ tく∞という条件において、 以下の関数 (2) 式を定義 する。 なお、 s =mu。は u 0の平均値であり、 u 0は分散値 ση 2のガウスノイズ を含む伝送路を経由して受信した信号の対数尤度比 (LLR) であり、 tは所定 の繰り返しの時点におけるチェックノードの L L R出力値のァンサンブル平均で ある。 fj(s,t) + (i-l»
Figure imgf000012_0001
ノ f(s,t)- (s,t: '(2)
J=2 なお、 上記 λ (x) およぴ/o (χ) は、 それぞれバリアブルノードおょぴチェ ックノードの次数配分 (バリアブルノードとチヱックノードの各 1行, 各 1列內 の 「1」 の数を次数と表現する) の生成関数を表し、 (3) 式および (4) 式の ように表すことができる。 また、 λ iと ρ iは、 それぞれ次数 iのバリァブルノ一 ドとチェックノードに属するエッジの比率を表す。 また、 は最大バリアブル ノ一ドの次数であり、 d rは最大チェックノードの次数である。
d,
λ(χ)=∑λ —1 (3)
i=2
Figure imgf000012_0002
ただし、 φ ) は下記 (5) 式のように定義する。
II一 , tanh— 4x du if x>0
Figure imgf000012_0003
V4 πχ 2 …( if x<0 そして、 (2) 式は、 等価的に下記 (6) 式と表すことができる c ,=f(s5tw) —(6) なお、 t iは 1番目の繰り返し時点におけるチェックノードの L L R出力値の ァンサンブル平均である。
ここで、 誤りが 0となりうる SNRの限界 (threshold) を求めるための条件 は、 1→∞のときに 1^ (s) →∞ (R+と表現する) となることであり、 この条 件を満たすためには、 以下の条件 (7) 式を満たす必要がある。 t<f(s,t), 全ての teR+ ·'·(7) つぎに、 バリアブノレノードからチェックノードへの LLRメッセージ伝搬を解 析する。 0く sく∞と 0< r≤ 1という条件において、 以下の関数 (8) 式を定 義する。 なお、 rの初期値 r。は φ (s) である。 s + (i-l)∑p l-(l-r)j - j=2
) ー(8)
Figure imgf000013_0001
そして、 (8) 式は、 等価的に下記 (9) 式と表すことができる。
Figure imgf000013_0002
〜(9) ここで、 誤りが 0となりうる SNRの限界 (threshold) を求めるための条件 は、 (s) →0となることであり、 この条件を満たすためには、 以下の条件 (10) 式を満たす必要がある。 r>h(s,r), 全ての re(0,(|)(s)) - さらに、 上記 Chun g等の論文では、 上記式を用いて以下の手順- ルノードとチェックノードの最適な次数を探索している (ガウス近似法) 。
(1) 生成関数; I (x) とガウスノイズ σηが与えられていると仮定し、 生成関 数 Ρ (χ) を変数として、 前述した (1) 式が最大となる点を探索する。 なお、 この探索における拘束条件は、 Ρ (1) =1と正規化することと、 上記 (ァ) 式 を満たすことである。
(2) 生成関数 p (X) とガウスノイズ σηが与えられていると仮定し (たとえ ば、 (1) の結果より得られる値) 、 生成関数; L (χ) を変数として、 (1) 式 が最大となる点を探索する。 なお、 この探索における拘束条件は、 え (1) = 1 と正規ィヒすることと、 上記 (10) 式を満たすことである。
(3) 最大 「r a t e」 を求めるために、 上記 (1) と上記 (2) を繰り返し実 行し、 生成関数; (X) と生成関数 p (X) のより良好なアンサンブルを線形計. 画法で探索する。
(4) 最後に、 ガウスノイズひ nより信号電力を 1と正規化して、 SNRの限界 (threshold) を求める。 thresholdidB) =— 10 * log 1012 * ) … (11) しかしながら、 上記 Chun g等の論文では、 「r a t e (符号化率) 」 の最 大値により得られる検査行列が流動的になり、 設計時の仕様として固定される r a t eが変動してしまう、 という問題があった。 また、 上記 Chun g等の論文 では、 バリァブルノ一ドの次数配分の導出とチェックノードの次数配分の導出と を所定回数にわたって Iり返し行っているため、 探索処理にある程度の時間を要 する、 とレヽぅ問題や、 任意のアンサンブル, 任意の符号長, 任意の符号化率に容 易に対応することができない、 という問題もあつた。
そこで、 本実施の形態においては、 確定的で特性が安定し、 かつ任意のアンサ ンブル, 任意の符号長, 任意の符号ィ匕率に対応した 「 I r r e gu l a r— LD PC符号」 用の検査行列を、 短時間で容易に探索する方法について説明する (第 1図参照) 。 具体的にいうと、 ここでは、 ユークリット幾何符号における 1行ま たは 1列の 「 1」 の配置を分割おょぴ削除することにより、 「 I r r e g u 1 a r一 LDPC符号」 用の検査行列を生成する。 第 1図は、 実施の形態 1の LDP C符号用検查行列生成方法を示す図である。
本実施の形態の L D P C符号用検査行列生成方法では、 まず、 列の重みの最大 値 d lを決定する (ステップ S I) 。 ここでは、 たとえば、 d 1 =32とする。 つぎに、 列の重み d 1に基づいてベースとなるユークリット幾何符号 EG (2, 2 s) を選択する (ステップ S 2) たとえば、 d 1 =32の場合、 ユークリツ ト幾何符号 EG (2, 2s) の列の重み 23は3 = 5となるため、 ユークリット幾 何符号 EG (2, 25) を選択する。 一般には、 2s1く d 1 < 2S+1の条件を満たす s'が選択さ る。
つぎに、 符号化率 (r a t e) を決定する (ステップ S 3) 。 ここでは、 たと えば、 r a t e = 0. 5の場合について説明する。
つぎに、 後述するガウス近似法を用いて、 パリアブルノードの次数配分の生成 関数 λ (χ) と、 チェックノードの次数配分の生成関数 ρ (X) 、 のアンサンブ ルを導出する (ステップ S 4) 。 第 2図は、 r a t e = 0. 5の時の; (x) と β (X) のアンサンブルの一例を示す図である。 ただし、 Xは重みを表し、 λχ および ρ χはそれぞれバリァブルノードとチェックノードの重み配分を表す。 ま た、 表中 σωはガウス近似法により導出した 「t h r e s h ο 1」 時のノイズ分 散値を表し、 SNRn。„ (GA) はガウス近似法により導出した 「t h r e s h o 1」 時の S NRとシヤノン限界の S NRとの差分を表す。
ここで、 バリアブルノードの次数配分の生成関数; L (x) とチェックノードの 次数配分の生成関数 P (x) のアンサンブルを探索するための上記ガウス近似法 の実行手順について説明する。
(1) 「i- a t e」 が与えられているものと仮定する。 すなわち、 要求 「r a t ej を固定する。 実際の設計では、 目標 「r a ΐ e」 が予め指定されている場合 が多いためである。
(2) 生成関数; (x) と生成関数 p (x) を同時に変数として扱い、 ガウスノ ィズ σηが最大になるように、 線形計画法で最適な生成関数え (X) と生成関数 p ) を探索する。 この探索における拘束条件は、 λ (1) =1> Ρ (1) = 1と正規化し、 さらに上記 (10) 式を満たすことである。
このように、 本実施の形態では、 上記 (9) 式と上記 (10) 式を満たす生成 関数; (x) と生成関数 p (x) を 1回の線形計画法で求める ととしたため、 上記論文 (c hun g等) のように、 生成関数; L (X) の導出と生成関数 p (X ) の導出を繰り返し実行し、 双方の最適値を求める方法よりも、 容易かつ短時間 に、 確定的でかつ特性が安定したアンサンブルを生成できる。
ステップ S 4においてアンサンブルを導出後、 つぎに、 ブロック長 Nを求め、 このプロック長 Nから情報長 Kを確定する (ステップ S 5) 。 たとえば、 N=5 000の場合、
= NX r a t e = 5000X 0. 5 = 2500
となる。
つぎに、 情報長 Kに対応した行の削除を行う (ステップ S 6) 。 ここでは、 本 実施の形態における行の削除方法 (第 1の削除方法, 第 2の削除方法) について 詳細に説明する。 なお、 ベースとなるユークリット幾何符号 EG (2, 2 s) の 行の数と列の数は、 それぞれ 2SX 2s— 1で表すことができる。
第 1の削除方法では、 まず、 第 2図に示すアンサンブルに基づいて、 重み 32 の 1行を、 重み 10の 1行と重み 1 1の 2行とに分割する。 このケースでは、 重 み 10の比率が ^。ニ 10Z32 = 0. 3125となっており、 重み 6の比率 。が Pl。=22/32 = 0. 6875となっている。 また、 ユークリット幾何符号 EG ,(2, 25) の行の数 REGは REG= 25X 25— 1= 1023であるため、 重み 1 0の行数が 1023となり、 重み 11の行数が 2046となり、 その結果、 トー タルの行数 RTは、 RT= 1023 + 2046 = 3069となる。 したがって、 行 の削除数 1^.は、 検査行列の行数が情報長 Kと一致することを利用して、 ·
Dr=RT-K
となる。
なお、 上記のように、 重み 32の各行を重み 10の 1行と重み 11の 2行に分 割する場合は、 たとえば、 後述するランダム分割、 すなわち 「乱数系列のラテン 方陣を用いた分割方法」 を実施する。
このように、 上記第 1の削除方法では、 たとえば、 重み 32の 1行を重み 10 の 1行と重み 11の 2行とに分割する場合、 分割後の行列から、 Dr=RT— 3069— 2500 = 569行を削除する。 このとき、 比率 p10, puをできる だけ変えないように、 569行の削除を行う。
一方、 第 2の削除方法では、 基本のユータリット幾何符号 EG (2, 2 s) の 段階で行の削除を行う。 ここでは、 基本のユークリット幾何符号 E G (2, 2s ) からの削除数 DrJ¾
Dr_EG=REGX (RT - K) ZRT
により求める。 たとえば、 DrEG= 1023 X 569 3◦ 69 = 189. 66 67の場合、 ユークリット幾何符号 EG (2, 25) から 189行を削除する。 このとき、 削除後に行のランダム分割を行った場合であっても、 行数は、 (1 023-569) X3-2502となり、 目標の符号長 2500に近い値となる。 実際には、 ユークリツト幾何符号 EG (2, 25) から 189行を削除した後、 1023-189 = 834行分のランダム分割を行って 834X 3 = 2502行 (各行を重み 10の 1行と重み 1 1の 2行に分割する) とし、 その後、 残りの 2 行を削除する。
上記第 2の削除方法を、 図面を用いて具体的に説明する。 ここでは、 説明の便 宜上、 ユークリット幾何符号 EG (2, 22) を用いる。 第 3図は、 ユークリツ ト幾何符号 EG (2, 22) を示す図 (空白は 0を表す) である。 また、 第 4図 は、 第 3図に示すユークリット幾何符号 EG (2, 22) における各行の 「1」 の列番号を示す図であり、 ここでは、 各行の 「1」 の列番号を Row ( i , j ) と表現する (iは行番号を表し、 jは列番号を表す) 。 たとえば、 ユークリット 幾何符号 EG (2, 22) の 1行目は、 Row (1, j) = {1, 5, 13, 1 4} と表現する。
第 4図に基づいて、 Row (i, j ) の 1列目が昇順になるように行の順番を 並べ替える。 第 5図は、 並べ替えた後の各行の 「1」 の列番号を示す図であり、 ここでは、 並べ替え後の各行の 「1」 の列番号を Row (i, j ) と表現する。 たとえば、 削除する行数を 5行とした場合、 ここでは、 Row' (i, j ) の 下から 5行を削除する。 第 6図は、 第 5図の下から 5行を削除した後の各行の 「 U の列番号を示す図であり、 ここでは、 削除後の各行の 「1」 の列番号を Ro w_5 ' (i, j ) と表現する。 また、 第 7図は、 行削除後の列内の重み分布を 示す図であり、 第 6図における、 列番号とその列に含まれる 「1」 の数との関係 を表している。 また、 第 8図は、 ユークリット幾何符号 EG (2, 25) におけ る 5行削除後の重み分布を示す図である。
上記第 2の削除方法と同様の手順で、 ユークリット幾何符号 EG (2, 25) における行を 189行だけ削除した場合の重み分布を第 9図に示す。
ステップ S 6における削除処理を実行後、 最後に、 列の分割処理を行う (第 1 図、 ステップ S 7) 。 ここでは、 本実施の形態における分割方法を、 説明の便宜 上、 第 2図を用いて詳細に説明する。 なお、 重み配分; lxの Xの値および重み配 分 Ρχの Xの値、 すなわち、 列と行の重みは、 それぞれ Xの組み合わせで、 たと えば、 32を構成できる値とする。 第 10図は、 分割テーブルの一例を示す図で ある。 たとえば、 7 X 4と 2 X 2の組み合わせは、 重み 32の 1列を、 重み Ίの 4列と重み 2の 2列に分割できることを表している。 第 10図のように、 基本と なる各行と各列の重みが 32のユークリット幾何符号 E G ( 2, 25) を適切に 分割すれば、 「I r r e gu l a r— LDP C符号」 用の検查行列が構成できる。 また、 図示はしていないが、 列の重み 31, 30, 29, 28, 27, 26, 2 5, 24, 23, 22, 21に関しても (第 9図参照) 、 同様に分割できる。 まず、 分割処理を行う前に、 第 2図に示す生成関数 λ (χ) と生成関数 p (x ) のアンサンブルの重み配分を以下の手順で調整する。 第 11図は、 重み配分調 整用テープルを示す図である。
(1) ガウス近似法で求めた生成関数; L (x) と生成関数 P (X) のアンサンブ ル (第 2図参照) をテーブルの 2列目と 3列目に設定する。
(2) 重み配分; ^ぉよび px (3列目) と、 ユークリット幾何符号 EG (2, 25 ) における全行列の 「1」 の総数 TP=26688と、 を乗算し、 重み単位の重 み総数を求め、 さらに、 当該重み単位の重み総数とその総和を 4列目に設定する。 (3) 重み単位の重み総数 (4列目) を対応する重み Xで割り、 重み単位の総列 数を求め、 それを 5列目に設定する。
(4) 重み単位の総列数が小数点以下を含む場合、 丸め処理 (四捨五入, 切上げ, 切捨て等) を行い、 その結果を 6列目に設定する。
(5) 丸め処理後の重み単位の総列数 (6列目) と対応する重み Xとを乗算し、 丸め処理後の重み単位の重み総数を求め、 それを 7列目に設定する。 そして、 各 重み総数の総和 (7列目の合計の行) が行列内の 「1」 の総数 (TP 2668 8) と等しいかどうかを確認する。
(6) 行列内の 「1」 の総数に等しくない場合、 丸め処理後の重み単位の重み総 数 (7列目) を整数単位で調整し、 その結果を 8列目に設定する。 この場合、 8 列目の総和が、 行列内の 「1」 の総数 (TP = 26688) に等しくなるように 調整する。
(7) 調整後の重み単位の重み総数 (8列目) を対応する重み Xで割り、 調整後 の重み単位の総列数を求め、 それを 9列目に設定する。 調整後の各重みの配分 ( 11歹リ目) は、 可能な限りガウス近似法で求めた値 (3列目) に近い値にする。 第 12図は、 重み配分後の生成関数; I (X) と生成関数 ρ (X) のアンサンブ ルを示す図である。
つぎに、 ユークリット幾何符号における 1行あるいは 1列の分割手順について 説明する。 たとえば、 分割手順に関して、 Y. Ko u等の論文では、 規則的に分 割する方法を提示している。 第 13図は、 上記論文における分割手順を示す図で ある。 まず、 第 13図に示すように行列のナンバリングを行う。 ここでは、 列番 号を左端から順に 1, 2, 3, …とし、 行番号を上から順に 1, 2, 3, …とす る。 そして、 たとえば、 32点 X 1列を 8点 X 4列に分割する場合、 下記 (12 ) 式にしたがって規則的に分割する。
Sm(n)=B1(m + 4*n) -..(12) なお、 m=l, 2, 3, 4とし、 n = 0, 1, 2, 3, 4, 5, 6, 7とし、 1は EG (2, 25) の列番号を表す。 また、 (X) は EG (2, 25) の 1列 目の 「1」 の位置を表し、 Sra (n) は分割後の行列の m列目の 「1」 の位置を 表す。
具体的にいうと、 EG (2, 25) における 1列中の 「1」 の位置を示す行番 号は、
1 (x) = {1 32 114 136 149 223 260 382 402 438 467 507 574 579 588 622 634 637 638 676 717 728 790 851 861 879 947 954 '971 977 979 998} となり、 その結果、 分割後の行列における 1〜 4列目の 「 1」 の位置を示す行番 号は、 (x) から 「1」 の番号が规則的に抽出され、
Sj (n) = {1 149 402 574 634 717 861 971}
52 (n) = {32 223 438 579 637 728 879 977}
53 (n) = {114 260 467 588 638 790 947 979}
54 (n) = {136 382 507 622 676 851 954 998}
となる。 すなわち、 3 2点 X 1列が 8点 X 4列に分割される。
一方、 本実施の形態におけるユークリット幾何符号の分割処理は、 上記のよう に規則的に分割するのではなく、 (x) 力 「1」 の番号をランダムに抽出 する。 なお、 この抽出処理は、 ランダム性が保持されるのであればどのような方 法を用いてもよい。
したがって、 分割後の行列の m列目の 「1」 の位置の一例を R„, (n) とした 場合、 Rm (n) は、
R, (n) = {1 114 574 637 851 879 977 979}
2 (n) = {32 136 402 467 588 728 861 971}
R。 (n) = {149 260 382 438 579 638 717 998}
R4 (n) = {223 507 622 634 676 790 947 954}
となる。
上記のような本実施の形態の分割手順をダラフ上で表現すると、 以下のように 表現することができる。 第 1 4図は、 分割前の EG (2, 25) のグラフを示す 図である。 なお、 両ノードを結ぶ線はエッジと表現する。 第 14図では、 分割前 の 1023行 X 1023列 (各行列の重みがそれぞれ 32) のユークリット幾何 符号を表現している。 また、 第 15図は、 EG (2, 2E) のエッジをランダム に選択した、 分割後のグラフを示す図である。
ここで、 上記で説明した LD PC符号の特性を比較する。 第 16図は、' EbZ No (情報 1ビットあたりの信号電力対ノイズ電力比) と誤り率特性 (BER) との関係を示す図である。 なお、 繰り返し回数は 50回で、 復号法は 「Sum— P r o du c tアルゴリズム」 である。
なお、 図中" Simple regular extended EG (2, 25)"は、 Y. Ko u等の発案によ る EG (2, 25) の規則的な列の分割 (従来技術参照) を実施した場合の、 r a t e = 0. 5の 「Re gu l a r_LDP C符号 j であり、 "Random regular extended EG (2, 25)〃は、 本実施の形態による E G (2, 25) のランダムな列の分 割を実施した場合の、 r a t e = 0. 5の 「Re g u l a r— LDP C符号」 で ある。 第 1 7図は、 上記 「Re g u 1 a r— LDP C符号」 のアンサンブルを示 す図である。
また、 図中〃 Simple irregular extended EG(2,25)"は、 第 18図によって特定 されたアンサンプルに対して、 Y. Ko u等の発案による EG (2, 2B) の規 則的な列の分割を実施した場合の、 r a t e = 0. 5の 「 I r r e g u l a r— LDP C符号」 であり、 "Random irregular extended EG (2, 2s) "は、 第 18図に よって特定されたアンサンブルに対して、 本実施の形態による EG (2, 25) のランダムな列の分割を実施した場合の、 r a t e = 0. 5の 「I r r e gu l a r - LDP C符号 J である。 第 18図は、 上記 「 I r r e g u 1 a r— L D P C符号」 のァンサンブルを示す図である。
第 16図からわかるように、 同一レートでは、 「Re gu 1 a i-— LDP C符 号」 より 「I r r e g u 1 a r— LDPC符号」 のほうが性能がよレヽ。 また、 Y. K o u等の論文のような規則的な分割では、 「 I r r e gu l a r— LDPC符 号」 であっても大幅な改善は見込めないが、 本実施の形態のランダムな分割を実 施すると性能が画期的に改善される。
このように、 本実施の形態においては、 まず、 列の重みの最大値 d 1を決定し、 つぎに、 列の重み d 1に基づいてベースとなるユークリット幾何符号 EG (2, 2s) を選択し、 つぎに、 符号化率 (r a t e) を決定し、 つぎに、 上記ガウス 近似法を用いてバリアブルノードの次数配分の生成関数え (X) とチェックノー ドの次数配分の生成関数 P (x) のアンサンブルを導出し、 つぎに、 所定のプロ ック長 Nから情報長 Kを確定し、 つぎに、 上記所定の手順で情報長 Kに対応した 行の削除処理を行い、 最後に、 上記所定の手順で列の分割処理を行う。 これによ り、 確定的で特性が安定し、 かつ任意のアンサンブル, 任意の符号長, 任意の符 号化率に刘 '応した 「I r r e g u 1 a r— LDP。符号」 用の検査行列を、 短時 間で容易に生成できる。
つぎに、 上記ランダム分割の一例、 すなわち、 上記 「乱数系列のラテン方陣を 用いた分割方法」 を詳細に説明する。 ここでは、 ランダム分割を行う場合のラン ダム系列を容易かつ確定的に生成する。 この方法による禾 U点は、 送信側と受信側 が同じランダム系列を生成できることにある。 こ; TUま、 現実のシステムではきわ めて重要となる。 また、 符号特性の条件が正確に規定できる、 という利点もある。
(1) 基本のランダム系列を作成する。
以下に、 ランダム系列作成の一例を記述する。 ここでは、 説明の便宜上、 ユーク リット幾何符号 EG (2, 25) を用いる。 ユークリット幾何符号 EG (2, 25 ) の場合、 1行に存在する 「1」 の数は 25= 32個である。
Pを P 2sを満たす最小の素数とした場合、 たとえば、 25のときは P 37 となる。 ここで、 系列長 P— 5 =32の基本のランダム系列 C (i) を (13) 式にしたがって作成する。
C (1) =1
C ( i + 1) =G0XC ( i ) mo d P … (13)
ただし、 i =0, 1, ···, P— 2とし、 G0はガロア体 GF (P) の原始元であ る。 その結果、 C (i) は、 C ( i) = {1 2 4 8 16 32 27 17 34 31 25 13 26 15 30 23 9 18 36 35 33 29 21 5 10 20 3 6 12 2 11 22
7 14 28 19}
となる。
(2) 系列長が 25= 3 2となるように、 3 2より大きい数を削除する。
C ( i ) = {1 2 4 8 16 32 27 17 31 25 13 26 15 30 23 9 18 29 21 5 10 20 3 6 12 24 11 22 7 14 28 19}
(3) 基本のランダム系列を一定間隔で読み出すためにスキップ間隔 S (〗) を 以下の (1 4) 式のように定義する。
S ( j ) = j j = 1 , 2, …, 2s (1 4)
(4) 以下の (1 5) 式で置換パターン LB j ( i ) を作成する。
LBj ( i ) = ( (S ( j ) X i ) mo d P) + 1
j = 1, 2, ···, 2s
i = 1 , 2, '··, P— 1 (1 5)
なお、 LBj ( i ) も 2sより大きい数字は削除する。 第 1 9図は、 基本のランダ ム系列 C ( i ) と基本のランダム系列の置換パターン LBj ( i ) を示す図であ る。 ,
(5) q列 i行で; i番目のラテン方陣行列 Ljq ( i ) を以下の (1 6) 式で算出 する。
Ljq ( i )
Figure imgf000023_0001
( ( (q+ i - 2) mo d 2s) + 1)
]· = 1, , ···, 2s
i = 1, 2, ···, 2s
q = l, 2, ···, 2s (1 6)
第 20図は、 ラテン方陣行列 L ( i ) を示す図である。 このラテン方陣行列 Ljq ( i ) は、 拡張する対象の行列 (たとえば、 第 1 2図に示す行列) の; i X 3 2 + q列目の分割パターンを決める。 たとえば、 削除により短縮された EG (2, 25) の 6 7 0列目 g67() ( 1 ) を g67。 ( 1 ) = {284884 113 153 220225234268280283284322363 374 436497507525 593 600617623 625 644670701 783805818892 929} とし、 これを重み 6の 5列と重み 2の 1列に分割する。 対応するラテン方陣 L (i) は 20 * 32 + 30 = 670であるため、
L21,3。 ( i ) = {13 199 10 162425 28 23 58 1231 1430 2146 177
15292 3 27 22 26 18 1 20 32 11}
となる。 結果として、 分割パターンは以下のようになる。
§ 670, 1 ( 1 ) = g 670 (L¾30 ( 1 ) )
= {322525268280436625} i -1, 2, …, 6 § 670,2 、1) ' ~ S 670 ^ 21, 30 、1ノ )
= {644783623 153 234284} i = 7, 8, ···, 12
§ 670, 3 (1) = g 670 (L21j30 (1) )
= {892 363 818600 113220} i = 13, 14, …, 16 g 670, ( 1 ) = g67。 (L21,30 ( 1 ) )
= {497225 3748054884} i = 1 7, 18, ···, 24 g 670,5 ( 1 ) = § 670 (L21;3o ( 1 ) )
= {701 617 670 507 28 593} i = 25, 26, '··, 30
§ 670,6 ( 1 ) ^ § 670 (L21,30 ( 1 ) )
= {929283} i =31, 32
実施の形態 2.
LDPC符号 (LDPC符号用検査行列) は、 一般的な表現方法として、 たと えば、 2部グラフ (bipartite graph: 2種類の要素(ソフト ANDとソフト EX OR) で†薄成された ("tanner graph j ) で表現することができる。 第21図は、 —例.として、 第 29図に示す LDPC符号を 2部グラフで表現した場合を示す図 である。 このように、 上記 2部グラフ上では、 バリアブルノードがソフト AND で表現され、 チェックノードがソフト EXORで表現される。
LDPC符号を用いた符号ィ匕/復号においては、 一般的に、 2部グラフ上にサ イタル 4, サイクル 6, およびそれ以上のサイクル、 がより少ないほど良好な特 性を得ることができる。 第 22図は、 サイクル 4およびサイクル 6の一例を示す 図である。
特に、 特性が劣化する要因としては、 サイクル 4の影響度が最も大きく、 サイ クル数が大きくなるほどその影響は小さくなる。 したがって、 LDPC符号とし ては、 サイクル 4やサイクル 6といった少ないサイクルの発生を抑制する構造が 望ましい。
そこで、 実施の形態 2の L D P C符号用検査行列生成方法にぉレ、ては、 ユーク リット幾何符号に存在するサイクル数 6を削減することによって、 復号特性の向 上を図る。 なお、 ベースとなるユークリット幾何符号には、 すでにサイクル 4が 存在せず、 この特性は、'行および列の分離および削除 (実施の形態 1における分 離おょぴ削除を含む) によっても変わらなレ、。
第 23図は、 前述の第 3図に示すユークリット幾何符号 E G (2, 22) の各 列における 「1」 の行番号を示す図であり、 この行列を c o l (i, j ) と表現 する。 c o l (i, j ) において 「1」 の位置を示す多項式 W (X) は、 1番上 の行に関して以下の (17) 式のように表現できる。
W (X) -X^+X^+ ^+X12"1 (17)
ユークリット幾何符号は、 この一つの多項式を巡回シフトした形式で表現でき るため、 以下の (18) 式のように表現できる。
W(X) = y i_1)m0d(22S_1) -' ((i+2)一1) raod(22s1) L x((i+3)-l)mod(22s-l)
+ x((i+ll)-l)mod(22s-l) i=i,2..'22s— 1 ...(18) そして、 ユークリット幾何符号に存在するサイクル数 6を削減する場合、 たと えば、 列の重みを 4から 2に分離する。 すなわち、 上記 (18) 式を前半部と後 半部に分けて、 以下の (19) 式のように表現する。 W^X) = X(i— modp" -1) + x((i+2)-l)mod(22s -1) i = j 2 2 2s -1
W2(X) = x((i+3)-l)mod(22s-l) + x((i+ll)-l)mod(22s - 1), = ,…, _j … ) 第 24図は、 第 23図に示す行列を上記 (19) 式により分離して、 列の重み を 2にした場合の行列を示す図であり、 この行列を c o l— s 2 (i, j ) と表 現する。 上記処理により分離した第 24図の行列に対応する L D P C符号は、 サ イタル 6をまったく持たなレヽ構成となる。 なお、 多項式をべ一スにした分離は、 どの次数同士のペアでもよい。 すなわち、 以下の (20) 式を用いて分離するこ ととしてもよい。
W CX) = X(i1) mod(22 1) V((i+3) - 1) mod(22,-I) = つ つ 2s一 i
W2(X) = X((i+2)-l)mod(22s-l) + χ((ί+1 l)-l)mod(225-l)) f = ½ 22s _{ … このように、 重みが 4のユークリット幾何符号であれば、 上記の (19) 式ま たは (20) 式を用いて列の重みを 2に分離することによって、 サイクル 6を完 全に除去できる。 ただし、 サイクル 6を完全に除去できるのは、 列の重みをすベ て 2に分離した場合である。 したがって、 重みが 3以上の列が他に存在する場合、 すなわち、 「I r r e g u 1 a r— LDP C符号」 の場合は、 サイクル 6を削減 することはできるが完全には除去できない。
第 25図は、 重み 4の列を重み 2の 20列と重み 4の 5列に分離する手順とし て、 上記 c o l (i, ; j ) を単純に前 2列と後ろ 2列に分離した場合の、 行列 c o l— s 2— 4 (i, j ) を示す図である。 第 25図の行列 c o 1一 s 2一 4 ( i , j ) では、 サイクル 6の数が 35となる。 一方、 第 26図は、 上記式で分離 した場合の行列 c o l_s 2_4 ' ( i , j ) を示す図である。 第 26図の行列 c o l__s 2_4 ' ( i , j ) では、 サイクル 6の数が 33となり、 第 25図の 場合よりも少なくなつていることがわかる。
このように、 本実施の形態においては、 特性劣化の要因となるユークリット幾 何符号に存在するサイクル数 6を削減するように、 列の重みを分離することとし たため、 復号特性の向上を実現できる。
なお、 上記実施の形態 1および 2においては、 基本となる符号 (基本行列) に ユークリット幾何符号を用いることとしたが、 これに限らず、 「行と列の重みが 一定」 かつ 「サイクル数が 6以上」 という条件を満たす行列であれば、 たとえば、 射影幾何符号等の、 ユークリット幾何符号以外の行列を用いることとしてもよい。 以上、 説明したとおり、 本発明によれば、 まず、 列の重みの最大値 d 1を決定 し、 つぎに、 列の重み d 1に基づいてベースとなるユークリット幾何符号 E G ( 2, 2 s) を選択し、 つぎに、 符号化率 (r a t e ) を決定し、 つぎに、 上記ガ ウス近似法を用いてパリアブルノードの次数配分の生成関数 λ ) とチェック ノードの次数配分の生成関数 ρ ( X ) のアンサンブルを導出し、 つぎに、 所定の ブロック長 Νから情報長 Κを確定し、 つぎに、 上記所定の手順で情報長 Κに対応 した行の削除処理を行い、 最後に、 上記所定の手順で列の分割処理を行う。 これ により、 .確定的で特性が安定し、 かつ任意のアンサンブル, 任意の符号長, 任意 の符号化率に対応した 「I r r e g u 1 a r— L D P C符号」 用の検査行列を、 短時間で容易に生成できる、 という効果を奏する。
つぎの発明によれば、 所定のアンサンブルに基づいてユークリット幾何符号に おける各行の重みをランダムに分割し、 分割後の行数から情報長を減算し、 その 後、 前記アンサンブルにおける各重みの比率ができるだけ変わらないように前記 減算結果に相当する行数を削除する。 これにより、 任意のアンサンブル, 任意の 符号長, 任意の符号化率に対応した 「 I r r e g u 1 a ι'— L D P C符号」 用の 検査行列を容易に生成できる、 という効果を奏する。
つぎの発明によれば、 基本のユークリット幾何符号から所定の行数を削除し、 その後、 前記アンサンブルに基づいて当該削除後の.ュ―クリット幾何符号におけ る各行の重みをランダムに分割する。 これにより、 任意のアンサンブル, 任意の 符号長, 任意の符号ィ匕率に対応した 「 I r r e g u 1 a r— L D P C符号」 用の 検查行列を容易に生成できる、 という効果を奏する。
つぎの発明によれば、 重み配分を、 重み単位の重み総数が整数で、 かつ重み単 位の重み総数の総和とユークリット幾何符号の 「 1」 の総数とが等しくなるよう に調整することによって、 より高精度な分割処理を実現できる、 という効果を奏 する。
つぎの発明によれば、 ランダム系列のラテン方陣を作成することによって、 符 号特性の条件を正確に規定できる、 という効果を奏する。
つぎの発明によれば、 特性劣化の要因となるユークリット幾何符号に存在する サイクル数 6を削減するように、 列の重みを分離することとしたため、 大幅に復 '号特性を向上させることができる、 という効果を奏する。
つぎの発明によれば、 まず、 列の重みの最大値 d 1を決定し、 つぎに、 列の重 み d 1に基づいてベースとなるユークリット幾何符号 EG (2, 2s) を選択し、 つぎに、 符号化率 (r a t e) を決定し、 つぎに、 上記ガウス近似法を用いてバ リアブルノ―ドの次数配分の生成関数 λ (χ) とチェックノードの次数配分の生 成関数 Ρ (X) のアンサンブルを導出し、 つぎに、 所定のブロック長 Νから情報 長 Κを確定し、 つぎに、 上記所定の手順で情報長 Κに対応した行の削除処理を行 レ、、 最後に、 上記所定の手順で列の分割処理を行う構成とした。 これにより、 確 定的で特性が安定し、 かつ任意のアンサンブル, 任意の符号長, 任意の符号化率 に対応した 「I 1- r e gu 1 a r—: LDP C符号」 用の検査行列を、 短時間で容 易に生成可能な検査行列生成装置を得ることができる、 という効果を奏する。 . 産業上の利用可能性
以上のように、 本発明にかかる LD P C符号用検査行列生成方法おょぴ検査行 列生成装置は、 誤り訂正符号として LDPC符号を採用した通信システムに有用 であり、 特に、 確定的で特性が安定した 「I r r e g u 1 a r— LDPC符号」 を生成する装置に適している。

Claims

請 求 の 範 囲
1. I r r e gu l a r-LDP C符号の検査行列を生成するための' L DPC 符号用検査行列生成方法にぉ ヽて、
列の重みの最大値を決定する重み決定ステップと、
前記列の重みの最大値に基づいて、 「行と列の重みが一定」 かつ 「サイクル数 が 6以上」 という条件を満たす基本行列を決定する基本行列決定ステツプと、 符号化率を決定する符号化率決定ステップと、
前記符号化率を固定した状態で、 力、つガウスノイズが最大になるように、 行の 重みと列の重みの最適なァンサンプルを線形計画法で探索する重み採索ステツプ と、
所定のブロック長および前記符号化率に基づいて情報長を算出する情報長算出 前記基本行列を用レ、て、 前記情報長に基づいた所定の行の削除処理を行う行削 除ステップと、
前記行削除後の行列の行または列の重みを所定の手順でランダムに分割する分 を含むことを特徴とする L D P C符号用検査行列生成方法。
2. ユークリット幾何符号を用いて I r r e gu l a r— L DP C符号の検查 行列を生成するための LD P C符号用検査行列生成方法において、
列の重みの最大値を決定する重み決定ステツプと、
前記列の重みの最大値に基づいてユークリット幾何符号を決定するユークリッ ト幾何符号決定ステップと、
符号化率を決定する符号化率決定ステップと、
前記符号化率を固定した状態で、 かつガウスノイズが最大になるように、 行の 重みと列の重みの最適なアンサンブルを線形計画法で探索する重み探索」 と、
所定のプロック長および前記符号ィヒ率に基づいて情報長を算出する情報長算出 前記ユークリット幾何符号を用いて、 前記情報長に基づいた所定の行の削除処 理を行う行削除ステツプと、
前記行削除後の行列の行または列の重みを所定の手順でランダムに分割する分 を含むことを特徴とする L D P C符号用検査行列生成方法。
3 . 前記行削除ステップにあっては、
前記アンサンブルに基づいて前記ユークリット幾何符号における各行の重みを ランダムに分割し、 分割後の行数から前記情報長を減算し、 その後、 前記アンサ ンブルにおける各重みの比率を調整しながら、 前記減算結果に相当する行数を削 除することを特徴とする請求の範囲第 2項に記載の L D P C符号用検査行列生成 方法。
4 . 前記行削除ステップにあっては、
前記基本のユークリット幾何符号から所定の行数を削除し、 その後、 前記アン サンブルに基づいて当該削除後のユークリット幾何符号における各行の重みをラ ンダムに分割することを特徴とする請求の範囲第 2項に記載の L D P C符号用検 查行列生成方法。 '
5 . 前記アンサンプノレの重み配分を、 重み単位の重み総数が整数で、 かつ重み 単位の重み総数の総和とユークリット幾何符号の 「 1」 の総数とが等しくなるよ うに調整し、 調整後のアンサンブルに基づレヽて前記分割処理を行うことを特徴と する請求の範囲第 2項に記載の L D P C符号用検查行列生成方法。
6. 基本のランダム系列のラテン方陣を作成し、 当該ラテン方陣に基づいて、 前記ユークリット幾何符号における各行および各列から重み 「1」 を抽出するこ とにより、 各列および各行をランダムに分割することを特徴とする請求の範囲第 2項に記載の L D P C符号用検查行列生成方法。
7. I r r e g u l a r-LDP C符号の検査行列を生成するための L DPC 符号用検査行列生成方法において、
所定の多項式を用いて、 「行と列の重みが一定」 かつ 「サイクル数が 6以上」 という条件を満たす基本行列における行または列の重みを分割し、 特性劣化の要 因となる 「サイクル数 6」 を削減することを特徴とする LDPC符号用検查行列 生成方法。 .
8. ユークリット幾何符号を用いて I r r e g u 1 a r— LDPC符号の検查 行列を生成するための L D P C符号用検查行列生成方法において、
所定の多項式を用いて前記ユークリット幾何符号における行または列の重みを 分割し、 特性劣化の要因となる前記ユークリット幾何符号に存在する 「サイクル 数 6」 を削減することを特徴とする L D P C符号用検査行列生成方法。
9. I r r e g u l a r— LDP C符号の検查行列を生成する検査行列生成装 置において、
列の重みの最大値を決定する重み決定手段と、
前記列の重みの最大値に基づいて、 「行と列の重みが一定」 かつ 「サイクル数 が 6以上」 という条件を満たす基本行列を決定する基本行列決定手段と、 符号化率を決定する符号化率決定手段と、
前記符号化率を固定した状態で、 かつガウスノイズが最大になるように、 行の 重みと列の重みの最適なアンサンブルを線形計画法で探索する重み探索手段と、 所定のブロック長および前記符号化率に基づレヽて情報長を算出する情報長算出 手段と、
前記基本行列を用いて、 前記情報長に基づ!/、た所定の行の削除処理を行う行削 除手段と、
前記行削除後の行列の行または列の重みを所定の手順でランダムに分割する分 割手段と、
を備えることを特徴とする検査行列生成装置。
1 0 . ユークリット幾何符号を用いて I r r e g u 1 a r— L D P C符号の検 查行列を生成する検查行列生成装置において、 '
列の重みの最大値を決定する重み決定手段と、
前記列の重みの最大値に基づいてユークリット幾何符号を決定するユークリッ 卜幾何符号決定手段と、
符号化率を決定する符号化率決定手段と、
前記符号化率を固定した状態で、 力 ガウスノイズが最大になるように、 行の 重みと列の重みの最適なアンサンブルを線形計画法で探索する重み探索手段と、 所定のブロック長および前記符号化率に基づレ、て情報長を算出する情報長算出 手段と、
前記ユークリット幾何符号を用いて、 前記情報長に基づいた所定の行の削除処 理を行う行削除手段と、
前記行削除後の行列の行または列の重みを所定の手順でランダムに分割する分 割手段と、
を備えることを特徴とする検査行列生成装置。
PCT/JP2003/002331 2002-02-28 2003-02-28 Procede de generation de matrices d'inspection de code ldpc et dispositif de generation de matrices d'inspection WO2003073621A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003572182A JP3893383B2 (ja) 2002-02-28 2003-02-28 Ldpc符号用検査行列生成方法および検査行列生成装置
EP03743066A EP1480346A4 (en) 2002-02-28 2003-02-28 METHOD FOR GENERATING LDPC CODE INSPECTION ARRAYS AND DEVICE FOR GENERATING INSPECTION ARRAYS
US10/482,815 US7089479B2 (en) 2002-02-28 2003-02-28 LDPC code inspection matrix generation method and inspection matrix generation device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002-53888 2002-02-28
JP2002053888 2002-02-28

Publications (1)

Publication Number Publication Date
WO2003073621A1 true WO2003073621A1 (fr) 2003-09-04

Family

ID=27764375

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/002331 WO2003073621A1 (fr) 2002-02-28 2003-02-28 Procede de generation de matrices d'inspection de code ldpc et dispositif de generation de matrices d'inspection

Country Status (5)

Country Link
US (1) US7089479B2 (ja)
EP (1) EP1480346A4 (ja)
JP (1) JP3893383B2 (ja)
CN (1) CN100592641C (ja)
WO (1) WO2003073621A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1598942A1 (en) * 2003-02-28 2005-11-23 Mitsubishi Denki Kabushiki Kaisha Check matrix generation method and check matrix generation device
EP1784919A2 (en) * 2004-08-09 2007-05-16 LG Electronics Inc. Method of encoding and decoding using low density parity check matrix
JP2007531385A (ja) * 2004-05-12 2007-11-01 サムスン エレクトロニクス カンパニー リミテッド 可変符号化率を有するブロック低密度パリティ検査符号の符号化/復号装置及び方法
CN100440737C (zh) * 2003-12-04 2008-12-03 北京泰美世纪科技有限公司 一种高度结构化的ldpc编码和解码方法及其编码器和解码器
JP2009049896A (ja) * 2007-08-22 2009-03-05 Nippon Telegr & Teleph Corp <Ntt> 通信路符号化方法及び通信路符号化システム及び階層的通信路符号化プログラム及び階層的通信路復号プログラム
CN1934789B (zh) * 2004-05-14 2012-06-06 摩托罗拉移动公司 具有良好性能的不规则缩短的ldpc码的码构造方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3808769B2 (ja) 2001-12-27 2006-08-16 三菱電機株式会社 Ldpc符号用検査行列生成方法
KR100996029B1 (ko) * 2003-04-29 2010-11-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
CN100546204C (zh) * 2003-05-30 2009-09-30 索尼株式会社 解码方法、解码装置、记录/再现装置与方法、和再现装置与方法
US7814392B2 (en) * 2003-06-20 2010-10-12 Intel Corporation System, apparatus and methods of dynamically determined error correction codes in communication systems
JP4138700B2 (ja) * 2004-05-31 2008-08-27 株式会社東芝 復号装置および復号回路
US7752520B2 (en) * 2004-11-24 2010-07-06 Intel Corporation Apparatus and method capable of a unified quasi-cyclic low-density parity-check structure for variable code rates and sizes
CN100385796C (zh) * 2004-11-25 2008-04-30 上海交通大学 低密度校验码的信道编码方法
EP1820275A4 (en) * 2004-12-08 2009-11-25 Korea Electronics Telecomm LDPC CODERS AND DECODERS AND METHOD FOR LDPC CODING AND DECODING
KR100641052B1 (ko) 2004-12-08 2006-11-02 한국전자통신연구원 Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법
US7461328B2 (en) * 2005-03-25 2008-12-02 Teranetics, Inc. Efficient decoding
US7634710B2 (en) * 2005-03-25 2009-12-15 Teranetics, Inc. Efficient decoding
US8122324B2 (en) * 2005-03-31 2012-02-21 Mitsubishi Electric Corporation Error correction coding apparatus
JP2008537410A (ja) * 2005-04-15 2008-09-11 トレリスウェア テクノロジーズ インコーポレイテッド クラッシュフリーなイレギュラーリピートアキュムレート符号
US7793190B1 (en) * 2005-08-10 2010-09-07 Trellisware Technologies, Inc. Reduced clash GRA interleavers
WO2007030030A1 (en) * 2005-09-07 2007-03-15 Intel Corporation Construction and use of shortened eg-ldpc codes
GB2439986B (en) * 2006-07-07 2008-05-21 Siemens Ag Method for generating LDPC codes and apparatus using the LDPC codes
US8316287B1 (en) 2006-08-24 2012-11-20 Marvell International Ltd. Low-density parity check codes for holographic storage
US8504890B2 (en) * 2006-12-17 2013-08-06 Ramot At Tel Aviv University Ltd. Scheduling for LDPC decoding
US8261152B2 (en) * 2007-09-10 2012-09-04 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes
JP5203717B2 (ja) * 2007-12-19 2013-06-05 パナソニック株式会社 符号器、復号器、符号化方法、及び、復号方法
JP4563476B2 (ja) 2008-07-09 2010-10-13 パナソニック株式会社 符号化器、復号化器及び符号化方法
US8166364B2 (en) 2008-08-04 2012-04-24 Seagate Technology Llc Low density parity check decoder using multiple variable node degree distribution codes
JP2010114862A (ja) 2008-10-10 2010-05-20 Panasonic Corp 符号化器、送信装置及び符号化方法
US8413010B1 (en) 2009-03-12 2013-04-02 Western Digital Technologies, Inc. Data storage device employing high quality metrics when decoding logical block address appended to a data sector
CN111628783A (zh) * 2019-02-27 2020-09-04 西南科技大学 一种eg-ldpc译码器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US6567465B2 (en) * 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US6789227B2 (en) * 2001-07-05 2004-09-07 International Business Machines Corporation System and method for generating low density parity check codes using bit-filling
JP3808769B2 (ja) 2001-12-27 2006-08-16 三菱電機株式会社 Ldpc符号用検査行列生成方法
US6757122B1 (en) * 2002-01-29 2004-06-29 Seagate Technology Llc Method and decoding apparatus using linear code with parity check matrices composed from circulants

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
JILEI HOU ET AL.: "Multilevel coding with low-density parity-check component codes", IEEE GLOBECOM'01 GLOBAL TELECOMMUNICATIONS CONFERENCE, vol. 2, 2001, pages 1016 - 1020, XP001099258 *
LUDY M.G. ET AL.: "Improved low-density parity-check codes using irregular graphs", IEEE TRANSACTIONS INFORMATION THEORY, vol. 47, no. 2, pages 585 - 598, XP002969532 *
SAE-YOUNG CHUNG, RICHALDSON T.J., URBANKE R.L.: "Analysis of sum-product decoding of low-density parity-check codes using a Gaussian approximation", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 47, no. 2, pages 657 - 670, XP002969535 *
SASON I., SHAMAI S.: "Improved upper bounds on the ensemble performance of ML decoded low density parity check codes", IEEE COMMUNICATIONS LETTERS, vol. 4, no. 3, pages 89 - 91, XP000949592 *
SASON I., SHAMAI S.: "On improved bounds on the decoding error probability of block codes over interleaved fading channels, with applications to turbo-like codes", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 47, no. 6, pages 2275 - 2299, XP002965293 *
See also references of EP1480346A4 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1598942A1 (en) * 2003-02-28 2005-11-23 Mitsubishi Denki Kabushiki Kaisha Check matrix generation method and check matrix generation device
EP1598942A4 (en) * 2003-02-28 2007-04-04 Mitsubishi Electric Corp METHOD AND DEVICE FOR GENERATING A CONTROL MATRIX
US7272770B2 (en) 2003-02-28 2007-09-18 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for generating check matrix
CN100440737C (zh) * 2003-12-04 2008-12-03 北京泰美世纪科技有限公司 一种高度结构化的ldpc编码和解码方法及其编码器和解码器
JP2007531385A (ja) * 2004-05-12 2007-11-01 サムスン エレクトロニクス カンパニー リミテッド 可変符号化率を有するブロック低密度パリティ検査符号の符号化/復号装置及び方法
US8656247B2 (en) 2004-05-12 2014-02-18 Samsung Electronics Co., Ltd Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate
CN1934789B (zh) * 2004-05-14 2012-06-06 摩托罗拉移动公司 具有良好性能的不规则缩短的ldpc码的码构造方法
EP1784919A2 (en) * 2004-08-09 2007-05-16 LG Electronics Inc. Method of encoding and decoding using low density parity check matrix
EP1784919A4 (en) * 2004-08-09 2011-08-10 Lg Electronics Inc METHOD OF ENCODING AND DECODING USING LOW DENSITY PARITY CHECK MATRIX
JP2009049896A (ja) * 2007-08-22 2009-03-05 Nippon Telegr & Teleph Corp <Ntt> 通信路符号化方法及び通信路符号化システム及び階層的通信路符号化プログラム及び階層的通信路復号プログラム
JP4674226B2 (ja) * 2007-08-22 2011-04-20 日本電信電話株式会社 通信路符号化方法及び通信路符号化システム及び階層的通信路符号化プログラム及び階層的通信路復号プログラム

Also Published As

Publication number Publication date
EP1480346A1 (en) 2004-11-24
JP3893383B2 (ja) 2007-03-14
CN1639985A (zh) 2005-07-13
EP1480346A4 (en) 2006-05-10
US20040199859A1 (en) 2004-10-07
CN100592641C (zh) 2010-02-24
US7089479B2 (en) 2006-08-08
JPWO2003073621A1 (ja) 2005-06-23

Similar Documents

Publication Publication Date Title
WO2003073621A1 (fr) Procede de generation de matrices d&#39;inspection de code ldpc et dispositif de generation de matrices d&#39;inspection
JP3808769B2 (ja) Ldpc符号用検査行列生成方法
US8291284B2 (en) Method and device for decoding LDPC codes and communication apparatus including such device
EP1673870B1 (en) Method for encoding low-density parity check code
JP4163023B2 (ja) 検査行列生成方法および検査行列生成装置
JP4005084B2 (ja) 検査行列生成方法および検査行列生成装置
Matsunaga et al. A coding theorem for lossy data compression by LDPC codes
Jose et al. Analysis of hard decision and soft decision decoding algorithms of LDPC codes in AWGN
Zimmermann et al. Reduced complexity LDPC decoding using forced convergence
Chen et al. Low-density parity-check convolutional codes applied to packet based communication systems
CA2310186A1 (en) Method and system for decoding
Clevon et al. Low-complexity belief propagation decoding by approximations with look-up tables
Chen et al. A binary message-passing decoding algorithm for LDPC codes
Yacoub et al. Bounds on the error probability of nonbinary linear codes over the q-ary symmetric channel
WO2002037731A2 (en) Decoding of low density parity check codes
Nandan et al. Joint Source Channel Coding Using LDPC Codes
Shokrollahi Codes and graphs
Pal et al. Error-Control Coding Algorithms and Architecture for Modern Applications Powered by LDPC Codes and Belief Propagation
Lulu Construction Of Ldpc Codes Using Randomly Permutated Copies Of Parity Check Matrix
양필웅 Low-Complexity Decoding Schemes for LDPC Codes Using Efficient Unreliable Path Search
Abdelhedi et al. Simulation-based validation of improved BP-Based decoding algorithms of LDPC codes
SHENG Contributions to the construction and decoding of non-binary low-density parity-check codes
Narang et al. imAGE PRoCEssiNG
Rajasekar et al. Modified greedy permutation algorithm for low complexity encoding in LDPC codes
Uzunoğlu Performance comparison of message passing decoding algorithms for binary and non-binary low density parity check (LDPC) codes

Legal Events

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

Ref document number: 2003572182

Country of ref document: JP

AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT SE SI SK TR

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

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2003743066

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 20038045249

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2003743066

Country of ref document: EP