WO2010073570A1 - 符号化方法、符号化器及び復号器 - Google Patents

符号化方法、符号化器及び復号器 Download PDF

Info

Publication number
WO2010073570A1
WO2010073570A1 PCT/JP2009/007011 JP2009007011W WO2010073570A1 WO 2010073570 A1 WO2010073570 A1 WO 2010073570A1 JP 2009007011 W JP2009007011 W JP 2009007011W WO 2010073570 A1 WO2010073570 A1 WO 2010073570A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
ldpc
parity check
parity
equation
Prior art date
Application number
PCT/JP2009/007011
Other languages
English (en)
French (fr)
Inventor
村上豊
Original Assignee
パナソニック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック株式会社 filed Critical パナソニック株式会社
Priority to US13/142,212 priority Critical patent/US8732545B2/en
Priority to JP2010543827A priority patent/JP5312484B2/ja
Priority to CN200980152566.3A priority patent/CN102265520B/zh
Publication of WO2010073570A1 publication Critical patent/WO2010073570A1/ja
Priority to US14/242,545 priority patent/US9065611B2/en
Priority to US14/709,175 priority patent/US20150249469A1/en
Priority to US15/928,903 priority patent/US10693502B2/en
Priority to US16/872,863 priority patent/US11139837B2/en
Priority to US17/459,310 priority patent/US11722156B2/en
Priority to US18/334,905 priority patent/US20230327685A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • H03M13/235Encoding of convolutional codes, e.g. methods or arrangements for parallel or block-wise encoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, 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 using interleaving techniques
    • H03M13/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/353Adaptation to the channel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end

Definitions

  • the present invention relates to an encoding method, an encoder, and a decoder that perform erasure correction encoding using, for example, a low density parity check code (LDPC Codes: Low Density Parity Check Codes).
  • LDPC Codes Low Density Parity Check Codes
  • Patent Document 1 discloses a method of generating a redundant packet using a Reed-Solomon code for a plurality of information packets, and adding the redundant packet to the information packet for transmission. In this way, even if a packet is lost, the lost packet can be decoded within the range of the Reed-Solomon code error correction capability.
  • LDPC low-density parity check
  • An LDPC code is a code defined by a very sparse check matrix, and even when the code length is in the order of several thousand to several tens of thousands, encoding / decoding processing can be performed at a practical time and calculation cost. it can.
  • FIG. 1 shows a conceptual diagram of a communication system using erasure correction coding by LDPC code (see Non-Patent Document 1).
  • the encoding-side communication apparatus performs LDPC encoding on information packets 1 to 4 to be transmitted to generate parity packets a and b.
  • the upper layer processing unit outputs an encoded packet obtained by adding a parity packet to the information packet to the lower layer (physical layer (PHY: Physical Layer) in the example of FIG. 1), and the lower layer physical layer processing unit
  • the packet is converted into a form that can be transmitted through the communication path and output to the communication path.
  • FIG. 1 shows an example in which the communication path is a wireless communication path.
  • the lower layer physical layer processing unit performs reception processing. At this time, it is assumed that a bit error has occurred in the lower layer. Due to this bit error, a packet including the corresponding bit may not be correctly decoded in the upper layer, and packet loss may occur. In the example of FIG. 1, a case where the information packet 3 is lost is shown.
  • 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 uses reliability propagation (BP: Belief Propagation), Gaussian elimination, or the like is used.
  • FIG. 2 is an overall configuration diagram of the communication system.
  • the communication system includes a communication device 10 on the encoding side, a communication path 20, and a communication device 30 on the decoding side.
  • the encoding-side communication device 10 includes a packet generation unit 11, an erasure correction encoding-related processing unit 12, an error correction encoding unit 13, and a transmission device 14, and the decoding-side communication device 30 includes a reception device 31, an error correction.
  • a decoding unit 32, an erasure correction decoding related processing unit 33, and a packet decoding unit 34 are included.
  • the communication path 20 indicates a path through which a signal transmitted from the transmission apparatus 14 of the encoding-side communication apparatus 10 is received by the reception apparatus 31 of the decoding-side communication apparatus 30.
  • Ethernet registered trademark
  • power line metal cable
  • optical fiber optical fiber
  • wireless visible light, infrared light, etc.
  • light visible light, infrared light, etc.
  • the error correction decoding unit 32 decodes the error correction code in the physical layer.
  • the erasure correction encoding method in the erasure correction encoding related processing unit 12 will be described with reference to FIG.
  • the packet generation unit 11 receives the information 41, generates an information packet 43, and outputs the information packet 43 to the rearrangement unit 15.
  • the information packet 43 includes information packets # 1 to #n.
  • the rearrangement unit 15 receives the information packet 43 (in this case, information packets # 1 to #n), rearranges the order of the information, and outputs the rearranged information 45.
  • the erasure correction encoder (parity packet generation unit) 16 receives the rearranged information 45 as an input, and, for the information 45, for example, LDPC-BC (low-density parity-check block code, for example, Non-Patent Document 2). Or encoding of LDPC-CC (low-density parity-check convolutional ⁇ ⁇ ⁇ code, for example, see Non-Patent Document 3) to generate parity.
  • the erasure correction encoder (parity packet generator) 16 extracts only the generated parity part, and generates and outputs a parity packet 47 from the extracted parity part. At this time, when the parity packets # 1 to #m are generated for the information packets # 1 to #n, the parity packet 47 becomes the parity packets # 1 to #m.
  • the error detection code adding unit 17 receives the information packet 43 (information packets # 1 to #n) and the parity packet 47 (parity packets # 1 to #m) as inputs, and receives the information packet 43 (information packets # 1 to #n). ), And an error detection code, for example, CRC (Cyclic Redundancy Check) is added to the parity packet 47 (parity packets # 1 to #m), and the CRC-added information packet and parity packet 49 are output. Accordingly, the information packet and the parity packet 49 after the CRC is added are composed of the information packets # 1 to #n after the CRC is added and the parity packets # 1 to #m after the CRC is added.
  • CRC Cyclic Redundancy Check
  • the error detection unit 35 receives the packet 51 after decoding of the error correction code in the physical layer, and detects an error by CRC, for example.
  • the decoded packet 51 of the error correction code in the physical layer is composed of decoded information packets # 1 to #n and decoded parity packets # 1 to #m.
  • the error detecting unit 35 determines that the information packet and parity in which no packet loss has occurred. A packet number is assigned to the packet, and the packet 53 is output.
  • the erasure correction decoder 36 receives the packet 53 (information packet with no packet loss (with packet number) and parity packet (with packet number)), performs erasure correction code decoding, and receives an information packet 55 (information packet). Decode # 1 to #n). *
  • Fossorier M. Mihaljevic, and H. Imai, “Reduced complexity iterative decoding of low density parity check codes based on belief propagation,” IEEE Trans. Commun., Vol.47., No.5, pp .673-680, May 1999. J. Chen, A. Dholakia, E. Eleftheriou, M. P. C. Fossorier, and X.-Yu Hu, “Reduced-complexity decoding of LDPC codes,” IEEE Trans. Commun., Vol.53., No. 8, pp.1288-1299, Aug. 2005. J. Zhang, and M. P. C. Fossorier, “Shuffled iterative decoding,” IEEE Trans.
  • Fossorier “Low-density parity-check codes based on finite geometries: A rediscovery and new results,” IEEE Trans. Inform. Theory, vol.47, no.7, pp2711-2736, Nov. 2001 . Y. Kou, S. Lin, and M. P. C. Fossorier, “Low-density parity-check codes based on finite geometries: A rediscovery and new results,” IEEE Trans. Inform. Theory, vol.47, no. 7, pp2711-2736, Nov. 2001. M. P. C. Fossorier, “Quasi-cyclic low-density parity-check codes from circulant permutation matrices,” IEEE Trans. Inform.
  • FIG. 5 shows a configuration example of an erasure correction encoder that can change the coding rate of an erasure correction code in accordance with communication quality such as a transmission path condition.
  • the first erasure correction encoder 61 is an encoder of an erasure correction code having a coding rate of 1/2
  • the second erasure correction encoder 62 is an encoder of an erasure correction code having an encoding rate of 2/3
  • the third erasure correction encoder 63 is an encoder of an erasure correction code having a coding rate of 3/4.
  • the first erasure correction encoder 61 receives the information 71 and the control signal 72, performs encoding when the control signal 72 designates the coding rate 1/2, and stores the data 73 after the erasure correction encoding. The data is output to the selection unit 64.
  • the second erasure correction encoder 62 receives the information 71 and the control signal 72, performs encoding when the control signal 72 designates an encoding rate of 2/3, and performs erasure correction encoding.
  • Data 74 is output to the selection unit 64.
  • the third erasure correction encoder 63 receives the information 71 and the control signal 72, performs encoding when the control signal 72 designates an encoding rate of 3/4, and performs erasure correction encoding.
  • Data 75 is output to the selection unit 64.
  • the selection unit 64 receives the data 73, 74, 75 after erasure correction coding and the control signal 72 as input, and outputs data 76 after erasure correction coding corresponding to the coding rate specified by the control signal 72.
  • An object of the present invention is to provide an encoding method, an encoder, and a decoder capable of changing the coding rate of an erasure correction code while reducing the circuit scale of the encoder and the decoder. is there.
  • the encoding method of the present invention includes: Of the parity check polynomials expressed by Equation (3-1), (A1% 3, a2% 3, a3% 3), (b1% 3, b2% 3, b3% 3) are (0, 1, 2), (0, 2, 1), (1, 0, 2) a first parity check polynomial that is any one of (1, 2, 0), (2, 0, 1), (2, 1, 0); Of the parity check polynomials expressed by Equation (3-2), (A1% 3, A2% 3, A3% 3), (B1% 3, B2% 3, B3% 3) are (0, 1, 2), (0, 2, 1), (1, 0, 2) a second parity check polynomial that is any one of (1, 2, 0), (2, 0, 1), (2, 1, 0); Of the parity check polynomials expressed by Equation (3-3), ( ⁇ 1% 3, ⁇ 2% 3, ⁇ 3% 3), ( ⁇ 1% 3, ⁇ 2% 3, ⁇ 3% 3) are (0, 1, 2), (0, 2, 1), (1, 0, 2) a third parity check polynomial that is
  • the coding rate of the erasure correction code can be changed while reducing the circuit scale of the encoder and the decoder, both improvement in transmission efficiency and improvement in erasure correction capability are achieved. Can be achieved.
  • FIG. 6 is a block diagram showing a detailed configuration of a portion related to a change in the coding rate of the erasure correction code in the communication apparatus of FIG.
  • FIG. 6 is a block diagram showing another detailed configuration of a portion related to the change of the coding rate of the erasure correction code in the communication apparatus of FIG.
  • Packet configuration diagram for explaining the operation of the part related to the change of the coding rate of the erasure correction code
  • Packet configuration diagram for explaining the operation of the part related to the change of the coding rate of the erasure correction code
  • a block diagram showing a configuration of a transmission device for transmitting information on the coding rate of an erasure correction code to a communication partner The figure which shows the example of a frame structure in the time-axis output from a transmitter.
  • FIG. 11 is a diagram illustrating a configuration example of an LDPC-CC encoder defined by a parity check matrix H T [0, n].
  • Diagram for explaining erasure correction method [method # 3-3] The figure which shows an example of the relationship between information size and the number of terminations Diagram showing Tanner graph
  • the parity check matrix H illustrates a sub-matrix generated by extracting only the part related to X 1 (D)
  • the parity check matrix H shows a vector generated by extracting only the part related to X 1 (D)
  • FIG. 6 is an overall configuration diagram of the communication system according to Embodiment 1 of the present invention.
  • the communication system includes a communication device 100 on the encoding side, a communication path 20, and a communication device 200 on the decoding side.
  • the communication path 20 indicates a path through which a signal transmitted from the transmission apparatus 140 of the encoding-side communication apparatus 100 is received by the reception apparatus 210 of the decoding-side communication apparatus 200.
  • the communication system of FIG. 6 is different from the communication system of FIG. 2 in that the communication system of FIG. 6 can change the coding rate of the erasure correction code.
  • the receiving device 210 of the communication device 200 receives a signal transmitted from the communication device 100, and estimates a communication state from a control information signal such as a pilot signal or a preamble among the received signals. Then, the reception device 210 generates feedback information (for example, Channel State Information) according to the communication state, and outputs the generated feedback information to the transmission device 250. The feedback information is transmitted from the transmission device 250 to the communication device 100 from the antenna.
  • a control information signal such as a pilot signal or a preamble among the received signals.
  • the reception device 210 generates feedback information (for example, Channel State Information) according to the communication state, and outputs the generated feedback information to the transmission device 250.
  • the feedback information is transmitted from the transmission device 250 to the communication device 100 from the antenna.
  • the receiving device 150 of the communication device 100 sets the coding rate of the erasure correction code from the feedback information transmitted from the communication device 200, and transmits the control signal 404 including the information of the coding rate of the set erasure correction code to the packet.
  • the generated and known packet insertion unit 110, the erasure correction coding related processing unit 120, and the error correction coding unit 130 are output.
  • the packet generation and known packet insertion unit 110 receives the control signal 404 and the setting signal 401 including the information 101 and the coding rate information of the erasure correction code as input, and receives the information packet based on the control signal 404 and the setting signal 401. Generate. Specifically, the packet generation and known packet insertion unit 110 generates an information packet from the information 101, and further inserts the known information packet into the information packet according to the coding rate of the erasure correction code included in the control signal 404. To do.
  • the setting signal 401 includes information set by the communication apparatus 100 such as a packet size and a modulation method. Details of the operation of the packet generation and known packet insertion unit 110 will be described later.
  • the erasure correction coding related processing unit 120 receives the control signal 404 and the setting signal 401 as input, and performs erasure correction on the information packet input from the packet generation and known packet insertion unit 110 based on the control signal 404 and the setting signal 401. Encoding is performed.
  • the internal configuration and operation of the erasure correction coding related processing unit 120 will be described later.
  • the error correction coding unit 130 introduces an error correction code in the physical layer separately from the erasure correction code in the erasure correction coding related processing unit 120 in order to correct an error generated in the communication path 20, and the erasure correction code.
  • the error correction encoding is performed on the input sequence input from the encoding related processing unit 120 to generate an encoded sequence.
  • the transmission apparatus 140 performs predetermined processing (processing such as modulation, band limitation, frequency conversion, amplification) on the encoded sequence generated by error correction encoding in the physical layer in the error correction encoding unit 130.
  • predetermined processing processing such as modulation, band limitation, frequency conversion, amplification
  • the receiving device 150 receives the received signal 411 received at the antenna, performs predetermined processing (processing such as band limitation, frequency conversion, amplification, demodulation) on the received signal 411 to generate data 413.
  • predetermined processing processing such as band limitation, frequency conversion, amplification, demodulation
  • the receiving device 210 of the communication device 200 outputs a signal other than the control information signal among the received signals to the error correction decoding unit 220.
  • the error correction decoding unit 220 performs error correction decoding in the physical layer on the signal input from the receiving device 210 to generate a decoded packet.
  • the erasure correction decoding related processing unit 230 performs erasure correction decoding on the decoded packet.
  • the internal configuration and operation of the erasure correction decoding related processing unit 230 will be described later.
  • the packet decoding unit 240 converts the packet after the erasure correction into a format that can be analyzed by the information processing unit (not shown).
  • the transmission device 250 inputs the feedback information and the transmission information, performs predetermined processing (processing such as modulation, band limitation, frequency conversion, amplification) on the feedback information and the transmission information, generates a transmission signal 415, and transmits the transmission signal 415. Is transmitted from the antenna to the communication apparatus 100, for example.
  • predetermined processing processing such as modulation, band limitation, frequency conversion, amplification
  • FIG. 7 is a block diagram showing a detailed configuration of a part related to the change of the coding rate of the erasure correction code in the communication apparatus 100 of FIG. 7 that operate in the same manner as in FIG. 6 are given the same reference numerals.
  • the erasure correction encoding related processing unit 120 includes an erasure correction encoding unit 121, a known information packet reduction unit 122, and an error detection code addition unit 123.
  • Reordering section 1211 of erasure correction coding section 121 receives setting signal 401, control signal 404, and information packet 103 (in this case, information packets # 1 to #n), and changes the order of information in information packet 103. Rearrange and output information 105 after rearrangement.
  • An encoding unit (parity packet generation unit) 1212 of the erasure correction encoding unit 121 receives the setting signal 401, the control signal 404, and the rearranged information 105 as an input, for example, an LDPC-BC or LDPC-CC code. To generate parity.
  • the encoding unit (parity packet generation unit) 1212 extracts only the generated parity part, generates a parity packet 107 from the extracted parity part, and outputs it. At this time, when the parity packets # 1 to #m are generated corresponding to the information packets # 1 to #n, the parity packet 107 becomes the parity packets # 1 to #m.
  • the known information packet reduction unit 122 receives the information packet 103, the setting signal 401, and the control signal 404 as inputs, and converts a part of the information packet 103 based on the coding rate of the erasure correction code included in the setting signal 401 and the control signal 404. Reduce. Specifically, when a known information packet is inserted into the information packet 103 in the packet generation and known packet insertion unit 110, the known information packet reduction unit 122 reduces the known information packet from the information packet 103, and the post-reduction The information packet 104 is output. Therefore, depending on the coding rate, the packet generation and known packet insertion unit 110 may not insert the known information packet into the information packet 103. In this case, the known information packet reduction unit 122 may The information packet 103 is output as the information packet 104 without being reduced. Details of the operation of the known information packet reduction unit 122 will be described later.
  • the error detection code adding unit 123 receives the parity packet 107, the information packet 104 after reduction, the setting signal 401, and the control signal 404 as input, adds an error detection code, for example, CRC to each packet, and each packet after the CRC is added. 109 is output. Details of the operation of the error detection code adding unit 123 will be described later.
  • FIG. 8 is a block diagram showing another detailed configuration of the part related to the change of the coding rate of the erasure correction code in the communication apparatus 100 of FIG.
  • the information 101 input to the packet generation and known packet insertion unit 110 is configured to be input to the error detection code addition unit 123, thereby eliminating the known information packet reduction unit 122 of FIG. 7.
  • FIGS. 9 and 10 are packet configuration diagrams for explaining the operation of the part related to the change of the coding rate of the erasure correction code of FIGS.
  • the encoding unit (parity packet generation unit) 1212 is configured with an encoder of a erasure correction code with a coding rate of 2/3 and performs erasure correction coding with a coding rate of 2/3.
  • the encoding unit 1212 is configured with an encoder of a erasure correction code with a coding rate of 2/3 and performs erasure correction coding with a coding rate of 2/3.
  • the packet generation and known packet insertion unit 110 inserts a known information packet in order to set the coding rate of the erasure correction coding related processing unit 120 to 3/5. Specifically, as shown in FIG. 9, among the information packets # 1 to # 4, information packets # 1 to # 3 are generated from the information 101, and known information that has been determined in advance as a communication partner, for example, , Information packet # 4 is generated from information in which all bits are "0". By inserting the known information packet in this way, the information packet 103 is composed of information packets # 1 to # 3 and a known information packet # 4.
  • the rearrangement unit 1211 receives the information packet 103, performs rearrangement, and outputs the rearranged information packet 105.
  • the encoding unit (parity packet generation unit) 1212 receives the rearranged information packet 105 and encodes the erasure correction code. Since the encoding unit (parity packet generation unit) 1212 is an encoder having a coding rate of 2/3, two parity packets (parity packet # 1) are provided for the information packet 103 including information packets # 1 to # 4. , # 2) (see FIG. 9). The encoding unit (parity packet generation unit) 1212 outputs the generated parity packets # 1 and # 2 as the parity packet 107.
  • the known information packet reduction unit 122 deletes the known information packet from the information packet 103.
  • the known information packet reduction unit 122 receives the information packet 103 (information packets # 1 to # 3 and known information packet # 4) as an input, and as shown in FIG. 4 is deleted, and the information packet 104 (that is, information packets # 1 to # 3) after the deletion of the known information packet is output.
  • the error detection code adding unit 123 receives the parity packet 107 and the information packet 104 after the deletion of the known information packet, and as shown in FIG. 9, the information packets # 1 to # 3 after the CRC addition and the parity packet after the CRC addition. # 1 and # 2 are output.
  • the erasure correction coding related processing unit 120 outputs the information packets # 1 to # 3 after the CRC addition and the parity packets # 1 and # 2 after the CRC addition.
  • the coding rate in the erasure correction coding related processing unit 120 can be set to 3/5.
  • the coding unit (parity packet generation unit) 1212 when the coding unit (parity packet generation unit) 1212 is an encoder having a coding rate of 2/3, the coding rate is set for three information packets # 1 to # 3 and one known information packet # 4. By performing 2/3 erasure correction coding and deleting the known information packet # 4 after coding, the coding unit (parity packet generation unit) 1212 performs coding at a coding rate of 2/3.
  • the coding rate as the erasure correction coding related processing unit 120 can be reduced to 3/5.
  • the encoding unit (parity packet generation unit) 1212 does not prepare a erasure correction code with an encoding rate of 3/5, the encoding rate of the erasure correction encoding related processing unit 120 is set to 3 / Therefore, there is an advantage that the circuit scale of the configuration shown in FIGS. 7 and 8 can be reduced.
  • the packet generation and known packet insertion unit 110 inserts a known information packet in order to reduce the coding rate of the erasure correction coding related processing unit 120 to 1 ⁇ 2.
  • information packets # 1 to # 4 are generated from the information 101, and known information that has been determined in advance as a communication partner, for example, , Information packets # 3 and # 4 are generated from information in which all bits are “0”.
  • the information packet 103 is composed of information packets # 1, # 2 and known information packets # 3, # 4.
  • the rearrangement unit 1211 receives the information packet 103 as input, performs rearrangement, and outputs the rearranged information packet 105.
  • the encoding unit (parity packet generation unit) 1212 receives the rearranged information packet 105 and encodes the erasure correction code. Since the encoding unit (parity packet generation unit) 1212 is an encoder having a coding rate of 2/3, two parity packets (parity packet # 1) are provided for the information packet 103 including information packets # 1 to # 4. , # 2) (see FIG. 10). The encoding unit (parity packet generation unit) 1212 outputs the generated parity packets # 1 and # 2 as the parity packet 107.
  • the known information packet reduction unit 122 deletes the known information packet from the information packet 103.
  • the known information packet reduction unit 122 receives the information packet 103 (information packets # 1, # 2 and known information packets # 3, # 4) as an input, and as shown in FIG. Information packets # 3 and # 4 are deleted, and information packet 104 (that is, information packets # 1 and # 2) after deletion of known information packets is output.
  • the error detection code adding unit 123 receives the parity packet 107 and the information packet 104 after the deletion of the known information packet as input, and as shown in FIG. 10, the information packets # 1 and # 2 after the CRC addition and the parity packet after the CRC addition. # 1 and # 2 are output.
  • the erasure correction coding related processing unit 120 outputs the information packets # 1, # 2 after the CRC addition and the parity packets # 1, # 2 after the CRC addition.
  • the coding rate in the erasure correction coding related processing unit 120 can be halved.
  • the encoding unit (parity packet generation unit) 1212 is an encoder having a coding rate of 2/3, for two information packets # 1, # 2 and two known information packets # 3, # 4,
  • the coding unit (parity packet generation unit) 1212 While performing 2/3 coding, the coding rate of the erasure correction coding related processing unit 120 can be halved.
  • the coding rate is 2/3
  • the known information packet is not used, and the coding rate is generated by generating the parity packets # 1 and # 2 from the information packets # 1 to # 4 that do not include the known information packet. 2/3 can be realized.
  • FIG. 11 is a block diagram illustrating a configuration of transmission apparatus 140 of communication apparatus 100 for communication apparatus 100 to transmit information on the coding rate of the erasure correction code to communication apparatus 200 of the communication counterpart.
  • the control information generation unit 142 receives the setting signal 401 and the control signal 404 related to the erasure correction code and the other control signal 403 as input, and generates and outputs control information 405 for transmission to the communication partner.
  • the control information 405 for transmission to the communication partner includes information on the coding rate set as the coding rate of the erasure correction coding related processing unit 120.
  • the modulation unit 141 receives each packet 109 after CRC addition, control information 405 for transmission to a communication partner, and a frame configuration signal 406 as input, and generates and outputs a modulation signal 407 according to the frame configuration signal 406.
  • the transmission unit 143 receives the modulated signal 407, performs predetermined processing (processing such as band limitation, frequency conversion, and amplification), and outputs a transmission signal 408.
  • predetermined processing processing such as band limitation, frequency conversion, and amplification
  • FIG. 12 is a diagram illustrating a frame configuration example on the time axis of the transmission signal 408 output from the transmission device 140.
  • the frame is composed of control information symbols and data symbols.
  • the data symbol is assumed to be composed of a plurality of erasure correction blocks. However, when the size of the data symbol is small, it may be composed of one erasure correction block.
  • Erasure correction encoding is performed by bundling a plurality of packets. For example, in the example of FIG. 9, four packets of information packets # 1 to # 4 are bundled, and erasure correction coding is performed in units of four packets. At this time, in the example of FIG. 9, the information packets # 1 to # 3 excluding the information packet # 4 to which the known information is assigned and the five packets after the CRC is added to which the CRC is added to the parity packets # 1 and # 2. Thus, an erasure correction block is constructed. As described above, the erasure correction block is composed of packets excluding known information packets among packets generated in units in which erasure correction encoding is performed.
  • the coding rate in the erasure correction block is the set coding rate.
  • the erasure correction block is composed of five packets, of which the number of information packets is 3, so the coding rate in the erasure correction block is 3/5.
  • the coding rate in all erasure correction blocks is not necessarily the set coding rate.
  • the coding rate in the erasure correction block in this case is 2/3, which is not the same as the fixed coding rate 3/5 in the other erasure correction blocks. That is, as shown in FIG. 12, one of the plurality of erasure correction blocks may have a coding rate different from the set coding rate. This is because the number of known information packets included in packets bundled when performing erasure correction coding is different.
  • FIG. 13 is a block diagram illustrating an example of a detailed configuration of the erasure correction decoding related processing unit 230 of the communication device 200 of FIG.
  • the error detection unit 231 receives the packet 301 after decoding of the physical layer error correction code as an input, performs error detection by CRC, for example, and an information packet in which no packet loss has occurred and a parity packet in which no packet loss has occurred Is appended with a packet number and output as a packet 303.
  • the known information packet insertion unit 232 includes control information 311 including information on a coding rate set for erasure correction, a packet 303 (information packet with no packet loss (with packet number), and no packet loss. And a known information packet inserted by the communication partner for erasure correction based on the coding rate information of the set erasure correction code included in the control information 311. Insert into packet 303. Therefore, the known information packet insertion unit 232 outputs the packet 305 after the known information packet is inserted.
  • control information 311 including information on the coding rate set for erasure correction is obtained by demodulating the control information symbols shown in FIG. 12 in receiving apparatus 150 in FIG.
  • the erasure correction decoding unit 233 receives the packet 305 and also receives control information 311 including information on the coding rate set for erasure correction, so that the rearrangement of the packets 305, that is, no packet loss occurs. Information packet (with packet number), parity packet (with packet number) where packet loss did not occur, and known information packet data are rearranged, and erasure correction decoding is performed on the rearranged data to obtain information Packet 307 is decoded. Erasure correction decoding section 233 outputs information packet 307 after decoding.
  • the known information packet reduction unit 234 receives the information packet 307 after decoding and the control information 311 including information on the coding rate set for erasure correction, and is known from the information packet 307 according to the coding rate. The information packet is reduced, and the information packet 309 after the known information packet reduction is output.
  • the packet generation and known packet insertion unit 110 is provided in the preceding stage of the erasure correction coding related processing unit 120, and the packet generation and known packet insertion unit 110 inserts the known information packet, thereby It becomes possible to change the coding rate of the processing unit 120, thereby achieving both improvement in transmission efficiency and improvement in erasure correction capability.
  • the coding rate of the erasure correction code prepared by the coding unit (parity packet generation unit) 1212 is one, and the erasure correction coding related processing unit 120 realizes other coding rates.
  • the coding unit (parity packet generation unit) 1212 prepares a plurality of erasure correction codes, corresponds to different coding rates, and the erasure correction coding related processing unit 120. May be realized by inserting a known information packet in order to cope with different coding rates.
  • the encoding unit (parity packet generation unit) 1212 may prepare a plurality of erasure correction codes, and each may have a different code length to support erasure correction of long packets and short packets.
  • the erasure correction coding related processing unit 120 may change the coding rate by inserting a known information packet into the erasure correction code.
  • Embodiment 2 In the first embodiment, the method of changing the coding rate of the erasure correction code has been described.
  • the method for changing the coding rate of the erasure correction code described in Embodiment 1 is implemented using LDPC-CC (for example, see Non-Patent Document 3).
  • an LDPC-CC having good characteristics will be described.
  • Embodiment 3 a method for changing the coding rate when the LDPC-CC described in this embodiment is applied to the physical layer will be described.
  • Embodiment 4 a method for changing the coding rate when LDPC-CC described in this embodiment is used for an erasure correction code will be described.
  • LDPC-CC is a convolutional code defined by a low density parity check matrix.
  • the element h 1 (m) (t) of H T [0, n] takes 0 or 1. All elements other than h 1 (m) (t) are 0.
  • M represents the memory length in the LDPC-CC
  • n represents the length of the code word in the LDPC-CC.
  • 1 is arranged only in the diagonal term of the matrix and its neighboring elements, the lower left and upper right elements of the matrix are zero, and parallel There is a feature that it is a quadrilateral matrix.
  • the LDPC-CC encoder includes M + 1 shift registers and a mod2 (exclusive OR) adder.
  • the LDPC-CC encoder is realized by a very simple circuit compared to a circuit that performs multiplication of a generator matrix or an LDPC-BC encoder that performs an operation based on a backward (forward) substitution method.
  • the encoder shown in FIG. 15 is a convolutional code encoder, it is not necessary to divide the information sequence into fixed-length blocks and encode the information sequence of any length. Can do.
  • equations (1-1) to (1-4) can be considered.
  • 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). This is because it is preferable to obtain four terms.
  • a1, a2, a3, and a4 are integers (where a1 ⁇ a2 ⁇ a3 ⁇ a4).
  • a1 ⁇ a2 ⁇ a3 ⁇ a4 When “a1 ⁇ a2 ⁇ a3 ⁇ a4” is indicated, it means that a1, a2, a3,..., A4 are all different from each other.
  • B1, b2, b3, and b4 are integers (where b1 ⁇ b2 ⁇ b3 ⁇ b4).
  • the parity check polynomial of equation (1-1) is referred to as “check equation # 1”.
  • a sub-matrix based on the parity check polynomial of equation (1-1) is 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 (B1 ⁇ B2 ⁇ B3 ⁇ B4).
  • the parity check polynomial in equation (1-2) is called “check equation # 2.”
  • Sub-matrix based on a parity check polynomial of equation (1-2) is a second sub-matrix H 2.
  • Equation (1-3) ⁇ 1, ⁇ 2, ⁇ 3, and ⁇ 4 are integers (where ⁇ 1 ⁇ ⁇ 2 ⁇ ⁇ 3 ⁇ ⁇ 4). ⁇ 1, ⁇ 2, ⁇ 3, and ⁇ 4 are integers (where ⁇ 1 ⁇ ⁇ 2 ⁇ ⁇ 3 ⁇ ⁇ 4).
  • the parity check polynomial in equation (1-3) is called “check equation # 3”.
  • a sub-matrix based on the parity check polynomial of Equation (1-3) is a third sub-matrix H 3 .
  • Equation (1-4) E1, E2, E3, and E4 are integers (however, E1 ⁇ E2 ⁇ E3 ⁇ E4). Further, F1, F2, F3, and F4 are integers (where F1 ⁇ F2 ⁇ F3 ⁇ F4).
  • the parity check polynomial of equation (1-4) is referred to as “check equation # 4”.
  • the time variation in which a parity check matrix is generated from the first sub-matrix H 1 , the second sub-matrix H 2 , the third sub-matrix H 3 , and the fourth sub-matrix H 4 as shown in FIG. Consider an LDPC-CC with period 4.
  • each order The remainder k obtained by dividing (a1, a2, a3, a4) by 4 becomes (0, 3, 2, 1), and the remainder (k) 0, 1, 2, 3 is one by one in the four coefficient sets. To be included.
  • a regular LDPC code can be formed in which the column weight of the parity check matrix H composed of the equations (1-1) to (1-4) is 4 in all columns.
  • the regular LDPC code is an LDPC code defined by a parity check matrix in which each column weight is constant, and has characteristics that characteristics are stable and an error floor is difficult to occur.
  • the column weight is 4, the characteristics are good, so that LDPC-CC with good reception performance can be obtained by generating LDPC-CC as described above.
  • the case where the coding rate is 1/2 has been described as an example.
  • the coding rate is (n ⁇ 1) / n
  • the information X 1 (D), X 2 (D),. , X n ⁇ 1 (D) if each of the four coefficient sets satisfies the above “remainder” condition (residual rule), it becomes a regular LDPC code, and good reception quality can be obtained.
  • Equations (2-1) and (2-2) can be considered as parity check polynomials for LDPC-CC with 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 four terms exist in each of X (D) and P (D). This is because it is preferable to obtain four terms in order to obtain.
  • a1, a2, a3, and a4 are integers (where a1 ⁇ a2 ⁇ a3 ⁇ a4).
  • B1, b2, b3, and b4 are integers (where b1 ⁇ b2 ⁇ b3 ⁇ b4).
  • the parity check polynomial in equation (2-1) is referred to as “check equation # 1”.
  • a sub-matrix based on the parity check polynomial of Equation (2-1) is 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 (B1 ⁇ B2 ⁇ B3 ⁇ B4).
  • the parity check polynomial in equation (2-2) is referred to as “check equation # 2.”
  • Sub-matrix based on a parity check polynomial of equation (2-2) is a second sub-matrix H 2.
  • an LDPC-CC having a time varying period of 2 generated from the first sub-matrix H 1 and the second sub-matrix H 2 will be considered.
  • each order The remainder k obtained by dividing (a1, a2, a3, a4) by 4 becomes (0, 3, 2, 1), and the remainder (k) 0, 1, 2, 3 is one by one in the four coefficient sets. To be included.
  • a regular LDPC code can be formed in which the column weights of the parity check matrix H composed of equations (2-1) and (2-2) are 4 in all columns.
  • the regular LDPC code is an LDPC code defined by a parity check matrix in which each column weight is constant, and has characteristics that characteristics are stable and an error floor is difficult to occur.
  • the row weight is 8
  • the characteristics are good, so that the LDPC-CC that can further improve the reception performance can be obtained by generating the LDPC-CC as described above.
  • Equations (3-1) to (3-3) can be considered as parity check polynomials for LDPC-CC with a time-varying period of 3.
  • X (D) is a polynomial expression of data (information)
  • P (D) is a polynomial expression of parity.
  • the parity check polynomial is such that three terms exist in each of X (D) and P (D).
  • a1, a2, and a3 are integers (where a1 ⁇ a2 ⁇ a3).
  • B1, b2, and b3 are integers (where b1 ⁇ b2 ⁇ b3).
  • the parity check polynomial in equation (3-1) is referred to as “check equation # 1”.
  • a sub-matrix based on the parity check polynomial of Equation (3-1) is a first sub-matrix H 1 .
  • equation (3-2) A1, A2, and A3 are integers (where A1 ⁇ A2 ⁇ A3). B1, B2, and B3 are integers (B1 ⁇ B2 ⁇ B3).
  • the parity check polynomial in equation (3-2) is referred to as “check equation # 2.”
  • Sub-matrix based on a parity check polynomial of equation (3-2) is a second sub-matrix H 2.
  • Equation (3-3) ⁇ 1, ⁇ 2, and ⁇ 3 are integers (where ⁇ 1 ⁇ ⁇ 2 ⁇ ⁇ 3). ⁇ 1, ⁇ 2, and ⁇ 3 are integers (where ⁇ 1 ⁇ ⁇ 2 ⁇ ⁇ 3).
  • the parity check polynomial in equation (3-3) is referred to as “check equation # 3”.
  • a sub-matrix based on the parity check polynomial of Equation (3-3) is a third sub-matrix H 3 .
  • an LDPC-CC having a time varying period of 3 generated from the first sub-matrix H 1 , the second sub-matrix H 2 , and the third sub-matrix H 3 will be considered.
  • FIG. 17A shows the configuration of an LDPC-CC parity check polynomial and parity check matrix H of time-varying period 3.
  • “1” in the region 6502 in which the remainder is 1 in the coefficient of “check equation # 1” is a region in which the remainder is 2 in the coefficient of “check equation # 2” in the column calculation of the column 6509 in BP decoding.
  • the reliability is propagated from “1” of 6507 “1” and “1” of the region 6508 in which the remainder is 0 in the coefficient of “checking formula # 3”.
  • “1” in the region 6503 in which the remainder is 2 in the coefficient of “check equation # 1” is a region in which the remainder is 0 in the coefficient of “check equation # 2” in the column calculation of the column 6512 in BP decoding.
  • the reliability is propagated from “1” of 6510 “1” and “1” of the region 6511 in which the remainder is 1 in the coefficient of “check equation # 3”.
  • FIG. 17B shows the relationship of reliability propagation between the terms relating to X (D) of “check equation # 1” to “check equation # 3” in FIG. 17A.
  • the terms (a3, A3, ⁇ 3) enclosed by squares indicate coefficients with a remainder of 0 divided by 3. Further, the terms (a2, A2, ⁇ 1) surrounded by circles indicate a coefficient whose remainder is 1 after dividing by 3. In addition, the terms (a1, A1, ⁇ 2) surrounded by rhombuses indicate coefficients with a remainder of 2 divided by 3.
  • FIG. 17B shows the relationship of reliability propagation between the terms related to X (D) of “check formula # 1” to “check formula # 3”, but the same applies to the terms related to P (D). I can say that.
  • the reliability is propagated to the “checking formula # 1” from the coefficients having the remainders of 0, 1, and 2 divided by 3 among the coefficients of the “checking formula # 2”. That is, the reliability is propagated to the “checking formula # 1” from the coefficients of the “checking formula # 2” that are all different in the remainder after division by 3. Therefore, all the reliability levels with low correlation are propagated to “check formula # 1”.
  • the reliability is propagated to the “checking formula # 2” from the coefficients of the “checking formula # 1” whose remainders obtained by dividing by 3 are 0, 1, and 2. That is, the reliability is propagated to the “check equation # 2” from the coefficients of the “check equation # 1”, all of which have different remainders after division by 3. Also, the reliability is propagated to “check formula # 2” from the coefficients of which the remainder obtained by dividing by 3 is 0, 1, and 2 among the coefficients of “check formula # 3”. That is, the reliability is propagated to the “check equation # 2” from the coefficients of the “check equation # 3”, all of which have different remainders after division by 3.
  • the reliability is propagated to the “checking formula # 3” from the coefficients of which the remainder obtained by dividing by 3 is 0, 1, 2, among the coefficients of the “checking formula # 1”. That is, the reliability is propagated to the “check equation # 3” from the coefficients of the “check equation # 1”, all of which have different remainders after division by 3. Also, the reliability is propagated to “check formula # 3” from the coefficients of which the remainder obtained by dividing by 3 becomes 0, 1 and 2 among the coefficients of “check formula # 2”. That is, the reliability is propagated to the “checking formula # 3” from the coefficients of the “checking formula # 2”, all of which have different remainders after division by 3.
  • each order of the parity check polynomials of the equations (3-1) to (3-3) satisfies the above-described condition (residue rule) regarding “residue”. Since the reliability is always propagated, the reliability can be efficiently propagated in all the check expressions, and the error correction capability can be further increased.
  • the LDPC-CC having the time varying period 3 has been described by taking the case of the coding rate 1/2 as an example, but the coding rate is not limited to 1/2.
  • coding rate (n ⁇ 1) / n (n is an integer of 2 or more)
  • X 1 (D) X 2 (D)
  • X n ⁇ 1 (D) X 1 (D)
  • X 2 (D) X 2 (D)
  • X n ⁇ 1 (D) If the above condition (residue rule) is satisfied in the three coefficient sets, a regular LDPC code is obtained, and good reception quality can be obtained.
  • Equations (4-1) to (4-3) can be considered as parity check polynomials for LDPC-CC with a time-varying period of 3.
  • 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 expression of parity.
  • three terms for each of X 1 (D), X 2 (D),..., X n-1 (D), P (D) Is a parity check polynomial such that exists.
  • B1, b2, and b3 are integers (where b1 ⁇ b2 ⁇ b3).
  • the parity check polynomial of equation (4-1) is referred to as “check equation # 1”.
  • a sub-matrix based on the parity check polynomial of Equation (4-1) is a first sub-matrix H 1 .
  • B1, B2, and B3 are integers (B1 ⁇ B2 ⁇ B3).
  • the parity check polynomial in equation (4-2) is referred to as “check equation # 2.”
  • Sub-matrix based on a parity check polynomial of equation (4-2) is a second sub-matrix H 2.
  • the parity check polynomial in equation (4-3) is referred to as “check equation # 3”.
  • a sub-matrix based on the parity check polynomial of Equation (4-3) is a third sub-matrix H 3 .
  • an LDPC-CC having a time varying period of 3 generated from the first sub-matrix H 1 , the second sub-matrix H 2 , and the third sub-matrix H 3 will be considered.
  • the following conditions regarding “remainder” are applied to LDPC-CC whose time-varying period is a multiple of 3 (for example, the time-varying period is 6, 9, 12,). Then, it was confirmed that a code with good characteristics can be searched.
  • an LDPC-CC having a multiple of the time-varying period 3 having good characteristics will be described. In the following, a case of LDPC-CC with a coding rate of 1/2 and a time varying period of 6 will be described as an example.
  • Equations (5-1) to (5-6) can be considered as parity check polynomials for LDPC-CC with a time-varying period of 6.
  • X (D) is a polynomial expression of data (information)
  • P (D) is a polynomial expression of parity.
  • 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”.
  • a sub-matrix based on the parity check polynomial of Equation (5-1) is a first sub-matrix H 1 .
  • a2, 1, a2, 2, a2, 3 are integers (where a2, 1 ⁇ a2, 2 ⁇ a2, 3).
  • b2,1, b2,2, b2,3 are integers (where b2,1 ⁇ b2,2 ⁇ b2,3).
  • the parity check polynomial in equation (5-2) is referred to as “check equation # 2.”
  • Sub-matrix based on a parity check polynomial of equation (5-2) is a second sub-matrix H 2.
  • a3, 1, a3, 2, a3, 3 are integers (where a3, 1 ⁇ a3, 2 ⁇ a3, 3).
  • b3, 1, b3, 2, b3, 3 are integers (where b3, 1 ⁇ b3, 2 ⁇ b3, 3).
  • the parity check polynomial in equation (5-3) is referred to as “check equation # 3”.
  • a sub-matrix based on the parity check polynomial of equation (5-3) is a third sub-matrix H 3 .
  • a4, 1, a4, 2, a4, 3 are integers (where 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 in equation (5-4) is referred to as “check equation # 4”.
  • a sub-matrix based on the parity check polynomial of equation (5-4) is a fourth sub-matrix H 4 .
  • Equation (5-5) a5, 1, a5, 2, and a5, 3 are integers (where a5, 1 ⁇ a5, 2 ⁇ a5, 3). Also, b5, 1, b5, 2, and b5, 3 are integers (where b5, 1 ⁇ b5, 2 ⁇ b5, 3).
  • the parity check polynomial in equation (5-5) is referred to as “check equation # 5”.
  • Sub-matrix based on a parity check polynomial of equation (5-5) is 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 in equation (5-6) is referred to as “check equation # 6”.
  • a sub-matrix based on the parity check polynomial of Equation (5-6) is a sixth sub-matrix H 6 .
  • the LDPC-CC includes the first sub-matrix H 1 , the second sub-matrix H 2 , the third sub-matrix H 3 , the fourth sub-matrix H 4 , the fifth sub-matrix H 5 , and the sixth sub-matrix H 6.
  • the reliability in “inspection formula # 1 or inspection formula # 4” is accurately compared with “inspection formula # 3”. Or, the reliability in the inspection formula # 6 ”is accurately propagated.
  • the reliability in “inspection formula # 1 or inspection formula # 4” is accurately determined, “inspection formula # 2, Or, the reliability in the inspection formula # 5 ”is accurately transmitted.
  • the LDPC-CC having the time varying period 6 retains better error correction capability as in the case where the time varying period is 3.
  • FIG. 17C shows the relationship of reliability propagation between the terms relating to X (D) of “check equation # 1” to “check equation # 6”.
  • FIG. 17C shows the relationship of reliability propagation between the terms related to X (D) of “check formula # 1” to “check formula # 6”, but the same applies to the terms related to P (D). I can say that.
  • the LDPC-CC with the time varying period 6 has been described by taking the case of the coding rate 1/2 as an example, but the coding rate is not limited to 1/2.
  • coding rate (n ⁇ 1) / n (n is an integer of 2 or more)
  • X 1 (D) X 2 (D)
  • X n ⁇ 1 (D) X 1 (D)
  • X 2 (D) X 2 (D)
  • X n ⁇ 1 D
  • Equations (7-1) to (7-6) are considered as parity check polynomials for LDPC-CC with a time-varying period of 6.
  • 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 expression of parity.
  • X 1 (D), X 2 (D),..., X n-1 (D), P (D) each include three terms. Is a parity check polynomial such that exists.
  • the parity at time i is Pi and the information is X i, 1 , X i, 2 , ..., represented by 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) is a polynomial expression of parity.
  • three terms for each of X 1 (D), X 2 (D),..., X n-1 (D), P (D) Is a parity check polynomial such that exists.
  • the time varying period 3g represented by the parity check polynomials of the equations (9-1) to (9-3g), the coding rate In an LDPC-CC of (n ⁇ 1) / n (n is an integer of 2 or more), if the following condition ( ⁇ condition # 2>) is satisfied, the possibility that higher error correction capability can be obtained increases.
  • Sub-matrix based on a parity check polynomial of equation (9-k) is the k-th sub-matrix H k.
  • the LDPC-CC the first sub-matrix H 1, second sub-matrix H 2, third sub-matrix H 3, ⁇ ⁇ ⁇ , LDPC-CC of varying period 3g when producing from a 3g sub-matrix H 3g think about.
  • 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, a polynomial representation of ⁇ X n-1, P (D) is a polynomial expression of parity.
  • P (D) is a polynomial expression of parity.
  • three terms for each of X 1 (D), X 2 (D),..., X n-1 (D), P (D) Is a parity check polynomial such that exists.
  • a # 1, n-1,1 % 3, a # 1, n-1,2 % 3, a # 1, n-1,3 % 3) Any one of (0, 1, 2), (0, 2, 1), (1, 0, 2), (1, 2, 0), (2, 0, 1), (2, 1, 0) (P 1, 2, 3,..., N ⁇ 1). And, (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 # 3g-2, n-1,1 % 3, a # 3g-2, n-1,2 % 3, a # 3g-2, n-1,3 % 3) Any one of (0, 1, 2), (0, 2, 1), (1, 0, 2), (1, 2, 0), (2, 0, 1), (2, 1, 0) (P 1, 2, 3,..., N ⁇ 1). And, (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) Any one of (0, 1, 2), (0, 2, 1), (1, 0, 2), (1, 2, 0), (2, 0, 1), (2, 1, 0) (P 1, 2, 3,..., N ⁇ 1).
  • ⁇ Condition # 3> for Expressions (11-1) to (11-3g) has the same relationship as ⁇ Condition # 2> for Expressions (9-1) to (9-3g). Adding the following condition ( ⁇ condition # 4>) in addition to ⁇ condition # 3> to formulas (11-1) to (11-3g) creates an LDPC-CC with higher error correction capability The possibility of being able to do increases.
  • the value of 6g orders (b # 3g, 1 % 3g, b # 3g, 2 % 3g) is an integer from 0 to 3g-1 (0, 1, 2, 3, 4, ... 3g -2, 3g-1), all values other than multiples of 3 (that is, 0, 3, 6, ..., 3g-3) exist.
  • X 1 (D), X 2 (D), ⁇ , X n-1 (D) is data (information) X 1, X 2, ⁇
  • P (D) is a polynomial expression of parity.
  • ⁇ Condition # 5> for Expressions (13-1) to (13-3g) has the same relationship as ⁇ Condition # 2> for Expressions (9-1) to (9-3g). If the following condition ( ⁇ condition # 6>) is added to the expressions (13-1) to (13-3g) in addition to ⁇ condition # 5>, an LDPC-CC having high error correction capability can be created. The possibility increases.
  • 6g values of (a # 3g, 1,1 % 3g, a # 3g, 1, 2 % 3g) Of integers from 0 to 3g-1 (0, 1, 2, 3, 4, ..., 3g-2, 3g-1), multiples of 3 (that is, 0, 3, 6, ..., 3g) All values other than -3) exist (p 1, 2, 3,..., 3g).
  • the orders of X2 (D) in the equations (13-1) to (13-3g) satisfy the following condition.
  • the orders of X3 (D) in the equations (13-1) to (13-3g) satisfy the following condition.
  • ⁇ Condition # 6> instead of ⁇ Condition # 6>, ⁇ Condition # 6 ′> is used, that is, even if ⁇ Condition # 6 ′> is added in addition to ⁇ Condition # 5>, a higher error correction is possible. There is a high possibility that an LDPC-CC having the capability can be created.
  • 6g values of (a # 3g, 1,1 % 3g, a # 3g, 1, 2 % 3g) Of integers from 0 to 3g-1 (0, 1, 2, 3, 4, ..., 3g-2, 3g-1), multiples of 3 (that is, 0, 3, 6, ..., 3g) All values other than -3) exist (p 1, 2, 3,..., 3g).
  • the orders of X2 (D) in the equations (13-1) to (13-3g) satisfy the following condition.
  • the LDPC-CC having a time varying period of 3 g and a coding rate (n ⁇ 1) / n (n is an integer of 2 or more) has been described above.
  • X is a polynomial expression of data (information) X
  • P (D) is a polynomial expression of parity.
  • the parity check polynomial is such that three terms exist in each of X (D) and P (D).
  • equation (16) the parity check polynomial of equation (15 ⁇ (k + 1)
  • b # k, 1 , b # k, 2 , and b # k, 3 are integers (where b # k, 1 ⁇ b # k, 2 ⁇ b # k, 3 ).
  • Sub-matrix based on a parity check polynomial of equation (15-k) is the k-th sub-matrix H k. Then, as the LDPC-CC, the first sub-matrix H 1, second sub-matrix H 2, third sub-matrix H 3, ⁇ ⁇ ⁇ , LDPC-CC of varying period 3g when producing from a 3g sub-matrix H 3g think about.
  • the parity check polynomial of LDPC-CC can be expressed as follows.
  • X (D) is a polynomial expression of data (information) X
  • P (D) is a polynomial expression of parity.
  • the parity check polynomial is such that three terms exist in each of X and P (D).
  • (A # 3,1,1 % 3, a # 3,1,2 % 3, a # 3,1,3 % 3) is (0,1,2), (0,2,1), ( 1, 0, 2), (1, 2, 0), (2, 0, 1), (2, 1, 0).
  • (A # 3g-2,1,1% 3 , a # 3g-2,1,2% 3, a # 3g-2,1,3% 3) is (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) is (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) is (0,1,2), (0,2,1), ( 1, 0, 2), (1, 2, 0), (2, 0, 1), (2, 1, 0).
  • ⁇ Condition # 3-1> for Expressions (17-1) to (17-3g) has the same relationship as ⁇ Condition # 2-1> for Expressions (15-1) to (15-3g). If the following condition ( ⁇ condition # 4-1>) is added to the expressions (17-1) to (17-3g) in addition to ⁇ condition # 3-1>, LDPC having higher error correction capability -Increased possibility of creating CC.
  • X (D) is a polynomial expression of data (information) X
  • P (D) is a polynomial expression of parity.
  • equation (20) is established.
  • (A # 3g-2,1,1% 3 , a # 3g-2,1,2% 3) is a one of the (1,2), (2,1).
  • (A # 3g-1,1,1 % 3, a # 3g-1,1,2 % 3) is either (1,2) or (2,1).
  • (A # 3g, 1,1 % 3, a # 3g, 1,2 % 3) is either (1,2) or (2,1).
  • ⁇ Condition # 5-1> for Expressions (19-1) to (19-3g) has the same relationship as ⁇ Condition # 2-1> for Expressions (15-1) to (15-3g).
  • ⁇ 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>, LDPC having higher error correction capability -Increased possibility of creating CC.
  • 6g values of (a # 3g, 1,1 % 3g, a # 3g, 1, 2 % 3g) Of integers from 0 to 3g-1 (0, 1, 2, 3, 4, ..., 3g-2, 3g-1), multiples of 3 (that is, 0, 3, 6, ..., 3g) All values other than -3) exist (p 1, 2, 3,..., 3g). And, The order of P (D) in the equations (19-1) to (19-3g) satisfies the following condition. (B # 1,1 % 3g, b # 1,2 % 3g), (B # 2,1 % 3g, b # 2,2 % 3g), (B # 3, 1 % 3 g, b # 3, 2 % 3 g), ...
  • the parity check matrix if there is a regularity at a position where “1” exists, there is a high possibility that a good error correction capability can be obtained.
  • the parity check matrix is given randomness while having regularity at the position where “1” exists. Therefore, the possibility that a better error correction capability can be obtained increases.
  • ⁇ Condition # 6-1> instead of ⁇ Condition # 6-1>, ⁇ Condition # 6'-1> is used. In other words, ⁇ Condition # 6'-1> is added in addition to ⁇ Condition # 5-1> to create a code. Even so, the possibility that an LDPC-CC having higher error correction capability can be created increases.
  • 6g values of (a # 3g, 1,1 % 3g, a # 3g, 1, 2 % 3g) Of integers from 0 to 3g-1 (0, 1, 2, 3, 4, ..., 3g-2, 3g-1), multiples of 3 (that is, 0, 3, 6, ..., 3g) All values other than -3) exist (p 1, 2, 3,..., 3g).
  • the order of P (D) in the equations (19-1) to (19-3g) satisfies the following condition. (B # 1,1 % 3g, b # 1,2 % 3g), (B # 2,1 % 3g, b # 2,2 % 3g), (B # 3, 1 % 3 g, b # 3, 2 % 3 g), ...
  • G 1 is feed-forward polynomial
  • G 0 represents a feedback polynomial.
  • the parity check polynomial is expressed by the following equation (21).
  • D is a delay operator.
  • FIG. 18 describes information related to the (7, 5) convolutional code.
  • the parity check matrix H is used, and BP (Belief Propagation) (reliability propagation) decoding as shown in Non-Patent Document 4 to Non-Patent Document 9 and min-sum decoding approximating BP decoding.
  • BP Belief Propagation
  • Offset BP decoding Normalized BP decoding, shuffled BP decoding, and other decoding using reliability propagation can be performed.
  • time-invariant / time-varying LDPC-CC based on convolutional code (coding rate (n-1) / n) (n: natural number))
  • coding rate (n-1) / n) (n: natural number)
  • the code defined by the parity check matrix based on the parity check polynomial of Equation (24) is referred to herein as time invariant LDPC-CC.
  • equation (25) represents information X 1, X 2 at time j, ⁇ ⁇ ⁇ , a X n-1 X 1, j , X 2, j, ⁇ , and X n-1, j
  • the parity P at the time point j is represented as Pj
  • u j (X 1, j , X 2, j ,..., X n ⁇ 1, j , Pj) T.
  • the information X 1, j , X 2, j ,..., X n ⁇ 1, j and the parity P j at the time point j satisfy the parity check polynomial of Expression (26).
  • “j mod m” is a remainder obtained by dividing j by m.
  • a code defined by a parity check matrix based on the parity check polynomial of Equation (26) is referred to herein as time-varying LDPC-CC.
  • the time-invariant LDPC-CC defined by the parity check polynomial of Equation (24) and the time-varying LDPC-CC defined by the parity check polynomial of Equation (26) sequentially register and exclude the parity. It has the feature that it can be easily obtained with a logical OR.
  • FIG. 19 shows the configuration of a parity check matrix H of an LDPC-CC with a time-varying period 2 based on equations (24) to (26) at a coding rate of 2/3.
  • the check equations are named “check equation # 1” and “check equation # 2” for two check polynomials having different time-varying periods 2 based on the equation (26).
  • (Ha, 111) is a portion corresponding to “checking formula # 1”
  • (Hc, 111) is a portion corresponding to “checking formula # 2”.
  • (Ha, 111) and (Hc, 111) are defined as sub-matrices.
  • the LDPC-CC parity check matrix H of the proposed time-varying period 2 is divided into the first sub-matrix representing the parity check polynomial of “check equation # 1” and the parity check polynomial of “check equation # 2”. And a second sub-matrix that represents 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 a coding rate of 2/3, as shown in FIG. 19, in the i-th row and the i + 1-th row, the sub-matrix is shifted to the right by 3 columns.
  • the i-th row sub-matrix and the i + 1-th row sub-matrix are different sub-matrices. That is, one of the sub-matrices (Ha, 11) or (Hc, 11) is the first sub-matrix, and the other is the second sub-matrix.
  • the parity P mi + 1 at the time point mi + 1 is obtained using the “check equation # 1”
  • the parity P mi + 2 at the time point mi + 2 is obtained using the “check equation # 2”
  • the parity P mi + m at the time point mi + m is obtained.
  • Such an LDPC-CC code can easily configure an encoder and can obtain parity sequentially. Reduction of termination bits and improvement of reception quality at the time of puncturing at the termination. It has the advantage that it can be expected.
  • FIG. 20 shows the structure of the parity check matrix of LDPC-CC having the coding rate of 2/3 and the time varying period m described above.
  • (H 1 , 111) is a portion corresponding to “checking formula # 1”
  • (H 2 , 111) is a portion corresponding to “checking formula # 2”
  • (H m , 111) is a portion corresponding to “inspection formula #m”.
  • (H 1 , 111) is defined as the first sub-matrix
  • (H 2 , 111) is defined as the second sub-matrix
  • (H m , 111) is defined as the m-th sub-matrix.
  • the LDPC-CC parity check matrix H of the proposed time-varying period m is 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 the m-th sub-matrix representing the parity check polynomial of “check equation #m”.
  • the first sub-matrix to the m-th sub-matrix are periodically arranged in the row direction (see FIG. 20).
  • the sub-matrix is shifted to the right by 3 columns in the i-th row and the i + 1-th row (see FIG. 20).
  • the case of the coding rate 2/3 has been described as an example of the time-invariant / time-varying LDPC-CC based on the convolutional code of the coding rate (n ⁇ 1) / n.
  • a parity check matrix of time-invariant / time-variant LDPC-CC based on a convolutional code with a coding rate (n ⁇ 1) / n can be created.
  • (H 1 , 111) is a portion (first sub-matrix) corresponding to “check equation # 1”, and (H 2 , 111) is “check”.
  • a part (second sub-matrix) corresponding to “Expression # 2”,..., (H m , 111) is a part (m-th sub-matrix) corresponding to “check expression #m”,
  • the number of “1” s excluding H k is n.
  • the sub-matrix is shifted to the right by n columns in the i-th row and the i + 1-th row (see FIG. 21).
  • 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, ⁇ )
  • Hu 0 is established.
  • the LDPC-CC encoding unit 500 mainly includes a data operation unit 510, a parity operation unit 520, a weight control unit 530, and a mod2 adder 540.
  • the data operation unit 510 includes shift registers 511-1 to 511-M and weight multipliers 512-0 to 512-M.
  • the parity calculation unit 520 includes shift registers 521-1 to 521-M and weight multipliers 522-0 to 522-M.
  • Weight multipliers 512-0 to 512-M and 522-0 to 522-M set the values of h 1 (m) and h 2 (m) to 0/1 according to the control signal output from weight control section 530. Switch to.
  • Weight control section 530 outputs the values of h 1 (m) and h 2 (m) at the timing based on the parity check matrix held therein, and weight multipliers 512-0 to 512-M, 522 Supply to 0-522-M.
  • the mod2 adder 540 performs mod2 addition on the outputs of the weight multipliers 512-0 to 512-M and 522-0 to 522-M to calculate v2 , t .
  • the LDPC-CC encoding unit (LDPC-CC encoder) 500 can perform LDPC-CC encoding according to a parity check matrix.
  • the LDPC-CC encoding unit 500 is a time-varying convolutional encoder.
  • (q-1) data operation units 510 are provided, and a mod2 adder 540 adds mod2 addition to the output of each weight multiplier. What is necessary is just to be the structure to perform.
  • Shortening means generating a code with a second coding rate (first coding rate> second coding rate) from a code with a first coding rate.
  • a shortening method for generating an LDPC-CC with a coding rate of 1/3 from an LDPC-CC with a coding rate of 1/2 will be described as an example.
  • FIG. 23 is an example of an LDPC-CC check equation and a parity check matrix H with a coding rate of 1/2.
  • An LDPC-CC with a coding rate of 1 ⁇ 2 shown in FIG. 23 is an example of an LDPC-CC with a time-varying period of 3 having good characteristics described in Embodiment 1, and a parity check matrix H is expressed by Equation (27- 1) to Expression (27-3).
  • the expressions (27-1) to (27-3) are expressed as follows: “In the expressions (27-1) to (27-3), combinations of the orders of X (D) and P (D) (a1, a2, a3 ), (B1, b2, b3), (A1, A2, A3), (B1, B2, B3), ( ⁇ 1, ⁇ 2, ⁇ 3), ( ⁇ 1, ⁇ 2, ⁇ 3) remainders obtained by dividing by 3 , K is set so that the three coefficient sets expressed as described above (for example, (a1, a2, a3)) include the remainders 0, 1, 2 one by one, and the above three The condition (remainder rule) relating to the “remainder” that “all the coefficient sets are satisfied” is satisfied.
  • the codeword w is (..., X 3k , P 3k , X 3k + 1 , P 3k + 1 , X 3k + 2 , P 3k + 2 , X 3 (k + 1) , P 3 (k + 1) , X 3 (k + 1) +1 , P 3 (k + 1) +1,.
  • known information for example, zero
  • known information is inserted into 3 k bits of information 6 k bits, and 6 k bit information including known information is encoded using LDPC-CC with a coding rate of 1/2.
  • 6 kbit parity is generated.
  • 3 k bits of known information out of 6 k bits of information is not transmitted. Thereby, a coding rate of 1/3 can be realized.
  • the known information is not limited to zero, and may be 1, or may be a value other than 1 that is determined in advance, and may be determined in advance or determined as a specification to the communication apparatus of the communication partner.
  • known information is inserted into 3 k bits of information 6 k bits, and LDPC-CC with a coding rate of 1/2 is used for 6 k bits of information including known information.
  • 6k-bit parity is generated.
  • a coding rate of 1/3 can be realized.
  • FIG. 26A shows a correspondence relationship between a part of the parity check matrix H and the codeword w (X0, P0, X1, P1, X2, P2,..., X9, P9).
  • element “1” is arranged in the columns corresponding to X2 and X4.
  • the element “1” is arranged in the columns corresponding to X2 and X9. Therefore, when known information is inserted into X2, X4, and X9, in the rows 701 and 702, all the information corresponding to the column whose element is “1” is known. Therefore, in row 701 and row 702, 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.
  • the coding rate of 1 is high. / 3, LDPC-CC with a time-varying period of 3 can be realized.
  • 3k pieces of Xj (where j takes any value from 6i to 6 (i + k-1) +5 and 3k different values exist) have known information (for example, zero (may be 1). Or a predetermined value))) is inserted.
  • the number with the remainder of 2 is set to k.
  • the expressions (3-1) to (3-3) are expressed as follows: “In the expressions (3-1) to (3-3), combinations of the orders of X (D) and P (D) (a1, a2, a3 ), (B1, b2, b3), (A1, A2, A3), (B1, B2, B3), ( ⁇ 1, ⁇ 2, ⁇ 3), ( ⁇ 1, ⁇ 2, ⁇ 3) remainders obtained by dividing by 3 , K is set so that the three coefficient sets expressed as described above (for example, (a1, a2, a3)) include the remainders 0, 1, 2 one by one, and the above three It is assumed that the condition (remainder rule) relating to the “remainder” “to be satisfied with all coefficient sets” is satisfied.
  • FIG. 26B shows a correspondence relationship between LDPC-CC parity check matrixes with a coding rate of 1/2 and a time-varying period of 3 that satisfy the above remainder rule, and the time points.
  • check equation # 1 is a parity check polynomial (27-1)
  • check equation # 2 is a parity check polynomial (27-2)
  • check equation # 3 is a parity check polynomial (27). -3).
  • the element corresponding to the information of the time point j, the time point (j-1), and the time point (j-2) is “1”. Therefore, when the element “1” exists in the equation (27-1), that is, when the values of (j, (j ⁇ 1), (j ⁇ 2)) are divided by 3, the value of j is Regardless, 0, 1, and 2 exist. As described above, the values 0, 1 and 2 exist when the values of (j, (j ⁇ 1), (j ⁇ 2)) are divided by 3 regardless of the value of j. This is because 1) satisfies the above remainder rule.
  • the log likelihood ratio can be updated with higher reliability in the row calculation of BP decoding. Therefore, when realizing a coding rate of 1/3 by inserting known information into 3 k bits of information 6 k bits in a 3 ⁇ 2 ⁇ 2 k bit period composed of information and parity, information at time j Is represented by Xj, the number of remainders obtained by dividing j by 3 is 0, the number of remainders is 1, and the number of remainders is 2 are the same. 1), (27-2) and (27-3) are considered, all the information corresponding to the column where the element is “1” becomes known information, or the column where the element is “1”. It is possible to increase the number of lines in which the corresponding information becomes known information.
  • the insertion rule of [Method # 1-3] focusing on the number of remainders is high error correction from LDPC-CC with coding rate 1/2 and time varying period 3 created based on the remainder rule. This is important in creating an LDPC-CC having a coding rate of 1/3 and a time-varying period of 3 with capability.
  • P 6i + 3 , X 6i + 4 , P 6i + 4 , X 6i + 5 , P 6i + 5 known information (for example, zero (1 or a predetermined value)) may be inserted into X 6i , X 6i + 2 , X 6i + 4 think about.
  • the outline of LDPC-CC with a time-varying period of 3 at a coding rate (n-1) / n that provides good characteristics is as follows.
  • the above formulas (4-1) to (4-3) can be considered.
  • X 1 (D), X 2 (D), ⁇ , X n-1 (D) is data (information) X 1, X 2, ⁇
  • P (D) is a polynomial expression of parity.
  • B1, b2, and b3 are integers (where b1 ⁇ b2 ⁇ b3).
  • the parity check polynomial of equation (4-1) is called “check equation # 1”.
  • a sub-matrix based on the parity check polynomial of Equation (4-1) is a first sub-matrix H 1 .
  • B1, B2, and B3 are integers (B1 ⁇ B2 ⁇ B3).
  • the parity check polynomial of equation (4-2) is called “check equation # 2.”
  • Sub-matrix based on a parity check polynomial of equation (4-2) is a second sub-matrix H 2.
  • the parity check polynomial in equation (4-3) is referred to as “check equation # 3”.
  • a sub-matrix based on the parity check polynomial of Equation (4-3) is a third sub-matrix H 3 .
  • the LDPC-CC is considered as an LDPC-CC having a time-varying period 3 generated from the first sub-matrix H 1 , the second sub-matrix H 2 , and the third sub-matrix H 3 .
  • Shortening which realizes a coding rate having a high error correction capability and a coding rate smaller than (n-1) / n by using the LDPC-CC having the coding rate (n-1) / n of time varying period 3 described above.
  • the method is as follows.
  • the shortening method uses X 0, j with known information inserted (where j takes any value from 3i to 3 (i + k ⁇ 1) +2), and divides by 3 for all j. Find the remainder when you do. Then, the difference between the number where the remainder is 0 and the number where the remainder is 1 is 1 or less, the difference between the number where the remainder is 0 and the number where the remainder is 2 is 1 or less, and the number where the remainder is 1 and the remainder. The difference from the number at which becomes 2 is 1 or less.
  • the “unknown value is a row of parity and a small number of information bits”. Since a large number can be generated, a coding rate with a high error correction capability using an LDPC-CC with a time-varying period of 3 with a coding rate (n-1) / n with good characteristics described above ( A coding rate smaller than n-1) / n can be realized.
  • [Method # 2-3] describes the case where the number of known information to be inserted is the same in each cycle, but the number of known information to be inserted may be different in each cycle. For example, as shown in FIG. 28, N 0 information is known information in the first period, N 1 information is known information in the next period, and Ni information is known information in the i-th period. You may make it. Thus, when the number of known information to be inserted is different in each cycle, the concept of cycle does not make sense. The shortening method becomes [Method # 2-4] when [Method # 2-3] is expressed without using the concept of the period.
  • the shortening method obtains the remainder when dividing by 3 for all j in X 0, j (where j takes any value from 0 to v) with known information inserted. . Then, the difference between the number where the remainder is 0 and the number where the remainder is 1 is 1 or less, the difference between the number where the remainder is 0 and the number where the remainder is 2 is 1 or less, and the number where the remainder is 1 and the remainder. The difference from the number at which becomes 2 is 1 or less.
  • the shortening method obtains the remainder when all j are divided by 3 in X 1, j with known information inserted (where j takes any value from 0 to v). . Then, the difference between the number where the remainder is 0 and the number where the remainder is 1 is 1 or less, the difference between the number where the remainder is 0 and the number where the remainder is 2 is 1 or less, and the number where the remainder is 1 and the remainder. The difference from the number at which becomes 2 is 1 or less.
  • the description of the shortening method is the description of the shortening method in which the coding rate is variable in the physical layer.
  • the communication device inserts information known to the communication partner, encodes the information including the known information at a coding rate of 1/2, and generates a parity bit.
  • a communication apparatus implement
  • the LDPC-CC having the time varying period 3 has been described as an example.
  • an error correction method having high error correction capability can be realized.
  • FIG. 29A is a block diagram illustrating an example of a configuration of a portion related to encoding when the encoding rate is variable in the physical layer.
  • the known information insertion unit 131 receives the information 801 and the control signal 802, and inserts known information according to the coding rate information included in the control signal 802. Specifically, when the coding rate included in the control signal 802 is smaller than the coding rate supported by the encoder 132 and shortening is required, known information is inserted according to the shortening method described above. The information 804 after the known information is inserted is output. Note that when the coding rate included in the control signal 802 is equal to the coding rate supported by the encoder 132 and shortening is not necessary, the known information is not inserted and the information 801 is directly used as the information 804. Output.
  • the encoder 132 receives the information 804 and the control signal 802, encodes the information 804, generates a parity 806, and outputs the parity 806.
  • the known information reduction unit 133 receives the information 804 and the control signal 802, and when the known information insertion unit 131 inserts the known information based on the coding rate information included in the control signal 802, the information 804 , The known information is deleted, and the deleted information 808 is output. On the other hand, when no known information is inserted in the known information inserting unit 131, the information 804 is output as it is as the information 808.
  • the modulation unit 141 receives the parity 806, the information 808, and the control signal 802, modulates the parity 806 and the information 808 based on the modulation scheme information included in the control signal 802, and generates a baseband signal 810 for output. To do.
  • FIG. 29B is a block diagram showing another example of a configuration related to encoding in the case where the encoding rate is variable in the physical layer, which is different from FIG. 29A.
  • the information 801 input to the known information insertion unit 131 is input to the modulation unit 141, so that the known information reduction unit 133 of FIG.
  • the coding rate can be made variable.
  • FIG. 30 is a block diagram showing an example of the configuration of the error correction decoding unit 220 in the physical layer.
  • the log likelihood ratio insertion unit 221 of the known information receives the log likelihood ratio signal 901 and the control signal 902 of the received data, and based on the coding rate information included in the control signal 902, the log likelihood of the known information When it is necessary to insert a ratio, a log likelihood ratio of known information having high reliability is inserted into a log likelihood ratio signal 901, and a log likelihood ratio signal 904 after the log likelihood ratio of the known information is inserted. Is output.
  • the coding rate information included in the control signal 902 is transmitted from, for example, a communication partner.
  • the decoder 222 receives the control signal 902 and the log likelihood ratio signal 904 after insertion of the log likelihood ratio of the known information, and performs decoding based on the encoding method information such as the encoding rate included in the control signal 902.
  • the performance data 906 is decrypted, and the decrypted data 906 is output.
  • the known information reduction unit 223 receives the control signal 902 and the decoded data 906 as input, and if the known information is inserted based on the coding method information such as the coding rate included in the control signal 902, the known information reduction unit 223 is known. Information is deleted, and information 908 after deletion of known information is output.
  • the shortening method in the physical layer has been described as the shortening method for realizing a coding rate smaller than the coding rate of the code from the LDPC-CC having the time varying period 3 described in the second embodiment.
  • the shortening method according to this embodiment it is possible to achieve both improvement in transmission efficiency and improvement in erasure correction capability, and even when the coding rate in the physical layer is changed, good erasure correction capability is achieved. Obtainable.
  • a termination sequence may be added to the end of a transmission information sequence and termination processing (termination) may be performed. , Consisting only of parity sequences. Therefore, in the termination sequence, a portion that does not follow the rules for inserting known information (insertion rules) described in the present invention occurs. In addition to the termination, in order to improve the transmission speed, there may be both a portion that complies with the insertion rule and a portion that does not insert known information.
  • Embodiment 4 a method for changing the coding rate when LDPC-CC having a time varying period of 3 described in Embodiment 2 is used as an erasure correction code will be described.
  • LDPC-CC with a coding rate (n-1) / n with a time-varying period of 3 that provides good characteristics is as follows.
  • Equations (4-1) to (4-3) can be considered as parity check polynomials for LDPC-CC with a time-varying period of 3.
  • X 1 (D), X 2 (D), ⁇ , X n-1 (D) is data (information) X 1, X 2, ⁇
  • P (D) is a polynomial expression of parity.
  • three terms for each of X 1 (D), X 2 (D),..., X n-1 (D), P (D) Is a parity check polynomial such that exists.
  • B1, b2, and b3 are integers (where b1 ⁇ b2 ⁇ b3).
  • the parity check polynomial in equation (4-1) is referred to as “check equation # 1”.
  • a sub-matrix based on the parity check polynomial of Equation (4-1) is a first sub-matrix H 1 .
  • B1, B2, and B3 are integers (B1 ⁇ B2 ⁇ B3).
  • the parity check polynomial of equation (4-2) is called “check equation # 2.”
  • Sub-matrix based on a parity check polynomial of equation (4-2) is a second sub-matrix H 2.
  • the parity check polynomial in equation (4-3) is referred to as “check equation # 3”.
  • a sub-matrix based on the parity check polynomial of Equation (4-3) is a third sub-matrix H 3 .
  • an LDPC-CC having a time varying period of 3 generated from the first sub-matrix H 1 , the second sub-matrix H 2 , and the third sub-matrix H 3 will be considered.
  • a coding rate with a high error correction capability and a coding rate smaller than (n-1) / n is realized.
  • the erasure correction method to be performed is as follows.
  • Is inserted in X0, X2, and X4 in known information for example, zero (may be 1 or a predetermined value)
  • known information for example, zero (may be 1 or a predetermined value)
  • X6, X8 Insert known information (for example, zero (may be 1 or a predetermined value)) included in the known information packet into X10,..., In X6i, X6i + 2, and X6i + 4 in the i-th cycle
  • the position where the known information included in the known information packet is inserted in each period is the same, such as inserting known information included in the known information packet.
  • the erasure correction method uses j in X 0, j (where j takes any value from 3i to 3 (i + k ⁇ 1) +2) into which the known information included in the known information packet is inserted. Find the remainder when dividing by 3 for all. Then, the difference between the number where the remainder is 0 and the number where the remainder is 1 is 1 or less, the difference between the number where the remainder is 0 and the number where the remainder is 2 is 1 or less, and the number where the remainder is 1 and the remainder. The difference from the number at which becomes 2 is 1 or less.
  • X 1, j into which data of a known information packet is inserted (where j takes any value from 3i to 3 (i + k ⁇ 1) +2) is applied to all j.
  • j takes any value from 3i to 3 (i + k ⁇ 1) +2)
  • X 1, j into which data of a known information packet is inserted (where j takes any value from 3i to 3 (i + k ⁇ 1) +2) is applied to all j.
  • j takes any value from 3i to 3 (i + k ⁇ 1) +2) is applied to all j.
  • the remainder when dividing by 3. Then, the difference between the number where the remainder is 0 and the number where the remainder is 1 is 1 or less, the difference between the number where the remainder is 0 and the number where the remainder is 2 is 1 or less, and the number where the remainder is 1 and the remainder. The difference from the number at which becomes 2 is 1 or less.
  • the parity check matrix H By providing a condition at the position where known information is inserted, in the parity check matrix H, it becomes possible to generate more “rows of unknown values with parity and fewer information bits”.
  • the coding rate of the erasure correction code is high and the erasure correction code has a low circuit scale. Can be realized.
  • the erasure correction method in the upper layer has been described as the erasure correction method in which the coding rate of the erasure correction code is variable.
  • the coding rate of the erasure correction code can be changed by inserting the known information packet in the previous stage of the erasure correction coding related processing unit 120.
  • the transmission rate can be improved by increasing the coding rate when the communication status is good.
  • the erasure correction capability is improved by inserting known information included in the known information packet according to the parity check matrix as in [Method # 3-2]. be able to.
  • [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.
  • N 0 information is used as data of a known information packet in the first cycle
  • N 1 information is used as data of a known information packet in the next cycle
  • Ni is used in the i th cycle.
  • Such information may be used as data of a known information packet.
  • the erasure correction method is expressed as [Method # 3-3] when [Method # 3-2] is expressed without using the concept of period.
  • the erasure correction method is that when all the j are divided by 3 in X 0, j (where j takes any value from 0 to v) into which the data of the known information packet is inserted. Find the remainder. Then, the difference between the number where the remainder is 0 and the number where the remainder is 1 is 1 or less, the difference between the number where the remainder is 0 and the number where the remainder is 2 is 1 or less, and the number where the remainder is 1 and the remainder. The difference from the number at which becomes 2 is 1 or less.
  • the 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 having the time varying period 3 described in the second embodiment is variable.
  • 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 even when the coding rate is changed during erasure correction, good erasure is achieved. Correction ability can be obtained.
  • the LDPC-CC having the time varying period 3 has been described as an example.
  • the coding rate can be made variable with high error correction capability.
  • the present invention is not limited to all the above embodiments, and can be implemented with various modifications.
  • the description has been mainly given of the case where it is realized by an encoder and a transmission device.
  • the present invention is not limited to this, and can also be applied when realized by a power line communication device. .
  • this encoding method and transmission method can be performed as software.
  • a program for executing the above encoding method and communication method may be stored in advance in a ROM (Read Only Memory) and the program may be operated by a CPU (Central Processor Unit).
  • ROM Read Only Memory
  • CPU Central Processor Unit
  • a program for executing the encoding method and the transmission method is stored in a computer-readable storage medium, the program stored in the storage medium is recorded in a RAM (Random Access Memory) of the computer, and the computer is stored in the program. You may make it operate
  • RAM Random Access Memory
  • the present invention is useful not only in wireless communication but also in power line communication (PLC), visible light communication, and optical communication.
  • PLC power line communication
  • Emodiment 5 the LDPC-CC having a high error correction capability has been described.
  • a supplementary description will be given of an LDPC-CC with a time-varying period 3 having a high error correction capability.
  • an LDPC-CC with a time-varying period of 3 when a regular LDPC code is generated, a code with high error correction capability can be created.
  • # Xk4: (ak, 1% 3, ak, 2% 3) [0,1]
  • the LDPC-CC with good characteristics described in the second embodiment is an LDPC-CC that satisfies the conditions of # Xk12 and # P12 among the above conditions.
  • An example of an LDPC-CC parity check polynomial of time-varying period 3 satisfying # Xk12 among # Xk1 to # Xk14 and satisfying the condition of # P12 among # P1 to # P14 is as follows: Show.
  • parity check polynomial of the LDPC-CC is characterized in that the encoder circuit can be shared and the decoder can be shared.
  • an LDPC-CC with a time-varying period of 3 having good error correction capability can be created. Details thereof will be described in Embodiment 6.
  • termination or tail-biting is required in order to ensure reliability in decoding of information bits. Therefore, in the case of performing termination (referred to as “Information-zero-termination” or simply “Zero-termination”) and the tail biting method will be described in detail below. All the embodiments of the present invention can be carried out regardless of whether termination is performed or tail biting is performed.
  • FIG. 33 is a diagram for explaining “Information-zero-termination” in LDPC-CC with a coding rate (n ⁇ 1) / n.
  • Point i (i 0,1,2,3, ⁇ , s) information bits X 1, X 2 in, ..., a X n-1 and the parity bit P, 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 information to be transmitted.
  • the encoder performs encoding only up to time point s, and the encoding-side transmitting apparatus transmits only to Ps to the decoding-side receiving apparatus, the reception quality of information bits is large in the decoder. to degrade.
  • encoding is performed assuming that information bits after the last information bits X n ⁇ 1, s (referred to as “virtual information bits”) are “0”, and parity bits (3303) Is generated.
  • the decoder performs decoding using the fact that the virtual information bit is known to be “0” after the time s.
  • H is a parity check matrix
  • H T is the syndrome former.
  • Non-Patent Document 10 As for convolutional codes, many studies have been made so far on Viterbi decoding and sequential decoding of codes based on the minimum free distance (see Non-Patent Document 10 to Non-Patent Document 13). In particular, when focusing on time-varying convolutional codes (see Non-Patent Document 14 and Non-Patent Document 15), among periodic time-varying convolutional codes, there are codes that are superior in terms of minimum free distance than time-invariant convolutional codes. (See Non-Patent Document 15).
  • LDPC Low-Density Parity-Check
  • BP Belief Propagation
  • Random LDPC codes see Non-Patent Document 2
  • Array LDPC codes configured algebraically Non-Patent Document 18
  • QC Quasi-Cyclic
  • Non-Patent Document 3 proposes the concept of LDPC convolutional codes (LDPC-CC: LDPC Convolutional Codes).
  • LDPC-CC can configure an encoder by using a simple shift register, and a parity check matrix is defined based on a sub-matrix, and BP decoding is performed using the parity check matrix. Similar to the convolutional code, the time-varying concept is also introduced in LDPC-CC (see Non-Patent Document 3).
  • Many documents so far have disclosed methods for creating convolutional codes and LDPC-CC from block codes see Non-Patent Document 22 to Non-Patent Document 25).
  • Non-Patent Document 26 and Non-Patent Document 27 do not discuss the design method of LDPC-CC (TV3-LDPC-CC) with a time varying period of 3.
  • Non-Patent Document 26 and Non-Patent Document 27 the number of short cycle lengths (CL: cycleCLof length) in the Tanner graph is evaluated, and it is confirmed that the number of CL4 (CL of 4) is small. Therefore, here, for the purpose of reducing the number of CL6 (CL of 6), one condition for generating CL6 in the TV3-LDPC-CC will be described below. A method for generating a TV3-LDPC-CC that becomes a regular LDPC code without satisfying this generation condition will be described.
  • LDPC-CC is a code defined by a low-density parity check matrix, similar to LDPC-BC, and can be defined by an infinite-length time-varying parity check matrix. Think of it in a matrix. A parity check matrix and H, the LDPC-CC is described with reference to the syndrome former H T.
  • LDPC-CC defined by Equation (39) is a time-varying convolutional code, and this code is called time-varying LDPC-CC (see Non-Patent Document 3).
  • Decoding is generally performed by BP decoding using a parity check matrix H. Assuming the encoded sequence vector u, the following relational expression is established.
  • the code defined by the parity check matrix based on the parity check polynomial of Equation (42) is time-invariant LDPC-CC.
  • parity check polynomials based on the equation (42) are prepared (m is an integer of 2 or more).
  • the parity check polynomial is expressed as follows.
  • the parity P j at the time point j can be obtained from the equation (44).
  • the code defined by the parity check matrix generated based on the parity check polynomial of Equation (44) is the time-varying LDPC-CC.
  • the time-invariant LDPC-CC defined by the parity check polynomial of Equation (42) and the time-varying LDPC-CC defined by the parity check polynomial of Equation (44) are terms of D 0 in P (D).
  • b j is an integer of 1 or more, and therefore, the parity can be easily obtained sequentially with a register and exclusive OR.
  • y, z 1,2, ⁇ , r p, y ⁇ z), and, b y ⁇ b z satisfy ( ⁇ (y, z )
  • Y, z 1, 2,..., ⁇ , y ⁇ z).
  • M different parity check polynomials based on Expression (45) are prepared (m is an integer of 2 or more). The parity check polynomial is expressed as follows.
  • the codes based on the equations (45) and (47) are the time-invariant LDPC-CC and the time-variant LDPC-CC at the coding rate (n ⁇ 1) / n.
  • Non-Patent Document 27 shows that when the constraint lengths are approximately equal, TV3-LDPC-CC can obtain better error correction capability than LDPC-CC with time-varying period 2. Therefore, paying attention to TV3-LDPC-CC, a method for designing Regular TV3-LDPC-CC will be described in detail.
  • y, z 1,2,..., R p , y ⁇ z), and b # q , y ⁇ b # q, z is satisfied ( ⁇ (y, z)
  • y, z 1, 2,..., ⁇ , y ⁇ z).
  • Theorem 1 In the parity check polynomial satisfying 0 of TV3-LDPC-CC, the following two conditions are given.
  • Vector At this time, the relationship shown in FIG. 35 is established because ⁇ 1> of property 1 is established. Therefore, regardless of the ⁇ and ⁇ values, only the sub-matrix generated by extracting only the portion related to X 1 (D) of the parity check matrix of Equation (49), and as shown by ⁇ as shown in FIG. CL6 formed by 1 ′′ is always generated.
  • Code Index # 3 and # 5 are the values of X 1 (D),..., X n-1 (D), P (D) of Equation (46).
  • Code Index # 4 and # 6 are C # 12 of Table 1 in X 1 (D),..., X n ⁇ 1 (D), P (D) of Expression (46).
  • An example of TV3-LDPC-CC with a coding rate R 1/2, 5/6 searched when a constraint condition is given to satisfy the above is shown.
  • Table 4 shows the results of evaluating the numbers of CL4 and CL6 for each parity check polynomial satisfying 0 of TV3-LDPC-CC in Tables 2 and 3. Any TV3-LDPC-CC from Code Index # 1 to Code Index # 6 does not satisfy Theorem 1, so the number of CL6 is small, and there is not much difference in the number of CL6 when compared at the same coding rate. . In addition, CL4 does not exist in TV3-LDPC-CC of Code Index # 1 to Code Index # 6.
  • Table 4 the conditions in Table 1 are important in reducing the number of short cycles and creating regular LDPC codes.
  • Tables 2 and 3 TV3-LDPC-CC was created and the error correction capability was evaluated. In the following, based on the results, conditions for obtaining high error correction capability and conditions for not obtaining high error correction capability will be described.
  • the number of terms of X 1 (D) is not set to 4 or more, and any (2 or less) 0 of parity check polynomials satisfying 3 0s.
  • the number of terms of X 1 (D) may be four or more.
  • X 2 (D),..., X n-1 (D) the same applies to X 2 (D),..., X n-1 (D).
  • Table 1 It will not satisfy the conditions.
  • X 1 , X 2 ,..., X n ⁇ 1 information bits and parity bit P at time j are X 1, j , X 2, j ,. represented as P j.
  • the delay operator D information bits X 1, X 2, ⁇ , the polynomial X n-1 X 1 (D ), X 2 (D), ⁇ , X n-1 (D)
  • the polynomial of the parity bit P is expressed as P (D).
  • a parity check polynomial satisfying 0 represented by Equation (51) is considered.
  • is a universal quantifier.
  • Equation (52) a parity check polynomial based on Equation (51) is prepared.
  • the maximum value of ⁇ X ⁇ , i and ⁇ P, i is ⁇ i .
  • the parity check polynomial satisfying 0 of the equation (52) is D 0 X 1 (D), D 0 X 2 (D),..., D 0 X n ⁇ 1 (D) and D 0 P ( Since D) is satisfied, the expression (55) is satisfied.
  • the present invention is useful as an encoding method, an encoder, a decoder, and the like that perform erasure correction using a low density parity check code (LDPC Codes: Low Density Parity Check Codes).
  • LDPC Codes Low Density Parity Check Codes

Landscapes

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

Abstract

 符号化器及び復号化器の回路規模の低減を図りつつ、消失訂正符号の符号化率を変更する符号化方法を開示する。符号化率1/2のLDPC-CCを用いた符号化出力である情報及びパリティから構成される12k(kは自然数)ビットを1周期とし、1周期から情報のみを符号化出力の出力順に並べた情報X6i、X6i+1、X6i+2、X6i+3、X6i+4、X6i+5、・・・、X6(i+k-1)、X6(i+k-1)+1、X6(i+k-1)+2、X6(i+k-1)+3、X6(i+k-1)+4、X6(i+k-1)+5の6kビットのうち、3k個の情報Xjに、既知情報を挿入する場合に、異なる3k個のjを3で除算した余りのうち、余りが0となる個数がk個となり、余りが1となる個数がk個となり、余りが2となる個数がk個となるように、情報Xjに既知情報を挿入し、既知情報を含む情報から前記パリティを求める。 【数1】 (Da1+Da2+Da3)X(D)+(Db1+Db2+Db3)P(D)=0 ・・・ (1-1) (DA1+DA2+DA3)X(D)+(DB1+DB2+DB3)P(D)=0 ・・・ (1-2) (Dα1+Dα2+Dα3)X(D)+(Dβ1+Dβ2+Dβ3)P(D)=0 ・・・ (1-3)  ここで、X(D)は情報Xの多項式表現であり、P(D)はパリティの多項式表現である。また、a1、a2、a3は整数(ただし、a1≠a2≠a3)であり、b1、b2、b3は整数(ただし、b1≠b2≠b3)である。また、A1、A2、A3は整数(ただし、A1≠A2≠A3)であり、B1、B2、B3は整数(ただし、B1≠B2≠B3)である。また、α1、α2、α3は整数(ただし、α1≠α2≠α3)であり、β1、β2、β3は整数(ただし、β1≠β2≠β3)である。また、「c%d」は「cをdで除算した余り」を示す。

Description

符号化方法、符号化器及び復号器
 本発明は、例えば、低密度パリティ検査符号(LDPC Codes:Low Density Parity Check Codes)を用いて消失訂正符号化を行う符号化方法、符号化器及び復号器に関する。
 動画像ストリーミング等のアプリケーションでは、アプリケーションレベルで許容困難なほどの多数のパケットが消失した場合に、品質を確保するため、誤り訂正符号が用いられている。例えば、特許文献1には、複数の情報パケットに対してリード・ソロモン符号を用いて冗長パケットを作成し、当該冗長パケットを情報パケットに付加して送信する方法が開示されている。このようにすることにより、パケットが消失した場合でも、リード・ソロモン符号の誤り訂正能力の範囲内であれば、消失パケットを復号することができる。
 しかし、リード・ソロモン符号の訂正能力を超える数のパケットが消失した場合、無線通信路におけるフェージング等により、パケットが比較的長期間にわたって連続して消失し、バースト消失が発生した場合に、効果的に消失訂正が行われない場合がある。リード・ソロモン符号を用いる場合には、リード・ソロモン符号のブロック長を増やすことにより、訂正能力を向上させることができるものの、符号化・復号化処理の演算量及び回路規模が増大してしまうという課題がある。
 このような課題に対して、パケット消失に対する誤り訂正符号として、低密度パリティ検査(LDPC:Low-Density Parity-Check)符号に注目が集まっている。LDPC符号は、非常に疎な検査行列で定義される符号であり、符号長が数千~数万オーダーの場合にも、実用的な時間・演算コストで符号化・復号化処理を行うことができる。
 図1は、LDPC符号による消失訂正符号化を利用した通信システムの概念図を示す(非特許文献1参照)。図1において、符号化側の通信装置では、送信する情報パケット1~4に対してLDPC符号化を行い、パリティパケットa,bを生成する。上位層処理部は、情報パケットにパリティパケットを付加した符号化パケットを下位層(図1の例では物理層(PHY:Physical Layer))に出力し、下位層の物理層処理部は、符号化パケットを通信路で送信可能な形に変換して通信路に出力する。図1は、通信路が無線通信路の場合の例である。
 復号化側の通信装置では、下位層の物理層処理部で受信処理を行う。このとき、下位層でビットエラーが発生したと仮定する。このビットエラーにより、上位層で、該当するビットを含んだパケットが正しく復号されず、パケット消失が発生する場合がある。図1の例では、情報パケット3が消失した場合を示している。上位層処理部は、受信したパケット列に対してLDPC復号処理を施すことにより、消失した情報パケット3を復号する。LDPC復号としては、信頼度伝播(BP:Belief Propagation)を利用して復号するSum-product復号、または、ガウスの消去法等が用いられる。
 図2は、上記通信システムの全体構成図である。図2において、通信システムは、符号化側の通信装置10、通信路20及び復号側の通信装置30を含む。符号化側の通信装置10は、パケット生成部11、消失訂正符号化関連処理部12、誤り訂正符号化部13及び送信装置14を含み、復号側の通信装置30は、受信装置31、誤り訂正復号部32、消失訂正復号関連処理部33及びパケットデコード部34を含む。通信路20は、符号化側の通信装置10の送信装置14から送信された信号が、復号側の通信装置30の受信装置31で受信されるまでに通る経路を示す。通信路20として、イーサネット(登録商標)、電力線、メタルケーブル、光ファイバ、無線、光(可視光、赤外線など)、または、これらを組み合わせたものを使用することができる。また、誤り訂正符号化部13では、通信路20により発生する誤りを訂正するために、消失訂正符号とは別に、物理層における誤り訂正符号が導入される。したがって、誤り訂正復号部32では、物理層での誤り訂正符号の復号が行われる。
 消失訂正符号化関連処理部12における消失訂正符号化方法は、図3を用いて説明する。
 パケット生成部11は、情報41を入力とし、情報パケット43を生成し、情報パケット43を並び替え部15に出力する。以下では、一例として、情報パケット43が、情報パケット#1~#nから構成される場合について説明する。
 並び替え部15は、情報パケット43(ここでは、情報パケット#1~#n)を入力とし、情報の順番を並び替えて、並び替え後の情報45を出力する。
 消失訂正符号化器(パリティパケット生成部)16は、並び替え後の情報45を入力とし、情報45に対し、例えば、LDPC-BC(low-density parity-check block code、例えば、非特許文献2参照)、または、LDPC-CC(low-density parity-check convolutional code、例えば、非特許文献3参照)の符号化を行い、パリティを生成する。消失訂正符号化器(パリティパケット生成部)16は、生成したパリティ部分のみを抽出し、抽出したパリティ部分からパリティパケット47を生成し出力する。このとき、情報パケット#1~#nに対し、パリティパケット#1~#mが生成される場合、パリティパケット47はパリティパケット#1~#mとなる。
 誤り検出符号付加部17は、情報パケット43(情報パケット#1~#n)、及び、パリティパケット47(パリティパケット#1~#m)を入力とし、情報パケット43(情報パケット#1~#n)、及び、パリティパケット47(パリティパケット#1~#m)に対し誤り検出符号、例えば、CRC(Cyclic Redundancy Check)を付加し、CRC付加後の情報パケット及びパリティパケット49を出力する。したがって、CRC付加後の情報パケット及びパリティパケット49は、CRC付加後の情報パケット#1~#n、及び、CRC付加後のパリティパケット#1~#mから構成される。
 消失訂正復号関連処理部33における消失訂正復号方法は、図4を用いて説明する。
 誤り検出部35は、物理層における誤り訂正符号の復号後のパケット51を入力とし、例えば、CRCにより、誤りの検出を行う。このとき、物理層における誤り訂正符号の復号後のパケット51は、復号後の情報パケット#1~#n及び復号後のパリティパケット#1~#mから構成される。誤り検出の結果、例えば、図4に示すように、復号後の情報パケット及び復号後のパリティパケットに損失パケットが存在する場合、誤り検出部35は、パケット損失が発生しなかった情報パケット及びパリティパケットにパケット番号を付して、パケット53として出力する。
 消失訂正復号器36は、パケット53(パケット損失が発生しなかった情報パケット(パケット番号付き)及びパリティパケット(パケット番号付き))を入力とし、消失訂正符号復号を行い、情報パケット55(情報パケット#1~#n)を復号する。 
特開平8-186570号公報
Changyan Di, David Proietti, I.Emre Telatar, Thomas J.Richardson, and Rudiger L.Urbanke, "Finite-Length Analysis of Low-Density Parity-Check Codes on the Binary Erasure Channel", IEEE Transaction on Information Theory, vol.48, No.6, June 2002. D. J. C. Mackay, "Good error-correcting codes based on very sparse matrices," IEEE Trans. Inform. Theory, vol.45, no.2, pp399-431, March 1999. A. J. Felstorom, and K. Sh. Zigangirov,"Time-Varying Periodic Convolutional Codes With Low-Density Parity-Check Matrix,"IEEE Transactions on Information Theory, Vol.45, No.6,pp2181-2191, September 1999. R. G. Gallager, "Low-density parity check codes," IRE Trans. Inform. Theory, IT-8, pp-21-28, 1962. D. J. C. Mackay, "Good error-correcting codes based on very sparse matrices," IEEE Trans. Inform. Theory, vol.45, no.2, pp399-431, March 1999. R. D. Gallager, "Low-Density Parity-Check Codes," Cambridge, MA: MIT Press, 1963. M. P. C. Fossorier, M. Mihaljevic, and H. Imai, "Reduced complexity iterative decoding of low density parity check codes based on belief propagation," IEEE Trans. Commun., vol.47., no.5, pp.673-680, May 1999. J. Chen, A. Dholakia, E. Eleftheriou, M. P. C. Fossorier, and X.-Yu Hu, "Reduced-complexity decoding of LDPC codes," IEEE Trans. Commun., vol.53., no.8, pp.1288-1299, Aug. 2005. J. Zhang, and M. P. C. Fossorier, "Shuffled iterative decoding," IEEE Trans. Commun., vol.53, no.2, pp.209-213, Feb. 2005. J. M. Wozencraft, and B. Reiffen, "Sequential decoding," MIT Press, Cambridge, 1961. A. J. Viterbi, "Error bounds for convolutional codes and an asymptotically optimum decoding algorithm," IEEE Trans. Inform. Theory, IT-13, pp.260-269, April 1967. K. J. Larsen, "Short convolutional codes with maximal free distance for rates 1/2, 1/3, and 1/4," IEEE Trans. Inform. Theory, IT-19, no.3, pp.371-372, May 1973. D. G. Daut, J. W. Modestino, and L. D. Wismer, "New short constraint length convolutional code construction for selected rational rates," IEEE Trans. Inform. Theory, IT-28, no.5, pp.794-800, Sep. 1982. D. J. Costello Jr., "Free distance bounds for convolutional codes," IEEE Trans. Inform. Theory, vol. IT-20, no.3, pp.356-365, May 1974. P. J. Lee, "There are many good periodically time-varying convoultional codes," IEEE Trans. Inform. Theory, vol.35, no.2, pp.460-463, March 1989. F. R. Kschischang, B. J. Frey, and H. Loeliger, "Factor graphs and the sum-product algorithm," IEEE Trans. Inform. Theory, vol.47, no.2, pp.399-431, Feb. 1999. R. J. McEliece, D. J. C. MacKay, and J.-F. Cheng, "Turbo decoding as an instance of Perl’s "belief propagation" algorithm," IEEE J. Select. Areas Commun., vol.16, no.2, pp.140-152, Feb. 1998. J. L. Fan, "Array codes as low-density parity-check codes," Proc. of 2nd Int. Symp. on Turbo Codes, pp.543-546, Sep. 2000.  Y. Kou, S. Lin, and M. P. C. Fossorier, "Low-density parity-check codes based on finite geometries: A rediscovery and new results," IEEE Trans. Inform. Theory, vol.47, no.7, pp2711-2736, Nov. 2001. Y. Kou, S. Lin, and M. P. C. Fossorier, "Low-density parity-check codes based on finite geometries: A rediscovery and new results," IEEE Trans. Inform. Theory, vol.47, no.7, pp2711-2736, Nov. 2001. M. P. C. Fossorier, "Quasi-cyclic low-density parity-check codes from circulant permutation matrices," IEEE Trans. Inform. Theory, vol.50, no.8, pp.1788-1793, Nov. 2001. L. Chen, J. Xu, I. Djurdjevic, and S. Lin, "Near-Shannon limit quasi-cyclic low-density parity-check codes," IEEE Trans. Commun., vol.52, no.7, pp.1038-1042, July 2004. R. M. Tanner, D. Sridhara, A. Sridharan, T. E. Fuja, and D. J. Costello Jr., "LDPC block and convolutional codes based on circulant matrices," IEEE Trans. Inform. Theory, vol.50, no.12, pp.2966-2984, Dec. 2004. A. Pusane, R. Smarandache, P. Vontobel, and D. J. Costello Jr., "On deriving good LDPC convolutional codes from QC LDPC block codes," Proc. of IEEE ISIT 2007, pp.1221-1225, June 2007. J. Rosenthal, and E. V. York, "BCH convolutional codes," IEEE Trans. Inform. Theory, vol.45, no.6, pp.1833-1844, Sept. 1999. N. Ogasawara, M. Kobayashi, and S. Hirasawa, "The construction of periodically time-varying convolutional codes using binary linear block codes," IEICE Trans. Fundamentals, vol.J89-A, no.2, pp.144-153, Feb. 2006 (in Japanese). Y. Murakami, S. Okasaka, S. Okamura, T. Kishigami, and M. Orihashi, "LDPC convolutional codes based on parity check polynomial," Proc. of WPMC2008, Sept. 2008. Y. Murakami, S. Okamura, S. Okasaka, T. Kishigami, and M. Orihashi, "LDPC convolutional codes based on parity check polynomials with a time period of 3," IEICE Trans. Fundamentals, vol.E92-A, no.10, pp.2479-2483, Sept. 2009.
 ところで、伝送効率の向上と消失訂正能力の向上との両立を考えた場合、伝送路状況等の通信品質により、消失訂正符号における符号化率を変更できることが望まれる。図5は、伝送路状況等の通信品質に応じて、消失訂正符号の符号化率を変更することができる消失訂正符号化器の構成例を示している。
 第1の消失訂正符号化器61は、符号化率1/2の消失訂正符号の符号化器であり、第2の消失訂正符号化器62は、符号化率2/3の消失訂正符号の符号化器であり、第3の消失訂正符号化器63は、符号化率3/4の消失訂正符号の符号化器である。
 第1の消失訂正符号化器61は、情報71及び制御信号72を入力とし、制御信号72が符号化率1/2を指定した場合に符号化を行い、消失訂正符号化後のデータ73を選択部64に出力する。同様に、第2の消失訂正符号化器62は、情報71及び制御信号72を入力とし、制御信号72が符号化率2/3を指定した場合に符号化を行い、消失訂正符号化後のデータ74を選択部64に出力する。同様に、第3の消失訂正符号化器63は、情報71及び制御信号72を入力とし、制御信号72が符号化率3/4を指定した場合に符号化を行い、消失訂正符号化後のデータ75を選択部64に出力する。
 選択部64は、消失訂正符号化後のデータ73、74、75及び制御信号72を入力とし、制御信号72が指定した符号化率に対応する消失訂正符号化後のデータ76を出力する。
 この場合、図5の消失訂正符号化器では、消失訂正符号の符号化率を変更するために、符号化率毎に異なる消失訂正符号器を用意する必要があり、消失訂正符号化器及び消失訂正復号化器の回路規模が大きくなるという課題を有している。しかしながら、消失訂正符号化器及び消失訂正復号化器の回路規模を低減することができる消失訂正符号化及び消失復号方法についての検討は十分になされていない。
 本発明の目的は、符号化器及び復号化器の回路規模の低減を図りつつ、消失訂正符号の符号化率を変更することができる符号化方法、符号化器及び復号器を提供することである。
 本発明の符号化方法は、
 式(3-1)であらわされるパリティ検査多項式のうち、
 (a1%3、a2%3、a3%3)、(b1%3、b2%3、b3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる第1パリティ検査多項式と、
 式(3-2)であらわされるパリティ検査多項式のうち、
 (A1%3、A2%3、A3%3)、(B1%3、B2%3、B3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる第2パリティ検査多項式と、
 式(3-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)のいずれかとなる第3パリティ検査多項式と、に基づいて定義された符号化率1/2の時変周期3の低密度パリティ検査畳み込み符号(LDPC-CC:Low-Density Parity-Check Convolutional Codes)から、符号化率1/3の時変周期3の低密度パリティ検査畳み込み符号を生成する符号化方法であって、
 前記符号化率1/2の低密度パリティ検査畳み込み符号を用いた符号化出力である情報及びパリティから構成される12k(kは自然数)ビットを1周期とし、前記1周期から情報のみを前記符号化出力の出力順に並べた情報X6i、X6i+1、X6i+2、X6i+3、X6i+4、X6i+5、・・・、X6(i+k-1)、X6(i+k-1)+1、X6(i+k-1)+2、X6(i+k-1)+3、X6(i+k-1)+4、X6(i+k-1)+5の6kビットのうち、3k個の情報Xj(ただし、jは、6i~6(i+k-1)+5のいずれかの値をとり、3k個の異なる値が存在する。)に、既知情報を挿入する場合に、異なる3k個のjを3で除算した余りのうち、余りが0となる個数がk個となり、余りが1となる個数がk個となり、余りが2となる個数がk個となるように、前記情報Xjに前記既知情報を挿入するステップと、
 前記既知情報を含む前記情報から前記パリティを求めるステップと、を有するようにした。
 本発明によれば、符号化器及び復号化器の回路規模の低減を図りつつ、消失訂正符号の符号化率を変更することができるため、伝送効率の向上と消失訂正能力の向上との両立を図ることができる。
消失訂正符号化を利用した通信システムの概念図を示す図 消失訂正を行う通信システムの全体構成を示す図 消失訂正符号化方法を説明するための図 消失訂正復号方法を説明するための図 消失訂正符号の符号化率を変更することができる消失訂正符号化器の構成例を示すブロック図 本発明の実施の形態1に係る通信システムの全体構成を示す図 図6の通信装置において、消失訂正符号の符号化率の変更に関わる部分の詳細構成を示すブロック図 図6の通信装置において、消失訂正符号の符号化率の変更に関わる部分の別の詳細構成を示すブロック図 消失訂正符号の符号化率の変更に関わる部分の動作を説明するためのパケット構成図 消失訂正符号の符号化率の変更に関わる部分の動作を説明するためのパケット構成図 消失訂正符号の符号化率の情報を通信相手に伝送するための送信装置の構成を示すブロック図 送信装置から出力される時間軸におけるフレーム構成例を示す図 消失訂正復号関連処理部の詳細構成の一例を示すブロック図 符号化率R=1/2のLDPC-CCのパリティ検査行列H[0,n]を示す図 パリティ検査行列H[0,n]で定義されるLDPC-CCの符号化器の構成例を図 時変周期4のLDPC-CCのパリティ検査行列の構成の一例を示す図 時変周期3のLDPC-CCのパリティ検査多項式及びパリティ検査行列Hの構成を示す図 図17Aの「検査式#1」~「検査式#3」のX(D)に関する各項同士の信頼度伝播の関係を示す図 「検査式#1」~「検査式#6」のX(D)に関する各項同士の信頼度伝播の関係を示す図 (7,5)畳み込み符号のパリティ検査行列を示す図 符号化率2/3、時変周期2のLDPC―CCのパリティ検査行列Hの構成の一例を示す図 符号化率2/3、時変周期mのLDPC-CCのパリティ検査行列の構成の一例を示す図 符号化率(n-1)/n、時変周期mのLDPC-CCのパリティ検査行列の構成の一例を示す図 LDPC-CC符号化部の構成の一例を示す図 符号化率1/2のLDPC-CCの検査式とパリティ検査行列Hの一例を示す図 ショートニング方法[方法#1-2]を説明するための図 ショートニング方法[方法#1-2]における挿入ルールを説明するための図 既知情報を挿入する位置と誤り訂正能力との関係について説明するための図 パリティ検査多項式(27-1)と時点との対応関係を示す図 ショートニング方法[方法#2-2]を説明するための図 ショートニング方法[方法#2-4]を説明するための図 物理層において符号化率を可変とする場合の符号化に関連する部分の構成の一例を示すブロック図 物理層において符号化率を可変とする場合の符号化に関連する部分の構成の別の一例を示すブロック図 物理層における誤り訂正復号部の構成の一例を示すブロック図 消失訂正方法[方法#3-1]を説明するための図 消失訂正方法[方法#3-3]を説明するための図 情報サイズとターミネーション数との関係の一例を示す図 タナーグラフを示す図 パリティ検査行列Hにおいて、X(D)に関する部分のみを抽出して生成されるサブ行列を示す図 パリティ検査行列Hにおいて、X(D)に関する部分のみを抽出して生成されるベクトルを示す図
 以下、本発明の実施の形態について、図面を参照して詳細に説明する。
 (実施の形態1)
 図6は、本発明の実施の形態1に係る通信システムの全体構成図である。図6において、通信システムは、符号化側の通信装置100、通信路20及び復号側の通信装置200を含む。通信路20は、符号化側の通信装置100の送信装置140から送信された信号が、復号側の通信装置200の受信装置210で受信されるまでに通る経路を示す。図6の通信システムが図2の通信システムと異なる点は、図6の通信システムは、消失訂正符号の符号化率を変更することができる点である。
 通信装置200の受信装置210は、通信装置100から送信される信号を受信し、受信信号のうち、例えば、パイロット信号、プリアンブル等の制御情報信号から、通信状態を推定する。そして、受信装置210は、通信状態に応じてフィードバック情報(例えば、Channel State Information)生成し、生成したフィードバック情報を送信装置250に出力する。フィードバック情報は、送信装置250からアンテナから通信装置100に送信される。
 通信装置100の受信装置150は、通信装置200から送信されたフィードバック情報から、消失訂正符号の符号化率を設定し、設定した消失訂正符号の符号化率の情報を含む制御信号404を、パケット生成及び既知パケット挿入部110、消失訂正符号化関連処理部120及び誤り訂正符号化部130に出力する。
 パケット生成及び既知パケット挿入部110は、情報101、消失訂正符号の符号化率の情報が含まれる制御信号404及び設定信号401を入力とし、制御信号404及び設定信号401に基づいて、情報パケットを生成する。具体的には、パケット生成及び既知パケット挿入部110は、情報101から情報パケット生成し、更に、制御信号404に含まれる消失訂正符号の符号化率に応じて、情報パケットに既知情報パケットを挿入する。なお、設定信号401には、パケットサイズ、変調方式等、通信装置100により設定される情報が含まれている。パケット生成及び既知パケット挿入部110の動作の詳細については、後述する。
 消失訂正符号化関連処理部120は、制御信号404及び設定信号401を入力とし、制御信号404及び設定信号401に基づいて、パケット生成及び既知パケット挿入部110から入力される情報パケットに対し消失訂正符号化を行う。消失訂正符号化関連処理部120の内部構成及び動作については、後述する。
 誤り訂正符号化部130は、通信路20により発生する誤りを訂正するために、消失訂正符号化関連処理部120における消失訂正符号とは別に、物理層における誤り訂正符号を導入し、消失訂正符号化関連処理部120から入力される入力系列に対し誤り訂正符号化を行い、符号化系列を生成する。
 送信装置140は、誤り訂正符号化部130において物理層における誤り訂正符号化により生成された符号化系列に対し、所定の処理(変調、帯域制限、周波数変換、増幅等の処理)を行う。
 受信装置150は、アンテナにおいて受信した受信信号411を入力とし、受信信号411に対し所定の処理(帯域制限、周波数変換、増幅、復調等の処理)を行いデータ413を生成する。
 通信装置200の受信装置210は、受信信号のうち、制御情報信号以外の信号を誤り訂正復号部220に出力する。
 誤り訂正復号部220は、受信装置210から入力される信号に対し、物理層における誤り訂正復号を行い、復号パケットを生成する。
 消失訂正復号関連処理部230は、復号パケットに対し消失訂正復号を行う。消失訂正復号関連処理部230の内部構成及び動作については、後述する。
 パケットデコード部240は、消失訂正後のパケットを、情報処理部(図示せぬ)が解析可能な形式に変換する。
 送信装置250は、フィードバック情報及び送信情報を入力し、フィードバック情報及び送信情報に対し所定の処理(変調、帯域制限、周波数変換、増幅等の処理)を行い送信信号415を生成し、送信信号415を例えばアンテナから通信装置100に送信する。
 図7は、図6の通信装置100において、消失訂正符号の符号化率の変更に関わる部分の詳細構成を示すブロック図である。なお、図7において、図6と同様に動作するものについては同一符号を付した。
 消失訂正符号化関連処理部120は、消失訂正符号化部121、既知情報パケット削減部122及び誤り検出符号付加部123を含む。
 消失訂正符号化部121の並び替え部1211は、設定信号401、制御信号404、及び情報パケット103(ここでは、情報パケット#1~#n)を入力とし、情報パケット103内の情報の順番を並び替えて、並び替え後の情報105を出力する。
 消失訂正符号化部121の符号化部(パリティパケット生成部)1212は、設定信号401、制御信号404及び並び替え後の情報105を入力とし、例えば、LDPC-BC、または、LDPC-CCの符号化を行い、パリティを生成する。符号化部(パリティパケット生成部)1212は、生成したパリティ部分のみを抽出し、抽出したパリティ部分からパリティパケット107を生成し出力する。このとき、情報パケット#1~#nに対応し、パリティパケット#1~#mが生成される場合、パリティパケット107はパリティパケット#1~#mとなる。
 既知情報パケット削減部122は、情報パケット103、設定信号401及び制御信号404を入力とし、設定信号401及び制御信号404に含まれる消失訂正符号の符号化率に基づき、情報パケット103の一部を削減する。具体的には、パケット生成及び既知パケット挿入部110において、情報パケット103に既知情報パケットが挿入された場合、既知情報パケット削減部122は、情報パケット103から既知情報パケットを削減し、削減後の情報パケット104を出力する。したがって、符号化率によっては、パケット生成及び既知パケット挿入部110において、情報パケット103に既知情報パケットが挿入されない場合があるため、その場合には、既知情報パケット削減部122は、既知情報パケットの削減は行わず、情報パケット103をそのまま情報パケット104として出力する。既知情報パケット削減部122の動作の詳細については、後述する。
 誤り検出符号付加部123は、パリティパケット107、削減後の情報パケット104、設定信号401及び制御信号404を入力とし、誤り検出符号、例えば、CRCを各パケットに付加し、CRC付加後の各パケット109を出力する。誤り検出符号付加部123の動作の詳細については、後述する。
 なお、図8は、図6の通信装置100において、消失訂正符号の符号化率の変更に関わる部分の別の詳細構成を示すブロック図である。図8に示すように、パケット生成及び既知パケット挿入部110に入力される情報101が、誤り検出符号付加部123に入力される構成とすることにより、図7の既知情報パケット削減部122を省いても、図7と同様に動作させることが可能となる。
 本実施の形態における消失訂正符号の符号化率の変更方法は、図9及び図10を用いて説明する。図9及び図10は、図7、図8の消失訂正符号の符号化率の変更に関わる部分の動作を説明するためのパケット構成図を示している。なお、以下では、符号化部(パリティパケット生成部)1212が、符号化率2/3の消失訂正符号のエンコーダで構成されていて、符号化率2/3の消失訂正符号化を行う場合を例に説明する。
 [符号化率3/5]
 符号化率2/3の消失訂正符号を用いて、消失訂正符号化関連処理部120の符号化率を3/5に設定する場合について説明する。
 パケット生成及び既知パケット挿入部110は、消失訂正符号化関連処理部120の符号化率を3/5とするために、既知情報パケットを挿入する。具体的には、図9に示すように、情報パケット#1~#4のうち、情報101から情報パケット#1~#3を生成し、通信相手と予め決定しておいた既知の情報、例えば、全てのビットが“0”の情報から情報パケット#4を生成する。このようにして既知情報パケットが挿入されることにより、情報パケット103は、情報パケット#1~#3と既知の情報パケット#4とから構成されるようになる。
 並び替え部1211は、情報パケット103を入力とし、並び替えを行い、並び替え後の情報パケット105を出力する。
 符号化部(パリティパケット生成部)1212は、並び替え後の情報パケット105を入力とし、消失訂正符号の符号化を行う。符号化部(パリティパケット生成部)1212は、符号化率2/3のエンコーダであるため、情報パケット#1~#4から構成される情報パケット103に対し、2つのパリティパケット(パリティパケット#1,#2)を生成する(図9参照)。符号化部(パリティパケット生成部)1212は、生成したパリティパケット#1,#2をパリティパケット107として出力する。
 既知情報パケット削減部122は、情報パケット103から既知情報パケットを削除する。図9に示す例では、既知情報パケット削減部122は、情報パケット103(情報パケット#1~#3と既知の情報パケット#4)を入力とし、図9に示すように、既知の情報パケット#4を削除し、既知情報パケット削除後の情報パケット104(つまり、情報パケット#1~#3)を出力する。
 誤り検出符号付加部123は、パリティパケット107及び既知情報パケット削除後の情報パケット104を入力とし、図9に示すように、CRC付加後の情報パケット#1~#3及びCRC付加後のパリティパケット#1,#2を出力する。
 このようにして、消失訂正符号化関連処理部120からは、CRC付加後の情報パケット#1~#3と、CRC付加後のパリティパケット#1,#2とが出力されるようになるので、消失訂正符号化関連処理部120における符号化率を3/5とすることができる。
 以上のように、符号化部(パリティパケット生成部)1212が符号化率2/3のエンコーダの場合、3つの情報パケット#1~#3及び1つの既知情報パケット#4に対し、符号化率2/3の消失訂正符号化を行い、符号化後の既知情報パケット#4を削除するようにすることで、符号化部(パリティパケット生成部)1212は、符号化率2/3の符号化を行いつつ、消失訂正符号化関連処理部120としての符号化率を3/5にすることができる。
 このように、符号化部(パリティパケット生成部)1212が、符号化率3/5の消失訂正符号を用意していない場合においても、消失訂正符号化関連処理部120の符号化率を3/5にすることができるので、図7、図8に示す構成の回路規模を小さくできるという利点がある。
 [符号化率1/2]
 符号化率2/3の消失訂正符号を用いて、消失訂正符号化関連処理部120の符号化率を1/2に設定する場合について、図10を用いて説明する。
 パケット生成及び既知パケット挿入部110は、消失訂正符号化関連処理部120の符号化率を1/2とするために、既知情報パケットを挿入する。具体的には、図10に示すように、情報パケット#1~#4のうち、情報101から情報パケット#1,#2を生成し、通信相手と予め決定しておいた既知の情報、例えば、全てのビットが“0”の情報から情報パケット#3,#4を生成する。このようにして既知情報パケットが挿入されることにより、情報パケット103は、情報パケット#1,#2及び既知の情報パケット#3,#4から構成されるようになる。
 そして、並び替え部1211は、前記情報パケット103を入力とし、並び替えを行い、並び替え後の情報パケット105を出力する。
 符号化部(パリティパケット生成部)1212は、並び替え後の情報パケット105を入力とし、消失訂正符号の符号化を行う。符号化部(パリティパケット生成部)1212は、符号化率2/3のエンコーダであるため、情報パケット#1~#4から構成される情報パケット103に対し、2つのパリティパケット(パリティパケット#1,#2)を生成する(図10参照)。符号化部(パリティパケット生成部)1212は、生成したパリティパケット#1,#2をパリティパケット107として出力する。
 既知情報パケット削減部122は、情報パケット103から既知情報パケットを削除する。図10に示す例では、既知情報パケット削減部122は、情報パケット103(情報パケット#1,#2及び既知の情報パケット#3,#4)を入力とし、図10に示すように、既知の情報パケット#3,#4を削除し、既知情報パケット削除後の情報パケット104(つまり、情報パケット#1,#2)を出力する。
 誤り検出符号付加部123は、パリティパケット107及び既知情報パケット削除後の情報パケット104を入力とし、図10に示すように、CRC付加後の情報パケット#1,#2及びCRC付加後のパリティパケット#1,#2を出力する。
 このようにして、消失訂正符号化関連処理部120からは、CRC付加後の情報パケット#1,#2と、CRC付加後のパリティパケット#1,#2とが出力されるようになるので、消失訂正符号化関連処理部120における符号化率を1/2とすることができる。
 以上のように、符号化部(パリティパケット生成部)1212が符号化率2/3のエンコーダの場合、2つの情報パケット#1,#2及び2つの既知情報パケット#3,#4に対し、符号化率2/3の消失訂正符号化を行い、符号化後の既知情報パケット#3,#4を削除するようにすることで、符号化部(パリティパケット生成部)1212は、符号化率2/3の符号化を行いつつ、消失訂正符号化関連処理部120としての符号化率を1/2にすることができる。
 なお、符号化率2/3の場合は、既知情報パケットは用いられず、既知情報パケットを含まない情報パケット#1~#4からパリティパケット#1、#2を生成することで、符号化率2/3を実現することができる。
 なお、通信装置100が、通信装置200から送信されたフィードバック情報から、消失訂正符号の符号化率(消失訂正符号化関連処理部120の符号化率)を設定する場合には、通信装置100は、設定した消失訂正符号の符号化率(消失訂正符号化関連処理部120の符号化率)の情報を通信相手に通知する必要がある。図11は、通信装置100が、消失訂正符号の符号化率の情報を通信相手の通信装置200に伝送するための通信装置100の送信装置140の構成を示すブロック図である。
 制御情報生成部142は、消失訂正符号に関連する設定信号401および制御信号404、及び、その他の制御信号403を入力とし、通信相手に伝送するための制御情報405を生成し出力する。このとき、通信相手に伝送するための制御情報405には、消失訂正符号化関連処理部120の符号化率として設定した符号化率の情報が含まれるものとする。
 変調部141は、CRC付加後の各パケット109、通信相手に伝送するための制御情報405、及び、フレーム構成信号406を入力とし、フレーム構成信号406にしたがった変調信号407を生成し出力する。
 送信部143は、変調信号407を入力とし、所定の処理(帯域制限、周波数変換、増幅等の処理)を行い、送信信号408を出力する。
 図12は、送信装置140から出力される送信信号408の時間軸におけるフレーム構成例を示す図である。図12に示す例では、フレームは、制御情報シンボル及びデータシンボルから構成される。このとき、データシンボルは、複数の消失訂正ブロックから構成されるものとする。ただし、データシンボルのサイズが小さい場合は、1つの消失訂正ブロックで構成されることもある。
 消失訂正符号化は、複数のパケットが束ねられて行われる。例えば、図9の例では、情報パケット#1~#4の4つのパケットが束ねられ、4つのパケットを単位として消失訂正符号化が行われる。このとき、図9の例では、既知情報が割り当てられた情報パケット#4を除く情報パケット#1~#3及びパリティパケット#1,#2に対しCRCが付加されたCRC付加後の5つのパケットから、消失訂正ブロックが構成される。このように、消失訂正ブロックは、消失訂正符号化が行われる単位で生成されたパケットのうち、既知の情報パケットを除くパケットから構成される。したがって、消失訂正ブロックにおける符号化率は、設定した符号化率となる。例えば、図9の例では、消失訂正ブロックが5つのパケットから構成され、そのうち、情報パケット数が3であるので、消失訂正ブロックにおける符号化率は、3/5となる。
 ただし、送信すべき情報が少ない場合には、必ずしも全ての消失訂正ブロックにおける符号化率が、設定した符号化率となるわけではない。例えば、送信すべき情報が情報パケット#1以下の場合には、情報パケット#2~#4に既知情報が割り当てられ、消失訂正ブロックは、CRC付加後の情報パケット#1及びパリティパケット#1,#2から構成されるようになる。したがって、この場合の消失訂正ブロックにおける符号化率は2/3となり、他の消失訂正ブロックにおける固定の符号化率3/5と同じにはならない。すなわち、図12に示すように、複数の消失訂正ブロックの1つは、設定された符号化率と異なる符号化率となる可能性がある。これは、消失訂正符号化を行う際に束ねられたパケットに含まれる既知の情報パケット数が異なるからである。
 図13は、図6の通信装置200の消失訂正復号関連処理部230の詳細構成の一例を示すブロック図である。
 誤り検出部231は、物理層の誤り訂正符号の復号後のパケット301を入力とし、例えば、CRCにより誤り検出を行い、パケット損失が発生しなかった情報パケット及びパケット損失が発生しなかったパリティパケットにパケット番号を付して、パケット303として出力する。
 既知情報パケット挿入部232は、消失訂正のために設定した符号化率の情報を含む制御情報311、パケット303(パケット損失が発生しなかった情報パケット(パケット番号付き)及びパケット損失が発生しなかったパリティパケット(パケット番号付き))を入力とし、制御情報311に含まれる、設定した消失訂正符号の符号化率の情報に基づいて、通信相手が消失訂正のために挿入した既知情報パケットを、パケット303に挿入する。したがって、既知情報パケット挿入部232は、既知情報パケット挿入後のパケット305を出力する。ここで、消失訂正のために設定した符号化率の情報を含む制御情報311は、図6の受信装置150において、図12で示した制御情報シンボルを復調することで得られる。
 消失訂正復号部233は、パケット305を入力とし、また、消失訂正のために設定した符号化率の情報を含む制御情報311を入力とし、パケット305の並び替え、すなわち、パケット損失が発生しなかった情報パケット(パケット番号付き)とパケット損失が発生しなかったパリティパケット(パケット番号付き)と既知情報パケットのデータとの並び替えを行い、並び替え後のデータに対し消失訂正復号を行い、情報パケット307を復号する。消失訂正復号部233は、復号後の情報パケット307を出力する。
 既知情報パケット削減部234は、復号後の情報パケット307、及び、消失訂正のために設定した符号化率の情報を含む制御情報311を入力とし、符号化率に応じて、情報パケット307から既知情報パケットを削減し、既知情報パケット削減後の情報パケット309を出力する。
 このように、消失訂正符号化関連処理部120の前段にパケット生成及び既知パケット挿入部110を設け、パケット生成及び既知パケット挿入部110が、既知情報パケットを挿入することで、消失訂正符号化関連処理部120の符号化率を変更することができるようになり、これにより、伝送効率の向上と消失訂正能力の向上との両立を図ることができるようになる。
 なお、以上の説明では、符号化部(パリティパケット生成部)1212が用意する消失訂正符号の符号化率を一つとし、消失訂正符号化関連処理部120がその他の符号化率を実現するために既知情報パケットを挿入する構成について説明したが、例えば、符号化部(パリティパケット生成部)1212が消失訂正符号を複数用意し、異なる符号化率に対応し、消失訂正符号化関連処理部120がさらに異なる符号化率を対応するために、既知情報パケットを挿入することで実現してもよい。また、符号化部(パリティパケット生成部)1212が消失訂正符号を複数用意し、それぞれが異なる符号長を有することで、長パケット、短パケットの消失訂正をサポートしてもよく、また、それぞれの消失訂正符号に対し、既知情報パケットを挿入することで、消失訂正符号化関連処理部120が符号化率を変更することができるようにして実施してもよい。
 (実施の形態2)
 実施の形態1では、消失訂正符号の符号化率を可変とする方法について説明した。以下では、実施の形態1で説明した消失訂正符号の符号化率を可変とする方法をLDPC―CC(例えば、非特許文献3参照)を用いて実現する場合について説明する。
 その前提として、先ず、本実施の形態では、特性が良好なLDPC-CCについて説明する。そして、実施の形態3では、本実施の形態で説明するLDPC-CCを物理層に適用する場合に、符号化率を可変とする方法について説明する。そして、実施の形態4では、本実施の形態で説明するLDPC-CCを消失訂正符号に用いる場合に、符号化率を可変とする方法について説明する。
 LDPC-CCは、低密度なパリティ検査行列により定義される畳み込み符号である。一例として、図14は、符号化率R=1/2のLDPC-CCのパリティ検査行列H[0,n]を示す。ここで、H[0,n]の要素h (m)(t)は、0又は1をとる。また、h (m)(t)以外の要素は全て0である。MはLDPC-CCにおけるメモリ長、nはLDPC-CCの符号語の長さをあらわす。図14に示されるように、LDPC-CCのパリティ検査行列は行列の対角項とその近辺の要素とにのみに1が配置されており、行列の左下及び右上の要素はゼロであり、平行四辺形型の行列であるという特徴がある。
 ここで,図15は、h (0)(t)=1,h (0)(t)=1であるとき、パリティ検査行列H[0,n]で定義されるLDPC-CCの符号化器の構成例を示す。図15に示すように、LDPC-CCの符号化器は、M+1個のシフトレジスタとmod2(排他的論理和)加算器を備える。このため、LDPC-CCの符号化器には、生成行列の乗算を行う回路または後退(前方)代入法に基づく演算を行うLDPC-BCの符号化器に比べ、非常に簡易な回路で実現することができるという特徴がある。また、図15に示す符号化器は、畳み込み符号の符号化器であるため、情報系列を固定長のブロックに区切って符号化する必要はなく、任意の長さの情報系列を符号化することができる。
 以下では、良好な特性が得られる時変周期gのLDPC-CCについて説明する。
 先ず、特性が良好な時変周期4のLDPC-CCについて説明する。なお、以下では、符号化率1/2の場合を例に説明する。
 時変周期を4とするLDPC-CCのパリティ検査多項式としては、式(1-1)~(1-4)が考えられる。このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(1-1)~(1-4)では、X(D)、P(D)それぞれに4つの項が存在するようなパリティ検査多項式としたが、これは、良好な受信品質を得る上で、4つの項とすると好適であるからである。
Figure JPOXMLDOC01-appb-M000001
 式(1-1)において、a1、a2、a3、a4は整数(ただし、a1≠a2≠a3≠a4)とする。なお、「a1≠a2≠a3≠a4」と標記する場合、a1、a2、a3、・・・、a4は互いに、全て異なることを意味する。また、b1、b2、b3、b4は整数(ただし、b1≠b2≠b3≠b4)とする。式(1-1)のパリティ検査多項式は、「検査式#1」と呼ぶ。式(1-1)のパリティ検査多項式に基づくサブ行列は、第1サブ行列Hとする。
 また、式(1-2)において、A1、A2、A3、A4は整数(ただし、A1≠A2≠A3≠A4)とする。また、B1、B2、B3、B4は整数(ただし、B1≠B2≠B3≠B4)とする。式(1-2)のパリティ検査多項式は、「検査式#2」と呼ぶ。式(1-2)のパリティ検査多項式に基づくサブ行列は、第2サブ行列Hとする。
 また、式(1-3)において、α1、α2、α3、α4は整数(ただし、α1≠α2≠α3≠α4)とする。また、β1、β2、β3、β4は整数(ただし、β1≠β2≠β3≠β4)とする。式(1-3)のパリティ検査多項式は、「検査式#3」と呼ぶ。式(1-3)のパリティ検査多項式に基づくサブ行列は、第3サブ行列Hとする。
 また、式(1-4)において、E1、E2、E3、E4は整数(ただし、E1≠E2≠E3≠E4)とする。また、F1、F2、F3、F4は整数(ただし、F1≠F2≠F3≠F4)とする。式(1-4)のパリティ検査多項式は、「検査式#4」と呼ぶ。式(1-4)のパリティ検査多項式に基づくサブ行列は、第4サブ行列Hとする。
 そして、LDPC―CCとしては、第1サブ行列H、第2サブ行列H、第3サブ行列H、第4サブ行列Hから、図16のようにパリティ検査行列を生成した時変周期4のLDPC―CCについて考える。
 このとき、式(1-1)~(1-4)において、X(D)及びP(D)の次数の組み合わせ(a1、a2、a3、a4)、(b1、b2、b3、b4)、(A1、A2、A3、A4)、(B1、B2、B3、B4)、(α1、α2、α3、α4)、(β1、β2、β3、β4)、(E1、E2、E3、E4)、(F1、F2、F3、F4)の各値を4で除算した余りをkとした場合、上記のようにあらわした4つの係数セット(例えば、(a1、a2、a3、a4))に、余り0、1、2、3が1つずつ含まれるようにし、かつ、上記の4つの係数セット全てで成立するようにする。
 例えば、「検査式#1」のX(D)の各次数(a1、a2、a3、a4)を(a1、a2、a3、a4)=(8,7,6,5)とすると、各次数(a1、a2、a3、a4)を4で除算した余りkは、(0,3,2,1)となり、4つの係数セットに、余り(k)0、1、2、3が1つずつ含まれるようになる。同様に、「検査式#1」のP(D)の各次数(b1、b2、b3、b4)を(b1、b2、b3、b4)=(4,3,2,1)とすると、各次数(b1、b2、b3、b4)を4で除算した余りkは、(0,3,2,1)となり、4つの係数セットに、余り(k)として、0、1、2、3が1つずつ含まれるようになる。他の検査式(「検査式#2」、「検査式#3」、「検査式#4」)のX(D)及びP(D)それぞれの4つの係数セットについても上記の「余り」に関する条件(以下「余りルール」ともいう)が成立するものとする。
 このようにすることで、式(1-1)~(1-4)から構成されるパリティ検査行列Hの列重みが全ての列において4となる、レギュラーLDPC符号を形成することができるようになる。ここで、レギュラーLDPC符号とは、各列重みが一定とされたパリティ検査行列により定義されるLDPC符号であり、特性が安定し、エラーフロアが出にくいという特徴がある。特に、列重みが4の場合、特性が良好であることから、上記のようにしてLDPC-CCを生成することにより、受信性能が良いLDPC-CCを得ることができるようになる。
 上記では、符号化率1/2の時を例に説明したが、符号化率が(n-1)/nのときについても、情報X(D)、X(D)、・・・、Xn-1(D)におけるそれぞれの4つの係数セットにおいて、上記の「余り」に関する条件(余りルール)が成立すれば、やはり、レギュラーLDPC符号となり、良好な受信品質を得ることができる。
 なお、時変周期2の場合においても、上記「余り」に関する条件(余りルール)を適用すると、特性が良好な符号を探索できることが確認された。以下、特性が良好な時変周期2のLDPC-CCについて説明する。なお、以下では、符号化率1/2の場合を例に説明する。
 時変周期を2とするLDPC-CCのパリティ検査多項式は、式(2-1)、(2-2)が考えられる。このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(2-1)、(2-2)では、X(D)、P(D)それぞれに4つの項が存在するようなパリティ検査多項式としたが、これは、良好な受信品質を得る上で、4つの項とすると好適であるからである。
Figure JPOXMLDOC01-appb-M000002
 式(2-1)において、a1、a2、a3、a4は整数(ただし、a1≠a2≠a3≠a4)とする。また、b1、b2、b3、b4は整数(ただし、b1≠b2≠b3≠b4)とする。式(2-1)のパリティ検査多項式は、「検査式#1」と呼ぶ。式(2-1)のパリティ検査多項式に基づくサブ行列は、第1サブ行列Hとする。
 また、式(2-2)において、A1、A2、A3、A4は整数(ただし、A1≠A2≠A3≠A4)とする。また、B1、B2、B3、B4は整数(ただし、B1≠B2≠B3≠B4)とする。式(2-2)のパリティ検査多項式は、「検査式#2」と呼ぶ。式(2-2)のパリティ検査多項式に基づくサブ行列は、第2サブ行列Hとする。
 そして、LDPC―CCとしては、第1サブ行列H及び第2サブ行列Hから生成する時変周期2のLDPC―CCについて考える。
 このとき、式(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つの係数セット全てで成立するようにする。
 例えば、「検査式#1」のX(D)の各次数(a1、a2、a3、a4)を(a1、a2、a3、a4)=(8,7,6,5)とすると、各次数(a1、a2、a3、a4)を4で除算した余りkは、(0,3,2,1)となり、4つの係数セットに、余り(k)0、1、2、3が1つずつ含まれるようになる。同様に、「検査式#1」のP(D)の各次数(b1、b2、b3、b4)を(b1、b2、b3、b4)=(4,3,2,1)とすると、各次数(b1、b2、b3、b4)を4で除算した余りkは、(0,3,2,1)となり、4つの係数セットに、余り(k)として、0、1、2、3が1つずつ含まれるようになる。「検査式#2」のX(D)及びP(D)それぞれの4つの係数セットについても上記の「余り」に関する条件(余りルール)が成立するものとする。
 このようにすることで、式(2-1)、(2-2)から構成されるパリティ検査行列Hの列重みが全ての列において4となる、レギュラーLDPC符号を形成することができるようになる。ここで、レギュラーLDPC符号とは、各列重みが一定とされたパリティ検査行列により定義されるLDPC符号であり、特性が安定し、エラーフロアが出にくいという特徴がある。特に、行重みが8の場合、特性が良好であることから、上記のようにしてLDPC-CCを生成することにより、受信性能を更に向上することができるLDPC-CCを得ることができるようになる。
 上記では(時変周期2のLDPC-CC)、符号化率1/2の時を例に説明したが、符号化率が(n-1)/nのときについても、情報X(D)、X(D)、・・・、Xn-1(D)におけるそれぞれの4つの係数セットにおいて、上記の「余り」に関する条件(余りルール)が成立すれば、やはり、レギュラーLDPC符号となり、良好な受信品質を得ることができる。
 また、時変周期3の場合においても、「余り」に関する以下の条件を適用すると、特性が良好な符号を探索できることが確認された。以下、特性が良好な時変周期3のLDPC-CCについて説明する。なお、以下では、符号化率1/2の場合を例に説明する。
 時変周期を3とするLDPC-CCのパリティ検査多項式は、式(3-1)~(3-3)が考えられる。このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(3-1)~(3-3)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
Figure JPOXMLDOC01-appb-M000003
 式(3-1)において、a1、a2、a3は整数(ただし、a1≠a2≠a3)とする。また、b1、b2、b3は整数(ただし、b1≠b2≠b3)とする。式(3-1)のパリティ検査多項式は、「検査式#1」と呼ぶ。式(3-1)のパリティ検査多項式に基づくサブ行列は、第1サブ行列Hとする。
 また、式(3-2)において、A1、A2、A3は整数(ただし、A1≠A2≠A3)とする。また、B1、B2、B3は整数(ただし、B1≠B2≠B3)とする。式(3-2)のパリティ検査多項式は「検査式#2」と呼ぶ。式(3-2)のパリティ検査多項式に基づくサブ行列は、第2サブ行列Hとする。
 また、式(3-3)において、α1、α2、α3は整数(ただし、α1≠α2≠α3)とする。また、β1、β2、β3は整数(ただし、β1≠β2≠β3)とする。式(3-3)のパリティ検査多項式は「検査式#3」と呼ぶ。式(3-3)のパリティ検査多項式に基づくサブ行列は、第3サブ行列Hとする。
 そして、LDPC―CCとしては、第1サブ行列H、第2サブ行列H、第3サブ行列Hから生成する時変周期3のLDPC―CCについて考える。
 このとき、式(3-1)~(3-3)において、X(D)及びP(D)の次数の組み合わせ(a1、a2、a3)、(b1、b2、b3)、(A1、A2、A3)、(B1、B2、B3)、(α1、α2、α3)、(β1、β2、β3)の各値を3で除算した余りをkとした場合、上記のようにあらわした3つの係数セット(例えば、(a1、a2、a3))に、余り0、1、2が1つずつ含まれるようにし、かつ、上記の3つの係数セット全てで成立するようにする。
 例えば、「検査式#1」のX(D)の各次数(a1、a2、a3)を(a1、a2、a3)=(6,5,4)とすると、各次数(a1、a2、a3)を3で除算した余りkは、(0,2,1)となり、3つの係数セットに、余り(k)0、1、2が1つずつ含まれるようになる。同様に、「検査式#1」のP(D)の各次数(b1、b2、b3)を(b1、b2、b3)=(3,2,1)とすると、各次数(b1、b2、b3)を4で除算した余りkは、(0,2,1)となり、3つの係数セットに、余り(k)として、0、1、2が1つずつ含まれるようになる。「検査式#2」、「検査式#3」のX(D)及びP(D)それぞれの3つの係数セットについても上記の「余り」に関する条件(余りルール)が成立するものとする。
 このようにしてLDPC-CCを生成することにより、例外を除き行重みがすべての行で等く、かつ、列重みがすべての行で等しいレギュラーLDPC-CC符号を生成することができる(例外とは、パリティ検査行列の最初の一部と最後の一部では行重み、列重みが他の行、列とは等しい重みとはならない。)。
 更に、BP復号を行った場合、「検査式#2」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#1」に対して伝播し、「検査式#1」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#2」に対して伝播し、「検査式#1」における信頼度及び「検査式#2」における信頼度が、「検査式#3」に対して的確に伝播する。このため、より受信品質が良好なLDPC-CCを得ることができる。これは、列単位で考えた場合、「1」が存在する位置が、上述のように、信頼度を的確に伝播するように配置されることになるためである。
 以下、上述の信頼度伝播は、図を用いて、説明する。図17Aは、時変周期3のLDPC-CCのパリティ検査多項式及びパリティ検査行列Hの構成を示している。
 「検査式#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で除算した余りをあらわす。
 「検査式#2」は、式(3-2)のパリティ検査多項式において、(A1、A2、A3)=(5,1,0)、(B1、B2、B3)=(5,1,0)の場合であり、各係数を3で除算した余りは、(A1%3、A2%3、A3%3)=(2,1,0)、(B1%3、B2%3、B3%3)=(2,1,0)である。
 「検査式#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)である。
 したがって、図17Aに示した時変周期3のLDPC-CCの例は、上述した「余り」に関する条件(余りルール)、つまり、
 (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)のいずれかとなるという条件を満たしている。
 信頼度伝播は、再度、図17Aに戻って、説明する。BP復号における列6506の列演算によって、「検査式#1」の領域6501の「1」は、「検査式#2」の領域6504の「1」及び「検査式#3」の領域6505の「1」から、信頼度が伝播される。上述したように、「検査式#1」の領域6501の「1」は、3で除算した余りが0となる係数である(a3%3=0(a3=0)、又は、b3%3=0(b3=0))。また、「検査式#2」の領域6504の「1」は、3で除算した余りが1となる係数である(A2%3=1(A2=1)、又は、B2%3=1(B2=1))。また、「検査式#3」の領域6505の「1」は、3で除算した余りが2となる係数である(α2%3=2(α2=2)、又は、β2%3=2(β2=2))。
 このように、「検査式#1」の係数において余りが0となる領域6501の「1」は、BP復号における列6506の列演算において、「検査式#2」の係数において余りが1となる領域6504の「1」、及び、「検査式#3」の係数において余りが2となる領域6505の「1」から、信頼度が伝播される。
 同様に、「検査式#1」の係数において余りが1となる領域6502の「1」は、BP復号における列6509の列演算において、「検査式#2」の係数において余りが2となる領域6507の「1」、及び、「検査式#3」の係数において余りが0となる領域6508の「1」から、信頼度が伝播される。
 同様に、「検査式#1」の係数において余りが2となる領域6503の「1」は、BP復号における列6512の列演算において、「検査式#2」の係数において余りが0となる領域6510の「1」、及び、「検査式#3」の係数において余りが1となる領域6511の「1」から、信頼度が伝播される。
 信頼度伝播は、図17Bを用いて、補足説明をする。図17Bは、図17Aの「検査式#1」~「検査式#3」のX(D)に関する各項同士の信頼度伝播の関係を示している。図17Aの「検査式#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)の場合である。
 図17Bにおいて、四角で囲まれた項(a3、A3、α3)は、3で除算した余りが0の係数を示す。また、丸で囲まれた項(a2、A2、α1)は、3で除算した余りが1の係数を示す。また、菱形で囲まれた項(a1、A1、α2)は、3で除算した余りが2の係数を示す。
 図17Bから分かるように、「検査式#1」のa1は、3で除算した余りが異なる「検査式#2」のA3及び「検査式#3」のα1から信頼度が伝播される。「検査式#1」のa2は、3で除算した余りが異なる「検査式#2」のA1及び「検査式#3」のα3から信頼度が伝播される。「検査式#1」のa3は、3で除算した余りが異なる「検査式#2」のA2及び「検査式#3」のα2から信頼度が伝播される。図17Bには、「検査式#1」~「検査式#3」のX(D)に関する各項同士の信頼度伝播の関係を示したが、P(D)に関する各項同士についても同様のことがいえる。
 このように、「検査式#1」には、「検査式#2」の係数のうち、3で除算した余りが0、1、2となる係数から、信頼度が伝播される。つまり、「検査式#1」には、「検査式#2」の係数のうち、3で除算した余りが全て異なる係数から、信頼度が伝播されることになる。したがって、相関が低い信頼度同士が全て「検査式#1」に伝播することになる。
 同様に、「検査式#2」には、「検査式#1」の係数のうち、3で除算した余りが0、1、2となる係数から、信頼度が伝播される。つまり、「検査式#2」には、「検査式#1」の係数のうち、3で除算した余りが全て異なる係数から、信頼度が伝播されることになる。また、「検査式#2」には、「検査式#3」の係数のうち、3で除算した余りが0、1、2となる係数から、信頼度が伝播される。つまり、「検査式#2」には、「検査式#3」の係数のうち、3で除算した余りが全て異なる係数から、信頼度が伝播されることになる。
 同様に、「検査式#3」には、「検査式#1」の係数のうち、3で除算した余りが0、1、2となる係数から、信頼度が伝播される。つまり、「検査式#3」には、「検査式#1」の係数のうち、3で除算した余りが全て異なる係数から、信頼度が伝播されることになる。また、「検査式#3」には、「検査式#2」の係数のうち、3で除算した余りが0、1、2となる係数から、信頼度が伝播される。つまり、「検査式#3」には、「検査式#2」の係数のうち、3で除算した余りが全て異なる係数から、信頼度が伝播されることになる。
 このように、式(3-1)~(3-3)のパリティ検査多項式の各次数が、上述した「余り」に関する条件(余りルール)を満たすようにすることにより、全ての列演算において、信頼度が必ず伝播されるようになるので、全ての検査式において、効率よく信頼度を伝播させることができるようになり、更に誤り訂正能力を高くすることができる。
 以上、時変周期3のLDPC-CCについて、符号化率1/2の場合を例に説明したが、符号化率は1/2に限られない。符号化率(n-1)/n(nは2以上の整数)の場合には、情報X(D)、X(D)、・・・、Xn-1(D)における、それぞれの3つの係数セットにおいて、上記の「余り」に関する条件(余りルール)が成立すれば、やはり、レギュラーLDPC符号となり、良好な受信品質を得ることができる。
 以下、符号化率(n-1)/n(nは2以上の整数)の場合について説明する。
 時変周期を3とするLDPC-CCのパリティ検査多項式は、式(4-1)~(4-3)が考えられる。このとき、X(D)、X(D)、・・・、Xn-1(D)はデータ(情報)X、X、・・・Xn-1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(4-1)~(4-3)では、X(D)、X(D)、・・・、Xn-1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
Figure JPOXMLDOC01-appb-M000004
 式(4-1)において、ai,1、ai,2、ai,3(i=1,2,・・・,n-1)は整数(ただし、ai,1≠ai,2≠ai,3)とする。また、b1、b2、b3は整数(ただし、b1≠b2≠b3)とする。式(4-1)のパリティ検査多項式は、「検査式#1」と呼ぶ。式(4-1)のパリティ検査多項式に基づくサブ行列は、第1サブ行列Hとする。
 また、式(4-2)において、Ai,1、Ai,2、Ai,3(i=1,2,・・・,n-1)は整数(ただし、Ai,1≠Ai,2≠Ai,3)とする。また、B1、B2、B3は整数(ただし、B1≠B2≠B3)とする。式(4-2)のパリティ検査多項式は、「検査式#2」と呼ぶ。式(4-2)のパリティ検査多項式に基づくサブ行列は、第2サブ行列Hとする。
 また、式(4-3)において、αi,1、αi,2、αi,3(i=1,2,・・・,n-1)は整数(ただし、αi,1≠αi,2≠αi,3)とする。また、β1、β2、β3は整数(ただし、β1≠β2≠β3)とする。式(4-3)のパリティ検査多項式は、「検査式#3」と呼ぶ。式(4-3)のパリティ検査多項式に基づくサブ行列は、第3サブ行列Hとする。
 そして、LDPC―CCとしては、第1サブ行列H、第2サブ行列H、第3サブ行列Hから生成する時変周期3のLDPC―CCについて考える。
 このとき、式(4-1)~(4-3)において、X(D)、X(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)のいずれかとなるようにする。
 このようにしてLDPC-CCを生成することにより、レギュラーLDPC-CC符号を生成することができる。更に、BP復号を行った場合、「検査式#2」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#1」に対して伝播し、「検査式#1」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#2」に対して伝播し、「検査式#1」における信頼度及び「検査式#2」における信頼度が、「検査式#3」に対して的確に伝播する。このため、符号化率1/2の場合と同様に、より受信品質が良好なLDPC-CCを得ることができる。
 また、時変周期3と同様に、時変周期が3の倍数(例えば、時変周期が6、9、12、・・・)のLDPC-CCに対し、「余り」に関する以下の条件を適用すると、特性が良好な符号を探索できることが確認された。以下、特性が良好な時変周期3の倍数のLDPC-CCについて説明する。なお、以下では、符号化率1/2、時変周期6のLDPC-CCの場合を例に説明する。
 時変周期を6とするLDPC-CCのパリティ検査多項式は、式(5―1)~式(5―6)が考えられる
Figure JPOXMLDOC01-appb-M000005
 このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。時変周期6のLDPC-CCでは、時刻iのパリティPi及び情報Xiは、i%6=kとすると(k=0、1、2、3、4、5)、式(5-(k+1))のパリティ検査多項式が成立することになる。例えば、i=1とすると、i%6=1(k=1)となるので、式(6)が成立する。
Figure JPOXMLDOC01-appb-M000006
 ここで、式(5-1)~(5-6)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
 式(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サブ行列Hとする。
 また、式(5-2)において、a2,1、a2,2、a2,3は整数(ただし、a2,1≠a2,2≠a2,3)とする。また、b2,1、b2,2、b2,3は整数(ただし、b2,1≠b2,2≠b2,3)とする。式(5-2)のパリティ検査多項式は、「検査式#2」と呼ぶ。式(5-2)のパリティ検査多項式に基づくサブ行列は、第2サブ行列Hとする。
 また、式(5-3)において、a3,1、a3,2、a3,3は整数(ただし、a3,1≠a3,2≠a3,3)とする。また、b3,1、b3,2、b3,3は整数(ただし、b3,1≠b3,2≠b3,3)とする。式(5-3)のパリティ検査多項式は、「検査式#3」と呼ぶ。式(5-3)のパリティ検査多項式に基づくサブ行列は、第3サブ行列Hとする。
 また、式(5-4)において、a4,1、a4,2、a4,3は整数(ただし、a4,1≠a4,2≠a4,3)とする。また、b4,1、b4,2、b4,3は整数(ただし、b4,1≠b4,2≠b4,3)とする。式(5-4)のパリティ検査多項式は、「検査式#4」と呼ぶ。式(5-4)のパリティ検査多項式に基づくサブ行列は、第4サブ行列Hとする。
 また、式(5-5)において、a5,1、a5,2、a5,3は整数(ただし、a5,1≠a5,2≠a5,3)とする。また、b5,1、b5,2、b5,3は整数(ただし、b5,1≠b5,2≠b5,3)とする。式(5-5)のパリティ検査多項式は「検査式#5」と呼ぶ。式(5-5)のパリティ検査多項式に基づくサブ行列は、第5サブ行列Hとする。
 また、式(5-6)において、a6,1、a6,2、a6,3は整数(ただし、a6,1≠a6,2≠a6,3)とする。また、b6,1、b6,2、b6,3は整数(ただし、b6,1≠b6,2≠b6,3)とする。式(5-6)のパリティ検査多項式は、「検査式#6」と呼ぶ。式(5-6)のパリティ検査多項式に基づくサブ行列は、第6サブ行列Hとする。
 そして、LDPC―CCとしては、第1サブ行列H、第2サブ行列H、第3サブ行列H、第4サブ行列H、第5サブ行列H、第6サブ行列Hから生成する時変周期6のLDPC―CCについて考える。
 このとき、式(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)のいずれかとなる。
 このようにしてLDPC-CCを生成することにより、「検査式#1」に対して、タナーグラフを描いた際、エッジが存在する場合、的確に「検査式#2、又は、検査式#5」における信頼度、「検査式#3、又は、検査式#6」における信頼度が的確に伝播する。
 また、「検査式#2」に対して、タナーグラフを描いた際、エッジが存在する場合、的確に「検査式#1、又は、検査式#4」における信頼度、「検査式#3、又は、検査式#6」における信頼度が的確に伝播する。
 また、「検査式#3」に対して、タナーグラフを描いた際、エッジが存在する場合、的確に「検査式#1、又は、検査式#4」における信頼度、「検査式#2、又は、検査式#5」における信頼度が的確に伝播する。「検査式#4」に対して、タナーグラフを描いた際、エッジが存在する場合、的確に「検査式#2、又は、検査式#5」における信頼度、「検査式#3、又は、検査式#6」における信頼度が的確に伝播する。
 また、タナーグラフを描いた際、エッジが存在する場合、「検査式#5」に対して、的確に「検査式#1、又は、検査式#4」における信頼度、「検査式#3、又は、検査式#6」における信頼度が的確に伝播する。また、「検査式#6」に対して、タナーグラフを描いた際、エッジが存在する場合、的確に「検査式#1、又は、検査式#4」における信頼度、「検査式#2、又は、検査式#5」における信頼度が的確に伝播する。
 このため、時変周期が3のときと同様に、より良好な誤り訂正能力を時変周期6のLDPC-CCが保持することになる。
 これについて、信頼度伝播は、図17Cを用いて、説明する。図17Cは、「検査式#1」~「検査式#6」のX(D)に関する各項同士の信頼度伝播の関係を示している。図17Cにおいて、四角は、ax,yにおいて(x=1,2,3,4,5,6;y=1,2,3)、3で除算した余りが0の係数を示す。
 また、丸は、ax,yにおいて(x=1,2,3,4,5,6;y=1,2,3)、3で除算した余りが1の係数を示す。また、菱形は、ax,yにおいて(x=1,2,3,4,5,6;y=1,2,3)、3で除算した余りが2の係数を示す。
 図17Cから分かるように、タナーグラフを描いた際、エッジが存在した場合、「検査式#1」のa1,1は、3で除算した余りが異なる「検査式#2又は#5」及び「検査式#3又は#6」から信頼度が伝播される。同様に、タナーグラフを描いた際、エッジが存在した場合、「検査式#1」のa1,2は、3で除算した余りが異なる「検査式#2又は#5」及び「検査式#3又は#6」から信頼度が伝播される。
 同様に、タナーグラフを描いた際、エッジが存在した場合、「検査式#1」のa1,3は、3で除算した余りが異なる「検査式#2又は#5」及び「検査式#3又は#6」から信頼度が伝播される。図17Cには、「検査式#1」~「検査式#6」のX(D)に関する各項同士の信頼度伝播の関係を示したが、P(D)に関する各項同士についても同様のことがいえる。
 このように、「検査式#1」のタナーグラフにおける各ノードには、「検査式#1」以外の係数ノードから信頼度が伝播することになる。したがって、相関が低い信頼度同士が全て「検査式#1」に伝播することになるので、誤り訂正能力が向上すると考えられる。
 図17Cでは、「検査式#1」に着目したが、「検査式#2」から「検査式#6」についても同様にタナーグラフを描くことができ、「検査式#K」のタナーグラフにおける各ノードには、「検査式#K」以外の係数ノードから信頼度が伝播することになる。したがって、相関が低い信頼度同士が全て「検査式#K」に伝播することになるので、誤り訂正能力が向上すると考えられる(K=2,3,4,5,6)。
 このように、式(5-1)~(5-6)のパリティ検査多項式の各次数が、上述した「余り」に関する条件(余りルール)を満たすようにすることにより、全ての検査式において、効率よく信頼度を伝播させることができるようになり、誤り訂正能力を更に高くすることができる可能性が高まる。
 以上、時変周期6のLDPC-CCについて、符号化率1/2の場合を例に説明したが、符号化率は1/2に限られない。符号化率(n-1)/n(nは2以上の整数)の場合には、情報X(D)、X(D)、・・・、Xn-1(D)における、それぞれの3つの係数セットにおいて、上記の「余り」に関する条件(余りルール)が成立すれば、やはり、良好な受信品質を得ることができる可能性が高まる。
 以下、符号化率(n-1)/n(nは2以上の整数)の場合について説明する。
 時変周期を6とするLDPC-CCのパリティ検査多項式は、式(7-1)~(7-6)が考えられる。
Figure JPOXMLDOC01-appb-M000007
 このとき、X(D)、X(D)、・・・、Xn-1(D)はデータ(情報)X、X、・・・Xn-1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(7-1)~(7-6)では、X(D)、X(D)、・・・、Xn-1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。上記の符号化率1/2のとき、また、時変周期3のときと同様に考えると、式(7-1)~(7-6)のパリティ検査多項式であらわされる時変周期6、符号化率(n-1)/n(nは2以上の整数)のLDPC-CCにおいて、以下の条件(<条件#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)、式(7-(k+1))のパリティ検査多項式が成立する。例えば、i=8とすると、i%6=2(k=2)となるので、式(8)が成立する。
Figure JPOXMLDOC01-appb-M000008
 <条件#1>
 式(7-1)~(7-6)において、X(D)、X(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)を作成した場合、高い誤り訂正能力を持つ符号を生成することができる。以下では、その符号の構成方法について詳しく説明する。
 時変周期を3g(g=1、2、3、4、・・・)、符号化率(n-1)/n(nは2以上の整数)のLDPC-CCのパリティ検査多項式は、式(9-1)~(9-3g)が考えられる。
Figure JPOXMLDOC01-appb-M000009
 このとき、X(D)、X(D)、・・・、Xn-1(D)はデータ(情報)X、X、・・・、Xn-1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(9-1)~(9-3g)では、X(D)、X(D)、・・・、Xn-1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
 時変周期3のLDPC-CC及び時変周期6のLDPC-CCと同様に考えると、式(9-1)~(9-3g)のパリティ検査多項式であらわされる時変周期3g、符号化率(n-1)/n(nは2以上の整数)のLDPC-CCにおいて、以下の条件(<条件#2>)を満たすと、より高い誤り訂正能力を得ることができる可能性が高まる。
 ただし、時変周期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)、式(9-(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(10)が成立する。
Figure JPOXMLDOC01-appb-M000010
 また、式(9-1)~式(9-3g)において、a#k,p,1、a#k,p,2、a#k,p,3は整数(ただし、a#k,p,1≠a#k,p,2≠a#k,p,3)とする(k=1、2、3、・・・、3g:p=1、2、3、・・・、n-1)。また、b#k,1、b#k,2、b#k,3は整数(ただし、b#k,1≠b#k,2≠b#k,3)とする。式(9-k)のパリティ検査多項式(k=1、2、3、・・・、3g)は「検査式#k」と呼ぶ。式(9-k)のパリティ検査多項式に基づくサブ行列は、第kサブ行列Hとする。そして、LDPC―CCとしては、第1サブ行列H、第2サブ行列H、第3サブ行列H、・・・、第3gサブ行列H3gから生成する時変周期3gのLDPC―CCについて考える。
 <条件#2>
 式(9-1)~(9-3g)において、X(D)、X(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)。このとき、D=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)。
 次に、LDPC-CCとしては、符号化を容易に行うという点を考慮した時変周期3g(g=2、3、4、5、・・・)のLDPC-CCについて考える。このとき、符号化率を(n-1)/n(nは2以上の整数)とするとLDPC-CCのパリティ検査多項式は以下のようにあらわすことができる。
Figure JPOXMLDOC01-appb-M000011
 このとき、X(D)、X(D)、・・・、Xn-1(D)はデータ(情報)X、X、・・・Xn-1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(11-1)~(11-3g)では、X(D)、X(D)、・・・、Xn-1(D)、P(D)それぞれに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)、式(11-(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(12)が成立する。
Figure JPOXMLDOC01-appb-M000012
 このとき、<条件#3>及び<条件#4>を満たすと、より高い誤り訂正能力を持つ符号を作成することができる可能性が高まる。
 <条件#3>
 式(11-1)~(11-3g)において、X(D)、X(D)、・・・、Xn-1(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)は、
 (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#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)。
 式(11-1)~(11-3g)に対する<条件#3>は、式(9-1)~(9-3g)に対する<条件#2>と同様の関係となる。式(11-1)~(11-3g)に対して、<条件#3>に加え、以下の条件(<条件#4>)を付加すると、より高い誤り訂正能力を持つLDPC-CCを作成することができる可能性が高まる。
 <条件#4>
 式(11-1)~(11-3g)のP(D)の次数は、以下の条件を満たす。
 (b#1,1%3g、b#1,2%3g)、
 (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)以外の値の全ての値が存在する。
 ところで、パリティ検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性があると良好な誤り訂正能力が得られる可能性が高い。式(11-1)~(11-3g)のパリティ検査多項式を持つ時変周期3g(g=2、3、4、5、・・・)、符号化率を(n-1)/n(nは2以上の整数)のLDPC-CCでは、<条件#3>に加え<条件#4>の条件をつけ符号を作成すると、パリティ検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性を与えることが可能となるため、良好な誤り訂正能力が得られる可能性が高まる。
 次に、符号化を容易に行うことができ、かつ、同一時点のパリティビットとデータビットに関連性を持たせる、時変周期3g(g=2、3、4、5、・・・)のLDPC-CCについて考える。このとき、符号化率を(n-1)/n(nは2以上の整数)とするとLDPC-CCのパリティ検査多項式は以下のようにあらわすことができる。
Figure JPOXMLDOC01-appb-M000013
 このとき、X(D)、X(D)、・・・、Xn-1(D)はデータ(情報)X、X、・・・、Xn-1の多項式表現であり、P(D)はパリティの多項式表現である。そして、式(13-1)~(13-3g)では、X(D)、X(D)、・・・、Xn-1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とし、X(D)、X(D)、・・・、Xn-1(D)、P(D)にはDの項が存在することになる(k=1、2、3、・・・、3g)。
 ただし、時変周期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)が成立する。
Figure JPOXMLDOC01-appb-M000014
 このとき、以下の条件(<条件#5>及び<条件#6>)を満たすと、更に高い誤り訂正能力を持つ符号を作成できる可能性が高くなる。
 <条件#5>
 式(13-1)~(13-3g)において、X(D)、X(D)、・・・、Xn-1(D)の次数の組み合わせが以下の条件を満たす。
 (a#1,1,1%3、a#1,1,2%3)、
 (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#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)。
 式(13-1)~(13-3g)に対する<条件#5>は、式(9-1)~(9-3g)に対する<条件#2>と同様の関係となる。式(13-1)~(13-3g)に対して、<条件#5>に加え、以下の条件(<条件#6>)を付加すると、高い誤り訂正能力を持つLDPC-CCを作成できる可能性が高くなる。
 <条件#6>
 式(13-1)~(13-3g)のX1(D)の次数は、次の条件を満たす。
 (a#1,1,1%3g、a#1,1,2%3g)、
 (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#1,2,1%3g、a#1,2,2%3g)、
 (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#1,3,1%3g、a#1,3,2%3g)、
 (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#1,k,1%3g、a#1,k,2%3g)、
 (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#1,n-1,1%3g、a#1,n-1,2%3g)、
 (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#1,1%3g、b#1,2%3g)、
 (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>のかわりに、<条件#6’>を用いる、つまり、<条件#5>に加え、<条件#6’>を付加し符号を作成しても、より高い誤り訂正能力を持つLDPC-CCを作成できる可能性が高くなる。
 <条件#6’>
 式(13-1)~(13-3g)のX1(D)の次数は、次の条件を満たす。
 (a#1,1,1%3g、a#1,1,2%3g)、
 (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#1,2,1%3g、a#1,2,2%3g)、
 (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#1,3,1%3g、a#1,3,2%3g)、
 (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#1,k,1%3g、a#1,k,2%3g)、
 (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#1,n-1,1%3g、a#1,n-1,2%3g)、
 (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#1,1%3g、b#1,2%3g)、
 (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のパリティ検査多項式の次数の条件は、以下に説明する。
 時変周期を3g(g=1、2、3、4、・・・)、符号化率1/2(n=2)のLDPC-CCのパリティ検査多項式は、式(15-1)~(15-3g)が考えられる。
Figure JPOXMLDOC01-appb-M000015
 このとき、Xはデータ(情報)Xの多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(15-1)~(15-3g)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
 時変周期3のLDPC-CC及び時変周期6のLDPC-CCと同様に考えると、式(15-1)~(15-3g)のパリティ検査多項式であらわされる時変周期3g、符号化率1/2(n=2)のLDPC-CCにおいて、以下の条件(<条件#2-1>)を満たすと、より高い誤り訂正能力を得ることができる可能性が高まる。
 ただし、時変周期3g、符号化率1/2(n=2)のLDPC-CCは、時刻iのパリティをPi及び情報をXi,1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g-1)、式(15-(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(16)が成立する。
Figure JPOXMLDOC01-appb-M000016
 また、式(15-1)~式(15-3g)において、a#k,1,1、a#k,1,2、a#k,1,3は整数(ただし、a#k,1,1≠a#k,1,2≠a#k,1,3)とする(k=1、2、3、・・・、3g)。また、b#k,1、b#k,2、b#k,3は整数(ただし、b#k,1≠b#k,2≠b#k,3)とする。式(15-k)のパリティ検査多項式(k=1、2、3、・・・、3g)は「検査式#k」と呼ぶ。式(15-k)のパリティ検査多項式に基づくサブ行列は、第kサブ行列Hとする。そして、LDPC―CCとしては、第1サブ行列H、第2サブ行列H、第3サブ行列H、・・・、第3gサブ行列H3gから生成する時変周期3gの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)のいずれかとなる。
 ただし、符号化を容易に行うという点を考慮すると、式(15-1)~(15-3g)には、
 (b#k,1%3、b#k,2%3、b#k,3%3)の3つのうち、“0”が1つ存在すると良い(ただし、k=1、2、・・・3g)。このとき、D=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つ存在すると良い(ただし、k=1、2、・・・3g)。
 次に、LDPC-CCとしては、符号化を容易に行うという点を考慮した時変周期3g(g=2、3、4、5、・・・)のLDPC-CCについて考える。このとき、符号化率を1/2(n=2)とするとLDPC-CCのパリティ検査多項式は以下のようにあらわすことができる。
Figure JPOXMLDOC01-appb-M000017
 このとき、X(D)はデータ(情報)Xの多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(17-1)~(17-3g)では、X、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。ただし、時変周期3g、符号化率1/2(n=2)のLDPC-CCは、時刻iのパリティをPi及び情報をXi,1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g-1)、式(17-(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(18)が成立する。
Figure JPOXMLDOC01-appb-M000018
 このとき、<条件#3-1>及び<条件#4-1>を満たすと、より高い誤り訂正能力を持つ符号を作成することができる可能性が高まる。
 <条件#3-1>
 式(17-1)~(17-3g)において、X(D)の次数の組み合わせが以下の条件を満たす。
 (a#1,1,1%3、a#1,1,2%3、a#1,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)は、(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)のいずれかとなる。
 加えて、式(17-1)~(17-3g)は、P(D)の次数の組み合わが以下の条件を満たす。
 (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)。
 式(17-1)~(17-3g)に対する<条件#3-1>は、式(15-1)~(15-3g)に対する<条件#2-1>と同様の関係となる。式(17-1)~(17-3g)に対して、<条件#3-1>に加え、以下の条件(<条件#4-1>)を付加すると、より高い誤り訂正能力を持つLDPC-CCを作成することができる可能性が高まる。
 <条件#4-1>
 式(17-1)~(17-3g)のP(D)の次数は、以下の条件を満たす。
 (b#1,1%3g、b#1,2%3g)、
 (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)以外の値の全ての値が存在する。
 ところで、パリティ検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性があると良好な誤り訂正能力が得られる可能性が高い。式(17-1)~(17-3g)のパリティ検査多項式を持つ時変周期3g(g=2、3、4、5、・・・)、符号化率1/2(n=2)のLDPC-CCでは、<条件#3-1>に加え<条件#4-1>の条件をつけ符号を作成すると、パリティ検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性を与えることが可能となるため、より良好な誤り訂正能力が得られる可能性が高まる。
 次に、符号化を容易に行うことができ、かつ、同一時点のパリティビットとデータビットに関連性を持たせる、時変周期3g(g=2、3、4、5、・・・)のLDPC-CCについて考える。このとき、符号化率を1/2(n=2)とするとLDPC-CCのパリティ検査多項式は以下のようにあらわすことができる。
Figure JPOXMLDOC01-appb-M000019
 このとき、X(D)はデータ(情報)Xの多項式表現であり、P(D)はパリティの多項式表現である。そして、式(19-1)~(19-3g)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とし、X(D)、P(D)にはDの項が存在することになる(k=1、2、3、・・・、3g)。
 ただし、時変周期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)が成立する。
Figure JPOXMLDOC01-appb-M000020
 このとき、以下の条件(<条件#5-1>及び<条件#6-1>)を満たすと、より高い誤り訂正能力を持つ符号を作成することができる可能性が高まる。
 <条件#5-1>
 式(19-1)~(19-3g)において、X(D)の次数の組み合わせが以下の条件を満たす。
 (a#1,1,1%3、a#1,1,2%3)は、(1、2)、(2、1)のいずれかとなる。
 かつ、
 (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)のいずれかとなる。
 加えて、式(19-1)~(19-3g)は、P(D)の次数の組み合わが以下の条件を満たす。
 (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)。
 式(19-1)~(19-3g)に対する<条件#5-1>は、式(15-1)~(15-3g)に対する<条件#2-1>と同様の関係となる。式(19-1)~(19-3g)に対して、<条件#5-1>に加え、以下の条件(<条件#6-1>)を付加すると、より高い誤り訂正能力を持つLDPC-CCを作成することができる可能性が高まる。
 <条件#6-1>
 式(19-1)~(19-3g)のX(D)の次数は、次の条件を満たす。
 (a#1,1,1%3g、a#1,1,2%3g)、
 (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#1,1%3g、b#1,2%3g)、
 (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”の存在する位置に規則性を持ちながらもランダム性があると、良好な誤り訂正能力が得られる可能性が高い。式(19-1)~(19-3g)のパリティ検査多項式を持つ時変周期3g(g=2、3、4、5、・・・)、符号化率1/2のLDPC-CCでは、<条件#5-1>に加え<条件#6-1>の条件を付加して符号を作成すると、パリティ検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性を与えることが可能となるため、より良好な誤り訂正能力が得られる可能性が高まる。
 また、<条件#6-1>のかわりに、<条件#6’-1>を用いる、つまり、<条件#5-1>に加え、<条件#6’-1>を付加し符号を作成しても、より高い誤り訂正能力を持つLDPC-CCを作成することができる可能性が高まる。
 <条件#6’-1>
 式(19-1)~(19-3g)のX(D)の次数は、次の条件を満たす。
 (a#1,1,1%3g、a#1,1,2%3g)、
 (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#1,1%3g、b#1,2%3g)、
 (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)。
 以上、特性が良好な時変周期gのLDPC-CCについて説明した。なお、上記LDPC-CCを、実施の形態1の消失訂正符号化部に用いる場合には、タナーグラフを描いた際に、ループ4(あるノードから始まり、そのノードで終わる周回路(周回するパス)であり、長さ4)、ループ6(長さが6のループ、「Girth 6」ともいう)がない場合に、更に、特性が良好となることが確認された。
 なお、LDPC-CCは、情報ベクトルnに生成行列Gを乗ずることにより、符号化データ(符号語)を得ることができる。つまり、符号化データ(符号語)cは、c=n×Gと表すことができる。ここで、生成行列Gは、あらかじめ設計されたパリティ検査行列Hに対応して求められたものである。具体的には、生成行列Gは、G×H=0を満たす行列である。
 例えば、畳み込み符号が、符号化率1/2、生成多項式G=[1 G(D)/G(D)]の畳み込み符号である例を考える。このとき、Gはフィードフォワード多項式、Gはフィードバック多項式をあらわす。情報系列(データ)の多項式表現をX(D)、パリティ系列の多項式表現をP(D)とするとパリティ検査多項式は、以下の式(21)のようにあらわされる。
Figure JPOXMLDOC01-appb-M000021
ここで、Dは、遅延演算子である。
 図18は、(7,5)の畳み込み符号に関する情報が記載されている。(7,5)畳み込み符号の生成行列はG=[1 (D+1)/(D+D+1)]とあらわされる。したがって、パリティ検査多項式は、以下の式(22)となる。
Figure JPOXMLDOC01-appb-M000022
 ここで、式(22)は、時点iにおけるデータをX、パリティをPとあらわし、送信系列W=(X,P)とあらわす。そして、式(22)は、送信ベクトルw=(X,P,X,P,・・・,X,P・・・)とあらわす。すると、式(22)から、パリティ検査行列Hは図18に示すようにあらわすことができる。このとき、以下の式(23)の関係式が成立する。
Figure JPOXMLDOC01-appb-M000023
 したがって、復号側では、パリティ検査行列Hを用い、非特許文献4~非特許文献9に示されているようなBP(Belief Propagation)(信頼度伝播)復号、BP復号を近似したmin-sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などの信頼度伝播を利用した復号を行うことができる。
 (畳み込み符号に基づく時不変・時変LDPC-CC(符号化率(n-1)/n)(n:自然数))
 以下、畳み込み符号に基づく時不変・時変LDPC-CCの概要を述べる。
 符号化率R=(n-1)/nの情報X、X、・・・、Xn-1の多項式表現をX(D)、X(D)、・・・、Xn-1(D)、また、パリティPの多項式表現をP(D)とし、式(24)のようにあらわされるパリティ検査多項式を考える。
Figure JPOXMLDOC01-appb-M000024
 式(24)において、このときap,p(p=1,2,・・・,n-1;q=1,2,・・・,rp)は、例えば、自然数であり、ap,1≠ap,2≠・・・≠ap,rpを満足する。また、bq(q=1,2,・・・,s)は、自然数であり、b≠b≠・・・≠bを満足する。このとき、式(24)のパリティ検査多項式に基づくパリティ検査行列で定義される符号を、ここでは、時不変LDPC-CCと呼ぶ。
 式(24)に基づく異なるパリティ検査多項式をm個用意する(mは、2以上の整数)。そのパリティ検査多項式は以下のようにあらわされる。
Figure JPOXMLDOC01-appb-M000025
ここで、式(25)のiは、i=0,1,・・・,m-1である。
 そして、式(25)は、時点jにおける情報X、X、・・・、Xn-1をX1,j、X2,j、・・・、Xn-1,jとあらわし、時点jにおけるパリティPをPjとあらわし、u=(X1,j,X2,j,・・・,Xn-1,j,Pj)とする。このとき、時点jの情報X1,j、X2,j、・・・、Xn-1,jおよびパリティPは、式(26)のパリティ検査多項式を満たす。
Figure JPOXMLDOC01-appb-M000026
ここで、「j mod m」は、jをmで除算した余りである。
 式(26)のパリティ検査多項式に基づくパリティ検査行列で定義される符号を、ここでは時変LDPC-CCと呼ぶ。このとき、式(24)のパリティ検査多項式で定義される時不変LDPC-CC、および、式(26)のパリティ検査多項式で定義される時変LDPC-CCは、逐次的にパリティをレジスタおよび排他的論理和で簡単に求めることができるという特徴をもつ。
 例えば、図19は、符号化率2/3で、式(24)~式(26)に基づく時変周期2のLDPC―CCのパリティ検査行列Hの構成を示す。検査式は、式(26)に基づく時変周期2の異なる2つの検査多項式に対し、「検査式#1」、「検査式#2」と名付ける。図19において、(Ha,111)は「検査式#1」に相当する部分であり、(Hc,111)は「検査式#2」に相当する部分である。以下、(Ha,111)および(Hc,111)は、サブ行列と定義する。
 このように、本提案の時変周期2のLDPC-CCのパリティ検査行列Hを、「検査式#1」のパリティ検査多項式をあらわす第1サブ行列と、「検査式#2」のパリティ検査多項式をあらわす第2サブ行列とにより定義することができる。具体的には、パリティ検査行列Hにおいて、第1サブ行列と第2サブ行列とが行方向に交互に配置されるようにする。なお、符号化率2/3の場合、図19に示すように、第i行と第i+1行とでは、サブ行列が3列右にシフトした構成となる。
 また、時変周期2の時変LDPC-CCの場合、第i行のサブ行列と第i+1行のサブ行列とは、異なるサブ行列となる。つまり、サブ行列(Ha,11)または(Hc,11)のいずれか一方が第1サブ行列となり、他方が第2サブ行列となる。送信ベクトルuを、u=(X1,0、X2,0、P、X1,1、X2,1、P、・・・、X1,k、X2,k、P、・・・・)とすると、Hu=0が成立する。
 次に、LDPC-CCとしては、符号化率2/3の場合に、時変周期をmとするLDPC-CCを考える。時変周期2の場合と同様に、式(24)であらわされるパリティ検査多項式をm個用意する。そして、式(24)であらわされる「検査式#1」を用意する。同様に、式(24)であらわされる「検査式#2」から「検査式#m」を用意する。時点mi+1のデータXとパリティPをそれぞれXmi+1、Pmi+1とあらわし、時点mi+2のデータXとパリティPとを、それぞれXmi+2、Pmi+2とあわし、・・・、時点mi+mのデータXとパリティPとを、それぞれXmi+m、Pmi+mとあらわす(i:整数)。
 このとき、時点mi+1のパリティPmi+1を「検査式#1」を用いて求め、時点mi+2のパリティPmi+2を「検査式#2」を用いて求め、・・・、時点mi+mのパリティPmi+mを「検査式#m」を用いて求めるLDPC-CCを考える。このようなLDPC-CC符号は、・符号化器を簡単に構成することができ、かつ、パリティを逐次的に求めることができる・終端ビットの削減、終端時のパンクチャ時の受信品質の向上が見込めるという利点を備える。
 図20は、上述した符号化率2/3、時変周期mのLDPC-CCのパリティ検査行列の構成を示す。図20において、(H,111)は「検査式#1」に相当する部分であり、(H,111)は「検査式#2」に相当する部分であり、・・・、(H,111)は「検査式#m」に相当する部分である。以下、(H,111)は第1サブ行列と定義し、(H,111)は第2サブ行列と定義し、・・・、(H,111)は、第mサブ行列と定義する。
 このように、本提案の時変周期mのLDPC-CCのパリティ検査行列Hは、「検査式#1」のパリティ検査多項式をあらわす第1サブ行列、「検査式#2」のパリティ検査多項式をあらわす第2サブ行列、・・・、および、「検査式#m」のパリティ検査多項式をあらわす第mサブ行列により定義することができる。具体的には、パリティ検査行列Hにおいて、第1サブ行列から第mサブ行列までが、行方向に周期的に配置されるようにした(図20参照)。なお、符号化率2/3の場合、第i行と第i+1行とでは、サブ行列が3列右にシフトした構成となる(図20参照)。
 送信ベクトルuを、u=(X1,0、X2,0、P、X1,1、X2,1、P、・・・、X1,k、X2,k、P、・・・・)とすると、Hu=0が成立する。
 上述の説明では、符号化率(n-1)/nの畳み込み符号に基づく時不変・時変LDPC-CCの一例として、符号化率2/3の場合を例に説明したが、同様に考えることで、符号化率(n-1)/nの畳み込み符号に基づく時不変・時変LDPC-CCのパリティ検査行列を作成することができる。
 なお、本明細書で扱う時変周期mのLDPC-CCについての数式を用いた表現方法、パリティ検査多項式とパリティ検査行列の関係については、実施の形態5において、再度説明している。
 すなわち、符号化率2/3の場合、図20において、(H,111)は「検査式#1」に相当する部分(第1サブ行列)であり、(H,111)は「検査式#2」に相当する部分(第2サブ行列)であり、・・・、(H,111)は「検査式#m」に相当する部分(第mサブ行列)であるのに対し、符号化率(n-1)/nの場合、図21に示すようになる。つまり、「検査式#1」に相当する部分(第1サブ行列)は、(H,11・・・1)であらわされ、「検査式#k」(k=2、3、・・・、m)に相当する部分(第kサブ行列)は、(H,11・・・1)であらわされる。このとき、第kサブ行列において、Hを除く部分の「1」の個数は、n個となる。そして、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図21参照)。
 送信ベクトルuを、u=(X1,0、X2,0、・・・、Xn-1,0、P、X1,1、X2,1、・・・、Xn-1,1、P、・・・、X1,k、X2,k、・・・、Xn-1,k、P、・・・・)とすると、Hu=0が成立する。
 なお、図22は、一例として、符号化率R=1/2の場合のLDPC-CC符号化部の構成例を示す。図22に示すように、LDPC-CC符号化部500は、データ演算部510、パリティ演算部520、ウェイト制御部530及びmod2加算器540を主に備える。
 データ演算部510は、シフトレジスタ511-1~511-M、ウェイト乗算器512-0~512-Mを備える。
 パリティ演算部520は、シフトレジスタ521-1~521-M、ウェイト乗算器522-0~522-Mを備える。
 シフトレジスタ511-1~511-M及び521-1~521-Mは、それぞれv1,t-i,v2,t-i(i=0,…,M)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。なお、シフトレジスタの初期状態は全て0である。
 ウェイト乗算器512-0~512-M,522-0~522-Mは、ウェイト制御部530から出力される制御信号にしたがって、h (m),h (m)の値を0/1に切り替える。
 ウェイト制御部530は、内部に保持するパリティ検査行列に基づいて、そのタイミングにおけるh (m),h (m)の値を出力し、ウェイト乗算器512-0~512-M,522-0~522-Mに供給する。
 mod2加算器540は、ウェイト乗算器512-0~512-M,522-0~522-Mの出力に対しmod2加算を行い、v2,tを算出する。
 このような構成を採ることで、LDPC-CC符号化部(LDPC-CC符号化器)500は、パリティ検査行列にしたがったLDPC-CCの符号化を行うことができる。
 なお、ウェイト制御部530が保持するパリティ検査行列の各行の並びが行ごとに異なる場合、LDPC-CC符号化部500は、時変(time varying)畳み込み符号化器となる。また、符号化率(q-1)/qのLDPC-CCの場合には、データ演算部510を(q-1)個設け、mod2加算器540が、各ウェイト乗算器の出力をmod2加算を行う構成とすれば良い。
 (実施の形態3)
 実施の形態2では、特性が良好なLDPC-CCについて説明した。本実施の形態では、実施の形態2で説明したLDPC-CCを物理層に適用する場合に、符号化率を可変とするショートニング方法について説明する。ショートニングとは、第1の符号化率の符号から第2の符号化率(第1の符号化率>第2の符号化率)の符号を生成することをいう。以下では、一例として、符号化率1/2のLDPC-CCから符号化率1/3のLDPC-CCを生成するショートニング方法について説明する。
 図23は、符号化率1/2のLDPC-CCの検査式とパリティ検査行列Hの一例である。図23に示す符号化率1/2のLDPC―CCは、実施の形態1で説明した特性が良好な時変周期3のLDPC-CCの一例であり、パリティ検査行列Hは、式(27-1)~式(27-3)から構成されている。
Figure JPOXMLDOC01-appb-M000027
 したがって、式(27-1)~(27-3)は、「式(27-1)~(27-3)において、X(D)及びP(D)の次数の組み合わせ(a1、a2、a3)、(b1、b2、b3)、(A1、A2、A3)、(B1、B2、B3)、(α1、α2、α3)、(β1、β2、β3)の各値を3で除算した余りをkとした場合、上記のようにあらわした3つの係数セット(例えば、(a1、a2、a3))に、余り0、1、2が1つずつ含まれるようにし、かつ、上記の3つの係数セット全てで成立するようにする」という「余り」に関する条件(余りルール)を満たしている。
 図23では、時間iにおける情報はXi、パリティはPiとする。そして、符号語w=(X0、P0、X1、P1、・・・、Xi、Pi、・・・)とすると、図23のパリティ検査行列Hと符号語wは、式(23)を満たすことになる。このとき、パリティ検査行列Hの列と対応する符号語wは、図23の枠601に示す。すなわち、パリティ検査行列Hの列に対し、符号語wは、(・・・、X3k、P3k、X3k+1、P3k+1、X3k+2、P3k+2、X3(k+1)、P3(k+1)、X3(k+1)+1、P3(k+1)+1、・・・)のように対応する。
 以下では、物理層において、符号化率1/2のLDPC-CCから、符号化率1/3を実現するショートニング方法について説明する。
 [方法#1-1]
 ショートニング方法は、情報Xに規則的に既知情報(例えば、ゼロ)を挿入する。例えば、情報6kビットのうち3kビットには既知情報を挿入し、既知情報を含む6kビットの情報に対しては、符号化率1/2のLDPC-CCを用いて符号化を行う。これにより、6kビットのパリティが生成される。このとき、情報6kビットのうち3kビットの既知情報は、送信しないビットとする。これにより、符号化率1/3を実現することができる。
 なお、既知情報は、ゼロに限らず、1でも、又は、予め定めた1以外の値でも良く、通信相手の通信装置に予め通知、または、仕様として決定されていればよい。
 [方法#1-2]
 ショートニング方法は、図24に示すように、情報及びパリティから構成される3×2×2kビットを1周期とし、各周期において、既知情報を同様の規則(挿入ルール)で挿入する。既知情報を同様の規則(挿入ルール)で挿入するとは、例えば、図25のように、情報及びパリティから構成される12ビットを1周期とした場合、最初の1周期では、X0、X2、X4に既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する。次の1周期では、X6、X8、X10に既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入し、・・・、i番目の1周期では、X6i、X6i+2、X6i+4に既知情報を挿入する、・・・というように、各周期において、既知情報が挿入される位置を同じとする。
 [方法#1-1]と同様に、例えば、情報6kビットのうち3kビットに既知情報を挿入し、既知情報を含む6kビットの情報に対し符号化率1/2のLDPC-CCを用いて符号化を行うことにより、6kビットのパリティが生成される。このとき、3kビットの既知情報を送信しないビットとすると、符号化率1/3を実現することができる。以下、既知情報を挿入する位置と誤り訂正能力との関係は、例として、図26Aを用いて説明する。
 図26Aは、パリティ検査行列Hの一部と符号語w(X0、P0、X1、P1、X2、P2、・・・、X9、P9)との対応関係を示している。図26Aの行701では、X2及びX4に対応する列に要素“1”が配置されている。また、図26Aの行702では、X2及びX9に対応する列に要素“1”が配置されている。したがって、X2、X4、X9に既知情報を挿入すると、行701及び行702では、要素が“1”となる列に対応する全ての情報が既知となる。そのため、行701及び行702では、未知の値はパリティのみとなるので、BP復号の行演算において、信頼性が高い対数尤度比の更新を行うことができるようになる。
 すなわち、既知情報を挿入することで、元の符号化率より小さい符号化率を実現する場合、パリティ検査行列における各行、つまり、パリティ検査多項式において、パリティと情報のうち、情報において、全て既知情報である行、または、既知情報の数が多い行(例えば、1ビット以外は既知情報)を多くすることが、高い誤り訂正能力を得るうえで重要となる。
 時変LDPC-CCの場合には、パリティ検査行列Hにおいて、要素“1”が配置されるパターンに規則性があるため、パリティ検査行列Hに基づいて、各周期において、既知情報を規則的に挿入することにより、未知の値がパリティのみである行、又は、パリティ及び情報が未知の場合に、未知の情報のビット数が少ない行を多くすることができ、良好な特性を与える符号化率1/3のLDPC-CCを得ることができる。
 以下の[方法#1-3]によると、実施の形態2で説明した特性が良好な符号化率1/2、時変周期3のLDPC-CCから、誤り訂正能力の高い、符号化率1/3、時変周期3のLDPC-CCを実現することができる。
 以下では、「式(3-1)~(3-3)において、X(D)及びP(D)の次数の組み合わせ(a1、a2、a3)、(b1、b2、b3)、(A1、A2、A3)、(B1、B2、B3)、(α1、α2、α3)、(β1、β2、β3)の各値を3で除算した余りをkとした場合、上記のようにあらわした3つの係数セット(例えば、(a1、a2、a3))に、余り0、1、2が1つずつ含まれるようにし、かつ、上記の3つの係数セット全てで成立するようにする」という「余り」に関する条件(余りルール)を満たす式(3-1)~(3-3)で示される符号化率1/2、時変周期3のLDPC-CCから、符号化率1/3を実現するショートニング方法について説明する。
 [方法#1-3]
 ショートニング方法は、情報及びパリティから構成される3×2×2kビットの周期において、情報X6i、X6i+1、X6i+2、X6i+3、X6i+4、X6i+5、・・・、X6(i+k-1)、X6(i+k-1)+1、X6(i+k-1)+2、X6(i+k-1)+3、X6(i+k-1)+4、X6(i+k-1)+5の6kビットのうち、3k個のXj(ただし、jは、6i~6(i+k-1)+5のいずれかの値をとり、3k個の異なる値が存在する)に、既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する。
 このとき、3k個のXjに既知情報を挿入する場合に、異なる3k個のjを3で除算した余りのうち、余りが0となる個数がk個となり、余りが1となる個数がk個となり、余りが2となる個数がk個となるようにする。
 このようにして、既知情報を挿入する位置に条件を設けることにより、パリティ検査行列Hの各行において、つまり、パリティ検査多項式において、情報が全て既知情報となる行、または、既知情報の数が多い行(例えば、1ビット以外は既知情報)をできるだけ多くすることができるようになる。以下、この点について説明する。
 式(3-1)~(3-3)で示される符号化率1/2、時変周期3のLDPC-CCが、「余り」に関する条件(余りルール)に基づいて設計されているとする。つまり、式(3-1)~(3-3)は、「式(3-1)~(3-3)において、X(D)及びP(D)の次数の組み合わせ(a1、a2、a3)、(b1、b2、b3)、(A1、A2、A3)、(B1、B2、B3)、(α1、α2、α3)、(β1、β2、β3)の各値を3で除算した余りをkとした場合、上記のようにあらわした3つの係数セット(例えば、(a1、a2、a3))に、余り0、1、2が1つずつ含まれるようにし、かつ、上記の3つの係数セット全てで成立するようにする」という「余り」に関する条件(余りルール)を満たすとする。
 図26Bは、上記余りルールを満たす符号化率1/2、時変周期3のLDPC-CCのパリティ検査行列と時点との対応関係を示している。図26Bのパリティ検査行列は、検査式#1がパリティ検査多項式(27-1)であり、検査式#2がパリティ検査多項式(27-2)であり、検査式#3がパリティ検査多項式(27-3)の例である。
 図26Bに示すように、式(27-1)では、時点j、時点(j-1)及び時点(j-2)の情報に対応する要素が“1”となっている。したがって、式(27-1)において要素“1”が存在する時点、すなわち、(j,(j-1),(j-2))の各値を3で除算した余りには、jの値によらず、0,1,2が存在する。このように、jの値によらず(j,(j-1),(j-2))の各値を3で除算した余りに、0,1,2が存在するのは、式(27-1)が、上記余りルールを満たすからである。
 同様に、パリティ検査多項式(27-2)も、上記余りルールを満たすため、式(27-2)において要素“1”が存在する時点、すなわち、(j,(j-1),(j-5))の各値を3で除算した余りには、jの値によらず、0,1,2が存在する。
 同様に、パリティ検査多項式(27-3)も、上記余りルールを満たすため、式(27-3)において要素“1”が存在する時点、すなわち、(j,(j-2),(j-4))の各値を3で除算した余りには、jの値によらず、0,1,2が存在する。
 上述したように、パリティ検査行列Hにおいて、要素が“1”となる列に対応する情報が全て既知情報となる、または、要素が“1”となる列に対応する情報が既知情報となる行が多いほど、BP復号の行演算において、信頼性が高い対数尤度比の更新を行うことができるようになる。したがって、情報及びパリティから構成される3×2×2kビットの周期において、情報6kビットのうち3kビットに既知情報を挿入することにより、符号化率1/3を実現する場合、時点jの情報をXjとあらわしたとき、jを3で除算した余りが0となる個数と、余りが1となる個数と、余りが2となる個数とが同数となるようにすると、上述の式(27-1)、(27-2)、(27-3)の特徴を考慮すると、要素が“1”となる列に対応する情報が全て既知情報となる、または、要素が“1”となる列に対応する情報が既知情報となる行を多くすることができる。
 このように、余りの個数に着目した[方法#1-3]の挿入ルールは、余りルールに基づいて作成された符号化率1/2、時変周期3のLDPC-CCから、高い誤り訂正能力をもつ符号化率1/3、時変周期3のLDPC-CCの作成する上で、重要となる。
 再度、図25に戻って説明する。図25に示すように、3×2×2×1ビット(つまりk=1)を1周期とし、情報及びパリティX6i、P6i、X6i+1、P6i+1、X6i+2、P6i+2、X6i+3、P6i+3、X6i+4、P6i+4、X6i+5、P6i+5のうち、X6i、X6i+2、X6i+4に既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する場合について考える。
 この場合、既知情報を挿入したXjのjとしては、6i、6i+2、6i+4の3つの異なる値が存在する。このとき、6iを3で除算した余りは0となり、6i+2を3で除算した余りは2となり、6i+4を3で除算した余りは1となる。したがって、余りが0となる個数が1個となり、余りが1となる個数が1個となり、余りが2となる個数が1個となり、上記[方法#1-3]の挿入ルールを満たす。よって、図25に示す例は、上記[方法#1-3]の挿入ルールを満たす一例といえる。
 一方、上述で説明したように、上記[方法#1-3]の挿入ルールが満たされない場合には、未知の値がパリティのみである行の数は少なくなる。よって、[方法#1-3]の挿入ルールは、「余り」に関する条件(余りルール)を満たす符号化率1/2のLDPC-CCをショートニングして、特性が良好な符号化率1/3のLDPC-CCを得る上で重要となる。
 次に、実施の形態2で述べた符号化率(n-1)/n(nは2以上の整数)の時変周期3のLDPC-CCから符号化率(n-1)/nより小さい符号化率を実現するショートニング方法について説明する。
 良好な特性が得られる符号化率(n-1)/nの時変周期3のLDPC-CCの概要は、以下の通りである。
 符号化率(n-1)/nの時変周期3のLDPC-CCのパリティ検査多項式は、上述の式(4-1)~(4-3)が考えられる。このとき、X(D)、X(D)、・・・、Xn-1(D)はデータ(情報)X、X、・・・、Xn-1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(4-1)~(4-3)では、X(D)、X(D)、・・・、Xn-1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
 式(4-1)において、ai,1、ai,2、ai,3(i=1,2,・・・,n-1)は整数(ただし、ai,1≠ai,2≠ai,3)とする。また、b1、b2、b3は整数(ただし、b1≠b2≠b3)とする。式(4-1)のパリティ検査多項式を「検査式#1」は呼ぶ。式(4-1)のパリティ検査多項式に基づくサブ行列は、第1サブ行列Hとする。
 また、式(4-2)において、Ai,1、Ai,2、Ai,3(i=1,2,・・・,n-1)は整数(ただし、Ai,1≠Ai,2≠Ai,3)とする。また、B1、B2、B3は整数(ただし、B1≠B2≠B3)とする。式(4-2)のパリティ検査多項式は「検査式#2」と呼ぶ。式(4-2)のパリティ検査多項式に基づくサブ行列は、第2サブ行列Hとする。
 また、式(4-3)において、αi,1、αi,2、αi,3(i=1,2,・・・,n-1)は整数(ただし、αi,1≠αi,2≠αi,3)とする。また、β1、β2、β3は整数(ただし、β1≠β2≠β3)とする。式(4-3)のパリティ検査多項式は、「検査式#3」と呼ぶ。式(4-3)のパリティ検査多項式に基づくサブ行列は、第3サブ行列Hとする。
 そして、LDPC―CCは、第1サブ行列H、第2サブ行列H、第3サブ行列Hから生成する時変周期3のLDPC―CCについて考える。
 このとき、式(4-1)~(4-3)において、X(D)、X(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)のいずれかとなるようにする。
 このようにしてLDPC-CCを生成することにより、レギュラーLDPC-CC符号を生成することができる。更に、BP復号を行った場合、「検査式#2」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#1」に対して伝播し、「検査式#1」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#2」に対して伝播し、「検査式#1」における信頼度及び「検査式#2」における信頼度が、「検査式#3」に対して的確に伝播する。このため、符号化率1/2の場合と同様に、より受信品質が良好なLDPC-CCを得ることができる。
 上記で述べた符号化率(n-1)/nの時変周期3のLDPC-CCを用いて誤り訂正能力の高い符号化率(n-1)/nより小さい符号化率を実現するショートニング方法は、以下の通りである。
 [方法#2-1]
 ショートニング方法は、情報Xに規則的に既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する。
 [方法#2-2]
 ショートニング方法は、図27に示すように、情報及びパリティから構成される3×n×kビットを1周期とし、各周期において、既知情報を同様の規則(挿入ルール)で挿入する。各周期において、既知情報を同様の規則(挿入ルール)で挿入するとは、図25を用いて上述の[方法#1-2]で説明した通りである。
 [方法#2-3]
 ショートニング方法は、情報及びパリティから構成される3×n×kビットの周期において、情報X0,3i、X1,3i、X2,3i、・・・、Xn-1,3i、・・・・・・、X0,3(i+k-1)+2、X1,3(i+k-1)+2、X2,3(i+k-1)+2、・・・、Xn-1,3(i+k-1)+2の3×n×kビットから、Zビット選択し、選択したZビットに既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する。
 このとき、ショートニング方法は、既知情報を挿入したX0,j(ただし、jは、3i~3(i+k-1)+2のいずれかの値をとる。)において、jすべてに対し、3で除算したときの余りを求める。すると、余りが0となる個数と余りが1となる個数との差は1以下、余りが0となる個数と余りが2となる個数との差は1以下、余りが1となる個数と余りが2となる個数との差は1以下とする。
 同様に、ショートニング方法は、既知情報を挿入したX1,j(ただし、jは、3i~3(i+k-1)+2のいずれかの値をとる。)において、jすべてに対し、3で除算したときの余りを求める。すると、余りが0となる個数と余りが1となる個数との差は1以下、余りが0となる個数と余りが2となる個数との差は1以下、余りが1となる個数と余りが2となる個数との差は1以下とする。
 同様に、ショートニング方法は、既知情報を挿入したXh,j(ただし、jは、3i~3(i+k-1)+2のいずれかの値をとる。)において、jすべてに対し、3で除算したときの余りを求める。すると、余りが0となる個数と余りが1となる個数との差は1以下、余りが0となる個数と余りが2となる個数との差は1以下、余りが1となる個数と余りが2となる個数との差は1以下とする(h=1、2、3、・・・、n-1)。
 このようにして、既知情報を挿入する位置に条件を設けることにより、[方法#1-3]と同様に、パリティ検査行列Hにおいて、「未知の値がパリティ及び少ない情報ビットという行」をより多く生成することができるようになるので、上記で述べた特性が良好な符号化率(n-1)/nの時変周期3のLDPC-CCを用いて誤り訂正能力の高い符号化率(n-1)/nより小さい符号化率を実現することができる。
 [方法#2-3]では、挿入される既知情報の数が各周期で同じ場合について説明したが、挿入される既知情報の数が各周期で異なっていても良い。例えば、図28に示すように、最初の周期ではN個の情報を既知情報とし、次の周期ではN個の情報を既知情報とし、i番目の周期では、Ni個の情報を既知情報とするようにしても良い。このように、挿入される既知情報の数が各周期で異なる場合には、周期という概念は意味をなさない。ショートニング方法は、周期という概念を用いずに[方法#2-3]をあらわすと、[方法#2-4]のようになる。
 [方法#2-4]
 情報及びパリティから構成されるデータ系列において、情報X0,0、X1,0、X2,0、・・・、Xn-1,0、・・・・・・、X0,v、X1,v、X2,v、・・・、Xn-1,vのビット系列からZビット選択し、選択したZビットに既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する。
 このとき、ショートニング方法は、既知情報を挿入したX0,j(ただし、jは、0~vのいずれかの値をとる。)において、jすべてに対し、3で除算したときの余りを求める。すると、余りが0となる個数と余りが1となる個数との差は1以下、余りが0となる個数と余りが2となる個数との差は1以下、余りが1となる個数と余りが2となる個数との差は1以下とする。
 同様に、ショートニング方法は、既知情報を挿入したX1,j(ただし、jは、0~vのいずれかの値をとる。)において、jすべてに対し、3で除算したときの余りを求める。すると、余りが0となる個数と余りが1となる個数との差は1以下、余りが0となる個数と余りが2となる個数との差は1以下、余りが1となる個数と余りが2となる個数との差は1以下とする。
 同様に、ショートニング方法は、既知情報を挿入したXh,j(ただし、jは、0~vのいずれかの値をとる。)において、jすべてに対し、3で除算したときの余りを求める。すると、余りが0となる個数と余りが1となる個数との差は1以下、余りが0となる個数と余りが2となる個数との差は1以下、余りが1となる個数と余りが2となる個数との差は1以下とする(h=1、2、3、・・・、n-1)。
 このようにして、既知情報を挿入する位置に条件を設けることにより、各周期毎に挿入される既知情報のビット数が異なるような場合(または、周期という概念がない場合)においても、[方法#2-3]と同様に、パリティ検査行列Hにおいて、「未知の値がパリティ及び少ない情報ビットという行」をより多く生成することができるようになるので、上記で述べた特性が良好な符号化率(n-1)/nの時変周期3のLDPC-CCを用いて誤り訂正能力の高い符号化率(n-1)/nより小さい符号化率を実現することができる。
 以上、ショートニング方法の説明は、物理層において符号化率を可変とするショートニング方法についての説明である。例えば、通信装置は、通信相手にとって既知の情報を挿入し、既知の情報を含んだ情報に対し、符号化率1/2の符号化を行い、パリティビットを生成する。そして、通信装置は、既知の情報を送信せず、既知の情報以外の情報と求めたパリティビットを送信することにより、符号化率1/3を実現する。
 なお、以上の説明では、時変周期3のLDPC-CCを例に説明したが、実施の形態2で説明した特性が良好な時変周期3g(g=1、2、3、4、・・・)のLDPC-CC(つまり、時変周期が3の倍数のLDPC-CC)に対しても、時変周期3のLDPC-CCに対する同様に、上述の[方法#1-1]~[方法#1-3]、または、[方法#2-1]~[方法#2―4]の方法を満たすことで、高い誤り訂正能力をもつ誤り訂正方法を実現することができる。
 図29Aは、物理層において符号化率を可変とする場合の符号化に関連する部分の構成の一例を示すブロック図である。
 既知情報挿入部131は、情報801及び制御信号802を入力とし、制御信号802に含まれる符号化率の情報に応じて、既知情報を挿入する。具体的には、制御信号802に含まれる符号化率が、符号化器132がサポートする符号化率より小さく、ショートニングを行う必要がある場合、上述で述べたショートニング方法にしたがって既知情報を挿入し、既知情報挿入後の情報804を出力する。なお、制御信号802に含まれる符号化率が、符号化器132がサポートする符号化率に等しく、ショートニングを行う必要がない場合には、既知情報を挿入せず、情報801をそのまま情報804として出力する。
 符号化器132は、情報804及び制御信号802を入力とし、情報804に対し符号化を行いパリティ806を生成し、パリティ806を出力する。
 既知情報削減部133は、情報804及び制御信号802を入力とし、制御信号802に含まれる符号化率の情報に基づき、既知情報挿入部131において、既知情報が挿入された場合には、情報804から既知情報を削除し、削除後の情報808を出力する。一方、既知情報挿入部131において、既知情報が挿入されていない場合には、情報804をそのまま情報808として出力する。
 変調部141は、パリティ806、情報808、及び、制御信号802を入力とし、制御信号802に含まれる変調方式の情報に基づいて、パリティ806及び情報808を変調しベースバンド信号810を生成し出力する。
 図29Bは、図29Aと異なる、物理層において符号化率を可変とする場合の符号化に関連する部分の構成の別の一例を示すブロック図である。図29Bに示すように、既知情報挿入部131に入力される情報801が、変調部141に入力される構成とすることにより、図29Aの既知情報削減部133を省いても、図29Aと同様に符号化率を可変とすることができる。
 図30は、物理層における誤り訂正復号部220の構成の一例を示すブロック図である。既知情報の対数尤度比挿入部221は、受信したデータの対数尤度比信号901、制御信号902を入力とし、制御信号902に含まれる符号化率の情報に基づき、既知情報の対数尤度比を挿入する必要がある場合には、高い信頼度をもつ既知情報の対数尤度比を対数尤度比信号901に挿入し、既知情報の対数尤度比挿入後の対数尤度比信号904を出力する。制御信号902に含まれる符号化率の情報は、例えば、通信相手から伝送される。
 復号器222は、制御信号902及び既知情報の対数尤度比挿入後の対数尤度比信号904を入力とし、制御信号902に含まれる符号化率等の符号化方法の情報に基づき、復号を行いデータ906を復号し、復号後のデータ906を出力する。
 既知情報削減部223は、制御信号902及び復号後のデータ906を入力とし、制御信号902に含まれる符号化率等の符号化方法の情報に基づき、既知情報が挿入されている場合は、既知情報を削除し、既知情報削除後の情報908を出力する。
 以上、物理層におけるショートニング方法は、実施の形態2で説明した時変周期3のLDPC-CCから、符号の符号化率より小さい符号化率を実現するショートニング方法について説明した。本実施の形態によるショートニング方法を用いることで、伝送効率の向上と消失訂正能力の向上との両立を図ることができ、物理層における符号化率を変更した場合においても、良好な消失訂正能力を得ることができる。
 なお、LDPC-CCのような畳み込み符号では、送信情報系列の終端にターミネーション系列を付加し、終端処理(ターミネーション)を行う場合があるが、ターミネーション系列は、既知の情報(例えばオールゼロ)を入力とし、パリティ系列のみから構成される。よって、ターミネーション系列においては、本願発明で説明した既知情報の挿入の規則(挿入ルール)に従わない部分が発生する。また、ターミネーション以外の部分でも、伝送速度の向上のために、挿入ルールに従う部分と既知情報を挿入しない部分の両者が存在していてもよい。
 (実施の形態4)
 本実施の形態では、実施の形態2で説明した時変周期3のLDPC-CCを消失訂正符号に用いる場合に、符号化率を変更する方法について説明する。
 良好な特性が得られる符号化率(n-1)/nの時変周期3のLDPC-CCの概要は以下の通りである。
 時変周期を3とするLDPC-CCのパリティ検査多項式は、式(4-1)~(4-3)が考えられる。このとき、X(D)、X(D)、・・・、Xn-1(D)はデータ(情報)X、X、・・・、Xn-1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(4-1)~(4-3)では、X(D)、X(D)、・・・、Xn-1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
 式(4-1)において、ai,1、ai,2、ai,3(i=1,2,・・・,n-1)は整数(ただし、ai,1≠ai,2≠ai,3)とする。また、b1、b2、b3は整数(ただし、b1≠b2≠b3)とする。式(4-1)のパリティ検査多項式は「検査式#1」と呼ぶ。式(4-1)のパリティ検査多項式に基づくサブ行列は、第1サブ行列Hとする。
 また、式(4-2)において、Ai,1、Ai,2、Ai,3(i=1,2,・・・,n-1)は整数(ただし、Ai,1≠Ai,2≠Ai,3)とする。また、B1、B2、B3は整数(ただし、B1≠B2≠B3)とする。式(4-2)のパリティ検査多項式は「検査式#2」と呼ぶ。式(4-2)のパリティ検査多項式に基づくサブ行列は、第2サブ行列Hとする。
 また、式(4-3)において、αi,1、αi,2、αi,3(i=1,2,・・・,n-1)は整数(ただし、αi,1≠αi,2≠αi,3)とする。また、β1、β2、β3は整数(ただし、β1≠β2≠β3)とする。式(4-3)のパリティ検査多項式は「検査式#3」と呼ぶ。式(4-3)のパリティ検査多項式に基づくサブ行列は、第3サブ行列Hとする。
 そして、LDPC―CCとしては、第1サブ行列H、第2サブ行列H、第3サブ行列Hから生成する時変周期3のLDPC―CCについて考える。
 このとき、式(4-1)~(4-3)において、X(D)、X(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)のいずれかとなるようにする。
 そして、上記で述べた符号化率(n-1)/nの時変周期3のLDPC-CCを用いて誤り訂正能力の高い符号化率(n-1)/nより小さい符号化率を実現する消失訂正方法は、以下の通りである。
 [方法#3-1]
 図31に示すように、情報とパリティで構成する3×n×kビット(kは自然数)を周期とし、各周期において、既知情報パケットに含まれる既知情報を同様の規則(挿入ルール)で挿入する。各周期において、既知情報パケットに含まれる既知情報を同様の規則(挿入ルール)で挿入するとは、例えば、図25のように、情報及びパリティから構成される12ビットを1周期とした場合、最初の1周期では、X0、X2、X4に既知情報パケットに含まれる既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入し、次の1周期では、X6、X8、X10に既知情報パケットに含まれる既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入し、・・・、i番目の1周期では、X6i、X6i+2、X6i+4に既知情報パケットに含まれる既知情報を挿入する、・・・というように、各周期において、既知情報パケットに含まれる既知情報が挿入される位置を同じとする。
 [方法#3-2]
 情報及びパリティから構成される3×n×kビットの周期において、情報X0,3i、X1,3i、X2,3i、・・・、Xn-1,3i、・・・・・・、X0,3(i+k-1)+2、X1,3(i+k-1)+2、X2,3(i+k-1)+2、・・・、Xn-1,3(i+k-1)+2の3×n×kビットからZビット選択し、選択したZビットに既知情報パケットのデータ(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する。
 このとき、消失訂正方法は、既知情報パケットに含まれる既知情報を挿入したX0,j(ただし、jは、3i~3(i+k-1)+2のいずれかの値をとる。)において、jすべてに対し、3で除算したときの余りを求める。すると、余りが0となる個数と余りが1となる個数との差は1以下、余りが0となる個数と余りが2となる個数との差は1以下、余りが1となる個数と余りが2となる個数との差は1以下とする。
 同様に、消失訂正方法は、既知情報パケットのデータを挿入したX1,j(ただし、jは、3i~3(i+k-1)+2のいずれかの値をとる。)において、jすべてに対し、3で除算したときの余りを求める。すると、余りが0となる個数と余りが1となる個数との差は1以下、余りが0となる個数と余りが2となる個数との差は1以下、余りが1となる個数と余りが2となる個数との差は1以下とする。
 同様に、消失訂正方法は、既知情報パケットのデータを挿入したXh,j(ただし、jは、3i~3(i+k-1)+2のいずれかの値をとる。)において、jすべてに対し、3で除算したときの余りを求める。すると、余りが0となる個数と余りが1となる個数との差は1以下、余りが0となる個数と余りが2となる個数との差は1以下、余りが1となる個数と余りが2となる個数との差は1以下とする(h=1、2、3、・・・、n-1)。
 このようにして、既知情報を挿入する位置に条件を設けることにより、パリティ検査行列Hにおいて、「未知の値がパリティ及び少ない情報ビットという行」をより多く生成することができるようになるので、上記で述べた特性が良好な符号化率(n-1)/nの時変周期3のLDPC-CCを用いて、消失訂正能力が高く、かつ、低回路規模で消失訂正符号の符号化率を変えることができるシステムを実現することができる。
 以上、上位層における消失訂正方法は、消失訂正符号の符号化率を可変とする消失訂正方法について説明した。
 上位層において消失訂正符号の符号化率を可変とする消失訂正符号化関連処理部及び消失訂正復号関連処理部の構成については、実施の形態1で説明した。実施の形態1で述べたように、消失訂正符号化関連処理部120の前段において、既知情報パケットを挿入することにより、消失訂正符号の符号化率を変更することができる。
 これにより、例えば、通信状況に応じて符号化率を可変とすることができるようになるので、通信状況が良好な場合には符号化率を大きくして伝送効率を向上させることができる。また、符号化率を小さくする場合に、[方法#3-2]のように、パリティ検査行列に応じて、既知情報パケットに含まれる既知情報を挿入することにより、消失訂正能力の向上を図ることができる。
 [方法#3-2]では、挿入される既知情報パケットのデータの数が各周期で同じ場合について説明したが、挿入されるデータの数が各周期で異なっていても良い。例えば、図32に示すように、最初の周期ではN個の情報を既知情報パケットのデータとし、次の周期ではN個の情報を既知情報パケットのデータとし、i番目の周期では、Ni個の情報を既知情報パケットのデータとするようにしても良い。このように、挿入される既知情報パケットのデータ数が各周期で異なる場合には、周期という概念は意味をなさない。消失訂正方法は、周期という概念を用いずに[方法#3-2]をあらわすと、[方法#3-3]のようになる。
 [方法#3-3]
 情報及びパリティから構成されるデータ系列において、情報X0,0、X1,0、X2,0、・・・、Xn-1,0、・・・・・・、X0,v、X1,v、X2,v、・・・、Xn-1,vのビット系列からZビット選択し、既知情報パケットのデータ(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する。
 このとき、消失訂正方法は、既知情報パケットのデータを挿入したX0,j(ただし、jは、0~vのいずれかの値をとる。)において、jすべてに対し、3で除算したときの余りを求める。すると、余りが0となる個数と余りが1となる個数との差は1以下、余りが0となる個数と余りが2となる個数との差は1以下、余りが1となる個数と余りが2となる個数との差は1以下とする。
 同様に、消失訂正方法は、既知情報パケットのデータを挿入したX1,j(ただし、jは、0~vのいずれかの値をとる。)において、jすべてに対し、3で除算したときの余りを求める。すると、余りが0となる個数と余りが1となる個数の差は1以下、余りが0となる個数と余りが2となる個数の差は1以下、余りが1となる個数と余りが2となる個数の差は1以下とする。
 同様に、消失訂正方法は、既知情報パケットのデータを挿入したXh,j(ただし、jは、0~vのいずれかの値をとる。)において、jすべてに対し、3で除算したときの余りを求める。すると、余りが0となる個数と余りが1となる個数の差は1以下、余りが0となる個数と余りが2となる個数の差は1以下、余りが1となる個数と余りが2となる個数の差は1以下とする(h=1、2、3、・・・、n-1)。
 以上、消失訂正符号は、実施の形態2で説明した時変周期3のLDPC-CCから、符号の符号化率より小さい符号化率を実現する方法を用いた消失訂正符号の符号化率を可変とするシステムについて説明した。本実施の形態による符号化率可変方法を用いることで、伝送効率の向上と消失訂正能力の向上との両立を図ることができ、消失訂正時に符号化率を変更した場合においても、良好な消失訂正能力を得ることができる。
 なお、以上の説明では、時変周期3のLDPC-CCを例に説明したが、実施の形態2で説明した特性が良好な時変周期3g(g=1、2、3、4、・・・)のLDPC-CC(つまり、時変周期が3の倍数のLDPC-CC)に対しても、時変周期3のLDPC-CCに対する同様に上述の[方法#3-1]~[方法#3―3]を満たすことで、高い誤り訂正能力をもちながら符号化率を可変とすることができる。
 本発明は上記全ての実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、主に、符号化器及び送信装置で実現する場合について説明しているが、これに限られるものではなく、電灯線通信装置で実現する場合においても適用可能である。
 また、この符号化方法及び送信方法は、ソフトウェアとして行うことも可能である。例えば、上記符号化方法及び通信方法を実行するプログラムは、予めROM(Read Only Memory)に格納しておき、そのプログラムをCPU(Central Processor Unit)によって動作させるようにしても良い。
 また、上記符号化方法及び送信方法を実行するプログラムをコンピュータで読み取り可能な記憶媒体に格納し、記憶媒体に格納されたプログラムをコンピュータのRAM(Random Access Memory)に記録して、コンピュータをそのプログラムにしたがって動作させるようにしても良い。
 また、本発明は、無線通信に限らず、電灯線通信(PLC:Power Line Communication)、可視光通信、光通信においても有用であることは言うまでもない。
 (実施の形態5)
 実施の形態2では、誤り訂正能力の高いLDPC-CCについて説明した。本実施の形態では、誤り訂正能力の高い時変周期3のLDPC-CCについて補足説明する。時変周期3のLDPC-CCの場合、レギュラーのLDPC符号を生成すると、誤り訂正能力の高い符号を作成することができる。
 時変周期3のLDPC-CCのパリティ検査多項式を再掲する。なお、パリティ検査多項式とパリティ検査行列の関係については、実施の形態2、実施の形態5の説明のとおりである。
 符号化率1/2の場合:
Figure JPOXMLDOC01-appb-M000028
 符号化率(n-1)/nの場合:
Figure JPOXMLDOC01-appb-M000029
 ここで、パリティ検査行列がフルランクとなり、またパリティビットが逐次的に簡単に求まるようにするために、以下の条件が成立するとする。
 b3=0、つまり、Db3=1
 B3=0、つまり、DB3=1
 β3=0、つまり、Dβ3=1
 また、情報とパリティの関係をわかりやすくするためには、以下の条件があるとよい。
 ai,3=0、つまり、Dai,3=1 (i=1,2,・・・,n-1)
 Ai,3=0、つまり、DAi,3=1 (i=1,2,・・・,n-1)
 αi,3=0、つまり、Dαi,3=1 (i=1,2,・・・,n-1)
 ただし、ai,3%3=0、Ai,3%3=0、αi,3%3=0であってもよい。
 このとき、タナーグラフにおけるループ6(cycle length of 6)の数を少なくすることで、誤り訂正能力の高いレギュラーのLDPC符号を生成するためには以下の条件を満たさなければならない。
 すなわち、情報Xk(k=1、2、・・・、n-1)の係数に着目した場合、#Xk1から#Xk14のいずれかを満たさなければならない。
 #Xk1 :(ak,1%3, ak,2%3)=[0,1],(Ak,1%3, Ak,2%3)=[0,1],(αk,1%3, αk,2%3)=[0,1]
 #Xk2 :(ak,1%3, ak,2%3)=[0,1],(Ak,1%3, Ak,2%3)=[0,2],(αk,1%3, αk,2%3)=[1,2]
 #Xk3 :(ak,1%3, ak,2%3)=[0,1],(Ak,1%3, Ak,2%3)=[1,2],(αk,1%3, αk,2%3)=[1,1]
 #Xk4 :(ak,1%3, ak,2%3)=[0,2],(Ak,1%3, Ak,2%3)=[1,2],(αk,1%3, αk,2%3)=[0,1]
 #Xk5 :(ak,1%3, ak,2%3)=[0,2],(Ak,1%3, Ak,2%3)=[0,2],(αk,1%3, αk,2%3)=[0,2]
 #Xk6 :(ak,1%3, ak,2%3)=[0,2],(Ak,1%3, Ak,2%3)=[2,2],(αk,1%3, αk,2%3)=[1,2]
 #Xk7 :(ak,1%3, ak,2%3)=[1,1],(Ak,1%3, Ak,2%3)=[0,1],(αk,1%3, αk,2%3)=[1,2]
 #Xk8 :(ak,1%3, ak,2%3)=[1,1],(Ak,1%3, Ak,2%3)=[1,1],(αk,1%3, αk,2%3)=[1,1]
 #Xk9 :(ak,1%3, ak,2%3)=[1,2],(Ak,1%3, Ak,2%3)=[0,1],(αk,1%3, αk,2%3)=[0,2]
 #Xk10:(ak,1%3, ak,2%3)=[1,2],(Ak,1%3, Ak,2%3)=[0,2],(αk,1%3, αk,2%3)=[2,2]
 #Xk11:(ak,1%3, ak,2%3)=[1,2],(Ak,1%3, Ak,2%3)=[1,1],(αk,1%3, αk,2%3)=[0,1]
 #Xk12:(ak,1%3, ak,2%3)=[1,2],(Ak,1%3, Ak,2%3)=[1,2],(αk,1%3, αk,2%3)=[1,2]
 #Xk13:(ak,1%3, ak,2%3)=[2,2],(Ak,1%3, Ak,2%3)=[1,2],(αk,1%3, αk,2%3)=[0,2]
 #Xk14:(ak,1%3, ak,2%3)=[2,2],(Ak,1%3, Ak,2%3)=[2,2],(αk,1%3, αk,2%3)=[2,2]
 なお、上記において、a=bの場合、(x,y)=[a,b]は、x=y=a(=b)をあらわし、a≠bの場合、(x,y)=[a,b]は、x=a、y=b、又は、x=b、y=aをあらわす(以下同様)。
 同様に、パリティの係数に着目した場合、#P1から#P14のいずれかを満たさなければならない。
 #P1 : (b1%3,b2%3)=[0,1], (B1%3,B2%3)=[0,1] , (β1%3,β2%3)=[0,1] 
 #P2 : (b1%3,b2%3)=[0,1], (B1%3,B2%3)=[0,2] , (β1%3,β2%3)=[1,2] 
 #P3 : (b1%3,b2%3)=[0,1], (B1%3,B2%3)=[1,2] , (β1%3,β2%3)=[1,1] 
 #P4 : (b1%3,b2%3)=[0,2], (B1%3,B2%3)=[1,2] , (β1%3,β2%3)=[0,1] 
 #P5 : (b1%3,b2%3)=[0,2], (B1%3,B2%3)=[0,2] , (β1%3,β2%3)=[0,2] 
 #P6 : (b1%3,b2%3)=[0,2], (B1%3,B2%3)=[2,2] , (β1%3,β2%3)=[1,2] 
 #P7 : (b1%3,b2%3)=[1,1], (B1%3,B2%3)=[0,1] , (β1%3,β2%3)=[1,2] 
 #P8 : (b1%3,b2%3)=[1,1], (B1%3,B2%3)=[1,1] , (β1%3,β2%3)=[1,1] 
 #P9 : (b1%3,b2%3)=[1,2], (B1%3,B2%3)=[0,1] , (β1%3,β2%3)=[0,2] 
 #P10: (b1%3,b2%3)=[1,2], (B1%3,B2%3)=[0,2] , (β1%3,β2%3)=[2,2] 
 #P11: (b1%3,b2%3)=[1,2], (B1%3,B2%3)=[1,1] , (β1%3,β2%3)=[0,1] 
 #P12: (b1%3,b2%3)=[1,2], (B1%3,B2%3)=[1,2] , (β1%3,β2%3)=[1,2] 
 #P13: (b1%3,b2%3)=[2,2], (B1%3,B2%3)=[1,2] , (β1%3,β2%3)=[0,2] 
 #P14: (b1%3,b2%3)=[2,2], (B1%3,B2%3)=[2,2] , (β1%3,β2%3)=[2,2] 
 実施の形態2で説明した特性が良好なLDPC-CCは、上記条件のうち、#Xk12及び#P12の条件を満たすLDPC-CCである。
 上記#Xk1から#Xk14のうち、#Xk12を満たし、かつ、いずれか及び#P1から#P14のうち、#P12の条件を満たす時変周期3のLDPC-CCのパリティ検査多項式の一例を以下に示す。
 符号化率R=1/2:
Figure JPOXMLDOC01-appb-M000030
 符号化率R=2/3:
Figure JPOXMLDOC01-appb-M000031
 符号化率R=3/4:
Figure JPOXMLDOC01-appb-M000032
 符号化率R=4/5:
Figure JPOXMLDOC01-appb-M000033
 なお、上記LDPC-CCのパリティ検査多項式は、符号化器の回路の共用化、及び、復号化器の共用化を図ることができる特徴をもつ。
 また、時変周期3のLDPC-CCのパリティ検査多項式の別の一例を以下に示す。
 符号化率R=1/2:
Figure JPOXMLDOC01-appb-M000034
 符号化率R=2/3:
Figure JPOXMLDOC01-appb-M000035
 符号化率R=3/4:
Figure JPOXMLDOC01-appb-M000036
 符号化率R=4/5:
Figure JPOXMLDOC01-appb-M000037
 上述の例では、上記#Xk1から#Xk14のうち、#Xk12を満たし、かつ、いずれか及び#P1から#P14のうち、#P12の条件を満たす時変周期3のLDPC-CCのパリティ検査多項式の例を示したが、#Xk12、#P12以外の条件を満たしても良好な誤り訂正能力を持つ時変周期3のLDPC-CCを作成することができる。その詳細については、実施の形態6で説明する。
 なお、本発明に関連するLDPC-CCを使用する際、情報ビットの復号における信頼度を確保するために、ターミネーションもしくはテイルバイティング(tail-biting)が必要となる。そこで、ターミネーションを行う場合(「Information-zero-termination」又は簡単に「ゼロターミネーション(Zero-termination)」と呼ぶ)、およびテイルバイティングの方法について以下では詳しく説明する。本発明のすべての実施の形態は、ターミネーションを行っても、テイルバイティングを行っても、いずれを行っても実施することが可能である。
 図33は、符号化率(n-1)/nのLDPC-CCにおける「Information-zero-termination」を説明するための図である。時点i(i=0、1、2、3、・・・、s)における情報ビットX、X、・・・、Xn-1及びパリティビットPを、X1,i、X2,i、・・・、Xn-1,i及びパリティビットPとする。そして、図33に示すように、Xn-1,sが送信したい情報の最終ビットであるとする。
 もし、符号化器が時点sまでしか符号化を行わず、符号化側の送信装置が、Pまでしか復号側の受信装置に伝送しなかった場合、復号器において情報ビットの受信品質が大きく劣化する。この問題を解決するために、最終の情報ビットXn-1,s以降の情報ビット(「仮想の情報ビット」と呼ぶ)を「0」と仮定して符号化を行い、パリティビット(3303)を生成する。
 具体的には、図33に示すように、符号化器は、X1,k、X2,k、・・・、Xn-1,k(k=t1、t2、・・・、tm)を「0」として符号化し、Pt1、Pt2、・・・、Ptmを得る。そして、符号化側の送信装置は、時点sにおけるX1,s、X2,s、・・・、Xn-1,s、Pを送信後、Pt1、Pt2、・・・、Ptmを送信する。復号器は、時点s以降では、仮想の情報ビットが「0」であるとわかっていることを利用し、復号を行う。
 次に、テイルバイティングの方法について説明する。時変LDPC-CCのテイルバイティングを行う際のパリティ検査行列の一般式は以下のようにあらわされる。
Figure JPOXMLDOC01-appb-M000038
 上式において、Hはパリティ検査行列であり、Hはシンドロームフォーマーである。また、H (t)(i=0,1,・・・,M)は、c×(c-b)のサブ行列であり、Mはメモリサイズである。そして、上記パリティ検査行列に基づき、符号化を行い、パリティを求めることになる。よって、一般的には、テイルバイティングを行う場合、ある固定のブロックサイズ(符号化単位)が決定されていることになる。
 (実施の形態6)
 本実施の形態では、実施の形態3で述べた良好な時変周期3のLDPC-CCの設計に関する重要な事項について解説する。
 畳み込み符号については、これまで、最小自由距離に基づいた符号をビタビ復号や逐次復号を行う検討が多く行われてきた(非特許文献10~非特許文献13参照)。特に、時変畳み込み符号(非特許文献14及び非特許文献15参照)に着目した場合、周期的時変畳み込み符号の中には、時不変畳み込み符号より最小自由距離の点で優れた符号が存在することが示されている(非特許文献15参照)。
 一方で、近年、LDPC(Low-Density Parity-Check)符号が、シャノン限界に近い特性を与える点、BP(Belief Propagation)復号(非特許文献16及び非特許文献17参照)という簡単な信頼度伝播アルゴリズムで復号を実現できる点から注目を集めている(非特許文献4及び非特許文献19参照)。これまでの多くの検討はLDPCブロック符号(LDPC-BC:LDPC Block Codes)に関する検討であり、ランダム的なLDPC符号(非特許文献2参照)、代数的に構成するArray LDPC符号(非特許文献18参照)、擬巡回符号に基づくQC(Quasi-Cyclic)-LDPC符号(非特許文献19~非特許文献21参照)等に関する検討が行われている。
 一方、非特許文献3によりLDPC畳み込み符号(LDPC-CC:LDPC Convolutional Codes)の概念が提案されている。LDPC-CCは、簡単なシフトレジスタを用いることにより符号化器を構成することができ、また、パリティ検査行列はサブ行列を基に定義され、そのパリティ検査行列を用いBP復号が行われる。そして、畳み込み符号と同様に、LDPC-CCにおいても時変の概念が導入されている(非特許文献3参照)。そして、これまでの多くの文献には、ブロック符号から畳み込み符号やLDPC-CCを作成する方法が開示されている(非特許文献22~非特許文献25参照)。
 非特許文献26、非特許文献27では、時変周期3のLDPC-CC(TV3-LDPC-CC)の設計方法についての議論を行っていない。
 そこで、以下では、TV3-LDPC-CCの設計方法についての議論を行う。非特許文献26及び非特許文献27では、タナーグラフにおける短いサイクル長(CL:cycle of length)の数の評価を行い、CL4(CL of 4)の数が少ないことが確認できている。したがって、ここでは、CL6(CL of 6)の数の削減を目的とし、TV3-LDPC-CCにおけるCL6が発生する一条件を以下で述べる。そして、この発生条件を満たさずに、正則(regular)LDPC符号となるTV3-LDPC-CCの生成方法について述べる。
 <LDPC-CCについて>(非特許文献20参照)
 LDPC-CCは、LDPC-BCと同様に低密度なパリティ検査行列によって定義される符号であり、無限長の時変パリティ検査行列で定義することができるが、実際は、周期的時変のパリティ検査行列で考えることができる。パリティ検査行列をHとし、シンドロームフォーマーHを用いてLDPC-CCについて説明する。
 符号化率R=b/c(b<c)のLDPC-CCのHは式(39)のようにあらわすことができる。
Figure JPOXMLDOC01-appb-M000039
 式(39)において、H (t)(i=0,1,・・・,m)はc×(c-b)周期サブ行列である。周期をTとするとi,tに対し、H (t)=H (t+T)が成立する。また、Mはメモリサイズとなる。
 式(39)によって定義されるLDPC-CCは時変畳み込み符号であり、この符号を時変LDPC-CCと呼ぶ(非特許文献3参照)。
 復号は、一般に、パリティ検査行列Hを用いたBP復号により行われる。符号化系列ベクトルuとすると、以下の関係式が成立する。
Figure JPOXMLDOC01-appb-M000040
 そして、式(40)の関係式から、BP復号を行い、情報系列が得られる。
 <パリティ検査多項式に基づくLDPC-CCについて>
 符号化率R=1/2,生成行列G=[1 G(D)/G(D)]の組織的畳み込み符号を考える。このとき、Gはフィードフォワード多項式、Gはフィードバック多項式をあらわしている。情報系列の多項式表現をX(D)、パリティ系列の多項式表現をP(D)とするとパリティ検査多項式は以下のようにあらわされる。
Figure JPOXMLDOC01-appb-M000041
 ここでは、式(41)を満たす式(42)のパリティ検査多項式を考える。
Figure JPOXMLDOC01-appb-M000042
 式(42)において、a,bは1以上の整数であり(p=1,2・・・,r;q=1,2・・・,s)、X(D)およびP(D)にはDの項が存在する。式(42)のパリティ検査多項式に基づくパリティ検査行列で定義される符号が時不変LDPC-CCとなる。
 式(42)に基づく異なるパリティ検査多項式をm個用意する(mは2以上の整数)。そのパリティ検査多項式を以下のようにあらわす。
Figure JPOXMLDOC01-appb-M000043
 このとき、i=0,1,・・・,m-1である。そして、時点jにおけるデータおよびパリティをX,Pであらわし、u=(X,P)とする。すると、式(44)のパリティ検査多項式が成立するものとする。
Figure JPOXMLDOC01-appb-M000044
 このとき、式(44)から時点jのパリティPを求めることができる。式(44)のパリティ検査多項式に基づき生成されたパリティ検査行列で定義される符号が時変LDPC-CCとなる。このとき、式(42)のパリティ検査多項式で定義される時不変LDPC-CCおよび式(44)のパリティ検査多項式で定義される時変LDPC-CCは、P(D)にはDの項が存在し、かつ、bは1以上の整数であるため、逐次的にパリティをレジスタおよび排他的論理和で簡単に求めることができるという特徴をもつことになる。
 復号部では、時不変LDPC-CCでは式(42)、時変LDPC-CCでは式(44)からパリティ検査行列Hを作成し、符号化系列u=(u,u,・・・,u,・・・)とあらわすと、式(40)の関係式から、BP復号を行い、データ系列が得られる。
 次に、符号化率(n-1)/nの時不変LDPC-CCおよび時変LDPC-CCを考える。時点jにおける情報系列X,X,・・・,Xn-1およびパリティPをX2,j,・・・,Xn-1,jおよびPとあらわし、u=(X1,j,X2,j,・・・,Xn-1,j,P)とする。そして、情報系列X,X,・・・,Xn-1の多項式表現をX(D),X(D),・・・,Xn-1(D)とするとパリティ検査多項式は以下のようにあらわされる。
Figure JPOXMLDOC01-appb-M000045
 式(45)において、ap,iは1以上の整数であり(p=1,2,・・・,n-1;i=1,2,・・・,r)、ap,y≠ap,zを満たし((y,z)|y,z=1,2,・・・,r、y≠z)、かつ、b≠bを満たす((y,z)|y,z=1,2,・・・,ε、y≠z)。式(45)に基づく異なるパリティ検査多項式をm個用意する(mは2以上の整数)。そのパリティ検査多項式を以下のようにあらわす。
Figure JPOXMLDOC01-appb-M000046
 このとき、i=0,1,・・・,m-1である。すると、時点jにおける情報系列X,X,・・・,Xn-1およびパリティPをX1,j,X2,j,・・・,Xn-1,jおよびPに対し、式(47)が成立するものとする。
Figure JPOXMLDOC01-appb-M000047
 このとき、式(45)および式(47)に基づく符号が符号化率(n-1)/nの時不変LDPC-CCおよび時変LDPC-CCとなる。
 非特許文献27において、拘束長がおおよそ等しい時、TV3-LDPC-CCが時変周期2のLDPC-CCより良好な誤り訂正能力を得ることができることが示されている。そこで、TV3-LDPC-CCに着目し、Regular(正則)TV3-LDPC-CCの設計方法について詳しく説明する。
 符号化率(n-1)/nのTV3-LDPC-CCの#q番目の0を満たすパリティ検査多項式を以下のように与える(q=0,1,2)。
Figure JPOXMLDOC01-appb-M000048
 式(48)において、a#q,p,iは1以上の整数であり(p=1,2,・・・,n-1;i=1,2,・・・,r)、a#q,p,y≠a#q,p,zを満たし((y,z)|y,z=1,2,・・・,r、y≠z)、かつ、b#q,y≠b#q,zを満たす((y,z)|y,z=1,2,・・・,ε、y≠z)。
 このとき以下のような性質をもつ。
 性質1:
 パリティ検査多項式#αのDa#α,p,i(D)の項とパリティ検査多項式#βのDa#β,p,j(D)の項(α,β=0,1,2(α≠β);p=1,2,・・・,n-1;i,j=1,2,・・・,r)において、また、パリティ検査多項式#αのDb#α,iP(D)の項とパリティ検査多項式#βのDb#β,jP(D)の項(α,β=0,1,2(α≠β);i,j=1,2,・・・,r)において以下の関係をもつ。
 <1>β=αのとき:
 {(a#α,p,i mod 3,a#β,p,j mod 3)=(0,0)∪(1,1)∪(2,2)}∩{i≠j}が成立するとき、図34のようにパリティ検査多項式#αに相当するチェックノードとパリティ検査多項式#βに相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
 なお、ここで、β≠αであるので、i≠jの条件が加わる必要がある。
 {(b#α,i mod 3,b#β,j mod 3)=(0,0)∪(1,1)∪(2,2)}∩{i≠j}が成立するとき、図34のようにパリティ検査多項式#αに相当するチェックノードとパリティ検査多項式#βに相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
 <2>β=(α+1) mod 3のとき:
 (a#α,p,i mod 3,a#β,p,j mod 3)=(0,1)∪(1,2)∪(2,0)が成立するとき、図34のようにパリティ検査多項式#αに相当するチェックノードとパリティ検査多項式#βに相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
 (b#α,i mod 3,b#β,j mod 3)=(0,1)∪(1,2)∪(2,0)が成立するとき、図34のようにパリティ検査多項式#αに相当するチェックノードとパリティ検査多項式#βに相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
 <3>β=(α+2) mod 3のとき:
 (a#α,p,i mod 3,a#β,p,j mod 3)=(0,2)∪(1,0)∪(2,1)が成立するとき、図34のようにパリティ検査多項式#αに相当するチェックノードとパリティ検査多項式#βに相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
 (b#α,i mod 3,b#β,j mod 3)=(0,2)∪(1,0)∪(2,1)が成立するとき、図34のようにパリティ検査多項式#αに相当するチェックノードとパリティ検査多項式#βに相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
 そして、TV3-LDPC-CCのサイクル長6(CL6:cycle length of 6)に関する以下の定理が成立する。
 定理1:
 TV3-LDPC-CCの0を満たすパリティ検査多項式において、以下の2つの条件を与える。
 C#1.1:(a#q,p,i mod 3,a#q,p,j mod 3,a#q,p,k mod 3)=(0,0,0)∪(1,1,1)∪(2,2,2)を満足するpおよびqが存在する。ただし、i≠j,i≠k,j≠kとする。
 C#1.2:(b#q,i mod 3,b#q,j mod 3,b#q,k mod 3)=(0,0,0)∪(1,1,1)∪(2,2,2)を満足するqが存在する。ただし、i≠j,i≠k,j≠kとする。
 C#1.1またはC#1.2を満足した時、少なくとも1つのCL6が存在する。
 証明:
 p=1,q=0おいて、(a#0,1,i mod 3,a#0,1,j mod 3,a#0,1,k mod 3)=(0,0,0)∪(1,1,1)∪(2,2,2)のときに少なくとも1つのCL6が存在することが証明できれば、X(D),・・・,Xn-1(D),P(D)についても、X(D)をX(D),・・・,Xn-1(D),P(D)に置き換えて考えることにより、q=0のとき、C#1.1,C#1.2が成立すれば、少なくとも1つのCL6が存在することが証明できる。
 また、p=1のとき上述が証明できれば同様に考えることで、p=2,3のときもC#1.1,C#1.2が成立すれば、少なくとも1つのCL6が存在することが証明できる。したがって、p=1, q=0のとき、(a#0,1,i mod 3,a#0,1,j mod 3,a#0,1,k mod 3)=(0,0,0)∪(1,1,1)∪(2,2,2)が成立すれば少なくとも1つのCL6が存在することを証明する。
 式(48)のTV3-LDPC-CCの0を満たすパリティ検査多項式に対し、q=0としたときのX(D)において、2つ以下の項が存在する場合、C#1.1を満たすことはない。
 式(48)のTV3-LDPC-CCの0を満たすパリティ検査多項式に対し、q=0としたときのX(D)において、3つの項が存在し、かつ、(a#q,p,i mod 3,a#q,p,j mod 3,a#q,p,k mod 3)=(0,0,0)∪(1,1,1)∪(2,2,2)を満足する、とすると、q=0の0を満たすパリティ検査多項式は、式(49)のようにあらわすことができる。
Figure JPOXMLDOC01-appb-M000049
 ここで、a#0,1,1>a#0,1,2>a#0,1,3としても一般性は失われず、γ,δは自然数となる。このとき、式(49)において、q=0のときのX(D)に関する項、つまり、(Da#0,1,3+3γ+3δ+Da#0,1,3+3δ+Da#0,1,3)X(D)に着目し、パリティ検査行列Hにおいて、X(D)に関する部分のみを抽出して生成されるサブ行列は、図35のようにあらわされる。
 図35において、h1,X1,h2,X1は、それぞれ式(48)の0を満たすパリティ検査多項式のq=1,2のときのX(D)に関する部分のみを抽出して生成されるベクトルである。このとき、図35のような関係が成立するのは、性質1の<1>が成立するからである。したがって、γ,δ値に関わらず、式(49)のパリティ検査行列のX(D)に関する部分のみを抽出して生成されるサブ行列のみで、図35に示すように、△で示す“1”によって形成されるCL6が必ず発生する。
 X(D)に関する項が4つ以上存在する場合、4つ以上の項の中から3つの項を選択し、選択された3つの項において、(a#0,1,i mod 3,a#0,1,j mod 3,a#0,1,k mod 3)=(0,0,0)∪(1,1,1)∪(2,2,2)となる場合、図35に示すように、ループ6が形成される。
 以上より、q=0のとき、X(D)について、(a#0,1,i mod 3,a#0,1,j mod 3,a#0,1,k mod 3)=(0,0,0)∪(1,1,1)∪(2,2,2)となる場合、ループ6が存在することになる。また、X(D),・・・,Xn-1(D),P(D)についても、X(D)に置き換えて考えることにより、C#1.1またはC#1.2が成立した場合、CL6が少なくとも1つ発生することになる。
 また、同様に考えることで、q=2,3のときについても、C#1.1またはC#1.2を満足した時、少なくとも1つのCL6が存在する。したがって、式(48)の0を満足するパリティ検査多項式において、C#1.1またはC#1.2が成立した場合、ループ6が少なくとも1つ発生する。
                          □(証明終わり)
 例:
 式(48)の0を満たすパリティ検査多項式のq=0において、(D+D+1)X(D)が存在する場合について考える。すると、パリティ検査行列Hにおいて、X(D)に関する部分のみを抽出して生成されるベクトルは、図36のようにあらわされ、CL6が存在する。ただし、図36おいて、[1000001001]は式(48)の0を満たすパリティ検査多項式のq=0において、X(D)に関する部分のみを抽出して生成されるベクトルである。
 以降で扱う符号化率(n-1)/nのTV3-LDPC-CCの#q番目の0を満たすパリティ検査多項式を式(42)に基づき以下のように与える(q=0,1,2)。
Figure JPOXMLDOC01-appb-M000050
 ここで、式(50)において、X(D),X(D),・・・,Xn-1(D),P(D)はそれぞれ3つの項が存在するものとする。
 式(50)において、a#q,p,3 mod 3=0,b#q,3 mod 3=0であることから、定理1より、CL6の発生を抑えるために、(a#q,p,1 mod 3,a#q,p,2 mod 3)=(0,0)、(b#q,1 mod 3,b#q,2 mod 3)=(0,0)を満たしてはならない。したがって、(a#q,p,1 mod 3,a#q,p,2 mod 3)=(0,0)、(b#q,1 mod 3,b#q,2 mod 3)=(0,0)の条件を除き、かつ、特徴1から正則LDPC符号となるための(a#q,p,1 mod 3,a#q,p,2 mod 3)、(b#q,1 mod 3,b#q,2 mod 3)の条件として、表1を作成することができる。
Figure JPOXMLDOC01-appb-T000001
 表1において、(a#q,p,1 mod 3,a#q,p,2 mod 3),(b#q,1 mod 3,b#q,2 mod 3)がC#1-C#14のいずれかを満たすことで、正則LDPC符号を作成することができる。例えば、式(50)におけるX(D)に関する項は、q=0のとき(Da#0,p,1+Da#0,p,2+1)X(D)、q=1のとき(Da#1,p,1+Da#1,p,2+1)Xq(D)、q=2のとき(Da#2,p,1+Da#2,p,2+1)X(D)であり、このとき、(a#0,p,1 mod 3,a#0,p,2 mod 3),(a#1,p,1 mod 3,a#1,p,2 mod 3),(a#2,p,1 mod 3,a#2,p,2 mod 3)は、C#1-C#14のいずれかを満たすことになる。
 ただし、(A,B)≡[a,b]は、(A,B)=(a,b)∪(b,a)となる。同様に、式(50)におけるP(D)に関する項は、q=0のとき(Db#0,1+Db#0,2+1)P(D)、q=1のとき(Db#1,1+Db#1,2+1)P(D)、q=2のとき(Db#2,1+Db#2,2+1)P(D)であり、このとき、(b#0,1 mod 3,b#0,2 mod 3), (b#1,1 mod 3,b#1,2 mod 3),(b#2,1 mod 3,b#2,2 mod 3)は、C#1-C#14のいずれかを満たすことになる。
 符号探索例:
 表2は、制約条件なしに乱数を発生させることで式(46)の0を満たすパリティ検査多項式を生成するにより探索した符号化率R=1/2,5/6のTV3-LDPC-CCの例を示している。
Figure JPOXMLDOC01-appb-T000002
 表3は、制約条件を与えて乱数を発生させることで式(46)の0を満たすパリティ検査多項式を生成するにより探索した符号化率R=1/2,5/6のTV3-LDPC-CCの例を示している。具体的には、表3において、Code Index#3、#5は、式(46)のX(D),・・・,Xn-1(D),P(D)において、表1のC#1からC#12のいずれかを満たすように制約条件を与えた場合に探索した符号化率R=1/2,5/6のTV3-LDPC-CCの例を示している。また、表3において、Code Index#4、#6は、式(46)のX(D),・・・,Xn-1(D),P(D)において、表1のC#12を満たすように制約条件を与えた場合に探索した符号化率R=1/2,5/6のTV3-LDPC-CCの例を示している。
Figure JPOXMLDOC01-appb-T000003
 表2、表3のTV3-LDPC-CCの0を満たすパリティ検査多項式ごとに、CL4及びCL6の数を評価した結果を表4に示す。Code Index#1からCode Index#6のいずれのTV3-LDPC-CCも、定理1を満たしていないため、CL6の数は少なく、同一の符号化率で比較した場合、CL6の数に大差はない。また、Code Index#1からCode Index#6のTV3-LDPC-CCにはCL4が存在しない。
Figure JPOXMLDOC01-appb-T000004
 表4からわかるように、表1の条件が短いサイクルの数を削減し、正則LDPC符号を作成する上で重要であることがわかる。表2、表3以外にもTV3-LDPC-CCを作成し、誤り訂正能力の評価を行った。その結果を踏まえて、以下では、高い誤り訂正能力が得られる条件、高い誤り訂正能力が得られない条件について述べる。
 高い誤り訂正能力が得られない条件:
 <1>符号化率(n-1)/nのTV3-LDPC-CCの#q番目の0を満たすパリティ検査多項式が式(50)のようにあらわせる場合(q=0,1,2)、非正則(irregular)LDPC符号となる。
 高い誤り訂正能力が得られる条件:
 <2>符号化率(n-1)/nのTV3-LDPC-CCの#q番目の0を満たすパリティ検査多項式が式(50)のようにあらわせる場合(q=0,1,2)、式(50)におけるX(D),・・・,Xn-1(D),P(D)において、表1のC#12を満たす。
 <3>符号化率(n-1)/nのTV3-LDPC-CCの#q番目の0を満たすパリティ検査多項式が式(50)のようにあらわせる場合(q=0,1,2)、式(50)におけるX(D),・・・,Xn-1(D),P(D)において、Xa(D)が表1のC#iを満たすとき、X(D),・・・,Xn-1(D),P(D)の中に表1のC#j(j≠i)を満たすものが存在する。
 表3のCode Index#3、Code Index#5のTV3-LDPC-CCは、上記<3>の条件を満たすことになる。
 なお、本実施の形態では、式(50)のパリティ検査多項式で定義されるTV3-LDPC-CC、つまり、0を満たす各パリティ検査多項式において、X(D)、X(D)、・・・、Xn-1(D)、P(D)の各項数が3の場合について説明した。なお、各項数は、これに限ったものではなく、式(50)において、X(D)、X(D)、・・・、Xn-1(D)、P(D)のいずれかの項数が1、2となる場合においても、高い誤り訂正能力を得ることができる可能性がある。例えば、X(D)の項数を1又は2とする方法としては、次のような方法がある。時変周期3の場合、3個の0を満たすパリティ検査多項式が存在することになるが、3個の0を満たすパリティ検査多項式すべてにおいて、X(D)の項数を1又は2とする。又は、3個の0を満たすパリティ検査多項式すべてにおいて、X(D)の項数を1又は2とせずに、3個の0を満たすパリティ検査多項式のうち、いずれか(2個以下)の0を満たすパリティ検査多項式において、X(D)の項数を1又は2としてもよい。X(D)、・・・、Xn-1(D)についても同様である。ただし、削減された項(X(D)、X(D)、・・・、Xn-1(D)、P(D)のいずれかの削減された項)に対しては、表1の条件を満たさないことになる。
 また、X(D)、X(D)、・・・、Xn-1(D)、P(D)のいずれかの項数が4以上となる場合においても、高い誤り訂正能力を得ることができる可能性がある。例えば、X(D)の項数を4以上とする方法としては、次のような方法ある。時変周期3の場合、3個の0を満たすパリティ検査多項式が存在することになるが、3個の0を満たすパリティ検査多項式すべてにおいて、X(D)の項数を4以上とする。又は、3個の0を満たすパリティ検査多項式すべてにおいて、X(D)の項数を4以上とせずに、3個の0を満たすパリティ検査多項式のうち、いずれか(2個以下)の0を満たすパリティ検査多項式において、X(D)の項数を4以上としてもよい。X(D)、・・・、Xn-1(D)についても同様である。このとき、増えた項(X(D)、X(D)、・・・、Xn-1(D)、P(D)のいずれかの増えた項)に対しては、表1の条件を満たさないことになる。
 (実施の形態7)
 本実施の形態では、再度、パリティ検査多項式に基づく、符号化率R=(n-1)/nの時変LDPC-CCについて説明する。X,X,・・・,Xn-1の情報ビット及びパリティビットPの時点jにおけるビットを、それぞれX1,j,X2,j,・・・,Xn-1,j及びPとあらわす。そして、時点jにおけるベクトルuをu=(X1,j,X2,j,・・・,Xn-1,j,P)とあらわす。また、符号化系列をu=(u,u,・・・,u,・・・)とあらわす。Dを遅延演算子とすると、情報ビットX,X,・・・,Xn-1の多項式はX(D),X(D),・・・,Xn-1(D)とあらわされ、パリティビットPの多項式はP(D)とあらわされる。このとき、式(51)であらわされる0を満たすパリティ検査多項式を考える。
Figure JPOXMLDOC01-appb-M000051
 式(51)においてap,q(p=1,2,・・・,n-1;q=1,2,・・・,r)及びb(s=1,2,・・・,ε)は自然数とする。また、y,z=1,2,・・・,r、y≠zの(y,z)に対して、ap,y≠ap,zを満たす。また、y,z=1,2,・・・,ε、y≠zの(y,z)に対して、b≠bを満たす。ここで、∀は、全称記号(universal quantifier)である。
 符号化率R=(n-1)/n、時変周期mのLDPC-CCを作成するために、式(51)に基づくパリティ検査多項式を用意する。このときi番目(i=0,1,・・・,m-1)のパリティ検査多項式を式(52)のようにあらわす。
Figure JPOXMLDOC01-appb-M000052
 式(52)において、AXδ,i(D)(δ=1,2,・・・,n-1)及びB(D)のDの最大次数をそれぞれΓXδ,i及びΓP,iとあらわす。そして、ΓXδ,i及びΓP,iの最大値をΓとする。そして、Γ(i=0,1,・・・,m-1)の最大値をΓとする。符号化系列uを考慮すると、Γを用いることにより、i番目のパリティ検査多項式に相当するベクトルhは式(53)のようにあらわされる。
Figure JPOXMLDOC01-appb-M000053
 式(53)において、hi,v(v=0,1,・・・,Γ)は1×nのベクトルであり、式(54)のようにあらわされる。
Figure JPOXMLDOC01-appb-M000054
 なぜなら、式(52)のパリティ検査多項式は、αi,v,Xw(D)及びβi,vP(D)(w=1,2,・・・,n-1、かつ、αi,v,Xw,βi,v∈[0,1])をもつからである。この場合、式(52)の0を満たすパリティ検査多項式は、D(D),D(D),・・・,Dn-1(D)及びDP(D)をもつので、式(55)を満たす。
Figure JPOXMLDOC01-appb-M000055
 式(55)において、kに対して、Λ(k)=Λ(k+m)を満たす。ただし、Λ(k)はパリティ検査行列kの行目におけるhに相当する。
 式(53)、式(54)及び式(55)を用いることにより、符号化率R=(n-1)/n、時変周期mのパリティ検査多項式に基づくLDPC-CCのパリティ検査行列は、式(56)のようにあらわされる。
Figure JPOXMLDOC01-appb-M000056
 2008年12月26日出願の特願2008-334028に含まれる明細書、図面及び要約書の開示内容は、すべて本願に援用される。
 本発明は、低密度パリティ検査符号(LDPC Codes:Low Density Parity Check Codes)を用いて消失訂正する符号化方法、符号化器及び復号器等として有用である。
 100,200 通信装置
 20 通信路
 110 パケット生成及び既知パケット挿入部
 120 消失訂正符号化関連処理部
 121 消失訂正符号化部
 122,234 既知情報パケット削減部
 1211 並び替え部
 1212 符号化部(パリティパケット生成部)
 130 誤り訂正符号化部
 131 既知情報挿入部
 132 符号化器
 133 既知情報削減部
 140,250 送信装置
 141 変調部
 142 制御情報生成部
 143 送信部
 150,210 受信装置
 220 誤り訂正復号部
 221 既知情報の対数尤度比挿入部
 222 復号器
 223 既知情報削減部
 230 消失訂正復号関連処理部
 231 誤り検出部
 232 既知情報パケット挿入部
 233 消失訂正復号部
 234 既知情報パケット削減部
 240 パケットデコード部
 500 LDPC-CC符号化部
 510 データ演算部
 520 パリティ演算部
 530 ウェイト制御部
 540 mod2加算器
 

Claims (3)

  1.  式(1-1)であらわされるパリティ検査多項式のうち、
     (a1%3、a2%3、a3%3)、(b1%3、b2%3、b3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる第1パリティ検査多項式と、
     式(1-2)であらわされるパリティ検査多項式のうち、
     (A1%3、A2%3、A3%3)、(B1%3、B2%3、B3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる第2パリティ検査多項式と、
     式(1-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)のいずれかとなる第3パリティ検査多項式と、に基づいて定義された符号化率1/2の時変周期3の低密度パリティ検査畳み込み符号(LDPC-CC:Low-Density Parity-Check Convolutional Codes)から、符号化率1/3の時変周期3の低密度パリティ検査畳み込み符号を生成する符号化方法であって、
     前記符号化率1/2の低密度パリティ検査畳み込み符号を用いた符号化出力である情報及びパリティから構成される12k(kは自然数)ビットを1周期とし、前記1周期から情報のみを前記符号化出力の出力順に並べた情報X6i、X6i+1、X6i+2、X6i+3、X6i+4、X6i+5、・・・、X6(i+k-1)、X6(i+k-1)+1、X6(i+k-1)+2、X6(i+k-1)+3、X6(i+k-1)+4、X6(i+k-1)+5の6kビットのうち、3k個の情報Xj(ただし、jは、6i~6(i+k-1)+5のいずれかの値をとり、3k個の異なる値が存在する。)に、既知情報を挿入する場合に、異なる3k個のjを3で除算した余りのうち、余りが0となる個数がk個となり、余りが1となる個数がk個となり、余りが2となる個数がk個となるように、前記情報Xjに前記既知情報を挿入するステップと、
     前記既知情報を含む前記情報から前記パリティを求めるステップと、
     を有する符号化方法。
    Figure JPOXMLDOC01-appb-M000057
  2.  畳み込み符号から低密度パリティ検査畳み込み符号(LDPC-CC:Low-Density Parity-Check Convolutional Codes)を作成する符号化器であって、
     請求項1に記載の符号化方法によりパリティを求める計算部を具備する符号化器。
  3.  低密度パリティ検査畳み込み符号(LDPC-CC:Low-Density Parity-Check Convolutional Codes)を信頼度伝播(BP:Belief Propagation)を利用して復号する復号器であって、
     請求項2記載の符号化器で用いたパリティ検査多項式に対応する検査行列を用いて行処理演算を行う行処理演算部と、
     前記検査行列を用いて列処理演算を行う列処理演算部と、
     前記行処理演算部及び前記列処理演算部での演算結果を用いて符号語を推定する判定部と、
     を具備する復号器。
PCT/JP2009/007011 2008-12-26 2009-12-18 符号化方法、符号化器及び復号器 WO2010073570A1 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
US13/142,212 US8732545B2 (en) 2008-12-26 2009-12-18 Encoding method and encoder for generating a low-density parity check convolutional code and decoder for decoding a low-density parity check convolutional code using belief propagation
JP2010543827A JP5312484B2 (ja) 2008-12-26 2009-12-18 符号化方法、符号化器及び復号器
CN200980152566.3A CN102265520B (zh) 2008-12-26 2009-12-18 编码方法、编码器以及解码器
US14/242,545 US9065611B2 (en) 2008-12-26 2014-04-01 Transmission apparatus and transmission method
US14/709,175 US20150249469A1 (en) 2008-12-26 2015-05-11 Transmission apparatus and method, and reception apparatus and method
US15/928,903 US10693502B2 (en) 2008-12-26 2018-03-22 Transmission apparatus and method, and reception apparatus and method
US16/872,863 US11139837B2 (en) 2008-12-26 2020-05-12 Transmission apparatus and method, and reception apparatus and method
US17/459,310 US11722156B2 (en) 2008-12-26 2021-08-27 Transmission apparatus and method, and reception apparatus and method
US18/334,905 US20230327685A1 (en) 2008-12-26 2023-06-14 Transmission apparatus and method, and reception apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008334028 2008-12-26
JP2008-334028 2008-12-26

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/142,212 A-371-Of-International US8732545B2 (en) 2008-12-26 2009-12-18 Encoding method and encoder for generating a low-density parity check convolutional code and decoder for decoding a low-density parity check convolutional code using belief propagation
US14/242,545 Continuation US9065611B2 (en) 2008-12-26 2014-04-01 Transmission apparatus and transmission method

Publications (1)

Publication Number Publication Date
WO2010073570A1 true WO2010073570A1 (ja) 2010-07-01

Family

ID=42287221

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/007011 WO2010073570A1 (ja) 2008-12-26 2009-12-18 符号化方法、符号化器及び復号器

Country Status (4)

Country Link
US (7) US8732545B2 (ja)
JP (1) JP5312484B2 (ja)
CN (1) CN102265520B (ja)
WO (1) WO2010073570A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012147197A (ja) * 2011-01-11 2012-08-02 Panasonic Corp 通信装置、通信方法、及び通信プログラム
CN104393960A (zh) * 2014-12-09 2015-03-04 南京邮电大学 一种基于纠删码的卫星网络星地多路径可靠传输方法
CN104850468A (zh) * 2015-05-31 2015-08-19 上海交通大学 基于校验矩阵的纠删码解码方法
JP2016201853A (ja) * 2011-01-21 2016-12-01 サン パテント トラスト 符号化方法、復号方法
US11070236B2 (en) 2011-05-18 2021-07-20 Panasonic Corporation Parallel bit interleaver

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5310701B2 (ja) * 2010-10-29 2013-10-09 株式会社Jvcケンウッド 復号装置および復号方法
WO2012128309A1 (ja) * 2011-03-22 2012-09-27 日本電気株式会社 誤り訂正符号化装置、誤り訂正符号化方法および誤り訂正符号化プログラム
US9252811B2 (en) * 2011-06-07 2016-02-02 Analogies Sa Time-varying low-density parity-check convolutional codes
US10795766B2 (en) 2012-04-25 2020-10-06 Pure Storage, Inc. Mapping slice groupings in a dispersed storage network
US9380032B2 (en) * 2012-04-25 2016-06-28 International Business Machines Corporation Encrypting data for storage in a dispersed storage network
US10621044B2 (en) 2012-04-25 2020-04-14 Pure Storage, Inc. Mapping slice groupings in a dispersed storage network
US9294133B1 (en) * 2013-01-29 2016-03-22 Marvell International Ltd. Method and apparatus for error correction
CN104618069B (zh) * 2015-02-16 2018-02-02 哈尔滨工业大学 基于校验计算的最优化ldpc编码码率确定方法
CN104601292B (zh) * 2015-02-16 2018-01-30 哈尔滨工业大学 基于校验计算的自适应ldpc编码调制方案的优化选择方法
CN104618071B (zh) * 2015-02-16 2018-03-16 哈尔滨工业大学 基于校验计算的动态ldpc码码率的飞行试验无线双向传输方法
CN104618070B (zh) * 2015-02-16 2018-03-16 哈尔滨工业大学 基于校验计算的自适应ldpc编码调制的飞行试验无线双向传输方法
US11164652B2 (en) 2019-06-21 2021-11-02 Micron Technology, Inc. Two-layer code with low parity cost for memory sub-systems
US11473418B1 (en) * 2020-01-22 2022-10-18 Vermeer Manufacturing Company Horizontal directional drilling system and method
US11296729B2 (en) 2020-07-23 2022-04-05 Micron Technology, Inc. Data reliability for extreme temperature usage conditions in data storage
EP4329202A1 (en) 2021-05-25 2024-02-28 Samsung Electronics Co., Ltd. Neural network-based self-correcting min-sum decoder and electronic device comprising same

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1235189A (en) * 1985-01-14 1988-04-12 Haruhiko Akiyama Error correction encoding system
JP3614907B2 (ja) 1994-12-28 2005-01-26 株式会社東芝 データ再送制御方法及びデータ再送制御システム
JP2748872B2 (ja) * 1994-12-28 1998-05-13 日本電気株式会社 復調器制御方式
US6029264A (en) * 1997-04-28 2000-02-22 The Trustees Of Princeton University System and method for error correcting a received data stream in a concatenated system
JP2000068862A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 誤り訂正符号化装置
US7093179B2 (en) * 2001-03-22 2006-08-15 University Of Florida Method and coding means for error-correction utilizing concatenated parity and turbo codes
US7107505B2 (en) * 2001-03-27 2006-09-12 Comtech Aha Corporation Concatenated turbo product codes for high performance satellite and terrestrial communications
ATE556491T1 (de) * 2002-07-03 2012-05-15 Dtvg Licensing Inc Methode und verfahren für die speicherverwaltung in low density parity check (ldpc) decodern
WO2004049579A1 (en) * 2002-11-25 2004-06-10 Matsushita Electric Industrial Co., Ltd. Erasure determination procedure for fec decoding
JP4260804B2 (ja) * 2003-05-28 2009-04-30 三菱電機株式会社 再送制御方法および通信装置
US20050088986A1 (en) * 2003-10-27 2005-04-28 Feng-Wen Sun Systems and methods for distributing data
KR100683179B1 (ko) * 2003-11-03 2007-02-15 삼성전자주식회사 듀얼 스트림용 디지털 방송 송/수신 시스템의 강건한에러정정 부호화/복호화 장치 및 그의 방법
KR100659266B1 (ko) * 2004-04-22 2006-12-20 삼성전자주식회사 다양한 코드율을 지원하는 저밀도 패러티 검사 코드에 의한데이터 송수신 시스템, 장치 및 방법
US7600173B2 (en) * 2004-04-28 2009-10-06 Mitsubishi Electric Corporation Retransmission control method and communications device
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
KR20060016059A (ko) * 2004-08-16 2006-02-21 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
CA2602067A1 (en) * 2005-03-31 2006-10-12 Mitsubishi Denki Kabushiki Kaisha Error correction coding apparatus
US7436901B2 (en) * 2005-04-19 2008-10-14 Telefonaktiebolaget Lm Ericsson (Publ) Selection of channel coding and multidimensional interleaving schemes for improved performance
KR100946905B1 (ko) * 2005-09-27 2010-03-09 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법
KR100943623B1 (ko) * 2005-09-30 2010-02-24 삼성전자주식회사 저밀도 패러티 검사 부호의 천공기법
US8711947B2 (en) * 2005-10-11 2014-04-29 Samsung Electronics Co., Ltd. Digital broadcasting transmission and reception system, and a signal processing method using turbo processing and turbo decoding
JP2007215089A (ja) * 2006-02-13 2007-08-23 Fujitsu Ltd 復号装置及び復号方法
KR100826511B1 (ko) * 2006-06-27 2008-05-02 삼성전자주식회사 스터핑 바이트를 이용하여 에러정정 능력을 높일 수 있는장치와 방법
US8566676B2 (en) * 2007-01-05 2013-10-22 Qualcomm Incorporated FEC code and code rate selection based on packet size
US8850294B1 (en) * 2007-04-09 2014-09-30 Samsung Electronics Co., Ltd. Decoding apparatus for digital communications and method for using the same
JP4564080B2 (ja) * 2008-01-07 2010-10-20 パナソニック株式会社 符号化方法、符号化器、復号器
WO2009054672A2 (en) * 2007-10-22 2009-04-30 Lg Electronics Inc. Digital broadcasting system and data processing method in digital broadcasting system
US8004963B2 (en) * 2008-02-27 2011-08-23 Audividi Inc. Apparatus and method for packet redundancy and recovery
CN103354456B (zh) * 2008-07-02 2017-06-23 松下电器(美国)知识产权公司 发送装置、接收装置、发送方法和接收方法
JP4563476B2 (ja) * 2008-07-09 2010-10-13 パナソニック株式会社 符号化器、復号化器及び符号化方法
JP4879338B2 (ja) * 2008-07-09 2012-02-22 パナソニック株式会社 符号化方法
KR101660554B1 (ko) * 2009-11-13 2016-09-27 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 방법, 복호 방법, 부호화기 및 복호기
US8495477B2 (en) * 2010-02-11 2013-07-23 Lg Electronics Inc. Digital broadcasting system and method for transmitting and receiving digital broadcast signal

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ALBERT JIMENEZ FELSTROM ET AL.: "Time-varying periodic convolutional codes with low-density parity-check matrix", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 45, no. 6, September 1999 (1999-09-01), pages 2181 - 2191 *
YUTAKA MURAKAMI ET AL.: "Parity Kensa Takoshiki ni Motozuku LDPC Tatamikomi Fugo", IEICE TECHNICAL REPORT (RCS2008-13), vol. 108, no. 61, 29 May 2008 (2008-05-29), pages 75 - 79 *
ZHENGANG CHEN ET AL.: "Construction of low-density parity-check convolutional codes through progressive edge-growth", IEEE COMMUNICATIONS LETTERS, vol. 9, no. 12, December 2005 (2005-12-01), pages 1058 - 1060 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012147197A (ja) * 2011-01-11 2012-08-02 Panasonic Corp 通信装置、通信方法、及び通信プログラム
JP2016201853A (ja) * 2011-01-21 2016-12-01 サン パテント トラスト 符号化方法、復号方法
US11070236B2 (en) 2011-05-18 2021-07-20 Panasonic Corporation Parallel bit interleaver
US11496157B2 (en) 2011-05-18 2022-11-08 Panasonic Holdings Corporation Parallel bit interleaver
US11894861B2 (en) 2011-05-18 2024-02-06 Panasonic Holdings Corporation Parallel bit interleaver
CN104393960A (zh) * 2014-12-09 2015-03-04 南京邮电大学 一种基于纠删码的卫星网络星地多路径可靠传输方法
CN104393960B (zh) * 2014-12-09 2017-08-11 南京邮电大学 一种基于纠删码的卫星网络星地多路径可靠传输方法
CN104850468A (zh) * 2015-05-31 2015-08-19 上海交通大学 基于校验矩阵的纠删码解码方法
CN104850468B (zh) * 2015-05-31 2018-04-27 上海交通大学 基于校验矩阵的纠删码解码方法

Also Published As

Publication number Publication date
US10693502B2 (en) 2020-06-23
US20150249469A1 (en) 2015-09-03
US20110264984A1 (en) 2011-10-27
CN102265520A (zh) 2011-11-30
US8732545B2 (en) 2014-05-20
US9065611B2 (en) 2015-06-23
US11722156B2 (en) 2023-08-08
CN102265520B (zh) 2014-05-14
JPWO2010073570A1 (ja) 2012-06-07
US20180287639A1 (en) 2018-10-04
US20200274555A1 (en) 2020-08-27
US20210399745A1 (en) 2021-12-23
JP5312484B2 (ja) 2013-10-09
US11139837B2 (en) 2021-10-05
US20230327685A1 (en) 2023-10-12
US20140245110A1 (en) 2014-08-28

Similar Documents

Publication Publication Date Title
JP5312484B2 (ja) 符号化方法、符号化器及び復号器
JP6609352B2 (ja) 送信装置、送信方法、受信装置及び受信方法
JP5997349B2 (ja) 符号化装置
KR20110133560A (ko) 부호화기, 복호화기 및 부호화 방법
JP2011146899A (ja) 符号化器、復号化器及び符号化方法、復号化方法
JP2009246927A (ja) 符号化方法、符号化器、復号器

Legal Events

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

Ref document number: 200980152566.3

Country of ref document: CN

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

Ref document number: 09834382

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010543827

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13142212

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09834382

Country of ref document: EP

Kind code of ref document: A1