WO2013014924A1 - 符号化方法、復号方法 - Google Patents
符号化方法、復号方法 Download PDFInfo
- Publication number
- WO2013014924A1 WO2013014924A1 PCT/JP2012/004718 JP2012004718W WO2013014924A1 WO 2013014924 A1 WO2013014924 A1 WO 2013014924A1 JP 2012004718 W JP2012004718 W JP 2012004718W WO 2013014924 A1 WO2013014924 A1 WO 2013014924A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- parity check
- ldpc
- equation
- time
- parity
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
- H03M13/036—Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1154—Low-density parity-check convolutional codes [LDPC-CC]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
Definitions
- the present application relates to Japanese Patent Application No. 2011-164263 (filed on July 27, 2011), Japanese Patent Application No. 2011-250403 (filed on November 16, 2011), and Japanese Patent Application No. 2012-009456 (January 2012) filed in Japan. Based on the 19th). For this reason, the contents of these applications are incorporated.
- the present invention relates to an encoding method, a decoding method, an encoder, and a decoder using low density parity check-convolutional codes (LDPC-CC) that can cope with a plurality of coding rates.
- LDPC-CC low density parity check-convolutional codes
- LDPC low-density parity check
- An LDPC code is an error correction code defined by a low density parity check matrix H.
- the LDPC code is a block code having a block length equal to the number N of columns of the parity check matrix H (see Non-Patent Document 1, Non-Patent Document 2, and Non-Patent Document 3).
- random LDPC codes and QC-LDPC codes (QC: Quasi-Cyclic) have been proposed.
- LDPC-BC Low-Density Parity-Check LDPC-CC (Low-Density), which can encode and decode an information sequence of any length, for Block Code Examination of Parity-Check Convolutional Codes) has been conducted (see, for example, Non-Patent Document 8 and Non-Patent Document 9).
- the element h 1 (m) (t) of H T [0, n] takes 0 or 1. Also, all elements except h 1 (m) (t) are zero.
- M represents a memory length in LDPC-CC
- n represents a codeword length of LDPC-CC.
- 1 is placed only in the diagonal terms of the matrix and elements in the vicinity thereof, and the elements in the lower left and upper right of the matrix are zero, and parallelograms It is characterized by being a matrix of type.
- the LDPC-CC encoder defined by the parity check matrix H T [0, n] T is It is represented in FIG. As shown in FIG. 2, the LDPC-CC encoder is composed of 2 * (M + 1) shift registers of bit length c and mod 2 adders (exclusive OR operation). For this reason, the LDPC-CC encoder is a circuit that is much simpler than a circuit that performs generator matrix multiplication or an LDPC-BC encoder that performs operations based on backward (forward) substitution. It has the feature that it can be realized. Further, since FIG. 2 is an encoder of a convolutional code, it is not necessary to divide the information sequence into fixed length blocks and encode it, and an information sequence of an arbitrary length can be encoded.
- Patent Document 1 describes a method of generating an LDPC-CC based on a parity check polynomial.
- Patent Document 1 describes a method of generating an LDPC-CC using a parity check polynomial having a time variation period 2, a time variation period 3, a time variation period 4 and a time variation period of a multiple of three.
- Burshtein "Bounds on the likelihood of decoding error probability of density-parity check codes," IEEE Trans. Inf. Theory, vol. 47, no. 7, pp. 2696-2710, Nov. 2001.
- R. G. Gallager “A simple derivation of the coding theorem and some applications,” IEEE Trans. Inf. Theory, vol. IT-11, no. 1, pp. 3-18, Jan. 1965.
- A. J. Viterbi “Errorbounds for convolutional codes and an asymptotically optimum decoding algorithm,” IEEE Trans. Inf. Theory, vol. IT-13, no. 2, pp. 260-269, April 1967.
- Fossorier "Density evolution for two improved BP-based decoding algorithm of LDPC codes," IEEE Commun. Lett., Vol. 6, no. 5, pp. 208-210, May 2002. Y. Murakami, S. Okamura, S. Okasaka, T. Kishigami, and M. Orihashi, “LDPC convolutional codes based on parity check with polynomial times with a timeperiod of 3,” IEICE Trans. Fundamentals, vol. E-92, no. 10, pp.-, Oct. 2009. C. Berrou, A. Glambidar, and P. Thitimajshima, "Near Shannon limit error-correcting coding and decoding: Turbo-codes," Proc.
- Fossorier “Serial concatenation of linearblock codes and rate-1 convolutional code,” Proc. Of 4th International Symposium on Turbo Codes, no. 109, April 2006. M. Isaka, P. A. Martin, and M. P. C. Fossorier, “Design of high-rate serialized codes with low error floor,” IEICE Trans. Fundamentals, vol. E90-A, no. 9, pp. 1754- 1762, Sept. 2007. T. J. Richardson, M. A. Shokrollahi, and R. L. Urbanke, “Design of capacity-approaching irregular low-density codes,” IEEE Trans. Inform. Theory, vol. 47, pp. 619-637, Feb 2001. J. Zhang, and M. P.
- An object of the present invention is to provide a time-variant LDPC-CC coding method, decoding method, coder and decoder with high error correction capability.
- One aspect of the coding method of the present invention is a low density parity check convolutional code with a time varying period q using a parity check polynomial of coding rate (n-1) / n (n is an integer of 2 or more) LDPC-CC:
- An encoding method for performing low-density parity-check convolutional codes) wherein the time-varying period q is a prime number greater than 3, and an information sequence is used as an input, which is expressed by equation (145)
- One aspect of the encoder of the present invention is a low density parity check convolutional code with a time varying period q using a parity check polynomial of a coding rate (n-1) / n (n is an integer of 2 or more) LDPC-CC:
- One aspect of the decoding method of the present invention uses a parity check polynomial of a coding rate (n-1) / n (n is an integer of 2 or more) to reduce the density of a time varying period q (prime number larger than 3)
- a parity check polynomial of a coding rate (n-1) / n (n is an integer of 2 or more) to reduce the density of a time varying period q (prime number larger than 3)
- LDPC-CC low-density parity-check convolutional codes
- g-th (g 0, 1,..., Q-1) of equation (140)
- the coded information sequence is decoded using belief propagation (BP).
- BP belief propagation
- One aspect of the decoder according to the present invention is to use a parity check polynomial of coding rate (n-1) / n (n is an integer greater than or equal to 2) to reduce the density of time varying period q (prime number greater than 3)
- a parity check polynomial of coding rate (n-1) / n (n is an integer greater than or equal to 2) to reduce the density of time varying period q (prime number greater than 3)
- LDPC-CC low-density parity-check convolutional codes
- g-th (g 0, 1,..., Q-1) of equation (140)
- Diagram showing LDPC-CC parity check matrix Diagram showing the configuration of the LDPC-CC encoder The figure which shows an example of the structure of the check matrix of the LDPC-CC of time varying period m Diagram showing the configuration of parity check polynomial and parity check matrix H of an LDPC-CC with time varying period 3
- FIG. 14 is a block diagram showing an example of a main configuration of a decoder according to a thirteenth embodiment Diagram for explaining the operation of the log likelihood ratio setting unit in the case of coding rate 1/2 Diagram for explaining the operation of the log likelihood ratio setting unit in the case of the coding rate 2/3
- Diagram showing an example of transmission format The figure which shows an example of a structure of the communication apparatus which mounts the decoder based on Embodiment 13.
- the diagram showing the parity check matrix H in the fifteenth embodiment Diagram for explaining the configuration of parity check matrix Diagram for explaining the configuration of parity check matrix Communication system schematic Diagram showing an example of the configuration of a system including an apparatus for executing a transmission method and a reception method
- a diagram showing an example of the configuration of a receiver implementing a reception method Diagram showing an example of the configuration of multiplexed data Diagram schematically showing an example of how multiplexed data is multiplexed Diagram showing an example of video stream storage Diagram showing the format of a TS packet that is ultimately written to multiplexed data Diagram to explain PMT data structure in detail Diagram showing the configuration of multiplexed data file information Diagram showing the configuration of stream attribute information
- a diagram showing an example of the configuration of a video and audio output device The figure which shows an example of the broadcast system which used the method of switching precoding matrix regularly.
- Equations (1-1) to (1-4) will be considered as parity check polynomials of LDPC-CC with a time-variant period of 4.
- X (D) is a polynomial expression of data (information)
- P (D) is a polynomial expression of parity.
- the parity check polynomial is such that there are four terms in each of X (D) and P (D). It is preferable to use four terms to obtain.
- a1, a2, a3 and a4 are integers (however, a1 ⁇ a2 ⁇ a3 ⁇ a4 and all of a1 to a4 are different). Note that, hereinafter, when “X ⁇ Y ⁇ ... ⁇ Z ”is described, X, Y,..., Z are all different from each other. Further, b1, b2, b3 and b4 are integers (where b1 ⁇ b2 ⁇ b3 ⁇ b4).
- parity check polynomial of equation (1-1) is referred to as “check equation # 1”, and the sub-matrix based on the parity check polynomial of equation (1-1) is referred to as a first sub-matrix H 1 .
- A1, A2, A3 and A4 are integers (however, A1 ⁇ A2 ⁇ A3 ⁇ A4).
- B1, B2, B3 and B4 are integers (where B1 ⁇ B2 ⁇ B3 ⁇ B4).
- ⁇ 1, ⁇ 2, ⁇ 3 and ⁇ 4 are integers (however, ⁇ 1 ⁇ ⁇ 2 ⁇ ⁇ 3 ⁇ ⁇ 4).
- ⁇ 1, ⁇ 2, ⁇ 3 and ⁇ 4 are integers (where ⁇ 1 ⁇ ⁇ 2 ⁇ ⁇ 3 ⁇ ⁇ 4).
- the parity check polynomial of equation (1-3) is referred to as “check equation # 3”, and the submatrix based on the parity check polynomial of equation (1-3) is referred to as a third submatrix H 3 .
- E1, E2, E3, and E4 are integers (where E1 ⁇ E2 ⁇ E3 ⁇ E4). Further, F1, F2, F3 and F4 are integers (where F1 ⁇ F2FF3 ⁇ F4).
- the parity check polynomial of equation (1-4) is called “check equation # 4”, and the sub-matrix based on the parity check polynomial of equation (1-4) is called fourth sub-matrix H 4 .
- each order The remainder k obtained by dividing (a1, a2, a3, a4) by 4 is (0, 3, 2, 1), and one remainder (k) 0, 1, 2, 3 is included in the four coefficient sets. Will be included.
- the remainder k obtained by dividing the order (b1, b2, b3, b4) by 4 is (0, 3, 2, 1), and 0, 1, 2, 3 is given as the remainder (k) to the four coefficient sets. It will be included one by one.
- the above “remainder” also applies to the four coefficient sets of X (D) and P (D) of the other inspection formulas (“inspection formula # 2”, “inspection formula # 3”, “inspection formula # 4”) It is assumed that the condition is satisfied.
- the regular LDPC code is an LDPC code defined by a parity check matrix in which each column weight is fixed, and is characterized in that the characteristics are stable and an error floor is unlikely to occur.
- the column weight is 4, since the characteristics are good, by generating LDPC-CC as described above, it is possible to obtain LDPC-CC with good reception performance.
- Table 1 is an example (LDPC-CC # 1 to # 3) of an LDPC-CC with a time-variant period of 4 and a coding rate of 1/2 in which the condition regarding the above "remainder" holds.
- LDPC-CC with time-variant period 4 is defined by four parity check polynomials of “check polynomial # 1”, “check polynomial # 2”, “check polynomial # 3”, and “check polynomial # 4”. Ru.
- the coding rate 1/2 has been described as an example, but even when the coding rate is (n-1) / n, the information X 1 (D), X 2 (D),. , X n ⁇ 1 (D), if the above condition regarding “remainder” is satisfied, it becomes a regular LDPC code, and good reception quality can be obtained.
- the time change period 2 it was confirmed that the code
- LDPC-CC with a time-variant period of 2 with good characteristics will be described.
- the case of the coding rate 1/2 will be described as an example.
- Equations (2-1) and (2-2) will be considered as parity check polynomials of an LDPC-CC having a time varying period of 2.
- X (D) is a polynomial expression of data (information)
- P (D) is a polynomial expression of parity.
- the parity check polynomial is such that there are four terms in each of X (D) and P (D), but this means that good reception quality is obtained. It is preferable to use four terms to obtain.
- a1, a2, a3 and a4 are integers (however, a1 ⁇ a2 ⁇ a3 ⁇ a4). Further, b1, b2, b3 and b4 are integers (where b1 ⁇ b2 ⁇ b3 ⁇ b4).
- the parity check polynomial of equation (2-1) is referred to as “check equation # 1”, and the submatrix based on the parity check polynomial of equation (2-1) is referred to as a first submatrix H 1 .
- A1, A2, A3 and A4 are integers (where A1 ⁇ A2 ⁇ A3 ⁇ A4).
- B1, B2, B3 and B4 are integers (where B1 ⁇ B2 ⁇ B3 ⁇ B4). Referred to parity check polynomial of equation (2-2) and "check equation # 2", the sub-matrix based on a parity check polynomial of equation (2-2), the second sub-matrix H 2.
- each order The remainder k obtained by dividing (a1, a2, a3, a4) by 4 is (0, 3, 2, 1), and one remainder (k) 0, 1, 2, 3 is included in the four coefficient sets. Will be included.
- the remainder k obtained by dividing the order (b1, b2, b3, b4) by 4 is (0, 3, 2, 1), and 0, 1, 2, 3 is given as the remainder (k) to the four coefficient sets. It will be included one by one.
- the condition regarding the above "remainder” is assumed to hold also for each of the four coefficient sets of X (D) and P (D) in "Inspection Formula # 2".
- the regular LDPC code is an LDPC code defined by a parity check matrix in which each column weight is fixed, and is characterized in that the characteristics are stable and an error floor is unlikely to occur.
- the row weight is 8 since the characteristics are good, by generating the LDPC-CC as described above, it is possible to obtain an LDPC-CC that can further improve the reception performance. Become.
- Table 2 shows an example (LDPC-CC # 1, # 2) of a time-varying cycle 2 and a coding rate 1/2, LDPC-CC in which the condition regarding the above "remainder" holds.
- LDPC-CC with time varying period 2 is defined by two parity check polynomials of “check polynomial # 1” and “check polynomial # 2”.
- Equations (3-1) to (3-3) will be considered as parity check polynomials of an LDPC-CC having a time varying period of 3.
- X (D) is a polynomial expression of data (information)
- P (D) is a polynomial expression of parity.
- Equations (3-1) to (3-3) parity check polynomials are assumed such that three terms exist in each of X (D) and P (D).
- a1, a2, and a3 are integers (however, a1 ⁇ a2 ⁇ a3). Further, b1, b2 and b3 are integers (where b1 ⁇ b2 ⁇ b3).
- the parity check polynomial of equation (3-1) is called “check equation # 1”, and the sub-matrix based on the parity check polynomial of equation (3-1) is called first sub-matrix H 1 .
- A1, A2 and A3 are integers (where A1 ⁇ A2 ⁇ A3).
- B1, B2 and B3 are integers (where B1 ⁇ B2 ⁇ B3). Referred to parity check polynomial of equation (3-2) and "check equation # 2", the sub-matrix based on a parity check polynomial of equation (3-2), the second sub-matrix H 2.
- ⁇ 1, ⁇ 2 and ⁇ 3 are integers (however, ⁇ 1 ⁇ ⁇ 2 ⁇ ⁇ 3). Further, ⁇ 1, ⁇ 2 and ⁇ 3 are integers (here, ⁇ 1 ⁇ ⁇ 2 ⁇ ⁇ 3).
- the parity check polynomial of equation (3-3) is referred to as “check equation # 3”, and the sub matrix based on the parity check polynomial of equation (3-3) is referred to as a third sub matrix H 3 . Then, consider an LDPC-CC of time varying period 3 generated from the first submatrix H 1 , the second submatrix H 2 , and the third submatrix H 3 .
- each order (b1, b2, The remainder k obtained by dividing b3) by 4 is (0, 2, 1), and one of 0, 1 and 2 is included as a remainder (k) in the three coefficient sets. It is assumed that the condition regarding the above "remainder” is satisfied also for three coefficient sets of X (D) and P (D) of "Inspection Formula # 2" and "Inspection Formula # 3".
- FIG. 4A shows the configuration of the parity check polynomial and parity check matrix H of an LDPC-CC with a time varying period of 3.
- Z% 3 represents the remainder obtained by dividing Z by 3.
- the example of the LDPC-CC with the time varying period 3 shown in FIG. 4A is the condition regarding the “remainder” described above, that is, (A1% 3, a2% 3, a3% 3), (B1% 3, b2% 3, b3% 3), (A1% 3, A2% 3, A3% 3), (B1% 3, B2% 3, B3% 3), ( ⁇ 1% 3, ⁇ 2% 3, ⁇ 3% 3), ( ⁇ 1% 3, ⁇ 2% 3, ⁇ 3% 3), (0, 1, 2), (0, 2, 1), (1, 0, 2), (1, 2, 0), (2, 0, 1), (2, 1, 0) It meets the condition of becoming
- “1” of the area 6201 where the remainder is 0 in the coefficient of “check equation # 1” is In the column operation of column 6506 in BP decoding, “1” in the region 6504 in which the remainder is 1 in the coefficient of “check equation # 2” and the region 6505 in which the remainder is 2 in the coefficient of “check equation # 3” From “1”, the degree of confidence is propagated. Similarly, “1” in the region 6202 where the remainder is 1 in the coefficient of “check equation # 1” is the region where the remainder is 2 in the coefficient of “check equation # 2” in the column operation of column 6509 in BP decoding. The reliability is propagated from “1” of 6507 and “1” of the area 6508 where the remainder is 0 in the coefficient of “check formula # 3”.
- FIG. 4B shows the relationship between the degree of confidence propagation among the terms related to X (D) of “Inspection Formula # 1” to “Inspection Formula # 3” in FIG. 4A. In “Inspection Formula # 1” to “Inspection Formula # 3” in FIG.
- the squared terms (a 3, A 3, ⁇ 3) indicate coefficients whose remainder divided by 3 is zero. Further, the encircled terms (a2, A2, ⁇ 1) indicate coefficients whose remainder after division by 3 is 1. Further, the terms (a1, A1, ⁇ 2) surrounded by rhombuses indicate coefficients whose remainder after division by 3 is 2. As can be seen from FIG. 4B, the reliability of a1 of “check equation # 1” is propagated from A3 of “check equation # 2” different in remainder after division by 3 and ⁇ 1 of “check equation # 3”.
- the reliability of a2 of “Examination Formula # 1” is propagated from A1 of “Examination Expression # 2” and the ⁇ 3 of “Examination Formula # 3” that are different by dividing by 3.
- the reliability of a3 of "Examination formula # 1” is propagated from A2 of "Examination expression # 2” and a2 of "Examination formula # 3” that are different by dividing by 3, and the remainder is different.
- FIG. 4B shows the relationship between the reliability propagation of each term related to X (D) of “Inspection Formula # 1” to “Inspection Formula # 3”, the same applies to each term related to P (D). It can be said.
- the reliability is propagated to “inspection formula # 1” from the coefficients of which the remainder divided by 3 is 0, 1 or 2 among the coefficients of “inspection formula # 2”. That is, in the “check equation # 1”, the reliability is propagated from the coefficients of which the remainder divided by 3 among the coefficients of the “check equation # 2” are all different. Therefore, all the confidences with low correlation will be propagated to “check equation # 1”.
- the reliability of “Inspection Formula # 2” is propagated from the coefficients whose remainder divided by 3 is 0, 1 or 2 among the coefficients of “Inspection Formula # 1”. That is, in the “check equation # 2”, the reliability is propagated from the coefficients of which the remainder divided by 3 among the coefficients of the “check equation # 1” are all different. Further, in “Inspection Formula # 2”, the reliability is propagated from the coefficients whose remainder divided by 3 is 0, 1 or 2 among the coefficients of “Inspection Formula # 3”. That is, in the “check equation # 2”, the reliability is propagated from the coefficients of which the remainder divided by 3 among the coefficients of the “check equation # 3” are all different.
- the reliability of "Inspection Formula # 3" is propagated from the coefficients whose remainder divided by 3 among the coefficients of "Inspection Formula # 1" is 0, 1 and 2. That is, in the “check equation # 3”, the reliability is propagated from coefficients among all the coefficients divided by 3 among the coefficients of “check equation # 1” that are different. Further, in “Inspection Formula # 3”, the reliability is propagated from the coefficients whose remainder divided by 3 is 0, 1 or 2 among the coefficients of “Inspection Formula # 2”. That is, in the “check equation # 3”, the reliability is propagated from the coefficients of which the remainder divided by 3 among the coefficients of the “check equation # 2” are all different.
- Equations (4-1) to (4-3) will be considered as parity check polynomials of LDPC-CC with a time-variant period of 3.
- X 1 (D), X 2 (D), ⁇ , X n-1 (D) is data (information)
- X 1, X 2, ⁇ be a polynomial representation of X n-1
- P (D) are polynomial representations of parity.
- three terms for X 1 (D), X 2 (D),..., X n-1 (D) and P (D) respectively Let the parity check polynomial be such that
- the parity check polynomial of equation (4-1) is referred to as “check equation # 1”, and the submatrix based on the parity check polynomial of equation (4-1) is referred to as a first submatrix H 1 .
- B1, B2 and B3 are integers (where B1 ⁇ B2 ⁇ B3).
- the parity check polynomial of equation (4-3) is referred to as “check equation # 3”, and the sub matrix based on the parity check polynomial of equation (4-3) is referred to as a third sub matrix H 3 .
- Table 3 shows an example of an LDPC-CC with a time-variant period of 3 and a coding rate of 1/2 where the condition regarding the above "remainder” holds (LDPC-CC # 1, # 2, # 3, # 4, # 4, # 5 , # 6).
- LDPC-CC with time-varying cycle 3 is determined by three parity check polynomials of “test (polynomial) equation # 1”, “test (polynomial) equation # 2”, and “test (polynomial) equation # 3”. It is defined.
- Table 4 shows examples of LDPC-CC with time-variant period 3, coding rate 1/2, 2/3, 3/4, 5/6, and Table 5 shows time-variant period 3 with coding rate An example of 1/2, 2/3, 3/4, 4/5 LDPC-CC is shown.
- time-varying cycle 3 the following conditions for "remainder” apply to LDPC-CC with time-varying cycle multiples of 3 (for example, time-varying cycles 6, 9, 12, 7) Then, it was confirmed that a code with good characteristics can be searched.
- LDPC-CC at multiples of the time-variant period 3 with good characteristics will be described.
- the case of LDPC-CC with a coding rate of 1/2 and a time-variant period of 6 will be described as an example.
- Equations (5-1) to (5-6) are considered as parity check polynomials of an LDPC-CC having a time-variant period of six.
- X (D) is a polynomial expression of data (information)
- P (D) is a polynomial expression of parity.
- i% 6 k
- parity check polynomials are assumed such that three terms exist in each of X (D) and P (D).
- a1,1, a1,2, a1,3 are integers (where, a1,1 ⁇ a1,2 ⁇ a1,3).
- b1,1, b1,2, b1,3 are integers (where b1,1 ⁇ b1,2 ⁇ b1,3).
- the parity check polynomial of equation (5-1) is referred to as “check equation # 1”, and the sub-matrix based on the parity check polynomial of equation (5-1) is referred to as a first sub-matrix H 1 .
- a2,1, a2,2, a2,3 are integers (however, a2,1 ⁇ a2,2 ⁇ a2,3).
- b2,1, b2,2, b2,3 are integers (where b2,1 ⁇ b2,2 ⁇ b2,3).
- a3, 1, a3, 2, a3, 3 are integers (however, a3, 1 ⁇ a3, 2 ⁇ a3, 3).
- b3,1, b3,2, b3,3 are integers (where b3,1 ⁇ b3,2 ⁇ b3,3).
- a4,1, a4,2, a4,3 are integers (however, a4,1 ⁇ a4,2 ⁇ a4,3).
- b4,1, b4,2, b4,3 are integers (where b4,1 ⁇ b4,2 ⁇ b4,3).
- the parity check polynomial of equation (5-4) is called “check equation # 4”
- the sub-matrix based on the parity check polynomial of equation (5-4) is called fourth sub-matrix H 4 .
- a5, 1, a5, 2, a5, 3 are integers (however, a5, 1 ⁇ a5, 2 ⁇ a5, 3).
- b5, 1, b5, 2, b5, 3 are integers (where b5, 1 ⁇ b5, 2 ⁇ b5, 3).
- parity check polynomial of equation (5-5) and "check equation # 5" a sub-matrix based on a parity check polynomial of equation (5-5), the fifth sub-matrix H 5.
- a6, 1, a6, 2, a6, 3 are integers (where a6, 1 ⁇ a6, 2 ⁇ a6, 3).
- b6, 1, b6, 2, b6, 3 are integers (where b6, 1 ⁇ b6, 2 ⁇ b6, 3).
- the parity check polynomial of equation (5-6) is referred to as “check equation # 6”, and the sub-matrix based on the parity check polynomial of equation (5-6) is referred to as a sixth sub-matrix H 6 .
- the Tanner graph is drawn for “Inspection Formula # 3”, if there is an edge, the reliability in “Inspection Formula # 1 or Inspection Formula # 4”, “Inspection Formula # 2, Or, the degree of reliability in the inspection formula # 5 is properly transmitted.
- the Tanner graph is drawn for “Inspection Formula # 4”, if an edge is present, the reliability in “Inspection Formula # 2 or Inspection Formula # 5”, “Inspection Formula # 3 or The reliability in the inspection formula # 6 is properly transmitted.
- the Tanner graph when the Tanner graph is drawn, if there is an edge, the reliability in “Inspection Formula # 1 or Inspection Formula # 4” is accurately compared with “Inspection Formula # 5”, “Inspection Formula # 3, Or, the degree of reliability in the inspection formula # 6 is properly transmitted. In addition, when the Tanner graph is drawn for “Inspection Formula # 6”, if there is an edge, the reliability in “Inspection Formula # 1 or Inspection Formula # 4”, “Inspection Formula # 2, Or, the degree of reliability in the inspection formula # 5 is properly transmitted.
- FIG. 4C shows the relationship between the degree of confidence propagation among the terms related to X (D) of “Inspection Formula # 1” to “Inspection Formula # 6”.
- FIG. 4C shows the relationship between the reliability propagation of each term related to X (D) of “Inspection Formula # 1” to “Inspection Formula # 6”, but the same applies to each term related to P (D). It can be said.
- the reliability is propagated to each node in the Tanner graph of “check equation # 1” from the coefficient nodes other than “check equation # 1”. Therefore, all the confidences with low correlation are propagated to “check equation # 1”, and it is considered that the error correction capability is improved.
- FIG. 4C attention is paid to “inspection formula # 1”, but a Tanner graph can be similarly drawn for “inspection formula # 2” to “inspection formula # 6”, and “Tanagraph of inspection formula #K” is drawn.
- the reliability is propagated to each node from coefficient nodes other than “check equation #K”. Therefore, all the confidences with low correlation are propagated to “check formula #K”, and it is considered that the error correction capability is improved.
- coding rate 1/2 has been described as an example for LDPC-CC with time-variant cycle 6 above, the coding rate is not limited to 1/2.
- coding rate (n-1) / n (n is an integer of 2 or more)
- information X 1 (D), X 2 (D), ..., X n-1 (D) respectively If the above “remainder” condition is satisfied in the three coefficient sets of, it is again likely that good reception quality can be obtained.
- Equations (7-1) to (7-6) are considered as parity check polynomials of an LDPC-CC having a time varying period of six.
- X 1 (D), X 2 (D), ⁇ , X n-1 (D) is data (information)
- X 1, X 2, ⁇ be a polynomial representation of X n-1
- P (D) are polynomial representations of parity.
- equations (7-1) to (7-6) three terms for X 1 (D), X 2 (D),..., X n-1 (D) and P (D) respectively.
- the parity check polynomial be such that In the case of the above coding rate 1/2, and in the same way as in the case of the time varying cycle 3, the time varying cycle 6 represented by the parity check polynomial of the equations (7-1) to (7-6) If the following condition ( ⁇ condition # 1>) is satisfied in the LDPC-CC with the conversion rate (n-1) / n (n is an integer of 2 or more), it is possible to obtain higher error correction capability Increase.
- time varying period 6 the coding rate (n-1) / n ( n is an integer of 2 or more) in the LDPC-CC of a Pi and information bits parity bit time i X i, 1, X i , 2 ,..., X i, n ⁇ 1 .
- X 1 (D), X 2 (D), ⁇ , X n-1 (D) is data (information)
- X 1, X 2, ⁇ be a polynomial representation of X n-1
- P (D) are polynomial representations of parity.
- equations (9-1) to (9-3 g) three terms for X 1 (D), X 2 (D),..., X n-1 (D) and P (D) respectively.
- parity check polynomial Similar to LDPC-CC with time-varying cycle 3 and LDPC-CC with time-varying cycle 6, time-varying cycle 3g and coding rate represented by parity check polynomials of equations (9-1) to (9-3g) In the (n-1) / n (n is an integer of 2 or more) LDPC-CC, if the following condition ( ⁇ condition # 2>) is satisfied, the possibility that higher error correction capability can be obtained is increased.
- an LDPC-CC with a time varying period of 3 g generated from the first sub matrix H 1 , the second sub matrix H 2 , the third sub matrix H 3 ,..., And the third g sub matrix H 3 g .
- the parity check polynomial of LDPC-CC can be expressed as follows.
- X 1 (D), X 2 (D), ⁇ , X n-1 (D) is data (information)
- X 1, X 2, ⁇ be a polynomial representation of X n-1
- P (D) are polynomial representations of parity.
- the ⁇ condition # 3> for the equations (11-1) to (11-3 g) has the same relationship as the ⁇ condition # 2> for the equations (9-1) to (9-3 g).
- ⁇ Condition # 4> By adding the following condition ( ⁇ condition # 4>) to Formulas (11-1) to (11-3g) in addition to ⁇ Condition # 3>, an LDPC-CC with higher error correction capability is created. The possibility of doing is increased.
- ⁇ Condition # 4> The following conditions are satisfied in the order of P (D) of the equations (11-1) to (11-3 g).
- X 1 (D), X 2 (D), ⁇ , X n-1 (D) is data (information)
- X 1, X 2, ⁇ be a polynomial representation of X n-1
- P (D) are polynomial representations of parity.
- three terms are included in each of X 1 (D), X 2 (D), ..., X n -1 (D), P (D)
- D 0 exists in X 1 (D), X 2 (D),..., X n -1 (D) and P (D).
- ⁇ Condition # 5> for the equations (13-1) to (13-3 g) has the same relationship as ⁇ condition # 2> for the equations (9-1) to (9-3 g).
- ⁇ condition # 6> By adding the following condition ( ⁇ condition # 6>) in addition to ⁇ condition # 5> to formulas (13-1) to (13-3g), it is possible to create an LDPC-CC with high error correction capability. The possibility is high.
- ⁇ Condition # 6> The following conditions are satisfied in the order of X 1 (D) of the equations (13-1) to (13-3 g).
- ⁇ Condition # 6> is used, that is, even if ⁇ Condition # 6'> is added in addition to ⁇ Condition # 5> to create a code, higher error correction There is a high probability of being able to create a capable LDPC-CC.
- ⁇ Condition # 6 '> The following conditions are satisfied in the order of X 1 (D) of the equations (13-1) to (13-3 g).
- X (D) is a polynomial expression of data (information) X
- P (D) is a polynomial expression of parity.
- parity check polynomials are assumed such that three terms exist in each of X (D) and P (D).
- check equation #k a submatrix based on the parity check polynomial in equation (15-k) is , And the k-th submatrix H k .
- an LDPC-CC with a time varying period of 3 g generated from the first sub matrix H 1 , the second sub matrix H 2 , the third sub matrix H 3 ,..., And the third g sub matrix H 3 g .
- X (D) is a polynomial expression of data (information) X
- P (D) is a polynomial expression of parity.
- Equations (17-1) to (17-3g) parity check polynomials are assumed such that three terms are present in each of X and P (D).
- the parity bit at time point i is represented by Pi and the information bit by Xi , 1 .
- a # 1,1,1% 3, a # 1,1,2% 3, a # 1,1,3% 3) is (0,1,2), (0,2,1), ( It becomes one of 1, 0, 2), (1, 2, 0), (2, 0, 1), and (2, 1, 0).
- a # 2,1,1% 3, a # 2,1,2% 3, a # 2,1,3% 3) is (0,1,2), (0,2,1), ( It becomes one of 1, 0, 2), (1, 2, 0), (2, 0, 1), and (2, 1, 0).
- (A # 3, 1, 1 % 3, a # 3, 1, 2 % 3, a # 3, 1, 3% 3) are (0, 1, 2), (0, 2, 1), ( It becomes one of 1, 0, 2), (1, 2, 0), (2, 0, 1), and (2, 1, 0).
- ⁇ ⁇ ⁇ And, (A # k, 1,1 % 3, a # k, 1,2 % 3, a # k, 1,3 % 3) are (0,1,2), (0,2,1), ( It becomes one of 1, 0, 2), (1, 2, 0), (2, 0, 1), and (2, 1, 0).
- (A # 3g-1,1,1 % 3, a # 3g-1,1,2 % 3, a # 3g-1,1,3 % 3) are (0,1,2), (0, 2, 1), (1, 0, 2), (1, 2, 0), (2, 0, 1), (2, 1, 0).
- (A # 3g, 1,1 % 3, a # 3g, 1,2 % 3, a # 3g, 1,3 % 3) are (0,1,2), (0,2,1), ( It becomes one of 1, 0, 2), (1, 2, 0), (2, 0, 1), and (2, 1, 0).
- ⁇ Condition # 3-1> for the expressions (17-1) to (17-3 g) has the same relationship as ⁇ condition # 2-1> for the expressions (15-1) to (15-3 g).
- ⁇ condition # 4-1> When the following condition ( ⁇ condition # 4-1>) is added to the expressions (17-1) to (17-3g) in addition to ⁇ condition # 3-1>, an LDPC with higher error correction capability -The possibility of being able to create a CC is increased.
- ⁇ Condition # 4-1> The following conditions are satisfied in the order of P (D) of the equations (17-1) to (17-3 g).
- X (D) is a polynomial expression of data (information) X
- P (D) is a polynomial expression of parity.
- (A # 3, 1, 1 % 3, a # 3, 1, 2 % 3) is either (1, 2) or (2, 1).
- ⁇ ⁇ ⁇ And, (A # k, 1, 1 % 3, a # k, 1, 2 % 3) is either (1, 2) or (2, 1).
- (Thus, k 1, 2, 3, ..., 3 g)
- ⁇ ⁇ ⁇ And, (A # 3 g-2, 1, 1 % 3, a # 3 g-2, 1, 2 % 3) is either (1, 2) or (2, 1).
- (A # 3g-1, 1, 1 % 3, a # 3g- 1, 1, 2% 3) is either (1, 2) or (2, 1).
- (A # 3 g, 1, 1 % 3, a # 3 g, 1, 2 % 3) is either (1, 2) or (2, 1).
- ⁇ Condition # 5-1> for the formulas (19-1) to (19-3 g) has the same relationship as ⁇ condition # 2-1> for the formulas (15-1) to (15-3 g).
- ⁇ condition # 6-1> When the following condition ( ⁇ condition # 6-1>) is added to the expressions (19-1) to (19-3g) in addition to ⁇ condition # 5-1>, an LDPC with higher error correction capability -The possibility of creating a CC is increased.
- ⁇ Condition # 6-1> The following conditions are satisfied in the order of X (D) of equations (19-1) to (19-3 g).
- ⁇ Condition # 6-1> ⁇ Condition # 6'-1> is used, that is, in addition to ⁇ Condition # 5-1>, ⁇ Condition # 6'-1> is added to create a code Even then, the possibility of being able to create an LDPC-CC with higher error correction capability is increased.
- ⁇ Condition # 6'-1> The following conditions are satisfied in the order of X (D) of equations (19-1) to (19-3 g).
- LDPC-CC having a time-variant cycle g with good characteristics has been described.
- the generation matrix G is obtained corresponding to the parity check matrix H designed in advance.
- D is a delay operator.
- the information regarding the convolutional code of (7, 5) is described in FIG.
- the parity check matrix H can be expressed as shown in FIG. At this time, the following equation (23) is established.
- a code defined by a parity check matrix based on the parity check polynomial of Equation (24) is referred to herein as time-invariant LDPC-CC.
- parity check polynomials based on equation (24) (m is an integer of 2 or more).
- the parity check polynomial is expressed as follows.
- i 0, 1,..., M ⁇ 1 (i is an integer of 0 or more and m ⁇ 1 or less).
- the information X 1 , X 2 ,..., X n-1 at the time point j is expressed as X 1, j , X 2, j ,..., X n -1, j
- the information X 1, j , X 2, j ,..., X n -1, j of the time point j and the parity P j satisfy the parity check polynomial of the equation (26).
- time-variant LDPC-CC A code defined by a parity check matrix based on the parity check polynomial of Equation (26) is referred to herein as time-variant LDPC-CC.
- time-invariant LDPC-CC defined by the parity check polynomial of equation (24) and the time-variant LDPC-CC defined by the parity check polynomial of equation (26) It has the feature that it can be easily obtained by exclusive OR.
- FIG. 6 shows the configuration of a parity check matrix H of an LDPC-CC with a time varying period of 2 based on equations (24) to (26) at a coding rate of 2/3.
- the two different check polynomials of the time-variant cycle 2 based on the equation (26) are named “check equation # 1” and “check equation # 2”.
- (Ha, 111) is a portion corresponding to "inspection formula # 1”
- (Hc, 111) is a portion corresponding to "inspection formula # 2”.
- (Ha, 111) and (Hc, 111) are defined as submatrices.
- the first sub-matrix representing the parity check polynomial of the “checking equation # 1” and the parity check polynomial of the “checking equation # 2” are represented by the parity check polynomial H of the LDPC-CC of time variation period 2 of the present proposal. It can be defined by representing a second submatrix. Specifically, in the parity check matrix H, the first sub matrix and the second sub matrix are alternately arranged in the row direction. In the case of the coding rate 2/3, as shown in FIG. 6, the sub-matrix is shifted by three columns to the right between the i-th row and the (i + 1) -th row.
- the sub-matrices of the i-th row and the sub-matrices of the (i + 1) -th row become different sub-matrices. That is, one of the submatrices (Ha, 11) or (Hc, 11) is the first submatrix, and the other is the second submatrix.
- Data X and parity P at time mi + 1 are represented as X mi + 1 and P mi + 1 , respectively, and data X and parity P at time mi + 2 are compared with X mi +2 and P mi +2 , respectively, ..., data X and parity P at time mi + m And X mi + m and P mi + m , respectively (i: integer).
- the parity P mi + 1 at the time point mi + 1 is determined using “check equation # 1”
- the parity P mi + 2 at the time point mi + 2 is determined using “check equation # 2”
- the parity P mi + m at time point mi + m Consider an LDPC-CC obtained by using “checking formula #m”.
- Such an LDPC-CC code is The encoder can be easily configured, and parity bits can be obtained sequentially. It has the advantages of reducing the end bits and improving the reception quality at the time of puncturing at the end.
- FIG. 7 shows the configuration of the above-described LDPC-CC parity check matrix with a coding rate of 2/3 and a time varying period of m.
- (H 1 , 111) is a portion corresponding to “inspection formula # 1”
- (H 2 , 111) is a portion corresponding to “inspection formula # 2”
- m , 111) is a portion corresponding to “inspection formula #m”.
- (H 1 , 111) is defined as a first submatrix
- (H 2 , 111) is defined as a second submatrix
- (H m , 111) is defined as an mth submatrix Do.
- the parity check matrix H of the LDPC-CC with time variation period m of the present proposal represents the first sub-matrix representing the parity check polynomial of “check equation # 1” and the parity check polynomial of “check equation # 2”
- the second sub-matrix can be defined by an m-th sub-matrix representing a parity check polynomial of the second sub-matrix,.
- the first sub-matrix to the m-th sub-matrix are arranged periodically in the row direction (see FIG. 7). In the case of the coding rate 2/3, the sub matrix is shifted to the right by three columns in the i-th row and the (i + 1) -th row (see FIG. 7).
- the transmit vector u, u (X 1,0, X 2,0, ⁇ , X n-1,0, P 0, X 1,1, X 2,1, ⁇ , X n-1 , 1, P 1, ⁇ , X 1, k, X 2, k, ⁇ , X n-1, k, P k, ⁇ )
- the LDPC-CC encoder 100 mainly includes a data operation unit 110, a parity operation unit 120, a weight control unit 130, and a mod 2 adder (exclusive OR operation) unit 140.
- the data operation unit 110 includes shift registers 111-1 to 111-M and weight multipliers 112-0 to 112-M.
- the parity operation unit 120 includes shift registers 121-1 to 121-M and weight multipliers 122-0 to 122-M.
- the weight multipliers 112-0 to 112 -M and 122-0 to 122 -M are configured to 0/1 the values of h 1 (m) and h 2 (m) according to the control signal output from weight control section 130. Switch to The weight control unit 130 outputs the values of h 1 (m) and h 2 (m) at the timing based on the parity check matrix held internally, and weight multipliers 112-0 to 112 -M and 122-0. Supply to ⁇ 122-M.
- the mod 2 adder 140 adds all the calculation results of mod 2 to the outputs of the weight multipliers 112-0 to 112 -M and 122-0 to 122 -M to calculate v 2, t .
- LDPC-CC encoder 100 can perform LDPC-CC encoding according to a parity check matrix.
- the LDPC-CC encoder 100 is a time varying convolutional encoder.
- Embodiment 1 an LDPC-CC code configuration method based on a parity check polynomial having a time-variant period greater than 3 with excellent error correction capability will be described.
- Time-varying cycle 6 First, an LDPC-CC with a time varying period of 6 will be described as an example.
- X 1 (D), X 2 (D), ⁇ , X n-1 (D) is data (information) X 1, X 2, a polynomial representation of ⁇ X n-1, P (D) is a polynomial representation of parity.
- Equations (27-0) to (27-5) for example, in the case of a coding rate of 1/2, only the terms of X 1 (D) and P (D) exist, X 2 (D),.
- the term X n-1 (D) does not exist.
- a # q, p, 1 , a # q, p, 2 and a # q, p, 3 are natural numbers, and a # q, p, 1 ⁇ a # q, p, 2 , A # q, p, 1 ⁇ a # q, p, 3 , a # q, p, 2 ⁇ a # q, p, 3 shall hold.
- the zeroth submatrix H 0 , the first submatrix H 1 , the second submatrix H 2 , the third submatrix H 3 , the fourth submatrix H 4 , and the fifth submatrix H 5 can be expressed by ) To (30-5).
- n consecutive “1” s are X 1 (D), X 2 (in each formula of the formulas (29-0) to (29-5) D), ..., X n-1 (D) and P (D) correspond to the terms.
- the parity check matrix H can be expressed as shown in FIG. As shown in FIG. 10, in the parity check matrix H, in the i-th row and the (i + 1) -th row, the sub-matrix is shifted to the right by n columns (see FIG. 10).
- the parity check polynomial of equation (31-q) is called "check equation #q".
- the tree is drawn from “check expression # 0”.
- ⁇ (single circle) and ⁇ (double circle) indicate variable nodes
- ⁇ (squares) indicate check nodes.
- ((single circle) indicates a variable node related to X 1 (D)
- ⁇ (double circle) indicates a variable node related to D a # q, 1, 1 X 1 (D)
- #Y is limited to 0 and 3 at the check node. In other words, even if the time-varying cycle is increased, the reliability is propagated only from a specific parity check polynomial, which means that the effect of increasing the time-varying cycle can not be obtained.
- the parity check matrix can be created by the method described in [LDPC-CC based on parity check polynomial].
- the zeroth sub-matrix, the first sub-matrix, the second sub-matrix, the third sub-matrix, the fourth sub-matrix, the fifth sub-matrix, and the sixth sub-matrix can be expressed by equations (34-0) to (34-6) Express as).
- n consecutive “1” s are X 1 (D), X 2 (D in each formula of the formulas (32-0) to (32-6) ,..., X n ⁇ 1 (D) and P (D).
- the parity check matrix H can be expressed as shown in FIG. As shown in FIG. 13, in the parity check matrix H, the sub-matrix is shifted to the right by n columns in the i-th row and the (i + 1) -th row (see FIG. 13).
- the conditions of the parity check polynomial in the equations (32-0) to (32-6) for obtaining a high error correction capability are as follows, similarly to the time varying period 6.
- “%” means modulo, and for example, “ ⁇ % 7” indicates the remainder when ⁇ is divided by 7.
- parity check polynomials (32-0) to (32-6) of LDPC-CC with a time-variant period of 7, code rate (n-1) / n, based on parity check polynomials, Consider the case where 1 (D) has two terms. Then, in this case, parity check polynomials are expressed as equations (35-0) to (35-6).
- the parity check polynomial of equation (35-q) is called “check equation #q”.
- a tree is drawn from “check expression # 0”.
- ⁇ (single circle) and ⁇ (double circle) indicate variable nodes
- ⁇ (squares) indicate check nodes.
- ((single circle) indicates a variable node related to X 1 (D)
- ⁇ (double circle) indicates a variable node related to D a # q, 1, 1 X 1 (D)
- X 1 (D), X 2 (D),..., X n-1 are used as g-th parity check polynomials of LDPC-CC with time varying period q (q is a prime number greater than 3).
- equation (36) with the number of terms of 3 was dealt with.
- the number of terms in any one of X 1 (D), X 2 (D),..., X n-1 (D) and P (D) in the equation (36) is 1, 2
- high error correction capability can be obtained.
- a method of setting the number of terms of X 1 (D) to 1 or 2 there are the following methods.
- the number of terms of X 1 (D) may be four or more.
- Equation (36) is the g-th parity check polynomial of an LDPC-CC with a coding rate (n ⁇ 1) / n and a time variation period q (q is a prime number greater than 3).
- the g-th parity check polynomial is expressed as in equation (37-1).
- the g-th parity check polynomial is expressed as shown in equation (37-2).
- the g-th parity check polynomial is expressed as in equation (37-3).
- the g-th parity check polynomial is expressed as shown in equation (37-4). Also, in the case of the coding rate 5/6, the g-th parity check polynomial is expressed as shown in Formula (37-5).
- a # g, p, 1 , a # g, p, 2 , a # g, p, 3 are natural numbers of 1 or more, and a # g, p, 1 ⁇ a # g, p, 2 , a # g, p, 1 ⁇ a # g, p, 3 , a # g, p, 2 ⁇ a # g, p, 3 shall hold.
- ⁇ Condition # 6-1>, ⁇ Condition # 6-2>, and ⁇ Condition # 6-3> described below are for the LDPC-CC to obtain high error correction capability. It becomes one of the important requirements.
- “%” means modulo, and for example, “ ⁇ % q” indicates the remainder when ⁇ is divided by q.
- any number of parity check polynomials that satisfy q zeros does not take 1 or 2 as the number of terms of X 1 (D) (q ⁇ 1 or less
- the number of terms of X 1 (D) may be 1 or 2.
- X 2 (D),..., X n-1 (D) and P (D) the condition described above is an important condition for obtaining high error correction capability. However, the conditions for the reduced terms are not necessary.
- the number of terms of X 1 (D) may be four or more.
- time-variant period h (h is an integer other than a prime greater than 3): Formula (39)]
- the time variation period h is an integer other than a prime number greater than three.
- X 1 (D), X 2 (D),..., X are used as g-th parity check polynomials of an LDPC-CC having a time varying period h (h is an integer other than a prime greater than 3).
- the equation (39) in which the number of terms of n-1 (D) and P (D) is 3 was dealt with. Incidentally, even in the case where the number of terms of either X 1 (D), X 2 (D),..., X n-1 (D), P (D) in the equation (39) is 1 or 2, There is a possibility that high error correction ability can be obtained.
- a method for setting the number of terms of X 1 (D) to 1 or 2 there are the following methods.
- any number of parity check polynomials that satisfy h zeros does not take 1 or 2 as the number of terms of X 1 (D) (h ⁇ 1 or less)
- the number of terms of X 1 (D) may be 1 or 2.
- the condition described above is an important condition for obtaining high error correction capability. However, the conditions for the reduced terms are not necessary.
- any of parity check polynomials that satisfy h 0 does not have 4 or more terms of X 1 (D) (h-1 or less)
- the number of terms of X 1 (D) may be four or more. The same applies to X 2 (D),..., X n-1 (D) and P (D). At this time, the conditions described above are excluded from the increased terms.
- equation (39) is a g-th parity check polynomial (satisfying 0) of an LDPC-CC with a coding rate (n-1) / n and a time variation period h (h is an integer not greater than 3 and not a prime number) there were.
- the g-th parity check polynomial is expressed as in equation (40-1).
- the g-th parity check polynomial is expressed as in equation (40-2).
- the g-th parity check polynomial is expressed as in equation (40-3).
- the g-th parity check polynomial is expressed as shown in equation (40-4). Further, in the case of the coding rate 5/6, the g-th parity check polynomial is expressed as in equation (40-5).
- a # g, p, 1 , a # g, p, 2 , a # g, p, 3 are natural numbers of 1 or more, and a # g, p, 1 ⁇ a # g, p, 2 , a # g, p, 1 ⁇ a # g, p, 3 , a # g, p, 2 ⁇ a # g, p, 3 shall hold.
- ⁇ Condition # 13-1>, ⁇ Condition # 13-2>, and ⁇ Condition # 13-3> described below are for the LDPC-CC to obtain high error correction capability. It becomes one of the important requirements.
- “%” means modulo, for example, " ⁇ % h” indicates the remainder when ⁇ is divided by h.
- any number of parity check polynomials that satisfy h zeros does not take 1 or 2 as the number of terms of X 1 (D) (h ⁇ 1 or less)
- the number of terms of X 1 (D) may be 1 or 2.
- X 2 (D),..., X n-1 (D) and P (D) may be 1 or 2.
- the condition described above is an important condition for obtaining high error correction capability. However, the conditions for the reduced terms are not necessary.
- any of parity check polynomials that satisfy h 0 does not have 4 or more terms of X 1 (D) (h-1 or less)
- the number of terms of X 1 (D) may be four or more. The same applies to X 2 (D),..., X n-1 (D) and P (D). At this time, the conditions described above are excluded from the increased terms.
- the code configuration of the LDPC-CC based on the parity check polynomial having a time variation period larger than 3, particularly the LDPC-CC based on the parity check polynomial having a time variable period having a prime number greater than 3 The method was described. As described in the present embodiment, by forming a parity check polynomial and performing LDPC-CC encoding based on the parity check polynomial, higher error correction capability can be obtained.
- Second Embodiment the configuration of an LDPC-CC coding method and encoder based on the parity check polynomial described in the first embodiment will be described in detail.
- an LDPC-CC with a coding rate of 1/2 and a time varying period of 3.
- the parity check polynomial of time varying period 3 is given below.
- Equations (43-0) to (43-2) are expressed as follows.
- the circuit corresponding to the equation (44-0) is shown in FIG. 15A
- the circuit corresponding to the equation (44-1) is shown in FIG. 15B
- the circuit corresponding to the equation (44-2) is shown in FIG. .
- the parity bit at time point i is determined by the circuit shown in FIG. 15A corresponding to the equation (43-0), that is, the equation (44-0).
- the parity bit at time point i is determined by the circuit shown in FIG. 15B corresponding to equation (43-1), that is, equation (44-1).
- the parity bit at time point i is determined by the circuit shown in FIG. 15C corresponding to equation (43-2), that is, equation (44-2). Therefore, the encoder can adopt the same configuration as that shown in FIG.
- coding can be performed in the same manner as described above.
- P (D) is expressed as follows.
- q is not limited to a prime number.
- the LDPC-CC in the present invention is a kind of convolutional code, termination or tail-biting is required to secure the reliability in decoding of information bits.
- termination referred to as “Information-zero-termination” or simply “Zero-termination”.
- FIG. 16 is a diagram for describing “Information-zero-termination” in the LDPC-CC at a coding rate (n ⁇ 1) / n.
- Information bits X 1 , X 2 ,..., X n ⁇ 1 and parity bits P at time point i (i 0, 1, 2, 3,..., S), X 1, i , X 2, i, ⁇ ⁇ ⁇ , and X n-1, i and parity bit P i.
- X n ⁇ 1, s is the last bit of the information to be transmitted.
- the encoder performs encoding only up to time s and the transmitting apparatus on the encoding side transmits to the receiving apparatus on the decoding side only up to P s , the reception quality of information bits at the decoder is large. to degrade.
- encoding is performed on the assumption that the information bit after the final information bit X n ⁇ 1, s (referred to as “virtual information bit”) is “0”, and the parity bit (1603) Generate
- the decoder uses the fact that the virtual information bit is known to be “0” after time point s to perform decoding.
- the initial state of the register is encoded as “0”.
- X 1 [z], X 2 [z], ..., X n-1 [z , And P [z] is set to "0".
- the gth submatrix can be expressed as the following equation.
- n consecutive “1s” are the terms of X 1 (D), X 2 (D),... X n ⁇ 1 (D) and P (D) in each formula of formula (36) Equivalent to. Therefore, when termination is used, an LDPC-CC parity check matrix with a time-varying period q of coding rate (n-1) / n represented by equation (36) is represented as shown in FIG. FIG. 17 has the same configuration as that of FIG. In the third embodiment to be described later, the detailed configuration of the check matrix of tail biting will be described.
- the sub-matrix is shifted to the right by n columns in the i-th row and the (i + 1) -th row (see FIG. 17).
- the elements to the left of the first column (H ′ 1 in the example of FIG. 17) are not reflected in the parity check matrix (see FIGS. 5 and 17).
- the coding of the LDPC-CC described in the first embodiment can be performed.
- Third Embodiment in the case of simple tail biting described in Non-Patent Documents 10 and 11 in LDPC-CC based on the parity check polynomial described in Embodiment 1, higher error correction capability is obtained. The code configuration method for obtaining will be described in detail.
- the g-th (g 0, 1, ..., q-1) of the LDPC-CC with a time-variant period q (q is a prime number larger than 3) and a coding rate (n-1) / n
- equation (36) has three terms in X 1 (D), X 2 (D),..., X n-1 (D) and P (D), and in the first embodiment
- the code configuration method (constraint condition) for obtaining high error correction capability is described in detail.
- the number of terms of either X 1 (D), X 2 (D),..., X n-1 (D), P (D) is 1 or 2, Also pointed out that there is a possibility that high error correction ability can be obtained.
- the time variation period q is not limited to three or more prime numbers. However, the constraints described in the first embodiment shall be observed. However, in P (D), the conditions for the reduced terms shall be excluded. From equation (48), P (D) is expressed as follows.
- Non-Patent Document 12 describes a general formula of a parity check matrix when performing tail biting in time-variant LDPC-CC. Equation (51) is a parity check matrix when performing tail biting described in Non-Patent Document 12.
- H is a parity check matrix
- H T is the syndrome former.
- Non-Patent Document 12 does not show a specific code of the parity check matrix, and does not describe a code configuration method (constraint condition) for obtaining high error correction capability.
- the parity check polynomial of the LDPC-CC for the time-varying period q and coding rate (n ⁇ 1) / n, which becomes necessary is not limited to equation (48), but A parity check polynomial such as (36) or equation (38) may be used.
- a parity check polynomial such as (36) or equation (38) may be used.
- X 1 (D), X 2 (D), ... X n-1 (D) and P (D) each term number is 3, it was limited to this. It is not a thing.
- the time variation period q may be any value as long as it is 2 or more.
- ⁇ condition # 16> will be discussed.
- the information bits X 1 , X 2 ,..., X n ⁇ 1 and the parity bit P at time point i are denoted by X 1, i , X 2, i ,..., X n ⁇ 1, i , P i Show.
- i 1, 2, 3,..., Q,..., Q ⁇ (N ⁇ 1) +1, q ⁇ (N ⁇ 1) +2, q Tail biting is performed as ⁇ (N ⁇ 1) +3,..., Q ⁇ N.
- the configuration of the parity check matrix at this time will be described using FIGS. 18A and 18B.
- the gth submatrix can be expressed as the following equation.
- FIG. 18A shows parity check matrices in the vicinity of time point q ⁇ N ⁇ 1 (1803) and time point q ⁇ N (1804) among the parity check matrices corresponding to the transmission sequence u defined above.
- the parity check matrix H the submatrix is shifted to the right by n columns in the i-th row and the (i + 1) -th row (see FIG. 18A).
- a row 1801 shows q ⁇ N rows (last row) of the parity check matrix.
- the row 1801 corresponds to the q ⁇ 1 th parity check polynomial.
- a row 1802 shows q ⁇ N ⁇ 1 rows of the parity check matrix.
- the row 1802 corresponds to the q ⁇ 2nd parity check polynomial.
- a row group 1804 indicates a row group corresponding to time point q ⁇ N.
- transmission sequences are arranged in the order of X 1, q ⁇ N , X 2, q ⁇ N ,..., X n ⁇ 1, q ⁇ N , P q ⁇ N.
- Column group 1803 indicates a column group corresponding to time point q ⁇ N ⁇ 1.
- the transmission sequence is X 1, q ⁇ N ⁇ 1 , X 2, q ⁇ N ⁇ 1 ,..., X n ⁇ 1, q ⁇ N ⁇ 1 , P q ⁇ N ⁇ 1 They are arranged in order.
- u (..., X 1, q ⁇ N ⁇ 1 , X 2, q ⁇ N ⁇ 1 ,..., X n ⁇ 1, q ⁇ N ⁇ 1 , P q x N-1, X 1, q x N , X 2, q x N , ..., X n-1, q x N , P q x N, X 1 , 0 , X 2 , 1,. .., X n -1 , 1 , P 1 , X 1 , 2 , X 2 , 2 , ..., X n -1 , 2 , P 2 , ...) T.
- 18B shows parity check matrices in the vicinity of time point q ⁇ N ⁇ 1 (1803), time point q ⁇ N (1804), time point 1 (1807), time point 2 (1808) among parity check matrices corresponding to transmission sequence u. Is shown.
- the submatrix is shifted to the right by n columns in the i-th row and the (i + 1) -th row.
- a column 1805 corresponds to the q ⁇ N ⁇ n column
- the column 1806 corresponds to the first column.
- the column group 1803 indicates a column group corresponding to the time point q ⁇ N ⁇ 1, and the column group 1803 indicates X 1, q ⁇ N ⁇ 1 , X 2, q ⁇ N ⁇ 1 ,.
- the column group 1804 indicates a column group corresponding to the time point q ⁇ N, and the column group 1804 includes X1 , q ⁇ N , X2 , q ⁇ N ,..., X n ⁇ 1, q ⁇ N , They are arranged in the order of P q ⁇ N.
- a row group 1807 indicates a row group corresponding to the time point 1, and the row group 1807 is arranged in the order of X 1,1 , X 2,1 ,..., X n -1,1 and P 1 .
- the row group 1808 indicates the row group corresponding to the time point 2, and the row group 1808 is arranged in the order of X 1,2 , X 2,2 ,..., X n -1,2 , P 2 .
- the row 1811 is a row corresponding to the q ⁇ N row and the row 1812 Is the line corresponding to the first line.
- a part of the parity check matrix shown in FIG. 18B that is, a part to the left of the column boundary 1813 and below the row boundary 1814 is a characteristic part when tail biting is performed. Then, it is understood that the configuration of this characteristic part is the same as that of the equation (51).
- the time-variant LDPC-CC described in the first embodiment is a cycle with a short length in the Tanner graph (cycle It is a code that reduces the number of oflength). In the first embodiment, conditions for generating a code that reduces the number of short cycles in the Tanner graph are shown.
- the number of rows of the parity check matrix may be a multiple of q ( ⁇ condition # 16>) It becomes important.
- the number of rows in the parity check matrix is a multiple of q, all parity check polynomials with a time-variant period q will be used. Therefore, even when tail biting is performed by setting the parity check polynomial to a code that reduces the number of short cycles in the Tanner graph as described in the first embodiment, the length in the Tanner graph The number of short cycles can be reduced.
- ⁇ condition # 16> is an important requirement in order to reduce the number of short cycles in the Tanner graph.
- FIG. 19 is a schematic view of a communication system.
- the communication system in FIG. 19 includes a transmitter 1910 on the encoding side and a receiver 1920 on the decoding side.
- the encoder 1911 receives information, performs encoding, generates a transmission sequence, and outputs the transmission sequence.
- modulation section 1912 receives the transmission sequence, performs predetermined processing such as mapping, orthogonal modulation, frequency conversion, amplification and the like, and outputs a transmission signal.
- the transmission signal arrives at the reception unit 1921 of the reception device 1920 via a communication medium (wireless, power line, light, etc.).
- Reception section 1921 receives a received signal, performs processing such as amplification, frequency conversion, quadrature demodulation, channel estimation, demapping, and the like, and outputs a baseband signal and a channel estimation signal.
- Log likelihood ratio generation unit 1922 receives a baseband signal and a channel estimation signal, generates a log likelihood ratio in bit units, and outputs a log likelihood ratio signal.
- the decoder 1923 receives the log-likelihood ratio signal as an input, and in particular performs iterative decoding using BP decoding, and outputs an estimated transmission sequence or (and) an estimated information sequence. For example, consider an LDPC-CC with a coding rate of 1/2 and a time-variant period of 11. At this time, it is assumed that tail biting is performed, and the set information length is 16384. Let the information bits be X1, 1 , X1, 2 , X1, 3 , ..., X1, 16384 . Then, assuming that parity bits are obtained without devising anything, P 1 , P 2 , P 1 , 3 ,..., P 16384 can be obtained.
- the transmitter 1910 reduces “0” which is known between the encoder 1911 and the decoder 1923, and transmits (X 1,1 , P 1 , X 1,2 , P 2 , ⁇ Transmit X 1 , 16384 , P 16384 , P 16385 , P 16386 , P 16387 , P 16388 , P 16389 ).
- LLR log likelihood ratios (X 1,1), LLR (P 1), LLR (X 1,2), LLR (P 2), ⁇ LLR ( X 1 , 16384 ), LLR (P 16384 ), LLR (P 16385 ), LLR (P 16386 ), LLR (P 16387 ), LLR (P 16388 ), LLR (P 16389 ) will be obtained.
- the receiving device 1920 has the log likelihood ratio of X 1,16385 , X 1,16386 , X 1,16387 , X 1,16388 , X 1,16389 of the value “0” not transmitted from the transmitting device 1910
- LLR (X 1,16385 ) LLR (0)
- LLR (X 1,16386 ) LLR (0)
- LLR (X 1,16387 ) LLR (0)
- LLR (X 1,16388 ) LLR (0)
- An estimated transmission sequence by performing decoding using the 16389 ⁇ 32778 parity check matrix of LDPC-CC with a log likelihood ratio and a coding rate of 1/2 and a time-variant period of 11 Or (and) obtain an estimated information sequence.
- BP Belief Propagation
- Non-Patent Document 5 and Non-Patent Document 6 min-sum decoding approximating BP decoding, offset BP Confidence propagation such as decoding, Normalized BP decoding, shuffled BP decoding can be used.
- the receiving apparatus 1920 has parity such that ⁇ condition # 16> is satisfied.
- the number of information bits required for encoding is q ⁇ (n ⁇ 1) ⁇ M. With these information bits, q ⁇ M parity bits will be determined.
- the number of information bits input to the encoder 1911 is smaller than q ⁇ (n ⁇ 1) ⁇ M bits, the number of information bits in the encoder 1911 is q ⁇ (n ⁇ 1) ⁇
- Known bits for example, "0" (may be "1") are inserted between the transmitting and receiving devices (the encoder 1911 and the decoder 1923) so as to be M bits. Then, the encoder 1911 obtains q ⁇ M parity bits.
- the transmitting apparatus 1910 transmits the information bit excluding the inserted known bit and the calculated parity bit. Note that although it is possible to transmit known bits and always transmit q ⁇ (n ⁇ 1) ⁇ M bits of information bits and q ⁇ M bits of parity bits, in this case, the known bits are transmitted. It will cause a decrease in transmission speed.
- An LDPC-CC with a coding rate (n ⁇ 1) / n and a time varying period q defined by the parity check polynomial of Equation (48) is a kind of feedforward convolutional code. Therefore, tail biting described in Non-Patent Document 10 and Non-Patent Document 11 can be performed. So, below, the outline
- the parity bits and information bits obtained at this time become the coded sequence when tail biting is performed.
- an LDPC-CC with a time varying period q and a coding rate (n ⁇ 1) / n defined by equation (48) has been described as an example.
- Formula (48) has three terms in X 1 (D), X 2 (D),..., X n-1 (D). However, the number of terms is not limited to 3, in formula (48), X 1 (D ), X 2 (D), ⁇ , and any number of terms of X n-1 (D) is 1, 2 In such a case, high error correction capability may be obtained.
- the number of terms of X 1 (D) may be 1 or 2.
- the condition described in the first embodiment is an important condition for obtaining high error correction capability. However, the conditions for the reduced terms are not necessary.
- the number of terms of X 1 (D) may be four or more.
- the tail biting in the present embodiment can be implemented also for the codes represented in FIG.
- P (D) is expressed as follows.
- any number of parity check polynomials that satisfy q zeros does not take 1 or 2 as the number of terms of X 1 (D) (q ⁇ 1 or less
- the number of terms of X 1 (D) may be 1 or 2.
- X 2 (D),..., X n-1 (D) the condition described in the first embodiment is an important condition for obtaining high error correction capability. However, the conditions for the reduced terms are not necessary.
- the number of terms of X 1 (D) may be four or more.
- the conditions described above are excluded from the increased terms.
- a coded sequence when tail biting is performed can be obtained by using the above-described procedure.
- the information bits of X 1 , X 2 ,..., X n ⁇ 1 and the bits at time point j of parity bit P are X 1, j , X 2, j ,. Express as P j .
- y, z 1,2, ⁇ , r p, with respect ⁇ (y, z) of y ⁇ z, satisfies the a p, y ⁇ a p, z.
- ⁇ is a universal quantifier.
- ⁇ X ⁇ , i and gamma P the maximum value of i and gamma i.
- parity check polynomials satisfying 0 in equation (57) are D 0 X 1 (D), D 0 X 2 (D),..., D 0 X n-1 (D) and D 0 P ( Since it has D), the equation (60) is satisfied.
- Equation (60) ⁇ (k + m) is satisfied for ⁇ k. However, ⁇ (k) corresponds to h i in the row of the parity check matrix k.
- FIG. 20 shows a conceptual diagram of a communication system using erasure correction coding with LDPC code.
- the communication apparatus on the encoding side performs LDPC encoding on information packets 1 to 4 to be transmitted, and generates parity packets a and b.
- the upper layer processing unit outputs the encoded packet obtained by adding the parity packet to the information packet to the lower layer (PHY: Physical Layer in the example of FIG. 20), and the physical layer processing unit of the lower layer is encoded.
- a packet is converted into a form that can be transmitted by a communication channel and output to the communication channel.
- FIG. 20 shows an example of the case where the communication channel is a wireless communication channel.
- the physical layer processing unit in the lower layer performs reception processing. At this time, it is assumed that a bit error occurs in the lower layer. Due to this bit error, a packet including the corresponding bit may not be decoded correctly in the upper layer, and packet loss may occur.
- the example of FIG. 20 shows the case where the information packet 3 is lost.
- the upper layer processing unit decodes the lost information packet 3 by performing an LDPC decoding process on the received packet sequence.
- LDPC decoding Sum-product decoding that performs decoding using belief propagation (BP), Gaussian elimination, or the like is used.
- FIG. 21 is an overall configuration diagram of the communication system.
- the communication system includes a communication apparatus 2110 on the encoding side, a communication path 2120, and a communication apparatus 2130 on the decoding side.
- the communication apparatus 2110 on the encoding side includes an erasure correction coding related processing unit 2112, an error correction coding unit 2113, and a transmission apparatus 2114.
- the communication apparatus 2130 on the decoding side has a receiving apparatus 2131, an error correction decoding unit 2132, and an erasure correction decoding related processing unit 2133.
- a communication path 2120 indicates a path taken until a signal transmitted from the transmission device 2114 of the communication device 2110 on the encoding side is received by the reception device 2131 of the communication device 2130 on the decoding side.
- Ethernet registered trademark
- a power line a metal cable
- an optical fiber a wireless, light (such as visible light or infrared light), or a combination thereof can be used.
- the error correction coding unit 2113 an error correction code in the physical layer (physical layer) is introduced separately from the erasure correction code in order to correct an error generated by the communication path 2120. Therefore, the error correction decoding unit 2132 decodes the error correction code in the physical layer. Therefore, the layer subjected to erasure correction coding / decoding and the layer subjected to error correction coding (that is, the physical layer) are different layers (layers), and in the error correction decoding of the physical layer, soft decision decoding is performed, In the erasure correction decoding, an operation of recovering the erasure bit will be performed.
- FIG. 22 is a diagram showing an internal configuration of erasure correction coding related processing unit 2112.
- the erasure correction coding method in erasure correction coding related processing section 2112 will be described using FIG.
- the packet generation unit 2211 receives the information 2241, generates an information packet 2243, and outputs the information packet 2243 to the rearrangement unit 2215.
- the information packet 2243 is configured from information packets # 1 to #n will be described.
- the rearrangement unit 2215 receives the information packet 2243 (here, information packets # 1 to #n), rearranges the order of the information, and outputs the rearranged information 2245.
- the erasure correction encoder (parity packet generation unit) 2216 receives the rearranged information 2245 as an input, performs, for example, low-density parity-check convolutional code (LDPC-CC) encoding on the information 2245, and generates parity. Generate a bit
- the erasure correction encoder (parity packet generation unit) 2216 extracts only the generated parity part, and generates and outputs a parity packet 2247 from the extracted parity part (the parity is stored and rearranged). At this time, when parity packets # 1 to #m are generated for information packets # 1 to #n, the parity packet 2247 is configured from parity packets # 1 to #m.
- LDPC-CC low-density parity-check convolutional code
- the error detection code adding unit 2217 receives the information packet 2243 (information packet # 1 to #n) and the parity packet 2247 (parity packet # 1 to #m) as input.
- the error detection code adding unit 2217 adds an error detection code, for example, a CRC to the information packet 2243 (information packet # 1 to #n) and the parity packet 2247 (parity packet # 1 to #m).
- the error detection code adding unit 2217 outputs the information packet and the parity packet 2249 after the CRC addition. Therefore, the information packet and parity packet 2249 after addition of CRC are composed of information packets # 1 to #n after addition of CRC and parity packets # 1 to #m after addition of CRC.
- FIG. 23 is a diagram showing another internal configuration of erasure correction coding related processing section 2112.
- An erasure correction coding related processing unit 2312 shown in FIG. 23 performs an erasure correction coding method different from the erasure correction coding related processing unit 2112 shown in FIG.
- Erasure correction encoding section 2314 forms packets # 1 to # n + m, treating information bits and parity bits as data without distinguishing between information packets and parity packets.
- erasure correction coding section 2314 temporarily stores information and parity in an internal memory (not shown), and then rearranges it to form a packet.
- the error detection code adding unit 2317 adds an error detection code, for example, a CRC to these packets, and outputs packets # 1 to # n + m after the CRC addition.
- FIG. 24 is a diagram showing an internal configuration of erasure correction decoding related processing unit 2433.
- the error detection unit 2435 receives the packet 2451 after decoding of the error correction code in the physical layer as an input, and performs error detection using, for example, a CRC.
- a packet 2451 after decoding of the error correction code in the physical layer is composed of information packets # 1 to #n after decoding and parity packets # 1 to #m after decoding.
- the error detection unit 2435 detects information packet and parity in which no packet loss occurs.
- the packet is assigned a packet number and output as a packet 2453.
- the erasure correction decoder 2436 receives the packet 2453 (an information packet (with a packet number) in which no packet loss has occurred and a parity packet (with a packet number)). Erasure correction decoder 2436 (performs reordering and then) performs erasure correction code decoding on packet 2453 and decodes information packet 2455 (information packets # 1 to #n). Note that when the erasure correction coding related processing unit 2312 shown in FIG. 23 is encoded, the erasure correction decoding unit 2436 receives a packet in which the information packet and the parity packet are not distinguished from each other, and erasure correction decoding is performed. Will be done.
- FIG. 25 shows a configuration example of the erasure correction coder 2560 capable of changing the coding rate of the erasure correction code according to the communication quality.
- the first erasure correction coder 2561 is an encoder for a rate 1/2 erasure correction code.
- the second erasure correction encoder 2562 is an encoder for erasure rate 2/3 coding.
- the third erasure correction encoder 2563 is an encoder for erasure rate correction code with a coding rate of 3/4.
- the first erasure correction encoder 2561 receives the information 2571 and the control signal 2572 and performs encoding when the control signal 2572 designates the coding rate 1/2, and the data 2573 after erasure correction coding is It is output to the selection unit 2564.
- the second erasure correction encoder 2562 performs encoding when the information 2571 and the control signal 2572 are input and the control signal 2572 designates a coding rate 2/3, and after erasure correction coding.
- the data 2574 is output to the selection unit 2564.
- the third erasure correction encoder 2563 receives the information 2571 and the control signal 2572 and performs encoding when the control signal 2572 designates a coding rate 3/4, and after erasure correction coding.
- the data 2575 is output to the selection unit 2564.
- Selecting section 2564 receives erasure correction coding data 2573, 2574, 2575 and control signal 2572 as input, and outputs erasure correction coding data 2576 corresponding to the coding rate designated by control signal 2572.
- the reception quality of the communication partner and the transmission speed of data (information) can be improved. It will be possible to achieve both.
- the encoder is required to achieve both of realizing a plurality of coding rates with a low circuit scale and obtaining high erasure correction capability.
- achieves this coexistence and a decoding method are demonstrated in detail.
- the encoding / decoding method described below the LDPC-CC described in the first to third embodiments is used as a code for erasure correction.
- the erasure correction capability for example, when using an LDPC-CC larger than the coding rate 3/4, high erasure correction capability can be obtained.
- an LDPC-CC smaller than the coding rate 2/3 there is a problem that it is difficult to obtain high erasure correction capability.
- a coding method which overcomes this problem and which can realize a plurality of coding rates with a low circuit scale will be described.
- FIG. 26 is an overall configuration diagram of a communication system.
- the communication system includes a communication apparatus 2600 on the encoding side, a communication path 2607, and a communication apparatus 2608 on the decoding side.
- a communication path 2607 indicates a path taken until a signal transmitted from the transmitter 2605 of the communication apparatus 2600 on the encoding side is received by the receiver 2609 of the communication apparatus 2608 on the decoding side.
- Receiving device 2613 receives received signal 2612 as input, and obtains information (feedback information) 2615 fed back from communication device 2608 and received data 2614.
- Erasure correction coding related processing section 2603 receives information 2601, control signal 2602, and information 2615 fed back from communication apparatus 2608 as input.
- the erasure correction coding related processing unit 2603 determines the coding rate of the erasure correction code based on the control signal 2602 or the feedback information 2615 from the communication device 2608, performs encoding, and performs the erasure corrected coding on the packet. Output.
- Error correction coding section 2604 receives the packet after erasure correction coding, control signal 2602 and feedback information 2615 from communication apparatus 2608 as input.
- the error correction coding unit 2604 determines the coding rate of the error correction code in the physical layer based on the control signal 2602 or feedback information 2615 from the communication device 2608, performs error correction coding in the physical layer, and performs coding. Output later data.
- the transmission device 2605 receives data after encoding as input, performs processing such as orthogonal modulation, frequency conversion, amplification, and the like, and outputs a transmission signal.
- the transmission signal includes symbols for transmitting control information and symbols such as known symbols as well as data.
- the control signal is included in the transmission signal, the information of the coding rate of the error correction code of the set physical layer and the coding rate of the erasure correction code.
- Reception device 2609 receives a reception signal, performs processing such as amplification, frequency conversion, quadrature demodulation, etc., and outputs a reception log likelihood ratio, and from known symbols included in the transmission signal, propagation environment, reception electric field strength, etc. Estimate the channel environment and output an estimated signal. Also, the receiver 2609 demodulates the symbol for the control information included in the received signal to obtain information on the coding rate of the error correction code of the physical layer set by the transmitter 2605 and the coding rate of the erasure correction code. And output as a control signal.
- the error correction decoding unit 2610 receives the reception log likelihood ratio and the control signal as input, and performs appropriate error correction decoding in the physical layer using the coding rate of the error correction code of the physical layer included in the control signal. Then, the error correction decoding unit 2610 outputs the data after decoding and also outputs information (error correction availability information (for example, ACK / NACK)) as to whether or not the error correction can be performed in the physical layer.
- error correction availability information for example, ACK / NACK
- the erasure correction decoding related processing unit 2611 receives the decoded data and the control signal as input, and performs erasure correction decoding using the coding rate of the erasure correction code included in the control signal. Then, the erasure correction decoding related processing unit 2611 outputs data after erasure correction decoding, and information (erasure correction availability information (for example, ACK / NACK)) as to whether or not error correction can be performed in erasure correction. Output.
- erasure correction availability information for example, ACK / NACK
- the transmitting device 2617 is estimated information (RSSI: ReceivedSignal) that estimates the environment of the communication channel, such as the propagation environment and the received electric field strength. Feedback information based on Strength Indicator or CSI (Channel State Information), error correction possibility information in the physical layer, and erasure correction possibility information in erasure correction, and transmission data are input.
- the transmitter 2617 performs processing such as encoding, mapping, orthogonal modulation, frequency conversion, amplification and the like, and outputs a transmission signal 2618.
- the transmission signal 2618 is transmitted to the communication device 2600.
- FIG. 27 A method of changing the coding rate of the erasure correction code in the erasure correction coding related processing unit 2603 will be described using FIG. Note that in FIG. 27, the same reference numerals are given to those that operate in the same manner as in FIG. 27 differs from FIG. 22 in that control signal 2602 and feedback information 2615 are input to packet generator 2211 and erasure correction encoder (parity packet generator) 2216. Then, the erasure correction coding related processing unit 2603 changes the packet size and the coding rate of the erasure correction code based on the control signal 2602 and the feedback information 2615.
- FIG. 28 is a diagram showing another internal configuration of erasure correction coding related processing section 2603.
- the erasure correction coding related processing unit 2603 shown in FIG. 28 changes the coding rate of the erasure correction code using a method different from the erasure correction coding related processing unit 2603 shown in FIG.
- the same reference numerals are given to those that operate in the same manner as in FIG. 28 differs from FIG. 23 in that control signal 2602 and feedback information 2615 are input to erasure correction encoder 2316 and error detection code adder 2317.
- the erasure correction coding related processing unit 2603 changes the packet size and the coding rate of the erasure correction code based on the control signal 2602 and the feedback information 2615.
- FIG. 29 shows an example of the configuration of the coding unit according to the present embodiment.
- the encoder 2900 in FIG. 29 is an LDPC-CC encoding unit capable of coping with a plurality of coding rates.
- Rearranger 2902 receives information X and stores information bit X. Then, when 4 bits of information bits X are stored, rearranging section 2902 rearranges information bits X and outputs information bits X 1, X 2, X 3 and X 4 in parallel in 4 systems.
- this configuration is merely an example. The operation of sorting section 2902 will be described later.
- the LDPC-CC encoder 2907 supports a coding rate of 4/5.
- the LDPC-CC encoder 2907 receives information bits X 1, X 2, X 3, X 4 and a control signal 2916.
- the LDPC-CC encoder 2907 performs, for example, the LDPC-CC encoding described in Embodiment 1 to Embodiment 3 and outputs a parity bit (P1) 2908.
- the control signal 2916 indicates the coding rate 4/5
- the information X 1, X 2, X 3, X 4 and the parity (P 1) become the output of the encoder 2900.
- the rearrangement unit 2909 receives the information bits X 1, X 2, X 3, X 4, the parity bit P 1, and the control signal 2916.
- the control signal 2916 has a coding rate of 4/5, the reordering unit 2909 does not operate.
- the reordering unit 2909 stores the information bits X1, X2, X3, X4 and the parity bit P1.
- the rearrangement unit 2909 rearranges the stored information bits X 1, X 2, X 3, X 4 and parity bit P 1 and rearranges data # 1 (2910), rearranges data # 2 (2911)
- the rearranged data # 3 (2912) and the rearranged data # 4 (2913) are output. Note that the sorting method in the sorting unit 2909 will be described later.
- the LDPC-CC encoder 2914 like the LDPC-CC encoder 2907, supports a coding rate of 4/5.
- the LDPC-CC encoder 2914 includes rearranged data # 1 (2910), rearranged data # 2 (2911), rearranged data # 3 (2912), and rearranged data # 4 ( 2913) and a control signal 2916 are input. Then, when the control signal 2916 indicates a coding rate of 16/25, the LDPC-CC encoder 2914 performs coding and outputs a parity bit (P2) 2915.
- the control signal 2916 indicates the coding rate 4/5
- the rearranged data # 1 (2910), the rearranged data # 2 (2911), and the rearranged data # 3 (2912) become the output of the encoder 2900.
- FIG. 30 is a diagram for describing an outline of a coding method of the encoder 2900.
- Information bit X (4 N) is input from information bit X (1) to sorting section 2902, and sorting section 2902 rearranges information bit X. Then, rearranging section 2902 outputs the four rearranged information bits in parallel. Therefore, [X1 (1), X2 (1), X3 (1), X4 (1)] is output first, and then [X1 (2), X2 (2), X3 (2), X4 (2) )] Is output. Then, rearranger 2902 finally outputs [X1 (N), X2 (N), X3 (N), X4 (N)].
- the coding rate 4/5 LDPC-CC encoder 2907 encodes [X 1 (1), X 2 (1), X 3 (1), X 4 (1)] and outputs parity bit P 1 (1 Output). Similarly, the LDPC-CC encoder 2907 performs coding to generate and output parity bits P1 (2), P1 (3),..., P1 (N).
- the reordering unit 2909 performs the processing of [X1 (1), X2 (1), X3 (1), X4 (1), P1 (1)], [X1 (2), X2 (2), X3 (2), X4]. (2), P1 (2)],..., [X1 (N), X2 (N), X3 (N), X4 (N), P1 (N)] are input.
- the rearrangement unit 2909 performs rearrangement including the parity bits in addition to the information bits.
- the reordering unit 2909 performs the reordering [X1 (50), X2 (31), X3 (7), P1 (40)], [X2 (39), X4 (67) , P1 (4), X1 (20)],..., [P2 (65), X4 (21), P1 (16), X2 (87)].
- the LDPC-CC encoder 2914 having a coding rate of 4/5 is, for example, as shown in a frame 3000 of FIG. 30.
- [X1 (50), X2 (31), X3 (7), P1 (40 ) Is encoded to generate a parity bit P2 (1).
- the LDPC-CC encoder 2914 generates and outputs parity bits P2 (1), P2 (2),..., P2 (M).
- the encoder 2900 outputs [X 1 (1), X 2 (1), X 3 (1), X 4 (1), P 1 (1)], [X 1 (1) X1 (2), X2 (2), X3 (2), X4 (2), P1 (2)], ..., [X1 (N), X2 (N), X3 (N), X4 (N) , P1 (N)] to generate a packet.
- the encoder 2900 may be configured such that [X1 (50), X2 (31), X3 (7), P1 (40), P2 (1)] X2 (39), X4 (67), P1 (4), X1 (20), P2 (2)], ... [P2 (65), X4 (21), P1 (16), X2 (87) , P2 (M)] to generate a packet.
- encoder 2900 concatenates LDPC-CC encoders 2907 and 2914 having a high coding rate, for example, a coding rate of 4/5, and each LDPC -A configuration is adopted in which rearrangers 2902 and 2909 are arranged in front of the CC encoders 2907 and 2914. Then, the encoder 2900 changes the data to be output according to the designated coding rate. As a result, it is possible to obtain the effect of being able to cope with a plurality of coding rates with a low circuit scale and to obtain high erasure correction capability at each coding rate.
- FIG. 29 illustrates the configuration in which two LDPC-CC encoders 2907 and 2914 with a coding rate of 4/5 are concatenated in the encoder 2900
- the present invention is not limited to this.
- the encoder 2900 may have a configuration in which LDPC-CC encoders 3102 and 2914 of different coding rates are concatenated.
- the same reference numerals are given to those that operate in the same manner as in FIG.
- Rearranger 3101 receives information bit X and stores information bit X. Then, when 5 information bits X are stored, rearranging section 3101 rearranges information bits X and outputs information bits X 1, X 2, X 3, X 4 and X 5 in parallel in 5 systems.
- the LDPC-CC encoder 3103 supports a coding rate of 5/6. LDPC-CC encoder 3103 receives information bits X1, X2, X3, X4, and X5, and control signal 2916, encodes information bits X1, X2, X3, X4, and X5, and outputs parity bits. (P1) 2908 is output. When the control signal 2916 indicates a coding rate of 5/6, the information bits X 1, X 2, X 3, X 4, X 5 and the parity bit (P 1) 2908 are the output of the encoder 2900.
- Rearranger 3104 receives information bits X 1, X 2, X 3, X 4, X 5, parity bit (P 1) 2908, and control signal 2916 as input.
- control signal 2916 indicates coding rate 2/3
- reordering section 3104 stores information bits X1, X2, X3, X4, X5 and parity bit (P1) 2908.
- rearranging section 3104 rearranges stored information bits X1, X2, X3, X4, X5 and parity bit (P1) 2908, and outputs the rearranged data in parallel to four systems.
- the four systems include information bits X1, X2, X3, X4, and X5, and a parity bit (P1).
- the LDPC-CC encoder 2914 supports a coding rate of 4/5.
- the LDPC-CC encoder 2914 receives four data and control signals 2916 as input.
- the control signal 2916 indicates a coding rate of 2/3
- the LDPC-CC encoder 2914 encodes data of four systems and outputs a parity bit (P2). Therefore, the LDPC-CC encoder 2914 performs encoding using the information bits X1, X2, X3, X4, X5 and the parity bit P1.
- the coding rate may be set to any coding rate.
- the encoders of the same code may be used, or encoders of different codes may be used.
- FIG. 29 and FIG. 31 show configuration examples of the encoder 2900 in the case of corresponding to two coding rates, it may be made to correspond to three or more coding rates.
- FIG. 32 shows an example of the configuration of the encoder 3200 capable of coping with three or more coding rates.
- Rearranger 3202 receives information bit X and stores information bit X. Then, rearranging section 3202 rearranges the stored information bits X, and outputs the rearranged information bits X as first data 3203 to be encoded by LDPC-CC encoder 3204 in the subsequent stage.
- the LDPC-CC encoder 3204 supports a coding rate (n-1) / n.
- LDPC-CC encoder 3204 receives first data 3203 and control signal 2916 as input, encodes first data 3203 and control signal 2916, and outputs parity bit (P1) 3205. When the control signal 2916 indicates the coding rate (n ⁇ 1) / n, the first data 3203 and the parity bit (P1) 3205 become the output of the encoder 3200.
- Rearranger 3206 receives first data 3203, parity bit (P1) 3205, and control signal 2916 as input.
- the control signal 2916 indicates a coding rate ⁇ (n-1) (m-1) ⁇ / (nm) or less
- the reordering unit 3206 transmits the first data 3203 and the bit parity (P1). Accumulate 3205
- rearranging section 3206 rearranges stored first data 3203 and parity bit (P1) 3205, and rearranged first data 3203 and parity bit (P1) 3205 to a later-stage LDPC-CC.
- the second data 3207 to be encoded by the encoder 3208 is output.
- the LDPC-CC encoder 3208 supports a coding rate (m-1) / m.
- the LDPC-CC encoder 3208 receives the second data 3207 and the control signal 2916 as inputs. Then, when the control signal 2916 indicates a coding rate ⁇ (n-1) (m-1) ⁇ / (nm) or less, the LDPC-CC encoder 3208 encodes the second data 3207. Then, the parity (P2) 3209 is output.
- the control signal 2916 indicates the coding rate ⁇ (n-1) (m-1) ⁇ / (nm)
- the second data 3207 and the parity bit (P2) 3209 become the output of the encoder 3200. .
- Rearranger 3210 receives second data 3207, parity bit (P2) 3209, and control signal 2916 as input.
- the control signal 2916 indicates a coding rate ⁇ (n-1) (m-1) (s-1) ⁇ / (nms) or less
- the reordering unit 3210 selects the second data 3209 and the parity bit ( P2) 3207 is stored.
- the rearranging section 3210 rearranges the second data 3209 after storage and the parity bit (P2) 3207, and sorts the second data 3209 after rearranging and the parity (P2) 3207 into a subsequent LDPC-CC code. It outputs as the 3rd data 3211 of the encoding object of the converter 3212.
- the LDPC-CC encoder 3212 supports a coding rate (s ⁇ 1) / s.
- the LDPC-CC encoder 3212 receives the third data 3211 and the control signal 2916 as inputs. Then, if the control signal 2916 indicates a coding rate ⁇ (n-1) (m-1) (s-1) ⁇ / (nms) or less, the LDPC-CC encoder 3212 sends the third data 3211 Coding is performed to output a parity bit (P3) 3213.
- the control signal 2916 indicates a coding rate ⁇ (n-1) (m-1) (s-1) ⁇ / (nms)
- the third data 3211 and the parity bit (P3) 3213 are encoders. It is an output of 3200.
- FIG. 32 An example of a structure of the decoder 3310 corresponding to the encoder 3200 of FIG. 32 is shown in FIG.
- a matrix 3300 indicates the parity check matrix H used by the decoder 3310.
- Matrix 3301 indicates a submatrix corresponding to LDPC-CC encoder 3204
- matrix 3302 indicates a submatrix corresponding to LDPC-CC encoder 3208
- matrix 3303 corresponds to LDPC-CC encoder 3212 Submatrices are shown. Similarly, in the parity check matrix H, submatrices will follow.
- the decoder 3310 holds the parity check matrix of the lowest coding rate.
- the BP decoder 3313 is a BP decoder based on the parity check matrix of the lowest coding rate among the supported coding rates.
- the BP decoder 3313 receives the erasure data 3311 and the control signal 3312 as inputs.
- the lost data 3311 is composed of bits for which “0” and “1” have already been determined and bits for which “0” and “1” have not yet been determined (lost).
- the BP decoder 3313 performs erasure correction by performing BP decoding based on the coding rate specified by the control signal 3312, and outputs data 3314 after erasure correction.
- the decoder 3310 will be described below.
- the coding rate (n-1) / n there is no data corresponding to P2, P3,... In the erasure data 3311.
- erasure correction can be performed by the BP decoder 3313 performing a decoding operation with data corresponding to P 2, P 3,... As “0”.
- the erasure data 3311 has no data corresponding to P3,. However, in this case, it is possible to perform erasure correction by the BP decoder 3313 performing a decoding operation with data corresponding to P 3,... As “0”.
- the BP decoder 3313 may operate similarly in the case of other coding rates.
- the decoder 3310 holds the parity check matrix of the lowest coding rate among the supported coding rates, and uses this parity check matrix to cope with BP decoding at a plurality of coding rates. Do. This makes it possible to cope with a plurality of coding rates with a low circuit scale, and to obtain an effect that high erasure correction capability can be obtained at each coding rate.
- LDPC-CC is a type of convolutional code
- termination or tail biting is required to obtain high erasure correction capability.
- the case of using zero-termination described in Embodiment 2 will be considered.
- a method of inserting a termination sequence is described.
- the number of information bits is 16384 bits, and the number of bits constituting one packet is 512 bits.
- coding is performed using LDPC-CC with a coding rate of 4/5.
- the number of parity bits is 4096 (16384/4) bits. Become. Therefore, if one packet is composed of 512 bits (however, it is assumed that 512 bits do not contain any bits other than information such as an error detection code), 40 packets are generated.
- the termination sequence insertion method which considered the bit number which comprises a packet is proposed.
- termination is performed so that the sum of the number of information bits (not including the termination sequence), the number of parity bits, and the number of bits of the termination sequence is an integral multiple of the number of bits constituting the packet.
- the bits constituting the packet do not include control information such as an error detection code, and the number of bits constituting the packet means the number of bits of data related to the erasure correction coding.
- a termination sequence of 512 ⁇ h bits (h is a natural number) is to be added.
- h is a natural number
- packets can be efficiently configured.
- the number of information bits is (n-1) ⁇ c bits
- parity bits of c bits are obtained using an LDPC-CC with a coding rate (n-1) / n.
- the relationship between the number d of bits of zero termination and the number z of bits forming one packet is considered.
- the number of bits z constituting the packet does not include control information such as an error detection code
- the number of bits z constituting the packet means the number of bits of data related to erasure correction coding.
- A is an integer.
- dummy data padded (not the original information bits, but known bits added to the information bits to facilitate encoding (for example, "0")) may be included. The padding will be described later.
- the sorting unit is generally configured using a RAM. Therefore, it is difficult for the sorting unit 2215 to realize hardware that can handle sorting even with respect to the size of any information bit (information size). Therefore, it is important for the sorting unit to be able to sort for several types of information sizes in order to suppress an increase in hardware scale.
- FIG. 35 shows the packet configuration in these cases. If erasure correction coding is not performed, only the information packet will be sent. In the case of performing erasure correction coding, for example, consider the case of transmitting a packet by any of the following methods.
- Information packets and parity packets are distinguished to generate and transmit packets.
- ⁇ 2> Generate and transmit packets without distinction between information packets and parity packets. In this case, in order to suppress an increase in the circuit scale of hardware, it is desirable to make the number of bits z constituting the packet the same regardless of whether erasure correction coding is performed or not performed.
- equation (63) if the number of information bits used in erasure correction coding is I, equation (63) needs to be established. However, depending on the number of information bits, padding needs to be performed.
- ⁇ is an integer.
- z is the number of bits constituting the packet, and the bits constituting the packet do not include control information such as an error detection code, and the number of bits z constituting the packet is data related to erasure correction coding Means the number of bits of
- the number of bits of information required to perform erasure correction coding is ⁇ ⁇ z bits.
- information of ⁇ ⁇ z bits is not necessarily aligned for erasure correction coding, and in some cases, information may be aligned with a smaller number of bits than ⁇ ⁇ z bits. In this case, dummy data is inserted such that the number of bits is ⁇ ⁇ z bits.
- ⁇ is an integer.
- z is the number of bits constituting the packet, and the bits constituting the packet do not include control information such as an error detection code, and the number of bits z constituting the packet is data related to erasure correction coding Means the number of bits of
- the number of bits z constituting the packet is often configured in byte units. Therefore, if equation (65) holds when the coding rate of LDPC-CC is (n-1) / n, avoid the situation where padding bits are always required in erasure correction coding. Can.
- LDPC such as QC-LDPC code and random LDPC code
- Non-Patent Document 1 Non-Patent Document 2
- Non-Patent Document 3 Non-Patent Document 7
- codes LDPC block codes.
- R b 0 / a 0 , b 1 / a 1 , b 2 / a 2 ,..., B i / a i ,.
- ⁇ is an integer.
- the number of bits constituting the packet does not include control information such as an error detection code, and the number of bits z constituting the packet is the number of bits of data related to erasure correction coding.
- the number of bits of information required to perform erasure correction coding is ⁇ ⁇ z bits.
- information of ⁇ ⁇ z bits is not necessarily aligned for erasure correction coding, and in some cases, information may be aligned with a smaller number of bits than ⁇ ⁇ z bits. In this case, dummy data is inserted such that the number of bits is ⁇ ⁇ z bits.
- parity bits are obtained by performing erasure correction coding.
- the packet will be efficiently configured if equation (70) holds.
- ⁇ is an integer.
- LDPC-CC is a code defined by a low density parity check matrix like LDPC-BC, and can be defined by an infinite-length time-varying parity check matrix, but in fact it is a periodic time-varying parity check You can think in the matrix.
- a parity check matrix and H, when the syndrome former and H T, H T LDPC-CC parity coding rate R d / c (d ⁇ c) can be represented by the equation (71).
- the LDPC-CC defined by the equation (71) is a time-variant convolutional code, and this code is called a time-variant LDPC-CC. Decoding is performed using a parity check matrix H and BP decoding is performed. Assuming the encoding sequence vector u, the following relational expression holds.
- Equation (72) LDPC-CC based on parity check polynomial
- a systematic convolutional code of coding rate R 1/2
- generation matrix G [1 G 1 (D) / G 0 (D)].
- G 1 represents a feed forward polynomial
- G 0 represents a feedback polynomial.
- Equation (74) satisfying Equation (73) is given.
- D exists in (D).
- the code defined by the parity check matrix based on the parity check polynomial satisfying 0 in equation (74) is time-invariant LDPC-CC. Prepare m different parity check polynomials based on equation (74) (m is an integer of 2 or more).
- the parity check polynomial satisfying 0 is expressed as follows.
- the parity P j of the time point j can be obtained from Expression (76).
- the code defined by the parity check matrix generated based on the parity check polynomial satisfying 0 in equation (76) has a time-varying period m LDPC-CC (TV-m-LDPC-CC: Time-varying LDPC-CC with atime It becomes period of m).
- m LDPC-CC Time-varying LDPC-CC with atime It becomes period of m.
- a term of D 0 exists in P (D)
- b j is an integer of 1 or more. Therefore, it has a feature that the parity can be easily obtained sequentially by the register and the exclusive OR.
- the parity check polynomial to be satisfied is expressed as follows.
- parity check polynomials based on equation (77) (m is an integer of 2 or more).
- the parity check polynomial satisfying 0 is expressed as follows.
- X 1 are X 1 (q 1, 2,..., m ⁇ 1) in the parity check polynomial satisfying 0 in equation (81), respectively. It is a vector generated by extracting only the part related to D).
- ⁇ of ⁇ q is a universal quantifier (universal quantifier)
- ⁇ q means all of q.
- Non-Patent Document 13 shows the decoding error rate when maximum likelihood decoding is performed on a uniform random regular LDPC code in a binary input target output channel, and Gallager's reliability is shown by the uniform random regular LDPC code. It is shown that a degree function (see Non-Patent Document 14) can be achieved. However, when BP decoding is performed, it is unclear whether Gallager's reliability function can be achieved by a uniform random regular LDPC code.
- LDPC-CC belongs to the class of convolutional codes.
- the reliability function of convolutional codes is shown in Non-Patent Document 15 and Non-Patent Document 16 and it is shown that the reliability depends on the constraint length. Since LDPC-CC is a convolutional code, it has a structure unique to convolutional codes in the parity check matrix, but if the time-variant period is increased, the position where “1” of the parity check matrix approaches uniform randomness. However, since LDPC-CC is a convolutional code, the parity check matrix has a structure unique to the convolutional code, and the position where “1” exists depends on the constraint length.
- Inference # 1 When BP decoding is used, in regular TV-m-LDPC-CC satisfying the condition of C # 2, when time-varying period m of TV-m-LDPC-CC is increased, “1” is set in the parity check matrix. With respect to the existing position, they approach uniformly randomly, and a code with high error correction capability can be obtained.
- C # 3.2 In the parity check polynomial (82) satisfying zero of the regular TV-m-LDPC-CC satisfying the condition of C # 2, b # q, i mod m in P (D) with respect to ⁇ q ⁇ b #q, j mod m is established. However, i ⁇ j.
- C # 4.1 In the parity check polynomial (82) satisfying zero of the regular TV-m-LDPC-CC satisfying the condition of C # 2, a # q, p, in X p (D) with respect to ⁇ q
- C # 4.2 In the parity check polynomial (82) satisfying zero of the regular TV-m-LDPC-CC satisfying the condition of C # 2, b # q, i mod m in P (D) with respect to ⁇ q
- C # 5.1 In the parity check polynomial (82) satisfying zero of the regular TV-m-LDPC-CC satisfying the condition of C # 2, a # q, p, in X p (D) with respect to ⁇ q
- C # 5.2 In the parity check polynomial (82) satisfying zero of the regular TV-m-LDPC-CC satisfying the condition of C # 2, b # q, i mod m in P (D) with respect to ⁇ q
- a tree starting from a check node corresponding to a #qth parity check polynomial satisfying 0 in equation (82) corresponds to a parity check polynomial from # 0 to # m-1 with respect to ⁇ q. Not all check nodes exist.
- C # 6.2 A parity check polynomial (82) satisfying 0 of the regular TV-m-LDPC-CC satisfying the condition of C # 2: D b # q, i P (D), D b # q, j P
- C # 2 D b # q, i P (D), D b # q, j P
- a tree starting from a check node corresponding to a #qth parity check polynomial satisfying 0 in equation (82) corresponds to a parity check polynomial from # 0 to # m-1 with respect to ⁇ q. Not all check nodes exist.
- C # 7.2 In the parity check polynomial (82) satisfying 0 of the regular TV-m-LDPC-CC satisfying the condition of C # 2, D b # q, i P (D), D b # q, j P Consider a case where the tree is drawn only in variable nodes corresponding to (D) (where i ⁇ j).
- Theorem 2 was proved.
- the time varying period m must be an odd number. Moreover, in order to satisfy the design guidelines, the following conditions are effective from the nature 2 and the nature 3.
- the time-varying cycle m is a prime number.
- the time-varying period m is an odd number, and the number of divisors of m is small.
- time-varying period m is an odd number and the number of divisors of m is small
- the following can be considered as an example of a condition having a high possibility of obtaining a code having a high error correction capability.
- the time variation cycle m is set to ⁇ ⁇ ⁇ .
- ⁇ and ⁇ are odd numbers except 1 and prime numbers.
- the time variation period m is set to ⁇ n .
- ⁇ is an odd number except 1 and is a prime number
- n is an integer of 2 or more.
- the time variation period m is set to ⁇ ⁇ ⁇ ⁇ ⁇ .
- ⁇ , ⁇ , ⁇ are odd numbers except 1 and prime numbers.
- there are m values obtained when the z mod m operation (z is an integer of 0 or more) is performed. Therefore, the number of values obtained when the z mod m operation is performed increases as m increases. . Thus, increasing m makes it easier to meet the above design guidelines.
- the time variation period m is an even number, it does not mean that a code with high error correction capability can not be obtained.
- the time variation period m is 2 g ⁇ ⁇ ⁇ ⁇ .
- ⁇ and ⁇ are odd numbers excluding 1, and ⁇ and ⁇ are prime numbers, and g is an integer of 1 or more.
- the time variation period m is set to 2 g ⁇ ⁇ n .
- ⁇ is an odd number excluding 1, ⁇ is a prime number, n is an integer of 2 or more, and g is an integer of 1 or more.
- the time variation period m is set to 2 g ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ .
- ⁇ , ⁇ and ⁇ are odd numbers excluding one, ⁇ , ⁇ and ⁇ are prime numbers, and g is an integer of 1 or more.
- the time varying cycle m is an odd number not satisfying the above (1) to (3), there is a possibility that high error correction capability can be obtained, and the time varying cycle m has the above (4) Even in the case of even numbers that do not satisfy (6), high error correction capability may be obtained.
- E b / N o energyper of TV11-LDPC-CC (# 3 in Table 9)
- the modulation method is BPSK (Binary Phase Shift Keying) and Normalized as the decoding method.
- v is a normalization factor.
- the BER characteristics of the regular TV11-LDPC-CC exhibit characteristics superior to those of the TV2-LDPC-CC and the TV3-LDPC-CC. Recognize. From the above, it can be confirmed that TV-m-LDPC-CC with a large time-varying cycle based on the design guidelines discussed above can obtain better error correction capability than TV2-LDPC-CC and TV3-LDPC-CC, Confirm the effectiveness of the design guidelines discussed in
- FIG. 8 shown above shows an example of the parity check matrix when using the LDPC-CC of the time-varying period m of the coding rate (n ⁇ 1) / n described in the first embodiment.
- the parity check matrix corresponding to the polynomial (83) is represented as shown in FIG.
- information X 1 , X 2 ,..., X n -1 and parity P at time point k are represented as X 1, k 2, X 2, k 2 ,..., X n -1, k , P k .
- a portion denoted by reference numeral 5501 is a part of a row of a parity check matrix, and is a vector corresponding to a parity check polynomial that satisfies 0th 0 in equation (83).
- the part denoted by reference numeral 5502 is a part of a row of the parity check matrix, and is a vector corresponding to a parity check polynomial that satisfies the first 0 in equation (83).
- “11111” with reference number 5503 is a parity check polynomial X1 (D), X2 (D), X3 (D), X4 (D), P that satisfy the 0th 0 of equation (83).
- “11111” denoted by reference numeral 5504 is a parity check polynomial X1 (D), X2 (D), X3 (D), X4 (D), which satisfies the first 0 of equation (83). It corresponds to the term of P (D).
- FIG. 42 is a diagram showing an example of the rearrangement pattern in the case where the information packet and the parity packet are configured separately.
- the pattern $ 1 shows a pattern example with low erasure correction capability
- the pattern $ 2 shows a pattern example with high erasure correction capability.
- #Z indicates that it is data of the Zth packet.
- the pattern $ 1 can be said to be a pattern example with low erasure correction capability.
- the pattern $ 2 at all time points k, X 1, k, X 2, k, X 3, k, in X 4, k, X 1, k, X 2, k, X 3, k, X It is assumed that 4 and k are composed of data of different packet numbers. At this time, since there is a high possibility that the lost bit can be restored by the row operation in the BP decoding, the pattern $ 2 can be said to be an example of a pattern having a high loss correction capability.
- the reordering unit 2215 may set the reordering pattern to the pattern $ 2 as described above. That is, rearrangement unit 2215 receives information packet 2243 (information packet # 1 to #n), and X 1, k 2, X 2, k 2 , X 3, k 3 , X 4, k are received at all time points k. It is preferable to rearrange the order of information so that data of different packet numbers may be allocated.
- FIG. 43 is a diagram illustrating an example of a rearrangement pattern in the case where the information packet and the parity packet are configured without distinction.
- X 1, k point k, X 2, k, X 3, k, X 4, k, in P k, X 1, k and P k is a data of the same packet.
- data of X 3, k + 1 and X 4 k + 1 identical packets are obtained, and at time point k + 2, data of X 2, k + 2 and P k + 2 identical packets are obtained.
- the pattern $ 2 at all time points k, X 1, k, X 2, k, X 3, k, X 4, k, in P k, X 1, k, X 2, k, X 3, It is assumed that k 1 , X 4 k and P k are composed of data of different packet numbers. At this time, since there is a high possibility that the lost bit can be restored by the row operation in the BP decoding, the pattern $ 2 can be said to be an example of a pattern having a high loss correction capability.
- the erasure correction coding unit 2314 may set the rearrangement pattern to the pattern $ 2 as described above. That is, erasure correction coding section 2314 assigns information X 1, k 2, X 2, k 2 , X 3, k 4, k 4 and parity P k to packets with different packet numbers at all time points k. Information and parity may be rearranged.
- the LDPC-CC with the time variation period h (h is an integer of 4 or more) of the coding rate (n-1) / n described in the first embodiment is used as the erasure correction method.
- h is an integer of 4 or more
- the time variation period h is not limited to 4 or more, and the erasure correction capability can be improved by performing the same rearrangement even in the case of the time variation periods 2 and 3.
- FIG. 44 shows an example of a coding method in a layer higher than the physical layer.
- the coding rate of the error correction code is 2/3
- the data size excluding redundant information such as control information and error detection code in one packet is 512 bits.
- one packet of the information packet is 512 bits, and one packet of the parity packet does not necessarily have to be 512 bits. That is, one packet of the information packet and one packet of the parity packet do not necessarily have the same size.
- the encoder may regard the sub-information packet itself obtained by dividing the information packet as one packet of the information packet.
- the fifth embodiment in particular, the method of inserting a termination sequence and the method of forming a packet have been described.
- the “sub-information packet” and the “sub-parity packet” in the present embodiment are considered as the “sub-information packet” and the “parity packet” described in the fifth embodiment, respectively. 5 can be implemented.
- the number of bits constituting the sub information packet and the number of bits constituting the sub parity packet are equal, it is easy to implement.
- data other than information for example, error detection code
- data other than parity bits is added to the parity packet.
- the conditions regarding termination shown in the equations (62) to (70) are important conditions.
- Embodiment 9 In the first embodiment, the LDPC-CC having good characteristics has been described. In this embodiment, in the case of applying the LDPC-CC described in Embodiment 1 to the physical layer, a shortening method in which the coding rate is variable will be described.
- the term “shortening” refers to generation of a code of a second coding rate (first coding rate> second coding rate) from a code of a first coding rate.
- LDPC-CC based on the parity check polynomial of time variation period h (h is an integer of 4 or more) of coding rate 1/2 described in Embodiment 1 to LDPC of coding rate 1/3
- h is an integer of 4 or more
- the shortening method for generating -CC will be described.
- the known information is not limited to zero, and may be 1 or a value other than a predetermined one, and may be determined in advance as a notification or specification to the communication apparatus of the communication partner.
- Method # 1-2 unlike method # 1-1, as shown in FIG. 47, 2 ⁇ h ⁇ 2 k bits composed of information and parity are taken as one cycle, and in each cycle, known information is placed at the same position. Insert (method # 1-2 insertion rule).
- FIG. 48 shows an example in which, when the time variation cycle is 4, 16 bits composed of information and parity are one cycle.
- known information for example, zero (may be 1 or a predetermined value)
- X0, X2, X4, and X5 in the first one cycle.
- known information for example, zero (may be 1 or a predetermined value) may be inserted in X8, X10, X12, and X13,.
- known information is inserted into X8i, X8i + 2, X8i + 4, and X8i + 5.
- the position at which known information is inserted is the same.
- method # 1-2 as in [method # 1-1], for example, known information is inserted in hk bits of information 2 hk bits, and the coding rate for 2 hk bits of information including known information Coding is performed using 1/2 LDPC-CC. This generates 2 hk bits of parity. At this time, if it is assumed that hk bits of known information are not transmitted, a coding rate of 1/3 can be realized.
- FIG. 49 shows the correspondence between a part of parity check matrix H and codeword w (X0, P0, X1, P1, X2, P2,..., X9, P9).
- element “1” is arranged in the columns corresponding to X2 and X4.
- element “1” is arranged in the columns corresponding to X2 and X9. Therefore, when the known information is inserted into X2, X4, and X9, in the row 4001 and the row 4002, all the information corresponding to the column in which the element is “1” is known. Therefore, in row 4001 and row 4002, since the unknown value is only the parity, it is possible to update the log likelihood ratio with high reliability in the row operation of BP decoding.
- each row in the parity check matrix that is, in the parity check polynomial, all of the information among the parity and the information is known information. It is important to obtain high error correction ability to increase a certain row or a row having a large number of known information (for example, known information except one bit).
- the parity check matrix H there is regularity in the pattern in which the element “1” is arranged.
- error correction is performed from the LDPC-CC with a coding rate of 1/2 and a time varying period h (h is an integer of 4 or more) with good characteristics as described in the first embodiment.
- h is an integer of 4 or more
- a high-performance LDPC-CC with a coding rate of 1/3 and a time varying period h can be realized.
- Method # 1-3 in the period of 2 ⁇ h ⁇ 2k bits an information and parity (since parity is included), information X 2hi, X 2hi + 1, X 2hi + 2, ⁇ , X 2hi + 2h- 1 , ..., X 2h (i + k-1) , X 2h (i + k-1) + 1 , X 2h (i + k-1) + 2 , ..., X 2h (i + k-1) + 2h-1 2 x h
- Known information (for example, zero) is inserted into h ⁇ k Xj of xk bits.
- j takes any value of 2 hi to 2 h (i + k ⁇ 1) +2 h ⁇ 1, and h ⁇ k different values exist.
- the known information may be 1 or a predetermined value.
- the difference between the number with the remainder being (0 + ⁇ ) mod h (where the number is not 0) and the number with which the remainder is (v p 1 + ⁇ ) mod h (where the number is not 0) Is 1 or less,
- the difference between the number with the remainder being (0 + ⁇ ) mod h (where the number is not 0) and the number with which the remainder is (y p 1 + ⁇ ) mod h (where the number is not 0) Is 1 or less
- the number for which the remainder is (v p 1 + ⁇ ) mod h (where the number is not 0) and "the remainder is (y
- each row of the parity check matrix H that is, in the parity check polynomial, there are many rows in which all the information becomes known information, or the number of known information is large. It is possible to increase the number of lines (for example, known information other than one bit) as much as possible.
- the LDPC-CC having the time varying period h described above satisfies ⁇ condition # 17>.
- the parity check polynomial of equation (84) in the parity check matrix is The corresponding submatrices (vectors) are represented as shown in FIG.
- “1” of reference numeral 4101 corresponds to D a # g, 1, 1 X 1 (D).
- “1” of reference numeral 4102 corresponds to D a # g, 1, 2 X 1 (D).
- “1” of code number 4103 corresponds to X 1 (D).
- reference numeral 4104 corresponds to P (D).
- a shortening that realizes a coding rate smaller than the coding rate (n-1) / n with high error correction capability by using the LDPC-CC with the time varying period h of the coding rate (n-1) / n mentioned above The method is as follows.
- Method # 2-1 In the method # 2-1, known information (for example, zero (may be 1 or a predetermined value)) is regularly inserted into the information X (insertion rule of the method # 2-1).
- Method # 2-2 In method # 2-2, unlike method # 2-1, as shown in FIG. 51, h ⁇ n ⁇ k bits composed of information and parity are taken as one cycle, and in each cycle, known information is placed at the same position. Insert (Method # 2-2 Insertion Rule). Inserting known information at the same position in each cycle is as described in [Method # 1-2] above using FIG.
- Method # 2-3 in a period of h ⁇ n ⁇ k bits composed of information and parity, information X 1, hi , X 2, hi ,..., X n -1, hi ,. ⁇ ⁇ , X 1, h (i + k-1) + h-1 , X2 , h (i + k-1) + h-1 , ..., X n-1, h (i + k-1) h-1 h ⁇ Select Z bits from (n-1) ⁇ k bits, and insert known information (for example, zero (may be 1 or a predetermined value)) into the selected Z bits (method # 2-3 Insertion rules).
- the coding rate (n-1) / n having a high error correction capability can be obtained using an LDPC-CC with a time-variant period h with a good coding rate (n-1) / n with the above-mentioned characteristics.
- a coding rate can be realized.
- Method # 2-3 describes the case where the number of pieces of known information to be inserted is the same in each cycle, but the number of pieces of known information to be inserted may be different in each cycle. For example, as shown in FIG. 52, N 0 pieces of information are known information in the first period, N 1 pieces of information are known information in the next period, and Ni pieces of known information in the i-th period. You may make it to. Thus, when the number of pieces of known information to be inserted is different in each period, the concept of the period does not make sense. If the insertion rule of the method # 2-3 is expressed without using the concept of the period, it becomes like [method # 2-4].
- the coding rate (n-1) / n having a high error correction capability can be obtained using an LDPC-CC with a time-variant period h with a good coding rate (n-1) / n with the above-mentioned characteristics.
- a coding rate can be realized.
- FIG. 53 is a block diagram showing an example of a configuration of a part (error correction coding unit 44100 and transmission apparatus 44200) related to coding in the case where the coding rate is made variable in the physical layer.
- Known information insertion unit 4403 receives information 4401 and control signal 4402, and inserts known information according to the information of the coding rate included in control signal 4402. Specifically, when the coding rate included in control signal 4402 is smaller than the coding rate supported by encoder 4405 and it is necessary to perform shortening, known information is inserted according to the above-described shortening method. , Output information 4404 after inserting the known information. When the coding rate included in control signal 4402 is equal to the coding rate supported by encoder 4405 and there is no need to perform shortening, no known information is inserted, and information 4401 is used as information 4404 as it is. Output.
- Encoder 4405 receives information 4404 and control signal 4402 as input, encodes information 4404, generates parity 4406, and outputs parity 4406.
- Known information reduction unit 4407 receives information 4404 and control signal 4402, and based on the information of the coding rate included in control signal 4402, known information insertion unit 4403 inserts known information, information 4404. The known information is deleted from and the information 4408 after the deletion is output. On the other hand, when the known information insertion unit 4403 does not insert the known information, the information 4404 is output as the information 4408 as it is.
- Modulator 4409 receives parity 4406, information 4408, and control signal 4402 as input, and modulates parity 4406 and information 4408 based on the modulation scheme information included in control signal 4402 to generate and output baseband signal 4410.
- FIG. 54 is a block diagram showing another example of the configuration of a portion (error correction coding unit 44100 and transmitting device 44200) related to coding when making the coding rate variable in the physical layer, which is different from FIG. 53. is there. As shown in FIG. 54, the information 4401 input to the known information insertion unit 4403 is input to the modulation unit 4409 so that the known information reduction unit 4407 shown in FIG. 53 may be omitted as in FIG. 53. The coding rate can be made variable.
- FIG. 55 is a block diagram showing an example of a configuration of the error correction decoding unit 46100 in the physical layer.
- the log likelihood ratio insertion unit 4603 of the known information receives the log likelihood ratio signal 4601 of the received data and the control signal 4602 as input.
- the log likelihood ratio insertion unit 4603 uses the log likelihood ratio of the known information based on the information on the coding rate included in the control signal 4602 to calculate the log likelihood of the known information with high reliability.
- a power ratio is inserted into the log likelihood ratio signal 4601.
- the log likelihood ratio insertion unit 4603 outputs the log likelihood ratio signal 4604 after the log likelihood ratio insertion of the known information.
- Information on the coding rate included in control signal 4602 is transmitted from, for example, the other party in communication.
- Decoding section 4605 receives control signal 4602 and log likelihood ratio signal 4604 after inserting log likelihood ratio of known information as input, and decodes based on information of coding method such as coding rate included in control signal 4602 , The received data is decoded, and the decoded data 4606 is output.
- Known information reduction section 4607 receives control signal 4602 and decoded data 4606 as input, and if known information is inserted based on information of coding method such as coding rate included in control signal 4602, known. Information is deleted, and information 4608 after deletion of known information is output.
- the shortening method for realizing the coding rate smaller than the coding rate of the code from the LDPC-CC with the time varying period h described in the first embodiment has been described.
- the shortening method according to the present embodiment when the LDPC-CC with the time varying period h described in the first embodiment is used in the packet layer, it is possible to achieve both improvement in transmission efficiency and improvement in erasure correction capability. be able to.
- good error correction capability can be obtained.
- a termination sequence may be added to the end of a transmission information sequence to perform termination processing (termination).
- the coding unit 4405 receives known information (for example, all zeros) as an input, and the termination sequence is configured only from a parity sequence obtained by coding the known information. Therefore, in the termination sequence, a portion that does not conform to the insertion rule of known information described in the present invention occurs.
- there may be both a portion according to the insertion rule and a portion not inserting known information in order to improve the transmission rate. Termination processing (termination) will be described in the eleventh embodiment.
- Method # 3-1 In method # 3-1, as shown in FIG. 56, h ⁇ n ⁇ k bits (k is a natural number) composed of information and parity are set as a period, and in each period, the known information included in the known information packet is the same position Insert into (Method # 3-1 Insertion Rule). In each cycle, inserting the known information included in the known information packet into the same position is as described in the method # 2-2 and the like of the ninth embodiment.
- Method # 3-2 in a period of h ⁇ n ⁇ k bits composed of information and parity, information X 1, hi , X 2, hi ,..., X n -1, hi ,. ⁇ ⁇ , X 1, h (i + k-1) + h-1 , X2 , h (i + k-1) + h-1 , ..., X n-1, h (i + k-1) h-1 h ⁇ Select Z bits from (n ⁇ 1) ⁇ k bits, and insert data (for example, zero (may be 1 or a predetermined value) of a known information packet) into the selected Z bits (method # 3— 2 insertion rules).
- data for example, zero (may be 1 or a predetermined value
- the erasure correction method in the upper layer has been described above as the erasure correction method in which the coding rate of the erasure correction code is made variable.
- known information is provided in the previous stage of erasure correction coding related processing unit 2112 in FIG. By inserting a packet, the coding rate of the erasure correction code can be changed.
- the coding rate can be made variable according to the communication situation, so that the transmission efficiency can be improved by increasing the coding rate when the communication situation is good.
- the coding rate is reduced, as in [Method # 3-2], the erasure correction capability is improved by inserting known information included in the known information packet according to the parity check matrix. Can.
- Method # 3-2 describes the case where the number of data of the known information packet to be inserted is the same in each cycle, but the number of data to be inserted may be different in each cycle. For example, as shown in FIG. 57, N 0 pieces of information are data of known information packets in the first cycle, N 1 pieces of information are data of known information packets in the next cycle, and N in the i-th cycle. The i pieces of information may be data of the known information packet.
- method # 3-3 the data sequence formed from the information and parity information X 1,0, X 2,0, ⁇ , X n-1,0, ⁇ , X 1, v, X 2, v, ⁇ , X n-1, v selected Z bits from the bit sequence of known information Z bits selected (e.g., may be the zero (1, may be a predetermined value) Insert) (method # 3-3 insertion rules).
- the erasure correction code has a variable coding rate of the erasure correction code using the method of realizing a coding rate smaller than the coding rate of the code from the LDPC-CC of the time varying period h described in the first embodiment.
- the system was described.
- the coding rate variable method according to the present embodiment it is possible to achieve both improvement in transmission efficiency and improvement in erasure correction capability, and good erasure even when the coding rate is changed at erasure correction. You can get the correction ability.
- FIG. 58 is a diagram for describing “Information-zero-termination” in LDPC-CC at a coding rate (n ⁇ 1) / n.
- Information bits X 1 , X 2 ,..., X n ⁇ 1 and parity bits P at time point i (i 0, 1, 2, 3,..., S), X 1, i , X 2, i, ⁇ ⁇ ⁇ , and X n-1, i and parity bit P i.
- X n ⁇ 1, s is the final bit (4901) of the information to be transmitted.
- the encoder only encodes until time s and the transmitter on the coding side transmits to the receiver on the decoding side only up to P s, then the decoder receives information bits The quality is greatly degraded.
- encoding is performed on the assumption that the information bit after the final information bit X n ⁇ 1, s (referred to as “virtual information bit”) is “0”, and the parity bit (4903) Generate
- the transmission device encoding side, X 1, s at the time point s, X 2, s, after transmission ⁇ , X n-1, s , the P s, P t1, P t2 , ⁇ , Send Ptm .
- the decoder uses the fact that the virtual information bit is known to be “0” after time point s to perform decoding. In the above description, the case where the virtual information bit is “0” has been described as an example, but the present invention is not limited to this, and the virtual information bit can be implemented similarly if it is known data in the transmitting and receiving device. .
- the time-varying cycle is a prime number.
- the time-varying cycle is an odd number, and the number of divisors with respect to the value of the time-varying cycle is small.
- it is considered to increase the time variation cycle and generate a code.
- code generation is performed using a random number given a constraint condition.
- the time variation period is increased, the number of parameters set using the random number increases, and high error correction capability is obtained.
- search for the code becomes difficult.
- a different code generation method using LDPC-CC based on the parity check polynomial described in the first and sixth embodiments will be described.
- X 1 (D), X 2 (D), ⁇ , X n-1 (D) is data (information) X 1, X 2, a polynomial representation of ⁇ X n-1, P (D) is a polynomial representation of parity.
- formulas (86-0) to (86-14) for example, in the case of a coding rate of 1/2, only the terms of X 1 (D) and P (D) exist, X 2 (D),.
- the term X n-1 (D) does not exist.
- a # q, p, 1 , a # q, p, 2 and a # q, p, 3 are natural numbers, and a # q, p, 1 ⁇ a # q, p, 2 , A # q, p, 1 ⁇ a # q, p, 3 , a # q, p, 2 ⁇ a # q, p, 3 shall hold.
- the parity check polynomial of equation (86-q) is referred to as “check equation #q”, and the submatrix based on the parity check polynomial of equation (86-q) is referred to as the q-th submatrix H q .
- an LDPC- of a time varying period 15 generated from the zeroth submatrix H 0 , the first submatrix H 1 , the second submatrix H 2 ,..., The thirteenth submatrix H 13 , and the fourteenth submatrix H 14 Think about CC. Therefore, the code configuration method, the parity check matrix generation method, the encoding method, and the decoding method are the same as the methods described in the first embodiment and the sixth embodiment.
- the time variation period of the LDPC-CC is 15 by setting the time variation period 3 of the coefficient of X 1 (D) and the time variation period 5 of the coefficient of P (D) as an example.
- the time variation period of the coefficient of X 1 (D) is ⁇
- the time variation period of the coefficient of P (D) is ⁇ ( ⁇ ⁇ ⁇ )
- the case of LDPC-CC A code is formed in which the variation period is LCM ( ⁇ , ⁇ ).
- LCM (X, Y) is the least common multiple of X and Y.
- ⁇ condition # 19-1> and ⁇ condition # 20-1> are not necessarily required conditions. That is, only ⁇ condition # 19-2> and ⁇ condition # 20-2> may be given as conditions. Also, instead of ⁇ Condition # 19-1> and ⁇ Condition # 20-1>, the conditions of ⁇ Condition # 19-1 ′> and ⁇ Condition # 20-1 ′> may be given.
- the polynomial is expressed by the following equation.
- ⁇ condition # 21-1> and ⁇ condition # 22-1> are not necessarily required conditions. That is, only ⁇ condition # 21-2> and ⁇ condition # 22-2> may be given as conditions. Also, instead of ⁇ Condition # 21-1> and ⁇ Condition # 22-1>, the conditions of ⁇ Condition # 21-1 ′> and ⁇ Condition # 22-1 ′> may be given.
- ⁇ and ⁇ may be “coprime”.
- “ ⁇ and ⁇ are mutually prime” means that ⁇ and ⁇ are in a relationship having no common divisor except 1 (and ⁇ 1).
- the time variation period can be expressed by ⁇ ⁇ ⁇ .
- ⁇ and ⁇ may be odd numbers.
- high error correction capability can be obtained even if ⁇ and ⁇ are not odd.
- a code configuration method of an LDPC-CC will be described in which the time variation period ⁇ n-1 of the coefficient of -1 (D) and the time variation period ⁇ of the coefficient of P (D) are used.
- time variation period s LCM ( ⁇ 1 , ⁇ 2 ,... ⁇ n ⁇ 2 , ⁇ n ⁇ 1 , ⁇ ). That is, the time varying period s is the least common multiple of ⁇ 1 , ⁇ 2 ,... ⁇ n-2 , ⁇ n -1 , ⁇ .
- parity check polynomial that satisfies the above is a parity check polynomial that satisfies the zero represented by the following equation.
- a low density parity check convolutional code (LDPC-CC: Low-Density Parity-Check) with a time varying period s is used.
- Supplying the i-th (i 0, 1,..., S-2, s-1) parity check polynomial represented by the equation (96-i);
- Obtaining an LDPC-CC code word by linear operation of the 0th to (s-1) th parity check polynomials and the input data, and the time varying period of the coefficient A Xk, i of X k (D) is ⁇ k ( ⁇ k is an integer greater than 1) (k 1, 2,..., n ⁇ 2, n ⁇ 1), and the time variation period of the coefficient B Xk, i of P (D) is ⁇ beta is an integer greater than 1), the time varying period s is, ⁇ 1, ⁇ 2, ⁇ ⁇ n-2, ⁇ n-1, is the least common multiple of ⁇ , i
- the time variation cycle By providing the conditions as described above, it is possible to increase the time variation cycle and reduce the number of parameters set using random numbers, so that it is possible to obtain an effect that the code search becomes easy. .
- ⁇ 1 , ⁇ 2 ,..., ⁇ n -2 , ⁇ n-1 and ⁇ can do.
- the time variation period can be expressed by ⁇ 1 ⁇ ⁇ 2 ⁇ ... ⁇ ⁇ n -2 ⁇ ⁇ n -1 ⁇ ⁇ .
- ⁇ 1 , ⁇ 2 ,..., ⁇ n-2 , ⁇ n-1 and ⁇ may be odd numbers. However, even if it is not odd, there is a possibility that high error correction capability can be obtained. (Embodiment 13)
- an LDPC-CC that can configure a low circuit scale encoder / decoder in the LDPC-CC described in the twelfth embodiment is proposed.
- the time variation period of X 1 (D) is ⁇ 1
- the time variation period of P (D) is ⁇
- the time variation period s is LCM ( ⁇ 1 , ⁇ )
- an LDPC-CC based on a parity check polynomial with a coding rate of 1/2 based on equation (99-i) and an LDPC with a coding rate of 2/3 that can share the circuit of the encoder / decoder
- the conditions of-CC are described below.
- ⁇ 2 may be ⁇ 1 or ⁇ , and ⁇ 2 may be a natural number having a prime relation with ⁇ 1 and ⁇ .
- ⁇ 2 is characterized by being able to efficiently increase the time-variant period if it is a natural number having a prime relation with ⁇ 1 and ⁇ .
- ⁇ 1 , ⁇ 2 and ⁇ may be odd numbers. However, there is a possibility that high error correction capability can be obtained even if ⁇ 1 , ⁇ 2 and ⁇ are not odd numbers.
- FIG. 60 is a diagram schematically showing a parity check polynomial of an LDPC-CC with a coding rate of 1/2 and 2/3 which can make the circuit of the encoder / decoder common.
- the coding rate 2/3 LDPC-CC is described in which the coding rate 1/2 LDPC-CC and the encoder / decoder circuit can be made common.
- an LDPC-CC with a coding rate (n-1) / n and an encoder / decoder capable of sharing the circuit of the encoder / decoder with a coding rate (n-1) / n can be generalized.
- the code configuration method of -CC (n ⁇ m) will be described.
- the time variation period of X 1 (D) is ⁇ 1
- the time variation period of X 2 (D) is ⁇ 2
- the time variation period of X n -1 (D) is ⁇ n-1
- P (D , And LCM ⁇ 1 , ⁇ 2 , ..., ⁇ n -1 , ⁇ )
- ⁇ 1 , ⁇ 2 , ..., ⁇ n -1 P (D , And LCM ( ⁇ 1 , ⁇ 2 , ..., ⁇ n -1 , ⁇ )
- the i-th (i 0, 1, 2, ..., s-2, s-1) of an LDPC-CC that is the least common multiple of ⁇ and is based on a parity check polynomial of (n-1) / n
- the parity check polynomial to be satisfied is expressed by the following equation.
- an LDPC-CC having a coding rate (m-1) / m capable of sharing the above-mentioned coding rate (n-1) / n LDPC-CC and the encoder / decoder circuit can be used.
- m-1) / m capable of sharing the above-mentioned coding rate (n-1) / n LDPC-CC and the encoder / decoder circuit
- i-th 0, 1, 2, ..., z-2, z-1) based on parity check polynomial of time-varying period z of coding rate (m-1) / m
- the polynomial is expressed by the following equation.
- the conditions of (m-1) / m LDPC-CC are described below.
- ⁇ h may be a natural number. If ⁇ 1 , ⁇ 2 ,..., ⁇ n -1, ⁇ n ,..., ⁇ m -1 , ⁇ are all natural numbers of mutually prime relations, the time-variant period can be efficiently enlarged. It is characterized by Further, based on the description of the sixth embodiment, ⁇ 1 , ⁇ 2 ,..., ⁇ n-1, ⁇ n ,..., ⁇ m-1 , ⁇ may be odd numbers. However, even if it is not odd, there is a possibility that high error correction capability can be obtained.
- the time variation period z is LCM ( ⁇ 1 , ⁇ 2 ,..., ⁇ n-1 , ⁇ n ,..., ⁇ m -1 , ⁇ ), that is, ⁇ 1 , ⁇ 2 ,. ⁇ ⁇ n-1 , ⁇ n , ..., ⁇ m-1 , and the least common multiple of ⁇ .
- the highest code rate among code rates for sharing circuits is set as (q-1) / q.
- the transmitting / receiving apparatus sets the corresponding coding rate to 1/2, 2/3, 3/4, 5/6
- the codes of the coding rates 1/2, 2/3, 3/4 are encoded. It is assumed that the circuit is made common in the decoder / decoder, and the code rate 5/6 does not make the circuit common in the encoder / decoder.
- the highest coding rate (q-1) / q described above is 3/4.
- an encoder that generates an LDPC-CC with a time-varying cycle z (z is a natural number) that can cope with a plurality of coding rates (r-1) / r (r is an integer of 2 or more and q or less) will be described. Do.
- FIG. 61 is a block diagram showing an example of a main configuration of an encoder according to the present embodiment.
- the encoder 5800 shown in FIG. 61 is an encoder capable of coping with coding rates of 1/2, 2/3, and 3/4.
- the encoder 5800 in FIG. 61 includes an information generation unit 5801, a first information calculation unit 5802-1, a second information calculation unit 5802-2, a third information calculation unit 5802-3, a parity calculation unit 5803, an addition unit 5804, A coding rate setting unit 5805 and a weight control unit 5806 are mainly included.
- Information generation unit 5801 sets information X 1, k at time k , information X 2, k , and information X 3, k according to the coding rate specified by coding rate setting unit 5805. For example, when the coding rate setting unit 5805 sets the coding rate to 1/2, the information generation unit 5801 sets the input information data S j to the information X 1, k at time k, and the information X at time k 0 is set to the information X 3, k at 2, k and time k.
- the information generation unit 5801 sets the input information data S j to the information X 1, k at the time k, and the input information data S j + 1 to the information X 2, k at the time k. Set and set 0 to information X 3, k at time k. Further, in the case of the coding rate 3/4, the information generation unit 5801 sets the input information data S j to the information X 1, k at the time k and the input information data S j + 1 to the information X 2, k at the time k. The input information data S j + 2 is set to the information X 3, k at time k.
- the information generation unit 5801 transmits input information data to the information X 1, k at time k , information X 2, k , information X 3 , K , the information X 1, k after setting is output to the first information calculation unit 5802-1, and the information X 2, k after setting is output to the second information calculation unit 5802-2, after setting Information X 3, k of the above is output to the third information calculation unit 5802-3.
- the first information operation unit 5802-1 generates X 1 (X 1 (n) according to A X1, i (D) of the equation (106-i) (which corresponds to the equation (109-i) because the equation (110) holds). Calculate D).
- the second information operation unit 5802-2 according to A X2, i (D) of the equation (106-2) (which corresponds to the equation (109-i) because the equation (110) holds), Calculate X 2 (D).
- the third information calculation unit 580-3 calculates X 3 (D) according to C X3, i (D) in equation (109-i).
- Equation (109-i) satisfies ⁇ Condition # 33> and ⁇ Condition # 34>, even if the coding rate is switched, the first information calculation unit 5802 There is no need to change the configuration of 1, and similarly, there is no need to change the configuration of the second information calculation unit 5802-2. Therefore, when dealing with a plurality of coding rates, based on the configuration of the coder with the highest coding rate among the code rates that can be shared by the encoder circuits, the above operation , Other coding rates can be accommodated. In other words, the advantages that the first information operation unit 5802-1 and the second information operation unit 5802-2, which are the main parts of the encoder, can be common regardless of the coding rate are described above. LDPC-CC will have.
- FIG. 62 shows an internal configuration of the first information calculation unit 5802-1.
- the first information operation unit 5802-1 in FIG. 62 includes shift registers 5901-1 to 5901-M, weight multipliers 5902-0 to 5902-M, and an addition unit 5903.
- Weight multipliers 5902-0 to 5902 -M switch the value of h 1 (t) to 0 or 1 in accordance with the control signal output from weight control unit 5904.
- Adder 5903 performs an exclusive OR operation on the outputs of weight multipliers 5902-0 to 5902 -M to calculate operation result Y 1, k and calculates Y 1, k as shown in FIG. It is output to the addition unit 5804.
- the internal configuration of the second information calculation unit 5802-2 and the third information calculation unit 5802-3 is the same as that of the first information calculation unit 5802-1, and thus the description thereof is omitted.
- the second information calculation unit 5802-2 calculates the calculation result Y2 , k in the same manner as the first information calculation unit 5802-1, and outputs the calculated Y2 , k to the addition unit 5804 in FIG.
- the third information calculation unit 5802-3 calculates the calculation result Y 3, k in the same manner as the first information calculation unit 5802-1, and outputs the calculated Y 3, k to the addition unit 5804 in FIG. .
- the parity operation unit 5803 of FIG. 61 calculates P (D) according to B i (D) of equation (106-i) (which corresponds to equation (109-i) because equation (111) holds).
- FIG. 63 shows an internal configuration of parity operation unit 5803 in FIG.
- the parity calculation unit 5803 in FIG. 63 includes shift registers 6001-1 to 6001-M, weight multipliers 6002-0 to 6002-M, and an addition unit 6003.
- the weight multipliers 6002-0 to 6002 -M switch the value of h 2 (t) to 0 or 1 in accordance with the control signal output from the weight control unit 6004.
- Adder 6003 performs an exclusive OR operation on the outputs of weight multipliers 6002-0 to 6002 -M, calculates operation result Z k, and outputs calculated Z k to adder 5804 in FIG. 61. .
- the addition unit 5804 performs the operation output from the first information operation unit 5802-1, the second information operation unit 5802-2, the third information operation unit 5802-3, and the parity operation unit 5803. results Y 1, k, Y 2, k, Y 3, k, performs an XOR operation of the Z k, to obtain a parity P k at time k, and outputs.
- the adder 5804 also outputs the parity P k at time k to the parity calculator 5803.
- the coding rate setting unit 5805 sets the coding rate of the coding unit 5800 and outputs information on the coding rate to the information generation unit 5801.
- the weight control unit 5806 sets the value of h 1 (m) at time k based on the parity check polynomial satisfying the zeros of the expressions (106-i) and (109-i) held in the weight control unit 5806 to the first value.
- the information calculation unit 5802-1, the second information calculation unit 5802-2, the third information calculation unit 5802-3, and the parity calculation unit 5803 are output.
- weight control unit 5806 performs h 2 (m) at that timing based on a parity check polynomial that satisfies zero corresponding to equations (106-i) and (109-i) held in weight control unit 5806.
- the value of is output to 6002-0 to 6002-M.
- FIG. 64 shows another configuration example of the encoder according to the present embodiment.
- the same components as in the encoder of FIG. 61 are assigned the same reference numerals as in FIG.
- the coding rate setting unit 5805 controls the coding rate information as the first information computing unit 5802-1, the second information computing unit 5802-2, the third information computing unit 5802-3,
- the present embodiment is different from the encoder 5800 in FIG.
- the second information operation unit 5802-2 When the coding rate is 1/2, the second information operation unit 5802-2 outputs 0 as the operation result Y 2, k to the addition unit 5804 without performing the operation process. Further, when the coding rate is 1/2 or 2/3, the third information calculation unit 5802-3 outputs 0 as the calculation result Y 3, k to the addition unit 5804 without performing the calculation process. .
- the information generation unit 5801 sets the information X 2, i and the information X 3, i at time point i to 0 according to the coding rate, while FIG.
- the second information arithmetic unit 5802-2 and the third information arithmetic unit 5802-3 stop the arithmetic processing according to the coding rate, and calculate the arithmetic results as Y2 , k , Y3 , k. Since 0 is output, the operation result obtained is the same as that of the encoder 5800 in FIG.
- the second information operation unit 5802-2 and the third information operation unit 5802-3 stop the operation processing according to the coding rate, so the code in FIG. The arithmetic processing can be reduced compared to the conversion unit 5800.
- LDPC-CC at a coding rate (n-1) / n and an encoder / decoder as described using equations (106-i) and (109-i) LDPC-CC (n ⁇ m) code with a coding rate (m-1) / m that can share the following circuits, an LDPC with a large coding rate (m-1) / m Prepare an encoder of -CC, and output an operation related to Xk (D) (where k n, n + 1, ..., m-1) at a coding rate (n-1) / n By setting 0 to zero and determining the parity at the coding rate (n-1) / n, it is possible to share the circuit of the encoder.
- FIG. 65 is a block diagram showing the main configuration of a decoder according to this embodiment.
- the decoder 6100 shown in FIG. 65 is a decoder capable of coping with coding rates of 1/2, 2/3, and 3/4.
- the decoder 6100 in FIG. 65 mainly includes a log likelihood ratio setting unit 6101 and a matrix processing operation unit 6102.
- the log likelihood ratio setting unit 6101 receives the reception log likelihood ratio and the coding rate calculated by the log likelihood ratio calculation unit (not shown), and the reception log likelihood ratio is known according to the coding rate. Insert log likelihood ratio. For example, when the coding rate is 1/2, the encoder 5800 corresponds to transmitting “0” as X 2, k and X 3, k , so the log likelihood ratio setting unit 6101 A fixed log likelihood ratio corresponding to the known bit "0" is inserted as a log likelihood ratio of X2 , k , X3 , k , and the log likelihood ratio after insertion is output to the matrix processing operation unit 6102. . This will be described below with reference to FIG.
- log likelihood ratio setting section 6101 receives the log-likelihood ratio LLR X2 inserted by, k, the LLR 3, k.
- the log likelihood ratio setting unit 6101 inserts a fixed value log likelihood ratio as the reception log likelihood ratio LLR X2, k , LLR3 , k .
- the log likelihood ratio setting unit 6101 uses the known bit “0”.
- the fixed log likelihood ratio corresponding to “ 3. k is inserted as a log likelihood ratio of X 3, k , and the log likelihood ratio after insertion is output to the matrix processing operation unit 6102.
- FIG. 67 in the case of the coding rate 2/3, log likelihood ratio setting section 6101 receives LLRs X1, k 2, L k corresponding to X 1, k 2, X 2 k and P k .
- LLR X2, k and LLR Pk are input.
- log likelihood ratio setting unit 6101 inserts reception log likelihood ratio LLR 3, k corresponding to X 3, k .
- the reception log likelihood ratio surrounded by a dotted circle indicates the reception log likelihood ratio LLR 3, k inserted by the log likelihood ratio setting unit 6101.
- the log likelihood ratio setting unit 6101 inserts a fixed value log likelihood ratio as the reception log likelihood ratio LLR 3, k .
- the matrix processing operation unit 6102 in FIG. 65 includes a storage unit 6103, a row processing operation unit 6104, and a column processing operation unit 6105.
- the storage unit 6103 holds the reception log likelihood ratio, the external value ⁇ mn obtained by the row process, and the prior value ⁇ mn obtained by the column process.
- the row processing operation unit 6104 holds the weight pattern of the parity check matrix H in the row direction of the LDPC-CC of the maximum coding rate 3/4 among the coding rates supported by the encoder 5800.
- the row processing operation unit 6104 reads a necessary prior value ⁇ mn from the storage unit 6103 according to the weight pattern in the row direction, and performs a row processing operation.
- row processing computation section 6104 by using a priori value beta mn, performs decoding of a single parity check codes, obtains external value alpha mn.
- ⁇ (x) is called Gallager's f-function and is defined by the following equation.
- the column processing operation unit 6105 holds the weight pattern in the column direction of the parity check matrix H of the LDPC-CC with the maximum coding rate 3/4 among the coding rates supported by the encoder 5800.
- the column processing operation unit 6105 reads the necessary external value ⁇ mn from the storage unit 321 according to the weight pattern in the column direction, and obtains the a priori value ⁇ mn .
- the column processing operation unit 6105 obtains the prior value ⁇ mn by iterative decoding using the input log likelihood ratio ⁇ n and the external value ⁇ mn .
- the decoder 6100 obtains the a posteriori log likelihood ratio by repeating the above-described row processing and column processing a predetermined number of times.
- the highest coding rate is (m ⁇ 1) / m
- the coding rate setting unit 5805 sets the coding rate (n ⁇ 1)
- the information generation unit 5801 sets the information from the information X n, k to the information X m-1, k to zero.
- the first information calculation unit 5802-1 receives information X1 , k at time k, 1 Calculate the (D) term.
- the second information calculation unit 5802-2 receives the information X 2, k at time k and calculates an X 2 (D) term.
- the third information calculation unit 5802-3 receives the information X 3, k at the point k and calculates an X 3 (D) term.
- parity operation unit 5803 receives parity P k-1 at time k ⁇ 1 and calculates P (D) term.
- the adding unit 5804 is an exclusive OR of the calculation result of the first information calculating unit 5802-1, the second information calculating unit 5802-2, the third information calculating unit 5802-3 and the calculation result of the parity calculating unit 5803. , As a parity P k at time k. According to this configuration, even in the case of creating LDPC-CCs corresponding to different coding rates, the configuration of the information calculation unit in the present description can be made common. It is possible to provide an LDPC-CC encoder and decoder capable of coping with the above.
- Log likelihood ratio setting unit 6101 sets the log likelihood ratio corresponding to the information from information X n, k at time k to information X m-1, k at a predetermined value according to the coding rate. .
- the maximum coding rate supported by the encoder 5800 is 3/4 has been described, the maximum coding rate supported is not limited to this, and the coding rate (m-1 The present invention is also applicable to the case of supporting / m (m is an integer of 5 or more) (as a matter of course, the maximum coding rate may be 2/3).
- the encoder 5800 is configured to include the first to (m-1) th information operation units, and the addition unit 5804 is the operation result and parity of the first to (m-1) th information operation units.
- the exclusive OR of the calculation result of the calculation unit 5803 may be obtained as the parity P k at time k.
- sum-product decoding has been described as an example of the decoding method, but the decoding method is not limited to this, and non-patent documents 4 to 6 show non-patent documents, for example, min
- BP decoding BP decoding
- message-passing algorithm such as -sum decoding, Normalized BP (Belief Propagation) decoding, Shuffled BP decoding, and Offset BP decoding.
- FIG. 68 shows the configuration of communication apparatus 6200 that adaptively switches the coding rate.
- the coding rate determination unit 6203 of the communication device 6200 in FIG. 68 receives a reception signal (for example, feedback information transmitted by the communication partner) transmitted from the communication device of the communication partner, and performs reception processing and the like on the reception signal.
- a reception signal for example, feedback information transmitted by the communication partner
- the coding rate determination unit 6203 may communicate information on the communication status with the communication apparatus of the communication partner, such as information on bit error rate, packet error rate, frame error rate, received electric field strength, etc. And determine the coding rate and modulation scheme from the information on the communication status with the communication apparatus of the communication partner.
- the coding rate determination unit 6203 outputs the determined coding rate and modulation scheme to the encoder 6201 and the modulation unit 6202 as control signals.
- the determination of the coding rate does not necessarily have to be based on feedback information from the communication partner.
- the coding rate determination unit 6203 uses the transmission format as shown in FIG. 69, for example, by including the information on the coding rate in the control information symbol, the coding rate used by the encoder 6201 becomes the communication of the communication partner. Notify the device.
- the other party of communication includes, for example, known signals (preamble, pilot symbols, reference symbols, etc.) necessary for demodulation and channel estimation.
- the coding rate determination unit 6203 receives the modulated signal transmitted by the communication apparatus 6300 (see FIG. 70) at the other end of communication, and determines the coding rate of the modulated signal to be transmitted based on the communication status. Switching the coding rate adaptively.
- the encoder 6201 performs LDPC-CC encoding in the above-described procedure based on the coding rate designated by the control signal.
- Modulating section 6202 modulates the encoded sequence using the modulation scheme specified by the control signal.
- FIG. 70 shows a configuration example of a communication apparatus of the other party in communication with the communication apparatus 6200.
- the control information generation unit 6304 of the communication device 6300 in FIG. 70 extracts control information from the control information symbol included in the baseband signal.
- the control information symbol includes coding rate information.
- the control information generation unit 6304 outputs the extracted information on the coding rate to the log likelihood ratio generation unit 6302 and the decoder 6303 as a control signal.
- Receiving section 6301 performs processing such as frequency conversion and quadrature demodulation on the received signal corresponding to the modulation signal transmitted from communication apparatus 6200 to obtain a baseband signal, and transmits the baseband signal to log likelihood ratio generating section 6302. Output.
- receiving section 6301 estimates channel fluctuation in a (for example, wireless) transmission path between communication apparatus 6200 and communication apparatus 6300 using a known signal included in the baseband signal, and estimates the channel estimation signal. It is output to the log likelihood ratio generation unit 6302.
- reception unit 6301 estimates channel fluctuation in a (for example, wireless) transmission path between communication device 6200 and communication device 6300 using a known signal included in the baseband signal, and determines the state of the propagation path. To generate and output feedback information (channel fluctuation itself, for example, Channel State Information is an example). This feedback information is transmitted to the other party of communication (communication device 6200) as a part of control information through a transmission device (not shown).
- Log likelihood ratio generation section 6302 obtains the log likelihood ratio of each transmission sequence using the baseband signal, and outputs the obtained log likelihood ratio to decoder 6303.
- the decoder 6303 handles the information from the information X s, k of the time point k to the information X m-1, k according to the coding rate (s-1) / s indicated by the control signal.
- the coding rates of the communication device 6200 to which the present invention is applied and the communication device 6300 of the other party of communication can be adaptively changed according to the communication situation.
- the method of changing the coding rate is not limited to this, and the communication apparatus 6300 which is the other party of communication may be provided with the coding rate determination unit 6203 to specify a desired coding rate. Also, the communication apparatus 6200 may estimate the fluctuation of the transmission path from the modulated signal transmitted by the communication apparatus 6300 to determine the coding rate. In this case, the above feedback information is not necessary.
- Equation (118) the maximum orders of D in A X, # q (D) and B P1, # q (D) are denoted as ⁇ X, # q and ⁇ P 1, # q , respectively. Then, let ⁇ #q be the maximum value of ⁇ X, # q and ⁇ P1, # q . And let ⁇ be the maximum value of ⁇ # q .
- equation (119) the maximum orders of D in E X, # q (D) and F P2, # q (D) are denoted as ⁇ X, # q and ⁇ P 2, # q , respectively. Then, ⁇ X, # q and Omega P1, the maximum value of # q and Omega #q. And let ⁇ be the maximum value of ⁇ # q . Also, let ⁇ be a large value of ⁇ and ⁇ .
- equation (120) a vector hq, 1 corresponding to the q-th parity check polynomial of equation (118) is expressed as equation (120).
- equation (121) vector h q, 2 corresponding to the q-th parity check polynomial of equation (119) is expressed as equation (121).
- equation (122) ⁇ (k + 2m) is satisfied for ⁇ k.
- ⁇ (k) is a vector represented by equation (120) or equation (121) in the row of parity check matrix k.
- a parity check polynomial that satisfies 0 in equation (123) is referred to as a parity check polynomial of # q-1
- a parity check polynomial that satisfies 0 in equation (124) is referred to as a parity check polynomial of # q-2. Then it has the following properties.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
Abstract
Description
LDPC符号は、低密度なパリティ検査行列Hで定義される誤り訂正符号である。また、LDPC符号は、検査行列Hの列数Nと等しいブロック長を持つブロック符号である(非特許文献1、非特許文献2、非特許文献3参照)。例えば、ランダム的なLDPC符号、QC-LDPC符号(QC:Quasi-Cyclic)が提案されている。
Block Codeと標記する)に対して、任意の長さの情報系列に対しての符号化・復号化が可能なLDPC-CC(Low-Density
Parity-Check ConvolutionalCodes)の検討が行われている(例えば、非特許文献8、非特許文献9参照)。
LDPC-CCは、低密度なパリティ検査行列により定義される畳み込み符号である。例えば、符号化率R=1/2(=b/c)のLDPC-CCのパリティ検査行列HT[0,n]は、図1で示される。ここで、HT[0,n]の要素h1 (m)(t)は、0又は1をとる。また、h1 (m)(t)以外の要素は全て0である。MはLDPC-CCにおけるメモリ長、nはLDPC-CCの符号語の長さをあらわす。図1に示されるように、LDPC-CCの検査行列は行列の対角項とその近辺の要素にのみに1が配置されており、行列の左下及び右上の要素はゼロであり、平行四辺形型の行列であるという特徴がある。
本発明の目的は、誤り訂正能力の高い時変LDPC-CCの符号化方法、復号方法、符号化器、及び、復号器を提供することである。
「a#0,k,1%q=a#1,k,1%q=a#2,k,1%q=a#3,k,1%q=・・・=a#g,k,1%q=・・・=a#q-2,k,1%q=a#q-1,k,1%q=vp=k (vp=k:固定値)」、
「b#0,1%q=b#1,1%q=b#2,1%q=b#3,1%q=・・・=b#g,1%q=・・・=b#q-2,1%q=b#q-1,1%q=w (w:固定値)」、
「a#0,k,2%q=a#1,k,2%q=a#2,k,2%q=a#3,k,2%q=・・・=a#g,k,2%q=・・・=a#q-2,k,2%q=a#q-1,k,2%q=yp=k (yp=k:固定値)」、
「b#0,2%q=b#1,2%q=b#2,2%q=b#3,2%q=・・・=b#g,2%q=・・・=b#q-2,2%q=b#q-1,2%q=z (z:固定値)」、
及び、
「a#0,k,3%q=a#1,k,3%q=a#2,k,3%q=a#3,k,3%q=・・・=a#g,k,3%q=・・・=a#q-2,k,3%q=a#q-1,k,3%q=sp=k (sp=k:固定値)」
を、k=1、2、・・・、n-1に対して満たすパリティ検査多項式を用いて、前記情報系列を符号化する。
先ず、実施の形態の具体的な構成及び動作を説明する前に、特許文献1に記載されているパリティ検査多項式に基づくLDPC-CCについて説明する。
[パリティ検査多項式に基づくLDPC-CC]
先ず、時変周期4のLDPC-CCについて説明する。なお、以下では、符号化率1/2の場合を例に説明する。
また、式(1-3)において、α1、α2、α3、α4は整数(ただし、α1≠α2≠α3≠α4)とする。また、β1、β2、β3、β4は整数(ただし、β1≠β2≠β3≠β4)とする。式(1-3)のパリティ検査多項式を「検査式#3」と呼び、式(1-3)のパリティ検査多項式に基づくサブ行列を、第3サブ行列H3とする。
そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3、第4サブ行列H4から、図3のように検査行列を生成した時変周期4のLDPC-CCについて考える。
なお、時変周期2の場合においても、上記「余り」に関する条件を適用すると、特性が良好な符号を探索できることが確認された。以下、特性が良好な時変周期2のLDPC-CCについて説明する。なお、以下では、符号化率1/2の場合を例に説明する。
また、式(2-2)において、A1、A2、A3、A4は整数(ただし、A1≠A2≠A3≠A4)とする。また、B1、B2、B3、B4は整数(ただし、B1≠B2≠B3≠B4)とする。式(2-2)のパリティ検査多項式を「検査式#2」と呼び、式(2-2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
このとき、式(2-1)、(2-2)において、X(D)及びP(D)の次数の組み合わせ(a1、a2、a3、a4)、(b1、b2、b3、b4)、(A1、A2、A3、A4)、(B1、B2、B3、B4)の各値を4で除算した余りをkとした場合、上記のようにあらわした4つの係数セット(例えば、(a1、a2、a3、a4))に、余り0、1、2、3が1つずつ含まれるようにし、かつ、上記の4つの係数セット全てで成立するようにする。
時変周期を3とするLDPC-CCのパリティ検査多項式として、式(3-1)~(3-3)を考える。このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(3-1)~(3-3)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
また、式(3-2)において、A1、A2、A3は整数(ただし、A1≠A2≠A3)とする。また、B1、B2、B3は整数(ただし、B1≠B2≠B3)とする。式(3-2)のパリティ検査多項式を「検査式#2」と呼び、式(3-2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3から生成する時変周期3のLDPC-CCについて考える。
ての行で等く、かつ、列重みが全ての行で等しいレギュラーLDPC-CC符号を生成することができる。なお、例外とは、検査行列の最初の一部及び最後の一部では、行重み、列重みが、他の行重み、列重みと等しくならないことをいう。更に、BP復号を行った場合、「検査式#2」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#1」に対して伝播し、「検査式#1」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#2」に対して伝播し、「検査式#1」における信頼度及び「検査式#2」における信頼度が、「検査式#3」に対して的確に伝播する。このため、より受信品質が良好なLDPC-CCを得ることができる。これは、列単位で考えた場合、「1」が存在する位置が、上述のように、信頼度を的確に伝播するように配置されることになるためである。
「検査式#1」は、式(3-1)のパリティ検査多項式において、(a1、a2、a3)=(2,1,0)、(b1、b2、b3)=(2,1,0)の場合であり、各係数を3で除算した余りは、(a1%3、a2%3、a3%3)=(2,1,0)、(b1%3、b2%3、b3%3)=(2,1,0)である。なお、「Z%3」は、Zを3で除算した余りをあらわす。
「検査式#3」は、式(3-3)のパリティ検査多項式において、(α1、α2、α3)=(4,2,0)、(β1、β2、β3)=(4,2,0)の場合であり、各係数を3で除算した余りは、(α1%3、α2%3、α3%3)=(1,2,0)、(β1%3、β2%3、β3%3)=(1,2,0)である。
(a1%3、a2%3、a3%3)、
(b1%3、b2%3、b3%3)、
(A1%3、A2%3、A3%3)、
(B1%3、B2%3、B3%3)、
(α1%3、α2%3、α3%3)、
(β1%3、β2%3、β3%3)が、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなるという条件を満たしている。
BP復号における列6506の列演算において、「検査式#2」の係数において余りが1となる領域6504の「1」、及び、「検査式#3」の係数において余りが2となる領域6505の「1」から、信頼度が伝播される。
同様に、「検査式#1」の係数において余りが1となる領域6202の「1」は、BP復号における列6509の列演算において、「検査式#2」の係数において余りが2となる領域6507の「1」、及び、「検査式#3」の係数において余りが0となる領域6508の「1」から、信頼度が伝播される。
図4Bを用いて、信頼度伝播について補足説明をする。図4Bは、図4Aの「検査式#1」~「検査式#3」のX(D)に関する各項同士の信頼度伝播の関係を示している。図4Aの「検査式#1」~「検査式#3」は、式(3-1)~(3-3)のX(D)に関する項において、(a1、a2、a3)=(2、1、0)、(A1、A2、A3)=(5、1、0)、(α1、α2、α3)=(4、2、0)の場合である。
図4Bから分かるように、「検査式#1」のa1は、3で除算した余りが異なる「検査式#2」のA3及び「検査式#3」のα1から信頼度が伝播される。「検査式#1」のa2は、3で除算した余りが異なる「検査式#2」のA1及び「検査式#3」のα3から信頼度が伝播される。「検査式#1」のa3は、3で除算した余りが異なる「検査式#2」のA2及び「検査式#3」のα2から信頼度が伝播される。図4Bには、「検査式#1」~「検査式#3」のX(D)に関する各項同士の信頼度伝播の関係を示したが、P(D)に関する各項同士についても同様のことがいえる。
になる。
以上、時変周期3のLDPC-CCについて、符号化率1/2の場合を例に説明したが、符号化率は1/2に限られない。符号化率(n-1)/n(nは2以上の整数)の場合には、情報X1(D)、X2(D)、・・・、Xn-1(D)における、それぞれの3つの係数セットにおいて、上記の「余り」に関する条件が成立すれば、やはり、レギュラーLDPC符号となり、良好な受信品質を得ることができる。
時変周期を3とするLDPC-CCのパリティ検査多項式として、式(4-1)~(4-3)を考える。このとき、X1(D)、X2(D)、・・・、Xn-1(D)はデータ(情報)X1、X2、・・・、Xn-1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(4-1)~(4-3)では、X1(D)、X2(D)、・・・、Xn-1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
このとき、式(4-1)~(4-3)において、X1(D)、X2(D)、・・・、Xn-1(D)及びP(D)の次数の組み合わせ
(a1,1、a1,2、a1,3)、
(a2,1、a2,2、a2,3)、・・・、
(an-1,1、an-1,2、an-1,3)、
(b1、b2、b3)、
(A1,1、A1,2、A1,3)、
(A2,1、A2,2、A2,3)、・・・、
(An-1,1、An-1,2、An-1,3)、
(B1、B2、B3)、
(α1,1、α1,2、α1,3)、
(α2,1、α2,2、α2,3)、・・・、
(αn-1,1、αn-1,2、αn-1,3)、
(β1、β2、β3)
の各値を3で除算した余りをkとした場合、上記のようにあらわした3つの係数セット(例えば、(a1,1、a1,2、a1,3))に、余り0、1、2が1つずつ含まれるようにし、かつ、上記の3つの係数セット全てで成立するようにする。
(a1,1%3、a1,2%3、a1,3%3)、
(a2,1%3、a2,2%3、a2,3%3)、・・・、
(an-1,1%3、an-1,2%3、an-1,3%3)、
(b1%3、b2%3、b3%3)、
(A1,1%3、A1,2%3、A1,3%3)、
(A2,1%3、A2,2%3、A2,3%3)、・・・、
(An-1,1%3、An-1,2%3、An-1,3%3)、
(B1%3、B2%3、B3%3)、
(α1,1%3、α1,2%3、α1,3%3)、
(α2,1%3、α2,2%3、α2,3%3)、・・・、
(αn-1,1%3、αn-1,2%3、αn-1,3%3)、
(β1%3、β2%3、β3%3)が、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなるようにする。
式(5-1)において、a1,1、a1,2、a1,3は整数(ただし、a1,1≠a1,2≠a1,3)とする。また、b1,1、b1,2、b1,3は整数(ただし、b1,1≠b1,2≠b1,3)とする。式(5-1)のパリティ検査多項式を「検査式#1」と呼び、式(5-1)のパリティ検査多項式に基づくサブ行列を、第1サブ行列H1とする。
、b5,1≠b5,2≠b5,3)とする。式(5-5)のパリティ検査多項式を「検査式#5」と呼び、式(5-5)のパリティ検査多項式に基づくサブ行列を、第5サブ行列H5とする。
このとき、式(5-1)~(5-6)において、X(D)及びP(D)の次数の組み合わせ
(a1,1、a1,2、a1,3)、
(b1,1、b1,2、b1,3)、
(a2,1、a2,2、a2,3)、
(b2,1、b2,2、b2,3)、
(a3,1、a3,2、a3,3)、
(b3,1、b3,2、b3,3)、
(a4,1、a4,2、a4,3)、
(b4,1、b4,2、b4,3)、
(a5,1、a5,2、a5,3)、
(b5,1、b5,2、b5,3)、
(a6,1、a6,2、a6,3)、
(b6,1、b6,2、b6,3)
の各値を3で除算したときの余りkとした場合、上記のようにあらわした3つの係数セット(例えば、(a1,1、a1,2、a1,3))に、余り0、1、2が1つずつ含まれるようにし、かつ、上記の3つの係数セット全てで成立するようにする。つまり、
(a1,1%3、a1,2%3、a1,3%3)、
(b1,1%3、b1,2%3、b1,3%3)、
(a2,1%3、a2,2%3、a2,3%3)、
(b2,1%3、b2,2%3、b2,3%3)、
(a3,1%3、a3,2%3、a3,3%3)、
(b3,1%3、b3,2%3、b3,3%3)、
(a4,1%3、a4,2%3、a4,3%3)、
(b4,1%3、b4,2%3、b4,3%3)、
(a5,1%3、a5,2%3、a5,3%3)、
(b5,1%3、b5,2%3、b5,3%3)、
(a6,1%3、a6,2%3、a6,3%3)、
(b6,1%3、b6,2%3、b6,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
また、「検査式#2」に対して、タナーグラフを描いた際、エッジが存在する場合、的確に「検査式#1、又は、検査式#4」における信頼度、「検査式#3、又は、検査式#6」における信頼度が的確に伝播する。
これについて、図4Cを用いて、信頼度伝播について説明する。図4Cは、「検査式#1」~「検査式#6」のX(D)に関する各項同士の信頼度伝播の関係を示している。図4Cにおいて、四角は、ax,yにおいて(x=1,2,3,4,5,6;y=1,2,3)、3で除算した余りが0の係数を示す。
図4Cから分かるように、タナーグラフを描いた際、エッジが存在した場合、「検査式#1」のa1,1は、3で除算した余りが異なる「検査式#2又は#5」及び「検査式#3又は#6」から信頼度が伝播される。同様に、タナーグラフを描いた際、エッジが存在した場合、「検査式#1」のa1,2は、3で除算した余りが異なる「検査式#2又は#5」及び「検査式#3又は#6」から信頼度が伝播される。
図4Cでは、「検査式#1」に着目したが、「検査式#2」から「検査式#6」についても同様にタナーグラフを描くことができ、「検査式#K」のタナーグラフにおける各ノードには、「検査式#K」以外の係数ノードから信頼度が伝播することになる。したがって、相関が低い信頼度同士が全て「検査式#K」に伝播することになるので、誤り訂正能力が向上すると考えられる。(K=2,3,4,5,6)
このように、式(5-1)~(5-6)のパリティ検査多項式の各次数が、上述した「余り」に関する条件を満たすようにすることにより、全ての検査式において、効率よく信頼度を伝播させることができるようになり、誤り訂正能力を更に高くすることができる可能性が高まる。
、符号化率は1/2に限られない。符号化率(n-1)/n(nは2以上の整数)の場合には、情報X1(D)、X2(D)、・・・、Xn-1(D)における、それぞれの3つの係数セットにおいて、上記の「余り」に関する条件が成立すれば、やはり、良好な受信品質を得ることができる可能性が高まる。
時変周期を6とするLDPC-CCのパリティ検査多項式として、式(7-1)~(7-6)を考える。
式(7-1)~(7-6)において、X1(D)、X2(D)、・・・、Xn-1(D)及びP(D)の次数の組み合わせが以下の条件を満たす。
(a#1,1,1%3、a#1,1,2%3、a#1,1,3%3)、
(a#1,2,1%3、a#1,2,2%3、a#1,2,3%3)、・・・、
(a#1,k,1%3、a#1,k,2%3、a#1,k,3%3)、・・・、
(a#1,n-1,1%3、a#1,n-1,2%3、a#1,n-1,3%3)、
(b#1,1%3、b#1,2%3、b#1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(k=1、2、3、・・・、n-1)
かつ、
(a#2,1,1%3、a#2,1,2%3、a#2,1,3%3)、
(a#2,2,1%3、a#2,2,2%3、a#2,2,3%3)、・・・、
(a#2,k,1%3、a#2,k,2%3、a#2,k,3%3)、・・・、
(a#2,n-1,1%3、a#2,n-1,2%3、a#2,n-1,3%3)、
(b#2,1%3、b#2,2%3、b#2,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(k=1、2、3、・・・、n-1)
かつ、
(a#3,1,1%3、a#3,1,2%3、a#3,1,3%3)、
(a#3,2,1%3、a#3,2,2%3、a#3,2,3%3)、・・・、
(a#3,k,1%3、a#3,k,2%3、a#3,k,3%3)、・・・、
(a#3,n-1,1%3、a#3,n-1,2%3、a#3,n-1,3%3)、
(b#3,1%3、b#3,2%3、b#3,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(k=1、2、3、・・・、n-1)
かつ、
(a#4,1,1%3、a#4,1,2%3、a#4,1,3%3)、
(a#4,2,1%3、a#4,2,2%3、a#4,2,3%3)、・・・、
(a#4,k,1%3、a#4,k,2%3、a#4,k,3%3)、・・・、
(a#4,n-1,1%3、a#4,n-1,2%3、a#4,n-1,3%3)、
(b#4,1%3、b#4,2%3、b#4,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(k=1、2、3、・・・、n-1)
かつ、
(a#5,1,1%3、a#5,1,2%3、a#5,1,3%3)、
(a#5,2,1%3、a#5,2,2%3、a#5,2,3%3)、・・・、
(a#5,k,1%3、a#5,k,2%3、a#5,k,3%3)、・・・、
(a#5,n-1,1%3、a#5,n-1,2%3、a#5,n-1,3%3)、
(b#5,1%3、b#5,2%3、b#5,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(k=1、2、3、・・・、n-1)
かつ、
(a#6,1,1%3、a#6,1,2%3、a#6,1,3%3)、
(a#6,2,1%3、a#6,2,2%3、a#6,2,3%3)、・・・、
(a#6,k,1%3、a#6,k,2%3、a#6,k,3%3)、・・・、
(a#6,n-1,1%3、a#6,n-1,2%3、a#6,n-1,3%3)、
(b#6,1%3、b#6,2%3、b#6,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(k=1、2、3、・・・、n-1)
上述では、時変周期6のLDPC-CCにおいて、高い誤り訂正能力を持つ符号について説明したが、時変周期3、6のLDPC-CCの設計方法と同様に、時変周期3g(g=1、2、3、4、・・・)のLDPC-CC(つまり、時変周期が3の倍数のLDPC-CC)を作成した場合、高い誤り訂正能力を持つ符号を生成することができる。以下では、その符号の構成方法について詳しく説明する。
時変周期3のLDPC-CC及び時変周期6のLDPC-CCと同様に考えると、式(9-1)~(9-3g)のパリティ検査多項式であらわされる時変周期3g、符号化率(n-1)/n(nは2以上の整数)のLDPC-CCにおいて、以下の条件(<条件#2>)を満たすと、より高い誤り訂正能力を得ることができる可能性が高まる。
式(9-1)~(9-3g)において、X1(D)、X2(D)、・・・、Xn-1(D)及びP(D)の次数の組み合わせが以下の条件を満たす。
(a#1,1,1%3、a#1,1,2%3、a#1,1,3%3)、
(a#1,2,1%3、a#1,2,2%3、a#1,2,3%3)、・・・、
(a#1,p,1%3、a#1,p,2%3、a#1,p,3%3)、・・・、
(a#1,n-1,1%3、a#1,n-1,2%3、a#1,n-1,3%3)、
(b#1,1%3、b#1,2%3、b#1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
(a#2,1,1%3、a#2,1,2%3、a#2,1,3%3)、
(a#2,2,1%3、a#2,2,2%3、a#2,2,3%3)、・・・、
(a#2,p,1%3、a#2,p,2%3、a#2,p,3%3)、・・・、
(a#2,n-1,1%3、a#2,n-1,2%3、a#2,n-1,3%3)、
(b#2,1%3、b#2,2%3、b#2,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
(a#3,1,1%3、a#3,1,2%3、a#3,1,3%3)、
(a#3,2,1%3、a#3,2,2%3、a#3,2,3%3)、・・・、
(a#3,p,1%3、a#3,p,2%3、a#3,p,3%3)、・・・、
(a#3,n-1,1%3、a#3,n-1,2%3、a#3,n-1,3%3)、
(b#3,1%3、b#3,2%3、b#3,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
・
・
・
かつ、
(a#k,1,1%3、a#k,1,2%3、a#k,1,3%3)、
(a#k,2,1%3、a#k,2,2%3、a#k,2,3%3)、・・・、
(a#k,p,1%3、a#k,p,2%3、a#k,p,3%3)、・・・、
(a#k,n-1,1%3、a#k,n-1,2%3、a#k,n-1,3%3)、
(b#k,1%3、b#k,2%3、b#k,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)(よって、k=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
(a#3g-2,1,1%3、a#3g-2,1,2%3、a#3g-2,1,3%3)、
(a#3g-2,2,1%3、a#3g-2,2,2%3、a#3g-2,2,3%3)、・・・、
(a#3g-2,p,1%3、a#3g-2,p,2%3、a#3g-2,p,3%3)、・・・、
(a#3g-2,n-1,1%3、a#3g-2,n-1,2%3、a#3g-2,n-1,3%3)、
(b#3g-2,1%3、b#3g-2,2%3、b#3g-2,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
(a#3g-1,1,1%3、a#3g-1,1,2%3、a#3g-1,1,3%3)、
(a#3g-1,2,1%3、a#3g-1,2,2%3、a#3g-1,2,3%3)、・・・、
(a#3g-1,p,1%3、a#3g-1,p,2%3、a#3g-1,p,3%3)、・・・、
(a#3g-1,n-1,1%3、a#3g-1,n-1,2%3、a#3g-1,n-1,3%3)、
(b#3g-1,1%3、b#3g-1,2%3、b#3g-1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
(a#3g,1,1%3、a#3g,1,2%3、a#3g,1,3%3)、
(a#3g,2,1%3、a#3g,2,2%3、a#3g,2,3%3)、・・・、
(a#3g,p,1%3、a#3g,p,2%3、a#3g,p,3%3)、・・・、
(a#3g,n-1,1%3、a#3g,n-1,2%3、a#3g,n-1,3%3)、
(b#3g,1%3、b#3g,2%3、b#3g,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)
ただし、符号化を容易に行うという点を考慮すると、式(9-1)~(9-3g)において、(b#k,1%3、b#k,2%3、b#k,3%3)の3つのうち“0”が1つ存在すると良い(ただし、k=1、2、・・・3g)。このとき、D0=1が存在し、かつb#k,1、b#k,2、b#k,3が0以上の整数であれば、パリティPを逐次的に求めることができるという特徴を持つからである。
(a#k,1,1%3、a#k,1,2%3、a#k,1,3%3)の3つのうち“0”が1つ存在し、
(a#k,2,1%3、a#k,2,2%3、a#k,2,3%3)の3つのうち“0”が1つ存在し、
・
・
・
(a#k,p,1%3、a#k,p,2%3、a#k,p,3%3)の3つのうち“0”が1つ存在し、
・
・
・
(a#k,n-1,1%3、a#k,n-1,2%3、a#k,n-1,3%3)の3つのうち“0”が1つ存在すると良い(ただし、k=1、2、・・・3g)。
<条件#3>
式(11-1)~(11-3g)において、X1(D)、X2(D)、・・・、Xn-1(D)の次数の組み合わせが以下の条件を満たす。
(a#1,2,1%3、a#1,2,2%3、a#1,2,3%3)、・・・、
(a#1,p,1%3、a#1,p,2%3、a#1,p,3%3)、・・・、
(a#1,n-1,1%3、a#1,n-1,2%3、a#1,n-1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
(a#2,1,1%3、a#2,1,2%3、a#2,1,3%3)、
(a#2,2,1%3、a#2,2,2%3、a#2,2,3%3)、・・・、
(a#2,p,1%3、a#2,p,2%3、a#2,p,3%3)、・・・、
(a#2,n-1,1%3、a#2,n-1,2%3、a#2,n-1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
(a#3,1,1%3、a#3,1,2%3、a#3,1,3%3)、
(a#3,2,1%3、a#3,2,2%3、a#3,2,3%3)、・・・、
(a#3,p,1%3、a#3,p,2%3、a#3,p,3%3)、・・・、
(a#3,n-1,1%3、a#3,n-1,2%3、a#3,n-1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
・
・
・
かつ、
(a#k,1,1%3、a#k,1,2%3、a#k,1,3%3)、
(a#k,2,1%3、a#k,2,2%3、a#k,2,3%3)、・・・、
(a#k,p,1%3、a#k,p,2%3、a#k,p,3%3)、・・・、
(a#k,n-1,1%3、a#k,n-1,2%3、a#k,n-1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)(よって、k=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
(a#3g-2,1,1%3、a#3g-2,1,2%3、a#3g-2,1,3%3
)、
(a#3g-2,2,1%3、a#3g-2,2,2%3、a#3g-2,2,3%3)、・・・、
(a#3g-2,p,1%3、a#3g-2,p,2%3、a#3g-2,p,3%3)、・・・、
(a#3g-2,n-1,1%3、a#3g-2,n-1,2%3、a#3g-2,n-1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
(a#3g-1,1,1%3、a#3g-1,1,2%3、a#3g-1,1,3%3)、
(a#3g-1,2,1%3、a#3g-1,2,2%3、a#3g-1,2,3%3)、・・・、
(a#3g-1,p,1%3、a#3g-1,p,2%3、a#3g-1,p,3%3)、・・・、
(a#3g-1,n-1,1%3、a#3g-1,n-1,2%3、a#3g-1,n-1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
(a#3g,1,1%3、a#3g,1,2%3、a#3g,1,3%3)、
(a#3g,2,1%3、a#3g,2,2%3、a#3g,2,3%3)、・・・、
(a#3g,p,1%3、a#3g,p,2%3、a#3g,p,3%3)、・・・、
(a#3g,n-1,1%3、a#3g,n-1,2%3、a#3g,n-1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n-1)
加えて、式(11-1)~(11-3g)において、P(D)の次数の組み合わが以下の条件を満たす。
(b#2,1%3、b#2,2%3)、
(b#3,1%3、b#3,2%3)、・・・、
(b#k,1%3、b#k,2%3)、・・・、
(b#3g-2,1%3、b#3g-2,2%3)、
(b#3g-1,1%3、b#3g-1,2%3)、
(b#3g,1%3、b#3g,2%3)は、
(1、2)、(2、1)のいずれかとなる(k=1、2、3、・・・、3g)。
<条件#4>
式(11-1)~(11-3g)のP(D)の次数において、以下の条件を満たす。
(b#2,1%3g、b#2,2%3g)、
(b#3,1%3g、b#3,2%3g)、・・・、
(b#k,1%3g、b#k,2%3g)、・・・、
(b#3g-2,1%3g、b#3g-2,2%3g)、
(b#3g-1,1%3g、b#3g-1,2%3g)、
(b#3g,1%3g、b#3g,2%3g)
の6g個の次数(2つの次数が1組を構成するので、3g組を構成する次数は6g個ある)の値には、0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。
ただし、時変周期3g、符号化率(n-1)/n(nは2以上の整数)のLDPC-CCにおいて、時点iのパリティビットをPi及び情報ビットをXi,1、Xi,2、・・・、Xi,n-1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g-1)、式(13-(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(14)が成立する。
<条件#5>
式(13-1)~(13-3g)において、X1(D)、X2(D)、・・・、Xn-1(D)の次数の組み合わせが以下の条件を満たす。
(a#1,2,1%3、a#1,2,2%3)、・・・、
(a#1,p,1%3、a#1,p,2%3)、・・・、
(a#1,n-1,1%3、a#1,n-1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
(a#2,1,1%3、a#2,1,2%3)、
(a#2,2,1%3、a#2,2,2%3)、・・・、
(a#2,p,1%3、a#2,p,2%3)、・・・、
(a#2,n-1,1%3、a#2,n-1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
(a#3,1,1%3、a#3,1,2%3)、
(a#3,2,1%3、a#3,2,2%3)、・・・、
(a#3,p,1%3、a#3,p,2%3)、・・・、
(a#3,n-1,1%3、a#3,n-1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
・
・
・
かつ、
(a#k,1,1%3、a#k,1,2%3)、
(a#k,2,1%3、a#k,2,2%3)、・・・、
(a#k,p,1%3、a#k,p,2%3)、・・・、
(a#k,n-1,1%3、a#k,n-1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n-1)(よって、k=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
(a#3g-2,1,1%3、a#3g-2,1,2%3)、
(a#3g-2,2,1%3、a#3g-2,2,2%3)、・・・、
(a#3g-2,p,1%3、a#3g-2,p,2%3)、・・・、
(a#3g-2,n-1,1%3、a#3g-2,n-1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
(a#3g-1,1,1%3、a#3g-1,1,2%3)、
(a#3g-1,2,1%3、a#3g-1,2,2%3)、・・・、
(a#3g-1,p,1%3、a#3g-1,p,2%3)、・・・、
(a#3g-1,n-1,1%3、a#3g-1,n-1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n-1)
かつ、
(a#3g,1,1%3、a#3g,1,2%3)、
(a#3g,2,1%3、a#3g,2,2%3)、・・・、
(a#3g,p,1%3、a#3g,p,2%3)、・・・、
(a#3g,n-1,1%3、a#3g,n-1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n-1)
加えて、式(13-1)~(13-3g)において、P(D)の次数の組み合わが以下の条件を満たす。
(b#2,1%3、b#2,2%3)、
(b#3,1%3、b#3,2%3)、・・・、
(b#k,1%3、b#k,2%3)、・・・、
(b#3g-2,1%3、b#3g-2,2%3)、
(b#3g-1,1%3、b#3g-1,2%3)、
(b#3g,1%3、b#3g,2%3)は、
(1、2)、(2、1)のいずれかとなる(k=1、2、3、・・・、3g)。
<条件#6>
式(13-1)~(13-3g)のX1(D)の次数において、次の条件を満たす。
(a#2,1,1%3g、a#2,1,2%3g)、・・・、
(a#p,1,1%3g、a#p,1,2%3g)、・・・、
(a#3g,1,1%3g、a#3g,1,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
かつ、
式(13-1)~(13-3g)のX2(D)の次数において、次の条件を満たす。
(a#2,2,1%3g、a#2,2,2%3g)、・・・、
(a#p,2,1%3g、a#p,2,2%3g)、・・・、
(a#3g,2,1%3g、a#3g,2,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
かつ、
式(13-1)~(13-3g)のX3(D)の次数において、次の条件を満たす。
(a#2,3,1%3g、a#2,3,2%3g)、・・・、
(a#p,3,1%3g、a#p,3,2%3g)、・・・、
(a#3g,3,1%3g、a#3g,3,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
式(13-1)~(13-3g)のXk(D)の次数において、次の条件を満たす。
(a#2,k,1%3g、a#2,k,2%3g)、・・・、
(a#p,k,1%3g、a#p,k,2%3g)、・・・、
(a#3g,k,1%3g、a#3g,k,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
(k=1、2、3、・・・、n-1)
かつ、
・
・
・
かつ、
式(13-1)~(13-3g)のXn-1(D)の次数において、次の条件を満たす。
(a#2,n-1,1%3g、a#2,n-1,2%3g)、・・・、
(a#p,n-1,1%3g、a#p,n-1,2%3g)、・・・、
(a#3g,n-1,1%3g、a#3g,n-1,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
かつ、
式(13-1)~(13-3g)のP(D)の次数において、次の条件を満たす。
(b#2,1%3g、b#2,2%3g)、
(b#3,1%3g、b#3,2%3g)、・・・、
(b#k,1%3g、b#k,2%3g)、・・・、
(b#3g-2,1%3g、b#3g-2,2%3g)、
(b#3g-1,1%3g、b#3g-1,2%3g)、
(b#3g,1%3g、b#3g,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(k=1、2、3、・・・、3g)
ところで、検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性があると良好な誤り訂正能力が得られる可能性が高い。式(13-1)~(13-3g)のパリティ検査多項式を持つ時変周期3g(g=2、3、4、5、・・・)、符号化率を(n-1)/n(nは2以上の整数)のLDPC-CCでは、<条件#5>に加え<条件#6>の条件を付加して符号を作成すると、検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性を与えることが可能となるため、より良好な誤り訂正能力が得られる可能性が高まる。
<条件#6’>
式(13-1)~(13-3g)のX1(D)の次数において、次の条件を満たす。
(a#2,1,1%3g、a#2,1,2%3g)、・・・、
(a#p,1,1%3g、a#p,1,2%3g)、・・・、
(a#3g,1,1%3g、a#3g,1,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
又は、
式(13-1)~(13-3g)のX2(D)の次数において、次の条件を満たす。
(a#2,2,1%3g、a#2,2,2%3g)、・・・、
(a#p,2,1%3g、a#p,2,2%3g)、・・・、
(a#3g,2,1%3g、a#3g,2,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
又は、
式(13-1)~(13-3g)のX3(D)の次数において、次の条件を満たす。
(a#2,3,1%3g、a#2,3,2%3g)、・・・、
(a#p,3,1%3g、a#p,3,2%3g)、・・・、
(a#3g,3,1%3g、a#3g,3,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
又は、
・
・
・
又は、
式(13-1)~(13-3g)のXk(D)の次数において、次の条件を満たす。
(a#2,k,1%3g、a#2,k,2%3g)、・・・、
(a#p,k,1%3g、a#p,k,2%3g)、・・・、
(a#3g,k,1%3g、a#3g,k,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
(k=1、2、3、・・・、n-1)
又は、
・
・
・
又は、
式(13-1)~(13-3g)のXn-1(D)の次数において、次の条件を満たす。
(a#2,n-1,1%3g、a#2,n-1,2%3g)、・・・、
(a#p,n-1,1%3g、a#p,n-1,2%3g)、・・・、
(a#3g,n-1,1%3g、a#3g,n-1,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
又は、
式(13-1)~(13-3g)のP(D)の次数において、次の条件を満たす。
(b#2,1%3g、b#2,2%3g)、
(b#3,1%3g、b#3,2%3g)、・・・、
(b#k,1%3g、b#k,2%3g)、・・・、
(b#3g-2,1%3g、b#3g-2,2%3g)、
(b#3g-1,1%3g、b#3g-1,2%3g)、
(b#3g,1%3g、b#3g,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(k=1、2、3、・・・、3g)
以上、時変周期3g、符号化率(n-1)/n(nは2以上の整数)のLDPC-CCについて説明した。以下、時変周期3g、符号化率1/2(n=2)のLDPC-CCのパリティ検査多項式の次数の条件について説明する。
時変周期3のLDPC-CC及び時変周期6のLDPC-CCと同様に考えると、式(15-1)~(15-3g)のパリティ検査多項式であらわされる時変周期3g、符号化率1/2(n=2)のLDPC-CCにおいて、以下の条件(<条件#2-1>)を満たすと、より高い誤り訂正能力を得ることができる可能性が高まる。
式(15-1)~(15-3g)において、X(D)及びP(D)の次数の組み合わせが以下の条件を満たす。
(a#1,1,1%3、a#1,1,2%3、a#1,1,3%3)、
(b#1,1%3、b#1,2%3、b#1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)
、(2、1、0)のいずれかとなる。
(a#2,1,1%3、a#2,1,2%3、a#2,1,3%3)、
(b#2,1%3、b#2,2%3、b#2,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
(a#3,1,1%3、a#3,1,2%3、a#3,1,3%3)、
(b#3,1%3、b#3,2%3、b#3,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
・
・
・
かつ、
(a#k,1,1%3、a#k,1,2%3、a#k,1,3%3)、
(b#k,1%3、b#k,2%3、b#k,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(よって、k=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
(a#3g-2,1,1%3、a#3g-2,1,2%3、a#3g-2,1,3%3)、
(b#3g-2,1%3、b#3g-2,2%3、b#3g-2,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
(a#3g-1,1,1%3、a#3g-1,1,2%3、a#3g-1,1,3%3)、
(b#3g-1,1%3、b#3g-1,2%3、b#3g-1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
(a#3g,1,1%3、a#3g,1,2%3、a#3g,1,3%3)、
(b#3g,1%3、b#3g,2%3、b#3g,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
次に、符号化を容易に行うという点を考慮した時変周期3g(g=2、3、4、5、・・・)のLDPC-CCについて考える。このとき、符号化率を1/2(n=2)とするとLDPC-CCのパリティ検査多項式は以下のようにあらわすことができる。
<条件#3-1>
式(17-1)~(17-3g)において、X(D)の次数の組み合わせが以下の条件を満たす。
かつ、
(a#2,1,1%3、a#2,1,2%3、a#2,1,3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
(a#3,1,1%3、a#3,1,2%3、a#3,1,3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
かつ、
・
・
・
かつ、
(a#k,1,1%3、a#k,1,2%3、a#k,1,3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(よって、k=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
(a#3g-2,1,1%3、a#3g-2,1,2%3、a#3g-2,1,3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
(a#3g-1,1,1%3、a#3g-1,1,2%3、a#3g-1,1,3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
かつ、
(a#3g,1,1%3、a#3g,1,2%3、a#3g,1,3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
の条件を満たす。
(b#1,1%3、b#1,2%3)、
(b#2,1%3、b#2,2%3)、
(b#3,1%3、b#3,2%3)、・・・、
(b#k,1%3、b#k,2%3)、・・・、
(b#3g-2,1%3、b#3g-2,2%3)、
(b#3g-1,1%3、b#3g-1,2%3)、
(b#3g,1%3、b#3g,2%3)は、
(1、2)、(2、1)のいずれかとなる(k=1、2、3、・・・、3g)。
<条件#4-1>
式(17-1)~(17-3g)のP(D)の次数において、以下の条件を満たす。
(b#2,1%3g、b#2,2%3g)、
(b#3,1%3g、b#3,2%3g)、・・・、
(b#k,1%3g、b#k,2%3g)、・・・、
(b#3g-2,1%3g、b#3g-2,2%3g)、
(b#3g-1,1%3g、b#3g-1,2%3g)、
(b#3g,1%3g、b#3g,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。
ただし、時変周期3g、符号化率1/2(n=2)のLDPC-CCにおいて、時点iのパリティビットをPi及び情報ビットをXi,1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g-1)、式(19-(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(20)が成立する。
<条件#5-1>
式(19-1)~(19-3g)において、X(D)の次数の組み合わせが以下の条件を満たす。
かつ、
(a#2,1,1%3、a#2,1,2%3)は、(1、2)、(2、1)のいずれかとなる。
(a#3,1,1%3、a#3,1,2%3)は、(1、2)、(2、1)のいずれかとなる。
かつ、
・
・
・
かつ、
(a#k,1,1%3、a#k,1,2%3)は、(1、2)、(2、1)のいずれかとなる。(よって、k=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
(a#3g-2,1,1%3、a#3g-2,1,2%3)は、(1、2)、(2、1)のいずれかとなる。
(a#3g-1,1,1%3、a#3g-1,1,2%3)は、(1、2)、(2、1)のいずれかとなる。
かつ、
(a#3g,1,1%3、a#3g,1,2%3)は、(1、2)、(2、1)のいずれかとなる。
(b#1,1%3、b#1,2%3)、
(b#2,1%3、b#2,2%3)、
(b#3,1%3、b#3,2%3)、・・・、
(b#k,1%3、b#k,2%3)、・・・、
(b#3g-2,1%3、b#3g-2,2%3)、
(b#3g-1,1%3、b#3g-1,2%3)、
(b#3g,1%3、b#3g,2%3)は、
(1、2)、(2、1)のいずれかとなる(k=1、2、3、・・・、3g)。
<条件#6-1>
式(19-1)~(19-3g)のX(D)の次数において、次の条件を満たす。
(a#2,1,1%3g、a#2,1,2%3g)、・・・、
(a#p,1,1%3g、a#p,1,2%3g)、・・・、
(a#3g,1,1%3g、a#3g,1,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
かつ、
式(19-1)~(19-3g)のP(D)の次数において、次の条件を満たす。
(b#2,1%3g、b#2,2%3g)、
(b#3,1%3g、b#3,2%3g)、・・・、
(b#k,1%3g、b#k,2%3g)、・・・、
(b#3g-2,1%3g、b#3g-2,2%3g)、
(b#3g-1,1%3g、b#3g-1,2%3g)、
(b#3g,1%3g、b#3g,2%3g)の6g(3g×2)個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(k=1、2、3、・・・、3g)
ところで、検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性があると、良好な誤り訂正能力が得られる可能性が高い。式(19-1)~(19-3g)のパリティ検査多項式を持つ時変周期3g(g=2、3、4、5、・・・)、符号化率1/2のLDPC-CCでは、<条件#5-1>に加え<条件#6-1>の条件を付加して符号を作成すると、検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性を与えることが可能となるため、より良好な誤り訂正能力が得られる可能性が高まる。
<条件#6’-1>
式(19-1)~(19-3g)のX(D)の次数において、次の条件を満たす。
(a#2,1,1%3g、a#2,1,2%3g)、・・・、
(a#p,1,1%3g、a#p,1,2%3g)、・・・、
(a#3g,1,1%3g、a#3g,1,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
又は、
式(19-1)~(19-3g)のP(D)の次数において、次の条件を満たす。
(b#2,1%3g、b#2,2%3g)、
(b#3,1%3g、b#3,2%3g)、・・・、
(b#k,1%3g、b#k,2%3g)、・・・、
(b#3g-2,1%3g、b#3g-2,2%3g)、
(b#3g-1,1%3g、b#3g-1,2%3g)、
(b#3g,1%3g、b#3g,2%3g)の6g個の値には、
0から3g-1の整数(0、1、2、3、4、・・・、3g-2、3g-1)のうち、3の倍数(つまり、0、3、6、・・・、3g-3)以外の値の全ての値が存在する。(k=1、2、3、・・・、3g)
一例として、良好な誤り訂正能力を持つ、符号化率1/2、時変周期6のLDPC-CCを表6に列挙する。
図5に、(7,5)の畳み込み符号に関する情報を記載する。(7,5)畳み込み符号の生成行列はG=[1 (D2+1)/(D2+D+1)]とあらわされる。したがって、パリティ検査多項式は、以下の式(22)となる。
近似したmin-sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などの信頼度伝播を利用した復号を行うことができる。
[畳み込み符号に基づく時不変・時変LDPC-CC(符号化率(n-1)/n)(n:自然数)]
以下、畳み込み符号に基づく時不変・時変LDPC-CCの概要を述べる。
そして、時点jにおける情報X1、X2、・・・、Xn-1をX1,j、X2,j、・・・、Xn-1,jとあらわし、時点jにおけるパリティPをPjとあらわし、uj=(X1,j,X2,j,・・・,Xn-1,j,Pj)Tとする。このとき、時点jの情報X1,j、X2,j、・・・、Xn-1,j及びパリティPjは、式(26)のパリティ検査多項式を満たす。
式(26)のパリティ検査多項式に基づく検査行列で定義される符号を、ここでは時変LDPC-CCと呼ぶ。このとき、式(24)のパリティ検査多項式で定義される時不変LDPC-CC、及び、式(26)のパリティ検査多項式で定義される時変LDPC-CCは、逐次的にパリティビットをレジスタ及び排他的論理和で簡単に求めることができるという特徴を持つ。
・符号化器を簡単に構成することができ、かつ、パリティビットを逐次的に求めることができる
・終端ビットの削減、終端時のパンクチャ時の受信品質の向上が見込める
という利点を備える。
上述の説明では、符号化率(n-1)/nの畳み込み符号に基づく時不変・時変LDPC-CCの一例として、符号化率2/3の場合を例に説明したが、同様に考えることで、符号化率(n-1)/nの畳み込み符号に基づく時不変・時変LDPC-CCのパリティ検査行列を作成することができる。
なお、図9に、一例として、符号化率R=1/2の場合のLDPC-CC符号化器の構成例を示す。図9に示すように、LDPC-CC符号化器100は、データ演算部110、パリティ演算部120、ウェイト制御部130及びmod2加算(排他的論理和演算)器140を主に備える。
パリティ演算部120は、シフトレジスタ121-1~121-M、ウェイト乗算器122-0~122-Mを備える。
シフトレジスタ111-1~111-M及び121-1~121-Mは、それぞれv1,t-i,v2,t-i(i=0,…,M)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。なお、シフトレジスタの初期状態は全て0である。
ウェイト制御部130は、内部に保持する検査行列に基づいて、そのタイミングにおけるh1 (m),h2 (m)の値を出力し、ウェイト乗算器112-0~112-M,122-0~122-Mに供給する。
このような構成を採ることで、LDPC-CC符号化器100は、検査行列にしたがったLDPC-CCの符号化を行うことができる。
なお、ウェイト制御部130が保持する検査行列の各行の並びが行毎に異なる場合、LDPC-CC符号化器100は、時変(time varying)畳み込み符号化器となる。また、符号化率(q-1)/qのLDPC-CCの場合には、データ演算部110を(q-1)個設け、mod2加算器140が、各ウェイト乗算器の出力をmod2加算(排他的論理和演算)を行う構成とすれば良い。
本実施の形態では、優れた誤り訂正能力をもつ、時変周期が3より大きいパリティ検査多項式に基づくLDPC-CCの符号構成方法について説明する。
[時変周期6]
始めに、例として、時変周期6のLDPC-CCについて説明する。
また、式(27-0)~(27-5)では、X1(D)、X2(D)、・・・、Xn-1(D)、及び、P(D)について、以下が成立するものとする。
式(27-q)において、a#q,p,1、a#q,p,2、a#q,p,3は自然数とし、a#q,p,1≠a#q,p,2、a#q,p,1≠a#q,p,3、a#q,p,2≠a#q,p,3が成立するものとする。また、b#q,1、b#q,2、b#q,3は自然数とし、b#q,1≠b#q,2、b#q,1≠b#q,3、b#q,1≠b#q,3が成立するものとする(q=0、1、2、3、4、5;p=1、2、・・・、n-1)。
時変周期6、符号化率(n-1)/n(nは2以上の整数)のLDPC-CCにおいて、時点iのパリティビットをPi及び情報ビットをXi,1、Xi,2、・・・、Xi,n-1であらわす。このとき、i%6=kとすると(k=0、1、2、3、4、5)、式(27-(k))のパリティ検査多項式が成立する。例えば、i=8とすると、i%6=2(k=2)となるので、式(28)が成立する。
式(27-0)~(27-5)において、パリティビットと情報ビットとの関係を簡単化し、かつ、パリティビットが逐次的に求まるようにするために、a#q,1,3=0、b#q,3=0(q=0、1、2、3、4、5)とする。したがって、式(27-1)~(27-5)の(0を満たす)パリティ検査多項式は、式(29-0)~(29-5)のようにあらわされる。
このとき、パリティ検査行列Hは、図10のようにあらわすことができる。図10に示すように、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図10参照)。そして、送信ベクトルuを、u=(X1,0、X2,0、・・・、Xn-1,0、P0、X1,1、X2,1、・・・、Xn-1,1、P1、・・・、X1,k、X2,k、・・・、Xn-1,k、Pk、・・・・)Tとすると、Hu=0が成立する。
X1(D)、X2(D)、・・・、Xn-1(D)に関連する項に対して、以下の<条件#1-1>及び<条件#1-2>が重要となる。なお、以下の各条件において「%」はmoduloを意味し、例えば、「α%6」は、αを6で除算したときの余りを示す。
「a#0,1,1%6=a#1,1,1%6=a#2,1,1%6=a#3,1,1%6=a#4,1,1%6=a#5,1,1%6=vp=1 (vp=1:固定値)」
「a#0,2,1%6=a#1,2,1%6=a#2,2,1%6=a#3,2,1%6=a#4,2,1%6=a#5,2,1%6=vp=2 (vp=2:固定値)」
「a#0,3,1%6=a#1,3,1%6=a#2,3,1%6=a#3,3,1%6=a#4,3,1%6=a#5,3,1%6=vp=3 (vp=3:固定値)」
「a#0,4,1%6=a#1,4,1%6=a#2,4,1%6=a#3,4,1%6=a#4,4,1%6=a#5,4,1%6=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%6=a#1,k,1%6=a#2,k,1%6=a#3,k,1%6=a#4,k,1%6=a#5,k,1%6=vp=k (vp=k:固定値) (したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,1%6=a#1,n-2,1%6=a#2,n-2,1%6=a#3,n-2,1%6=a#4,n-2,1%6=a#5,n-2,1%6=vp=n-2
(vp=n-2:固定値)」
「a#0,n-1,1%6=a#1,n-1,1%6=a#2,n-1,1%6=a#3,n-1,1%6=a#4,n-1,1%6=a#5,n-1,1%6=vp=n-1
(vp=n-1:固定値)」
及び、
「b#0,1%6=b#1,1%6=b#2,1%6=b#3,1%6=b#4,1%6=b#5,1%6=w (w:固定値)」
<条件#1-2>
「a#0,1,2%6=a#1,1,2%6=a#2,1,2%6=a#3,1,2%6=a#4,1,2%6=a#5,1,2%6=yp=1 (yp=1:固定値)」
「a#0,2,2%6=a#1,2,2%6=a#2,2,2%6=a#3,2,2%6=a#4,2,2%6=a#5,2,2%6=yp=2 (yp=2:固定値)」
「a#0,3,2%6=a#1,3,2%6=a#2,3,2%6=a#3,3,2%6=a#4,3,2%6=a#5,3,2%6=yp=3 (yp=3:固定値)」
「a#0,4,2%6=a#1,4,2%6=a#2,4,2%6=a#3,4,2%6=a#4,4,2%6=a#5,4,2%6=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%6=a#1,k,2%6=a#2,k,2%6=a#3,k,2%6=a#4,k,2%6=a#5,k,2%6=yp=k (yp=k:固定値) (したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,2%6=a#1,n-2,2%6=a#2,n-2,2%6=a#3,n-2,2%6=a#4,n-2,2%6=a#5,n-2,2%6=yp=n-2
(yp=n-2:固定値)」
「a#0,n-1,2%6=a#1,n-1,2%6=a#2,n-1,2%6=a#3,n-1,2%6=a#4,n-1,2%6=a#5,n-1,2%6=yp=n-1
(yp=n-1:固定値)」
及び、
「b#0,2%6=b#1,2%6=b#2,2%6=b#3,2%6=b#4,2%6=b#5,2%6=z (z:固定値)」
<条件#1-1>及び<条件#1-2>を制約条件とすることにより、制約条件を満たすLDPC-CCは、正則(Regular)LDPC符号となるので、高い誤り訂正能力を得ることができる。
<条件#2-1>
<条件#1-1>において、vp=1、vp=2、vp=3、vp=4、・・・、vp=k 、・・・、vp=n-2、vp=n-1、及び、wを、「1」、「4」、「5」に設定する。つまり、vp=k(k=1、2、・・・、n-1)及びwを、「1」、及び、「時変周期6の約数以外の自然数」に設定する。
<条件#1-2>において、yp=1、yp=2、yp=3、yp=4、・・・、yp=k 、・・・、yp=n-2、yp=n-1及び、zを「1」、「4」、「5」と設定する。つまり、yp=k(k=1、2、・・・、n-1)及びzを、「1」、及び、「時変周期6の約数以外の自然数」に設定する。
説明を簡単にするために、パリティ検査多項式に基づく時変周期6、符号化率(n-1)/nのLDPC-CCのパリティ検査多項式(29-0)~(29-5)において、X1(D)が2つの項をもつ場合を考える。すると、この場合、パリティ検査多項式は、式(31-0)~(31-5)のようにあらわされる。
図11は、vp=1及びwを「3」に設定し、a#0,1,1%6=a#1,1,1%6=a#2,1,1%6=a#3,1,1%6=a#4,1,1%6=a#5,1,1%6=3としたときの情報X1のみに着目した場合の、チェックノード及び変数ノードのツリーを示している。
この場合、図11に示すように、チェックノードにおいて、#Yは0、3と限られた値にしかならない。つまり、時変周期を大きくしても、特定のパリティ検査多項式からしか信頼度が伝播されないため、時変周期を大きくした効果が得られないことを意味している。
「vp=1、vp=2、vp=3、vp=4、・・・、vp=k 、・・・、vp=n-2、vp=n-1(k=1、2、・・・、n-1)及びwを、時変周期6の約数のうち、
1を除く約数に設定する」ことになる。
これに対し、図12は、パリティ検査多項式において、vp=k(k=1、2、・・・、n-1)及びwが「1」に設定された場合のツリーである。vp=k(k=1、2、・・・、n-1)及びwが「1」に設定される場合には、<条件#2-1>の条件が満たされる。
以上の説明を考慮すると、時変周期が素数であることが、時変周期を大きくした効果を得るための重要な条件となる。以下では、この点について詳しく説明する。
先ず、符号化率(n-1)/n(nは2以上の整数)、時変周期7のLDPC-CCの(0を満たす)パリティ検査多項式として、式(32-0)~(32-6)を考える。
時変周期7、符号化率(n-1)/n(nは2以上の整数)のLDPC-CCにおいて、時点iのパリティビットをPi及び情報ビットをXi,1、Xi,2、・・・、Xi,n-1であらわす。このとき、i%7=kとすると(k=0、1、2、3、4、5、6)、式(32-(k))のパリティ検査多項式が成立する。
このとき、パリティ検査行列Hは、図13のようにあらわすことができる。図13に示すように、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図13参照)。そして、送信ベクトルuを、u=(X1,0、X2,0、・・・、Xn-1,0、P0、X1,1、X2,1、・・・、Xn-1,1、P1、・・・、X1,k、X2,k、・・・、Xn-1,k、Pk、・・・・)Tとすると、Hu=0が成立する。
<条件#1-1’>
「a#0,1,1%7=a#1,1,1%7=a#2,1,1%7=a#3,1,1%7=a#4,1,1%7=a#5,1,1%7=a#6,1,1%7=vp=1 (vp=1:固定値)」
「a#0,2,1%7=a#1,2,1%7=a#2,2,1%7=a#3,2,1%7=a#4,2,1%7=a#5,2,1%7=a#6,2,1%7=vp=2 (vp=2:固定値)」
「a#0,3,1%7=a#1,3,1%7=a#2,3,1%7=a#3,3,1%7=a#4,3,1%7=a#5,3,1%7==a#6,3,1%7vp=3 (vp=3:固定値)」
「a#0,4,1%7=a#1,4,1%7=a#2,4,1%7=a#3,4,1%7=a#4,4,1%7=a#5,4,1%7=a#6,4,1%7=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%7=a#1,k,1%7=a#2,k,1%7=a#3,k,1%7=a#4,k,1%7=a#5,k,1%7=a#6,k,1%7=vp=k (vp=k:固定値) (したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,1%7=a#1,n-2,1%7=a#2,n-2,1%7=a#3,n-2,1%7=a#4,n-2,1%7=a#5,n-2,1%7=a#6,n-2,1%7=vp=n-2 (vp=n-2:固定値)」
「a#0,n-1,1%7=a#1,n-1,1%7=a#2,n-1,1%7=a#3,n-1,1%7=a#4,n-1,1%7=a#5,n-1,1%7=a#6,n-1,1%7=vp=n-1 (vp=n-1:固定値)」
及び、
「b#0,1%7=b#1,1%7=b#2,1%7=b#3,1%7=b#4,1%7=b#5,1%7=b#6,1%7=w (w:固定値)」
<条件#1-2’>
「a#0,1,2%7=a#1,1,2%7=a#2,1,2%7=a#3,1,2%7=a#4,1,2%7=a#5,1,2%7=a#6,1,2%7=yp=1 (yp=1:固定値)」
「a#0,2,2%7=a#1,2,2%7=a#2,2,2%7=a#3,2,2%7=a#4,2,2%7=a#5,2,2%7=a#6,2,2%7=yp=2 (yp=2:固定値)」
「a#0,3,2%7=a#1,3,2%7=a#2,3,2%7=a#3,3,2%7=a#4,3,2%7=a#5,3,2%7=a#6,3,2%7=yp=3 (yp=3:固定値)」
「a#0,4,2%7=a#1,4,2%7=a#2,4,2%7=a#3,4,2%7=a#4,4,2%7=a#5,4,2%7=a#6,4,2%7=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%7=a#1,k,2%7=a#2,k,2%7=a#3,k,2%7=a#4,k,2%7=a#5,k,2%7=a#6,k,2%7=yp=k (yp=k:固定値) (したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,2%7=a#1,n-2,2%7=a#2,n-2,2%7=a#3,n-2,2%7=a#4,n-2,2%7=a#5,n-2,2%7=a#6,n-2,2%7=yp=n-2 (yp=n-2:固定値)」
「a#0,n-1,2%7=a#1,n-1,2%7=a#2,n-1,2%7=a#3,n-1,2%7=a#4,n-1,2%7=a#5,n-1,2%7=a#6,n-1,2%7=yp=n-1 (yp=n-1:固定値)」
及び、
「b#0,2%7=b#1,2%7=b#2,2%7=b#3,2%7=b#4,2%7=b#5,2%7=b#6,2%7=z (z:固定値)」
<条件#1-1’>及び<条件#1-2’>を制約条件とすることにより、制約条件を満たすLDPC-CCは、正則(Regular)LDPC符号となるので、高い誤り訂正能力
を得ることができる。
<条件#1-1’>において、vp=1、vp=2、vp=3、vp=4、・・・、vp=k 、・・・、vp=n-2、vp=n-1(k=1、2、・・・、n-1)及びwの値は、「1、2、3、4、5、6」のいずれの値であってもよい。
また、
<条件#1-2’>において、yp=1、yp=2、yp=3、yp=4、・・・、yp=k 、・・・、yp=n-2、yp=n-1(k=1、2、・・・、n-1)及びzの値は、「1、2、3、4、5、6」のいずれの値であってもよい。
説明を簡単にするために、パリティ検査多項式に基づく時変周期7、符号化率(n-1)/nのLDPC-CCのパリティ検査多項式(32-0)~(32-6)において、X1(D)が2つの項をもつ場合を考える。すると、この場合、パリティ検査多項式は、式(35-0)~(35-6)のようにあらわされる。
図14は、vp=1及びwを「2」に設定し、a#0,1,1%7=a#1,1,1%7=a#2,1,1%7=a#3,1,1%7=a#4,1,1%7=a#5,1,1%7=a#6,1,1%7=2としたときの情報X1のみに着目した場合の、チェックノード及び変数ノードのツリーを示している。
先ず、符号化率(n-1)/n、時変周期q(qは3より大きい素数)のg番目(g=0、1、・・・、q-1)のパリティ検査多項式が式(36)のようにあらわされる場合について考える。
上述での説明と同様に、以下に記載する<条件#3-1>及び<条件#3-2>は、LDPC-CCが高い誤り訂正能力を得る上で重要な要件の一つとなる。なお、以下の各条件において「%」はmoduloを意味し、例えば、「α%q」は、αをqで除算したときの余りを示す。
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q-2,1,1%q=a#q-1,1,1%q=vp=1 (vp=1:固定値)」
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#q-2,2,1%q=a#q-1,2,1%q=vp=2 (vp=2:固定値)」
「a#0,3,1%q=a#1,3,1%q=a#2,3,1%q=a#3,3,1%q=・・・=a#g,3,1%q=・・・=a#q-2,3,1%q=a#q-1,3,1%q=vp=3 (vp=3:固定値)」
「a#0,4,1%q=a#1,4,1%q=a#2,4,1%q=a#3,4,1%q=・・・=a#g,4,1%q=・・・=a#q-2,4,1%q=a#q-1,4,1%q=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%q=a#1,k,1%q=a#2,k,1%q=a#3,k,1%q=・・・=a#g,k,1%q=・・・=a#q-2,k,1%q=a#q-1,k,1%q=vp=k (vp=k:固定値)
(したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,1%q=a#1,n-2,1%q=a#2,n-2,1%q=a#3,n-2,1%q=・・・=a#g,n-2,1%q=・・・=a#q-2,n-2,1%q=a#q-1,n-2,1%q=vp=n-2 (vp=n-2:固定値)」
「a#0,n-1,1%q=a#1,n-1,1%q=a#2,n-1,1%q=a#3,n-1,1%q=・・・=a#g,n-1,1%q=・・・=a#q-2,n-1,1%q=a#q-1,n-1,1%q=vp=n-1 (vp=n-1:固定値)」
及び、
「b#0,1%q=b#1,1%q=b#2,1%q=b#3,1%q=・・・=b#g,1%q=・・・=b#q-2,1%q=b#q-1,1%q=w (w:固定値)」
<条件#3-2>
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q-2,1,2%q=a#q-1,1,2%q=yp=1 (yp=1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#q-2,2,2%q=a#q-1,2,2%q=yp=2 (yp=2:固定値)」
「a#0,3,2%q=a#1,3,2%q=a#2,3,2%q=a#3,3,2%q=・・・=a#g,3,2%q=・・・=a#q-2,3,2%q=a#q-1,3,2%q=yp=3 (yp=3:固定値)」
「a#0,4,2%q=a#1,4,2%q=a#2,4,2%q=a#3,4,2%q=・・・=a#g,4,2%q=・・・=a#q-2,4,2%q=a#q-1,4,2%q=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%q=a#1,k,2%q=a#2,k,2%q=a#3,k,2%q=・・・=a#g,k,2%q=・・・=a#q-2,k,2%q=a#q-1,k,2%q=yp=k (yp=k:固定値)
(したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,2%q=a#1,n-2,2%q=a#2,n-2,2%q=a#3,n-2,2%q=・・・=a#g,n-2,2%q=・・・=a#q-2,n-2,2%q=a#q-1,n-2,2%q=yp=n-2 (yp=n-2:固定値)」
「a#0,n-1,2%q=a#1,n-1,2%q=a#2,n-1,2%q=a#3,n-1,2%q=・・・=a#g,n-1,2%q=・・・=a#q-2,n-1,2%q=a#q-1,n-1,2%q=yp=n-1 (yp=n-1:固定値)」
及び、
「b#0,2%q=b#1,2%q=b#2,2%q=b#3,2%q=・・・=b#g,2%q=・・・=b#q-2,2%q=b#q-1,2%q=z (z:固定値)」
加えて、(vp=1,yp=1)、(vp=2,yp=2)、(vp=3,yp=3)、・・・(vp=k,yp=k)、・・・、(vp=n-2,yp=n-2)、(vp=n-1,yp=n-1)、及び、(w,z)のセットに対し、<条件#4-1>又は<条件#4-2>が成立すると、高い誤り訂正能力を得ることができる。ここで、k=1、2、・・・、n-1である。
(vp=i,yp=i)及び(vp=j,yp=j)を考える。ただし、i=1,2,・・・,n-1(iは1以上n-1以下の整数)、j=1,2,・・・,n-1(jは1以上n-1以下の整数)、及び、i≠jとする。このとき、(vp=i,yp=i)≠(vp=j,yp=j)及び(vp=i,yp=i)≠(yp=j,vp=j)が成立するi,j(i≠j)が存在する。
(vp=i,yp=i)及び(w,z)を考える。ただし、i=1,2,・・・,n-1(iは1以上n-1以下の整数)とする。このとき、(vp=i,yp=i)≠(w,z)及び(vp=i,yp=i)≠(z,w)が成立するiが存在する。
例として、時変周期が7であって、符号化率1/2、2/3のLDPC-CCのパリティ検査多項式を表7に示す。
「a#0,1,1%7=a#1,1,1%7=a#2,1,1%7=a#3,1,1%7=a#4,1,1%7=a#5,1,1%7=a#6,1,1%7=vp=1=3」
「b#0,1%7=b#1,1%7=b#2,1%7=b#3,1%7=b#4,1%7=b#5,1%7=b#6,1%7=w=1」
「a#0,1,2%7=a#1,1,2%7=a#2,1,2%7=a#3,1,2%7=a#4,1,2%7=a#5,1,2%7=a#6,1,2%7=yp=1=6」
「b#0,2%7=b#1,2%7=b#2,2%7=b#3,2%7=b#4,2%7=b#5,2%7=b#6,2%7=z=5」
が成立する。
同様に、表7において、符号化率2/3の符号では、
「a#0,1,1%7=a#1,1,1%7=a#2,1,1%7=a#3,1,1%7=a#4,1,1%7=a#5,1,1%7=a#6,1,1%7=vp=1=1」
「a#0,2,1%7=a#1,2,1%7=a#2,2,1%7=a#3,2,1%7=a#4,2,1%7=a#5,2,1%7=a#6,2,1%7=vp=2=2」
「b#0,1%7=b#1,1%7=b#2,1%7=b#3,1%7=b#4,1%7=b#5,1%7=b#6,1%7=w=5」
「a#0,1,2%7=a#1,1,2%7=a#2,1,2%7=a#3,1,2%7=a#4,1,2%7=a#5,1,2%7=a#6,1,2%7=yp=1=4」
「a#0,2,2%7=a#1,2,2%7=a#2,2,2%7=a#3,2,2%7=a#4,2,2%7=a#5,2,2%7=a#6,2,2%7=yp=2=3」
「b#0,2%7=b#1,2%7=b#2,2%7=b#3,2%7=b#4,2%7=b#5,2%7=b#6,2%7=z=6」
が成立する。
また、例として、時変周期11のときの符号化率4/5のLDPC-CCのパリティ検査多項式を表8に示す。
<条件#5-1>
(vp=i,yp=i)及び(vp=j,yp=j)を考える。ただし、i=1,2,・・・,n-1、j=1,2,・・・,n-1、及び、i≠jとする。このとき、(vp=i,yp=i)≠(vp=j,yp=j)及び(vp=i,yp=i)≠(yp=j,vp=j)がすべてのi,j(i≠j)で成立する。
(vp=i,yp=i)及び(w,z)を考える。ただし、i=1,2,・・・,n-1とする。このとき、(vp=i,yp=i)≠(w,z)及び(vp=i,yp=i)≠(z,w)がすべてのiで成立する。
また、vp=i≠yp=i(i=1,2,・・・,n-1(iは1以上n-1以下の整数))、w≠zが成立する場合、タナーグラフにおいて、短いループの発生を抑えることができる。
また、2n≧qのとき、(vp=i,yp=i)及び(z,w)を、0、1、2、・・・、q-1のうちすべての値が存在するように設定すると、より誤り訂正能力が高い時変周期q(qは3より大きい素数)のLDPC-CCを生成できる可能性がある。
次に、符号化率(n-1)/n、時変周期q(qは3より大きい素数)のg番目(g=0、1、・・・、q-1)のパリティ検査多項式が式(38)のようにあらわされる場合について考える。
<条件#6-1>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q-2,1,1%q=a#q-1,1,1%q=vp=1 (vp=1:固定値)」
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#q-2,2,1%q=a#q-1,2,1%q=vp=2 (vp=2:固定値)」
「a#0,3,1%q=a#1,3,1%q=a#2,3,1%q=a#3,3,1%
q=・・・=a#g,3,1%q=・・・=a#q-2,3,1%q=a#q-1,3,1%q=vp=3 (vp=3:固定値)」
「a#0,4,1%q=a#1,4,1%q=a#2,4,1%q=a#3,4,1%q=・・・=a#g,4,1%q=・・・=a#q-2,4,1%q=a#q-1,4,1%q=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%q=a#1,k,1%q=a#2,k,1%q=a#3,k,1%q=・・・=a#g,k,1%q=・・・=a#q-2,k,1%q=a#q-1,k,1%q=vp=k (vp=k:固定値)
(したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,1%q=a#1,n-2,1%q=a#2,n-2,1%q=a#3,n-2,1%q=・・・=a#g,n-2,1%q=・・・=a#q-2,n-2,1%q=a#q-1,n-2,1%q=vp=n-2 (vp=n-2:固定値)」
「a#0,n-1,1%q=a#1,n-1,1%q=a#2,n-1,1%q=a#3,n-1,1%q=・・・=a#g,n-1,1%q=・・・=a#q-2,n-1,1%q=a#q-1,n-1,1%q=vp=n-1 (vp=n-1:固定値)」
及び、
「b#0,1%q=b#1,1%q=b#2,1%q=b#3,1%q=・・・=b#g,1%q=・・・=b#q-2,1%q=b#q-1,1%q=w (w:固定値)」
<条件#6-2>
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q-2,1,2%q=a#q-1,1,2%q=yp=1 (yp=1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#q-2,2,2%q=a#q-1,2,2%q=yp=2 (yp=2:固定値)」
「a#0,3,2%q=a#1,3,2%q=a#2,3,2%q=a#3,3,2%q=・・・=a#g,3,2%q=・・・=a#q-2,3,2%q=a#q-1,3,2%q=yp=3 (yp=3:固定値)」
「a#0,4,2%q=a#1,4,2%q=a#2,4,2%q=a#3,4,2%q=・・・=a#g,4,2%q=・・・=a#q-2,4,2%q=a#q-1,4,2%q=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%q=a#1,k,2%q=a#2,k,2%q=a#3,k,2%q=・・・=a#g,k,2%q=・・・=a#q-2,k,2%q=a#q-1,k,2%q=yp=k (yp=k:固定値)
(したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,2%q=a#1,n-2,2%q=a#2,n-2,2%q=a#3,n-2,2%q=・・・=a#g,n-2,2%q=・・・=a#q-2,n-2,2%q=a#q-1,n-2,2%q=yp=n-2 (yp=n-2:固定値)」
「a#0,n-1,2%q=a#1,n-1,2%q=a#2,n-1,2%q=a#3,n-1,2%q=・・・=a#g,n-1,2%q=・・・=a#q-2,n-1,2%q=a#q-1,n-1,2%q=yp=n-1 (yp=n-1:固定値)」
及び、
「b#0,2%q=b#1,2%q=b#2,2%q=b#3,2%q=・・・=b#g,2%q=・・・=b#q-2,2%q=b#q-1,2%q=z (z:固定値)」
<条件#6-3>
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#q-2,1,3%q=a#q-1,1,3%q=sp=1 (sp=1:固定値)」
「a#0,2,3%q=a#1,2,3%q=a#2,2,3%q=a#3,2,3%q=・・・=a#g,2,3%q=・・・=a#q-2,2,3%q=a#q-1,2,3%q=sp=2 (sp=2:固定値)」
「a#0,3,3%q=a#1,3,3%q=a#2,3,3%q=a#3,3,3%q=・・・=a#g,3,3%q=・・・=a#q-2,3,3%q=a#q-1,3,3%q=sp=3 (sp=3:固定値)」
「a#0,4,3%q=a#1,4,3%q=a#2,4,3%q=a#3,4,3%q=・・・=a#g,4,3%q=・・・=a#q-2,4,3%q=a#q-1,4,3%q=sp=4 (sp=4:固定値)」
・
・
・
「a#0,k,3%q=a#1,k,3%q=a#2,k,3%q=a#3,k,3%q=・・・=a#g,k,3%q=・・・=a#q-2,k,3%q=a#q-1,k,3%q=sp=k (sp=k:固定値)
(したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,3%q=a#1,n-2,3%q=a#2,n-2,3%q=a#3,n-2,3%q=・・・=a#g,n-2,3%q=・・・=a#q-2,n-2,3%q=a#q-1,n-2,3%q=sp=n-2 (sp=n-2:固定値)」
「a#0,n-1,3%q=a#1,n-1,3%q=a#2,n-1,3%q=a#3,n-1,3%q=・・・=a#g,n-1,3%q=・・・=a#q-2,n-1,3%q=a#q-1,n-1,3%q=sp=n-1 (sp=n-1:固定値)」
加えて、(vp=1,yp=1,sp=1)、(vp=2,yp=2,sp=2)、(vp=3,yp=3,sp=3)、・・・(vp=k,yp=k,sp=k)、・・・、(vp=n-2,yp=n-2,sp=n-2)、(vp=n-1,yp=n-1,sp=n-1)、及び、(w,z,0)のセットを考える。ここで、k=1、2、・・・、n-1である。すると、<条件#7-1>又は<条件#7-2>が成立すると、高い誤り訂正能力を得ることができる。
(vp=i,yp=i,sp=i)及び(vp=j,yp=j,sp=j)を考える。ただし、i=1,2,・・・,n-1、j=1,2,・・・,n-1、及び、i≠jとする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、vp=j,yp=j,sp=jを大きい順に並べたセットを(αp=j,βp=j,γp=j)とする。ただし、αp=j≧βp=j、βp=j≧γp=jとする。このとき、(αp=i,βp=i,γp=i)≠(αp=j,βp=j,γp=j)が成立するi,j(i≠j)が存在する。
(vp=i,yp=i,sp=i)及び(w,z,0)を考える。ただし、i=1,2,・・・,n-1とする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、w,z,0を大きい順に並べたセットを(αp=i,βp=i,0)とする。ただし、αp=i≧βp=iとする。このとき、(vp=i,yp=i,sp=i)≠(w,z,0)が成立するiが存在する。
<条件#8-1>
(vp=i,yp=i,sp=i)及び(vp=j,yp=j,sp=j)を考える。ただし、i=1,2,・・・,n-1、j=1,2,・・・,n-1、及び、i≠jとする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、vp=j,yp=j,sp=jを大きい順に並べたセットを(αp=j,βp=j,γp=j)とする。ただし、αp=j≧βp=j、βp=j≧γp=jとする。このとき、(αp=i,βp=i,γp=i)≠(αp=j,βp=j,γp=j)がすべてのi,j(i≠j)で成立する。
(vp=i,yp=i,sp=i)及び(w,z,0)を考える。ただし、i=1,2,・・・,n-1とする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、w,z,0を大きい順に並べたセットを(αp=i,βp=i,0)とする。ただし、αp=i≧βp=iとする。このとき、(vp=i,yp=i,sp=i)≠(w,z,0)がすべてのiで成立する。
以上の説明において、時変周期q(qは3より大きい素数)のLDPC-CCのg番目のパリティ検査多項式として、X1(D)、X2(D)、・・・、Xn-1(D)及びP(D)において項数が3の式(38)を扱った。なお、式(38)において、X1(D)、X2(D)、・・・、Xn-1(D)、P(D)のいずれかの項数が1、2の場合においても高い誤り訂正能力を得ることができる可能性がある。例えば、X1(D)の項数を1又は2とする方法としては、次のような方法がる。時変周期qの場合、q個の0を満たすパリティ検査多項式が存在することになるが、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を1又は2とする。又は、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を1又は2とせずに、q個の0を満たすパリティ検査多項式のうち、いずれか(q-1個以下)の0を満たすパリティ検査多項式において、X1(D)の項数を1又は2としてもよい。X2(D)、・・・、Xn-1(D)、P(D)についても同様である。この場合においても、上述で述べた条件を満たすことが、高い誤り訂正能力を得る上で重要な条件となる。ただし、削減された項に関する条件は不要となる。
次に、時変周期hが、3より大きい素数以外の整数の場合における符号構成方法について考える。
先ず、符号化率(n-1)/n、時変周期h(hは3より大きい素数以外の整数)のg番目(g=0、1、・・・、h-1(gは0以上h-1以下の整数))のパリティ検査多項式が式(39)のようにあらわされる場合について考える。
上述での説明と同様に、以下に記載する<条件#9-1>及び<条件#9-2>は、LDPC-CCが高い誤り訂正能力を得る上で重要な要件の一つとなる。なお、以下の各条件において「%」はmoduloを意味し、例えば、「α%h」は、αをhで除算したときの余りを示す。
「a#0,1,1%h=a#1,1,1%h=a#2,1,1%h=a#3,1,1%h=・・・=a#g,1,1%h=・・・=a#h-2,1,1%h=a#h-1,1,1%h=vp=1 (vp=1:固定値)」
「a#0,2,1%h=a#1,2,1%h=a#2,2,1%h=a#3,2,1%h=・・・=a#g,2,1%h=・・・=a#h-2,2,1%h=a#h-1,2,1%h=vp=2 (vp=2:固定値)」
「a#0,3,1%h=a#1,3,1%h=a#2,3,1%h=a#3,3,1%h=・・・=a#g,3,1%h=・・・=a#h-2,3,1%h=a#h-1,3,1%h=vp=3 (vp=3:固定値)」
「a#0,4,1%h=a#1,4,1%h=a#2,4,1%h=a#3,4,1%h=・・・=a#g,4,1%h=・・・=a#h-2,4,1%h=a#h-1,4,1%h=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%h=a#1,k,1%h=a#2,k,1%h=a#3,k,1%
h=・・・=a#g,k,1%h=・・・=a#h-2,k,1%h=a#h-1,k,1%h=vp=k (vp=k:固定値)
(したがって、k=1、2、・・・、n-1(kは1以上n-1以下の整数)となる。)」
・
・
・
「a#0,n-2,1%h=a#1,n-2,1%h=a#2,n-2,1%h=a#3,n-2,1%h=・・・=a#g,n-2,1%h=・・・=a#h-2,n-2,1%h=a#h-1,n-2,1%h=vp=n-2 (vp=n-2:固定値)」
「a#0,n-1,1%h=a#1,n-1,1%h=a#2,n-1,1%h=a#3,n-1,1%h=・・・=a#g,n-1,1%h=・・・=a#h-2,n-1,1%h=a#h-1,n-1,1%h=vp=n-1 (vp=n-1:固定値)」
及び、
「b#0,1%h=b#1,1%h=b#2,1%h=b#3,1%h=・・・=b#g,1%h=・・・=b#h-2,1%h=b#h-1,1%h=w (w:固定値)」
<条件#9-2>
「a#0,1,2%h=a#1,1,2%h=a#2,1,2%h=a#3,1,2%h=・・・=a#g,1,2%h=・・・=a#h-2,1,2%h=a#h-1,1,2%h=yp=1 (yp=1:固定値)」
「a#0,2,2%h=a#1,2,2%h=a#2,2,2%h=a#3,2,2%h=・・・=a#g,2,2%h=・・・=a#h-2,2,2%h=a#h-1,2,2%h=yp=2 (yp=2:固定値)」
「a#0,3,2%h=a#1,3,2%h=a#2,3,2%h=a#3,3,2%h=・・・=a#g,3,2%h=・・・=a#h-2,3,2%h=a#h-1,3,2%h=yp=3 (yp=3:固定値)」
「a#0,4,2%h=a#1,4,2%h=a#2,4,2%h=a#3,4,2%h=・・・=a#g,4,2%h=・・・=a#h-2,4,2%h=a#h-1,4,2%h=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%h=a#1,k,2%h=a#2,k,2%h=a#3,k,2%h=・・・=a#g,k,2%h=・・・=a#h-2,k,2%h=a#h-1,k,2%h=yp=k (yp=k:固定値)
(したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,2%h=a#1,n-2,2%h=a#2,n-2,2%h=a#3,n-2,2%h=・・・=a#g,n-2,2%h=・・・=a#h-2,n-2,2%h=a#h-1,n-2,2%h=yp=n-2 (yp=n-2:固定値)」
「a#0,n-1,2%h=a#1,n-1,2%h=a#2,n-1,2%h=a#3,n-1,2%h=・・・=a#g,n-1,2%h=・・・=a#h-2,n-1,2%h=a#h-1,n-1,2%h=yp=n-1 (yp=n-1:固定値)」
及び、
「b#0,2%h=b#1,2%h=b#2,2%h=b#3,2%h=・・・=b#g,2%h=・・・=b#h-2,2%h=b#h-1,2%h=z (z:固定値)」
加えて、上述で説明したように、<条件#10-1>又は<条件#10-2>を付加することにより、より高い誤り訂正能力を得ることができる。
<条件#9-1>において、vp=1、vp=2、vp=3、vp=4、・・・、vp=k 、・・・、vp=n-2、vp=n-1(k=1、2、・・・、n-1)及びwを、「1」、及び、「時変周期hの約数以外の自然数」に設定する。
<条件#10-2>
<条件#9-2>において、yp=1、yp=2、yp=3、yp=4、・・・、yp=k 、・・・、yp=n-2、yp=n-1(k=1、2、・・・、n-1)及びzを、「1」、及び、「時変周期hの約数以外の自然数」に設定する。
(vp=i,yp=i)及び(vp=j,yp=j)を考える。ただし、i=1,2,・・・,n-1、j=1,2,・・・,n-1、及び、i≠jとする。このとき、(vp=i,yp=i)≠(vp=j,yp=j)及び(vp=i,yp=i)≠(yp=j,vp=j)が成立するi,j(i≠j)が存在する。
(vp=i,yp=i)及び(w,z)を考える。ただし、i=1,2,・・・,n-1とする。このとき、(vp=i,yp=i)≠(w,z)及び(vp=i,yp=i)≠(z,w)が成立するiが存在する。
また、<条件#11-1,条件#11-2>の制約条件をさらに厳しくすることにより、誤り訂正能力がより高い時変周期h(hは3より大きい素数でない整数)のLDPC-CCを生成できる可能性がある。その条件は、<条件#12-1>及び<条件#12-2>、又は、<条件#12-1>若しくは<条件#12-2>が成立することである。
(vp=i,yp=i)及び(vp=j,yp=j)を考える。ただし、i=1,2,・・・,n-1、j=1,2,・・・,n-1、及び、i≠jとする。このとき、(vp=i,yp=i)≠(vp=j,yp=j)及び(vp=i,yp=i)≠(yp=j,vp=j)がすべてのi,j(i≠j)で成立する。
(vp=i,yp=i)及び(w,z)を考える。ただし、i=1,2,・・・,n-1とする。このとき、(vp=i,yp=i)≠(w,z)及び(vp=i,yp=i)≠(z,w)がすべてのiで成立する。
また、vp=i≠yp=i(i=1,2,・・・,n-1)、w≠zが成立する場合、タナーグラフにおいて、短いループの発生を抑えることができる。
次に、時変周期h(hは3より大きい素数以外の整数)の(0を満たす)g番目(g=0、1、・・・、h-1)のパリティ検査多項式が式(41)のようにあらわされる場合について考える。
<条件#13-1>
「a#0,1,1%h=a#1,1,1%h=a#2,1,1%h=a#3,1,1%h=・・・=a#g,1,1%h=・・・=a#h-2,1,1%h=a#h-1,1,1%h=vp=1 (vp=1:固定値)」
「a#0,2,1%h=a#1,2,1%h=a#2,2,1%h=a#3,2,1%h=・・・=a#g,2,1%h=・・・=a#h-2,2,1%h=a#h-1,2,1%h=vp=2 (vp=2:固定値)」
「a#0,3,1%h=a#1,3,1%h=a#2,3,1%h=a#3,3,1%h=・・・=a#g,3,1%h=・・・=a#h-2,3,1%h=a#h-1,3,1%h=vp=3 (vp=3:固定値)」
「a#0,4,1%h=a#1,4,1%h=a#2,4,1%h=a#3,4,1%h=・・・=a#g,4,1%h=・・・=a#h-2,4,1%h=a#h-1,4,1%h=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%h=a#1,k,1%h=a#2,k,1%h=a#3,k,1%h=・・・=a#g,k,1%h=・・・=a#h-2,k,1%h=a#h-1,k,1%h=vp=k (vp=k:固定値)
(したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,1%h=a#1,n-2,1%h=a#2,n-2,1%h=a#3,n-2,1%h=・・・=a#g,n-2,1%h=・・・=a#h-2,n-2,1%h=a#h-1,n-2,1%h=vp=n-2 (vp=n-2:固定値)」
「a#0,n-1,1%h=a#1,n-1,1%h=a#2,n-1,1%h=a#3,n-1,1%h=・・・=a#g,n-1,1%h=・・・=a#h-2,n-1,1%h=a#h-1,n-1,1%h=vp=n-1 (vp=n-1:固定値)」
及び、
「b#0,1%h=b#1,1%h=b#2,1%h=b#3,1%h=・・・=b#g,1%h=・・・=b#h-2,1%h=b#h-1,1%h=w (w:固定値)」
<条件#13-2>
「a#0,1,2%h=a#1,1,2%h=a#2,1,2%h=a#3,1,2%h=・・・=a#g,1,2%h=・・・=a#h-2,1,2%h=a#h-1,1,2%h=yp=1 (yp=1:固定値)」
「a#0,2,2%h=a#1,2,2%h=a#2,2,2%h=a#3,2,2%h=・・・=a#g,2,2%h=・・・=a#h-2,2,2%h=a#h-1,2,2%h=yp=2 (yp=2:固定値)」
「a#0,3,2%h=a#1,3,2%h=a#2,3,2%h=a#3,3,2%h=・・・=a#g,3,2%h=・・・=a#h-2,3,2%h=a#h-1,3,2%h=yp=3 (yp=3:固定値)」
「a#0,4,2%h=a#1,4,2%h=a#2,4,2%h=a#3,4,2%h=・・・=a#g,4,2%h=・・・=a#h-2,4,2%h=a#h-1,4,2%h=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%h=a#1,k,2%h=a#2,k,2%h=a#3,k,2%h=・・・=a#g,k,2%h=・・・=a#h-2,k,2%h=a#h-1,k,2%h=yp=k (yp=k:固定値)
(したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,2%h=a#1,n-2,2%h=a#2,n-2,2%h=a#3,n-2,2%h=・・・=a#g,n-2,2%h=・・・=a#h-2,n-2,2%h=a#h-1,n-2,2%h=yp=n-2 (yp=n-2:固定値)」
「a#0,n-1,2%h=a#1,n-1,2%h=a#2,n-1,2%h=a#3,n-1,2%h=・・・=a#g,n-1,2%h=・・・=a#h-2,n-1,2%h=a#h-1,n-1,2%h=yp=n-1 (yp=n-1:固定値)」
及び、
「b#0,2%h=b#1,2%h=b#2,2%h=b#3,2%h=・・・=b#g,2%h=・・・=b#h-2,2%h=b#h-1,2%h=z (z:固定値)」
<条件#13-3>
「a#0,1,3%h=a#1,1,3%h=a#2,1,3%h=a#3,1,3%h=・・・=a#g,1,3%h=・・・=a#h-2,1,3%h=a#h-1,1,3%h=sp=1 (sp=1:固定値)」
「a#0,2,3%h=a#1,2,3%h=a#2,2,3%h=a#3,2,3%h=・・・=a#g,2,3%h=・・・=a#h-2,2,3%h=a#h-1,2,3%h=sp=2 (sp=2:固定値)」
「a#0,3,3%h=a#1,3,3%h=a#2,3,3%h=a#3,3,3%h=・・・=a#g,3,3%h=・・・=a#h-2,3,3%h=a#h-1,3,3%h=sp=3 (sp=3:固定値)」
「a#0,4,3%h=a#1,4,3%h=a#2,4,3%h=a#3,4,3%h=・・・=a#g,4,3%h=・・・=a#h-2,4,3%h=a#h-1,4,3%h=sp=4 (sp=4:固定値)」
・
・
・
「a#0,k,3%h=a#1,k,3%h=a#2,k,3%h=a#3,k,3%h=・・・=a#g,k,3%h=・・・=a#h-2,k,3%h=a#h-1,k,3%h=sp=k (sp=k:固定値)
(したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,3%h=a#1,n-2,3%h=a#2,n-2,3%h=a#3,n-2,3%h=・・・=a#g,n-2,3%h=・・・=a#h-2,n-2,3%h=a#h-1,n-2,3%h=sp=n-2 (sp=n-2:固定値)」
「a#0,n-1,3%h=a#1,n-1,3%h=a#2,n-1,3%h=a#3,n-1,3%h=・・・=a#g,n-1,3%h=・・・=a#h-2,n-1,3%h=a#h-1,n-1,3%h=sp=n-1 (sp=n-1:固定値)」
加えて、(vp=1,yp=1,sp=1)、(vp=2,yp=2,sp=2)、(vp=3,yp=3,sp=3)、・・・(vp=k,yp=k,sp=k)、・・・、(vp=n-2,yp=n-2,sp=n-2)、(vp=n-1,yp=n-1,sp=n-1)、及び、(w,z,0)のセットを考える。ここで、k=1、2、・・・、n-1である。すると、<条件#14-1>又は<条件#14-2>が成立すると、高い誤り訂正能力を得ることができる。
(vp=i,yp=i,sp=i)及び(vp=j,yp=j,sp=j)を考える。ただし、i=1,2,・・・,n-1、j=1,2,・・・,n-1、及び、i≠jとする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、vp=j,yp=j,sp=jを大きい順に並べたセットを(αp=j,βp=j,γp=j)とする。ただし、αp=j≧βp=j、βp=j≧γp=jとする。このとき、(αp=i,βp=i,γp=i)≠(αp=j,βp=j,γp=j)が成立するi,j(i≠j)が存在する。
(vp=i,yp=i,sp=i)及び(w,z,0)を考える。ただし、i=1,2,・・・,n-1とする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、w,z,0を大きい順に並べたセットを(αp=i,βp=i,0)とする。ただし、αp=i≧βp=iとする。このとき、(vp=i,yp=i,sp=i)≠(w,z,0)が成立するiが存在する。
<条件#15-1>
(vp=i,yp=i,sp=i)及び(vp=j,yp=j,sp=j)を考える。ただし、i=1,2,・・・,n-1、j=1,2,・・・,n-1、及び、i≠jとする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、vp=j,yp=j,sp=jを大きい順に並べたセットを(αp=j,βp=j,γp=j)とする。ただし、αp=j≧βp=j、βp=j≧γp=jとする。このとき、(αp=i,βp=i,γp=i)≠(αp=j,βp=j,γp=j)がすべて
のi,j(i≠j)で成立する。
(vp=i,yp=i,sp=i)及び(w,z,0)を考える。ただし、i=1,2,・・・,n-1とする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、w,z,0を大きい順に並べたセットを(αp=i,βp=i,0)とする。ただし、αp=i≧βp=iとする。このとき、(vp=i,yp=i,sp=i)≠(w,z,0)がすべてのiで成立する。
以上の説明において、時変周期h(hは3より大きい素数以外の整数)のLDPC-CCのg番目のパリティ検査多項式として、X1(D)、X2(D)、・・・、Xn-1(D)及びP(D)において項数が3の式(41)を扱った。なお、式(41)において、X1(D)、X2(D)、・・・、Xn-1(D)、P(D)のいずれかの項数が1、2の場合においても、高い誤り訂正能力を得ることができる可能性がある。例えば、X1(D)の項数を1又は2とする方法としては、次のような方法ある。時変周期hの場合、h個の0を満たすパリティ検査多項式が存在することになるが、h個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を1又は2とする。又は、h個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を1又は2とせずに、h個の0を満たすパリティ検査多項式のうち、いずれか(h-1個以下)の0を満たすパリティ検査多項式において、X1(D)の項数を1又は2としてもよい。X2(D)、・・・、Xn-1(D)、P(D)についても同様である。この場合においても、上述で述べた条件を満たすことが、高い誤り訂正能力を得る上で重要な条件となる。ただし、削減された項に関する条件は不要となる。
本実施の形態では、実施の形態1で述べたパリティ検査多項式に基づくLDPC-CCの符号化方法及び符号化器の構成について詳しく説明する。
一例として、先ず、符号化率1/2、時変周期3のLDPC-CCを考える。時変周期3のパリティ検査多項式を以下に与える。
そして、時点i=3kのとき、式(43-0)、つまり、式(44-0)に相当する図15Aに示す回路により、時点iのパリティビットを求めることになる。時点i=3k+1のとき、式(43-1)、つまり、式(44-1)に相当する図15Bに示す回路により、時点iのパリティビットを求めることになる。時点i=3k+2のとき、式(43-2)、つまり、式(44-2)に相当する図15Cに示す回路により、時点iのパリティビットを求めることになる。したがって、符号化器は、図9と同様の構成を採ることができる。
したがって、時点iにおいて、i%q=kのとき、式(45)、式(46)において、式(45)、式(46)のgにkを代入した式を用いて、時点iのパリティビットを求めることができる。
よって、ターミネーションを用いたとき、式(36)であらわされる符号化率(n-1)/nの時変周期qのLDPC-CCの検査行列は、図17のようにあらわされる。図17は、図5と同様の構成を持つ。なお、後述の実施の形態3において、テイルバイティングの検査行列の詳細構成について説明する。
(実施の形態3)
本実施の形態では、実施の形態1で述べたパリティ検査多項式に基づくLDPC-CCにおいて、非特許文献10、11に記載されている簡単なテイルバイティングを行う場合に、より高い誤り訂正能力を得るための符号構成方法について詳しく説明する。
時変周期q、符号化率(n-1)/nのLDPC-CCのg番目(g=0、1、・・・、q-1)のパリティ検査多項式(36)において、P(D)の項が1の場合、g番目のパリティ検査多項式は式(48)のようにあらわされる。
式(48)から、P(D)は以下のようにあらわされる。
次に、式(49)で定義される時変周期q、符号化率(n-1)/nのLDPC-CCに対し、テイルバイティングを行ったときの検査行列の構成、及び、ブロックサイズについて詳しく説明する。
しかし、非特許文献12には、パリティ検査行列の具体的な符号について示されておらず、また、高い誤り訂正能力を得るための符号構成方法(制約条件)については記載されていない。
式(49)で定義される時変周期q、符号化率(n-1)/nのLDPC-CCにおいて、より高い誤り訂正能力を得るためには、復号の際に必要とされるパリティ検査行列Hにおいて、以下の条件が重要となる。
・パリティ検査行列の行数は、qの倍数である。
・したがって、パリティ検査行列の列数はn×qの倍数である。つまり、復号時に必要な(例えば)対数尤度比はn×qの倍数のビット分である。
ただし、上記<条件#16>において、必要となる時変周期q、符号化率(n-1)/nのLDPC-CCのパリティ検査多項式は、式(48)に限ったものではなく、式(36)、式(38)等のパリティ検査多項式でもよい。また、式(38)では、X1(D)、X2(D)、・・・Xn-1(D)及びP(D)において、各項数が3であるが、これに限ったものではない。また、時変周期qは2以上であればいずれの値であってもよい。
時点iにおける情報ビットX1、X2、・・・、Xn-1、及びパリティビットPを、X1,i、X2,i、・・・、Xn-1,i、Piとあらわす。すると、<条件#16>を満たすためには、i=1、2、3、・・・、q、・・・、q×(N-1)+1、q×(N-1)+2、q×(N-1)+3、・・・、q×Nとしてテイルバイティングを行うことになる。
図18Aは、上記で定義した送信系列uに対応するパリティ検査行列のうち、時点q×N-1(1803)、時点q×N(1804)近辺のパリティ検査行列を示している。図18Aに示すように、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図18A参照)。
また、列群1804は時点q×Nに相当する列群を示している。なお、列群1804では、送信系列がX1,q×N、X2,q×N、・・・、Xn-1,q×N、Pq×Nの順に並んでいる。列群1803は時点q×N-1に相当する列群を示している。なお、列群1803では、送信系列がX1,q×N-1、X2,q×N-1、・・・、Xn-1,q×N-1、Pq×N-1の順に並んでいる。
列群1803は時点q×N-1に相当する列群を示しており、列群1803は、X1,q×N-1、X2,q×N-1、・・・、Xn-1,q×N-1、Pq×N-1の順に並んでいる。列群1804は時点q×Nに相当する列群を示しており、列群1804は、X1,q×N、X2,q×N、・・・、Xn-1,q×N、Pq×Nの順に並んでいる。列群1807は時点1に相当する列群を示しており、列群1807は、X1,1、X2,1、・・・、Xn-1,1、P1の順に並んでいる。列群1808は時点2に相当する列群を示しており、列群1808は、X1,2、X2,2、・・・、Xn-1,2、P2の順に並んでいる。
このとき、図18Bで示したパリティ検査行列の一部分、すなわち、列境界1813より左かつ行境界1814より下の部分は、テイルバイティングを行ったときの特徴的な部分となる。そして、この特徴的な部分の構成は、式(51)と同様の構成となることがわかる。
実施の形態1で説明した時変LDPC-CCは、タナーグラフにおいて長さが短いサイクル(cycle
oflength)の数が少なくなるような符号である。そして、実施の形態1では、タナーグラフにおいて長さが短いサイクルの数が少なくなるような符号を生成するための条件を示した。ここで、テイルバイティングを行う際に、タナーグラフにおいて長さが短いサイクルの数が少なくなるためには、パリティ検査行列の行数が、qの倍数である(<条件#16>)ことが重要となる。この場合、パリティ検査行列の行数が、qの倍数の場合には、時変周期qのパリティ検査多項式が全て用いられることになる。そのため、パリティ検査多項式を実施の形態1で説明したようにタナーグラフにおいて長さが短いサイクルの数が少なくなるような符号とすることにより、テイルバイティングを行う際にも、タナーグラフにおいて長さが短いサイクルの数が少なくすることができる。このように、テイルバイティングを行う際にも、タナーグラフにおいて長さが短いサイクルの数が少なくするためには、<条件#16>が重要な要件となる。
図19は、通信システムの略図である。図19の通信システムは、符号化側の送信装置1910、及び、復号側の受信装置1920を有している。
受信部1921は、受信信号を入力とし、増幅、周波数変換、直交復調、チャネル推定、及びデマッピング等の処理を行い、ベースバンド信号、及びチャネル推定信号を出力する。
復号化器1923は、対数尤度比信号を入力とし、ここでは、特に、BP復号を用いた反復復号を行い、推定送信系列、又は(及び)、推定情報系列を出力する。
例えば、符号化率1/2、時変周期11のLDPC-CCを考える。このとき、テイルバイティングを行うことを前提し、設定した情報長を16384とする。その情報ビットをX1,1、X1,2、X1,3、・・・、X1,16384とする。そして、何も工夫せずに、パリティビットを求めるとすると、P1、P2、P,3、・・・、P16384が求まることになる。
P16386、P16387、P16388、P16389を求めるようにすればよい。
受信装置1920では、送信系列ごとの、例えば、対数尤度比をLLR(X1,1)、LLR(P1)、LLR(X1,2)、LLR(P2)、・・・LLR(X1,16384)、LLR(P16384)、LLR(P16385)、LLR(P16386)、LLR(P16387)、LLR(P16388)、LLR(P16389)を得ることになる。
て、テイルバイティングを行う場合、受信装置1920では、<条件#16>を満たすようなパリティ検査行列を用いて復号が行なわれる。したがって、復号化器1923は、パリティ検査行列として(行)×(列)=(q×M)×(q×n×M)のパリティ検査行列を保有していることになる(Mは自然数)。
このとき、符号化器1911に入力される情報ビットの数が、q×(n-1)×Mビットより少ない場合は、符号化器1911において、情報ビット数がq×(n-1)×Mビットとなるように送受信装置(符号化器1911及び復号化器1923)間で既知のビット(例えば「0」(「1」でもよい))が挿入される。そして、符号化器1911は、q×Mビットのパリティビットを求めることになる。このとき、送信装置1910は、挿入した既知のビットを除いた情報ビット及び求めたパリティビットを送信する。なお、既知のビットを送信し、常に、q×(n-1)×Mビットの情報ビット及びq×Mビットのパリティビットを送信してもよいが、この場合には、既知ビット送信分の伝送速度の低下を招くことになる。
<手順1>
例えば、符号化器1911が、図9と同様の構成を採る場合、各レジスタ(符号省略)の初期値を「0」とする。つまり、式(50)において、時点iにおいて(i=1、2、・・・)、(i-1)%q=kのとき、g=kとして時点iのパリティビットを求める。そして、式(50)のX1[z]、X2[z]、・・・、Xn-1[z]、P[z]において、zが1より小さい場合は、これらを「0」として符号化を行う。そして、符号化器1911は、最後のパリティビットまで求める。そして、このときの符号化器1911の各レジスタの状態を保持しておく。
手順1において、符号化器1911に保持された各レジスタの状態から(したがって、式(50)のX1[z]、X2[z]、・・・、Xn-1[z]、P[z]において、zが1より小さい場合について、<手順1>で得られた値が用いられることになる。)、再度、時点i=1から符号化を行い、パリティビットを求める。
なお、本実施の形態では、式(48)で定義される時変周期q、符号化率(n-1)/nのLDPC-CCを例に説明した。式(48)は、X1(D)、X2(D)、・・・、Xn-1(D)において項数が3である。しかし、項数は3に限られず、式(48)において、X1(D)、X2(D)、・・・、Xn-1(D)のいずれかの項数が1、2となる場合においても、高い誤り訂正能力を得ることができる可能性がある。例えば、X1(D)の項数を1又は2とする方法としては、次のような方法がある。時変周期qの場合、
q個の0を満たすパリティ検査多項式が存在することになるが、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を1又は2とする。又は、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を1又は2とせずに、q個の0を満たすパリティ検査多項式のうち、いずれか(q-1個以下)の0を満たすパリティ検査多項式において、X1(D)の項数を1又は2としてもよい。X2(D)、・・・、Xn-1(D)についても同様である。この場合においても、実施の形態1で述べた条件を満たすことが、高い誤り訂正能力を得る上で重要な条件となる。ただし、削減された項に関する条件は不要となる。
式(53)から、P(D)は以下のようにあらわされる。
(実施の形態4)
本実施の形態では、再度、パリティ検査多項式に基づく、符号化率R=(n-1)/nの時変LDPC-CCについて説明する。X1,X2,・・・,Xn-1の情報ビット及びパリティビットPの時点jにおけるビットを、それぞれX1,j,X2,j,・・・,Xn-1,j及びPjとあらわす。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn-1,j,Pj)とあらわす。また、符号化系列をu=(u0,u1,・・・,uj,・・・)Tとあらわす。Dを遅延演算子とすると、情報ビットX1,X2,・・・,Xn-1の多項式はX1(D),X2(D),・・・,Xn-1(D)とあらわされ、パリティビットPの多項式はP(D)とあらわされる。このとき、式(56)であらわされる0を満たすパリティ検査多項式を考える。
式(58)、式(59)及び式(60)を用いることにより、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの検査行列は、式(61)のようにあらわされる。
本実施の形態では、実施の形態1で述べた時変LDPC-CCを消失訂正方式に適用する場合について説明する。ただし、LDPC-CCの時変周期は、時変周期2、3、4であってもよい。
例えば、LDPC符号による消失訂正符号化を利用した通信システムの概念図を図20に示す。図20において、符号化側の通信装置では、送信する情報パケット1~4に対してLDPC符号化を行い、パリティパケットa,bを生成する。上位層処理部は、情報パケットにパリティパケットを付加した符号化パケットを下位層(図20の例では物理層(PHY:Physical Layer))に出力し、下位層の物理層処理部は、符号化パケットを通信路で送信可能な形に変換して通信路に出力する。図20は、通信路が無線通信路の場合の例である。
符号化側の通信装置2110は、消失訂正符号化関連処理部2112、誤り訂正符号化部2113及び送信装置2114を有する。
復号側の通信装置2130は、受信装置2131、誤り訂正復号部2132、消失訂正復号関連処理部2133を有する。
パケット生成部2211は、情報2241を入力とし、情報パケット2243を生成し、情報パケット2243を並び替え部2215に出力する。以下では、一例として、情報パケット2243が、情報パケット#1~#nから構成される場合について説明する。
消失訂正符号化器(パリティパケット生成部)2216は、並び替え後の情報2245を入力とし、情報2245に対し、例えば、LDPC-CC(low-density parity-checkconvolutional code)の符号化を行い、パリティビットを生成する。消失訂正符号化器(パリティパケット生成部)2216は、生成したパリティ部分のみを抽出し、抽出したパリティ部分から(パリティを蓄積し、並び替えを行い)パリティパケット2247を生成し出力する。このとき、情報パケット#1~#nに対し、パリティパケット#1~#mが生成される場合、パリティパケット2247は、パリティパケット#1~#mから構成される。
誤り検出部2435は、物理層における誤り訂正符号の復号後のパケット2451を入力とし、例えば、CRCにより、誤り検出を行う。このとき、物理層における誤り訂正符号の復号後のパケット2451は、復号後の情報パケット#1~#n及び復号後のパリティパケット#1~#mから構成される。誤り検出の結果、例えば、図24に示すように、復号後の情報パケット及び復号後のパリティパケットに損失パケットが存在する場合、誤り検出部2435は、パケット損失が発生しなかった情報パケット及びパリティパケットにパケット番号を付して、パケット2453として出力する。
第1の消失訂正符号化器2561は、符号化率1/2の消失訂正符号の符号化器である。また、第2の消失訂正符号化器2562は、符号化率2/3の消失訂正符号の符号化器である。また、第3の消失訂正符号化器2563は、符号化率3/4の消失訂正符号の符号化器である。
このように、通信状況に応じて消失訂正符号の符号化率を変更して、適切な符号化率に設定することにより、通信相手の受信品質の向上とデータ(情報)の伝送速度の向上の両立を図ることができるようになる。
以下で説明する符号・復号化方法では、実施の形態1~3で説明したLDPC-CCを、消失訂正のための符号として用いる。このとき、消失訂正能力の点に着目すると、例えば、符号化率3/4より大きいLDPC-CCを用いる場合には、高い消失訂正能力を得ることができる。一方、符号化率2/3より小さいLDPC-CCを用いる場合には、高い消失訂正能力を得るのが難しいという課題がある。以下では、この課題を克服し、なおかつ、低回路規模で複数符号化率を実現することができる符号化方法について説明する。
通信路2607は、符号化側の通信装置2600の送信装置2605から送信された信号が、復号側の通信装置2608の受信装置2609で受信されるまでに通る経路を示す。
消失訂正符号化関連処理部2603は、情報2601、制御信号2602、及び、通信装置2608からフィードバックされた情報2615を入力とする。消失訂正符号化関連処理部2603は、制御信号2602、又は、通信装置2608からのフィードバック情報2615に基づき消失訂正符号の符号化率を決定し、符号化を行い、消失訂正符号化後のパケットを出力する。
Strength Indicator又はCSI:Channel StateInformation)、物理層における誤り訂正可否情報、及び消失訂正における消失訂正可否情報に基づいたフィードバック情報と、送信データとを入力とする。送信装置2617は、符号化、マッピング、直交変調、周波数変換、増幅等の処理を施し、送信信号2618を出力する。送信信号2618は、通信装置2600に伝送される。
並び替え部2902は、情報Xを入力とし、情報ビットXを蓄積する。そして、並び替え部2902は、情報ビットXが4ビット分蓄積されると、情報ビットXを並び替え、情報ビットX1、X2、X3、X4を4系統にパラレルに出力する。ただし、この構成は、あくまでも一例である。なお、並び替え部2902の動作について、後述する。
並び替え部2909は、[X1(1),X2(1),X3(1),X4(1),P1(1)]、[X1(2),X2(2),X3(2),X4(2),P1(2)]、・・・、[X1(N),X2(N),X3(N),X4(N),P1(N)]を入力とする。並び替え部2909は、情報ビットに加えパリティビットも含め並び替えを行う。
そして、符号化率4/5のLDPC-CC符号化器2914は、例えば、図30の枠3000に示されるように、[X1(50),X2(31),X3(7),P1(40)]に対し符号化を行い、パリティビットP2(1)を生成する。以下同様に、LDPC-CC符号化器2914は、パリティビットP2(1)、P2(2)、・・・、P2(M)を生成し、出力する。
また、制御信号2916が符号化率16/25を示す場合、符号化器2900は、[X1(50),X2(31),X3(7),P1(40),P2(1)]、[X2(39),X4(67),P1(4),X1(20),P2(2)]、・・・、[P2(65),X4(21),P1(16),X2(87),P2(M)]を用いてパケットを生成する。
LDPC-CC符号化器3103は、符号化率5/6をサポートする。LDPC-CC符号化器3103は、情報ビットX1,X2,X3,X4,X5、及び制御信号2916を入力とし、情報ビットX1,X2,X3,X4,X5に対して符号化を行い、パリティビット(P1)2908を出力する。なお、制御信号2916が、符号化率5/6を示す場合、情報ビットX1,X2,X3,X4,X5、及び、パリティビット(P1)2908が、符号化器2900の出力となる。
また、図29及び図31には、2つの符号化率に対応する場合の符号化器2900の構成例を示したが、3つ以上の符号化率に対応させるようにしてもよい。図32は、3つ以上の符号化率に対応することができる符号化器3200の構成の一例を示している。
LDPC-CC符号化器3204は、符号化率(n-1)/nをサポートする。LDPC-CC符号化器3204は、第1データ3203、及び制御信号2916を入力とし、第1データ3203及び制御信号2916に対して符号化を行い、パリティビット(P1)3205を出力する。なお、制御信号2916が、符号化率(n-1)/nを示す場合、第1データ3203及びパリティビット(P1)3205が符号化器3200の出力となる。
3205を蓄積する。そして、並び替え部3206は、蓄積後の第1データ3203、及びパリティビット(P1)3205を並び替え、並び替え後の第1データ3203、及びパリティビット(P1)3205を、後段のLDPC-CC符号化器3208の符号化対象の第2データ3207として出力する。
P2)3207を蓄積する。そして、並び替え部3210は、蓄積後の第2データ3209、及びパリティビット(P2)3207を並び替え、並び替え後の第2データ3209、及びパリティ(P2)3207を、後段のLDPC-CC符号化器3212の符号化対象の第3データ3211として出力する。
なお、図29、図31及び図32において、情報ビットXに対して、必ずしも並び替え(初段の並び換え)が必要とは限らない。また、並び替え部は、並び替え後の情報ビットXをパラレルに出力する構成で示しているが、これに限ったものではなく、シリアル出力としてもよい。
時点iにおける送信系列uiをui=(X1,i、X2,i、・・・、Xn-1,i、P1,i、P2,i、P3,i・・・)とすると、送信系列uは、u=(u0,u1,・・・,ui,・・・)Tとあらわされる。
例えば、符号化率(n-1)/nの場合、消失データ3311には、P2、P3、・・・に相当するデータが存在しない。しかし、この場合には、P2、P3、・・・に相当するデータを「0」として、BP復号器3313が復号動作することにより、消失訂正を行うことが可能となる。
以下では、一例として、実施の形態2で述べたゼロターミネーション(Zero-termination)を用いる場合について検討する。特に、ターミネーション系列の挿入方法について述べる。
そこで、以下では、パケットを構成するビット数を考慮したターミネーション系列挿入方法を提案する。
以上より、符号化率(n-1)/nのLDPC-CCを用い、情報ビット数が(n-1)×cビットの場合、cビットのパリティビットが得られる。そして、ゼロターミネーションのビット数dと、1パケットを構成するビット数zとの関係について考える。ただし、パケットを構成するビット数zには、誤り検出符号等の制御情報が含まれず、パケットを構成するビット数zは、消失訂正符号化に関連するデータのビット数を意味している。
ただし、(n-1)×cビットの情報ビット中には、パディングを行ったダミーのデータ(本来の情報ビットではなく、符号化を行いやすくするために情報ビットに加えた既知のビット(例えば“0”))が含まれていても良い。なお、パディングについては後述する。
消失訂正符号化を行わない場合、情報パケットのみが送信されることになる。
消失訂正符号化を行う場合、例えば、以下のいずれかの方法でパケットを送信する場合を考える。
<2>情報パケットとパリティパケットとに区別せずにパケットを生成し、送信する。
この場合、ハードウェアの回路規模の増大を抑えるためには、消失訂正符号化を行う場合と、行わない場合とに関係なくパケットを構成するビット数zを同一にすることが望まれる。
上記の場合、消失訂正符号化を行うために必要となる情報のビット数はα×zビットとなる。しかし、実際には、必ずしもα×zビットの情報が、消失訂正符号化用に揃うわけではなく、α×zビットより少ないビット数しか情報が揃わない場合がある。この場合、ビット数がα×zビットとなるように、ダミーのデータを挿入する方法をとる。したがって、消失訂正符号化用の情報のビット数がα×zビットより少ない場合、ビット数がα×zビットとなるように既知のデータ(例えば「0」)を挿入する。そして、このように生成したα×zビットの情報に対し、消失訂正符号化を行う。
ここで、パケットを構成するビット数zは、バイト単位で構成することが多々ある。したがって、LDPC-CCの符号化率が(n-1)/nの場合に、式(65)が成立とすると、消失訂正符号化の際、常にパディングビットが必要となるような状況を避けることができる。
上記の場合、消失訂正符号化を行うために必要となる情報のビット数はα×zビットとなる。しかし、実際には、必ずしもα×zビットの情報が、消失訂正符号化用に揃うわけではなく、α×zビットより少ないビット数しか情報が揃わない場合がある。この場合、ビット数がα×zビットとなるように、ダミーのデータを挿入する方法をとる。したがって、消失訂正符号化用の情報のビット数がα×zビットより少ない場合、ビット数がα×zビットとなるように既知のデータ(例えば「0」)を挿入する。そして、このように生成したα×zビットの情報に対し、消失訂正符号化を行う。
なお、テイルバイティングを行う場合には、ブロック長が定まることになるので、LDPCブロック符号を消失訂正符号に適用したときと同様に扱うことができる。
(実施の形態6)
本実施の形態では、実施の形態1で述べた「時変周期が3より大きい、パリティ検査多項式に基づくLDPC-CC」に関する重要な事項の説明を行う。
LDPC-CCは、LDPC-BCと同様に低密度なパリティ検査行列によって定義される符号であり、無限長の時変パリティ検査行列で定義することができるが、実際は、周期的時変のパリティ検査行列で考えることができる。
パリティ検査行列をHとし、シンドロームフォーマーをHTとすると、符号化率R=d/c(d<c)のLDPC-CCのHTは、式(71)のようにあらわすことができる。
式(71)によって定義されるLDPC-CCは時変畳み込み符号であり、この符号を時変LDPC-CCと呼ぶ。復号は、パリティ検査行列Hを用いBP復号が行われる。符号化系列ベクトルuとすると、以下の関係式が成立する。
2:パリティ検査多項式に基づくLDPC-CC
符号化率R=1/2,生成行列G=[1 G1(D)/G0(D)]の組織的畳み込み符号を考える。このとき、G1はフィードフォワード多項式、G0はフィードバック多項式をあらわしている。
式(74)に基づく異なるパリティ検査多項式をm個用意する(mは2以上の整数)。その0を満たすパリティ検査多項式を以下のようにあらわす。
そして、時点jにおけるデータおよびパリティをXj,Pjであらわし、uj=(Xj,Pj)とする。すると、式(76)の0を満たすパリティ検査多項式が成立するものとする。
period of m)となる。
このとき、式(74)で定義される時不変LDPC-CCおよび式(76)で定義されるTV-m-LDPC-CCは、P(D)にはD0の項が存在し、かつ、bjは1以上の整数である。そのため、逐次的にパリティをレジスタおよび排他的論理和で簡単に求めることができるという特徴をもつことになる。
次に、符号化率(n-1)/nの時不変LDPC-CCおよびTV-m-LDPC-CCを考える。
時点jにおける情報系列X1,X2,・・・,Xn-1およびパリティPをX2,j,・・・,Xn-1,jおよびPjとあらわし、uj=(X1,j,X2,j,・・・,Xn-1,j,Pj)とする。そして、情報系列X1,X2,・・・,Xn-1の多項式表現をX1(D),X2(D),・・・,Xn-1(D)とすると、0を満たすパリティ検査多項式は以下のようにあらわされる。
すると、時点jにおける情報X1,X2,・・・,Xn-1およびパリティPのX1,j,X2,j,・・・,Xn-1,jおよびPjに対し、式(79)が成立するものとする。
3:正則TV-m-LDPC-CC
先ず、本検討で扱う正則TV-m-LDPC-CCについて説明する。
拘束長がおおよそ等しい時、TV3-LDPC-CCが時変周期2のLDPC-CC(TV2-LDPC-CC)より良好な誤り訂正能力を得られることがわかっている。また、TV3-LDPC-CCを、正則(regular)LDPC符号とすることで、良好な誤り訂正能力を得ることができることがわかっている。そこで、本検討では、時変周期m(m>3)の正則LDPC-CCの作成を試みる。
性質1:
パリティ検査多項式#αのDa#α,p,iXp(D)の項とパリティ検査多項式#βのDa#β,p,jXp(D)の項(α,β=0,1,・・・,m-1;p=1,2,・・・,n-1; i,j=1,2,・・・,rp)において、また、パリティ検査多項式#αのDb#α,iP(D)の項とパリティ検査多項式#βのDb#β,jP(D)の項(α,β=0,1,・・・,m-1 (β≧α); i,j=1,2,・・・,rp)において以下の関係をもつ。
{a#α,p,i mod m=a#β,p,j mod m}∩{i≠j}が成立するとき、図36のようにパリティ検査多項式#αに相当するチェックノード及びパリティ検査多項式#βに相当するチェックノードの両者、とエッジを形成する変数ノード$1が存在する。
<2>β≠αのとき:
β-α=Lとする。
(a#β,p,j mod m)-(a#α,p,imod m)=Lのとき、図36のようにパリティ検査多項式#αに相当するチェックノード及びパリティ検査多項式#βに相当するチェックノードの両者、とエッジを形成する変数ノード$1が存在する。
(a#β,p,j mod m)-(a#α,p,imod m)=L+mのとき、図36のようにパリティ検査多項式#αに相当するチェックノード及びパリティ検査多項式#βに相当するチェックノードの両者、とエッジを形成する変数ノード$1が存在する。
(b#β,j mod m)-(b#α,i mod m)=Lのとき、図36のようにパリティ検査多項式#αに相当するチェックノードとパリティ検査多項式#βに相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
(b#β,j mod m)-(b#α,i mod m)=L+mのとき、図36のようにパリティ検査多項式#αに相当するチェックノードとパリティ検査多項式#βに相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
of 6)に対し、定理1が成立する。
定理1:TV-m-LDPC-CCの0を満たすパリティ検査多項式において、以下の2つの条件を与える。
C#1.1:a#q,p,imodm=a#q,p,j mod m=a#q,p,k mod mを満足するpおよびqが存在する。ただし、i≠j, i≠k, j≠kとする。
C#1.1またはC#1.2を満足した時、少なくとも1つのCL6が存在する。
証明:
p=1, q=0おいて、a#0,1,imodm=a#0,1,j mod m=a#0,1,k mod mのときに少なくとも1つのCL6が存在することが証明できれば、X2(D),・・・, Xn-1(D),P(D)についても、X1(D)をX2(D),・・・, Xn-1(D), P(D)に置き換えて考えることにより、q=0のとき、C#1,1,C#1.2が成立すれば、少なくとも1つのCL6が存在することが証明できる。
したがって、p=1, q=0のとき、a#0,1,imodm=a#0,1,j mod m=a#0,1,k mod mが成立すれば少なくとも1つのCL6が存在することを証明する。
式(80)のTV-m-LDPC-CCの0を満たすパリティ検査多項式に対し、q=0としたときのX1(D)において、3つの項が存在し、かつ、a#q,p,i mod m=a#q,p,j mod m=a#q,p,kmodmを満足する、とすると、q=0の0を満たすパリティ検査多項式は、式(81)のようにあらわすことができる。
X1(D)に関する項が4つ以上存在する場合、4つ以上の項の中から3つの項を選択し、選択された3つの項において、a#0,1,i mod m=a#0,1,j mod m=a#0,1,k mod mとなる場合、図37に示すように、CL6が形成される。
また、X2(D),・・・,Xn-1(D),P(D)についても、X1(D)に置き換えて考えることにより、C#1.1またはC#1.2が成立した場合、CL6が少なくとも1つ発生することになる。
したがって、式(80)の0を満足するパリティ検査多項式において、C#1.1またはC#1.2が成立した場合、CL6が少なくとも1つ発生する。
以降で扱う符号化率(n-1)/nのTV-m-LDPC-CCの#q番目の0を満たすパリティ検査多項式を式(74)に基づき以下のように与える(q=0,・・・,m-1)。
定理1より、CL6の発生を抑えるために、式(82)のXq(D)において、{a#q,p,1modm≠a#q,p,2 mod m}∩{a#q,p,1mod m≠a#q,p,3mod m}∩{a#q,p,2mod m≠a#q,p,3 mod m}を満たす必要がある。同様に、式(82)のP(D)において、{b#q,1 mod m≠b#q,2 mod m}∩{b#q,1modm≠b#q,3 mod m}∩{b#q,2mod m≠b#q,3mod m}を満たす必要がある。なお、∩は、積集合(Intersection)である。
C#2:∀qに対して、(a#q,p,1 mod m, a#q,p,2 mod m, a#q,p,3mod m)=(Np,1, Np,2,Np,3)∩(b#q,1mod m, b#q,2 mod m, b#q,3 mod m)= (M1,
M2,M3)が成立する。ただし、{a#q,p,1 mod m≠a#q,p,2 mod m}∩{a#q,p,1 mod m≠a#q,p,3 mod m}∩{a#q,p,2 mod m≠a#q,p,3 mod m} および{b#q,1 mod m≠b#q,2mod m}∩{b#q,1 mod m≠b#q,3mod m}∩{b#q,2mod m≠b#q,3 mod m} を満たす。なお、∀qの∀は、全称記号(universal quantifier)であり、∀qは、すべてのqを意味する。
[正則TV-m-LDPC-CCの符号設計]
非特許文献13には、二元入力対象出力通信路において、一様ランダムな正則LDPC符号を最尤復号したときの復号誤り率が示されており、一様ランダムな正則LDPC符号によってGallagerの信頼度関数(非特許文献14参照)が達成できることが示されている。ただし、BP復号を行ったときに、一様ランダムな正則LDPC符号によりGallagerの信頼度関数が達成できるかどうかは不明である。
推論#1:
BP復号を用いたとき、C#2の条件を満足する正則TV-m-LDPC-CCにおいて、TV-m-LDPC-CCの時変周期mが大きくなると、パリティ検査行列において、「1」の存在する位置に対し、一様ランダムに近づき、誤り訂正能力の高い符号が得られる。
[正則TV-m-LDPC-CCの性質]
本議論で扱う符号化率(n-1)/nのC#2の条件を満足する正則TV-m-LDPC-CCの#q番目の0を満たすパリティ検査多項式である式(82)に関する、ツリーを描いた際に成り立つ性質を述べる。
C#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが素数の場合、X1(D),・・・, Xn-1(D)のいずれかの項に着目し、C#3.1が成立する場合を考える。
C#3.1:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、Xp(D)においてa#q,p,imod
m≠a#q,p,jmod mが成立する(q=0,・・・,m-1)。ただし、i≠jである。
このとき、性質1から、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、∀qに対して、#0から#m-1のすべてのパリティ検査多項式に相当するチェックノードが存在する。
C#3.2:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、P(D)においてb#q,i mod m≠b#q,j mod mが成立する。ただし、i≠jである。
このとき、性質1から、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、∀qに対して、#0から#m-1のすべてのパリティ検査多項式に相当するチェックノードが存在する。
そして、Db#q,1P(D), Db#q,2P(D)に対応する変数ノードのみに限ってツリーを描いたとき、式(82)の0を満たす#0番目のパリティ検査多項式に相当するチェックノードを起点とするツリーは図38のようにあらわされる。図38からわかるように、時変周期m=7は、性質2を満たす。
C#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが素数でない場合、X1(D),・・・, Xn-1(D)のいずれかの項に着目し、C#4.1が成立する場合を考える。
C#4.1:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、Xp(D)においてa#q,p,i mod m≧a#q,p,jmodmのとき、|a#q,p,i mod m-a#q,p,jmod m|がmの1を除く約数である。ただし、i≠jである。
C#4.2:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、P(D)においてb#q,i mod m≧b#q,j modmのとき、|b#q,i mod m-b#qj mod m|がmの1を除く約数である。ただし、i≠jである。
そして、Db#q,1P(D), Db#q,2P(D)に対応する変数ノードのみに限ってツリーを描いたとき、式(82)の0を満たす#0番目のパリティ検査多項式に相当するチェックノードを起点とするツリーは図39のようにあらわされる。図39からわかるように、時変周期m=6は、性質3を満たす。
性質4:
C#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが偶数の場合、X1(D),・・・,Xn-1(D)のいずれかの項に着目し、C#5.1が成立する場合を考える。
C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、C#5.1を満たすDa#q,p,iXp(D), Da#q,p,jXp(D)に対応する変数ノードのみに限ってツリーを描く場合を考える。このとき、性質1から、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、qが奇数のとき、奇数番目のパリティ検査多項式に相当するチェックノードしか存在しない。また、qが偶数のとき、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、偶数番目のパリティ検査多項式に相当するチェックノードしか存在しない。
C#5.2:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、P(D)においてb#q,i mod m≧b#q,j modmのとき、|b#q,i mod m-b#q,jmodm|が偶数である。ただし、i≠jである。
C#2の条件を満足する正則TV-m-LDPC-CCにおいて、高い誤り訂正能力を与えるための設計指針を考える。ここで、C#6.1,C#6.2のような場合を考える。
C#6.1:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、Da#q,p,iXp(D), Da#q,p,jXp(D)に対応する変数ノードのみに限ってツリーを描く場合を考える(ただし、i≠jである)。このとき、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点するツリーには、∀qに対して、#0から#m-1のパリティ検査多項式に相当するチェックノードすべてが存在することはない。
C#7.1:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、Da#q,p,iXp(D), Da#q,p,jXp(D)に対応する変数ノードのみに限ってツリーを描く場合を考える(ただし、i≠jである)。このとき、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点するツリーには、∀qに対して、ツリーには#0から#m-1のすべてのパリティ検査多項式に相当するチェックノードが存在する。
C#7.2:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、Db#q,iP(D), Db#q,jP(D)に対応する変数ノードのみに限ってツリーを描く場合を考える(ただし、i≠jである)。このとき、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点するツリーには、∀qに対して、ツリーには#0から#m-1のすべてのパリティ検査多項式に相当するチェックノードが存在する。
すると、推論#1を満たすことになる。
次に、設計指針に関する定理について述べる。
定理2:設計指針を満たすためには、a#q,p,i mod m≠a#q,p,jmod mおよびb#q,imod m≠b#q,jmod mを満たさなければならない。ただし、i≠jである。
。
□(証明終わり)
定理3:C#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが偶数の場合、
設計指針を満たす符号は存在しない。
証明:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、p=1とし、設計指針を満たすことがないことが証明できれば、定理3は証明されたことになる。したがって、p=1として証明を進める。
を満たすように(i,j)のセットをいずれの値の場合でもC#5.1を満たす。
(Np,1,Np,2,Np,3)=(“o”,“o”,“e”)のとき、C#5.1において、(i,j)=(1,2)とする
とC#5.1を満たす。
(Np,1,Np,2,Np,3)=(“o”,“e”,“e”)のとき、C#5.1において、(i,j)=(2,3)とする
とC#5.1を満たす。
を満たすように(i,j)のセットをいずれの値の場合でもC#5.1を満たす。
したがって、(Np,1,Np,2,Np,3)=(“o”,“o”,“o”)∪(“o”,“o”,“e”)∪(“o”,“e”,“e”)∪(“e”,“e”,“e”)のとき、C#5.1を満たす(i,j)のセットが必ず存在する。よって、性質4より、定理3は証明された。
したがって、設計指針を満たすためには、時変周期mは奇数でなければならない。また、設計指針を満たすためには、性質2および性質3から、下記条件が有効である。
・時変周期mが素数であること。
・時変周期mが奇数であり、かつ、mの約数の数が少ないこと。
(1)時変周期mをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
(3)時変周期mをα×β×γとする。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
ただし、z mod mの演算(zは0以上の整数)を行ったときにとる値はm個あり、したがって、mが大きくなるとz mod mの演算を行ったときにとる値の数は増加する。よって、mを増大させると、上述の設計指針を満たすことが容易となる。ただし、時変周期mが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではない。
例えば、時変周期mが偶数のとき、以下のような条件を満たしてもよい。
(4)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(5)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(6)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
ただし、時変周期mが上記の(1)から(3)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期mが上記の(4)から(6)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
符号探索例:
表9に、これまでに検討してきた時変周期2,3のパリティ検査多項式に基づくLDPC-CCの例(表9の#1,#2)を示す。また、前述の設計指針を満たす時変周期11の正則TV11-LDPC-CCの例(表9の#3)を表9に示す。ただし、符号を探索する際に設定した符号化率R=2/3とし、最大拘束長Kmaxは600とする。
図40は、AWGN(Additive White Gaussian Noise)環境における符号化率R=2/3のTV2-LDPC-CC(表9の#1)、正則TV3-LDPC-CC(表9の#2)、正則TV11-LDPC-CC(表9の#3)のEb/No(energyper
bit-to-noise spectral density ratio)に対するBERの関係(BER特性)を示す図である。ただし、シミュレーションにおいて、変調方式はBPSK(BinaryPhase Shift Keying)とし、復号方法として、Normalized
BP (1/v=0.75)に基づくBP復号を用いており、反復回数I=50とする。ここで、vは正規化係数である。
以上より、前述で議論した設計指針に基づく時変周期の大きいTV-m-LDPC-CCは、TV2-LDPC-CC、TV3-LDPC-CCより優れた誤り訂正能力を得ることが確認でき、前述で議論した設計指針の有効性を確認することができる。
本実施の形態では、実施の形態1で述べた符号化率(n-1)/nの時変周期h(hは4以上の整数)のLDPC-CCを消失訂正方式に適用する場合において、パケットレイヤーでの消失訂正符号化処理部における並び替え方法について説明する。なお、本実施の形態に係る消失訂正符号化処理部の構成は、図22又は図23等に示す消失訂正符号化処理部と共通するため、図22又は図23を援用して説明する。
そして、符番5503が付された「11111」は、式(83)の0番目の0を満たすパリティ検査多項式のX1(D)、X2(D)、X3(D)、X4(D)、P(D)の項に相当するものである。そして、時点kにおけるX1,k、X2,k、・・・、Xn-1,k、Pkと照らし合わせた場合、符番5510の「1」はX1,k、符番5511の「1」はX2,k、符番5512の「1」はX3,k、符番5513の「1」はX4,k、符番5514の「1」はPkに対応するものとなる(式(60)参照)。
図42は、情報パケットとパリティパケットとが別々に構成される場合の並び替えパターンの一例を示す図である。
パターン$1は消失訂正能力が低いパターン例を示し、パターン$2は消失訂正能力が高いパターン例を示している。図42において、#Zは、Z番目のパケットのデータであることを示している。
図43は、情報パケットとパリティパケットとの区別なく構成される場合の並び替えパターンの一例を示す図である。
パターン$1では、時点kのX1,k、X2,k、X3,k、X4,k、Pkにおいて、X1,kおよびPkが同一のパケットのデータとなっている。同様に、時点k+1においても、X3,k+1およびX4,k+1同一のパケットのデータとなっており、時点k+2においても、X2,k+2およびPk+2同一のパケットのデータとなっている。
本実施の形態では、物理層より上位の層における符号化方法(パケットレベルでの符号化方法)の詳細について説明する。
図44は、物理層より上位の層における符号化方法の一例を示している。図44において、誤り訂正符号の符号化率は2/3とし、1パケットにおける制御情報、誤り検出符号等の冗長な情報を除いたデータサイズを512ビットとする。
図45は、図44とは異なる物理層より上位の層における符号化方法の一例を示している。図45において、情報パケット#1から#512は元となる情報パケットであり、1パケットにおける制御情報、誤り検出符号等の冗長な情報を除いたデータサイズを512ビットとする。そして、符号化器は、情報パケット#k(k=1、2、・・・、511、512)を8分割し、サブ情報パケット#k-1、#k-2、・・・、#k-8を生成する。
よって、実施の形態5で説明した情報パケットは、図45の情報パケット#1から#512に相当し、パリティパケットは、図37の(サブ)パリティパケット#n-1、#n-2、・・・、#n-m(n=1、2、3、4、5、6、7、8)となる。このとき情報パケットの1パケットは512ビットとなり、パリティパケットの1パケットは必ずしも512ビットである必要はない。すなわち、情報パケットの1パケットとパリティパケットの1パケットとが必ずしも同一サイズである必要はない。
別の方法として、実施の形態5で説明した情報パケットを、本実施の形態で説明したサブ情報パケット#k-1、#k-2、・・・、#k-8(k=1、2、・・・、511、512)として考えても、実施の形態5は実施することができる。特に、実施の形態5では、ターミネーション系列の挿入方法、パケットの構成方法について述べた。ここで、本実施の形態の「サブ情報パケット」、「サブパリティパケット」を、それぞれ、実施の形態5で説明している「サブ情報パケット」、「パリティパケット」と考えても、実施の形態5は実施することができる。ただし、サブ情報パケットを構成するビット数とサブパリティパケットを構成するビット数とが等しいと実施しやすい。
実施の形態1では、特性が良好なLDPC-CCについて説明した。本実施の形態では、実施の形態1で説明したLDPC-CCを物理層に適用する場合に、符号化率を可変とするショートニング方法について説明する。ショートニングとは、第1の符号化率の符号から第2の符号化率(第1の符号化率>第2の符号化率)の符号を生成することをいう。
符号化率1/2、時変周期hのg番目(g=0、1、・・・、h-1)のパリティ検査多項式が式(84)のようにあらわされる場合について考える。
そして、式(84)は、以下の<条件#17>を満たしているものとする。
「a#0,1,1%h=a#1,1,1%h=a#2,1,1%h=a#3,1,1%h=・・・=a#g,1,1%h=・・・=a#h-2,1,1%h=a#h-1,1,
1%h=vp=1 (vp=1:固定値)」
「b#0,1%h=b#1,1%h=b#2,1%h=b#3,1%h=・・・=b#g,1%h=・・・=b#h-2,1%h=b#h-1,1%h=w (w:固定値)」
「a#0,1,2%h=a#1,1,2%h=a#2,1,2%h=a#3,1,2%h=・・・=a#g,1,2%h=・・・=a#h-2,1,2%h=a#h-1,1,2%h=yp=1 (yp=1:固定値)」
「b#0,2%h=b#1,2%h=b#2,2%h=b#3,2%h=・・・=b#g,2%h=・・・=b#h-2,2%h=b#h-1,2%h=z (z:固定値)」
そして、実施の形態4のようにパリティ検査行列を作成した場合、時間iにおける情報をXiとし、パリティをPiとすると、符号語wは、w=(X0、P0、X1、P1、・・・、Xi、Pi、・・・)Tとあらわされる。
[方法#1-1]
方法#1-1では、情報Xに規則的に既知情報(例えば、ゼロ)を挿入する(方法#1-1の挿入ルール)。例えば、情報2hk(=2×h×k)ビットのうちhk(=h×k)ビットには既知情報を挿入し(挿入ステップ)、既知情報を含む2hkビットの情報に対しては、符号化率1/2のLDPC-CCを用いて符号化を行う。これにより、2hkビットのパリティが生成される(符号化ステップ)。このとき、情報2hkビットのうちhkビットの既知情報は、送信しないビットとする(送信ステップ)。これにより、符号化率1/3を実現することができる。
以下は、方法#1-1の挿入ルールとの差異を主に記載する。
[方法#1-2]
方法#1-2では、方法#1-1と異なり、図47に示すように、情報及びパリティから構成される2×h×2kビットを1周期とし、各周期において、既知情報を同じ位置に挿入する(方法#1-2の挿入ルール)。
図48には、時変周期が4のとき、情報及びパリティから構成される16ビットを1周期とした場合の例を示している。このとき、方法#1-2では、最初の1周期において、X0、X2、X4、X5に既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する。
これにより、2hkビットのパリティが生成される。このとき、hkビットの既知情報を送信しないビットとすると、符号化率1/3を実現することができる。
説明する。
図49は、検査行列Hの一部と符号語w(X0、P0、X1、P1、X2、P2、・・・、X9、P9)との対応関係を示している。図49の行4001では、X2及びX4に対応する列に要素“1”が配置されている。また、図49の行4002では、X2及びX9に対応する列に要素“1”が配置されている。したがって、X2、X4、X9に既知情報を挿入すると、行4001及び行4002では、要素が“1”となる列に対応する全ての情報が既知となる。そのため、行4001及び行4002では、未知の値はパリティのみとなるので、BP復号の行演算において、信頼性が高い対数尤度比の更新を行うことができるようになる。
時変LDPC-CCの場合には、パリティ検査行列Hにおいて、要素“1”が配置されるパターンに規則性がある。そのため、パリティ検査行列Hに基づいて、各周期において、既知情報を規則的に挿入することにより、未知の値がパリティのみである行、又は、パリティ及び情報が未知の場合に、未知の情報のビット数が少ない行を多くすることができる。この結果、良好な特性を与える符号化率1/3のLDPC-CCを得ることができる。
[方法#1-3]
方法#1-3では、情報及びパリティから構成される2×h×2kビットの周期(パリティが含まれているので)において、情報X2hi、X2hi+1、X2hi+2、・・・、X2hi+2h-1、・・・、X2h(i+k-1)、X2h(i+k-1)+1、X2h(i+k-1)+2、・・・、X2h(i+k-1)+2h-1の2×h×kビットのうち、h×k個のXjに、既知情報(例えば、ゼロ)を挿入する。
このとき、h×k個のXjに既知情報を挿入する場合に、異なるh×k個のjをhで除算した余りのうち、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。(vp=1、yp=1については<条件#7-1><条件#7-2>参照。)このようなγが少なくとも一つ存在する。
上記で説明した時変周期hのLDPC-CCは、<条件#17>を満たしている。このとき、g番目(g=0、1、・・・、h-1)のパリティ検査多項式は式(84)のようにあらわされるので、パリティ検査行列内の式(84)のパリティ検査多項式に対応するサブ行列(ベクトル)は、図50のようにあらわされる。
このとき、符番4103の「1」の時点をjとしXjとあらわすと、符番4101の「1」はXj-a#g,1,1とあらわされ、符番4102の「1」はXj-a#g,1,2とあらわされる。
このことを考慮すると、以下のことが言える。すなわち、「既知情報を挿入する位置に条件を設けることにより、パリティ検査行列Hの各行において、つまり、パリティ検査多項式において、情報が全て既知情報となる行、または、既知情報の数が多い行(例えば、1ビット以外は既知情報)をできるだけ多くする」ためには、[方法#1-3]は重要な要件の一つとなる。
[方法#1-3’]
方法#1-3’では、情報及びパリティから構成される2×h×2kビットの周期(パリティが含まれているので)において、情報X2hi、X2hi+1、X2hi+2、・・・、X2hi+2h-1、・・・、X2h(i+k-1)、X2h(i+k-1)+1、X2h(i+k-1)+2、・・・、X2h(i+k-1)+2h-1の2×h×kビットのうち、h×k個のXjに、既知情報(例えば、ゼロ)を挿入する。ただし、jは、2hi~2h(i+k-1)+2h-1のいずれかの値をとり、h×k個の異なる値が存在する。また、既知情報は、1でもよいし、予め定めた値でもよい。
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。
(vp=1、yp=1については<条件#7-1>,<条件#7-2>参照。)このようなγが少なくとも一つ存在する。
また、[方法#1-3]をより効果的に実施するためには、上述の時変周期hの<条件#17>のパリティ検査多項式に基づくLDPC-CCにおいて、以下の3つのいずれかの条件を満たすとよい(方法#1-3’の挿入ルール)。ただし、<条件#17>において、vp=1<yp=1とする。
・vp=1-0=h-yp=1 つまり vp=1=h-yp=1
・h-yp=1=yp=1-vp=1 つまり h=2×yp=1-vp=1
この条件を付加すると、既知情報を挿入する位置に条件を設けることにより、パリティ検査行列Hの各行において、つまり、パリティ検査多項式において、情報が全て既知情報となる行、または、既知情報の数が多い行(例えば、1ビット以外は既知情報)をできるだけ多くすることができるようになる。これは、LDPC-CCは特有のパリティ検査行列の構成をもつからである。
符号化率(n-1)/n、時変周期hのg番目(g=0、1、・・・、h-1)のパリティ検査多項式が式(85)のようにあらわされる場合について考える。
そして、式(85)において、以下の<条件#18-1><条件#18-2>を満たしているものとする。
「a#0,1,1%h=a#1,1,1%h=a#2,1,1%h=a#3,1,1%
h=・・・=a#g,1,1%h=・・・=a#h-2,1,1%h=a#h-1,1,1%h=vp=1 (vp=1:固定値)」
「a#0,2,1%h=a#1,2,1%h=a#2,2,1%h=a#3,2,1%h=・・・=a#g,2,1%h=・・・=a#h-2,2,1%h=a#h-1,2,1%h=vp=2 (vp=2:固定値)」
「a#0,3,1%h=a#1,3,1%h=a#2,3,1%h=a#3,3,1%h=・・・=a#g,3,1%h=・・・=a#h-2,3,1%h=a#h-1,3,1%h=vp=3 (vp=3:固定値)」
「a#0,4,1%h=a#1,4,1%h=a#2,4,1%h=a#3,4,1%h=・・・=a#g,4,1%h=・・・=a#h-2,4,1%h=a#h-1,4,1%h=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%h=a#1,k,1%h=a#2,k,1%h=a#3,k,1%h=・・・=a#g,k,1%h=・・・=a#h-2,k,1%h=a#h-1,k,1%h=vp=k (vp=k:固定値)
(したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,1%h=a#1,n-2,1%h=a#2,n-2,1%h=a#3,n-2,1%h=・・・=a#g,n-2,1%h=・・・=a#h-2,n-2,1%h=a#h-1,n-2,1%h=vp=n-2 (vp=n-2:固定値)」
「a#0,n-1,1%h=a#1,n-1,1%h=a#2,n-1,1%h=a#3,n-1,1%h=・・・=a#g,n-1,1%h=・・・=a#h-2,n-1,1%h=a#h-1,n-1,1%h=vp=n-1 (vp=n-1:固定値)」
及び、
「b#0,1%h=b#1,1%h=b#2,1%h=b#3,1%h=・・・=b#g,1%h=・・・=b#h-2,1%h=b#h-1,1%h=w (w:固定値)」
<条件#18-2>
「a#0,1,2%h=a#1,1,2%h=a#2,1,2%h=a#3,1,2%h=・・・=a#g,1,2%h=・・・=a#h-2,1,2%h=a#h-1,1,2%h=yp=1 (yp=1:固定値)」
「a#0,2,2%h=a#1,2,2%h=a#2,2,2%h=a#3,2,2%h=・・・=a#g,2,2%h=・・・=a#h-2,2,2%h=a#h-1,2,2%h=yp=2 (yp=2:固定値)」
「a#0,3,2%h=a#1,3,2%h=a#2,3,2%h=a#3,3,2%h=・・・=a#g,3,2%h=・・・=a#h-2,3,2%h=a#h-1,3,2%h=yp=3 (yp=3:固定値)」
「a#0,4,2%h=a#1,4,2%h=a#2,4,2%h=a#3,4,2%h=・・・=a#g,4,2%h=・・・=a#h-2,4,2%h=a#h-1,4,2%h=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%h=a#1,k,2%h=a#2,k,2%h=a#3,k,2%h=・・・=a#g,k,2%h=・・・=a#h-2,k,2%h=a#h-1,k,2%h=yp=k (yp=k:固定値)
(したがって、k=1、2、・・・、n-1となる。)」
・
・
・
「a#0,n-2,2%h=a#1,n-2,2%h=a#2,n-2,2%h=a#3,n-2,2%h=・・・=a#g,n-2,2%h=・・・=a#h-2,n-2,2%h=a#h-1,n-2,2%h=yp=n-2 (yp=n-2:固定値)」
「a#0,n-1,2%h=a#1,n-1,2%h=a#2,n-1,2%h=a#3,n-1,2%h=・・・=a#g,n-1,2%h=・・・=a#h-2,n-1,2%h=a#h-1,n-1,2%h=yp=n-1 (yp=n-1:固定値)」
及び、
「b#0,2%h=b#1,2%h=b#2,2%h=b#3,2%h=・・・=b#g,2%h=・・・=b#h-2,2%h=b#h-1,2%h=z (z:固定値)」
上記で述べた符号化率(n-1)/nの時変周期hのLDPC-CCを用いて誤り訂正能力の高い符号化率(n-1)/nより小さい符号化率を実現するショートニング方法は、以下の通りである。
方法#2-1では、情報Xに規則的に既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する(方法#2-1の挿入ルール)。
[方法#2-2]
方法#2-2では、方法#2-1と異なり、図51に示すように、情報及びパリティから構成されるh×n×kビットを1周期とし、各周期において、既知情報を同じ位置に挿入する(方法#2-2の挿入ルール)。各周期において、既知情報を同じ位置に挿入するとは、図48を用いて上述の[方法#1-2]で説明した通りである。
方法#2-3では、情報及びパリティから構成されるh×n×kビットの周期において、情報X1,hi、X2,hi、・・・、Xn-1,hi、・・・・・・、X1,h(i+k-1)+h-1、X2,h(i+k-1)+h-1、・・・、Xn-1,h(i+k-1)+h-1のh×(n-1)×kビットから、Zビット選択し、選択したZビットに既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する(方法#2-3の挿入ルール)。
すると、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。このようなγが少なくとも一つ存在する。
すると、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(vp=2+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(yp=2+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(vp=2+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=2+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。このようなγが少なくとも一つ存在する。
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(vp=f+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(yp=f+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(vp=f+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=f+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。このようなγが少なくとも一つ存在する。
このように、挿入される既知情報の数が各周期で異なる場合には、周期という概念は意味をなさない。方法#2-3の挿入ルールを、周期という概念を用いずにあらわすと、[方法#2-4]のようになる。
情報及びパリティから構成されるデータ系列において、情報X1,0、X2,0、・・・、Xn-1,0、・・・・・・、X1,v、X2,v、・・・、Xn-1,vのビット系列からZビット選択し、選択したZビットに既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する(方法#2-4の挿入ルール)。
」と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。このようなγが少なくとも一つ存在する。
・vp=s-0=h-yp=s つまり vp=s=h-yp=s
・h-yp=s=yp=s-vp=s つまり h=2×yp=s-vp=s
この条件を付加すると、既知情報を挿入する位置に条件を設けることにより、パリティ検査行列Hの各行において、つまり、パリティ検査多項式において、情報が全て既知情報となる行、または、既知情報の数が多い行(例えば、1ビット以外は既知情報)をできるだけ多くすることができるようになる。これは、LDPC-CCは特有のパリティ検査行列の構成をもつからである。
図53は、物理層において符号化率を可変とする場合の符号化に関連する部分(誤り訂正符号化部44100及び送信装置44200)の構成の一例を示すブロック図である。
既知情報削減部4407は、情報4404及び制御信号4402を入力とし、制御信号4402に含まれる符号化率の情報に基づき、既知情報挿入部4403において、既知情報が挿入された場合には、情報4404から既知情報を削除し、削除後の情報4408を出力する。一方、既知情報挿入部4403において、既知情報が挿入されていない場合には、情報4404をそのまま情報4408として出力する。
図54は、図53と異なる、物理層において符号化率を可変とする場合の符号化に関連する部分(誤り訂正符号化部44100及び送信装置44200)の構成の別の一例を示すブロック図である。図54に示すように、既知情報挿入部4403に入力される情報4401が、変調部4409に入力される構成とすることにより、図53の既知情報削減部4407を省いても、図53と同様に符号化率を可変とすることができる。
既知情報削減部4607は、制御信号4602及び復号後のデータ4606を入力とし、制御信号4602に含まれる符号化率等の符号化方法の情報に基づき、既知情報が挿入されている場合は、既知情報を削除し、既知情報削除後の情報4608を出力する。
本実施の形態では、実施の形態1で述べた符号化率(n-1)/nの時変周期h(hは4以上の整数)のLDPC-CCを用いて誤り訂正能力の高い符号化率(n-1)/nより小さい符号化率を実現する消失訂正方法について説明する。ただし、符号化率(n-1)/nの時変周期h(hは4以上の整数)のLDPC-CCの説明は、実施の形態9と同様であるものとする。
方法#3-1では、図56に示すように、情報とパリティで構成するh×n×kビット(kは自然数)を周期とし、各周期において、既知情報パケットに含まれる既知情報を同じ位置に挿入する(方法#3-1の挿入ルール)。各周期において、既知情報パケットに含まれる既知情報を同じ位置に挿入するとは、実施の形態9の方法#2-2などで説明したとおりである。
方法#3-2では、情報及びパリティから構成されるh×n×kビットの周期において、情報X1,hi、X2,hi、・・・、Xn-1,hi、・・・・・・、X1,h(i+k-1)+h-1、X2,h(i+k-1)+h-1、・・・、Xn-1,h(i+k-1)+h-1のh×(n-1)×kビットからZビット選択し、選択したZビットに既知情報パケットのデータ(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する(方法#3-2の挿入ルール)。
上位層において消失訂正符号の符号化率を可変とする消失訂正符号化関連処理部及び消失訂正復号関連処理部の構成については、図21の消失訂正符号化関連処理部2112の前段において、既知情報パケットを挿入することにより、消失訂正符号の符号化率を変更することができる。
[方法#3-3]
方法#3-3では、情報及びパリティから構成されるデータ系列において、情報X1,0、X2,0、・・・、Xn-1,0、・・・・・・、X1,v、X2,v、・・・、Xn-1,vのビット系列からZビット選択し、選択したZビットに既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する(方法#3-3の挿入ルール)。
」となる個数と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。このようなγが少なくとも一つ存在する。
本発明に関連するLDPC-CCを使用する際、情報ビットの復号における信頼度を確保するために、ターミネーションもしくはテイルバイティング(tail-biting)が必要となる。そこで、本実施の形態では、ターミネーションを行う場合(「Information-zero-termination」又は簡単に「ゼロターミネーション(Zero-termination)」と呼ぶ)の方法について以下では詳しく説明する。
(実施の形態12)
本実施の形態では、実施の形態1および実施の形態6で述べたパリティ検査多項式に基づくLDPC-CCの具体的な生成方法の一例について説明する。
・時変周期が素数であること。
・時変周期が奇数であり、かつ、時変周期の値に対する約数の数が少ないこと。
ここで、時変周期を大きくし、符号を生成することを考える。このとき、制約条件を与えた乱数を用いて、符号生成を行うことになるが、時変周期を大きくすると、乱数を用いて設定するパラメータの数が多くなってしまい、高い誤り訂正能力を持つ符号の探索が困難となる、という課題がある。この課題に対し、本実施の形態では、実施の形態1、実施の形態6で述べたパリティ検査多項式に基づくLDPC-CCを利用した異なる符号生成方法について述べる。
符号化率(n-1)/n(nは2以上の整数)、時変周期15のLDPC-CCの(0を満たす)パリティ検査多項式として、式(86-0)~(86-14)を考える。
式(86-q)において、a#q,p,1、a#q,p,2、a#q,p,3は自然数とし、a#q,p,1≠a#q,p,2、a#q,p,1≠a#q,p,3、a#q,p,2≠a#q,p,3が成立するものとする。また、b#q,1、b#q,2、b#q,3は自然数とし、b#q,1≠b#q,2、b#q,1≠b#q,3、b#q,1≠b#q,3が成立するものとする(q=0、1、2、・・・、13、14;p=1、2、・・・、n-1)。
実施の形態1、実施の形態6では、時変周期を15としたとき、X1(D)の係数の時変周期及びP(D)の係数の時変周期はともに15であった。これに対し、本実施の形態では、一例として、X1(D)の係数の時変周期3、P(D)の係数の時変周期5することで、LDPC-CCの時変周期を15とする符号構成方法を提案する。つまり、本実施の形態では、X1(D)の係数の時変周期をαとし、P(D)の係数の時変周期をβ(α≠β)とすることにより、LDPC-CCの時変周期をLCM(α,β)とする符号を構成する。ただし、LCM(X,Y)はXとYの最小公倍数(the least common multiple)とする。
<条件#19-1>
「a#0,1,1%15=a#1,1,1%15=a#2,1,1%15=・・・=a#k,1,1%15=・・・=a#14,1,1%15=vp=1 (vp=1:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「a#0,1,2%15=a#1,1,2%15=a#2,1,2%15=・・・=a#k,1,2%15=・・・=a#14,1,2%15=yp=1 (yp=1:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「a#0,1,3%15=a#1,1,3%15=a#2,1,3%15=・・・=a#k,1,3%15=・・・=a#14,1,3%15=zp=1 (zp=1:固定値)(したがって、k=0、1、2、・・・、14となる。)」
また、X1(D)の係数の時変周期が3となるので、以下の条件が成立する。
i%3=j%3(i,j=0、1、・・・、13、14;i≠j)が成立するとき、以下の3つの式が成立する。
<条件#20-1>
「b#0,1%15=b#1,1%15=b#2,1%15=・・・=b#k,1%15=・・・=b#14,1%15=d (d:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「b#0,2%15=b#1,2%15=b#2,2%15=・・・=b#k,2%15=・・・=b#14,2%15=e (e:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「b#0,3%15=b#1,3%15=b#2,3%15=・・・=b#k,3%15=・・・=b#14,3%15=f (f:固定値)(したがって、k=0、1、2、・・・、14となる。)」
また、P(D)の係数の時変周期が5となるので、以下の条件が成立する。
i%5=j%5(i,j=0、1、・・・、13、14;i≠j)が成立するとき、以下の3つの式が成立する。
「a#0,1,1%3=a#1,1,1%3=a#2,1,1%3=・・・=a#k,1,1%3=・・・=a#14,1,1%3=vp=1 (vp=1:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「a#0,1,2%3=a#1,1,2%3=a#2,1,2%3=・・・=a#k,1,2%3=・・・=a#14,1,2%3=yp=1 (yp=1:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「a#0,1,3%3=a#1,1,3%3=a#2,1,3%3=・・・=a#k,1,3%3=・・・=a#14,1,3%3=zp=1 (zp=1:固定値)(したがって、k=0、1、2、・・・、14となる。)」
<条件#20-1’>
「b#0,1%5=b#1,1%5=b#2,1%5=・・・=b#k,1%5=・・・=b#14,1%5=d (d:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「b#0,2%5=b#1,2%5=b#2,2%5=・・・=b#k,2%5=・・・=b#14,2%5=e (e:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「b#0,3%5=b#1,3%5=b#2,3%5=・・・=b#k,3%5=・・・=b#14,3%5=f (f:固定値)(したがって、k=0、1、2、・・・、14となる。)」
上記の例を参考にして、X1(D)の係数の時変周期をαとし、P(D)の係数の時変周期をβとすることで、LDPC-CCの時変周期をLCM(α,β)とする符号構成方法について述べる。ただし、時変周期LCM(α,β)=sとする。
X1(D)の係数に対し、以下のような条件を与える。
<条件#21-1>
「a#0,1,1%s=a#1,1,1%s=a#2,1,1%s=・・・=a#k,1,1%s=・・・=a#s-1,1,1%s=vp=1 (vp=1:固定値)(したがって、k=0、1、2、・・・、s-1となる。)」
「a#0,1,2%s=a#1,1,2%s=a#2,1,2%s=・・・=a#k,1,2%s=・・・=a#s-1,1,2%s=yp=1 (yp=1:固定値)(したがって、k=0、1、2、・・・、s-1となる。)」
「a#0,1,3%s=a#1,1,3%s=a#2,1,3%s=・・・=a#k,1,3%s=・・・=a#s-1,1,3%s=zp=1 (zp=1:固定値)(したがって、k=0、1、2、・・・、s-1となる。)」
また、X1(D)の係数の時変周期はαとなるので、以下の条件が成立する。
i%α=j%α(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき、以下の3つの式が成立する。
<条件#22-1>
「b#0,1%s=b#1,1%s=b#2,1%s=・・・=b#k,1%s=・・・=b#s-1,1%s=d (d:固定値)(したがって、k=0、1、2、・・・、s-1となる。)」
「b#0,2%s=b#1,2%s=b#2,2%s=・・・=b#k,2%s=・・・=b#s-1,2%s=e (e:固定値)(したがって、k=0、1、2、・・・、s-1となる。)」
「b#0,3%s=b#1,3%s=b#2,3%s=・・・=b#k,3%s=・・・=b#s-1,3%s=f (f:固定値)(したがって、k=0、1、2、・・・、s-1となる。)」
また、P(D)の係数の時変周期はβとなるので、以下の条件が成立する。
i%β=j%β(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき
、以下の3つの式が成立する。
「a#0,1,1%α=a#1,1,1%α=a#2,1,1%α=・・・=a#k,1,1%α=・・・=a#s-1,1,1%α=vp=1 (vp=1:固定値)(したがって、k=0、1、2、・・・、s-1となる。)」
「a#0,1,2%α=a#1,1,2%α=a#2,1,2%α=・・・=a#k,1,2%α=・・・=a#s-1,1,2%α=yp=1 (yp=1:固定値)(したがって、k=0、1、2、・・・、s-1となる。)」
「a#0,1,3%α=a#1,1,3%α=a#2,1,3%α=・・・=a#k,1,3%α=・・・=a#s-1,1,3%α=zp=1 (zp=1:固定値)(したがって、k=0、1、2、・・・、s-1となる。)」
<条件#22-1’>
「b#0,1%β=b#1,1%β=b#2,1%β=・・・=b#k,1%β=・・・=b#s-1,1%β=d (d:固定値)(したがって、k=0、1、2、・・・、s-1となる。)」
「b#0,2%β=b#1,2%β=b#2,2%β=・・・=b#k,2%β=・・・=b#s-1,2%β=e (e:固定値)(したがって、k=0、1、2、・・・、s-1となる。)」
「b#0,3%β=b#1,3%β=b#2,3%β=・・・=b#k,3%β=・・・=b#s-1,3%β=f (f:固定値)(したがって、k=0、1、2、・・・、s-1となる。)」
ただし、時変周期sの符号化率1/2のパリティ検査多項式に基づくLDPC-CCのi番目(i=0、1、2、・・・、s-2、s-1)のゼロを満たすパリティ検査多項式を式(89-i)であらわしたが、実際に利用する場合は、次式であらわされるゼロを満たすパリティ検査多項式となる。
<条件#23>
i%α=j%α(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき、以下の式が成立する。
i%β=j%β(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき、以下の式が成立する。
次に、時変周期s、符号化率(n-1)/nのパリティ検査多項式に基づくLDPC-CCにおいて、X1(D)の係数の時変周期α1、X2(D)の係数の時変周期α2、・・・、Xk(D)の係数の時変周期αk(k=1、2、・・・、n-2、n-1)、・・・、Xn-1(D)の係数の時変周期αn-1、P(D)の係数の時変周期βとするLDPC-CCの符号構成方法について述べる。このとき、時変周期s=LCM(α1,α2,・・・αn-2,αn-1,β)となる。つまり、時変周期sは、α1,α2,・・・αn-2,αn-1,βの最小公倍数となる。
<条件#25>
i%αk=j%αk(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき、以下の式が成立する。
<条件#26>
i%β=j%β(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき、以下の式が成立する。
Convolutional Codes)の符号化方法であって、式(96-i)であらわされる第i(i=0、1、・・・、s-2、s-1)パリティ検査多項式を供給するステップと、前記第0から第s-1パリティ検査多項式と入力データとの線形演算によりLDPC-CC符号語を取得するステップと、を有し、Xk(D)の係数AXk,iの時変周期がαk(αkは1より大きい整数)であり(k=1、2、・・・、n-2、n-1)、P(D)の係数BXk,iの時変周期がβ(βは1より大きい整数)であり、前記時変周期sは、α1,α2,・・・αn-2,αn-1,βの最小公倍数であり、i%αk=j%αk(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき、式(97)が成立し、i%β=j%β(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき、式(98)が成立するようにした(図59参照)。
このとき、時変周期を効率的に大きくするためには、α1,α2,・・・,αn-2,αn-1およびβは「互いに素」であると時変周期を大きくすることができる。このとき、時変周期はα1×α2×・・・×αn-2×αn-1×βであらわすことができる。
(実施の形態13)
本実施の形態では、実施の形態12で述べたLDPC-CCにおいて、低回路規模の符号化器/復号化器を構成することができるLDPC-CCを提案する。
実施の形態12で述べたように、X1(D)の時変周期がα1、P(D)の時変周期がβ、時変周期sがLCM(α1,β)、符号化率1/2のパリティ検査多項式に基づくLDPC-CCのi番目(i=0、1、2、・・・、s-2、s-1)のゼロを満たすパリティ検査多項式を次式のようにあらわす。
<条件#26>
i%α1=j%α1(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき、以下の式が成立する。
i%β=j%β(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき、以下の式が成立する。
<条件#28>
式(102-i)のゼロを満たすパリティ検査多項式において、X1(D)の時変周期がα1であるとともに、i%α1=j%α1(i=0、1、・・・、s-2、s-1、j=0、1、・・・、z-2、z-1;)が成立するとき、以下の式が成立する。
式(102-i)のゼロを満たすパリティ検査多項式において、P(D)の時変周期がβであるとともに、i%β=j%β(i=0、1、・・・、s-2、s-1、j=0、1、・・・、z-2、z-1)が成立するとき、以下の式が成立する。
<条件#30>
i%α2=j%α2(i,j=0、1、・・・、z-2、z-1;i≠j)が成立するとき、以下の式が成立する。
図60は、符号化器/復号化器の回路を共通化することが可能な符号化率1/2,2/3のLDPC-CCのパリティ検査多項式を模式的にあらわした図である。
上述では、符号化率1/2のLDPC-CCと符号化器/復号化器の回路を共通化することが可能な符号化率2/3のLDPC-CCについて述べた。以下では、一般化し、符号化率(n-1)/nのLDPC-CCと符号化器/復号化器の回路を共通化することが可能な符号化率(m-1)/mのLDPC-CC(n<m)の符号構成方法について述べる。
<条件#31>
i%αk=j%αk(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき、以下の式が成立する。
<条件#32>
i%β=j%β(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき、以下の式が成立する。
<条件#33>
式(109-i)のゼロを満たすパリティ検査多項式において、Xk(D)の時変周期がαk(k=1、2、・・・、n-1)であるとともに、i%αk=j%αk(i=0、1、・・・、s-2、s-1;j=0、1、・・・、z-2、z-1)が成立するとき、以下の式が成立する。
式(109-i)のゼロを満たすパリティ検査多項式において、P(D)の時変周期がβであるとともに、i%β=j%β(i=0、1、・・・、s-2、s-1;j=0、1、・・・、z-2、z-1)が成立するとき、以下の式が成立する。
<条件#35>
i%αh=j%αh(i,j=0、1、・・・、z-2、z-1;i≠j)が成立するとき、以下の式が成立する。
次に、上述で述べた、低回路規模で符号化器/復号化器を構成することができる複数符号化率対応LDPC-CCの具体的な符号化器/復号化器の構成方法について述べる。
また、符号化率3/4の場合、情報生成部5801は、時点kの情報X1,kに入力情報データSjを設定し、時点kの情報X2,kに入力情報データSj+1を設定し、時点kの情報X3,kに入力情報データSj+2を設定する。
したがって、複数の符号化率に対応する場合は、符号化器の回路が共用可能な符号化率の中で最も高い符号化率の符号化器の構成を基礎にして、上記のような操作で、他の符号化率に対応することができる。つまり、符号化器の主要な部分である第1情報演算部5802-1、第2情報演算部5802-2は、符号化率に関わらず共通化することができるという利点を、上述で説明したLDPC-CCは有することになる。
シフトレジスタ5901-1~5901-Mは、それぞれ、X1,i-t(t=0,・・・,M-1)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに送出し、左隣のシフトレジスタから出力されてきた値を保持する。
加算部5903は、ウェイト乗算器5902-0~5902-Mの出力に対して、排他的論理和演算を行い、演算結果Y1,kを算出し、算出したY1,kを、図61の加算部5804に出力する。
図63に、図61のパリティ演算部5803の内部構成を示す。図63のパリティ演算部5803は、シフトレジスタ6001-1~6001-M、ウェイト乗算器6002-0~6002-M、及び、加算部6003を備える。
ウェイト乗算器6002-0~6002-Mは、ウェイト制御部6004から出力される制御信号にしたがって、h2 (t)の値を0又は1に切り替える。
再度図61に戻って、加算部5804は、第1情報演算部5802-1、第2情報演算部5802-2、第3情報演算部5802-3、及び、パリティ演算部5803から出力される演算結果Y1,k、Y2,k、Y3,k、Zkの排他的論理和演算を行い、時刻kのパリティPkを得、出力する。加算部5804は、時刻kのパリティPkをパリティ演算部5803にも出力する。
ウェイト制御部5806は、ウェイト制御部5806内に保持する式(106-i)および式(109-i)のゼロを満たすパリティ検査多項式に基づく時刻kにおけるh1 (m)の値を、第1情報演算部5802-1、第2情報演算部5802-2、第3情報演算部5802-3及びパリティ演算部5803に出力する。また、ウェイト制御部5806は、ウェイト制御部5806内に保持する式(106-i)および式(109-i)に対応したゼロを満たすパリティ検査多項式に基づいて、そのタイミングにおけるh2 (m)の値を6002-0~6002-Mに出力する。
なお、図61の符号化器5800では、情報生成部5801が、符号化率に応じて、時点iの情報X2,i、情報X3,iを0に設定したのに対し、図64の符号化器5800では、第2情報演算部5802-2及び第3情報演算部5802-3が、符号化率に応じて、演算処理を停止し、演算結果Y2,k、Y3,kとして0を出力するので、得られる演算結果は図61の符号化器5800と同じとなる。
以上の具体的な例のように、式(106-i)および式(109-i)を用いて説明した符号化率(n-1)/nのLDPC-CCと符号化器/復号化器の回路を共通化することが可能な符号化率(m-1)/mのLDPC-CC(n<m)の符号では、符号化率の大きい符号化率(m-1)/mのLDPC-CCの符号化器を用意し、符号化率(n-1)/nの際、Xk(D)(ただし、k=n、n+1、・・・、m-1)に関連する演算の出力をゼロとし、符号化率(n-1)/nのときのパリティを求めることで、符号化器の回路の共通化が可能となる。
図65は、本実施の形態に係る復号化器の要部構成を示すブロック図である。なお、図65に示す復号化器6100は、符号化率1/2、2/3、3/4に対応可能な復号化器である。図65の復号化器6100は、対数尤度比設定部6101及び行列処理演算部6102を主に備える。
例えば、符号化率が1/2の場合、符号化器5800では、X2,k、X3,kとして“0”を送信していることに相当するので、対数尤度比設定部6101は、既知ビット“0”に対応する固定の対数尤度比をX2,k、X3,kの対数尤度比として挿入し、挿入後の対数尤度比を行列処理演算部6102に出力する。以下、図66を用いて説明をする。
図67に示すように、符号化率2/3の場合、対数尤度比設定部6101は、X1,k,X2,kおよびPkに対応する受信対数尤度比LLRX1,k,LLRX2,k,LLRPkを入力とする。そこで、対数尤度比設定部6101は、X3,kに対応する受信対数尤度比LLR3,kを挿入する。図67において、点線の丸で囲まれた受信対数尤度比は、対数尤度比設定部6101によって挿入された受信対数尤度比LLR3,kを示す。対数尤度比設定部6101は、受信対数尤度比LLR3,kとして、固定値の対数尤度比を挿入する。
記憶部6103は、受信対数尤度比、行処理によって得られる外部値αmn、及び、列処理によって得られる事前値βmnを保持する。
行処理演算部6104は、符号化器5800がサポートする符号化率のうち、最大の符号化率3/4のLDPC-CCのパルてぅ検査行列Hの行方向のウェイトパターンを保持する。行処理演算部6104は、当該行方向のウェイトパターンにしたがって、記憶部6103から必要な事前値βmnを読み込み、行処理演算を行う。
第m番目の行処理について説明する。ただし、2元M×N行列H={Hmn}を復号対象とするLDPC符号の検査行列とする。Hmn=1を満たす全ての組(m,n)に対して,次の更新式を利用して外部値αmnを更新する。
列処理演算において、列処理演算部6105は、入力対数尤度比λnと外部値αmnとを用いて繰り返し復号により、事前値βmnを求める。
Hmn=1を満たす全ての組(m,n)に対して、次の更新式を利用してβmnを更新する。ただし、初期の演算では、αmn=0として計算する。
以上のように、本実施の形態では、対応可能な符号化率のうち、最も高い符号化率を(m-1)/mとし、符号化率設定部5805が、符号化率を(n-1)/nに設定した際、情報生成部5801は、情報Xn,kから情報Xm-1,kまでの情報をゼロに設定する。
この構成によれば、異なる符号化率に対応したLDPC-CCを作成する場合においても、本説明における情報演算部の構成を共通化することができるため、低演算規模で、複数の符号化率に対応可能なLDPC-CCの符号化器、復号化器を提供することができる。
また、上述では、復号方式の例としてsum-product復号を例に説明したが、復号方法はこれに限ったものではなく、非特許文献4~非特許文献6に示されている、例えば、min-sum復号、Normalized BP(Belief Propagation)復号、Shuffled BP復号、Offset BP復号などの、message-passingアルゴリズムを用いた復号方法(BP復号)を用いれば同様に
実施することができる。
図68に、適応的に符号化率を切り替える通信装置6200の構成を示す。図68の通信装置6200の符号化率決定部6203は、通信相手の通信装置から送信される受信信号(例えば、通信相手が送信したフィードバック情報)を入力とし、受信信号に受信処理等を行う。そして、符号化率決定部6203は、通信相手の通信装置との間の通信状況の情報、例えば、ビットエラー率、パケットエラー率、フレームエラー率、受信電界強度等の情報を(例えば、フィードバック情報から)得、通信相手の通信装置との間の通信状況の情報から符号化率及び変調方式を決定する。
符号化率決定部6203は、例えば、図69に示すような送信フォーマットを用いて、制御情報シンボルに符号化率の情報を含めることにより、符号化器6201が用いる符号化率を通信相手の通信装置に通知する。ただし、図69では図示していないが、通信相手が、復調やチャネル推定のために必要な、例えば、既知の信号(プリアンブル、パイロットシンボル、リファレンスシンボルなど)を含んでいるものとする。
このようにして、本発明を適用した通信装置6200及び通信相手の通信装置6300の符号化率が通信状況により適応的に変更され得る。
(実施の形態14)
本実施の形態では、符号化率R=1/3のパリティ検査多項式に基づくLDPC-CCの設計手法について説明する。
そして、パリティ検査行列において、“1”の数を疎にするために、式(116)ではP2(D)の項を削除し、式(117)ではP1(D)の項を削除する。そして、本明細書で説明したように、X,P1,P2のそれぞれのパリティ検査行列における行重みおよび列重みを可能な限り均一にするものとする。これにより、本検討で扱う符号化率R=1/3、TV-m-LDPC-CCのq番目(q=0,1,・・・,m-1)の0を満たす2つのパリティ検査多項式を次式であらわす。
符号化率R=1/3のTV-m-LDPC-CCの式(118),(119)に基づくq番目(q=0,1,・・・,m-1)の0を満たすパリティ検査多項式をそれぞれ以下のようにあらわす。
式(123)の0を満たすパリティ検査多項式を#v-1のパリティ検査多項式のDa#v,iX(D)の項と式(123)の0を満たすパリティ検査多項式を#ω-1のパリティ検査多項式のDa#ω,jX(D)の項(v,ω=0,1,・・・,m-1(v≦ω);i,j=1,2,・・・,r1)において、また、式(123)の0を満たすパリティ検査多項式#v-1のDb#v,1,iP1(D)の項と式(123)の0を満たすパリティ検査多項式#ω-1のDb#ω,1,jP1(D)の項(v,ω=0,1,・・・
,m-1(v≦ω);i,j=1,2,・・・,ε1,1)において以下の関係をもつ。
{a#v,i mod m=a#ω,j mod m}∩{i≠j}が成立するとき、図71のようにパリティ検査多項式#v-1に相当するチェックノードとパリティ検査多項式#ω-1に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
<2> v≠ωのとき:
ω-v=Lとする。
(a#ω,j mod m)-(a#v,i mod m)=Lのとき、図71のようにパリティ検査多項式#v-1に相当するチェックノードとパリティ検査多項式#ω-1に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
1-2) a#v,i mod m>a#ω,j mod mのとき
(a#ω,j mod m)-(a#v,i mod m)=L+mのとき、図71のようにパリティ検査多項式#v-1に相当するチェックノードとパリティ検査多項式#ω-1に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
(b#ω,1,j mod m)-(b#v,1,i mod m)=Lのとき、図71のようにパリティ検査多項式#v-1に相当するチェックノードとパリティ検査多項式#ω-1に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
(b#ω,1,j mod m)-(b#v,1,i mod m)=L+mのとき、図71のようにパリティ検査多項式#v-1に相当するチェックノードとパリティ検査多項式#ω-1に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
式(124)の0を満たすパリティ検査多項式を#v-2のパリティ検査多項式のDα#v,iX(D)の項と式(124)の0を満たすパリティ検査多項式を#ω-2のパリティ検査多項式のDα#ω,jX(D)の項(v,ω=0,1,・・・,m-1(v≦ω);i,j=1,2,・・・,r2)において、また、式(124)の0を満たすパリティ検査多項式#v-2のDβ#v,2,iP2(D)の項と式(124)の0を満たすパリティ検査多項式#ω-2のDβ#ω,2,jP2(D)の項(v,ω=0,1,・・・,m-1(v≦ω);i,j=1,2,・・・,ε2,2)において以下の関係をもつ。
{α#v,i mod m=α#ω,j mod m}∩{i≠j}が成立するとき、図71のようにパリティ検査多項式#v-2に相当するチェックノードとパリティ検査多項式#ω-2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
<2> v≠ωのとき:
ω-v=Lとする。そして、
1-1) α#v,i mod m<α#ω,j mod mのとき
(α#ω,j mod m)-(α#v,i mod m)=Lのとき、図71のようにパリティ検査多項式#v-2に相当するチェックノードとパリティ検査多項式#ω-2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
(α#ω,j mod m)-(α#v,i mod m)=L+mのとき、図71のようにパリティ検査多項式#v-2に相当するチェックノードとパリティ検査多項式#ω-2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
2-1) β#v,2,i mod m<β#ω,2,j mod mのとき
(β#ω,2,j mod m)-(β#v,2,i mod m)=Lのとき、図71のようにパリティ検査多項式#v-2に相当するチェックノードとパリティ検査多項式#ω-2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
(β#ω,2,j mod m)-(β#v,2,i mod m)=L+mのとき、図71のようにパリティ検査多項式#v-2に相当するチェックノードとパリティ検査多項式#ω-2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
式(123)の0を満たすパリティ検査多項式を#v-1のパリティ検査多項式のDa#v,iX(D)の項と式(124)の0を満たすパリティ検査多項式を#ω-2のパリティ検査多項式のDα#ω,jX(D)の項(v,ω=0,1,・・・,m-1;i=1,2,・・・,r1;j=1,2,・・・,r2)において以下の関係をもつ。
{α#v,i mod m=α#ω,j mod m}が成立するとき、図71のようにパリティ検査多項式#v-1に相当するチェックノードとパリティ検査多項式#ω-2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
<2> v≠ωのとき:
ω-v=Lとする。そして、
1) α#v,i mod m<α#ω,j mod mのとき
(α#ω,j mod m)-(a#v,i mod m)=Lのとき、図71のようにパリティ検査多項式#v-1に相当するチェックノードとパリティ検査多項式#ω-2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
(α#ω,j mod m)-(a#v,i mod m)=L+mのとき、図71のようにパリティ検査多項式#v-1に相当するチェックノードとパリティ検査多項式#ω-2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
そして、符号化率R=1/3のTV-m-LDPC-CCのサイクル長6(CL6 : cycl
e lengthof 6)に対し、定理1が成立する。
C#1.1: b#q,1,i mod m=b#q,1,j mod m=b#q,1,k mod mを満足するqが存在する。ただし、i≠j,i≠k,j≠kとする。
C#1.2: β#q,2,i mod m=β#q,2,j mod m=β#q,2,k mod mを満足するqが存在する。ただし、i≠j,i≠k,j≠kとする。
なお、本検討で扱う符号化率R=1/3のTV-m-LDPC-CCのq番目(q=0,1,・・・,m-1)の0を満たす2つのパリティ検査多項式は、式(118),(119)で示したとおりであり、式(118)におけるパリティ検査多項式において、X(D)に関する項は2つしか存在しないため、定理1のような条件によりCL6は存在しない。式(119)についても同様である。
C#2: 式(125),(126)において、∀qに対して、(a#q,1 mod m,a#q,2 mod m)=(N1,N2)∩(b#q,1,1 mod m,b#q,1,2 mod m,b#q,1,3 mod m)=(M1,M2,M3)∩(α#q,1 mod m,α#q,2 mod m)=(n1,n2)∩(β#q,2,1 mod m,β#q,2,2 mod m,β#q,2,3 mod m)=(m1,m2,m3)が成立する。ただし、{b#q,1,1 mod m≠b#q,1,2 mod m}∩{b#q,1,1 mod m≠b#q,1,3 mod m}∩{b#q,1,2 mod m≠b#q,1,3 mod m}および{β#q,2,1 mod m≠β#q,2,2 mod m}∩{β#q,2,1 mod m≠β#q,2,3 mod m}∩{β#q,2,2 mod m≠β#q,2,3 mod m}を満
たす。
[1.2]符号化率1/3のTV-m-LDPC-CCの符号設計
実施の形態6に基づき、C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCにおいて、推論#1の推論を与える。
そして、推論#1を実現するための方法について以下では議論を行う。
本議論で扱うC#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの#q-1,#q-2の0を満たすパリティ検査多項式である式(118),(119)に関する、ツリーを描いた際に成り立つ性質を述べる。
C#3.1: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(118)に対応する式(125)において、∀qに対して、X(D)においてa#q,i mod m≠a#q,j mod mが成立する(q=0,・・・,m-1)。ただし、i≠jである。
C#3.2: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(118)に対応する式(125)において、∀qに対して、P1(D)においてb#q1,i mod m≠b#q,1,j mod mが成立する。ただし、i≠jである。
C#3.3: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(119)に対応する式(126)において、∀qに対して、X(D)においてα#q,i mod m≠α#q,j mod mが成立する(q=0,・・・,m-1)。ただし、i≠jである。
C#3.4: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(119)に対応する式(126)において、∀qに対して、P2(D)においてβ#q,2,i mod m≠β#q,2,j mod mが成立する。ただし、i≠jである。
C#4.1: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(118)に対応する式(125)において、∀qに対して、X(D)において、a#q,i mod m≧a#q,j mod mのとき、|(a#q,i mod m)-(a#q,j mod m)|がmの1を除く約数である。ただし、i≠jである。
C#4.2: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(125)において、∀qに対して、P1(D)においてb#q,1,i mod m≧b#q,1,j mod mのとき、|(b#q,1,,i mod m)-(b#q,1,j mod m)|がmの1を除く約数である。ただし、i≠jである。
C#4.3: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(119)に対応する式(126)において、∀qに対して、X(D)において、α#q,i mod m≧α#q,j mod mのとき、|(α#q,i mod m)-(α#q,j mod m)|がmの1を除く約数である。ただし、i≠jである。
C#4.4: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(126)において、∀qに対して、P2(D)においてβ#q,2,i mod m≧β#q,2,j mod mのとき、|(β#q,2,i mod m)-(β#q,2,j mod m)|がmの1を除く約数である。ただし、i≠jである。
R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(126)において、C#4.2を満たすDβ#q,2,iP2(D),Dβ#q,2,jP2(D)に対応する変数ノードのみに限ってツリーを描く場合を考える。このとき、性質1から、式(126)の0を満たす#q-2のパリティ検査多項式に相当するチェックノードを起点とするツリーには、∀qに対して、#0-2から#(m-1)-2のパリティ検査多項式に相当するチェックノードすべてが存在することはない。
性質5: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCにおいて、時変周期mが偶数の場合、X(D)の項に着目し、C#5.1が成立する場合を考える。
C#5.2: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(125)において、∀qに対して、P1(D)においてb#q,1,i mod m≧b#q,1,j mod mのとき、|(b#q,1,i mod m)-(b#q,1,j mod m)|が偶数である。ただし、i≠jである。
C#5.3: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(126)において、∀qに対して、X(D)においてα#q,i mod m≧α#q,j mod mのとき、|(α#q,i mod m)-(α#q,j mod m)|が偶数である。ただし、i≠jである。
このとき、性質1から、式(126)の0を満たす#q-2のパリティ検査多項式に相当するチェックノードを起点とするツリーには、#q-2のqが奇数のとき、#q-2において、qが奇数のパリティ検査多項式に相当するチェックノードしか存在しない。また、#q-2のqが偶数のとき、式(126)の0を満たす#q-2のパリティ検査多項式に相当するチェックノードを起点とするツリーには、#q-2において、qが偶数のパリティ検査多項式に相当するチェックノードしか存在しない。
C#5.4: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(126)において、∀qに対して、P2(D)においてβ#q,2,i mod m≧β#q,2,j mod mのとき、|(β#q,2,i mod m)-(β#q,2,j mod m)|が偶数である。ただし、i≠jである。
C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCにおいて、高い誤り訂正能力を与えるための設計指針を考える。
ここで、C#6.1,C#6.2,C#6.3,C#6.4のような場合を考える。
設計指針: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCにおいて、X(D)の項に着目し、C#7.1の条件を与える。
C#7.2: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(125)において、Db#q,1,iP1(D),Db#q,1,jP1(D)に対応する変数ノードのみに限ってツリーを描くと(ただし、i≠jである。)、式(125)の0を満たす#q-1のパリティ検査多項式に相当するチェックノードを起点するツリーには、∀qに対して、ツリーには#0-1から#(m-1)-1のすべてのパリティ検査多項式に相当するチェックノードが存在する。
C#7.3: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(126)において、Dα#q,iX(D),Dα#q,jX(D)に対応する変数ノードのみに限ってツリーを描くと(ただし、i≠jである。)、式(126)の0を満たす#q-2のパリティ検査多項式に相当するチェックノードを起点するツリーには、∀qに対して、ツリーには#0-2から#(m-1)-2のすべてのパリティ検査多項式に相当するチェックノードが存在する。
C#7.4: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(126)において、Dβ#q,2,iP2(D),Dβ#q,2,jP2(D)に対応する変数ノードのみに限ってツリーを描くと(ただし、i≠jである。)、式(126)の0を満たす#q-2のパリティ検査多項式に相当するチェックノードを起点するツリーには、∀qに対して、ツリーには#0-2から#(m-1)-2のすべてのパリティ検査多項式に相当するチェックノードが存在する。
すると、推論#1を満たすことになる。
次に、設計指針に関する定理について述べる。
定理2: 設計指針を満たすためには、C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(125)において、a#q,i mod m≠a#q,j mod mおよびb#q,1,i mod m≠b#q,1,j mod mを満たし、C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCの0を満たすパリティ検査多項式の式(126)において、α#q,i mod m≠α#q,j mod mおよびβ#q,2,i mod m≠β#q,2,j mod mを満たさなければならない(ただし、i≠jである。)。
□(証明終わり)
定理3: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCにおいて、時変周期mが偶数の場合、設計指針を満たす符号は存在しない。
C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV-m-LDPC-CCでは、(b#q,1,1 mod m,b#q,1,2 mod m,b#q,1,3 mod m)=(M1,M2,M3)=(“o”,“o”,“o”)∪(“o”,“o”,“e”)∪(“o”,“e”,“e”)∪(“e”,“e”,“e”)ですべての場合をあらわすことができる。ただし、“o”は奇数、“e”は偶数をあらわしている。したがって、(M1,M2,M3)=(“o”,“o”,“o”)∪(“o”,“o”,“e”)∪(“o”,“e”,“e”)∪(“e”,“e”,“e”)において、C#7.2は満たさないことを示す。
(M1,M2,M3)=(“o”,“o”,“e”)のとき、C#5.2において、(i,j)=(1,2)とするとC#5.2を満たす。
(M1,M2,M3)=(“e”,“e”,“e”)のとき、C#5.2において、i,j=1,2,3(i≠j)を満たすように(i,j)のセットをいずれの値の場合でもC#5.2を満たす。
したがって、設計指針を満たすためには、時変周期mは奇数でなければならない。また、設計指針を満たすためには、性質3および性質4から、
・時変周期mが素数であること。
が有効である。
特に、「時変周期mが奇数であり、かつ、mの約数の数が少ないこと」という点を考慮すると、誤り訂正能力が高い符号が得られる可能性が高い条件の例として以下が考えられる。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(2)時変周期mをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
(3)時変周期mをα×β×γとする。
例えば、時変周期mが偶数のとき、以下のような条件を満たしてもよい。
(4)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(5)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(6)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
ただし、時変周期mが上記の(1)から(3)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期mが上記の(4)から(6)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
表10に、上述で述べた設計指針を満たす符号化率R=1/3の時変周期23のTV-m-LDPC-CCの例を示す。ただし、符号を探索する際に設定した最大拘束長Kmaxは600とする。
図72にAWGN環境における時変周期23の符号化率R=1/3のTV-m-LDPC-CC(表10の#1)のEb/No(energy per bit-to-noise spectral density ratio)とBERの関係(BER特性)を示す。参考に、時変周期23の符号化率R=1/2のTV-m-LDPC-CCのBER特性を示す。ただし、シミュレーションにおいて、変調方式はBPSKとし、復号方法として、Normalized BP (1/v=0.8)に基づく非特許文献19に示されているBP復号を用いており、反復回数I=50とする。(vは正規化係数である。)
図72において、時変周期23の符号化率R=1/3のTV-m-LDPC-CCのBER特性は、BER>10-8において、エラーフロアがない、優れたBER特性であることが確認できる。以上より、上述で議論した設計指針が有効であると考えられる。
本実施の形態では、テイルバイティング方法について説明する。先ず、一例として、実施の形態の具体的な構成及び動作を説明する前に、非特許文献20に記載されているパリティ検査多項式に基づくLDPC-CCについて説明する。
パリティ検査多項式に基づく、符号化率R=(n-1)/nの時変LDPC-CCについて説明する。X1,X2,・・・,Xn-1の情報ビット、及びパリティビットPの時点jにおけるビットをそれぞれX1,j,X2,j,・・・,Xn-1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn-1,j,Pj)と表す。また、符号化系列をu=(u0,u1,・・・,uj,・・・)Tと表す。Dを遅延演算子とすると、情報ビットX1,X2,・・・,Xn-1の多項式はX1(D),X2(D),・・・,Xn-1(D)と表され、パリティビットPの多項式はP(D)と表される。このとき、式(127)で表される0を満たすパリティ検査多項式を考える。
符号化率R=(n-1)/n、時変周期mのLDPC-CCを作成するために、式(127)に基づく0を満たすパリティ検査多項式を用意する。このときi番目(i=0,1,・・・,m-1)の0を満たすパリティ検査多項式を式(128)のように表す。
上述では、ベースとなるパリティ検査多項式として、式(127)を取り扱っているが、必ずしも式(127)の形態に限らず、例えば、式(127)のかわりに、式(132)のような0を満たすパリティ検査多項式としてもよい。
以下では、上述のパリティ検査多項式に基づく時変LDPC-CCを例に、本実施の形態の形態におけるテイルバイティング方法について説明する。
上述で説明したパリティ検査多項式に基づくLDPC-CCにおいて、時変周期qの0を満たすg番目(g=0、1、・・・、q-1)のパリティ検査多項式(式(128)参照)を式(133)のように表す。
すると、パリティ検査行列Hは、図73のように表すことができる。図73に示すように、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図73参照)。そして、情報X1、X2、・・・Xn-1及びパリティPの時点kにおけるデータをそれぞれX1,k、X2,k、・・・、Xn-1,k、Pkとする。すると、送信ベクトルuは、u=(X1,0、X2,0、・・・、Xn-1,0、P0、X1,1、X2,1、・・・、Xn-1,1、P1、・・・、X1,k、X2,k、・・・、Xn-1,k、Pk、・・・・)Tと表され、Hu=0が成立する。
図73と式(135)から、パリティ検査多項式に基づく時変周期q、符号化率(n-1)/nのLDPC-CCにおいて、より高い誤り訂正能力を得るために、復号の際に必要とするパリティ検査行列Hでは、以下の条件が重要となる。
・パリティ検査行列の行数は、qの倍数である。
・したがって、パリティ検査行列の列数はn×qの倍数である。このとき、復号時に必要な(例えば)対数尤度比は、n×qの倍数のビット分の対数尤度比である。
ただし、条件#15-1が必要となる時変周期q、符号化率(n-1)/nのLDPC-CCの0を満たすパリティ検査多項式は、式(133)に限ったものではなく、式(127)、(132)に基づく時変LDPC-CCであってもよい。
<手順15-1>
例えば、式(136)で定義される時変LDPC-CCでは、P(D)は以下のように表される。
手順15-1の保持しているレジスタの状態から(したがって、式(138)のX1[z]、X2[z]、・・・、Xn-1[z]、P[z]において、zが1より小さい場合について、手順15-1で得られている値を用いることになる。)、再度、時点i=1から符号化を行い、パリティを求める。
しかし、フィードフォワード型のLDPC-CCとフィードバックありのLDPC-CCとを、同一符号化率、ほぼ同等の拘束長の条件の下で比較すると、フィードバックありのLDPC-CCの方が、高い誤り訂正能力を示す傾向が強いが、符号化系列を求める(パリティを求める)のが困難であるという課題がある。以下では、この課題に対し、容易に符号化系列(パリティ)を求めることを可能とする新しいテイルバイティング方法を提案する。
例えば、式(133)で定義する、符号化率(n-1)/n、時変周期qのパリティ検査多項式に基づくLDPC-CCにおいて、時点iにおける情報X1、X2、・・・、Xn-1、及びパリティPをX1,i、X2,i、・・・、Xn-1,i、Piと表す。すると、<条件#15-1>を満たすためには、i=1、2、3、・・・、q、・・・、q×N-q+1、q×N-q+2、q×N-q+3、・・・、q×Nとしてテイルバイティングを行うことになる。
このときのパリティ検査行列の構成について図74及び図75を用いて説明する。
上記で定義した送信系列uに対応するパリティ検査行列のうち、時点q×N近辺のパリティ検査行列を図74に示す。図74に示すように、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図74参照)。
符号7507は時点q×N-1に相当する列群を示しており、符号7507の列群は、X1,q×N-1、X2,q×N-1、・・・、Xn-1,q×N-1、Pq×N-1の順に並んでいる。符号7508は時点q×Nに相当する列群を示しており、符号7508の列群は、X1,q×N、X2,q×N、・・・、Xn-1,q×N、Pq×Nの順に並んでいる。符号7509は時点1に相当する列群を示しており、符号7509の列群は、X1,1、X2,1、・・・、Xn-1,1、P1の順に並んでいる。符号7510は時点2に相当する列群を示しており、符号7510の列群は、X1,2、X2,2、・・・、Xn-1,2、P2の順に並んでいる。
そして、テイルバイティングを行ったときのパリティ検査行列の特徴的な部分は、図75において、符号7513より左かつ符号7514より下の部分となる(式(135)参照)。
図76は、通信システムの略図である。通信システムは、送信装置7600と受信装置7610とを含んで構成される。
そして、送信装置7600で送信しなかった「0」の値のX1,16385、X1,16386、X1,16387、X1,16388の対数尤度比LLR(X1,16385)=LLR(0)、LLR(X1,16386)=LLR(0)、LLR(X1,16387)=LLR(0)、LLR(X1,16388)=LLR(0)を生成し、LLR(X1,1)、LLR(P1)、LLR(X1,2)、LLR(P2)、・・・LLR(X1,16384)、LLR(P16384)、LLR(X1,16385)=LLR(0)、LLR(P16385)、LLR(X1,16386)=LLR(0)、LLR(P16386)、LLR(X1,16387)=LLR(0)、LLR(P16387)、LLR(X1,16388)=LLR(0)、LLR(P16388)を得ることになるので、これと符号化率1/2、時変周期12のLDPC-CCの16388×32776のパリティ検査行列を用いて、非特許文献3~非特許文献6に示されているようなBP(Belief Propagation)(信頼度伝播)復号、BP復号を近似したmin-sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などの信頼度伝播を利用した復号を行うことで、推定送信系列、及び、推定情報系列を得る。
以下では、上記各実施の形態で示した符号化及び復号化方法を、送信方法及び受信方法に応用する例とそれを用いたシステムの構成例を説明する。
ExpertsGroup)2、MPEG4-AVC(Advanced Video Coding)、VC-1などの規格に準拠した動画符号化方法を用いて符号化されている。また、多重化データに含まれる音声データは例えばドルビーAC(AudioCoding)-3、Dolby Digital Plus、MLP(Meridian
LosslessPacking)、DTS(Digital Theater Systems)、DTS-HD、リニアPCM(Pulse Coding Modulation)等の音声符号化方法で符号化されている。
また、本実施の形態の受信機7800は、復調部7802で復調し、誤り訂正の復号を行う(本明細書で記載した誤り訂正符号に対応する復号方法による復号を行う)ことで得られた多重化データ(場合によっては、復調部7802で復調されて得られる信号に対して誤り訂正復号を行わないこともある。また、受信機7800は、誤り訂正復号後に他の信号処理が施されることもある。以降について、同様の表現を行っている部分についても、この点は同様である。)に含まれるデータ、または、そのデータに相当するデータ(例えば、データを圧縮することによって得られたデータ)や、動画、音声を加工して得られたデータを、磁気ディスク、光ディスク、不揮発性の半導体メモリ等の記録メディアに記録する記録部(ドライブ)7808を備える。ここで光ディスクとは、例えばDVD(Digital Versatile Disc)やBD(Blu-ray Disc)等の、レーザ光を用いて情報の記憶と読み出しがなされる記録メディアである。磁気ディスクとは、例えばFD(Floppy(登録商標) Disk)(登録商標)やハードディスク(Hard Disk)等の、磁束を用いて磁性体を磁化することにより情報を記憶する記録メディアである。不揮発性の半導体メモリとは、例えばフラッシュメモリや強誘電体メモリ(FerroelectricRandom Access Memory)等の、半導体素子により構成された記録メディアであり、フラッシュメモリを用いたSDカードやFlash SSD(Solid State Drive)などが挙げられる。なお、ここで挙げた記録メディアの種類はあくまでその一例であり、上記の記録メディア以外の記録メディアを用いて記録を行っても良いことは言うまでもない。
なお、上記の説明では、受信機7800は、復調部7802で復調し、誤り訂正の復号を行う(本明細書で記載した誤り訂正符号に対応する復号方法による復号を行う)ことで得られた多重化データを記録部7808で記録するとしたが、多重化データに含まれるデータのうち一部のデータを抽出して記録しても良い。例えば、復調部7802で復調し、誤り訂正の復号を行うことで得られた多重化データに映像データや音声データ以外のデータ放送サービスのコンテンツ等が含まれる場合、記録部7808は、復調部7802で復調された多重化データから映像データや音声データを抽出して多重した新しい多重化データを記録しても良い。また、記録部7808は、復調部7802で復調し、誤り訂正の復号を行うことで得られた多重化データに含まれる映像データ及び音声データのうち、どちらか一方のみを多重した新しい多重化データを記録しても良い。そして、上記で述べた多重化データに含まれるデータ放送サービスのコンテンツを記録部7808は、記録してもよい。
また、上記の説明では、記録部7808は、復調部7802で復調し、誤り訂正の復号を行う(本明細書で記載した誤り訂正符号に対応する復号方法による復号を行う)ことで得られた多重化データを記録するとしたが、復調部7802で復調し、誤り訂正の復号を行うことで得られた多重化データに含まれる映像データを、当該映像データよりもデータサイズまたはビットレートが低くなるよう、当該映像データに施された動画像符号化方法とは異なる動画像符号化方法で符号化された映像データに変換し、変換後の映像データを多重した新しい多重化データを記録してもよい。このとき、元の映像データに施された動画像符号化方法と変換後の映像データに施された動画像符号化方法とは、互いに異なる規格に準拠していてもよいし、同じ規格に準拠して符号化時に使用するパラメータのみが異なっていてもよい。同様に、記録部7808は、復調部7802で復調し、誤り訂正の復号を行うことで得られた多重化データに含まれる音声データを、当該音声データよりもデータサイズまたはビットレートが低くなるよう、当該音声データに施された音声符号化方法とは異なる音声符号化方法で符号化された音声データに変換し、変換後の音声データを多重した新しい多重化データを記録してもよい。
Serial Bus)、PLC(Power LineCommunication)、HDMI(High-Definition MultimediaInterface)等の有線通信規格に準拠した通信方法を用いて変調された多重化データを当該ストリーム出力IF7809に接続された有線伝送路(通信媒体7830に相当)を介して外部機器に送信する有線通信装置であってもよい。
また、上記の説明では、ストリーム出力IF7809は、復調部7802で復調し、誤り訂正の復号を行う(本明細書で記載した誤り訂正符号に対応する復号方法による復号を行う)ことで得られた多重化データを記録するとしたが、復調部7802で復調し、誤り訂正の復号を行うことで得られた多重化データに含まれる映像データを、当該映像データよりもデータサイズまたはビットレートが低くなるよう、当該映像データに施された動画像符号化方法とは異なる動画像符号化方法で符号化された映像データに変換し、変換後の映像データを多重した新しい多重化データを出力してもよい。このとき、元の映像データに施された動画像符号化方法と変換後の映像データに施された動画像符号化方法とは、互いに異なる規格に準拠していてもよいし、同じ規格に準拠して符号化時に使用するパラメータのみが異なっていてもよい。同様に、ストリーム出力IF7809は、復調部7802で復調し、誤り訂正の復号を行うことで得られた多重化データに含まれる音声データを、当該音声データよりもデータサイズまたはビットレートが低くなるよう、当該音声データに施された音声符号化方法とは異なる音声符号化方法で符号化された音声データに変換し、変換後の音声データを多重した新しい多重化データを出力してもよい。
さらに、受信機7800は、ユーザ操作の入力を受け付ける操作入力部7810を備える。受信機7800は、ユーザの操作に応じて操作入力部7810に入力される制御信号に基づいて、電源のON/OFFの切り替えや、受信するチャネルの切り替え、字幕表示の有無や表示する言語の切り替え、音声出力部7806から出力される音量の変更等の様々な動作の切り替えや、受信可能なチャネルの設定等の設定の変更を行う。
Strength Indicator、受信信号強度)、受信電界強度、C/N(Carrier-to-noisepower
ratio)、BER(Bit Error Rate:ビットエラー率)、パケットエラー率、フレームエラー率、チャネル状態情報(Channel State Information)等に基づいて算出される受信品質を示す指標であり、信号レベル、信号の優劣を示す信号である。この場合、復調部7802は受信した信号のRSSI、受信電界強度、C/N、BER、パケットエラー率、フレームエラー率、チャネル状態情報等を測定する受信品質測定部を備え、受信機7800はユーザの操作に応じてアンテナレベル(信号レベル、信号の優劣を示す信号)をユーザが識別可能な形式で映像表示部7807に表示する。
なお、上記の説明では受信機7800が、音声出力部7806、映像表示部7807、記録部7808、ストリーム出力IF7809、及びAV出力IF7811を備えている場合を例に挙げて説明したが、これらの構成の全てを備えている必要はない。受信機7800が上記の構成のうち少なくともいずれか一つを備えていれば、ユーザは復調部7802で復調し、誤り訂正の復号を行う(本明細書で記載した誤り訂正符号に対応する復号方法による復号を行う)ことで得られた多重化データを利用することができるため、各受信機はその用途に合わせて上記の構成を任意に組み合わせて備えていれば良い。
次に、多重化データの構造の一例について詳細に説明する。放送に用いられるデータ構造としてはMPEG2-トランスポートストリーム(TS)が一般的であり、ここではMPEG2-TSを例に挙げて説明する。しかし、上記各実施の形態で示した送信方法及び受信方法で伝送される多重化データのデータ構造はMPEG2-TSに限られず、他のいかなるデータ構造であっても上記の各実施の形態で説明した効果を得られることは言うまでもない。
Time-Stamp)が格納される。
MapTable)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報(フレームレート、アスペクト比など)を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(SystemTime
Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
図84は、その多重化データファイル情報の構成を示す図である。多重化データ情報ファイルは、図84に示すように多重化データの管理情報であり、多重化データと1対1に対応し、クリップ情報、ストリーム属性情報とエントリマップから構成される。
本明細書において、送信装置を具備しているのは、例えば、放送局、基地局、アクセスポイント、端末、携帯電話(mobilephone)等の通信・放送機器であることが考えられ、このとき、受信装置を具備しているのは、テレビ、ラジオ、端末、パーソナルコンピュータ、携帯電話、アクセスポイント、基地局等の通信機器であることが考えられる。また、本発明における送信装置、受信装置は、通信機能を有している機器であって、その機器が、テレビ、ラジオ、パーソナルコンピュータ、携帯電話等のアプリケーションを実行するための装置に何らかのインターフェース(例えば、USB)を介して接続できるような形態であることも考えられる。
なお、本発明は上記すべての実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、通信装置として行う場合について説明しているが、これに限られるものではなく、この通信方法をソフトウェアとして行うことも可能である。
なる。
また、本明細書において、受信装置で、ML演算、APP、Max-logAPP、ZF、MMSE等を用いて説明しているが、この結果、送信装置が送信したデータの各ビットの軟判定結果(対数尤度、対数尤度比)や硬判定結果(「0」または「1」)を得ることになるが、これらを総称して、検波、復調、検出、推定、分離と呼んでもよい。
また、送信装置の送信アンテナ、受信装置の受信アンテナ、共に、図面で記載されている1つのアンテナは、複数のアンテナにより構成されていても良い。
また、本明細書において、「∀」は全称記号(universal quantifier)をあらわしており、「∃」は存在記号(existential quantifier)をあらわしている。
複素平面を利用すると、複素数の極座標による表示として極形式で表示できる。複素数z=a+jb(a、bはともに実数であり、jは虚数単位である)に、複素平面状の点(a,b)を対応させたとき、この点が極座標で[r,θ]とあらわされるなら、a=r×cosθ、b=r×sinθが成り立ち、rは、zの絶対値(r=|z|)であり、θは偏角(argument)となる。そして、z=a+jbは、rejθとあらわされる。
また、本明細書で説明した規則的にプリコーディング行列を切り替える方法を用いた放送システムの一例を図87に示す。図87において、映像符号化部8701は、映像を入力とし、映像符号化を行い、映像符号化後のデータ8702を出力する。音声符号化部8703は、音声を入力とし、音声符号化を行い、音声符号化後のデータ8704を出力する。データ符号化部8705は、データを入力とし、データの符号化(例えば、データ圧縮)を行い、データ符号化後のデータ8706を出力する。これらをまとめて、情報源符号化部8700とする。
また、「異なるプリコーディング行列を切り替える方法」とは異なる複数のプリコーディング行列を用いて、規則的にプリコーディング行列を切り替える方法を実現しても、同様に実施することができる。
また、上記通信方法を実行するプログラムをコンピュータで読み取り可能な記憶媒体に格納し、記憶媒体に格納されたプログラムをコンピュータのRAM(Random Access Memory)に記録して、コンピュータをそのプログラムにしたがって動作させるようにしても良い。
ScaleIntegration)として実現されてもよい。これらは、個別に1チップ化されてもよいし、各実施の形態の全ての構成または一部の構成を含むように1チップ化されてもよい。
ここでは、LSIとしたが、集積度の違いにより、IC(Integrated Circuit)、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限られるものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
また、この符号化方法及び復号化方法をソフトウェアとして行うことも可能である。例えば、上記符号化方法及び通信方法を実行するプログラムを予めROM(Read Only Memory)に格納しておき、そのプログラムをCPU(CentralProcessor
Unit)によって動作させるようにしても良い。
また、本発明は、無線通信に限らず、電灯線通信(PLC:Power Line Communication)、可視光通信、光通信においても有用であることは言うまでもない。
本実施の形態において、ATのように「T」を用いているが、ATは、行列Aの転置行列(transported matrix)であることを意味している。したがって、ATは、行列Aがm行n列の行列であった場合、ATは行列Aの (i行, j列) 要素と (j行, i列) 要素を入れ替えたn行m列の行列である。
本発明の符号化方法の一つの態様は、符号化率(n-1)/n(nは2以上の整数)のパリティ検査多項式を用いて、時変周期qの低密度パリティ検査畳み込み符号(LDPC-CC:Low-Density Parity-Check Convolutional Codes)化を行う符号化方法であって、前記時変周期qが、3より大きい素数であり、情報系列を入力とし、式(140)をg番目(g=0、1、・・・、q-1)の0を満たす前記パリティ検査多項式として用いて、前記情報系列を符号化する。
「a#0,k,1%q=a#1,k,1%q=a#2,k,1%q=a#3,k,1%q=・・・=a#g,k,1%q=・・・=a#q-2,k,1%q=a#q-1,k,1%q=vp=k (vp=k:固定値)」、
「b#0,1%q=b#1,1%q=b#2,1%q=b#3,1%q=・・・=b#g,1%q=・・・=b#q-2,1%q=b#q-1,1%q=w (w:固定値)」、
「a#0,k,2%q=a#1,k,2%q=a#2,k,2%q=a#3,k,2%q=・・・=a#g,k,2%q=・・・=a#q-2,k,2%q=a#q-1,k,2%q=yp=k (yp=k:固定値)」、
「b#0,2%q=b#1,2%q=b#2,2%q=b#3,2%q=・・・=b#g,2%q=・・・=b#q-2,2%q=b#q-1,2%q=z (z:固定値)」、
及び、
「a#0,k,3%q=a#1,k,3%q=a#2,k,3%q=a#3,k,3%q=・・・=a#g,k,3%q=・・・=a#q-2,k,3%q=a#q-1,k,3%q=sp=k (sp=k:固定値)」
を、k=1、2、・・・、n-1に対して満たすパリティ検査多項式を用いて、前記情報系列を符号化する。
Convolutional Codes)の符号化方法であって、式(98-i)であらわされる第i(i=0、1、・・・、s-2、s-1)パリティ検査多項式を供給するステップと、前記第0から第s-1パリティ検査多項式と入力データとの線形演算によりLDPC-CC符号語を取得するステップと、を有し、Xk(D)の係数AXk,iの時変周期がαk(αkは1より大きい整数)であり(k=1、2、・・・、n-2、n-1)、P(D)の係数BXk,iの時変周期がβ(βは1より大きい整数)であり、前記時変周期sは、α1,α2,・・・αn-2,αn-1,βの最小公倍数であり、i%αk=j%αk(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき、式(97)が成立し、i%β=j%β(i,j=0、1、・・・、s-2、s-1;i≠j)が成立するとき、式(98)が成立する。
本発明の符号化器の一つの態様は、低密度パリティ検査畳み込み符号(LDPC-CC:Low-DensityParity-Check
Convolutional Codes)の符号化器であって、上記符号化方法によりパリティ系列を求めるパリティ計算部を具備する。
Convolutional Codes)化を行う上記符号化方法において、式(98-i)をi番目(i=0、1、・・・、s-1)の0を満たす前記パリティ検査多項式として用いて符号化された符号化情報系列を復号する復号方法であって、前記符号化情報系列を入力とし、i番目の0を満たす前記パリティ検査多項式である式(98-i)を用いて生成されるパリティ検査行列に基づいて、信頼度伝播(BP:Belief Propagation)を利用して、前記符号化情報系列を復号する。
Convolutional Codes)を信頼度伝播(BP:BeliefPropagation)を利用して復号する復号器であって、上記符号化器で用いたパリティ検査多項式に対応する検査行列を用いて行処理演算を行う行処理演算部と、前記検査行列を用いて列処理演算を行う列処理演算部と、前記行処理演算部及び前記列処理演算部での演算結果を用いて符号語を推定する判定部と、を具備する。
前記選択するステップは、情報X2hi、X2hi+1、X2hi+2、・・・、X2hi+2h-1、・・・、X2h(i+k-1)、X2h(i+k-1)+1、X2h(i+k-1)+2、・・・、X2h(i+k-1)+2h-1の2×h×kビットから、前記Zビットの情報Xjを選択し、前記時点j1から前記時点j2に含まれるすべての前記時点jをhで除算したときの余りのうち、「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下となり、「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下となり、「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下となる条件を満たすγが少なくとも一つ存在するように、前記Zビットの情報Xjを選択する。
本発明の復号方法の一つの態様は、時変周期hの低密度パリティ検査畳み込み符号(LDPC-CC:Low-DensityParity-Check
Convolutional Codes)化を行う請求項1に記載の符号化方法において、式(143)をg番目(i=0、1、・・・、h-1)の0を満たす前記パリティ検査多項式として用いて符号化された符号化情報系列を復号する復号方法であって、前記符号化情報系列を入力とし、g番目の0を満たす前記パリティ検査多項式である式(143)を用いて生成されるパリティ検査行列に基づいて、信頼度伝播(BP:Belief Propagation)を利用して、前記符号化情報系列を復号する。
Convolutional Codes)を作成する符号化器であって、上記符号化方法によりパリティを求める計算部を具備する。
本発明の復号器の一つの態様は、低密度パリティ検査畳み込み符号(LDPC-CC:Low-DensityParity-Check
Convolutional Codes)を信頼度伝播(BP:BeliefPropagation)を利用して復号する復号器であって、上記符号化器で用いたパリティ検査多項式に対応する検査行列を用いて行処理演算を行う行処理演算部と、前記検査行列を用いて列処理演算を行う列処理演算部と、前記行処理演算部及び前記列処理演算部での演算結果を用いて符号語を推定する判定部と、を具備する。
Convolutional Codes)化を行う上記符号化方法において、式(144-g)をg番目(i=0、1、・・・、h-1)の0を満たす前記パリティ検査多項式として用いて符号化された符号化情報系列を復号する復号方法であって、前記符号化情報系列を入力とし、g番目の0を満たす前記パリティ検査多項式である式(144-g)を用いて生成されるパリティ検査行列に基づいて、信頼度伝播(BP:Belief Propagation)を利用して、前記符号化情報系列を復号する。
Convolutional Codes)を作成する符号化器であって、上記符号化方法によりパリティを求める計算部を具備する。
本発明の復号器の一つの態様は、低密度パリティ検査畳み込み符号(LDPC-CC:Low-DensityParity-Check
Convolutional Codes)を信頼度伝播(BP:BeliefPropagation)を利用して復号する復号器であって、上記符号化器で用いたパリティ検査多項式に対応する検査行列を用いて行処理演算を行う行処理演算部と、前記検査行列を用いて列処理演算を行う列処理演算部と、前記行処理演算部及び前記列処理演算部での演算結果を用いて符号語を推定する判定部と、を具備する。
(実施の形態17)
本実施の形態では、実施の形態3、実施の形態15で説明したテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号について説明する。特に、本実施の形態では、符号化率1/2の上述の連接符号について説明する。
上記の説明にあたり、まず、これまでの誤り訂正符号に関する課題について述べる。非特許文献21~非特許文献24では、Duo Binary Turbo codeを含むターボ符号が提案されている。ターボ符号は、シャノン限界に近い高い誤り訂正能力を持つ符号であり、非特許文献25に記載されているBCJRアルゴリズムや非特許文献26に記載されているMax-log近似を用いたSOVAアルゴリズムを用いて復号が行われるが、非特許文献27に示されているように、復号アルゴリズムの問題から、高速な復号が困難であり、例えば1Gbps以上の高速な通信において、誤り訂正符号としてターボ符号を適用するのは困難である。
以下では、上記発明の詳細の符号の構成方法について説明する。図88は、本実施の形態における、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の符号化器の構成の一例である。図88では、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の符号化率を1/2、連接符号のブロックサイズをNビットとし、1ブロックの情報の数はMビット、1ブロックのパリティの数はMビットとし、したがって、N=2Mの関係が成立する。そして、i番目のブロックの1ブロックに含まれる情報をXi,1,0、Xi,1,1、Xi,1,2、・・・、Xi,1,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,1,M-2、Xi,1,M-1とする。
インタリーバ8804は、LDPC畳み込み符号化後のパリティPi,b1,0、Pi,b1,1、Pi,b1,2、・・・、Pi,b1,j(j=0、1、2、・・・、M-3
、M-2、M-1)、・・・、Pi,b1,M-2、Pi,b1,M-1(8803)を入力とし、(蓄積した後)並び替えを行い、並び替え後のLDPC畳み込み符号化後のパリティ8805を出力する。
アキュミュレータ(Accumulator)8806は、並び替え後のLDPC畳み込み符号化後のパリティ8805を入力とし、アキュミュレート(Accmulate)し、アキュミュレート後のパリティ8807を出力する。このとき、アキュミュレート後のパリティ8807が、図88の符号化器において、出力となるパリティであり、i番目のブロックにおけるパリティをPi,0、Pi,1、Pi,2、・・・、Pi,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Pi,M-2、Pi,M-1とあらわすと、i番目のブロックの符号語は、Xi,1,0、Xi,1,1、Xi,1,2、・・・、Xi,1,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,1,M-2、Xi,1,M-1、Pi,0、Pi,1、Pi,2、・・・、Pi,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Pi,M-2、Pi,M-1となる。
パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の符号化器8801において、第2シフトレジスタ8810-2は、第1シフトレジスタ8810-1が出力した値を入力とする。また、第3シフトレジスタ8810-3は、第2シフトレジスタ8810-2が出力した値を入力とする。したがって、第Yシフトレジスタ8810-Yは、第Y-1シフトレジスタ8810―(Y-1)が出力した値を入力とする。ただし、Y=2、3、4、・・・、L1-2、L1-1、L1となる。
第1シフトレジスタ8810-1~第L1シフトレジスタ8810-L1は、それぞれv1,t-i(i=1,…,L1)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。なお、シフトレジスタの初期状態は、テイルバイティングを用いた、フィードフォワードのLDPC畳み込み符号であるため、i番目のブロックにおいて、第K1番目のレジスタの初期値はXi,1,M-K1となる(K1=1,…,L1)。
ウェイト制御部8821は、内部に保持するLDPC畳み込み符号のパリティ検査多項式(または、LDPC畳み込み符号のパリティ検査行列)に基づいて、そのタイミングにおけるh1 (m)の値を出力し、ウェイト乗算器8810-0~8810-L1に供給する。
mod2加算器(modulo 2の加算器、つまり、排他的論理和演算器)8813は、ウェイト乗算器8810-0~8810-L1の出力に対しmod2(modulo 2、つまり、2で除算したときの余り)の算出結果を全て加算し(つまり、排他的論理和の演算をし)、LDPC畳み込み符号化後のパリティPi,b1,j(8803)を算出し、出力する。
このような構成を採ることで、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の符号化器8801は、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号のパリティ検査多項式(または、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号のパリティ検査行列)にしたがったLDPC-CCの符号化を行うことができる。
他的論理和の演算をし)、アキュミュレート後のパリティ8807を出力する。後に詳しく説明するが、このようなアキュミュレータを用いると、パリティ検査行列におけるパリティ部分において、列重み(各列における“1”の数)1の列を一つ、その他残りの列の列重みを2とすることができ、これが、パリティ検査行列に基づいた信頼度伝播アルゴリズムを用いた復号を用いたとき、高い誤り訂正能力が得られることに貢献する。
図88のインタリーバ8804の動作の詳細を8816に示している。インタリーバ、つまり、蓄積及び並び替え部8818は、LDPC畳み込み符号化後のパリティPi,b1,0、Pi,b1,1、Pi,b1,2、・・・、Pi,b1,M-3、Pi,b1,M-2、Pi,b1,M-1を入力とし、入力したデータを蓄積し、その後並び替えを行う。したがって、蓄積及び並び替え部8818は、Pi,b1,0、Pi,b1,1、Pi,b1,2、・・・、Pi,b1,M-3、Pi,b1,M-2、Pi,b1,M-1に対して、出力の順番が変更される、例えば、Pi,b1,254、Pi,b1,47、・・・、Pi,b1,M-1、・・・、Pi,b1,0、・・・と出力する。
図89のアキュミュレータ8900は、図88における並び替え後のLDPC畳み込み符号化後のパリティ8805(8901)を入力とし、アキュミュレートし、アキュミュレート後のパリティ8807を出力する。図89において、第2シフトレジスタ8902
-2は、第1シフトレジスタ8902-1が出力した値を入力とする。また、第3シフトレジスタ8902-3は、第2シフトレジスタ8902-2が出力した値を入力とする。したがって、第Yシフトレジスタ8902-Yは、第Y-1シフトレジスタ8902―(Y-1)が出力した値を入力とする。ただし、Y=2、3、4、・・・、R-2、R-1、Rとなる。
ウェイト制御部8904は、内部に保持するパリティ検査行列におけるアキュミュレータに関連素部部分行列に基づいて、そのタイミングにおけるh1 (m)の値を出力し、ウェイト乗算器8903-1~8903-Rに供給する。
mod2加算器(modulo 2の加算器、つまり、排他的論理和演算器)8905は、ウェイト乗算器8903-1~8903-Rの出力、および、図88における並び替え後のLDPC畳み込み符号化後のパリティ8805(8901)に対しmod2(modulo 2、つまり、2で除算したときの余り)の算出結果を全て加算し(つまり、排他的論理和の演算をし)、アキュミュレート後のパリティ8807(8902)を出力する。
図90のアキュミュレータ9000は、図88における並び替え後のLDPC畳み込み符号化後のパリティ8805(8901)を入力とし、アキュミュレートし、アキュミュレート後のパリティ8807(8902)を出力する。なお、図90において、図89と同様に動作するものについては、同一符号を付した。図90のアキュミュレータ9000が、図89のアキュミュレータ8900と異なる点は、図89におけるウェイト乗算器8903-1のh1 (1)を“1”と固定にしている点である。このようなアキュミュレータを用いると、パリティ検査行列におけるパリティ部分において、列重み(各列における“1”の数)1の列を一つ、その他残りの列の列重みを2以上とすることができ、これが、パリティ検査行列に基づいた信頼度伝播アルゴリズムを用いた復号を用いたとき、高い誤り訂正能力が得られることに貢献する。
パリティ検査多項式に基づく時変LDPC符号については、本明細書で詳しく説明している。また、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号については、実施の形態15で説明したが、ここで、再度説明するとともに、本実施の形態における連接符号において、高い誤り訂正能力を得るためのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の要件の例について説明する。
X1の情報ビット、及びパリティビットPの時点jにおけるビットをそれぞれX1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,Pj)と表す。また、符号化系列をu=(u0,u1,・・・,uj,)Tと表す。Dを遅延演算子とすると、情報ビットX1の多項式はX1(D)と表され、パリティビットPの多項式はP(D)と表される。このとき、符号化率1/2のパリティ検査多項式に基づくフィードフォワードLDPC-CCにおいて、式(145)で表される0を満たすパリティ検査多項式を考える。
符号化率R=1/2、時変周期mのLDPC-CCを作成するために、式(145)に基づく0を満たすパリティ検査多項式を用意する。このときi番目(i=0,1,・・・,m-1)の0を満たすパリティ検査多項式を式(146)のように表す。
なお、テイルバイティングを行っている、行っていないに関係なく、時変周期mのパリティ検査多項式に基づくLDPC-CCのパリティ検査行列のY行目が時変周期mのLDPC-CCの0番目の0を満たすパリティ検査多項式に対応する行であるとすると、パリティ検査行列のY+1行目は時変周期mのLDPC-CCの1番目の0を満たすパリティ検査多項式に対応する行、パリティ検査行列のY+2行目は時変周期mのLDPC-CCの2番目の0を満たすパリティ検査多項式に対応する行、・・・、パリティ検査行列のY+j行目は時変周期mのLDPC-CCのj番目の0を満たすパリティ検査多項式に対応する行(j=0、1、2、3、・・・、m-3、m-2、m-1)、・・・、パリティ検査行列のY+m-1行目は時変周期mのLDPC-CCのm-1番目の0を満たすパリティ検査多項式に対応する行となる。
なお、本実施の形態におけるテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号では、高い誤り訂正能力を得るためには、式(145)で表される0を満たすパリティ検査多項式において、r1が3以上である必要があり、また、式(150)で表される0を満たすパリティ検査多項式において、r1が4以上である必要がある。
したがって、式(145)を参考にすると、本実施の形態の連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q-1)のパリティ検査多項式(式(128)参照)は式(151)のように表わされる。
以上のように、本実施の形態の連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすq個のパリティ検査多項式において、いずれの0を満たすパリティ検査多項式においても、X1(D)の項が4つ以上存在すると、高い誤り訂正能力を得ることができる可能性が高い。
また、実施の形態1で述べた条件を満たすためには情報X1(D)項の数が4つ以上となるので、時変周期は4以上を満たす必要があり、この条件を満たさないと、実施の形態1で述べた条件のうちのいずれかを満たさない場合が発生し、これにより、高い誤り訂正能力を得る可能性が低下する可能性がある。また、例えば、実施の形態6で説明したように、タナ-グラフを描いた際、時変周期を大きくした効果を得るためには、情報X1(D)項の数が4つ以上となるため、時変周期は奇数であるとよく、他の有効な条件としては、
(1)時変周期qが素数であること。
(3)時変周期qをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期qをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期qをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
となる。ただし、時変周期qが大きければ、実施の形態6で説明した効果を得ることができるので、時変周期qが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではない。
例えば、時変周期qが偶数のとき、以下のような条件を満たしてもよい。
(7)時変周期qを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(8)時変周期qを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(9)時変周期qを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(10)時変周期qを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(11)時変周期qを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(12)時変周期qを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
ただし、時変周期qが上記の(1)から(6)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期qが上記の(7)から(12)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
以下では、パリティ検査多項式に基づくフィードフォワード時変LDPC-CCのテイルバイティング方法について説明する。(例として、式(151)のパリティ検査多項式を用いる。)
[テイルバイティング方法]
上述で説明した本実施の形態の連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q-1)のパリティ検査多項式(式(128)参照)は式(155)のように表わされる。
図91と式(135)から、パリティ検査多項式に基づく時変周期q、符号化率1/2のLDPC-CCにおいて、より高い誤り訂正能力を得るために、復号の際に必要とするパリティ検査行列Hでは、以下の条件が重要となる。
・パリティ検査行列の行数は、qの倍数である。
したがって、パリティ検査行列の列数は2×qの倍数である。このとき、復号時に必要な(例えば)対数尤度比は、2×qの倍数のビット分の対数尤度比である。
ただし、条件#17-1が必要となる時変周期q、符号化率1/2のLDPC-CCの0を満たすパリティ検査多項式は、式(155)に限ったものではなく、式(153)に基づく周期qの周期的時変LDPC-CCであってもよい。
<手順17-1>
例えば、式(155)で定義される周期qの周期的時変LDPC-CCでは、P(D)は以下のように表される。
式(155)で定義される周期qの周期的時変LDPC-CCとは異なる式(153)の周期qの周期的時変LDPC-CCを考える。このとき、
式(153)についてもテイルバイティングを説明する。P(D)は以下のように表される。
上述の説明にあたり、はじめに、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号のパリティ検査行列について説明する。
式(155)に対応するサブ行列(ベクトル)をHgとすると、第gサブ行列は、前述で述べたように式(156)で表すことができる。
符号9307は時点q×N-1に相当する列群を示しており、符号9307の列群は、Xj,1,q×N-1、Pj,q×N-1の順に並んでいる。符号9308は時点q×Nに相当する列群を示しており、符号9308の列群は、Xj,1,q×N、Pj,q×Nの順に並んでいる。符号9309は時点1に相当する列群を示しており、符号9309の列群は、Xj,1,1、Pj,1の順に並んでいる。符号9310は時点2に相当する列群を示しており、符号9310の列群は、Xj,1,2、Pj,2の順に並んでいる。
テイルバイティングを行った際の1ブロックを構成する情報X1をMビット、パリティビットPをMビット(符号化率1/2であるので)としたとき、図94に示したように、符号化率1/2の時変周期qのパリティ検査多項式に基づくLDPC-CCにおいて、テイルバイティングを行った際のパリティ検査行列Hm=[Hx、Hp]とあらわす。(ただし、上述で説明したように、1ブロックを構成する情報XをM=q×Nビット、パリティビットをM=q×Nビットとすると、高い誤り訂正能力を得ることができる可能性があるが、必ずしもこれに限ったものではない。)なお、第j番目のブロックの送信系列(符号語)sjはsj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Pj,1、Pj,2、・・・、Pj,k、・・・、Pj,M)Tとあらわすので、Hxは情報X1に関連する部分行列、HpはパリティPに関連する部分行列となり、図94に示すように、パリティ検査行列Hmは、M行、2×M列の行列となり、情報X1に関連する部分行列Hxは、M行、M列の行列となり、パリティPに関連する部分行列Hpは、M行、M列の行列となる。(このとき、Hmsj=0(「Hmsj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。)が成立する。)
図95は、符号化率1/2の時変周期qのパリティ検査多項式に基づくLDPC-CCにおいて、テイルバイティングを行った際のパリティ検査行列HmにおけるパリティPに関連する部分行列Hpの構成を示している。図95に示すように、パリティPに関連する部分行列Hpのi行i列(iは1以上Mの整数(i=1、2、3、・・・、M-1、M))の要素が「1」であり、その以外の要素は「0」となる。
第1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))の0番目(つまり、g=0)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
第2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))の1番目(つまり、g=1)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
・
・
・
第q+1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))のq番目(つまり、g=q)のパリティ検査多項式のパリティPに関連する部分のベ
クトルであり、
第q+2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))の0番目(つまり、g=0)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
・
・
・
となる。
図96の情報X1に関連する部分行列Hxにおいて、図96に示すように、
第1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))の0番目(つまり、g=0)のパリティ検査多項式の情報X1に関連する部分のベクトルであり、
第2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))の1番目(つまり、g=1)のパリティ検査多項式の情報X1に関連する部分のベクトルであり、
・
・
・
第q+1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))のq番目(つまり、g=q)のパリティ検査多項式の情報X1に関連する部分のベクトルであり、
第q+2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))の0番目(つまり、g=0)のパリティ検査多項式の情報X1に関連する部分のベクトルであり、
・
・
・
となる。したがって、図96の情報X1に関連する部分行列Hxの第s行目は、(s-1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))のk番目のパリティ検査多項式の情報X1に関連する部分のベクトルとなる。
符号化率1/2の時変周期qのパリティ検査多項式に基づくLDPC-CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmにおける情報X1に関連する部分行列Hxのi行j列の要素をHx,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M-1、M))とあらわすものとする。
時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(155)を満たすとき、情報X1に関連する部分行列Hxの第s行目において、(s-1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、情報X1に関連する部分行列Hxの第s行目に相当するパリティ検査多項式は以下のようにあらわされる。
上述では、式(155)のパリティ検査多項式のときのパリティ検査行列の構成について説明したが、以下では、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(153)を満たすときのパリティ検査行列について説明する。
時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(153)を満たすとき、情報X1に関連する部分行列Hxの第s行目において、(s-1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、情報X1に関連する部分行列Hxの第s行目に相当するパリティ検査多項式は以下のようにあらわされる。
次に、本実施の形態のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列について説明する。
符号化率1/2の時変周期qのパリティ検査多項式に基づくLDPC-CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmにおける情報X1に関連する部分行列Hx(図98の9801)において、
第1行目のみを抽出してできるベクトルをhx1,1
第2行目のみを抽出してできるベクトルをhx1,2
第3行目のみを抽出してできるベクトルをhx1,3
・
・
・
第k行目のみを抽出してできるベクトルをhx1,k(k=1、2、3、・・・、M-1、M)
・
・
・
第M-1行目のみを抽出してできるベクトルをhx1,M-1
第M行目のみを抽出してできるベクトルをhx1,M
とすると、符号化率1/2の時変周期qのパリティ検査多項式に基づくLDPC-CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmにおける情報X1に関連する部分行列Hx(図98の9801)は次式のようにあらわされる。
第1行目のみを抽出してできるベクトルをhcx1,1
第2行目のみを抽出してできるベクトルをhcx1,2
第3行目のみを抽出してできるベクトルをhcx1,3
・
・
・
第k行目のみを抽出してできるベクトルをhcx1,k(k=1、2、3、・・・、M-1、M)
・
・
・
第M-1行目のみを抽出してできるベクトルをhcx1,M-1
第M行目のみを抽出してできるベクトルをhcx1,M
とすると、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列Hcmの情報X1に関連する部分行列Hcx(図98の9802)は次式のようにあらわされる。
「hx1,1、hx1,2、hx1,3、・・・、hx1,M-2、hx1,M-1、hx1,Mは、「第k行目のみを抽出してできるベクトルをhcx1,k(k=1、2、3、・・・、M-1、M)」において、それぞれ1回ずつ出現する。」
つまり、
「hcx1,k=hx1,1を満たすkが1個存在する。
hcx1,k=hx1,2を満たすkが1個存在する。
hcx1,k=hx1,3を満たすkが1個存在する。
・
・
・
hcx1,k=hx1,jを満たすkが1個存在する。
・
・
・
hcx1,k=hx1,M-2を満たすkが1個存在する。
hcx1,k=hx1,M-1を満たすkが1個存在する。
hcx1,k=hx1,Mを満たすkが1個存在する。」
ことになる。
図99は、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列Hcm=[Hcx、Hcp]におけるパリティPc(ただし、パリティPcとは、上記連接符号におけるパリティを意味している。)に関連する部分行列Hcpの構成を示しており、パリティPcに関連する部分行列Hcpは、M行、M列の行列となる。
パリティPcに関連する部分行列Hcpのi行j列の要素をHcp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M-1、M))とあらわすものとする。すると、以下が成立する。
図97から図99では、送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tに対応する、パリティ検査行列、パリティ検査行列における情報に関連する部分行列、パリティ検査行列におけるパリティに関連する部分行列について説明した。以下では、図100に示したように、送信系列をv’j=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Pcj,M、Pcj,M-1、Pcj,M-2、・・・、Pcj,3、Pcj,2、Pcj,1)Tとしたとき(一例として、ここではパリティ系列のみ順番の入れ替えを行っている。)の符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列、パリティ検査行列における情報に関連する部分行列、パリティ検査行列におけるパリティに関連する部分行列について説明する。
図100は、図97から図99の際の送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tを、送信系列v’j=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Pcj,M、Pcj,M-1、Pcj,M-2、・・・、Pcj,3、Pcj,2、Pcj,1)Tと並び替えを行ったときの、
符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列におけるパリティPc(ただし、パリティPcとは、上記連接符号におけるパリティを意味している。)に関連する部分行列H’cpの構成を示している。なお、パリティPcに関連する部分行列H’cpは、M行、M列の行列となる。
パリティPcに関連する部分行列H’cpのi行j列の要素をH’cp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M-1、M))とあらわすものとする。すると、以下が成立する。
「第1行目はhcx1,M、
第2行目はhcx1,M-1、
・
・
・
第M-1行目はhcx1,2、
第M行目はhcx1,1」
とあらわされる。つまり、情報X1に関連する部分行列H’cx(10102)の第k行目(k=1、2、3、・・・、M-2、M-1、M)のみを抽出してできるベクトルはhcx1,M―k+1とあらわされる。なお、情報X1に関連する部分行列H’cx(10102)は、M行、M列の行列となる。
上述は、送信系列の順番を変更したときのパリティ検査行列の構成の一例を説明したが、以降では、送信系列の順番を変更したときのパリティ検査行列の構成について、一般化して説明する。
次に、送信系列の順番を入れ替えたときの符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列の構成について説明する。
図104に、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’cmの構成を示す。このとき、第j番目のブロックの送信系列v’jの第1行目の要素(図104において、送信系列v’jの転置行列v’j Tの場合、第1列目の要素)は、Yj,32である。したがって、パリティ検査行列H’cmの第1列目を抽出したベクトルは、上述で説明したベクトルck(k=1、2、3、・・・、2M-2、2M-1、2M)を用いると、c32となる。同様に、第j番目のブロックの送信系列v’jの第2行目の要素(図104において、送信系列v’jの転置行列v’j Tの場合、第2列目の要素)は、Yj,99である。したがって、パリティ検査行列H’cmの第2列目を抽出したベクトルは、c99となる。また、図104から、パリティ検査行列H’cmの第3列目を抽出したベクトルは、c23となり、パリティ検査行列H’cmの第2M-2列目を抽出したベクトルは、c234となり、パリティ検査行列H’cmの第2M-1列目を抽出したベクトルは、c3となり、パリティ検査行列H’cmの第2M列目を抽出したベクトルは、c43となる。
以下のようにあらわされる。
上述の解釈について説明する。まず、送信系列(符号語)の要素を並び替えることについて、一般的に説明する。図105は、符号化率(N-M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列Hの構成を示しており、例えば、図105のパリティ検査行列は、M行N列の行列となる。図105において、第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)とする(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報XまたはパリティPとなる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)このとき、第j番目のブロックの送信系列vjの第k行目(ただし、kは、1以上N以下の整数)の要素(図105において、送信系列vjの転置行列vj Tの場合、第k列目の要素)は、Yj,kであるとともに、符号化率(N-M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列Hの第k列目を抽出したベクトルを図105のようにckとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列Hは、以下のようにあらわされる。
成を示す。このとき、第j番目のブロックの送信系列v’jの第1行目の要素(図107において、送信系列v’jの転置行列v’j Tの場合、第1列目の要素)は、Yj,32である。したがって、パリティ検査行列H’の第1列目を抽出したベクトルは、上述で説明したベクトルck(k=1、2、3、・・・、N-2、N-1、N)を用いると、c32となる。同様に、第j番目のブロックの送信系列v’jの第2行目の要素(図107において、送信系列v’jの転置行列v’j Tの場合、第2列目の要素)は、Yj,99である。したがって、パリティ検査行列H’の第2列目を抽出したベクトルは、c99となる。また、図107から、パリティ検査行列H’の第3列目を抽出したベクトルは、c23となり、パリティ検査行列H’の第N-2列目を抽出したベクトルは、c234となり、パリティ検査行列H’の第N-1列目を抽出したベクトルは、c3となり、パリティ検査行列H’の第N列目を抽出したベクトルは、c43となる。
つまり、第j番目のブロックの送信系列v’jの第i行目の要素(図107において、送信系列v’jの転置行列v’j Tの場合、第i列目の要素)は、Yj,g(g=1、2、3、・・・、N-2、N-1、N)とあらわされたとき、パリティ検査行列H’の第i列目を抽出したベクトルは、上述で説明したベクトルckを用いると、cgとなる。
のようにあらわされる。
したがって、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列に対し、列置換を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列となる。
よって、当然ながら、インタリーブを施した送信系列(符号語)を元の順番に戻した送信系列は、上記連接符号の送信系列(符号語)であり、そのパリティ検査行列は、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列である。
とする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる。
例えば、蓄積および並び替え部(デインタリーブ部)10802は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を入力とし、並び替えを行い、Yj,1の対数尤度比、Yj,2の対数尤度比、Yj,3の対数尤度比、・・・、Yj,N-2の対数尤度比、Yj,N-1の対数尤度比、Yj,Nの対数尤度比の順に出力するものとする。
例えば、送信装置が、第jブロックの送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものとする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
したがって、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列に対し、列置換を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
図109は、符号化率(N-M)/NのLDPC(ブロック)符号の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)に対応するパリティ検査行列Hの構成を示している。(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報XまたはパリティPとなる。そして、Yj,kは、(N-M)個の情報とM個のパリティで構成されていることになる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列Hは、以下のようにあらわされる。
このとき、LDPC(ブロック)符号のパリティ検査行列H’は、以下のようにあらわされ、
つまり、第j番目のブロックの送信系列vj Tのとき、パリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、パリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM-2、zM-1、zM、がそれぞれ一つ存在することになる。
なお、「第j番目のブロックの送信系列vj Tのとき、パリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、パリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM-2、zM-1、zM、がそれぞれ一つ存在することになる。」の規則にしたがって、パリティ検査行列を作成すれば、上記の例に限らず、第j番目のブロックの送信系列vjのパリティ検査行列を得ることができる。
したがって、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号を用いていても、必ずしも、図94~図102を用いて説明したパリティ検査行列を用いるとは限らず、図97や図102のパリティ検査行列に対し、上述で説明した列置換を行った行列、または、行置換を行った行列をパリティ検査行列としてもよい。
テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の1ブロックを構成する情報X1をMビット、パリティビットPc(ただし、パリティPcは、上記連接符号におけるパリティを意味している。)をMビット(符号化率1/2であるので)としたとき、第j番目のブロックのMビットの情報X1を、Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,Mとあらわし、第j番目のブロックのMビットのパリティビットPcをPcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,Mとあらわす(したがって、k=1、2、3、・・・、M-1、M)。そして、送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tとあらわす。すると、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列Hcmは図97のようにあらわされ、また、Hcm=[Hcx、Hcp]とあらわす。(このとき、Hcmvj=0が成立する。なお、ここでの「Hcmvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)このとき、Hcxは上述の連接符号のパリティ検査行列Hcmの情報X1に関連する部分行列、Hcpは上述の連接符号のパリティ検査行列HcmのパリティPc(ただし、パリティPcとは、上記連接符号におけるパリティを意味している。)に関連する部分行列となり、図97に示すように、パリティ検査行列Hcmは、M行、2×M列の行列となり、情報X1に関連する部分行列Hcxは、M行、M列の行列となり、パリティPcに関連する部分行列Hcpは、M行、M列の行列となる。なお、情報X1に関連する部分行列Hcxの構成については、図98を用いて上述で説明したとおりである。したがって、以降では、パリティPcに関連する部分行列Hcpの構成について説明する。
図111の、図89のアキュミュレータを適用したときのパリティPcに関連する部分行列Hcpの構成では、パリティPcに関連する部分行列Hcpのi行j列の要素をHcp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M-1、M))とあらわすものとすると、以下が成立する。
図112は、図90のアキュミュレータを適用したときのパリティPcに関連する部分行列Hcpの構成の一例を示している。
図112の、図90のアキュミュレータを適用したときのパリティPcに関連する部分行列Hcpの構成では、パリティPcに関連する部分行列Hcpのi行j列の要素をHcp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M-1、M))とあらわすものとすると、以下が成立する。
なお、図88の符号化部、図88に対し図89のアキュミュレータを適用した符号化部、図88に対し図90のアキュミュレータを適用した符号化部、いずれも、図88の構成に基づいて、パリティを求める必要はなく、これまで説明したパリティ検査行列から、パリティを求めることができる。この場合、第j番目のブロックにおける情報Xを一括して蓄積し、その蓄積した情報Xとパリティ検査行列を用いて、パリティを求めればよいことになる。
次に、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列において、情報X1に関連する部分行列の列重みがすべて等しいときの符号生成方法について説明する。
方法1:
方法2:
次に、特に、r1を3と設定したとき、式(196)においてa#g,p,qの設定例について説明する。
r1を3と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件17-2>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q-2,1,1%q=a#q-1,1,1%q=v1 (v1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q-2,1,2%q=a#q-1,1,2%q=v2 (v2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#q-2,1,3%q=a#q-1,1,3%q=v3 (v3:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件17-2>を別の表現をすると、以下のように表現することができる。
<条件17-2’>
「a#k,1,1%q=v1 for ∀k k=0,1,2,・・・,q-3,q-2,q-1
(v1:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,1%q=v1(v1:固定値)が成立する。)
「a#k,1,2%q=v2 for ∀k k=0,1,2,・・・,q-3,q-2,q-1
(v2:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,2%q=v2(v2:固定値)が成立する。)
「a#k,1,3%q=v3 for ∀k k=0,1,2,・・・,q-3,q-2,q-1
(v3:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,3%q=v3(v3:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件17-3>
「v1≠v2、かつ、v1≠v3、かつ、v2≠v3、かつ、v1≠0、かつ、v2≠0、かつ、v3≠0」
なお、<条件17-3>を満たすためには、時変周期qは4以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数から導かれる。)
以上の条件を満した、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
また、r1を3より大きい場合でも、高い誤り訂正能力が得られることがある。この場合について説明する。
r1を4以上と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件17-4>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q-2,1,1%q=a#q-1,1,1%q=v1 (v1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q-2,1,2%q=a#q-1,1,2%q=v2 (v2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#q-2,1,3%q=a#q-1,1,3%q=v3 (v3:固定値)」
・
・
・
「a#0,1,r1-1%q=a#1,1,r1-1%q=a#2,1,r1-1%q=a#3,1,r1-1%q=・・・=a#g,1,r1-1%q=・・・=a#q-2,1,r1-1%q=a#q-1,1,r1-1%q=vr1-1 (vr1-1:固定値)」
「a#0,1,r1%q=a#1,1,r1%q=a#2,1,r1%q=a#3,1,r1%q=・・・=a#g,1,r1%q=・・・=a#q-2,1,r1%q=a#q-1,1,r1%q=vr1 (vr1:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件17-4>を別の表現をすると、以下のように表現することができる。なお、jは1以上r1以下の整数。
<条件17-4’>
「a#k,1,j%q=vj for ∀k k=0,1,2,・・・,q-3,q-2,q-1
(vj:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,j%q=vj(vj:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件17-5>
「iは1以上r1以下の整数であり、すべてのiにおいて、vi≠0が成立する。」
かつ
「iが1以上r1以下の整数、かつ、jが1以上r1以下の整数、かつ、i≠jであるすべてのi、すべてのjでvi≠vjが成立する。」
なお、<条件17-5>を満たすためには、時変周期qはr1+1以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数から導かれる。)
以上の条件を満した、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
次に、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q-1)のパリティ検査多項式を次式であらわす場合を考える。
特に、r1を4と設定したとき、式(204)においてa#g,p,qの設定例について説明する。
r1を4と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件17-6>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q-2,1,1%q=a#q-1,1,1%q=v1 (v1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q-2,1,2%q=a#q-1,1,2%q=v2 (v2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#q-2,1,3%q=a#q-1,1,3%q=v3 (v3:固定値)」
「a#0,1,4%q=a#1,1,4%q=a#2,1,4%q=a#3,1,4%q=・・・=a#g,1,4%q=・・・=a#q-2,1,4%q=a#q-1,1,4%q=v4 (v4:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件17-6>を別の表現をすると、以下のように表現することができる。
<条件17-6’>
「a#k,1,1%q=v1 for ∀k k=0,1,2,・・・,q-3,q-2,q-1
(v1:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,1%q=v1(v1:固定値)が成立する。)
「a#k,1,2%q=v2 for ∀k k=0,1,2,・・・,q-3,q-2,q-1
(v2:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,2%q=v2(v2:固定値)が成立する。)
「a#k,1,3%q=v3 for ∀k k=0,1,2,・・・,q-3,q-2,q-1
(v3:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,3%q=v3(v3:固定値)が成立する。)
「a#k,1,4%q=v4 for ∀k k=0,1,2,・・・,q-3,q-2,q-1
(v4:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,4%q=v4(v4:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件17-7>
「v1≠v2、かつ、v1≠v3、かつ、v1≠v4、かつ、v2≠v3、かつ、v2≠v4、かつ、v3≠v4」
なお、<条件17-7>を満たすためには、時変周期qは4以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数から導かれる。)
以上の条件を満した、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
また、r1を4より大きい場合でも、高い誤り訂正能力が得られることがある。この場合について説明する。
r1を5以上と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
したがって、r1を5以上の時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件17-8>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q-2,1,1%q=a#q-1,1,1%q=v1 (v1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q-2,1,2%q=a#q-1,1,2%q=v2 (v2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#q-2,1,3%q=a#q-1,1,3%q=v3 (v3:固定値)」
・
・
・
「a#0,1,r1-1%q=a#1,1,r1-1%q=a#2,1,r1-1%q=a#3,1,r1-1%q=・・・=a#g,1,r1-1%q=・・・=a#q-2,1,r1-1%q=a#q-1,1,r1-1%q=vr1-1 (vr1-1:固定値)」
「a#0,1,r1%q=a#1,1,r1%q=a#2,1,r1%q=a#3,1,r1%q=・・・=a#g,1,r1%q=・・・=a#q-2,1,r1%q=a#
q-1,1,r1%q=vr1 (vr1:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件17-8>を別の表現をすると、以下のように表現することができる。なお、jは1以上r1以下の整数。
<条件17-8’>
「a#k,1,j%q=vj for ∀k k=0,1,2,・・・,q-3,q-2,q-1
(vj:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,j%q=vj(vj:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件17-9>
「iが1以上r1以下の整数、かつ、jが1以上r1以下の整数、かつ、i≠jであるすべてのi、すべてのjでvi≠vjが成立する。」
なお、<条件17-9>を満たすためには、時変周期qはr1以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数から導かれる。)
以上の条件を満した、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
次に、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列において、情報X1に関連する部分行列がイレギュラーのときの符号生成方法、つまり、非特許文献36に示されているイレギュラーLDPC符号の生成方法について説明する。
次に、r1を3以上と設定したとき、式(208)において高い誤り訂正能力を得るための条件について説明する。
r1を3以上の時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件17-10>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q-2,1,1%q=a#q-1,1,1%q=v1 (v1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q-2,1,2%q=a#q-1,1,2%q=v2 (v2:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件17-10>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件17-10’>
「a#k,1,j%q=vj for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vj:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,j%q=vj(vj:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件17-11>
「v1≠0、かつ、v2≠0が成立する。」
かつ
「v1≠v2が成立する。」
そして、「情報X1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件17-12>
「a#i,1,v%q=a#j,1,v%q for ∀i∀j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,1,v%q=a#j,1,v%qが成立する。)・・・条件#Xa
vは3以上r1以下の整数であり、すべてのvで「条件#Xa」を満たすことはない。
なお、<条件17-12>を別の表現をすると以下のような条件となる。
<条件17-12’>
「a#i,1,v%q≠a#j,1,v%q for ∃i∃j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、a#i,1,v%q≠a#j,1,v%qが成立するi、jが存在する。)・・・条件#Ya
vは3以上r1以下の整数であり、すべてのvで「条件#Ya」を満たす。
このようにすることで、「情報X1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
とする。また、y,z=1,2,・・・,rp、y≠zの∀(y,z)に対して、a#g,p,y≠a#g,p,zを満たす。
次に、r1を4以上と設定したとき、式(208)において高い誤り訂正能力を得るための条件について説明する。
<条件17-13>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q-2,1,1%q=a#q-1,1,1%q=v1 (v1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q-2,1,2%q=a#q-1,1,2%q=v2 (v2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#q-2,1,3%q=a#q-1,1,
3%q=v3 (v3:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件17-13>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件17-13’>
「a#k,1,j%q=vj for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vj:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,j%q=vj(vj:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件17-14>
「v1≠v2、v1≠v3、v2≠v3が成立する。」
そして、「情報X1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件17-15>
「a#i,1,v%q=a#j,1,v%q for ∀i∀j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,1,v%q=a#j,1,v%qが成立する。)・・・条件#Xb
vは4以上r1以下の整数であり、すべてのvで「条件#Xb」を満たすことはない。
なお、<条件17-15>を別の表現をすると以下のような条件となる。
<条件17-15’>
「a#i,1,v%q≠a#j,1,v%q for ∃i∃j i,j=0,1,2,・
・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、a#i,1,v%q≠a#j,1,v%qが成立するi、jが存在する。)・・・条件#Yb
vは4以上r1以下の整数であり、すべてのvで「条件#Yb」を満たす。
このようにすることで、「情報X1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
なお、本実施の形態で述べた符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号は、本実施の形態で述べたいずれの符号生成方法を用いて生成した符号も、図108を用いて説明したように、本実施の形態で述べたパリティ検査行列の生成方法を用いて生成したパリティ検査行列に基づき、非特許文献4~6に
示されているようなBP復号、sum-product復号、min-sum復号、offset BP復号、Normalized BP復号、Shuffled BP復号、スケジューリングを行ったLayered BP復号などの信頼度
伝播復号を行うことで、復号を行うことができ、これにより、高速な復号を実現することができ、かつ、高い誤り訂正能力を得ることができるという効果を得ることができる。
以上の説明ように、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の生成方法、符号化器、パリティ検査行列の構成、復号方法等を実施することで、高速な復号を実現可能な信頼度伝播アルゴリズムを用いた復号方法を適用し、高い誤り訂正能力を得ることができるという効果を得ることができる。なお、本実施の形態で説明した要件は、一例であって、これ以外の方法でも高い誤り訂正能力を得ることができる誤り訂正符号を生成できることは可能である。
(実施の形態18)
実施の形態17では、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づく、フィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号について説明した。本実施の形態は、実施の形態17に対し、符号化率を(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づく、フィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号について説明する。
そして、
i番目のブロックの1ブロックに含まれる情報X1をXi,1,0、Xi,1,1、Xi,1,2、・・・、Xi,1,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,1,M-2、Xi,1,M-1、
i番目のブロックの1ブロックに含まれる情報X2をXi,2,0、Xi,2,1、Xi,2,2、・・・、Xi,2,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,2,M-2、Xi,2,M-1、
・
・
・
i番目のブロックの1ブロックに含まれる情報XkをXi,k,0、Xi,k,1、Xi,k,2、・・・、Xi,k,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,k,M-2、Xi,k,M-1、(k=1、2、・・・、n-2、n-1)
・
・
・
i番目のブロックの1ブロックに含まれる情報Xn-1をXi,n-1,0、Xi,n-1,1、Xi,n-1,2、・・・、Xi,n-1,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,n-1,M-2、Xi,n-1,M-1、
とする。
情報X2に関連する処理部11300_2は、X2用演算部11302_2を具備し、テイルバイティング方法を用いたときの、X2用演算部11302_2は、i番目のブロックの符号化を行う際、情報をXi,2,0、Xi,2,1、Xi,2,2、・・・、Xi,2,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,2,M-2、Xi,2,M-1(11301_2)を入力とし、情報X2に関連する処理部を施し、演算後のデータAi,2,0、Ai,2,1、Ai,2,2、・・・、Ai,2,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Ai,2,M-2、Ai,2,M-1(11303_2)を出力する。
・
・
・
情報Xn-1に関連する処理部11300_n-1は、Xn-1用演算部11302_n-1を具備し、テイルバイティング方法を用いたときの、Xn-1用演算部11302_n-1は、i番目のブロックの符号化を行う際、情報をXi,n-1,0、Xi,n-1,1、Xi,n-1,2、・・・、Xi,n-1,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,n-1,M-2、Xi,n-1,M-1(11301_n-1)を入力とし、情報Xn-1に関連する処理部を施し、演算後のデータAi,n-1,0、Ai,n-1,1、Ai,n-1,2、・・・、Ai,n-1,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Ai,n-1,M-2、Ai,n-1,M-1(11303_n-1)を出力する。
また、図113の符号化器は、組織符号であるため、
情報X1をXi,1,0、Xi,1,1、Xi,1,2、・・・、Xi,1,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,1,M-2、Xi,1,M-1、
情報X2をXi,2,0、Xi,2,1、Xi,2,2、・・・、Xi,2,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,2,M-2、Xi,2,M-1、
・
・
・
情報XkをXi,k,0、Xi,k,1、Xi,k,2、・・・、Xi,k,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,k,M-2、Xi,k,M-1、
(k=1、2、・・・、n-2、n-1)
・
・
・
情報Xn-1をXi,n-1,0、Xi,n-1,1、Xi,n-1,2、・・・、Xi,n-1,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,n-1,M-2、Xi,n-1,M-1、も出力する。
i番目のブロック、時点jにおいて、演算後のデータ11303_1はAi,1,j、演算後のデータ11303_2はAi,2,j、・・・、演算後のデータ11303_kはAi,k,j、・・・、演算後のデータ11303_n-1はAi,n-1,jとなるので、mod2加算器(modulo 2の加算器、つまり、排他的論理和演算器)11304は、i番目のブロック、時点jのLDPC畳み込み符号化後のパリティ8803(Pi,c,j)を以下のように求める。
アキュミュレータ(Accumulator)8806は、並び替え後のLDPC畳み込み符号化後のパリティ8805を入力とし、アキュミュレート(Accmulate)し、アキュミュレート後のパリティ8807を出力する。
このとき、アキュミュレート後のパリティ8807が、図113の符号化器において、出力となるパリティであり、i番目のブロックにおけるパリティをPi,0、Pi,1、Pi,2、・・・、Pi,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Pi,M-2、Pi,M-1とあらわすと、i番目のブロックの符号語は、Xi,1,0、Xi,1,1、Xi,1,2、・・・、Xi,1,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,1,M-2、Xi,1,M-1、Xi,2,0、Xi,1,1、Xi,2,2、・・・、Xi,2,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,2,M-2、Xi,2,M-1、・・・、Xi,n-2,0、Xi,n-2,1、Xi,n-2,2、・・・、Xi,n-2,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,n-2,M-2、Xi,n-2,M-1、Xi,n-1,0、Xi,n-1,1、Xi,n-1,2、・・・、Xi,n-1,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Xi,n-1,M-2、Xi,n-1,M-1、Pi,0、Pi,1、Pi,2、・・・、Pi,j(j=0、1、2、・・・、M-3、M-2、M-1)、・・・、Pi,M-2、Pi,M-1となる。
情報Xkに関連する処理部において、第2シフトレジスタ11402-2は、第1シフトレジスタ11402-1が出力した値を入力とする。また、第3シフトレジスタ11402-3は、第2シフトレジスタ11402-2が出力した値を入力とする。したがって、第Yシフトレジスタ11402-Yは、第Y-1シフトレジスタ11402―(Y-1)が出力した値を入力とする。ただし、Y=2、3、4、・・・、Lk-2、Lk-1、Lkとなる。
ウェイト制御部11405は、内部に保持するLDPC畳み込み符号のパリティ検査多項式(または、LDPC畳み込み符号のパリティ検査行列)に基づいて、そのタイミングにおけるhk (m)の値を出力し、ウェイト乗算器11403-0~11403-Lkに供給する。
。したがって、例えば、i+1番目のブロックの符号化を行う際、第Sk番目のレジスタの初期値はXi+1,k,M-Skとなる。
図114における情報Xkに関連する処理部を保有することにより、図113のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の符号化器11305は、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号のパリティ検査多項式(または、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号のパリティ検査行列)にしたがったLDPC-CCの符号化を行うことができる。
他的論理和の演算をし)、アキュミュレート後のパリティ8807を出力する。後に詳しく説明するが、このようなアキュミュレータを用いると、パリティ検査行列におけるパリティ部分において、列重み(各列における“1”の数)1の列を一つ、その他残りの列の列重みを2とすることができ、これが、パリティ検査行列に基づいた信頼度伝播アルゴリズムを用いた復号を用いたとき、高い誤り訂正能力が得られることに貢献する。
図113のインタリーバ8804の動作の詳細を8816に示している。インタリーバ、つまり、蓄積及び並び替え部8818は、LDPC畳み込み符号化後のパリティPi,c,0、Pi,c,1、Pi,c,2、・・・、Pi,c,M-3、Pi,c,M-2、Pi,c,M-1を入力とし、入力したデータを蓄積し、その後並び替えを行う。したがって、蓄積及び並び替え部8818は、Pi,c,0、Pi,c,1、Pi,c,2、・・・、Pi,c,M-3、Pi,c,M-2、Pi,c,M-1に対して、出力の順番が変更される、例えば、Pi,c,254、Pi,c,47、・・・、Pi,c,M-1、・・・、Pi,c,0、・・・と出力する。
図89は、図113のアキュミュレータ8806と異なるアキュミュレータの構成を示しており、図113において、アキュミュレータ8806の代わりに図89のアキュミュレータを用いてもよい。
グで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。なお、アキュミュレータ8900は、i番目のブロックの処理を行う際、第1シフトレジスタ8902-1~第Rシフトレジスタ8902-Rいずれのシフトレジスタも初期値としては“0”を設定する。なお、第1シフトレジスタ8902-1~第Rシフトレジスタ8902-Rは、ブロック毎に初期値を設定することになる。したがって、例えば、i+1番目のブロックの符号化を行う際、第1シフトレジスタ8902-1~第Rシフトレジスタ8902-Rいずれのシフトレジスタも初期値として“0”を設定する。
ウェイト制御部8904は、内部に保持するパリティ検査行列におけるアキュミュレータに関連素部部分行列に基づいて、そのタイミングにおけるh1 (m)の値を出力し、ウェイト乗算器8903-1~8903-Rに供給する。
パリティ検査多項式に基づく時変LDPC符号については、本明細書で詳しく説明している。また、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号については、実施の形態15で説明したが、ここで、再度説明するとともに、本実施の形態における連接符号において、高い誤り訂正能力を得るためのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の要件の例について説明する。
X1,X2,・・・,Xn-1の情報ビット、及びパリティビットPの時点jにおけるビットをそれぞれX1,j,X2,j,・・・,Xn-1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn-1,j,Pj)と表す。また、符号化系列をu=(u0,u1,・・・,uj,)Tと表す。Dを遅延演算子とすると、情報ビットX1,X2,・・・,Xn-1の多項式はX1(D),X2(D),・・・,Xn-1(D)と表され、パリティビットPの多項式はP(D)と表される。このとき、符号化率(n-1)/nのパリティ検査多項式に基づくフィードフォワードLDPC-CCにおいて、式(213)で表される0を満たすパリティ検査多項式を考える。
符号化率R=(n-1)/n、時変周期mのLDPC-CCを作成するために、式(213)に基づく0を満たすパリティ検査多項式を用意する。このときi番目(i=0,1,・・・,m-1)の0を満たすパリティ検査多項式を式(214)のように表す。
なお、テイルバイティングを行っている、行っていないに関係なく、時変周期mのパリティ検査多項式に基づくLDPC-CCのパリティ検査行列のY行目が時変周期mのLDPC-CCの0番目の0を満たすパリティ検査多項式に対応する行であるとすると、パリティ検査行列のY+1行目は時変周期mのLDPC-CCの1番目の0を満たすパリティ検査多項式に対応する行、パリティ検査行列のY+2行目は時変周期mのLDPC-CCの2番目の0を満たすパリティ検査多項式に対応する行、・・・、パリティ検査行列のY+j行目は時変周期mのLDPC-CCのj番目の0を満たすパリティ検査多項式に対応する行(j=0、1、2、3、・・・、m-3、m-2、m-1)、・・・、パリティ検査行列のY+m-1行目は時変周期mのLDPC-CCのm-1番目の0を満たすパリティ検査多項式に対応する行となる。
なお、本実施の形態におけるテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号では、高い誤り訂正能力を得るためには、式(213)で表される0を満たすパリティ検査多項式において、r1、r2、・・・、rn-2、rn-1いずれも3以上であるとよく、つまり、kは1以上n-1以下の整数であり、すべてのkにおいてrkが3以上を満たすとよく、また、式(218)で表される0を満たすパリティ検査多項式において、r1、r2、・・・、rn-2、rn-1いずれも4以上であるとよく、つまり、kは1以上n-1以下の整数であり、すべてのkにおいてrkが4以上を満たすとよい。
したがって、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
また、式(219)を参考にすると、本実施の形態の連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q-1)のパリティ検査多項式(式(128)参照)は式(221)のように表わされる。
以上のように、本実施の形態の連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすq個のパリティ検査多項式において、いずれの0を満たすパリティ検査多項式においても、X1(D)の項、X2(D)の項、・・・、Xn-1(D)の項、が4つ以上存在すると、高い誤り訂正能力を得ることができる可能性が高い。
また、例えば、実施の形態6で説明したように、タナ-グラフを描いた際、時変周期を大きくした効果を得るためには、情報X1(D)の項、X2(D)の項、・・・、Xn-1(D)の項、の数が4つ以上となるため、時変周期は奇数であるとよく、他の有効な条件としては、
(1)時変周期qが素数であること。
(3)時変周期qをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期qをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期qをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
となる。ただし、時変周期qが大きければ、実施の形態6で説明した効果を得ることができるので、時変周期qが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではない。
例えば、時変周期qが偶数のとき、以下のような条件を満たしてもよい。
(7)時変周期qを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(8)時変周期qを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(9)時変周期qを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(10)時変周期qを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(11)時変周期qを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(12)時変周期qを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
ただし、時変周期qが上記の(1)から(6)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期qが上記の(7)から(12)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
[テイルバイティング方法]
上述で説明した本実施の形態の連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q-1)のパリティ検査多項式(式(128)参照)は式(223)のように表わされる。
図115と式(135)から、パリティ検査多項式に基づく時変周期q、符号化率(n-1)/nのLDPC-CCにおいて、より高い誤り訂正能力を得るために、復号の際に必要とするパリティ検査行列Hでは、以下の条件が重要となる。
・パリティ検査行列の行数は、qの倍数である。
・したがって、パリティ検査行列の列数はn×qの倍数である。このとき、復号時に必要な(例えば)対数尤度比は、n×qの倍数のビット分の対数尤度比である。
ただし、条件#18-1が必要となる時変周期q、符号化率(n-1)/nのLDPC-CCの0を満たすパリティ検査多項式は、式(223)に限ったものではなく、式(221)に基づく周期qの周期的時変LDPC-CCであってもよい。
<手順18-1>
例えば、式(223)で定義される周期qの周期的時変LDPC-CCでは、P(D)は以下のように表される。
式(223)で定義される周期qの周期的時変LDPC-CCとは異なる式(221)の周期qの周期的時変LDPC-CCを考える。このとき、
式(221)についてもテイルバイティングを説明する。P(D)は以下のように表される。
上述の説明にあたり、はじめに、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号のパリティ検査行列について説明する。
式(223)に対応するサブ行列(ベクトル)をHgとすると、第gサブ行列は、前述で述べたように式(224)で表すことができる。
符号11707は時点q×N-1に相当する列群を示しており、符号11707の列群は、Xj,1,q×N-1、Xj,2,q×N-1、・・・、Xj,n-2,q×N-1、Xj,n-1,q×N-1、Pj,q×N-1の順に並んでいる。符号11708は時点q×Nに相当する列群を示しており、符号11708の列群は、Xj,1,q×N、Xj,2,q×N、・・・、Xj,n-2,q×N、Xj,n-1,q×N、Pj,q×Nの順に並んでいる。符号11709は時点1に相当する列群を示しており、符号11709の列群は、Xj,1,1、Xj,2,1、・・・、Xj,n-2,1、Xj,n-1,1、Pj,1の順に並んでいる。符号11710は時点2に相当する列群を示しており、符号11710の列群は、Xj,1,2、Xj,2,2、・・・、Xj,n-2,2、Xj,n-1,2、Pj,2の順に並んでいる。
る符号化率(n-1)/nの時変周期qのパリティ検査多項式に基づくLDPC-CCにおいて、テイルバイティングを行った際のパリティ検査行列Hの構成について説明したが、以降では、第j番目のブロックの送信系列sjはsj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,q×N、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,q×N、・・・、Xj,n-2,1、Xj,n-2,2、・・・、Xj,n-2,k、・・・、Xj,n-2,q×N、Xj,n-1,1、Xj,n-1,2、・・・、Xj,n-1,k、・・・、Xj,n-1,q×N、Pj,1、Pj,2、・・・、Pj,k、・・・、Pj,q×N)Tとあらわされたとき、Hmsj=0(なお、ここでの「Hmsj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上q×N以下の整数)において、第k行の値は0である。)が成立する符号化率(n-1)/nの時変周期qのパリティ検査多項式に基づくLDPC-CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmの構成について説明する。
図95は、符号化率(n-1)/nの時変周期qのパリティ検査多項式に基づくLDPC-CCにおいて、テイルバイティングを行った際のパリティ検査行列HmにおけるパリティPに関連する部分行列Hpの構成を示している。図95に示すように、パリティPに関連する部分行列Hpのi行i列(iは1以上Mの整数(i=1、2、3、・・・、M-1、M))の要素が「1」であり、その以外の要素は「0」となる。
第1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))の0番目(つまり、g=0)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
第2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))の1番目(つまり、g=1)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
・
・
・
第q+1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))のq番目(つまり、g=q)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
第q+2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))の0番目(つまり、g=0)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
・
・
・
となる。
第1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))の0番目(つまり、g=0)のパリティ検査多項式の情報Xzに関連する部分のベクトルであり、
第2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))の1番目(つまり、g=1)のパリティ検査多項式の情報Xzに関連する部分のベクトルであり、
・
・
・
第q+1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))のq番目(つまり、g=q)のパリティ検査多項式の情報Xzに関連する部分のベクトルであり、
第q+2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))の0番目(つまり、g=0)のパリティ検査多項式の情報Xzに関連する部分のベクトルであり、
・
・
・
となる。したがって、図119の情報Xzに関連する部分行列Hx,zの第s行目は、(s-1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))のk番目のパリティ検査多項式の情報Xzに関連する部分のベクトルとなる。
符号化率(n-1)/nの時変周期qのパリティ検査多項式に基づくLDPC-CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmにおける情報X1に関連する部分行列Hx,1のi行j列の要素をHx,1,comp[i][j](iおよびjは1
以上M以下の整数(i、j=1、2、3、・・・、M-1、M))とあらわすものとする。
・
・
同様に、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(223)を満たすとき、情報Xn-1に関連する部分行列Hx,n-1の第s行目において、(s-1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xn-1に関連する部分行列情報Xn-1の第s行目に相当するパリティ検査多項式は式(239)のようにあらわされる。
したがって、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(223)を満たすとき、情報Xzに関連する部分行列Hx,zの第s行目において、(s-1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xzに関連する部分行列情報Xzの第s行目に相当するパリティ検査多項式は式(239)のようにあらわされる。
0を満たすパリティ検査多項式が式(221)を満たすとき符号化率(n-1)/nの時変周期qのパリティ検査多項式に基づくLDPC-CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmは、上述と同様、図118のようになり、また、このときのパリティ検査行列HmにおけるパリティPに関連する部分行列Hpの構成は、上述と同様、図95のようにあらわされる。
したがって、情報X2に関連する部分行列Hx,2の第s行目において、要素が「1」を満たす場合は、
j]において、式(250-1,250-2)以外の要素は「0」なる。
・
・
・
同様に、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(221)を満たすとき、情報Xn-1に関連する部分行列Hx,n-1の第s行目において、(s-1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xn-1に関連する部分行列情報Xn-1の第s行目に相当するパリティ検査多項式は式(248)のようにあらわされる。
したがって、情報Xn-1に関連する部分行列Hx,n-1の第s行目において、要素が「1」を満たす場合は、
したがって、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(221)を満たすとき、情報Xzに関連する部分行列Hx,zの第s行目において、(s-1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xzに関連する部分行列情報Xzの第s行目に相当するパリティ検査多項式は式(248)のようにあらわされる。
したがって、情報Xzに関連する部分行列Hx,zの第s行目において、要素が「1」を満たす場合は、
次に、本実施の形態のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列について説明する。
第j番目のブロックのMビットの情報X1を、Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,Mとあらわし、
第j番目のブロックのMビットの情報X2を、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,Mとあらわし、
・
・
・
第j番目のブロックのMビットの情報Xn-2を、Xj,n-2,1、Xj,n-2,2、・・・、Xj,n-2,k、・・・、Xj,n-2,Mとあらわし、
第j番目のブロックのMビットの情報Xn-1を、Xj,n-1,1、Xj,n-1,2、・・・、Xj,n-1,k、・・・、Xj,n-1,Mとあらわし、
第j番目のブロックのMビットのパリティビットPcをPcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,Mとあらわす(したがって、k=1、2、3、・・・、M-1、M)。そして、送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,M、・・・、Xj,n-2,1、Xj,n-2,2、・・・、Xj,n-2,k、・・・、Xj,n-2,M、Xj,n-1,1、Xj,n-1,2、・・・、Xj,n-1,k、・・・、Xj,n-1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tとあらわす。すると、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列Hcmは図120のようにあらわされ、また、Hcm=[Hcx,1、Hcx,2、・・・、Hcx,n-2、Hcx,n-1、Hcp]とあらわす。(このとき、Hcmvj=0が成立する。なお、ここでの「Hcmvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)(ただし、上述で説明したように、上述の連接符号のために用いるパリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の時変周期がqのとき、1ブロックを構成する情報X1をM=q×Nビット、情報X2をM=q×Nビット、・・・、情報Xn-2をM=q×Nビット、情報Xn-1をM=q×Nビット、パリティビットをM=q×Nビットとすると(Nは自然数)、高い誤り訂正能力を得ることができる可能性があるが、必ずしもこれに限ったものではない。)このとき、Hcx,1は上述の連接符号のパリティ検査行列Hcmの情報X1に関連する部分行列、Hcx,2は上述の連接符号のパリティ検査行列Hcmの情報X2に関連する部分行列、・・・、Hcx,n-2は上述の連接符号のパリティ検査行列Hcmの情報Xn-2に関連する部分行列、Hcx,n-1は上述の連接符号のパリティ検査行列Hcmの情報Xn-1に関連する部分行列、(つまり、Hcx,kは上述の連接符号のパリティ検査行列Hcmの情報Xkに関連する部分行列(kは1以上n-1以下の整数))Hcpは上述の連接符号のパリティ検査行列HcmのパリティPc(ただし、パリティPcとは、上記連接符号におけるパリティを意味している。)に関連する部分行列となり、図120に示すように、パリティ検査行列Hcmは、M行、n×M列の行列となり、情報X1に関連する部分行列Hcx,1は、M行、M列の行列、情報X2に関連する部分行列Hcx,2は、M行、M列の行列、・・・、情報Xn-2に関連する部分行列Hcx,n-2は、M行、M列の行列、情報Xn-1に関連する部分行列Hcx,n-1は、M行、M列の行列、パリティPcに関連する部分行列Hcpは、M行、M列の行列となる。
(図121の12101)は、図118における11801-1から11801-(n-1)で形成される行列であり、したがって、M行、(n-1)×Mの行列となる。そして、部分行列Hcx=[Hcx,1 Hcx,2 ・・・Hcx,n-2 Hcx,n-1] (図121の12102)は、図120における12001-1から12001-(n-1)で形成される行列であり、したがって、M行、(n-1)×Mの行列となる。
符号化率(n-1)/nの時変周期qのパリティ検査多項式に基づくLDPC-CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmにおける情報X1、X2、・・・、Xn-2、Xn-1に関連する部分行列Hx(図121の12101)において、
第1行目のみを抽出してできるベクトルをhx,1
第2行目のみを抽出してできるベクトルをhx,2
第3行目のみを抽出してできるベクトルをhx,3
・
・
・
第k行目のみを抽出してできるベクトルをhx,k(k=1、2、3、・・・、M-1、M)
・
・
・
第M-1行目のみを抽出してできるベクトルをhx,M-1
第M行目のみを抽出してできるベクトルをhx,M
とすると、符号化率(n-1)/nの時変周期qのパリティ検査多項式に基づくLDPC-CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmにおける情報X1、X2、・・・、Xn-2、Xn-1に関連する部分行列Hx(図121の12101)は次式のようにあらわされる。
第1行目のみを抽出してできるベクトルをhcx,1
第2行目のみを抽出してできるベクトルをhcx,2
第3行目のみを抽出してできるベクトルをhcx,3
・
・
・
第k行目のみを抽出してできるベクトルをhcx,k(k=1、2、3、・・・、M-1、M)
・
・
・
第M-1行目のみを抽出してできるベクトルをhcx,M-1
第M行目のみを抽出してできるベクトルをhcx,M
とすると、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列Hcmの情報X1、X2、・・・、Xn-2、Xn-1に関連する部分行列Hcx(図121の12102)は次式のようにあらわされる。
「hx,1、hx,2、hx,3、・・・、hx,M-2、hx,M-1、hx,Mは、「第k行目のみを抽出してできるベクトルをhcx,k(k=1、2、3、・・・、M-1、M)」において、それぞれ1回ずつ出現する。」
つまり、
「hcx,k=hx,1を満たすkが1個存在する。
hcx,k=hx,2を満たすkが1個存在する。
hcx,k=hx,3を満たすkが1個存在する。
・
・
・
hcx,k=hx,jを満たすkが1個存在する。
・
・
・
hcx,k=hx,M-2を満たすkが1個存在する。
hcx,k=hx,M-1を満たすkが1個存在する。
hcx,k=hx,Mを満たすkが1個存在する。」
ことになる。
パリティPcに関連する部分行列Hcpのi行j列の要素をHcp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M-1、M))とあらわすものとする。すると、以下が成立する。
図99、図120、図121では、送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,M、・・・、Xj,n-2,1、Xj,n-2,2、・・・、Xj,n-2,k、・・・、Xj,n-2,M、Xj,n-1,1、Xj,n-1,2、・・・、Xj,n-1,k、・・・、Xj,n-1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tに対応する、パリティ検査行列、パリティ検査行列における情報に関連する部分行列、パリティ検査行列におけるパリティに関連する部分行列について説明した。以下では、図122に示したように、送信系列をv’j=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,M、・・・、Xj,n-2,1、Xj,n-2,2、・・・、Xj,n-2,k、・・・、Xj,n-2,M、Xj,n-1,1、Xj,n-1,2、・・・、Xj,n-1,k、・・・、Xj,n-1,M、Pcj,M、Pcj,M-1、Pcj,M-2、・・・、Pcj,3、Pcj,2、Pcj,1)Tとしたとき(一例として、ここではパリティ系列のみ順番の入れ替えを行っている。)の符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列、パリティ検査行列における情報に関連する部分行列、パリティ検査行列におけるパリティに関連する部分行列について説明する。
図122は、図99、図120、図121の際の送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,M、・・・、Xj,n-2,1、Xj,n-2,2、・・・、Xj,n-2,k、・・・、Xj,n-2,M、Xj,n-1,1、Xj,n-1,2、・・・、Xj,n-1,k、・・・、Xj,n-1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tを、送信系列v’j=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,M、・・・、Xj,n-2,1、Xj,n-2,2、・・・、Xj,n-2,k、・・・、Xj,n-2,M、Xj,n-1,1、Xj,n-1,2、・・・、Xj,n-1,k、・・・、Xj,n-1,M、Pcj,M、Pcj,M-1、Pcj,M-2、・・・、Pcj,3、Pcj,2、Pcj,1)Tと並び替えを行ったときの、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列におけるパリティPc(ただし、パリティPcとは、上記連接符号におけるパリティを意味している。)に関連する部分行列H’cpの構成を示している。なお、パリティPcに関連する部分行列H’cpは、M行、M列の行列となる。
パリティPcに関連する部分行列H’cpのi行j列の要素をH’cp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M-1、M))とあらわすものとする。すると、以下が成立する。
「第1行目はhcx,M、
第2行目はhcx,M-1、
・
・
・
第M-1行目はhcx,2、
第M行目はhcx,1」
とあらわされる。つまり、情報X1、X2、・・・、Xn-2、Xn-1に関連する部分行列H’cx(12302)の第k行目(k=1、2、3、・・・、M-2、M-1、M)のみを抽出してできるベクトルはhcx,M―k+1とあらわされる。なお、情報X1、X2、・・・、Xn-2、Xn-1に関連する部分行列H’cx(12302)は、M行、(n-1)×M列の行列となる。
上述は、送信系列の順番を変更したときのパリティ検査行列の構成の一例を説明したが、以降では、送信系列の順番を変更したときのパリティ検査行列の構成について、一般化して説明する。
次に、送信系列の順番を入れ替えたときの符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列の構成について説明する。
の構成を示す。このとき、第j番目のブロックの送信系列v’jの第1行目の要素(図126において、送信系列v’jの転置行列v’j Tの場合、第1列目の要素)は、Yj,32である。したがって、パリティ検査行列H’cmの第1列目を抽出したベクトルは、上述で説明したベクトルck(k=1、2、3、・・・、n×M-2、n×M-1、n×M)を用いると、c32となる。同様に、第j番目のブロックの送信系列v’jの第2行目の要素(図126において、送信系列v’jの転置行列v’j Tの場合、第2列目の要素)は、Yj,99である。したがって、パリティ検査行列H’cmの第2列目を抽出したベクトルは、c99となる。また、図126から、パリティ検査行列H’cmの第3列
目を抽出したベクトルは、c23となり、パリティ検査行列H’cmの第n×M-2列目を抽出したベクトルは、c234となり、パリティ検査行列H’cmの第n×M-1列目を抽出したベクトルは、c3となり、パリティ検査行列H’cmの第n×M列目を抽出したベクトルは、c43となる。
以下のようにあらわされる。
よって、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’は、以下のようにあらわされる。
したがって、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列に対し、列置換を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列となる。
とする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる。
例えば、蓄積および並び替え部(デインタリーブ部)10802は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を入力とし、並び替えを行い、Yj,1の対数尤度比、Yj,2の対数尤度比、Yj,3の対数尤度比、・・・、Yj,N-2の対数尤度比、Yj,N-1の対数尤度比、Yj,Nの対数尤度比の順に出力するものとする。
復号、min-sum復号、offset BP復号、Normalized BP復号、Shuffled BP復号、スケジューリングを行ったLayered BP復号などの信頼度伝播復号を行い、推定系列10805を得る。
例えば、送信装置が、第jブロックの送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものと
する。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
したがって、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列に対し、列置換を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
上述では、送信系列のインタリーブとパリティ検査行列の関係について説明したが、以降では、パリティ検査行列における行置換について説明する。
このとき、LDPC(ブロック)符号のパリティ検査行列H’は、以下のようにあらわされ、
つまり、第j番目のブロックの送信系列vj Tのとき、パリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、パリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM-2、zM-1、zM、がそれぞれ一つ存在することになる。
なお、「第j番目のブロックの送信系列vj Tのとき、パリティ検査行列H’の第i行目位を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、パリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM-2、zM-1、zM、がそれぞれ一つ存在することになる。」の規則にしたがって、パリティ検査行列を作成すれば、上記の例に限らず、第j番目のブロックの送信系列vjのパリティ検査行列を得ることができる。したがって、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号を用いていても、必ずしも、図118~図124を用いて説明したパリティ検査行列を用いるとは限らず、図120や図124のパリティ検査行列に対し、上述で説明した列置換を行った行列、または、行置換を行った行列をパリティ検査行列としてもよい。
テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の1ブロックを構成する情報X1をMビット、情報X2をMビット、・・・、情報Xn-2をMビット、情報Xn-1をMビット(したがって、情報XkをMビット(kは1以上n-1以下の整数))、パリティビット(Pcただし、パリティPcは、上記連接符号におけるパリティを意味している。)をMビット(符号化率(n-1)/nであるので)としたとき、
第j番目のブロックのMビットの情報X1を、Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,Mとあらわし、
第j番目のブロックのMビットの情報X2を、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,Mとあらわし、
・
・
・
第j番目のブロックのMビットの情報Xn-2を、Xj,n-2,1、Xj,n-2,2、・・・、Xj,n-2,k、・・・、Xj,n-2,Mとあらわし、
第j番目のブロックのMビットの情報Xn-1を、Xj,n-1,1、Xj,n-1,2、・・・、Xj,n-1,k、・・・、Xj,n-1,Mとあらわし、
第j番目のブロックのMビットのパリティビットPcをPcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,Mとあらわす(したがって、k=1、2、3、・・・、M-1、M)。そして、送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,M、・・・、Xj,n-2,1、Xj,n-2,2、・・・、Xj,n-2,k、・・・、Xj,n-2,M、Xj,n-1,1、Xj,n-1,2、・・・、Xj,n-1,k、・・・、Xj,n-1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tとあらわす。すると、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列Hcmは図120のようにあらわされ、また、Hcm=[Hcx,1、Hcx,2、・・・、Hcx,n-2、Hcx,n-1、Hcp]とあらわす。(このとき、Hcmvj=0が成立する。なお、ここでの「Hcmvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)このとき、Hcx,1は上述の連接符号のパリティ検査行列Hcmの情報X1に関連する部分行列、Hcx,2は上述の連接符号のパリティ検査行列Hcmの情報X2に関連する部分行列、・・・、Hcx,n-2は上述の連接符号のパリティ検査行列Hcmの情報Xn-2に関連する部分行列、Hcx,n-1は上述の連接符号のパリティ検査行列Hcmの情報Xn-1に関連する部分行列、(つまり、Hcx,kは上述の連接符号のパリティ検査行列Hcmの情報Xkに関連する部分行列(kは1以上n-1以下の整数))Hcpは上述の連接符号のパリティ検査行列HcmのパリティPc(ただし、パリティPcとは、上記連接符号におけるパリティを意味している。)に関連する部分行列となり、図120に示すように、パリティ検査行列Hcmは、M行、n×M列の行列となり、情報X1に関連する部分行列Hcx,1は、M行、M列の行列、情報X2に関連する部分行列Hcx,2は、M行、M列の行列、・・・、情報Xn-2に関連する部分行列Hcx,n-2は、M行、M列の行列、情報Xn-1に関連する部分行列Hcx,n-1は、M行、M列の行列、パリティPcに関連する部分行列Hcpは、M行、M列の行列となる。なお、情報X1、X2、・・・Xn-1に関連する部分行列Hcxの構成については、図121を用いて上述で説明したとおりである。したがって、以降では、パリティPcに関連する部分行列Hcpの構成について説明する。
図112は、図90のアキュミュレータを適用したときのパリティPcに関連する部分行列Hcpの構成の一例を示している。図112の、図90のアキュミュレータを適用したときのパリティPcに関連する部分行列Hcpの構成では、パリティPcに関連する部分行列Hcpのi行j列の要素をHcp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M-1、M))とあらわすものとすると、以下が成立する。
なお、図113の符号化部、図113に対し図89のアキュミュレータを適用した符号化部、図113に対し図90のアキュミュレータを適用した符号化部、いずれも、図113の構成に基づいて、パリティを求める必要はなく、これまで説明したパリティ検査行列から、パリティを求めることができる。この場合、第j番目のブロックにおける情報X1から情報Xn-1を一括して蓄積し、その蓄積した情報X1から情報Xn-1とパリティ検査行列を用いて、パリティを求めればよいことになる。
次に、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列において、情報X1から情報Xn-1に関連する部分行列の列重みがすべて等しいときの符号生成方法について説明する。
上述でも説明したように、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q-1)のパリティ検査多項式(式(128)参照)は式(273)のように表わされる。
いずれも3以上に設定すると、高い誤り訂正能力を得ることができる。
なお、式(273)の0を満たすパリティ検査多項式の多項式の部分に対し、以下の関数を定義する。
方法1:
方法2:
次に、特に、r1、r2、・・・、rn-2、rn-1いずれも3と設定したとき、式(273)においてa#g,p,qの設定例について説明する。
r1、r2、・・・、rn-2、rn-1いずれも3と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件18-2>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#(q-2),1,1%q=a#(q-1),1,1%q=v1,1 (v1,1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#(q-2),1,2%q=a#(q-1),1,2%q=v1,2 (v1,2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%
q=・・・=a#g,1,3%q=・・・=a#(q-2),1,3%q=a#(q-1),1,3%q=v1,3 (v1,3:固定値)」
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#(q-2),2,1%q=a#(q-1),2,1%q=v2,1 (v2,1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#(q-2),2,2%q=a#(q-1),2,2%q=v2,2 (v2,2:固定値)」
「a#0,2,3%q=a#1,2,3%q=a#2,2,3%q=a#3,2,3%q=・・・=a#g,2,3%q=・・・=a#(q-2),2,3%q=a#(q-1),2,3%q=v2,3 (v2,3:固定値)」
・
・
・
「a#0,i,1%q=a#1,i,1%q=a#2,i,1%q=a#3,i,1%q=・・・=a#g,i,1%q=・・・=a#(q-2),i,1%q=a#(q-1),i,1%q=vi,1 (vi,1:固定値)」
「a#0,i,2%q=a#1,i,2%q=a#2,i,2%q=a#3,i,2%q=・・・=a#g,i,2%q=・・・=a#(q-2),i,2%q=a#(q-1),i,2%q=vi,2 (vi,2:固定値)」
「a#0,i,3%q=a#1,i,3%q=a#2,i,3%q=a#3,i,3%q=・・・=a#g,i,3%q=・・・=a#(q-2),i,3%q=a#(q-1),i,3%q=vi,3 (vi,3:固定値)」
(iは、1以上n-1以下の整数)
・
・
・
「a#0,n-1,1%q=a#1,n-1,1%q=a#2,n-1,1%q=a#3,n-1,1%q=・・・=a#g,n-1,1%q=・・・=a#(q-2),n-1,1%q=a#(q-1),n-1,1%q=vn-1,1 (vn-1,1:固定値)」
「a#0,n-1,2%q=a#1,n-1,2%q=a#2,n-1,2%q=a#3,n-1,2%q=・・・=a#g,n-1,2%q=・・・=a#(q-2),n-1,2%q=a#(q-1),n-1,2%q=vn-1,2 (vn-1,2:固定値)」
「a#0,n-1,3%q=a#1,n-1,3%q=a#2,n-1,3%q=a#3,n-1,3%q=・・・=a#g,n-1,3%q=・・・=a#(q-2),n-1,3%q=a#(q-1),n-1,3%q=vn-1,3 (vn-1,3:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件18-2>を別の表現をすると、以下のように表現することができる。
<条件18-2’>
「a#k,1,1%q=v1,1 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v1,1:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,1%q=v1,1(v1,1:固定値)が成立する。)
「a#k,1,2%q=v1,2 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v1,2:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,2%q=v1,2(v1,2:固定値)が成立する。)
「a#k,1,3%q=v1,3 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v1,3:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,3%q=v1,3(v1,3:固定値)が成立する。)
「a#k,2,1%q=v2,1 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v2,1:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,2,1%q=v2,1(v2,1:固定値)が成立する。)
「a#k,2,2%q=v2,2 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v2,2:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,2,2%q=v2,2(v2,2:固定値)が成立する。)
「a#k,2,3%q=v2,3 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v2,3:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,2,3%q=v2,3(v2,3:固定値)が成立する。)
・
・
・
「a#k,i,1%q=vi,1 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vi,1:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,i,1%q=vi,1(vi,1:固定値)が成立する。)
「a#k,i,2%q=vi,2 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vi,2:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,i,2%q=vi,2(vi,2:固定値)が成立する。)
「a#k,i,3%q=vi,3 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vi,3:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,i,3%q=vi,3(vi,3:固定値)が成立する。)
(iは、1以上n-1以下の整数)
・
・
・
「a#k,n-1,1%q=vn-1,1 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vn-1,1:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,n-1,1%q=vn-1,1(vn-1,1:固定値)が成立する。)
「a#k,n-1,2%q=vn-1,2 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vn-1,2:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,n-1,2%q=vn-1,2(vn-1,2:固定値)が成立する。)
「a#k,n-1,3%q=vn-1,3 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vn-1,3:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,n-1,3%q=vn-1,3(vn-1,3:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件18-3>
「v1,1≠v1,2、かつ、v1,1≠v1,3、かつ、v1,2≠v1,3、かつ、v1,1≠0、かつ、v1,2≠0、かつ、v1,3≠0」
「v2,1≠v2,2、かつ、v2,1≠v2,3、かつ、v2,2≠v2,3、かつ、v2,1≠0、かつ、v2,2≠0、かつ、v2,3≠0」
・
・
・
「vi,1≠vi,2、かつ、vi,1≠vi,3、かつ、vi,2≠vi,3、かつ、vi,1≠0、かつ、vi,2≠0、かつ、vi,3≠0」
(iは、1以上n-1以下の整数)
・
・
・
「vn-1,1≠vn-1,2、かつ、vn-1,1≠vn-1,3、かつ、vn-1,2≠vn-1,3、かつ、vn-1,1≠0、かつ、vn-1,2≠0、かつ、vn-1,3≠0」
なお、<条件18-3>を満たすためには、時変周期qは4以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数、X2(D)の項数、・・・、Xn-1(D)の項数から導かれる。)
以上の条件を満した、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
また、r1からrpを3より大きい場合でも、高い誤り訂正能力が得られることがある。この場合について説明する。
r1からrpを4以上と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件18-4>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#(q-2),1,1%q=a#(q-1),1,1%q=v1,1 (v1,1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#(q-2),1,2%q=a#(q-1),1,2%q=v1,2 (v1,2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#(q-2),1,3%q=a#(q-1),1,3%q=v1,3 (v1,3:固定値)」
・
・
・
「a#0,1,r-1%q=a#1,1,r-1%q=a#2,1,r-1%q=a#3,1,r-1%q=・・・=a#g,1,r-1%q=・・・=a#(q-2),1,r-1%q=a#(q-1),1,r-1%q=v1,r-1 (v1,r-1:固定値)」
「a#0,1,r%q=a#1,1,r%q=a#2,1,r%q=a#3,1,r%q=・・・=a#g,1,r%q=・・・=a#(q-2),1,r%q=a#(q-1),1,r%q=v1,r (v1,r:固定値)」
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#(q-2),2,1%q=a#(q-1),2,1%q=v2,1 (v2,1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#(q-2),2,2%q=a#(q-1),2,2%q=v2,2 (v2,2:固定値)」
「a#0,2,3%q=a#1,2,3%q=a#2,2,3%q=a#3,2,3%q=・・・=a#g,2,3%q=・・・=a#(q-2),2,3%q=a#(q-1),2,3%q=v2,3 (v2,3:固定値)」
・
・
・
「a#0,2,r-1%q=a#1,2,r-1%q=a#2,2,r-1%q=a#3,2,r-1%q=・・・=a#g,2,r-1%q=・・・=a#(q-2),2,r-1%q=a#(q-1),2,r-1%q=v2,r-1 (v2,r-1:固定値)」
「a#0,2,r%q=a#1,2,r%q=a#2,2,r%q=a#3,2,r%q=・・・=a#g,2,r%q=・・・=a#(q-2),2,r%q=a#(q-1),2,r%q=v2,r (v2,r:固定値)」
・
・
・
「a#0,i,1%q=a#1,i,1%q=a#2,i,1%q=a#3,i,1%q=・・・=a#g,i,1%q=・・・=a#(q-2),i,1%q=a#(q-1),i,1%q=vi,1 (vi,1:固定値)」
「a#0,i,2%q=a#1,i,2%q=a#2,i,2%q=a#3,i,2%q=・・・=a#g,i,2%q=・・・=a#(q-2),i,2%q=a#(q-1),i,2%q=vi,2 (vi,2:固定値)」
「a#0,i,3%q=a#1,i,3%q=a#2,i,3%q=a#3,i,3%q=・・・=a#g,i,3%q=・・・=a#(q-2),i,3%q=a#(q-1),i,3%q=vi,3 (vi,3:固定値)」
・
・
・
「a#0,i,r-1%q=a#1,i,r-1%q=a#2,i,r-1%q=a#3,i,r-1%q=・・・=a#g,i,r-1%q=・・・=a#(q-2),i,r-1%q=a#(q-1),i,r-1%q=vi,r-1 (vi,r-1:固定値)」
「a#0,i,r%q=a#1,i,r%q=a#2,i,r%q=a#3,i,r%q=・・・=a#g,i,r%q=・・・=a#(q-2),i,r%q=a#(q-1),i,r%q=vi,r (vi,r:固定値)」
(iは、1以上n-1以下の整数)
・
・
・
「a#0,n-1,1%q=a#1,n-1,1%q=a#2,n-1,1%q=a#3,n-1,1%q=・・・=a#g,n-1,1%q=・・・=a#(q-2),n-1,1%q=a#(q-1),n-1,1%q=vn-1,1 (vn-1,1:固定値)」
「a#0,n-1,2%q=a#1,n-1,2%q=a#2,n-1,2%q=a#3,n-1,2%q=・・・=a#g,n-1,2%q=・・・=a#(q-2),n-1,2%q=a#(q-1),n-1,2%q=vn-1,2 (vn-1,2:固定値)」
「a#0,n-1,3%q=a#1,n-1,3%q=a#2,n-1,3%q=a#3,n-1,3%q=・・・=a#g,n-1,3%q=・・・=a#(q-2),n-1,3%q=a#(q-1),n-1,3%q=vn-1,3 (vn-1,3:固定値)」
・
・
・
「a#0,n-1,r-1%q=a#1,n-1,r-1%q=a#2,n-1,r-1%q=a#3,n-1,r-1%q=・・・=a#g,n-1,r-1%q=・・・=a#(q-2),n-1,r-1%q=a#(q-1),n-1,r-1%q=vn-1,r-1 (vn-1,r-1:固定値)」
「a#0,n-1,r%q=a#1,n-1,r%q=a#2,n-1,r%q=a#3,n-1,r%q=・・・=a#g,n-1,r%q=・・・=a#(q-2),n-1,r%q=a#(q-1),n-1,r%q=vn-1,r (vn-1,r:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件18-4>を別の表現をすると、以下のように表現することができる。なお、jは1以上r以下の整数。
<条件18-4’>
「a#k,1,j%q=v1,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v1,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,j%q=v1,j(v1,j:固定値)が成立する。)
「a#k,2,j%q=v2,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v2,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,2,j%q=v2,j(v2,j:固定値)が成立する。)
・
・
・
「a#k,i,j%q=vi,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vi,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,i,j%q=vi,j(vi,j:固定値)が成立する。)
(iは、1以上n-1以下の整数)
・
・
・
「a#k,n-1,j%q=vn-1,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vn-1,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,n-1,j%q=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件18-5>
「iは1以上r以下の整数であり、すべてのiにおいて、vs,i≠0が成立する。」
かつ
「iが1以上r以下の整数、かつ、jが1以上r以下の整数、かつ、i≠jであるすべてのi、すべてのjでvs,i≠vs,jが成立する。」
なお、sは1以上n-1以下の整数である。<条件18-5>を満たすためには、時変周期qはr+1以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数~Xn-1(D)の項数から導かれる。)
以上の条件を満した、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
次に、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q-1)のパリティ検査多項式を次式であらわす場合を考える。
特に、r1からrn-1を4と設定したとき、式(281)においてa#g,p,qの設定例について説明する。
r1からrn-1を4と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件18-6>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#(q-2),1,1%q=a#(q-1),1,1%q=v1,1 (v1,1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#(q-2),1,2%q=a#(q-1),1,2%q=v1,2 (v1,2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#(q-2),1,3%q=a#(q-1
),1,3%q=v1,3 (v1,3:固定値)」
「a#0,1,4%q=a#1,1,4%q=a#2,1,4%q=a#3,1,4%q=・・・=a#g,1,4%q=・・・=a#(q-2),1,4%q=a#(q-1),1,4%q=v1,4 (v1,4:固定値)」
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#(q-2),2,1%q=a#(q-1),2,1%q=v2,1 (v2,1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#(q-2),2,2%q=a#(q-1),2,2%q=v2,2 (v2,2:固定値)」
「a#0,2,3%q=a#1,2,3%q=a#2,2,3%q=a#3,2,3%q=・・・=a#g,2,3%q=・・・=a#(q-2),2,3%q=a#(q-1),2,3%q=v2,3 (v2,3:固定値)」
「a#0,2,4%q=a#1,2,4%q=a#2,2,4%q=a#3,2,4%q=・・・=a#g,2,4%q=・・・=a#(q-2),2,4%q=a#(q-1),2,4%q=v2,4 (v2,4:固定値)」
・
・
・
「a#0,i,1%q=a#1,i,1%q=a#2,i,1%q=a#3,i,1%q=・・・=a#g,i,1%q=・・・=a#(q-2),i,1%q=a#(q-1),i,1%q=vi,1 (vi,1:固定値)」
「a#0,i,2%q=a#1,i,2%q=a#2,i,2%q=a#3,i,2%q=・・・=a#g,i,2%q=・・・=a#(q-2),i,2%q=a#(q-1),i,2%q=vi,2 (vi,2:固定値)」
「a#0,i,3%q=a#1,i,3%q=a#2,i,3%q=a#3,i,3%q=・・・=a#g,i,3%q=・・・=a#(q-2),i,3%q=a#(q-1),i,3%q=vi,3 (vi,3:固定値)」
「a#0,i,4%q=a#1,i,4%q=a#2,i,4%q=a#3,i,4%q=・・・=a#g,i,4%q=・・・=a#(q-2),i,4%q=a#(q-1),i,4%q=vi,4 (vi,4:固定値)」
(iは、1以上n-1以下の整数)
・
・
・
「a#0,n-1,1%q=a#1,n-1,1%q=a#2,n-1,1%q=a#3,n-1,1%q=・・・=a#g,n-1,1%q=・・・=a#(q-2),n-1,1%q=a#(q-1),n-1,1%q=vn-1,1 (vn-1,1:固定値)」
「a#0,n-1,2%q=a#1,n-1,2%q=a#2,n-1,2%q=a#3,n-1,2%q=・・・=a#g,n-1,2%q=・・・=a#(q-2),n-1,2%q=a#(q-1),n-1,2%q=vn-1,2 (vn-1,2:固定値)」
「a#0,n-1,3%q=a#1,n-1,3%q=a#2,n-1,3%q=a#3,n-1,3%q=・・・=a#g,n-1,3%q=・・・=a#(q-2),n-
1,3%q=a#(q-1),n-1,3%q=vn-1,3 (vn-1,3:固定値)」
「a#0,n-1,4%q=a#1,n-1,4%q=a#2,n-1,4%q=a#3,n-1,4%q=・・・=a#g,n-1,4%q=・・・=a#(q-2),n-1,4%q=a#(q-1),n-1,4%q=vn-1,4 (vn-1,4:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件18-6>を別の表現をすると、以下のように表現することができる。
<条件18-6’>
「a#k,1,1%q=v1,1 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v1,1:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,1%q=v1,1(v1,1:固定値)が成立する。)
「a#k,1,2%q=v1,2 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v1,2:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,2%q=v1,2(v1,2:固定値)が成立する。)
「a#k,1,3%q=v1,3 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v1,3:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,3%q=v1,3(v1,3:固定値)が成立する。)
「a#k,1,4%q=v1,4 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v1,4:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,4%q=v1,4(v1,4:固定値)が成立する。)
「a#k,2,1%q=v2,1 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v2,1:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,2,1%q=v2,1(v2,1:固定値)が成立する。)
「a#k,2,2%q=v2,2 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v2,2:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,2,2%q=v2,2(v2,2:固定値)が成立する。)
「a#k,2,3%q=v2,3 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v2,3:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,2,3%q=v2,3(v2,3:固定値)が成立する。)
「a#k,2,4%q=v2,4 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v2,4:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,2,4%q=v2,4(v2,4:固定値)が成立する。)
・
・
・
「a#k,i,1%q=vi,1 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vi,1:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,i,1%q=vi,1(vi,1:固定値)が成立する。)
「a#k,i,2%q=vi,2 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vi,2:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,i,2%q=vi,2(vi,2:固定値)が成立する。)
「a#k,i,3%q=vi,3 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vi,3:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,i,3%q=vi,3(vi,3:固定値)が成立する。)
「a#k,i,4%q=vi,4 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vi,4:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,i,4%q=vi,4(vi,4:固定値)が成立する。)
(iは、1以上n-1以下の整数)
・
・
・
「a#k,n-1,1%q=vn-1,1 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vn-1,1:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,n-1,1%q=vn-1,1(vn-1,1:固定値)が成立する。)
「a#k,n-1,2%q=vn-1,2 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vn-1,2:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,n-1,2%q=vn-1,2(vn-1,2:固定値)が成立する。)
「a#k,n-1,3%q=vn-1,3 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vn-1,3:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,n-1,3%q=vn-1,3(vn-1,3:固定値)が成立する。)
「a#k,n-1,4%q=vn-1,4 for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vn-1,4:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,n-1,4%q=vn-1,4(vn-1,4:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件18-7>
「v1,1≠v1,2、かつ、v1,1≠v1,3、かつ、v1,1≠v1,4、かつ、v1,2≠v1,3、かつ、v1,2≠v1,4、かつ、v1,3≠v1,4」
「v2,1≠v2,2、かつ、v2,1≠v2,3、かつ、v2,1≠v2,4、かつ、v2,2≠v2,3、かつ、v2,2≠v2,4、かつ、v2,3≠v2,4」
・
・
・
「vi,1≠vi,2、かつ、vi,1≠vi,3、かつ、vi,1≠vi,4、かつ、vi,2≠vi,3、かつ、vi,2≠vi,4、かつ、vi,3≠vi,4」
(iは、1以上n-1以下の整数)
・
・
・
「vn-1,1≠vn-1,2、かつ、vn-1,1≠vn-1,3、かつ、vn-1,1≠vn-1,4、かつ、vn-1,2≠vn-1,3、かつ、vn-1,2≠vn-1,4、かつ、vn-1,3≠vn-1,4」
なお、<条件18-7>を満たすためには、時変周期qは4以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数~Xn-1(D)の項数から導かれる。)
以上の条件を満した、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
また、r1からrn-1を4より大きい場合でも、高い誤り訂正能力が得られることがある。この場合について説明する。
r1からrn-1を5以上とし、かつ、情報X1から情報Xn-1に関連する部分行列の列重みがすべて等しい、ことから、r1=r2=・・・=rn-2=rn-1=rとすることができるので、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件18-8>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#(q-2),1,1%q=a#(q-1),1,1%q=v1,1 (v1,1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%
q=・・・=a#g,1,2%q=・・・=a#(q-2),1,2%q=a#(q-1),1,2%q=v1,2 (v1,2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#(q-2),1,3%q=a#(q-1),1,3%q=v1,3 (v1,3:固定値)」
・
・
・
「a#0,1,r-1%q=a#1,1,r-1%q=a#2,1,r-1%q=a#3,1,r-1%q=・・・=a#g,1,r-1%q=・・・=a#(q-2),1,r-1%q=a#(q-1),1,r-1%q=v1,r-1 (v1,r-1:固定値)」
「a#0,1,r%q=a#1,1,r%q=a#2,1,r%q=a#3,1,r%q=・・・=a#g,1,r%q=・・・=a#(q-2),1,r%q=a#(q-1),1,r%q=v1,r (v1,r:固定値)」
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#(q-2),2,1%q=a#(q-1),2,1%q=v2,1 (v2,1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#(q-2),2,2%q=a#(q-1),2,2%q=v2,2 (v2,2:固定値)」
「a#0,2,3%q=a#1,2,3%q=a#2,2,3%q=a#3,2,3%q=・・・=a#g,2,3%q=・・・=a#(q-2),2,3%q=a#(q-1),2,3%q=v2,3 (v2,3:固定値)」
・
・
・
「a#0,2,r-1%q=a#1,2,r-1%q=a#2,2,r-1%q=a#3,2,r-1%q=・・・=a#g,2,r-1%q=・・・=a#(q-2),2,r-1%q=a#(q-1),2,r-1%q=v2,r-1 (v2,r-1:固定値)」
「a#0,2,r%q=a#1,2,r%q=a#2,2,r%q=a#3,2,r%q=・・・=a#g,2,r%q=・・・=a#(q-2),2,r%q=a#(q-1),2,r%q=v2,r (v2,r:固定値)」
・
・
・
「a#0,i,1%q=a#1,i,1%q=a#2,i,1%q=a#3,i,1%q=・・・=a#g,i,1%q=・・・=a#(q-2),i,1%q=a#(q-1),i,1%q=vi,1 (vi,1:固定値)」
「a#0,i,2%q=a#1,i,2%q=a#2,i,2%q=a#3,i,2%q=・・・=a#g,i,2%q=・・・=a#(q-2),i,2%q=a#(q-1),i,2%q=vi,2 (vi,2:固定値)」
「a#0,i,3%q=a#1,i,3%q=a#2,i,3%q=a#3,i,3%q=・・・=a#g,i,3%q=・・・=a#(q-2),i,3%q=a#(q-1),i,3%q=vi,3 (vi,3:固定値)」
・
・
・
「a#0,i,r-1%q=a#1,i,r-1%q=a#2,i,r-1%q=a#3,i,r-1%q=・・・=a#g,i,r-1%q=・・・=a#(q-2),i,r-1%q=a#(q-1),i,r-1%q=vi,r-1 (vi,r-1:固定値)」
「a#0,i,r%q=a#1,i,r%q=a#2,i,r%q=a#3,i,r%q=・・・=a#g,i,r%q=・・・=a#(q-2),i,r%q=a#(q-1),i,r%q=vi,r (vi,r:固定値)」
(iは、1以上n-1以下の整数)
・
・
・
「a#0,n-1,1%q=a#1,n-1,1%q=a#2,n-1,1%q=a#3,n-1,1%q=・・・=a#g,n-1,1%q=・・・=a#(q-2),n-1,1%q=a#(q-1),n-1,1%q=vn-1,1 (vn-1,1:固定値)」
「a#0,n-1,2%q=a#1,n-1,2%q=a#2,n-1,2%q=a#3,n-1,2%q=・・・=a#g,n-1,2%q=・・・=a#(q-2),n-1,2%q=a#(q-1),n-1,2%q=vn-1,2 (vn-1,2:固定値)」
「a#0,n-1,3%q=a#1,n-1,3%q=a#2,n-1,3%q=a#3,n-1,3%q=・・・=a#g,n-1,3%q=・・・=a#(q-2),n-1,3%q=a#(q-1),n-1,3%q=vn-1,3 (vn-1,3:固定値)」
・
・
・
「a#0,n-1,r-1%q=a#1,n-1,r-1%q=a#2,n-1,r-1%q=a#3,n-1,r-1%q=・・・=a#g,n-1,r-1%q=・・・=a#(q-2),n-1,r-1%q=a#(q-1),n-1,r-1%q=vn-1,r-1 (vn-1,r-1:固定値)」
「a#0,n-1,r%q=a#1,n-1,r%q=a#2,n-1,r%q=a#3,n-1,r%q=・・・=a#g,n-1,r%q=・・・=a#(q-2),n-1,r%q=a#(q-1),n-1,r%q=vn-1,r (vn-1,r:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件18-8>を別の表現をすると、以下のように表現することができる。なお、jは1以上r以下の整数。
<条件18-8’>
「a#k,1,j%q=v1,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v1,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,j%q=v1,j(v1,j:固定値)が成立する。)
「a#k,2,j%q=v2,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v2,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,2,j%q=v2,j(v2,j:固定値)が成立する。)
・
・
・
「a#k,i,j%q=vi,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vi,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,i,j%q=vi,j(vi,j:固定値)が成立する。)
(iは、1以上n-1以下の整数)
・
・
・
「a#k,n-1,j%q=vn-1,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vn-1,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,n-1,j%q=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件18-9>
「iが1以上r以下の整数、かつ、jが1以上r以下の整数、かつ、i≠jであるすべてのi、すべてのjでvs,i≠vs,jが成立する。」
なお、sは1以上n-1以下の整数である。<条件18-9>を満たすためには、時変周期qはr以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数~Xn-1(D)の項数から導かれる。)
以上の条件を満した、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
次に、r1、r2、・・・、rn-2、rn-1いずれも3以上と設定したとき、式(284)において高い誤り訂正能力を得るための条件について説明する。
r1、r2、・・・、rn-2、rn-1いずれも3以上と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件18-10-1>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#(q-2),1,1%q=a#(q-1),1,1%q=v1,1 (v1,1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#(q-2),1,2%q=a#(q-1),1,2%q=v1,2 (v1,2:固定値)」
同様に、情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件18-10-2>
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#(q-2),2,1%q=a#(q-1),2,1%q=v2,1 (v2,1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#(q-2),2,2%q=a#(q-1),2,2%q=v2,2 (v2,2:固定値)」
・
・
・
同様に、情報Xiに関連する部分行列において、最低列重みを3とするために以下の条
件を与えると、高い誤り訂正能力を得ることができる。(iは、1以上n-1以下の整数)
<条件18-10-i>
「a#0,i,1%q=a#1,i,1%q=a#2,i,1%q=a#3,i,1%q=・・・=a#g,i,1%q=・・・=a#(q-2),i,1%q=a#(q-1),i,1%q=vi,1 (vi,1:固定値)」
「a#0,i,2%q=a#1,i,2%q=a#2,i,2%q=a#3,i,2%q=・・・=a#g,i,2%q=・・・=a#(q-2),i,2%q=a#(q-1),i,2%q=vi,2 (vi,2:固定値)」
・
・
・
同様に、情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件18-10-(n-1)>
「a#0,n-1,1%q=a#1,n-1,1%q=a#2,n-1,1%q=a#3,n-1,1%q=・・・=a#g,n-1,1%q=・・・=a#(q-2),n-1,1%q=a#(q-1),n-1,1%q=vn-1,1 (vn-1,1:固定値)」
「a#0,n-1,2%q=a#1,n-1,2%q=a#2,n-1,2%q=a#3,n-1,2%q=・・・=a#g,n-1,2%q=・・・=a#(q-2),n-1,2%q=a#(q-1),n-1,2%q=vn-1,2 (vn-1,2:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件18-10-1>から<条件18-10-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件18-10’-1>
「a#k,1,j%q=v1,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v1,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,j%q=v1,j(v1,j:固定値)が成立する。)
<条件18-10’-2>
「a#k,2,j%q=v2,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v2,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,2,j%q=v2,j(v2,j:固定値)が成立する。)
・
・
・
<条件18-10’-i>
「a#k,i,j%q=vi,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vi,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,i,j%q=vi,j(vi,j:固定値)が成立する。)
(iは、1以上n-1以下の整数)
・
・
・
<条件18-10’-(n-1)>
「a#k,n-1,j%q=vn-1,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vn-1,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,n-1,j%q=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件18-11-1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件18-11-2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
<条件18-11-i>
「vi,1≠0、かつ、vi,2≠0が成立する。」
かつ
「vi,1≠vi,2が成立する。」
(iは、1以上n-1以下の整数)
・
・
・
<条件18-11-(n-1)>
「vn-1,1≠0、かつ、vn-1,2≠0が成立する。」
かつ
「vn-1,1≠vn-1,2が成立する。」
そして、「情報X1から情報Xn-1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件18-12-1>
「a#i,1,v%q=a#j,1,v%q for ∀i∀j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,1,v%q=a#j,1,v%qが成立する。)・・・条件#Xa-1
vは3以上r1以下の整数であり、すべてのvで「条件#Xa-1」を満たすことはない。
<条件18-12-2>
「a#i,2,v%q=a#j,2,v%q for ∀i∀j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,2,v%q=a#j,2,v%qが成立する。)・・・条件#Xa-2
vは3以上r2以下の整数であり、すべてのvで「条件#Xa-2」を満たすことはない。
・
・
・
<条件18-12-k>
「a#i,k,v%q=a#j,k,v%q for ∀i∀j i,j=0,1,2,・
・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,k,v%q=a#j,k,v%qが成立する。)・・・条件#Xa-k
vは3以上rk以下の整数であり、すべてのvで「条件#Xa-k」を満たすことはない。
(kは、1以上n-1以下の整数)
・
・
・
<条件18-12-(n-1)>
「a#i,n-1,v%q=a#j,n-1,v%q for ∀i∀j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,n-1,v%q=a#j,n-1,v%qが成立する。)・・・条件#Xa-(n-1)
vは3以上rn-1以下の整数であり、すべてのvで「条件#Xa-(n-1)」を満たすことはない。
なお、<条件18-12-1>から<条件18-12-(n-1)>を別の表現をすると以下のような条件となる。
<条件18-12’-1>
「a#i,1,v%q≠a#j,1,v%q for ∃i∃j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、a#i,1,v%q≠a#j,1,v%qが成立するi、jが存在する。)・・・条件#Ya-1
vは3以上r1以下の整数であり、すべてのvで「条件#Ya-1」を満たす。
<条件18-12’-2>
「a#i,2,v%q≠a#j,2,v%q for ∃i∃j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、a#i,2,v%q≠a#j,2,v%qが成立するi、jが存在する。)・・・条件#Ya-2
vは3以上r2以下の整数であり、すべてのvで「条件#Ya-2」を満たす。
・
・
・
<条件18-12’-k>
「a#i,k,v%q≠a#j,k,v%q for ∃i∃j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、a#i,k,v%q≠a#j,k,v%qが成立するi、jが存在する。)・・・条件#Ya-k
vは3以上rk以下の整数であり、すべてのvで「条件#Ya-k」を満たす。
(kは、1以上n-1以下の整数)
・
・
・
<条件18-12’-(n-1)>
「a#i,n-1,v%q≠a#j,n-1,v%q for ∃i∃j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、a#i,n-1,v%q≠a#j,n-1,v%qが成立するi、jが存在する。)・・・条件#Ya-(n-1)
vは3以上rn-1以下の整数であり、すべてのvで「条件#Ya-(n-1)」を満たす。
このようにすることで、「情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn-1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
なお、以上の条件を踏まえて、高い誤り訂正能力をもつ符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号を生成することになるが、このとき、高い誤り訂正の力をもつ上記連接符号を容易に得るためには、r1=r2=・・・=rn-2=rn-1=r(rは3以上)と設定するとよい。
次に、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q-1)のパリティ検査多項式(式(128)参照)次式のように表わされる。
次に、r1、r2、・・・、rn-2、rn-1いずれも4以上と設定したとき、式(286)において高い誤り訂正能力を得るための条件について説明する。
r1、r2、・・・、rn-2、rn-1いずれも4以上の時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件18-13-1>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#(q-2),1,1%q=a#(q-1),1,1%q=v1,1 (v1,1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#(q-2),1,2%q=a#(q-1),1,2%q=v1,2 (v1,2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#(q-2),1,3%q=a#(q-1),1,3%q=v1,3 (v1,3:固定値)」
同様に、情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件18-13-2>
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#(q-2),2,1%q=a#(q-1),2,1%q=v2,1 (v2,1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#(q-2),2,2%q=a#(q-1),2,2%q=v2,2 (v2,2:固定値)」
「a#0,2,3%q=a#1,2,3%q=a#2,2,3%q=a#3,2,3%q=・・・=a#g,2,3%q=・・・=a#(q-2),2,3%q=a#(q-1),2,3%q=v2,3 (v2,3:固定値)」
・
・
・
同様に、情報Xiに関連する部分行列において、最低列重みを3とするために以下の条
件を与えると、高い誤り訂正能力を得ることができる。(iは、1以上n-1以下の整数)
<条件18-13-i>
「a#0,i,1%q=a#1,i,1%q=a#2,i,1%q=a#3,i,1%q=・・・=a#g,i,1%q=・・・=a#(q-2),i,1%q=a#(q-1),i,1%q=vi,1 (vi,1:固定値)」
「a#0,i,2%q=a#1,i,2%q=a#2,i,2%q=a#3,i,2%q=・・・=a#g,i,2%q=・・・=a#(q-2),i,2%q=a#(q-1),i,2%q=vi,2 (vi,2:固定値)」
「a#0,i,3%q=a#1,i,3%q=a#2,i,3%q=a#3,i,3%q=・・・=a#g,i,3%q=・・・=a#(q-2),i,3%q=a#(q-1),i,3%q=vi,3 (vi,3:固定値)」
・
・
・
同様に、情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件18-13-(n-1)>
「a#0,n-1,1%q=a#1,n-1,1%q=a#2,n-1,1%q=a#3,n-1,1%q=・・・=a#g,n-1,1%q=・・・=a#(q-2),n-1,1%q=a#(q-1),n-1,1%q=vn-1,1 (vn-1,1:固定値)」
「a#0,n-1,2%q=a#1,n-1,2%q=a#2,n-1,2%q=a#3,n-1,2%q=・・・=a#g,n-1,2%q=・・・=a#(q-2),n-1,2%q=a#(q-1),n-1,2%q=vn-1,2 (vn-1,2:固定値)」
「a#0,n-1,3%q=a#1,n-1,3%q=a#2,n-1,3%q=a#3,n-1,3%q=・・・=a#g,n-1,3%q=・・・=a#(q-2),n-1,3%q=a#(q-1),n-1,3%q=vn-1,3 (vn-1,3:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件18-13-1>から<条件18-13-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件18-13’-1>
「a#k,1,j%q=v1,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v1,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,1,j%q=v1,j(v1,j:固定値)が成立する。)
<条件18-13’-2>
「a#k,2,j%q=v2,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(v2,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,2,j%q=v2,j(v2,j:固定値)が成立する。)
・
・
・
<条件18-13’-i>
「a#k,i,j%q=vi,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vi,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,i,j%q=vi,j(vi,j:固定値)が成立する。)
(iは、1以上n-1以下の整数)
・
・
・
<条件18-13’-(n-1)>
「a#k,n-1,j%q=vn-1,j for ∀k k=0,1,2,・・・,q-3,q-2,q-1(vn-1,j:固定値)」
(kは0以上q-1以下の整数であり、すべてのkでa#k,n-1,j%q=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件18-14-1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件18-14-2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
<条件18-14-i>
「vi,1≠vi,2、vi,1≠vi,3、vi,2≠vi,3が成立する。」
(iは、1以上n-1以下の整数)
・
・
・
<条件18-14-(n-1)>
「vn-1,1≠vn-1,2、vn-1,1≠vn-1,3、vn-1,2≠vn-1,3が成立する。」
そして、「情報X1から情報Xn-1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件18-15-1>
「a#i,1,v%q=a#j,1,v%q for ∀i∀j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,1,v%q=a#j,1,v%qが成立する。)・・・条件#Xb-1
vは4以上r1以下の整数であり、すべてのvで「条件#Xb-1」を満たすことはない。
<条件18-15-2>
「a#i,2,v%q=a#j,2,v%q for ∀i∀j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,2,v%q=a#j,2,v%qが成立する。)・・・条件#Xb-2
vは4以上r2以下の整数であり、すべてのvで「条件#Xb-2」を満たすことはない。
・
・
・
<条件18-15-k>
「a#i,k,v%q=a#j,k,v%q for ∀i∀j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,k,v%q=a#j,k,v%qが成立する。)・・・条件#Xb-k
vは4以上rk以下の整数であり、すべてのvで「条件#Xb-k」を満たすことはない。
(kは、1以上n-1以下の整数)
・
・
・
<条件18-15-(n-1)>
「a#i,n-1,v%q=a#j,n-1,v%q for ∀i∀j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,n-1,v%q=a#j,n-1,v%qが成立する。)・・・条件#Xb-(n-1)
vは4以上rn-1以下の整数であり、すべてのvで「条件#Xb-(n-1)」を満たすことはない。
なお、<条件18-15-1>から<条件18-15-(n-1)>を別の表現をすると以下のような条件となる。
<条件18-15’-1>
「a#i,1,v%q≠a#j,1,v%q for ∃i∃j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、a#i,1,v%q≠a#j,1,v%qが成立するi、jが存在する。)・・・条件#Yb-1
vは4以上r1以下の整数であり、すべてのvで「条件#Yb-1」を満たす。
<条件18-15’-2>
「a#i,2,v%q≠a#j,2,v%q for ∃i∃j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、a#i,2,v%q≠a#j,2,v%qが成立するi、jが存在する。)・・・条件#Yb-2
vは4以上r2以下の整数であり、すべてのvで「条件#Yb-2」を満たす。
・
・
・
<条件18-15’-k>
「a#i,k,v%q≠a#j,k,v%q for ∃i∃j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、a#i,k,v%q≠a#j,k,v%qが成立するi、jが存在する。)・・・条件#Yb-k
vは4以上rk以下の整数であり、すべてのvで「条件#Yb-k」を満たす。
(kは、1以上n-1以下の整数)
・
・
・
<条件18-15’-(n-1)>
「a#i,n-1,v%q≠a#j,n-1,v%q for ∃i∃j i,j=0,1,2,・・・,q-3,q-2,q-1;i≠j」
(iは0以上q-1以下の整数であり、かつ、jは0以上q-1以下の整数であり、かつ、i≠jであり、a#i,n-1,v%q≠a#j,n-1,v%qが成立するi、jが存在する。)・・・条件#Yb-(n-1)
vは4以上rn-1以下の整数であり、すべてのvで「条件#Yb-(n-1)」を満たす。
このようにすることで、「情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn-1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
なお、以上の条件を踏まえて、高い誤り訂正能力をもつ符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号を生成することになるが、このとき、高い誤り訂正の力をもつ上記連接符号を容易に得るためには、r1=r2=・・・=rn-2=rn-1=r(rは4以上)と設定するとよい。
なお、実施の形態6に基づき、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号におけるパリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の時間の周期(時変周期)の値の例として、
(1)時変周期qが素数であること。
(3)時変周期qをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期qをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期qをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
を示したが、(2)を考慮したとき、その他の例として、
(7)時変周期qをAu×Bvとする。
ただし、A、Bともに、1を除く奇数であり、かつ、素数であり、A≠Bとし、u、vともに1以上の整数。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数。
(9)時変周期qをAu×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数。
が考えられる。ただし、以前にも説明したが、時変周期qが大きければ、実施の形態6で説明した効果を得ることができるので、時変周期qが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではない。
(10)時変周期qを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(11)時変周期qを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(12)時変周期qを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(13)時変周期qを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(14)時変周期qを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(15)時変周期qを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
(16)時変周期qを2g×Au×Bvとする。
ただし、A、Bともに1を除く奇数であり、かつ、A、Bともには素数であり、A≠Bとし、かつ、u、vともに1以上の整数であり、かつ、gは1以上の整数とする。
(17)時変周期qを2g×Au×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、A、B、Cいずれも素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数であり、かつ、gは1以上の整数とする。
(18)時変周期qを2g×Au×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、A、B、C、Dいずれも素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数とし、かつ、gは1以上の整数とする。
ただし、時変周期qが上記の(1)から(9)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期qが上記の(10)から(18)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
例えば、非特許文献30で記載されているDVB規格で考えた場合、LDPC符号のブロック長として、16200ビット、64800ビットが規定されている。このブロックサイズを考慮すると、時変周期としては、15、25、27、45、75、81、135、225が適切な値の例として考えられる。時変周期に関する上記の設定は、実施の形態17で述べた、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号に対しても有効である。
符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列において、情報X1から情報Xn-1に関連する部分行列の列重みの値が複数存在するときの符号生成方法の説明において、上述において、いくつかの重要な条件を示した。上記連接符号におけるパリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の0を満たすパリティ検査多項式を式(284)としたとき、<条件18-10-1>から<条件18-10-(n-1)>、および、<条件18-10’-1>から<条件18-10’-(n-1)>、および、<条件18-11-1>から<条件18-11-(n-1)>に対し、実施の形態6を参考にすると、以下の条件を加えると、よい符号を得ることができる可能性がある。
<条件18-16>
<条件18-17>
iは1以上n-1以下の整数、jは1、2であり、すべてのi、すべてのjにおいて、vi,jは、時変周期qの約数でない、または、1である。
また、符号化率(n-1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列において、情報X1から情報Xn-1に関連する部分行列の列重みがすべて等しいときの符号生成方法の説明において、上述において、いくつかの重要な条件を示した。上記連接符号におけるパリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の0を満たすパリティ検査多項式を式(280-0)から式(280-(q-1))としたとき、<条件18-4>、および、<条件18-4’>、および、<条件18-5>に対し、実施の形態6を参考にすると、以下の条件を加えると、よい符号を得ることができる可能性がある。
<条件18-18>
<条件18-19>
iは1以上n-1以下の整数、jは1以上r以下の整数、すべてのi、すべてのjにおいて、vi,jは、時変周期qの約数でない、または、1である。
(実施の形態A1)
実施の形態3、実施の形態15では、テイルバイティング方法を用いたLDPC畳み込み符号について説明を行った。本実施の形態では、高い誤り訂正能力をもち、かつ、パリティを逐次的に求めることができる(つまり、容易に求めることができる)テイルバイティング方法を用いたLDPC畳み込み符号の構成方法について説明する。
パリティ検査多項式に基づく、符号化率R=(n-1)/nの時変LDPC-CCについて説明する。X1,X2,・・・,Xn-1の情報ビット、及びパリティビットPの時点jにおけるビットをそれぞれX1,j,X2,j,・・・,Xn-1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn-1,j,Pj)と表す。また、符号化系列をu=(u0,u1,・・・,uj,・・・)Tと表す。Dを遅延演算子とすると、情報ビットX1,X2,・・・,Xn-1の多項式はX1(D),X2(D),・・・,Xn-1(D)と表され、パリティビットPの多項式はP(D)と表される。このとき、式(A1)で表される0を満たすパリティ検査多項式を考える。
上述では、ベースとなるパリティ検査多項式として、式(A1)を取り扱っているが、必ずしも式(A1)の形態に限らず、例えば、式(A1)のかわりに、式(A6)のような0を満たすパリティ検査多項式としてもよい。
ここで、符号化率R=(n-1)/n、時変周期mのLDPC-CCのためのi番目(i=0,1,・・・,m-1)の0を満たすパリティ検査多項式を次式のようにあらわす。
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)について説明する。なお、nは2以上の自然数となる。
ベースとなる、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのためのi番目(i=0,1,・・・,m-1)の0を満たすパリティ検査多項式を次式のようにあらわす。
したがって、ベースとなる、式(A8)の符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのための0を満たすi番目(i=0,1,・・・,m-1)パリティ検査多項式は、P(D)の項を2個もつことになる。これが、パリティPを逐次的に求めることができ、演算(回路)規模を削減することができる一つの重要な要件となる。
方法1:
方法2:
次に、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の、ベース(基礎的な構造)となる、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの式(A8)の0を満たすパリティ検査多項式の時変周期mと提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のブロックサイズの関係について説明する。
・パリティ検査行列の行数は、mの倍数である。
・したがって、パリティ検査行列の列数はn×mの倍数である。このとき、復号時に必要な(例えば)対数尤度比は、パリティ検査行列の列数の対数尤度比である。
ただし、条件#19が必要となる、ベースとなる、時変周期m、符号化率(n-1)/nのLDPC-CCの0を満たすパリティ検査多項式は、式(A8)に限ったものではない。
の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)とベース(基礎的な構造)となる、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの違いについては、あとで詳しく述べる。)したがって、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproとすると、Hproの列数はn×m×zとあらわすことができる(zは自然数)。よって、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Ppro,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Ppro,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z-1、λpro,s,m×z)Tとあらわすことができ、Hprovs=0が成立する(このとき、「Hprovs=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n-1以下の整数)、Ppro,s,kは提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n-1,k、Ppro,s,k)である(したがって、n=2のとき、λpro,s,k=(Xs,1,k、Ppro,s,k)となり、n=3のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Ppro,s,k)となり、n=4のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Ppro,s,k)となり、n=5のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Ppro,s,k)となり、n=6のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Ppro,s,k)となる。)。ただし、k=1、2、・・・、m×z-1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる。
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)における、ベース(基礎的な構造)となる、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの式(A8)の0を満たすパリティ検査多項式のパリティのみの項で形成する図11、図12、図14、図38、図39のようなツリーを描いた場合、提案する符号において、逐次的にパリティを求めることが可能とするための条件として、図12、図14、図38のように、式(A8)の0番目からm-1番目のすべてのパリティ検査多項式に相当するチェックノードがツリーに出現する必要がある。したがって、実施の形態1、実施の形態6から、以下の条件が有効な方法となる。
<条件#20-1>
・式(A8)の0を満たすパリティ検査多項式において、iは0以上m-1以下の整数であり、かつ、jは0以上m-1以下の整数であり、かつ、i≠jであり、この条件を満たす、すべてi、すべてのjで、b1,i%m=b1,j%m=β(βは自然数であり、βは固定値)を満たす。
<条件#20-2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、βはRに属してはならない。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「α%q」は、αをqで除算したときの余りである。(αは0以上の整数、qは自然数である。)
なお、「mの約数のうち、1を除いた、約数の集合をRとしたとき、少なくともβはRに属してはならない。」という条件に加え、新たに、以下の条件を満たすとよい。
<条件#20-3>
・βは1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。β/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件#20-2>で定義している。
なお、<条件#20-3>を別の表現をすると、<条件#20-3’>となる。
<条件#20-3’>
・βは1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。βの約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件#20-3><条件#20-3’>を別の表現をすると、<条件#20-3”>となる。
<条件#20-3”>
・βは1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。βとmの最大公約数が1である。
以下では、例を用いて説明する。時変周期m=6とする。すると、<条件#20-1>において、βは自然数であることから、βは{1、2、3、4、5}となる。
<条件#20-3>について考える。(<条件#20-3’><条件#20-3”>を考えても同様である。)まず、βは1以上m-1以下の整数の集合に属することから、βとして{1、2、3、4、5}を考えることができる。
次に、「β/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。」を考える。上記で説明したように、集合Rは{2,3、6}となる。
βが1のとき、集合Sは{1}となる。したがって、R∩Sは空集合であり、<条件#20-3>を満たす。
βが2のとき、集合Sは{1,2}となる。したがって、R∩Sは{2}となり、<条件#20-3>を満たさない。
βが3のとき、集合Sは{1,3}となる。したがって、R∩Sは{3}となり、<条件#20-3>を満たさない。
βが4のとき、集合Sは{1,2,4}となる。したがって、R∩Sは{2}となり、<条件#20-3>を満たさない。
βが5のとき、集合Sは{1,5}となる。したがって、R∩Sは空集合であり、<条件#20-3>を満たす。
したがって、<条件#20-1>かつ<条件#20-3>を満たすβは{1、5}となる。
そして、<条件#20-2>「「mの約数のうち、1を除いた、約数の集合をR」としたとき、βはRに属してはならない。」と記載している。このとき、集合Rは{7}となる(約数のうち1を除くので)。したがって、<条件#20-1>かつ<条件#20-2>を満たしたとき、βは{1、2、3、4、5、6}となる。
次に、「β/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。」を考える。上記で説明したように、集合Rは{7}となる。
βが1のとき、集合Sは{1}となる。したがって、R∩Sは空集合であり、<条件#20-3>を満たす。
βが3のとき、集合Sは{1,3}となる。したがって、R∩Sは空集合であり、<条件#20-3>を満たす。
βが4のとき、集合Sは{1,2,4}となる。したがって、R∩Sは空集合であり、<条件#20-3>を満たす。
βが6のとき、集合Sは{1,2,3,6}となる。したがって、R∩Sは空集合であり、<条件#20-3>を満たす。
したがって、<条件#20-1>かつ<条件#20-3>を満たすβは{1、2、3、4、5、6}となる。
めに、以下の条件を満たすとよい。
<条件#20-4>
・「式(A8)の0を満たすパリティ検査多項式において、iは0以上m-1以下の整数であり、かつ、jは0以上m-1以下の整数であり、かつ、i≠jであり、この条件を満たす、すべてi、すべてのjで、b1,i%m=b1,j%m=β(βは自然数であり、βは固定値)を満たし」、
かつ、
「vは0以上m-1以下の整数であり、かつ、wは0以上m-1以下の整数であり、かつ、v≠wであり、b1,v≠b1,wを満たすv、wが存在する」
ただし、条件#20-4を満たさなくても、高い誤り訂正能力が得られる可能性はある。また、よりランダム性を得るために以下の条件を考えることができる。
<条件#20-5>
・「式(A8)の0を満たすパリティ検査多項式において、iは0以上m-1以下の整数であり、かつ、jは0以上m-1以下の整数であり、かつ、i≠jであり、この条件を満たす、すべてi、すべてのjで、b1,i%m=b1,j%m=β(βは自然数であり、βは固定値)を満たし」、
かつ、
「vは0以上m-1以下の整数であり、かつ、wは0以上m-1以下の整数であり、かつ、v≠wであり、この条件を満たす、すべてのv、すべてのwにおいて、b1,v≠b1,wを満たす。」
ただし、条件#20-5を満たさなくても、高い誤り訂正能力が得られる可能性はある。
<条件#20-6>
・「式(A8)の0を満たすパリティ検査多項式において、iは0以上m-1以下の整数であり、この条件を満たす、すべてiで、b1,i=1を満たす。」を満たさない。
ただし、条件#20-6を満たさなくても、高い誤り訂正能力が得られる可能性はある。
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)では、「ベースとして(基礎的な構造として)、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの、式(A8)の0を満たすパリティ検査多項式を利用する」と記載したが、この点について説明する。
図127は、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの、式(A8)の0を満たすパリティ検査多項式のみでテイルバイティングを行って、テイルバイティングを行った周期的時変LDPC-CCを形成したときのパリティ検査行列Hの構成を示している。なお、パリティ検査多項式に基づく周期的時変LDPC-CCのテイルバイティングを行ったときのパリティ検査行列の生成方法については、実施の形態3、実施の形態15、実施の形態17、実施の形態18で説明したとおりである。図127は、<条件#19>を満たしているので、パリティ検査行列の行数はm×z、パリティ検査行列の列数はn×m×zとなる。
・
・
図127のパリティ検査行列の第m-1行は、式(A8)の0を満たす0番目のパリティ検査多項式からm-1番目パリティ検査多項式のうちの、「m-2番目のパリティ検査多項式」を変換することで得られる(「m-2番目のパリティ検査多項式」から1行、n×m×z列のベクトルを生成することで得られる。)。したがって、図127では「m-2番目のパリティ検査多項式に相当する行」と記述している。
図127のパリティ検査行列の第m行は、式(A8)の0を満たす0番目のパリティ検査多項式からm-1番目パリティ検査多項式のうちの、「m-1番目のパリティ検査多項式」を変換することで得られる(「m-1番目のパリティ検査多項式」から1行、n×m×z列のベクトルを生成することで得られる。)。したがって、図127では「m-1番目のパリティ検査多項式に相当する行」と記述している。
・
・
図127のパリティ検査行列の第m×z-1行は、式(A8)の0を満たす0番目のパリティ検査多項式からm-1番目パリティ検査多項式のうちの、「m-2番目のパリティ検査多項式」を変換することで得られる(「m-2番目のパリティ検査多項式」から1行、n×m×z列のベクトルを生成することで得られる。)。
図127のパリティ検査行列の第m×z行は、式(A8)の0を満たす0番目のパリティ検査多項式からm-1番目パリティ検査多項式のうちの、「m-1番目のパリティ検査多項式」を変換することで得られる(「m-1番目のパリティ検査多項式」から1行、n×m×z列のベクトルを生成することで得られる。)。
符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの、式(A8)の0を満たすパリティ検査多項式のみでテイルバイティングを行って、テイルバイティングを行った周期的時変LDPC-CCの
第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))wsはws=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Pt-v,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Pt-v,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Pt-v,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Pt-v,s,m×z)T=(λt-v,s,1、λt-v,s,2、・・・、λt-v,s,m×z-1、λt-v,s,m×z)Tとあらわすことができ、Hws=0が成立する(このとき、「Hws=0=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。
図128に提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの構成例の一例を示す。なお、提案する符号化率R=(n-1)/nのテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hproは、<条件#19>を満たすことになる。したがって、パリティ検査行列Hproの行数はm×z、パリティ検査行列Hproの列数はn×m×zとする。
次に、パリティが逐次的に求めることができ、かつ、良好な誤り訂正能力を得るための、式(A17)のg1の構成方法について説明する。
パリティが逐次的に求めることができ、かつ、良好な誤り訂正能力を得るための、式(A17)のg1の構成方法の一つの例は、ベースとなる(基礎的な構造となる)、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの、式(A8)の0を満たすパリティ検査多項式を利用して作成することができる。
実施の形態3、実施の形態15にしたがった、式(A19)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCを考える。
このとき、式(A19)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCのパリティ検査行列をHt-invとする。そして、パリティ検査行列Ht-invの行数はm×z、パリティ検査行列Ht-invの列数はn×m×zとしたとき、Ht-invを次式であらわす。
上述の説明からわかるように、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第1行は、式(A19)の0を満たすパリティ検査多項式Yを変換することで得られる(つまり、1行、n×m×z列のg1=c1が得られる。)
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Ppro,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Ppro,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z-1、λpro,s,m×z)Tであり、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z-1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z-2番目:「第m×z-2番目の0を満たすパリティ検査多項式」
m×z-1番目:「第m×z-1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、上述からわかるように、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproを式(A14)のようにあらわした場合、パリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。)
すると、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(A19)の0を満たすパリティ検査多項式Y」であり、
第1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m-2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-2番目のパリティ検査多項式」であり、
第m-1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m-2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-2番目のパリティ検査多項式」であり、
第2m-1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
「第0番目の0を満たすパリティ検査多項式は、「式(A19)の0を満たすパリティ検査多項式Y」であり、第e番目(eは1以上m×z-1の整数)の0を満たすパリティ検査多項式は、「式(A8)の0を満たすe%m番目のパリティ検査多項式」
となる。
以下では、「パリティを逐次的に求めることができる」ことについて説明する。
以上のように、本実施の形態における符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)は、高い誤り訂正能力が得られるとともに、複数のパリティを逐次的に求めることが可能となるため、符号化器の回路規模を小さくすることができるという利点をもつことになる。
(1)時変周期mが素数であること。
(3)時変周期mをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期mをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期mをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
(7)時変周期mをAu×Bvとする。
ただし、A、Bともに、1を除く奇数であり、かつ、素数であり、A≠Bとし、u、vともに1以上の整数。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数。
(9)時変周期mをAu×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数。
となる。ただし、時変周期mが大きければ、実施の形態6等で説明した効果を得ることができるので、時変周期mが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではなく、例えば、時変周期mが偶数のとき、以下のような条件を満たしてもよい。
(10)時変周期mを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(11)時変周期mを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(12)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(13)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(14)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(15)時変周期mを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
(16)時変周期mを2g×Au×Bvとする。
ただし、A、Bともに1を除く奇数であり、かつ、A、Bともには素数であり、A≠Bとし、かつ、u、vともに1以上の整数であり、かつ、gは1以上の整数とする。
(17)時変周期mを2g×Au×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、A、B、Cいずれも素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数であり、かつ、gは1以上の整数とする。
(18)時変周期mを2g×Au×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、A、B、C、Dいずれも素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数とし、かつ、gは1以上の整数とする。
ただし、時変周期mが上記の(1)から(9)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期mが上記の(10)から(18)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
また、時変周期mが小さいと符号化率が小さいとき高いビット誤り率でエラーフロアーを発生する可能性がある。この点が、通信システム、放送システム、ストレージ、メモリ等で使用したとき問題となるとき、時変周期mは3より大きいことが望まれるが、システム上、許容範囲の場合、時変周期mを小さく設定してもよい。
本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を通信システムで用いた場合を一例として考える。なお、LDPC符号を用いたときの通信システムの説明については、実施の形態3、実施の形態13、実施の形態15、実施の形態16、実施の形態17、実施の形態18等で説明しており、本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を通信システムに適用したとき、本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の符号化器、復号化器の特徴は、本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro、および、Hprovs=0の関係に基づき符号化器、復号化器が構成され、動作する点である。
(実施の形態A2)
本実施の形態では、実施の形態A1とは別の例(変形例)の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)について説明する(nは2以上の自然数。)。なお、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)は、実施の形態A1と同様、ベースとして(基礎的な構造として)、テイルバイティングを用いた、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの、式(A8)の0を満たすパリティ検査多項式を利用している。なお、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproは、<条件#19>を満たすことになる。
図128の本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号のパリティ検査行列Hproの第k行目(kは1以上m×z以下の整数)の1行、n×m×z列のベクトルをgkとすると、図128のパリティ検査行列Hproは式(A14)であらわされる。
したがって、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproは式(A17)のようにあらわすことができる。なお、式(A17)において、式(A16)が成立することになる。
パリティが逐次的に求めることができ、かつ、良好な誤り訂正能力を得るための、式(A17)のg1の構成方法の一つの例は、ベースとなる(基礎的な構造となる)、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの、式(A8)の0を満たすパリティ検査多項式を利用して作成することができる。
実施の形態3、実施の形態15にしたがった、式(A20)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCを考える。
このとき、式(A20)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCのパリティ検査行列をHt-inv―2とする。そして、パリティ検査行列Ht-inv―2の行数はm×z、パリティ検査行列Ht-inv―2の列数はn×m×zとしたとき、Ht-inv―2を次式であらわす。
式(A20)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCの第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))ysはys=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Pt-inv―2,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Pt-inv―2,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Pt-inv―2,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Pt-inv―2,s,m×z)T=(λt-inv―2,s,1、λt-inv―2,s,2、・・・、λt-inv―2,s,m×z-1、λt-inv―2,s,m×z)Tとあらわすことができ、Ht-inv―2ys=0が成立する(このとき、「Ht-inv―2ys=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n-1以下の整数)、Pt-inv―2,s,kは式(A20)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCのパリティのビットであり、λt-inv―2,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n-1,k、Pt-inv―2,s,k)である(したがって、n=2のとき、λt-inv―2,s,k=(Xs,1,k、Pt-inv―2,s,k)となり、n=3のとき、λt-inv―2,s,k=(Xs,1,k、Xs,2,k、Pt-inv―2,s,k)となり、n=4のとき、λt-inv―2,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Pt-inv―2,s,k)となり、n=5のとき、λt-inv―2,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Pt-inv―2,s,k)となり、n=6のとき、λt-inv―2,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Pt-inv―2,s,k)となる。)。ただし、k=1、2、・・・、m×z-1、m×z、つまり、kは1以上m×z以下の整数である。
なお、式(A20)の0を満たすパリティ検査多項式を「0を満たすパリティ検査多項式Z」と名付ける。
よって、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第1行は、式(A20)の0を満たすパリティ検査多項式Zを変換することで得られる(つまり、1行、n×m×z列のg1が得られる。)
本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Ppro,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Ppro,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z-1、λpro,s,m×z)Tであらわされ、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z-1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z-2番目:「第m×z-2番目の0を満たすパリティ検査多項式」
m×z-1番目:「第m×z-1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、上述からわかるように、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproを式(A14)のようにあらわした場合、パリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。)
すると、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(A20)の0を満たすパリティ検査多項式Z」であり、
第1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m-2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-2番目のパリティ検査多項式」であり、
第m-1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m-2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-2番目のパリティ検査多項式」であり、
第2m-1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
「第0番目の0を満たすパリティ検査多項式は、「式(A20)の0を満たすパリティ検査多項式Z」であり、第e番目(eは1以上m×z-1の整数)の0を満たすパリティ検査多項式は、「式(A8)の0を満たすe%m番目のパリティ検査多項式」
となる。
なお、上述の説明において、<条件#20-4><条件#20-5><条件#20-6>の3つの条件のうち、一つ以上の条件を満たすと高い誤り訂正能力を得られる可能性があるが、満たさなくても高い誤り訂正能力が得られることもある。
(1)時変周期mが素数であること。
(3)時変周期mをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期mをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期mをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
(7)時変周期mをAu×Bvとする。
ただし、A、Bともに、1を除く奇数であり、かつ、素数であり、A≠Bとし、u、vともに1以上の整数。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数。
(9)時変周期mをAu×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数。
となる。ただし、時変周期mが大きければ、実施の形態6等で説明した効果を得ることができるので、時変周期mが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではなく、例えば、時変周期mが偶数のとき、以下のような条件を満たしてもよい。
(10)時変周期mを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(11)時変周期mを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(12)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(13)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(14)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(15)時変周期mを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
(16)時変周期mを2g×Au×Bvとする。
ただし、A、Bともに1を除く奇数であり、かつ、A、Bともには素数であり、A≠Bとし、かつ、u、vともに1以上の整数であり、かつ、gは1以上の整数とする。
(17)時変周期mを2g×Au×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、A、B、Cいずれも素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数であり、かつ、gは1以上の整数とする。
(18)時変周期mを2g×Au×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、A、B、C、Dいずれも素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数とし、かつ、gは1以上の整数とする。
ただし、時変周期mが上記の(1)から(9)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期mが上記の(10)から(18)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
また、時変周期mが小さいと符号化率が小さいとき高いビット誤り率でエラーフロアーを発生する可能性がある。この点が、通信システム、放送システム、ストレージ、メモリ等で使用したとき問題となるとき、時変周期mは3より大きいことが望まれるが、システム上、許容範囲の場合、時変周期mを小さく設定してもよい。
本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を通信システムで用いた場合を一例として考える。なお、LDPC符号を用いたときの通信システムの説明については、実施の形態3、実施の形態13、実施の形態15、実施の形態16、実施の形態17、実施の形態18等で説明しており、本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を通信システムに適用したとき、本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の符号化器、復号化器の特徴は、本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro、および、Hprovs=0の関係に基づき符号化器、復号化器が構成され、動作する点である。
(実施の形態A3)
本実施の形態では、実施の形態A1を一般化した例の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)について説明する(nは2以上の自然数。)。なお、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)は、実施の形態A1、実施の形態A2と同様、ベースとして(基礎的な構造として)、テイルバイティングを用いた、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの、式(A8)の0を満たすパリティ検査多項式を利用している。なお、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproは、<条件#19>を満たすことになる。したがって、パリティ検査行列Hproの行数はm×z、パリティ検査行列Hproの列数はn×m×zとする。
図129の本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第k行目(kは1以上m×z以下の整数)の1行、n×m×z列のベクトルをgkとすると、図129のパリティ検査行列Hproは次式であらわされる。
パリティが逐次的に求めることができ、かつ、良好な誤り訂正能力を得るための、式(A24)のgαの構成方法の一つの例は、ベースとなる(基礎的な構造となる)、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの、式(A8)の0を満たすパリティ検査多項式を利用して作成することができる。
実施の形態3、実施の形態15にしたがった、式(A26)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCを考える。
このとき、式(A26)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCのパリティ検査行列をHt-inv―3とする。そして、パリティ検査行列Ht-inv―3の行数はm×z、パリティ検査行列Ht-inv―3の列数はn×m×zとしたとき、Ht-inv―3を次式であらわす。
,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Pt-inv―3,s,k)となる。)。ただし、k=1、2、・・・、m×z-1、m×z、つまり、kは1以上m×z以下の整数である。
このとき、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第α行のベクトルgαと式(A26)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCのパリティ検査行列Ht-inv―3の第α行のベクトルc3,αにおいて、gα=c3,αの関係が成立する。
よって、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第α行は、式(A26)の0を満たすパリティ検査多項式Uを変換することで得られる(つまり、1行、n×m×z列のgαが得られる。)
本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Ppro,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Ppro,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z-1、λpro,s,m×z)Tであらわされ、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z-1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z-2番目:「第m×z-2番目の0を満たすパリティ検査多項式」
m×z-1番目:「第m×z-1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、上述からわかるように、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproを式(A2
1)のようにあらわした場合、パリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。)
すると、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす0番目のパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第α―1番目の0を満たすパリティ検査多項式は、「式(A26)の0を満たすパリティ検査多項式U」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
「第α―1番目の0を満たすパリティ検査多項式は、「式(A26)の0を満たすパリティ検査多項式U」であり、eが0以上m×z-1の整数であり、e≠α―1のとき、第e番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすe%m番目のパリティ検査多項式」
となる。
なお、上述の説明において、<条件#20-4><条件#20-5><条件#20-6>の3つの条件のうち、一つ以上の条件を満たすと高い誤り訂正能力を得られる可能性があるが、満たさなくても高い誤り訂正能力が得られることもある。
(1)時変周期mが素数であること。
(3)時変周期mをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期mをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期mをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
(7)時変周期mをAu×Bvとする。
ただし、A、Bともに、1を除く奇数であり、かつ、素数であり、A≠Bとし、u、vともに1以上の整数。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数。
(9)時変周期mをAu×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数。
となる。ただし、時変周期mが大きければ、実施の形態6等で説明した効果を得ることができるので、時変周期mが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではなく、例えば、時変周期mが偶数のとき、以下のような条件を満たしてもよい。
(10)時変周期mを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(11)時変周期mを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(12)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(13)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(14)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(15)時変周期mを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
(16)時変周期mを2g×Au×Bvとする。
ただし、A、Bともに1を除く奇数であり、かつ、A、Bともには素数であり、A≠Bとし、かつ、u、vともに1以上の整数であり、かつ、gは1以上の整数とする。
(17)時変周期mを2g×Au×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、A、B、Cいずれも素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数であり、かつ、gは1以上の整数とする。
(18)時変周期mを2g×Au×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、A、B、C、Dいずれも素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数とし、かつ、gは1以上の整数とする。
ただし、時変周期mが上記の(1)から(9)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期mが上記の(10)から(18)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
また、時変周期mが小さいと符号化率が小さいとき高いビット誤り率でエラーフロアーを発生する可能性がある。この点が、通信システム、放送システム、ストレージ、メモリ等で使用したとき問題となるとき、時変周期mは3より大きいことが望まれるが、システム上、許容範囲の場合、時変周期mを小さく設定してもよい。
ベースとなる(基礎的な構造となる)、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの、式(A8)の0を満たすパリティ検査多項式を利用して、式(A24)のgαを構成する方法では、式(A26)の0を満たすパリ
ティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCを考えたが、式(A26’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCを考え、式(A26’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCのパリティ検査行列をHt-inv―3とし、式(A26-H)で与え、式(A24)のgαを構成してもよい。
式(A26’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCの第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))ysはys=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Pt-inv―3,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Pt-inv―3,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Pt-inv―3,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Pt-inv―3,s,m×z)T=(λt-inv―3,s,1、λt-inv―3,s,2、・・・、λt-inv―3,s,m×z-1、λt-inv―3,s,m×z)Tとあらわすことができ、Ht-inv―3ys=0が成立する(このとき、「Ht-inv―3ys=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n-1以下の整数)、Pt-inv―3,s,kは式(A26’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCのパリティのビットであり、λt-inv―3,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n-1,k、Pt-inv―3,s,k)である(したがって、n=2のとき、λt-inv―3,s,k=(Xs,1,k、Pt-inv―3,s,k)となり、n=3のとき、λt-inv―3,s,k=(Xs,1,k、Xs,2,k、Pt-inv―3,s,k)となり、n=4のとき、λt-inv―3,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Pt-inv―3,s,k)となり、n=5のとき、λt-inv―3,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Pt-inv―3,s,k)となり、n=6のとき、λt-inv―3,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Pt-inv―3,s,k)となる。)。ただし、k=1、2、・・・、m×z-1、m×z、つまり、kは1以上m×z以下の整数である。
本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を通信システムで用いた場合を一例として考える。なお、LDPC符号を用いたときの通信システムの説明については、実施の形態3、実施の形態13、実施の形態15、実施の形態16、実施の形態17、実施の形態18等で説明しており、本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を通信システムに適用したとき、本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の符号化器、復号化器の特徴は、本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro、および、Hprovs=0の関係に基づき符号化器、復号化器が構成され、動作する点である。
(実施の形態A4)
本実施の形態では、実施の形態A2を一般化した例であり、かつ、実施の形態A3の変形例である、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)について説明する(nは2以上の自然数。)。なお、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)は、実施の形態A1~実施の形態A3と同様、ベースとして(基礎的な構造として)、テイルバイティングを用いた、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの、式(A8)の0を満たすパリティ検査多項式を利用している。なお、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproは、<条件#19>を満たすことになる。したがって、パリティ検査行列Hproの行数はm×z、パリティ検査行列Hproの列数はn×m×zとする。
図129の本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第k行目(kは1以上m×z以下の整数)の1行、n×m×z列のベクトルをgkとすると、図129のパリティ検査行列Hproは式(A21)であらわされる。
iは1以上m×z以下の整数であり、かつ、i≠αであり、これを満たす、すべてのiで式(A22)が成立する。
したがって、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproは式(A24)のようにあらわすことができる。なお、式(A24)において、式(A23)が成立することになる。
次に、パリティが逐次的に求めることができ、かつ、良好な誤り訂正能力を得るための、式(A24)のgαの構成方法について説明する。
gαは本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第α行目なので、(行番号-1)%m=(α-1)%mであるので、ベースとなる(基礎的な構造となる)、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの、式(A8)の0を満たすパリティ検査多項式の、(α-1)%m番目のパリティ検査多項式である式(A25)を変形した0を満たすパリティ検査多項式から、gαを生成するものとする。(ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「γ%q」は、γをqで除算したときの余りである。(γは0以上の整数、qは自然数である。))例として、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第α行のベクトルgαを生成するための0を満たすパリティ検査多項式は、式(A25)を利用し、次式とする。
実施の形態3、実施の形態15にしたがった、式(A27)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCを考える。
このとき、式(A27)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCのパリティ検査行列をHt-inv―4とする。そして、パリティ検査行列Ht-inv―4の行数はm×z、パリティ検査行列Ht-inv―4の列数はn×m×zとしたとき、Ht-inv―4を次式であらわす。
よって、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第α行は、式(A27)の0を満たすパリティ検査多項式Tを変換することで得られる(つまり、1行、n×m×z列のgαが得られる。)。
本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Ppro,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Ppro,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z-1、λpro,s,m×z)Tであらわされ、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z-1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z-2番目:「第m×z-2番目の0を満たすパリティ検査多項式」
m×z-1番目:「第m×z-1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、上述からわかるように、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproを式(A21)のようにあらわした場合、パリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。)
すると、本実施の形態の提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす0番目のパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第α―1番目の0を満たすパリティ検査多項式は、「式(A27)の0を満たすパリティ検査多項式T」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
「第α―1番目の0を満たすパリティ検査多項式は、「式(A27)の0を満たすパリティ検査多項式T」であり、eが0以上m×z-1の整数であり、e≠α―1のとき、第e番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすe%m番目のパリティ検査多項式」
となる。
なお、上述の説明において、<条件#20-4><条件#20-5><条件#20-6>の3つの条件のうち、一つ以上の条件を満たすと高い誤り訂正能力を得られる可能性があるが、満たさなくても高い誤り訂正能力が得られることもある。
以上のように、本実施の形態における符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)は、高い誤り訂正能力が得られるとともに、複数のパリティを逐次的に求めることが可能となるため、符号化器の回路規模を小さくすることができるという利点をもつことになる。
(1)時変周期mが素数であること。
(3)時変周期mをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期mをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期mをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
(7)時変周期mをAu×Bvとする。
ただし、A、Bともに、1を除く奇数であり、かつ、素数であり、A≠Bとし、u、vともに1以上の整数。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数。
(9)時変周期mをAu×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数。
となる。ただし、時変周期mが大きければ、実施の形態6等で説明した効果を得ることができるので、時変周期mが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではなく、例えば、時変周期mが偶数のとき、以下のような条件を満たしてもよい。
(10)時変周期mを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(11)時変周期mを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(12)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(13)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(14)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(15)時変周期mを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
(16)時変周期mを2g×Au×Bvとする。
ただし、A、Bともに1を除く奇数であり、かつ、A、Bともには素数であり、A≠Bとし、かつ、u、vともに1以上の整数であり、かつ、gは1以上の整数とする。
(17)時変周期mを2g×Au×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、A、B、Cいずれも素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数であり、かつ、gは1以上の整数とする。
(18)時変周期mを2g×Au×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、A、B、C、Dいずれも素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数とし、かつ、gは1以上の整数とする。
ただし、時変周期mが上記の(1)から(9)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期mが上記の(10)から(18)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
また、時変周期mが小さいと符号化率が小さいとき高いビット誤り率でエラーフロアーを発生する可能性がある。この点が、通信システム、放送システム、ストレージ、メモリ等で使用したとき問題となるとき、時変周期mは3より大きいことが望まれるが、システム上、許容範囲の場合、時変周期mを小さく設定してもよい。
ベースとなる(基礎的な構造となる)、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの、式(A8)の0を満たすパリティ検査多項式を利用して、式(A24)のgαを構成する方法では、式(A27)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCを考えたが、式(A27’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCを考え、式(A27’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCのパリティ検査行列をHt-inv―4とし、式(A27-H)で与え、式(A24)のgαを構成してもよい。
このとき、パリティ検査行列Ht-inv―4の第k行目(kは1以上m×z以下の整数)の1行、n×m×z列のベクトルがc4,kである。なお、kは1以上m×z以下の整数で、これを満たす、すべてのkにおいて、ベクトルc4,kは式(A27’)の0を満たすパリティ検査多項式を変換することで得られるベクトルである。(したがって、時不変のLDPC-CCということになる。)
式(A27’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCの第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))ysはys=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Pt-inv―4,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Pt-inv―4,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Pt-inv―4,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Pt-inv―4,s,m×z)T=(λt-inv―4,s,1、λt-inv―4,s,2、・・・、λt-inv―4,s,m×z-1、λt-inv―4,s,m×z)Tとあらわすことができ、Ht-inv―4ys=0が成立する(このとき、「Ht-inv―4ys=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n-1以下の整数)、Pt-inv―4,s,kは式(A27’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n-1)/nのテイルバイティングを行った(時不変)LDPC-CCのパリティのビットであり、λt-inv―4,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n-1,k、Pt-inv―4,s,k)である(したがって、n=2のとき、λt-inv―4,s,k=(Xs,1,k、Pt-inv―4,s,k)となり、n=3のとき、λt-inv―4,s,k=(Xs,1,k、Xs,2,k、Pt-inv―4,s,k)となり、n=4のとき、λt-inv―4,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Pt-inv―4,s,k)となり、n=5のとき、λt-inv―4,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Pt-inv―4,s,k)となり、n=6のとき、λt-inv―4,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Pt-inv―4,s,k)となる。)。ただし、k=1、2、・・・、m×z-1、m×z、つまり、kは1以上m×z以下の整数である。
本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を通信システムで用いた場合を一例として考える。なお、LDPC符号を用いたときの通信システムの説明については、実施の形態3、実施の形態13、実施の形態15、実施の形態16、実施の形態17、実施の形態18等で説明しており、本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を通信システムに適用したとき、本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の符号化器、復号化器の特徴は、本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro、および、Hprovs=0の関係に基づき符号化器、復号化器が構成され、動作する点である。
施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vs=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Ppro,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Ppro,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z-1、λpro,s,m×z)Tを生成し、出力する。なお、上述で説明したように、パリティは逐次的に求めることができることが、本実施の形態で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の特徴となる。
(実施の形態B1)
本実施の形態では、実施の形態A1で述べた符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列の具体的な構成例について説明する。
実施の形態A1で説明したように、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproとすると、Hproの列数はn×m×zとあらわすことができる(zは自然数)。(なお、mは、ベースとなる符号化率R=(n-1)/n、パリティ検査多項式に基づくLDPC-CCの時変周期である。)
よって、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Ppro,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Ppro,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z-1、λpro,s,m×z)Tとあらわすことができ、Hprovs=0が成立する(このとき、「Hprovs=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n-1以下の整数)、Ppro,s,kは提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n-1,k、Ppro,s,k)である(したがって、n=2のとき、λpro,s,k=(Xs,1,k、Ppro,s,k)となり、n=3のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Ppro,s,k)となり、n=4のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Ppro,s,k)となり、n=5のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Ppro,s,k)となり、n=6のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Ppro,s,k)となる。)。ただし、k=1、2、・・・、m×z-1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる。
本実施の形態では、式(A8)で示した、i番目の0を満たすパリティ検査多項式を次式のようにあらわす。
列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Ppro,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Ppro,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z-1、λpro,s,m×z)Tであり、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z-1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z-2番目:「第m×z-2番目の0を満たすパリティ検査多項式」
m×z-1番目:「第m×z-1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A1参照)
上述の説明、および、実施の形態A1から、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m-2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-2番目のパリティ検査多項式」であり、
第m-1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目の
パリティ検査多項式」であり、
・
・
・
第2m-2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-2番目のパリティ検査多項式」であり、
第2m-1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
「第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、第e番目(eは1以上m×z-1の整数)の0を満たすパリティ検査多項式は、「式(B1)の0を満たすe%m番目のパリティ検査多項式」
となる。
本実施の形態では、上述の場合のパリティ検査行列の構成について、詳しく説明する。
そして、第fブロック内には、時点1からm×zまで存在する。(なお、この点については、実施の形態A1でも同様である。)上述において、kが「時点」を表現していることになる。したがって、時点kの情報X1、X2,、・・・、Xn-1およびパリティPproは、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n-1,k、Ppro,f,k)となる。
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式である式(B1)に対応するサブ行列(ベクトル)をHiとすると、第iサブ行列は次式のようにあらわすことができる。
上記で定義した送信系列vfに対応する改良したテイルバイティングを行った際の、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのうち、時点m×z近辺のパリティ検査行列Hproを図130に示す。図130に示すように、パリティ検査行列Hproにおいて、第δ行と第δ+1行とでは、サブ行列がn列右にシフトした構成となる(図130参照)。
符号13107は時点m×z-1に相当する列群を示しており、符号13107の列群は、Xf,1,m×z-1に対応する列、Xf,2,m×z-1に対応する列、・・・、Xf,n-1,m×z-1に対応する列、Ppro,f,m×z-1に対応する列の順に並んでいる。符号13108は時点m×zに相当する列群を示しており、符号13108の列群は、Xf,1,m×zに対応する列、Xf,2,m×zに対応する列、・・・、Xf,n-1,m×zに対応する列、Ppro,f,m×zに対応する列の順に並んでいる。符号13109は時点1に相当する列群を示しており、符号13109の列群は、Xf,1,1に対応する列、Xf,2,1に対応する列、・・・、Xf,n-1,1に対応する列、Ppro,f,1に対応する列の順に並んでいる。符号13110は時点2に相当する列群を示しており、符号13110の列群は、Xf,1,2に対応する列、Xf,2,2に対応する列、・・・、Xf,n-1,2に対応する列、Ppro,f,2に対応する列の順に並んでいる。
すると、図131の符号13112の図130のようにパリティ検査行列をあらわしたときの1行目に相当する行は、式(B5)を用いてあらわすことができる(図131の符号13112参照)そして、図131の符号13112(図130のようにパリティ検査行列をあらわしたときの1行目に相当する行)を除く行は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式である式(B1)のいずれかの0を満たすパリティ検査多項式に相当する行となる。(この点については、上述で説明したとおりである。)
以上について、図130を用いて補足説明をすると、図130には記載していないが、図130のようにあらわした、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproにおいて、第1行を抽出して得られるベクトルは、0を満たすパリティ検査多項式である式(B2)に相当するベクトルとなる。
上述では、第f番目のブロックの送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n-1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n-1,2、Ppro,f,2、・・・、Xf,1,m×z-1、Xf,2,m×z-1、・・・、Xf,n-1,m×z-1、Ppro,f,m×z-1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n-1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z-1、λpro,f,m×z)Tであり、Hprovf=0(なお、「Hprovf=0(ゼロ)の「0(ゼロ)」」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hproの構成について説明したが、以降では、第f番目のブロックの送信系列(符号化系列(符号語))ufはuf=(Xf,1,1、Xf,1,2、・・・、Xf,1,m×z、Xf,2,1、Xf,2,2、・・・、Xf,2,m×z、・・・、Xf,n-2,1、Xf,n-2,2、・・・、Xf,n-2,m×z、Xf,n-1,1、Xf,n-1,2、・・・、Xf,n-1,m×z、Ppro,f,1、Ppro,f,2、・・・、Ppro,f,m×z)T=(ΛX1,f、ΛX2,f、ΛX3,f、・・・、ΛXn-2,f、ΛXn-1,f、Λpro,f)Tとあらわされたとき、Hpro_muf=0(なお、「Hpro_muf=0(ゼロ)の「0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mの構成について説明する。
実施の形態A1および上述の説明と同様、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第fブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))ufはuf=(Xf,1,1、Xf,1,2、・・・、Xf,1,m×z、Xf,2,1、Xf,2,2、・・・、Xf,2,m×z、・・・、Xf,n-2,1、Xf,n-2,2、・・・、Xf,n-2,m×z、Xf,n-1,1、Xf,n-1,2、・・・、Xf,n-1,m×z、Ppro,f,1、Ppro,f,2、・・・、Ppro,f,m×z)T=(ΛX1,f、ΛX2,f、ΛX3,f、・・・、ΛXn-2,f、ΛXn-1,f、Λpro,f)Tであり、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z-1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z-2番目:「第m×z-2番目の0を満たすパリティ検査多項式」
m×z-1番目:「第m×z-1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第fブロックの送信系列(符号化系列(符号語))ufを得ることになる。(なお、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A1と同様である。)
よって、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用
いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m-2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-2番目のパリティ検査多項式」であり、
第m-1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m-2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-2番目のパリティ検査多項式」であり、
第2m-1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、第e番目(eは1以上m×z-1以下の整数)の0を満たすパリティ検査多項式は、「式(B1)の0を満たすe%m番目のパリティ検査多項式」
となる。
図133は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示している。
・
・
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m-1行目を構成するベクトルは、第m-2番目の0を満たすパリティ検査多項式、つまり、「式(B1)の0を満たすm-2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第2m-1行目を構成するベクトルは、第2m-2番目の0を満たすパリティ検査多項式、つまり、「式(B1)の0を満たすm-2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m×z-1行目を構成するベクトルは、第m×z-2番目の0を満たすパリティ検査多項式、つまり、「式(B1)の0を満たすm-2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m×z行目を構成するベクトルは、第m×z-1番目の0を満たすパリティ検査多項式、つまり、「式(B1)の0を満たすm-1番目のパリティ検査多項式」のパリテ
ィに関連する項から生成することができる。
「提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第1行目を構成するベクトルは、第0番目の0を満たすパリティ検査多項式、つまり、「式(B2)の0を満たすパリティ検査多項式」のパリティに関連する項から生成することができ、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第e+1行目(eは1以上m×z-1以下の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B1)の0を満たすe%m番目のパリティ検査多項式」のパリティに関連する項から生成することができる。」
なお、mは、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/nのパリティ検査多項式に基づくLDPC-CCの時変周期である。
したがって、パリティPproに関連する部分行列Hpの第1行目において、要素が「1」を満たす場合は、
[j]において、式(B6)以外の要素は「0」なる。つまり、jは1以上m×z以下の整数であり、かつ、j≠1を満たす、すべてのjにおいて、Hp,comp[1][j]=0
となる。なお、式(B6)は、式(B2)におけるD0P(D)(=P(D))に相当する要素である(図133参照)。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの行と、式(B1)、および、式(B2)のパリティ検査多項式の関係は、図133に示したようになり、この点は、実施の形態A1等で説明した図128と同様である。
次に、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの各要素の値について説明する(qは1以上n-1以下の整数)。
図134に提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの構成を示す。
図134に示すように、「提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第1行目を構成するベクトルは、第0番目の0を満たすパリティ検査多項式、つまり、「式(B2)の0を満たすパリティ検査多項式」の情報Xqに関連する項から生成することができ、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第e+1行目(eは1以上m×z-1以下の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B1)の0を満たすe%m番目のパリティ検査多項式」の情報Xqに関連する項から生成することができる。」
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1のi行j列の要素をHx,1,comp[i][j](iおよびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z-1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、情報X1に関連する部分行列Hx,1の第1行目において、要素が「1」を満たす場合は、
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCにおいて、0を満たすパリティ検査多項式が、式(B1)および式(B2)を満たすとき、情報X1に関連する部分行列Hx,1の第s行目において、(sは2以上m×z以下の整数)(s-1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報X1に関連する部分行列Hx,1の第s行目に関連するパリティ検査多項式は、式(B1)から、式(B7)とあらわされる。
なお、式(B12)は、式(B7)におけるD0X1(D)(=X1(D))に相当する要素であり(図134の行列の対角成分の「1」に相当する)、また、式(B13-1,B13-2)における分類は、情報X1に関連する部分行列Hx,1の行は1からm×zまで存在し、列も1からm×zまで存在するからである。
上述では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の構成について説明したが、以下では、提案する符号化率R=(n-1)/
nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xq(qは1以上n-1以下の整数)に関連する部分行列Hx,qの構成について説明する。(部分行列Hx,qの構成は、上述の部分行列Hx,1の説明と同様に、説明することができる。)
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの構成は、図134のとおりである。
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCにおいて、0を満たすパリティ検査多項式が、式(B1)および式(B2)を満たすとき、情報Xqに関連する部分行列Hx,qの第1行目のパリティ検査行列は、式(B2)となる。
したがって、情報Xqに関連する部分行列Hx,qの第1行目において、要素が「1」を満たす場合は、
となる。そして、情報Xqに関連する部分行列Hx,qの第1行のHx, q,comp[1][j]において、式(B14)、式(B15)以外の要素は「0」なる。つまり、{j≠1}、かつ、{j≠1-aq,0,y+m×zを、すべてのyで満たす。ただし、yは1以上rq以下の整数。}を満たす、すべてのj(ただし、jは1以上m×z以下の整数)において、Hx, q,comp[1][j]=0となる。
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCにおいて、0を満たすパリティ検査多項式が、式(B1)および式(B2)を満たすとき、情報Xqに関連する部分行列Hx,qの第s行目において、(sは2以上m×z以下の整数)(s-1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xqに関連する部分行列Hx,qの第s行目に関連するパリティ検査多項式は、式(B1)から、式(B7)とあらわされる。
したがって、情報Xqに関連する部分行列Hx,qの第s行目において、要素が「1」を満たす場合は、
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの行と、式(B1)、および、式(B2)のパリティ検査多項式の関係は、図134に示したようになり、この点は、実施の形態A1等で説明した図128と同様である。
上記では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mの構成について説明した。以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mと等価なパリティ検査行列の生成方法について説明する。(なお、実施の形態17等の説明にもとづいている。)
図105は、符号化率(N-M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列Hの構成を示しており、例えば、図105のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mを、図105のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図105の)Hとなる。以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列をHと記載することにする。)
図105において、第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)とする(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報(X1からXn-1)またはパリティとなる。
そして、第j番目のブロックの送信系列vjの第k行目(ただし、kは、1以上N以下の整数)の要素(図105において、送信系列vjの転置行列vj Tの場合、第k列目の要素)は、Yj,kであるとともに、符号化率(N-M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)Hの第k列目を抽出したベクトルを図105のようにckとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)Hは、以下のようにあらわされる。
(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列と等価のパリティ検査行列H’)について、図107を用いて説明する。
成を示す。このとき、第j番目のブロックの送信系列v’jの第1行目の要素(図107において、送信系列v’jの転置行列v’j Tの場合、第1列目の要素)は、Yj,32である。したがって、パリティ検査行列H’の第1列目を抽出したベクトルは、上述で説明したベクトルck(k=1、2、3、・・・、N-2、N-1、N)を用いると、c32となる。同様に、第j番目のブロックの送信系列v’jの第2行目の要素(図107において、送信系列v’jの転置行列v’j Tの場合、第2列目の要素)は、Yj,99である。したがって、パリティ検査行列H’の第2列目を抽出したベクトルは、c99となる。また、図107から、パリティ検査行列H’の第3列目を抽出したベクトルは、c23となり、パリティ検査行列H’の第N-2列目を抽出したベクトルは、c234となり、パリティ検査行列H’の第N-1列目を抽出したベクトルは、c3となり、パリティ検査行列H’の第N列目を抽出したベクトルは、c43となる。
よって、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’は、以下
のようにあらわされる。
とする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる。
例えば、蓄積および並び替え部(デインタリーブ部)10802は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を入力とし、並び替えを行い、Yj,1の対数尤度比、Yj,2の対数尤度比、Yj,3の対数尤度比、・・・、Yj,N-2の対数尤度比、Yj,N-1の対数尤度比、Yj,Nの対数尤度比の順に出力するものとする。
例えば、送信装置が、第jブロックの送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したもの
とする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
したがって、符号化率(n-1)/nの提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率(n-1)/nの提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、列並び替え(列置換)を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
上述では、送信系列のインタリーブとパリティ検査行列の関係について説明したが、以降では、パリティ検査行列における行並び替え(行置換)について説明する。
図109は、符号化率(N-M)/NのLDPC(ブロック)符号の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)に対応するパリティ検査行列Hの構成を示している。例えば、図109のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mを、図109のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図109の)Hとなる。以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列をHと記載することにする。)(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報XまたはパリティP(パリティPpro)となる。そして、Yj,kは、(N-M)個の情報とM個のパリティで構成されていることになる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)Hは、以下のようにあらわされる。
図110は図109のパリティ検査行列Hに対し、行並び替え(行置換)を行ったパリティ検査行列H’の一例を示しており、パリティ検査行列H’は、図109と同様、符号化率(N-M)/NのLDPC(ブロック)符号(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC)の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)に対応するパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)となる。
つまり、第j番目のブロックの送信系列vj Tのとき、図110のパリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、図110のパリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM-2、zM-1、zM、がそれぞれ一つ存在することになる。
したがって、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCを用いていても、実施の形態A1で説明したパリティ検査行列、および、図130から図134を用いて説明したパリティ検査行列を、送信装置、および、受信装置で用いているとは限らない。よって、例えば、実施の形態A1で説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)を行った行列、または、行並び替え(行置換)を行った行列、および、図130から図134を用いて説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)を行った行列、または、行並び替え(行置換)を行った行列をパリティ検査行列として、送信装置、および、受信装置は、使用してもよい。
このとき、実施の形態A1で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H1を得る。そして、パリティ検査行列H1に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H2を得、送信装置、および、受信装置は、パリティ検査行列H2を用いて、符号化、復号化を行ってもよい。
また、実施の形態A1で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H2,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H2,sを得る。このとき、パリティ検査行列H2,k-1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H1,kを得る。そして、パリティ検査行列H1,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H2,kを得ることになる。なお、1回目については、実施の形態A1で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H2,1を得ることになる。
別の方法として、実施の形態A1で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3を得る。そして、パリティ検査行列H3に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4を得、送信装置、および、受信装置は、パリティ検査行列H4を用いて、符号化、復号化を行ってもよい。
また、実施の形態A1で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H4,sを得る。このとき、パリティ検査行列H4,k-1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H3,kを得る。そして、パリティ検査行列H3,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H4,kを得ることになる。なお、1回目については、実施の形態A1で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H4,1を得ることになる。
なお、パリティ検査行列H2、パリティ検査行列H2,s、パリティ検査行列H4、パリティ検査行列H4,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A1で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列、または、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130から図134を用いて説明したパリティ検査行列を得ることができる。
同様に、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130から図134を用いて説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
このとき、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130から図134を用いて説明したパリティ検査行列に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H5を得る。そして、パリティ検査行列H5に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H6を得、送信装置、および、受信装置は、パリティ検査行列H6を用いて、符号化、復号化を行ってもよい。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130から図134を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H6,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H6,sを得る。このとき、パリティ検査行列H6,k-1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H5,kを得る。そして、パリティ検査行列H5,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H6,kを得ることになる。なお、1回目については、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130から図134を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H6,1を得ることになる。
別の方法として、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130から図134を用いて説明したパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7を得る。そして、パリティ検査行列H7に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8を得、送信装置、および、受信装置は、パリティ検査行列H8を用いて、符号化、復号化を行ってもよい。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130から図134を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H8,sを得る。このとき、パリティ検査行列H8,k-1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H7,kを得る。そして、パリティ検査行列H7,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H8,kを得ることになる。なお、1回目については、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130から図134を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H8,1を得ることになる。
なお、パリティ検査行列H6、パリティ検査行列H6,s、パリティ検査行列H8、パリティ検査行列H8,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A1で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列、または、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130から図134を用いて説明したパリティ検査行列を得ることができる。
上述の説明では、実施の形態A1で述べた符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列の構成方法の一例を説明した。このとき、符号化率は、R=(n-1)/nであり、nは2以上の整数であり、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式は、式(A8)のようにあらわされる。
したがって、実施の形態A1における、提案する符号化率R=1/2の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A19)は次式であらわされることになる。(式(B22)の0番目を利用することになる。)
n=3、つまり、符号化率R=2/3のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=4、つまり、符号化率R=3/4のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=5、つまり、符号化率R=4/5のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=6、つまり、符号化率R=5/6のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=8、つまり、符号化率R=7/8のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=9、つまり、符号化率R=8/9のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=10、つまり、符号化率R=9/10のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
なお、本実施の形態において、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B1)および式(B2)をあつかったが、パリティ検査多項式は、式(B1)、式(B2)に限ったものではない。例えば、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式として、式(B1)の代わりに次式を扱ってもよい。
したがって、実施の形態A1における、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A19)は次式であらわされることになる。(式(B40)の0番目を利用することになる。)
したがって、実施の形態A1における、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A19)は次式であらわされることになる。(式(B42)の0番目を利用することになる。)
「高い誤り訂正能力を得るために、r1、r2、・・・、rn-2、rn-1いずれも3以上に設定する(1以上n-1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B1)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn-2、rn-1いずれも3以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B2)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B1)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B2)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B1-1-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1-1-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B1-1-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1-1-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B1-1-1>から<条件B1-1-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B1-1’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B1-1’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B1-1’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B1-1’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B1-2-1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B1-2-2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B1-2-k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B1-2-(n-1)>
「vn-1,1≠0、かつ、vn-1,2≠0が成立する。」
かつ
「vn-1,1≠vn-1,2が成立する。」
そして、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn-1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B1-3-1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa-1
vは3以上r1以下の整数であり、すべてのvで「条件#Xa-1」を満たすことはない。
<条件B1-3-2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa-2
vは3以上r2以下の整数であり、すべてのvで「条件#Xa-2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B1-3-k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa-k
vは3以上rk以下の整数であり、すべてのvで「条件#Xa-k」を満たすことはない。
(kは、1以上n-1以下の整数)
・
・
・
<条件B1-3-(n-1)>
「an-1,g,v%m=an-1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan-1,g,v%m=an-1,h,v%mが成立する。)・・・条件#Xa-(n-1)
vは3以上rn-1以下の整数であり、すべてのvで「条件#Xa-(n-1)」を満たすことはない。
なお、<条件B1-3-1>から<条件B1-3-(n-1)>を別の表現をすると以下のような条件となる。
<条件B1-3’-1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-1
vは3以上r1以下の整数であり、すべてのvで「条件#Ya-1」を満たす。
<条件B1-3’-2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya-2
vは3以上r2以下の整数であり、すべてのvで「条件#Ya-2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B1-3’-k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya-k
vは3以上rk以下の整数であり、すべてのvで「条件#Ya-k」を満たす。
(kは、1以上n-1以下の整数)
・
・
・
<条件B1-3’-(n-1)>
「an-1,g,v%m≠an-1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、an-1,g,v%m≠an-1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-(n-1)
vは3以上rn-1以下の整数であり、すべてのvで「条件#Ya-(n-1)」を満たす。
<条件B1-4-1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B1-4-2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B1-5-1>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B1-4-1>で定義している。
<条件B1-5-2>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B1-4-2>で定義している。
なお、<条件B1-5-1>、<条件B1-5-2>を別の表現をすると、<条件B1-5-1’>、<条件B1-5-2’>となる。
<条件B1-5-1’>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B1-5-2’>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B1-5-1><条件B1-5-1’>を別の表現をすると、<条件B1-5-1”>となり、<条件B1-5-2><条件B1-5-2’>を別の表現をすると、<条件B1-5-2”>。
<条件B1-5-1”>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B1-5-2”>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B38)および式(B39)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B38)および式(B39)の条件の例について説明する。
「高い誤り訂正能力を得るために、r1、r2、・・・、rn-2、rn-1いずれも4以上に設定する(1以上n-1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B1)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn-2、rn-1いずれも4以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B39)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B38)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B39)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用い
たLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B1-6-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m-2,3%m=a1,m-1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1-6-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m-2,3%m=a2,m-1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B1-6-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m-2,3%m=ak,m-1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1-6-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
「an-1,0,3%m=an-1,1,3%m=an-1,2,3%m=an-1,3,3%m=・・・=an-1,g,3%m=・・・=an-1,m-2,3%m=an-1,m-1,3%m=vn-1,3 (vn-1,3:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B1-6-1>から<条件B1-6-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B1-6’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B1-6’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B1-6’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B1-6’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B1-7-1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B1-7-2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B1-7-k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B1-7-(n-1)>
「vn-1,1≠vn-1,2、vn-1,1≠vn-1,3、vn-1,2≠vn-1,3が成立する。」
そして、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn-1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B1-8-1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa-1
vは4以上r1以下の整数であり、すべてのvで「条件#Xa-1」を満たすことはない。
<条件B1-8-2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa-2
vは4以上r2以下の整数であり、すべてのvで「条件#Xa-2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B1-8-k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa-k
vは4以上rk以下の整数であり、すべてのvで「条件#Xa-k」を満たすことはない。
(kは、1以上n-1以下の整数)
・
・
・
<条件B1-8-(n-1)>
「an-1,g,v%m=an-1,h,v%m for ∀g∀h g,h=0,1,2,
・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan-1,g,v%m=an-1,h,v%mが成立する。)・・・条件#Xa-(n-1)
vは4以上rn-1以下の整数であり、すべてのvで「条件#Xa-(n-1)」を満たすことはない。
なお、<条件B1-8-1>から<条件B1-8-(n-1)>を別の表現をすると以下のような条件となる。
<条件B1-8’-1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-1
vは4以上r1以下の整数であり、すべてのvで「条件#Ya-1」を満たす。
<条件B1-8’-2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya-2
vは4以上r2以下の整数であり、すべてのvで「条件#Ya-2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B1-8’-k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya-k
vは4以上rk以下の整数であり、すべてのvで「条件#Ya-k」を満たす。
(kは、1以上n-1以下の整数)
・
・
・
<条件B1-8’-(n-1)>
「an-1,g,v%m≠an-1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、an-1,g,v%m≠an-1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-(n-1)
vは4以上rn-1以下の整数であり、すべてのvで「条件#Ya-(n-1)」を満たす。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B40)および式(B41)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B40)および式(B41)の条件の例について説明する。
上述で説明したように、式(B40)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B41)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B1-9-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1-9-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1 (v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2 (v2,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B1-9-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1 (vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2 (vk,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1-9-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B1-9-1>から<条件B1-9-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B1-9’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B1-9’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B1-9’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B1-9’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B1-10-1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B1-10-2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B1-10-k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B1-10-(n-1)>
「vn-1,1≠0、かつ、vn-1,2≠0が成立する。」
かつ
「vn-1,1≠vn-1,2が成立する。」
このようにすることで、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn-1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
<条件B1-11-1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B1-11-2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B1-12-1>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B1-11-1>で定義している。
<条件B1-12-2>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B1-11-2>で定義している。
なお、<条件B1-12-1>、<条件B1-12-2>を別の表現をすると、<条件B1-12-1’>、<条件B1-12-2’>となる。
<条件B1-12-1’>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B1-12-2’>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B1-12-1><条件B1-12-1’>を別の表現をすると、<条件B1-12-1”>となり、<条件B1-12-2><条件B1-12-2’>を別の表現をすると、<条件B1-12-2”>。
<条件B1-12-1”>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B1-12-2”>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B42)および式(B43)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B42)および式(B43)の条件の例について説明する。
上述で説明したように、式(B42)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B43)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B1-13-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m-2,3%m=a1,m-1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング
方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1-13-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m-2,3%m=a2,m-1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B1-13-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m-2,3%m=ak,m-1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1-13-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
「an-1,0,3%m=an-1,1,3%m=an-1,2,3%m=an-1,3,3%m=・・・=an-1,g,3%m=・・・=an-1,m-2,3%m=an-1,m-1,3%m=vn-1,3 (vn-1,3:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B1-13-1>から<条件B1-13-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B1-13’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B1-13’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B1-13’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B1-13’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B1-14-1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B1-14-2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B1-14-k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B1-14-(n-1)>
「vn-1,1≠vn-1,2、vn-1,1≠vn-1,3、vn-1,2≠vn-1,3が成立する。」
このようにすることで、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn-1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
(実施の形態B2)
本実施の形態では、実施の形態A2で述べた符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列の具体的な構成例について説明する。
実施の形態A2で説明したように、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproとすると、Hproの列数はn×m×zとあらわすことができる(zは自然数)。(なお、mは、ベースとなる符号化率R=(n-1)/n、パリティ検査多項式に基づくLDPC-CCの時変周期である。)
よって、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Ppro,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Ppro,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z-1、λpro,s,m×z)Tとあらわすことができ、Hprovs=0が成立する(このとき、「Hprovs=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n-1以下の整数)、Ppro,s,kは提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n-1,k、Ppro,s,k)である(したがって、n=2のとき、λpro,s,k=(Xs,1,k、Ppro,s,k)となり、n=3のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Ppro,s,k)となり、n=4のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Ppro,s,k)となり、n=5のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Ppro,s,k)となり、n=6のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Ppro,s,k)となる。)。ただし、k=1、2、・・・、m×z-1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる。
本実施の形態では、式(A8)で示した、i番目の0を満たすパリティ検査多項式を次
式のようにあらわす。
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z-2番目:「第m×z-2番目の0を満たすパリティ検査多項式」
m×z-1番目:「第m×z-1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を
用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A2参照)
上述の説明、および、実施の形態A2から、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B46)の0を満たすパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m-2番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすm-2番目のパリティ検査多項式」であり、
第m-1番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすm-1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m-2番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすm-2番目のパリティ検査多項式」であり、
第2m-1番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすm-1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすm-2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
「第0番目の0を満たすパリティ検査多項式は、「式(B46)の0を満たすパリティ検査多項式」であり、第e番目(eは1以上m×z-1の整数)の0を満たすパリティ検査多項式は、「式(B45)の0を満たすe%m番目のパリティ検査多項式」
となる。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「α%q」は、αをqで除算したときの余りである。(αは0以上の整数、qは自然数である。)
本実施の形態では、上述の場合のパリティ検査行列の構成について、詳しく説明する。
上述で述べたように、式(B45)と式(B46)により定義することができる提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第fブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n-1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n-1,2、Ppro,f,2、・・・、Xf,1,m×z-1、Xf,2,m×z-1、・・・、Xf,n-1,m×z-1、Ppro,f,m×z-1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n-1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z-1、λpro,f,m×z)Tとあらわすことができ、Hprovf=0が成立する(このとき、「Hprovf=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xf,j,kは情報Xjのビットであり(jは1以上n-1以下の整数)、Ppro,f,kは提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n-1,k、Ppro,f,k)である(したがって、n=2のとき、λpro,f,k=(Xf,1,k、Ppro,f,k)となり、n=3のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Ppro,f,k)となり、n=4のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Ppro,f,k)となり、n=5のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Xf,4,k、Ppro,f,k)となり、n=6のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Xf,4,k、Xf,5,k、Ppro,f,k)となる。)。ただし、k=1、2、・・・、m×z-1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる(zは自然数)。なお、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数はm×zであることから、パリティ検査行列をHproには、第1行から第m×z行が存在することになる。そして、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの列数はn×m×zであることから、パリティ検査行列をHproには、第1列から第n×m×z列が存在することになる。
そして、第fブロック内には、時点1からm×zまで存在する。(なお、この点については、実施の形態A2でも同様である。)上述において、kが「時点」を表現していることになる。したがって、時点kの情報X1、X2,、・・・、Xn-1およびパリティPproは、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n-1,k、Ppro,f,k)となる。
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式である式(B44)に対応するサブ行列(ベクトル)をHiとすると、第iサブ行列は次式のようにあらわすことができる。
上記で定義した送信系列vfに対応する改良したテイルバイティングを行った際の、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのうち、時点m×z近辺のパリティ検査行列Hproを図130に示す。図130に示すように、パリティ検査行列Hproにおいて、第δ行と第δ+1行とでは、サブ行列がn列右にシフトした構成となる(図130参照)。
符号13107は時点m×z-1に相当する列群を示しており、符号13107の列群は、Xf,1,m×z-1に対応する列、Xf,2,m×z-1に対応する列、・・・、Xf,n-1,m×z-1に対応する列、Ppro,f,m×z-1に対応する列の順に並んでいる。符号13108は時点m×zに相当する列群を示しており、符号13108の列群は、Xf,1,m×zに対応する列、Xf,2,m×zに対応する列、・・・、Xf,n-1,m×zに対応する列、Ppro,f,m×zに対応する列の順に並んでいる。符号13109は時点1に相当する列群を示しており、符号13109の列群は、Xf,1,1に対応する列、Xf,2,1に対応する列、・・・、Xf,n-1,1に対応する列、Ppro,f,1に対応する列の順に並んでいる。符号13110は時点2に相当する列群を示しており、符号13110の列群は、Xf,1,2に対応する列、Xf,2,2に対応する列、・・・、Xf,n-1,2に対応する列、Ppro,f,2に対応する列の順に並んでいる。
以上について、図130を用いて補足説明をすると、図130には記載していないが、図130のようにあらわした、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproにおいて、第1行を抽出して得られるベクトルは、0を満たすパリティ検査多項式である式(B45)に相当するベクトルとなる。
上述では、第f番目のブロックの送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n-1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n-1,2、Ppro,f,2、・・・、Xf,1,m×z-1、Xf,2,m×z-1、・・・、Xf,n-1,m×z-1、Ppro,f,m×z-1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n-1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z-1、λpro,f,m×z)Tであり、Hprovf=0(なお、「Hprovf=0(ゼロ)の「0(ゼロ)」」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hproの構成について説明したが、以降では、第f番目のブロックの送信系列(符号化系列(符号語))ufはuf=(Xf,1,1、Xf,1,2、・・・、Xf,1,m×z、Xf,2,1、Xf,2,2、・・・、Xf,2,m×z、・・・、Xf,n-2,1、Xf,n-2,2、・・・、Xf,n-2,m×z、Xf,n-1,1、Xf,n-1,2、・・・、Xf,n-1,m×z、Ppro,f,1、Ppro,f,2、・・・、Ppro,f,m×z)T=(ΛX1,f、ΛX2,f、ΛX3,f、・・・、ΛXn-2,f、ΛXn-1,f、Λpro,f)Tとあらわされたとき、Hpro_muf=0(なお、「Hpro_muf=0(ゼロ)の「0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mの構成について説明する
。
実施の形態A2および上述の説明と同様、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第fブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))ufはuf=(Xf,1,1、Xf,1,2、・・・、Xf,1,m×z、Xf,2,1、Xf,2,2、・・・、Xf,2,m×z、・・・、Xf,n-2,1、Xf,n-2,2、・・・、Xf,n-2,m×z、Xf,n-1,1、Xf,n-1,2、・・・、Xf,n-1,m×z、Ppro,f,1、Ppro,f,2、・・・、Ppro,f,m×z)T=(ΛX1,f、ΛX2,f、ΛX3,f、・・・、ΛXn-2,f、ΛXn-1,f、Λpro,f)Tであり、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z-1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z-2番目:「第m×z-2番目の0を満たすパリティ検査多項式」
m×z-1番目:「第m×z-1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第fブロックの送信系列(符号化系列(符号語))ufを得ることになる。(なお、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A2と同様である。)
よって、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m-2番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たすm-2番目のパリティ検査多項式」であり、
第m-1番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たすm-1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m-2番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たすm-2番目のパリティ検査多項式」であり、
第2m-1番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たすm-1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たすm-2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
第0番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすパリティ検査多項式」であり、第e番目(eは1以上m×z-1以下の整数)の0を満たすパリティ検査多項式は、「式(B44)の0を満たすe%m番目のパリティ検査多項式」
となる。
図136は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示している。
・
・
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m-1行目を構成するベクトルは、第m-2番目の0を満たすパリティ検査多項式、つまり、「式(B44)の0を満たすm-2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第2m-1行目を構成するベクトルは、第2m-2番目の0を満たすパリティ検査多項式、つまり、「式(B44)の0を満たすm-2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m×z-1行目を構成するベクトルは、第m×z-2番目の0を満たすパリティ検査多項式、つまり、「式(B44)の0を満たすm-2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
「提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第1行目を構成するベクトルは、第0番目の0を満たすパリティ検査多項式、つまり、「式(B45)の0を満たすパリティ検査多項式」のパリティに関連する項から生成することができ、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第e+1行目(eは1以上m×z-1以下の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B44)の0を満たすe%m番目のパリティ検査多項式」のパリティに関連する項から生成することができる。」
なお、mは、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/nのパリティ検査多項式に基づくLDPC-CCの時変周期である。
図136に提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を
用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示す。提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpのi行j列の要素をHp,comp[i][j](iおよびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z-1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、パリティPproに関連する部分行列Hpの第1行目において、要素が「1」を満たす場合は、
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの行と、式(B44)、および、式(B45)のパリティ検査多項式の関係は、図136に示したようになり、この点は、実施の形態A2等で説明した図128と同様である。
次に、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの各要素の値について説明する(qは1以上n-1以下の整数)。
図137に提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの構成を示す。
図137に示すように、「提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第1行目を構成するベクトルは、第0番目の0を満たすパリティ検査多項式、つまり、「式(B45)の0を満たすパリティ検査多項式」の情報Xqに関連する項から生成することができ、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第e+1行目(eは1以上m×z-1以下の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B44)の0を満たすe%m番目のパリティ検査多項式」の情報Xqに関連する項から生成することができる。」
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1のi行j列の要素をHx,1,comp[i][j](iおよびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z-1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、情報X1に関連する部分行列Hx,1の第1行目において、要素が「1」を満たす場合は、
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCにおいて、0を満たすパリティ検査多項式が、式(B44)および式(B45)を満たすとき、情報X1に関連する部分行列Hx,1の第s行目において、(sは2以上m×z以下の整数)(s-1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報X1に関連する部分行列Hx,1の第s行目に関連するパリティ検査多項式は、式(B44)から、式(B50)とあらわされる。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の行と、式(B44)、および、式(B45)のパリティ検査多項式の関係は、図137(なお、q=1)に示したようになり、この点は、実施の形態A2等で説明した図128と同様である。
上述では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の構成について説明したが、以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xq(qは1以上n-1以下の整数)に関連する部分行列Hx,qの構成について説明する。(部分行列Hx,qの構成は、上述の部分行列Hx,1の説明と同様に、説明することができる。)
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの構成は、図137のとおりである。
したがって、情報Xqに関連する部分行列Hx,qの第1行目において、要素が「1」を満たす場合は、
となる。そして、情報Xqに関連する部分行列Hx,qの第1行のHx, q,comp[1][j]において、式(B57)、式(B58)以外の要素は「0」なる。つまり、{j≠1}、かつ、{j≠1-aq,0,y+m×zを、すべてのyで満たす。ただし、yは1以上rq以下の整数。}を満たす、すべてのj(ただし、jは1以上m×z以下の整数)において、Hx, q,comp[1][j]=0となる。
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCにおいて、0を満たすパリティ検査多項式が、式(B44)および式(B45)を満たすとき、情報Xqに関連する部分行列Hx,qの第s行目において、(sは2以上m×z以下の整数)(s-1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xqに関連する部分行列Hx,qの第s行目に関連するパリティ検査多項式は、式(B44)から、式(B50)とあらわされる。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの行と、式(B44)、および、式(B45)のパリティ検査多項式の関係は、図137に示したようになり、この点は、実施の形態A2等で説明した図128と同様である。
上記では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mの構成について説明した。以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mと等価なパリティ検査行列の生成方法について説明する。(なお、実施の形態17等の説明にもとづいている。)
図105は、符号化率(N-M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列Hの構成を示しており、例えば、図105のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mを、図105のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図105の)Hとなる。以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列をHと記載することにする。)
図105において、第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)とする(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報(X1からXn-1)またはパリティとなる。
そして、第j番目のブロックの送信系列vjの第k行目(ただし、kは、1以上N以下の整数)の要素(図105において、送信系列vjの転置行列vj Tの場合、第k列目の要素)は、Yj,kであるとともに、符号化率(N-M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)Hの第k列目を抽出したベクトルを図105のようにckとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)Hは、以下のようにあらわされる。
(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列と等価のパリティ検査行列H’)について、図107を用いて説明する。
よって、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’は、以下のようにあらわされる。
例えば、蓄積および並び替え部(デインタリーブ部)10802は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を入力とし、並び替えを行い、Yj,1の対数尤度比、Yj,2の対数尤度比、Yj,3の対数尤度比、・・・、Yj,N-2の対数尤度比、Yj,N-1の対数尤度比、Yj,Nの対数尤度比の順に出力するものとする。
例えば、送信装置が、第jブロックの送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものとする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
したがって、符号化率(n-1)/nの提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率(n-1)/nの提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、列並び替え(列置換)を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
上述では、送信系列のインタリーブとパリティ検査行列の関係について説明したが、以降では、パリティ検査行列における行並び替え(行置換)について説明する。
図109は、符号化率(N-M)/NのLDPC(ブロック)符号の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)に対応するパリティ検査行列Hの構成を示している。例えば、図109のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mを、図109のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図109の)Hとなる。以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列をHと記載することにする。)(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報XまたはパリティP(パリティPpro)となる。そして、Yj,kは、(N-M)個の情報とM個のパリティで構成されていることになる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)Hは、以下のようにあらわされる。
図110は図109のパリティ検査行列Hに対し、行並び替え(行置換)を行ったパリティ検査行列H’の一例を示しており、パリティ検査行列H’は、図109と同様、符号化率(N-M)/NのLDPC(ブロック)符号(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC)の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)に対応するパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)となる。
つまり、第j番目のブロックの送信系列vj Tのとき、図110のパリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、図110のパリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM-2、zM-1、zM、がそれぞれ一つ存在することになる。
また、実施の形態A2で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
また、実施の形態A2で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H2,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H2,sを得る。このとき、パリティ検査行列H2,k-1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H1,kを得る。そして、パリティ検査行列H1,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H2,kを得ることになる。なお、1回目については、実施の形態A2で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H2,1を得ることになる。
別の方法として、実施の形態A2で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3を得る。そして、パリティ検査行列H3に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4を得、送信装置、および、受信装置は、パリティ検査行列H4を用いて、符号化、復号化を行ってもよい。
また、実施の形態A2で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H4,sを得る。このとき、パリティ検査行列H4,k-1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H3,kを得る。そして、パリティ検査行列H3,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H4,kを得ることになる。なお、1回目については、実施の形態A2で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H4,1を得ることになる。
なお、パリティ検査行列H2、パリティ検査行列H2,s、パリティ検査行列H4、パリティ検査行列H4,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A2で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列、または、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図136、図137を用いて説明したパリティ検査行列を得ることができる。
同様に、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
このとき、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H5を得る。そして、パリティ検査行列H5に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H6を得、送信装置、および、受信装置は、パリティ検査行列H6を用いて、符号化、復号化を行ってもよい。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H6,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H6,sを得る。このとき、パリティ検査行列H6,k-1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H5,kを得る。そして、パリティ検査行列H5,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H6,kを得ることになる。なお、1回目については、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H6,1を得ることになる。
別の方法として、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7を得る。そして、パリティ検査行列H7に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8を得、送信装置、および、受信装置は、パリティ検査行列H8を用いて、符号化、復号化を行ってもよい。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H8,sを得る。このとき、パリティ検査行列H8,k-1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H7,kを得る。そして、パリティ検査行列H7,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H8,kを得ることになる。なお、1回目については、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H8,1を得ることになる。
なお、パリティ検査行列H6、パリティ検査行列H6,s、パリティ検査行列H8、パリティ検査行列H8,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A2で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列、または、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図136、図137を用いて説明したパリティ検査行列を得ることができる。
上述の説明では、実施の形態A2で述べた符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列の構成方法の一例を説明した。このとき、符号化率は、R=(n-1)/nであり、nは2以上の整数であり、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式は、式(A8)のようにあらわされる。
n=3、つまり、符号化率R=2/3のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=4、つまり、符号化率R=3/4のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=5、つまり、符号化率R=4/5のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=6、つまり、符号化率R=5/6のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=8、つまり、符号化率R=7/8のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=9、つまり、符号化率R=8/9のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=10、つまり、符号化率R=9/10のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
なお、本実施の形態において、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B44)および式(B45)をあつかったが、パリティ検査多項式は、式(B44)、式(B45)に限ったものではない。例えば、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式として、式(B44)の代わりに次式を扱ってもよい。
パリティ検査多項式ごとに、Xk(D)の項数(kは1以上n-1以下の整数)を設定してもよい。すると、例えば、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式として、式(B44)の代わりに次式を扱ってもよい。
したがって、実施の形態A2における、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A20)は次式であらわされることになる。(式(B83)の0番目を利用することになる。)
したがって、実施の形態A2における、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A20)は次式であらわされることになる。(式(B85)の0番目を利用することになる。)
「高い誤り訂正能力を得るために、r1、r2、・・・、rn-2、rn-1いずれも3以上に設定する(1以上n-1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B44)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn-2、rn-1いずれも3以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B45)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B44)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B45)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B2-1-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2-1-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B2-1-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2-1-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B2-1-1>から<条件B2-1-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B2-1’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B2-1’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B2-1’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B2-1’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B2-2-1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B2-2-2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B2-2-k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B2-2-(n-1)>
「vn-1,1≠0、かつ、vn-1,2≠0が成立する。」
かつ
「vn-1,1≠vn-1,2が成立する。」
そして、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn-1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B2-3-1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa-1
vは3以上r1以下の整数であり、すべてのvで「条件#Xa-1」を満たすことはない。
<条件B2-3-2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa-2
vは3以上r2以下の整数であり、すべてのvで「条件#Xa-2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B2-3-k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa-k
vは3以上rk以下の整数であり、すべてのvで「条件#Xa-k」を満たすことはない。
(kは、1以上n-1以下の整数)
・
・
・
<条件B2-3-(n-1)>
「an-1,g,v%m=an-1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan-1,g,v%m=an-1,h,v%mが成立する。)・・・条件#Xa-(n-1)
vは3以上rn-1以下の整数であり、すべてのvで「条件#Xa-(n-1)」を満たすことはない。
なお、<条件B2-3-1>から<条件B2-3-(n-1)>を別の表現をすると以
下のような条件となる。
<条件B2-3’-1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-1
vは3以上r1以下の整数であり、すべてのvで「条件#Ya-1」を満たす。
<条件B2-3’-2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya-2
vは3以上r2以下の整数であり、すべてのvで「条件#Ya-2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B2-3’-k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya-k
vは3以上rk以下の整数であり、すべてのvで「条件#Ya-k」を満たす。
(kは、1以上n-1以下の整数)
・
・
・
<条件B2-3’-(n-1)>
「an-1,g,v%m≠an-1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、an-1,g,v%m≠an-1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-(n-1)
vは3以上rn-1以下の整数であり、すべてのvで「条件#Ya-(n-1)」を満たす。
<条件B2-4-1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B2-4-2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B2-5-1>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B2-4-1>で定義している。
<条件B2-5-2>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B2-4-2>で定義している。
なお、<条件B2-5-1>、<条件B2-5-2>を別の表現をすると、<条件B2-5-1’>、<条件B2-5-2’>となる。
<条件B2-5-1’>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B2-5-2’>
vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B2-5-1><条件B2-5-1’>を別の表現をすると、<条件B2-5-1”>となり、<条件B2-5-2><条件B2-5-2’>を別の表現をすると、<条件B2-5-2”>。
<条件B2-5-1”>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B2-5-2”>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B81)および式(B82)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B81)および式(B82)の条件の例について説明する。
「高い誤り訂正能力を得るために、r1、r2、・・・、rn-2、rn-1いずれも4以上に設定する(1以上n-1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B44)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn-2、rn-1いずれも4以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B82)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B81)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B82)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B2-6-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m-2,3%m=a1,m-1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2-6-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m-2,3%m=a2,m-1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B2-6-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m-2,3%m=ak,m-1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2-6-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
「an-1,0,3%m=an-1,1,3%m=an-1,2,3%m=an-1,3,3%m=・・・=an-1,g,3%m=・・・=an-1,m-2,3%m=an-1,m-1,3%m=vn-1,3 (vn-1,3:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B2-6-1>から<条件B2-6-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B2-6’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B2-6’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B2-6’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B2-6’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B2-7-1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B2-7-2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B2-7-k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B2-7-(n-1)>
「vn-1,1≠vn-1,2、vn-1,1≠vn-1,3、vn-1,2≠vn-1
,3が成立する。」
そして、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn-1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B2-8-1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa-1
vは4以上r1以下の整数であり、すべてのvで「条件#Xa-1」を満たすことはない。
<条件B2-8-2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa-2
vは4以上r2以下の整数であり、すべてのvで「条件#Xa-2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B2-8-k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa-k
vは4以上rk以下の整数であり、すべてのvで「条件#Xa-k」を満たすことはない。
(kは、1以上n-1以下の整数)
・
・
・
<条件B2-8-(n-1)>
「an-1,g,v%m=an-1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan-1,g,v%m=an
-1,h,v%mが成立する。)・・・条件#Xa-(n-1)
vは4以上rn-1以下の整数であり、すべてのvで「条件#Xa-(n-1)」を満たすことはない。
なお、<条件B2-8-1>から<条件B2-8-(n-1)>を別の表現をすると以下のような条件となる。
<条件B2-8’-1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-1
vは4以上r1以下の整数であり、すべてのvで「条件#Ya-1」を満たす。
<条件B2-8’-2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya-2
vは4以上r2以下の整数であり、すべてのvで「条件#Ya-2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B2-8’-k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya-k
vは4以上rk以下の整数であり、すべてのvで「条件#Ya-k」を満たす。
(kは、1以上n-1以下の整数)
・
・
・
<条件B2-8’-(n-1)>
「an-1,g,v%m≠an-1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ
、g≠hであり、an-1,g,v%m≠an-1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-(n-1)
vは4以上rn-1以下の整数であり、すべてのvで「条件#Ya-(n-1)」を満たす。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B83)および式(B84)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B83)および式(B84)の条件の例について説明する。
上述で説明したように、式(B83)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B84)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B2-9-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2-9-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B2-9-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)
のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2-9-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B2-9-1>から<条件B2-9-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B2-9’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B2-9’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B2-9’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B2-9’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B2-10-1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B2-10-2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B2-10-k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B2-10-(n-1)>
「vn-1,1≠0、かつ、vn-1,2≠0が成立する。」
かつ
「vn-1,1≠vn-1,2が成立する。」
このようにすることで、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn-1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
実施の形態1、実施の形態6、実施の形態A2等の説明から、これを実現するために、上記で記載した、vk,1およびvk,2(kは、1以上n-1以下の整数)は、以下の条件を満たすとよい。
<条件B2-11-1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B2-11-2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B2-12-1>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B2-11-1>で定義している。
<条件B2-12-2>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B2-11-2>で定義している。
なお、<条件B2-12-1>、<条件B2-12-2>を別の表現をすると、<条件B2-12-1’>、<条件B2-12-2’>となる。
<条件B2-12-1’>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B2-12-2’>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B2-12-1><条件B2-12-1’>を別の表現をすると、<条件B2-12-1”>となり、<条件B2-12-2><条件B2-12-2’>を別の表現をすると、<条件B2-12-2”>。
<条件B2-12-1”>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B2-12-2”>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B85)および式(B86)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B85)および式(B86)の条件の例について説明する。
上述で説明したように、式(B85)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B86)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B2-13-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m-2,3%m=a1,m-1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2-13-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m-2,3%m=a2,m-1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B2-13-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m-2,3%m=ak,m-1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2-13-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-
1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
「an-1,0,3%m=an-1,1,3%m=an-1,2,3%m=an-1,3,3%m=・・・=an-1,g,3%m=・・・=an-1,m-2,3%m=an-1,m-1,3%m=vn-1,3 (vn-1,3:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B2-13-1>から<条件B2-13-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B2-13’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B2-13’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B2-13’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B2-13’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B2-14-1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B2-14-2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B2-14-k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B2-14-(n-1)>
「vn-1,1≠vn-1,2、vn-1,1≠vn-1,3、vn-1,2≠vn-1,3が成立する。」
このようにすることで、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn-1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
(実施の形態B3)
本実施の形態では、実施の形態A3で述べた符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列の具体的な構成例について説明する。
実施の形態A3で説明したように、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproとすると、Hproの列数はn×m×zとあらわすことができる(zは自然数)。(なお、mは、ベースとなる符号化率R=(n-1)/n、パリティ検査多項式に基づくLDPC-CCの時変周期である。)
よって、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Ppro,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Ppro,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z-1、λpro,s,m×z)Tとあらわすことができ、Hprovs=0が成立する(このとき、「Hprovs=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n-1以下の整数)、Ppro,s,kは提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n-1,k、Ppro,s,k)である(したがって、n=2のとき、λpro,s,k=(Xs,1,k、Ppro,s,k)となり、n=3のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Ppro,s,k)となり、n=4のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Ppro,s,k)となり、n=5のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Ppro,s,k)となり、n=6のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Ppro,s,k)となる。)。ただし、k=1、2、・・・、m×z-1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる。
本実施の形態では、式(A8)で示した、i番目の0を満たすパリティ検査多項式を次式のようにあらわす。
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z-2番目:「第m×z-2番目の0を満たすパリティ検査多項式」
m×z-1番目:「第m×z-1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A3参照)
上述の説明、および、実施の形態A3から、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たす0番目のパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第α―1番目の0を満たすパリティ検査多項式は、「式(B88)の0を満たすパリティ検査多項式」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たすm-2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
「第α―1番目の0を満たすパリティ検査多項式は、「式(B88)の0を満たすパリティ検査多項式」であり、eが0以上m×z-1の整数であり、e≠α―1のとき、第e番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たすe%m番目のパリティ検査多項式」
となる。
本実施の形態では、上述の場合のパリティ検査行列の構成について、詳しく説明する。
上述で述べたように、式(B87)と式(B88)により定義することができる提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第fブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n-1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n-1,2、Ppro,f,2、・・・、Xf,1,m×z-1、Xf,2,m×z-1、・・・、Xf,n-1,m×z-1、Ppro,f,m×z-1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n-1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z-1、λpro,f,m×z)Tとあらわすことができ、Hprovf=0が成立する(このとき、「Hprovf=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xf,j,kは情報Xjのビットであり(jは1以上n-1以下の整数)、Ppro,f,kは提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n-1,k、Ppro,f,k)である(したがって、n=2のとき、λpro,f,k=(Xf,1,k、Ppro,f,k)となり、n=3のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Ppro,f,k)となり、n=4のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Ppro,f,k)となり、n=5のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Xf,4,k、Ppro,f,k)となり、n=6のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Xf,4,k、Xf,5,k、Ppro,f,k)となる。)。ただし、k=1、2、・・・、m×z-1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる(zは自然数)。なお、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数はm×zであることから、パリティ検査行列をHproには、第1行から第m×z行が存在することになる。そして、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの列数はn×m×zであることから、パリティ検査行列をHproには、第1列から第n×m×z列が存在することになる。
そして、第fブロック内には、時点1からm×zまで存在する。(なお、この点については、実施の形態A3でも同様である。)上述において、kが「時点」を表現していることになる。したがって、時点kの情報X1、X2,、・・・、Xn-1およびパリティPproは、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n-1,k、Ppro,f,k)となる。
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式である式(B87)に対応するサブ行列(ベクトル)をHiとすると、第iサブ行列は次式のようにあらわすことができる。
上記で定義した送信系列vfに対応する改良したテイルバイティングを行った際の、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのうち、時点m×z近辺のパリティ検査行列Hproを図130に示す。図130に示すように、パリティ検査行列Hproにおいて、第δ行と第δ+1行とでは、サブ行列がn列右にシフトした構成となる(図130参照)。
次に、送信系列の順番を入れ替え、vf=(・・・、Xf,1,m×z-1、Xf,2,m×z-1、・・・、Xf,n-1,m×z-1、Ppro,f,m×z-1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n-1,m×z、Ppro,f,m×z、Xf,1,1、Xf,2,1、・・・、Xf,n-1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n-1,2、Ppro,f,2、・・・)Tに対応するパリティ検査行列のうち時点m×z-1、m×z、1、2近辺のパリティ検査行列の一例を図138に示す。なお、図138において、図131と同様の番号を付している。このとき、図138で示したパリティ検査行列の部分が、改良したテイルバイティングを行ったときの特徴的な部分となる。図138に示すように、送信系列の順番を入れ替えたときのパリティ検査行列Hproにおいて、第δ行と第δ+1行とでは、サブ行列がn列右にシフトした構成となる(図138参照)。
符号13107は時点m×z-1に相当する列群を示しており、符号13107の列群は、Xf,1,m×z-1に対応する列、Xf,2,m×z-1に対応する列、・・・、Xf,n-1,m×z-1に対応する列、Ppro,f,m×z-1に対応する列の順に並んでいる。符号13108は時点m×zに相当する列群を示しており、符号13108の列群は、Xf,1,m×zに対応する列、Xf,2,m×zに対応する列、・・・、Xf,n-1,m×zに対応する列、Ppro,f,m×zに対応する列の順に並んでいる。符号13109は時点1に相当する列群を示しており、符号13109の列群は、Xf,1,1に対応する列、Xf,2,1に対応する列、・・・、Xf,n-1,1に対応する列、Ppro,f,1に対応する列の順に並んでいる。符号13110は時点2に相当する列群を示しており、符号13110の列群は、Xf,1,2に対応する列、Xf,2,2に対応する列、・・・、Xf,n-1,2に対応する列、Ppro,f,2に対応する列の順に並んでいる。
そして、図130のようにあらわした、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのe+1行で構成されるベクトル(ただし、eは、e≠α-1を満たす、0以上m×z-1以下の整数とする。)は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式である式(B87)のうちの、e%m番目の0を満たすパリティ検査多項式に相当するベクトルとなる。
上述では、第f番目のブロックの送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n-1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n-1,2、Ppro,f,2、・・・、Xf,1,m×z-1、Xf,2,m×z-1、・・・、Xf,n-1,m×z-1、Ppro,f,m×z-1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n-1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z-1、λpro,f,m×z)Tであり、Hprovf=0(なお、「Hprovf=0(ゼロ)の「0(ゼロ)」」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hproの構成について説明したが、以降では、第f番目のブロックの送信系列(符号化系列(符号語))ufはuf=(Xf,1,1、Xf,1,2、・・・、Xf,1,m×z、Xf,2,1、Xf,2,2、・・・、Xf,2,m×z、・・・、Xf,n-2,1、Xf,n-2,2、・・・、Xf,n-2,m×z、Xf,n-1,1、Xf,n-1,2、・・・、Xf,n-1,m×z、Ppro,f,1、Ppro,f,2、・・・、Ppro,f,m×z)T=(ΛX1,f、ΛX2,f、ΛX3,f、・・・、ΛXn-2,f、ΛXn-1,f、Λpro,f)Tとあらわされたとき、Hpro_muf=0(なお、「Hpro_muf=0(ゼロ)の「0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mの構成について説明する。
部分行列(kは1以上n-1以下の整数))、HpはパリティPproに関連する部分行列となり、図132に示すように、パリティ検査行列Hpro_mは、m×z行、n×m×z列の行列となり、情報X1に関連する部分行列Hx,1は、m×z行、m×z列の行列、情報X2に関連する部分行列Hx,2は、m×z行、m×z列の行列、・・・、情報Xn-2に関連する部分行列Hx,n-2は、m×z行、m×z列の行列、情報Xn-1に関連する部分行列Hx,n-1は、m×z行、m×z列の行列(したがって、情報Xkに関連する部分行列Hx,kは、m×z行、m×z列の行列(kは1以上n-1以下の整数))、パリティPproに関連する部分行列Hpは、m×z行、m×z列の行列となる。
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z-2番目:「第m×z-2番目の0を満たすパリティ検査多項式」
m×z-1番目:「第m×z-1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第fブロックの送信系列(符号化系列(符号語))ufを得ることになる。(なお、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A3と同様である。)
よって、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たす0番目のパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第α―1番目の0を満たすパリティ検査多項式は、「式(B88)の0を満たすパリティ検査多項式」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たすm-2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
「第α―1番目の0を満たすパリティ検査多項式は、「式(B88)の0を満たすパリティ検査多項式」であり、eが0以上m×z-1の整数であり、e≠α―1のとき、第e番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たすe%m番目のパリティ検査多項式」
となる。
図139は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示している。
・
・
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m-1行目を構成するベクトルは、第m-2番目の0を満たすパリティ検査多項式、つまり、「式(B87)の0を満たすm-2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第α行目を構成するベクトルは、第α-1番目の0を満たすパリティ検査多項式、つまり、「式(B88)の0を満たすパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m×z-1行目を構成するベクトルは、第m×z-2番目の0を満たすパリティ検査多項式、つまり、「式(B87)の0を満たすm-2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
「提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第α行目を構成するベクトルは、第α-1番目の0を満たすパリティ検査多項式、つまり、「式(B88)の0を満たすパリティ検査多項式」のパリティに関連する項から生成することができ、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第e+1行目(eは、e≠α―1を満たす、0以上m×z-1の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B87)の0を満たすe%m番目のパリティ検査多項式」のパリティに関連する項から生成することができる。」
なお、mは、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/nのパリティ検査多項式に基づくLDPC-CCの時変周期である。
図139に提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示す。提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpのi行j列の要素をHp,comp[i][j](iお
よびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z-1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、パリティPproに関連する部分行列Hpの第α行目において、要素が「1」を満たす場合は、
[j]において、式(B94)、式(B95-1,B95-2)以外の要素は「0」なる。つまり、s-b1,k≧1の場合、j≠s、かつ、j≠s-b1,kを満たす、すべてのj(ただし、jは1以上m×z以下の整数)において、Hp,comp[s][j]=0となる。s-b1,k<1の場合、j≠s、かつ、j≠s-b1,k+m×zを満たす、すべてのj(ただし、jは1以上m×z以下の整数)において、Hp,comp[s][j]=0となる。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの行と、式(B87)、および、式(B88)のパリティ検査多項式の関係は、図139に示したようになり、この点は、実施の形態A3等で説明した図129と同様である。
次に、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの各要素の値について説明する(qは1以上n-1以下の整数)。
図140に示すように、「提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第α行目を構成するベクトルは、第α-1番目の0を満たすパリティ検査多項式、つまり、「式(B88)の0を満たすパリティ検査多項式」の情報Xqに関連する項から生成することができ、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第e+1行目(eは、e≠α―1を満たす、0以上m×z-1の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B87)の0を満たすe%m番目のパリティ検査多項式」の情報Xqに関連する項から生成することができる。」
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1のi行j列の要素をHx,1,comp[i][j](iおよびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z-1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、情報X1に関連する部分行列Hx,1の第α行目において、要素が「1」を満たす場合は、
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCにおいて、0を満たすパリティ検査多項式が、式(B87)および式(B88)を満たすとき、情報X1に関連する部分行列Hx,1の第s行目において、(sは、s≠αを満たす、1以上m×z以下の整数)(s-1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報X1に関連する部分行列Hx,1の第s行目に関連するパリティ検査多項式は、式(B87)から、式(B93)とあらわされる。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の行と、式(B87)、および、式(B88)のパリティ検査多項式の関係は、図140(なお、q=1)に示したようになり、この点は、実施の形態A3等で説明した図129と同様である。
上述では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の構成について説明したが、以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xq(qは1以上n-1以下の整数)に関連する部分行列Hx,qの構成について説明する。(部分行列Hx,qの構成は、上述の部分行列Hx,1の説明と同様に、説明することができる。)
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの構成は、図140のとおりである。
したがって、情報Xqに関連する部分行列Hx,qの第α行目において、要素が「1」を満たす場合は、
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCにおいて、0を満たすパリティ検査多項式が、式(B87)および式(B88)を満たすとき、情報Xqに関連する部分行列Hx,qの第s行目において、(sは、s≠αを満たす、1以上m×z以下の整数)(s-1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xqに関連する部分行列Hx,qの第s行目に関連するパリティ検査多項式は、式(B87)から、式(B93)とあらわされる。
したがって、情報Xqに関連する部分行列Hx,qの第s行目において、要素が「1」を満たす場合は、
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの行と、式(B87)、および、式(B88)のパリティ検査多項式の関係は、図140に示したようになり、この点は、実施の形態A3等で説明した図129と同様である。
上記では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mの構成について説明した。以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mと等価なパリティ検査行列の生成方法について説明する。(なお、実施の形態17等の説明にもとづいている。)
図105は、符号化率(N-M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列Hの構成を示しており、例えば、図105のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mを、図105のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図105の)Hとなる。以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列をHと記載することにする。)
図105において、第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)とする(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報(X1からXn-1)またはパリティとなる。
そして、第j番目のブロックの送信系列vjの第k行目(ただし、kは、1以上N以下の整数)の要素(図105において、送信系列vjの転置行列vj Tの場合、第k列目の要素)は、Yj,kであるとともに、符号化率(N-M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)Hの第k列目を抽出したベクトルを図105のようにckとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)Hは、以下のようにあらわされる。
(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列と等価のパリティ検査行列H’)について、図107を用いて説明する。
よって、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’は、以下のようにあらわされる。
例えば、蓄積および並び替え部(デインタリーブ部)10802は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を入力とし、並び替えを行い、Yj,1の対数尤度比、Yj,2の対数尤度比、Yj,3の対数尤度比、・・・、Yj,N-2の対数尤度比、Yj,N-1の対数尤度比、Yj,Nの対数尤度比の順に出力するものとする。
例えば、送信装置が、第jブロックの送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものとする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
したがって、符号化率(n-1)/nの提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率(n-1)/nの提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、列並び替え(列置換)を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
上述では、送信系列のインタリーブとパリティ検査行列の関係について説明したが、以降では、パリティ検査行列における行並び替え(行置換)について説明する。
図109は、符号化率(N-M)/NのLDPC(ブロック)符号の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)に対応するパリティ検査行列Hの構成を示している。例えば、図109のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mを、図109のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図109の)Hとなる。以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列をHと記載することにする。)(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報XまたはパリティP(パリティPpro)となる。そして、Yj,kは、(N-M)個の情報とM個のパリティで構成されていることになる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)Hは、以下のようにあらわされる。
図110は図109のパリティ検査行列Hに対し、行並び替え(行置換)を行ったパリティ検査行列H’の一例を示しており、パリティ検査行列H’は、図109と同様、符号化率(N-M)/NのLDPC(ブロック)符号(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC)の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)に対応するパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)となる。
つまり、第j番目のブロックの送信系列vj Tのとき、図110のパリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、図110のパリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM-2、zM-1、zM、がそれぞれ一つ存在することになる。
また、実施の形態A3で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
また、実施の形態A3で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H2,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H2,sを得る。このとき、パリティ検査行列H2,k-1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H1,kを得る。そして、パリティ検査行列H1,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H2,kを得ることになる。なお、1回目については、実施の形態A3で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H2,1を得ることになる。
別の方法として、実施の形態A3で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3を得る。そして、パリティ検査行列H3に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4を得、送信装置、および、受信装置は、パリティ検査行列H4を用いて、符号化、復号化を行ってもよい。
また、実施の形態A3で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H4,sを得る。このとき、パリティ検査行列H4,k-1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H3,kを得る。そして、パリティ検査行列H3,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H4,kを得ることになる。なお、1回目については、実施の形態A3で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H4,1を得ることになる。
なお、パリティ検査行列H2、パリティ検査行列H2,s、パリティ検査行列H4、パリティ検査行列H4,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A3で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列、または、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図139、図140を用いて説明したパリティ検査行列を得ることができる。
同様に、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図139、図140を用いて説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図139、図140を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H6,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H6,sを得る。このとき、パリティ検査行列H6,k-1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H5,kを得る。そして、パリティ検査行列H5,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H6,kを得ることになる。なお、1回目については、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図139、図140を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H6,1を得ることになる。
別の方法として、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図139、図140を用いて説明したパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7を得る。そして、パリティ検査行列H7に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8を得、送信装置、および、受信装置は、パリティ検査行列H8を用いて、符号化、復号化を行ってもよい。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図139、図140を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H8,sを得る。このとき、パリティ検査行列H8,k-1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H7,kを得る。そして、パリティ検査行列H7,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H8,kを得ることになる。なお、1回目については、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図139、図140を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H8,1を得ることになる。
なお、パリティ検査行列H6、パリティ検査行列H6,s、パリティ検査行列H8、パリティ検査行列H8,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A3で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列、または、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図139、図140を用いて説明したパリティ検査行列を得ることができる。
上述の説明では、実施の形態A3で述べた符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列の構成方法の一例を説明した。このとき、符号化率は、R=(n-1)/nであり、nは2以上の整数であり、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式は、式(A8)のようにあらわされる。
したがって、実施の形態A3における、提案する符号化率R=1/2の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A25)は次式であらわされることになる。(式(B108)の(α-1)%m番目を利用することになる。)
n=3、つまり、符号化率R=2/3のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
したがって、実施の形態A3における、提案する符号化率R=2/3の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A25)は次式であらわされることになる。(式(B110)の(α-1)%m番目を利用することになる。)
n=4、つまり、符号化率R=3/4のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=5、つまり、符号化率R=4/5のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
したがって、実施の形態A3における、提案する符号化率R=4/5の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A25)は次式であらわされることになる。(式(B114)の(α-1)%m番目を利用することになる。)
n=6、つまり、符号化率R=5/6のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=8、つまり、符号化率R=7/8のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=9、つまり、符号化率R=8/9のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=10、つまり、符号化率R=9/10のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
なお、本実施の形態において、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B87)および式(B88)をあつかったが、パリティ検査多項式は、式(B87)、式(B88)に限ったものではない。例えば、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式として、式(B87)の代わりに次式を扱ってもよい。
そして、高い誤り訂正能力を得るために、pは1以上n-1以下の整数、iは0以上m-1以下の整数であり、これを満たす、すべてのp、すべてのiにおいて、rp,iを1以上に設定するとよい。
したがって、実施の形態A3における、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A25)は次式であらわされることになる。(式(B128)の(α-1)%m番目を利用することになる。)
「高い誤り訂正能力を得るために、r1、r2、・・・、rn-2、rn-1いずれも3以上に設定する(1以上n-1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B87)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn-2、rn-1いずれも3以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B88)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B87)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B88)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B3-1-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3-1-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1 (v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2 (v2,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B3-1-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1 (vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2 (vk,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3-1-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B3-1-1>から<条件B3-1-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B3-1’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B3-1’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B3-1’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B3-1’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B3-2-1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B3-2-2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B3-2-k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B3-2-(n-1)>
「vn-1,1≠0、かつ、vn-1,2≠0が成立する。」
かつ
「vn-1,1≠vn-1,2が成立する。」
そして、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn-1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B3-3-1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa-1
vは3以上r1以下の整数であり、すべてのvで「条件#Xa-1」を満たすことはない。
<条件B3-3-2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa-2
vは3以上r2以下の整数であり、すべてのvで「条件#Xa-2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B3-3-k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa-k
vは3以上rk以下の整数であり、すべてのvで「条件#Xa-k」を満たすことはない。
(kは、1以上n-1以下の整数)
・
・
・
<条件B3-3-(n-1)>
「an-1,g,v%m=an-1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan-1,g,v%m=an-1,h,v%mが成立する。)・・・条件#Xa-(n-1)
vは3以上rn-1以下の整数であり、すべてのvで「条件#Xa-(n-1)」を満たすことはない。
なお、<条件B3-3-1>から<条件B3-3-(n-1)>を別の表現をすると以下のような条件となる。
<条件B3-3’-1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-1
vは3以上r1以下の整数であり、すべてのvで「条件#Ya-1」を満たす。
<条件B3-3’-2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya-2
vは3以上r2以下の整数であり、すべてのvで「条件#Ya-2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B3-3’-k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya-k
vは3以上rk以下の整数であり、すべてのvで「条件#Ya-k」を満たす。
(kは、1以上n-1以下の整数)
・
・
・
<条件B3-3’-(n-1)>
「an-1,g,v%m≠an-1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、an-1,g,v%m≠an-1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-(n-1)
vは3以上rn-1以下の整数であり、すべてのvで「条件#Ya-(n-1)」を満たす。
このようにすることで、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn-1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
また、実施の形態1、実施の形態6、実施の形態A3等で説明したように、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式、式(B87)および式(B88)に相当するチェックノードが、ツリーを描いたときに、可能な限り多く出現するとよい可能性がある。
<条件B3-4-1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B3-4-2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B3-5-1>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B3-4-1>で定義している。
<条件B3-5-2>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B3-4-2>で定義している。
なお、<条件B3-5-1>、<条件B3-5-2>を別の表現をすると、<条件B3-5-1’>、<条件B3-5-2’>となる。
<条件B3-5-1’>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B3-5-2’>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B3-5-1><条件B3-5-1’>を別の表現をすると、<条件B3-5-1”>となり、<条件B3-5-2><条件B3-5-2’>を別の表現をすると、<条件B3-5-2”>。
<条件B3-5-1”>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B3-5-2”>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B124)および式(B125)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B124)および式(B125)の条件の例について説明する。
「高い誤り訂正能力を得るために、r1、r2、・・・、rn-2、rn-1いずれも4以上に設定する(1以上n-1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B87)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn-2、rn-1いずれも4以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B125)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B124)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B125)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B3-6-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m-2,3%m=a1,m-1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3-6-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m-2,3%m=a2,m-1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B3-6-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m-2,3%m=ak,m-1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3-6-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
「an-1,0,3%m=an-1,1,3%m=an-1,2,3%m=an-1,3,3%m=・・・=an-1,g,3%m=・・・=an-1,m-2,3%m=an-1,m-1,3%m=vn-1,3 (vn-1,3:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B3-6-1>から<条件B3-6-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B3-6’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B3-6’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B3-6’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B3-6’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B3-7-1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B3-7-2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B3-7-k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B3-7-(n-1)>
「vn-1,1≠vn-1,2、vn-1,1≠vn-1,3、vn-1,2≠vn-1,3が成立する。」
そして、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn-1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B3-8-1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa-1
vは4以上r1以下の整数であり、すべてのvで「条件#Xa-1」を満たすことはない。
<条件B3-8-2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa-2
vは4以上r2以下の整数であり、すべてのvで「条件#Xa-2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B3-8-k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa-k
vは4以上rk以下の整数であり、すべてのvで「条件#Xa-k」を満たすことはない。
(kは、1以上n-1以下の整数)
・
・
・
<条件B3-8-(n-1)>
「an-1,g,v%m=an-1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan-1,g,v%m=an-1,h,v%mが成立する。)・・・条件#Xa-(n-1)
vは4以上rn-1以下の整数であり、すべてのvで「条件#Xa-(n-1)」を満たすことはない。
なお、<条件B3-8-1>から<条件B3-8-(n-1)>を別の表現をすると以下のような条件となる。
<条件B3-8’-1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-1
vは4以上r1以下の整数であり、すべてのvで「条件#Ya-1」を満たす。
<条件B3-8’-2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya-2
vは4以上r2以下の整数であり、すべてのvで「条件#Ya-2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B3-8’-k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya-k
vは4以上rk以下の整数であり、すべてのvで「条件#Ya-k」を満たす。
(kは、1以上n-1以下の整数)
・
・
・
<条件B3-8’-(n-1)>
「an-1,g,v%m≠an-1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、an-1,g,v%m≠an-1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-(n-1)
vは4以上rn-1以下の整数であり、すべてのvで「条件#Ya-(n-1)」を満たす。
このようにすることで、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn-1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B126)および式(B127)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B126)および式(B127)の条件の例について説明する。
上述で説明したように、式(B126)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B127)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B3-9-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3-9-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B3-9-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3-9-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B3-9-1>から<条件B3-9-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B3-9’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B3-9’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B3-9’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B3-9’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B3-10-1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B3-10-2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B3-10-k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B3-10-(n-1)>
「vn-1,1≠0、かつ、vn-1,2≠0が成立する。」
かつ
「vn-1,1≠vn-1,2が成立する。」
このようにすることで、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn-1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
<条件B3-11-1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B3-11-2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B3-12-1>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B3-11-1>で定義している。
<条件B3-12-2>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B3-11-2>で定義している。
なお、<条件B3-12-1>、<条件B3-12-2>を別の表現をすると、<条件B3-12-1’>、<条件B3-12-2’>となる。
<条件B3-12-1’>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B3-12-2’>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B3-12-1><条件B3-12-1’>を別の表現をすると、<条件B3-12-1”>となり、<条件B3-12-2><条件B3-12-2’>を別の表現をすると、<条件B3-12-2”>。
<条件B3-12-1”>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B3-12-2”>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B128)および式(B129)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B128)および式(B129)の条件の例について説明する。
上述で説明したように、式(B128)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B129)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B3-13-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m-2,3%m=a1,m-1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3-13-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m-2,3%m=a2,m-1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B3-13-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m-2,3%m=ak,m-1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3-13-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
「an-1,0,3%m=an-1,1,3%m=an-1,2,3%m=an-1,3,3%m=・・・=an-1,g,3%m=・・・=an-1,m-2,3%m=an-1,m-1,3%m=vn-1,3 (vn-1,3:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B3-13-1>から<条件B3-13-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B3-13’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B3-13’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B3-13’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B3-13’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B3-14-1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B3-14-2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B3-14-k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B3-14-(n-1)>
「vn-1,1≠vn-1,2、vn-1,1≠vn-1,3、vn-1,2≠vn-1,3が成立する。」
このようにすることで、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn-1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
(実施の形態B4)
本実施の形態では、実施の形態A4で述べた符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列の具体的な構成例について説明する。
実施の形態A4で説明したように、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproとすると、Hproの列数はn×m×zとあらわすことができる(zは自然数)。(なお、mは、ベースとなる符号化率R=(n-1)/n、パリティ検査多項式に基づくLDPC-CCの時変周期である。)
よって、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n-1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n-1,2、Ppro,s,2、・・・、Xs,1,m×z-1、Xs,2,m×z-1、・・・、Xs,n-1,m×z-1、Ppro,s,m×z-1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n-1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z-1、λpro,s,m×z)Tとあらわすことができ、Hprovs=0が成立する(このとき、「Hprovs=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n-1以下の整数)、Ppro,s,kは提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n-1,k、Ppro,s,k)である(したがって、n=2のとき、λpro,s,k=(Xs,1,k、Ppro,s,k)となり、n=3のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Ppro,s,k)となり、n=4のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,
3,k、Ppro,s,k)となり、n=5のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Ppro,s,k)となり、n=6のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Ppro,s,k)となる。)。ただし、k=1、2、・・・、m×z-1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる。
本実施の形態では、式(A8)で示した、i番目の0を満たすパリティ検査多項式を次式のようにあらわす。
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z-2番目:「第m×z-2番目の0を満たすパリティ検査多項式」
m×z-1番目:「第m×z-1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A4参照)
上述の説明、および、実施の形態A4から、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たす0番目のパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第α―1番目の0を満たすパリティ検査多項式は、「式(B131)の0を満たすパリティ検査多項式」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たすm-2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
「第α―1番目の0を満たすパリティ検査多項式は、「式(B131)の0を満たすパリティ検査多項式」であり、eが0以上m×z-1の整数であり、e≠α―1のとき、第e番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たすe%m番目のパリティ検査多項式」
となる。
本実施の形態では、上述の場合のパリティ検査行列の構成について、詳しく説明する。
上述で述べたように、式(B130)と式(B131)により定義することができる提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第fブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n-1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n-1,2、Ppro,f,2、・・・、Xf,1,m×z-1、Xf,2,m×z-1、・・・、Xf,n-1,m×z-1、Ppro,f,m×z-1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n-1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z-1、λpro,f,m×z)Tとあらわすことができ、Hprovf=0が成立する(このとき、「Hprovf=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xf,j,kは情報Xjのビットであり(jは1以上n-1以下の整数)、Ppro,f,kは提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n-1,k、Ppro,f,k)である(したがって、n=2のとき、λpro,f,k=(Xf,1,k、Ppro,f,k)となり、n=3のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Ppro,f,k)となり、n=4のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Ppro,f,k)となり、n=5のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Xf,4,k、Ppro,f,k)となり、n=6のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Xf,4,k、Xf,5,k、Ppro,f,k)となる。)。ただし、k=1、2、・・・、m×z-1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる(zは自然数)。なお、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数はm×zであることから、パリティ検査行列をHproには、第1行から第m×z行が存在することになる。そして、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの列数はn×m×zであることから、パリティ検査行列をHproには、第1列から第n×m×z列が存在することになる。
そして、第fブロック内には、時点1からm×zまで存在する。(なお、この点については、実施の形態A4でも同様である。)上述において、kが「時点」を表現していることになる。したがって、時点kの情報X1、X2,、・・・、Xn-1およびパリティPproは、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n-1,k、Ppro,f,k)となる。
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式である式(B130)に対応するサブ行列(ベクトル)をHiとすると、第iサブ行列は次式のようにあらわすことができる。
上記で定義した送信系列vfに対応する改良したテイルバイティングを行った際の、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのうち、時点m×z近辺のパリティ検査行列Hproを図130に示す。図130に示すように、パリティ検査行列Hproにおいて、第δ行と第δ+1行とでは、サブ行列がn列右にシフトした構成となる(図130参照)。
符号13107は時点m×z-1に相当する列群を示しており、符号13107の列群は、Xf,1,m×z-1に対応する列、Xf,2,m×z-1に対応する列、・・・、Xf,n-1,m×z-1に対応する列、Ppro,f,m×z-1に対応する列の順に並んでいる。符号13108は時点m×zに相当する列群を示しており、符号13108の列群は、Xf,1,m×zに対応する列、Xf,2,m×zに対応する列、・・・、Xf,n-1,m×zに対応する列、Ppro,f,m×zに対応する列の順に並んでいる。符号13109は時点1に相当する列群を示しており、符号13109の列群は、Xf,1,1に対応する列、Xf,2,1に対応する列、・・・、Xf,n-1,1に対応する列、Ppro,f,1に対応する列の順に並んでいる。符号13110は時点2に相当する列群を示しており、符号13110の列群は、Xf,1,2に対応する列、Xf,2,2に対応する列、・・・、Xf,n-1,2に対応する列、Ppro,f,2に対応する列の順に並んでいる。
化したLDPC符号)のパリティ検査行列Hproのe+1行で構成されるベクトル(ただし、eは、e≠α-1を満たす、0以上m×z-1以下の整数とする。)は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式である式(B130)のうちの、e%m番目の0を満たすパリティ検査多項式に相当するベクトルとなる。
上述では、第f番目のブロックの送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n-1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n-1,2、Ppro,f,2、・・・、Xf,1,m×z-1、Xf,2,m×z-1、・・・、Xf,n-1,m×z-1、Ppro,f,m×z-1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n-1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z-1、λpro,f,m×z)Tであり、Hprovf=0(なお、「Hprovf=0(ゼロ)の「0(ゼロ)」」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hproの構成について説明したが、以降では、第f番目のブロックの送信系列(符号化系列(符号語))ufはuf=(Xf,1,1、Xf,1,2、・・・、Xf,1,m×z、Xf,2,1、Xf,2,2、・・・、Xf,2,m×z、・・・、Xf,n-2,1、Xf,n-2,2、・・・、Xf,n-2,m×z、Xf,n-1,1、Xf,n-1,2、・・・、Xf,n-1,m×z、Ppro,f,1、Ppro,f,2、・・・、Ppro,f,m×z)T=(ΛX1,f、ΛX2,f、ΛX3,f、・・・、ΛXn-2,f、ΛXn-1,f、Λpro,f)Tとあらわされたとき、Hpro_muf=0(なお、「Hpro_muf=0(ゼロ)の「0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mの構成について説明する。
なお、ΛXk,f=(Xf,k,1、Xf,k,2、Xf,k,3、・・・、Xf,k,m×z-2、Xf,k,m×z-1、Xf,k,m×z)(ただし、kは1以上n-1以下の整数)、および、Λpro,f=(Ppro,f,1、Ppro,f,2、Ppro,f,3、・・・、Ppro,f,m×z-2、Ppro,f,m×z-1、Ppro,f,m×z)とあらわされる。したがって、例えば、n=2のとき、uf=(ΛX1,f、Λpro,f)T、n=3のとき、uf=(ΛX1,f、ΛX2,f、Λpro,f)T、n=4のとき、uf=(ΛX1,f、ΛX2,f、ΛX3,f、Λpro,f)T、n=5のとき、uf=(ΛX1,f、ΛX2,f、ΛX3,f、ΛX4,f、Λpro,f)T、n=6のとき、uf=(ΛX1,f、ΛX2,f、ΛX3,f、ΛX4,f、ΛX5,f、Λpro,f)T、n=7のとき、uf=(ΛX1,f、ΛX2,f、ΛX3,f、ΛX4,f、ΛX5,f、ΛX6,f、Λpro,f)T、n=8のとき、uf=(ΛX1,f、ΛX2,f、ΛX3,f、ΛX4,f、ΛX5,f、ΛX6,f、ΛX7,f、Λpro,f)Tとあらわされる。
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z-2番目:「第m×z-2番目の0を満たすパリティ検査多項式」
m×z-1番目:「第m×z-1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)の第fブロックの送信系列(符号化系列(符号語))ufを得ることになる。(なお、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A4と同様である。)
よって、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たす0番目のパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第α―1番目の0を満たすパリティ検査多項式は、「式(B131)の0を満たすパリティ検査多項式」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たすm-2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
「第α―1番目の0を満たすパリティ検査多項式は、「式(B131)の0を満たすパリティ検査多項式」であり、eが0以上m×z-1の整数であり、e≠α―1のとき、第e番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たすe%m番目のパリティ検査多項式」
となる。
図141は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示している。
・
・
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m-1行目を構成するベクトルは、第m-2番目の0を満たすパリティ検査多項式、つまり、「式(B130)の0を満たすm-2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第α行目を構成するベクトルは、第α-1番目の0を満たすパリティ検査多項式、つまり、「式(B131)の0を満たすパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m×z-1行目を構成するベクトルは、第m×z-2番目の0を満たすパリティ検査多項式、つまり、「式(B130)の0を満たすm-2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
「提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第α行目を構成するベクトルは、第α-1番目の0を満たすパリティ検査多項式、つまり、「式(B131)の0を満たすパリティ検査多項式」のパリティに関連する項から生成することができ、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第e+1行目(eは、e≠α―1を満たす、0以上m×z-1の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B130)の0を満たすe%m番目のパリティ検査多項式」のパリティに関連する項から生成することができる。」
なお、mは、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/nのパリティ検査多項式に基づくLDPC-CCの時変周期である。
図141に提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示す。提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpのi行j列の要素をHp,comp[i][j](iお
よびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z-1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、パリティPproに関連する部分行列Hpの第α行目において、要素が「1」を満たす場合は、
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの行と、式(B130)、および、式(B131)のパリティ検査多項式の関係は、図141に示したようになり、この点は、実施の形態A4等で説明した図129と同様である。
次に、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの各要素の値について説明する(qは1以上n-1以下の整数)。
図142に示すように、「提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第α行目を構成するベクトルは、第α-1番目の0を満たすパリティ検査多項式、つまり、「式(B131)の0を満たすパリティ検査多項式」の情報Xqに関連する項から生成することができ、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第e+1行目(eは、e≠α―1を満たす、0以上m×z-1の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B130)の0を満たすe%m番目のパリティ検査多項式」の情報Xqに関連する項から生成することができる。」
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1のi行j列の要素をHx,1,comp[i][j](iおよびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z-1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、情報X1に関連する部分行列Hx,1の第α行目において、要素が「1」を満たす場合は、
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCにおいて、0を満たすパリティ検査多項式が、式(B130)および式(B131)を満たすとき、情報X1に関連する部分行列Hx,1の第s行目において、(sは、s≠αを満たす、1以上m×z以下の整数)(s-1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報X1に関連する部分行列Hx,1の第s行目に関連するパリティ検査多項式は、式(B130)から、式(B136)とあらわされる。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の行と、式(B130)、および、式(B131)のパリティ検査多項式の関係は、図142(なお、q=1)に示したようになり、この点は、実施の形態A4等で説明した図129と同様である。
上述では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の構成について説明したが、以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xq(qは1以上n-1以下の整数)に関連する部分行列Hx,qの構成について説明する。(部分行列Hx,qの構成は、上述の部分行列Hx,1の説明と同様に、説明することができる。)
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,
qの構成は、図142のとおりである。
したがって、情報Xqに関連する部分行列Hx,qの第α行目において、要素が「1」を満たす場合は、
提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCにおいて、0を満たすパリティ検査多項式が、式(B130)および式(B131)を満たすとき、情報Xqに関連する部分行列Hx,qの第s行目において、(sは、s≠αを満たす、1以上m×z以下の整数)(s-1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xqに関連する部分行列Hx,qの第s行目に関連するパリティ検査多項式は、式(B130)から、式(B136)とあらわされる。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの行と、式(B130)、および、式(B131)のパリティ検査多項式の関係は、図142に示したようになり、この点は、実施の形態A4等で説明した図129と同様である。
上記では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mの構成について説明した。以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mと等価なパリティ検査行列の生成方法について説明する。(なお、実施の形態17等の説明にもとづいている。)
図105は、符号化率(N-M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列Hの構成を示しており、例えば、図105のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mを、図105のパリ
ティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図105の)Hとなる。以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列をHと記載することにする。)
図105において、第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)とする(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報(X1からXn-1)またはパリティとなる。
そして、第j番目のブロックの送信系列vjの第k行目(ただし、kは、1以上N以下の整数)の要素(図105において、送信系列vjの転置行列vj Tの場合、第k列目の要素)は、Yj,kであるとともに、符号化率(N-M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)Hの第k列目を抽出したベクトルを図105のようにckとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)Hは、以下のようにあらわされる。
(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列と等価のパリティ検査行列H’)について、図107を用いて説明する。
よって、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’は、以下のようにあらわされる。
例えば、蓄積および並び替え部(デインタリーブ部)10802は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を入力とし、並び替えを行い、Yj,1の対数尤度比、Yj,2の対数尤度比、Yj,3の対数尤度比、・・・、Yj,N-2の対数尤度比、Yj,N-1の対数尤度比、Yj,Nの対数尤度比の順に出力するものとする。
例えば、送信装置が、第jブロックの送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものとする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
したがって、符号化率(n-1)/nの提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率(n-1)/nの提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、列並び替え(列置換)を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
上述では、送信系列のインタリーブとパリティ検査行列の関係について説明したが、以降では、パリティ検査行列における行並び替え(行置換)について説明する。
図109は、符号化率(N-M)/NのLDPC(ブロック)符号の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)に対応するパリティ検査行列Hの構成を示している。例えば、図109のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列Hpro_mを、図109のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図109の)Hとなる。以下では、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列をHと記載することにする。)(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報XまたはパリティP(パリティPpro)となる。そして、Yj,kは、(N-M)個の情報とM個のパリティで構成されていることになる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)Hは、以下のようにあらわされる。
図110は図109のパリティ検査行列Hに対し、行並び替え(行置換)を行ったパリティ検査行列H’の一例を示しており、パリティ検査行列H’は、図109と同様、符号化率(N-M)/NのLDPC(ブロック)符号(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC)の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)に対応するパリティ検査行列(つまり、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列)となる。
つまり、第j番目のブロックの送信系列vj Tのとき、図110のパリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、図110のパリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM-2、zM-1、zM、がそれぞれ一つ存在することになる。
また、実施の形態A4で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
また、実施の形態A4で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H2,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H2,sを得る。このとき、パリティ検査行列H2,k-1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H1,kを得る。そして、パリティ検査行列H1,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H2,kを得ることになる。なお、1回目については、実施の形態A4で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H2,1を得ることになる。
別の方法として、実施の形態A4で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3を得る。そして、パリティ検査行列H3に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4を得、送信装置、および、受信装置は、パリティ検査行列H4を用いて、符号化、復号化を行ってもよい。
また、実施の形態A4で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H4,sを得る。このとき、パリティ検査行列H4,k-1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H3,kを得る。そして、パリティ検査行列H3,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H4,kを得ることになる。なお、
1回目については、実施の形態A4で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H4,1を得ることになる。
なお、パリティ検査行列H2、パリティ検査行列H2,s、パリティ検査行列H4、パリティ検査行列H4,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A4で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列、または、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図141、図142を用いて説明したパリティ検査行列を得ることができる。
同様に、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図141、図142を用いて説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図141、図142を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H6,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H6,sを得る。このとき、パリティ検査行列H6,k-1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H5,kを得る。そして、パリティ検査行列H5,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H6,kを得ることになる。なお、
1回目については、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図141、図142を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H6,1を得ることになる。
別の方法として、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図141、図142を用いて説明したパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7を得る。そして、パリティ検査行列H7に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8を得、送信装置、および、受信装置は、パリティ検査行列H8を用いて、符号化、復号化を行ってもよい。
また、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図141、図142を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H8,sを得る。このとき、パリティ検査行列H8,k-1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H7,kを得る。そして、パリティ検査行列H7,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H8,kを得ることになる。なお、1回目については、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図141、図142を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H8,1を得ることになる。
なお、パリティ検査行列H6、パリティ検査行列H6,s、パリティ検査行列H8、パリティ検査行列H8,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A4で説明した提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列、または、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCの図130、図131、図141、図142を用いて説明したパリティ検査行列を得ることができる。
n=3、つまり、符号化率R=2/3のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
までも一例であり、上述と異なる構成でも誤り訂正能力の高い符号を生成することができる可能性がある。
n=4、つまり、符号化率R=3/4のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=5、つまり、符号化率R=4/5のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=6、つまり、符号化率R=5/6のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=8、つまり、符号化率R=7/8のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=9、つまり、符号化率R=8/9のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=10、つまり、符号化率R=9/10のとき、改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
なお、本実施の形態において、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B130)および式(B131)をあつかったが、パリティ検査多項式は、式(B130)、式(B131)に限ったものではない。例えば、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式として、式(B130)の代わりに次式を扱ってもよい。
したがって、実施の形態A4における、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A27)は次式であらわされることになる。(式(B169)の(α-1)%m番目を利用することになる。)
したがって、実施の形態A4における、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A27)は次式であらわされることになる。(式(B171)の(α-1)%m番目を利用することになる。)
「高い誤り訂正能力を得るために、r1、r2、・・・、rn-2、rn-1いずれも3以上に設定する(1以上n-1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B130)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn-2、rn-1いずれも3以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B131)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B130)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B131)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B4-1-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4-1-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1 (v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2 (v2,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B4-1-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1 (vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2 (vk,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)
のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4-1-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B4-1-1>から<条件B4-1-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B4-1’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B4-1’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B4-1’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B4-1’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,
m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B4-2-1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B4-2-2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B4-2-k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B4-2-(n-1)>
「vn-1,1≠0、かつ、vn-1,2≠0が成立する。」
かつ
「vn-1,1≠vn-1,2が成立する。」
そして、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn-1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B4-3-1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h
,v%mが成立する。)・・・条件#Xa-1
vは3以上r1以下の整数であり、すべてのvで「条件#Xa-1」を満たすことはない。
<条件B4-3-2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa-2
vは3以上r2以下の整数であり、すべてのvで「条件#Xa-2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B4-3-k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa-k
vは3以上rk以下の整数であり、すべてのvで「条件#Xa-k」を満たすことはない。
(kは、1以上n-1以下の整数)
・
・
・
<条件B4-3-(n-1)>
「an-1,g,v%m=an-1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan-1,g,v%m=an-1,h,v%mが成立する。)・・・条件#Xa-(n-1)
vは3以上rn-1以下の整数であり、すべてのvで「条件#Xa-(n-1)」を満たすことはない。
なお、<条件B4-3-1>から<条件B4-3-(n-1)>を別の表現をすると以下のような条件となる。
<条件B4-3’-1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)
・・・条件#Ya-1
vは3以上r1以下の整数であり、すべてのvで「条件#Ya-1」を満たす。
<条件B4-3’-2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya-2
vは3以上r2以下の整数であり、すべてのvで「条件#Ya-2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B4-3’-k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya-k
vは3以上rk以下の整数であり、すべてのvで「条件#Ya-k」を満たす。
(kは、1以上n-1以下の整数)
・
・
・
<条件B4-3’-(n-1)>
「an-1,g,v%m≠an-1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、an-1,g,v%m≠an-1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-(n-1)
vは3以上rn-1以下の整数であり、すべてのvで「条件#Ya-(n-1)」を満たす。
また、実施の形態1、実施の形態6、実施の形態A4等で説明したように、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式、式(B130)および式(B131)に相当するチェックノードが、ツリーを描いたときに、可能な限り多く出現するとよい可能性がある。
<条件B4-4-1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B4-4-2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B4-5-1>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B4-4-1>で定義している。
<条件B4-5-2>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B4-4-2>で定義している。
なお、<条件B4-5-1>、<条件B4-5-2>を別の表現をすると、<条件B4-5-1’>、<条件B4-5-2’>となる。
<条件B4-5-1’>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B4-5-2’>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B4-5-1><条件B4-5-1’>を別の表現をすると、<条件B4-5-1”>となり、<条件B4-5-2><条件B4-5-2’>を別の表現をすると、<条件B4-5-2”>。
<条件B4-5-1”>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B4-5-2”>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B167)および式(B168)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B167)および式(B168)の条件の例について説明する。
「高い誤り訂正能力を得るために、r1、r2、・・・、rn-2、rn-1いずれも4以上に設定する(1以上n-1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B130)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn-2、rn-1いずれも4以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B168)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B167)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B168)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
パリティ検査行列のβ列において、β列を抽出したベクトルにおいて、そのベクトルの要素において、「1」が存在する数がβ列の列重みとなる。
<条件B4-6-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m-2,3%m=a1,m-1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4-6-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m-2,3%m=a2,m-1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B4-6-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・
=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m-2,3%m=ak,m-1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4-6-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
「an-1,0,3%m=an-1,1,3%m=an-1,2,3%m=an-1,3,3%m=・・・=an-1,g,3%m=・・・=an-1,m-2,3%m=an-1,m-1,3%m=vn-1,3 (vn-1,3:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B4-6-1>から<条件B4-6-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B4-6’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B4-6’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B4-6’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B4-6’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B4-7-1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B4-7-2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B4-7-k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B4-7-(n-1)>
「vn-1,1≠vn-1,2、vn-1,1≠vn-1,3、vn-1,2≠vn-1,3が成立する。」
そして、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn-1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B4-8-1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa-1
vは4以上r1以下の整数であり、すべてのvで「条件#Xa-1」を満たすことはない。
<条件B4-8-2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa-2
vは4以上r2以下の整数であり、すべてのvで「条件#Xa-2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B4-8-k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa-k
vは4以上rk以下の整数であり、すべてのvで「条件#Xa-k」を満たすことはない。
(kは、1以上n-1以下の整数)
・
・
・
<条件B4-8-(n-1)>
「an-1,g,v%m=an-1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan-1,g,v%m=an-1,h,v%mが成立する。)・・・条件#Xa-(n-1)
vは4以上rn-1以下の整数であり、すべてのvで「条件#Xa-(n-1)」を満たすことはない。
なお、<条件B4-8-1>から<条件B4-8-(n-1)>を別の表現をすると以下のような条件となる。
<条件B4-8’-1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-1
vは4以上r1以下の整数であり、すべてのvで「条件#Ya-1」を満たす。
<条件B4-8’-2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya-2
vは4以上r2以下の整数であり、すべてのvで「条件#Ya-2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B4-8’-k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya-k
vは4以上rk以下の整数であり、すべてのvで「条件#Ya-k」を満たす。
(kは、1以上n-1以下の整数)
・
・
・
<条件B4-8’-(n-1)>
「an-1,g,v%m≠an-1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、an-1,g,v%m≠an-1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-(n-1)
vは4以上rn-1以下の整数であり、すべてのvで「条件#Ya-(n-1)」を満たす。
このようにすることで、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn-1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B169)および式(B170)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B169)および式(B170)の条件の例について説明する。
上述で説明したように、式(B169)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B170)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B4-9-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,
1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4-9-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B4-9-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4-9-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B4-9-1>から<条件B4-9-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B4-9’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B4-9’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B4-9’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B4-9’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B4-10-1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B4-10-2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B4-10-k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B4-10-(n-1)>
「vn-1,1≠0、かつ、vn-1,2≠0が成立する。」
かつ
「vn-1,1≠vn-1,2が成立する。」
このようにすることで、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn-1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
上記で記載した、vk,1およびvk,2(kは、1以上n-1以下の整数)は、以下の条件を満たすとよい。
<条件B4-11-1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B4-11-2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B4-12-1>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B4-11-1>で定義している。
<条件B4-12-2>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B4-11-2>で定義している。
なお、<条件B4-12-1>、<条件B4-12-2>を別の表現をすると、<条件B4-12-1’>、<条件B4-12-2’>となる。
<条件B4-12-1’>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B4-12-2’>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B4-12-1><条件B4-12-1’>を別の表現をすると、<条件B4-12-1”>となり、<条件B4-12-2><条件B4-12-2’>を別の表現をすると、<条件B4-12-2”>。
<条件B4-12-1”>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B4-12-2”>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B171)および式(B172)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B171)および式(B172)の条件の例について説明する。
上述で説明したように、式(B171)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCの0を満たすi番目(iは0以上m-1以下の整数)のパリティ検査多項式となり、式(B172)の0を満たすパリティ検査多項式は、提案する符号化率R=(n-1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B4-13-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m-2,3%m=a1,m-1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m-1以下の整数)
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4-13-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・
=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m-2,3%m=a2,m-1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n-1以下の整数)
<条件B4-13-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m-2,3%m=ak,m-1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn-1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4-13-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
「an-1,0,3%m=an-1,1,3%m=an-1,2,3%m=an-1,3
,3%m=・・・=an-1,g,3%m=・・・=an-1,m-2,3%m=an-1,m-1,3%m=vn-1,3 (vn-1,3:固定値)」
(gは0以上m-1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B4-13-1>から<条件B4-13-(n-1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B4-13’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B4-13’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B4-13’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件B4-13’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B4-14-1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B4-14-2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B4-14-k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件B4-14-(n-1)>
「vn-1,1≠vn-1,2、vn-1,1≠vn-1,3、vn-1,2≠vn-1,3が成立する。」
このようにすることで、「図132で示した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn-1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
(実施の形態C1)
について説明する。
他の実施の形態(例えば、実施の形態1から実施の形態18)において、パリティ検査多項式に基づくLDPC畳み込み符号の基本的な内容、テイルバイティング、既知情報を用いたターミネーション方法について説明しているが、本実施の形態における非正則LDPC畳み込み符号の以下で説明では、基本的な説明は、これまでに説明した、他の実施の形態に基づいている。
X1,X2,・・・,Xn-1の情報ビット、及びパリティビットPの時点jにおけるビットをそれぞれX1,j,X2,j,・・・,Xn-1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn-1,j,Pj)と表す。また、符号化系列をu=(u0,u1,・・・,uj,・・・)Tと表す。Dを遅延演算子とすると、情報ビットX1,X2,・・・,Xn-1の多項式はX1(D),X2(D),・・・,Xn-1(D)と表され、パリティビットPの多項式はP(D)と表される。このとき、式(C1)で表される0を満たすパリティ検査多項式を考える。
上述では、パリティ検査多項式に基づくLDPC畳み込み符号における0を満たすパリティ検査多項式のベースとなるパリティ検査多項式として、式(C1)を取り扱っているが、必ずしも式(C1)の形態に限らず、例えば、式(C1)のかわりに、式(C6)のような0を満たすパリティ検査多項式としてもよい。
以上が、パリティ検査多項式に基づく、符号化率R=(n-1)/nの時変周期mのLDPC-CCの概要である。なお、通信システムや放送システムの実運用上では、他の実施の形態で説明したように、テイルバイティング、または、既知情報を用いてターミネーション(例えば、ゼロターミネーション(information-zero-termination))を用いることになる。
以下では、一例として、パリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCの構成方法について説明する。(なお、mは2以上の自然数、nは2以上の自然数となる。)
X1,X2,・・・,Xn-1の情報ビット、及びパリティビットPの時点jにおけるビットをそれぞれX1,j,X2,j,・・・,Xn-1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn-1,j,Pj)と表す。
したがって、例えば、n=2のときuj=(X1,j,Pj)、n=3のときuj=(X1,j,X2,j,Pj)、n=4のときuj=(X1,j,X2,j,X3,j,Pj)、n=5のときuj=(X1,j,X2,j,X3,j,X4,j,Pj)、n=6のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,Pj)、n=7のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,Pj)、n=8のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,X7,j,Pj)、n=9のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,X7,j,X8,j,Pj)、n=10のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,X7,j,X8,j,X9,j,Pj)となる。
すると、符号化系列uは、u=(u0,u1,・・・,uj,・・・)Tとあらわされる。Dを遅延演算子とすると、情報ビットX1,X2,・・・,Xn-1の多項式はX1(D),X2(D),・・・,Xn-1(D)と表され、パリティビットPの多項式はP(D)と表される。このとき、本実施の形態の一例となる、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのi番目の0を満たすパリティ検査多項式を次式であらわす。
このとき、ap,i,q(p=1,2,・・・,n-1(pは1以上n-1以下の整数);q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
次に、上述の場合のパリティ検査行列の構成について説明する。
式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCの時点j(ただし、jは0以上の整数)のX1,X2,・・・,Xn-1の情報ビット、及びパリティビットPをそれぞれX1,j,X2,j,・・・,Xn-1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn-1,j,Pj)と表す。したがって、例えば、n=2のときuj=(X1,j,Pj)、n=3のときuj=(X1,j,X2,j,Pj)、n=4のときuj=(X1,j,X2,j,X3,j,Pj)、n=5のときuj=(X1,j,X2,j,X3,j,X4,j,Pj)、n=6のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,Pj)、n=7のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,Pj)、n=8のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,X7,j,Pj)、n=9のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,X7,j,X8,j,Pj)、n=10のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,X7,j,X8,j,X9,j,Pj)となる。
すると、符号化系列uは、u=(u0,u1,・・・,uj,・・・)Tとあらわされる。そして、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列をHproとすると、Hprou=0が成立する(このとき、「Hprou=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。
このときの式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列Hproの構成について図143を用いて説明する。
なお、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列Hproの最初の行は、第1行と呼び、Hproの最初の列を第1列と呼ぶことにする。
式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式である式(C7)に対応するサブ行列(ベクトル)をHiとすると、第iサブ行列は次式のようにあらわすことができる。
なお、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列Hproにおいて、第1行目は、式(C7)の0を満たすパリティ検査多項式のうちの、0を満たす0(i=0)番目のパリティ検査多項式により生成することができる。
同様に、パリティ検査行列Hproの第2行目は、式(C7)の0を満たすパリティ検査多項式のうちの、0を満たす1(i=1)番目のパリティ検査多項式により生成することができる。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「α%q」は、αをqで除算したときの余りである。(αは0以上の整数、qは自然数である。)
以上より、図143において、符号14301はパリティ検査行列のm×z-1行(zは1以上の整数)を示しており、式(C7)のm-2番目の0を満たすパリティ検査多項式に相当し、符号14302はパリティ検査行列のm×z行(zは1以上の整数)を示しており、式(C7)のm-1番目の0を満たすパリティ検査多項式に相当し、符号14303はパリティ検査行列のm×z+1行(zは1以上の整数。ただし、zが1以上の整数、すべてにおいて、図143の構成が成立するわけではない。この点については、後で詳しく説明する。)を示しており、式(C7)の0番目の0を満たすパリティ検査多項式に相当する。なお、他の行についても、行とパリティ検査多項式の関係は同様となる。
符号14305は、時点m×z-1に相当する列群を示しており、符号14305の列群は、「X1,m×z-1に対応する列、X2,m×z-1に対応する列、・・・、Xn-1,m×z-1に対応する列、Pm×z-1に対応する列、」の順に並んでいる。
符号14306は、時点m×zに相当する列群を示しており、符号14306の列群は、「X1,m×zに対応する列、X2,m×zに対応する列、・・・、Xn-1,m×zに対応する列、Pm×zに対応する列、」の順に並んでいる。
以下では、テイルバイティングを行わないときの、Hproの具体的な構成方法の例について、詳しく説明する。
式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列Hproの第s行目において、(sは1以上z以下の整数)(s-1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、パリティ検査行列Hproの第s行目に関連するパリティ検査多項式は、式(C7)から、以下のようにあらわされる。
そして、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列Hproの第s行のHcomp[s][j]において、jが、<ケースC-1>および<ケースC-2>および<ケースC-3>を満たさない場合、Hcomp[s][j]=0となる。
なお、<ケースC-1>は、式(C7)におけるパリティ検査多項式のD0Xq(D)(=Xq(D))(qは1以上n-1以下の整数)およびD0P(D)(=P(D))に相当する要素となる。
図105は、符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列Hの構成を示しており、例えば、図105のパリティ検査行列は、M行N列の行列となる。
そして、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列Hproを、図105のパリティ検査行列Hであらわすものとする。(したがって、Hpro=(図105の)Hとなる。以下では、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列HproをHと記載することにする。したがって、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCの符号化系列uは有限長であるものとする。)
このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、第j番目の送信系列vjの第k行目(ただし、kは、1以上N以下の整数)の要素(図105において、送信系列vjの転置行列vj Tの場合、第k列目の要素)は、Yj,kであるとともに、符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列)Hの第k列目を抽出したベクトルを図105のようにckとあらわす。このとき、LDPC符号のパリティ検査行列(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列)Hは、以下のようにあらわされる。
図106は、第j番目の送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)に対しインタリーブを行うときの構成を示している。図106において、符号化部10602は、情報10601を入力とし、符号化を行い、符号化後のデータ10603を出力する。例えば、図106の符号化率(N-M)/N(N>M>0)のLDPC(ブロック)符号(式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CC)の符号化を行う場合、符号化部10602は、第j番目における情報を入力し、図105の符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CC)Hに基づき、符号化を行い、第j番目の送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)を出力する。
そして、蓄積および並び替え部(インタリーブ部)10604は、符号化後のデータ10603を入力とし、符号化後のデータ10603を蓄積し、順番の並び替えを行い、インタリーブ後のデータ10605を出力する。したがって、蓄積および並び替え部(インタリーブ部)10604は、第j番目の送信系列vjを、vj=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)Tを入力とし、送信系列vjの要素の順番の入れ替えを行った結果、図106に示すように送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを出力することになる(v’jは一例である。)。なお、前述でも触れたように第j番目の送信系列vjに対し、送信系列vjの要素の順番の入れ替えを行った送信系列がv’jとなる。したがって、v’jは、1行N列のベクトルであり、v’jのN個の要素には、Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,Nがそれぞれ一つ存在することになる。
(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列と等価のパリティ検査行列H’)について、図107を用いて説明する。
よって、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’は、以下のようにあらわされる。
したがって、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCの送信系列(符号語)に対し、インタリーブを施した場合、上述のように、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列に対し、列並び替え(列置換)を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列となる。
例えば、送信装置が、第j番目の送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものとする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる。
蓄積および並び替え部(デインタリーブ部)10802は、対数尤度比信号10801を入力とし、蓄積、並び替えを行い、デインタリーブ後の対数尤度比信号10803を出力する。
復号器10604は、デインタリーブ後の対数尤度比信号10803を入力とし、図105に示した符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列)Hに基づき、非特許文献4~6、非特許文献8に示されているようなBP復号、sum-product復号、min-sum復号、offset BP復号、Normalized BP復号、Shuffled BP復号、スケジューリングを行ったLayered BP復号、パイプライン復号などの信頼度伝播復号(他の復号方法を用いてもよい)を行い、推定系列10805を得る。
上述と異なる復号関連の構成について説明する。上述と異なる点は、蓄積および並び替え部(デインタリーブ部)10802がない点である。各ビットの対数尤度比計算部10800は、上述と同様の動作となるので説明を省略する。
例えば、送信装置が、第j番目の送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものとする
。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
例えば、復号器10607は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の順に入力とし、図107に示した符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列H’(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列と等価のパリティ検査行列H’)に基づき、信頼度伝播復号(他の復号方法を用いてもよい)を行い、推定系列を得る。
したがって、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCの送信系列(符号語)に対し、インタリーブを施した場合、上述のように、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列に対し、列並び替え(列置換)を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
なお、上述の説明において、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCを扱っているので、(n-1)/n=(N-M)/Nを満たすように、N,Mを設定すればよい、ということが、LDPC-CCの特徴的な点となる。
図109は、符号化率(N-M)/NのLDPC符号の第j番目の送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)に対応するパリティ検査行列Hの構成を示している。例えば、図109のパリティ
検査行列は、M行N列の行列となる。そして、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列Hproを、図109のパリティ検査行列Hであらわすものとする。(したがって、Hpro=(図109の)Hとなる。以下では、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列をHと記載することにする。)(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報(X1からXn-1)またはパリティとなる。そして、Yj,kは、(N-M)個の情報とM個のパリティで構成されていることになる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、LDPC符号のパリティ検査行列(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列)Hは、以下のようにあらわされる。
図110は図109のパリティ検査行列Hに対し、行並び替え(行置換)を行ったパリティ検査行列H’の一例を示しており、パリティ検査行列H’は、図109と同様、符号化率(N-M)/NのLDPC符号(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CC)の第j番目の送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)に対応するパリティ検査行列(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列)となる。
図110のパリティ検査行列H’は、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkで構成されており、一例として、パリティ検査行列H’の第1行目はz130、第2行目はz24、第3行目はz45、・・・、第M-2行目はz33、第M-1行目はz9、第M行目はz3で構成されているものとする。なお、パリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したベクトルM個の行ベクトルには、z1、z2、z3、・・・zM-2、zM-1、zM、がそれぞれ一つ存在することになる。
このとき、LDPC符号(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CC)のパリティ検査行列H’は、以下のようにあらわされ、
つまり、第j番目の送信系列vj Tのとき、図110のパリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、図110のパリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM-2、zM-1、zM、がそれぞれ一つ存在することになる。
なお、「第j番目の送信系列vj Tのとき、図110のパリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、図110のパリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM-2、zM-1、zM、がそれぞれ一つ存在することになる。」の規則にしたがって、パリティ検査行列を作成すれば、上記の例に限らず、第j番目の送信系列vjのパリティ検査行列を得ることができる。
したがって、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCを用いていても、上述で説明したパリティ検査行列を、送信装置、および、受信装置で用いているとは限らない。よって、例えば、上述で説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)を
行った行列、または、行並び替え(行置換)を行った行列をパリティ検査行列として、送信装置、および、受信装置は、使用してもよい。
また、上述で説明した式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
このとき、上述で説明した式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H1を得る。そして、パリティ検査行列H1に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H2を得、送信装置、および、受信装置は、パリティ検査行列H2を用いて、符号化、復号化を行ってもよい。
次に、パリティ検査行列H2,1に対し、2回目の列並び替え(列置換)を行い、パリティ検査行列H1,2を得る。そして、パリティ検査行列H1,2に対し、2回目の行並び替え(行置換)を行い、パリティ検査行列H2,2を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H2,sを得る。このとき、パリティ検査行列H2,k-1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H1,kを得る。そして、パリティ検査行列H1,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H2,kを得ることになる。なお、1回目については、上述で説明した式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H2,1を得ることになる。
そして、送信装置、および、受信装置は、パリティ検査行列H2,sを用いて、符号化、復号化を行ってもよい。
また、上述で説明した式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4,1を得る。
次に、パリティ検査行列H4,1に対し、2回目の行並び替え(行置換)を行い、パリティ検査行列H3,2を得る。そして、パリティ検査行列H3,2に対し、2回目の列並び替え(列置換)を行い、パリティ検査行列H4,2を得る。
そして、送信装置、および、受信装置は、パリティ検査行列H4,sを用いて、符号化、復号化を行ってもよい。
なお、パリティ検査行列H2、パリティ検査行列H2,s、パリティ検査行列H4、パリティ検査行列H4,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、上述で説明した式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列を得ることができる。
上述の説明では、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列の構成方法の一例を説明した。
n=2、つまり、符号化率R=1/2のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC-CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上に設定する。つまり、式(C17)において、X1(D)の項数は4以上となる。また、b1,iは自然数となる。
n=3、つまり、符号化率R=2/3のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC-CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上に設定する。つまり、式(C18)に
おいて、X1(D)の項数は4以上、X2(D)の項数は4以上となる。また、b1,iは自然数となる。
n=4、つまり、符号化率R=3/4のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC-CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2、3;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上、r3は3以上に設定する。つまり、式(C19)において、X1(D)の項数は4以上、X2(D)の項数は4以上、X3(D)の項数は4以上となる。また、b1,iは自然数となる。
n=5、つまり、符号化率R=4/5のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC-CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2、3、4;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上、r3は3以上、r4は3以上に設定する。つまり、式(C20)において、X1(D)の項数は4以上、X2(D)の項数は4以上、X3(D)の項数は4以上、X4(D)の項数は4以上となる。また、b1,iは自然数となる。
n=6、つまり、符号化率R=5/6のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC-CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2、3、4、5;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上、r3は3以上、r4は3以上、r5は3以上に設定する。つまり、式(C21)において、X1(D)の項数は4以上、X2(D)の項数は4以上、X3(D)の項数は4以上、X4(D)の項数は4以上、X5(D)の項数は4以上となる。また、b1,iは自然数となる。
n=8、つまり、符号化率R=7/8のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC-CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2、3、4、5、6、7;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上、r3は3以上、r4は3以上、r5は3以上、r6は3以上、r7は3以上に設定する。つまり、式(C22)において、X1(D)の項数は4以上、X2(D)の項数は4以上、X3(D)の項数は4以上、X4(D)の項数は4以上、X5(D)の項数は4以上、X6(D)の項数は4以上、X7(D)の項数は4以上となる。また、b1,iは自然数となる。
n=9、つまり、符号化率R=8/9のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC-CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2、3、4、5、6、7、8;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上、r3は3以上、r4は3以上、r5は3以上、r6は3以上、r7は3以上、r8は3以上に設定する。つまり、式(C23)において、X1(D)の項数は4以上、X2(D)の項数は4以上、X3(D)の項数は4以上、X4(D)の項数は4以上、X5(D)の項数は4以上、X6(D)の項数は4以上、X7(D)の項数は4以上、X8(D)の項数は4以上となる。また、b1,iは自然数となる。
n=10、つまり、符号化率R=9/10のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC-CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2、3、4、5、6、7、8、9;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上、r3は3以上、r4は3以上、r5は3以上、r6は3以上、r7は3以上、r8は3以上、r9は3以上に設定する。つまり、式(C24)において、X1(D)の項数は4以上、X2(D)の項数は4以上、X3(D)の項数は4以上、X4(D)の項数は4以上、X5(D)の項数は4以上、X6(D)の項数は4以上、X7(D)の項数は4以上、X8(D)の項数は4以上、X9(D)の項数は4以上となる。また、b1,iは自然数となる。
なお、本実施の形態において、パリティ検査多項式に基づく、時変周期mの非正則LDPC-CCを形成するためのパリティ検査多項式として、式(C7)をあつかったが、これに限ったものではない。例えば、式(C7)の代わりに次式のパリティ検査多項式に基づく(次式のパリティ検査多項式で定義することができる)、符号化率(n-1)/n、時変周期mの非正則LDPC-CCとしてもよい。
このとき、ap,i,q(p=1,2,・・・,n-1(pは1以上n-1以下の整数);q=1,2,・・・,rp(qは1以上rp以下の整数))は0以上の整数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。また、iは0以上m-1以下の整数であり、式(C25)はi番目の0を満たすパリティ検査多項式である。
また、別の方法として、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式とは異なり、パリティ検査多項式ごとに、Xk(D)の項数(kは1以上n-1以下の整数)を設定してもよい。すると、例えば、時変周期mの非正則LDPC-CCのi番目(iは0以上m-1以下の整数)のパリティ検査多項式として、式(C7)の代わりに次式のパリティ検査多項式に基づく(次式のパリティ検査多項式で定義することができる)、符号化率(n-1)/n、時変周期mの非正則LDPC-CCとしてもよい。
このとき、ap,i,q(p=1,2,・・・,n-1(pは1以上n-1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は自然数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。また、b1,iは自然数となる。なお、式(C26)において、iごとに、rp,iを設定することができる点が、式(C26)の特徴である。そして、iは0以上m-1以下の整数であり、式(C26)はi番目の0を満たすパリティ検査多項式である。
なお、高い誤り訂正能力を得るために、pは1以上n-1以下の整数、iは0以上m-1以下の整数であり、これを満たす、すべてのp、すべてのiにおいて、rp,iを1以上に設定するとよい。
このとき、ap,i,q(p=1,2,・・・,n-1(pは1以上n-1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は0以上の整数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。また、b1,iは自然数となる。なお、式(C27)において、iごとに、rp,iを設定することができる点が、式(C27)の特徴である。そして、iは0以上m-1以下の整数であり、式(C27)はi番目の0を満たすパリティ検査多項式である。
上述では、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCを形成するためのパリティ検査多項式として、式(C7)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(C7)の条件の例について説明する。
上述で説明したように、
「高い誤り訂正能力を得るために、r1、r2、・・・、rn-2、rn-1いずれも3以上に設定する(1以上n-1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(C7)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn-2、rn-1いずれも3以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
<条件C1-1-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・
・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m-1以下の整数)
<条件C1-1-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
<条件C1-1-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
同様に、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列の情報Xn-1に関連する列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件C1-1-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
(gは0以上m-1以下の整数)
<条件C1-1’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件C1-1’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
<条件C1-1’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件C1-1’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
<条件C1-2-1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件C1-2-2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
<条件C1-2-k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件C1-2-(n-1)>
「vn-1,1≠0、かつ、vn-1,2≠0が成立する。」
かつ
「vn-1,1≠vn-1,2が成立する。」
<条件C1-3-1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa-1
vは3以上r1以下の整数であり、すべてのvで「条件#Xa-1」を満たすことはない。
<条件C1-3-2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa-2
vは3以上r2以下の整数であり、すべてのvで「条件#Xa-2」を満たすことはない。
・
・
・
<条件C1-3-k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa-k
vは3以上rk以下の整数であり、すべてのvで「条件#Xa-k」を満たすことはない。
(kは、1以上n-1以下の整数)
・
・
・
<条件C1-3-(n-1)>
「an-1,g,v%m=an-1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan-1,g,v%m=an-1,h,v%mが成立する。)・・・条件#Xa-(n-1)
vは3以上rn-1以下の整数であり、すべてのvで「条件#Xa-(n-1)」を満たすことはない。
<条件C1-3’-1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-1
vは3以上r1以下の整数であり、すべてのvで「条件#Ya-1」を満たす。
<条件C1-3’-2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,
m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya-2
vは3以上r2以下の整数であり、すべてのvで「条件#Ya-2」を満たす。
・
・
・
<条件C1-3’-k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya-k
vは3以上rk以下の整数であり、すべてのvで「条件#Ya-k」を満たす。
(kは、1以上n-1以下の整数)
・
・
・
<条件C1-3’-(n-1)>
「an-1,g,v%m≠an-1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、an-1,g,v%m≠an-1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-(n-1)
vは3以上rn-1以下の整数であり、すべてのvで「条件#Ya-(n-1)」を満たす。
なお、以上の条件を踏まえて、高い誤り訂正能力をもつ式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCを生成することになるが、このとき、高い誤り訂正能力をもつ式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCを容易に得るためには、r1=r2=・・・=rn-2=rn-1=r(rは3以上)と設定するとよい。
実施の形態1、実施の形態6、実施の形態A1等の説明から、これを実現するために、上記で記載した、vk,1およびvk,2(kは、1以上n-1以下の整数)は、以下の条件を満たすとよい。
<条件C1-4-1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件C1-4-2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
<条件C1-5-1>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件C1-4-1>で定義している。
<条件C1-5-2>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件C1-4-2>で定義している。
<条件C1-5-1’>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件C1-5-2’>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
<条件C1-5-1”>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件C1-5-2”>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
パリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCを形成するためのパリティ検査多項式として、式(C25)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(C25)の条件の例について説明する。
「高い誤り訂正能力を得るために、r1、r2、・・・、rn-2、rn-1いずれも4以上に設定する(1以上n-1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B1)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn-2、rn-1いずれも4以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
このとき、式(C25)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列の情報X1に関連する列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。なお、パリティ検査行列のα列において、α列を抽出したベクトルにおいて、そのベクトルの要素において、「1」が存在する数がα列の列重みとなる。
<条件C1-6-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m-2,3%m=a1,m-1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m-1以下の整数)
<条件C1-6-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m-2,3%m=a2,m-1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
<条件C1-6-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m-2,3%m=ak,m-1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
<条件C1-6-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
「an-1,0,3%m=an-1,1,3%m=an-1,2,3%m=an-1,3,3%m=・・・=an-1,g,3%m=・・・=an-1,m-2,3%m=an-1,m-1,3%m=vn-1,3 (vn-1,3:固定値)」
(gは0以上m-1以下の整数)
<条件C1-6’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件C1-6’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
<条件C1-6’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件C1-6’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
<条件C1-7-1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件C1-7-2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
<条件C1-7-k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件C1-7-(n-1)>
「vn-1,1≠vn-1,2、vn-1,1≠vn-1,3、vn-1,2≠vn-1,3が成立する。」
<条件C1-8-1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa-1
vは4以上r1以下の整数であり、すべてのvで「条件#Xa-1」を満たすことはない。
<条件C1-8-2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa-2
vは4以上r2以下の整数であり、すべてのvで「条件#Xa-2」を満たすことはない。
・
・
・
<条件C1-8-k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa-k
vは4以上rk以下の整数であり、すべてのvで「条件#Xa-k」を満たすことはない。
(kは、1以上n-1以下の整数)
・
・
・
<条件C1-8-(n-1)>
「an-1,g,v%m=an-1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan-1,g,v%m=an-1,h,v%mが成立する。)・・・条件#Xa-(n-1)
vは4以上rn-1以下の整数であり、すべてのvで「条件#Xa-(n-1)」を満たすことはない。
<条件C1-8’-1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-1
vは4以上r1以下の整数であり、すべてのvで「条件#Ya-1」を満たす。
<条件C1-8’-2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya-2
vは4以上r2以下の整数であり、すべてのvで「条件#Ya-2」を満たす。
・
・
・
<条件C1-8’-k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,
m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya-k
vは4以上rk以下の整数であり、すべてのvで「条件#Ya-k」を満たす。
(kは、1以上n-1以下の整数)
・
・
・
<条件C1-8’-(n-1)>
「an-1,g,v%m≠an-1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m-3,m-2,m-1;g≠h」
(gは0以上m-1以下の整数であり、かつ、hは0以上m-1以下の整数であり、かつ、g≠hであり、an-1,g,v%m≠an-1,h,v%mが成立するg、hが存在する。)・・・条件#Ya-(n-1)
vは4以上rn-1以下の整数であり、すべてのvで「条件#Ya-(n-1)」を満たす。
なお、以上の条件を踏まえて、高い誤り訂正能力をもつ式(C25)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCを生成することになるが、このとき、高い誤り訂正能力をもつ式(C25)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCを容易に得るためには、r1=r2=・・・=rn-2=rn-1=r(rは4以上)と設定するとよい。
高い誤り訂正能力を得るために、iは0以上m-1以下の整数であり、これを満たす、すべてのiにおいて、r1,i、r2,i、・・・、rn-2,i、rn-1,iいずれも2以上に設定する。このとき、高い誤り訂正能力を得るための条件の例について説明する。
このとき、式(C26)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列の情報X1に関連する列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。なお、パリティ検査行列のα列において、α列を抽出したベクトルにおいて、そのベクトルの要素において、「1」が存在する数がα列の列重みとなる。
<条件C1-9-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m-1以下の整数)
<条件C1-9-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
<条件C1-9-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m-1以下の整数)
・
・
・
<条件C1-9-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
(gは0以上m-1以下の整数)
<条件C1-9’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件C1-9’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
<条件C1-9’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件C1-9’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,
j(vn-1,j:固定値)が成立する。)
<条件C1-10-1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件C1-10-2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
<条件C1-10-k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件C1-10-(n-1)>
「vn-1,1≠0、かつ、vn-1,2≠0が成立する。」
かつ
「vn-1,1≠vn-1,2が成立する。」
また、実施の形態1、実施の形態6、実施の形態A1等で説明したように、式(C26)で定義することができるパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCを形成するためのパリティ検査多項式、式(C26)に相当するチェックノードが、ツリーを描いたときに、可能な限り多く出現するとよい可能性がある。
実施の形態1、実施の形態6、実施の形態A1等の説明から、これを実現するために、上記で記載した、vk,1およびvk,2(kは、1以上n-1以下の整数)は、以下の条件を満たすとよい。
<条件C1-11-1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件C1-11-2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
<条件C1-12-1>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件C1-11-1>で定義している。
<条件C1-12-2>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件C1-11-2>で定義している。
<条件C1-12-1’>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件C1-12-2’>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
<条件C1-12-1”>
・vk,1は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件C1-12-2”>
・vk,2は1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
-CCを形成するためのパリティ検査多項式として、式(C27)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(C27)の条件の例について説明する。
高い誤り訂正能力を得るために、iは0以上m-1以下の整数であり、これを満たす、すべてのiにおいて、r1,i、r2,i、・・・、rn-2,i、rn-1,iいずれも3以上に設定する。このとき、高い誤り訂正能力を得るための条件の例について説明する。
<条件C1-13-1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m-2,1%m=a1,m-1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m-2,2%m=a1,m-1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m-2,3%m=a1,m-1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m-1以下の整数)
<条件C1-13-2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m-2,1%m=a2,m-1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m-2,2%m=a2,m-1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m-2,3%m=a2,m-1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
<条件C1-13-k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m-2,1%m=ak,m-1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m-2,2%m=ak,m-1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m-2,3%m=ak,m-1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m-1以下の整数)
・
・
・
<条件C1-13-(n-1)>
「an-1,0,1%m=an-1,1,1%m=an-1,2,1%m=an-1,3,1%m=・・・=an-1,g,1%m=・・・=an-1,m-2,1%m=an-1,m-1,1%m=vn-1,1 (vn-1,1:固定値)」
「an-1,0,2%m=an-1,1,2%m=an-1,2,2%m=an-1,3,2%m=・・・=an-1,g,2%m=・・・=an-1,m-2,2%m=an-1,m-1,2%m=vn-1,2 (vn-1,2:固定値)」
「an-1,0,3%m=an-1,1,3%m=an-1,2,3%m=an-1,3,3%m=・・・=an-1,g,3%m=・・・=an-1,m-2,3%m=an-1,m-1,3%m=vn-1,3 (vn-1,3:固定値)」
(gは0以上m-1以下の整数)
<条件C1-13’-1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1
,j:固定値)が成立する。)
<条件C1-13’-2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(v2,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
<条件C1-13’-k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vk,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n-1以下の整数)
・
・
・
<条件C1-13’-(n-1)>
「an-1,g,j%m=vn-1,j for ∀g g=0,1,2,・・・,m-3,m-2,m-1(vn-1,j:固定値)」
(gは0以上m-1以下の整数であり、すべてのgでan-1,g,j%m=vn-1,j(vn-1,j:固定値)が成立する。)
<条件C1-14-1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件C1-14-2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
<条件C1-14-k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n-1以下の整数)
・
・
・
<条件C1-14-(n-1)>
「vn-1,1≠vn-1,2、vn-1,1≠vn-1,3、vn-1,2≠vn-1,3が成立する。」
本実施の形態では、パリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列の具体的な構成例を述べ、上述のように生成したパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCは、高い誤り訂正能力を得ることができる可能性があり、これにより、例えば、放送システムや通信システムにおける復号器を有する受信装置は、高いデータの受信品質を得ることができるという利点がある。なお、本実施の形態の符号の構成方法は、一例であり、他の方法で生成したパリティ検査多項式に基づく、符号化率(n-1)/n、時変周期mの非正則LDPC-CCも高い誤り訂正能力を得ることができる可能性はある。
例えば、式(C7)、式(C17)から式(C27)のような、0を満たすパリティ検査多項式に基づく、符号化率R=(n-1)/n、時変周期mの非正則LDPC-CCのためのi番目(i=0,1,・・・,m-1)の0を満たすパリティ検査多項式を次式のようにあらわす。(式(C7)、式(C17)から式(C27)のような、0を満たすパリティ検査多項式を一般化した、0を満たすパリティ検査多項式を次式に示す。)
このとき、k=1、2、・・・、n-2、n-1(kは1以上n-1の整数)を満たす、すべてのk、および、i=0,1,・・・,m-1(iは0以上m-1以下の整数)を満たす、すべてのiにおいて、AXk,i(D)≠0を満たす。そして、b1,iは自然数とする。
式(C28)の0を満たすパリティ検査多項式の多項式の部分に対し、以下の関数を定義する。
したがって、実施の形態1、実施の形態6から、以下の条件が有効な方法となる。
<条件C1-15>
・式(C28)の0を満たすパリティ検査多項式において、iは0以上m-1以下の整数であり、かつ、jは0以上m-1以下の整数であり、かつ、i≠jであり、この条件を満たす、すべてi、すべてのjで、b1,i%m=b1,j%m=β(βは自然数であり、βは固定値)を満たす。
<条件C1-16>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、βはRに属してはならない。
なお、「mの約数のうち、1を除いた、約数の集合をRとしたとき、少なくともβはRに属してはならない。」という条件に加え、新たに、以下の条件を満たすとよい。
<条件C1-17>
・βは1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。β/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件C1-16>で定義している。
<条件C1-17’>
・βは1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。βの約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件C1-17><条件C1-17’>を別の表現をすると、<条件C1-17”>となる。
<条件C1-17”>
・βは1以上m-1以下の整数の集合に属し、かつ、次の条件を満たす。βとmの最大公約数が1である。
以下では、例を用いて説明する。時変周期m=6とする。すると、<条件C1-15>において、βは自然数であることから、βは{1、2、3、4、5}となる。
そして、<条件C1-16>「「mの約数のうち、1を除いた、約数の集合をR」としたとき、βはRに属してはならない。」と記載している。このとき、集合Rは{2、3、6}となる(約数のうち1を除くので)。したがって、<条件C1-15>かつ<条件C1-16>を満たしたとき、βは{1、4、5}となる。
<条件C1-17>について考える。(<条件C1-17’><条件C1-17”>を考えても同様である。)まず、βは1以上m-1以下の整数の集合に属することから、βとして{1、2、3、4、5}を考えることができる。
βが1のとき、集合Sは{1}となる。したがって、R∩Sは空集合であり、<条件C1-17>を満たす。
βが2のとき、集合Sは{1,2}となる。したがって、R∩Sは{2}となり、<条件C1-17>を満たさない。
βが3のとき、集合Sは{1,3}となる。したがって、R∩Sは{3}となり、<条件C1-17>を満たさない。
βが4のとき、集合Sは{1,2,4}となる。したがって、R∩Sは{2}となり、<条件C1-17>を満たさない。
βが5のとき、集合Sは{1,5}となる。したがって、R∩Sは空集合であり、<条件C1-17>を満たす。
したがって、<条件C1-15>かつ<条件C1-17>を満たすβは{1、5}となる。
そして、<条件C1-16>「「mの約数のうち、1を除いた、約数の集合をR」としたとき、βはRに属してはならない。」と記載している。このとき、集合Rは{7}となる(約数のうち1を除くので)。したがって、<条件C1-15>かつ<条件C1-16>を満たしたとき、βは{1、2、3、4、5、6}となる。
<条件C1-17>について考える。まず、βは1以上m-1以下の整数であることから、βとして{1、2、3、4、5、6}を考えることができる。
次に、「β/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。」を考える。上記で説明したように、集合Rは{7}となる。βが1のとき、集合Sは{1}となる。したがって、R∩Sは空集合であり、<条件C1-17>を満たす。
βが2のとき、集合Sは{1,2}となる。したがって、R∩Sは空集合であり、<条件C1-17>を満たす。
βが3のとき、集合Sは{1,3}となる。したがって、R∩Sは空集合であり、<条件C1-17>を満たす。
βが4のとき、集合Sは{1,2,4}となる。したがって、R∩Sは空集合であり、<条件C1-17>を満たす。
βが5のとき、集合Sは{1,5}となる。したがって、R∩Sは空集合であり、<条件C1-17>を満たす。
βが6のとき、集合Sは{1,2,3,6}となる。したがって、R∩Sは空集合であり、<条件C1-17>を満たす。
また、非特許文献2に示されているように、パリティ検査行列において、「1」の存在する位置は、random-likeであると、高い誤り訂正能力が得られる可能性がある。そのた
めに、以下の条件を満たすとよい。
<条件C1-18>
・「式(C28)の0を満たすパリティ検査多項式において、iは0以上m-1以下の整数であり、かつ、jは0以上m-1以下の整数であり、かつ、i≠jであり、この条件を満たす、すべてi、すべてのjで、b1,i%m=b1,j%m=β(βは自然数であり、βは固定値)を満たし」、
かつ、
「vは0以上m-1以下の整数であり、かつ、wは0以上m-1以下の整数であり、かつ、v≠wであり、b1,v≠b1,wを満たすv、wが存在する」
<条件C1-19>
・「式(C28)の0を満たすパリティ検査多項式において、iは0以上m-1以下の整数であり、かつ、jは0以上m-1以下の整数であり、かつ、i≠jであり、この条件を満たす、すべてi、すべてのjで、b1,i%m=b1,j%m=β(βは自然数であり、βは固定値)を満たし」、
かつ、
「vは0以上m-1以下の整数であり、かつ、wは0以上m-1以下の整数であり、かつ、v≠wであり、この条件を満たす、すべてのv、すべてのwにおいて、b1,v≠b1,wを満たす。」
また、畳み込み符号ということを考慮する、拘束長は大きい方が高い誤り訂正能力を得ることができる可能性が高い。この点を考慮すると、以下の条件を満たすとよい。
<条件C1-20>
・「式(C28)の0を満たすパリティ検査多項式において、iは0以上m-1以下の整数であり、この条件を満たす、すべてiで、b1,i=1を満たす。」を満たさない。
ただし、<条件C1-20>を満たさなくても、高い誤り訂正能力が得られる可能性はある。
なお、式(C28)の0を満たすパリティ検査多項式で定義される、符号化率R=(n-1)/n、時変周期mの非正則LDPC-CCの0を満たすパリティ検査多項式、式(C28)において、情報X1(D)項の数、情報X2(D)項の数、・・・、情報Xn-2(D)項の数、情報Xn-1(D)項の数のいずれか、または、すべてにおいて、2以上、または、3以上に設定すると高い誤り訂正能力得ることができる可能性があり、この場合、実施の形態6等で説明したように、タナ-グラフを描いた際、時変周期を大きくした効果を得るためには、時変周期mは奇数であるとよく、他の有効な条件としては、
(1)時変周期mが素数であること。
(2)時変周期mが奇数であり、かつ、mの約数の数が少ないこと。
(3)時変周期mをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期mをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
(5)時変周期mをα×β×γとする。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期mをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
(7)時変周期mをAu×Bvとする。
ただし、A、Bともに、1を除く奇数であり、かつ、素数であり、A≠Bとし、u、vともに1以上の整数。
(8)時変周期mをAu×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数。
(9)時変周期mをAu×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数。
となる。
(10)時変周期mを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(11)時変周期mを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(12)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(13)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(14)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(15)時変周期mを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
(16)時変周期mを2g×Au×Bvとする。
ただし、A、Bともに1を除く奇数であり、かつ、A、Bともには素数であり、A≠Bとし、かつ、u、vともに1以上の整数であり、かつ、gは1以上の整数とする。
(17)時変周期mを2g×Au×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、A、B、Cいずれも素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数であり、かつ、gは1以上の整数とする。
(18)時変周期mを2g×Au×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、A、B、C、Dいずれも素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数とし、かつ、gは1以上の整数とする。
また、時変周期mが小さいと符号化率が小さいとき高いビット誤り率でエラーフロアーを発生する可能性がある。この点が、通信システム、放送システム、ストレージ、メモリ等で使用したとき問題となるとき、時変周期mは3より大きいことが望まれるが、システム上、許容範囲の場合、時変周期mを小さく設定してもよい。
次に、本実施の形態で説明した、パリティ検査多項式に基づく、符号化率R=(n-1)/n、時変周期mの非正則LDPC-CCの符号化器、復号化器の構成、および、動作について説明する。
送信装置1901の符号化器1911は、時点jにおける、情報X1,j,X2,j,・・・,Xn-1,jを入力とし、本実施の形態で説明した、パリティ検査多項式に基づく、符号化率R=(n-1)/n、時変周期mの非正則LDPC-CCのパリティ検査行列Hpro、および、Hprou=0の関係に基づき符号化を行い、パリティを計算し、符号化系列uは、u=(u0,u1,・・・,uj,・・・)Tを得る。(ただし、uj=(X1,j,X2,j,・・・,Xn-1,j,Pj)となる。)
上記では、通信システムを例に、符号化器、復号化器の動作を説明したが、これに限ったものではなく、ストレージ、メモリ等の分野でも符号化器、復号化器を活用することができる。
なお、上述では、テイルバイティングを行わない場合の、パリティ検査多項式に基づく、符号化率R=(n-1)/n、時変周期mの非正則LDPC-CCに説明したが、テイルバイティングを適用してもよい。
(実施の形態C2)
したがって、本実施の形態では、実施の形態A1および実施の形態B1で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CC(LDPC-CCを利用したブロック化したLDPC符号)と実施の形態C1で述べた、パリティ検査多項式に基づく、符号化率R=(n-1)/n、時変周期mの非正則LDPC-CCに対しテイルバイティングを適用した場合の違いについて説明する。
第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m-2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-2番目のパリティ検査多項式」であり、
第m-1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m-2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-2番目のパリティ検査多項式」であり、
第2m-1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-
2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
「第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、第e番目(eは1以上m×z-1の整数)の0を満たすパリティ検査多項式は、「式(B1)の0を満たすe%m番目のパリティ検査多項式」
となる。
第0番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目パリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m-2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-2番目のパリティ検査多項式」であり、
第m-1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m-2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-2番目のパリティ検査多項式」であり、
第2m-1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z-2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-2番目のパリティ検査多項式」であり、
第m×z-1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm-1番目のパリティ検査多項式」
となる。つまり、
「第e番目(eは0以上m×z-1の整数)の0を満たすパリティ検査多項式は、「式(B1)の0を満たすe%m番目のパリティ検査多項式」
となる。
また上述では、実施の形態C1で述べた、パリティ検査多項式に基づく、符号化率R=(n-1)/n、時変周期mの非正則LDPC-CCに対しテイルバイティングを適用した場合の0を満たすパリティ検査多項式を式(B1)としたが、これに限ったものではなく、上述において、0を満たす式(B1)のパリティ検査多項式の代わりに、実施の形態C1で記載した、例えば、式(C7)、式(C17)から式(C24)、式(C25)、式(C26)、式(C27)のいずれの0を満たすパリティ検査多項式を用いても、パリティ検査多項式に基づく、符号化率R=(n-1)/n、時変周期mの非正則LDPC-CCに対しテイルバイティングを適用した符号を生成することができる。
さらに、パリティ検査多項式に基づく、符号化率R=(n-1)/n、時変周期mの非正則LDPC-CCに対し、テイルバイティングを適用した場合の符号化器、復号化器は、実施の形態A1、実施の形態B1、実施の形態C1で述べたような、符号化器、復号化器と同様に構成することが可能である。
なお、式(C34)は、式(C33)におけるD0P(D)(=P(D))に相当する要素であり、また、式(C35-1,C35-2)における分類は、パリティPproに関連する部分行列Hpの行は1からm×zまで存在し、列も1からm×zまで存在するからである。
式(B1)の0を満たすパリティ検査多項式で定義することができる、符号化率R=(n-1)/n、時変周期mの非正則LDPC-CCに対しテイルバイティングを適用したときのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qのi行j列の要素をHx,q,comp[i][j](iおよびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z-1、m×z))とあらわすものとする。
すると、式(B1)の0を満たすパリティ検査多項式で定義することができる、符号化率R=(n-1)/n、時変周期mの非正則LDPC-CCに対しテイルバイティングを適用したとき、情報Xqに関連する部分行列Hx,qの第s行目において、(sは1以上m×z以下の整数)(s-1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xqに関連する部分行列Hx,qの第s行目に関連するパリティ検査多項式は、式(B1)から、式(C33)とあらわされる。
したがって、情報Xqに関連する部分行列Hx,qの第s行目において、要素が「1」を満たす場合は、
以上のように、本実施の形態では、パリティ検査多項式に基づく、符号化率R=(n-1)/n、時変周期mの非正則LDPC-CCに対し、テイルバイティングを適用した場合について説明した。本実施の形態で述べたように、パリティ検査多項式に基づく、符号化率R=(n-1)/n、時変周期mの非正則LDPC-CCに対し、テイルバイティングを適用すると、高い誤り訂正能力を得ることができるようになり、これにより、通信装置・ストレージ・メモリ等の装置でこの符号を使用した場合、信頼性の高いデータを得ることができるという効果を得ることができる。
(実施の形態C3)
符号化率R=(n-1)/nのパリティ検査多項式に基づくLDPC-CCを用いたとき(nは2以上の自然数)を考える。このとき、例えば、送信装置が、Mビットの情報を受信装置に伝送したいものとする。(または、Mビットの情報をストレージが記憶しておきたいものとする。)
情報のビット数Mが(n-1)の倍数でない場合を考える。このとき、Mを(n-1)で除算したときの商をa、余りがbであるものとする。この状況において、情報とパリティ、および、仮想データ、ターミネーション系列の状況を示した図が図144となる。
Mビットの情報系列は、n-1ビットで構成した情報セットa個を生成することができる。このとき、第kの情報セットを(X1,k、X2,k、・・・、Xn-2,k、Xn-1,k)とする(kは1以上a以下の整数)。
(X1,1、X2,1、・・・、Xn-2,1、Xn-1,1)~(X1,a、X2,a、・・・、Xn-2,a、Xn-1,a)に対し、bビットの情報を付加すると、Mビットの情報系列となる。したがって、このbビットの情報をXj,a+1(ただし、jは1以上b以下の整数)とあらわす。(図144参照)
Xj,a+1(ただし、jは1以上b以下の整数)だけでは、n-1ビットの情報とならないため、パリティを生成することができない。したがって、n-1-bビット(個)の「0」を追加し、Xj,a+1(ただし、jは1以上b以下の整数)とn-1-bビット(個)の「0」から、パリティ(Pa+1)を生成する(図144の14402参照)。このとき、n-1-bビット(個)の「0」は仮想データとなる。
その後は、n-1ビット(個)から構成される「0」からパリティを生成する作業が繰り替えされる。つまり、n-1ビット(個)から構成される「0」からパリティPa+2を生成し、次のn-1ビット(個)から構成される「0」からパリティPa+3を生成し、・・・と繰り返される。(図144の14403参照)
例えば、ターミネーション系列数を100と設定した場合、Pa+100まで生成することになる。
また、ストレージの場合、(X1,k、X2,k、・・・、Xn-2,k、Xn-1,k,Pk)(kは1以上a以下の整数)、および、Xj,a+1(ただし、jは1以上b以下の整数)、および、Pi(iはa+1以上a+100以下の整数)を記憶することになる。
(実施の形態C4)
はじめに、「列入れ替え」について説明する。
本明細書で説明した(本発明の)符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列をHとあらわす。(図105参照)(パリティ検査行列は、M行N列の行列となる)そして、図105の本発明の符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列に対し、第j番目の送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N-2、Yj,N-1、Yj,N)とする(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報またはパリティとなる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
次に、式(C38)のパリティ検査行列Hのi列とj列(ただし、iは1以上N以下の整数、jは1以上N以下の整数、i≠jとする。)を入れ替えることを考える。すると、入れ替え後のパリティ検査行列をHrとし、Hrの第k列目を抽出したベクトルをfkとすると、Hrは次式のようにあらわされ、
本実施の形態では、これを「列入れ替え」とよぶ。そして、列入れ替え後のパリティ検査行列をHrで定義するLDPC符号は、もとのパリティ検査行列Hで定義するLDPC符号と同様、高い誤り訂正能力をもつ。
このとき、Hrvr j=0が成立する。(なお、ここでの「Hrvr j=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
次に、「行入れ替え」について説明する。
このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、本明細書で説明した(本発明の)LDPC符号のパリティ検査行列Hは、以下のようにあらわされる。
次に、式(C43)のパリティ検査行列Hのi行とj行(ただし、iは1以上M以下の整数、jは1以上M以下の整数、i≠jとする。)を入れ替えることを考える。すると、入れ替え後のパリティ検査行列をHtとし、Htの第k行目を抽出したベクトルをekとすると、Htは次式のようにあらわされ、
ただし、sは1以上M以下の整数であり、s≠i、かつ、s≠j、これを満たす、すべてのsで式(C47)が成立する。
本実施の形態では、これを「行入れ替え」とよぶ。そして、行入れ替え後のパリティ検査行列をHtで定義するLDPC符号は、もとのパリティ検査行列Hで定義するLDPC符号と同様、高い誤り訂正能力をもつ。
なお、行入れ替え後のパリティ検査行列をHtで定義するLDPC符号の第j番目の送信系列(符号語)vr j T=(Yr j,1、Yr j,2、Yr j,3、・・・、Yr j,N-2、Yr j,N-1、Yr j,N)とする(組織符号の場合、Yr j,k(kは1以上N以下の整数)は、情報またはパリティとなる。)。
上述では、本明細書で説明した(本発明の)符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列をHに対し、1回の列入れ替え、または、1回の行入れ替えを行うことにより得られたパリティ検査行列で定義できるLDPC符号について説明したが、複数回の列入れ替え、および/または、複数回の行入れ替えを行うことで得られるパリティ検査行列で定義することができるLDPC符号も、同様に高い誤り訂正能力を得ることができる。この点について説明する。
このとき、1回目の列入れ替えでは、本明細書で説明した(本発明の)符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列Hに対し、列入れ替えを行い、パリティ検査行列Hr,1を得る。
2回目の列入れ替えでは、パリティ検査行列Hr,1に対し、列入れ替えを行い、パリティ検査行列Hr,2を得る。
3回目の列入れ替えでは、パリティ検査行列Hr,2に対し、列入れ替えを行い、パリティ検査行列Hr,3を得る。
以上と同様の操作を、4回目からa回目まで行い、a回の列入れ替えを行ったパリティ検査行列Hr,aを得ることになる。
つまり、以下のような処理が行われる。
「1回目の列入れ替えでは、本明細書で説明した(本発明の)符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列をHに対し、列入れ替えを行い、パリティ検査行列Hr,1を得る。そして、k回目(kは2以上a以下の整数)列入れ替えでは、パリティ検査行列Hr,k-1に対し、列入れ替えを行い、パリティ検査行列Hr,kを得る。」
このようにして生成したパリティ検査行列Hr,aで定義することができるLDPC符号は、もとのパリティ検査行列Hで定義するLDPC符号と同様、高い誤り訂正能力をもつ。
なお、列入れ替え後のパリティ検査行列をHr,aで定義するLDPC符号の第j番目の送信系列(符号語)vr j T=(Yr j,1、Yr j,2、Yr j,3、・・・、Yr j,N-2、Yr j,N-1、Yr j,N)とする(組織符号の場合、Yr j,k(kは1以上N以下の整数)は、情報またはパリティとなる。)。
このとき、Hr,avr j=0が成立する。(なお、ここでの「Hr,avr j=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
このとき、1回目の行入れ替えでは、本明細書で説明した(本発明の)符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列Hに対し、行入れ替えを行い、パリティ検査行列Ht,1を得る。
2回目の行入れ替えでは、パリティ検査行列Ht,1に対し、行入れ替えを行い、パリティ検査行列Ht,2を得る。
3回目の行入れ替えでは、パリティ検査行列Ht,2に対し、行入れ替えを行い、パリティ検査行列Ht,3を得る。
つまり、以下のような処理が行われる。
「1回目の行入れ替えでは、本明細書で説明した(本発明の)符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列をHに対し、行入れ替えを行い、パリティ検査行列Ht,1を得る。そして、k回目(kは2以上b以下の整数)行入れ替えでは、パリティ検査行列Ht,k-1に対し、行入れ替えを行い、パリティ検査行列Ht,kを得る。」
これにより、Ht,bを得ることになる。
このようにして生成したパリティ検査行列Ht,bで定義することができるLDPC符号は、もとのパリティ検査行列Hで定義するLDPC符号と同様、高い誤り訂正能力をもつ。
なお、行入れ替え後のパリティ検査行列をHt,bで定義するLDPC符号の第j番目の送信系列(符号語)vr j T=(Yr j,1、Yr j,2、Yr j,3、・・・、Yr j,N-2、Yr j,N-1、Yr j,N)とする(組織符号の場合、Yr j,k(kは1以上N以下の整数)は、情報またはパリティとなる。)。
本明細書で説明した(本発明の)符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列をHに対し、a回の列入れ替え、および、b回の行入れ替えを行うことを考える。(aは1以上の整数とし、bも1以上の整数とする。)
このとき、1回目の列入れ替えでは、本明細書で説明した(本発明の)符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列Hに対し、列入れ替えを行い、パリティ検査行列Hr,1を得る。
2回目の列入れ替えでは、パリティ検査行列Hr,1に対し、列入れ替えを行い、パリティ検査行列Hr,2を得る。
3回目の列入れ替えでは、パリティ検査行列Hr,2に対し、列入れ替えを行い、パリティ検査行列Hr,3を得る。
以上と同様の操作を、4回目からa回目まで行い、a回の列入れ替えを行ったパリティ検査行列Hr,aを得ることになる。
つまり、以下のような処理が行われる。
「1回目の列入れ替えでは、本明細書で説明した(本発明の)符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列をHに対し、列入れ替えを行い、パリティ検査行列Hr,1を得る。そして、k回目(kは2以上a以下の整数)列入れ替えでは、パリティ検査行列Hr,k-1に対し、列入れ替えを行い、パリティ検査行列Hr,kを得る。」
2回目の行入れ替えでは、パリティ検査行列Ht,1に対し、行入れ替えを行い、パリティ検査行列Ht,2を得る。
3回目の行入れ替えでは、パリティ検査行列Ht,2に対し、行入れ替えを行い、パリティ検査行列Ht,3を得る。
以上と同様の操作を、4回目からb回目まで行い、b回の行入れ替えを行ったパリティ検査行列Ht,bを得ることになる。
つまり、以下のような処理が行われる。
「1回目の行入れ替えでは、a回の列入れ替えを行ったパリティ検査行列Hr,aに対し、行入れ替えを行い、パリティ検査行列Ht,1を得る。そして、k回目(kは2以上b以下の整数)行入れ替えでは、パリティ検査行列Ht,k-1に対し、行入れ替えを行い、パリティ検査行列Ht,kを得る。」
これにより、Ht,bを得ることになる。
このようにして生成したパリティ検査行列Ht,bで定義することができるLDPC符号は、もとのパリティ検査行列Hで定義するLDPC符号と同様、高い誤り訂正能力をもつ。
このとき、Ht,bvr j=0が成立する。(なお、ここでの「Ht,bvr j=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
上述では、パリティ検査行列に対し、複数回の列入れ替え後、複数回の行入れ替えを行う場合について説明したが、パリティ検査行列に対し、複数の列入れ替え後、複数回の行入れ替えを行い、その後、複数の列入れ替え後、および/または、複数回の行入れ替えを行い、複数回、施してもよい。
以上のように、本明細書で説明した(本発明の)符号化率(N-M)/N(N>M>0)のLDPC符号のパリティ検査行列に対し、複数の(または1回の)列入れ替え、および/または、複数の(または1回の)行入れ替え、を行うことにより得られたパリティ検査行列に基づくLDPC符号は、もとのパリティ検査行列と同様、高い誤り訂正能力を得ることができる。
(実施の形態D1)
実施の形態A1および実施の形態B1で説明した、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCについて、実施の形態B1では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、式(B1)および式(B2)をあつかった。
このとき、実施の形態A1および実施の形態B1で説明したように、式(B1)は、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(B2)は、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式
として、実施の形態B1の式(B2)の代わりに、以下のパリティ検査多項式を用いる、号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を提案する。
したがって、本実施の形態における符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)において、パリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式は、式(D1)であり、パリティ検査行列Hproの第1行目以外の行のベクトルは、式(B1)の0を満たすパリティ検査多項式から生成されることになる。
そして、上述の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、実施の形態B1と同様に、実施の形態B1で述べた条件を満たすと高い誤り訂正能力を得ることができる可能性が高くなる。
その理由について説明する。式(B1)および式(D1)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、式(D1)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
以上のように、式(B1)および式(D1)の0(ゼロ)を満たすパリティ検査多項式を用いて生成された符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、式(D1)を利用することで、高い誤り訂正能力を得ることができる可能性が高くなるという利点がある。
(実施の形態D2)
実施の形態A1および実施の形態B1で説明した、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCについて、実施の形態B1では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、式(B1)および式(B2)をあつかい、実施の形態D1では、式(B1)および式(D1)をあつかった。
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nとし、実施の形態A1および実施の形態B1で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列をHproとする。
このとき、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nのβ行(ただし、βは1以上m×z以下の整数であり(実施の形態B1参照)、かつ、β≠1が成立するものとする。(mはベースとなるパリティ検査多項式に基づくLDPC―CCの時変周期、zは自然数))以外のγ行(つまり、γは1以上m×z以下の整数であり、かつ、γ≠βが成立する。)は、実施の形態A1および実施の形態B1で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列をHproのγ行と同一の構成となる。
次に、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査多項式の構成について、実施の形態A1、実施の形態B1と対比して説明する。
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は実施の形態B1の説明と同様、m×z個のパリティ検査多項式で構成することができ、また、実施の形態B1と同様に、第0番目から第m×z―1番目の0を満たすパリティ検査多項式で、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を定義することができる(実施の形態B1を参照。)。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「δ%q」は、δをqで除算したときの余りである。(δは0以上の整数、qは自然数である。)
第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、
第β-1番目の0を満たすパリティ検査多項式は、「式(D2)の0を満たすパリティ検査多項式」であり、
第e番目(ただし、eは1以上m×z-1の整数であり、かつ、e≠β-1となる。)の0を満たすパリティ検査多項式は、「式(B1)の0を満たすe%m番目のパリティ検査多項式」
となる。
なお、0を満たすパリティ検査多項式から、パリティ検査行列を生成する方法は、実施の形態B1等の実施の形態の説明と同様である。
その理由について説明する。式(B1)および式(B2)および式(D2)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
このとき、式(D2)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
以上のように、式(B1)および式(B2)および式(D2)の0(ゼロ)を満たすパリティ検査多項式を用いて生成された符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、式(D2)を利用することで、高い誤り訂正能力を得ることができる可能性が高くなるという利点がある。
(実施の形態D3)
実施の形態A1および実施の形態B1で説明した、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCについて、実施の形態B1では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、式(B1)および式(B2)をあつかった。
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nとし、実施の形態A1および実施の形態B1で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列をHproとする。
次に、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査多項式の構成について、実施の形態A1、実施の形態B1と対比して説明する。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「δ%q」は、δをqで除算したときの余りである。(δは0以上の整数、qは自然数である。)
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を定義するパリティ検査多項式について以下の規則が成立する。
第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、
第β-1番目の0を満たすパリティ検査多項式は、「式(D3)の0を満たすパリティ検査多項式」であり、
第ω-1番目の0を満たすパリティ検査多項式は、「式(D4)の0を満たすパリティ検査多項式」であり、
第e番目(ただし、eは1以上m×z-1の整数であり、かつ、e≠β-1、かつ、e≠ω-1となる。)の0を満たすパリティ検査多項式は、「式(B1)の0を満たすe%m番目のパリティ検査多項式」
となる。
そして、上述の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、実施の形態B1と同様に、実施の形態B1で述べた条件を満たすと高い誤り訂正能力を得ることができる可能性が高くなる。
その理由について説明する。式(B1)および式(B2)および式(D3)および式(D4)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
同様に、式(B1)および式(B2)および式(D3)および式(D4)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,2×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、式(D3)および式(D4)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
以上のように、式(B1)および式(B2)および式(D3)および式(D4)の0(ゼロ)を満たすパリティ検査多項式を用いて生成された符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、式(D3)および式(D4)を利用することで、高い誤り訂正能力を得ることができる可能性が高くなるという利点がある。
(実施の形態D4)
実施の形態A2および実施の形態B2で説明した、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCについて、実施の形態B1では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、式(B44)および式(B45)をあつかった。
このとき、実施の形態A2および実施の形態B2で説明したように、式(B44)は、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(B45)は、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式
として、実施の形態B2の式(B45)の代わりに、以下のパリティ検査多項式を用いる、号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を提案する。
したがって、本実施の形態における符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)において、パリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式は、式(D5)であり、パリティ検査行列Hproの第1行目以外の行のベクトルは、式(B44)の0を満たすパリティ検査多項式から生成されることになる。
そして、上述の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、実施の形態B2と同様に、実施の形態B2で述べた条件を満たすと高い誤り訂正能力を得ることができる可能性が高くなる。
その理由について説明する。式(B44)および式(D5)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、式(D5)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
以上のように、式(B44)および式(D5)の0(ゼロ)を満たすパリティ検査多項式を用いて生成された符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、式(D1)を利用することで、高い誤り訂正能力を得ることができる可能性が高くなるという利点がある。
(実施の形態D5)
実施の形態A2および実施の形態B2で説明した、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCについて、実施の形態B2では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、式(B44)および式(B45)をあつかった。
以下では、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査多項式について、実施の形態A2、実施の形態B2と対比して、説明する。
このとき、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nのβ行(ただし、βは1以上m×z以下の整数であり(実施の形態B1参照)、かつ、β≠1が成立するものとする。(mはベースとなるパリティ検査多項式に基づくLDPC―CCの時変周期、zは自然数))以外のγ行(つまり、γは1以上m×z以下の整数であり、かつ、γ≠βが成立する。)は、実施の形態A2、実施の形態B2で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列をHproのγ行と同一の構成となる。
つまり、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nのγ行(γは1以上m×z以下の整数であり、かつ、γ≠β)で構成されるベクトルをvn,γ、実施の形態A2、実施の形態B2で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列をHproのγ行で構成されるベクトルをvγとすると、vn,γ=vγが成立する。
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は実施の形態B2の説明と同様、m×z個のパリティ検査多項式で構成することができ、また、実施の形態B2と同様に、第0番目から第m×z―1番目の0を満たすパリティ検査多項式で、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を定義することができる(実施の形態B2を参照。)。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「δ%q」は、δをqで除算したときの余りである。(δは0以上の整数、qは自然数である。)
第0番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすパリティ検査多項式」であり、
第β-1番目の0を満たすパリティ検査多項式は、「式(D6)の0を満たすパリティ検査多項式」であり、
第e番目(ただし、eは1以上m×z-1の整数であり、かつ、e≠β-1となる。)の0を満たすパリティ検査多項式は、「式(B44)の0を満たすe%m番目のパリティ検査多項式」
となる。
なお、0を満たすパリティ検査多項式から、パリティ検査行列を生成する方法は、実施の形態B2等の実施の形態の説明と同様である。
その理由について説明する。式(B44)および式(B45)および式(D6)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
このとき、式(D6)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
以上のように、式(B44)および式(B45)および式(D6)の0(ゼロ)を満たすパリティ検査多項式を用いて生成された符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、式(D2)を利用することで、高い誤り訂正能力を得ることができる可能性が高くなるという利点がある。
(実施の形態D6)
実施の形態A2および実施の形態B2で説明した、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCについて、実施の形態B1では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、式(B44)および式(B45)をあつかった。
以下では、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査多項式について、実施の形態A2、実施の形態B2と対比して、説明する。
このとき、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nのβ行(ただし、βは1以上m×z以下の整数であり(実施の形態B1参照)、かつ、β≠1、かつ、β≠ωが成立するものとする。(mはベースとなるパリティ検査多項式に基づくLDPC―CCの時変周期、zは自然数))、および、ω行(ただし、ωは1以上m×z以下の整数であり(実施の形態B2参照)、かつ、ω≠1、かつ、ω≠βが成立するものとする。(mはベースとなるパリティ検査多項式に基づくLDPC―CCの時変周期、zは自然数))以外のγ行(つまり、γは1以上m×z以下の整数であり、かつ、γ≠β、かつ、γ≠ωが成立する。)は、実施の形態A2および実施の形態B2で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列をHproのγ行と同一の構成となる。
次に、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査多項式の構成について、実施の形態A2、実施の形態B2と対比して説明する。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「δ%q」は、δをqで除算したときの余りである。(δは0以上の整数、qは自然数である。)
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を定義するパリティ検査多項式について以下の規則が成立する。
第0番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすパリティ検査多項式」であり、
第β-1番目の0を満たすパリティ検査多項式は、「式(D7)の0を満たすパリティ検査多項式」であり、
第ω-1番目の0を満たすパリティ検査多項式は、「式(D8)の0を満たすパリティ検査多項式」であり、
第e番目(ただし、eは1以上m×z-1の整数であり、かつ、e≠β-1、かつ、e≠ω-1となる。)の0を満たすパリティ検査多項式は、「式(B44)の0を満たすe%m番目のパリティ検査多項式」
となる。
そして、上述の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、実施の形態B2と同様に、実施の形態B2で述べた条件を満たすと高い誤り訂正能力を得ることができる可能性が高くなる。
その理由について説明する。式(B44)および式(B45)および式(D7)および式(D8)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
このとき、式(D7)および式(D8)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
以上のように、式(B44)および式(B45)および式(D7)および式(D8)の0(ゼロ)を満たすパリティ検査多項式を用いて生成された符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、式(D7)および式(D8)を利用することで、高い誤り訂正能力を得ることができる可能性が高くなるという利点がある。
(実施の形態D7)
実施の形態A3および実施の形態B3で説明した、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCについて、実施の形態B3では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、式(B87)および式(B88)をあつかった。
このとき、実施の形態A3および実施の形態B3で説明したように、式(B87)は、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(B88)は、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である。
したがって、本実施の形態における符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)において、パリティ検査行列Hproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式は、式(D9)であり、パリティ検査行列Hproの第α行目以外の行のベクトルは、式(B87)の0を満たすパリティ検査多項式から生成されることになる。
そして、上述の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、実施の形態B3と同様に、実施の形態B3で述べた条件を満たすと高い誤り訂正能力を得ることができる可能性が高くなる。
その理由について説明する。式(B87)および式(D9)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
このとき、式(D9)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
同様に、式(B87)および式(D9)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,2×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
以上のように、式(B87)および式(D9)の0(ゼロ)を満たすパリティ検査多項式を用いて生成された符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、式(D9)を利用することで、高い誤り訂正能力を得ることができる可能性が高くなるという利点がある。
(実施の形態D8)
実施の形態A3および実施の形態B3で説明した、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCについて、実施の形態B3では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、式(B87)および式(B88)をあつかった。
以下では、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査多項式について、実施の形態A3、実施の形態B3と対比して、説明する。
このとき、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nのβ行(ただし、βは1以上m×z以下の整数であり(実施の形態B3参照)、かつ、β≠αが成立するものとする。(mはベースとなるパリティ検査多項式に基づくLDPC―CCの時変周期、zは自然数))以外のγ行(つまり、γは1以上m×z以下の整数であり、かつ、γ≠βが成立する。)は、実施の形態A3および実施の形態B3で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列をHproのγ行と同一の構成となる。
つまり、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nのγ行(γは1以上m×z以下の整数であり、かつ、γ≠β)で構成されるベクトルをvn,γ、実施の形態A3および実施の形態B3で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列をHproのγ行で構成されるベクトルをvγとすると、vn,γ=vγが成立する。
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は実施の形態B3の説明と同様、m×z個のパリティ検査多項式で構成することができ、また、実施の形態B3と同様に、第0番目から第m×z―1番目の0を満たすパリティ検査多項式で、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を定義することができる(実施の形態B3を参照。)。
上述で説明した、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nのβ行は、第β-1番目の0を満たすパリティ検査多項式に相当し、このとき、第β-1番目の0を満たすパリティ検査多項式は、以下のようにあらわすことができる。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「δ%q」は、δをqで除算したときの余りである。(δは0以上の整数、qは自然数である。)
第α―1番目の0を満たすパリティ検査多項式は、「式(B88)の0を満たすパリティ検査多項式」であり、
第β-1番目の0を満たすパリティ検査多項式は、「式(D10)の0を満たすパリティ検査多項式」であり、
第e番目(ただし、eは0以上m×z-1の整数であり、かつ、e≠α―1、かつ、e≠β-1となる。)の0を満たすパリティ検査多項式は、「式(B87)の0を満たすe%m番目のパリティ検査多項式」
となる。
なお、0を満たすパリティ検査多項式から、パリティ検査行列を生成する方法は、実施の形態B3等の実施の形態の説明と同様である。
そして、上述の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、実施の形態B3と同様に、実施の形態B3で述べた条件を満たすと高い誤り訂正能力を得ることができる可能性が高くなる。
このとき、式(D10)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
同様に、式(B87)および式(B88)および式(D10)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,2×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
このとき、式(D10)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
以上のように、式(B87)および式(B88)および式(D10)の0(ゼロ)を満たすパリティ検査多項式を用いて生成された符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、式(D10)を利用することで、高い誤り訂正能力を得ることができる可能性が高くなるという利点がある。
(実施の形態D9)
実施の形態A3および実施の形態B3で説明した、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCについて、実施の形態B3では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、式(B87)および式(B88)をあつかった。
以下では、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査多項式について、実施の形態A3、実施の形態B3と対比して、説明する。
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nとし、実施の形態A3および実施の形態B3で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列をHproとする。
つまり、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nのγ行(γは1以上m×z以下の整数であり、かつ、γ≠β、かつ、γ≠ω)で構成されるベクトルをvn,γ、実施の形態A3および実施の形態B3で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列をHproのγ行で構成されるベクトルをvγとすると、vn,γ=vγが成立する。
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は実施の形態B3の説明と同様、m×z個のパリティ検査多項式で構成することができ、また、実施の形態B3と同様に、第0番目から第m×z―1番目の0を満たすパリティ検査多項式で、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を定義することができる(実施の形態B3を参照。)。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「δ%q」は、δをqで除算したときの余りである。(δは0以上の整数、qは自然数である。)
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を定義するパリティ検査多項式について以下の規則が成立する。
第α―1番目の0を満たすパリティ検査多項式は、「式(B88)の0を満たすパリティ検査多項式」であり、
第β-1番目の0を満たすパリティ検査多項式は、「式(D11)の0を満たすパリティ検査多項式」であり、
第ω-1番目の0を満たすパリティ検査多項式は、「式(D12)の0を満たすパリティ検査多項式」であり、
第e番目(ただし、eは0以上m×z-1の整数であり、e≠α―1、かつ、e≠β-1、かつ、e≠ω-1となる。)の0を満たすパリティ検査多項式は、「式(B87)の0を満たすe%m番目のパリティ検査多項式」
となる。
そして、上述の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、実施の形態B3と同様に、実施の形態B3で述べた条件を満たすと高い誤り訂正能力を得ることができる可能性が高くなる。
その理由について説明する。式(B87)および式(B88)および式(D11)および式(D12)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
このとき、式(D11)および式(D12)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
このとき、式(D11)および式(D12)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
以上のように、式(B87)および式(B88)および式(D11)および式(D12)の0(ゼロ)を満たすパリティ検査多項式を用いて生成された符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、式(D11)および式(D12)を利用することで、高い誤り訂正能力を得ることができる可能性が高くなるという利点がある。
(実施の形態D10)
実施の形態A4および実施の形態B4で説明した、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCについて、実施の形態B4では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、式(B130)および式(B131)をあつかった。
このとき、実施の形態A4および実施の形態B4で説明したように、式(B130)は、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(B131)は、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である。
したがって、本実施の形態における符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)において、パリティ検査行列Hproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式は、式(D13)であり、パリティ検査行列Hproの第α行目以外の行のベクトルは、式(B130)の0を満たすパリティ検査多項式から生成されることになる。
そして、上述の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、実施の形態B4と同様に、実施の形態B4で述べた条件を満たすと高い誤り訂正能力を得ることができる可能性が高くなる。
その理由について説明する。式(B130)および式(D13)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
このとき、式(D13)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
同様に、式(B130)および式(D13)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,2×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
以上のように、式(B130)および式(D13)の0(ゼロ)を満たすパリティ検査多項式を用いて生成された符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、式(D13)を利用することで、高い誤り訂正能力を得ることができる可能性が高くなるという利点がある。
(実施の形態D11)
実施の形態A4および実施の形態B4で説明した、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCについて、実施の形態B4では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、式(B130)および式(B131)をあつかった。
以下では、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査多項式について、実施の形態A4、実施の形態B4と対比して、説明する。
このとき、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nのβ行(ただし、βは1以上m×z以下の整数であり(実施の形態B4参照)、かつ、β≠αが成立するものとする。(mはベースとなるパリティ検査多項式に基づくLDPC―CCの時変周期、zは自然数))以外のγ行(つまり、γは1以上m×z以下の整数であり、かつ、γ≠βが成立する。)は、実施の形態A4および実施の形態B4で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列をHproのγ行と同一の構成となる。
次に、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査多項式の構成について、実施の形態A4、実施の形態B4と対比して説明する。
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は実施の形態B4の説明と同様、m×z個のパリティ検査多項式で構成することができ、また、実施の形態B4と同様に、第0番目から第m×z―1番目の0を満たすパリティ検査多項式で、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を定義することができる(実施の形態B4を参照。)。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「δ%q」は、δをqで除算したときの余りである。(δは0以上の整数、qは自然数である。)
第α―1番目の0を満たすパリティ検査多項式は、「式(B131)の0を満たすパリティ検査多項式」であり、
第β-1番目の0を満たすパリティ検査多項式は、「式(D14)の0を満たすパリティ検査多項式」であり、
第e番目(ただし、eは0以上m×z-1の整数であり、かつ、e≠α―1、かつ、e≠β-1となる。)の0を満たすパリティ検査多項式は、「式(B130)の0を満たすe%m番目のパリティ検査多項式」
となる。
なお、0を満たすパリティ検査多項式から、パリティ検査行列を生成する方法は、実施の形態B4等の実施の形態の説明と同様である。
その理由について説明する。式(B130)および式(B131)および式(D14)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
このとき、式(D14)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
同様に、式(B130)および式(B131)および式(D14)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,2×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
このとき、式(D14)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
(実施の形態D12)
本実施の形態では、実施の形態A4および実施の形態B4で説明した、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCを利用した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)の、実施の形態D10、実施の形態D11とは異なる変形例について説明する。
以下では、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査多項式について、実施の形態A4、実施の形態B4と対比して、説明する。
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nとし、実施の形態A4および実施の形態B4で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列をHproとする。
つまり、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hpro_nのγ行(γは1以上m×z以下の整数であり、かつ、γ≠β、かつ、γ≠ω)で構成されるベクトルをvn,γ、実施の形態A4および実施の形態B4で説明した符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列をHproのγ行で構成されるベクトルをvγとすると、vn,γ=vγが成立する。
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は実施の形態B4の説明と同様、m×z個のパリティ検査多項式で構成することができ、また、実施の形態B4と同様に、第0番目から第m×z―1番目の0を満たすパリティ検査多項式で、本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を定義することができる(実施の形態B4を参照。)。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「δ%q」は、δをqで除算したときの余りである。(δは0以上の整数、qは自然数である。)
本実施の形態の符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を定義するパリティ検査多項式について以下の規則が成立する。
第β-1番目の0を満たすパリティ検査多項式は、「式(D16)の0を満たすパリティ検査多項式」であり、
第ω-1番目の0を満たすパリティ検査多項式は、「式(D17)の0を満たすパリティ検査多項式」であり、
第e番目(ただし、eは0以上m×z-1の整数であり、e≠α―1、かつ、e≠β-1、かつ、e≠ω-1となる。)の0を満たすパリティ検査多項式は、「式(B130)の0を満たすe%m番目のパリティ検査多項式」
となる。
なお、0を満たすパリティ検査多項式から、パリティ検査行列を生成する方法は、実施の形態B4等の実施の形態の説明と同様である。
その理由について説明する。式(B130)および式(B131)および式(D16)および式(D17)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
このとき、式(D16)および式(D17)により、ターナーグラフにおけるサイクルを効果的に削除することができる。これにより、誤り訂正能力を低下させる可能性のあるタナ-グラフにおけるサイクル長4、サイクル長6等の短いサイクル長の数を少なくすることができるので、高い誤り訂正能力を得ることができる可能性が高くなる。
同様に、式(B130)および式(B131)および式(D16)および式(D17)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,2×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。
以上のように、式(B130)および式(B131)および式(D16)および式(D17)の0(ゼロ)を満たすパリティ検査多項式を用いて生成された符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)は、式(D16)および式(D17)を利用することで、高い誤り訂正能力を得ることができる可能性が高くなるという利点がある。
(実施の形態E1)
そして、実施の形態A1から実施の形態A4では、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCを利用した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)の一般的な構成方法について説明し、実施の形態B1から実施の形態B4では、ベースとして(基礎的な構造として)、符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCを利用した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)の例を説明した。
実施の形態A1の例である実施の形態B1と比較して説明をすすめる。
本実施の形態では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するための、ベースとなる符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCの0(ゼロ)を満たすパリティ検査多項式の構成方法について、補足説明する。
このとき、例えば、X1(D)の項数に着目したとき、0番目の0(ゼロ)を満たすパリティ検査多項式からm-1番目の0(ゼロ)を満たすパリティ検査多項式において、実施の形態A1、実施の形態B1で一般的に説明したように、X1(D)の項数が同一である必要はない。
このとき、ap,i,q(p=1,2,・・・,n-1(pは1以上n-1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は自然数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
特筆すべき点は、rpがrp,iと変更となっている点である。つまり、m個の0のパリティ検査多項式ごとにrp,iが設定されることになる。
なお、式(E2)を作成するために利用した式(E1)における0番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A1および実施の形態B1と同様に、式(E1)は、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E2)は、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E1)のベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E2)のパリティ検査多項式を用いて生成した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、実施の形態B1等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B1等で説明したとおりである。)
このとき、ap,i,q(p=1,2,・・・,n-1(pは1以上n-1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は0以上の整数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
なお、式(E5)を作成するために利用した式(E4)における0番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A1および実施の形態B1と同様に、式(E4)は、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E5)は、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E4)のベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E5)のパリティ検査多項式を用いて生成した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、実施の形態B1等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B1等で説明したとおりである。)
(実施の形態E2)
実施の形態A2の例である実施の形態B2と比較して説明をすすめる。
本実施の形態では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するための、ベースとなる符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCの0(ゼロ)を満たすパリティ検査多項式の構成方法について、補足説明する。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するための、ベースとなる符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCの0(ゼロ)を満たすパリティ検査多項式は、時変周期がmであるため、0(ゼロ)を満たすパリティ検査多項式はm個存在する。したがって、i番目(iは0以上m-1以下の整数)の0(ゼロ)を満たすパリティ検査多項式が存在することになる(実施の形態A2、実施の形態B2と同様である。)。
同様に、Xk(D)の項数に着目したとき、0番目の0(ゼロ)を満たすパリティ検査多項式からm-1番目の0(ゼロ)を満たすパリティ検査多項式において、実施の形態A2、実施の形態B2で一般的に説明したように、Xk(D)の項数が同一である必要はない。(kは1以上n-1のいずれかの整数)
このとき、ap,i,q(p=1,2,・・・,n-1(pは1以上n-1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は自然数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
特筆すべき点は、rpがrp,iと変更となっている点である。つまり、m個の0のパリティ検査多項式ごとにrp,iが設定されることになる。
なお、式(E8)を作成するために利用した式(E7)における0番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A2および実施の形態B2と同様に、式(E7)は、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E8)は、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E7)のベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E8)のパリティ検査多項式を用いて生成した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、実施の形態B2等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B2等で説明したとおりである。)
このとき、ap,i,q(p=1,2,・・・,n-1(pは1以上n-1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は0以上の整数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
なお、式(E11)を作成するために利用した式(E10)における0番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A2および実施の形態B2と同様に、式(E10)は、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E11)は、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E10)のベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E11)のパリティ検査多項式を用いて生成した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、実施の形態B2等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B2等で説明したとおりである。)
(実施の形態E3)
実施の形態A3の例である実施の形態B3と比較して説明をすすめる。
本実施の形態では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するための、ベースとなる符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCの0(ゼロ)を満たすパリティ検査多項式の構成方法について、補足説明する。
符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するための、ベースとなる符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCの0(ゼロ)を満たすパリティ検査多項式は、時変周期がmであるため、0(ゼロ)を満たすパリティ検査多項式はm個存在する。したがって、i番目(iは0以上m-1以下の整数)の0(ゼロ)を満たすパリティ検査多項式が存在することになる(実施の形態A3、実施の形態B3と同様である。)。
同様に、Xk(D)の項数に着目したとき、0番目の0(ゼロ)を満たすパリティ検査多項式からm-1番目の0(ゼロ)を満たすパリティ検査多項式において、実施の形態A3、実施の形態B3で一般的に説明したように、Xk(D)の項数が同一である必要はない。(kは1以上n-1のいずれかの整数)
このとき、ap,i,q(p=1,2,・・・,n-1(pは1以上n-1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は自然数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
特筆すべき点は、rpがrp,iと変更となっている点である。つまり、m個の0のパリティ検査多項式ごとにrp,iが設定されることになる。
なお、式(E14)を作成するために利用した式(E13)における(α-1)%m番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A3および実施の形態B3と同様に、式(E13)は、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E14)は、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E13)のベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E14)のパリティ検査多項式を用いて生成した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、実施の形態B3等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B3等で説明したとおりである。)
このとき、ap,i,q(p=1,2,・・・,n-1(pは1以上n-1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は0以上の整数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
そして、高い誤り訂正能力を得るために、iは0以上m-1以下の整数であり、これを満たす、すべてのiで、r1,i、r2,i、・・・、rn-2,i、rn-1,iいずれも3以上となる。(kは1以上n-1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(E16)において、1以上n-1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は3以上となる。また、b1,iは自然数となる。
なお、式(E17)を作成するために利用した式(E16)における(α-1)%m番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A3および実施の形態B3と同様に、式(E16)は、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E17)は、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E16)のベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E17)のパリティ検査多項式を用いて生成した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、実施の形態B3等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B3等で説明したとおりである。)
(実施の形態E4)
実施の形態A4の例である実施の形態B4と比較して説明をすすめる。
実施の形態B4で記載したように、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、一例として、式(B130)および式(B131)をあつかった。このとき、式(B130)は、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(B131)は式(B130)から作成される0を満たすパリティ検査多項式となる。
本実施の形態では、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)を形成するための、ベースとなる符号化率R=(n-1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCの0(ゼロ)を満たすパリティ検査多項式の構成方法について、補足説明する。
このとき、例えば、X1(D)の項数に着目したとき、0番目の0(ゼロ)を満たすパリティ検査多項式からm-1番目の0(ゼロ)を満たすパリティ検査多項式において、実施の形態A4、実施の形態B4で一般的に説明したように、X1(D)の項数が同一である必要はない。
同様に、Xk(D)の項数に着目したとき、0番目の0(ゼロ)を満たすパリティ検査多項式からm-1番目の0(ゼロ)を満たすパリティ検査多項式において、実施の形態A4、実施の形態B4で一般的に説明したように、Xk(D)の項数が同一である必要はない。(kは1以上n-1のいずれかの整数)
このとき、ap,i,q(p=1,2,・・・,n-1(pは1以上n-1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は自然数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
特筆すべき点は、rpがrp,iと変更となっている点である。つまり、m個の0のパリティ検査多項式ごとにrp,iが設定されることになる。
なお、式(E20)を作成するために利用した式(E19)における(α-1)%m番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A4および実施の形態B4と同様に、式(E19)は、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E20)は、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E19)のベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E20)のパリティ検査多項式を用いて生成した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、実施の形態B4等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B4等で説明したとおりである。)
このとき、ap,i,q(p=1,2,・・・,n-1(pは1以上n-1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は0以上の整数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
なお、式(E23)を作成するために利用した式(E22)における(α-1)%m番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A4および実施の形態B4と同様に、式(E22)は、ベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E23)は、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC-CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E22)のベースとなる符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E23)のパリティ検査多項式を用いて生成した、符号化率R=(n-1)/nの改良したテイルバイティング方法を用いたLDPC-CCのパリティ検査行列に対し、実施の形態B4等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B4等で説明したとおりである。)
(訂正符号化及び復号方法の応用例)
図145に示すデータを記録する処理系は、誤り訂正符号化部14502と、変調符号化部14503と、レーザ駆動部14504と、光ピックアップ14505とを備える。誤り訂正符号化部14502は、光ディスク14501に記録する記録データを本明細書で記載した誤り訂正符号を用いて誤り訂正符号化し、誤り訂正符号化データを生成する。変調符号化部14503は、例えばRLL(Run Length Limited)17符号(例えば、非特許文献38)等の変調符号を用いて変調符号化を行い、記録パターンを生成する。レーザ駆動部14504は、光ピックアップ14505を駆動し、光ピックアップ14505から光ディスク14501上のトラックに照射されるレーザにより、記録パターンに対応した記録マークをトラック上に形成する。
また、上記の説明では光ディスク装置を例に挙げて説明したが、記録メディアは光ディスクに限られず、それ以外の例えば磁気ディスクや不揮発性の半導体メモリ等を記録メディアとして用いる記録装置または再生装置において、本明細書で示した誤り訂正符号化及び復号方法を応用することもできる。
当然であるが、本明細書において説明した実施の形態を複数組み合わせて、実施してもよい。
110 データ演算部
120 パリティ演算部
130 ウェイト制御部
140 mod2加算(排他的論理和演算)器
111-1~111-M、121-1~121-M、221-1~221-M、231-1~231-M シフトレジスタ
112-0~112-M、122-0~122-M、222-0~222-M、232-0~232-M ウェイト乗算器
1910、2114、2617、2605 送信装置
1911、2900、3200 符号化器
1912 変調部
1920、2131、2609、2613 受信装置
1921 受信部
1922 対数尤度比生成部
1923、3310 復号化器
2110、2130、2600、2608 通信装置
2112、2312、2603 消失訂正符号化関連処理部
2113、2604 誤り訂正符号化部
2120、2607 通信路
2132、2610 誤り訂正復号部
2133、2433、2611 消失訂正復号関連処理部
2211 パケット生成部
2215、2902、2909、3101、3104、3202、3206、3210
並び替え部
2216 消失訂正符号化器(パリティパケット生成部)
2217、2317 誤り検出符号付加部
2314 消失訂正符号化部
2316、2560 消失訂正符号化器
2435 誤り検出部
2436 消失訂正復号器
2561 第1の消失訂正符号化器
2562 第2の消失訂正符号化器
2563 第3の消失訂正符号化器
2564 選択部
3313 BP復号器
4403 既知情報挿入部
4405 符号化器
4407 既知情報削減部
4409 変調部
4603 対数尤度比挿入部
4605 復号化部
4607 既知情報削減部
44100 誤り訂正符号化部
44200 送信装置
46100 誤り訂正復号部
5800 符号化器
5801 情報生成部
5802-1 第1情報演算部
5802-2 第2情報演算部
5802-3 第3情報演算部
5803 パリティ演算部
5804,5903,6003 加算部
5805 符号化率設定部
5806,5904,6004 ウェイト制御部
5901-1~5901-M,6001-1~6001-M シフトレジスタ
5902-0~5902-M,6002-0~6002-M ウェイト乗算器
6100 復号化器
6101 対数尤度比設定部
6102 行列処理演算部
6103 記憶部
6104 行処理演算部
6105 列処理演算部
6200,6300 通信装置
6201 符号化器
6202 変調部
6203 符号化率決定部
6301 受信部
6302 対数尤度比生成部
6303 復号化器
6304 制御情報生成部
7600 送信装置
7601 符号化器
7602 変調部
7610 受信装置
7611 受信部
7612 対数尤度比生成部
7613 復号化器
7700 デジタル放送用システム
7701 放送局
7711 テレビ(テレビジョン)
7712 DVDレコーダ
7713 STB(Set Top Box)
7720 コンピュータ
7740、7760 アンテナ
7741 車載のテレビ
7730 携帯電話
8440 アンテナ
7800 受信機
7801 チューナ
7802 復調部
7803 ストリーム入出力部
7804 信号処理部
7805 AV出力部
7806 音声出力部
7807 映像表示部
7808 記録部(ドライブ)
7809 ストリーム出力IF(Interface:インターフェース)
7810 操作入力部
7811 AV出力IF
7830、7840 通信媒体
7850、8607 リモコン(リモートコントローラ)
8604 受信装置
8600 映像音声出力装置
8605 IF
8606 通信装置
8701 映像符号化部
8703 音声符号化部
8705 データ符号化部
8700 情報源符号化部
8707 送信部
8712 受信部
8710_1~8710_M アンテナ
8714 映像復号化部
8716 音声復号化部
8718 データ復号化部
8719 情報源復号部
Claims (2)
- 符号化方法であって、
行数がm×z、列数がn×m×z行の所定のパリティ検査行列、ただしnは2以上の整数、mは2以上の整数、zは自然数である、に基づいて、n-1個の情報系列X1からXn-1に対して、符号化率が(n-1)/nの符号化を行うことにより、前記n-1個の情報系列X1からXn-1及びパリティ系列Pで構成される符号化系列を生成し、
前記所定のパリティ検査行列は、複数のパリティ検査多項式を利用したLDPC(Low-Density Parity-Check)畳み込み符号に対応する第1のパリティ検査行列、または、前記第1のパリティ検査行列に行置換及び/または列置換を施して生成される第2のパリティ検査行列であり、
前記LDPC畳み込み符号における第e番目、ただし、eは0以上m×z-1以下の整数、の0を満たすパリティ検査多項式は、
e≠α-1のとき、ただしαは1以上m×z以下の整数、i=e%mを満たす変数i、ただしiは0以上m-1以下の整数であり、%はモジュラ演算を示す、を用いて式(1)で表され、
e=α-1のとき式(2)で表される、
- 所定の符号化方法で符号化された符号化系列を復号する復号方法であって、
前記所定の符号化方法は、
行数がm×z、列数がn×m×z行の所定のパリティ検査行列、ただしnは2以上の整数、mは2以上の整数、zは自然数である、に基づいて、n-1個の情報系列X1からXn-1に対して、符号化率が(n-1)/nの符号化を行うことにより、前記n-1個の情報系列X1からXn-1及びパリティ系列Pで構成される符号化系列を生成し、
前記所定のパリティ検査行列は、複数のパリティ検査多項式を利用したLDPC(Low-Density Parity-Check)畳み込み符号に対応する第1のパリティ検査行列、または、前記第1のパリティ検査行列に行置換及び/または列置換を施して生成される第2のパリティ検査行列であり、
前記LDPC畳み込み符号における第e番目、ただし、eは0以上m×z-1以下の整数、の0を満たすパリティ検査多項式は、
e≠α-1のとき、ただしαは1以上m×z以下の整数、i=e%mを満たす変数i、ただしiは0以上m-1以下の整数であり、%はモジュラ演算を示す、を用いて式(1)で表され、
e=α-1のとき式(2)で表され、
復号方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12818224.3A EP2738944B1 (en) | 2011-07-27 | 2012-07-24 | Encoding and decoding of tail-biting rate (n-1)/n low-density parity check convolutional codes (ldpc-cc) |
JP2013525581A JP5681287B2 (ja) | 2011-07-27 | 2012-07-24 | 符号化方法、復号方法 |
US14/131,844 US9141471B2 (en) | 2011-07-27 | 2012-07-24 | Encoding method, decoding method |
US14/813,231 US10503583B2 (en) | 2011-07-27 | 2015-07-30 | Encoding method, decoding method |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011164263 | 2011-07-27 | ||
JP2011-164263 | 2011-07-27 | ||
JP2011250403 | 2011-11-16 | ||
JP2011-250403 | 2011-11-16 | ||
JP2012009456 | 2012-01-19 | ||
JP2012-009456 | 2012-01-19 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/131,844 A-371-Of-International US9141471B2 (en) | 2011-07-27 | 2012-07-24 | Encoding method, decoding method |
US14/813,231 Continuation US10503583B2 (en) | 2011-07-27 | 2015-07-30 | Encoding method, decoding method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013014924A1 true WO2013014924A1 (ja) | 2013-01-31 |
Family
ID=47600786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/004718 WO2013014924A1 (ja) | 2011-07-27 | 2012-07-24 | 符号化方法、復号方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9141471B2 (ja) |
EP (1) | EP2738944B1 (ja) |
JP (5) | JP5681287B2 (ja) |
TW (1) | TW201322648A (ja) |
WO (1) | WO2013014924A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515588A (zh) * | 2015-07-15 | 2016-04-20 | 北京理工大学 | 一种ldpc-cc高速译码器 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012098898A1 (ja) * | 2011-01-21 | 2012-07-26 | パナソニック株式会社 | 符号化方法、復号方法 |
EP2933797B1 (en) * | 2012-12-17 | 2016-09-07 | Panasonic Intellectual Property Management Co., Ltd. | Information processing device and control method |
US10412140B2 (en) * | 2014-01-24 | 2019-09-10 | Nokia Technologies Oy | Sending of a stream segment deletion directive |
TWI683557B (zh) | 2014-01-31 | 2020-01-21 | 日商新力股份有限公司 | 通訊裝置及方法 |
US9621907B2 (en) * | 2014-08-15 | 2017-04-11 | Lattice Semiconductor Corporation | System and method for transcoding data |
US10091026B2 (en) | 2015-03-18 | 2018-10-02 | Lattice Semiconductor Corporation | Full duplex radio in wireless tunneling system |
US9883539B2 (en) | 2015-03-18 | 2018-01-30 | Lattice Semiconductor Corporation | Embedding low-speed communications in a high speed wireless tunneling system |
US10111269B2 (en) | 2015-03-18 | 2018-10-23 | Lattice Semiconductor Corporation | Multi-gigabit wireless tunneling system |
CN106922013B (zh) * | 2015-12-24 | 2020-04-21 | 华为技术有限公司 | 同频段双射频模块的无线接入点和降低信号干扰的方法 |
CN106656211B (zh) * | 2017-01-03 | 2020-03-31 | 重庆邮电大学 | 一种基于Hoey序列的非规则Type-II QC-LDPC码构造方法 |
US10630315B2 (en) | 2017-09-29 | 2020-04-21 | Intel Corporation | Technologies for applying a redundancy encoding scheme to segmented network packets |
TWI643201B (zh) * | 2017-11-27 | 2018-12-01 | 慧榮科技股份有限公司 | 編碼器及相關的編碼方法與快閃記憶體控制器 |
TWI690168B (zh) * | 2018-07-19 | 2020-04-01 | 瑞昱半導體股份有限公司 | 迴旋碼解碼器及迴旋碼解碼方法 |
CN110768748B (zh) * | 2018-07-27 | 2022-05-17 | 瑞昱半导体股份有限公司 | 回旋码解码器及回旋码解码方法 |
US10949298B2 (en) * | 2018-09-21 | 2021-03-16 | Taiwan Semiconductor Manufacturing Company, Limited | System and method of reducing logic for multi-bit error correcting codes |
US11362683B2 (en) * | 2020-04-24 | 2022-06-14 | The Texas A&M University System | Variable rate low density parity check decoder |
KR20220120859A (ko) | 2021-02-24 | 2022-08-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 내 에러 정정 코드를 사용하는 장치 및 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009246926A (ja) | 2008-01-07 | 2009-10-22 | Panasonic Corp | 符号化方法、符号化器、復号器 |
JP2010041703A (ja) * | 2008-07-09 | 2010-02-18 | Panasonic Corp | 符号化器、復号化器及び符号化方法 |
WO2012098898A1 (ja) * | 2011-01-21 | 2012-07-26 | パナソニック株式会社 | 符号化方法、復号方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8078933B2 (en) * | 2005-05-18 | 2011-12-13 | The Governors Of The University Of Alberta | Decoder for low-density parity-check convolutional codes |
CN103281091B (zh) | 2007-09-28 | 2017-10-27 | 松下电器产业株式会社 | 编码方法、编码器、解码器、发送装置和接收装置 |
CN102577135B (zh) * | 2009-11-13 | 2014-12-03 | 松下电器(美国)知识产权公司 | 编码方法、解码方法、编码器以及解码器 |
-
2012
- 2012-07-24 EP EP12818224.3A patent/EP2738944B1/en active Active
- 2012-07-24 WO PCT/JP2012/004718 patent/WO2013014924A1/ja active Application Filing
- 2012-07-24 JP JP2013525581A patent/JP5681287B2/ja active Active
- 2012-07-24 US US14/131,844 patent/US9141471B2/en active Active
- 2012-07-25 TW TW101126776A patent/TW201322648A/zh unknown
-
2015
- 2015-01-08 JP JP2015002253A patent/JP5902326B2/ja active Active
- 2015-07-30 US US14/813,231 patent/US10503583B2/en active Active
-
2016
- 2016-03-09 JP JP2016045737A patent/JP6115845B2/ja active Active
-
2017
- 2017-03-09 JP JP2017045133A patent/JP6284066B2/ja active Active
-
2018
- 2018-01-18 JP JP2018006096A patent/JP6481914B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009246926A (ja) | 2008-01-07 | 2009-10-22 | Panasonic Corp | 符号化方法、符号化器、復号器 |
JP2010041703A (ja) * | 2008-07-09 | 2010-02-18 | Panasonic Corp | 符号化器、復号化器及び符号化方法 |
WO2012098898A1 (ja) * | 2011-01-21 | 2012-07-26 | パナソニック株式会社 | 符号化方法、復号方法 |
Non-Patent Citations (41)
Title |
---|
"Framing structure, channel coding and modulation for a second generation digital terrestrial television broadcasting system (DVB-T2", DVB DOCUMENT A122, June 2008 (2008-06-01) |
"IEEE Standard for Local and Metropolitan Area Networks", IEEEP802.16E/D12, October 2005 (2005-10-01) |
"White Paper Blu-ray Disc Format, 1. A Physical Format Specifications for BD-RE", BLU-RAY DISC ASSOCIATION |
A. J. FELTSTROM; K. S. ZIGANGIROV: "Time-varying periodic convolutional codes with low-density parity-check matrix", IEEE TRANS. INFORM. THEORY, vol. 45, no. 6, September 1999 (1999-09-01), pages 2181 - 2191 |
A. J. VITERBI: "Error bounds for convolutional codes and an asymptotically optimum decoding algorithm", IEEE TRANS. INF. THEORY, vol. 2, April 1967 (1967-04-01), pages 260 - 269 |
A. J. VITERBI; J. K. OMURA: "Principles of digital communication and coding", 1979, MCGRAW-HILL |
C. BERROU: "The ten-year-old turbo codes are entering into service", IEEE COMMUNICATION MAGAZINE, vol. 41, no. 8, August 2003 (2003-08-01), pages 110 - 116 |
C. BERROU; A. GLAVIEUX; P. THITIMAJSHIMA: "Near Shannon limit error-correcting coding and decoding: Turbo-codes", PROC. OF IEEE ICC93, May 1993 (1993-05-01), pages 1064 - 1070 |
C. DI; D. PROIETTI; E. TELATAR; T. RICHARDSON; R. URBANKE: "Finite-length analysis of low-density parity check codes on the binary erasure channel", IEEE TRANS. INFORM. THEORY, vol. 48, June 2002 (2002-06-01), pages 1570 - 1579 |
C. DOUILLARD; C. BERROU: "Turbo codes with rate-m/(m+l) constituent convolutional codes", IEEE TRANS. COMMUN., vol. 53, no. 10, October 2005 (2005-10-01), pages 1630 - 1638 |
C. WEISS; C. BETTSTETTER; S. RIEDEL: "Code construction and decoding of parallel concatenated tail-biting codes", IEEE TRANS. INFORM. THEORY, vol. 47, no. 1, January 2001 (2001-01-01), pages 366 - 386 |
CHI-JEN WU ET AL.: "A New Construction of Irregular LDPC Convolutional Codes with Cycle Removal", PROCEEDINGS OF THE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY AND ITS APPLICATIONS (ISITA), 17 October 2010 (2010-10-17), pages 507 - 512, XP031811826 * |
D. DIVSALAR; H. JIN; R. J. MCELIECE: "Coding theorems for 'turbo-like' codes", PROC. OF 1998 ALLERTON CONF. COMMUN. AND CONTROL, September 1998 (1998-09-01), pages 201 - 210 |
D. J. C. MACKAY: "Good error-correcting codes based on very sparse matrices", IEEE TRANS. INFORM. THEORY, vol. 45, no. 2, March 1999 (1999-03-01), pages 399 - 431 |
F. R. KSCHISCHANG; B. J. FREY; H. LOELIGER: "Factorgraphs and the sum-product algorithm", IEEE TRANS. INFORM. THEORY, vol. 47, no. 2, February 1999 (1999-02-01), pages 399 - 431 |
G. MILLER; D. BURSHTEIN: "Bounds on the maximum likelihood decoding error probability of low-density parity check codes", IEEE TRANS. INF. THEORY, vol. 47, no. 7, November 2001 (2001-11-01), pages 2696 - 2710 |
H. H. MA; J. K. WOLF: "On tail biting convolutional codes", IEEE TRANS. COMMUN., vol. COM-34, no. 2, February 1986 (1986-02-01), pages 104 - 111 |
J. CHEN; A. DHOLAKIA; E. ELEFTHERIOU; M. P. C. FOSSORIER; X.-YU HU: "Reduced-complexity decoding of LDPC codes", IEEE TRANS. COMMUN., vol. 53, no. 8, August 2005 (2005-08-01), pages 1288 - 1299 |
J. CHEN; M. P. C. FOSSORIER: "Density evolution for two improved BP-based decoding algorithms of LDPC codes", IEEE COMMUN. LETT., vol. 6, no. 5, May 2002 (2002-05-01), pages 208 - 210 |
J. LI; K. R. NARAYANAN; C. N. GEORGHIADES: "Product accumulate codes: a class of codes with near-capacity performance and low decoding complexity", IEEE TRANS. INFORM. THEORY, vol. 50, January 2004 (2004-01-01), pages 31 - 46 |
J. ZHANG; M. P. C. FOSSORIER: "Shuffled iterative decoding", IEEE TRANS. COMMUN., vol. 53, no. 2, February 2005 (2005-02-01), pages 209 - 213 |
J.ZHANG; M.P.C FOSSORIER: "A modified weighted bit-flipping decoding of lowdensity parity-check codes", IEEE COMMUNICATIONS LETTERS, vol. 8, no. 3, 2004, pages 165 - 167 |
L. R. BAHL; J. COCKE; F. JELINEK; J. RAVIV: "Optimal decoding of linear codes for minimizing symbol error rate", IEEE TRANS. INFORM. THEORY, vol. IT-20, March 1974 (1974-03-01), pages 284 - 287 |
M. B. S. TAVARES; K. S. ZIGANGIROV; G. P. FETTWEIS: "Tail-biting LDPC convolutional codes", PROC. OF IEEE ISIT 2007, June 2007 (2007-06-01), pages 2341 - 2345 |
M. ISAKA; M. P. C. FOSSORIER: "High-rate serially concatenated coding with extended Hamming codes", IEEE COMMUN. LETT., vol. 9, no. 2, February 2005 (2005-02-01), pages 160 - 162 |
M. ISAKA; P. A. MARTIN; M. P. C. FOSSORIER: "Design of high-rate serially concatenated codes with low error floor", IEICE TRANS. FUNDAMENTALS, vol. E90-A, no. 9, September 2007 (2007-09-01), pages 1754 - 1762 |
M. MANSOUR; N. SHANBHAG: "High-throughput LDPC decoders", IEEE TRANS. VLSI SYST., vol. 11, no. 6, December 2003 (2003-12-01), pages 976 - 996 |
M. P. C. FOSSORIER: "Quasi-cyclic low-density parity-check codes from circulant permutation matrices", IEEE TRANS. INFORM. THEORY, vol. 50, no. 8, November 2001 (2001-11-01), pages 1788 - 1793 |
M. P. C. FOSSORIER; F. BURKERT; S. LIN; J. HAGENAUER: "On the equivalence between SOVA and max-log-MAP decodings", IEEE COMMUN. LETTERS, vol. 2, no. 5, May 1998 (1998-05-01), pages 137 - 139 |
M. P. C. FOSSORIER; M. MIHALJEVIC; H. IMAI: "Reduced complexity iterative decoding of low-density parity check codes based on belief propagation", IEEE TRANS. COMMUN., vol. 47, no. 5, May 1999 (1999-05-01), pages 673 - 680 |
P. A. MARTIN; M. ISAKA; M. P. C. FOSSORIER: "Serial concatenation of linear block codes and rate- convolutional code", PROC. OF 4TH INTERNATIONAL SYMPOSIUM ON TURBO CODES, April 2006 (2006-04-01) |
R. G. GALLAGER: "A simple derivation of the coding theorem and some applications", IEEE TRANS. INF. THEORY, vol. IT-11, no. 1, January 1965 (1965-01-01), pages 3 - 18 |
R. G. GALLAGER: "Low-density parity check codes", IRE TRANS. INFORM. THEORY, 1962, pages 21 - 28 |
R. M. TANNER; D. SRIDHARA; A. SRIDHARAN; T. E. FUJA; D. J. COSTELLO JR.: "LDPC block and convolutional codes based on circulant matrices", IEEE TRANS. INFORM. THEORY, vol. 50, no. 12, December 2004 (2004-12-01), pages 2966 - 2984 |
S. BENEDETTO; D. DIVSALAR; G. MONTORSI; F. POLLARA: "Serial concatenation of interleaved codes: Performance analysis, design, and iterative decoding", IEEE TRANS. INFORM. THEORY, vol. 44, no. 3, May 1998 (1998-05-01), pages 906 - 926 |
S. GALLI: "On the fair comparison of FEC schemes", IEEE ICC2010, May 2010 (2010-05-01) |
See also references of EP2738944A4 |
T. J. RICHARDSON; M. A. SHOKROLLAHI; R. L. URBANKE: "Design of capacity-approaching irregular low-density parity-check codes", IEEE TRANS. INFORM. THEORY, vol. 47, February 2001 (2001-02-01), pages 619 - 637 |
T. TIAN; C. R. JONES; J. D. VILLASENOR; R. D. WESEL: "Selective avoidance of cycles in irregular LDPC code construction", IEEE TRANS. COMMUN., vol. 52, August 2004 (2004-08-01), pages 1242 - 1247 |
Y. MURAKAMI; S. OKAMURA; S. OKASAKA; T. KISHIGAMI; M. ORIHASHI: "LDPC convolutional codes based on parity check polynomials with timeperiod of 3", IEICE TRANS. FUNDAMENTALS, vol. E-92, no. 10, October 2009 (2009-10-01), pages 2479 - 2483 |
YUTAKA MURAKAMI ET AL.: "A Design Scheme for LDPC Convolutional Codes Based on Parity Check Polynomials with a Time Period of 2", IEICE TECHNICAL REPORT, vol. 109, no. 440, 24 February 2010 (2010-02-24), pages 309 - 314, XP008168466 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515588A (zh) * | 2015-07-15 | 2016-04-20 | 北京理工大学 | 一种ldpc-cc高速译码器 |
CN105515588B (zh) * | 2015-07-15 | 2017-10-17 | 北京理工大学 | 一种ldpc‑cc高速译码器 |
Also Published As
Publication number | Publication date |
---|---|
JP2018085761A (ja) | 2018-05-31 |
TW201322648A (zh) | 2013-06-01 |
EP2738944A1 (en) | 2014-06-04 |
JP5902326B2 (ja) | 2016-04-13 |
US20140136921A1 (en) | 2014-05-15 |
JP5681287B2 (ja) | 2015-03-04 |
US9141471B2 (en) | 2015-09-22 |
EP2738944A4 (en) | 2014-06-18 |
JPWO2013014924A1 (ja) | 2015-02-23 |
EP2738944B1 (en) | 2017-08-30 |
JP6481914B2 (ja) | 2019-03-13 |
JP2016146646A (ja) | 2016-08-12 |
US10503583B2 (en) | 2019-12-10 |
JP2015084591A (ja) | 2015-04-30 |
JP6115845B2 (ja) | 2017-04-19 |
JP6284066B2 (ja) | 2018-02-28 |
US20150349803A1 (en) | 2015-12-03 |
JP2017123689A (ja) | 2017-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6481914B2 (ja) | 符号化方法、復号方法 | |
JP6347434B2 (ja) | 符号化方法、復号方法 | |
JP5833633B2 (ja) | 符号化方法、復号方法 | |
JP5829627B2 (ja) | 符号化方法、復号方法、符号化器、及び、復号器 | |
JP5864749B2 (ja) | 符号化方法、復号方法 | |
JP6369772B2 (ja) | 符号化方法、復号方法、符号化器、及び、復号器 | |
JP6152996B6 (ja) | 符号化方法、復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12818224 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013525581 Country of ref document: JP Kind code of ref document: A |
|
REEP | Request for entry into the european phase |
Ref document number: 2012818224 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14131844 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |