The present invention relates to an encoding technology in digital communications, and more particularly, to a check-matrix generating method of generating a parity check matrix for LDPC (low-density parity check) code, an encoding method of encoding predetermined data bits using the parity check matrix, and a decoding method.
Hereinafter, a conventional communication system that employs an LDPC code as an encoding system will be explained. Here, a case in which quasi-cyclic (QC) codes (see Nonpatent Document 1) are employed as an example of the LDPC codes will be explained.
First, the procedure of encoding/decoding processing in the conventional communication system that employs the LDPC codes as the encoding system will be explained briefly.
An LDPC encoder in a communication apparatus on a transmission-side (it is called a transmission apparatus) generates a parity check matrix H by a conventional method that will be explained below. Further, the LDPC encoder generates, for example, a generator matrix G with K-rows×N-columns (K: data length, N: code length). Note that when the parity check matrix for LDPC is defined as H (M-rows×N-columns), the generator matrix G will be a matrix that satisfies GHT=0 (T is a transposed matrix).
Thereafter, the LDPC encoder receives a message (m1, m2, . . . , mK) with the data length K to generate a code C as represented by following Equation (1) using these messages and the generator matrix G, where H(c1, c2, . . . , cN)T=0.
A modulator in the transmission apparatus then performs digital modulation to the code C generated by the LDPC encoder according to a predetermined modulation system, such as BPSK (binary phase shift keying), QPSK (quadrature phase shift keying), m-ary QAM (quadrature amplitude modulation), and transmits a modulated signal x=(x1, x2, . . . , xN) to a reception apparatus.
Meanwhile, in a communication apparatus on a reception-side (which is called a reception apparatus), a demodulator performs digital demodulation to a received modulated signal y=(y1, y2, . . . , yN) according to the modulation system such as BPSK, QPSK, m-ary QAM, or the like, and an LDPC decoder in the reception apparatus further performs repetition decoding to demodulated results based on a “sum-product algorithm” to thereby output the decoded results (corresponding to the original messages m1, m2, . . . , mK).
The conventional parity check-matrix generating method for the LDPC codes will now be explained concretely. As the parity check matrix for the LDPC codes, a following parity check matrix of QC codes is proposed, for example, in following Nonpatent Document 1 (see
Generally, a parity check matrix HQC of the (J, L) QC codes with M (=pJ) rows×N (=pL) columns can be defined as following Equation (2). Incidentally, p is an odd prime number (other than 2), L is the number of cyclic permutation matrices in the parity check matrix HQC in a transverse direction (column direction), and J is the number of cyclic permutation matrices in the parity check matrix HQC in a longitudinal direction (row direction).
Example:
Where, in 0≦j≦J−1 and 0≦1≦L−1, I(pj,l) are cyclic permutation matrices in which positions of a row index: r (0≦r≦P−1), and a column index: “(r+pj,l)mod p” are “1s”, and other positions are “0s”.
In addition, when the LDPC codes are designed, performance degradation generally occurs when there are many loops with a short length, and thus it is necessary to increase a girth and to reduce the number of loops with the short length (loop 4, loop 6, or the like).
Incidentally,
Meanwhile, in following Nonpatent Document 1, a range of an girth g in the parity check matrix HQC of (J,L) QC-LDPC codes is given by “4≦g≦12 (where g is an even number)”. However, it is easy to avoid g=4 and, it results in g≧6 in many cases.
Nonpatent Document 1: M. Fossorier, “Quasi-Cyclic Low Density Parity Check Code”, ISIT2003, pp 150, Japan, Jun. 29-Jul. 4, 2003.
According to the conventional technology, however, a plurality of totally different check matrices is required to change encoding rates, so that there are problems that a memory amount is increased and a circuit becomes complicated.
The present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to obtain a check-matrix generating method capable of generating an irregular (weights of a row and a column are nonuniform) parity check matrix for LDPC codes that can deal with a wide range of encoding rates, and also capable of reducing the circuit scale as compared with the conventional technology.
To solve the above problems and to achieve the object, a check-matrix generating method according to the present invention is for generating a parity check matrix for an LDPC (Low-Density Parity Check) code. The check-matrix generating method includes a quasi-cyclic matrix generating step of generating a regular (weights of a row and a column are uniform) quasi-cyclic matrix in which cyclic permutation matrices are arranged in a row direction and a column direction and specific regularity is given to the cyclic permutation matrices; a mask-matrix generating step of generating a mask matrix capable of supporting a plurality of encoding rates, for making the regular quasi-cyclic matrix into irregular (weights of a row and a column are nonuniform); a masking step of converting a specific cyclic permutation matrix in the regular quasi-cyclic matrix into a zero-matrix using a mask matrix corresponding to a specific encoding rate to generate an irregular masking quasi-cyclic matrix; and a check-matrix generating step of generating an irregular parity check matrix with an LDGM (low-density generation matrix) structure in which the masking quasi-cyclic matrix and a matrix in which the cyclic permutation matrices are arranged in a staircase manner are arranged in a predetermined location. The mask-matrix generating step includes a degree distribution calculating step of sequentially calculating a column degree distribution of a first mask matrix corresponding to an encoding rate (first encoding rate) equal to or lower than ½ serving as a reference, a column degree distribution of a second mask corresponding to a second encoding rate that is an encoding rate next lower than the first encoding rate by using the column degree distribution of the first mask matrix as a restriction condition, and, as required, a column degree distribution of a third mask matrix, a column degree distribution of a fourth mask matrix, . . . , each by using a column degree distribution of an immediately preceding mask matrix as a restriction condition, and a weight-position determining step of determining weight positions in columns of each of the mask matrices in order from the first mask matrix having a highest encoding rate based on the column degree distribution of the mask matrix. The check-matrix generating step includes generating a check matrix corresponding to the encoding rate equal to or lower than ½ first.
According to the present invention, there is an effect that it is possible to generate an irregular parity check matrix for the LDPC codes capable of dealing with a wide range of encoding rates.
Hereinafter, embodiments of a check-matrix generating method according to the present invention will be explained in detail based on the drawings. Incidentally, the present invention is not limited by these embodiments.
Here, the procedure of encoding processing and decoding processing in the communication system that employs LDPC codes will be explained briefly.
The LDPC encoder 1 in the transmission apparatus generates a parity check matrix generated by a check-matrix generating method according to the present embodiment, namely, a parity check matrix HM with M-rows×N-columns to which masking processing is performed based on a predetermined masking rule described below.
Thereafter, the LDPC encoder 1 receives a message (u1, u2, . . . , uK) with data length K to generate a code v with a length N using this message and the parity check matrix HM as represented by following Equation (3). It should be noted that in the present embodiment, the encoding processing of data bits is performed without using the generator matrix G (K: data length, N: code length) calculated in the conventional technology.
v={(v1,v2, . . . , vN)εGF(2)|(v1,v2, . . . , vN)HMT=0} (3)
The modulator 2 in the transmission apparatus then digital-modulates the code v generated by the LDPC encoder 1 according to a predetermined modulation system, such as BPSK, QPSK, and m-ary QAM, and transmits the modulated signal x=(x1, x2, . . . , xN) to the reception apparatus via a communication channel 3.
Meanwhile, in the reception apparatus, the demodulator 4 digital-demodulates a modulated signal y=(y1, y2, . . . , yN) received via the communication channel 3 according to a modulation system, such as the BPSK, QPSK, and m-ary QAM, and the LDPC decoder 5 in the reception apparatus further performs repetition decoding with a well-known decoding algorithm to thereby output the decoded result (corresponding to the original message u1, u2, . . . , uK).
Subsequently, the check-matrix generating method according to the present embodiment will be explained in detail. Incidentally, in the present embodiment, it is supposed that an irregular (weight distribution is nonuniform) parity check matrix is generated, and it is premised that an LDGM (low-density generation matrix) structure is employed as the structure. Moreover, check matrix generation processing of each embodiment explained hereinafter may be performed by the LDPC encoder 1 in the communication apparatus, or may be performed in advance outside the communication apparatus. When it is performed outside the communication apparatus, the generated check matrix is stored in an internal memory.
First, a parity check matrix HQCL of QC-LDPC codes with the LDGM structure, which is a premise for the irregular parity check matrix HM after the masking processing and is generated by the check matrix generation processing of the present embodiment, will be defined.
For example, the parity check matrix HQCL (=[hm,n]) of the QC-LDPC codes with the LDGM structure of M (=pJ) rows×N (=pL+pJ) columns can be defined as following Equation (4-1).
Here, hm,n represents an element at a row index m and a column index n in the parity check matrix HQCL. Additionally, in 0≦j≦J−1 and 0≦1≦L−1, I(pj,l) are cyclic permutation matrices in which positions of a row index: r (0≦r≦p−1), and a column index: “(r+pj,l)mod p” are “1s”, and other positions are “0s”. For example, I(1) can be represented as following Equation (4-2).
In the parity check matrix HQCL, a left-hand side matrix (a portion corresponding to data bits) is a quasi-cyclic matrix HQC that is the same as the parity check matrix of QC codes shown by Equation (2), and a right-hand side matrix (a portion corresponding to parity bits) is a matrix HT or HD in which I(0) are arranged in a staircase manner as shown in following Equation (5-1) or Equation (5-2). Meanwhile, I represents a unit matrix and 0 represents a zero matrix in Equation (5-1) and Equation (5-2).
However, the cyclic permutation matrices used in the staircase structure are not necessarily limited to I(0), but may be a combination of arbitrary I(s|sε[0, p−1]).
Note that, the LDGM structure means a structure in which a part of the parity check matrix is formed into a lower triangular matrix as the matrix shown in Equation (4-1). Encoding can be achieved easily by using this structure without using the generator matrix G. For example, when the systematic code v is represented as following Equation (6), and the information message u=(u1, u2, . . . , uK) is given, parity elements pm=(p1, p2, . . . , pM) are generated so that “HQCL·vT=0” may be satisfied, namely as following Equation (7).
where N=K+M.
Further, in the present embodiment, a specific regularity is provided in the parity check matrix HQCL of the QC-LDPC codes with the LDGM structure defined as Equation (4-1). Specifically, in the quasi-cyclic matrix HQC portion on the left-hand side of the parity check matrix HQCL, if p0,1 is set to an arbitrary integer, a specific regularity is provided to pj,l of the cyclic permutation matrices I(pj,l) with p-row×p-column arranged at a row index j (=0, 1, 2, . . . J−1) and a column index l (=0, 1, 2, . . . L−1) so as to satisfy Equation (8-1), Equation (8-2), Equation (8-3), or Equation (8-4) below.
p
j,l
=p
0,1(j+1)mod p (8-1)
p
j,l=((p−p0,1)(j+1))mod p (8-2)
p
j,l=(((pA−p0,1)(j+1))mod pA)mod p
pA=157
0≦j≦J−1
p: prime number (8-3)
p
j,l=((p0,1(j+1))mod pA)mod p
pA=157
0≦j≦J−1
p: prime number (8-4)
The value of pA is desirably determined such that the most satisfactory performance is achieved for data having the maximum length of system requirement. The above “pA=157” is a value obtained on an assumption that the data length p×L (=36) is in the neighborhood of 5000 to 6000.
For example, by using Equation (8-4) with L=36, an example as represented by Equation (9) below is obtained.
{p0,1,p0,2,p0,3,p0,4,p0,5,p0,6,p0,7,p0,8,p0,9,p0,10, p0,11,p0,12,p0,13,p0,14,p0,15,p0,16,p0,17,p0,18,p0,19,p0,20, p0,21,p0,22,p0,23,p0,24,p0,25,p0,26,p0,27,p0,28,p0,29,p0,30, p0,31,p0,32,p0,33,p0,34,p0,35,p0,36}={7,87,36,15,53,11,16,136,59,45,137,31,56, 66,31,37,2,22,131,21,6,92,56,72,53,23,21,36, 73,127,25,15,10,1,107,18} (9)
Next, the mask processing for the parity check matrix HQCL which is specific processing in the check-matrix generating method according to the present embodiment will be explained.
For example, when the left-hand side matrix shown in Equation (4-1) is represented by the quasi-cyclic matrix HQC of J×L as shown in following Equation (10-1), and a mask matrix Z (=[zj,l]) is defined as a matrix with J-rows×L-columns on GF(2), the matrix HMQC after the mask processing can be represented as following Equation (10-2) if a predetermined rule described below is applied.
Here, zj,lI(pj,l) in Equation (10-2) is defined as following Equation (11).
The zero-matrix is a zero-matrix with p-rows×p-columns. Additionally, the matrix HMQC is a matrix in which the quasi-cyclic matrix HQC is masked with 0-elements of the mask matrix Z, and the weight distribution is nonuniform (irregular), while a distribution of the cyclic permutation matrices of the matrix HMQC is the same as a degree distribution of the mask matrix Z.
Note that a weight distribution of the mask matrix Z when the weight distribution is nonuniform shall be determined by a predetermined density evolution method as described later. For example, the mask matrix with 48-rows×36-columns can be represented as following Equations (12-1) to (12-5) based on a column degree distribution by the density evolution method.
Hence, the irregular parity check matrix HM to be finally determined in the present embodiment can be represented as following Equation (13) using, for example, the mask matrix Z with 48-rows×36-columns, the quasi-cyclic matrix HQC with 48 rows (row index j is 0 to 47)×36 columns (column index l is 0 to 31), and HT of 48 rows (row index j is 0 to 47)×48 columns (column index l is 0 to 47).
Namely, the parity check matrix HMQC for generating the LDPC codes C is given by a design of the mask matrix Z and a value of the cyclic permutation matrix at the row index j=0 of the quasi-cyclic matrix HQC.
The masking rule according to the present embodiment will be described concretely. In the present embodiment, a code configuration method for encoding rates equal to or higher than 3/7 will be described as an example. In this example, encoding for encoding rate equal to or higher than 3/7 is performed based on a well-known masking rule which will be described later.
In this example, it is assumed that the mask matrix generation processing is performed in the LDPC encoder 1 in the communication apparatus. An irregular parity check matrix HM(1/2) for codes corresponding to encoding rate ½ is assumed as “HM(1/2)=[ZA×HQCU|HD]”. Note that HQCU represents a quasi-cyclic matrix of 32 (row index j is 0 to 31)×32 (column index l is 0 to 31) of an upper half of the quasi-cyclic matrix HQC. HD is a matrix given by Equation (5-2) above such as a matrix of 32 (row index j is 0 to 31)×32 (column index l is 0 to 31).
First, the LDPC encoder 1 in the communication apparatus determines a size of a mask matrix (Step S1). In this description, it is assumed, as an example, that the mask matrix Z for codes corresponding to encoding rate ⅓ is a matrix of 64 rows×32 columns, and a mask matrix ZA for codes corresponding to encoding rate ½ is a matrix of 32 rows×32 columns.
The LDPC encoder 1 calculates a column degree distribution of a mask matrix ZA with a density evolution method while setting the number of the columns of the mask matrix ZA to a maximum degree and by using a column degree distribution of HD given by Equation (5-2) above as a restriction condition (Step S2).
The LDPC encoder 1 calculates a column degree distribution of the mask matrix Z with a density evolution method while setting the number of the columns of the mask matrix Z to a maximum degree and by using a degree distribution of 64 (row index j is 0 to 63)×64 (column index l is 0 to 63) HT given by Equation (5-1) above and the column degree distribution of the mask matrix ZA obtained above as a restriction condition (Step S2).
Subsequently, the LDPC encoder 1 determines positions of “1s” in a (each of) large-column-degree column(s) in the mask matrix ZA such that a condition for priority level #1 below is satisfied based on the column degree distribution of the mask matrix ZA (Step S3). In this example, positions of “1s” in columns ( 5/64) with column degree 14 are determined. For example, when Z has consecutive “1s”, there can be cyclic permutation matrices between the “1s” and vertically-consecutive I(0)s in HT at four positions. Although these cyclic permutation matrices can form a loop 4, when the condition for priority level #1 below is satisfied, the possibility of occurrence of such a circumstance is eliminated.
In this case, because the large-column-degree column has a high density of “1”, it is not required to satisfy a condition for priority level #2, which will be described later. Consecutive “1s” can be included in a single column to attain the column degree 14 obtained above; however, the number of the consecutive “1s” is desirably as small as possible.
In this example, there is only one large-column-degree column, i.e., 14. However, when there are a plurality of large-column-degree columns, for example, 14, 13, 12, . . . , the columns are arranged in the mask matrix ZA in a descending order of column degree from left (Step S3).
Subsequently, the LDPC encoder 1 determines positions of “1s” in a (each of) small-column-degree column(s) in the mask matrix ZA such that the condition for priority level #1 above and the condition for priority level #2 below are satisfied based on the column degree distribution of the mask matrix ZA (Step S4). In this example, positions of “1s” in columns ( 18/64 and 9/64) with column degrees 4 and 3 are determined. For example, if “1s” in a mask matrix are arranged to form a specific loop in a condition in which “1s” in the mask matrix are regularly arranged while cyclic permutation matrices are combined based on a regular rule, there can be a large number of identical loops in a multiplexed manner due to the regularity. However, the possibility of occurrence of such a circumstance can be decreased when the condition for priority level #2 below is satisfied.
Columns of the mask matrix ZA are arranged in a descending order of column degrees from left to follow the large-column-degree column(s) (Step S4).
For example, the mask matrix ZA generated through Steps S3 and S4 is shown as Equation (14) below.
When the mask matrix ZA is to be generated based on a column degree distribution obtained with a density evolution method, if the mask matrix ZA includes a small loop (e.g., loop 4 or 6) at a small-column-degree column (with, e.g., column degree 3 or 4), an error probability increases. This can result in failure in exhibiting excellent performance. In such a case, the LDPC encoder 1 increases weights of small-column-degree columns to avoid performance degradation. In the mask matrix ZA above, weights of three columns among columns ( 9/64) with column degree 3 in the column degree distribution shown in
Subsequently, the LDPC encoder 1 determines positions of “1s” in a (each of) large-column-degree column(s) in the mask matrix Z such that the condition for priority level #1 above is satisfied based on the column degree distribution of the mask matrix Z (Step S5). In this example, positions of “1s” in column ( 5/96) with column degree 28 are determined. Note that because the large-column-degree column has a high density of “1”, it is not required to satisfy the condition for priority level #2. Consecutive “1s” can be included in a single column to attain the column degree 28 obtained above; however, the number of the consecutive “1s” is desirably as small as possible.
In this example, there is only one large-column-degree column, i.e., 28; however, when there are a plurality of large-column-degree columns, columns of the mask matrix Z are to be arranged in a descending order of column degree from left (Step S5).
Subsequently, the LDPC encoder 1 determines positions of “1s” in a (each of) small-column-degree column(s) in the mask matrix Z such that the condition for priority level #1 above and the condition for priority level #2 above are satisfied based on the column degree distribution of the mask matrix Z (Step S6). In this example, positions of “1s” in columns with column degrees 8 and 4 and some of columns with column degree 3 ( 10/96, 8/96, and 9/96) are determined.
Columns of the mask matrix Z are arranged in a descending order of column degrees from left to follow the large-column-degree column(s) (Step S6).
When the mask matrix Z is to be configured based on a column degree distribution obtained with a density evolution method, if the mask matrix Z includes a small loop (e.g., loop 4 or 6) at a small-column-degree column (with, e.g., column degree 3, 4, or 8), an error probability increases. This can result in failure in exhibiting excellent performance. In such a case, the LDPC encoder 1 increases weights of small-column-degree columns to avoid performance degradation.
When LDPC codes are used in an application such as m-ary modulation that has a non-uniform error probability, performance will be improved by assigning bits having small error probability to bits corresponding to a large-column-degree column and bits having large error probability to bits corresponding to a small-column-degree column. In such a case, arranging the columns in the descending order of column degrees from left as described above with reference to Steps S3 to S6 facilitates ordering of bits.
Next, a method of enabling encoding with encoding rate equal to or higher than 3/7 based on the processing for generating codes of encoding rate ⅓ will be described. A portion of the mask-matrix generation processing according to the present embodiment that differs from the processing for generating codes of encoding rate ⅓ will be described. In the present embodiment, as will be described later, it is assumed that a check matrix corresponding to encoding rate ¾ will be generated first; however, the check matrix generated first is not limited thereto. Any check matrix corresponding to encoding rate equal to or lower than ½ can be generated first.
For example, assume that an irregular parity check matrix for codes of encoding rate ¾ is assumed as “HM(3/4)=[ZA×HQC(3/4)|HT(3/4)]”. ZA (=ZA(3/4)) is a mask matrix of 12 rows×36 columns. HQC(3/4) is a quasi-cyclic matrix of 12 rows (row number j is 0 to 11)×36 columns (column number 1 is 0 to 35), which a top quarter of the quasi-cyclic matrix HQC (see Equation (4-1)). HT(3/4) is HD having been described above (see Equation (5-2)). For encoding rate ⅗, 3/6=½, and 3/7, irregular parity check matrices are denoted as HM(3/5), HM(1/2), and HM(3/7) (=HM), respectively; mask matrices are denoted as ZA(3/5), ZA(1/2), and ZA(3/7) (=Z) respectively; quasi-cyclic matrices are denoted as HQC(3/5), HQC(1/2), and HQC(3/7) (=HQC), respectively; and matrices in which I(0)s are arranged in a staircase manner are denoted as HT(3/5), HT(1/2), and HT(3/7) (=HT), respectively.
For example, as processing to be performed at Step S2 of
Subsequently, as processing to be performed at Steps S3 to S6 of
Next, the case in which the LDPC codes corresponding to the encoding rates are configured using the irregular parity check matrix HM will be explained below.
The lower limit of the encoding rate of the code generated by, for example, the code configuration method and defined by M and N is set to any value from ½ to ⅓. To attain encoding rate equal to or lower than the lower limit, it is desirable to perform repeated transmission, which will be described later, for excellent performance.
A configuration method of the LDPC codes corresponding to the encoding rates will be specifically explained here. For example, it is supposed that the lowest encoding rate prepared by the system is R0=½ or less.
For example, when the codes corresponding to the encoding rate R0= 3/7 are stored in the memory to form codes of an encoding rate R1, and if the encoding rate R1 is less than ¾, namely, if the encoding rate R1 is any value between ¾ to 3/7, the parity bits are punctured from the end of the code in order.
Meanwhile, for example, if an encoding rate of 3/7 or less is required, code bits B (length b: information for bits corresponding to each column is the same as A) selected in order of decreasing the column weight are added to a code (A+parity bits in
It is also allowed to repeatedly transmit code bits of “A+parity bits+B” again when a part of identical codes is transmitted twice in a repeated manner as with b=(⅔)*K (B portions in
The code encoded by the method is then received by the reception apparatus through the communication channel, and if parts of or all of the code overlap when the decoder corrects an error, received values of the overlapped bits are added by the number of the overlapped portions and are averaged, to then transfer the result to the decoder. Moreover, it is known that the decoding performance becomes better when the code bits correspond to a column with a high weight. Thus, in the present embodiment, the variance of noise component can be reduced by the processing, and the reliability thereby increases (the error rate of the corresponding bits decreases), and thus improving the decoding performance.
Incidentally, it is described in the present embodiment that p of the cyclic permutation matrices is an odd prime number (other than 2), however, p is not limited thereto, and thus any odd number may be selected. In this case, although the performance may be degraded upon puncture of the high encoding rate, the degradation is only a slight amount. Meanwhile, if a prime number is used, it is necessary to obtain a table of prime numbers and previously store them therein to avoid an increase in the amount of calculations, however, if an odd number is used, the value does not need to be stored.
As described above, according to the present embodiment, in contrast to the conventional technology, it is not required to store a plurality of totally different check matrices for different encoding rates is not required. Accordingly, because a memory that is smaller in memory amount than the conventional memory can be used, circuit can be simplified.
In the present embodiment, a check matrix is extended on a base of, for example, a check matrix corresponding to encoding rate ¾, which is a check matrix smaller than a check matrix corresponding to encoding rate ½, while decoding for encoding rate equal to or lower than ¾ is performed according to the check matrix corresponding to encoding rate ¾. Accordingly, an amount of calculations required for decoding can be reduced as compared with a case in which decoding is performed on a base of the check matrix corresponding to encoding rate ½. Even an encoding rate, such as encoding rate equal to or lower than 3/7, can be attained by increasing the number of repeated transmissions of a code of a heavy column degree portion. Hence, according to the present embodiment, a wider ratio of encoding rate can be attained while preventing performance degradation.
In the first embodiment, the example in which the cyclic permutation matrix I(pj,l) is configured in accordance with a certain rule has been described. In contrast, in the present embodiment, encoding rate 3/7 is attained by using, for example, a generally-available matrix for encoding rate ¾ as shown in
More specifically, when HCH is assumed as an M×N matrix for encoding rate ¾ formed of the matrix shown in
It is noted that the matrix A may be configured with matrices based on an arbitrary combination of the cyclic permutation matrices as shown in the present embodiment, or may be configured based on the regular rule as shown in the first embodiment. The processing of forming the LDPC codes corresponding to the encoding rates is not limited to the parity check matrix as shown in
For example, when HCH is assumed as an M×(N−M) matrix configured based on an arbitrary combination of cyclic permutation matrices, a 4M×( 7/3)N matrix HCH′ is configured as shown in
Note that the code configuration method and the encoding method according to the first embodiment and the second embodiment are applicable to encoding of erasure correction codes.
As described above, the check-matrix generating method and encoding method according to the present invention are useful as the encoding technology in digital communications, and are particularly suitable for the communication apparatuses that employ the LDPC codes as the encoding system.
Number | Date | Country | Kind |
---|---|---|---|
2006-213722 | Aug 2006 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2007/065195 | 8/2/2007 | WO | 00 | 5/21/2009 |