WO2006059688A1 - 復号装置及び通信装置 - Google Patents

復号装置及び通信装置 Download PDF

Info

Publication number
WO2006059688A1
WO2006059688A1 PCT/JP2005/022104 JP2005022104W WO2006059688A1 WO 2006059688 A1 WO2006059688 A1 WO 2006059688A1 JP 2005022104 W JP2005022104 W JP 2005022104W WO 2006059688 A1 WO2006059688 A1 WO 2006059688A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
column
unit
row
processing unit
Prior art date
Application number
PCT/JP2005/022104
Other languages
English (en)
French (fr)
Inventor
Rui Sakai
Wataru Matsumoto
Yoshikuni Miyata
Hideo Yoshida
Takahiko Nakamura
Original Assignee
Mitsubishi Denki Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Denki Kabushiki Kaisha filed Critical Mitsubishi Denki Kabushiki Kaisha
Priority to US11/791,996 priority Critical patent/US8201047B2/en
Priority to EP05811268.1A priority patent/EP1819056B1/en
Priority to JP2006548007A priority patent/JP4777261B2/ja
Publication of WO2006059688A1 publication Critical patent/WO2006059688A1/ja

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3911Correction factor, e.g. approximations of the exp(1+x) function
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6583Normalization other than scaling, e.g. by subtraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Definitions

  • the present invention relates to an error correction technique in digital communication, and more particularly, to a decoding device for decoding a low-density parity check LDPC (Low-Density Parity Check) code and an encoded signal using a Turbo code, and a communication device including the same. Is.
  • LDPC Low-Density Parity Check
  • the basic algorithm for decoding an LDPC encoded signal includes a Sum-Product algorithm and a Min-Sum algorithm.
  • decoding is performed by performing iterative operations while calculating a log likelihood ratio (LLR) as the reliable reliability information of the received signal (see, for example, Non-Patent Document 1).
  • LLR log likelihood ratio
  • Min-Sum algorithm uses simple mathematical formulas that approximate the mathematical functions of the Sum-Product algorithm, and only four types of operations: addition, minimum, positive / negative judgment, and positive / negative sign multiplication. Can be implemented. For this reason, calculation cost becomes small. However, the decoding performance deteriorates due to the influence of approximation.
  • the conventional LDPC code signal decoding algorithm performs iterative decoding based on propagation of probability information!
  • Sum-Product algorithm and Min-Sum algorithm after all row processing is completed for an encoded signal in any one iteration, column processing is performed on all bits of the encoded signal.
  • n is an integer greater than or equal to 0 and less than N
  • m is an integer greater than or equal to 0 and less than M
  • H is the m-th row and the n-th column of H
  • step 1 row processing is performed to calculate the following formula (2) and the following formula (3) for the condition of the following formula (1).
  • N (m) and M (n) are subsets of the set [1, N]
  • M (n) means a set of column indexes having 1 in m rows of LDPC check matrix H.
  • the set A force is also expressed as A ⁇ a. That is, N (m) ⁇ n is a set of column indices excluding the set N (m) force nth column, and M (n) ⁇ m is a set M (n ) Force Indicates the set of row indices excluding the m-th row. z is updated at the i-th iteration
  • ⁇ (i ) is the i-th LLR repeatedly sent from the check node to the bit node.
  • step 1 column processing for calculating the following expression (4) and the following expression (5) is executed for the condition of the above expression (1).
  • n (i) is the i-th repeated LLR sent from the bit node to the check node.
  • Z (i) is the i-th posterior value repeatedly.
  • step 2 the a posteriori value z n (i) is hard-decided to generate a decoded sequence represented by the following equation (6). Thereafter, if the condition of the following equation (7) is satisfied, the process proceeds to step 3 to be described later. If neither of these two conditions is satisfied, the iteration number i is added and the process returns to step 2.
  • step 3 the decoding sequence according to the following equation (6) obtained in step 2 is output as the decoding result.
  • N 1 is confirmed by row processing and column processing for the received signal.
  • the rate information is calculated and updated bit by bit, the Shuffled BP algorithm is used.
  • 1 ⁇ N ⁇ N the probability information is calculated and updated by row processing and column processing for the received signal.
  • N is a divisor of N.
  • the LLR calculated by the Min-Sum algorithm is always larger than the LLR calculated by the Sum-Product algorithm.
  • the calculated LLR is divided by a factor ⁇ (> 1) called a normalization factor and is passed as an LLR.
  • the LLR calculated by the row processing of the Min-Sum algorithm is subtracted by a factor j8 (> 0) called the Offset Factor and is passed as the LLR.
  • each factor a and ⁇ may be calculated in advance using a simulation or density evolution method (see, for example, Non-Patent Document 4) and stored in the LDPC decoding unit.
  • Non-Patent Document 5 there is an algorithm that corrects the LLR calculated by the row processing of the Min-Sum algorithm according to the magnitude of the received signal.
  • a correction function table is prepared as a correction term for the Min-Sum algorithm, and an accurate correction is performed by changing the correction term according to the magnitude of the received signal, thereby improving the decoding performance. It is to improve.
  • Basic algorithms for decoding a Turbo encoded signal include a Log-MAP (Maximum A Posteriori Probability) algorithm and a Max-Log-Map algorithm.
  • decoding is performed by repeatedly performing a calculation while calculating a metric value as probabilistic reliability information of the received signal (see, for example, Non-Patent Document 6).
  • the Max-Log-MAP algorithm uses a simple formula that approximates the mathematical function of the Log-Map algorithm, and uses addition, maximum, positive / negative judgment, and positive / negative sign multiplication t ⁇ ⁇ 4 Can be implemented with only different types of operations.
  • the logarithmic calculation for the sum of the exponential functions is approximated by the maximum value of the exponent. For this reason, the processing including mathematical functions is eliminated and the calculation cost is reduced.
  • the decoding performance deteriorates due to the influence of approximation.
  • the metric value calculated by the metric calculation of the Max—Log—Map algorithm is multiplied by the factor s and adjusted to the same level as the value calculated by the MAP algorithm. To do.
  • the factor s may be calculated in advance using simulation and stored in the Turbo decoding unit.
  • Non-Patent Document 1 Tadashi Wadayama, “Low Density Parity Check Code and Its Decoding Method LDPC (Low Density Parity Check) Code Zsum—Product Decoding Method”, Trikes, June 2002, 5th p. 76 -99
  • Non-Patent Document 2 Juntan Zhang et al., “Shuffled Belief Propagation Decoding”, [online], [searched on September 28, 2004], http: ⁇ lester.univ—ubs.fr: 8080 / ⁇ boutillon / Journee—GD R— LDPC / Fossorierl— GDR— LDPC.pdf
  • Non-Patent Document 3 Jinghu Chen et al., “Reduced-Complexity Decoding of LDPC Codes”, [online], [searched on September 28, 2004], http://www-ee.eng.hawaii.edu/linghu/ FILE SAcom02v3p2.pdf
  • Non-Patent Document 5 Xiao— Yu et al., “Efficient Implementation of the Sum-Product algorithm for Decoding LDPC Codes”, Proc. 2001 IEEE GlobeCom Conf ”pp.1036— 1036E, Nov. 2001
  • Non-Patent Document 6 Haruo Sugawara, “Basics of Turbo Code”, Triquebs, Oct. 7, 1999, p. 37-46
  • Non-Patent Document 7 J Vogt et al., "Improving the max-log-MAP turbo decoder", ELECTR ONICS LETTERS, Vol.36, No.23, p. 1937-1938
  • the decoding operation is performed in order from the first bit of the code, or the decoding operation is performed in the order of a plurality of bits grouped from the beginning of the code. For this reason, there is also a problem that it is not possible to obtain an optimal operation order for the code configuration and modulation method. Furthermore, the technique for controlling the order of the received LLR as the received information power as the communication path information has a problem that it is necessary to change the order for each reception.
  • the decoding performance of the Max-Log-MAP algorithm that multiplies by the factor s depends on the value of the factor s. For this reason, it is necessary to calculate factor s in advance.When implemented in an actual receiver, etc., sufficient decoding performance will be achieved if the value of factor s is not changed depending on the code configuration or channel. Can not ,.
  • the present invention has been made to solve the above-described problems, and is highly efficient with respect to the Min-Sum algorithm and the Normalized BP algorithm or Group Shu filed BP algorithm that uses it as a basic update equation. It is an object of the present invention to provide a decoding method for a codeh signal, a decoding device, and a communication device including the same, which can provide a probability propagation algorithm to accelerate the convergence of calculation results and reduce the number of iterations.
  • the present invention does not use a complicated mathematical function such as the Sum-Product algorithm, and has a calculation cost comparable to that of the Min-Sum algorithm, and depends greatly on factors such as the Normalized BP algorithm and Offset BP algorithm. It is an object of the present invention to provide a decoding device and a communication device equipped with the decoding device that can realize a high decoding capability without the necessity of holding a correction term as a table.
  • the present invention calculates and updates probability information by row processing and column processing on a received signal even when the signal is transmitted / received by multi-level modulation or when the code is an irregular LDP C code.
  • the purpose of the present invention is to obtain a decoding device capable of efficiently performing the arithmetic sequence control of a decoding algorithm that performs a single bit or a plurality of predetermined bits and further reducing the number of repetitions, and a communication device including the same. To do.
  • the decoding performance when performing multilevel modulation and transmission / reception, the decoding performance is improved by determining the factor a (Normalization Factor) and the factor j8 (Offset Factor) depending on the modulation scheme and code configuration. It is an object of the present invention to obtain an improved decoding device and a communication device including the same.
  • an object of the present invention is to obtain a decoding device capable of reducing the operation delay time and a communication device equipped with the decoding device.
  • the present invention can realize high decoding capability with a calculation cost comparable to that of the Max-Log-MAP algorithm without using a complicated mathematical function such as the Log-MAP algorithm.
  • An object of the present invention is to obtain a decoding device and a communication device including the decoding device.
  • the decoding device provides probability information by row processing and column processing according to a "Min-Sum algorithm" for a received signal encoded with a low-density parity check (LDP C). And a decoding means for executing the calculation and updating thereof one bit at a time or a predetermined number of bits.
  • LDP C low-density parity check
  • decoding can be performed with a smaller number of iterations compared to a decoding device according to a conventional decoding algorithm for decoding LDPC codes, and the calculation cost required for decoding can be reduced! / There is.
  • the turbo-coded received signal does not use a complicated mathematical function such as the Map algorithm, and has the same computational cost as the Max-Log-MAP algorithm.
  • the Max-Log-MAP algorithm that multiplies by the factor s, there is an effect that it is possible to suppress performance degradation that the decoding performance does not depend on the factor.
  • FIG. 1 is a block diagram showing a configuration of an LDPC code decoding apparatus according to Embodiment 1 of the present invention.
  • FIG. 2 is a block diagram showing a configuration of a row processing unit in FIG.
  • FIG. 3 is a flowchart showing an operation of the LDPC code decoding apparatus according to the first embodiment.
  • FIG. 4 is a graph plotting the relationship between the bit error rate and the average number of decoding iterations.
  • FIG. 5 is a block diagram showing the configuration of the row processing unit of the LDPC code decoding apparatus according to Embodiment 2 of the present invention.
  • FIG. 6 is a graph plotting the relationship between the bit error rate and the average number of decoding iterations.
  • 7] is a block diagram showing the configuration of the row processing unit of the LDPC code decoding apparatus according to Embodiment 3 of the present invention.
  • FIG. 8 is a graph plotting the relationship between the bit error rate and the average number of decoding iterations.
  • FIG. 9 is a block diagram showing a configuration of an LDPC code decoding apparatus according to Embodiment 4 of the present invention.
  • FIG. 10 is a block diagram showing a configuration of a row processing unit in FIG.
  • FIG. 10A is a block diagram showing another configuration of the row processing unit in FIG.
  • FIG. 11 is a flowchart showing an operation of the LDPC code decoding apparatus according to the fourth embodiment.
  • This is a graph plotting the relationship between the bit error rate and the signal-to-noise ratio (EbZNo).
  • FIG. 13 is a block diagram showing a configuration of a row processing unit of an LDPC code decoding apparatus according to Embodiment 5 of the present invention.
  • FIG. 17 is a graph showing a distribution of received values in 4PAM Gray Mapping.
  • FIG. 18 is a block diagram showing a configuration of a row processing unit of an LDPC code decoding apparatus according to Embodiment 10 of the present invention.
  • FIG. 19 A block diagram showing the configuration of the row processing unit of the LDPC code decoding apparatus according to Embodiment 11 of the present invention.
  • FIG. 20 is a block diagram showing a configuration of an LDPC code decoding apparatus according to Embodiment 12 of the present invention.
  • FIG. 21 is a diagram illustrating a configuration example of an LDPC code matrix.
  • FIG. 22 Group division of LDPC code matrix by LDPC code decoding apparatus of embodiment 12 It is a figure which shows an example.
  • FIG. 23 is a flowchart showing an operation of the LDPC code decoding apparatus according to the twelfth embodiment.
  • FIG. 24 is a graph plotting the relationship between the bit error rate and the average number of decoding iterations.
  • FIG. 25 is a block diagram showing a configuration of a communication apparatus according to Embodiment 16 of the present invention.
  • FIG. 26 is a diagram showing a configuration of an LDPC code used in the communication device according to the sixteenth embodiment.
  • FIG. 27 is a diagram showing an example of bit allocation when a communication apparatus according to Embodiment 16 modulates an LDPC code to 4PAM and transmits / receives it.
  • FIG. 28 is a flowchart showing the operation of the communication apparatus according to the sixteenth embodiment, and will be described along this figure.
  • FIG. 29 is a block diagram showing a configuration of an LDPC code decoding apparatus according to Embodiment 17 of the present invention.
  • FIG. 30 is a block diagram for explaining a decoding operation by the row processing unit and the column processing unit in FIG. 29.
  • FIG. 31 is a block diagram for explaining another decoding operation by the row processing unit and the column processing unit in FIG. 29.
  • FIG. 32 is a schematic diagram of a pseudo cyclic code.
  • FIG. 33 is a block diagram for explaining a decoding operation of a row processing unit and a column processing unit according to an eighteenth embodiment of the present invention.
  • FIG. 34 is a block diagram showing a configuration of a Turbo code decoding apparatus according to Embodiment 19 of the present invention.
  • FIG. 35 is a flowchart showing an operation of the Turbo code decoding apparatus according to the nineteenth embodiment.
  • FIG. 36 is a diagram illustrating a configuration example of a communication system according to the present embodiment including an LDPC decoder.
  • FIG. 37 is a diagram showing a configuration example of a mobile communication system.
  • FIG. 1 is a diagram showing a configuration of an LDPC code decoding apparatus according to Embodiment 1 of the present invention.
  • the LDPC code decoding apparatus 1 includes a reception LLR calculation unit 2 and a decoding core unit (decoding means) 3.
  • the reception LLR calculation unit 2 receives an LDPC (Low-Density Parity Check) encoded signal, calculates a log likelihood ratio (LLR) (hereinafter referred to as reception LLR), and calculates a decoding core unit 3 Output to.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, and a decoding result determination unit 8.
  • the intermediate result holding unit 4 holds intermediate results of the decoding process by the row processing unit 5 and the column processing unit 6 based on the reception LLR input from the reception LLR calculation unit 2.
  • the line processing unit 5 performs line processing.
  • the column processing unit 6 performs column processing.
  • the control unit 7 controls the repetition of the decoding process by the row processing unit 5 and the column processing unit 6.
  • the decoding result determination unit 8 determines the decoding result from the posterior hard decision, performs parity check, and determines whether the decoding result is correct or incorrect.
  • the following formula (8) is calculated for the above formula (1) instead of the above formula (1) and the above formula (2). Execute. In other words, in the row processing in step 1 of the Shuffled BP algorithm described above, the update operation is performed using the update formula used in the Min-Sum algorithm. Each symbol in the following formula is the same as described above.
  • MJNfo, b) is a process to select a small force-from ⁇ and &
  • FIG. 2 is a block diagram showing the configuration of the row processing unit in Fig. 1.
  • the comparison unit 9 The absolute value is compared, and the product of the smaller value and the binary sign is calculated.
  • the logic unit 5 is configured by connecting a plurality of comparison units 9 in a plurality of stages. Further, as shown in the figure, the lower comparison unit 9 inputs the calculation result of the upper comparison unit 9 as one of the input binary values.
  • the processing by each comparison unit 9 is as follows.
  • the LDPC code decoding apparatus 1 performs Shuffled BP that performs calculation and updating of probability information by row processing and column processing for a received signal bit by bit or a predetermined number of bits.
  • the above equation (8) which is an approximate update equation of the Min-Sum algorithm, is used in each row processing without using the above equations (2) and (3).
  • This implements a Min-Sum algorithm that calculates and updates probability information by row processing and column processing for received signals bit by bit or a predetermined number of bits.
  • FIG. 3 is a flowchart showing the operation of the LDPC code decoding apparatus according to Embodiment 1, and the operation will be described with reference to this figure.
  • the reception LLR calculation unit 2 inputs reception information (step ST1), and calculates a reception LLR from the reception information (step ST2).
  • step 2 The determination process of step 2 according to the above equation (7) by the decoding result determination unit 8 is repeatedly executed. [0051]
  • the repeated i-th decoding operation will be described as an example.
  • the processing result is transferred to the column processing unit 6.
  • the first row force N row is similarly assigned to the column processing unit 6.
  • the column processing up to g is performed, and the processing result is held in the intermediate result holding unit 4.
  • the result is held in the result holding unit 4.
  • the row processing of the row having 1 in the previous column is performed, and the processing result is passed to the column processing unit 6.
  • the column processing unit 6 performs column processing up to the (N ⁇ N) column force N column, and ties the processing results halfway.
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z (i) repeatedly calculated by the column processing unit 6 for the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 performs a hard decision on the posterior value z (i) repeatedly calculated by the column processing unit 6 for the i-th time, determines the decoding result, and performs a parity check.
  • step 1 the processing in step 1 is executed by the row processing unit 5 and the column processing unit 6.
  • the process proceeds to step 3 described later.
  • control unit 7 performs the above equation (8) until the result of the parity check is OK or the repetition count reaches the set maximum value I. ) Based on
  • the row processing unit 5 and the column processing unit 6 are controlled to repeat the processing of step 1 and step 2.
  • step ST5 The power at which the result of the parity check by the decoding result determination unit 8 is OK, which is set by the control unit 7. If the repeated number of times i reaches the maximum value I, step 3 (step ST5)
  • FIG. 4 shows that the bit error rate in the LDPC code decoding device according to the conventional Min-Sum algorithm and the LDPC code decoding device according to the first embodiment and the notity check at this bit error rate are OK.
  • the LDPC code is a regular LDPC code, a code length of 8000, a coding rate of 1Z2, a column weight of 3, a row weight of 6, and a maximum number of repetitions I power of 100 times.
  • Communication channel is max
  • AWGN Additional White Gaussian Noise
  • BPSK Binary Phase Shift Keying
  • calculation and updating of probability information by row processing and column processing for a received signal are performed bit by bit or a plurality of predetermined bits, and Since a simple update formula of the Min-Sum algorithm is used in row processing, probability propagation is performed more efficiently than in the conventional Min-Sum algorithm, so that the convergence of the decoding operation is faster and the number of iterations can be reduced. it can.
  • the Min-Sum algorithm as the basic algorithm for row processing, mathematical functions are not required unlike the conventional Shuffled BP algorithm, and the calculation cost can be reduced.
  • Embodiment 2 the LDPC code decoding device that realizes the Min-Sum algorithm that performs the calculation and update of the probability information by the row processing and the column processing for the received signal one bit at a time or every predetermined multiple bits is shown.
  • the L DPC code decoding apparatus performs calculation and updating of probability information by row processing and column processing for the received signal one bit at a time or a predetermined number of bits, and the row processing.
  • the V and Normalized BP algorithms are executed.
  • the LDPC code decoding apparatus has a force Normalized BP algorithm having a configuration basically similar to that of the LDPC code decoding apparatus according to the first embodiment shown in FIG.
  • the configuration of the row processing unit 5 and the processing contents thereof are different for execution.
  • the calculation of the following formula (9) is performed for the above formula (1) instead of the above formula (2) and the above formula (3).
  • Execute. calculation and updating of probability information by row processing and column processing for received signals one bit at a time, or a predetermined number of bits, which is used in the Normalized BP algorithm in step 1 row processing of the Shuffled BP algorithm.
  • Update calculation is performed according to the following formula (9), which is an update formula.
  • Each symbol in the following formula (9) is the same as described above.
  • ;; is a normalization factor.
  • the basic configuration of the LDPC code decoding apparatus is the same as that of the first embodiment shown in FIG. In other words, it is composed of the reception LLR calculation unit 2 and the decoding core unit 3 that calculate the reception information power reception LLR, and the decoding core unit 3 calculates and updates the probability information by row processing and column processing for the received signal by 1 bit. Performs decoding using the Normalized BP algorithm, which is performed one by one or multiple predetermined bits.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, and a decoding result determination unit 8.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing unit 5 and the column processing unit 6 as described in the first embodiment.
  • line processor 5 the row processing using the above equation (9) is performed, and the column processing unit 6 performs the column processing using the above equations (4) and (5) in the same manner as in step 1 of the Shuffled BP algorithm described above. .
  • the control unit 7 controls decoding repetition such as setting of the maximum number of repetitions.
  • the decoding sequence of the decoding result is calculated by the above equation (6) from the posterior hard decision obtained by the column processing unit 6 in the same manner as in Step 1 of the Shuffled BP algorithm described above, and the parity check is performed. Then, the correctness of the decoding result is determined from the condition of the above equation (7).
  • FIG. 5 is a block diagram showing the configuration of the row processing unit of the LDPC code decoding apparatus according to the second embodiment.
  • the row processing unit 5 includes a plurality of comparison units 9 and a division unit 10.
  • the comparison unit 9 compares the magnitudes of the input binary values in the same way as shown in FIG. 2, and calculates the product of the smaller value and the binary code (ji).
  • a plurality of comparison units 9 are connected in a plurality of stages. Further, as shown in the figure, the lower comparison unit 9 inputs the calculation result of the upper comparison unit 9 as one of the input binary values.
  • the processing by each comparison unit 9 is as follows.
  • the division unit 10 calculates cZ a obtained by dividing the input value c by a factor at (Normalization Factor), and outputs it to the column processing unit 6. That is, in the row processing unit 5 according to the second embodiment, when the LLR of the corresponding bit for performing row processing is input from the intermediate result holding unit 4, the comparison unit 9 performs the product of the respective magnitude comparisons and signs (shi), After the division unit 10 divides the value obtained by the comparison unit 9 by the factor ⁇ , the value is transferred to the column processing unit 6.
  • LDPC code decoding apparatus 1 performs Shuffled BP that calculates and updates probability information by row processing and column processing for a received signal bit by bit or by a predetermined number of bits.
  • the above equation (9) which is an update equation of the Normalized BP algorithm, is used in each row processing without using the above equations (2) and (3).
  • the Normalized BP algorithm that suppresses degradation of decoding performance while decoding the L DPC code at the same computational cost as the Min-Sum algorithm can be used to convert the probability information by row processing and column processing on the received signal. Calculate and update It is possible to perform one bit at a time or a predetermined number of bits.
  • the basic operation flow of the LDPC code decoding apparatus according to the second embodiment is the same as the flowchart of FIG. 3 in the first embodiment. Therefore, the operation will be described along FIG. 3, and the operation different from that of the first embodiment will be described.
  • reception LLR calculation section 2 inputs reception information (step ST1), and calculates reception LLR from the reception information (step ST2).
  • the decoding result determination unit 8 repeatedly executes the determination process of step 2 according to the above equation (7)
  • the row processing unit 5 performs the above operation for the rows having 1 in the columns up to the first column force N column.
  • Row processing is performed according to equation (9), and the processing result is passed to the column processing unit 6.
  • the column processing unit 6 performs column processing up to the first column N-th column according to the above formula (3) and the above formula (4), and the processing result
  • the result is held in the result holding unit 4.
  • step 2 the decoding result determination unit 8 performs a hard decision on the a posteriori value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 the decoding result determination unit 8 performs a hard decision on the a posteriori value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 performs a hard decision on the a posteriori value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • step 1 the processing in step 1 is executed by the row processing unit 5 and the column processing unit 6.
  • the process proceeds to step 3 described later.
  • control unit 7 performs the above equation (9) until the result of the parity check is OK or the repetition count reaches the set maximum value I. ) Based on
  • the row processing unit 5 and the column processing unit 6 are controlled to repeat the processing of step 1 and step 2.
  • step ST5 If the result of the parity check by the decoding result determination unit 8 is OK, and the number of repetitions i set by the control unit 7 is the maximum value I, the control unit 7 max is set as step 3 (step ST5).
  • FIG. 6 shows the bit error rate and the parity check at this bit error rate in the LDPC code decoding device according to the conventional Normalized BP algorithm and the LDPC code decoding device according to the second embodiment are OK. It is a graph plotting the relationship between the average number of decoding iterations required. In the figure, the plots connected by broken lines are based on the conventional Normalized BP algorithm, and the plots connected by solid lines are based on the second embodiment.
  • the LDPC code is a regular LDPC code, a code length of 8000, a coding rate of 1Z2, a column weight of 3, a row weight of 6, and a maximum number of repetitions I power of 100 times.
  • the communication channel is
  • AWGN Additional White Gaussian Noise
  • BPSK Binary Phase Shift Keying
  • the probability information is calculated and updated by row processing and column processing for the received signal one bit at a time or a plurality of bits determined in advance. Since a simple update formula of the Normalized BP algorithm is used in row processing, probability propagation is performed more efficiently than the conventional Normalized BP algorithm, and the convergence of the decoding operation becomes faster and the number of iterations can be reduced. Become. In addition, by using the Normalized BP algorithm as the basic algorithm, the calculation cost can be reduced without requiring a mathematical function like the conventional Shuffled BP algorithm.
  • calculation and updating of probability information by row processing and column processing for received signals are performed one bit at a time or multiple predetermined bits, and the row processing is performed.
  • the LDPC code decoding apparatus has a configuration similar to that of the LDPC code decoding apparatus according to the first embodiment shown in Fig. 1 and is based on the force Offset BP algorithm.
  • the configuration of the row processing unit 5 and the processing contents thereof are different for execution. More specifically, the row processing unit 5 according to the third embodiment performs the calculation of the following formula (10) with respect to the above formula (1).
  • the calculation and update of probability information by row processing and column processing on the received signal is performed by 1 bit.
  • the update operation is performed by the following equation (10), which is an approximate update equation used in the Offset BP algorithm.
  • Constant j8 is the Offset Factor
  • MAX is the operation to select the larger of both.
  • the basic configuration of the LDPC code decoding apparatus according to Embodiment 3 is the same as that of Embodiment 1 shown in FIG. In other words, it is composed of the reception LLR calculation unit 2 and the decoding core unit 3 that calculate the reception information power reception LLR, and the decoding core unit 3 calculates and updates the probability information by row processing and column processing for the received signal by 1 bit. Performs decoding using the Offset BP algorithm, which is performed one by one or multiple bits determined in advance.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, and a decoding result determination unit 8.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing unit 5 and the column processing unit 6 as described in the first embodiment.
  • the row processing unit 5 performs row processing using the above equation (10), and the column processing unit 6 uses the above equations (4) and (5) as in step 1 of the above-described Shuffled BP algorithm. Perform column processing.
  • the control unit 7 controls decoding repetition such as setting the maximum number of repetitions.
  • the decoding sequence of the decoding result is calculated by the above equation (6) from the posterior hard decision obtained by the column processing unit 6 in the same manner as in Step 1 of the Shuffled BP algorithm described above, and the parity check is performed. Then, the correctness of the decoding result is determined from the condition of the above equation (7).
  • FIG. 7 is a block diagram showing a configuration of the row processing unit of the LDPC code decoding apparatus according to the third embodiment.
  • the row processing unit 5 includes a plurality of comparison units 9 and a subtraction unit 11.
  • the comparison unit 9 compares the magnitudes of the input binary values in the same way as shown in FIG. 2, and calculates the product of the smaller value and the binary code (ji).
  • a plurality of The comparison unit 9 is connected in multiple stages. Further, as shown in the figure, the lower comparison unit 9 inputs the calculation result of the upper comparison unit 9 as one of the input binary values.
  • the processing by each comparison unit 9 is as follows.
  • the subtractor 11 calculates c ⁇ obtained by subtracting the input value c by a factor ⁇ (Offset Factor) and outputs the calculated value to the column processor 6.
  • Offset Factor
  • the comparison unit 9 performs the product of the respective magnitude comparison and the sign (shi). Then, after the subtraction unit 11 subtracts the value obtained by the comparison unit 9 by a factor, the value is transferred to the column processing unit 6.
  • the LDPC code decoding apparatus performs calculation and updating of probability information by row processing and column processing on a received signal one bit at a time or a predetermined number of bits.
  • the above equation (10) which is an update equation for the Offset BP algorithm, is used in each row process without using the above equations (2) and (3).
  • the Offset BP algorithm that suppresses degradation of decoding performance while decoding LDPC codes at the same computational cost as the Min-Sum algorithm, calculates probability information by row processing and column processing for received signals.
  • the basic operation flow of the LDPC code decoding apparatus according to the third embodiment is the same as the flowchart of FIG. 3 in the first embodiment. Therefore, the operation will be described along FIG. 3, and the operation different from that of the first embodiment will be described.
  • reception LLR calculation section 2 inputs reception information (step ST1), and calculates reception LLR from the reception information (step ST2).
  • the decoding result determination unit 8 repeatedly executes the determination process of step 2 according to the above equation (7)
  • the row processing unit 5 performs the above operation for the rows having 1 in the columns up to the first column force N column.
  • Row processing is performed according to Equation (10), and the processing result is passed to the column processing unit 6.
  • the column processing unit 6 performs column processing up to the first column N-th column according to the above formula (3) and the above formula (4).
  • the result is held in the result holding unit 4.
  • the row processing of the row having 1 in the previous column is performed, and the processing result is passed to the column processing unit 6.
  • the column processing unit 6 performs column processing up to the (N ⁇ N) column force N column, and ties the processing results halfway.
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z (i) repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 increases the number of repetitions i by 1, and then causes the row processing unit 5 and the column processing unit 6 to execute the processing of step 1.
  • the condition of the above formula (7) is satisfied. If so, the process proceeds to step 3 described later.
  • control unit 7 performs the above equation (10) until the result of the parity check is OK or the repetition count reaches the set maximum value I. ) Max based
  • step 1 and step 2 are controlled to repeat the processing of step 1 and step 2.
  • step 3 is performed as the control unit 7 max
  • FIG. 8 shows the bit error rate in the LDPC code decoding apparatus according to the conventional Offset BP algorithm and the LDPC code decoding apparatus according to the third embodiment until the notity check at this bit error rate becomes OK.
  • the connection between plots with a broken line is based on the conventional Offset BP algorithm
  • the connection between plots with a solid line is according to the third embodiment.
  • the LDPC code is regular LDPC, code length 8000, coding rate 1 Z2, column weight 3, row weight 6, and maximum number of repetitions I power 100 times.
  • Communication channel is AWGN max
  • the modulation method is BPSK (Binary Phase Shift Keying).
  • probability information is calculated and updated by row processing and column processing for a received signal one bit at a time or by a plurality of predetermined bits. Since the simple update formula of the Offset BP algorithm is used in row processing, probability propagation is performed more efficiently than the conventional Offset BP algorithm, and the convergence of the decoding operation is faster and the number of iterations can be reduced. . In addition, using the Offset BP algorithm as a basic algorithm eliminates the need for a mathematical function as in the conventional Shuffled BP algorithm, thereby reducing the calculation cost.
  • the fourth embodiment includes a correction type Min-Sum algorithm as a decoding algorithm that performs correction using a correction term that can be calculated only by subtraction of received information power and bit shift operation.
  • FIG. 9 is a block diagram showing the configuration of the LDPC code decoding apparatus according to Embodiment 4 of the present invention.
  • the LDPC code decoding apparatus 1 includes a reception LLR calculation unit 2 and a decoding core unit 3.
  • the reception LLR calculation unit 2 receives an LDPC (Low-Density Parity Check) code signal, calculates its log likelihood ratio LLR, and outputs it to the decoding core unit 3.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, and a decoding result determination unit 8.
  • the intermediate result holding unit 4 holds intermediate results of the decoding processing by the row processing unit 5 and the column processing unit 6 based on the reception LLR input from the reception LLR calculation unit 2.
  • the row processing unit 5 performs row processing using a correction-type Min-Sum algorithm that performs correction using the correction terms described above.
  • the column processing unit 6 performs column processing on the processing result of the row processing unit 5.
  • the control unit 7 controls repetition of decoding processing by the row processing unit 5 and the column processing unit 6.
  • the decoding result determination unit 8 determines the decoding result of the posterior hard decision power and performs parity check to determine the correctness of the decoding result.
  • the column processing is executed for.
  • step 1 which is the row processing executed in one iteration
  • the row processing unit 5 executes the calculation of the following equation (12) with respect to the following equation (11) To do.
  • Each parameter in the following formula (12) is represented by the following formulas (13) to (15), and the symbols in these formulas are the same as those described above.
  • which is the correction term for the Min-Sum algorithm.
  • the sum-product algorithm is an approximate term that can be obtained by series expansion of the renewal power of the algorithm. It can be calculated only by the difference between the absolute values of the input binary values, division by 2, and subtraction from the constant C. it can.
  • the decoding performance is improved by setting an appropriate value such as 0.9, for example, a force with In (2) obtained by approximation calculation from the update formula of the Sum-Product algorithm. It is also possible to improve. Furthermore, division by 2 can be performed by a 1-bit bit shift operation for systems expressed in binary numbers such as hardware.
  • step 1 when all the row processing by the row processing unit 5 is completed, the column processing unit 6 according to the fourth embodiment performs the above equations (4) and (4) with respect to the following equation (16). Perform operation (5).
  • Equation 9 l ⁇ n ⁇ N, m ⁇ M (n) ' ⁇ * (1 6)
  • step 2 the decoding result determination unit 8 makes a hard decision on the posterior value z n (i) , and generates a decoding sequence represented by the above equation (6). Thereafter, if the condition of the above equation (7) is satisfied, the process proceeds to Step 3 described later. If neither of these two conditions is satisfied, the number of repetitions i is added and the process returns to Step 2. In step 3, the decoding result determination unit 8 outputs a decoding sequence according to the above equation (6) obtained in step 2 as a decoding result.
  • FIG. 10 is a block diagram showing a configuration of the row processing unit in FIG.
  • the correction calculation unit 12 compares the absolute values of the input binary values, calculates a correction term, and makes corrections based on this, and calculates the product of the corrected value and the binary code (shi). .
  • the row processing unit 5 is configured by connecting a plurality of correction calculation units 12 in a plurality of stages. Further, as shown in the figure, the lower correction calculation unit 12 inputs the calculation result of the upper correction calculation unit 12 as one of the input binary values.
  • the processing by each correction calculation unit 12 is as follows.
  • LDPC code decoding apparatus 1 As described above, in LDPC code decoding apparatus 1 according to the fourth embodiment, received information power subtraction and bit shift operation are applied to the Min-Sum algorithm for the code signal at any one time of iterative decoding. After the completion of all row processing, the column processing is performed on all the bits of the code signal using the correction-type Min-Sum algorithm that performs correction using a correction term that can be calculated only by using the correction term.
  • FIG. 11 is a flowchart showing the operation of the LDPC code decoding apparatus according to Embodiment 4, and the operation will be described with reference to this figure.
  • the reception LLR calculation unit 2 inputs reception information (step ST1), and calculates a reception LLR from the reception information (step ST2).
  • the decoding result determination unit 8 repeatedly executes the determination process of step 2 according to the above equation (7)
  • H parity check matrix
  • step 1 when the row processing by the row processing unit 5 ends, the column processing unit 6 repeatedly performs column processing in the i-th decoding operation on the parity check matrix H of the LDPC code to be decoded. Specifically, the column processing up to the first column N-th column is performed according to the relationship of the above equation (16), and the processing result is held in the intermediate result holding unit 4.
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z (i) repeatedly calculated by the column processing unit 6 at the i-th time to determine a decoding result, and performs a parity check.
  • the control unit 7 increases the number of repetitions i by 1, and then causes the row processing unit 5 and the column processing unit 6 to execute the processing of step 1.
  • the condition of the above equation (7) is satisfied, the process proceeds to step 3 described later.
  • control unit 7 determines that the result of the parity check is OK as shown in the above equation (7). Or the maximum number of repetitions set I
  • the row processing unit 5 and the column processing unit 6 are controlled to repeat the processing in step 1 until max is reached.
  • step ST5 If the result of the parity check by the decoding result determination unit 8 is OK, and if the number of iterations i set by the control unit 7 is the maximum value I, the control unit 7 max is set as step 3 (step ST5).
  • Fig. 12 shows bit error rates in the LDPC code decoding apparatus according to the conventional Sum-Product algorithm, the LDPC code decoding apparatus according to the conventional Min-Sum algorithm, and the LDP C code decoding apparatus according to the fourth embodiment. It is a graph plotting the relationship between the signal-to-noise ratio (EbZ No) at this bit error rate.
  • the one connecting the plots with a dashed line is based on the conventional Sum-Product algorithm
  • the one connecting the plots with a dashed line is based on the conventional Min-Sum algorithm
  • the plots are plotted with a solid line. What is connected is the fourth embodiment.
  • the LDPC code is a regular LDPC code, a code length of 8000, a coding rate of 1Z2, a column weight of 3, and a row weight of 6, and the maximum number of repetitions I power
  • the communication channel is assumed to be an AWGN (Additive White Gaussian Noise) channel, and the modulation method is BPSK (Binary Phase Shift Keying).
  • AWGN Additional White Gaussian Noise
  • BPSK Binary Phase Shift Keying
  • LDPC code decoding apparatus 1 receives the received signal in accordance with a correction type Min-Sum algorithm that performs correction by a correction term that can be calculated only by subtraction of received information and bit shift calculation. After all the row processing for the row processing for is completed, column processing is performed for all the bits of the encoded signal. As a result of this correction, as shown in FIG. 12, the LDPC code decoding apparatus 1 according to the fourth embodiment has significantly improved decoding performance compared to the conventional Min-Sum algorithm, and the conventional Sum- It can be seen that the decoding performance similar to that of the Product algorithm can be realized.
  • the decoding process is performed according to the correction type Min-Sum algorithm that performs correction by a correction term that can be calculated only by subtraction of received information and bit shift calculation.
  • deterioration of the decoding performance from the conventional Sum-Product algorithm can be suppressed, and the decoding performance can be significantly improved as compared with the conventional Min-Sum algorithm.
  • the calculation for calculating the correction term based on the received information can be executed only by subtraction and 1-bit shift operation, and the LDPC code decoding apparatus 1 according to Embodiment 4 can be simplified. It can be realized with a hardware configuration.
  • a decoding apparatus that realizes a correction type Min-Sum algorithm that performs correction by a correction term that can be calculated only by subtraction of received information and bit shift calculation is shown.
  • the decoding device performs correction with division that performs column processing using a value obtained by dividing the row processing result in the correction type Min-Sum algorithm described in the fourth embodiment by a constant.
  • the type Min-Sum algorithm is executed as a decryption algorithm.
  • the decoding apparatus executes a correction type Min-Sum algorithm with power division, which has basically the same configuration as the decoding apparatus according to the fourth embodiment shown in FIG. Therefore, the configuration of the line processing unit 5 and the processing contents thereof are different.
  • the following formula (11) is used instead of the above formula (12) used in the row processing in the fourth embodiment with respect to the formula (11).
  • each parameter in the following formula (17) shall follow the above formula (13) to the above formula (15).
  • Other processes are the same as those in the fourth embodiment, and the symbols are as described above.
  • which is the correction term for the Min—Sum algorithm
  • is an approximate term that can be obtained by expanding the power equation series of the Sum—Product algorithm, and is the difference between the absolute values of the input binary values. It can be calculated only by dividing by 2 and subtraction from the constant C.
  • the division constant ⁇ has the same effect as the normalization factor in the Normalized BP algorithm, and the LLR size calculated by the row processing of the correction-type Min-Sum algorithm in Embodiment 4 is the Sum-Product By adjusting to the same size as the LLR calculated by the algorithm, it has the effect of improving decoding performance.
  • the division constant in the correction type Min-Sum algorithm with division in this embodiment is called a Normalization Factor as in the Normalized BP algorithm.
  • the basic configuration of the LDPC code decoding apparatus according to Embodiment 5 is the same as that of Embodiment 4 shown in FIG.
  • the reception LLR calculation unit 2 that calculates the reception information power reception LLR and the decoding core unit 3 are configured, and the decoding core unit 3 performs row processing according to the correction-added Min-Sum algorithm for the received signal. Decoding by column processing is executed.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, and a decoding result determination unit 8.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing unit 5 and the column processing unit 6 as described in the first embodiment.
  • the row processing unit 5 performs row processing using the above equation (17), and the column processing unit 6 performs column processing using the above equations (4) and (5) with respect to the relationship of the above equation (16). Process.
  • the control unit 7 controls decoding repetition such as setting of the maximum number of repetitions.
  • Decryption result The decision unit 8 calculates a decoding sequence of the decoding result by the above equation (6) from the posterior hard decision obtained by the column processing unit 6, performs a parity check, and corrects the decoding result from the condition of the above equation (7). Determine.
  • FIG. 13 is a block diagram showing the configuration of the row processing unit of the LDPC code decoding apparatus according to the fifth embodiment.
  • the row processing unit 5 includes a plurality of correction calculation units 12 and a division unit 13. Similar to the one shown in FIG. 10, the correction calculation unit 12 compares the magnitudes of the input binary values, calculates and corrects the correction term, and corrects the corrected value and the binary code. Calculate the product of.
  • a plurality of correction calculation units 12 are connected in a plurality of stages. Further, as shown in the figure, the lower correction calculation unit 12 inputs the calculation result of the upper correction calculation unit 12 as one of the input binary values.
  • the processing by each correction calculation unit 12 is as follows.
  • the division unit 13 divides the calculation result by the correction calculation unit 12 described above by a constant a (Normalization F actor). That is, the division unit 13 calculates and outputs cZ a for the input value c. In this way, in the row processing unit 5, the correction calculation unit 12 inputs the LLR of the corresponding bit for performing row processing from the midway result holding unit 4, and corrects each by the magnitude comparison, the product of the sign (shi), and the correction term. The division unit 13 divides the value calculated by the correction calculation unit 12 by the constant ⁇ , and then passes it to the column processing unit 6.
  • a Normalization F actor
  • the basic operation flow of the LDPC code decoding apparatus according to the fifth embodiment is the same as the flowchart of FIG. 11 in the fourth embodiment. Therefore, the operation will be described with reference to FIG. 11, and the operation different from that of the fourth embodiment will be described.
  • reception LLR calculation section 2 inputs reception information (step ST1), and calculates reception LLR from the reception information (step ST2).
  • the decoding result determination unit 8 repeatedly executes the determination process of step 2 according to the above equation (7)
  • H parity check matrix
  • step 1 when the row processing by the row processing unit 5 is completed, the column processing unit 6 repeatedly performs column processing in the i-th decoding operation on the parity check matrix H of the LDPC code to be decoded. Specifically, the column processing up to the first column N-th column is performed according to the relationship of the above equation (16), and the processing result is held in the intermediate result holding unit 4.
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 increases the number of repetitions i by 1, and then causes the row processing unit 5 and the column processing unit 6 to execute the processing in step 1.
  • the condition of the above equation (7) is satisfied, the process proceeds to step 3 described later.
  • control unit 7 determines that the result of the parity check is OK or the maximum value I set as the number of repetitions I
  • the row processing unit 5 and the column processing unit 6 are controlled to repeat the processing in step 1 until max is reached.
  • step ST5 If the result of the parity check by the decoding result determination unit 8 is OK, and if the number of iterations i set by the control unit 7 is the maximum value I, the control unit 7 max is set as step 3 (step ST5).
  • FIG. 14 shows a conventional LDPC code decoding device according to the Sum-Product algorithm
  • a conventional 6 is a graph plotting the relationship between the bit error rate and the signal-to-noise ratio (EbZNo) at this bit error rate in the LDPC code decoding device according to the Normalized BP algorithm of FIG.
  • the plots connected by broken lines are based on the conventional Sum-Product algorithm
  • the plots connected by dashed lines are based on the conventional Normalized BP algorithm
  • the plots are connected by solid lines. This is due to the fifth embodiment.
  • the LDPC code has a regular LDPC code, a code length of 8000, a coding rate of 1Z2, a column weight of 3, a row weight of 6, and a maximum number of repetitions I power of 100 times.
  • Communication channel max a code length of 8000, a coding rate of 1Z2, a column weight of 3, a row weight of 6, and a maximum number of repetitions I power of 100 times.
  • LDPC code decoding apparatus 1 uses a value obtained by dividing the row processing result in the correction-type Min-Sum algorithm shown in Embodiment 4 above by constant a.
  • the correction-with-division Min-Sum algorithm that performs column processing, all row processing for the received signal is completed, and then column processing is performed for all bits of the encoded signal.
  • the decoding performance is significantly improved compared to the conventional Normalized BP, and the decoding performance is almost the same as the conventional Sum-Product algorithm. It can be seen that
  • the row processing result in the correction-type Min-Sum algorithm that performs correction by a correction term that can be calculated only by subtraction of received information and bit shift calculation is a constant.
  • Decoding processing is performed according to the division-corrected Min-Sum algorithm that performs column processing using the divided values, so the conventional Sum-Product algorithm is used.
  • the difference in LLR size calculated by the algorithm is simply adjusted by the factor ⁇ (Normalization Factor) as in the conventional Normalized BP algorithm. By performing further correction, the decoding performance can be significantly improved over the conventional Normalized BP algorithm.
  • the correction term for the Min-Sum algorithm according to the fifth embodiment is calculated from the received information, it is not necessary to hold the correction term table unlike the conventional correction type algorithm. Furthermore, the calculation for calculating the correction term based on the received information can be executed only by subtraction and 1-bit shift operation.
  • the LDPC code decoding apparatus 1 according to the fifth embodiment can be performed with a simple hardware configuration. Can be realized.
  • a correction type Min-Sum algorithm with subtraction that performs column processing using a value obtained by subtracting the row processing result force constant in the correction type Min-Sum algorithm described in the fourth embodiment is used. This is executed as a decryption algorithm.
  • the LDPC code decoding apparatus has basically the same configuration as the LDPC code decoding apparatus according to the fourth embodiment shown in FIG.
  • the configuration of the line processing unit 5 and the processing contents are different for the execution of the Min-Sum algorithm.
  • which is the correction term for the Min-Sum algorithm
  • is an approximate term that can be obtained by expanding the power equation series of the Sum-Product algorithm. It can be calculated only by the difference between the pair values, division by 2, and subtraction from the constant C.
  • the subtraction constant j8 has the same effect as the Offset Factor in the Offset BP algorithm.
  • the subtraction constant j8 is the sum of the LLR values calculated by the row processing of the correction-type Min-Sum algorithm according to the fourth embodiment. -Adjusting to the same level as the LLR calculated by the Product algorithm has the effect of improving decoding performance.
  • the subtraction constant j8 in the correction-type Min-Sum algorithm with subtraction according to the sixth embodiment is referred to as Offset Factor as in the Offset BP algorithm.
  • the basic configuration of the LDPC code decoding apparatus is the same as that of the fourth embodiment shown in FIG.
  • the reception LLR calculation unit 2 for calculating the reception information power reception LLR and the decoding core unit 3 are configured, and the decoding core unit 3 performs row processing according to the correction type Min-Sum algorithm with subtraction for the received signal. Decoding by column processing is executed.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, and a decoding result determination unit 8.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing unit 5 and the column processing unit 6 as described in the first embodiment.
  • the row processing unit 5 performs row processing using the above equation (18), and the column processing unit 6 performs column processing using the above equations (4) and (5) with respect to the relationship of the above equation (16). Process.
  • the control unit 7 controls decoding repetition such as setting of the maximum number of repetitions.
  • the decoding result determination unit 8 calculates the decoding sequence of the decoding result by the above equation (6) from the hard decision of the posterior value obtained by the column processing unit 6, performs parity check, and performs the decoding result from the condition of the above equation (7).
  • FIG. 15 is a block diagram showing the configuration of the row processing unit of the LDPC code decoding apparatus according to the sixth embodiment.
  • the row processing unit 5 includes a plurality of correction calculation units 12 and a subtraction unit 14. Similar to the one shown in Fig. 10, the correction calculation unit 12 uses the absolute value of the input binary value. Compare the values, calculate and correct the correction term, and calculate the product of the corrected value and the binary sign.
  • a plurality of correction calculation units 12 are connected in a plurality of stages. Further, as shown in the figure, the lower correction calculation unit 12 inputs the calculation result of the upper correction calculation unit 12 as one of the input binary values.
  • the processing by each correction calculation unit 12 is as follows.
  • the subtraction unit 14 subtracts the calculation result by the correction calculation unit 12 described above by a constant ⁇ (Offset Factor). That is, the subtractor 14 calculates (c—
  • the correction calculation unit 12 inputs the LLR of the corresponding bit for performing row processing from the midway result holding unit 4, and compares the magnitude of each and the product (sign) of the sign and the correction term.
  • the subtraction unit 14 subtracts the value calculated by the correction calculation unit 12 by a constant, and passes (c—
  • the basic operation flow of the LDPC code decoding apparatus according to the sixth embodiment is the same as the flowchart of FIG. 11 in the fourth embodiment. Therefore, the operation will be described with reference to FIG. 11, and the operation different from that of the fourth embodiment will be described.
  • reception LLR calculation section 2 inputs reception information (step ST1), and calculates reception LLR from the reception information (step ST2).
  • the decoding result determination unit 8 repeatedly executes the determination process of step 2 according to the above equation (7) [0180]
  • the i-th iterative decoding operation will be described as an example.
  • H parity check matrix
  • step 1 the column processing unit 6 repeatedly performs column processing in the i-th decoding operation on the parity check matrix H of the LDPC code to be decoded. Specifically, the column processing up to the first column N-th column is performed according to the relationship of the above equation (16), and the processing result is held in the intermediate result holding unit 4.
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 increases the number of repetitions i by 1, and then causes the row processing unit 5 and the column processing unit 6 to execute the processing in step 1.
  • the condition of the above equation (7) is satisfied, the process proceeds to step 3 described later.
  • control unit 7 determines that the result of the parity check is OK or the maximum value I set as the number of repetitions is I.
  • the row processing unit 5 and the column processing unit 6 are controlled to repeat the processing in step 1 until max is reached.
  • step ST5 If the result of the parity check by the decoding result determination unit 8 is OK, and if the number of iterations i set by the control unit 7 is the maximum value I, the control unit 7 max is set as step 3 (step ST5).
  • Fig. 16 shows the bit error rate in the LDPC code decoding apparatus according to the conventional Sum-Product algorithm, the LDPC code decoding apparatus according to the conventional Offset BP algorithm, and the LDP C code decoding apparatus according to the sixth embodiment. It is a graph plotting the relationship between the signal-to-noise ratio (EbZ No) at the bit error rate.
  • the line connecting the plots with a broken line is based on the conventional Sum-Product algorithm
  • the line connecting the plots with a dashed line is based on the conventional Offset BP algorithm
  • the solid lines connect the plots. This is due to the fifth embodiment.
  • the LDPC code has a regular LDPC code, a code length of 8000, a coding rate of 1Z2, a column weight of 3, a row weight of 6, and a maximum number of repetitions I power of 100 times.
  • Communication channel max a code length of 8000, a coding rate of 1Z2, a column weight of 3, a row weight of 6, and a maximum number of repetitions I power of 100 times.
  • LDPC code decoding apparatus 1 uses a value obtained by subtracting the row processing result in the correction-type Min-Sum algorithm shown in the fourth embodiment by a constant ⁇ .
  • the subtraction-corrected Min-Sum algorithm that performs column processing, all row processing for the received signal is completed, and then column processing is performed for all bits of the encoded signal.
  • the decoding performance is significantly improved in the sixth embodiment as compared with the conventional Offset BP, and is almost the same as the conventional Sum-Product algorithm. We are able to realize that.
  • the row processing result in the correction-type Min-Sum algorithm that performs correction by a correction term that can be calculated only by subtraction of received information and bit shift calculation is a constant.
  • Decoding processing is performed according to the subtraction-corrected Min-Sum algorithm that performs column processing using the subtracted value, so the difference in LLR size calculated by the conventional Sum-Product algorithm can be calculated using the conventional offset.
  • the correction type Min — Sum algorithm shown in the above-mentioned Embodiment 4 is further corrected to make it more effective than the conventional Offset BP algorithm. Decoding performance can be remarkably improved.
  • the correction term for the Min-Sum algorithm according to the sixth embodiment is calculated from the received information, it is necessary to hold the correction term table as in the conventional correction type algorithm. There is no need. Furthermore, the calculation for calculating the correction term based on the received information can be executed only by subtraction and 1-bit shift operation, and the LDPC code decoding apparatus 1 according to the sixth embodiment can be performed with a simple hardware configuration. Can be realized.
  • calculation and updating of probability information by row processing and column processing for the received signal are performed bit by bit or a plurality of predetermined bits, and the row processing is described in the fourth embodiment.
  • the corrected Min-Sum algorithm is performed.
  • the LDPC code decoding apparatus has basically the same configuration as the LDPC code decoding apparatus according to the fourth embodiment shown in FIG. The difference is that the calculation and updating of probability information by row processing and column processing for received signals in the Min-Sum algorithm is performed bit by bit or by a predetermined number of bits.
  • is the correction term for the Min-Sum algorithm!
  • the sum-product algorithm is an approximate term that can be obtained by series expansion of the renewal power of the algorithm. It can be calculated only by the difference between the absolute values of the input binary values, division by 2, and subtraction from the constant C. it can.
  • the basic configuration of the LDPC code decoding apparatus is the same as that of the fourth embodiment shown in FIG. In other words, it consists of the reception LLR calculation unit 2 and the decoding core unit 3 that calculate the reception information power reception LLR.
  • the decoding core unit 3 performs row processing and column processing on the received signal according to the correction type Min-Sum algorithm. Decryption by is executed.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, and a decoding result determination unit 8.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing unit 5 and the column processing unit 6 as described in the first embodiment.
  • the row processing unit 5 performs row processing using the above equation (19) for the relationship of the above equation (1)
  • the column processing unit 6 performs the above equation (4) for the relationship of the above equation (1).
  • column processing using equation (5)
  • the control unit 7 controls decoding repetition such as setting of the maximum number of repetitions.
  • the decoding result determination unit 8 calculates the decoding sequence of the decoding result by the above equation (6) from the hard decision of the posterior value obtained by the column processing unit 6, performs parity check, and performs the decoding result from the condition of the above equation (7).
  • the basic configuration of the row processing unit 5 according to the seventh embodiment is the same as that of the fourth embodiment shown in FIG.
  • the correction calculation unit 12 compares the magnitudes of the input binary values, calculates the correction term, and performs corrections based on this, and calculates the product of the corrected value and the binary sign (shi).
  • the row processing unit 5 is configured by connecting a plurality of correction calculation units 12 in a plurality of stages, and the upper correction calculation unit 12 calculates one of the two input values in the lower correction calculation unit 12. The result is entered.
  • the processing by each correction calculation unit 12 is as follows.
  • the LDPC code decoding apparatus performs the calculation and update of probability information by row processing and column processing on the received signal one bit at a time or a predetermined number of bits. Based on the BP algorithm, the above formula (
  • the basic operation flow of the LDPC code decoding apparatus according to the seventh embodiment is the same as the flowchart of FIG. 3 in the first embodiment. Therefore, the operation will be explained according to Fig. 3.
  • reception LLR calculation section 2 inputs reception information (step ST1), and calculates reception LLR from the reception information (step ST2).
  • the decoding result determination unit 8 repeatedly executes the determination process of step 2 according to the above equation (7)
  • the processing result is held in the intermediate result holding unit 4.
  • the row processing of the rows having 1 in the previous columns is performed according to the above equation (19), and the processing result is passed to the column processing unit 6. Similarly, the column processing unit 6 performs column processing up to the (N ⁇ N) column force N column.
  • the processing result is held in the intermediate result holding unit 4.
  • step 2 the decoding result determination unit 8 performs a hard decision on the a posteriori value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 the decoding result determination unit 8 performs a hard decision on the a posteriori value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 performs a hard decision on the a posteriori value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • step 1 If the result of the NORITY check is NG, the number of repetitions i is increased by 1, and then the processing of step 1 is executed by the row processing unit 5 and the column processing unit 6. On the other hand, if the condition of the above equation (7) is satisfied, the process proceeds to step 3 described later.
  • control unit 7 performs the above equation (8) until the result of the parity check is OK or the repetition count reaches the set maximum value I. ) Based on
  • the row processing unit 5 and the column processing unit 6 are controlled to repeat the processing of step 1 and step 2.
  • step ST5 If the result of the parity check by the decoding result determination unit 8 is OK, and if the number of iterations i set by the control unit 7 reaches the maximum value I, the control unit 7 max is set as step 3 (step ST5).
  • probability information is calculated and updated by row processing and column processing for a received signal one bit at a time or by a plurality of predetermined bits.
  • the correction type Min-Sum algorithm shown in the fourth embodiment is used. Since the process is performed according to the process, probability propagation is performed efficiently, the convergence of the decoding operation is accelerated, and the number of iterations can be reduced.
  • the correction type Min-Sum algorithm which corrects the received information power based on the approximation of the Sum-Product algorithm, is used as the basic algorithm, reducing the calculation cost compared to the conventional Shuffled BP algorithm. High decoding performance can be obtained.
  • calculation and updating of probability information by row processing and column processing for the received signal are performed bit by bit or predetermined multiple bits, and the above-described row processing is used for the above-described row processing.
  • the correction-type Min-Sum algorithm with division shown in the fifth embodiment is executed.
  • the LDPC code decoding apparatus has basically the same configuration as the LDPC code decoding apparatus according to the fourth embodiment shown in FIG.
  • the configuration of the line processing unit 5 and the processing contents are different for the execution of the Min-Sum algorithm.
  • the calculation of the following equation (21) is performed on the above equation (1). That is, in the row processing of Step 1 of the Shuffled BP algorithm in which the probability information is calculated and updated by the row processing and the column processing for the received signal one bit at a time or a plurality of bits determined in advance, as described in Embodiment 5
  • the update calculation is performed by the following formula (21), which is the update formula used in the correction type Min-Sum algorithm with division.
  • Each parameter in the following formula (21) shall follow the following formula (20) and the above formulas (14) and (15).
  • Other processes are the same as those in the fourth embodiment, and the symbols are as described above.
  • Equation (15) ⁇ , which is a correction term for the Min-Sum algorithm, is an approximate term that can be obtained by series expansion of the update formula force of the Sum-Product algorithm. It can be calculated only by subtracting the difference between the absolute values of the two values, division by 2, and constant C force.
  • the division constant ⁇ has the same effect as the Normalization Factor in the Normalized BP algorithm, and performs calculation and updating of probability information by row processing and column processing for the received signal one bit at a time or a predetermined number of bits.
  • Correction type Min-Sum algorithm has the effect of improving decoding performance by adjusting the LLR size calculated by the row processing to the same level as the LLR size calculated by the Sum-Product algorithm. .
  • the basic configuration of the LDPC code decoding apparatus is the same as that of the fourth embodiment shown in FIG. In other words, it is composed of the reception LLR calculation unit 2 and the decoding core unit 3 that calculate the reception information power reception LLR, and the decoding core unit 3 calculates and updates the probability information by row processing and column processing for the received signal by 1 bit. Performs decoding by the correction type Min-Sum algorithm with division, which is performed one by one or multiple predetermined bits.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, and a decoding result determination unit 8.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing unit 5 and the column processing unit 6 as described in the first embodiment.
  • the row processing unit 5 performs row processing using the above equation (21) according to the relationship of the above equation (1), and the column processing unit 6 performs the above equation (4) in the same manner as in Step 1 of the Shuffled BP algorithm described above. And column processing using equation (5).
  • the control unit 7 controls decoding repetition such as setting of the maximum number of repetitions.
  • the decoding sequence of the decoding result is calculated by the above equation (6) from the posterior hard decision obtained by the column processing unit 6 in the same manner as in Step 1 of the Shuffled BP algorithm described above, and the parity check is performed. Then, the correctness of the decoding result is determined from the condition of the above equation (7).
  • the row processing unit 5 has the basic configuration shown in FIG. This is the same as Form 5. That is, it comprises a plurality of correction calculation units 12 and a division unit 13.
  • the correction calculation unit 12 compares the magnitudes of the input binary values, calculates the correction term, and performs corrections based on the comparison, and calculates the product of the corrected value and the binary code. Is calculated.
  • the row processing unit 5 is configured by connecting a plurality of correction calculation units 12 in a plurality of stages, and the calculation result of the upper correction calculation unit 12 is input as one of the two input values in the lower correction calculation unit 12. It is done.
  • the processing by each correction calculation unit 12 is as follows.
  • the division unit 13 divides the calculation result obtained by the correction calculation unit 12 by a constant a (Normalization F actor). That is, the division unit 13 calculates and outputs cZ a for the input value c. In this way, in the row processing unit 5, the correction calculation unit 12 inputs the LLR of the corresponding bit for performing row processing from the midway result holding unit 4, and corrects each by the magnitude comparison, the product of the sign (shi), and the correction term. The division unit 13 divides the value calculated by the correction calculation unit 12 by the constant ⁇ , and then passes it to the column processing unit 6.
  • a Normalization F actor
  • the LDPC code decoding apparatus performs the calculation and update of probability information by row processing and column processing on the received signal one bit at a time or a predetermined number of bits. Based on the BP algorithm, the above formula (21) is used in each row processing.
  • the basic operation flow of the LDPC code decoding apparatus according to the eighth embodiment is the same as the flowchart of FIG. 3 in the first embodiment. Therefore, the operation will be explained according to Fig. 3.
  • reception LLR calculation section 2 inputs reception information (step ST1), and calculates reception LLR from the reception information (step ST2).
  • the decoding result determination unit 8 repeatedly executes the determination process of step 2 according to the above equation (7)
  • the row processing of the rows having 1 in the columns up to g g is performed according to the above equation (21), and the processing result is passed to the column processing unit 6. Similarly, the column processing unit 6 performs column processing up to the (N + 1) column power 2N column.
  • the processing result is held in the intermediate result holding unit 4.
  • the row processing of the rows having 1 in the previous columns is performed according to the above equation (21), and the processing result is passed to the column processing unit 6. Similarly, the column processing unit 6 performs column processing up to the (N ⁇ N) column force N column.
  • the processing result is held in the intermediate result holding unit 4.
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 If the result of the NOR check is NG, the number of repetitions i is incremented by 1, and then the processing in step 1 is executed by the row processing unit 5 and the column processing unit 6. On the other hand, if the condition of the above equation (7) is satisfied, the process proceeds to step 3 described later.
  • control unit 7 performs the above equation (8) until the parity check result is OK or the repetition count reaches the set maximum value I. ) Based on max
  • the row processing unit 5 and the column processing unit 6 are controlled to repeat the processing of step 1 and step 2.
  • step ST5 If the result of the parity check by the decoding result determination unit 8 is OK, and if the number of iterations i set by the control unit 7 is the maximum value I, the control unit 7 max is set as step 3 (step ST5).
  • probability information is calculated and updated by row processing and column processing for a received signal one bit at a time or a plurality of predetermined bits, and In the row processing, processing is performed according to the correction type Min-Sum algorithm with division shown in the fifth embodiment, so that probability propagation is performed efficiently, and the convergence of the decoding operation is accelerated and the number of repetitions is reduced. Can be reduced.
  • the sub-compensation type Min-Sum algorithm which corrects the received information power based on the approximation of the Sum-Product algorithm, is used as the basic algorithm, thereby reducing the computational cost compared to the conventional Shuffled BP algorithm.
  • high decoding performance can be obtained.
  • calculation and updating of probability information by row processing and column processing for the received signal are performed bit by bit or predetermined multiple bits, and the row processing is performed!
  • the correction-type Min-Sum algorithm with subtraction shown in the sixth embodiment is executed.
  • the LDPC code decoding apparatus has basically the same configuration as the LDPC code decoding apparatus according to the fourth embodiment shown in FIG.
  • the configuration of the line processing unit 5 and its processing contents differ in order to execute the M in— Sum algorithm.
  • the row processing unit 5 executes the calculation of the following equation (22) for the above equation (1).
  • the update calculation is performed by the following formula (22) which is an update formula used in the correction type Min-Sum algorithm with subtraction.
  • each parameter in the following formula (22) shall follow the following formula (20) and the above formulas (14) and (15).
  • the other processes are the same as in the fourth embodiment, and the symbols are as described above.
  • Equation (15) ⁇ , which is the correction term for the Min-Sum algorithm, is an approximate term that can be obtained by series expansion of the update formula force of the Sum-Product algorithm. It can be calculated only by the difference between absolute values, division by 2, and subtraction of constant C force.
  • the subtraction constant j8 has the same effect as the Offset Factor j8 in the Offset BP algorithm, and the calculation and update of probability information by row processing and column processing for the received signal are performed one bit at a time or multiple bits set in advance.
  • the decoding performance is improved by adjusting the LLR size calculated by the row processing of the Min-Sum algorithm with subtraction to the same level as the LLR size calculated by the Sum-Product algorithm. Has an effect.
  • the basic configuration of the LDPC code decoding apparatus is the same as that of the fourth embodiment shown in FIG.
  • the received information power reception LLR is calculated.
  • the reception LLR calculation unit 2 and the decoding core unit 3 are configured, and the decoding core unit 3 performs calculation and update of probability information by row processing and column processing for the received signal one bit at a time or a plurality of predetermined bits. Performs decoding using the correction type Min-Sum algorithm with subtraction.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, and a decoding result determination unit 8.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing unit 5 and the column processing unit 6 as described in the first embodiment.
  • the row processing unit 5 performs row processing using the above equation (22) according to the relationship of the above equation (1), and the column processing unit 6 performs the above equation (4) in the same manner as in Step 1 of the Shuffled BP algorithm described above. And column processing using equation (5).
  • the control unit 7 controls decoding repetition such as setting of the maximum number of repetitions.
  • the decoding sequence of the decoding result is calculated by the above equation (6) from the posterior hard decision obtained by the column processing unit 6 in the same manner as in Step 1 of the Shuffled BP algorithm described above, and the parity check is performed. Then, the correctness of the decoding result is determined from the condition of the above equation (7).
  • the basic configuration of the row processing unit 5 according to the ninth embodiment is the same as that of the sixth embodiment shown in FIG. That is, it is composed of a plurality of correction calculation units 12 and subtraction units 14.
  • the correction calculation unit 12 compares the magnitudes of the input binary values, calculates the correction term, and performs corrections based on the comparison, and calculates the product of the corrected value and the binary code. Is calculated.
  • the row processing unit 5 is configured by connecting a plurality of correction calculation units 12 in a plurality of stages, and the calculation result of the upper correction calculation unit 12 is input as one of the two input values in the lower correction calculation unit 12. It is done.
  • the processing by each correction calculation unit 12 is as follows.
  • the subtraction unit 14 divides the calculation result obtained by the correction calculation unit 12 by a constant ⁇ (Offset Factor). That is, the subtracting unit 14 calculates (c—
  • Offset Factor
  • the LDPC code decoding apparatus performs calculation and updating of probability information by row processing and column processing on the received signal one bit at a time or a predetermined number of bits. Based on the BP algorithm, the above formula (22) is used in each row process.
  • the basic operation flow of the LDPC code decoding apparatus according to the ninth embodiment is the same as the flowchart of FIG. 3 in the first embodiment. Therefore, the operation will be explained according to Fig. 3.
  • reception LLR calculation section 2 inputs reception information (step ST1), and calculates reception LLR from the reception information (step ST2).
  • the decoding result determination unit 8 repeatedly executes the determination process of step 2 according to the above equation (7)
  • the row processing unit 5 increases the row processing for the rows with 1 in the columns up to the first column force N column.
  • the row processing of the rows having 1 in the columns up to g g is performed according to the above equation (22), and the processing result is passed to the column processing unit 6. Similarly, the column processing unit 6 performs column processing up to the (N + 1) column power 2N column.
  • the processing result is held in the intermediate result holding unit 4.
  • the row processing for the rows having 1 in the previous columns is performed according to the above equation (22), and the processing result is passed to the column processing unit 6. Similarly, the column processing unit 6 performs column processing up to the (N ⁇ N) column force N column.
  • the processing result is held in the intermediate result holding unit 4.
  • step 2 the decoding result determination unit 8 performs a hard decision on the a posteriori value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 performs a hard decision on the a posteriori value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • step 1 If the result of the NORITY check is NG, the number of repetitions i is increased by 1, and then the processing of step 1 is executed by the row processing unit 5 and the column processing unit 6. On the other hand, if the condition of the above equation (7) is satisfied, the process proceeds to step 3 described later.
  • control unit 7 performs the above equation (8) until the parity check result is OK or the repetition count reaches the set maximum value I. ) Based on
  • the row processing unit 5 and the column processing unit 6 are controlled to repeat the processing of step 1 and step 2.
  • step ST5 If the result of the parity check by the decoding result determination unit 8 is OK, and if the number of repetitions i set by the control unit 7 is the maximum value I, the control unit 7 max is set as step 3 (step ST5).
  • calculation and updating of probability information by row processing and column processing for a received signal are performed one bit at a time or a plurality of predetermined bits, and In the row processing, processing is performed according to the correction type Min-Sum algorithm with subtraction shown in the sixth embodiment, so that probability propagation is performed efficiently, the convergence of the decoding operation is accelerated, and the number of repetitions is reduced. Can be reduced.
  • the subtraction-corrected Min-Sum algorithm which corrects the received information power based on the approximation of the Sum-Product algorithm, is used as the basic algorithm, thereby reducing the calculation cost compared to the conventional Shuffled BP algorithm.
  • high decoding performance can be obtained.
  • This Embodiment 10 does not have a constant factor ⁇ (Normalization Factor) for all rows of the parity check matrix, but has a decoding factor m having a factor a (Normalization Factor) determined for each row.
  • Normalization Factor
  • m decoding factor
  • Decoding is performed according to the algorithm.
  • the present Embodiment 10 includes a normal Normalized BP algorithm, a correction type Min-Sum algorithm with division shown in Embodiment 5 above, and row processing and column processing for received signals in these algorithms.
  • the present invention can be applied to all decoding algorithms having a factor ⁇ (Normalizati on Factor), such as a decoding algorithm that calculates and updates probability information by processing one bit at a time or multiple predetermined bits.
  • Normalizati on Factor
  • the LDPC code decoding apparatus has basically the same configuration as the LDPC code decoding apparatus according to the fourth embodiment shown in FIG. (m
  • the configuration of the line processing unit 5 and its processing contents are different. Specifically, in the row processing unit 5 in the present embodiment 10, the following formula (11) is used instead of the above formula (12) used in the row processing in the fourth embodiment with respect to the above formula (11). Execute operation 23).
  • the following formula (2 The parameters in 3) are the same as those in the fourth embodiment, and the symbols are as described above.
  • the factor ⁇ indicates the normalization factor in the m-th row.
  • FIG. 17 is a graph showing the distribution of received values when the modulation method is 4 ⁇ Gray Mapping.
  • bit value 00, 01, 11, 10 corresponding to each modulation signal point indicated by black plot
  • bit value 0, 0, 1, l ⁇ 1-MSB Most Signifi cant Bit
  • the boundary between 0 and 1 of the LSB Least Significant Bit
  • the boundary between 0 and 1 of the LSB is 2 and 2 ( Figure It can be seen that bit inversion is more likely to occur in the LSB.
  • which is expressed as the ratio of the average value of the row processing results of the Sum-Product algorithm and the Min-Sum algorithm, depends on the error rate of bits with 1 in each row.
  • the factor ⁇ depends on the number of bits having 1 in each row as the MSB and the number of LSB.
  • the row weight is not constant. For this reason, a which is the ratio of the average value of the row processing results of the Sum-Product algorithm and the Min-Sum algorithm depends on the row weight.
  • the basic configuration of the LDPC code decoding apparatus is the same as that of the fourth embodiment shown in FIG. In other words, it consists of a reception LLR calculation unit 2 and a decoding core unit 3 that calculate received information power reception LLR.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, and a decoding result determination unit 8.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing unit 5 and the column processing unit 6 as described in the first embodiment.
  • the row processing unit 5 performs row processing using the above equation (23), and the column processing unit 6 performs column processing using the above equations (4) and (5) with respect to the relationship of the above equation (16). Process.
  • the control unit 7 controls decoding repetition such as setting of the maximum number of repetitions.
  • the decoding result determination unit 8 calculates the decoding sequence of the decoding result by the above equation (6) from the hard decision of the posterior value obtained by the column processing unit 6, performs parity check, and performs the decoding result from the condition of the above equation (7).
  • FIG. 18 is a block diagram showing the configuration of the row processing unit of the LDPC code decoding apparatus according to the tenth embodiment.
  • the row processing unit 5 includes a plurality of comparison units 9, a division unit 10a, and a division constant selection unit 15.
  • the comparison unit 9 compares the magnitudes of the input binary values in the same manner as shown in FIG. 2, and calculates the product of the smaller value and the binary code (ji).
  • a plurality of comparison units 9 are connected in a plurality of stages. Further, as shown in the figure, the lower comparison unit 9 inputs the calculation result of the upper comparison unit 9 as one of the input binary values.
  • the processing by each comparison unit 9 is as follows.
  • the division unit 10a divides the calculation result by the comparison unit 9 by the constant a (Normalization Factor) from the division constant selection unit 15. In other words, the division unit 10a applies m to the input value c.
  • the division constant selection unit 15 stores the a value of each row in advance, and the control unit 7 determines the communication path and path. And the code configuration information is received, the line number m to be processed in this information is input, am of each line is determined, and the result is passed to the division unit 10a.
  • the LLR of the corresponding bit for performing the row processing is input from the intermediate result holding unit 4, and the respective magnitude comparison and the product of the sign (shi) are compared.
  • the division unit 10a divides the value obtained by the comparison unit 9 by ⁇ m selected by the division constant selection unit 15 and then passes the value to the column processing unit 6.
  • the basic operation flow of the LDPC code decoding apparatus according to the tenth embodiment is the same as the flowchart of FIG. 11 in the fourth embodiment. Therefore, the operation will be described with reference to FIG.
  • reception LLR calculation section 2 inputs reception information (step ST1), and calculates reception LLR from the reception information (step ST2).
  • the decoding result determination unit 8 repeatedly executes the determination process of step 2 according to the above equation (7)
  • H parity check matrix
  • the column processing unit 6 When the row processing by the row processing unit 5 is completed in step 1, the column processing unit 6 repeatedly performs column processing in the i-th decoding operation on the parity check matrix H of the LDPC code to be decoded. Do. Specifically, the column processing up to the first column N-th column is performed according to the relationship of the above equation (16), and the processing result is held in the intermediate result holding unit 4.
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z (i) repeatedly calculated by the column processing unit 6 at the i-th time to determine the decoding result, and performs a parity check.
  • the control unit 7 performs a hard decision on the posterior value z (i) repeatedly calculated by the column processing unit 6 at the i-th time to determine the decoding result, and performs a parity check.
  • step 1 the processing in step 1 is executed by the row processing unit 5 and the column processing unit 6.
  • the process proceeds to step 3 described later.
  • control unit 7 determines that the result of the parity check is OK or the maximum number I set as the number of repetitions is set.
  • the row processing unit 5 and the column processing unit 6 are controlled to repeat the processing in step 1 until max is reached.
  • step ST5 If the result of the parity check by the decoding result determination unit 8 is OK, and if the number of iterations i set by the control unit 7 reaches the maximum value I, the control unit 7 max is set as step 3 (step ST5).
  • the normalization factor in the Normalized BP algorithm is set for each row in accordance with the modulation scheme and the code configuration. than to decode in conventional Nor malized BP algorithm or when Kai regular LDPC codes, probability information propagated approaches the Sum-Produ c t algorithm, thereby improving the decoding performance.
  • An LDPC code decoding apparatus to which the factor a for each row is applied may be configured by using a decoding algorithm that calculates and updates probability information by column processing bit by bit or a plurality of bits determined in advance.
  • Embodiment 11 does not have a constant factor j8 (Offset Factor) for all rows of the parity check matrix, and follows a decoding algorithm having a factor 13 (Offset Factor) determined for each row.
  • Decoding is performed.
  • this Embodiment 11 is a normal Offset BP algorithm, a correction-type Min-Sum algorithm with subtraction described in Embodiment 6 above, and row processing for received signals in these algorithms. It can be applied to all decoding algorithms that have a factor (Offset Factor), such as a decoding algorithm that calculates and updates probability information by sequence processing one bit at a time or multiple bits determined in advance.
  • Offset Factor a factor that calculates and updates probability information by sequence processing one bit at a time or multiple bits determined in advance.
  • the LDPC code decoding apparatus according to Embodiment 11 has basically the same configuration as the LDPC code decoding apparatus according to Embodiment 4 shown in FIG. j8 (m
  • depends on the number of MSBs of bits with 1 in each row, the number of LSBs m
  • the basic configuration of the LDPC code decoding apparatus is the same as that of the fourth embodiment shown in FIG. In other words, it consists of the reception LLR calculation unit 2 and the decoding core unit 3 that calculate the received information power reception LLR, and the decoding core unit 3 uses the factor j8 (Offset Factor) for each row for the received signal. set m according to the BP algorithm
  • Decryption is performed by logic and column processing.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, and a decoding result determination unit 8.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing unit 5 and the column processing unit 6 as described in the first embodiment.
  • the row processing unit 5 performs row processing using the above equation (24), and the column processing unit 6 performs column processing using the above equations (4) and (5) with respect to the relationship of the above equation (16). Process.
  • the control unit 7 controls decoding repetition such as setting of the maximum number of repetitions.
  • the decoding result determination unit 8 calculates the decoding sequence of the decoding result by the above equation (6) from the hard decision of the posterior value obtained by the column processing unit 6, performs parity check, and performs the decoding result from the condition of the above equation (7).
  • FIG. 19 is a block diagram showing the configuration of the row processing unit of the LDPC code decoding apparatus according to the eleventh embodiment.
  • the row processing unit 5 includes a plurality of comparison units 9, a subtraction unit 11a, and a subtraction constant selection unit 16.
  • the comparison unit 9 inputs the same as shown in FIG. Compare the absolute values of the binary values, and calculate the product of the smaller value and the binary code.
  • a plurality of comparison units 9 are connected in a plurality of stages. Further, as shown in the figure, the lower comparison unit 9 inputs the calculation result of the upper comparison unit 9 as one of the input binary values.
  • the processing by each comparison unit 9 is as follows.
  • the subtraction unit 11a subtracts the calculation result by the comparison unit 9 using the constant j8 (Offset Factor) from the subtraction constant selection unit 16. That is, the subtraction unit 11a calculates c ⁇ m m for the input value c and outputs it.
  • the comparison unit 9 inputs the LLR of the corresponding bit to be subjected to row processing from the intermediate result holding unit 4, calculates the product of the respective magnitude comparisons and the sign (shi), and the subtraction unit 11a After subtracting the value calculated by the comparison unit 9 by a constant, the column processing unit m
  • the subtraction constant selection unit 16 stores 13 values of each row in advance, and the control unit 7 determines the communication path and m.
  • the information of the code structure is received, the line number m to be processed in this information is input, 13 m of each line is determined, and transferred to the subtracting unit 11a.
  • the LLR of the corresponding bit for performing row processing is input from the midway result holding unit 4, and the product of the magnitude comparison and the sign (shi) is compared.
  • the subtraction unit 11a subtracts the value obtained by the comparison unit 9 by m selected by the subtraction constant selection unit 16, and then passes the value to the column processing unit 6.
  • the basic operation flow of the LDPC code decoding apparatus according to the eleventh embodiment is the same as the flowchart of FIG. 11 in the fourth embodiment. Therefore, the operation will be described with reference to FIG.
  • reception LLR calculation section 2 inputs reception information (step ST1), and calculates a reception LLR from the reception information (step ST2).
  • subtraction constant selection unit 16 is passed information on the modulation method and the row weight. Based on this information, the subtraction constant selection unit 16 determines 13 for each row and passes it to the subtraction unit 11a.
  • step 2 The determination process of step 2 according to the above equation (7) by the signal result determination unit 8 is repeatedly executed.
  • H parity check matrix
  • the column processing unit 6 When the row processing by the row processing unit 5 is completed in step 1, the column processing unit 6 repeatedly performs column processing in the i-th decoding operation on the parity check matrix H of the LDPC code to be decoded. Specifically, the column processing up to the first column N-th column is performed according to the relationship of the above equation (16), and the processing result is held in the intermediate result holding unit 4.
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 increases the number of repetitions i by 1, and then causes the row processing unit 5 and the column processing unit 6 to execute the processing in step 1.
  • the condition of the above equation (7) is satisfied, the process proceeds to step 3 described later.
  • control unit 7 determines that the parity check result is OK or the maximum number I of repetitions is set.
  • the row processing unit 5 and the column processing unit 6 are controlled to repeat the processing in step 1 until max is reached.
  • step 3 step ST5 is performed as the control unit 7
  • Offs in the Offset BP algorithm is used. Since et Factor is set for each row according to the modulation method and code configuration, it is propagated rather than decoding with the conventional Offset BP algorithm in the case of multi-level modulation or in the case of code-chiral LDPC codes. Probability information approaches the Sum-Product algorithm, and decoding performance can be improved.
  • a DPC code decoding device may be configured.
  • FIG. 20 is a block diagram showing the configuration of the LDPC code decoding apparatus according to Embodiment 12 of the present invention.
  • the LDPC code decoding apparatus 1 according to the twelfth embodiment includes a reception LLR calculation unit 2 and a decoding core unit 3 as in the configuration of the first embodiment shown in FIG.
  • this embodiment differs from the first embodiment in that an operation sequence control unit 17 is provided.
  • the calculation sequence control unit 17 determines a column to be calculated by the row processing unit 5 and the column processing unit 6 based on the group division, and controls a decoding process based on the group division.
  • probability information is calculated and updated by row processing and column processing for a received signal by a plurality of predetermined bits. However, it is divided into groups that are combinations of multiple bits based on the code configuration.
  • a group that creates a combination of multiple bits in a decoding algorithm that performs calculation and update of probability information by row processing and column processing multiple bits at a time such as the Group Shuffled BP algorithm. Divide the group so that the columns included in the same group do not have 1 in the same row. This makes it possible to more efficiently propagate probability information and reduce the number of iterations compared to the case where columns of the same dull have 1 in the same row. .
  • FIG. 21 is a diagram showing a configuration example of an LDPC code matrix, and shows an LDPC code matrix in which the upper right part of the matrix surrounded by a triangle is 0.
  • FIG. 22 is a diagram illustrating an example of group division of an LDPC code matrix by the LDPC code decoding apparatus according to the twelfth embodiment.
  • the sign matrix can be used in common with the decoding matrix, and there are many practical advantages.
  • the LDPC code decoding apparatus executes Group Shuffled BP algorithm for group-dividing the LDPC coding matrix as shown in Fig. 22 based on the code configuration. Briefly described below.
  • n is an integer greater than or equal to 0 and less than N
  • m is an integer greater than or equal to 0 and less than M
  • H is the m-th row and the n-th column of H m, n
  • step 1 row processing for calculating the above formula (2) and the above formula (3) is executed for the condition of the following formula (25).
  • N (m), M (n) is a subset of the set [1, N]
  • M (n): ⁇ m:
  • H 1 ⁇ . That is, N (m) is m, n m, n
  • M (n) means a set of column indexes having 1 in m rows of LDP C check matrix H, and means a set of column indexes having 1 in m rows of parity check matrix H.
  • the set A force is also expressed as A ⁇ a. That is, N (m) ⁇ n is a set of column indexes excluding the set N (m) force n-th column, and M (n) ⁇ m is a set of row indexes excluding the set M (n) force m-th row. Show me. z (i) is updated at the i-th iteration m, n
  • ⁇ (i ) is the repetitive i-th LLR sent from the check node to the bit node.
  • step 1 column processing for calculating the above formula (4) and the above formula (5) is executed for the condition of the above formula (25). Where z (i) is sent from the bit node to the check node m, n
  • Z (i) is the i-th posterior value repeatedly.
  • step 2 the posterior value z (i) is hard-decided, and the decoded sequence represented by the above equation (6) is generated. Thereafter, if the condition of the above equation (7) is satisfied, the process proceeds to Step 3 described later. If neither of these two conditions is satisfied, the number of repetitions i is added and the process returns to Step 2. In step 3, the decoding sequence according to the above equation (6) obtained in step 2 is output as the decoding result.
  • GR (g) represents the set of columns that make up the gth group. In the example shown in Fig. 22, when GR (g) is specifically shown, It becomes like this.
  • the LDPC code decoding apparatus has the same basic configuration as that of the first embodiment shown in FIG.
  • the reception information power is also composed of the reception LLR calculation unit 2 that calculates the reception LLR and the decoding core unit 3, and the decoding core unit 3 performs decoding of LDPC codes by group shuffled BP algorithm divided into groups every other bit. .
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, a decoding result determination unit 8, and an operation sequence control unit 17.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing unit 5 and the column processing unit 6 as described in the first embodiment.
  • the row processing unit 5 performs row processing using the above equations (2) and (3) for the condition of the above equation (25), and the column processing unit 6 performs the processing for the condition of the above equation (25). Performs column processing using Equations (4) and (5) above.
  • the control unit 7 controls decoding repetition such as setting of the maximum number of repetitions.
  • the decoding sequence of the decoding result is calculated by the above equation (6) from the hard decision of the posterior value obtained by the column processing unit 6 as in Step 1 of the above-described Group Shuffled BP algorithm, and the parity check is performed. Then, the correctness of the decoding result is determined from the condition of the above equation (7).
  • the operation sequence control unit 17 divides the LDPC coding matrix into groups as described above and controls the operation target columns by the row processing unit 5 and the column processing unit 6.
  • FIG. 23 is a flowchart showing the operation of the LDPC code decoding apparatus according to the twelfth embodiment. A decoding operation using the code matrix shown in FIG. 22 will be described as an example along this figure.
  • reception LLR calculation section 2 inputs reception information (step ST1), and calculates reception LLR from the reception information (step ST2).
  • step 1 in which iterative decoding process is performed by the unit 5 and the column processing unit 6 and the determination process of step 2 according to the above equation (7) by the decoding result determination unit 8 is repeatedly executed.
  • the arithmetic column control unit 17 passes the numbers of all the columns included in the group 1 denoted by reference symbol A in the drawing to the row processing unit 5 and the column processing unit 6.
  • the row processing unit 5 performs row processing of the row having 1 in the column included in the group 1, and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing on the columns included in the group 1 and holds the processing result in the intermediate result holding unit 4.
  • the operation column control unit 17 passes the numbers of all the columns included in the group 2 denoted by the symbol B in the drawing to the row processing unit 5 and the column processing unit 6.
  • the row processing unit 5 performs row processing for the row having 1 in the column included in the group 2, and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing on the columns included in the group 2 and holds the processing result in the intermediate result holding unit 4.
  • the processing result of the row processing unit 5 is transferred to the column processing unit 6, and the processing result of the column processing unit 6 is held in the intermediate result holding unit 4.
  • the operation column control unit 17 sets the numbers of all the columns included in the group g to the row processing unit 5. And to the column processing unit 6. As a result, the row processing unit 5 performs row processing for the row having 1 in the column included in the group g, and passes the processing result to the column processing unit 6. On the other hand, the column processing unit 6 performs column processing on the columns included in the group g, and holds the processing result in the intermediate result holding unit 4.
  • the operation column control unit 17 passes the numbers of all the columns included in the group 6 denoted by the symbol F in the drawing to the row processing unit 5 and the column processing unit 6.
  • the row processing unit 5 performs row processing for the row having 1 in the column included in the group 2, and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing on the columns included in the group 6 and holds the processing result in the intermediate result holding unit 4.
  • the row processing unit 5 calculates the above formula (2) and the above formula (3) with respect to the relationship of the above formula (25). For a column with an LLR that has already been updated the second time, row processing is performed using the updated LLR instead of the received LLR.
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 increases the number of repetitions i by 1, and then causes the row processing unit 5 and the column processing unit 6 to execute the processing in step 1.
  • the condition of the above equation (7) is satisfied, the process proceeds to step 3 described later.
  • control unit 7 performs steps 1 and 3 until the result of the parity check is OK or the repetition count reaches the set maximum value I. max
  • the row processing unit 5 and the column processing unit 6 are controlled so that the processing in step 2 is repeated.
  • step 3 is performed as the control unit 7 max
  • FIG. 24 shows a case where the LDPC code decoding apparatus according to the twelfth embodiment performs group division using the conventional Group Shuffled BP algorithm, and a case where the code matrix is decoded based on the code configuration as described above.
  • Bit error rate and This is a graph plotting the relationship with the average value of the number of decoding iterations required until the NOR check with the error rate is OK. In the figure, it is more conventional to connect the plots with broken lines.
  • the LDPC code is an irregular LDPC code with a right upper triangle 0 structure, code length 64800, coding rate 1Z2, maximum column weight 7, maximum row weight 8, maximum repetition count I ma force 20 times It is.
  • the communication channel is assumed to be an AWGN (Additive White Gaussian Noise) channel, and it is recovered using QPSK (Quadrature Phase Shift Keying).
  • the decoding process is performed by the Group Shuffled BP algorithm in which the LDPC matrix is divided into groups for each column.
  • the first bit in the LDPC matrix is divided into groups of predetermined bits.
  • the decoding processing according to the twelfth embodiment can significantly reduce the number of decoding iterations required until the nity check becomes OK compared to the conventional Group Shuffled BP algorithm.
  • the probability information is calculated and updated by row processing and column processing for the received signal as in the conventional Shuffled BP algorithm.
  • Embodiment 12 an LDPC code decoding apparatus for group-dividing an LDPC code matrix for each column based on the configuration of an LDPC code has been shown.
  • an LDPC code decoding apparatus according to Embodiment 13 is Based on the received signal modulation method, the decoding target is divided into groups.
  • the LDPC code decoding apparatus has basically the same configuration as the LDPC code decoding apparatus according to the first and second embodiments shown in FIG.
  • the received signal is divided into groups, and the row processing unit 5 and the column processing unit 6 perform decoding processing for each group of received signals.
  • the group division in the thirteenth embodiment is the same as that in the above-described twelfth embodiment due to the assumption of the modulation scheme.
  • the received signal modulation scheme is used when performing decoding that performs the calculation and update of the probability information by row processing and column processing for the received signal by dividing into groups as in the Group Shuffled BP algorithm. Based on this, the code matrix is divided into groups 1 to 6 for each column as shown in FIG. 22 shown in the twelfth embodiment.
  • the error rate for each bit of the received signal is different.
  • the MSB of the received signal has a low bit error rate
  • the LSB has a high bit error rate.
  • the decoding of the MSB is less than the decoding of the LSB, and the decoding can be completed with the number of iterations.
  • Embodiment 13 taking the modulation scheme 4PAM shown in Fig. 17 as an example, the received signal is divided into an MSB-only group and an LSB-only group, and the MSB-only group first. Arithmetic, and configure to LSB-only group later.
  • the power given by 4PAM as an example of the modulation scheme as shown in Fig. 17 and other multi-level modulation schemes that produce a difference in the bit error rate of the received signal will also respond to the difference in bit error rate. You may want to divide the group.
  • H is the m-th and n-th element of H.
  • step 1 row processing for calculating the above formula (2) and the above formula (3) is executed for the condition of the above formula (25).
  • a set of column indexes having 1 in m rows of the parity check matrix H means M (n) means a set of column indexes having 1 in m rows of the LDP C parity check matrix H.
  • the set A force is also expressed as A ⁇ a. That is, N (m) ⁇ n is a set of column indexes excluding the set N (m) force n-th column, and M (n) ⁇ m is a set of row indexes excluding the set M (n) force m-th row. Show me. z (i) is updated at the i-th iteration m, n
  • ⁇ (i ) is the repetitive i-th LLR sent from the check node to the bit node.
  • step 1 column processing for calculating the above formula (4) and the above formula (5) is executed for the condition of the above formula (25). Where z (i) is sent from the bit node to the check node m, n
  • Z (i) is the i-th posterior value repeatedly.
  • step 2 the a posteriori value z (i) is hard-decided to generate the decoded sequence represented by the above equation (6). Thereafter, if the condition of the above equation (7) is satisfied, the process proceeds to Step 3 described later. If neither of these two conditions is satisfied, the number of repetitions i is added and the process returns to Step 2. In step 3, the decoding result according to the above equation (6) obtained in step 2 is used as the decoding result. Output series.
  • GR (g) represents the set of columns that make up the g-th group. Specifically, GR (g) is as follows.
  • K is (GZ2-1) ⁇ ⁇ or more and less than G'N.
  • group 1 with reference A, group 3 with reference C, and group 5 with reference E correspond to the MSB only group, group 2 with reference B, and reference Group 4 with D and group 6 with symbol F correspond to LSB-only groups.
  • the basic operation flow of the LDPC code decoding apparatus according to the thirteenth embodiment is the same as the flowchart of FIG. 23 in the twelfth embodiment. Therefore, the operation will be described with reference to FIG.
  • reception LLR calculation section 2 inputs reception information (step ST1), and calculates reception LLR from the reception information (step ST2).
  • step 1 for performing iterative decoding to process the loop and step 2 of the decoding result determination unit 8 according to the above equation (7) is repeatedly executed.
  • the numbers of all columns included in group 1 are passed to row processing unit 5 and column processing unit 6.
  • the row processing unit 5 performs row processing of the row having 1 in the column included in the group 1 and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing on the columns included in the group 1 and holds the processing result in the intermediate result holding unit 4.
  • the operation sequence control unit 17 passes the numbers of all the columns included in the group 3 of only the MSB with the symbol C in Fig. 22 to the row processing unit 5 and the column processing unit 6.
  • the row processing unit 5 performs row processing of the row having 1 in the column included in the group 3 and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing of the columns included in the group 3 and holds the processing result in the intermediate result holding unit 4.
  • the numbers of all the columns included in the group 5 of only the MSB with the symbol E are passed to the row processing unit 5 and the column processing unit 6.
  • the row processing unit 5 performs row processing of the row having 1 in the column included in the group 5, and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing on the columns included in the group 5 and holds the processing result in the intermediate result holding unit 4.
  • the operation column control unit 17 passes all the column numbers included in the LSB-only group 2 with the symbol B in Fig. 22 to the row processing unit 5 and the column processing unit 6.
  • the row processing unit 5 performs row processing for the row having 1 in the column included in the group 2 and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing on the columns included in the group 2 and holds the processing result in the intermediate result holding unit 4.
  • the arithmetic column control unit 17 passes the numbers of all the columns included in the group 4 of only LSBs with the symbol D in Fig. 22 to the row processing unit 5 and the column processing unit 6.
  • the row processing unit 5 performs row processing of the row having 1 in the column included in the group 4 and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing on the columns included in the group 4 and holds the processing result in the intermediate result holding unit 4.
  • the numbers of all the columns included in the LSB-only group 6 with the code F corresponding to the group G are passed to the row processing unit 5 and the column processing unit 6.
  • the row processing unit 5 performs row processing of the row having 1 in the column included in the group 6, and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing on the columns included in the group 6 and holds the processing result in the intermediate result holding unit 4.
  • the row processing unit 5 calculates the above formula (2) and the above formula (3) with respect to the relationship of the above formula (25). For a column with an LLR that has already been updated the second time, row processing is performed using the updated LLR instead of the received LLR.
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z (i) repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 increments the number of repetitions i by 1, and then causes the row processing unit 5 and the column processing unit 6 to execute the processing of step 1.
  • the process proceeds to step 3 described later.
  • control unit 7 performs steps 1 and 3 until the result of the parity check is OK or the repetition count reaches the set maximum value I. max
  • the row processing unit 5 and the column processing unit 6 are controlled so that the processing in step 2 is repeated.
  • step 3 is performed as the control unit 7 Terminates the decoding process by the row processing unit 5 and the column processing unit 6, and the decoding result determination unit 8 outputs a decoding sequence such as the above equation (6) as a decoding result.
  • the bit error rate is high, the LSB is highly reliable, and the decoding operation is performed with the MSB power of the probability information. Therefore, the LSB decoding operation is performed more efficiently than before, and decoding with a smaller number of iterations becomes possible.
  • Embodiment 14 the calculation and update of probability information by row processing and column processing for a received signal are performed bit by bit or by a predetermined number of bits, and the decoding order is controlled based on the code configuration. is there.
  • the LDPC code decoding apparatus according to the fourteenth embodiment is the same as the first embodiment shown in FIG.
  • the decoding order is controlled by the row processing unit 5 and the column processing unit 6 by controlling the decoding order based on the code configuration.
  • the outline of the sequence control based on the code configuration will be described using the Shuffled BP algorithm as an example.
  • the Shuffled BP algorithm finishes decoding with fewer iterations than the Sum-Product algorithm because the propagation power of the probability information calculated and passed in the decoding process um- is more efficient than the Product algorithm. is there. Therefore, if the code is an irregular LDPC code, the order of the column weights is increased in order, and decoding is performed using the Shuffled BP algorithm.
  • O (g) is the g-th ordered column number
  • O (l) is the column with the largest column weight
  • 0 (2) is the column with the next largest column weight
  • 0 (3 ) Selects the column with the next highest column weight, and performs decoding using the Shuffled BP algorithm.
  • n is an integer greater than or equal to 0 and less than N
  • m is an integer greater than or equal to 0 and less than M
  • H is the m-th row and the n-th column of H m, n
  • step 1 row processing for calculating the above formula (2) and the above formula (3) is executed for the condition of the following formula (26).
  • a set of column indexes having 1 in m rows of the parity check matrix H means M (n) means a set of column indexes having 1 in m rows of the LDP C parity check matrix H.
  • the set A force is also expressed as A ⁇ a. That is, N (m) ⁇ n is a set of column indexes excluding the set N (m) force n-th column, and M (n) ⁇ m is a set of row indexes excluding the set M (n) force m-th row. Show me. z (i) is updated at the i-th iteration m, n
  • ⁇ (i ) is the repetitive i-th LLR sent from the check node to the bit node.
  • step 1 column processing for calculating the above formula (4) and the above formula (5) is executed for the condition of the above formula (25). Where z (i) is sent from the bit node to the check node m, n
  • Z (i) is the i-th posterior value repeatedly.
  • step 2 the a posteriori value z (i) is hard-decided, and the decoded sequence represented by the above equation (6) is generated. Thereafter, if the condition of the above equation (7) is satisfied, the process proceeds to Step 3 described later. If neither of these two conditions is satisfied, the number of repetitions i is added and the process returns to Step 2.
  • step 3 the decoding sequence according to the above equation (6) obtained in step 2 is output as the decoding result.
  • O (g) represents the g-th ordered sequence.
  • the LDPC code decoding apparatus has the arithmetic sequence controller 17
  • the basic configuration is the same as that of the first embodiment shown in FIG.
  • the received information power is also composed of a reception LLR calculation unit 2 and a decoding core unit 3 that calculate the reception LLR.
  • the decoding core unit 3 decodes the LDPC code by the Shuffled BP algorithm controlled in sequence based on the code configuration. Execute.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, a decoding result determination unit 8, and an operation sequence control unit 17.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing unit 5 and the column processing unit 6 as described in the first embodiment.
  • the row processing unit 5 performs row processing using the above equations (2) and (3) for the condition of the above equation (26), and the column processing unit 6 performs the processing for the condition of the above equation (25). Performs column processing using Equations (4) and (5) above.
  • the control unit 7 controls decoding repetition such as setting of the maximum number of repetitions.
  • the decoding result determination unit 8 calculates the decoding sequence of the decoding result by the above equation (6) from the posterior value hard decision obtained by the column processing unit 6 in the same manner as in Step 1 of the Shuffled BP algorithm described above, and performs parity check. Then, the correctness of the decoding result is determined from the condition of the above equation (7).
  • the operation sequence control unit 17 controls the order of the LDPC code matrix in order of the column weight, and causes the row processing unit 5 and the column processing unit 6 to perform decoding operations.
  • the basic operation flow of the LDPC code decoding apparatus according to the fourteenth embodiment is the same as the flowchart of FIG. 23 in the twelfth embodiment. Therefore, the operation will be described with reference to FIG.
  • reception LLR calculation section 2 inputs reception information (step ST1), and calculates reception LLR from the reception information (step ST2).
  • Step 1 where iterative decoding is performed by the processing unit 5 and the column processing unit 6, and a decoding result determination unit 8 Therefore, the determination process of step 2 according to the above equation (7) is repeatedly executed.
  • the number of the column to be performed is transferred to the row processing unit 5 and the column processing unit 6.
  • the row processing unit 5 performs row processing for the row having 1 in the column for the first calculation designated by the calculation column control unit 17, and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing of the column on which the first calculation is performed, and holds the processing result in the intermediate result holding unit 4.
  • the operation column control unit 17 passes the number of the column on which the second operation having the next largest column weight is performed to the row processing unit 5 and the column processing unit 6.
  • the row processing unit 5 performs row processing of the row having 1 in the second column to be calculated designated by the calculation column control unit 17, and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing of the column on which the second calculation is performed, and holds the processing result in the intermediate result holding unit 4.
  • the processing result by the row processing unit 5 is transferred to the column processing unit 6, and the processing result of the column processing unit 6 is held in the intermediate result holding unit 4.
  • the operation column control unit 17 passes the column number on which the g-th operation is performed to the row processing unit 5 and the column processing unit 6.
  • the row processing unit 5 performs row processing for the row having 1 in the column for performing the g-th operation, and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing of the column to be operated on the g-th, and holds the processing result in the intermediate result holding unit 4.
  • the row processing unit 5 calculates the above formula (2) and the above formula (3) with respect to the relation of the above formula (26). For a column with an LLR that has already been updated the second time, row processing is performed using the updated LLR instead of the received LLR.
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 increments the number of repetitions i by 1, and then Step 1 is executed by the row processing unit 5 and the column processing unit 6.
  • the condition of the above equation (7) is satisfied, the process proceeds to step 3 described later.
  • control unit 7 performs steps 1 and 3 until the result of the parity check is OK or the repetition count reaches the set maximum value I. max
  • the row processing unit 5 and the column processing unit 6 are controlled so that the processing in step 2 is repeated.
  • step ST5 If the result of the parity check by the decoding result determination unit 8 is OK, and if the number of iterations i set by the control unit 7 reaches the maximum value I, the control unit 7 max is set as step 3 (step ST5).
  • the code structure is used when the calculation and update of the probability information by the row processing and the column processing for the received signal are performed bit by bit or predetermined bits. Since the decoding order is controlled based on this, the probability information calculated earlier is propagated quickly, and the number of iterations can be reduced. In addition, since the order is controlled based on the code configuration, there is no need to order every time code information is received.
  • Embodiment 14 the example in which the order control of the Shuffled BP algorithm is performed has been described. However, calculation and updating of probability information by row processing and column processing for other received signals are performed bit by bit or in advance. The same applies to other algorithms as long as the decoding algorithm performs multiple bits.
  • This Embodiment 15 controls the decoding order based on the modulation method of the received signal when performing calculation and updating of probability information by row processing and column processing for the received signal bit by bit or predetermined multiple bits. It is.
  • the LDPC code decoding apparatus is the same as that of the first embodiment shown in FIG.
  • the decoding order is controlled by the row processing unit 5 and the column processing unit 6 by controlling the decoding order based on the modulation method of the received signal.
  • the probability information calculated in the MSB decoding process is characterized by high reliability. Therefore, when decoding using the Shuffled BP algorithm, it is possible to always transmit highly reliable probability information to the LSB by decoding sequentially from the MSB bits.
  • O (g) is the g-th ordered column number
  • the LDPC code decoding apparatus has the same basic configuration as that of the first embodiment shown in Fig. 1 except that the arithmetic sequence control unit 17 is included.
  • the received information power is also composed of the reception LLR calculation unit 2 that calculates the reception LLR and the decoding core unit 3, and the LDPC code based on the Shuffled BP algorithm controlled by the decoding core unit 3 based on the modulation method of the received signal. Is decrypted.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, a decoding result determination unit 8, and an operation sequence control unit 17.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing unit 5 and the column processing unit 6 as described in the first embodiment.
  • the row processing unit 5 performs row processing using the above equations (2) and (3) for the condition of the above equation (26), and the column processing unit 6 performs the processing for the condition of the above equation (25). Performs column processing using Equations (4) and (5) above.
  • the control unit 7 controls decoding repetition such as setting of the maximum number of repetitions.
  • the decoding sequence of the decoding result is calculated by the above equation (6) from the posterior hard decision obtained by the column processing unit 6 in the same manner as in Step 1 of the Shuffled BP algorithm described above, and the parity check is performed. Then, the correctness of the decoding result is determined from the condition of the above equation (7).
  • the arithmetic sequence control unit 17 converts the LDPC code matrix into bits based on the modulation method of the received signal.
  • the row processing unit 5 and the column processing unit 6 perform decoding operation by sequentially controlling all the columns corresponding to the bit with low error and the bit corresponding to the bit with high error and performing the decoding operation. .
  • the basic operation flow of the LDPC code decoding apparatus according to the fifteenth embodiment is the same as the flowchart of FIG. 23 in the twelfth embodiment. Therefore, the operation will be described with reference to FIG.
  • reception LLR calculation section 2 inputs reception information (step ST1), and calculates reception LLR from the reception information (step ST2).
  • step 1 the determination processing in step 1 in which the row processing unit 5 and the column processing unit 6 perform iterative decoding and the step 2 in accordance with the above equation (7) by the decoding result determination unit 8 is repeatedly executed.
  • the operation sequence control unit 17 sets the first column corresponding to the MSB of the received signal specified based on the modulation method as the first operation column and sets the column number. Delivered to processing unit 5 and column processing unit 6. As a result, the row processing unit 5 performs row processing for the row having 1 in the first column to be calculated designated by the calculation column control unit 17 and transfers the processing result to the column processing unit 6. The column processing unit 6 performs column processing for the column on which the first calculation is performed, and causes the intermediate result holding unit 4 to hold the processing result.
  • the calculation column control unit 17 sets the column corresponding to the next MSB of the received signal specified based on the modulation scheme as the column to be calculated second, and sets the column number to the row processing unit 5 and Deliver to column processing unit 6.
  • the row processing unit 5 performs row processing for the row having 1 in the second column to be calculated specified by the calculation column control unit 17 and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs the column processing of the column that performs the second operation, and connects the processing results halfway. Hold in fruit holder 4.
  • the processing result by the processing unit 5 is transferred to the column processing unit 6, and the processing result of the column processing unit 6 is held in the intermediate result holding unit 4.
  • the calculation column control unit 17 sets the first column corresponding to the LSB of the received signal specified based on the modulation scheme to the first column next to the column corresponding to the MSB.
  • the column number is passed to the row processing unit 5 and the column processing unit 6 as the column for the second operation.
  • the row processing unit 5 performs row processing for the row having 1 in the column corresponding to the LSB that performs the first calculation, and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing of the column and causes the intermediate result holding unit 4 to hold the processing result.
  • the operation column control unit 17 sets the next column corresponding to the LSB of the received signal specified based on the modulation method as the column to perform the second operation, and sets the column number to the row processing unit 5 and Deliver to column processing unit 6.
  • the row processing unit 5 performs row processing for the row having 1 in the column corresponding to the LSB that performs the second operation, and passes the processing result to the column processing unit 6.
  • the column processing unit 6 performs column processing on the column and causes the intermediate result holding unit 4 to hold the processing result.
  • the arithmetic column control unit 17 sequentially passes the column numbers corresponding to the LSBs to the row processing unit 5 and the column processing unit 6, and each time, The processing result of the row processing unit 5 is transferred to the column processing unit 6, and the processing result of the column processing unit 6 is held in the intermediate result holding unit 4.
  • the row processing unit 5 calculates the above formula (2) and the above formula (3) with respect to the relationship of the above formula (26). For a column with an LLR that has already been updated the second time, row processing is performed using the updated LLR instead of the received LLR.
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z (i) repeatedly calculated by the column processing unit 6 at the i-th time to determine a decoding result, and performs a parity check.
  • the control unit 7 increases the number of repetitions i by 1, and then causes the row processing unit 5 and the column processing unit 6 to execute the processing of step 1.
  • the condition of the above formula (7) is satisfied. If so, the process proceeds to step 3 described later.
  • control unit 7 performs steps 1 and 3 until the result of the parity check is OK or the repetition count reaches the set maximum value I. max
  • the row processing unit 5 and the column processing unit 6 are controlled so that the processing in step 2 is repeated.
  • step ST5 If the result of the parity check by the decoding result determination unit 8 is OK, and if the number of iterations i set by the control unit 7 reaches the maximum value I, the control unit 7 max is set as step 3 (step ST5).
  • the received signal Since the decoding order is controlled based on the modulation method, for example, when a received signal modulated and transmitted to 4PAM is decoded using the Shuffled BP algorithm, the MSB is ordered and the MSB is calculated first. Probability information with high reliability is propagated to, LSB decoding proceeds quickly, and the number of iterations can be reduced
  • FIG. 25 is a block diagram showing a configuration of a communication apparatus according to Embodiment 16 of the present invention.
  • the communication device 18 includes a reception decoding device (reception decoding unit) 19 and an encoding transmission device (encoding transmission unit) 20.
  • the reception decoding device 19 includes a demodulation unit 21 that receives and demodulates the LDPC encoded signal transmitted by the encoding transmission device 20.
  • the code transmitter 20 includes an encoding unit 22 and a modulation unit 23.
  • the encoding unit 22 inputs information to be transmitted and encodes the LDPC code.
  • the modulation unit 23 receives and modulates the code key data from the code key unit 22 and transmits the data to the reception decoding apparatus 19 as a modulated signal.
  • the modulation signal point is allocated to the check bit in accordance with the code configuration of the LDPC code, and the coded signal is assigned. Executes decoding that performs calculation and updating of probability information by row processing and column processing for received signals such as Shuffled BP algorithm bit by bit or predetermined multiple bits according to order control based on the code configuration .
  • FIG. 26 is a diagram showing a configuration of an LDPC code used in the communication device according to the sixteenth embodiment. As shown in FIG. 26, it is an 8-by-16 parity check matrix with a structure in which the upper right triangular element is 0, and a symmetric structure in which the check bits are diagonally equivalent.
  • FIG. 27 is a diagram showing an example of bit allocation when the communication apparatus according to the sixteenth embodiment modulates the LDPC code into 4PAM and transmits / receives it. In Fig. 27, as the assignment to the check bits that are the matrix elements of M rows and N columns, all but LSB are assigned from the first column to the (n-1) column, and n
  • the Shuffled BP algorithm finishes decoding with a smaller number of iterations than the Sum-Product algorithm because the propagation of the probability information calculated and delivered in the decoding process is faster than the Sum-Product algorithm. This is because it is performed efficiently.
  • the calculation of the (n + 1) -th column includes the MSB information and the n-th column that has already been calculated once.
  • O (g) is the g-th ordered column number
  • O (1) is the nth column (LSB)
  • 0 (2) is the (n + 1) column.
  • 0 (N—n) is the Nth column (LSB)
  • the transmission / reception is performed by assigning modulation signal points adapted to the code configuration, and the LDPC code subjected to the above-described sequence control with the processing formula described above is transmitted / received.
  • the communication device 18 according to 16 is composed of a code transmission device 20 and a reception decoding device 21.
  • the code transmitter 20 includes an encoding unit 22 that encodes an LDPC code and a modulation unit 23 that allocates modulation signal points suitable for the code configuration.
  • the reception decoding device 19 of the communication device 18 includes a demodulation unit 21 that demodulates a modulated signal, a reception LLR calculation unit 2 that calculates reception information power reception LLR, and a decoding core unit 3.
  • the decoding core unit 3 decodes the LDPC code using the Shuffled BP algorithm whose order is controlled based on the code configuration.
  • the decoding core unit 3 includes an intermediate result holding unit 4, a row processing unit 5, a column processing unit 6, a control unit 7, and a decoding result determination unit 8.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing unit 5 and the column processing unit 6 as described in the first embodiment.
  • the row processing unit 5 performs row processing using the above equations (2) and (3) for the condition of the above equation (26), and the column processing unit 6 performs the processing for the condition of the above equation (25). Column processing using the above formulas (4) and (5) is performed.
  • the control unit 7 controls decoding repetition such as setting of the maximum number of repetitions.
  • the decoding sequence of the decoding result is calculated by the above equation (6) from the posterior hard decision obtained by the column processing unit 6 in the same manner as in Step 1 of the Shuffled BP algorithm described above, and the parity check is performed. Then, the correctness of the decoding result is determined from the condition of the above equation (7).
  • FIG. 28 is a flowchart showing the operation of the communication apparatus according to the sixteenth embodiment, which will be described with reference to this figure.
  • the code key unit 22 of the code key transmitting device 20 uses the generation matrix obtained based on the LDPC code check matrix H and the input information.
  • the LDPC code key is executed to generate code key data (step ST2A).
  • the modulation unit 23 performs 4PAM modulation on the input code data according to the bit allocation of the LDPC code shown in FIG. ST3A).
  • Demodulation section 21 of reception decoding apparatus 19 demodulates the reception signal from code transmission apparatus 20 (step ST1-1), and outputs the reception information of the demodulation result to reception LLR calculation section 2.
  • the reception LLR calculation unit 2 calculates the reception LLR from the reception information (step ST2).
  • the decoding result determination unit 8 repeatedly executes the determination process of step 2 according to the above equation (7)
  • the column processing unit 6 performs column processing for the nth column and stores the processing result on the way.
  • the processing result is held in the intermediate result holding unit 4.
  • the row processing unit 5 sequentially executes the processing after the fourth row in the same manner as described above, and each time the processing result is displayed as the column processing unit. Pass to 6.
  • the column processing unit 6 sequentially executes the column processing after the (n + 2) th column, and each time the processing result is
  • the column processing unit 6 performs row processing for the first and Mth rows, and passes the processing results to the column processing unit 6.
  • the column processing unit 6 performs column processing of the (N-1) th column and holds the processing result in the intermediate result holding unit 4.
  • the row processing unit 5 performs row processing for the Mth row.
  • the column processing unit 6 performs column processing for the Nth column and causes the intermediate result holding unit 4 to hold the processing result.
  • the column processing unit 6 is not less than LSB.
  • the row processing unit 5 performs row processing for the row having 1 in the first column, and passes the processing result to the column processing unit 6.
  • the column processing unit performs the column processing for the first column and stores the processing result in the intermediate result holding unit 4.
  • step 2 the decoding result determination unit 8 performs a hard decision on the a posteriori value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 increases the number of repetitions i by 1, and then causes the row processing unit 5 and the column processing unit 6 to execute the processing of step 1.
  • the condition of the above equation (7) is satisfied, the process proceeds to step 3 described later.
  • control unit 7 performs steps 1 and max until the result of the parity check is OK or the repetition count reaches the set maximum value I.
  • the row processing unit 5 and the column processing unit 6 are controlled so that the process of 2 is repeated.
  • step ST5 If the result of the parity check by the decoding result determination unit 8 is OK, and if the number of repetitions i set by the control unit 7 is the maximum value I, the control unit 7 max is set as step 3 (step ST5).
  • the decoding result determination unit 8 outputs a decoding sequence such as the above equation (6) as a decoding result.
  • the right upper triangle of the parity check matrix has a structure of 0, and the check bits are subjected to multi-level modulation with a diagonal-shaped LDPC code to obtain the code key data.
  • modulation signal points are allocated and transmitted according to the code structure, and when the received signal is decoded by the Shuffled BP algorithm, the LSB is ordered and the LSB is calculated first. Probability information with a high degree of reliability is propagated to, and decoding of the LSB proceeds fast, so that the number of iterations can be reduced.
  • Embodiment 16 shows an example in which the order control of the Shuffled BP algorithm is performed, but the calculation and update of probability information by row processing and column processing for other received signals are performed bit by bit or predetermined.
  • the same applies to a decoding algorithm that performs multiple bits.
  • the same applies to other multilevel modulation schemes in which the error rate is biased for each power bit, such as 4PAM as an example of the multilevel modulation scheme.
  • bits with a high error rate are checked.
  • LSB power with a high error rate may be decoded in order.
  • Embodiment 17 when decoding is performed with an algorithm that performs calculation and updating of probability information by row processing and column processing for received signals one bit at a time or multiple predetermined bits as in the Shuffled BP algorithm, These operations are executed in parallel.
  • FIG. 29 is a block diagram showing the configuration of the LDPC code decoding apparatus according to Embodiment 17 of the present invention.
  • the LDPC code decoding apparatus 1 according to the seventeenth embodiment includes a reception LLR calculation unit 2 and a decoding core unit 3 as in the configuration shown in the above embodiment.
  • the decoding core unit 3 according to the seventeenth embodiment includes a decoding process result holding unit 4, a control unit 7, and a decoding result determination unit 8, and a row processing unit that executes row processing in parallel according to the size of the row weight. 5-1 to 5-w and a column processing unit 6 that executes column processing according to these processing results.
  • the receiving LLR calculating unit 2 calculates a receiving LLR from the receiving information.
  • the control unit 7
  • Step 1 that is an iterative decoding process
  • Step 2 the determination process of Step 2 according to the above equation (7) by the decoding result determination unit 8 are repeatedly executed.
  • FIG. 30 is a block diagram for explaining the decoding operation by the row processing unit and the column processing unit in FIG. The flow of the decoding operation will be described using this figure.
  • the row processing units 5-1 to 5-w execute row processing for the w rows with 1 in the first column in parallel, and the processing results to the column processing unit 6 Deliver.
  • the column processing unit 6 performs column processing for the first column and causes the intermediate result holding unit 4 to hold the processing result.
  • the row processing units 5-1 to 5-w execute row processing for w rows having 1 in the second column in parallel, and pass the processing result to the column processing unit 6.
  • the column processing unit 6 performs the column processing for the second column and holds the processing result in the intermediate result holding unit 4.
  • the row processing units 5-1 to 5- the row processing for w rows having 1 in the third column is executed in parallel, and the processing result is passed to the column processing unit 6.
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z (i) repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • control unit 7 increases the number of repetitions i by 1, and then causes the row processing unit 5 and the column processing unit 6 to execute the processing of step 1. On the other hand, if the condition of the above equation (7) is satisfied, the process proceeds to step 3 described later.
  • control unit 7 performs the above equation (8) until the result of the parity check is OK or the repetition count reaches the set maximum value I. ) Based on max
  • the row processing unit 5 and the column processing unit 6 are controlled to repeat the processing of step 1 and step 2.
  • the decoding result determination unit 8 outputs a decoding sequence such as the above equation (6) as a decoding result.
  • FIG. 31 is a block diagram for explaining another decoding operation by the row processing unit and the column processing unit in FIG.
  • a general Shuffled BP algorithm since there is almost no 1 in the adjacent column, there is no significant influence on the probability propagation, but FIG. 21 shown in Embodiment 12 above. If the check bit parts 1 are adjacent to each other as in the LDPC code matrix, it is only necessary to perform parallel row processing as shown in FIG.
  • the row processing units 5-1 to 5-w execute row processing for the w rows with 1 in the first column in parallel, and the processing results to the column processing unit 6 Deliver.
  • the column processing unit 6 performs column processing for the first column, and causes the intermediate result holding unit 4 to hold the processing result.
  • the row processing units 5-1 to 5-w perform row processing for the w rows with 1 in the second column in parallel, and the processing result Is transferred to the column processing unit 6.
  • the column processing unit 6 performs the column processing for the second column and causes the intermediate result holding unit 4 to hold the processing result.
  • the row processing units 5-1 to 5-w sequentially execute the row processing for w rows having 1 in the fourth and subsequent columns in parallel. The result is passed to the column processing unit 6.
  • the column processing unit 6 sequentially executes the column processing from the fourth column onward, and holds each processing result in the intermediate result holding unit 4.
  • the row processing units 5-1 to 5-w and the column processing unit 6 that execute the decoding operation in the Shuffled BP algorithm in parallel are provided. It is possible to reduce the processing time related to the sign operation and to reduce the delay time due to the decoding process.
  • Embodiment 17 the example in which the row processing and column processing operations of the Shuffled BP algorithm are parallelized is shown. However, the calculation and update of the probability information by the row processing and the column processing for the received signal are performed. The same can be applied to other decoding algorithms that perform one bit at a time or a plurality of predetermined bits.
  • This Embodiment 18 is a decoding algorithm that performs calculation and updating of probability information by row processing and column processing for received signals bit by bit or by a plurality of predetermined bits, like the Shuffled BP algorithm, and has a cyclic structure.
  • decoding operations are executed in parallel based on the code structure.
  • the LDPC code decoding apparatus has basically the same configuration as the LDPC code decoding apparatus according to Embodiment 17 shown in FIG. 29, but has a cyclic structure. Since the decoding operation is executed in parallel based on the code structure of the LDPC code, the processing contents of each row processing unit are different.
  • the Shuffled BP algorithm a configuration in which decoding operations are processed in parallel using the characteristics of the code configuration of the pseudo cyclic code will be described as an example. Explain physically.
  • the pseudo cyclic code is a matrix I (1), 1 (2), 1 (3 ), ..., I (k).
  • H [H] be the constructed pseudo cyclic code.
  • n is an integer between 0 and N, m m, n
  • H is the mth row and nth column element of H. Part m, n of set [1, N]
  • N (m) means a set of column indexes where 1 stands in m rows of parity check matrix H
  • N (m) [n: H l ⁇ (m is 1 or more and p or less) do not have 1 in the same column.
  • the LDPC code decoding apparatus includes the reception LLR calculation unit 2 and the decoding core unit 3 that calculate the reception LLR from the reception information. Further, decoding operations are processed in parallel using the characteristics of the code structure of the pseudo cyclic code.
  • the decoding core unit 3 includes an intermediate result holding unit 4, row processing units 5-1 to 5-p, a column processing unit 6, a control unit 7, and a decoding result determination unit 8.
  • the intermediate result holding unit 4 holds intermediate results of decoding by the row processing units 5-1 to 5 -P and the column processing unit 6 as described in the seventeenth embodiment.
  • the row processing units 5-1 to 5—p are provided for p rows corresponding to all rows of the unit matrix of the pseudo cyclic code shown in FIG. 32, and are parallelized to the size of the basic matrix of the cyclic structure. Yes.
  • the column processing unit 6 performs column processing.
  • the control unit 7 controls decoding repetition such as setting of the maximum number of repetitions.
  • the decoding result determination unit 8 calculates the decoding sequence of the decoding result by the above equation (6) from the hard decision of the posterior value obtained by the column processing unit 6, performs parity check, and performs the decoding result from the condition of the above equation (7). Judge correctness of
  • the receiving LLR calculating unit 2 calculates a receiving LLR from the receiving information.
  • the control unit 7
  • step 1 which is an iterative decoding process consisting of row processing by p and column processing by column processing section 6 and step 2 determination processing according to the above equation (7) by decoding result determination section 8 To do.
  • FIG. 33 is a block diagram for explaining the decoding operation of the row processing unit and the column processing unit according to the eighteenth embodiment. The flow of the decoding operation will be described using this figure.
  • the column processing unit 6 executes column processing from the first column to the ⁇ column in parallel using, for example, the above formula (4) and the above formula (5), and the processing result is an intermediate result. Hold in holding part 4.
  • the row processing units 5-1 to 5- ⁇ execute the row processing related to the ⁇ column to the 2 ⁇ column in parallel from the 1st row to the ⁇ row, and the 2 ⁇ row from the ⁇ row.
  • the row processing related to columns ⁇ to 2 ⁇ is executed in parallel, the row processing related to columns ⁇ to 2 ⁇ from rows 2 ⁇ to 3 ⁇ is executed, and the processing results are processed into columns.
  • ⁇ in the above equation (27) is set to ⁇ to 2 ⁇ , and the operation using the above equations (2) and (3) is executed for this condition. .
  • the column processing unit 6 performs column processing from the ⁇ th column to the 2 ⁇ th column in parallel using, for example, the above equation (4) and the above equation (5), and the processing result is an intermediate result. Hold in holding part 4.
  • the row processing units 5-1 to 5- ⁇ perform row processing related to the 2 ⁇ column to the 3 ⁇ column from the 1st row to the ⁇ row in parallel, and the ⁇ row to the 2 ⁇ row.
  • the row processing related to columns 2 ⁇ to 3 ⁇ is executed in parallel, the row processing related to columns 2 ⁇ to 3 ⁇ from rows 2 ⁇ to 3 ⁇ is executed, and the processing results are sent to the column processing unit.
  • Deliver to 6 In row processing related to columns 2 ⁇ to 3 ⁇ , ⁇ in the above equation (27) is set to 2 ⁇ to 3 ⁇ , and calculations using the above equations (2) and (3) are performed for this condition. Execute.
  • the column processing unit 6 executes the column processing from the 2 ⁇ th column to the 3 ⁇ th column in parallel using, for example, the above equation (4) and the above equation (5), and the processing result is an intermediate result. Hold in holding part 4.
  • the row processing units 5-1 to 5- ⁇ execute the row processing related to the 3 ⁇ column to the 4 ⁇ column from the 1st row to the ⁇ row in parallel, and the ⁇ row to the 2 ⁇ row.
  • the row processing related to columns 3 ⁇ to 4 ⁇ is executed in parallel, the row processing related to columns 3 ⁇ to 4 ⁇ from rows 2 ⁇ to 3 ⁇ is executed, and the processing results are sent to the column processing unit.
  • Deliver to 6 In the row processing related to the 3 ⁇ column force up to the 4 ⁇ column, ⁇ in the above equation (27) is set to 3 ⁇ to 4 ⁇ .
  • An operation using expression (2) and expression (3) is executed.
  • the column processing unit 6 executes the column processing from the 3p column to the 4p column in parallel using, for example, the above equation (4) and the above equation (5), and the processing result is an intermediate result. Hold in holding part 4.
  • row processing is performed by using feature 2 of the pseudo cyclic code l to p, p to
  • step 2 the decoding result determination unit 8 performs a hard decision on the posterior value z1 repeatedly calculated by the column processing unit 6 at the i-th time, determines the decoding result, and performs a parity check.
  • the control unit 7 increases the number of repetitions i by 1, and then causes the row processing unit 5 and the column processing unit 6 to execute the processing of step 1.
  • the condition of the above equation (7) is satisfied, the process proceeds to step 3 described later.
  • control unit 7 performs the above equation (8) until the parity check result is OK or the repetition count reaches the set maximum value I. ) Based on max
  • the row processing unit 5 and the column processing unit 6 are controlled to repeat the processing of step 1 and step 2.
  • the decoding result determination unit 8 outputs a decoding sequence such as the above equation (6) as a decoding result.
  • Embodiment 18 the calculation and updating of the probability information by the row processing and column processing for the received signal described with the Shuffled BP algorithm as an example is performed one bit at a time or a plurality of bits determined in advance. The same applies to other decoding algorithms to be performed.
  • a pseudo cyclic code is given as an example of an LDPC code having a cyclic structure, the same applies to LDPC codes having other cyclic structures.
  • the nineteenth embodiment is provided with a correction type Max-Log-MAP algorithm that performs correction by a correction term that can be calculated only by subtraction and bit shift calculation, in addition to the Max-Log-MAP algorithm.
  • FIG. 34 is a block diagram showing the configuration of the Turbo code decoding apparatus according to Embodiment 19 of the present invention.
  • the Turbo code decoding device 24 according to the nineteenth embodiment includes a received value holding unit 25 and a Turbo decoding processing unit 26.
  • the information bit sequence d, its NORMAL bit sequence p 1 and the parity bit sequence p 2 of the interleaved information bit sequence are transmitted as encoded information.
  • the received value holding unit 25 divides the received values R and P 1 P 2 , holds the received values, and outputs them to the Turbo decoding processing unit 26.
  • the Turbo decoding processing unit 26 includes an intermediate result holding unit 27, a metric calculation unit 28, an interleave processing unit 29, and an iterative control unit 30.
  • the intermediate result holding unit 27 holds the intermediate result of the decoding process by the metric calculating unit 28 based on the received value input from the received value holding unit 25.
  • the metric calculation unit 28 performs metric calculation using a correction type Max-Log-MAP algorithm that performs correction using the correction term described above, and outputs a decoding result.
  • the interleave processing unit 29 performs interleaving processing according to the Turbo code key.
  • the repetition control unit 30 controls repetition of decoding processing by the metric calculation unit 28 and the interleave processing unit 29.
  • which is a correction term for the Max-Log-MAP algorithm, is an approximate term that can be obtained by expanding the update formula power series of the Log-MAP algorithm. It can be calculated only by subtracting the difference between the input binary values, division by 2, and constant C force.
  • ln (2) obtained by approximation calculation from the update formula of the Log—MAP algorithm is an example, but decoding performance can be improved by setting an appropriate value. Is possible. Furthermore, division by 2 can be performed by a 1-bit bit shift operation in systems such as hardware that are expressed in binary numbers.
  • the interleave processing unit 29 gives the information for performing the interleaving process of the Turbo code to be decoded to the metric calculation unit 28, and the repetition control unit 30 performs the interleaving with the number of repetitions and the! / ⁇ Take control.
  • FIG. 35 is a flowchart showing the operation of the Turbo code decoding apparatus according to the nineteenth embodiment. The operation will be described with reference to this figure.
  • the received value holding unit 25 holds received values R, P 1 , P 2 separately as received information.
  • step 1 which is an iterative decoding process by the metric calculator and interleave processor until max.
  • step 1 the metric calculation unit 5 performs metric calculation for the received value without interleaving in the i-th decoding operation repeatedly for the Turbo code to be decoded. More specifically, metric calculation is performed on the received values R and P 1 according to the Max-Log-MAP algorithm that is corrected by the above equation (29), and the processing result is held in the intermediate result holding unit 27. In order to perform metric calculation without interleaving, when the received values R and P 1 are called from the received value holding unit, i is incremented by the leading force in order.
  • step 2 the metric calculation unit 28 repeats i times for the Turbo code to be decoded. Performs interleaved metric calculation in the eye decoding operation. More specifically, the received value P 2 and the received value R interleaved are corrected by the above formula (29). The metric is calculated according to the Max-Log — MAP algorithm, and the metric value is held in the intermediate result holding unit 27. Let In order to interleave the received value R, when calling the received value from the received value holding unit 25, it receives the information of the number i called from the interleave processing unit and calls it.
  • the repetition control unit 30 sets the max until the number of repetitions reaches the set maximum value I.
  • the metric calculation unit and the interleave processing unit are controlled so that steps 1 and 2 are repeated.
  • step S max If the number of iterations i set by the iteration controller 30 reaches the maximum value I, step S max
  • the iterative control unit 30 ends the decoding process by the metric calculation unit 28 and the interleave processing unit 29 and outputs the metric calculation unit power decoding result.
  • the decoding process is executed in accordance with the correction type Max-Log-MAP algorithm that performs correction by a correction term that can be calculated only by subtraction of received information and bit shift calculation. Therefore, it is possible to suppress the degradation of the decoding performance of the conventional Log-MAP algorithm and to significantly improve the decoding performance as compared with the conventional Max-Log-MAP algorithm.
  • the calculation for calculating the correction term based on the received information can be executed only by subtraction and 1-bit shift operation, and the turbo decoding device 1 according to the nineteenth embodiment is simplified in hardware. It can be realized with a configuration.
  • the LDPC decryption processing according to the present invention can be applied to all communication devices such as mobile communication (terminal, base station), wireless LAN, optical communication, satellite communication, quantum encryption device, and the like.
  • a system including an LDPC encoder 31, a modulator 32, a communication path 33, a demodulator 34, and an LDPC decoder 35 is configured, and LDPC decoding in this system is performed.
  • the decoder shown in the above-described Embodiments 1 to 19 is mounted and error correction is performed.
  • FIG. 37 shows the decoding process according to the present invention through the mobile terminal 36 and the mobile terminal 36.
  • FIG. 2 is a diagram showing a configuration example when applied to a mobile communication system including a base station 37 that performs communication.
  • the mobile terminal 36 includes an LDPC encoder 31, a modulator 32, a demodulator 34, an LDPC decoder 35, and an antenna 42.
  • the base station 37 includes an LDPC decoder 43, a demodulator 44, a modulator 45, an LDPC encoder 46, and an antenna 47.
  • the LDPC encoder 37 when transmitting data from the mobile terminal 36, the LDPC encoder 37 encodes the data, and the Send to the wireless communication path via antenna 41.
  • the base station 37 receives a reception signal including an error generated in the wireless communication path via the antenna 47 and the demodulator 44, and corrects the demodulated reception data by the LDPC decoder 43. Even when the mobile terminal 36 receives various data in terms of network power, the base station 37 transmits encoded data to the mobile terminal 36 and the mobile terminal 36 receives various data in the same process as described above. And decrypt.
  • the base station 37 transmits encoded data to the mobile terminal 36
  • the data is encoded by the LDPC encoder 46
  • the encoded data is wirelessly transmitted via the modulator 45 and the antenna 47.
  • the mobile terminal 36 receives a reception signal including an error generated in the wireless communication path via the antenna 42 and the demodulator 34 and corrects the demodulated reception data by the LDP C decoder 35.
  • the decoding method according to the present invention is useful as a decoding technique in digital communication, and is particularly suitable for a communication apparatus that employs an LDPC code as an encoding method.

Landscapes

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

Abstract

 低密度パリティ検査符号化された受信信号に対し、Min-Sumアルゴリズムに従う行処理及び列処理による確率情報の算出及びその更新を1ビットずつ若しくは予め定めた複数ビットずつ実行する行処理部5及び列処理部6と、事後値の硬判定から復号結果を決定しパリティ検査を行って復号結果の正誤を判定する復号結果判定部8と、復号結果判定部8の判定結果に基づいて行処理部5及び列処理部6による復号処理の繰り返しを制御する制御部とを備えた復号装置。

Description

明 細 書
復号装置及び通信装置
技術分野
[0001] この発明は、デジタル通信における誤り訂正技術に係り、特に低密度パリティ検査 LDPC (Low-Density Parity Check)符号及び Turbo符号による符号化信号を復号 する復号装置及びこれを備えた通信装置に関するものである。
背景技術
[0002] LDPC符号化信号を復号する基本的なアルゴリズムには、 Sum— Productァルゴ リズムと Min— Sumアルゴリズムがある。これら復号アルゴリズムでは、受信信号の確 率的な信頼度情報として対数尤度比 LLR (Log Likelihood Ratio)を算出しながら繰り 返し演算を行うことで復号を行う (例えば、非特許文献 1参照)。
[0003] Sum— Productアルゴリズムでは、例えば tanh関数などの数学関数を用いた演算
(実数の加算や関数の評価)が要求され、計算コストが高い。このため、実装の際に は、当該関数の値を保持するテーブルを用意するなどして計算コストを下げる必要が ある。その反面、正確な演算がなされるために復号性能は高いという利点もある。
[0004] これに対して、 Min— Sumアルゴリズムでは、 Sum— Productアルゴリズムの数学 関数を近似した簡易な数式を用い、加算、最小、正負の判定、正負の符号の乗算と いう 4種類の演算のみで実装できる。このため、計算コストは小さくなる。しかしながら 、近似の影響により復号性能は劣化する。
[0005] また、従来の LDPC符号ィ匕信号の復号アルゴリズムは、確率情報の伝搬に基づ!/、 て繰り返し復号を行う。 Sum— Productアルゴリズムや Min— Sumアルゴリズムでは 、繰り返し復号の任意の 1回で符号化信号に対して全ての行処理を終えてから当該 符号化信号の全てのビットに対する列処理を行う。
[0006] 例えば、復号したい LDPC符号の検査行列が 2元 m X n行列 H = [H ] (11は0以上 m,n
N未満の整数, mは 0以上 M未満の整数)であるとすると、 m= l, 2, 3, · · · , Mの順 に H = 1を満たす全ての組 (m, n)に対して行処理を行い、この後 n= 1, 2, 3, · · · m,n
, Νの順に Η = 1を満たす全ての組 (m, n)に対して列処理が実行される。 [0007] このため、復号処理の繰り返し回数が大きくなると、それに伴って復号遅延時間が 大きくなるという問題が生じる。そこで、繰り返し復号の回数を削減する復号アルゴリ ズムとして、 Shuffled BP (Belief Propagation)アルゴリズムがある(例えば、非特許 文献 2参照)。
[0008] Shuffled BPアルゴリズムでは、符号化信号に対する行処理と列処理による確率 情報の算出及び更新を 1ビットずつ実行する。これにより、確率情報の伝搬が効率的 に行われて収束が速くなるという利点がある。この Shuffled BPアルゴリズムを以下 に簡単に説明する。
[0009] 先ず、初期ィ匕ステップとして、繰り返し回数 iを i= 1と設定し、最大繰り返し回数を I
ma と設定し、対数尤度比 LLR(Log Likelihood Ratio)の初期値 z を F (z (°): = F ) x m,n n m,n n と設定する。なお、復号したい LDPC符号の検査行列 Hは、 2元 mXn行列 H = [H
m,n
] (nは 0以上 N未満の整数、 mは 0以上 M未満の整数)であり、 H を Hの m行 n列目
m,n
要素とする。
[0010] 次に、ステップ 1として、下記式(1)の条件に対し、下記式(2)及び下記式(3)を演 算する行処理を実行する。ここで、 N(m)、 M(n)は集合 [1, N]の部分集合であり、 N (m): = {n:H =l}、M(n): = {m:H =1}と定義する。つまり、 N(m)は検査行
m,n m,n
列 Hの m行において 1を持つ列インデックスの集合を意味し、 M(n)は LDPC検査行 列 Hの m行にぉ 、て 1を持つ列インデックスの集合を意味する。
[数 1]
0≤g <O (g:麵> G = N INg )
g-N.. +l≤n≤(g +1)- N„ , mE.M (n) " ' ' (1)
Π ,anh^.'/2> Π
1 ε (り · ' * (3)
Figure imgf000004_0001
[0011] また、集合 A力も元 aを取り去って得られる集合を A\aと表記する。即ち、 N(m)\ nは集合 N (m)力 n列目を除く列インデックスの集合であり、 M (n) \mが集合 M (n )力 m行目を除く行インデックスの集合を示して 、る。 z は、繰り返し i回目で更新
m,n
した LLRであり、 ε (i)はチェックノードからビットノードへ送る繰り返し i回目の LLRで
m,n
ある。
[0012] さらに、ステップ 1において、上記式(1)の条件に対し、下記式 (4)及び下記式(5) を演算する列処理を実行する。ここで、 z
m,n (i)はビットノードからチェックノードへ送る繰 り返し i回目の LLRである。さらに、 z (i)は繰り返し i回目の事後値である。
[数 2]
Figure imgf000005_0001
[0013] 次に、ステップ 2として、事後値 zn (i)を硬判定し、下記式 (6)で表される復号系列を生 成する。このあと、下記式(7)の条件を満たせば、後述するステップ 3の処理に移行し 、これら 2条件のいずれをも満たさなければ、繰り返し回数 iを加算してステップ 2の処 理に戻る。ステップ 3では、復号結果として、ステップ 2で得た下記式 (6)に従う復号 系列を出力する。また、下記式(6)における wは、復号系列 wの n= l〜Nにおける 要素である。
[数 3] w = [wj · * ' ( 6 )
[数 4] バリティ検査 : O K ( w ^ o )
若しくは ( 7 )
繰り返し回数が最大; = /mas
[0014] 上述した Shuffled BPアルゴリズムでは、繰り返し回数 iに着目すると、同じ繰り返 U回目で更新した LLRである z (i)を用いて行処理を行うことで確率伝搬が効率的に
m,n
行われている。
[0015] なお、非特許文献 2では、 N = 1として受信信号に対する行処理と列処理による確 率情報の算出及び更新を 1ビットずつ行う場合を Shuffled BPアルゴリズムとし、 1 < N < Nとして受信信号に対する行処理と列処理による確率情報の算出及び更新 g
を予め定めた複数ビットずつ行う場合を Group Shuffled BPアルゴリズムとしてお り、ここでもそれに従う。なお、 N =Nである場合、 Sum— Productアルゴリズムにな
g
る。また、簡単のため Nを Nの約数としている。
g
[0016] 一方、 Min— Sumアルゴリズムと同程度の計算コストで LDPC符号の復号を行い つつ、 Sum— Productアルゴリズムと比較して復号性能が劣化するのを抑えることが できる復号アルゴリズムとして、例えば Normalized BPアルゴリズムや Offset BP アルゴリズムがある (例えば、非特許文献 3参照)。
[0017] 簡単に説明すると、 Normalized BPアルゴリズムでは、 Min— Sumアルゴリズム で算出される LLRが Sum— Productアルゴリズムで算出される LLRよりも常に大きな 値になることから、 Min— Sumアルゴリズムの行処理で算出された LLRを、 Normali zation Factorと呼ばれる因子 α ( > 1)で除算して受け渡す LLRとする。また、 Off set BPアルゴリズムでは、 Min— Sumアルゴリズムの行処理で算出された LLRを、 Offset Factorと呼ばれる因子 j8 ( > 0)によって減算して受け渡す LLRとする。
[0018] このように、復号に際して除算や減算を実行するが、除算や減算による計算コスト はそれほど大きなものではなぐ Sum— Productアルゴリズムと比較した復号性能の 劣化を軽減することが可能となる。また、各因子 a , βについてはシミュレーション若 しくは密度発展法 (例えば、非特許文献 4参照)を用いて予め算出しておき、 LDPC 復号部で保持しておけば良!ヽ。
[0019] また、 Min— Sumアルゴリズムの行処理で算出された LLRに対し、受信信号の大 きさに応じて補正を行うアルゴリズムがある(例えば、非特許文献 5参照)。この復号ァ ルゴリズムでは、 Min— Sumアルゴリズムの補正項として、補正関数のテーブルを用 意しておき、受信信号の大きさに応じて補正項を変えることで的確な補正を行い、復 号性能を向上させるものである。
[0020] さらに、通信路情報として受信 LLRの大きさで Shuffled BPアルゴリズムの演算順 序を制御する方法がある。この方法は、受信情報力 算出した受信 LLRの絶対値の 大きい方、若しくは小さい方力 順序制御して Shuffled BPアルゴリズムで復号する ものである。
[0021] Turbo符号化信号を復号する基本的なアルゴリズムには、 Log— MAP (Maximu m A Posteriori Probability)アルゴリズムと Max— Log— Mapアルゴリズムがあ る。これら復号アルゴリズムでは、受信信号の確率的な信頼度情報としてメトリック値 を算出しながら繰り返し演算を行うことで復号を行う(例えば、非特許文献 6参照)。
[0022] Log— MAPアルゴリズムでは、例えば指数関数などの数学関数を用いた演算(実 数の加算や関数の評価)が要求され、計算コストが高い。このため、実装の際には、 当該関数の値を保持するテーブルを用意するなどして計算コストを下げる必要がある 。その反面、正確な演算がなされるために復号性能は高いという利点もある。
[0023] これに対して、 Max— Log— MAPアルゴリズムでは、 Log— Mapアルゴリズムの数 学関数を近似した簡易な数式を用い、加算、最大、正負の判定、正負の符号の乗算 t ヽぅ 4種類の演算のみで実装できる。 Log - MAPアルゴリズムにお 、て行う指数関 数の和に対する対数計算を指数の最大値で近似する。このため、数学関数を含む 処理がなくなり計算コストは小さくなる。しかしながら、近似の影響により復号性能は 劣化する。
[0024] 一方、 Max— Log— Mapアルゴリズムと同程度の計算コストで Turbo符号の復号を 行 、つつ、 Mapアルゴリズムと比較して復号性能が劣化するのを抑えることができる 復号アルゴリズムがある (例えば、非特許文献 7参照)。
[0025] 簡単に説明すると、 Max— Log— Mapアルゴリズムのメトリック計算で算出されたメ トリック値を、因子 sで乗算して MAPアルゴリズムで算出される値と同程度に調整して 受け渡す LLRとする。
[0026] このように、復号に際して乗算を実行するが、乗算による計算コストはそれほど大き なものではなぐ Log - MAPアルゴリズムと比較した復号性能の劣化を軽減すること が可能となる。また、因子 sについてはシミュレーションを用いて予め算出しておき、 T urbo復号部で保持しておけば良 、。
[0027] 非特許文献 1 :和田山正、「低密度パリティ検査符号とその復号法 LDPC (Low D ensity Parity Check)符号 Zsum— product復号法」、トリケップス、 2002年 6月 5曰、 p. 76 - 99 非特許文献 2 : Juntan Zhang等、 "Shuffled Belief Propagation Decoding", [online] 、 [平成 16年 9月 28日検索]、 http:〃lester.univ— ubs.fr:8080/〜boutillon/Journee— GD R— LDPC/Fossorierl— GDR— LDPC.pdf
非特許文献 3: Jinghu Chen等、 "Reduced-Complexity Decoding of LDPC Codes" 、 [online], [平成 16年 9月 28日検索]、 http://www-ee.eng.hawaii.edu/linghu/FILE SAcom02v3p2.pdf
特干文献 4: Jmghu し hen等、 Density evolution of two improved BP— based algo rithms for LDPC decoding"、 IEEE Communications Letters, March 2002
非特許文献 5 : Xiao— Yu等、 "Efficient Implementation of the Sum-Product algorith m for Decoding LDPC Codes", Proc. 2001 IEEE GlobeCom Conf" pp.1036— 1036E, Nov. 2001
非特許文献 6 :萩原春生、「ターボ符号の基礎」、トリケッブス、 1999年 10月 7日、 p. 37-46
非特許文献 7 : J Vogt等、 "Improving the max- log- MAP turbo decoder"、 ELECTR ONICS LETTERS, Vol.36, No.23、 p. 1937—1938
[0028] 従来の Min— Sumアルゴリズムに従う LDPC符号化信号の復号装置では、復号性 能を維持するには繰り返し回数が大きくしなければならず、これに伴い復号遅延も大 きくなるという課題があった。また、この傾向は、 Min— Sumアルゴリズムにおける近 似更新式を基本更新式として使用する Normalized BPアルゴリズムや、 Offset B Pァノレゴリズムにお ヽても同様である。
[0029] また、 Normalized BPアルゴリズム及び Offset BPアルゴリズムの復号性能は、 因子 a (Normalization Factor)及び因子 j8 (Offset Factor)の値にそれぞれ大きく依 存している。このため、各因子 a , j8を事前に算出しておく必要がある力 実際の受 信装置等に実装した場合、符号構成や通信路に依存して各因子 0 , βの値を変え なければ十分な復号性能が発揮できな 、。
[0030] さらに、 Min— Sumアルゴリズムの行処理で算出された LLRに対し、受信信号の大 きさに応じて補正を行う復号アルゴリズムでは、受信情報 (受信信号の大きさ)に応じ た補正定数を保持した補正項テーブルを設ける必要があり、実装が容易ではない。 Sum— Productアルゴリズムや Shuffled BPアルゴリズムのように、復号に際して ta nh関数などの数学関数を必要とする場合も、計算コストが大きくなりハードウェア構 成が複雑になるために実装が困難である。
[0031] また、 Shuffled BPアルゴリズム及び Group Shuffled BPアルゴリズムでは、符 号の先頭ビットから順に復号演算を行うか、若しくは、符号の先頭からグループ分け された複数ビット順に復号演算を行う。このため、符号構成や変調方式に最適な演 算順序とすることができないという課題もある。さらに、通信路情報として、受信情報 力 算出される受信 LLRの大きさで順序制御する技術では、受信の度に順序を変え る必要があると 、う不具合がある。
[0032] さらに、前記因子 sで乗算する Max— Log— MAPアルゴリズムの復号性能は、因 子 sの値に依存している。このため、因子 sを事前に算出しておく必要がある力 実際 の受信装置等に実装した場合、符号構成や通信路に依存して因子 sの値を変えなけ れば十分な復号性能が発揮できな 、。
[0033] この発明は、上記のような課題を解決するためになされたもので、 Min— Sumアル ゴリズム及びそれを基本更新式とする Normalized BPアルゴリズムや Group Shu filed BPアルゴリズムに対して高効率な確率伝搬アルゴリズムを提供して演算結果 の収束を速め、繰り返し復号の回数を削減することができる符号ィヒ信号の復号方法 、復号装置及びこれを備えた通信装置を得ることを目的とする。
[0034] また、この発明は、 Sum— Productアルゴリズムのような複雑な数学関数を用いず に Min— Sumアルゴリズムと同程度の計算コストで、 Normalized BPアルゴリズム や Offset BPアルゴリズムのように因子に大きく依存することもなぐ補正項をテープ ルとして保持する必要をなくしても、なお且つ高い復号能力を実現することができる 復号装置及びこれを備えた通信装置を得ることを目的とする。
[0035] さらに、この発明は、多値変調されて送受信された場合や符号がイレギュラー LDP C符号である場合にお 、ても、受信信号に対する行処理と列処理による確率情報の 算出及び更新を 1ビットずつ、若しくは予め定めた複数ビットずつ行う復号ァルゴリズ ムの演算順序制御を効率的に行うことができ、さらに繰り返し回数も削減できる復号 装置及びこれを備えた通信装置を得ることを目的とする。 [0036] さらに、この発明では、多値変調されて送受信する場合において、因子 a (Normali zation Factor)や因子 j8 (Offset Factor)を変調方式や符号構成に依存して決定する ことで復号性能を向上させた復号装置及びこれを備えた通信装置を得ることを目的 とする。
[0037] さらに、この発明は、 Shuffled BPアルゴリズムのように受信信号に対する行処理 と列処理による確率情報の算出及び更新を 1ビットずつ、若しくは予め定めた複数ビ ットずつ行うにあたり処理を並列化することにより演算遅延時間を削減することができ る復号装置及びこれを備えた通信装置を得ることを目的とする。
[0038] また、この発明は、 Log— MAPアルゴリズムのような複雑な数学関数を用いずに M ax - Log - MAPアルゴリズムと同程度の計算コストで、高 、復号能力を実現するこ とができる復号装置及びこれを備えた通信装置を得ることを目的とする。
発明の開示
[0039] この発明に係る復号装置は、低密度パリティ検査(Low-density Parity-check: LDP C)符号化された受信信号に対して「Min— Sumアルゴリズム」に従う行処理及び列 処理による確率情報の算出及びその更新を 1ビットずつ若しくは予め定めた複数ビッ トずつ実行する復号手段を備えるものである。
[0040] このことによって、 LDPC符号を復号する従来の復号アルゴリズムに従う復号装置と 比較してより少ない繰り返し回数で復号できる上、復号に要する計算コストを少なく抑 えることができると!/、う効果がある。
[0041] また、この発明によれば、 Turbo符号ィ匕された受信信号に対して Mapアルゴリズム のような複雑な数学関数を用いずに Max— Log— MAPアルゴリズムと同程度の計 算コストで、前記因子 sで乗算する Max— Log— MAPアルゴリズムのように復号性能 が因子に依存することなぐ性能劣化を抑えることができるという効果がある。
図面の簡単な説明
[0042] [図 1]この発明の実施の形態 1による LDPC符号復号装置の構成を示すブロック図で ある。
[図 2]図 1中の行処理部の構成を示すブロック図である。
[図 3]実施の形態 1による LDPC符号復号装置の動作を示すフローチャートである。 [図 4]ビット誤り率と復号繰り返し回数の平均値との関係をプロットしたグラフである。 圆 5]この発明の実施の形態 2による LDPC符号復号装置の行処理部の構成を示す ブロック図である。
[図 6]ビット誤り率と復号繰り返し回数の平均値との関係をプロットしたグラフである。 圆 7]この発明の実施の形態 3による LDPC符号復号装置の行処理部の構成を示す ブロック図である。
[図 8]ビット誤り率と復号繰り返し回数の平均値との関係をプロットしたグラフである。 圆 9]この発明の実施の形態 4による LDPC符号復号装置の構成を示すブロック図で ある。
[図 10]図 9中の行処理部の構成を示すブロック図である。
[図 10A]図 9中の行処理部の他の構成を示すブロック図である。
[図 11]実施の形態 4による LDPC符号復号装置の動作を示すフローチャートである。 圆 12]ビット誤り率と信号対雑音比 (EbZNo)との関係をプロットしたグラフである。 圆 13]この発明の実施の形態 5による LDPC符号復号装置の行処理部の構成を示 すブロック図である。
圆 14]ビット誤り率と信号対雑音比 (EbZNo)との関係をプロットしたグラフである。 圆 15]この発明の実施の形態 6による LDPC符号復号装置の行処理部の構成を示 すブロック図である。
圆 16]ビット誤り率と信号対雑音比 (EbZNo)との関係をプロットしたグラフである。
[図 17]4PAM Gray Mappingでの受信値の分布を示すグラフである。
圆 18]この発明の実施の形態 10による LDPC符号復号装置の行処理部の構成を示 すブロック図である。
圆 19]この発明の実施の形態 11による LDPC符号復号装置の行処理部の構成を示 すブロック図である。
圆 20]この発明の実施の形態 12による LDPC符号復号装置の構成を示すブロック 図である。
[図 21]LDPC符号ィ匕行列の構成例を示す図である。
[図 22]実施の形態 12の LDPC符号復号装置による LDPC符号行列のグループ分割 例を示す図である。
[図 23]実施の形態 12による LDPC符号復号装置の動作を示すフローチャートである
[図 24]ビット誤り率と復号繰り返し回数の平均値との関係をプロットしたグラフである。
[図 25]この発明の実施の形態 16による通信装置の構成を示すブロック図である。
[図 26]実施の形態 16による通信装置で使用する LDPC符号の構成を示す図である
[図 27]実施の形態 16による通信装置で LDPC符号を 4PAMに変調して送受信する 場合におけるビットの割り当ての例を示す図である。
[図 28]実施の形態 16による通信装置の動作を示すフローチャートであり、この図に沿 つて説明する。
[図 29]この発明の実施の形態 17による LDPC符号復号装置の構成を示すブロック 図である。
[図 30]図 29中の行処理部及び列処理部による復号演算を説明するためのブロック 図である。
[図 31]図 29中の行処理部及び列処理部による他の復号演算を説明するためのプロ ック図である。
[図 32]擬似巡回符号の模式図である。
[図 33]この発明の実施の形態 18による行処理部及び列処理部の復号演算を説明す るためのブロック図である。
[図 34]この発明の実施の形態 19による Turbo符号復号装置の構成を示すブロック図 である。
[図 35]実施の形態 19による Turbo符号復号装置の動作を示すフローチャートである
[図 36]LDPC復号器を含む本実施の形態の通信システムの構成例を示す図である。
[図 37]移動体通信システムの構成例を示す図である。
発明を実施するための最良の形態
以下、この発明をより詳細に説明するために、この発明を実施するための最良の形 態について、添付の図面に従って説明する。
実施の形態 1.
図 1は、この発明の実施の形態 1による LDPC符号復号装置の構成を示- 図である。本実施の形態 1による LDPC符号復号装置 1は、受信 LLR計算部 2及び 復号コア部 (復号手段) 3から構成される。受信 LLR計算部 2は、 LDPC (Low-Densit y Parity Check)符号化信号を受信し、その対数尤度比 LLR (Log Likelihood Ratio) (以下、受信 LLRと称する)を算出して復号コア部 3に出力する。復号コア部 3は、途 中結果保持部 4、行処理部 5、列処理部 6、制御部 7及び復号結果判定部 8から構成 される。
[0044] 途中結果保持部 4では、受信 LLR計算部 2から入力した受信 LLRに基づく行処理 部 5及び列処理部 6による復号処理の途中結果を保持する。行処理部 5は、行処理 を行う。列処理部 6は、列処理を行う。制御部 7は、行処理部 5及び列処理部 6による 復号処理の繰り返しを制御する。復号結果判定部 8は、事後値の硬判定から復号結 果を決定し、パリティ検査を行って復号結果の正誤を判定する。
[0045] ここで、本実施の形態 1による行処理部 5では、上記式(1)に対して、上記式(1)及 び上記式(2)の代わりに下記式 (8)の演算を実行する。つまり、上述した Shuffled BPアルゴリズムのステップ 1の行処理において、 Min— Sumアルゴリズムで使用する 更新式で更新演算を行う。なお、下記式中の各記号は、上述したものと同様である。
[数 5]
Π si ,.) Π ' ΜΪΝ ( 8 ) min (|„;„ , I)は集 A Aに含まれる《'における |Ζ^Λ, Iの S小値
MJNfo,b)は β , &のうちから小さい力-を選択する処理
sign(zm' ll,); z^'„,の符号 、土) 図 2は、図 1中の行処理部の構成を示すブロック図である。比較部 9は、入力された 2値の絶対値の大小比較を行い、小さい方と 2値の符号(士)との積を算出する。行処 理部 5は、複数の比較部 9を複数段に接続して構成される。また、図に示すように、下 段の比較部 9は、入力 2値の一方として上段の比較部 9の算出結果を入力する。各 比較部 9による処理は下記の通りである。
[0047] 比較部 9が 2値 a, bの絶対値を入力した場合、 | a | < | b |であれば、 sign (a) X sign (b) X I a Iを出力する。また、 I a I < I b I以外であれば、 sign (a) X sign (b ) X I b Iを出力する。なお、 sign (a)は aの符号(士)を示している。行処理部 5では 、途中結果保持部 4から行処理を行う該当ビットの LLRを入力し、比較部 9がそれぞ れの大小比較と符号(士)の積を算出した値を列処理部 6へ受け渡す。
[0048] このように、本実施の形態 1による LDPC符号復号装置 1は、受信信号に対する行 処理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複 数ビットずつ行う Shuffled BPアルゴリズムを基にして、その各行処理において上記 式(2)及び上記式(3)を用いずに Min— Sumアルゴリズムの近似更新式である上記 式 (8)を利用する。これにより、受信信号に対する行処理と列処理による確率情報の 算出及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行う Min— Sumアル ゴリズムが実現される。
[0049] 次に動作について説明する。
図 3は、実施の形態 1による LDPC符号復号装置の動作を示すフローチャートであ り、この図に沿って動作を説明する。
先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (Q) ( : =F )として途中結果 m,n n
保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す る。
[0050] 次に、ステップ ST4において、繰り返し回数 i= lから i=最終復号回(最大繰り返し 回数 I )まで行処理部 5及び列処理部 6による繰り返し復号処理であるステップ 1と、 max
復号結果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し実行する [0051] 繰り返し i回目の復号演算を例に説明する。 先ず、復号したい LDPC符号の検査行列 H ( = [H ])に対して、上記式(1)におい
m,n
て g= 1のとき、行処理部 5は、 1列目力 N列目までの列に 1を持つ行の行処理を行
g
い、処理結果を列処理部 6へ受け渡す。列処理部 6では、同様に 1列目力 N列目
g までの列処理を行 ヽ、処理結果を途中結果保持部 4に保持させる。
[0052] 次に、上記式(1)において g = 2のとき、行処理部 5は、(N + 1)列目から 2N列目
g g までの列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。列処理 部 6では、同様に (N + 1)列目から 2N列目までの列処理を行 、、処理結果を途中
g g
結果保持部 4に保持させる。
[0053] 続いて、 g = 3以降の処理を逐次実行し、その都度、行処理部 5による処理結果が 列処理部 6に受け渡され、列処理部 6の処理結果が途中結果保持部 4に保持される
[0054] 最後に、上記式(1)において g = Gのとき、行処理部 5は、(N— N )列目から N列目
g
までの列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。列処理 部 6では、同様に (N—N )列目力 N列目までの列処理を行い、処理結果を途中結
g
果保持部 4に保持させる。
[0055] 上述した処理において、行処理部 5が上記式 (8)に従うことで、 g= l以降の処理で は、繰り返し i回目にて既に更新された LLRを持つ列に関しては、受信 LLRではなく 更新された LLRを用いて行処理が実行される。
[0056] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z (i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が
、ノ リティ検査の結果が NGであるならば、繰り返し回数 iを 1増やし、続いてステップ 1 の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満た せば、後述するステップ 3の処理に移行させる。
[0057] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I となるまで、上記式 (8)に基づぐ
max
ステップ 1及びステップ 2の処理を繰り返すように行処理部 5及び列処理部 6を制御す る。
[0058] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0059] 図 4は、従来の Min— Sumアルゴリズムに従う LDPC符号復号装置と、実施の形態 1による LDPC符号復号装置とにおける、ビット誤り率とこのビット誤り率でのノ^ティ 検査が OKになるまでに要した復号繰り返し回数の平均値との関係をプロットしたダラ フである。図において、プロット間を破線で繋いだ方が従来の Min— Sumァルゴリズ ムによるものであり、実線でプロット間を繋いだものが本実施の形態 1によるものであ る。
[0060] また、図 4にお!/、て、 LDPC符号は、レギュラー LDPC符号、符号長 8000、符号化 率 1Z2、列重み 3、行重み 6であり、最大繰り返し回数 I 力 100回である。通信路は max
、 AWGN (Additive White Gaussian Noise ;加法性白色ガウス雑音)通信路を想定し ており、変調方式は BPSK (Binary Phase Shift Keying)としている。
[0061] 従来の Min— Sumアルゴリズムでは、上記式(8)に従って繰り返し復号の任意の 1 回で符号ィ匕信号に対して全ての行処理を終えてから、当該符号ィ匕信号の全てのビッ トに対する列処理が行われる。これに対して、本実施の形態 1による LDPC符号復号 装置 1では、受信信号に対する行処理と列処理による確率情報の算出及び更新を 1 ビットずつ若しくは予め定めた複数ビットずつ行う。これにより、図 4に示すように、ノ リ ティ検査が OKとなるまでに要した復号繰り返し回数の平均値の収束力 従来の Min — Sumアルゴリズムと比較して格段に速くなつていることがわかる。
[0062] 以上のように、この実施の形態 1によれば、受信信号に対する行処理と列処理によ る確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行うと 共に、その行処理において Min— Sumアルゴリズムの簡易な更新式を用いるので、 従来の Min— Sumアルゴリズムよりも確率伝搬が効率的に行われることになり、復号 演算の収束が速くなり繰り返し回数を削減することができる。また、 Min— Sumァルゴ リズムを行処理の基本アルゴリズムとして、従来の Shuffled BPアルゴリズムのように 数学関数を必要とすることがなく、計算コストを削減することができる。
[0063] 実施の形態 2. 上記実施の形態 1では、受信信号に対する行処理と列処理による確率情報の算出 及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行う Min— Sumアルゴリ ズムを実現した LDPC符号復号装置を示した。これに対し、本実施の形態 2による L DPC符号復号装置は、受信信号に対する行処理と列処理による確率情報の算出及 び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理にお V、て Normalized BPアルゴリズムを実行するものである。
[0064] 本実施の形態 2による LDPC符号復号装置は、図 1に示した上記実施の形態 1によ る LDPC符号復号装置と基本的に同様な構成を有している力 Normalized BPァ ルゴリズムの実行のために行処理部 5の構成及びその処理内容が異なる。
[0065] 具体的に説明すると、本実施の形態 2における行処理部 5では、上記式(1)に対し て上記式(2)及び上記式(3)の代わりに下記式(9)の演算を実行する。つまり、受信 信号に対する行処理と列処理による確率情報の算出及び更新を 1ビットずつ、若しく は予め定めた複数ビットずつ行う、 Shuffled BPアルゴリズムのステップ 1の行処理 において、 Normalized BPアルゴリズムで使用する更新式である下記式(9)により 更新演算を行う。なお、下記式(9)中の各記号は、上述したものと同様である。また、 疋 ; は、 Normalization Factorである。
A 上, f] sign( ) TT -sign( ) - MIN rnin ί| ;'„, {), min ( ( 9 )
"
[0066] 本実施の形態 2による LDPC符号復号装置は、上述したように、基本的な構成は図 1に示す上記実施の形態 1と同様である。つまり、受信情報力 受信 LLRを算出する 受信 LLR算出部 2と復号コア部 3とから構成され、復号コア部 3により受信信号に対 する行処理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定め た複数ビットずつ行う、 Normalized BPアルゴリズムによる復号を実行する。
[0067] 復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7及び復号 結果判定部 8から構成される。途中結果保持部 4は、上記実施の形態 1で説明したよ うに、行処理部 5及び列処理部 6による復号の途中結果を保持する。行処理部 5では 、上記式(9)を用いた行処理を行い、列処理部 6は、上述した Shuffled BPアルゴリ ズムのステップ 1と同様に、上記式 (4)及び式(5)を用いた列処理を行う。
[0068] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、上述した Shuffled BPアルゴリズムのステップ 1と同様に列処理部 6 が求めた事後値の硬判定から上記式 (6)により復号結果の復号系列を算出し、パリ ティ検査を行って上記式(7)の条件から復号結果の正誤を判定する。
[0069] 図 5は、実施の形態 2による LDPC符号復号装置の行処理部の構成を示すブロック 図である。本実施の形態による行処理部 5は、複数の比較部 9と除算部 10から構成 される。比較部 9は、図 2で示したものと同様に、入力された 2値の絶対値の大小比較 を行い、小さい方と 2値の符号(士)との積を算出する。行処理部 5において、複数の 比較部 9が複数段に接続している。また、図に示すように、下段の比較部 9は、入力 2 値の一方として上段の比較部 9の算出結果を入力する。各比較部 9による処理は下 記の通りである。
[0070] 比較部 9が 2値 a, bの絶対値を入力した場合、 | a | < | b |であれば、 sign (a) X sign (b) X I a Iを出力する。また、 I a I < I b I以外であれば、 sign (a) X sign (b ) X I b Iを出力する。なお、 sign (a)は aの符号(士)を示している。
[0071] 除算部 10では、入力値 cに対し、因子 at (Normalization Factor)で除算した cZ a を計算して列処理部 6に出力する。つまり、本実施の形態 2による行処理部 5では、 途中結果保持部 4から行処理を行う該当ビットの LLRを入力すると、それぞれの大小 比較と符号(士)の積を比較部 9で行い、比較部 9により得られた値を除算部 10が因 子 αによる除算を行った後、列処理部 6へ受け渡す処理を行う。
[0072] このように、本実施の形態 1による LDPC符号復号装置 1は、受信信号に対する行 処理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複 数ビットずつ行う Shuffled BPアルゴリズムを基にして、その各行処理において上記 式(2)及び上記式(3)を用いずに Normalized BPアルゴリズムの更新式である上 記式(9)を利用する。これにより、 Min— Sumアルゴリズムと同程度の計算コストで L DPC符号の復号を行いつつ、復号性能が劣化するのを抑えた Normalized BPァ ルゴリズムを、受信信号に対する行処理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行うことを実現している。
[0073] 次に動作について説明する。
本実施の形態 2による LDPC符号復号装置の基本的な動作の流れは、上記実施 の形態 1における図 3のフローチャートと同様である。よって、図 3に沿って動作を説 明し、併せて上記実施の形態 1と異なる動作について説明する。
[0074] 先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (°) (: =F )として途中結果
m,n n
保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す る。
[0075] 次に、ステップ ST4において、繰り返し回数 i= lから i=最終復号回(最大繰り返し 回数 I )まで行処理部 5及び列処理部 6による繰り返し復号処理であるステップ 1と、 max
復号結果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し実行する
[0076] 繰り返し i回目の復号演算を例に説明する。
先ず、復号したい LDPC符号の検査行列 H ( = [H ])に対して、上記式(1)におい
m,n
て g= 1のとき、行処理部 5は、 1列目力 N列目までの列に 1を持つ行について上記
g
式(9)に従う行処理を行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、上 記式(3)及び上記式 (4)に従って 1列目力 N列目までの列処理を行 、、処理結果
g
を途中結果保持部 4に保持させる。
[0077] 次に、上記式(1)において g = 2のとき、行処理部 5は、(N + 1)列目から 2N列目
g g までの列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。列処理 部 6では、同様に (N + 1)列目から 2N列目までの列処理を行 、、処理結果を途中
g g
結果保持部 4に保持させる。
[0078] 続いて、 g = 3以降の処理を逐次実行し、その都度、行処理部 5による処理結果が 列処理部 6に受け渡され、列処理部 6の処理結果が途中結果保持部 4に保持される
[0079] 最後に、上記式(1)において g = Gのとき、行処理部 5は、(N— N )列目力 N列目 までの列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。列処理 部 6では、同様に (N— N )列目力 N列目までの列処理を行い、処理結果を途中結
g
果保持部 4に保持させる。
[0080] 上述した処理において、行処理部 5が上記式(9)に従うことで、 g= l以降の処理で は、繰り返し i回目にて既に更新された LLRを持つ列に関しては、受信 LLRではなく 更新された LLRを用いて行処理が実行される。
[0081] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z①を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が
、ノリティ検査の結果が NGであるならば、繰り返し回数 iを 1増やして、続いてステツ プ 1の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満 たせば、後述するステップ 3の処理に移行させる。
[0082] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I となるまで、上記式 (9)に基づぐ
max
ステップ 1及びステップ 2の処理を繰り返すように行処理部 5及び列処理部 6を制御す る。
[0083] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0084] 図 6は、従来の Normalized BPアルゴリズムに従う LDPC符号復号装置と、実施 の形態 2による LDPC符号復号装置とにおける、ビット誤り率とこのビット誤り率でのパ リティ検査が OKになるまでに要した復号繰り返し回数の平均値との関係をプロットし たグラフである。図において、プロット間を破線で繋いだ方が従来の Normalized B Pアルゴリズムによるものであり、実線でプロット間を繋 、だものが本実施の形態 2によ るものである。
[0085] また、図 6において、 LDPC符号は、レギュラー LDPC符号、符号長 8000、符号化 率 1Z2、列重み 3、行重み 6、最大繰り返し回数 I 力 100回である。また、通信路は
max
、 AWGN (Additive White Gaussian Noise ;加法性白色ガウス雑音)通信路を想定し 、変調方式を BPSK (Binary Phase Shift Keying)としている。さらに、従来の Normali zed BPアルゴリズム及び本実施の形態 2による Normalized BPアルゴリズムにお いて、因子 a (Normalization Factor)をそれぞれ α = 1. 25としている。
[0086] 従来の Normalized BPアルゴリズムでは、上記式(9)に従って繰り返し復号の任 意の 1回で符号ィ匕信号に対して全ての行処理を終えてから、当該符号化信号の全て のビットに対する列処理が行われる。これに対して、本実施の形態 2による LDPC符 号復号装置では、受信信号に対する行処理と列処理による確率情報の算出及び更 新を 1ビットずつ若しくは予め定めた複数ビットずつ行う。これにより、図 6に示すよう に、ノ^ティ検査が OKとなるまでに要した復号繰り返し回数の平均値の収束力 従 来の Normalized BPアルゴリズムと比較して格段に速くなつて!/、ることがわ力る。
[0087] 以上のように、この実施の形態 2によれば、受信信号に対する行処理と列処理によ る確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行うと 共に、その行処理において Normalized BPアルゴリズムの簡易な更新式を用いる ので、従来の Normalized BPアルゴリズムよりも確率伝搬が効率的に行われること になり、復号演算の収束が速くなり繰り返し回数を削減することが可能となる。また、 Normalized BPアルゴリズムを基本アルゴリズムとしたことで、従来の Shuffled B Pアルゴリズムのように数学関数を必要とすることがなぐ計算コストを削減することが できる。
[0088] 実施の形態 3.
本実施の形態 3では、受信信号に対する行処理と列処理による確率情報の算出及 び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理にお
V、て Offset BPアルゴリズムを実行するものである。
[0089] 本実施の形態 3による LDPC符号復号装置は、図 1に示した上記実施の形態 1によ る LDPC符号復号装置と基本的に同様な構成を有している力 Offset BPアルゴリ ズムの実行のために行処理部 5の構成及びその処理内容が異なる。具体的に説明 すると、本実施の形態 3における行処理部 5では、上記式(1)に対して下記式(10) の演算を実行する。
[0090] つまり、受信信号に対する行処理と列処理による確率情報の算出及び更新を 1ビッ トずつ、若しくは予め定めた複数ビットずつ行う、 Shuffled BPアルゴリズムのステツ プ 1の行処理において、 Offset BPアルゴリズムで使用する近似更新式である下記 式(10)により更新演算を行う。なお、下記式(10)中の各記号は、上述したものと同 様である。また、定数 j8は、 Offset Factorであり、 MAXは両者の大きい方を選択 する操作とする。
[数 7] sign )" "や)' IN ' nam
Figure imgf000022_0001
"
( I 0 ) sign(^) · MAX(j p I -β,ϋ)
[0091] 本実施の形態 3による LDPC符号復号装置は、上述したように、基本的な構成は図 1に示す上記実施の形態 1と同様である。つまり、受信情報力 受信 LLRを算出する 受信 LLR算出部 2と復号コア部 3とから構成され、復号コア部 3により受信信号に対 する行処理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定め た複数ビットずつ行う、 Offset BPアルゴリズムによる復号を実行する。
[0092] 復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7及び復号 結果判定部 8から構成される。途中結果保持部 4は、上記実施の形態 1で説明したよ うに、行処理部 5及び列処理部 6による復号の途中結果を保持する。行処理部 5では 、上記式(10)を用いた行処理を行い、列処理部 6は、上述した Shuffled BPァルゴ リズムのステップ 1と同様に上記式 (4)及び式(5)を用いた列処理を行う。
[0093] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、上述した Shuffled BPアルゴリズムのステップ 1と同様に列処理部 6 が求めた事後値の硬判定から上記式 (6)により復号結果の復号系列を算出し、パリ ティ検査を行って上記式(7)の条件から復号結果の正誤を判定する。
[0094] 図 7は、実施の形態 3による LDPC符号復号装置の行処理部の構成を示すブロック 図である。本実施の形態による行処理部 5は、複数の比較部 9と減算部 11から構成 される。比較部 9は、図 2で示したものと同様に、入力された 2値の絶対値の大小比較 を行い、小さい方と 2値の符号(士)との積を算出する。行処理部 5において、複数の 比較部 9が複数段に接続している。また、図に示すように、下段の比較部 9は、入力 2 値の一方として上段の比較部 9の算出結果を入力する。各比較部 9による処理は下 記の通りである。
[0095] 比較部 9が 2値 a, bの絶対値を入力した場合、 | a | < | b |であれば、 sign (a) X sign (b) X I a Iを出力する。また、 I a I < I b I以外であれば、 sign (a) X sign (b ) X I b Iを出力する。なお、 sign (a)は aの符号(士)を示している。
[0096] 減算部 11では、入力値 cに対し、因子 β (Offset Factor)で減算した c βを計算し て列処理部 6に出力する。つまり、本実施の形態 3による行処理部 5では、途中結果 保持部 4から行処理を行う該当ビットの LLRを入力すると、それぞれの大小比較と符 号(士)の積を比較部 9で行い、比較部 9により得られた値を減算部 11が因子 によ る減算を行った後、列処理部 6へ受け渡す処理を行う。
[0097] このように、本実施の形態 3による LDPC符号復号装置は、受信信号に対する行処 理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビ ットずつ行う Shuffled BPアルゴリズムを基にして、その各行処理において上記式( 2)及び上記式(3)を用いずに Offset BPアルゴリズムの更新式である上記式(10) を利用する。これにより、 Min— Sumアルゴリズムと同程度の計算コストで LDPC符 号の復号を行いつつ、復号性能が劣化するのを抑えた Offset BPアルゴリズムを、 受信信号に対する行処理と列処理による確率情報の算出及び更新を 1ビットずつ若 しくは予め定めた複数ビットずつ行うことを実現して 、る。
[0098] 次に動作について説明する。
本実施の形態 3による LDPC符号復号装置の基本的な動作の流れは、上記実施 の形態 1における図 3のフローチャートと同様である。よって、図 3に沿って動作を説 明し、併せて上記実施の形態 1と異なる動作について説明する。
[0099] 先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (Q) ( : =F )として途中結果 m,n n
保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す る。 [0100] 次に、ステップ ST4において、繰り返し回数 i= lから i=最終復号回(最大繰り返し 回数 I )まで行処理部 5及び列処理部 6による繰り返し復号処理であるステップ 1と、 max
復号結果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し実行する
[0101] 繰り返し i回目の復号演算を例に説明する。
先ず、復号したい LDPC符号の検査行列 H ( = [H ])に対して、上記式(1)におい
m,n
て g= 1のとき、行処理部 5は、 1列目力 N列目までの列に 1を持つ行について上記
g
式(10)に従う行処理を行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、 上記式(3)及び上記式 (4)に従って 1列目力 N列目までの列処理を行 、、処理結
g
果を途中結果保持部 4に保持させる。
[0102] 次に、上記式(1)において g = 2のとき、行処理部 5は、(N + 1)列目から 2N列目
g g までの列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。列処理 部 6では、同様に (N + 1)列目から 2N列目までの列処理を行 、、処理結果を途中
g g
結果保持部 4に保持させる。
[0103] 続いて、 g = 3以降の処理を逐次実行し、その都度、行処理部 5による処理結果が 列処理部 6に受け渡され、列処理部 6の処理結果が途中結果保持部 4に保持される
[0104] 最後に、上記式(1)において g = Gのとき、行処理部 5は、(N— N )列目力 N列目
g
までの列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。列処理 部 6では、同様に (N—N )列目力 N列目までの列処理を行い、処理結果を途中結
g
果保持部 4に保持させる。
[0105] 上述した処理において、行処理部 5が上記式(10)に従うことで、 g= l以降の処理 では、繰り返し i回目にて既に更新された LLRを持つ列に関しては、受信 LLRではな く更新された LLRを用いて行処理が実行される。
[0106] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z (i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が 、 ノ リティ検査の結果が NGであるならば、繰り返し回数 iを 1増やして、続いてステツ プ 1の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満 たせば、後述するステップ 3の処理に移行させる。
[0107] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I となるまで、上記式(10)に基づく max
、ステップ 1及びステップ 2の処理を繰り返すように行処理部 5及び列処理部 6を制御 する。
[0108] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0109] 図 8は、従来の Offset BPアルゴリズムに従う LDPC符号復号装置と、実施の形態 3による LDPC符号復号装置とにおける、ビット誤り率とこのビット誤り率でのノ^ティ 検査が OKになるまでに要した復号繰り返し回数の平均値との関係をプロットしたダラ フである。図において、プロット間を破線で繋いだ方が従来の Offset BPァルゴリズ ムによるものであり、実線でプロット間を繋いだものが本実施の形態 3によるものであ る。
[0110] また、図 8において、 LDPC符号は、レギュラー LDPC、符号長 8000、符号化率 1 Z2、列重み 3、行重み 6、最大繰り返し回数 I 力 100回である。通信路は、 AWGN max
(Additive White Gaussian Noise;加法性白色ガウス雑音)通信路を想定しており、変 調方式は BPSK(Binary Phase Shift Keying)としている。また、従来の Offset BPァ ルゴリズム及び本実施の形態 3による Off set BPアルゴリズムにおいて、因子 j8 (Off set Factor)をそれぞれ j8 =0. 15としている。
[0111] 従来の Offset BPアルゴリズムでは、上記式(10)に従って繰り返し復号の任意の 1回で符号ィ匕信号に対して全ての行処理を終えてから、当該符号化信号の全てのビ ットに対する列処理が行われる。これに対して、本実施の形態 3による LDPC符号復 号装置では、受信信号に対する行処理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行う。これにより、図 8に示すように、パ リティ検査が OKとなるまでに要した復号繰り返し回数の平均値の収束力 従来の Of f set BPアルゴリズムと比較して格段に速くなつて 、ることがわ力る。 [0112] 以上のように、この実施の形態 3によれば、受信信号に対する行処理と列処理によ る確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行うと 共に、その行処理において Off set BPアルゴリズムの簡易な更新式を用いるので、 従来の Offset BPアルゴリズムよりも確率伝搬が効率的に行われることになり、復号 演算の収束が速くなり繰り返し回数を削減することができる。また、 Offset BPアル ゴリズムを基本アルゴリズムとしたことで、従来の Shuffled BPアルゴリズムのように 数学関数を必要とすることがなく、計算コストを削減することができる。
[0113] 実施の形態 4.
この実施の形態 4は、 Min— Sumアルゴリズムに受信情報力 減算とビットシフト演 算のみで算出できる補正項による補正を行う補正型の Min— Sumアルゴリズムを復 号アルゴリズムとして備えるものである。
[0114] 図 9は、この発明の実施の形態 4による LDPC符号復号装置の構成を示すブロック 図である。本実施の形態 4による LDPC符号復号装置 1は、受信 LLR計算部 2及び 復号コア部 3から構成される。受信 LLR計算部 2は、 LDPC (Low-Density Parity Ch eck)符号ィ匕信号を受信し、その対数尤度比 LLRを算出して復号コア部 3に出力する 。復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7及び復号 結果判定部 8から構成される。
[0115] 途中結果保持部 4は、受信 LLR計算部 2から入力した受信 LLRに基づく行処理部 5及び列処理部 6による復号処理の途中結果を保持する。行処理部 5は、上述した 補正項による補正を行う補正型の Min— Sumアルゴリズムによる行処理を行う。列処 理部 6は、当該行処理部 5による処理結果について列処理を行う。制御部 7は、行処 理部 5及び列処理部 6による復号処理の繰り返しを制御する。復号結果判定部 8は、 事後値の硬判定力 復号結果を決定し、パリティ検査を行って復号結果の正誤を判 定する。
[0116] ここで、本実施の形態 4では、従来の Min— Sumアルゴリズムと同様に、繰り返し復 号の任意の 1回で符号化信号に対して全ての行処理を終えてから当該符号化信号 の全てのビットに対する列処理を行う。つまり、復号したい LDPC符号の検査行列が 2元 m X n行列 H = [H ] (nは 0以上 N未満の整数, mは 0以上 M未満の整数)であ るとすると、 m=l, 2, 3, · · ·, Mの順に H = 1を満たす全ての組 (m, n)に対して m,n
行処理を行い、この後 n=l, 2, 3, · · ·, Nの順に H = 1を満たす全ての組 (m, n) m,n
に対して列処理が実行される。
[0117] 繰り返し 1回の中で実行される行処理であるステップ 1において、本実施の形態 4に よる行処理部 5は、下記式(11)に対して下記式(12)の演算を実行する。下記式(12 )中の各パラメータは、下記式(13)〜(15)で表され、これら式中の各記号は、上述 したものと同様である。
[数 8] ί≤π≤N , «GM (in) · * * 〈丄 1 _)
E „ : J] ' ' · 2)
< = I'WK : , q = fu«c( :,' ,q), = ( : ,q) . … . = funcfz,^,1
func(a,fc) = IN(|a|t|i)|)-6
( 1 5 )
|c -全 -i&ii
10
[0118] なお、上記式(15)において、 Min— Sumアルゴリズムに対する補正項となる δに つ!、ては、 Sum— Productアルゴリズムの更新式力も級数展開して得ることのできる 近似項であり、入力する 2値の絶対値の差と 2による除算、定数 Cからの減算のみで 算出することができる。
[0119] また、定数 Cについては、 Sum— Productアルゴリズムの更新式からの近似計算で 得られる In (2)が 1例である力 例えば 0.9など適切な値を設定することで、復号性 能を向上させることも可能である。さらに 2による除算については、ハードウェアなど 2 進数で表現された系にお 、ては、 1ビットのビットシフト演算で可能である。
[0120] さらに、ステップ 1において、行処理部 5による全ての行処理が終了すると、本実施 の形態 4による列処理部 6は、下記式(16)に対して上記式 (4)及び上記式(5)の演 算を実行する。 [数 9] l≤n≤N , m≡M (n) ' · * ( 1 6 )
[0121] 続、て、ステップ 2として、復号結果判定部 8が、事後値 zn (i)を硬判定し、上記式 (6) で表される復号系列を生成する。このあと、上記式 (7)の条件を満たせば、後述する ステップ 3の処理に移行し、これら 2条件のいずれをも満たさなければ、繰り返し回数 i を加算してステップ 2の処理に戻る。ステップ 3では、復号結果判定部 8が、復号結果 として、ステップ 2で得た上記式 (6)に従う復号系列を出力する。
[0122] 図 10は、図 9中の行処理部の構成を示すブロック図である。補正演算部 12は、入 力された 2値の絶対値の大小比較、補正項の算出及びこれに基づく補正を行い、補 正された値と 2値の符号(士)との積を算出する。行処理部 5は、複数の補正演算部 1 2を複数段に接続して構成される。また、図に示すように、下段の補正演算部 12は、 入力 2値の一方として上段の補正演算部 12の算出結果を入力する。各補正演算部 12による処理は下記の通りである。
[0123] 補正演算部 12が 2値 a, bの絶対値を入力した場合、先ず、 δ =0. 69— ( | | a |
I b I I ) > > 2を計算する(ln (2)〜0. 69)。そして、 | a |く | b |であれば、 si gn (a) X sign (b) X ( | a | — δ )を出力する。また、 | a | < | b |以外であれば、 si gn (a) X sign (b) X ( | b | — δ )を出力する。なお、 sign (a)は aの符号(士)を示し ている。行処理部 5では、途中結果保持部 4から行処理を行う該当ビットの LLRを入 力し、補正演算部 12がそれぞれの大小比較と補正、符号(士)の積を算出した値を 列処理部 6へ受け渡す処理を行う。
[0124] このように、本実施の形態 4による LDPC符号復号装置 1では、繰り返し復号の任 意の 1回で符号ィ匕信号に対して、 Min— Sumアルゴリズムに受信情報力 減算とビッ トシフト演算のみで算出できる補正項による補正を行う補正型の Min— Sumアルゴリ ズムによって、全ての行処理を終えてから当該符号ィ匕信号の全てのビットに対する列 処理を行う。
[0125] なお、上述した上記式(12)及び図 10の構成では、全ての比較において補正を行 うが、図 10Aに示すように比較部 9による最小 2値の比較のときのみ補正を行うなど、 比較回数よりも補正回数を減らすことで、演算量を削減することができる。
[0126] 次に動作について説明する。
図 11は、実施の形態 4による LDPC符号復号装置の動作を示すフローチャートで あり、この図に沿って動作を説明する。
先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (°) (: =F )として途中結果 m,n n
保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す る。
[0127] 次に、ステップ ST4aにおいて、繰り返し回数 i= 1から i=最終復号回(最大繰り返し 回数 I )まで行処理部 5及び列処理部 6による繰り返し復号処理であるステップ 1と、 max
復号結果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し実行する
[0128] 繰り返し i回目の復号演算を例に説明する。
先ず、ステップ 1において、行処理部 5は、復号したい LDPC符号の検査行列 H (= [H ])に対して繰り返し i回目の復号演算における行処理を行う。具体的に説明する m,n
と、上記式(11)の関係に従って 1列目力 N列目までの列に 1を持つ行の行処理を 上記式(12)を用いて行!ヽ、処理結果を途中結果保持部 4に保持させる。
[0129] ステップ 1において、行処理部 5による行処理が終了すると、列処理部 6は、復号し たい LDPC符号の検査行列 Hに対して繰り返し i回目の復号演算における列処理を 行う。具体的には、上記式(16)の関係に従って 1列目力 N列目までの列処理を行 い、処理結果を途中結果保持部 4に保持させる。
[0130] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z (i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が 、ノ リティ検査の結果が NGであるならば、繰り返し回数 iを 1増やして、続いてステツ プ 1の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満 たせば、後述するステップ 3の処理に移行させる。
[0131] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I
maxとなるまで、ステップ 1の処理を繰 り返すように行処理部 5及び列処理部 6を制御する。
[0132] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0133] 図 12は、従来の Sum— Productアルゴリズムに従う LDPC符号復号装置と、従来 の Min— Sumアルゴリズムに従う LDPC符号復号装置と、実施の形態 4による LDP C符号復号装置とにおける、ビット誤り率とこのビット誤り率での信号対雑音比 (EbZ No)との関係をプロットしたグラフである。図において、プロット間を一点破線で繋い だ方が従来の Sum— Productアルゴリズムによるものであり、プロット間を破線で繋 いだ方が従来の Min— Sumアルゴリズムによるものであり、実線でプロット間を繋い だものが本実施の形態 4によるものである。
[0134] また、図 12において、 LDPC符号は、レギュラー LDPC符号、符号長 8000、符号 化率 1Z2、列重み 3、行重み 6であり、最大繰り返し回数 I 力
max 100回である。通信路 は、 AWGN (Additive White Gaussian Noise ;加法性白色ガウス雑音)通信路を想定 しており、変調方式は BPSK(Binary Phase Shift Keying)としている。
[0135] 従来の Sum— Productアルゴリズム及び従来の Min— Sumアルゴリズムでは、そ れぞれ上記式(2)及び上記式 (8)に従って、繰り返し復号の任意の 1回で符号化信 号に対して全ての行処理を終えてから、当該符号化信号の全てのビットに対する列 処理が行われる。
[0136] これに対して、本実施の形態 4による LDPC符号復号装置 1では、受信情報の減算 及びビットシフト演算のみで算出できる補正項による補正を行う補正型の Min— Sum アルゴリズムに従って、受信信号に対する行処理に対して全ての行処理を終えてか ら、当該符号化信号の全てのビットに対する列処理が行う。この補正により、図 12に 示すように、本実施の形態 4による LDPC符号復号装置 1は、従来の Min— Sumァ ルゴリズムと比較して格段に復号性能が向上しており、また従来の Sum— Product アルゴリズムと同様な復号性能を実現できているのがわかる。 [0137] 以上のように、この実施の形態 4によれば、受信情報の減算及びビットシフト演算の みで算出できる補正項による補正を行う補正型の Min— Sumアルゴリズムに従って 復号処理を実行するので、従来の Sum— Productアルゴリズムからの復号性能の劣 化を抑えることができる上、従来の Min— Sumアルゴリズムと比較すると格段に復号 性能を向上させることができる。
[0138] また、 Min— Sumアルゴリズムに対する補正項を受信情報力 算出することから、 従来の補正型の Min— Sumアルゴリズムのように補正項を保持するテーブルを用意 しておく必要がなぐ従来の Normalized BPアルゴリズムや Off set BPァルゴリズ ムのように、符号構成に依存して最適化した因子を予め用意しておく必要もない。
[0139] さらに、受信情報に基づく補正項を算出するための計算は、減算と 1ビットシフト演 算のみで実行することが可能であり、実施の形態 4による LDPC符号復号装置 1を簡 易なハードウェア構成で実現することができる。
[0140] 実施の形態 5.
上記実施の形態 4では、受信情報の減算及びビットシフト演算のみで算出できる補 正項による補正を行う補正型の Min— Sumアルゴリズムを実現した復号装置を示し た。これに対し、本実施の形態 5による復号装置は、上記実施の形態 4で説明した補 正型の Min— Sumアルゴリズムにおける行処理結果を定数で除算した値を用いて 列処理を行う除算付き補正型の Min— Sumアルゴリズムを復号アルゴリズムとして実 行するものである。
[0141] 本実施の形態 5による復号装置は、図 9に示した上記実施の形態 4による復号装置 と基本的に同様な構成を有している力 除算付き補正型の Min— Sumアルゴリズム の実行のために行処理部 5の構成及びその処理内容が異なる。具体的に説明すると 、本実施の形態 5における行処理部 5では、上記式(11)に対し、上記実施の形態 4 における行処理で用 、た上記式( 12)の代わりに、下記式( 17)の演算を実行する。 なお、下記式(17)中の各パラメータは、上記式(13)〜上記式(15)に従うものとする 。また、他の処理については、上記実施の形態 4と同様であり、記号は前記の通りで ある。
[数 10] ,, =丄' Π signtz^?) ^ · ' ' ( 1 7 )
α "ef½)\"
[0142] ここで、 Min— Sumアルゴリズムに対する補正項となる δは、 Sum— Productアル ゴリズムの更新式力 級数展開して得ることのできる近似項であり、入力する 2値の絶 対値の差と 2による除算、定数 Cからの減算のみで算出することができる。
[0143] なお、定数 Cについては、 Sum— Productアルゴリズムの更新式からの近似計算 で得られる In (2)が 1例であるが、適切な値を設定することで、復号性能を向上させる こともできる。さらに、 2による除算については、ハードウェアなど 2進数で表現された 系にお 、ては、 1ビットのビットシフト演算で可能である。
[0144] 除算定数 αは、 Normalized BPアルゴリズムにおける Normalization Factorと 同様な効果を持ち、上記実施の形態 4における補正型の Min— Sumアルゴリズムの 行処理で算出される LLRの大きさを、 Sum— Productアルゴリズムで算出される LL Rの大きさと同程度に調整することで、復号性能を向上させる効果を持つ。なお、本 実施の形態における除算付き補正型の Min— Sumアルゴリズムにおける除算定数 は、 Normalized BPアルゴリズムと同様に Normalization Factorと呼ぶことに する。
[0145] 本実施の形態 5による LDPC符号復号装置は、上述したように、基本的な構成は図 9に示す上記実施の形態 4と同様である。つまり、受信情報力 受信 LLRを算出する 受信 LLR算出部 2と復号コア部 3とから構成され、復号コア部 3により受信信号に対し て除算付き補正型の Min— Sumアルゴリズムに従った行処理と列処理による復号が 実行される。
[0146] 復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7及び復号 結果判定部 8から構成される。途中結果保持部 4は、上記実施の形態 1で説明したよ うに、行処理部 5及び列処理部 6による復号の途中結果を保持する。行処理部 5では 、上記式(17)を用いた行処理を行い、列処理部 6は、上記式(16)の関係に対し、上 記式 (4)及び式(5)を用いた列処理を行う。
[0147] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、列処理部 6が求めた事後値の硬判定から上記式 (6)により復号結果 の復号系列を算出し、パリティ検査を行って上記式 (7)の条件から復号結果の正誤 を判定する。
[0148] 図 13は、実施の形態 5による LDPC符号復号装置の行処理部の構成を示すブロッ ク図である。本実施の形態による行処理部 5は、複数の補正演算部 12と除算部 13か ら構成される。補正演算部 12は、図 10で示したものと同様に、入力された 2値の絶対 値の大小比較、補正項の算出及び補正を行い、補正された値と 2値の符号(士)との 積を算出する。行処理部 5において、複数の補正演算部 12が複数段に接続している 。また、図に示すように、下段の補正演算部 12は、入力 2値の一方として上段の補正 演算部 12の算出結果を入力する。各補正演算部 12による処理は下記の通りである
[0149] 補正演算部 12は、 2値 a, bの絶対値を入力すると、 δ = 0. 69—( | | a | — | b
I I ) > > 2を計算する(ln (2)〜0. 69)。そして、 | a | < | b |であれば、 sign (a) X sign (b) X ( I a I - δ )を出力する。また、 I a I < I b I以外であれば、 sign (a) X sign (b) X ( I b I — δ )を出力する。なお、 sign (a)は aの符号(士)を示している。
[0150] 除算部 13では、上述した補正演算部 12による演算結果を定数 a (Normalization F actor)で除算する。つまり、除算部 13は、入力値 cに対し、 cZ aを計算して出力する 。このように、行処理部 5において、補正演算部 12は、途中結果保持部 4から行処理 を行う該当ビットの LLRを入力し、それぞれの大小比較と符号(士)の積及び補正項 による補正を行い、除算部 13は、補正演算部 12が算出した値を定数 αで除算した 後、列処理部 6へ受け渡す。
[0151] 次に動作について説明する。
本実施の形態 5による LDPC符号復号装置の基本的な動作の流れは、上記実施 の形態 4における図 11のフローチャートと同様である。よって、図 11に沿って動作を 説明し、併せて上記実施の形態 4と異なる動作について説明する。
[0152] 先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (°)(: =F )として途中結果 m,n n 保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す る。
[0153] 次に、ステップ ST4aにおいて、繰り返し回数 i= 1から i=最終復号回(最大繰り返し 回数 I )まで行処理部 5及び列処理部 6による繰り返し復号処理であるステップ 1と、 max
復号結果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し実行する
[0154] 繰り返し i回目の復号演算を例に説明する。
先ず、ステップ 1において、行処理部 5は、復号したい LDPC符号の検査行列 H (= [H ])に対して繰り返し i回目の復号演算における行処理を行う。具体的には、上記 m,n
式( 11 )の関係に従って 1列目力 N列目までの列に 1を持つ行の行処理を上記式( 17)を用いて行 ヽ、処理結果を途中結果保持部 4に保持させる。
[0155] ステップ 1において、行処理部 5による行処理が終了すると、列処理部 6は、復号し たい LDPC符号の検査行列 Hに対して繰り返し i回目の復号演算における列処理を 行う。具体的には、上記式(16)の関係に従って 1列目力 N列目までの列処理を行 い、処理結果を途中結果保持部 4に保持させる。
[0156] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z①を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が 、ノリティ検査の結果が NGであるならば、繰り返し回数 iを 1増やして、続いてステツ プ 1の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満 たせば、後述するステップ 3の処理に移行させる。
[0157] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I
maxとなるまで、ステップ 1の処理を繰 り返すように行処理部 5及び列処理部 6を制御する。
[0158] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0159] 図 14は、従来の Sum— Productアルゴリズムに従う LDPC符号復号装置と、従来 の Normalized BPアルゴリズムに従う LDPC符号復号装置と、実施の形態 5による LDPC符号復号装置とにおける、ビット誤り率とこのビット誤り率での信号対雑音比( EbZNo)との関係をプロットしたグラフである。図において、プロット間を破線で繋い だ方が従来の Sum— Productアルゴリズムによるものであり、プロット間を一点破線 で繋いだ方が従来の Normalized BPアルゴリズムによるものであり、実線でプロット 間を繋いだものが本実施の形態 5によるものである。
[0160] また、図 14において、 LDPC符号は、レギュラー LDPC符号、符号長 8000、符号 化率 1Z2、列重み 3、行重み 6であり、最大繰り返し回数 I 力 100回である。通信路 max
は、 AWGN (Additive White Gaussian Noise ;加法性白色ガウス雑音)通信路を想定 しており、変調方式は BPSK (Binary Phase Shift Keying)としている。また、 Normali zed BPアルゴリズムにおいて、因子 a (Normalization Factor)を α = 1. 25とした場 合の復号性能を示している。
[0161] 従来の Sum— Productアルゴリズム及び従来の Normalized BPアルゴリズムで は、それぞれ上記式(2)及び上記式(9)に従って、繰り返し復号の任意の 1回で符 号ィ匕信号に対して全ての行処理を終えてから、当該符号ィ匕信号の全てのビットに対 する列処理が行われる。
[0162] これに対して、本実施の形態 5による LDPC符号復号装置 1では、上記実施の形態 4で示した補正型の Min— Sumアルゴリズムにおける行処理結果を定数 aで除算し た値を用いて列処理を行う除算付き補正型の Min— Sumアルゴリズムに従って、受 信信号に対する行処理に対して全ての行処理を終えてから、当該符号化信号の全 てのビットに対する列処理が行う。この補正により、図 14に示すように、本実施の形態 5では、従来の Normalized BPと比較して格段に復号性能が向上しており、また従 来の Sum— Productアルゴリズムとほぼ同様な復号性能を実現できているのがわか る。
[0163] 以上のように、この実施の形態 5によれば、受信情報の減算及びビットシフト演算の みで算出できる補正項による補正を行う補正型の Min— Sumアルゴリズムにおける 行処理結果を定数で除算した値を用いて列処理を行う除算付き補正型の Min— Su mアルゴリズムに従って復号処理を実行するので、従来の Sum— Productアルゴリ ズムで算出される LLRの大きさの差を従来の Normalized BPアルゴリズムのように 因子 α (Normalization Factor)で調整するだけでなぐ上記実施の形態 4で示した補 正型の Min - Sumアルゴリズムに対してさらに補正を行うことにより、従来の Normali zed BPアルゴリズムよりも格段に復号性能を向上させることができる。
[0164] また、本実施の形態 5による Min— Sumアルゴリズムに対する補正項は、受信情報 から算出するので、従来の補正型アルゴリズムのように補正項テーブルを保持する必 要がない。さらに、受信情報に基づく補正項を算出するための計算は、減算と 1ビット シフト演算のみで実行することが可能であり、実施の形態 5による LDPC符号復号装 置 1を簡易なハードウェア構成で実現することができる。
[0165] 実施の形態 6.
本実施の形態 6では、上記実施の形態 4で説明した補正型の Min— Sumアルゴリ ズムにおける行処理結果力 定数で減算した値を用いて列処理を行う減算付き補正 型の Min— Sumアルゴリズムを復号アルゴリズムとして実行するものである。
[0166] 本実施の形態 6による LDPC符号復号装置は、図 9に示した上記実施の形態 4によ る LDPC符号復号装置と基本的に同様な構成を有しているが、減算付き補正型の M in— Sumアルゴリズムの実行のために行処理部 5の構成及びその処理内容が異な る。
[0167] 具体的に説明すると、本実施の形態 6における行処理部 5では、上記式(11)に対 し、上記実施の形態 4における行処理で用いた上記式(12)の代わりに、下記式(18 )の演算を実行する。なお、下記式(18)中の各パラメータは、上記式(13)〜上記式 (15)に従うものとする。また、他の処理については、上記実施の形態 4と同様であり、 記号は前記の通りである。
[数 11]
Figure imgf000036_0001
ε{ - sign(p)- MAX ( I― β,Ο) ■ · · ( 1 8 )
[0168] ここで、 Min— Sumアルゴリズムに対する補正項となる δは、 Sum— Productアル ゴリズムの更新式力 級数展開して得ることのできる近似項であり、入力する 2値の絶 対値の差と 2による除算、定数 Cからの減算のみで算出することができる。
[0169] なお、定数 Cについては、 Sum— Productアルゴリズムの更新式からの近似計算 で得られる In (2)が 1例であるが、適切な値を設定することで、復号性能を向上させる こともできる。さらに、 2による除算については、ハードウェアなど 2進数で表現された 系にお 、ては、 1ビットのビットシフト演算で可能である。
[0170] 減算定数 j8は、 Off set BPアルゴリズムにおける Off set Factorと同様な効果を 持ち、上記実施の形態 4による補正型の Min— Sumアルゴリズムの行処理で算出さ れる LLRの大きさを、 Sum - Productアルゴリズムで算出される LLRの大きさと同程 度に調整することで、復号性能を向上させる効果を持つ。なお、本実施の形態 6によ る減算付き補正型の Min— Sumアルゴリズムにおける減算定数 j8は、 Offset BP アルゴリズムと同様に Offset Factorと呼ぶことにする。
[0171] 本実施の形態 6による LDPC符号復号装置は、上述したように、基本的な構成は図 9に示す上記実施の形態 4と同様である。つまり、受信情報力 受信 LLRを算出する 受信 LLR算出部 2と復号コア部 3とから構成され、復号コア部 3により受信信号に対し て減算付き補正型の Min— Sumアルゴリズムに従った行処理と列処理による復号が 実行される。
[0172] 復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7及び復号 結果判定部 8から構成される。途中結果保持部 4は、上記実施の形態 1で説明したよ うに、行処理部 5及び列処理部 6による復号の途中結果を保持する。行処理部 5では 、上記式(18)を用いた行処理を行い、列処理部 6は、上記式(16)の関係に対し、上 記式 (4)及び式(5)を用いた列処理を行う。
[0173] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、列処理部 6が求めた事後値の硬判定から上記式 (6)により復号結果 の復号系列を算出し、パリティ検査を行って上記式 (7)の条件から復号結果の正誤 を判定する。
[0174] 図 15は、実施の形態 6による LDPC符号復号装置の行処理部の構成を示すブロッ ク図である。本実施の形態による行処理部 5は、複数の補正演算部 12と減算部 14か ら構成される。補正演算部 12は、図 10で示したものと同様に、入力された 2値の絶対 値の大小比較、補正項の算出及び補正を行い、補正された値と 2値の符号(士)との 積を算出する。行処理部 5において、複数の補正演算部 12が複数段に接続している 。また、図に示すように、下段の補正演算部 12は、入力 2値の一方として上段の補正 演算部 12の算出結果を入力する。各補正演算部 12による処理は下記の通りである
[0175] 補正演算部 12は、 2値 a, bの絶対値を入力すると、 δ = 0. 69—( | | a | | b
I I ) > > 2を計算する(ln (2)〜0. 69)。そして、 | a | < | b |であれば、 sign (a) X sign (b) X ( I a I - δ )を出力する。また、 I a I < I b I以外であれば、 sign (a) X sign (b) X ( I b I δ )を出力する。なお、 sign (a)は aの符号(士)を示している。
[0176] 減算部 14では、上述した補正演算部 12による演算結果を定数 β (Offset Factor) で減算する。つまり、減算部 14は、入力値 cに対し (c— |8 )を計算して、計算結果が 負でなければ (c )を出力し、負であれば 0を出力する。このように、行処理部 5に おいて、補正演算部 12は、途中結果保持部 4から行処理を行う該当ビットの LLRを 入力し、それぞれの大小比較と符号(士)の積及び補正項による補正を行い、減算部 14は、補正演算部 12が算出した値を定数 で減算し、その結果に応じて (c— |8 ) 又は 0を列処理部 6へ受け渡す。
[0177] 次に動作について説明する。
本実施の形態 6による LDPC符号復号装置の基本的な動作の流れは、上記実施 の形態 4における図 11のフローチャートと同様である。よって、図 11に沿って動作を 説明し、併せて上記実施の形態 4と異なる動作について説明する。
[0178] 先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (Q) ( : =F )として途中結果 m,n n
保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す る。
[0179] 次に、ステップ ST4aにおいて、繰り返し回数 i= 1から i=最終復号回(最大繰り返し 回数 I )まで行処理部 5及び列処理部 6による繰り返し復号処理であるステップ 1と、 max
復号結果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し実行する [0180] 繰り返し i回目の復号演算を例に説明する。
先ず、ステップ 1において、行処理部 5は、復号したい LDPC符号の検査行列 H (= [H ])に対して繰り返し i回目の復号演算における行処理を行う。具体的には、上記 m,n
式( 11 )の関係に従って 1列目力 N列目までの列に 1を持つ行の行処理を上記式( 18)を用いて行 ヽ、処理結果を途中結果保持部 4に保持させる。
[0181] ステップ 1において、行処理部 5による行処理が終了すると、列処理部 6は、復号し たい LDPC符号の検査行列 Hに対して繰り返し i回目の復号演算における列処理を 行う。具体的には、上記式(16)の関係に従って 1列目力 N列目までの列処理を行 い、処理結果を途中結果保持部 4に保持させる。
[0182] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z①を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が 、ノリティ検査の結果が NGであるならば、繰り返し回数 iを 1増やして、続いてステツ プ 1の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満 たせば、後述するステップ 3の処理に移行させる。
[0183] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I
maxとなるまで、ステップ 1の処理を繰 り返すように行処理部 5及び列処理部 6を制御する。
[0184] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0185] 図 16は、従来の Sum— Productアルゴリズムに従う LDPC符号復号装置と、従来 の Offset BPアルゴリズムに従う LDPC符号復号装置と、実施の形態 6による LDP C符号復号装置とにおける、ビット誤り率とこのビット誤り率での信号対雑音比 (EbZ No)との関係をプロットしたグラフである。図において、プロット間を破線で繋いだ方 が従来の Sum— Productアルゴリズムによるものであり、プロット間を一点破線で繋 いだ方が従来の Offset BPアルゴリズムによるものであり、実線でプロット間を繋い だものが本実施の形態 5によるものである。
[0186] また、図 16において、 LDPC符号は、レギュラー LDPC符号、符号長 8000、符号 化率 1Z2、列重み 3、行重み 6であり、最大繰り返し回数 I 力 100回である。通信路 max
は、 AWGN (Additive White Gaussian Noise ;加法性白色ガウス雑音)通信路を想定 しており、変調方式は BPSK(Binary Phase Shift Keying)としている。また、 Offset BPアルゴリズムにおいて、因子 (Offset Factor)を j8 =0. 15とした場合の復号性 能を示している。
[0187] 従来の Sum— Productアルゴリズム及び従来の Off set BPアルゴリズムでは、そ れぞれ上記式(2)及び上記式(10)に従って、繰り返し復号の任意の 1回で符号ィ匕 信号に対して全ての行処理を終えてから、当該符号化信号の全てのビットに対する 列処理が行われる。
[0188] これに対して、本実施の形態 6による LDPC符号復号装置 1では、上記実施の形態 4で示した補正型の Min— Sumアルゴリズムにおける行処理結果を定数 βで減算し た値を用いて列処理を行う減算付き補正型の Min— Sumアルゴリズムに従って、受 信信号に対する行処理に対して全ての行処理を終えてから、当該符号化信号の全 てのビットに対する列処理が行う。この補正により、図 16に示すように、本実施の形態 6では、従来の Offset BPと比較して格段に復号性能が向上しており、また従来の S um— Productアルゴリズムとほぼ同様な復号性能を実現できているのがわ力る。
[0189] 以上のように、この実施の形態 6によれば、受信情報の減算及びビットシフト演算の みで算出できる補正項による補正を行う補正型の Min— Sumアルゴリズムにおける 行処理結果を定数で減算した値を用いて列処理を行う減算付き補正型の Min— Su mアルゴリズムに従って復号処理を実行するので、従来の Sum— Productアルゴリ ズムで算出される LLRの大きさの差を従来の Off set BPアルゴリズムのように因子 β (Offset Factor)で調整するだけでなぐ上記実施の形態 4で示した補正型の Min — Sumアルゴリズムに対してさらに補正を行うことにより、従来の Offset BPアルゴリ ズムよりも格段に復号性能を向上させることができる。
[0190] また、本実施の形態 6による Min— Sumアルゴリズムに対する補正項は、受信情報 から算出するので、従来の補正型アルゴリズムのように補正項テーブルを保持する必 要がない。さらに、受信情報に基づく補正項を算出するための計算は、減算と 1ビット シフト演算のみで実行することが可能であり、実施の形態 6による LDPC符号復号装 置 1を簡易なハードウェア構成で実現することができる。
[0191] 実施の形態 7.
この実施の形態 7では、受信信号に対する行処理と列処理による確率情報の算出 及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理に ぉ 、て上記実施の形態 4で説明した補正型の Min— Sumアルゴリズムを行うもので ある。
[0192] 本実施の形態 7による LDPC符号復号装置は、図 9に示した上記実施の形態 4によ る LDPC符号復号装置と基本的に同様な構成を有して 、るが、補正型の Min— Su mアルゴリズムにおける受信信号に対する行処理と列処理による確率情報の算出及 び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行う点が異なる。
[0193] 具体的に説明すると、本実施の形態 7における行処理部 5では、上記式(1)に対し 、上記実施の形態 4における行処理で用いた上記式(12)の代わりに、下記式(19) の演算を実行する。なお、下記式(19)中の各パラメータは、下記式(20)、上記式(1 4)、 (15)に従うものとする。また、他の処理については、上記実施の形態 4と同様で あり、記号は前記の通りである。
[数 12] ΓΤ signal,,)■ Π · · ' ( I 9 )
Ά' / ,) Ί? )
Figure imgf000041_0001
- - * ( 2 0 )
[0194] なお、上記式(15)において、 Min— Sumアルゴリズムに対する補正項となる δに つ!、ては、 Sum— Productアルゴリズムの更新式力も級数展開して得ることのできる 近似項であり、入力する 2値の絶対値の差と 2による除算、定数 Cからの減算のみで 算出することができる。
[0195] また、定数 Cについては、 Sum— Productアルゴリズムの更新式からの近似計算で 得られる ln (2)が 1例であるが、適切な値を設定することで、復号性能を向上させるこ とも可能である。さらに 2による除算については、ハードウェアなど 2進数で表現された 系にお 、ては、 1ビットのビットシフト演算で可能である。
[0196] 本実施の形態 7による LDPC符号復号装置は、上述したように、基本的な構成は図 9に示す上記実施の形態 4と同様である。つまり、受信情報力 受信 LLRを算出する 受信 LLR算出部 2と復号コア部 3とから構成され、復号コア部 3により受信信号に対し て補正型の Min— Sumアルゴリズムに従った行処理と列処理による復号が実行され る。
[0197] 復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7及び復号 結果判定部 8から構成される。途中結果保持部 4は、上記実施の形態 1で説明したよ うに、行処理部 5及び列処理部 6による復号の途中結果を保持する。行処理部 5では 、上記式(1)の関係に対し、上記式(19)を用いた行処理を行い、列処理部 6は、上 記式(1)の関係に対し、上記式 (4)及び式(5)を用いた列処理を行う。
[0198] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、列処理部 6が求めた事後値の硬判定から上記式 (6)により復号結果 の復号系列を算出し、パリティ検査を行って上記式 (7)の条件から復号結果の正誤 を判定する。
[0199] また、本実施の形態 7による行処理部 5は、上述したように、基本的な構成は図 10 に示す上記実施の形態 4と同様である。つまり、補正演算部 12が、入力された 2値の 絶対値の大小比較、補正項の算出及びこれに基づく補正を行い、補正された値と 2 値の符号(士)との積を算出する。ここで、行処理部 5は、複数の補正演算部 12を複 数段に接続して構成されており、下段の補正演算部 12における入力 2値の一方とし て上段の補正演算部 12の算出結果が入力される。各補正演算部 12による処理は下 記の通りである。
[0200] 補正演算部 12が 2値 a, bの絶対値を入力した場合、先ず、 δ =0. 69— ( | | a |
I b I I ) > > 2を計算する(ln (2)〜0. 69)。そして、 | a |く | b |であれば、 si gn (a) X sign (b) X ( | a | — δ )を出力する。また、 | a | < | b |以外であれば、 si gn (a) X sign (b) X ( | b | — δ )を出力する。なお、 sign (a)は aの符号(士)を示し ている。行処理部 5では、途中結果保持部 4から行処理を行う該当ビットの LLRを入 力し、補正演算部 12がそれぞれの大小比較と補正、符号(士)の積を算出した値を 列処理部 6へ受け渡す処理を行う。
[0201] このように、本実施の形態 7による LDPC符号復号装置は、受信信号に対する行処 理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビ ットずつ行う Shuffled BPアルゴリズムを基にして、その各行処理において上記式(
2)及び上記式(3)を用いずに、上記式( 19)を利用する。
[0202] 次に動作について説明する。
本実施の形態 7による LDPC符号復号装置の基本的な動作の流れは、上記実施 の形態 1における図 3のフローチャートと同様である。よって、図 3に沿って動作を説 明する。
[0203] 先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (°)(: =F )として途中結果
m,n n
保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す る。
[0204] 次に、ステップ ST4において、繰り返し回数 i= lから i=最終復号回(最大繰り返し 回数 I )まで行処理部 5及び列処理部 6による繰り返し復号処理であるステップ 1と、 max
復号結果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し実行する
[0205] 繰り返し i回目の復号演算を例に説明する。
先ず、復号したい LDPC符号の検査行列 H ( = [H ])に対して、上記式(1)におい
m,n
て g= 1のとき、行処理部 5は、 1列目力 N列目までの列に 1を持つ行の行処理を上
g
記式(19)に従って行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、同様 に 1列目力も N列目までの列処理を行い、処理結果を途中結果保持部 4に保持させ
g
る。
[0206] 次に、上記式(1)において g = 2のとき、行処理部 5は、(N + 1)列目から 2N列目
g g までの列に 1を持つ行の行処理を上記式(19)に従って行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、同様に(N + 1)列目力 2N列目までの列処理を
g g
行い、処理結果を途中結果保持部 4に保持させる。
[0207] 続いて、 g = 3以降の処理を逐次実行し、その都度、行処理部 5による処理結果が 列処理部 6に受け渡され、列処理部 6の処理結果が途中結果保持部 4に保持される
[0208] 最後に、上記式(1)において g = Gのとき、行処理部 5は、(N— N )列目から N列目
g
までの列に 1を持つ行の行処理を上記式(19)に従って行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、同様に(N—N )列目力 N列目までの列処理を行
g
い、処理結果を途中結果保持部 4に保持させる。
[0209] 上述した処理において、行処理部 5が上記式(19)に従うことで、 g= l以降の処理 では、繰り返し i回目にて既に更新された LLRを持つ列に関しては、受信 LLRではな く更新された LLRを用いて行処理が実行される。
[0210] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z①を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が
、ノリティ検査の結果が NGであるならば、繰り返し回数 iを 1増やし、続いてステップ 1 の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満た せば、後述するステップ 3の処理に移行させる。
[0211] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I となるまで、上記式 (8)に基づぐ
max
ステップ 1及びステップ 2の処理を繰り返すように行処理部 5及び列処理部 6を制御す る。
[0212] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0213] 以上のように、この実施の形態 7によれば、受信信号に対する行処理と列処理によ る確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行うと 共に、その行処理にぉ 、て上記実施の形態 4で示した補正型の Min— Sumアルゴリ ズムに従って処理を行うので、確率伝搬が効率的に行われることになり、復号演算の 収束が速くなり繰り返し回数を削減することができる。
[0214] また、 Sum— Productアルゴリズムの近似に基づいて受信情報力も補正を行う補 正型の Min— Sumアルゴリズムを基本アルゴリズムとしたことで、従来の Shuffled BPアルゴリズムよりも計算コストを削減しつつ、高 、復号性能を得ることができる。
[0215] 実施の形態 8.
この実施の形態 8による LDPC符号復号装置では、受信信号に対する行処理と列 処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットず つ行うと共に、その行処理にぉ 、て上記実施の形態 5で示した除算付き補正型の Mi n— Sumアルゴリズムを実行するものである。
[0216] 本実施の形態 8による LDPC符号復号装置は、図 9に示した上記実施の形態 4によ る LDPC符号復号装置と基本的に同様な構成を有しているが、除算付き補正型の M in— Sumアルゴリズムの実行のために行処理部 5の構成及びその処理内容が異な る。
[0217] 具体的に説明すると、本実施の形態 8における行処理部 5では、上記式(1)に対し て下記式 (21)の演算を実行する。つまり、受信信号に対する行処理と列処理による 確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行う、 Sh uffled BPアルゴリズムのステップ 1の行処理において、上記実施の形態 5で示した 除算付き補正型の Min— Sumアルゴリズムで使用する更新式である下記式( 21 )に より更新演算を行う。なお、下記式(21)中の各パラメータは、下記式(20)、上記式( 14)、 (15)に従うものとする。また、他の処理については、上記実施の形態 4と同様 であり、記号は前記の通りである。
[数 13]
4 , =丄. Π sign^)"') . Π ) / ' ' * ( 2 1 )
"'Ά ' I
[0218] 上記式(15)中の Min— Sumアルゴリズムに対する補正項となる δは、 Sum— Pro ductアルゴリズムの更新式力も級数展開して得ることのできる近似項であり、入力す る 2値の絶対値の差と 2による除算、定数 C力もの減算のみで算出することができる。
[0219] なお、定数 Cについては、 Sum— Productアルゴリズムの更新式からの近似計算 で得られる In (2)が 1例であるが、適切な値を設定することで、復号性能を向上させる こともできる。さらに、 2による除算については、ハードウェアなど 2進数で表現された 系にお 、ては、 1ビットのビットシフト演算で可能である。
[0220] 除算定数 αは、 Normalized BPアルゴリズムにおける Normalization Factorと 同様な効果を持ち、受信信号に対する行処理と列処理による確率情報の算出及び 更新を 1ビットずつ若しくは予め定めた複数ビットずつ行う、除算付き補正型 Min— S umアルゴリズムの行処理で算出される LLRの大きさを、 Sum— Productァルゴリズ ムで算出される LLRの大きさと同程度に調整することで、復号性能を向上させる効果 を持つ。
[0221] 本実施の形態 8による LDPC符号復号装置は、上述したように、基本的な構成は図 9に示す上記実施の形態 4と同様である。つまり、受信情報力 受信 LLRを算出する 受信 LLR算出部 2と復号コア部 3とから構成され、復号コア部 3により受信信号に対 する行処理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定め た複数ビットずつ行う、除算付き補正型の Min— Sumアルゴリズムによる復号を実行 する。
[0222] 復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7及び復号 結果判定部 8から構成される。途中結果保持部 4は、上記実施の形態 1で説明したよ うに、行処理部 5及び列処理部 6による復号の途中結果を保持する。行処理部 5では 、上記式(1)の関係に従って上記式(21)を用いた行処理を行い、列処理部 6は、上 述した Shuffled BPアルゴリズムのステップ 1と同様に上記式 (4)及び式(5)を用い た列処理を行う。
[0223] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、上述した Shuffled BPアルゴリズムのステップ 1と同様に列処理部 6 が求めた事後値の硬判定から上記式 (6)により復号結果の復号系列を算出し、パリ ティ検査を行って上記式(7)の条件から復号結果の正誤を判定する。
[0224] また、本実施の形態 8による行処理部 5は、基本的な構成は図 13に示す上記実施 の形態 5と同様である。つまり、複数の補正演算部 12と除算部 13から構成される。こ こで、補正演算部 12は、入力された 2値の絶対値の大小比較、補正項の算出及びこ れに基づく補正を行い、補正された値と 2値の符号(士)との積を算出する。また、行 処理部 5は、複数の補正演算部 12を複数段に接続して構成されており、下段の補正 演算部 12における入力 2値の一方として上段の補正演算部 12の算出結果が入力さ れる。各補正演算部 12による処理は下記の通りである。
[0225] 補正演算部 12が 2値 a, bの絶対値を入力した場合、先ず、 δ =0. 69— ( | | a |
I b I I ) > > 2を計算する(ln (2)〜0. 69)。そして、 | a |く | b |であれば、 si gn (a) X sign (b) X ( | a | — δ )を出力する。また、 | a | < | b |以外であれば、 si gn (a) X sign (b) X ( | b | — δ )を出力する。なお、 sign (a)は aの符号(士)を示し ている。
[0226] 除算部 13では、上述した補正演算部 12による演算結果を定数 a (Normalization F actor)で除算する。つまり、除算部 13は、入力値 cに対し、 cZ aを計算して出力する 。このように、行処理部 5において、補正演算部 12は、途中結果保持部 4から行処理 を行う該当ビットの LLRを入力し、それぞれの大小比較と符号(士)の積及び補正項 による補正を行い、除算部 13は、補正演算部 12が算出した値を定数 αで除算した 後、列処理部 6へ受け渡す。
[0227] このように、本実施の形態 8による LDPC符号復号装置は、受信信号に対する行処 理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビ ットずつ行う Shuffled BPアルゴリズムを基にして、その各行処理において上記式( 21)を利用する。
[0228] 次に動作について説明する。
本実施の形態 8による LDPC符号復号装置の基本的な動作の流れは、上記実施 の形態 1における図 3のフローチャートと同様である。よって、図 3に沿って動作を説 明する。
[0229] 先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (°)(: =F )として途中結果 m,n n 保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す る。
[0230] 次に、ステップ ST4において、繰り返し回数 i= lから i=最終復号回(最大繰り返し 回数 I )まで行処理部 5及び列処理部 6による繰り返し復号処理であるステップ 1と、 max
復号結果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し実行する
[0231] 繰り返し i回目の復号演算を例に説明する。
先ず、復号したい LDPC符号の検査行列 H ( = [H ])に対して、上記式(1)におい
m,n
て g= 1のとき、行処理部 5は、 1列目力 N列目までの列に 1を持つ行の行処理を上
g
記式(21)に従って行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、同様 に 1列目力も N列目までの列処理を行い、処理結果を途中結果保持部 4に保持させ
g
る。
[0232] 次に、上記式(1)において g = 2のとき、行処理部 5は、(N + 1)列目から 2N列目
g g までの列に 1を持つ行の行処理を上記式(21)に従って行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、同様に(N + 1)列目力 2N列目までの列処理を
g g
行い、処理結果を途中結果保持部 4に保持させる。
[0233] 続いて、 g = 3以降の処理を逐次実行し、その都度、行処理部 5による処理結果が 列処理部 6に受け渡され、列処理部 6の処理結果が途中結果保持部 4に保持される
[0234] 最後に、上記式(1)において g = Gのとき、行処理部 5は、(N— N )列目力 N列目
g
までの列に 1を持つ行の行処理を上記式(21)に従って行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、同様に(N—N )列目力 N列目までの列処理を行
g
い、処理結果を途中結果保持部 4に保持させる。
[0235] 上述した処理において、行処理部 5が上記式(21)に従うことで、 g= l以降の処理 では、繰り返し i回目にて既に更新された LLRを持つ列に関しては、受信 LLRではな く更新された LLRを用いて行処理が実行される。
[0236] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z①を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が 、ノ リティ検査の結果が NGであるならば、繰り返し回数 iを 1増やし、続いてステップ 1 の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満た せば、後述するステップ 3の処理に移行させる。
[0237] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I となるまで、上記式 (8)に基づぐ max
ステップ 1及びステップ 2の処理を繰り返すように行処理部 5及び列処理部 6を制御す る。
[0238] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0239] 以上のように、この実施の形態 8によれば、受信信号に対する行処理と列処理によ る確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行うと 共に、その行処理において上記実施の形態 5で示した除算付き補正型の Min— Su mアルゴリズムに従って処理を行うので、確率伝搬が効率的に行われることになり、復 号演算の収束が速くなり繰り返し回数を削減することができる。
[0240] また、 Sum— Productアルゴリズムの近似に基づいて受信情報力 補正を行う除 算付き補正型の Min— Sumアルゴリズムを基本アルゴリズムとしたことで、従来の Sh uffled BPアルゴリズムよりも計算コストを削減しつつ、高い復号性能を得ることがで きる。
[0241] 実施の形態 9.
この実施の形態 9による LDPC符号復号装置では、受信信号に対する行処理と列 処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットず つ行うと共に、その行処理にお!、て上記実施の形態 6で示した減算付き補正型の Mi n— Sumアルゴリズムを実行するものである。
[0242] 本実施の形態 9による LDPC符号復号装置は、図 9に示した上記実施の形態 4によ る LDPC符号復号装置と基本的に同様な構成を有しているが、減算付き補正型の M in— Sumアルゴリズムの実行のために行処理部 5の構成及びその処理内容が異な る。
[0243] 具体的に説明すると、本実施の形態 9における行処理部 5では、上記式(1)に対し て下記式 (22)の演算を実行する。つまり、受信信号に対する行処理と列処理による 確率情報の算出及び更新を 1ビットずつ、若しくは予め定めた複数ビットずつ行う、 S huffled BPアルゴリズムのステップ 1の行処理において、上記実施の形態 6で示し た減算付き補正型の Min— Sumアルゴリズムで使用する更新式である下記式(22) により更新演算を行う。なお、下記式(22)中の各パラメータは、下記式(20)、上記 式(14)、 (15)に従うものとする。また、他の処理については、上記実施の形態 4と同 様であり、記号は前記の通りである。
[数 14] 1 Λ
P - J] ^ ) Π si«n^メ
',}„ = sign(p) ' ΜΑΧ{{ ρ |— β, 0)
[0244] 上記式(15)中の Min— Sumアルゴリズムに対する補正項となる δは、 Sum— Pro ductアルゴリズムの更新式力も級数展開して得ることのできる近似項であり、入力す る 2値の絶対値の差と 2による除算、定数 C力もの減算のみで算出することができる。
[0245] なお、定数 Cについては、 Sum— Productアルゴリズムの更新式からの近似計算 で得られる In (2)が 1例であるが、適切な値を設定することで、復号性能を向上させる こともできる。さらに、 2による除算については、ハードウェアなど 2進数で表現された 系にお 、ては、 1ビットのビットシフト演算で可能である。
[0246] 減算定数 j8は、 Off set BPアルゴリズムにおける Off set Factor j8と同様な効果 を持ち、受信信号に対する行処理と列処理による確率情報の算出及び更新を 1ビッ トずつ若しくは予め定めた複数ビットずつ行う、減算付き補正型 Min— Sumアルゴリ ズムの行処理で算出される LLRの大きさを、 Sum— Productアルゴリズムで算出さ れる LLRの大きさと同程度に調整することで、復号性能を向上させる効果を持つ。
[0247] 本実施の形態 9による LDPC符号復号装置は、上述したように、基本的な構成は図 9に示す上記実施の形態 4と同様である。つまり、受信情報力 受信 LLRを算出する 受信 LLR算出部 2と復号コア部 3とから構成され、復号コア部 3により受信信号に対 する行処理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定め た複数ビットずつ行う、減算付き補正型の Min— Sumアルゴリズムによる復号を実行 する。
[0248] 復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7及び復号 結果判定部 8から構成される。途中結果保持部 4は、上記実施の形態 1で説明したよ うに、行処理部 5及び列処理部 6による復号の途中結果を保持する。行処理部 5では 、上記式(1)の関係に従って上記式(22)を用いた行処理を行い、列処理部 6は、上 述した Shuffled BPアルゴリズムのステップ 1と同様に上記式 (4)及び式(5)を用い た列処理を行う。
[0249] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、上述した Shuffled BPアルゴリズムのステップ 1と同様に列処理部 6 が求めた事後値の硬判定から上記式 (6)により復号結果の復号系列を算出し、パリ ティ検査を行って上記式(7)の条件から復号結果の正誤を判定する。
[0250] また、本実施の形態 9による行処理部 5は、基本的な構成は図 15に示す上記実施 の形態 6と同様である。つまり、複数の補正演算部 12と減算部 14から構成される。こ こで、補正演算部 12は、入力された 2値の絶対値の大小比較、補正項の算出及びこ れに基づく補正を行い、補正された値と 2値の符号(士)との積を算出する。また、行 処理部 5は、複数の補正演算部 12を複数段に接続して構成されており、下段の補正 演算部 12における入力 2値の一方として上段の補正演算部 12の算出結果が入力さ れる。各補正演算部 12による処理は下記の通りである。
[0251] 補正演算部 12が 2値 a, bの絶対値を入力した場合、先ず、 δ =0. 69— ( | | a |
I b I I ) > > 2を計算する(ln (2)〜0. 69)。そして、 | a |く | b |であれば、 si gn (a) X sign (b) X ( | a | — δ )を出力する。また、 | a | < | b |以外であれば、 si gn (a) X sign (b) X ( | b | — δ )を出力する。なお、 sign (a)は aの符号(士)を示し ている。行処理部 5では、途中結果保持部 4から行処理を行う該当ビットの LLRを入 力し、補正演算部 12がそれぞれの大小比較と補正、符号(士)の積を算出した値を 列処理部 6へ受け渡す処理を行う。 [0252] 減算部 14では、上述した補正演算部 12による演算結果を定数 β (Offset Factor) で除算する。つまり、減算部 14は、入力値 cに対し、(c— |8 )を計算して出力する。こ のように、行処理部 5において、補正演算部 12は、途中結果保持部 4から行処理を 行う該当ビットの LLRを入力し、それぞれの大小比較と符号(士)の積及び補正項に よる補正を行い、減算部 14は、補正演算部 12が算出した値を定数 j8で減算した後、 列処理部 6へ受け渡す。
[0253] このように、本実施の形態 9による LDPC符号復号装置は、受信信号に対する行処 理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビ ットずつ行う Shuffled BPアルゴリズムを基にして、その各行処理において上記式( 22)を利用する。
[0254] 次に動作について説明する。
本実施の形態 9による LDPC符号復号装置の基本的な動作の流れは、上記実施 の形態 1における図 3のフローチャートと同様である。よって、図 3に沿って動作を説 明する。
[0255] 先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (°) (: =F )として途中結果 m,n n
保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す る。
[0256] 次に、ステップ ST4において、繰り返し回数 i= lから i=最終復号回(最大繰り返し 回数 I )まで行処理部 5及び列処理部 6による繰り返し復号処理であるステップ 1と、 max
復号結果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し実行する
[0257] 繰り返し i回目の復号演算を例に説明する。
先ず、復号したい LDPC符号の検査行列 H ( = [H ])に対して、上記式(1)におい m,n
て g= 1のとき、行処理部 5は、 1列目力 N列目までの列に 1を持つ行の行処理を上 g
記式(22)に従って行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、同様 に 1列目力も N列目までの列処理を行い、処理結果を途中結果保持部 4に保持させ る。
[0258] 次に、上記式(1)において g = 2のとき、行処理部 5は、(N + 1)列目から 2N列目
g g までの列に 1を持つ行の行処理を上記式(22)に従って行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、同様に(N + 1)列目力 2N列目までの列処理を
g g
行い、処理結果を途中結果保持部 4に保持させる。
[0259] 続いて、 g = 3以降の処理を逐次実行し、その都度、行処理部 5による処理結果が 列処理部 6に受け渡され、列処理部 6の処理結果が途中結果保持部 4に保持される
[0260] 最後に、上記式(1)において g = Gのとき、行処理部 5は、(N— N )列目から N列目
g
までの列に 1を持つ行の行処理を上記式(22)に従って行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、同様に(N—N )列目力 N列目までの列処理を行
g
い、処理結果を途中結果保持部 4に保持させる。
[0261] 上述した処理において、行処理部 5が上記式(22)に従うことで、 g= l以降の処理 では、繰り返し i回目にて既に更新された LLRを持つ列に関しては、受信 LLRではな く更新された LLRを用いて行処理が実行される。
[0262] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z①を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が
、ノリティ検査の結果が NGであるならば、繰り返し回数 iを 1増やし、続いてステップ 1 の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満た せば、後述するステップ 3の処理に移行させる。
[0263] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I となるまで、上記式 (8)に基づぐ
max
ステップ 1及びステップ 2の処理を繰り返すように行処理部 5及び列処理部 6を制御す る。
[0264] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。 [0265] 以上のように、この実施の形態 9によれば、受信信号に対する行処理と列処理によ る確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行うと 共に、その行処理において上記実施の形態 6で示した減算付き補正型の Min— Su mアルゴリズムに従って処理を行うので、確率伝搬が効率的に行われることになり、復 号演算の収束が速くなり繰り返し回数を削減することができる。
[0266] また、 Sum— Productアルゴリズムの近似に基づいて受信情報力 補正を行う除 算付き補正型の Min— Sumアルゴリズムを基本アルゴリズムとしたことで、従来の Sh uffled BPアルゴリズムよりも計算コストを削減しつつ、高い復号性能を得ることがで きる。
[0267] 実施の形態 10.
この実施の形態 10は、検査行列の全ての行に対して一定の因子 α (Normalization Factor)は持たず、行ごとに決定した因子 a (Normalization Factor)を持つ復号ァ m
ルゴリズムに従 、復号を行うものである。
[0268] なお、本実施の形態 10は、通常の Normalized BPアルゴリズム、上記実施の形 態 5で示した除算付き補正型 Min— Sumアルゴリズム、また、これらアルゴリズムにお いて受信信号に対する行処理と列処理による確率情報の算出及び更新を 1ビットず つ若しくは予め定めた複数ビットずつ行う復号アルゴリズムなど、因子 α (Normalizati on Factor)を有する全ての復号アルゴリズムにおいて適用可能である。
[0269] ここでは、従来の Min— Sumアルゴリズムと同様に、繰り返し復号の任意の 1回で 符号化信号に対して全ての行処理を終えてから当該符号化信号の全てのビットに対 する列処理を行う、 Normalized BPアルゴリズムにおいて、行ごとの因子 a (Norm m alization Factor)を適用した LDPC符号復号装置を例に挙げて説明する。
[0270] 本実施の形態 10による LDPC符号復号装置は、図 9に示した上記実施の形態 4に よる LDPC符号復号装置と基本的に同様な構成を有しているが、行ごとの因子 α ( m
Normalization Factor)を用いた Normalized BPアルゴリズムを実行するために行 処理部 5の構成及びその処理内容が異なる。具体的に説明すると、本実施の形態 1 0における行処理部 5では、上記式(11)に対し、上記実施の形態 4における行処理 で用いた上記式(12)の代わりに、下記式(23)の演算を実行する。なお、下記式(2 3)中の各パラメータは、上記実施の形態 4と同様であり、記号は前記の通りである。 因子 α は、 m行目の Normalization Factorを示して 、る。
m
[数 15]
Figure imgf000055_0001
[0271] 図 17は、変調方式を 4ΡΑΜ Gray Mappingとした場合の受信値の分布を示す グラフである。図において、黒塗りのプロットで示す各変調信号点に対応する 2ビット のデジタル符号 00, 01, 11, 10のうち、ビット値 0, 0, 1, l^1-MSB (Most Signifi cant Bit)の 0と 1の境界は、 0 (図中、実線の部分)のみである力 ビット値 0, 1, 1, 0 を示す LSB (Least Significant Bit)の 0と 1の境界は 2と 2 (図中、破線の部分)の 2 箇所であり、 LSBの方がビットの反転が起こりやすいことがわかる。
[0272] このように、 MSBと LSBでは、ビット誤り率に違いがある。また、 Sum— Productァ ルゴリズムと Min— Sumアルゴリズムの行処理結果の平均値の比で表される α は、 m 各行で 1を持つビットの誤り率に依存する。これにより、変調方式 4PAMの場合、因 子 α は、各行で 1を持つビットの MSBである個数、 LSBである個数に依存すること m
になる。
[0273] そこで、本実施の形態では、 α について各行に対応した値を予め用意する。なお m
、ここでは 4PAMを例に挙げた力 他に受信信号の各ビットにおけるビット誤り率に 違いの生じる多値変調方式でも同様である。
[0274] また、イレギュラー LDPC符号の場合、行重みが一定ではない。このため、 Sum— Productアルゴリズムと Min— Sumアルゴリズムの行処理結果の平均値の比である a は行重みに依存する。これにより、本実施の形態では、 α について各行の行重 m m
みに対応した値を用意する。なお、 a は、シミュレーション若しくは密度発展法を用 m
いて事前に算出しておく。
[0275] 本実施の形態 10による LDPC符号復号装置は、上述したように、基本的な構成は 図 9に示す上記実施の形態 4と同様である。つまり、受信情報力 受信 LLRを算出す る受信 LLR算出部 2と復号コア部 3とから構成され、復号コア部 3により受信信号に対 して行ごとの因子 a (Normalization Factor)を用いた Normalized BPアルゴリズム m
に従った行処理と列処理による復号が実行される。
[0276] 復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7及び復号 結果判定部 8から構成される。途中結果保持部 4は、上記実施の形態 1で説明したよ うに、行処理部 5及び列処理部 6による復号の途中結果を保持する。行処理部 5では 、上記式(23)を用いた行処理を行い、列処理部 6は、上記式(16)の関係に対し、上 記式 (4)及び式(5)を用いた列処理を行う。
[0277] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、列処理部 6が求めた事後値の硬判定から上記式 (6)により復号結果 の復号系列を算出し、パリティ検査を行って上記式 (7)の条件から復号結果の正誤 を判定する。
[0278] 図 18は、実施の形態 10による LDPC符号復号装置の行処理部の構成を示すプロ ック図である。本実施の形態による行処理部 5は、複数の比較部 9、除算部 10a及び 除算定数選択部 15から構成される。比較部 9は、図 2で示したものと同様に、入力さ れた 2値の絶対値の大小比較を行い、小さい方と 2値の符号(士)との積を算出する。 行処理部 5において、複数の比較部 9が複数段に接続している。また、図に示すよう に、下段の比較部 9は、入力 2値の一方として上段の比較部 9の算出結果を入力する 。各比較部 9による処理は下記の通りである。
[0279] 比較部 9が 2値 a, bの絶対値を入力した場合、 | a | < | b |であれば、 sign (a) X sign (b) X I a Iを出力する。また、 I a I < I b I以外であれば、 sign (a) X sign (b ) X I b Iを出力する。なお、 sign (a)は aの符号(士)を示している。
[0280] 除算部 10aでは、上述した比較部 9による演算結果を、除算定数選択部 15からの 定数 a (Normalization Factor)で除算する。つまり、除算部 10aは、入力値 cに対し m
、 c/ a を計算して出力する。このように、行処理部 5において、比較部 9は、途中結 m
果保持部 4から行処理を行う該当ビットの LLRを入力し、それぞれの大小比較と符号 (士)の積を求め、除算部 10aは、比較部 9が算出した値を定数 α で除算した後、列 m
処理部 6へ受け渡す。
[0281] 除算定数選択部 15では、各行の a 値を予め記憶しており、制御部 7より通信路及 び符号構成の情報を受け、この情報中の処理対象の行番号 mを入力して各行の a m を決定し、除算部 10aへ受け渡す。
[0282] このように、本実施の形態 10による行処理部 5では、途中結果保持部 4から行処理 を行う該当ビットの LLRを入力し、それぞれの大小比較と符号(士)の積を比較部 9で 求め、除算部 10aが、比較部 9により得られた値を除算定数選択部 15が選択した α m で除算した後、列処理部 6へ受け渡す処理を行う。
[0283] 次に動作について説明する。
本実施の形態 10による LDPC符号復号装置の基本的な動作の流れは、上記実施 の形態 4における図 11のフローチャートと同様である。よって、図 11に沿って動作を 説明する。
[0284] 先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (°) (: =F )として途中結果 m,n n
保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す ると共に、除算定数選択部 15に対して変調方式や行重みに関する情報を受け渡す 。この情報に基づき、除算定数選択部 15は、各行の α を決定して除算部 10aへ渡 m
す。
[0285] 次に、ステップ ST4aにおいて、繰り返し回数 i= 1から i=最終復号回(最大繰り返し 回数 I )まで行処理部 5及び列処理部 6による繰り返し復号処理であるステップ 1と、 max
復号結果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し実行する
[0286] 繰り返し i回目の復号演算を例に説明する。
先ず、ステップ 1において、行処理部 5は、復号したい LDPC符号の検査行列 H ( = [H ])に対して繰り返し i回目の復号演算における行処理を行う。具体的には、上記 m,n
式( 11 )の関係に従って 1列目力 N列目までの列に 1を持つ行の行処理を上記式( 23)を用いて行 ヽ、処理結果を途中結果保持部 4に保持させる。
[0287] ステップ 1において、行処理部 5による行処理が終了すると、列処理部 6は、復号し たい LDPC符号の検査行列 Hに対して繰り返し i回目の復号演算における列処理を 行う。具体的には、上記式(16)の関係に従って 1列目力 N列目までの列処理を行 い、処理結果を途中結果保持部 4に保持させる。
[0288] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z (i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が
、ノ リティ検査の結果が NGであるならば、繰り返し回数 iを 1増やして、続いてステツ プ 1の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満 たせば、後述するステップ 3の処理に移行させる。
[0289] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I
maxとなるまで、ステップ 1の処理を繰 り返すように行処理部 5及び列処理部 6を制御する。
[0290] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0291] 以上のように、この実施の形態 10によれば、 Normalized BPアルゴリズムにおけ る Normalization Factorを変調方式及び符号構成に応じて行ごとに設定するの で、多値変調された場合や符号カイレギュラー LDPC符号の場合などに従来の Nor malized BPアルゴリズムで復号を行うよりも、伝搬される確率情報が Sum—Produ ctアルゴリズムに近づき、復号性能を向上させることができる。
[0292] なお、上記実施の形態 10では、繰り返し復号の任意の 1回で符号ィ匕信号に対して 全ての行処理を終えてから当該符号ィ匕信号の全てのビットに対する列処理を行う、 N ormalized BPアルゴリズムにおいて、行ごとの因子 a (Normalization Factor)を適 m
用した LDPC符号復号装置を例に挙げた力 このアルゴリズムの他、上記実施の形 態 5で示した除算付き補正型の Min— Sumアルゴリズム、これらアルゴリズムにお!/ヽ て受信信号に対する行処理と列処理による確率情報の算出及び更新を 1ビットずつ 若しくは予め定めた複数ビットずつ行う復号アルゴリズムなどにぉ 、て、行ごとの因子 a を適用した LDPC符号復号装置を構成しても良い。
m
[0293] 実施の形態 11. この実施の形態 1 1は、検査行列の全ての行に対して一定の因子 j8 (Offset Factor )は持たず、行ごとに決定した因子 13 (Offset Factor)を持つ復号アルゴリズムに従 m
い復号を行うものである。
[0294] なお、本実施の形態 1 1は、通常の Offset BPアルゴリズム、上記実施の形態 6で 説明した減算付き補正型の Min— Sumアルゴリズム、また、これらアルゴリズムにお いて受信信号に対する行処理と列処理による確率情報の算出及び更新を 1ビットず つ若しくは予め定めた複数ビットずつ行う復号アルゴリズムなど、因子 (Offset Fact or)を有する全ての復号アルゴリズムにお!/、て適用可能である。
[0295] ここでは、従来の Min— Sumアルゴリズムと同様に、繰り返し復号の任意の 1回で 符号化信号に対して全ての行処理を終えてから当該符号化信号の全てのビットに対 する列処理を行う、 Offset BPアルゴリズムにおいて、行ごとの因子 j8 (Offset Fact m
or)を適用した LDPC符号復号装置を例に挙げて説明する。
[0296] 本実施の形態 1 1による LDPC符号復号装置は、図 9に示した上記実施の形態 4に よる LDPC符号復号装置と基本的に同様な構成を有しているが、行ごとの因子 j8 ( m
Offset Factor)を用いた Offset BPアルゴリズムを実行するために行処理部 5の構 成及びその処理内容が異なる。具体的に説明すると、本実施の形態 1 1における行 処理部 5では、上記式(1 1)に対し、上記実施の形態 4における行処理で用いた上記 式(12)の代わりに、下記式(24)の演算を実行する。なお、下記式(24)中の各パラ メータは、上記実施の形態 4と同様であり、記号は前記の通りである。因子 j8 は、 m m 行目の Off set Factorを示して!/、る。
[数 16] c^}
,
Figure imgf000059_0001
[0297] 例えば、変調方式を 4ΡΑΜ Gray Mappingとした場合の受信値は、上述したよ うに図 17のように分布し、 MSBと LSBとでビット誤り率に違いがある。また、 Sum— P roductアルゴリズムと Min— Sumアルゴリズムの行処理結果の平均値の差で表され る β は、各行で 1を持つビットの誤り率に依存する。これにより、変調方式 4ΡΑΜの m
場合、 β は、各行で 1を持つビットの MSBである個数、 LSBである個数に依存する m
ことになる。
[0298] そこで、本実施の形態では、 j8 について各行に対応して値を予め用意する。なお m
、ここでは 4PAMを例として挙げた力 他にビット誤り率に違いの生じる多値変調方 式でも同様である。
[0299] また、イレギュラー LDPC符号の場合、行重みが一定ではない。このため、 Sum— Productアルゴリズムと Min— Sumアルゴリズムの行処理結果の平均値の差で表さ れる j8 は、行重みに依存する。これにより、本実施の形態では、 j8 について各行の m m 行重みに対応した値を用意する。なお、 β は、シミュレーション若しくは密度発展法 m
を用いて事前に算出しておく。
[0300] 本実施の形態 11による LDPC符号復号装置は、上述したように、基本的な構成は 図 9に示す上記実施の形態 4と同様である。つまり、受信情報力 受信 LLRを算出す る受信 LLR算出部 2と復号コア部 3とから構成され、復号コア部 3により受信信号に対 して行ごとの因子 j8 (Offset Factor)を用いた Off set BPアルゴリズムに従った行処 m
理と列処理による復号が実行される。
[0301] 復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7及び復号 結果判定部 8から構成される。途中結果保持部 4は、上記実施の形態 1で説明したよ うに、行処理部 5及び列処理部 6による復号の途中結果を保持する。行処理部 5では 、上記式(24)を用いた行処理を行い、列処理部 6は、上記式(16)の関係に対し、上 記式 (4)及び式(5)を用いた列処理を行う。
[0302] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、列処理部 6が求めた事後値の硬判定から上記式 (6)により復号結果 の復号系列を算出し、パリティ検査を行って上記式 (7)の条件から復号結果の正誤 を判定する。
[0303] 図 19は、実施の形態 11による LDPC符号復号装置の行処理部の構成を示すプロ ック図である。本実施の形態による行処理部 5は、複数の比較部 9、減算部 11a及び 減算定数選択部 16から構成される。比較部 9は、図 2で示したものと同様に、入力さ れた 2値の絶対値の大小比較を行い、小さい方と 2値の符号(士)との積を算出する。 行処理部 5において、複数の比較部 9が複数段に接続している。また、図に示すよう に、下段の比較部 9は、入力 2値の一方として上段の比較部 9の算出結果を入力する 。各比較部 9による処理は下記の通りである。
[0304] 比較部 9が 2値 a, bの絶対値を入力した場合、 | a | < | b |であれば、 sign (a) X sign (b) X I a Iを出力する。また、 I a I < I b I以外であれば、 sign (a) X sign (b ) X I b Iを出力する。なお、 sign (a)は aの符号(士)を示している。
[0305] 減算部 11aでは、上述した比較部 9による演算結果を、減算定数選択部 16からの 定数 j8 (Offset Factor)で減算する。つまり、減算部 11aは、入力値 cに対し、 c— β m m を計算して出力する。このように、行処理部 5において、比較部 9は、途中結果保持 部 4から行処理を行う該当ビットの LLRを入力し、それぞれの大小比較と符号(士)の 積を求め、減算部 11aは、比較部 9が算出した値を定数 で減算した後、列処理部 m
6へ受け渡す。
[0306] 減算定数選択部 16では、各行の 13 値を予め記憶しており、制御部 7より通信路及 m
び符号構成の情報を受け、この情報中の処理対象の行番号 mを入力して各行の 13 m を決定し、減算部 11aへ受け渡す。
[0307] このように、本実施の形態 11による行処理部 5では、途中結果保持部 4から行処理 を行う該当ビットの LLRを入力し、それぞれの大小比較と符号(士)の積を比較部 9で 求め、減算部 11aが、比較部 9により得られた値を減算定数選択部 16が選択した m で減算した後、列処理部 6へ受け渡す処理を行う。
[0308] 次に動作について説明する。
本実施の形態 11による LDPC符号復号装置の基本的な動作の流れは、上記実施 の形態 4における図 11のフローチャートと同様である。よって、図 11に沿って動作を 説明する。
[0309] 先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (°)(: =F )として途中結果 m,n n
保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す ると共に、減算定数選択部 16に対して変調方式や行重みに関する情報を受け渡す 。この情報に基づき、減算定数選択部 16は、各行の 13 を決定して減算部 11aへ渡 m
す。
[0310] 次に、ステップ ST4aにおいて、繰り返し回数 i= 1から最終復号回(最大繰り返し回 数 I )まで行処理部 5及び列処理部 6による繰り返し復号処理であるステップ 1と、復 max
号結果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し実行する。
[0311] 繰り返し i回目の復号演算を例に説明する。
先ず、ステップ 1において、行処理部 5は、復号したい LDPC符号の検査行列 H (= [H ])に対して繰り返し i回目の復号演算における行処理を行う。具体的には、上記 m,n
式( 11 )の関係に従って 1列目力 N列目までの列に 1を持つ行の行処理を上記式( 24)を用いて行 ヽ、処理結果を途中結果保持部 4に保持させる。
[0312] ステップ 1において、行処理部 5による行処理が終了すると、列処理部 6は、復号し たい LDPC符号の検査行列 Hに対して繰り返し i回目の復号演算における列処理を 行う。具体的には、上記式(16)の関係に従って 1列目力 N列目までの列処理を行 い、処理結果を途中結果保持部 4に保持させる。
[0313] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z①を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が 、ノリティ検査の結果が NGであるならば、繰り返し回数 iを 1増やして、続いてステツ プ 1の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満 たせば、後述するステップ 3の処理に移行させる。
[0314] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I
maxとなるまで、ステップ 1の処理を繰 り返すように行処理部 5及び列処理部 6を制御する。
[0315] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7
max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0316] 以上のように、この実施の形態 11によれば、 Offset BPアルゴリズムにおける Offs et Factorを変調方式及び符号構成に応じて行ごとに設定するので、多値変調され た場合や符号カイレギュラー LDPC符号の場合などに従来の Off set BPァルゴリズ ムで復号を行うよりも、伝搬される確率情報が Sum— Productアルゴリズムに近づき 、復号性能を向上させることができる。
[0317] なお、上記実施の形態 11では、繰り返し復号の任意の 1回で符号ィ匕信号に対して 全ての行処理を終えてから当該符号化信号の全てのビットに対する列処理を行う、 O ffset BPアルゴリズムにおいて、行ごとの因子 j8 (Offset Factor)を適用した LDPC m
符号復号装置を例に挙げた力 このアルゴリズムの他、上記実施の形態 6で示した減 算付き補正型の Min— Sumアルゴリズム、これらアルゴリズムにお!/、て受信信号に対 する行処理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定め た複数ビットずつ行う復号アルゴリズムなどにおいて、行ごとの因子 j8 を適用した L m
DPC符号復号装置を構成しても良 、。
[0318] 実施の形態 12.
図 20は、この発明の実施の形態 12による LDPC符号復号装置の構成を示すプロ ック図である。本実施の形態 12による LDPC符号復号装置 1は、図 1に示す上記実 施の形態 1の構成と同様に、受信 LLR計算部 2及び復号コア部 3から構成される。こ こで、上記実施の形態 1とは、演算列制御部 17を備える点で異なる。演算列制御部 17は、グループ分割に基づ 、て行処理部 5及び列処理部 6による演算対象の列を 決定して、グループ分割に基づく復号処理を制御する。
[0319] 実施の形態 12による LDPC符号復号装置では、従来の Group Shuffled BPァ ルゴリズムのように、受信信号に対する行処理と列処理による確率情報の算出及び 更新を予め定めた複数ビットずつ行うものであるが、符号構成に基づいて複数ビット ごとの組み合わせであるグループに分割する。
[0320] ここで、本実施の形態における符号構成に基づくグループ分割について説明する 先ず、行処理と列処理による確率情報の算出及び更新を 1ビットずつ行う復号アル ゴリズムでは、そうでな 、アルゴリズムよりも少な 、繰り返し回数で復号を終えるのは、 算出した確率情報を即座に更新して同じ繰り返し回数における次の復号演算で利用 することで、確率情報の伝播が効率的に行われるからである。
[0321] 行処理と列処理による確率情報の算出及び更新を複数ビットずつ行う Group Sh uffled BPアルゴリズムの場合も同様である力 従来の Group Shuffled BPアル ゴリズムでは、同じグループの列同士が互いに同じ行に 1を持っていると、互いに更 新されて 、な 、確率情報を用いて処理を行うことになる。
[0322] そこで、本実施の形態では、 Group Shuffled BPアルゴリズムのように行処理と 列処理による確率情報の算出及び更新を複数ビットずつ行う復号アルゴリズムにお V、て、複数ビットの組み合わせを作るグループ分割の際に同じグループに含まれる 列同士が互いに同じ行に 1を持たないようにグループ分割する。これ〖こより、同じダル 一プの列同士が互いに同じ行に 1を持っている場合と比較して確率情報の伝播を効 率的に行うことできるようになり、繰り返し回数を削減することができる。
[0323] 図 21は、 LDPC符号ィ匕行列の構成例を示す図であり、図中で行列の右上を三角 形で囲んだ部分が 0となる LDPC符号ィ匕行列を示している。また、図 22は、実施の形 態 12の LDPC符号復号装置による LDPC符号行列のグループ分割例を示す図で ある。図 21に示すような LDPC行列では、符号ィ匕行列が復号行列と共通で用いるこ とができ、実用上の利点は多い。
[0324] このような LDPC符号で符号ィ匕された符号ィ匕行列をグループ分割して、受信信号 に対する行処理と列処理による確率情報の算出及び更新を予め定めた複数ビットず つ行う場合、図 22に示すように、ノ リティビット部分を連続させないグループ分割を行 う。図 22の例では、ノ^ティビット部分を連続させないグループ分割として LDPC行列 を 1列おきにグループ分割している。なお、図中、各グループに付した符号 A, B, C , D, E, Fは、それぞれ第 1番目力ら第 6番目のグループを示すグループ 1, 2, 3, 4 , 5, 6を表すものとする。
[0325] 本実施の形態 12による LDPC符号復号装置では、符号構成に基づいて、図 22に 示すように LDPC符号化行列をグループ分割する Group Shuffled BPァルゴリズ ムを実行する。以下に簡単に説明する。
[0326] 先ず、初期ィ匕ステップとして、繰り返し回数 iを i= 1と設定し、最大繰り返し回数を I
ma と設定し、対数尤度比 LLR(Log Likelihood Ratio)の初期値 z (°)を F (z (°): = F ) x m,n n m,n n と設定する。なお、復号したい LDPC符号の検査行列 Hは、 2元 mXn行列 H = [H m,r
] (nは 0以上 N未満の整数, mは 0以上 M未満の整数)であり、 H を Hの m行 n列目 m,n
要素とする。
[0327] 次に、ステップ 1として、下記式(25)の条件に対し、上記式(2)及び上記式(3)を 演算する行処理を実行する。ここで、 N(m), M (n)は、集合 [1, N]の部分集合であ り、 N(m) : = {n:H =1}、 M(n): = {m:H =1}と定義する。つまり、 N(m)は、 m,n m,n
検査行列 Hの m行において 1を持つ列インデックスの集合を意味し、 M(n)は、 LDP C検査行列 Hの m行において 1を持つ列インデックスの集合を意味する。
[数 17] ι≤ίί≤σ is :整数,
n e GR(g),m ^Min)
(25)
[0328] また、集合 A力も元 aを取り去って得られる集合を A\aと表記する。即ち、 N (m) \ nは集合 N (m)力 n列目を除く列インデックスの集合であり、 M (n) \mが集合 M (n )力 m行目を除く行インデックスの集合を示して 、る。 z (i)は、繰り返し i回目で更新 m,n
した LLRであり、 ε (i)はチェックノードからビットノードへ送る繰り返し i回目の LLRで m,n
ある。
[0329] さらに、ステップ 1において、上記式(25)の条件に対し、上記式 (4)及び上記式(5 )を演算する列処理を実行する。ここで、 z (i)はビットノードからチェックノードへ送る m,n
繰り返し i回目の LLRである。さらに、 z (i)は繰り返し i回目の事後値である。
[0330] 次に、ステップ 2として、事後値 z (i)を硬判定し、上記式 (6)で表される復号系列を生 成する。このあと、上記式(7)の条件を満たせば、後述するステップ 3の処理に移行し 、これら 2条件のいずれをも満たさなければ、繰り返し回数 iを加算してステップ 2の処 理に戻る。ステップ 3では、復号結果として、ステップ 2で得た上記式 (6)に従う復号 系列を出力する。
[0331] 但し、各記号は、上記式に従うものとする。また、 GR(g)は、 g番目のグループを構 成する列の組を表すものとする。図 22に示す例で GR(g)を具体的に示すと、以下の ようになる。
グループ 1(GR(1))は 2k+l = l, 3, 5, 7, ···, N— 1であり、 kは 0以上 N未満
g g である。
グループ 2(GR(2))は 2k+2 = 2, 4, 6, 8, · · ·, Nであり、 kは 0以上 N未満であ
g g
る。
グループ 3(GR(3))は 2k+l=N +1, N +3, N +5, ···, 2N— 1であり、 kは
g g g g
N以上 2N未満である。
g g
グループ G(GR(G))は、 2k+2 = G'N— 2N +2, ···, G-Nであり、 kは(GZ2
g g g
1) ·Ν以上 G'N未満である。
g g
[0332] 本実施の形態 12による LDPC符号復号装置は、上述したように、演算列制御部 17 を有する以外、基本的な構成は図 1に示す上記実施の形態 1と同様である。つまり、 受信情報力も受信 LLRを算出する受信 LLR算出部 2と復号コア部 3とから構成され、 復号コア部 3により 1ビットおきにグループ分割した Group Shuffled BPァルゴリズ ムによる LDPC符号の復号を実行する。
[0333] 復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7、復号結果 判定部 8及び演算列制御部 17から構成される。途中結果保持部 4は、上記実施の 形態 1で説明したように、行処理部 5及び列処理部 6による復号の途中結果を保持す る。行処理部 5では、上記式(25)の条件に対して上記式(2)及び式(3)を用いた行 処理を行い、列処理部 6は、上記式(25)の条件に対して上記式 (4)及び式(5)を用 いた列処理を行う。
[0334] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、上述した Group Shuffled BPアルゴリズムのステップ 1と同様に列 処理部 6が求めた事後値の硬判定から上記式 (6)により復号結果の復号系列を算出 し、パリティ検査を行って上記式 (7)の条件から復号結果の正誤を判定する。演算列 制御部 17では、上述したように LDPC符号化行列をグループ分割して行処理部 5及 び列処理部 6による演算対象の列を制御する。
[0335] 次に動作について説明する。
図 23は、実施の形態 12による LDPC符号復号装置の動作を示すフローチャートで あり、この図に沿って図 22に示す符号ィ匕行列を用いた復号動作を例に挙げて説明 する。
[0336] 先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (Q) ( : =F )として途中結果 m,n n
保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す る。
[0337] 次に、ステップ ST4bにお 、て、繰り返し回数 i= 1から最終復号回(最大繰り返し回 数 I )まで、演算列制御部 17により指定された 1列ごとのグループに対して行処理 max
部 5及び列処理部 6による繰り返し復号処理を行うステップ 1と、復号結果判定部 8〖こ よる上記式(7)に従うステップ 2の判定処理を繰り返し実行する。
[0338] 繰り返し i回目の復号演算を例に説明する。
先ず、復号したい LDPC符号の検査行列 H ( = [H ])について、図 22に示すよう m,n
に、演算列制御部 17は、図中で符号 Aを付したグループ 1に含まれる全ての列の番 号を行処理部 5及び列処理部 6に受け渡す。これにより、行処理部 5は、グループ 1 に含まれる列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。一 方、列処理部 6は、グループ 1に含まれる列の列処理を行い、処理結果を途中結果 保持部 4に保持させる。
[0339] 次に、演算列制御部 17は、図中で符号 Bを付したグループ 2に含まれる全ての列 の番号を行処理部 5及び列処理部 6に受け渡す。これにより、行処理部 5は、グルー プ 2に含まれる列に 1を持つ行の行処理を行 、、処理結果を列処理部 6へ受け渡す 。一方、列処理部 6は、グループ 2に含まれる列の列処理を行い、処理結果を途中結 果保持部 4に保持させる。
[0340] 続いて、演算列制御部 17は、上記式(25)における g = 3以降のグループに含まれ る全ての列の番号を行処理部 5及び列処理部 6に逐次受け渡し、その都度、行処理 部 5による処理結果が列処理部 6に受け渡され、列処理部 6の処理結果が途中結果 保持部 4に保持される。
[0341] 最後に、演算列制御部 17は、グループ gに含まれる全ての列の番号を行処理部 5 及び列処理部 6に受け渡す。これにより、行処理部 5は、グループ gに含まれる列に 1 を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。一方、列処理部 6は 、グループ gに含まれる列の列処理を行い、処理結果を途中結果保持部 4に保持さ せる。
[0342] 図 22の例では、演算列制御部 17が、図中で符号 Fを付したグループ 6に含まれる 全ての列の番号を行処理部 5及び列処理部 6に受け渡す。これにより、行処理部 5は 、グループ 2に含まれる列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ 受け渡す。一方、列処理部 6は、グループ 6に含まれる列の列処理を行い、処理結果 を途中結果保持部 4に保持させる。
[0343] 上述した処理において、行処理部 5が上記式(25)の関係に対して上記式(2)及び 上記式 (3)を演算することで、 g= l以降の処理では、繰り返し i回目にて既に更新さ れた LLRを持つ列に関しては、受信 LLRではなく更新された LLRを用いて行処理 が実行される。
[0344] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z①を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が 、ノリティ検査の結果が NGであるならば、繰り返し回数 iを 1増やして、続いてステツ プ 1の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満 たせば、後述するステップ 3の処理に移行させる。
[0345] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I となるまで、ステップ 1及びステツ max
プ 2の処理を繰り返すように行処理部 5及び列処理部 6を制御する。
[0346] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0347] 図 24は、実施の形態 12による LDPC符号復号装置により上述のように符号構成に 基づいて符号ィ匕行列をグループ分割して復号した場合と、従来の Group Shuffled BPアルゴリズムでグループ分割して復号した場合とにおける、ビット誤り率とこのビ ット誤り率でのノ リティ検査が OKになるまでに要した復号繰り返し回数の平均値との 関係をプロットしたグラフである。図において、プロット間を破線で繋いだ方が従来の
Group Shuffled BPアルゴリズムによるものであり、実線でプロット間を繋いだもの が本実施の形態 12によるものである。
[0348] また、図 24において、 LDPC符号は、右上三角 0構造のイレギュラー LDPC符号、 符号長 64800、符号化率 1Z2、最大列重み 7、最大行重み 8、最大繰り返し回数 I ma 力 20回である。また、通信路は、 AWGN (Additive White Gaussian Noise ;加法性白 色ガウス雑音)通信路を想定しており、 QPSK (Quadrature Phase Shift Keying)で復 調している。
[0349] ここで、実施の形態 12では、上述したように、符号構成に基づき、 1列ごとに LDPC 行列をグループ分割した Group Shuffled BPアルゴリズムで復号処理を実行して いる。また、従来の Group Shuffled BPアルゴリズムでは、従来と同様に、 LDPC 行列における先頭の第 1ビットから所定のビットごとのグループに分割している。
[0350] 図 24に示すように、本実施の形態 12による復号処理によって、ノ^ティ検査が OK となるまでに要した復号繰り返し回数力 従来の Group Shuffled BPアルゴリズム と比較して格段に削減されていることがわかる。なお、従来の Group Shuffled BP アルゴリズムとの比較例を示した力 本実施の形態 12は、従来の Shuffled BPアル ゴリズムのように、受信信号に対する行処理と列処理による確率情報の算出及び更 新を予め定めた複数ビットずつ行う復号アルゴリズムに対しても同様に繰り返し回数 を削減することができる。
[0351] 以上のように、この実施の形態 12によれば、隣り合った列に 1を持つ LDPC符号に 対し、 Group Shuffled BPアルゴリズムのようにグループ分割して受信信号に対 する行処理と列処理による確率情報の算出及び更新を予め定めた複数ビットずつ行 ぅ復号アルゴリズムで LDPC符号の復号を行う場合にぉ 、て、 LDPC符号の構成に 基づ 、て 1列ごとに LDPC符号ィ匕行列をグループ分割し、グループごとの列にっ ヽ て 1を持つ行を行処理すると共に、当該グループに含まれる列の列処理を行って復 号処理するので、隣り合った列を同じグループに分割しないことから、確率情報の伝 播が効率的に行われる。これにより、図 24に示すように、 LDPC符号ィ匕行列の先頭 ビットから順にグループ分けする従来の Group Shuffled BPアルゴリズムに比べ 繰り返し回数を削減することができる。
[0352] 実施の形態 13.
上記実施の形態 12では、 LDPC符号の構成に基づ 、て 1列ごとに LDPC符号ィ匕 行列をグループ分割する LDPC符号復号装置を示したが、本実施の形態 13による L DPC符号復号装置は、受信信号の変調方式に基づ!/、て復号処理の対象をグルー プ分割するものである。
[0353] 本実施の形態 13による LDPC符号復号装置は、図 20に示した上記実施の形態 1 2による LDPC符号復号装置と基本的に同様な構成を有しているが、演算列制御部 17により変調方式に基づ 、て受信信号をグループ分割し、行処理部 5及び列処理 部 6により受信信号のグループごとに復号処理を実行する。
[0354] また、変調方式の仮定によって本実施の形態 13におけるグループ分割も上記実施 の形態 12と同様となっている。つまり、本実施の形態 13では、 Group Shuffled B Pアルゴリズムのようにグループ分割して受信信号に対する行処理と列処理による確 率情報の算出及び更新を行う復号を実行するにあたり、受信信号の変調方式に基 づ 、て、上記実施の形態 12で示した図 22のように符号ィ匕行列を 1列ごとのグループ 1〜6に分割する。
[0355] ここで、上述した図 17に示す 4PAM Gray Mappingの受信値の分布からわかる ように、変調方式が多値変調である場合、受信信号のビットごとの誤り率が異なる。図 17の場合では、受信信号の MSBはビット誤り率が低ぐ LSBはビット誤り率が高い。 この場合、 MSBの復号は LSBの復号に比べて少な 、繰り返し回数で復号を終える ことができる。
[0356] そこで、本実施の形態 13は、図 17に示す変調方式 4PAMの場合を例として、受信 信号を MSBのみのグループと LSBのみのグループに分割して、 MSBのみのグルー プを先に演算し、 LSBのみのグループを後で演算するように構成する。
[0357] なお、 Group Shuffled BPアルゴリズムのようにグループ分割をする場合を例に 挙げたが、本実施の形態のような受信信号の変調方式に基づ 、て処理対象をダル ープ分割する処理は、受信信号に対する行処理と列処理による確率情報の算出及 び更新を予め定めた複数ビットずつ行う他の復号アルゴリズムにおいても同様に適 用することができる。
[0358] また、図 17に示すような 4PAMを変調方式の例として挙げた力 他に受信信号の ビット誤り率に違いの生じる多値変調方式であれば、同様にビット誤り率の違いに応 じてグループ分割するようにしてもょ 、。
[0359] 本実施の形態 13に係る演算アルゴリズムは、上記実施の形態 12と同様である。以 下に具体的に説明する。
先ず、初期ィ匕ステップとして、繰り返し回数 iを i= lと設定し、最大繰り返し回数を I ma と設定し、対数尤度比 LLRの初期値 z (Q)を F (z (Q) : =F )と設定する。なお、復号
X m,n n m,n n
したい LDPC符号の検査行列 Hは、 2元 m X n行列 H = [H ] (nは 0以上 N未満の整 m,n
数, mは 0以上 M未満の整数)であり、 H を Hの m行 n列目要素とする。
m,n
[0360] 次に、ステップ 1として、上記式(25)の条件に対し、上記式(2)及び上記式(3)を 演算する行処理を実行する。ここで、 N (m) , M (n)は、集合 [1, N]の部分集合であ り、 N (m) : = {n : H = 1 }、 M (n): = {m: H = 1 }と定義する。つまり、 N (m)は、 m,n m,n
検査行列 Hの m行において 1を持つ列インデックスの集合を意味し、 M (n)は、 LDP C検査行列 Hの m行において 1を持つ列インデックスの集合を意味する。
[0361] また、集合 A力も元 aを取り去って得られる集合を A\aと表記する。即ち、 N (m) \ nは集合 N (m)力 n列目を除く列インデックスの集合であり、 M (n) \mが集合 M (n )力 m行目を除く行インデックスの集合を示して 、る。 z (i)は、繰り返し i回目で更新 m,n
した LLRであり、 ε (i)はチェックノードからビットノードへ送る繰り返し i回目の LLRで m,n
ある。
[0362] さらに、ステップ 1において、上記式(25)の条件に対し、上記式 (4)及び上記式(5 )を演算する列処理を実行する。ここで、 z (i)はビットノードからチェックノードへ送る m,n
繰り返し i回目の LLRである。さらに、 z (i)は繰り返し i回目の事後値である。
[0363] 次に、ステップ 2として、事後値 z (i)を硬判定し、上記式 (6)で表される復号系列を生 成する。このあと、上記式(7)の条件を満たせば、後述するステップ 3の処理に移行し 、これら 2条件のいずれをも満たさなければ、繰り返し回数 iを加算してステップ 2の処 理に戻る。ステップ 3では、復号結果として、ステップ 2で得た上記式 (6)に従う復号 系列を出力する。
[0364] 但し、各記号は、上記式に従うものとする。また、 GR(g)は、 g番目のグループを構 成する列の組を表すとする。 GR(g)を具体的に示すと、以下のようになる。
グループ 1(GR(1))は 2k+l = l, 3, 5, 7, ···, N— 1であり、 kは 0以上 N未満
g g である。
グループ 2(GR(2))は 2k+l=N +1, N +3, N +5, ···, 2N— 1であり、 kは
g g g g
N以上 2N未満である。
g g
グループ(GZ2) (GR(GZ2))は 2k— 1 = G'N— 2N—1, ···, G-N— 1であり
g g g
、 kは(GZ2—1) ·Ν以上 G'N未満である。
g g
グループ(GZ2+1) (GR(GZ2+1))は 2k+2 = 2, 4, 6, 8, ···, Nであり、 kは
g
0以上 N未満である。
g
グノレープ G(GR(G))は 2k+2 = G'N— 2N +2, ···, G'Nであり、 kは(G/2
g g g
1) ·Ν以上 G'N未満である。
g g
[0365] 図 22の例では、符号 Aを付したグループ 1、符号 Cを付したグループ 3、符号 Eを付 したグループ 5が MSBのみのグループに対応し、符号 Bを付したグループ 2、符号 D を付したグループ 4、符号 Fを付したグループ 6が LSBのみのグループに対応する。
[0366] 次に動作について説明する。
本実施の形態 13による LDPC符号復号装置の基本的な動作の流れは、上記実施 の形態 12における図 23のフローチャートと同様である。よって、図 23に沿って動作 を説明する。
[0367] 先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (Q)(: =F )として途中結果
m,n n
保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i=lと初期化す る。
[0368] 次に、ステップ ST4bにお 、て、繰り返し回数 i= 1から最終復号回(最大繰り返し回 数 I )まで、演算列制御部 17により指定された上述した 1列ごとのグループに対して max
、行処理部 5及び列処理部 6により MSBのみのグループに続いて LSBのみのグル ープを処理する繰り返し復号を行うステップ 1と、復号結果判定部 8による上記式(7) に従うステップ 2の判定処理を繰り返し実行する。
[0369] 繰り返し i回目の復号演算を例に説明する。
先ず、ステップ 1にお 、て、復号した 、LDPC符号の検査行列 H ( = [H ])につ ヽ m,n て、演算列制御部 17は、図 22で符号 Aを付した MSBのみのグループ 1に含まれる 全ての列の番号を行処理部 5及び列処理部 6に受け渡す。これにより、行処理部 5は 、グループ 1に含まれる列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ 受け渡す。列処理部 6では、グループ 1に含まれる列の列処理を行い、処理結果を 途中結果保持部 4に保持させる。
[0370] 次に、演算列制御部 17は、図 22中で符号 Cを付した MSBのみのグループ 3に含 まれる全ての列の番号を行処理部 5及び列処理部 6に受け渡す。これにより、行処理 部 5は、グループ 3に含まれる列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、グループ 3に含まれる列の列処理を行い、処理結果 を途中結果保持部 4に保持させる。
[0371] 続いて、演算列制御部 17は、上記式(25)における g = 3以降の MSBのみのグル ープに含まれる全ての列の番号を行処理部 5及び列処理部 6に逐次受け渡し、その 都度、行処理部 5による処理結果が列処理部 6に受け渡され、列処理部 6の処理結 果が途中結果保持部 4に保持される。
[0372] 図 22の例では、符号 Eを付した MSBのみのグループ 5に含まれる全ての列の番号 を行処理部 5及び列処理部 6に受け渡す。これにより、行処理部 5は、グループ 5に 含まれる列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。列処 理部 6は、グループ 5に含まれる列の列処理を行い、処理結果を途中結果保持部 4 に保持させる。
[0373] このあと、演算列制御部 17は、図 22で符号 Bを付した LSBのみのグループ 2に含 まれる全ての列の番号を行処理部 5及び列処理部 6に受け渡す。これにより、行処理 部 5は、グループ 2に含まれる列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、グループ 2に含まれる列の列処理を行い、処理結果 を途中結果保持部 4に保持させる。 [0374] 次に、演算列制御部 17は、図 22中で符号 Dを付した LSBのみのグループ 4に含ま れる全ての列の番号を行処理部 5及び列処理部 6に受け渡す。これにより、行処理 部 5は、グループ 4に含まれる列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。列処理部 6は、グループ 4に含まれる列の列処理を行い、処理結果を 途中結果保持部 4に保持させる。
[0375] 続いて、演算列制御部 17は、上記式(25)における g = 3以降の LSBのみのグルー プに含まれる全ての列の番号を行処理部 5及び列処理部 6に逐次受け渡し、その都 度、行処理部 5による処理結果が列処理部 6に受け渡され、列処理部 6の処理結果 が途中結果保持部 4に保持される。
[0376] 図 22の例では、グループ Gに相当する符号 Fを付した LSBのみのグループ 6に含 まれる全ての列の番号を行処理部 5及び列処理部 6に受け渡す。これにより、行処理 部 5は、グループ 6に含まれる列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。列処理部 6は、グループ 6に含まれる列の列処理を行い、処理結果を 途中結果保持部 4に保持させる。
[0377] 上述した処理において、行処理部 5が上記式(25)の関係に対して上記式(2)及び 上記式 (3)を演算することで、 g= l以降の処理では、繰り返し i回目にて既に更新さ れた LLRを持つ列に関しては、受信 LLRではなく更新された LLRを用いて行処理 が実行される。
[0378] ステップ 2において、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出さ れた事後値 z (i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御 部 7が、ノ^ティ検査の結果が NGであるならば、繰り返し回数 iを 1増やして、続いて ステップ 1の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条 件を満たせば、後述するステップ 3の処理に移行させる。
[0379] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I となるまで、ステップ 1及びステツ max
プ 2の処理を繰り返すように行処理部 5及び列処理部 6を制御する。
[0380] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0381] 以上のように、この実施の形態 13によれば、 4PAMに変調されて送受信された受 信信号に Group Shuffled BPアルゴリズムで復号を行うにあたり、 MSBのみと LS
Bのみのグループに分割し、ビット誤り率が低い MSBのみのグループを先に演算す るので、ビット誤り率の高 、LSBでは信頼度の高 、確率情報を MSB力 受けて復号 演算を行うことになり、 LSBの復号演算は従来よりも効率的に行われ少ない繰り返し 回数での復号が可能となる。
[0382] 実施の形態 14.
この実施の形態 14は、受信信号に対する行処理と列処理による確率情報の算出 及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行うにあたり、符号構成に 基づ 、て復号順序を制御するものである。
[0383] 本実施の形態 14による LDPC符号復号装置は、図 20に示した上記実施の形態 1
2による LDPC符号復号装置と基本的に同様な構成を有しているが、演算列制御部
17が符号構成に基づいて復号の順序を制御して行処理部 5及び列処理部 6に復号 処理を実行させる点で異なる。
[0384] Shuffled BPアルゴリズムを例として符号構成に基づく順序制御の概要を説明す る。 Shuffled BPアルゴリズムが Sum— Productアルゴリズムよりも少ない繰り返し 回数で復号を終了するのは、復号過程で算出して受け渡している確率情報の伝搬 力 um— Productアルゴリズムよりも効率的に行われている力もである。そこで、符 号がイレギュラー LDPC符号であれば、列重みの大き!/、順に順序付けして Shuffled BPアルゴリズムで復号を行う。
[0385] 例えば、 O (g)を g番目に順序付けされた列番号とすると、 O (l)は最大列重みを持 つ列、 0 (2)は次に列重みの大きい列、 0 (3)はその次に列重みの大きい列、と順序 付けて列を選択してゆき、 Shuffled BPアルゴリズムによる復号を行う。
[0386] 順序付けした Shuffled BPアルゴリズムは、以下の通りである。
先ず、初期ィ匕ステップとして、繰り返し回数 iを i= lと設定し、最大繰り返し回数を I
ma と設定し、対数尤度比 LLR(Log Likelihood Ratio)の初期値 z (°)を F (z (°): = F ) x m,n n m,n n と設定する。なお、復号したい LDPC符号の検査行列 Hは、 2元 m X n行列 H = [H m,r
] (nは 0以上 N未満の整数, mは 0以上 M未満の整数)であり、 H を Hの m行 n列目 m,n
要素とする。
[0387] 次に、ステップ 1として、下記式(26)の条件に対し、上記式(2)及び上記式(3)を 演算する行処理を実行する。ここで、 N (m) , M (n)は、集合 [1, N]の部分集合であ り、 N (m) : = {n:H = 1 }、 M (n): = {m:H = 1 }と定義する。つまり、 N (m)は、 m,n m,n
検査行列 Hの m行において 1を持つ列インデックスの集合を意味し、 M (n)は、 LDP C検査行列 Hの m行において 1を持つ列インデックスの集合を意味する。
[数 18] l≤g≤N ( g:整数)
n ^ 0(^,m≡M {n) r n a \
[0388] また、集合 A力も元 aを取り去って得られる集合を A\aと表記する。即ち、 N (m) \ nは集合 N (m)力 n列目を除く列インデックスの集合であり、 M (n) \mが集合 M (n )力 m行目を除く行インデックスの集合を示して 、る。 z (i)は、繰り返し i回目で更新 m,n
した LLRであり、 ε (i)はチェックノードからビットノードへ送る繰り返し i回目の LLRで m,n
ある。
[0389] さらに、ステップ 1において、上記式(25)の条件に対し、上記式 (4)及び上記式(5 )を演算する列処理を実行する。ここで、 z (i)はビットノードからチェックノードへ送る m,n
繰り返し i回目の LLRである。さらに、 z (i)は繰り返し i回目の事後値である。
[0390] 次に、ステップ 2として、事後値 z (i)を硬判定し、上記式 (6)で表される復号系列を生 成する。このあと、上記式(7)の条件を満たせば、後述するステップ 3の処理に移行し 、これら 2条件のいずれをも満たさなければ、繰り返し回数 iを加算してステップ 2の処 理に戻る。ステップ 3では、復号結果として、ステップ 2で得た上記式 (6)に従う復号 系列を出力する。但し、各記号は、上記式に従うものとする。また、 O (g)は g番目に 順序付けされた列を表すものとする。
[0391] 本実施の形態 14による LDPC符号復号装置は、上述したように、演算列制御部 17 を有する以外、基本的な構成は図 1に示す上記実施の形態 1と同様である。つまり、 受信情報力も受信 LLRを算出する受信 LLR算出部 2と復号コア部 3とから構成され、 復号コア部 3により符号構成に基づ 、て順序制御した Shuffled BPアルゴリズムに よる LDPC符号の復号を実行する。
[0392] 復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7、復号結果 判定部 8及び演算列制御部 17から構成される。途中結果保持部 4は、上記実施の 形態 1で説明したように、行処理部 5及び列処理部 6による復号の途中結果を保持す る。行処理部 5では、上記式(26)の条件に対して上記式(2)及び式(3)を用いた行 処理を行い、列処理部 6は、上記式(25)の条件に対して上記式 (4)及び式(5)を用 いた列処理を行う。
[0393] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、上述した Shuffled BPアルゴリズムのステップ 1と同様に列処理部 6 が求めた事後値の硬判定から上記式 (6)により復号結果の復号系列を算出し、パリ ティ検査を行って上記式 (7)の条件から復号結果の正誤を判定する。演算列制御部 17では、上述したように LDPC符号ィ匕行列を列重みの大き 、順に順序制御して行処 理部 5及び列処理部 6に復号演算させる。
[0394] 次に動作について説明する。
本実施の形態 14による LDPC符号復号装置の基本的な動作の流れは、上記実施 の形態 12における図 23のフローチャートと同様である。よって、図 23に沿って動作 を説明する。
[0395] 先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (Q) ( : =F )として途中結果 m,n n
保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す る。
[0396] 次に、ステップ ST4bにお 、て、繰り返し回数 i= 1から最終復号回(最大繰り返し回 数 I )まで、演算列制御部 17により指定された列重みが大きい順で列に対して、行 max
処理部 5及び列処理部 6により繰り返し復号を行うステップ 1と、復号結果判定部 8〖こ よる上記式(7)に従うステップ 2の判定処理を繰り返し実行する。
[0397] 繰り返し i回目の復号演算を例に説明する。
先ず、ステップ 1にお 、て、復号した 、LDPC符号の検査行列 H ( = [H ])につ ヽ m,n て、演算列制御部 17は、列重みの最も大きい第 1番目に演算を行う列の番号を行処 理部 5及び列処理部 6に受け渡す。これにより、行処理部 5は、演算列制御部 17によ り指定された第 1番目に演算を行う列に 1を持つ行の行処理を行い、処理結果を列 処理部 6へ受け渡す。列処理部 6では、第 1番目に演算を行う列の列処理を行い、処 理結果を途中結果保持部 4に保持させる。
[0398] 次に、演算列制御部 17は、列重みが次に大きい第 2番目に演算を行う列の番号を 行処理部 5及び列処理部 6に受け渡す。これにより、行処理部 5は、演算列制御部 1 7により指定された第 2番目に演算を行う列で 1を持つ行の行処理を行い、処理結果 を列処理部 6へ受け渡す。列処理部 6では、第 2番目に演算を行う列の列処理を行 い、処理結果を途中結果保持部 4に保持させる。
[0399] 続いて、演算列制御部 17は、上記式(25)における g = 3以降も列重みが大きい順 に列の番号を行処理部 5及び列処理部 6に逐次受け渡し、その都度、行処理部 5に よる処理結果が列処理部 6に受け渡され、列処理部 6の処理結果が途中結果保持部 4に保持される。
[0400] 最後に、演算列制御部 17は、第 g番目に演算を行う列の番号を行処理部 5及び列 処理部 6に受け渡す。これにより、行処理部 5は、第 g番目に演算を行う列に 1を持つ 行の行処理を行い、処理結果を列処理部 6へ受け渡す。一方、列処理部 6は、第 g番 目に演算を行う列の列処理を行い、処理結果を途中結果保持部 4に保持させる。
[0401] 上述した処理において、行処理部 5が上記式(26)の関係に対して上記式(2)及び 上記式 (3)を演算することで、 g= l以降の処理では、繰り返し i回目にて既に更新さ れた LLRを持つ列に関しては、受信 LLRではなく更新された LLRを用いて行処理 が実行される。
[0402] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z①を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が 、ノリティ検査の結果が NGであるならば、繰り返し回数 iを 1増やして、続いてステツ プ 1の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満 たせば、後述するステップ 3の処理に移行させる。
[0403] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I となるまで、ステップ 1及びステツ max
プ 2の処理を繰り返すように行処理部 5及び列処理部 6を制御する。
[0404] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0405] 以上のように、この実施の形態 14によれば、受信信号に対する行処理と列処理に よる確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行う にあたり、符号構成に基づいて復号順序を制御するので、先に演算した確率情報が 早く伝搬されることになり繰り返し回数を削減することができる。また、符号構成に基 づ 、て順序制御して 、るため、符号情報を受信するたびに順序付けする必要はな 、
[0406] なお、上記実施の形態 14では、 Shuffled BPアルゴリズムの順序制御を行う例を 示したが、他の受信信号に対する行処理と列処理による確率情報の算出及び更新 を 1ビットずつ若しくは予め定めた複数ビットずつ行う復号アルゴリズムであれば、他 のァノレゴリズムであっても同様である。
[0407] 実施の形態 15.
この実施の形態 15は、受信信号に対する行処理と列処理による確率情報の算出 及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行うにあたり、受信信号の 変調方式に基づいて復号順序を制御するものである。
[0408] 本実施の形態 15による LDPC符号復号装置は、図 20に示した上記実施の形態 1
2による LDPC符号復号装置と基本的に同様な構成を有しているが、演算列制御部
17が受信信号の変調方式に基づいて復号順序を制御して行処理部 5及び列処理 部 6に復号処理を実行させる点で異なる。
[0409] Shuffled BPアルゴリズムを例として変調方式に基づく順序制御の概要を説明す る。先ず、変調方式が多値変調である場合、ビットごとの誤り率が異なる。例えば、上 述した図 17に示す変調方式 4PAM Gray Mappingでは、符号の先頭ビットから 順に変調信号点を割り当てると、ビットごとの誤り率で MSBは誤り率が低ぐ LSBは 誤り率が高くなる。
[0410] このような受信信号を復号する場合、 MSBの復号過程で算出される確率情報は、 信頼度が高い特徴がある。そこで、 Shuffled BPアルゴリズムで復号を行う場合、 M SBのビットから順に復号を行うことで、 LSBには常に信頼度の高い確率情報が伝搬 されること〖こなる。
[0411] 例えば、 O (g)を g番目に順序付けされた列番号とすると、先に MSBに対応する全 ての列を選択し、続いて LSBに対応する列を選択する、 O (l) = 1、 0 (2) = 3、 0 (3 ) = 5、 0 (4) = 7, · · · , 2n+ l, · · · , N— 1, 2, 4, 6, · · · , 2n, · · · , Nという順で列 を選択してゆき、 Shuffled BPアルゴリズムによる復号を行う。
[0412] 本実施の形態 15による LDPC符号復号装置は、上述したように、演算列制御部 17 を有する以外、基本的な構成は図 1に示す上記実施の形態 1と同様である。つまり、 受信情報力も受信 LLRを算出する受信 LLR算出部 2と復号コア部 3とから構成され、 復号コア部 3により受信信号の変調方式に基づ 、て順序制御した Shuffled BPァ ルゴリズムによる LDPC符号の復号を実行する。
[0413] 復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7、復号結果 判定部 8及び演算列制御部 17から構成される。途中結果保持部 4は、上記実施の 形態 1で説明したように、行処理部 5及び列処理部 6による復号の途中結果を保持す る。行処理部 5では、上記式(26)の条件に対して上記式(2)及び式(3)を用いた行 処理を行い、列処理部 6は、上記式(25)の条件に対して上記式 (4)及び式(5)を用 いた列処理を行う。
[0414] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、上述した Shuffled BPアルゴリズムのステップ 1と同様に列処理部 6 が求めた事後値の硬判定から上記式 (6)により復号結果の復号系列を算出し、パリ ティ検査を行って上記式 (7)の条件から復号結果の正誤を判定する。演算列制御部 17では、上述したように LDPC符号ィ匕行列を受信信号の変調方式に基づ 、てビット 誤りの低 、ビットに対応する全ての列を選択し続 、てビット誤りの高 、ビットに対応す る列を選択するように順序制御して行処理部 5及び列処理部 6に復号演算させる。
[0415] 次に動作について説明する。
本実施の形態 15による LDPC符号復号装置の基本的な動作の流れは、上記実施 の形態 12における図 23のフローチャートと同様である。よって、図 23に沿って動作 を説明する。
[0416] 先ず、受信 LLR計算部 2は、受信情報を入力 (ステップ ST1)し、当該受信情報か ら受信 LLRを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)におい て、受信 LLR計算部 2は、算出した受信 LLRを初期値 z (°) (: =F )として途中結果 m,n n
保持部 4に設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化す る。
[0417] 次に、ステップ ST4bにおいて、繰り返し回数 i= lから最終復号回(最大繰り返し回 数 I )まで、演算列制御部 17により受信信号の変調方式に基づいて選択された列 max
に対して、行処理部 5及び列処理部 6により繰り返し復号を行うステップ 1と、復号結 果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し実行する。
[0418] 繰り返し i回目の復号演算を例に説明する。
先ず、ステップ 1にお 、て、復号した 、LDPC符号の検査行列 H ( = [H ])
m,n につ ヽ て、演算列制御部 17は、変調方式に基づいて特定した受信信号の MSBに対応す る先頭の列を、第 1番目に演算を行う列としてその列の番号を行処理部 5及び列処 理部 6に受け渡す。これにより、行処理部 5は、演算列制御部 17により指定された第 1番目に演算を行う列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け 渡す。列処理部 6では、第 1番目に演算を行う列の列処理を行い、処理結果を途中 結果保持部 4に保持させる。
[0419] 次に、演算列制御部 17は、変調方式に基づいて特定した受信信号の次の MSBに 対応する列を第 2番目に演算を行う列としてその列の番号を行処理部 5及び列処理 部 6に受け渡す。これにより、行処理部 5は、演算列制御部 17により指定された第 2 番目に演算を行う列で 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡 す。列処理部 6では、第 2番目に演算を行う列の列処理を行い、処理結果を途中結 果保持部 4に保持させる。
[0420] 続いて、演算列制御部 17は、上記式(25)における g = 3以降も、 MSBに対応する 列の番号を行処理部 5及び列処理部 6に逐次受け渡し、その都度、行処理部 5によ る処理結果が列処理部 6に受け渡され、列処理部 6の処理結果が途中結果保持部 4 に保持される。
[0421] MSBに対応する列の演算が完了すると、演算列制御部 17は、変調方式に基づい て特定した受信信号の LSBに対応する先頭の列を、 MSBに対応する列の次に第 1 番目に演算を行う列としてその列の番号を行処理部 5及び列処理部 6に受け渡す。 これにより、行処理部 5は、第 1番目に演算を行う LSBに対応する列に 1を持つ行の 行処理を行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、当該列の列処 理を行い、処理結果を途中結果保持部 4に保持させる。
[0422] 次に、演算列制御部 17は、変調方式に基づいて特定した受信信号の LSBに対応 する次の列を第 2番目に演算を行う列としてその列の番号を行処理部 5及び列処理 部 6に受け渡す。これにより、行処理部 5は、第 2番目に演算を行う LSBに対応する 列に 1を持つ行の行処理を行い、処理結果を列処理部 6へ受け渡す。列処理部 6は 、当該列の列処理を行い、処理結果を途中結果保持部 4に保持させる。
[0423] 続いて、演算列制御部 17は、上記式(26)における g = 3以降においても、 LSBに 対応する列の番号を行処理部 5及び列処理部 6に逐次受け渡し、その都度、行処理 部 5による処理結果が列処理部 6に受け渡され、列処理部 6の処理結果が途中結果 保持部 4に保持される。
[0424] 上述した処理において、行処理部 5が上記式(26)の関係に対して上記式(2)及び 上記式 (3)を演算することで、 g= l以降の処理では、繰り返し i回目にて既に更新さ れた LLRを持つ列に関しては、受信 LLRではなく更新された LLRを用いて行処理 が実行される。
[0425] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z (i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が 、ノ リティ検査の結果が NGであるならば、繰り返し回数 iを 1増やして、続いてステツ プ 1の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満 たせば、後述するステップ 3の処理に移行させる。
[0426] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I となるまで、ステップ 1及びステツ max
プ 2の処理を繰り返すように行処理部 5及び列処理部 6を制御する。
[0427] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。
[0428] 以上のように、この実施の形態 15によれば、受信信号に対する行処理と列処理に よる確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行う にあたり、受信信号の変調方式に基づいて復号順序を制御するので、例えば 4PA Mに変調されて送受信された受信信号を Shuffled BPアルゴリズムで復号する場 合、 MSB力 順序付けして先に MSBの演算を行うことで、 LSBへは信頼度の高い 確率情報が伝搬され、 LSBの復号が早く進み、繰り返し回数を削減することができる
[0429] なお、上記実施の形態 15では、 Shuffled BPアルゴリズムの順序制御を行う例を 示したが、他の受信信号に対する行処理と列処理による確率情報の算出及び更新 を 1ビットずつ若しくは予め定めた複数ビットずつ行う復号アルゴリズムであれば、他 のァノレゴリズムであっても同様である。
[0430] また、上記実施の形態 15では、変調方式として 4PAMを例として挙げた力 ビット 誤り率に違!、の生じる他の多値変調方式でも同様に誤り率の低く信頼度の高 、ビッ トから順序付けを行うことができる。
[0431] 実施の形態 16.
図 25は、この発明の実施の形態 16による通信装置の構成を示すブロック図である 。図に示すように、本実施の形態 16による通信装置 18は、受信復号装置 (受信復号 部) 19と符号化送信装置 (符号化送信部) 20とから構成される。受信復号装置 19は 、図 1に示した基本構成の他、符号化送信装置 20により送信された LDPC符号化信 号を受信して復調する復調部 21を備えている。 [0432] 符号ィ匕送信装置 20は、符号化部 22及び変調部 23から構成される。符号化部 22 では、送信すべき情報を入力して LDPC符号の符号化を行う。変調部 23は、符号ィ匕 部 22からの符号ィ匕データを入力して変調し、変調信号として受信復号装置 19へ送 信する。
[0433] 実施の形態 16による通信装置 18では、受信復号装置 19と符号化送信装置 20と の間で、 LDPC符号の符号構成に適応して検査ビットに変調信号点を割り当てて符 号化信号の送受信を行い、符号構成に基づく順序制御に従って Shuffled BPアル ゴリズムのような受信信号に対する行処理と列処理による確率情報の算出及び更新 を 1ビットずつ若しくは予め定めた複数ビットずつ行う復号を実行する。
[0434] 図 26は、実施の形態 16による通信装置で使用する LDPC符号の構成を示す図で ある。図 26に示すように、 8行 16列の検査行列であって右上三角の要素が 0の構造 を有し、また検査ビットが対角に同値となる対称構造を含んでいる。図 27は、実施の 形態 16による通信装置で LDPC符号を 4PAMに変調して送受信する場合における ビットの割り当ての例を示す図である。図 27では、 M行 N列の行列要素である検查ビ ットに対する割り当てとして、 1列目から (n— 1)列目までに LSB以外を割り当て、 n
1 1 列目力も N列目までに MSB以外を割り当てる。これらの図を用いて実施の形態 16の 概要を説明する。
[0435] 上述したように、 Shuffled BPアルゴリズムが Sum— Productアルゴリズムよりも少 ない繰り返し回数で復号を終了するのは、復号過程で算出して受け渡している確率 情報の伝搬が Sum— Productアルゴリズムよりも効率的に行われているからである。
[0436] そこで、図 26に示すような右上三角 0の符号ィ匕行列で検査ビット部分が対角状の L DPC符号が 4PAMに変調されて送受信される場合には、図 27に示すように検査ビ ットに誤り率の高い LSBを割り当てて送受信する。復号側では Shuffled BPァルゴ リズムで復号を行 、、このとき検査ビットである LSBの復号を先に行う。
[0437] また、図 27に示すように変調信号点が割り当てられて!/、る場合、検査ビットである L SBの先頭力 順に復号を行う。 LDPC符号の復号における行処理は、上記実施の 形態 15に示す行処理のように、対象列以外の列の情報を用いて行う。このため、 LS Bの先頭である n列目を演算する際には MSBの持つ信頼性の高い情報のみを用い て演算することができる。
[0438] さらに、(n + 1)列目の演算には、 MSBの持つ情報と既に 1回演算した n列目の
1 1 情報のみを用いて演算することができるため、常に信頼性の高 、情報のみを用いて 演算することになる。
[0439] 例えば、 O (g)を g番目に順序付けされた列番号とすると、図 27の例では、 O (1)は n列目(LSB)、0 (2)は(n + 1)列目(LSB)、 0 (N— n )は N列目(LSB)、というよ
1 1 1
うに順位付けして列を選択し、 Shuffled BPアルゴリズムによる復号を行う。ここで、 0 (N-n + 1)以降は、 LSB以外の 1列目から (n— 1)列目の演算を行うことになる。
1 1
[0440] 次に、図 25を用いて、符号構成に適応した変調信号点を割り当てて送受信を行 、 、上述した処理式を備えて上記順序制御を行った LDPC符号を送受信する、実施の 形態 16による通信装置 18の具体例について述べる。図 25に示すように、実施の形 態 16による通信装置 18は、符号ィ匕送信装置 20と受信復号装置 21とから構成されて いる。ここで、符号ィ匕送信装置 20は、 LDPC符号の符号化を行う符号化部 22と符号 構成に適応した変調信号点の割り当てを行う変調部 23とから構成される。
[0441] 実施の形態 16による通信装置 18の受信復号装置 19は、変調された信号の復調を 行う復調部 21、受信情報力 受信 LLRを算出する受信 LLR算出部 2及び復号コア 部 3で構成され、復号コア部 3では符号構成に基づいて順序制御した Shuffled BP アルゴリズムによる LDPC符号の復号を行う。
[0442] 復号コア部 3は、途中結果保持部 4、行処理部 5、列処理部 6、制御部 7及び復号 結果判定部 8から構成される。途中結果保持部 4は、上記実施の形態 1で説明したよ うに、行処理部 5及び列処理部 6による復号の途中結果を保持する。行処理部 5では 、上記式(26)の条件に対して上記式(2)及び式(3)を用いた行処理を行い、列処理 部 6は、上記式(25)の条件に対して上記式 (4)及び式(5)を用いた列処理を行う。
[0443] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、上述した Shuffled BPアルゴリズムのステップ 1と同様に列処理部 6 が求めた事後値の硬判定から上記式 (6)により復号結果の復号系列を算出し、パリ ティ検査を行って上記式(7)の条件から復号結果の正誤を判定する。
[0444] 次に動作について説明する。 図 28は、実施の形態 16による通信装置の動作を示すフローチャートであり、この図 に沿って説明する。
先ず、符号ィ匕送信装置 20の符号ィ匕部 22は、送信すべき情報を入力すると (ステツ プ ST1A)、 LDPC符号の検査行列 Hを基に求めた生成行列と入力した情報とを用 いて LDPC符号ィ匕を実行し、符号ィ匕データを生成する (ステップ ST2A)。変調部 23 は、符号化部 22から符号化データを入力すると、図 27に示す LDPC符号のビット割 り当てに従って、入力した符号ィ匕データを 4PAM変調して受信復号装置 19に送信 する(ステップ ST3A)。
[0445] 受信復号装置 19の復調部 21は、符号ィ匕送信装置 20からの受信信号を復調して( ステップ ST1— 1)、復調結果の受信情報を受信 LLR計算部 2に出力する。受信 LL R計算部 2では、受信情報を入力すると (ステップ ST1)、当該受信情報から受信 LL Rを算出する (ステップ ST2)。次に初期ィ匕ステップ (ステップ ST3)において、受信 L LR計算部 2は、算出した受信 LLRを初期値 z (Q) ( : =F )として途中結果保持部 4に m,n n
設定する。このとき、制御部 7は、復号の繰り返し回数 iを i= lと初期化する。
[0446] 次に、ステップ ST4cにおいて、繰り返し回数 i= lから i=最終復号回(最大繰り返し 回数 I )まで行処理部 5及び列処理部 6による繰り返し復号処理であるステップ 1と、 max
復号結果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し実行する
[0447] 繰り返し i回目の復号演算を例に説明する。
先ず、復号した 、LDPC符号の検査行列 H ( = [H ])に対して、上記式(26)にお m,n
Vヽて g= 1のとき、行処理部 5は、 1行目と 2行目の行処理を行 、、処理結果を列処理 部 6へ受け渡す。列処理部 6では、 n列目の列処理を行い、処理結果を途中結果保
1
持部 4に保持させる。
[0448] 次に、上記式(26)において g = 2のとき、行処理部 5は、 2行目と 3行目の行処理を 行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、(n + 1)列目の列処理
1
を行い、処理結果を途中結果保持部 4に保持させる。
[0449] 続いて、上記式(26)において g = 3以降の処理として、行処理部 5は、 4行目以降 の処理を上記と同様に逐次実行し、その都度、処理結果を列処理部 6に受け渡す。 また、列処理部 6は、 (n + 2)列目以降の列処理を逐次実行し、その都度、処理結果
1
を途中結果保持部 4に保持させる。
[0450] このあと、上記式(26)において g=N— n— 1になると、行処理部 5は、(M— 1)行
1
目と M行目の行処理を行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、 ( N- 1)列目の列処理を行って処理結果を途中結果保持部 4に保持させる。
[0451] 次に、上記式(26)において g= (N— n )のとき、行処理部 5は、 M行目の行処理を
1
行い、処理結果を列処理部 6へ受け渡す。列処理部 6では、 N列目の列処理を行い 、処理結果を途中結果保持部 4に保持させる。
[0452] これに続く上記式(26)の g= (N-n + 1)〜Nの処理では、列処理部 6が LSB以
1
外の列の演算を行う。例えば、 LSB以外が割り当てられた 1列目が演算対象であれ ば、行処理部 5にて 1列目に 1を持つ行の行処理を行い、その処理結果を列処理部 6 へ受け渡す。列処理部では、同様に 1列目の列処理を行って処理結果を途中結果 保持部 4に保持させる。
[0453] 上述した処理において、行処理部 5が上記式(2)に従うことで、 g= l以降の処理で は、繰り返し i回目にて既に更新された LLRを持つ列に関しては、受信 LLRではなく 更新された LLRを用いて行処理が実行される。
[0454] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z①を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が 、ノリティ検査の結果が NGであるならば、繰り返し回数 iを 1増やし、続いてステップ 1 の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満た せば、後述するステップ 3の処理に移行させる。
[0455] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I となるまでステップ 1及びステップ max
2の処理を繰り返すように行処理部 5及び列処理部 6を制御する。
[0456] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3 (ステップ ST5)として、制御部 7 max
が行処理部 5及び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号 結果として上記式 (6)のような復号系列を出力する。 [0457] 以上のように、この実施の形態 16によれば、検査行列の右上三角が 0の構造を持 ち、検査ビットが対角状の LDPC符号で多値変調して符号ィ匕データを送受信するに あたり、当該符号構成に適応して変調信号点を割り当てて送受信し、その受信信号 を Shuffled BPアルゴリズムで復号を行う際、 LSB力 順序付けして先に LSBの演 算を行うので、 LSBへは信頼度の高い確率情報が伝搬され、 LSBの復号が早く進み 、繰り返し回数を削減することができる。
[0458] なお、上記実施の形態 16では、 Shuffled BPアルゴリズムの順序制御を行う例を 示すが、他の受信信号に対する行処理と列処理による確率情報の算出及び更新を 1 ビットずつ、若しくは予め定めた複数ビットずつ行う復号アルゴリズムでも同様である。 また、多値変調方式として 4PAMを例とする力 ビットごとに誤り率に偏りが現れる他 の多値変調方式でも同様である。
[0459] また、上記実施の形態 16では、変調方式として 4PAMを例として挙げた力 他にビ ット誤り率に違いの生じる多値変調方式でも同様にして、誤り率の高いビットを検査ビ ットに割り当てた場合には、誤り率の高い LSB力も順に復号を行うようにしてもよい。
[0460] 実施の形態 17.
この実施の形態 17は、 Shuffled BPアルゴリズムのように受信信号に対する行処 理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビ ットずつ行うアルゴリズムで復号を行うにあたり、これらの演算を並列化して実行する ものである。
[0461] 図 29は、この発明の実施の形態 17による LDPC符号復号装置の構成を示すプロ ック図である。実施の形態 17による LDPC符号復号装置 1は、上記実施の形態で示 した構成と同様に受信 LLR算出部 2と復号コア部 3で構成される。但し、実施の形態 17による復号コア部 3は、復号途中結果保持部 4、制御部 7及び復号結果判定部 8 の他、行重みの大きさに応じて並列に行処理を実行する行処理部 5— 1〜5— w及 びこれらの処理結果に応じて列処理を実行する列処理部 6を有する。
[0462] つまり、通常、 Shuffled BPアルゴリズムでは、選択した 1列において 1を持つ行の 行処理を行い、その列の列処理を行う。これに対して、実施の形態 17による LDPC 符号復号装置 1では、 Shuffled BPアルゴリズムで復号を行うにあたり、行処理及び 列処理の演算を並列に実行する。
[0463] 次に動作について説明する。
先ず、受信 LLR計算部 2は、受信情報を入力すると、当該受信情報から受信 LLR を算出する。次に初期ィ匕ステップにおいて、受信 LLR計算部 2は、算出した受信 LL Rを初期値 z (0) ( : =F )として途中結果保持部 4に設定する。このとき、制御部 7は、 m,n n
復号の繰り返し回数 iを i= 1と初期化する。
[0464] 続いて、繰り返し回数 i= lから i=最終復号回(最大繰り返し回数 I )まで、上記式 max
(1)の条件に対し、上記式(2)、(3)に従う行処理部 5— 1〜5— wによる行処理及び 上記式 (4)、 (5)に従う列処理部 6による列処理力 なる繰り返し復号処理であるステ ップ 1と、復号結果判定部 8による上記式(7)に従うステップ 2の判定処理を繰り返し 実行する。
[0465] 繰り返し i回目の復号演算を例に説明する。
図 30は、図 29中の行処理部及び列処理部による復号演算を説明するためのプロ ック図である。この図を用いて復号演算の流れを説明する。
先ず、復号したい LDPC符号の検査行列 H ( = [H ])に対して、上記式(1)におい m,n
て g= lのとき、行処理部 5—1〜5— wは、 1列目の列に 1を持つ w行分の行に対する 行処理を並列に実行し、処理結果を列処理部 6へ受け渡す。
[0466] 次に、 g = 2のとき、列処理部 6は、 1列目の列処理を行い、処理結果を途中結果保 持部 4に保持させる。一方、行処理部 5— 1〜5— wは、 2列目の列に 1を持つ w行分 の行に対する行処理を並列に実行し、処理結果を列処理部 6に受け渡す。
[0467] 続いて、 g = 3のとき、列処理部 6は、 2列目の列処理を行い、処理結果を途中結果 保持部 4に保持させる。行処理部5— 1〜5— では、 3列目の列に 1を持つ w行分の 行に対する行処理を並列に実行し、処理結果を列処理部 6に受け渡す。
[0468] 同様に、 g=4以降において、行処理部 5— 1〜5— wによって 4列目以降の列に 1 を持つ w行分の行に対する行処理を並列に逐次実行し、各処理結果が列処理部 6 に受け渡される。一方、列処理部 6では 3列目以降の列処理を逐次実行して、各処 理結果を途中結果保持部 4に保持する。このように復号演算を並列化することで、処 理時間を削減することができる。 [0469] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z (i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が 、ノ リティ検査の結果が NGであるならば、繰り返し回数 iを 1増やし、続いてステップ 1 の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満た せば、後述するステップ 3の処理に移行させる。
[0470] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I となるまで、上記式 (8)に基づぐ max
ステップ 1及びステップ 2の処理を繰り返すように行処理部 5及び列処理部 6を制御す る。
[0471] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3として、制御部 7が行処理部 5及 max
び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号結果として上記 式 (6)のような復号系列を出力する。
[0472] なお、上述したように行処理と列処理を並列化した場合、次の行処理には 1列前の 行処理の結果が反映できず、 Shuffled BPアルゴリズムの特徴である効率的な確 率伝搬を遅らせるように見える。しかしながら、一般的に LDPC符号の行列で 1を持 つ要素は非常に疎であり、隣の列に 1を持つことはほとんどない。このため、通常の L DPC符号の検査行列であれば、確率伝搬に大きく影響することはな!/、。
[0473] 図 31は、図 29中の行処理部及び列処理部による他の復号演算を説明するための ブロック図である。上述したように、一般的な Shuffled BPアルゴリズムであれば、隣 の列に 1を持つことはほとんどないため、確率伝搬に大きく影響することはないが、上 記実施の形態 12で示した図 21の LDPC符号の行列のように検査ビット部分の 1が隣 り合って 、る場合、図 31に示すように並列化した行処理のみを行えば良!、。
[0474] 繰り返し i回目の復号演算を例に挙げて具体的に説明する。
先ず、復号したい LDPC符号の検査行列 H ( = [H ])に対して、上記式(1)におい m,n
て g= lのとき、行処理部 5—1〜5— wは、 1列目の列に 1を持つ w行分の行に対する 行処理を並列に実行し、処理結果を列処理部 6へ受け渡す。列処理部 6では、 1列 目の列処理を行い、処理結果を途中結果保持部 4に保持させる。 [0475] 次に、 g = 2のとき、行処理部 5— 1〜5— wは、 2列目の列に 1を持つ w行分の行に 対する行処理を並列に実行し、処理結果を列処理部 6に受け渡す。列処理部 6では 、 2列目の列処理を行い、処理結果を途中結果保持部 4に保持させる。
[0476] 続いて、 g = 3のとき、行処理部5— 1〜5— では、 3列目の列に 1を持つ w行分の 行に対する行処理を並列に実行し、処理結果を列処理部 6に受け渡す。列処理部 6 は、 3列目の列処理を行い、処理結果を途中結果保持部 4に保持させる。
[0477] 同様に、 g=4以降において、行処理部 5— 1〜5— wによって 4列目以降の列に 1 を持つ w行分の行に対する行処理を並列に逐次実行し、各処理結果が列処理部 6 に受け渡される。一方、列処理部 6では 4列目以降の列処理を逐次実行して、各処 理結果を途中結果保持部 4に保持する。
[0478] 以上のように、この実施の形態 17によれば、 Shuffled BPアルゴリズムにおける復 号演算を並列に実行する行処理部 5— 1〜5— w及び列処理部 6を設けたので、復 号演算に係る処理時間を短縮することができ、復号処理による遅延時間を削減する ことが可能となる。
[0479] なお、上記実施の形態 17では、 Shuffled BPアルゴリズムの行処理及び列処理 の演算を並列化した例を示したが、受信信号に対する行処理と列処理による確率情 報の算出及び更新を 1ビットずつ若しくは予め定めた複数ビットずつ行う、他の復号 アルゴリズムでも同様に適用することができる。
[0480] 実施の形態 18.
この実施の形態 18は、 Shuffled BPアルゴリズムのように、受信信号に対する行 処理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定めた複 数ビットずつ行う復号アルゴリズムで、巡回構造を持つ LDPC符号を復号するにあた り符号構造に基づいて復号演算を並列に実行する。
[0481] 本実施の形態 18による LDPC符号復号装置は、図 29に示した上記実施の形態 1 7による LDPC符号復号装置と基本的に同様な構成を有しているが、巡回構造を持 つ LDPC符号の符号構造に基づいて復号演算を並列に実行するために各行処理 部の処理内容が異なる。以降では、 Shuffled BPアルゴリズムにおいて、擬似巡回 符号の符号構成の特徴を利用して復号演算を並列に処理する構成を例に挙げて具 体的に説明する。
[0482] 擬似巡回符号は、図 32に模式図で示すように、単位行列である基本行列 I (0)と基 本行列を巡回置換した行列 I (1) , 1(2), 1(3), ···, I(k)の組み合わせで構成される 。構成された擬似巡回符号を H = [H ]とする。ここで、 nは 0以上 N未満の整数、 m m,n
は 0以上 M未満の整数であり、 H は Hの m行 n列目要素とする。集合 [1, N]の部分 m,n
集合?^(111)を?^(111) = {11:11 =1}、Μ(η)を M(n) = {m:H =1}と定義する。
m,n m,n
[0483] つまり、 N(m)は検査行列 Hの m行において 1が立っている列インデックスの集合を 意味し、 M(n)は検査行列 Hの n行において 1が立っている行インデックスの集合を 指す。また、単位行列の大きさを (pXp)とする。図 32の例では、 N=4p, M = 3pと なっており、擬似巡回符号には以下の特徴がある。
(特徴 1)
M(n) [m:H =1}(ηは 1以上 p以下)において、互いに同じ行に 1を持たない。
m,n
M(n) [m:H =1}(ηは p以上 2p以下)において、互いに同じ行に 1を持たない m,n
M(n) [m:H =1}(ηは 2p以上 3p以下)において、互いに同じ行に 1を持たな い。
(特徴 2)
N(m) [n:H =l}(mは 1以上 p以下)において、互いに同じ列に 1を持たない。
m,n
N(m) [n:H =l}(mは p以上 2p以下)において、互いに同じ列に 1を持たない m,n
N(m) [n:H =l}(mは 2p以上 3p以下)において、互いに同じ列に 1を持たな い。
[0484] このような擬似巡回符号では、 Shuffled BPアルゴリズムで復号を行う際、特徴 1 力も nが 1以上 p以下のときでは列処理を並列して行うことができ、特徴 2から mが 1以 上 p以下のとき行処理を並列して行う際に同じ列を呼び出すことがなぐハードウェア で構成する場合には同じメモリにアクセスすることがないという利点がある。
[0485] 本実施の形態 18による LDPC符号復号装置は、上述したように、受信情報から受 信 LLRを算出する受信 LLR算出部 2と復号コア部 3とから構成され、復号コア部 3〖こ より擬似巡回符号の符号構成の特徴を利用して復号演算が並列に処理される。復号 コア部 3は、途中結果保持部 4、行処理部 5— 1〜5— p、列処理部 6、制御部 7及び 復号結果判定部 8から構成される。
[0486] 途中結果保持部 4は、上記実施の形態 17で説明したように、行処理部 5— 1〜5— P及び列処理部 6による復号の途中結果を保持する。行処理部 5— 1〜5— pは、図 3 2に示す疑似巡回符号の単位行列の全ての行に対応する p行分設けられ、巡回構 造の基本行列の大きさに並列化されている。列処理部 6は列処理を行う。
[0487] 制御部 7は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果 判定部 8では、列処理部 6が求めた事後値の硬判定から上記式 (6)により復号結果 の復号系列を算出し、パリティ検査を行って上記式 (7)の条件から復号結果の正誤 を判定する。
[0488] 次に動作について説明する。
先ず、受信 LLR計算部 2は、受信情報を入力すると、当該受信情報から受信 LLR を算出する。次に初期ィ匕ステップにおいて、受信 LLR計算部 2は、算出した受信 LL Rを初期値 z (0) ( : =F )として途中結果保持部 4に設定する。このとき、制御部 7は、 m,n n
復号の繰り返し回数 iを i= 1と初期化する。
[0489] 続いて、繰り返し回数 i= lから i=最終復号回(最大繰り返し回数 I )まで、行処理 max
部 5— 1〜5— pによる行処理及び列処理部 6による列処理からなる繰り返し復号処理 であるステップ 1と、復号結果判定部 8による上記式(7)に従うステップ 2の判定処理 を繰り返し実行する。
[0490] 繰り返し i回目の復号演算を例に説明する。
図 33は、実施の形態 18による行処理部及び列処理部の復号演算を説明するため のブロック図である。この図を用いて復号演算の流れを説明する。
先ず、復号したい LDPC符号の検査行列 H ( = [H ])に対して、行処理部 5— 1〜 m,n
5— pは、 1行目力も p行目まで 1列から p列までに関連した行処理を並列に実行し、 p 行目から 2p行目までの 1列力 p列までに関連した行処理を並列に実行し、 2p行目 力 3p行目までの 1列力 p列までに関連した行処理を実行して、処理結果を列処 理部 6へ受け渡す。 [0491] ここで、 1列から p列までに関連した行処理では、下記式(27)の条件に対し、上記 式 (2)及び式 (3)を用いた演算を実行する。
[数 19] i≤n≤ p ,
Figure imgf000094_0001
/ )
[0492] 次に、列処理部 6は、例えば上記式 (4)及び上記式(5)を用いて、 1列目から ρ列目 までの列処理を並列に実行し、処理結果を途中結果保持部 4に保持させる。
[0493] 続いて、行処理部 5— 1〜5—ρは、 1行目から ρ行目まで ρ列から 2ρ列までに関連し た行処理を並列に実行し、 ρ行目から 2ρ行目までの ρ列から 2ρ列までに関連した行 処理を並列に実行し、 2ρ行目から 3ρ行目までの ρ列から 2ρ列までに関連した行処理 を実行して、処理結果を列処理部 6へ受け渡す。なお、 ρ列から 2ρ列までに関連した 行処理では、上記式(27)における ηを ρから 2ρまでとし、この条件に対し上記式(2) 及び式 (3)を用いた演算を実行する。
[0494] 次に、列処理部 6は、例えば上記式 (4)及び上記式(5)を用いて、 ρ列目から 2ρ列 目までの列処理を並列に実行し、処理結果を途中結果保持部 4に保持させる。
[0495] 続いて、行処理部 5— 1〜5— ρは、 1行目から ρ行目まで 2ρ列から 3ρ列までに関連 した行処理を並列に実行し、 ρ行目から 2ρ行目までの 2ρ列から 3ρ列までに関連した 行処理を並列に実行し、 2ρ行目から 3ρ行目までの 2ρ列から 3ρ列までに関連した行 処理を実行して、処理結果を列処理部 6へ受け渡す。なお、 2ρ列から 3ρ列までに関 連した行処理では、上記式(27)における ηを 2ρから 3ρまでとし、この条件に対し上 記式(2)及び式(3)を用いた演算を実行する。
[0496] 次に、列処理部 6は、例えば上記式 (4)及び上記式(5)を用いて、 2ρ列目から 3ρ 列目までの列処理を並列に実行し、処理結果を途中結果保持部 4に保持させる。
[0497] 続いて、行処理部 5— 1〜5— ρは、 1行目から ρ行目まで 3ρ列から 4ρ列までに関連 した行処理を並列に実行し、 ρ行目から 2ρ行目までの 3ρ列から 4ρ列までに関連した 行処理を並列に実行し、 2ρ行目から 3ρ行目までの 3ρ列から 4ρ列までに関連した行 処理を実行して、処理結果を列処理部 6へ受け渡す。なお、 3ρ列力も 4ρ列までに関 連した行処理では、上記式(27)における ηを 3ρから 4ρまでとし、この条件に対し上 記式(2)及び式(3)を用いた演算を実行する。
[0498] 次に、列処理部 6は、例えば上記式 (4)及び上記式(5)を用いて、 3p列目から 4p 列目までの列処理を並列に実行し、処理結果を途中結果保持部 4に保持させる。
[0499] なお、上述した処理例では、疑似巡回符号の特徴 2を利用して行処理を l〜p, p〜
2p, 2p〜3pに分けて行処理する例を示した力 l〜3pの全てを並列に実行させるこ とも可能である。
[0500] ステップ 2では、復号結果判定部 8が、列処理部 6により繰り返し i回目で算出された 事後値 z①を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部 7が 、ノリティ検査の結果が NGであるならば、繰り返し回数 iを 1増やし、続いてステップ 1 の処理を行処理部 5及び列処理部 6に実行させる。一方、上記式(7)の条件を満た せば、後述するステップ 3の処理に移行させる。
[0501] このようにして、制御部 7は、上記式(7)に示すように、パリティ検査の結果が OKと なるか、若しくは繰り返し回数が設定した最大値 I となるまで、上記式 (8)に基づぐ max
ステップ 1及びステップ 2の処理を繰り返すように行処理部 5及び列処理部 6を制御す る。
[0502] 復号結果判定部 8によるパリティ検査の結果が OKとなる力、制御部 7により設定さ れた繰り返し回数 iが最大値 I となれば、ステップ 3として、制御部 7が行処理部 5及 max
び列処理部 6による復号処理を終了させ、復号結果判定部 8が復号結果として上記 式 (6)のような復号系列を出力する。
[0503] 以上のように、この実施の形態 18によれば、擬似巡回符号のように巡回構造を持つ た LDPC符号を Shuffled BPアルゴリズムで復号する場合に、巡回構造の特徴を 利用するので、行処理及び列処理の並列化が可能となり、復号演算に係る処理時間 を短縮することができることから復号処理に要する遅延時間を削減することができる。
[0504] なお、上記実施の形態 18では、 Shuffled BPアルゴリズムを例に挙げて説明した 力 受信信号に対する行処理と列処理による確率情報の算出及び更新を 1ビットず つ若しくは予め定めた複数ビットずつ行う他の復号アルゴリズムでも同様に適用する ことができる。また、巡回構造を持つ LDPC符号として擬似巡回符号を例に挙げたが 、他の巡回構造を持つ LDPC符号でも同様である。 [0505] 実施の形態 19.
この実施の形態 19は、 Max— Log— MAPアルゴリズムに受信情報力も減算とビッ トシフト演算のみで算出できる補正項による補正を行う補正型の Max— Log— MAP アルゴリズムを復号アルゴリズムとして備えるものである。
[0506] 図 34は、この発明の実施の形態 19による Turbo符号復号装置の構成を示すプロ ック図である。本実施の形態 19による Turbo符号復号装置 24は、受信値保持部 25 及び Turbo復号処理部 26から構成される。 Turbo符号では、情報ビット系列 dとその ノ リティビット系列 p1、インタリーブした情報ビット系列のパリティビット系列 p2を符号化 情報として送信する。受信値保持部 25は、それらの受信値 R、 P1 P2を分けてそれぞ れの受信値を保持し、 Turbo復号処理部 26に出力する。 Turbo復号処理部 26は、 途中結果保持部 27、メトリック計算部 28、インタリーブ処理部 29及び繰り返し制御部 30から構成される。
[0507] 途中結果保持部 27は、受信値保持部 25から入力した受信値に基づくメトリック計 算部 28による復号処理の途中結果を保持する。メトリック計算部 28は、上述した補正 項による補正を行う補正型の Max— Log— MAPアルゴリズムによるメトリック計算を 行い、復号結果を出力する。インタリーブ処理部 29は Turbo符号ィ匕に従ったインタリ ーブ処理を行う。繰り返し制御部 30は、メトリック計算部 28とインタリーブ処理部 29に よる復号処理の繰り返しを制御する。
[0508] メトリック計算部 28では、 Max— Log— MAPアルゴリズムでの処理が
[数 20] (4,4) = ΜΛΧ(4, Λ) ( MAXは入力; i iirtの ft大 ffiを選択する処理) · · ( 2 3 ) であるのに対し,
[数 21]
F{Ai ,A2} ^ ma.x(Ai, A2) + S, ( δ = C 丄 |4 _ 4| ) ' ' ' ( 2 9 ) と最大値を補正しながらメトリック値の算出と更新を行う。 [0509] なお、上記式(29)において、 Max— Log— MAPアルゴリズムに対する補正項とな る δについては、 Log— MAPアルゴリズムの更新式力 級数展開して得ることのでき る近似項であり、入力する 2値の差と 2による除算、定数 C力 の減算のみで算出する ことができる。
[0510] また、定数 Cについては、 Log— MAPアルゴリズムの更新式からの近似計算で得 られる ln (2)が 1例であるが、適切に値を設定することで復号性能を向上させることも 可能である。さらに 2による除算については、ハードウェアなど 2進数で表現された系 にお 、ては、 1ビットのビットシフト演算で可能である。
[0511] インタリーブ処理部 29では、復号したい Turbo符号のインタリーブ処理を行うため の情報をメトリック計算部 28に与え、繰り返し制御部 30では繰り返し回数とインタリー ブを行う場合と行わな!/ヽ場合の制御を行う。
[0512] 次に動作について説明する。
図 35は、実施の形態 19による Turbo符号復号装置の動作を示すフローチャートで あり、この図に沿って動作を説明する。
先ず、受信値保持部 25は、受信情報として受信値 R、 P1., P2を分けて保持しておく
(ステップ ST1)。次に初期ィ匕ステップ (ステップ ST2)において、繰り返し制御部 30 は、復号の繰り返し回数 iを i= lと初期化する。
[0513] 次に、ステップ ST3において、繰り返し回数 i= lから i=最終復号回(最大繰り返し 回数 I )
maxまでメトリック計算部とインタリーブ処理部による繰り返し復号処理であるステ ップ 1を繰り返し実行する。
[0514] 繰り返し i回目の復号演算を例に説明する。
先ず、ステップ 1において、メトリック計算部 5は、復号したい Turbo符号に対して繰 り返し i回目の復号演算におけるインタリーブのない受信値に対するメトリック計算を 行う。具体的に説明すると、受信値 R、 P1に対し、上記式 (29)で補正を行う Max— L og— MAPアルゴリズムに従ってメトリック計算を行い、処理結果を途中結果保持部 2 7に保持させる。インタリーブのないメトリック計算を行うには、受信値 R、 P1を受信値 保持部から呼び出す際に iを先頭力も順にインクリメントして行う。
[0515] ステップ 2では、メトリック計算部 28が、復号したい Turbo符号に対して繰り返し i回 目の復号演算におけるインタリーブのあるメトリック計算を行う。具体的に説明すると、 受信値 P2とインタリーブした受信値 Rに対し、上記式(29)で補正を行う Max— Log — MAPアルゴリズムに従ってメトリック計算を行い、メトリック値を途中結果保持部 27 に保持させる。受信値 Rをインタリーブするには、受信値保持部 25から受信値を呼び 出す際に、インタリーブ処理部から呼び出す番号 iの情報を受けて呼び出すことで行
[0516] このようにして、繰り返し制御部 30は、繰り返し回数が設定した最大値 I となるまで max
、ステップ 1、 2を繰り返すようにメトリック計算部とインタリーブ処理部を制御する。
[0517] 繰り返し制御部 30により設定された繰り返し回数 iが最大値 I となれば、ステップ S max
T4として、繰り返し制御部 30がメトリック計算部 28及びインタリーブ処理部 29による 復号処理を終了させ、メトリック計算部力 復号結果を出力する。
[0518] 以上のように、この実施の形態 19によれば、受信情報の減算及びビットシフト演算 のみで算出できる補正項による補正を行う補正型の Max - Log - MAPアルゴリズム に従って復号処理を実行するので、従来の Log— MAPアルゴリズム力もの復号性能 の劣化を抑えることができる上、従来の Max— Log— MAPアルゴリズムと比較すると 格段に復号性能を向上させることができる。
[0519] さらに、受信情報に基づく補正項を算出するための計算は、減算と 1ビットシフト演 算のみで実行することが可能であり、実施の形態 19による Turbo復号装置 1を簡易 なハードウェア構成で実現することができる。
[0520] 実施の形態 20.
本実施の形態 20では、前述した実施の形態 1から実施の形態 19までの復号処理 を適用するシステムについて説明する。例えば、本発明に係る LDPC復号処理は、 移動体通信 (端末、基地局)、無線 LAN、光通信、衛星通信、量子暗号装置等、通 信機器全般に適用できる。具体的には、図 36に示すように、 LDPC符号化器 31、変 調器 32、通信路 33、復調器 34、及び LDPC復号器 35を含んでなるシステムを構成 し、このシステムにおける LDPC復号器 35として、上記実施の形態 1〜 19に示す復 号器を搭載し、誤り訂正を行う。
[0521] 図 37は、この発明に係る復号処理を、移動体端末 36及びこの移動体端末 36と通 信を行う基地局 37を備えた移動体通信システムに適用した場合の構成例を示す図 である。図において、移動体端末 36は、 LDPC符号化器 31、変調器 32、復調器 34 、 LDPC復号器 35及びアンテナ 42を備える。また、基地局 37は、 LDPC復号器 43 、復調器 44、変調器 45、 LDPC符号化器 46及びアンテナ 47を備えている。
[0522] 移動体端末 36及び基地局 37の LDPC復号器 35, 43としては、前述した実施の形 態 1〜 19で説明した構成の LPDC復号器を適用する。
[0523] 上記のように構成される移動体通信システムにお!/ヽて、移動体端末 36からデータ を送信する場合は、データを LDPC符号化器 37が符号ィ匕し、変調器 38とアンテナ 4 1を介して無線通信路へ送出する。
[0524] 一方、基地局 37では、無線通信路中で発生した誤りを含む受信信号を、アンテナ 47と復調器 44を介して受け取り、復調後の受信データを LDPC復号器 43にて訂正 する。なお、ネットワーク力も移動体端末 36が各種データを受信する場合についても 、上記と同様の処理で、基地局 37が移動体端末 36へ符号化データを送信し、移動 体端末 36が各種データを受信して復号する。
[0525] 基地局 37が移動体端末 36へ符号化データを送信する場合は、データを LDPC符 号化器 46により符号化し、符号ィ匕データを変調器 45とアンテナ 47を介して無線通 信路へ送出する。一方、移動体端末 36では、無線通信路中で発生した誤りを含む 受信信号を、アンテナ 42と復調器 34を介して受け取り、復調後の受信データを LDP C復号器 35にて訂正する。
[0526] 以上のように、この実施の形態 20によれば、上記実施の形態 1から上記実施の形 態 19までに示した復号処理を移動体通信システムに適用したので、移動体端末 36 及び基地局 37による復号処理において、上記実施の形態 1から上記実施の形態 19 までに示した効果をそれぞれ得ることができる。
産業上の利用可能性
[0527] 以上のように、この発明に係る復号方法は、デジタル通信における復号技術として 有用であり、特に符号化方式として LDPC符号を採用する通信装置に適して!/ヽる。

Claims

請求の範囲
[1] 低密度ノ リティ検査(Low-density Parity-check : LDPC)符号ィ匕された受信信号に 対して Min— Sumアルゴリズムに従う行処理及び列処理による確率情報の算出及び その更新を 1ビットずつ若しくは予め定めた複数ビットずつ実行する復号手段を備え た復号装置。
[2] 低密度ノ リティ検査(Low-density Parity-check : LDPC)符号ィ匕された受信信号に 対して Normalized BP (Belief Propagation)に従う行処理及び列処理による確率情 報の算出及びその更新を 1ビットずつ若しくは予め定めた複数ビットずつ実行する復 号手段を備えた復号装置。
[3] 低密度ノ リティ検査(Low-density Parity-check : LDPC)符号ィ匕された受信信号に 対して Off set BP (Belief Propagation)に従う行処理及び列処理による確率情報の 算出及びその更新を 1ビットずつ若しくは予め定めた複数ビットずつ実行する復号手 段を備えた復号装置。
[4] 低密度ノ リティ検査(Low-density Parity-check : LDPC)符号ィ匕された受信信号に 対して、 Min— Sumアルゴリズムに従う行処理及び列処理による確率情報の算出及 びその更新を実行するにあたり、前記確率情報である対数尤度比を前記受信信号 力 算出した補正項で補正する更新式を用いて行処理における更新演算を行う復 号手段を備えた復号装置。
[5] 復号手段は、行処理及び列処理による確率情報の算出及びその更新を 1ビットず つ若しくは予め定めた複数ビットずつ実行することを特徴とする請求項 4記載の復号 装置。
[6] 復号手段は、行処理により算出される対数尤度比を所定の定数で除算して前記対 数尤度比の大きさを、 Sum— Productアルゴリズムによる対数尤度比の大きさと同程 度に調整することを特徴とする請求項 4記載の復号装置。
[7] 復号手段は、行処理及び列処理による確率情報の算出及びその更新を 1ビットず つ若しくは予め定めた複数ビットずつ実行することを特徴とする請求項 6記載の復号 装置。
[8] 復号手段は、行処理により算出される対数尤度比から所定の定数を減算して前記 対数尤度比の大きさを、 Sum— Productアルゴリズムによる対数尤度比の大きさと同 程度に調整することを特徴とする請求項 4記載の復号装置。
[9] 復号手段は、行処理及び列処理による確率情報の算出及びその更新を 1ビットず つ若しくは予め定めた複数ビットずつ実行することを特徴とする請求項 8記載の復号 装置。
[10] 低密度ノ リティ検査(Low-density Parity-check : LDPC)符号ィ匕された受信信号に 対して Normalized BP (Belief Propagation)に従う行処理及び列処理による確率情 報の算出及びその更新を実行する復号手段を備え、
前記復号手段は、行処理を実行する行処理部と、列処理を実行する列処理部とを 有し、
前記行処理部は、対数尤度比の更新演算を実行する比較部と、前記比較部による 更新演算結果を定数 (Normalization Factor)で除算して、前記対数尤度比の大きさ を、 Sum— Productアルゴリズムによる対数尤度比の大きさと同程度に調整する除 算部と、受信信号の変調方式に依存したビット誤り率及び Z又は LDPC符号の検査 行列の行重みに応じて決定した行ごとの定数 (Normalization Factor)を予め記憶し、 前記行処理部が行処理を実行する行に対応する前記定数を前記行処理部に出力 する除算定数選択部とを有してなる復号装置。
[11] 低密度ノ リティ検査(Low-density Parity-check: LDPC)符号ィ匕された受信信号に 対して Off set BP (Belief Propagation)に従う行処理及び列処理による確率情報の 算出及びその更新を実行する復号手段を備え、
前記復号手段は、行処理を実行する行処理部と、列処理を実行する列処理部とを 有し、
前記行処理部は、対数尤度比の更新演算を実行する比較部と、前記比較部による 更新演算結果を定数 (Offset Factor)で減算して、前記対数尤度比の大きさを、 Sum Productアルゴリズムによる対数尤度比の大きさと同程度に調整する減算部と、受 信信号の変調方式に依存したビット誤り率及び Z又は LDPC符号の検査行列の行 重みに応じて決定した行ごとの定数 (Offset Factor)を予め記憶し、前記行処理部が 行処理を実行する行に対応する前記定数を前記行処理部に出力する減算定数選 択部とを有してなる復号装置。
[12] 低密度ノ リティ検査(Low-density Parity-check :LDPC)符号ィ匕された受信信号に 対して行処理及び列処理による確率情報の算出及びその更新を 1ビットずつ若しく は予め定めた複数ビットずつ実行する復号手段を備え、
前記復号手段は、行処理を実行する行処理部と、受信信号の変調方式に依存した ビット誤り率又は LDPC符号の検査行列の構成に応じて複数の列力 なるグループ 分割する演算列制御部と、前記グループごとに列処理演算を実行する列処理部とを 有してなる復号装置。
[13] 演算列制御部は、同じグループに属す列同士の行インデックスの集合に同じ行を 含まな 、ようにグループ分割することを特徴とする請求項 12記載の復号装置。
[14] 低密度ノ リティ検査(Low-density Parity-check :LDPC)符号ィ匕された受信信号に 対し、受信信号の変調方式に依存したビット誤り率又は LDPC符号の検査行列の構 成に応じた復号順序に従って、行処理及び列処理による確率情報の算出及びその 更新を 1ビットずつ若しくは予め定めた複数ビットずつ実行する復号手段を備えた復 号装置。
[15] 復号手段は、 LDPC符号の検査行列において同じ列に 1を持つ行ごとに並列に行 処理を実行することを特徴とする請求項 14記載の復号装置。
[16] 復号手段は、巡回構造を有する LDPC符号に対し、当該巡回構造の単位構造に 応じて復号処理を並列に実行することを特徴とする請求項 14記載の復号装置。
[17] LDPC符号の符号化を行う符号化部と、当該 LDPC符号の構成に適応した変調信 号点の割り当てを行う変調部とを有してなる符号ィ匕送信部と、
前記符号化送信部から受信した変調信号の復調を行う復調部と、前記 LDPC符号 の構成に基づく順序制御に従って復号処理を実行する復号手段とを有してなる受信 復号処理部とを備えた通信装置。
[18] 復号手段は、受信信号の変調信号点に基づく順序制御に従って、受信信号に対 する行処理と列処理による確率情報の算出及び更新を 1ビットずつ若しくは予め定め た複数ビットずつ実行することを特徴とする請求項 17記載の通信装置。
[19] Turbo符号化された受信信号に対して、 Max— Log— MAPアルゴリズムに従うメト リック計算による確率情報であるメトリック値の算出及びその更新を実行するにあたり 、前記メトリック値を前記受信信号力 算出した補正項で補正する更新式を用いてメ トリック計算における更新演算を行う復号手段を備えた復号装置。
PCT/JP2005/022104 2004-12-02 2005-12-01 復号装置及び通信装置 WO2006059688A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/791,996 US8201047B2 (en) 2004-12-02 2005-12-01 Decoding apparatus and communications apparatus
EP05811268.1A EP1819056B1 (en) 2004-12-02 2005-12-01 Decoding device and communication device
JP2006548007A JP4777261B2 (ja) 2004-12-02 2005-12-01 復号装置及び通信装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004350168 2004-12-02
JP2004-350168 2004-12-02

Publications (1)

Publication Number Publication Date
WO2006059688A1 true WO2006059688A1 (ja) 2006-06-08

Family

ID=36565121

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/022104 WO2006059688A1 (ja) 2004-12-02 2005-12-01 復号装置及び通信装置

Country Status (6)

Country Link
US (1) US8201047B2 (ja)
EP (1) EP1819056B1 (ja)
JP (1) JP4777261B2 (ja)
KR (1) KR100924189B1 (ja)
CN (1) CN101069356A (ja)
WO (1) WO2006059688A1 (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006191246A (ja) * 2005-01-05 2006-07-20 Nec Corp 復号装置及びその方法並びにプログラム
JP2007013519A (ja) * 2005-06-30 2007-01-18 Nec Electronics Corp 復号装置と方法並びにプログラム
JP2008541496A (ja) * 2005-05-20 2008-11-20 ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド 誤り訂正符号を復号化する方法
WO2009028206A1 (ja) * 2007-08-31 2009-03-05 Panasonic Corporation 復号方法、復号装置、インタリーブ方法及び送信装置
EP1909394A3 (en) * 2006-10-02 2009-09-30 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
JP2010532128A (ja) * 2007-07-04 2010-09-30 エヌエックスピー ビー ヴィ シャッフルldpcデコーディング
JP2011004229A (ja) * 2009-06-19 2011-01-06 Mitsubishi Electric Corp 復号方法及び復号装置
JP2011082865A (ja) * 2009-10-08 2011-04-21 Fujitsu Ltd 復号化装置
US8132080B2 (en) 2005-07-13 2012-03-06 Mitsubishi Electric Corporation Communication apparatus and decoding method
WO2012056713A1 (ja) * 2010-10-29 2012-05-03 株式会社Jvcケンウッド 復号装置および復号方法
US8234555B2 (en) 2007-10-19 2012-07-31 Sony Corporation Data decoding apparatus, data decoding method, data transmitting/receiving system, data receiving apparatus, data receiving method and program
JP2012182623A (ja) * 2011-03-01 2012-09-20 Sony Corp 復号装置、復号方法、およびプログラム
US8281205B2 (en) 2007-10-19 2012-10-02 Sony Corporation LDPC decoding apparatus, decoding method and program
JP2013128301A (ja) * 2008-03-28 2013-06-27 Qualcomm Inc マルチバンクllrバッファを含むデインターリーブ機構
JP2013150194A (ja) * 2012-01-20 2013-08-01 Jvc Kenwood Corp 復号装置および復号方法
JP2014099944A (ja) * 2006-07-31 2014-05-29 Agere Systems Inc ハードウェア共用および直列和積アーキテクチャを用いる低密度パリティ検査復号の方法および装置
WO2015087643A1 (ja) 2013-12-09 2015-06-18 三菱電機株式会社 誤り訂正復号装置

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100804793B1 (ko) * 2005-10-07 2008-02-20 삼성전자주식회사 저밀도 패러티 검사 복호기에서의 검사 노드 갱신 방법
US8418023B2 (en) 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
KR101077552B1 (ko) 2007-12-14 2011-10-28 한국전자통신연구원 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사부호의 복호화 장치 및 그 방법
WO2009078653A2 (en) * 2007-12-17 2009-06-25 Electronics And Telecommunications Research Institute Preprocessing apparatus and method for group-based decoding
KR20090065411A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 그룹 단위 복호화를 위한 전처리 장치 및 그 방법
US8627165B2 (en) 2008-03-24 2014-01-07 Micron Technology, Inc. Bitwise operations and apparatus in a multi-level system
KR101526317B1 (ko) 2008-05-09 2015-06-11 삼성전자주식회사 계층적 디코딩 장치
US20100169735A1 (en) * 2008-12-31 2010-07-01 Texas Instruments Incorporated Low density parity check code row update instruction
US8572460B2 (en) * 2009-03-17 2013-10-29 Broadcom Corporation Communication device employing binary product coding with selective additional cyclic redundancy check (CRC) therein
JP4545217B1 (ja) 2009-04-03 2010-09-15 三菱電機株式会社 復号装置および復号方法
EP2482464B1 (en) * 2009-09-25 2019-01-23 Panasonic Intellectual Property Corporation of America Encoding apparatus, decoding apparatus, encoding method, decoding method, and communication system
TWI380598B (en) * 2010-05-18 2012-12-21 Univ Nat Taiwan Programmable ldpc code decoder and decoding method thereof
US11336303B2 (en) 2010-06-04 2022-05-17 Micron Technology, Inc. Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
US8615703B2 (en) 2010-06-04 2013-12-24 Micron Technology, Inc. Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
US9131238B2 (en) * 2010-06-18 2015-09-08 The Trustees Of Princeton University System and method for lossy source-channel coding at the application layer
CN101917248A (zh) * 2010-07-20 2010-12-15 北京全路通信信号研究设计院 一种列控报文处理方法、装置和系统
JP5365601B2 (ja) * 2010-09-30 2013-12-11 株式会社Jvcケンウッド 復号装置および復号方法
JP5631846B2 (ja) * 2011-11-01 2014-11-26 株式会社東芝 半導体メモリ装置および復号方法
WO2013147774A1 (en) * 2012-03-28 2013-10-03 Intel Corporation Processing elementary check nodes of an iterative decoder
US8885766B2 (en) * 2012-09-11 2014-11-11 Inphi Corporation Optical communication interface utilizing N-dimensional double square quadrature amplitude modulation
TWI583141B (zh) * 2016-05-12 2017-05-11 國立清華大學 低密度奇偶檢查碼的解碼方法與解碼器
CN106059596B (zh) * 2016-06-24 2019-05-14 中山大学 以二元bch码为成份码的分组马尔可夫叠加编码方法及其译码方法
CN106330203B (zh) * 2016-08-26 2019-12-31 晶晨半导体(上海)股份有限公司 一种ldpc的解码方法
US10419027B2 (en) 2016-10-13 2019-09-17 Qualcomm Incorporated Adjusted min-sum decoder

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003204272A (ja) * 2002-01-08 2003-07-18 Sony Corp 軟出力復号装置及び軟出力復号方法、並びに復号装置及び復号方法
WO2004010588A1 (en) * 2002-07-19 2004-01-29 Samsung Electronics Co., Ltd. Appartaus and method for reducing bit error rates (ber) and frame error rates (fer) using turbo decoding in a digital communication system
JP2004274186A (ja) * 2003-03-05 2004-09-30 Sony Corp 誤り訂正符号の復号評価方法及び装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6829308B2 (en) * 2002-07-03 2004-12-07 Hughes Electronics Corporation Satellite communication system utilizing low density parity check codes
US20040109507A1 (en) * 2002-12-06 2004-06-10 Ido Kanter Sequential decoding of parity check codes
US20080109698A1 (en) * 2006-07-25 2008-05-08 Legend Silicon Hybrid min-sum decoding apparatus with low bit resolution for ldpc code

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003204272A (ja) * 2002-01-08 2003-07-18 Sony Corp 軟出力復号装置及び軟出力復号方法、並びに復号装置及び復号方法
WO2004010588A1 (en) * 2002-07-19 2004-01-29 Samsung Electronics Co., Ltd. Appartaus and method for reducing bit error rates (ber) and frame error rates (fer) using turbo decoding in a digital communication system
JP2004274186A (ja) * 2003-03-05 2004-09-30 Sony Corp 誤り訂正符号の復号評価方法及び装置

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
ANASTASOPOULOS A.: "A comparison between the sum-product and the min-sum iterative detection algorith based density evolution", GLOBAL TELECOMMUNICATIONS CONFERENCE, 2001. GLOBECOM'01. IEEE, vol. 2, 25 November 2001 (2001-11-25), pages 1021 - 1025, XP001099259 *
BANIHASHEMI F.Z.A.H.: "On Implementation of Min-Sum algorithm for Decoding Low-Density Parity-Check (LDPC) Codes", GLOBAL TELECOMMUNICATIONS CONFERENCE, 2002. GLOBEOM'02. IEEE, 17 November 2002 (2002-11-17), pages 1349 - 1353, XP010636365 *
FOSSORIER M.P.C., MIODRAG MIHALJEVIC, HIDEKI IMAI: "Reduced Complexity Iterative Decoding of Low-Density Parity Check Codes Based on Belief Propagation", IEEE TRANSACTIONS ON COMMUNICATIONS, vol. 47, no. 5, May 1999 (1999-05-01), pages 673 - 680, XP002313256 *
GUILLOUD F.: "Architecture générique de decodeur de codes LDPC", THESE PRESENTEE POUR OBTENIR LE GRADE DE DOCTEUR DE L'ECOLE NATIONALE SUPERIEURE DES TELECOMMUNICATIONS, 2 July 2004 (2004-07-02), pages 1 - 166
JINGHU CHEN AND FOSSORIER M.P.C.: "Density Evolution for BP-Based Decoding Algorithms of LDPC Codes and Their Quantized Versions", GLOBAL TELECOMMUNICATIONS CONFERENCE, 2002. GLOBECOM'02. IEEE, vol. 2, 17 November 2002 (2002-11-17), pages 1378 - 1382, XP010636371 *
SAKAI R., MATSUMOTO A., YOSHIDA H.: "LDPC Fugo no Kan'i Fugoho to noso Risanka Mitsudo Hattenho- delta-min Fugoho no Risanka Mitsudo Hattenho ni yoru Tokusei Hyoka-. (Low Complexity Decoding Algorithm for LDPC Codes and its Discretized Density Evolution - Performance Evaluation for DELTA-Min Decoding by Discretized Density Evolution-)", INFORMATION AND COMMUNICATION ENGINEERS GIJUTSU KENKYU HOKOKU (RCS2005-42), vol. 105, no. 196, 21 July 2005 (2005-07-21), pages 13 - 18, XP002996323 *
See also references of EP1819056A4 *
ZHANG J. AND FOSSORIER M.: "Shuffled Belief Propagation Decoding", SIGNALING, SYSTEMS AND COMPUTERS, 2002.CONFERENCE RECORD OF THE THIRTY-CONFERENCE, vol. 1, 3 November 2002 (2002-11-03), pages 8 - 15, XP002348769 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006191246A (ja) * 2005-01-05 2006-07-20 Nec Corp 復号装置及びその方法並びにプログラム
JP2008541496A (ja) * 2005-05-20 2008-11-20 ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド 誤り訂正符号を復号化する方法
JP2007013519A (ja) * 2005-06-30 2007-01-18 Nec Electronics Corp 復号装置と方法並びにプログラム
US7805654B2 (en) 2005-06-30 2010-09-28 Nec Electronics Corporation Decoding device and decoding method and program
US8132080B2 (en) 2005-07-13 2012-03-06 Mitsubishi Electric Corporation Communication apparatus and decoding method
JP2014099944A (ja) * 2006-07-31 2014-05-29 Agere Systems Inc ハードウェア共用および直列和積アーキテクチャを用いる低密度パリティ検査復号の方法および装置
EP1909394A3 (en) * 2006-10-02 2009-09-30 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
US7644339B2 (en) 2006-10-02 2010-01-05 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
US8230298B2 (en) 2006-10-02 2012-07-24 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
JP2010532128A (ja) * 2007-07-04 2010-09-30 エヌエックスピー ビー ヴィ シャッフルldpcデコーディング
US8286050B2 (en) 2007-08-31 2012-10-09 Panasonic Corporation Decoding method, decoding device, interleaving method, and transmitter
WO2009028206A1 (ja) * 2007-08-31 2009-03-05 Panasonic Corporation 復号方法、復号装置、インタリーブ方法及び送信装置
US8448040B2 (en) 2007-08-31 2013-05-21 Panasonic Corporation Decoding method and decoding apparatus
JP2009060453A (ja) * 2007-08-31 2009-03-19 Panasonic Corp 復号方法、復号装置、インタリーブ方法及び送信装置
US8281205B2 (en) 2007-10-19 2012-10-02 Sony Corporation LDPC decoding apparatus, decoding method and program
US8234555B2 (en) 2007-10-19 2012-07-31 Sony Corporation Data decoding apparatus, data decoding method, data transmitting/receiving system, data receiving apparatus, data receiving method and program
JP2013128301A (ja) * 2008-03-28 2013-06-27 Qualcomm Inc マルチバンクllrバッファを含むデインターリーブ機構
JP2011004229A (ja) * 2009-06-19 2011-01-06 Mitsubishi Electric Corp 復号方法及び復号装置
JP2011082865A (ja) * 2009-10-08 2011-04-21 Fujitsu Ltd 復号化装置
JP2012099955A (ja) * 2010-10-29 2012-05-24 Jvc Kenwood Corp 復号装置および復号方法
WO2012056713A1 (ja) * 2010-10-29 2012-05-03 株式会社Jvcケンウッド 復号装置および復号方法
US9026880B2 (en) 2010-10-29 2015-05-05 JVC Kenwood Corporation Decoding apparatus and decoding method for decoding LDPC-encoded data
JP2012182623A (ja) * 2011-03-01 2012-09-20 Sony Corp 復号装置、復号方法、およびプログラム
JP2013150194A (ja) * 2012-01-20 2013-08-01 Jvc Kenwood Corp 復号装置および復号方法
WO2015087643A1 (ja) 2013-12-09 2015-06-18 三菱電機株式会社 誤り訂正復号装置
US10103750B2 (en) 2013-12-09 2018-10-16 Mitsubishi Electric Corporation Error correction decoding apparatus

Also Published As

Publication number Publication date
CN101069356A (zh) 2007-11-07
EP1819056B1 (en) 2013-07-17
JPWO2006059688A1 (ja) 2008-06-05
EP1819056A1 (en) 2007-08-15
JP4777261B2 (ja) 2011-09-21
KR20070073949A (ko) 2007-07-10
US8201047B2 (en) 2012-06-12
EP1819056A4 (en) 2009-03-04
US20080246639A1 (en) 2008-10-09
KR100924189B1 (ko) 2009-10-29

Similar Documents

Publication Publication Date Title
WO2006059688A1 (ja) 復号装置及び通信装置
JP4602418B2 (ja) 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器
KR100983692B1 (ko) 통신 장치 및 복호 방법
JP4867980B2 (ja) 誤り訂正復号装置
WO2007072721A1 (ja) 検査行列生成方法、符号化方法、通信装置、通信システム、符号化器
US10560120B2 (en) Elementary check node processing for syndrome computation for non-binary LDPC codes decoding
CN1771476A (zh) 用于迭代解码的软信息比例变换
JP2008539623A (ja) Ldpc符号化符号語の復号を制御する方法および装置
WO2006075417A1 (ja) 符号化方法、復号方法及びそれらの装置
JP5461728B2 (ja) 低密度パリティ検査符号を使用するデジタルブロードキャスト通信システムにおけるチャネル復号化装置及びその方法
CN104052501A (zh) 低复杂度的多进制ldpc码译码方法
JP2008199623A (ja) メッセージパッシングおよび強制収斂復号法
EP3539234B1 (en) Devices and methods for generating a low density parity check code for a incremental redundancy harq communication apparatus
JP2008544639A (ja) 復号方法と装置
JP2006060695A (ja) 情報復号方法、情報符号化方法、情報通信方法、情報復号装置、送信装置及び情報通信システム
JP5523064B2 (ja) 復号装置及び方法
US10523366B1 (en) Message-passing decoder with fast convergence and reduced storage
JP4341646B2 (ja) 復号装置
CN113067582B (zh) 一种并行译码方法及装置
WO2023105685A1 (ja) 符号化回路、復号回路、符号化方法、復号方法及びコンピュータプログラム
JP5811212B2 (ja) 誤り訂正復号装置
CN115706587A (zh) 用于低密度奇偶校验码解码的装置和方法
JP2019213217A (ja) 誤り訂正復号装置
JP2017212758A (ja) 誤り訂正復号装置
Lunglmayr et al. Parallelized Optimization of LDPC Decoding Algorithms

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

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

Ref document number: 2006548007

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020077012100

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2005811268

Country of ref document: EP

Ref document number: 200580041257.0

Country of ref document: CN

Ref document number: 11791996

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2005811268

Country of ref document: EP