WO2007007801A1 - 通信装置および復号方法 - Google Patents

通信装置および復号方法 Download PDF

Info

Publication number
WO2007007801A1
WO2007007801A1 PCT/JP2006/313891 JP2006313891W WO2007007801A1 WO 2007007801 A1 WO2007007801 A1 WO 2007007801A1 JP 2006313891 W JP2006313891 W JP 2006313891W WO 2007007801 A1 WO2007007801 A1 WO 2007007801A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
column
row
llr
value
Prior art date
Application number
PCT/JP2006/313891
Other languages
English (en)
French (fr)
Inventor
Wataru Matsumoto
Rui Sakai
Hideo Yoshida
Yoshikuni Miyata
Original Assignee
Mitsubishi Electric Corporation
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 Electric Corporation filed Critical Mitsubishi Electric Corporation
Priority to JP2007524684A priority Critical patent/JP4627317B2/ja
Priority to EP06768155.1A priority patent/EP1909395B1/en
Priority to US11/988,565 priority patent/US8132080B2/en
Priority to KR1020087000887A priority patent/KR100983692B1/ko
Priority to CN2006800306754A priority patent/CN101248583B/zh
Publication of WO2007007801A1 publication Critical patent/WO2007007801A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/1122Soft-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 storing only the first and second minimum values per check node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • 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/658Scaling by multiplication or division
    • 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

Definitions

  • the present invention relates to an error correction technique in digital communication, and more particularly to a receiving-side communication apparatus that decodes an LDP C (Low-Density Parity Check) encoded signal and a decoding method thereof. is there.
  • LDP C Low-Density Parity Check
  • Basic algorithms for decoding LDPC codes include the "Sum-Product algorithm” and the “Min-Sake algorithm”, which are log likelihood ratios that are probabilistic reliability information of received signals. Decoding processing is performed by repeatedly performing calculations while calculating (LLR: Log Likelihood Ratio) (see Non-Patent Document 1).
  • LLR Log Likelihood Ratio
  • the “rSum-Product algorithm” described above has high decoding performance, but requires computations using mathematical functions, so it requires a high calculation cost to implement, such as the need to hold a table.
  • a memory that stores at least the number of "1” included in the binary check matrix of "0" and "1” is required.
  • the “Min-S awakening algorithm” does not require a mathematical function and the calculation cost is reduced, but the decoding performance is degraded.
  • Generate (n l, 2, ⁇ , N).
  • the additive white Gaussian noise channel (Additive White Gaussian Noise)
  • the modulation signal received via the communication path is Predetermined digital demodulation is performed according to PSK modulation, and iterative decoding using the “Sum-Product algorithm” is performed on the log-likelihood ratio (LLR) obtained from the demodulation result. Finally, a hard decision result is obtained. Output.
  • n l, 2, ...
  • LLR a (1) is updated by the following equation (3).
  • N (m) represents a set of column numbers having “1” in the m-th row
  • n represents N (m) other than n
  • ⁇ ) represents (1—1) other than the ⁇ -th column.
  • each m, for n repeat first LLR of bit n sent from the bit node n to check node m: beta a (1), it is updated by the following equation (4).
  • M (n) represents a set of row numbers having “1” in the n-th column
  • m represents M (n) other than m
  • a (1) represents 1 other than the m-th row. Represents the LLR from the first check node to the bit node.
  • Non-Patent Document 1 Low Density Notity Check Code and Decoding Method LDPC (Low Density Parity
  • the present invention has been made in view of the above, and provides a communication device and a decoding method capable of reducing the amount of calculation and the amount of memory for decoding processing of LDPC-encoded codewords.
  • the purpose is to obtain. It is another object of the present invention to obtain a communication device and a decoding method that can reduce the quantization size and further reduce the number of repetitions.
  • a communication apparatus is a communication apparatus that decodes an LDPC code-coded codeword using a check matrix.
  • a holding means for holding an intermediate value obtained by a predetermined process in the decoding algorithm, and a log likelihood ratio corresponding to the row weight in the check matrix (the log likelihood ratio sent from the bit node to the check node: the LLR for row processing)
  • Row processing means for executing row processing for calculating a log likelihood ratio (log likelihood ratio sent from check node to bit node: called LLR for column processing) used in column processing based on the absolute value of Column processing for calculating the row processing LLR used in the row processing using the column processing LLR corresponding to the column weight, and further holding the minimum k value of the absolute value of the row processing LLR in the holding means,
  • Column processing means for executing Processing means and performing decoding while updating the minimum k value of the row.
  • the absolute value of the LLR for row processing is reduced to the minimum k value for each row by the cyclic structure.
  • the amount of memory can be greatly reduced.
  • probability propagation can be performed more efficiently than the conventional “Min-Sum algorithm”, so that the number of decoding iterations can be greatly reduced, and in turn the calculation in the decoding process. The effect is that the amount can be greatly reduced.
  • FIG. 1 shows a configuration example of a communication system including an LDPC encoder and an LDPC decoder.
  • FIG. 2 is a diagram showing a configuration example of a row processing unit when a row processing step of “Min-Sum algorithm” is executed in an LDPC decoder.
  • FIG. 3 is a diagram showing a configuration example of a column processing unit when executing a column processing step of “Min-Sum algorithm” in an LDPC decoder.
  • FIG. 4 is a flowchart showing the flow of processing in the “Min-Sum algorithm”.
  • FIG. 5-1 is a diagram illustrating a configuration example of an LDPC decoder according to the first embodiment.
  • FIG. 5-2 is a diagram illustrating a configuration example of the LDPC decoder according to the first embodiment.
  • FIG. 6 is a diagram showing a configuration example of a row processing unit that executes row processing in the “cyclic approximate min algorithm”.
  • FIG. 7-1 is a diagram showing a configuration example of a column processing unit that executes column processing in the “cyclic approximate min algorithm”.
  • FIG. 7-2 is a diagram illustrating a configuration example of a column processing unit that performs column processing in the “cyclic approximate min algorithm”.
  • FIG. 9 is a flowchart showing the flow of processing in the “Cyclic approximate min algorithm”.
  • FIG. 10 is a diagram showing column number notation.
  • FIG. 11 is a diagram showing the results of a comparison simulation between the “Cyclic approximated min algorithm” and the “Min-Sum algorithm”.
  • FIG. 12 is a diagram showing a result of comparison simulation between the “Cyclic approximated min algorithm” and the “Min-Sum algorithm”.
  • FIG. 13 is a diagram illustrating a configuration example of an LDPC decoder according to the second embodiment.
  • FIG. 14 is a diagram showing a performance comparison regarding the number of repetitions.
  • FIG. 15 is a diagram illustrating a configuration example of a row processing unit that executes the row processing according to the third embodiment.
  • FIG. 16 is a diagram illustrating a configuration example of a row processing unit that executes the row processing according to the fourth embodiment.
  • Figure 17 shows the comparison results between the decoding algorithm that applied the “Cyclic approximation min algorithm” or “0 verlapped cyclic approximation min algorithm” to the “ ⁇ min algorithm”, and the “Sum-Product algorithm”.
  • FIG. 18 is a diagram illustrating a configuration example of a row processing unit that executes the row processing according to the fifth embodiment.
  • FIG. 19 is a diagram illustrating a configuration example of a column processing unit that performs column processing in the “serial cyclic approximation min algorithm” according to the sixth embodiment.
  • the decoding method according to the present invention can be applied as a decoding process in a terminal and a base station in wireless communication such as a mobile phone as an example. It can also be applied to satellite communications, HDD, optical communications, wireless LAN, quantum cryptography, and other decryption processes.
  • FIG. 1 is a diagram illustrating a configuration example of a communication system including an LDPC encoder and an LDPC decoder.
  • the communication device on the transmission side (referred to as a transmission device) includes an LDPC encoder 1 and a modulator 2
  • the communication device on the reception side (referred to as a reception device) includes a demodulator 4 and LDPC decoding.
  • the device 5 is included.
  • the LDPC encoder 1 in the transmitter generates, for example, a generation matrix G (K: information length, N: codeword length) of K rows and X N columns by a known method. Then, a message (m 1, m 2,..., M) with an information length K is received and this message and the generator matrix
  • codeword C is generated as shown in equation (6) below.
  • the modulator 2 performs digital modulation on the codeword C generated by the LDPC encoder 1 by a predetermined modulation method such as BPSK, multi-level PSK, multi-level QAM, and the like.
  • x (x 1, X 2,..., x 1) is transmitted to the receiving device via the communication path 3.
  • the LDPC decoder 5 performs iterative decoding using a decoding algorithm according to the present embodiment, which will be described later, using a log likelihood ratio (LLR) obtained from the demodulation result, and the decoding result is hard. Outputs the judgment value (corresponding to the original message m, m, ⁇ , m)
  • Min-Sum algorithm which is a conventional decoding algorithm that is the premise, will be described.
  • Min-Sum algorithm In the "Min-Sum algorithm", first, an initialization step similar to that of the above-mentioned "Sum-Product algorithm” is executed, then the row processing step of the "Min-Sum algorithm” is executed, and then The probability information calculation process and the update process are performed by executing the same column processing steps and stop criteria as the “Sum-Product algorithm” described above. In the following, the “Min-Sum algorithm” row processing steps, which are different from the “Sum-Product algorithm”, will be described.
  • FIG. 2 is a diagram illustrating a configuration example of a row processing unit when executing a row processing step of “Min-Sum algorithm” in the LDPC decoder.
  • a minimum value selection unit 101 including a comparison unit 112 that outputs a minimum value; a memory unit 113 that stores an LLR code corresponding to the row weight; and a multiplier 114 that multiplies each LLR code (+ or —).
  • LLR: a (1) is calculated as mn by multiplying the sign calculation unit 102 and the minimum value obtained from the minimum value selection unit 101 by the multiplication result (+ or —) of the sign obtained from the sign calculation unit 102
  • the LLR calculation unit 103 and the camera are configured.
  • the comparison unit 112 of the minimum value selection unit 101 includes a plurality of 2-input (a, b) comparators, and includes the memory unit 111 and the preceding comparator (first-stage comparator). (Only memory unit 111 above) Outputs I a I for each comparator force ⁇ I a I ⁇ I b I '' received from LLR to be compared, and outputs I b I otherwise Output the minimum value of the absolute value of LLR. Then, the LLR calculation unit 103 multiplies the minimum value and the multiplication result of the sign, and passes the multiplication result LLR: a (1) to the column processing unit.
  • FIG. 3 shows the sequence processing steps of the “Min-Sum algorithm” in the LDPC decoder! An example of the configuration of the column processing unit in the case of execution is shown.
  • This column processing unit holds LLR: a (1) of the column weight of the parity check matrix H, and repeats 1 by adding each LLR.
  • the second mn a (1) of the column weight of the parity check matrix H, and repeats 1 by adding each LLR.
  • the posterior value (1) is output.
  • ⁇ (1 — represents the minimum absolute value of sgn ⁇ ⁇ ), excluding the nth column LLR : J 8 (1 — mn mn mn sign of ⁇ .
  • the "Min-Sum algorithm” further executes the processing based on the column processing and stop criterion similar to the above-mentioned “Sum-Product algorithm”, and finally A typical code result is obtained.
  • step SI received information power reception LLR
  • step SI received information power reception LLR
  • step S4 first iteration to the last iteration
  • the row processing in the first iteration is performed first! ⁇ (row processing)
  • the column processing in the first decoding operation is repeated ⁇ (column processing)
  • the posterior value calculated in the first iteration is hard-decided
  • the decision value is determined as the decoding result.
  • the decoding algorithm of the present embodiment described below realizes a further reduction in the amount of memory and a reduction in calculation amount.
  • an approximate decoding method of "Sum-Product algorithm” This is an improved version of the Min-Sum algorithm.
  • FIG. 5A is a diagram illustrating a configuration of the LDPC decoder 5 of the present embodiment.
  • the LDPC decoder 5 includes a reception LLR calculation unit 11 that calculates a reception LLR from a reception information card.
  • the decoding core unit 12 is configured to perform the decoding process of the present embodiment.
  • the decoding core unit 12 includes an intermediate result holding unit 21 configured with a memory for holding a decoding intermediate result (intermediate value), and a row processing unit 22 that executes the row processing of the present embodiment.
  • a column processing unit 23 that executes the column processing of the present embodiment, and a decoding result determination unit 24 that performs a hard decision of the posterior value in the column processing and a correct / incorrect determination of the parity check result, And a control unit 25 that performs repetitive control of decoding.
  • the decoding algorithm of the present embodiment is a method that updates only the absolute value of the LLR having the minimum k value cyclically, and uses an approximate minimum value instead of an accurate minimum value. In the following, this method is called the “Cyclic approximate min algorithm”.
  • the minimum k value represents “from the minimum value to the k-th ascending order”.
  • Input LLR ⁇ as the LLR of the minimum k value in the m-th row in ⁇ (Q) , and the following equation (8)
  • n (i) arg ( min ⁇ ⁇
  • n (0)
  • B is the absolute value of LLR: j8 of the minimum k value in the m-th row, and n (i) is the value of B
  • the starting column of row processing is arbitrary, and when the processing is completed up to the last column, the decoding process is cyclically performed again from the first column.
  • the LLR: ⁇ (1) for the first iteration of bit n sent from bit node n to check node m is updated for each m and n by the following equation (10).
  • n (i) arg min B (i)
  • FIG. 6 is a diagram illustrating a configuration example of the row processing unit 22 that executes the row processing in the “cyclic approximate min algorithm”.
  • the row processing unit 22 includes a minimum value selection unit 31 and a reference numeral. It consists of a calculation unit 32 and an LLR calculation unit 33.
  • MinlLLR minimum LLR in the m-th row
  • Min2LLR minimum second LLR in the m-th row
  • the LLR calculation unit 33 multiplies the minimum LLR obtained from the minimum value selection unit 31 by the multiplication result S ′ (+ or —) of the code obtained from the code calculation unit 32, so that L
  • the memory that was only needed can be reduced to k values.
  • FIG. 7-1 is a diagram illustrating a configuration example of the column processing unit 23 that performs column processing in the “cyclic approximate min algorithm”.
  • the column processing unit 23 includes an ⁇ addition unit 41 and an addition unit. 42, a minimum k value comparison unit 43, and a sign calculation unit 44.
  • mn n minLLLL, Min2LLR, Min3LLR are values held in the intermediate result holding unit 21, respectively.
  • the a adding unit 41 adds all the LLRs other than the m-th row updated in the first row processing: a (1) , and further, the ⁇ adding unit 42 Is added by the ⁇ adder 41.
  • Receive LLR ⁇ is added to the result and 13 (1) is output.
  • the minimum k value comparison unit 43 (k 3)
  • N (l), n (2), or n (3) indicating the column number corresponding to B, B, and B held in MinlLLR, Min2LLR, Min3LLR respectively Mn (l) mn (2) mn (3)
  • Min2LLR Deletes the information held in Min2LLR, moves the information held in Min3LLR to Min2LLR, and further stores, for example (in the case of 16 bits), the maximum value “FFFF” in Min3LLR.
  • comparison processing excluding the target column can be performed, and at least Min3LLR is always updated in the column processing.
  • the result is stored in the intermediate result storage unit 21, and the sign operation unit 44 multiplies S ′ updated in the first row processing by the sign of j8 (1) above, and uses the result.
  • I j8 (1) I is first compared with the value of the center of B, Min2LLR, and then
  • the execution time is ⁇ (k + l) Z2 ⁇ Zk (when k is an odd number) compared to the minimum value MinlL LR.
  • MinlL LR minimum value
  • the target for starting the comparison may be any of them.
  • the execution time is ⁇ kZ2 + l ⁇ Zk (when k is an even number) compared to the MinlLLR force, which is the minimum value.
  • the same processing as described above can be realized with the configuration shown in Fig. 7-2.
  • the a adding unit 41 only adds all the LLRs corresponding to the column weights, and then ⁇
  • the adder 42 adds the result, and outputs the result to the decoding result determination unit 24.
  • the reception LLR calculation unit 11 calculates the reception LLR for the reception information power (steps Sl l, S 12), and the result is intermediated as an initial value.
  • the decoding core unit 12 performs a first (first to final) repeated decoding operation (step S14). Specifically, as the first iterative decoding, the row processing unit 22 performs row processing (using the reception LLR) on the row having “1” in the first column, and the result is the column processing unit. Deliver to 23. After that, the column processing unit 23 performs the column processing for the first column. The results B and S are held in the intermediate result holding unit 21 (updated). Thereafter, the same processing as above is performed in the order of the 2nd, 3rd, and ' ⁇ ⁇ rows, and ⁇ and S are connected in the middle.
  • the decryption process is performed in the same way as the first time.
  • the decoding result ⁇ ′ is output (step S15).
  • FIG. 10 is a diagram showing the column number notation of the present embodiment.
  • the absolute column number of “1” in the NOTY check matrix is, for example, “32768”
  • the number of bits required to represent the column number becomes 15 bits.
  • the memory size is reduced to 3 bits that can represent 0-7
  • the row weight is 16, the memory size is reduced to 4 bits that can represent 0-15. Can do.
  • the absolute value I ⁇ I of the LLR for row processing is reduced to the minimum k value in units of rows by a cyclic structure.
  • FIGS. 11 and 12 show the results of a comparative simulation between the “Cyclic approximated min algorithm” and the “Min-Sum algorithm”.
  • the LDPC code is an irregular EG code with a maximum row weight of 8.
  • the number of decoding iterations is fixed to 100, and the number of minimum values stored in the ⁇ Cyclic approximate min algorithm '' is changed to 3, 4 and 5, and the performance comparison with the ⁇ Min-Sum algorithm '' is made. The case where it went is represented.
  • CyclicXmin represents the “Cyclic approximate min algorithm” with the minimum X value
  • Min-Sum represents the “Min-Sum algorithm”.
  • FIG. 11 it can be confirmed that the decoding performance does not deteriorate while reducing the memory by the “cyclic approximate min algorithm” of the present embodiment.
  • FIG. 12 shows the result of comparing the average number of iterations required for successful decoding in the “Cyclic approximate min algorithm” and the “Min-Sum algorithm”.
  • CyclicXmin represents the “Cyclic approximate min algorithm” that stores the minimum X value
  • Min-Sum represents the “M in-Sum algorithm”.
  • the “cyclic recursive min algorithm” efficiently performs probability propagation and greatly reduces the number of decoding iterations. That is, the “cyclic approximate min algorithm” of the present embodiment can greatly reduce the amount of calculation in the decoding process.
  • the number of forces k which is a single value, may be any value as long as the LLR that is the target of row processing is two or more.
  • row processing and column processing are alternately performed once, and in accordance with this, update of probability information (LL R) by row processing and column processing is cyclically performed bit by bit.
  • the row processing may be executed a plurality of times, and then the column processing may be executed a plurality of times. In other words, calculation and update of probability information (LLR) by row processing and column processing may be performed cyclically by multiple bits.
  • LDPC decoding can be applied when the calculation and update of probability information (LLR) by row processing and column processing is performed bit by bit or by a plurality of predetermined bits, for example, parallelizing arithmetic processing Therefore, the number of repetitions is reduced.
  • B and S of the intermediate result holding unit are set to 1 set mn (i) m regardless of the number of parallelizations.
  • the decoding algorithm of the present embodiment is referred to as an “Overlapped cyclic approximation min algorithm”.
  • the LLR of the minimum k value in the m-th row at the initial stage is set as ⁇ (Q) , and the received LLR: ⁇ is input, and the following (12) mn (i) n
  • n (i) arg min
  • n (0)
  • B c is the absolute value of LLR:
  • N (i) is the column number of the smallest i-th LLR in B c.
  • G is the parallel number
  • N is each parallelized decoding
  • G The number of columns processed by the circuit.
  • G'N N.
  • g g
  • the start column of each row process is arbitrary, and when the process is completed up to the last column, the decoding process is repeated cyclically from the first column.
  • the G line processing powers that have been executed execute line processing in parallel. Note that the “cyclic approximation mn” described above is used except that G row processing units perform processing in parallel and all the processing units use the same B c.
  • the first posterior value ⁇ ⁇ (1) of the repetition of bit n for the hard decision is expressed as follows:
  • stop criterion is the same as the “cyclic approximate min algorithm” described above.
  • FIG. 13 is a diagram illustrating a configuration example of the LDPC decoder 5 according to the present embodiment, and includes a reception LLR calculation unit 11 that calculates a reception LLR from reception information and a decoding core that performs a decoding process according to the present embodiment. It consists of part 12a.
  • the decoding core unit 12a executes the row processing (parallel processing) of the present embodiment and the intermediate result holding unit 21a configured by a memory for holding the intermediate result (intermediate value) of decoding.
  • Row processing units 22—1 to 22—G that perform column processing (parallel processing) 23-1 to 23-G that perform column processing (parallel processing) according to the present embodiment
  • a decoding result determination unit 24 that performs hard determination of the posterior value in the processing and correct / incorrect determination of the parity check result
  • a control unit 25a that performs repeated control of decoding are provided.
  • the LDPC decoder 5 when each row processing unit and each column processing unit perform processing in parallel, according to the above equations (12), (13), and (14) In addition, Be and S of the intermediate result holding unit 21a are used in common and updated respectively. With this parallel processing, mn m
  • the number can be greatly reduced.
  • each processing unit has a memory. Take measures such as setting the access priority, dividing memory banks, and adjusting the memory access timing using a shift register.
  • the “Overlapped cyclic approximation min algorithm” of the present embodiment is described above.
  • the intermediate result holding unit that holds the minimum k value updated in each column process executed in parallel is shared, and the minimum k value is updated in each column process executed in parallel.
  • FIG. 14 is a diagram showing a performance comparison regarding the number of repetitions. Specifically, the decoding performance of the “Overlapped cyclic approximation min algorithm”, “cyclic approximation min algorithm”, and “Min-Sum algorithm” when the number of parallels is 2 is fixed with the number of decoding iterations fixed. It is the result of comparison.
  • the “cyclic approximate min algorithm” has higher decoding performance than the conventional “Min-Sum algorithm”. It can be confirmed that the “Overlapped cyclic approximate min algorithm” has the same level of decoding performance at half the number of decoding iterations as the “cyclic approximate min algorithm”.
  • the receiving apparatus and decoding method according to Embodiment 3 will be described.
  • the “Circular Approximation Min algorithm” or the implementation of the “Normalized BP-based algorithm”, which is a known decoding algorithm applying the “Min-Sum algorithm”, is used.
  • the “Overlapped cyclic approximated min algorithm” in Form 2 apply the processing that updates only the absolute value of the LLR with the minimum k value cyclically and the decoding processing that uses the approximate minimum value.
  • the LLR of the first iteration obtained by the “Min-Sum algorithm” is corrected by the normal factor A.
  • the first time LLR: a (1) is updated by the following formula (18). That is, the following (1 mn
  • the overall configuration of the LDPC decoder 5 is the same as that shown in FIG. 5 or FIG.
  • FIG. 15 is a diagram showing a configuration example of the row processing units 22, 22-1 to 22-G that executes the row processing in the present embodiment, and this row processing unit includes the minimum value selection unit 3 la. It has. Note that the same components as those in FIG. 6 described above are denoted by the same reference numerals and description thereof is omitted.
  • the minimum value selection unit 3 la of the present embodiment for example, the LLR minimum value (MinlLLR or Min2LLR) from which the intermediate result holding unit 21 (or 21a) force is also read is corrected using the normalization factor A. Specifically, normalization is performed by dividing the minimum value of LLR by A.
  • the performance is better than the “Min-Sum algorithm”, and the “Normalized BP-based algorithm” is replaced with “Cyclic approximate min algorithm” or “ Overlapped cyclic approximation min algorithm ”was applied.
  • the same effects as those of the first and second embodiments described above can be obtained, and the performance close to that of the “Sum-Product algorithm” can be obtained despite the circuit amount almost equivalent to that of the “Min-Sum algorithm”. realizable.
  • the power of applying “Cyclic approximate min algorithm” or “Overlapped cyclic approximate min algorithm” to “Normalized BP-based algorithm” is not limited to this. It is also possible to apply the ⁇ Offset BP-based algorithm '' or the ⁇ Circular approximation min algorithm '' or ⁇ Overlapped cyclic approximation min algorithm '' to other algorithms, and in this case, the same effect as described above can be obtained. it can.
  • the correction performance of LLR: ⁇ is superior to that of “Normalized BP-based algorithm” and “Offset BP-based algorithm”, which is a known decoding algorithm “ ⁇ m mn
  • the processing that updates only the absolute value of the LLR with the minimum k value cyclically and the decoding processing that uses the approximate minimum value are applied.
  • mn ( 1) is calculated by mn I or mn.
  • ⁇ (1) is calculated mn mn by calculating ⁇ from the absolute value L of the LLR of the minimum k value repeatedly updated first and first times.
  • the first time LLR: a (1) is updated by the following formula (21). This decryptor mn
  • ⁇ (1) is calculated by calculating ⁇ from the absolute value of BLR of the minimum k value L LR updated in parallel processing 1st time.
  • the row processing step is executed as described above. Thereafter, processing based on the sequence processing and the stop criterion similar to the above-described “cyclic approximate min algorithm” or “Overlapped cyclic approximate min algorithm” is executed, and a final code result is obtained.
  • the overall configuration of the LDPC decoder 5 is the same as that shown in FIG. 5 or FIG.
  • Fig. 16 is a diagram showing a configuration example of the row processing units 22, 22-1 to 22-G that execute the row processing in the present embodiment, and this row processing unit includes a minimum value selection unit 3 lb. It has. Note that the same components as those in FIG. 6 described above are denoted by the same reference numerals and description thereof is omitted. Further, here, as an example, the power to explain the case of the LDPC decoder 5 in FIG. 5 can be similarly applied to the LDPC decoder 5 in FIG.
  • Mini LLR (B), Min2LLR (B), MinkLLR (B) and the respective column numbers are read from the intermediate result holding unit 21 mn (l) mn (2) mn (k)
  • the calculation unit calculates ⁇ . That is, in the minimum value selection unit 31b of the present embodiment, the column n to be processed and the column numbers n (k) and mn (k) of B held in the intermediate result holding unit 21
  • the computation unit performs the following operation mn (k) in the ⁇ min algorithm:
  • the performance is better than the “Min-Sum algorithm”, and the “ ⁇ min algorithm” is replaced by the “cyclic approximation min algorithm” or the “overlapped cyclic approximation”. “min algorithm” was applied.
  • the minimum value of the absolute value of the LLR for row processing is set to the optimum value based on a predetermined correction formula defined by the known “ ⁇ min algorithm”.
  • the force correction formula described for correction is not limited to this, and a correction formula defined by an algorithm other than the “ ⁇ min algorithm” may be used. In this case, the same effect as described above can be obtained.
  • Figure 17 shows the comparison results between the decoding algorithm that applied the "Cyclic approximation min algorithm” or the “Overla pped cyclic approximation min algorithm” to the " ⁇ min algorithm”, and the “Sum-Product algorithm”.
  • the receiving apparatus and decoding method according to the fifth embodiment will be described.
  • the cyclically minimum k in the “Cyclic approximate min algorithm” in the first embodiment or the “Overlapped cyclic approximate min algorithm” in the second embodiment Apply the process of updating only the absolute value of the LLR of the value and the decoding process using the approximate minimum value.
  • the TLR is used to calculate the absolute value of the LLR: I ⁇ I, which is updated the first time.
  • TLU (I n ) TLU (I ,, TLU (I 2 , ⁇ TLU (I
  • the “Sum-Product algorithm” process using TLU is performed in a different way. Can also be realized.
  • the row processing of the “Sum-Product algorithm” using TLU which is different from the above, is generalized, it can be expressed as the following equation (25).
  • the first LLR a (1) is repeated for the following expression (25) mn
  • TLU1 (x) prepares a table in advance based on (26) below.
  • the row processing shown in the equation (24) is characterized in that the table is large but the number of operations is small.
  • the row processing shown in (2) has a feature that the number of operations is large although the table is small.
  • the row processing of the decoding algorithm of the present embodiment when the “Cyclic approximate min algorithm” is applied to the row processing step (1), it can be expressed as the following equation (27).
  • the first LLR: a (1) is updated by the following equation (27) for l ⁇ n ⁇ N and each m.
  • This decryption algorithm In the row processing, the operation using the TLU is performed on the mn of the LLR absolute value: B, which was updated the first time repeatedly.
  • the row processing of the decoding algorithm of the present embodiment when the “Cyclic approximate min algorithm” is applied to the row processing step (2), it can be expressed as the following equation (28).
  • the first LLR: a (1) is updated by the following formula (28) for each 111 1 ⁇ 11 ⁇ ? ⁇ ?.
  • the operation using the TLU is performed on the absolute value of the LLR of the minimum k value: B c that is updated by the parallel processing for the first time.
  • FIG. 18 is a diagram illustrating a configuration example of the row processing units 22, 22-1 to 22-G that executes the row processing in the present embodiment, and the row processing unit includes a minimum value selection unit 31c. I have. Note that the same components as those in FIG. 6 described above are denoted by the same reference numerals and description thereof is omitted. Further, here, as an example, the power to explain the case of the LDPC decoder 5 in FIG. 5 can be similarly applied to the LDPC decoder 5 in FIG.
  • the mini LLR (B), Min2LLR (B), MinkLLR (B) and the respective column numbers are read from the intermediate result holding unit 21 mn (l) mn (2) mn (k)
  • the calculation unit performs calculations using the TLU. That is, in the minimum value selection unit 31c of the present embodiment, the nth column that is the processing target! /, And the column number n (k) of B held in the intermediate result holding unit 21 are For Sana! /, B, the computation unit adds mn (k
  • the calculation unit obtains an update value excluding the sign as shown in the following equation (31).
  • the amount of calculation can be reduced by limiting the LLR to be calculated to the k value force minimum of three values, and the calculation unit obtains the updated value excluding the sign as shown in the following equation (32).
  • the force TLU described for the case where the TLU defined in the known “Sum-Product algorithm” is used for the minimum absolute value of the LLR for row processing is used. It is not limited, and TLUs other than those specified in the “Sum-Product algorithm” may be used. In this case, the same effect as described above can be obtained.
  • the decoding processing according to the present embodiment further reduces the number of iterations by corresponding to complete bit-wise serial decoding.
  • FIG. 5-1 is a diagram showing the configuration of the LDPC decoder 5 of this embodiment, and this LDPC decoder 5 calculates the received information power reception LLR.
  • the reception LLR calculation unit 11 and the decoding core unit 12 that performs the decoding process of the present embodiment are included.
  • the decoding core unit 12 includes an intermediate result holding unit 21 configured with a memory for holding the intermediate result (intermediate value) of decoding, and a row processing unit 22 that executes the row processing of the present embodiment.
  • the column processing unit 23 that executes the column processing according to the present embodiment, and the decoding result determination unit 24 that performs the hard decision of the posterior value and the correctness / incorrectness of the parity check result in the column processing as the stopping criterion of the present embodiment.
  • a control unit 25 that performs repetitive decoding control.
  • the decoding algorithm of the present embodiment is a method that updates only the absolute value of the LLR having the minimum k value cyclically, and uses an approximate minimum value instead of an accurate minimum value. Therefore, it is referred to as “serial cyclic approximation min algorithm”.
  • the above-mentioned minimum k value represents “the minimum value force is also in the ascending order up to k”.
  • n (0)
  • B is the absolute value of LLR: j8 of the minimum k value in the m-th row, and n (i) is the value of B
  • mn (i) mnu is the column number of the smallest i-th LLR in mnu, and S is the sign of LLR: ⁇ in the m-th row (+ or
  • the starting column of row processing is arbitrary, and when the processing is completed up to the last column, the decoding process is cyclically performed again from the first column.
  • the product of the sign of LLR: ⁇ (1) updated in the first column processing is obtained for the column number satisfying “ ⁇ n”.
  • the product of the LLR: ⁇ (1 — ⁇ sign updated in the ( 1 ⁇ 1 ) th column processing is
  • calculation is performed one row at a time starting from the smallest row number of row number m.
  • order of the line numbers to be executed can be executed in any order as long as all "1" standing and standing lines are executed without duplication.
  • received LLR the sum of LLRs other than the m-th row updated in the first row processing: a (1)
  • This calculation can also be obtained by subtracting a (1) from
  • FIG. 6 is a diagram illustrating a configuration example of the row processing unit 22 that executes the row processing according to the “serial cyclic approximation min algorithm”.
  • 22 includes a minimum value selection unit 31, a sign calculation unit 32, and an LLR calculation unit 33.
  • MinlLLR minimum LLR in the m-th row
  • Min2LLR m-th row
  • the minimum second LLR) is B.
  • the LLR calculation unit 33 multiplies the minimum LLR obtained from the minimum value selection unit 31 by the multiplication result S ′ (+ or —) of the code obtained from the code calculation unit 32, so that L
  • the memory that was only needed can be reduced to k values.
  • FIG. 19 is a diagram illustrating a configuration example of the column processing unit 23 that performs column processing in the “serial cyclic approximated min algorithm”.
  • the column processing unit 23 includes an ⁇ addition unit 41 and a fly addition unit. 42, a minimum k value comparison unit 43, and a sign calculation unit 44.
  • LLR, ⁇ ', ⁇ LLR, ⁇ ', ⁇ ,
  • the a addition unit 41 adds all LLRs: a (1) including the m-th row updated in the first row processing, and further adds the ⁇ addition unit. 42 is the result of addition by the ⁇ adder 41.
  • Receive LLR ⁇ is added to the result, and switch 45 is controlled so that it is connected to the block below it first, and ⁇ (1) is subtracted from it to output
  • N (l), n (2), n (3) indicating the column number corresponding to B, B, B held in MinlLLR, Min2LLR, Min3LLR respectively.
  • Min2LLR the information held in Min2LLR is deleted, the information held in Min3LLR is moved to Min2LLR, and the maximum value “FFFF” is stored in Min3LLR, for example (in the case of 16 bits). To do.
  • comparison processing excluding the target column can be performed, and at least Min3LLR is always updated in the column processing.
  • the force is compared in the form of a tree.
  • the execution time is ⁇ (k + l) Z2 ⁇ Zk (when k is an odd number Is effective. If k is an even number, the center value of B is two,
  • the target for which comparison is first started may be any of them.
  • the execution time is ⁇ kZ2 + l ⁇ Zk (when k is an even number) compared to the MinlLLR force, which is the minimum value.
  • This comparison Yorihi results from MinlLLR and Min2LLR the circuit of FIG. 6 '(1)) is obtained
  • the reception LLR calculation unit 11 calculates the reception LLR for reception information power (steps Sl, S12), and uses the result as an initial value.
  • the decoding core unit 12 performs the first (first to final) repeated decoding operation (step S14). Specifically, as the first iteration, the row processing unit 22 performs row processing step 1 (using the reception LLR) on the row having “1” in the first column, and the result is displayed in the column. Deliver to processing unit 23. Thereafter, the column processing unit 23 performs the column processing step of the first column, and holds B and S as the results in the intermediate result holding unit 21 (updates). Thereafter, the row processing unit 22 performs the row processing step 2, passes the result to the column processing unit 23, and the column processing step and the row processing step 2 are repeated by the row processing unit 22 and the column processing unit 23.
  • the second and subsequent iterations are performed using the LLR and S updated in the previous process.
  • the decryption process is performed in the same way as the first time.
  • the decoding result ⁇ ′ is output (step S15).
  • FIG. 10 is a diagram showing the column number notation of the present embodiment.
  • the power of representing the column number n by the column number itself (absolute column number) of the parity check matrix the smallest “1” of the m-th row in the noity check matrix
  • the absolute column number of “1” in the parity check matrix is, for example, “32768”
  • the number of bits necessary to represent the column number is 15 bits. For example, if the row weight is 8, the memory size can be reduced to 3 bits that can represent 0-7, and if the row weight is 16, the memory size can be reduced to 4 bits that can represent 0-15. .
  • ⁇ ′ (1) is updated as row processing step 2, and the result is used to
  • the number of forces k which is a single value, may be any value as long as the LLR that is the target of row processing is two or more.
  • column processing step and row processing step 2 are executed alternately, and in response to this.
  • the power described in the case of cyclically updating the probability information (LLR) by row processing and column processing bit by bit is not limited to this, and the probability information (LLR) by row processing and column processing is not limited to this.
  • the calculation and update may be performed cyclically by a plurality of bits.
  • the LDPC decoding according to the present embodiment can be applied when the calculation and update of probability information (LLR) by row processing and column processing is performed bit by bit or a plurality of predetermined bits. For example, arithmetic processing is performed in parallel. To reduce the number of repetitions.
  • LLR probability information
  • B and S of the intermediate result holding unit are related to the number of parallelizations.
  • one set is set, and all parallel processing units update the same B c and S.
  • the LLR of the minimum k value in the m-th row at the initial stage is set as ⁇ (Q) , and the received LLR: ⁇ is input, and the following (37)
  • n (i) arg min
  • n (0)
  • B c is the absolute value of LLR:
  • N (i) is the column number of the smallest i-th LLR in B 0 ⁇ .
  • G is the parallel number
  • N is each parallelized decoding
  • the start column of each row process is arbitrary, and when the process is completed up to the last column, the decoding process is repeated cyclically from the first column.
  • the G line processing powers that have been executed execute line processing in parallel. Note that the “Serial cycle” described above is used except that G row processing units perform processing in parallel and all processing units use the same B c.
  • the column processing shown in the following equation (39) is executed in parallel for each column after the row processing is performed in parallel as described above.
  • the subsequent column processing step and row processing step 2 calculate, for example, one row at a time starting from the smallest row number with the row number m. Execute.
  • the order of the line numbers to be executed is not duplicated, and all “1” s stand, so if the lines are executed, they can be executed in any order.
  • stop criterion is the same as the "serial cyclic approximation min algorithm" described above. is there.
  • FIG. 13 is a diagram illustrating a configuration example of the LDPC decoder 5 of the present embodiment, similar to the above-described embodiment, and the received LLR calculation unit 11 that calculates the received information power reception LLR and the present embodiment.
  • the decoding core unit 12a performs the decoding process of this embodiment.
  • the decoding core unit 12a includes an intermediate result holding unit 21a configured with a memory for holding an intermediate result (intermediate value) of decoding, and a line for executing the row processing (parallel processing) of the present embodiment.
  • a decoding result determination unit 24 that performs hard decision of values and correctness / incorrectness of parity check results, and a control unit 25a that performs repeated control of decoding are provided.
  • the LDPC decoder 5 of the present embodiment is configured so that when each row processing unit and each column processing unit perform processing in parallel, the above equations (37), (38), (39), According to the equation (40), Be and S of the intermediate result holding unit 21a are commonly used and updated respectively.
  • the number of repetitions can be greatly reduced.
  • each processing unit has memory. Take measures such as setting the access priority, dividing memory banks, and adjusting the memory access timing using a shift register.
  • the "Overlapped serial cyclic approximation min algorithm” of the present embodiment applies the above-described “serial cyclic approximation min algorithm” and executes row processing and column processing in parallel. It was. In addition, the intermediate result holding unit that holds the minimum k value updated in each column processing executed in parallel is shared, and the minimum k value is updated in each column processing executed in parallel. did. Thus, compared with the “Min-Sum algorithm” and Embodiment 6 described above, the number of decoding iterations can be greatly reduced. [0210] Also, in the “Overlapped serial cyclic approximated min algorithm” of this embodiment! /, As row processing step 2, '' ( 1) is updated, and the result is used to
  • the receiving apparatus communication apparatus
  • the decoding method according to the eighth embodiment will be described.
  • the “serial cyclic approximation min algorithm” in the sixth embodiment or the implementation of the “normalized BP-based algorithm”, which is a known decoding algorithm applying the “Min-Sum algorithm”, is implemented.
  • the “Overlapped serial cyclic approximation min algorithm” in form 7 the processing that updates only the absolute value of the LLR with the minimum k value cyclically and the decoding processing that uses the approximate minimum value are applied.
  • a in the figure is a constant called a normalization factor.
  • the LLR of the first iteration obtained by the ⁇ Min-Sum algorithm '' is corrected by the normalized factor A. .
  • the first iteration of LLR obtained by the “Serial Cyclic Approximation Min Algorithm” is corrected by the normal factor A.
  • the starting column of row processing is arbitrary, and when the processing is completed up to the final column, the decoding process is cyclically performed again from the first column.
  • G G mn Notation is updated by equation (43).
  • equation (43) the LLR of the first iteration obtained by the “Overlapped serial cyclic approximation min algorithm” is corrected by the normalized factor A.
  • the decoding algorithm of the present embodiment after executing the row processing step 1 as described above, the “serial cyclic approximation min algorithm” or “Overlapped serial” described above is further performed.
  • the final code result is obtained by executing the processing based on the sequence processing and the stop criterion similar to the “loop recursive min algorithm”.
  • Fig. 15 is a diagram showing a configuration example of the row processing units 22, 22-1 to 22-G that execute the row processing in the present embodiment, as in the above-described embodiment.
  • the unit includes a minimum value selection unit 31a. Note that the same components as those in FIG. 6 described above are denoted by the same reference numerals and description thereof is omitted.
  • the minimum value selection unit 31a of the present embodiment for example, the LLR minimum value (Min 1LLR or Min 2LLR) from which the intermediate result holding unit 21 (or 21a) force is also read is corrected using the normal factor A. ing. Specifically, normality is performed by dividing the minimum value of LLR by A.
  • the “Normalized BP-based algorithm” is considered to have better performance than the “Min-Sum algorithm”, and “Serial cyclic approximation min algorithm” or “ Overlapped serial cyclic approximation min algorithm ”was applied.
  • Serial cyclic approximation min algorithm or “ Overlapped serial cyclic approximation min algorithm ” was applied.
  • the power of applying the "serial cyclic approximation min algorithm” or the “Overlapped serial cyclic approximation min algorithm” to the "Normalized BP-based algorithm” is not limited to this.
  • the “Offset BP-based algorithm” or other algorithms can be applied to the “serial cyclic approximation min algorithm” or “Overlapped serial cyclic approximation min algorithm”. Similar effects can be obtained.
  • the receiving device communication device
  • the decoding method according to the ninth embodiment will be described.
  • a known decoding algorithm having a better LLR: ⁇ correction performance than the “Normalized BP-based algorithm” and the “Offset BP-based algorithm” is used.
  • the minimum k value is cyclically determined in the “serial cyclic approximation min algorithm” in Embodiment 6 or the “Overlapped serial cyclic approximation min algorithm” in Embodiment 7. Apply the process that updates only the absolute value of LLR and the decoding process that uses the approximate minimum value.
  • ( 1) is calculated by calculating ⁇ from the absolute value of LLR: I ⁇ G — “I, which is updated the first time.
  • the decoding algorithm when the "serial cyclic approximation min algorithm” or the “Overlapped serial cyclic approximation min algorithm” is applied to the above “ ⁇ min algorithm” is shown below.
  • the description of the processing similar to the above-described “serial cyclic approximation min algorithm” or “Overlapped serial cyclic approximation min algorithm” (initialization, sequence processing, stop criterion) is omitted.
  • the “serial cyclic approximation min algorithm” or “overlapped serial cyclic approximation min algorithm” described above is used.
  • the line processing step 1 which is different from the above, will be described.
  • the starting column of row processing is arbitrary, and when the processing is completed up to the last column, the decoding processing is cyclically performed again from the first column.
  • LLR a (1) of the first iteration is updated for l ⁇ n ⁇ N and each m by the following equation (45). Also this mn
  • ⁇ (1) is calculated by calculating the absolute value of the LLLLRR of the minimum k value that is updated first and first times: B force and ⁇ .
  • ⁇ Z S m -sgn (j3 ⁇ )- ⁇ [ ⁇ ⁇ ,]
  • G G mn Notation is updated according to equation (46). Also, in the row processing step 1 of this decoding algorithm, iterative 1 From the absolute value of the LLR of the minimum k value updated by parallel processing the first time: B c
  • FIG. 16 is a diagram illustrating a configuration example of the row processing units 22, 22-1 to 22-G that executes the row processing in the present embodiment, as in the above-described embodiment.
  • the unit includes a minimum value selection unit 31b. Note that the same components as those in FIG. 6 described above are denoted by the same reference numerals and description thereof is omitted.
  • the case of the LDPC decoder 5 in FIG. 5 will be described, but the same can be applied to the LDPC decoder 5 in FIG.
  • Mini LLR (B), Min2LLR (B), MinkLLR (B) and the respective column numbers are read from the intermediate result holding unit 21 mn (l) mn (2) mn (k)
  • the calculation unit calculates ⁇ . That is, in the minimum value selection unit 31b of the present embodiment, the column n to be processed and the column numbers n (k) and mn (k) of B held in the intermediate result holding unit 21
  • the computation unit performs the following operation mn (k) in the ⁇ min algorithm:
  • the amount of computation can be reduced by limiting the LLR to be computed to the k value force minimum of 3 values, and the computation unit can update the value I a excluding the sign.
  • the performance is better than the “Min-Sum algorithm”, and the “ ⁇ min algorithm” is replaced with the “serial cyclic approximation min algorithm” or the “overlapped serial cyclic”. Approximate min algorithm ”was applied.
  • the minimum value of the absolute value of the LLR for row processing is corrected to the optimum value based on a predetermined correction formula defined by the known “ ⁇ min algorithm”!
  • the force correction formula described for the case is not limited to this, and a correction formula defined by an algorithm other than the “ ⁇ min algorithm” may be used! /. In this case, the same effect as described above can be obtained.
  • the “Sum-Product algorithm” has a cyclic minimum in the “Serial cyclic approximate min algorithm” in Embodiment 6 or the “Overlapped serial cyclic approximate min algorithm” in Embodiment 7. Apply the process of updating only the absolute value of the L value of the k value and the decoding process using the approximate minimum value.
  • step 1 for each m and n, the first LLR: a (1) is repeated according to the following equation (49) mn
  • TLU1 (x) prepares a table in advance based on (51) below.
  • the row processing step 1 shown in the equation (49) is characterized in that the table is large but the number of operations is small.
  • the line processing step 1 shown in equation (50) has the feature that the table is small but the number of operations is large!
  • the decoding algorithm when the “Serial cyclic approximate min algorithm” is applied to the “Sum-Product algorithm” using the TLU is shown below.
  • the description of the processing (initial key, column processing, stop criterion) similar to the “serial cyclic approximation min algorithm” described above is omitted.
  • the line processing step 1 which is different from the above-mentioned “serial cyclic approximation min algorithm”.
  • the starting column of row processing is arbitrary, and when the processing is completed up to the last column, the decoding process is cyclically performed again from the first column.
  • LLR a (1) is updated by the following formula (54). This recovery mn
  • the operation using the TLU is performed on the absolute value of the LLR of the minimum k value, Bc, which is updated by the parallel processing in the first iteration.
  • FIG. 18 is a diagram showing a configuration example of the row processing units 22, 22-1 to 22-G that executes the row processing in the present embodiment, as in the above-described embodiment.
  • the unit includes a minimum value selection unit 31c. Note that the same components as those in FIG. 6 described above are denoted by the same reference numerals and description thereof is omitted.
  • the case of the LDPC decoder 5 in FIG. 5 will be described, but the same can be applied to the LDPC decoder 5 in FIG.
  • the minimum value selection unit 31c of the present embodiment reads, for example, Mini LLR (B), Min2LLR (B), MinkLLR (B) and their respective column numbers from the intermediate result holding unit 21.
  • Mini LLR B
  • Min2LLR B
  • MinkLLR B
  • the calculation unit performs calculations using the TLU. That is, in the minimum value selection unit 31c of the present embodiment, the column number mn (k) n (k) that is the processing target! /, The nth column and the B column number mn (k) held in the intermediate result holding unit 21 And, for the B! /, B, the computation unit adds mn (k
  • the calculation unit obtains an update value excluding the sign as shown in the following equation (56).
  • the amount of calculation can be reduced by limiting the LLR to be calculated to the k value force minimum of three values, and the calculation unit obtains the updated value excluding the sign as shown in the following equation (57).
  • the "serial cyclic approximation min algorithm” or the “Overlapped serial cyclic approximation min algorithm” is applied to the "Sum-Product algorithm” using TLU. It was. As a result, the amount of calculation and the amount of memory are increased compared to other embodiments, and the decoding performance can be improved. In this embodiment, the same applies to other decoding algorithms that perform TLU on the power mathematical function described using the “Sum-Product algorithm” using TLU as an example. Further, in the present embodiment, the force TLU described for the case where the TLU defined by the known “Sum-Product algorithm” is used for the minimum absolute value of the LLR for row processing. A TLU other than the TLU specified in the “Sum-Product algorithm” may be used. In this case, the same effect as described above can be obtained.
  • the start column of row processing is set to 1, and processing is performed in ascending order.
  • the present invention is not limited to this.
  • the start column may be arbitrary, processing may be performed on any non-overlapping column, and decoding may be performed again in the same order again when all columns have been completed.
  • the start column of row processing is arbitrary, processing is performed on any non-overlapping column, and when all columns are finished, all non-overlapping columns in a different order are subsequently processed. Or, iterative decoding until the end of the sequence. In these processes, the same effects as those in the above embodiments can be obtained.
  • the explanation of the above embodiment Ming explained that the log likelihood ratio LLR is used as the probability information, but probability information other than the log likelihood ratio LLR may be used.
  • the receiving apparatus and decoding method according to the present invention are useful as an error correction technique in digital communication, and are particularly suitable for communication apparatuses that decode LDPC-encoded signals.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

 本発明にかかる通信装置は、LDPC符号化された符号語を復号する受信側の通信装置であって、復号の途中結果を保持する途中結果保持部(21)と、検査行列における各列および各行について列処理用LLRを演算する行処理を所定の回数にわたって繰り返し実行する行処理部(22)と、検査行列の各列および各行について行処理用LLRを演算し、さらに、行重み分の行処理用LLRの絶対値の最小k値を途中結果保持部(21)に保持する列処理を、所定の回数にわたって繰り返し実行する列処理部(23)と、を備え、行処理部(22)と列処理部(23)が列単位に交互に処理を行い、列処理部(23)が巡回的に各行の最小k値を更新しながら、行処理部(22)が近似的な最小値を用いて演算を行うこととした。

Description

明 細 書
通信装置および復号方法
技術分野
[0001] 本発明は、ディジタル通信における誤り訂正技術に関するものであり、特に、 LDP C (Low-Density Parity Check)符号化された信号を復号する受信側の通信装置お よびその復号方法に関するものである。
背景技術
[0002] LDPC符号を復号する基本的なアルゴリズムとして、「Sum- Productアルゴリズム」と 「Min-S醒アルゴリズム」があり、これらは、受信信号の確率的な信頼度情報である対 数尤度比 (LLR: Log Likelihood Ratio)を算出しながら繰り返し演算を行うことにより 復号処理を行う(非特許文献 1参照)。上記 rSum-Productアルゴリズム」は、復号性能 は高いが、数学関数を用いた演算が要求されるため、テーブルを保持する必要が生 じるなど実装するには計算コストが高い。また、少なくとも" 0", "1"の 2元の検査行列 に含まれる" 1"の数の分だけ中間値を記憶するメモリが必要である。一方、「Min-S醒 アルゴリズム」は、数学関数を必要とせず、計算コストは小さくなるが、復号性能が劣 化する。
[0003] ここで、上記「Sum- Productアルゴリズム」につ!/、て説明する。まず、送信機側では、 M行 X N列のパリティ検査行列 Hを用いて送信データを LDPC符号ィ匕し、符号語 c = (c , c , · · ·, c )、c =0, 1を生成する (n= l, 2, · · ·, N)。そして、この符号語 cに
1 2 N n
対して、たとえば、 BPSK (Binary Phase Shift Keying)変調等の変調処理を実行し 、変調信号 x= (X , X , · · · , X )
1 2 Nを送信する。
[0004] 一方、受信機側では、カロ法'性白色ガウス通信路(Additive White Gaussian Noise
Channel :AWGN通信路)経由で、下記(1)式のように表記される信号 y= (y , y ,
1 2
· · ·, y )
Nを受信する。
y =x +e
なお、 eは、平均 0,分散値 σ 2 = Ν Ζ2となるガウス雑音系列である。
η 0
[0005] そして、受信機側では、上記通信路を介して受け取った変調信号に対して、上記 Β PSK変調に応じた所定のディジタル復調を行い、さらに、復調結果から得られる対数 尤度比(LLR)に対して「Sum-Productアルゴリズム」による繰り返し復号を実施し、最 終的に硬判定結果を出力する。
[0006] つづ 、て、上記受信機にお 、て実施される、従来の復号方法「Sum-Productァルゴ リズム」を以下に示す。
[0007] (初期化ステップ)
まず、繰り返し回数 1= 1および最大繰り返し回数 1 を設定し、さらに、初期時にお max
ける、ビットノードからチェックノードへの LLR : β (1=1)として、下記(2)式に示すように mn
受信 LLR: λ を入力する。
β ω= λ
mn n
n= l, 2, · · ·, N
m= l, 2, · · ·, M - - - (2)
[0008] (行処理ステップ)
つぎに、行処理として、各 m, nについて、チェックノード mからビットノード nへ送るビ ット nの繰り返し 1回目の LLR : a (1)を、下記(3)式により更新する。
[0009] [数 1]
Figure imgf000004_0001
… )
[0010] ただし、 N (m)は m行目の" 1"を持つ列番号の集合を表し、 n は n以外の N (m)を 表し、 β )は η列目以外の(1—1)回のビットノードからチェックノードへの LLRを表 mn
す。
[0011] (列処理ステップ)
つぎに、列処理として、各 m, nについて、ビットノード nからチェックノード mへ送るビ ット nの繰り返し 1回目の LLR : β (1)を、下記 (4)式により更新する。
[0012] [数 2]
Pmn = + ^ a m'n
m'6M(n)\m …(
[0013] また、各 nにつ 、て、硬判定のための、ビット nの繰り返し 1回目の事後値 /3 n (1)を下記
(5)式により更新する。
[0014] [数 3] mreM(n)
… )
[0015] ただし、 M (n)は n列目の" 1"を持つ行番号の集合を表し、 m"は m以外の M (n)を 表し、 a (1)は m行目以外の 1回目のチェックノードからビットノードへの LLRを表す。
m n
[0016] (停止規範)
その後、たとえば、ビット nの繰り返し 1回目の事後値 |8 (1)が「 (1)>0」の場合には、 復号結果「x ' = l」とし (χΊま元の送信信号 Xに対応)、一方、「j8 (1)≤0」の場合には 、復号結果「x ' =0」とし、復号結果 χ' = (χ ' , X · · · , X
η 1 2 Ν Ίを得る。
[0017] そして、パリティ検査の結果が「Hx' =0」または繰り返し回数が「1=1 」の場合 (い max ずれ力 1つの条件を満たしている場合)に、そのときの復号結果 χ'を出力する。なお 、上記 2つの条件のどちらも満たしていない場合は、「1=1+ 1」とし、上記行処理に戻 り、以降、順に演算を実行する。
[0018] 非特許文献 1 :低密度ノ^ティ検査符号とその復号法 LDPC (Low Density Parity
Check)符号 Zsum- product復号法、和田山正著、トリケップス
発明の開示
発明が解決しょうとする課題
[0019] しかしながら、上記「Sum- Productアルゴリズム」は、復号性能が高!、ことは知られて いるが、一方で、数学関数を用いた繰り返し演算 (tanh—1の演算)が要求されるため、 ハードウェア,ソフトウェアのどちらで実現しても受信機側の計算負荷が高くなる、とい う問題があった。また、計算負荷を低減させるために所定のテーブルを保持する方法 (テーブルルックアップ)もあるが、当該テーブルを保持するために必要なメモリ量が 増大する、という問題があった。
[0020] また、上記「Sum- Productアルゴリズム」においては、少なくとも" 0", "1"の 2元の検 查行列に含まれる" 1 (重み)"の数の分だけ中間値 (行毎の対数尤度比,繰り返し毎 の更新値等)を記憶するためのメモリが必要となる。すなわち、メモリの消費量が非常 に多くなる、という問題があった。また、「Sum- Productアルゴリズム」においては、量子 化ビット数が多い,繰り返し回数が多い、等の問題もある。
[0021] 本発明は、上記に鑑みてなされたものであって、 LDPC符号化された符号語の復 号処理にお!、て、計算量およびメモリ量を削減可能な通信装置および復号方法を得 ることを目的とする。また、量子化サイズの縮小、さらには、繰り返し回数の削減、を実 現する通信装置および復号方法を得ることを目的とする。
課題を解決するための手段
[0022] 上述した課題を解決し、目的を達成するために、本発明にカゝかる通信装置は、 LD PC符号ィ匕された符号語を検査行列を用いて復号する通信装置にお 、て、復号アル ゴリズムにおける所定の処理により得られる中間値を保持する保持手段と、検査行列 における行重みに対応した対数尤度比(ビットノードからチェックノードへ送る対数尤 度比:行処理用 LLRと呼ぶ)の絶対値に基づ 、て、列処理で用いる対数尤度比(チ エックノードからビットノードへ送る対数尤度比:列処理用 LLRと呼ぶ)を演算する行 処理を実行する行処理手段と、列重みに対応した列処理用 LLRを用いて、行処理 で用いる行処理用 LLRを演算し、さらに、行処理用 LLRの絶対値の最小 k値を前記 保持手段に保持する列処理、を実行する列処理手段と、を備え、前記列処理手段が 行の前記最小 k値を更新しながら復号を行うことを特徴とする。
発明の効果
[0023] この発明によれば、 LDPC復号にお!、て、行処理のための LLRの絶対値を、巡回 構造により行単位に最小 k値に縮小することとしたので、それらを保持するためのメモ リ量を大幅に削減することができる、という効果を奏する。また、本発明によれば、従 来の「Min-Sumアルゴリズム」よりも確率伝搬を効率的に行うことができるので、復号の 繰り返し回数を大幅に削減することができ、ひいては、復号処理における計算量を大 幅に低減させることができる、という効果を奏する。
図面の簡単な説明
[0024] [図 1]図 1は、 LDPC符号化器および LDPC復号器を含む通信システムの構成例を 示す図である。
[図 2]図 2は、 LDPC復号器にお!、て「Min-Sumアルゴリズム」の行処理ステップを実 行する場合の行処理部の構成例を示す図である。
[図 3]図 3は、 LDPC復号器にお!、て「Min-Sumアルゴリズム」の列処理ステップを実 行する場合の列処理部の構成例を示す図である。
[図 4]図 4は、「Min-Sumアルゴリズム」における処理の流れを示すフローチャートであ る。
[図 5-1]図 5—1は、実施の形態 1の LDPC復号器の構成例を示す図である。
[図 5-2]図 5— 2は、実施の形態 1の LDPC復号器の構成例を示す図である。
[図 6]図 6は、「巡回近似 minアルゴリズム」において行処理を実行する行処理部の構 成例を示す図である。
[図 7-1]図 7— 1は、「巡回近似 minアルゴリズム」において列処理を実行する列処理 部の構成例を示す図である。
[図 7-2]図 7— 2は、「巡回近似 minアルゴリズム」において列処理を実行する列処理 部の構成例を示す図である。
[図 8]図 8は、 n= 15の列処理において、 Min2LLRに n= 15の情報が保持されてい る場合の処理を示す図である。
[図 9]図 9は、「巡回近似 minアルゴリズム」における処理の流れを示すフローチャート である。
[図 10]図 10は、列番号表記を示す図である。
[図 11]図 11は、「巡回近似 minアルゴリズム」と「Min-Sumアルゴリズム」の比較シミュレ ーシヨンの結果を示す図である。
[図 12]図 12は、「巡回近似 minアルゴリズム」と「Min-Sumアルゴリズム」の比較シミュレ ーシヨンの結果を示す図である。
[図 13]図 13は、実施の形態 2の LDPC復号器の構成例を示す図である。
[図 14]図 14は、繰り返し回数についての性能比較を示す図である。
[図 15]図 15は、実施の形態 3の行処理を実行する行処理部の構成例を示す図であ る。 [図 16]図 16は、実施の形態 4の行処理を実行する行処理部の構成例を示す図であ る。
[図 17]図 17は、「δ minアルゴリズム」に対して「巡回近似 minアルゴリズム」または「0 verlapped巡回近似 minァノレゴリズム」を適用した復号アルゴリズムと、 「 Sum- Productァ ルゴリズム」と、の比較結果を示す図である。
[図 18]図 18は、実施の形態 5の行処理を実行する行処理部の構成例を示す図であ る。
[図 19]図 19は、実施の形態 6の「シリアル巡回近似 minアルゴリズム」において列処理 を実行する列処理部の構成例を示す図である。
符号の説明
1 LDPC符号化器
2 変調器
3 通信路
4 復調器
5 LDPC復号器
11 受信 LLR算出部
12 復号コア部
21, 21a 途中結果保持部
22, 22- 1, 22- 2, 22— G 行処理部
23, 23— 1, 23— 2, 23— G 列処理部
24 復号結果判定部
25, 25a 制御部
31, 31a, 31b, 31c 最小値選択部
32 符号演算部
33 LLR算出部
41 α加算部
42 λ加算部
43 最小 k値比較部 44 符号演算部
45 スィッチ
発明を実施するための最良の形態
[0026] 以下に、本発明にかかる通信装置および復号方法の実施の形態を図面に基づい て詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない 。また、本発明にかかる復号方法は、一例として、携帯電話等の無線通信において、 端末および基地局における復号処理として適用可能である。また、衛星通信, HDD ,光通信,無線 LAN,量子暗号,その他の復号処理として適用可能である。
[0027] 実施の形態 1.
まず、本発明に力かる通信装置および復号方法を実現するための LDPC復号器の 、通信システム内における位置付けについて説明する。図 1は、 LDPC符号化器およ び LDPC復号器を含む通信システムの構成例を示す図である。図 1において、送信 側の通信装置 (送信装置と呼ぶ)は、 LDPC符号化器 1と変調器 2を含む構成とし、 受信側の通信装置 (受信装置と呼ぶ)は、復調器 4と LDPC復号器 5を含む構成とす る。
[0028] ここで、 LDPC符号を採用する通信システムにおける符号化処理,復号処理の流 れを簡単に説明する。送信装置内の LDPC符号化器 1では、たとえば、既知の方法 により K行 X N列の生成行列 G (K:情報長, N :符号語長)を生成する。そして、情報 長 Kのメッセージ (m , m , · ··, m )を受け取り、このメッセージおよび上記生成行列
1 2 K
Gを用いて、下記(6)式のように、符号語 Cを生成する。ただし、 LDPC用のノ^ティ 検査行列を H (M行 X N列)とした場合、生成行列 Gは、 GHT=0 (Tは転置行列), H (c , c , · ··, c )T=0を満たす行列となる。
1 2 Ν
C= (m, m, "', m ) G
1 2 K
= (c, c,…, c ) … (6)
1 2 N
[0029] そして、変調器 2では、 LDPC符号化器 1で生成した符号語 Cに対して、 BPSK,多 値 PSK,多値 QAM等の所定の変調方式によりディジタル変調を行い、その変調信 号 x= (x , X , · · ·, x )を、通信路 3を介して受信装置に送信する。
1 2 N
[0030] 一方、受信装置では、復調器 4が、通信路 3を介して受け取った変調信号 y= (y , y , · · ·, y )に対して、上記 BPSK,多値 PSK,多値 QAM等の変調方式に応じたデ
2 N
イジタル復調を行い、さらに、 LDPC復号器 5が、復調結果から得られる対数尤度比( LLR)を用いて、後述する本実施の形態の復号アルゴリズムによる繰り返し復号を実 施し、その復号結果として硬判定値 (元のメッセージ m , m , · · ·, mに対応)を出力
1 2 K
する。
[0031] つづいて、本実施の形態の復号アルゴリズムについて説明を行う前に、その前提と なる従来の復号アルゴリズムである「Min-Sumアルゴリズム」について説明する。
[0032] 「Min-Sumアルゴリズム」では、まず、前述した「Sum- Productアルゴリズム」と同様の 初期化ステップを実行し、つぎに、当該「Min-Sumアルゴリズム」の行処理ステップを 実行し、その後、前述した「Sum- Productアルゴリズム」と同様の列処理ステップおよ び停止規範を実行することにより、確率情報の算出処理および更新処理を行う。以 下では、「Sum- Productアルゴリズム」と処理の異なる、「Min-Sumアルゴリズム」の行処 理ステップにつ 、て説明する。
[0033] 図 2は、 LDPC復号器にお!、て「Min-Sumアルゴリズム」の行処理ステップを実行す る場合の行処理部の構成例を示す図である。この行処理部は、パリティ検査行列 H の行重み分の LLR: β (1ϋを保持するメモリ部 111,各 LLRを大小比較して LLRの mn
最小値を出力する比較部 112を備えた最小値選択部 101と、上記行重み分の LLR の符号を保持するメモリ部 113,各 LLRの符号( +または—)を乗算する乗算器 114 を備えた符号演算部 102と、最小値選択部 101から得られる最小値と符号演算部 10 2から得られる符号の乗算結果(+または—)とを乗算することによって LLR : a (1)を mn 算出する LLR算出部 103と、カゝら構成されている。
[0034] 上記行処理部において、最小値選択部 101の比較部 112は、 2入力(a, b)の比較 器を複数備え、上記メモリ部 111および前段の比較器(1段目の比較器は上記メモリ 部 111のみ)から比較対象の LLRを受け取った各比較器力 「 I a Iく I b I」の場 合は I a Iを出力し、その以外の場合は I b Iを出力することによって、 LLRの絶対 値の最小値を出力する。そして、 LLR算出部 103が、上記最小値と上記符号の乗算 結果とを乗算し、その乗算結果である LLR : a (1)を列処理部へ受け渡す。
mn
[0035] なお、図 3は、 LDPC復号器にお!、て「Min-Sumアルゴリズム」の列処理ステップを 実行する場合の列処理部の構成例を示しており、この列処理部では、パリティ検査行 列 Hの列重みの LLR: a (1)を保持し、各 LLRを加算することにより、繰り返し 1回目の m n
事後値 (1)を出力している。
[0036] (行処理ステップ)
また、上記「Min-Sumアルゴリズム」の行処理を一般ィ匕すると、下記(7)式のように表 すことができる。ここでは、行処理として、各 m, nについて、チェックノード mからビット ノード nへ送るビット nの繰り返し 1回目の LLR: a (1)を、下記(7)式により更新している
[0037] [数 4]
Figure imgf000011_0001
(7)
ただし、 (1-1)
[0038] min | β は、ノ リティ検査行列 Hの m行目において n列目を除く LL
R -. β (1— "の絶対値の最小値を表し、 sgn ^ ϋ)は、 n列目を除く LLR: J8 (1ϋの mn mn mn 符号を表す。
[0039] 上記のように、行処理ステップを実行後、「Min-Sumアルゴリズム」では、さらに、前 述した「Sum-Productアルゴリズム」と同様の列処理および停止規範に基づく処理を 実行し、最終的な符号結果を得る。
[0040] つぎに、上記「Min-Sumアルゴリズム」における処理の流れを、図 4のフローチャート を用いて簡単に説明する。
[0041] 上記「Min-Sumアルゴリズム」にお!/、ては、まず、受信情報力 受信 LLRを算出し( ステップ SI, S2)、その結果を初期値としてメモリ部 111に設定し、さらに、繰り返し 回数を 1= 1と初期化する (ステップ S3)。つぎに、繰り返し処理 (ステップ S4 :繰り返し 復号 1回目〜繰り返し復号最終回)として、まず、繰り返し 1回目の復号演算における 行処理を行!ヽ (行処理)、つぎに、繰り返し 1回目の復号演算における列処理を行 ヽ ( 列処理)、その後、繰り返し 1回目で算出した事後値を硬判定し、その判定値を復号 結果として決定し、さらに、ノ^ティ検査を行う(停止規範)。そして、上記停止規範に おいて、ノ^ティ検査結果が OKとなる力 または繰り返し回数が 1=1 となった場合 max
に、最終的にそのときの復号結果を出力する (ステップ S5)。
[0042] このように、上記「Min-Sumアルゴリズム」にお!/、ては、前述した「Sum- Productアル ゴリズム」の行処理、すなわち、(3)式を近似することにより、「Sum- Productァルゴリズ ム」よりも計算量およびメモリ量を削減している。し力しながら、上記「Min-Sumアルゴリ ズム」においては、中間値を保持するために、パリティ検査行列 Hに含まれる" 1 (重 み)"の数に対応する膨大なメモリ量が必要であり、よりメモリ量を削減するためには、 さらなる改良が必要である。
[0043] 以下において説明する本実施の形態の復号アルゴリズムは、上記さらなるメモリ量 の削減および計算量の低減を実現するものであり、たとえば、「Sum-Productアルゴリ ズム」の近似復号法である「Min-Sumアルゴリズム」を改良したアルゴリズムである。
[0044] つづ 、て、本発明に力かる受信装置を構成する LDPC復号器 5の構成、および LD PC復号器 5による復号方法 (復号アルゴリズム)を、図面にしたがって詳細に説明す る。
[0045] 図 5— 1は、本実施の形態の LDPC復号器 5の構成を示す図であり、この LDPC復 号器 5は、受信情報カゝら受信 LLRを算出する受信 LLR算出部 11と本実施の形態の 復号処理を行う復号コア部 12で構成されている。また、復号コア部 12は、復号の途 中結果(中間値)を保持しておくためのメモリで構成された途中結果保持部 21と、本 実施の形態の行処理を実行する行処理部 22と、本実施の形態の列処理を実行する 列処理部 23と、本実施の形態の停止規範として、列処理における事後値の硬判定 およびパリティ検査結果の正誤判定を行う復号結果判定部 24と、復号の繰り返し制 御を行う制御部 25と、を備えている。 [0046] なお、本実施の形態の復号アルゴリズムは、巡回的に最小 k値の LLRの絶対値の みを更新して 、く方法であり、正確な最小値ではなく近似的な最小値を用いて復号 する方法であることから、以降、「巡回近似 minアルゴリズム」と呼ぶこととする。また、 上記最小 k値とは、「最小値から昇順に k番目まで」を表す。
[0047] ここで、上記受信装置にお!/、て実施される「巡回近似 minアルゴリズム」を以下に示 す。
[0048] (初期化ステップ)
まず、繰り返し回数 1= 1および最大繰り返し回数 1 を設定する。さらに、初期時に
max
おける m行目の最小 k値の LLRを β (Q)として、受信 LLR: λを入力し、下記(8)式
mn(i) n
に示すように B を求める。また、初期時における m行目の LLR: β (Q)の符号として
mnw mn
、 sgn ( )を入力し、下記(8)式に示すように Sを求める。
n m
[0049] [数 5]
B β(
sm = Π η(λ η)
neN(m)
n(i) = arg ( min λη |]
neN(m)\{n(l),n(2),...,n(i— 1)}リ IJ
n(0) = φ
[0050] ただし、 B は、 m行目の最小 k値の LLR : j8 の絶対値であり、 n (i)は、 B の
mn(i) mnu mnu 中で最小 i番目の LLRの列番号であり、 Sは、 m行目の LLR : β の符号(+または
m mn
一)の積である。
[0051] (行処理ステップ)
つぎに、行処理として、 l≤n≤Nおよび各 mについて、チェックノード m力らビットノ ード nへ送るビット nの繰り返し 1回目の LLR: a (1)を、下記(9)式により更新する。な
mn
お、本実施の形態においては、行処理の開始列は任意とし、最終列まで処理が終了 した段階で、再度最初の列から巡回的に復号処理を行う。
[0052] [数 6] „= nsgnfe!i ) FTsgn βϋ- n!) . . min [Bmn,
n'eN^ (m)\n
n'eN(m)\n n'eN(m)\n
n'<n
Figure imgf000014_0001
一 mm
Figure imgf000014_0002
(9)
[0053] 具体的には、現在の列番号が nの場合、「 <n」を満たす列番号については、 1回 目の列処理で更新された LLR: β (1)の符号の積をとり、また、「 >η」を満たす列 mn
番号については、(1— 1)回目の列処理で更新された LLR: β (1ϋの符号の積をとり mn
、そして、それらの結果と m行目の最小 k値中の最小の LLR: min [ j8 ,]との乗算結 mn
果を、列番号 nの更新後の LLR: a (1)としている。なお、本実施の形態においては、 mn
さらに、上記 β
mn (1)の符号の積と上記 β
mn (11〉の符号の積と乗算する項を、(1 1)回目 に更新された Sと (1 1)回目に更新された β の符号とを乗算する項に、置き換え m mn
ることとした。これにより、さらに、計算量およびメモリ量を削減できる。なお、上記(9) 式の N (m)は、 m行目の n(i)の集合であり、 N (m) = {n (l) , n (2) , · ··, n (k) }と表 k k
す。
[0054] (列処理ステップ)
つぎに、列処理として、各 m, nについて、ビットノード nからチェックノード mへ送るビ ット nの繰り返し 1回目の LLR: β (1)を、下記(10)式により更新する。
mn
[0055] [数 7]
Figure imgf000014_0003
n(i) = arg min B (i)
Figure imgf000014_0004
(10) [0056] 具体的には、列番号 nにおいて、受信 LLR: λ 1回目の行処理で更新された m 行目以外の LLR: a (1)の合計値と、の加算結果を、更新後の LLR: β (1)としている m n mn
。また、上記 S 'と 1回目の列処理で更新された β (1)の符号(+または-)とを乗算す m mn
ることにより、行処理にて使用する Sを更新している。なお、上記(10)式における下 m
の 2つの式は、 B の並べ替え処理 (最小 k値)を規定したものである。
mn(l)
[0057] また、各 nにつ 、て、硬判定のための、ビット nの繰り返し 1回目の事後値 β (1)を下記
(11)式により更新する。
[0058] [数 8] m'eM(n) ー(11)
[0059] (停止規範)
その後、たとえば、ビット nの繰り返し 1回目の事後値 |8 (1)が「 (1)>0」の場合には、 復号結果を「x' = l」とし (χΊま元の送信信号 Xに対応)、一方、「j8 (1)≤0」の場合に は、復号結果を「x'=0」とし、復号結果 χ'=(χ', χ', ···, χ Ίを得る。
n 1 2 Ν
[0060] そして、パリティ検査の結果が「Hx'=0」または繰り返し回数が「1=1 」の場合 (い max
ずれ力 1つの条件を満たしている場合)に、そのときの復号結果 χ'を出力する。なお 、上記 2つの条件のどちらも満たしていない場合は、「1=1+1」とし、上記行処理に戻 り、以降、順に演算を実行する。
[0061] つぎに、上記「巡回近似 minアルゴリズム」を実行する LDPC復号器 5の特徴的な動 作を、構成図を用いて具体的に説明する。
[0062] 図 6は、上記「巡回近似 minアルゴリズム」にお 、て行処理を実行する行処理部 22 の構成例を示す図であり、この行処理部 22は、最小値選択部 31と符号演算部 32と LLR算出部 33から構成されている。なお、図示の MinlLLR(m行目における最小 の LLR)は B であり、 Min2LLR(m行目における最小 2番目の LLR)は B であり mn(l) mn(2)
、それぞれ途中結果保持部 21に保持された値である。また、図示の Sおよび「(1— m
1)回目の m行 n列目の LLR: β の符号」についても、それぞれ途中結果保持部 21 mn
に保持された値である。 [0063] 最小値選択部 31では、行処理の対象となっている列番号 nと MinlLLR (B )の
mn(l) 列番号 n ( l)とが一致している場合は、 Min2LLR (B )を選択し、それ以外の場合
mn(2)
は、 MinlLLR (B )を選択し、出力する。また、符号演算部 32は、「(1—1)回目の
mn(l)
列処理で更新された S」および「( 1 1)回目の m行 n列目の LLR: β の符号」を乗
m mn
算し、その結果として S 'を出力する。このとき、 S
m m Ίま、途中結果保持部 21に保持さ れる。また、 LLR算出部 33は、最小値選択部 31から得られる最小の LLRと符号演 算部 32から得られる符号の乗算結果 S ' ( +または—)とを乗算することによって、 L
m
LR : a (1)を算出する。この構成により、「Min-Sumアルゴリズム」においては行重み分 mn
だけ必要であったメモリを、 k値分に縮小できる。
[0064] 図 7— 1は、上記「巡回近似 minアルゴリズム」において列処理を実行する列処理部 23の構成例を示す図であり、この列処理部 23は、 α加算部 41とえ加算部 42と最小 k値比較部 43と符号演算部 44から構成されている。なお、本実施の形態では、 k= 3 の場合を一例として記載している。また、図示の列重み分の LLR, a , λ , S ' , M
mn n m inlLLR, Min2LLR, Min3LLR (m行目における最小 3番目の LLR)は、それぞれ 途中結果保持部 21に保持された値である。
[0065] 上記列処理部 23では、 a加算部 41が、 1回目の行処理で更新された m行目以外 のすベての LLR : a (1)を加算し、さらに、 λ加算部 42が、 α加算部 41による加算結
m n
果に受信 LLR : λを加算し、 13 (1)を出力する。そして、最小 k値比較部 43 (k= 3)は
n mn
、 I β α) Iを受け取る。ここで、図 7—1に図示はしていないが、たとえば、列処理の mn
対象となる n列目の nと、 MinlLLR, Min2LLR, Min3LLRにそれぞれ保持されて いる B , B , B に対応する列番号を示す n ( l) , n (2) , n (3)のいずれかが一 mn(l) mn(2) mn(3)
致した場合、 n=n (i)となる B を間引きし、図 8に示すような操作を行う。具体的に
mn(i)
は、 Min2LLRに保持されている情報を削除し、 Min3LLRに保持されている情報を Min2LLRに移動し、さらに、 Min3LLRには、たとえば(16ビットの場合)、最大値" FFFF"を格納する。これにより、処理対象の列を除いた比較処理が可能となるととも に、少なくとも Min3LLRが列処理において必ず更新されることになる。この処理後、 図 7— 1に示すとおり、 I j8
mn (1) Iと、 MinlLLR, Min2LLR, Min3LLRと、をそれ ぞれ比較し、「 I j8 (1) Iく Min3LLR」であれば、最小 3値の LLRを更新する。一方 、 え加算部 42が出力する |8 (1)の符号を「1回目の m行 η列目の LLR : |8 (1)の符号」と
mn mn
して途中結果保持部 21に保持し、さら〖こ、符号演算部 44が、 1回目の行処理で更新 された S 'と上記 j8 (1)の符号とを乗算し、その結果を用いて途中結果保持部 21に保 m mn
持された Sを更新する。なお、 I j8 (1) Iと MinlLLR, Min2LLR, Min3LLRとの
m mn
比較の際に、 I j8 (1) Iを B の中心の値である Min2LLRと最初に比較し、それ以
mn mnu
降、図示のように、ツリー状に比較するようにした力 たとえば、最小値である MinlL LRから比較する場合に比べ、実行時間が { (k+ l)Z2}Zk(kが奇数の場合)となる 効果がある。また、 kが偶数の場合には、 B の中心の値は 2個になる力 最初に比
mnu
較を開始する対象は、そのいずれであってもよい。 kが偶数の場合は、最小値である MinlLLR力 比較する場合に比べ、実行時間が {kZ2+ l}Zk(kが偶数の場合) となる効果がある。
[0066] また、上記と同じ処理を、図 7— 2に示す構成でも実現することができ、その際、 a 加算部 41では、列重み分のすべての LLRの加算のみを行い、その後、 λ加算部 42 でえの加算を行い、その結果を復号結果判定部 24に出力するとともに、 m行目の L LRである α
mnの減算を行う。このような手順でも上記処理の手順と同一の結果を得る ことができる。この際の LDPC符号器の構成は図 5— 2のようになる。
[0067] つぎに、本実施の形態の「巡回近似 minアルゴリズム」における処理の流れを、図 9 のフローチャートを用いて説明する。
[0068] 上記「巡回近似 minアルゴリズム」にお ヽては、まず、受信 LLR計算部 11が、受信 情報力も受信 LLRを算出し (ステップ Sl l, S 12)、その結果を初期値として途中結 果保持部 21に設定し (ステップ S13)、さらに、制御部 25が、繰り返し回数を 1= 1と初 期化する (ステップ S 13)。また、列処理部 23のうち、 λ加算部 42,最小 k値比較部 4 3,符号演算部 44を用いて、 n= lから n=Nまで巡回的に、上記(8)式の演算を行う (ステップ S 13)。
[0069] つぎに、復号コア部 12は、制御部 25の制御により、 1回目(1回目〜最終回)の繰り 返し復号演算を行う(ステップ S 14)。具体的には、繰り返し復号の 1回目として、行処 理部 22が、 1列目に" 1"を持つ行に対して行処理 (受信 LLRを使用)を行い、その結 果を列処理部 23へ受け渡す。その後、列処理部 23が、 1列目の列処理を行い、そ の結果である B と Sを、途中結果保持部 21に保持する(更新する)。以降、 2列目 , 3列目, · '·Ν列目の順に、上記と同様の処理を行い、それぞれ Β と Sを、途中結
mn(i) m
果保持部 21に保持する (繰り返し復号 1回目に相当)。その後、繰り返し復号の 2回 目以降は、 1つ前の処理で更新された LLRおよび Sを用いて行処理を行い、それ以
m
外は、上記 1回目と同様に復号処理を行う。
[0070] また、上記 1回目の繰り返し復号を実施後、復号結果判定部 24が、繰り返し 1回目で 算出した事後値を硬判定し、その判定値を復号結果 として決定し、さらにパリティ 検査を行う(停止規範)。そして、この停止規範において、パリティ検査結果が OK(「 Hx' =0」)となる力、または繰り返し回数が 1=1 となった場合に、最終的にそのとき
max
の復号結果 χ'を出力する (ステップ S15)。なお、上記 2つの条件を満たしていない 場合は、制御部 25が 1=1+ 1とし、復号コア部 12においては、(1+ 1)回目の繰り返し 復号を実行する。
[0071] つぎに、列番号の表記方法によるメモリサイズの削減について説明する。図 10は、 本実施の形態の列番号表記を示す図である。「巡回近似 minアルゴリズム」では、たと えば、列番号を n=0から昇順に表記することとした。また、従来、列番号 nを、パリティ 検査行列の列番号そのもの(絶対列番号)で表現して!/、たが、本実施の形態にぉ 、 ては、ノ^ティ検査行列における m行目の" 1"の最小の列番号を n=0とし、 m行目の 次の" 1"の列番号を n=lとし、以降、" 1"毎に n= 2, 3,…とする相対的列番号で表 現することとした。すなわち、従来は、ノ^ティ検査行列の" 1"の絶対列番号が、たと えば、 "32768"である場合、列番号を表現するために必要なビット数が 15ビットとな る力 一方、本実施の形態においては、たとえば、行重みが 8個であれば 0〜7を表 現できる 3ビットまで、行重みが 16個であれば 0〜15を表現できる 4ビットまで、メモリ サイズを縮小することできる。
[0072] 以上にように、本実施の形態では、 LDPC復号において、行処理のための LLRの 絶対値 I β Iを、巡回構造により行単位に最小 k値に縮小することとしたので、そ
mn
れらを保持するためのメモリ量を大幅に削減することができる。たとえば、行重みが 2 0で k= 3の場合は、従来と比較してメモリ量を 3Z20に削減することができる。また、 列番号を、絶対列番号 (1,3,10,15…;)から相対的列番号 (0,1,2,3· ··)に変更すること により、さらにメモリ量を削減することができる。
[0073] また、本実施の形態の「巡回近似 minアルゴリズム」にお 、ては、行処理と列処理に よる確率情報 (LLR)の算出および更新を巡回的に 1ビットずつ行うこととした。これに より、従来の「Min- Sumアルゴリズム」よりも確率伝搬を効率的に行うことができる。
[0074] たとえば、図 11、図 12に、「巡回近似 minアルゴリズム」と「Min-Sumアルゴリズム」の 比較シミュレーションの結果を示す。 LDPC符号は、イレギュラー EG符号で最大行 重みは 8である。図 11においては、復号繰り返し回数を 100回に固定し、「巡回近似 minアルゴリズム」の保存する最小値の個数を 3, 4, 5個と変えて、「Min-Sumアルゴリ ズム」と性能比較を行った場合を表している。図中、 CyclicXminは最小 X値を保持し た「巡回近似 minアルゴリズム」を表し、 Min-Sumは「Min-Sumアルゴリズム」を表す。図 11からも明らかなように、本実施の形態の「巡回近似 minアルゴリズム」によって、メモ リを削減しつつ復号性能が劣化しないことが確認できる。
[0075] また、図 12には、「巡回近似 minアルゴリズム」と「Min-Sumアルゴリズム」において、 復号が成功するまでに要した平均繰り返し回数を比較した結果を示している。図中、 CyclicXminは最小 X値を保存した「巡回近似 minアルゴリズム」を表し、 Min-Sumは「M in-Sumアルゴリズム」を表す。この結果力らも明らかなように、「巡回近似 minアルゴリ ズム」では確率伝搬が効率的に行われ、復号繰り返し回数が大幅に削減されている 。すなわち、本実施の形態の「巡回近似 minアルゴリズム」により、復号処理における 計算量を大幅に低減させることができる。
[0076] なお、本実施の形態において、行処理の演算対象の LLRは、 1値である力 kの個 数は、 2値以上であれば何値でもよい。また、本実施の形態においては、行処理と列 処理とを交互に 1回ずつ実行し、これに応じて、行処理と列処理による確率情報 (LL R)の更新を 1ビットずつ巡回的に行う場合について説明したが、これに限定されるも のではなぐ行処理を複数回実行した後、列処理を複数回実行するようにしてもよい 。すなわち、行処理と列処理による確率情報 (LLR)の算出および更新を巡回的に複 数ビットずつ行うようにしてもよ 、。
[0077] 実施の形態 2.
つづいて、実施の形態 2の受信装置および復号方法について説明する。本実施の 形態の LDPC復号は、行処理と列処理による確率情報 (LLR)の算出および更新を 、 1ビットずつまたは予め定めた複数ビットずつ行う場合に適用可能であり、たとえば 、演算処理を並列化することにより、繰り返し回数の低減を図る。なお、本実施の形 態においては、途中結果保持部の B および Sを、並列化の数にかかわらず 1セッ mn(i) m
トとし、並列化されたすべての処理部が同一の B cおよび Sを更新していぐいわゆ mn m
る「Overlapped」された B cおよび Sを用いた「巡回近似 minアルゴリズム」を実行する mn m
。以降、本実施の形態の復号アルゴリズムを、「Overlapped巡回近似 minアルゴリズム 」と呼ぶ。
[0078] ここで、本実施の形態の受信装置にお!/、て実施される「Overlapped巡回近似 minァ ルゴリズム」を以下に示す。
[0079] (初期化ステップ)
まず、繰り返し回数 1= 1および最大繰り返し回数 1
maxを設定する。さらに、初期時に おける m行目の最小 k値の LLRを β (Q)として、受信 LLR: λを入力し、下記(12) mn(i) n
式に示すように B cを求める。また、初期時における m行目の LLR: β (Q)の符号と mn(i) mn して、 sgn ( )を入力し、下記(12)式に示すように Sを求める。
n m
[0080] [数 9]
Ν ί 、 、 r
(m)\{n(l),n(2),".,n (卜 j 1)} ll Vi e [l,k]
Figure imgf000020_0001
n(i) = arg min ||λ
neN(m)\{n(l),n(2),...,n(i— 1)} η| 11
n(0) = φ
- (12)
[0081] ただし、 B cは、 m行目の最小 k値の LLR: |8 の絶対値であり、並列処理の際 mn(i) mn(i)
に共通に用いられる。また、 n (i)は、 B cの中で最小 i番目の LLRの列番号である。
mn、リ
[0082] (行処理ステップ)
つぎに、行処理として、 0≤g≤G—l, g -N + l≤n≤(g+ l) -Nおよび各 mにつ
G G
いて、チェックノード mからビットノード nへ送るビット nの繰り返し 1回目の LLR : α (1)を mn
、下記(13)式により更新する。なお、 Gは並列数であり、 Nは並列化された各復号
G 回路が処理する列数である。また、 G'N =Nである。また、本実施の形態において g
は、各行処理の開始列は任意とし、最終列まで処理が終了した段階で、再度最初の 列から巡回的に復号処理を行う。
[0083] [数 10]
Figure imgf000021_0001
•••(13)
[0084] 具体的には、たとえば、列数: N毎に G個に分割された各列郡にそれぞれ割り当て
G
られた G個の行処理部力 並列に行処理を実行する。なお、 G個の行処理部が並列 に処理を行い、すべての処理部が同一の B cを用いる以外は、前述した「巡回近似 mn
minアルゴリズム」と同様に動作する。
[0085] (列処理ステップ)
つぎに、列処理として、 0≤g≤G—l, g-N + l≤n≤ (g+ 1) ·Νおよび各 mにつ
G G
いて、ビットノード nからチェックノード mへ送るビット nの繰り返し 1回目の LLR: β α)を mn
、下記(14)式により更新する。すなわち、本実施の形態においては、上記のように並 列に行処理が行われた後の各列について、並列に、下記(14)式に示す列処理を実 行する。
[0086] [数 11]
Figure imgf000021_0002
B^nfn = min IB βϊ„ ,Vi e [l,k]
^ n'eNk (m)\{n(l),n(2),...,n(i-l)>n(i)}L •••(14)
[0087] また、各 nにつ 、て、硬判定のための、ビット nの繰り返し 1回目の事後値 β η (1)を下記
(15)式により更新する。
[0088] [数 12]
Figure imgf000022_0001
ー(15)
[0089] なお、停止規範については、前述した「巡回近似 minアルゴリズム」と同様である。
[0090] つづ!/、て、上記「Overlapped巡回近似 minアルゴリズム」を実現する実施の形態 2の LDPC復号器 5の構成および動作について説明する。
[0091] 図 13は、本実施の形態の LDPC復号器 5の構成例を示す図であり、受信情報から 受信 LLRを算出する受信 LLR算出部 11と本実施の形態の復号処理を行う復号コア 部 12aで構成されている。また、復号コア部 12aは、復号の途中結果(中間値)を保 持しておくためのメモリで構成された途中結果保持部 21aと、本実施の形態の行処 理 (並列処理)を実行する行処理部 22— 1〜22— Gと、本実施の形態の列処理 (並 列処理)を実行する列処理部 23— 1〜23— Gと、本実施の形態の停止規範として、 列処理における事後値の硬判定およびパリティ検査結果の正誤判定を行う復号結 果判定部 24と、復号の繰り返し制御を行う制御部 25aと、を備えている。
[0092] 図 13において、本実施の形態の LDPC復号器 5は、各行処理部および各列処理 部が並列に処理を行う際、上記(12)式, (13)式, (14)式に従って、途中結果保持 部 21aの B eおよび Sを共通に使用し、それぞれが更新する。この並列処理により、 mn m
B eおよび Sは、並列数に応じて急速に更新され、それに伴って、復号の繰り返し回 mn m
数を大幅に削減することができる。
[0093] なお、本実施の形態では、並列処理において、同一クロックで同一行の演算が発 生し、同一ノ ッファを参照するような問題が生じる場合には、たとえば、各処理部にメ モリアクセスの優先順位を設定する、メモリバンクを区切る、シフトレジスタを用いてメ モリアクセスのタイミングを調整する、等の対策を行う。
[0094] 以上のように、本実施の形態の「Overlapped巡回近似 minアルゴリズム」は、前述し た「巡回近似 minアルゴリズム」を応用し、行処理および列処理をそれぞれ並列に実 行することとした。また、並列に実行される各列処理において更新される最小 k値を保 持する途中結果保持部を共有し、並列に実行される各列処理においてそれぞれ最 小 k値を更新することとした。これにより、「Min-Sumアルゴリズム」および前述した実施 の形態 1と比較して、復号の繰り返し回数を大幅に削減することができる。
[0095] 図 14は、繰り返し回数についての性能比較を示す図である。詳細には、並列数を 2 とした場合の「Overlapped巡回近似 minアルゴリズム」、「巡回近似 minアルゴリズム」、 「Min-Sumアルゴリズム」について、復号の繰り返し回数を固定した状態で、それぞれ の復号性能を比較した結果である。図 14において、復号の繰り返し回数が少なく制 限された場合、「巡回近似 minアルゴリズム」は、従来法である「Min-Sumアルゴリズム 」と比較して、復号性能が高いことが確認でき、さら〖こ、 「Overlapped巡回近似 minアル ゴリズム」は、「巡回近似 minアルゴリズム」の半分の復号繰り返し回数で同程度の復 号性能を持つことが確認できる。なお、図 14においては、並列数を 2としたため、復 号の繰り返し回数が半分程度であった力 「Overlapped巡回近似 minアルゴリズム」を 用いた場合、繰り返し回数は、「巡回近似 minアルゴリズム」の「1Z並列数」となる。
[0096] 実施の形態 3.
つづいて、実施の形態 3の受信装置および復号方法について説明する。本実施の 形態にお 、ては、「Min-Sumアルゴリズム」を応用した既知の復号アルゴリズムである 「Normalized BP-basedアルゴリズム」に対して、実施の形態 1の「巡回近似 minァルゴ リズム」または実施の形態 2の「Overlapped巡回近似 minアルゴリズム」における、巡回 的に最小 k値の LLRの絶対値のみを更新する処理、および近似的な最小値を用い た復号処理、を適用する。
[0097] ここで、本実施の形態の復号アルゴリズムにつ 、て説明を行う前に、その前提となる 既知の「Normalized BP-basedアルゴリズム」を以下に示す。なお、ここでは、「Min-S umアルゴリズム」と処理が異なる、行処理について説明する。
[0098] (行処理ステップ)
たとえば、「Normalized BP-basedアルゴリズム」の行処理を一般化すると、下記(16 )式のように表すことができる。ここでは、行処理として、各 m, nについて、繰り返し 1回 目の LLR : a (1)を、下記(16)式により更新している。また、式中の Aは正規ィ匕ファタ mn
ターと呼ばれる定数であり、「Normalized BP- basedアルゴリズム」では、「Min- Sumァ ルゴリズム」により得られる繰り返し 1回目の LLRを、正規ィ匕ファクター Aにより補正して いる。
[0099] [数 13]
Figure imgf000024_0001
(16)
[0100] つづ 、て、上記「Normalized BP-basedアルゴリズム」に対して「巡回近似 minァルゴ リズム」または「Overlapped巡回近似 minアルゴリズム」を適用した場合の復号アルゴリ ズムを以下に示す。なお、本実施の形態では、前述した「巡回近似 minアルゴリズム」 または「Overlapped巡回近似 minアルゴリズム」と同様の処理 (初期ィ 列処理,停止 規範)についてはその説明を省略する。以下では、前述した「巡回近似 minァルゴリズ ム」または「Overlapped巡回近似 minアルゴリズム」と処理の異なる、行処理につ!、て 説明する。
[0101] (巡回近似 minアルゴリズムを適用した場合の行処理ステップ)
たとえば、「巡回近似 minアルゴリズム」を適用した場合の本実施の形態の復号アル ゴリズムの行処理を一般ィ匕すると、下記(17)式のように表すことができる。ここでは、 行処理として、各 m, nについて、繰り返し 1回目の LLR : a (1)を、下記(17)式により mn
更新している。すなわち、下記(17)式においては、「巡回近似 minアルゴリズム」によ り得られる繰り返し 1回目の LLRを、正規ィ匕ファクター Aにより補正している。なお、本 実施の形態においては、行処理の開始列は任意とし、最終列まで処理が終了した段 階で、再度最初の列から巡回的に復号処理を行う。
[数 14]
Figure imgf000025_0001
= Asm - sgn( ^1)). , min [Bmn,]
n eNk (m)\n
Figure imgf000025_0002
- (17)
[0103] (Overlapped巡回近似 minアルゴリズムを適用した場合の行処理ステップ)
また、 Overlapped巡回近似 minアルゴリズム」を適用した場合の本実施の形態の復 号アルゴリズムの行処理を一般ィ匕すると、下記(18)式のように表すことができる。ここ では、行処理として、 0≤g≤G— l, g -N + l≤n≤(g+ l) -Nおよび各 mについて
G G
、繰り返し 1回目の LLR : a (1)を、下記(18)式により更新している。すなわち、下記(1 mn
8)式においては、「Overlapped巡回近似 minアルゴリズム」により得られる繰り返し 1回 目の LLRを、正規化ファクター Aにより補正している。
[0104] [数 15]
Figure imgf000025_0003
(18)
[0105] なお、本実施の形態の復号アルゴリズムでは、上記のように行処理ステップを実行 後、さらに、前述した「巡回近似 minアルゴリズム」または「Overlapped巡回近似 minァ ルゴリズム」と同様の列処理および停止規範に基づく処理を実行し、最終的な符号結 果を得ている。
[0106] つづいて、上記本実施の形態の復号アルゴリズムを実行する LDPC復号器 5の行 処理部の特徴的な動作を、図面を用いて説明する。なお、 LDPC復号器 5の全体構 成については、前述した図 5または図 13と同様である。
[0107] 図 15は、本実施の形態における行処理を実行する行処理部 22, 22— 1〜22— G の構成例を示す図であり、この行処理部は、最小値選択部 3 laを備えている。なお、 前述した図 6と同様の構成については、同一の符号を付してその説明を省略する。 本実施の形態の最小値選択部 3 laでは、たとえば、途中結果保持部 21 (または 21a )力も読み出した LLRの最小値(MinlLLRまたは Min2LLR)を、正規化ファクター Aを用いて補正している。具体的には、 LLRの最小値を Aで除算することにより正規 化を行っている。
[0108] 以上のように、本実施の形態においては、「Min-Sumアルゴリズム」よりも性能が良 好とされて 、る「Normalized BP-basedアルゴリズム」に「巡回近似 minアルゴリズム」ま たは「Overlapped巡回近似 minアルゴリズム」を適用することとした。これにより、前述し た実施の形態 1, 2と同様の効果が得られるとともに、さらに、ほぼ「Min- Sumアルゴリ ズム」と同等の回路量にもかかわらず「Sum- Productアルゴリズム」に近い性能を実現 できる。
[0109] なお、本実施の形態においては、「Normalized BP-basedアルゴリズム」に「巡回近 似 minアルゴリズム」または「Overlapped巡回近似 minアルゴリズム」を適用することとし た力 これに限らず、既知の「Offset BP-basedアルゴリズム」、またはそれ以外のァ ルゴリズムに巡回近似 minアルゴリズム」または「Overlapped巡回近似 minアルゴリズム 」を適用することも可能であり、この場合についても、上記と同様の効果を得ることが できる。
[0110] 実施の形態 4.
つづいて、実施の形態 4の受信装置および復号方法について説明する。本実施の 形態においては、「Normalized BP- basedアルゴリズム」や「Offset BP- basedアルゴリ ズム」よりも LLR: β の補正性能が優れて 、る既知の復号アルゴリズムである「 δ m mn
inアルゴリズム」に対して、実施の形態 1の「巡回近似 minアルゴリズム」または実施の 形態 2の「Overlapped巡回近似 minアルゴリズム」における、巡回的に最小 k値の LLR の絶対値のみを更新する処理、および近似的な最小値を用いた復号処理、を適用 する。
[0111] ここで、本実施の形態の復号アルゴリズムについて説明を行う前に、その前提となる 既知の「 δ minアルゴリズム」を以下に示す。なお、ここでは、「Min-Sumアルゴリズム 」と処理が異なる、行処理について説明する。
[0112] (行処理ステップ)
たとえば、「 δ minアルゴリズム」の行処理を一般ィ匕すると、下記(19)式のように表 すことができる。ここでは、行処理として、各 m, nについて、繰り返し 1回目の LLR : a (1)を、下記(19)式により更新して 、る。「 δ minアルゴリズム」の行処理では、繰り返 mn
し 1—1回目に更新された LLRの絶対値: I (i1〉 ら、 Θ
mn Iか の演算によりひ (1)を算 mn 出する。
[0113] [数 16]
Figure imgf000027_0001
nsA
a0b一 max( min(a, b) - Δ, 0 )
A≡max(0.9- | a - b | /2, 0)
•••( 19)
[0114] つづ!/、て、上記「 δ minアルゴリズム」に対して「巡回近似 minアルゴリズム」または「 Overlapped巡回近似 minアルゴリズム」を適用した場合の復号アルゴリズムを以下に 示す。なお、本実施の形態では、前述した「巡回近似 minアルゴリズム」または「Overla pped巡回近似 minアルゴリズム」と同様の処理 (初期化,列処理,停止規範)について はその説明を省略する。以下では、前述した「巡回近似 minアルゴリズム」または「Ove rlapped巡回近似 minアルゴリズム」と処理の異なる、行処理について説明する。また、 本実施の形態においては、行処理の開始列は任意とし、最終列まで処理が終了した 段階で、再度最初の列から巡回的に復号処理を行う。
[0115] (巡回近似 minアルゴリズムを適用した場合の行処理ステップ) たとえば、「巡回近似 minアルゴリズム」を適用した場合の本実施の形態の復号アル ゴリズムの行処理を一般ィ匕すると、下記(20)式のように表すことができる。ここでは、 行処理として、 l≤n≤Nおよび各 mについて、繰り返し 1回目の LLR : a α)を、下記( mn
20)式により更新している。また、この復号アルゴリズムの行処理では、繰り返し 1—1 回目に更新された最小 k値の LLRの絶対値: B から、 Θの演算により α (1)を算出 mn mn する。
[0116] [数 17] い
Figure imgf000028_0001
= Sm ' sgn(P ;') Θ [Br
n'GNk (m)\n n , GNk (m)、\\n U
ー(20)
[0117] (Overlapped巡回近似 minアルゴリズムを適用した場合の行処理ステップ)
また、 Overlapped巡回近似 minアルゴリズム」を適用した場合の本実施の形態の復 号アルゴリズムの行処理を一般ィ匕すると、下記(21)式のように表すことができる。ここ では、行処理として、 0≤g≤G— l, g -N + l≤n≤(g+ l) -Nおよび各 mについて
G G
、繰り返し 1回目の LLR : a (1)を、下記(21)式により更新している。また、この復号ァ mn
ルゴリズムの行処理では、繰り返し 1 1回目に並列処理にて更新された最小 k値の L LRの絶対値: B cから、 Θの演算により α (1)を算出する。
mn mn
[0118] [数 18] い Efsgnte,). nsgnfe'1))' , 、'。、' [B 'j
η'εΝ(ιτι)\η n'ENk (m)\n
n'eN(m)\n
Figure imgf000028_0002
(21)
[0119] なお、本実施の形態の復号アルゴリズムでは、上記のように行処理ステップを実行 後、さらに、前述した「巡回近似 minアルゴリズム」または「Overlapped巡回近似 minァ ルゴリズム」と同様の列処理および停止規範に基づく処理を実行し、最終的な符号結 果を得ている。
[0120] つづいて、上記本実施の形態の復号アルゴリズムを実行する LDPC復号器 5の行 処理部の特徴的な動作を、図面を用いて説明する。なお、 LDPC復号器 5の全体構 成については、前述した図 5または図 13と同様である。
[0121] 図 16は、本実施の形態における行処理を実行する行処理部 22, 22— 1〜22— G の構成例を示す図であり、この行処理部は、最小値選択部 3 lbを備えている。なお、 前述した図 6と同様の構成については、同一の符号を付してその説明を省略する。ま た、ここでは、一例として、図 5の LDPC復号器 5の場合について説明する力 図 13 の LDPC復号器 5につ 、ても同様に適用可能である。
[0122] 本実施の形態の最小値選択部 3 lbでは、たとえば、途中結果保持部 21から Mini LLR(B ) , Min2LLR (B ) , MinkLLR (B )とそれぞれの列番号を読み出し mn(l) mn(2) mn(k)
、演算部が Θの演算を行う。すなわち、本実施の形態の最小値選択部 31bでは、処 理対象となっている n列目と、途中結果保持部 21に保持された B の列番号 n(k)と mn(k)
、がー致しない B に対して、演算部が、「 δ minアルゴリズム」における以下の演 mn(k)
算を行う。
[0123] たとえば、演算部は、符号を除く更新値 I α (1) I (= Θ [Β ])を下記 (22)式のよ mn mn
うに求める。
[0124] [数 19]
Figure imgf000029_0001
- (22)
[0125] また、演算対象の LLRを k値力 最小 3値に限定することで演算量を削減すること ができ、演算部は、符号を除く更新値 I a (1) I (= Θ [Β ,])を下記 (23)式のように mn mn
求める。
[0126] [数 20]
Figure imgf000030_0001
- (23)
[0127] なお、上記では、一例として、演算対象の LLRを k値力 最小 3値に限定した場合 について説明したが、最小 4, 5…値と限定した場合においても同様に適用可能であ る。
[0128] 以上のように、本実施の形態においては、「Min-Sumアルゴリズム」よりも性能が良 好とされて 、る「 δ minアルゴリズム」に「巡回近似 minアルゴリズム」または「Overlapp ed巡回近似 minアルゴリズム」を適用することとした。これにより、前述した実施の形態 1, 2と同様の効果が得られるとともに、さらに、ほぼ「Min-Sumアルゴリズム」と同等の 回路量にもかかわらず「Sum- Productアルゴリズム」に近い性能を実現できる。また、 本実施の形態にお!、ては、行処理用の LLRの絶対値の最小値を、既知の「 δ min アルゴリズム」にて規定された所定の補正式に基づ 、て最適値に補正する場合につ いて記載した力 補正式はこれに限定されるものではなぐ「δ minアルゴリズム」以 外のアルゴリズムにて規定された補正式を用いることとしてもよい。この場合も上記と 同様の効果を得ることができる。
[0129] 図 17は、「δ minアルゴリズム」に対して「巡回近似 minアルゴリズム」または「Overla pped巡回近似 minアルゴリズム」を適用した復号アルゴリズムと、 「Sum- Productァルゴ リズム」と、の比較結果を示す図である。たとえば、 overlap5deltal0は「Overlapped巡 回近似 minアルゴリズム」を適用した本実施の形態の復号アルゴリズム(並列数が 2, 最小 5値, 1= 10)、 Cyclic5delta50は「巡回近似 minアルゴリズム」を適用した本実施 の形態の復号アルゴリズム(並列なし,最小 5値, 1= 50)、 Sum- Product 100は「Sum- Productアルゴリズム」(1= 100)を示し、ほぼ重なって!/、る。この結果から、「 δ minァ ルゴリズム」に対して「巡回近似 minアルゴリズム」または「Overlapped巡回近似 minァ ルゴリズム」を適用することにより、「Sum- Productアルゴリズム」と同程度の性能を持つ だけでなぐ復号の繰り返し回数についても大幅に削減することができる。
[0130] 実施の形態 5.
つづいて、実施の形態 5の受信装置および復号方法について説明する。本実施の 形態においては、「Sum-Productアルゴリズム」に対して、実施の形態 1の「巡回近似 minアルゴリズム」または実施の形態 2の「Overlapped巡回近似 minアルゴリズム」にお ける、巡回的に最小 k値の LLRの絶対値のみを更新する処理、および近似的な最小 値を用いた復号処理、を適用する。
[0131] ここで、本実施の形態の復号アルゴリズムについて説明を行う前に、その前提となる 既知の「Sum- Productアルゴリズム」を以下に示す。なお、本実施の形態では、数学 関数をテーブルィ匕して演算を行う方法、すなわち、 TLU (テーブルルックアップ)を利 用した一般的な「Sum-Productアルゴリズム」について記載する。また、ここでは、従来 技術にお 、て説明した「Sum- Productアルゴリズム」と処理が異なる、行処理につ!、て 記載する。
[0132] (行処理ステップ(1) )
たとえば、 TLUを利用した「Sum- Productアルゴリズム」の行処理を一般化すると、 下記(24)式のように表すことができる。ここでは、行処理として、各 m, nについて、繰 り返し 1回目の LLR : a (1)を、下記(24)式により更新している。 TLUを利用した「Sum mn
-Productアルゴリズム」の行処理では、繰り返し 1—1回目に更新された LLRの絶対値 : I β I に対して、 TLUを用いた演算を行っている。
mn
[0133] [数 21]
Figure imgf000031_0001
1]
TLU(In )≡ TLU(I,,TLU(I2,·■ TLU(I|A|—】,I|A|
neA )》
Λ a , b 、
TLU(a,b)≡2tanh tanh— · tanh—
2 2
•••(24)
[0134] (行処理ステップ(2) )
また、上記とは異なる方法で、 TLUを利用した「Sum- Productアルゴリズム」の行処 理を実現することもできる。たとえば、上記とは異なる、 TLUを利用した「Sum-Produc tアルゴリズム」の行処理を一般ィ匕すると、下記(25)式のように表すことができる。ここ では、行処理として、各 m, nについて、繰り返し 1回目の LLR: a (1)を、下記(25)式 mn
により更新している。
[0135] [数 22] n'eN(m)\n
n'eN(m)\n
|A|
neA
a≡b≡ min(a,b) + TLU1(| a + b |) - TLU1(| a - b |) ー(25)
[0136] なお、 TLU1 (x)は、下記(26)に基づいて予めテーブルを用意しておく。
TLUl (x) =ln (l + exp (— X) ) - - - (26)
[0137] また、上記 TLUを利用した「Sum- Productアルゴリズム」において、上記(24)式に 示した行処理は、テーブルは大きくなるが演算回数が少ないという特徴があり、一方 、上記(25)に示した行処理は、テーブルは小さくなるが演算回数が多いという特徴 がある。
[0138] つづいて、上記 TLUを利用した「Sum- Productアルゴリズム」に対して「巡回近似 mi nアルゴリズム」を適用した場合の復号アルゴリズムを以下に示す。なお、本実施の形 態では、前述した「巡回近似 minアルゴリズム」と同様の処理 (初期ィ匕,列処理,停止 規範)についてはその説明を省略する。以下では、前述した「巡回近似 minァルゴリズ ム」と処理の異なる、行処理について説明する。また、本実施の形態においては、行 処理の開始列は任意とし、最終列まで処理が終了した段階で、再度最初の列から巡 回的に復号処理を行う。
[0139] (巡回近似 minアルゴリズムを適用した場合の行処理ステップ(1) )
たとえば、上記行処理ステップ(1)に対して「巡回近似 minアルゴリズム」を適用した 場合の本実施の形態の復号アルゴリズムの行処理を一般化すると、下記(27)式のよ うに表すことができる。ここでは、行処理として、 l≤n≤Nおよび各 mについて、繰り 返し 1回目の LLR: a (1)を、下記(27)式により更新している。また、この復号アルゴリ ズムの行処理では、繰り返し 1 1回目に更新された最小 k値の LLRの絶対値: B ,に mn 対して、 TLUを用いた演算を行っている。
[0140] [数 23] [BmJ
Figure imgf000033_0001
= Sm - sgn(p^). TLU [Bmn -]
n eNk (m)\n
= S . TLU [Bmn,]
n'eNk (m)\nL
- (27)
[0141] (巡回近似 minアルゴリズムを適用した場合の行処理ステップ(2) )
また、上記行処理ステップ(2)に対して「巡回近似 minアルゴリズム」を適用した場合 の本実施の形態の復号アルゴリズムの行処理を一般化すると、下記(28)式のように 表すことができる。ここでは、行処理として、 1≤11≤?^ぉょび各111にっぃて、繰り返し 1 回目の LLR : a (1)を、下記(28)式により更新している。
mn
[0142] [数 24] = ). ). [Bmn,]
C ν , n eN (m)\n
n , GN(m)\n n eN(m)\n k '
n'<n n'>n
= Sm . Sgn(Pii- nり). Ξ [B
n eNk (m)\n mJ
- (28)
[0143] つづ!/、て、上記 TLUを利用した「Sum- Productアルゴリズム」に対して「Overlapped 巡回近似 minアルゴリズム」を適用した場合の復号アルゴリズムを以下に示す。なお、 本実施の形態では、前述した「Overlapped巡回近似 minアルゴリズム」と同様の処理( 初期化,列処理,停止規範)についてはその説明を省略する。以下では、前述した「 Overlapped巡回近似 minアルゴリズム」と処理の異なる、行処理について説明する。
[0144] (Overlapped巡回近似 minアルゴリズムを適用した場合の行処理ステップ( 1) )
たとえば、上記行処理ステップ(1)に対して「Overlapped巡回近似 minアルゴリズム」 を適用した場合の本実施の形態の復号アルゴリズムの行処理を一般化すると、下記(
29)式のように表すことができる。ここでは、行処理として、 0≤g≤G— 1, g 'N + 1≤
G
n≤ (g+ 1) ·Νおよび各 mについて、繰り返し 1回目の LLR: a α)を、下記(29)式に
G mn
より更新している。また、この復号アルゴリズムの行処理では、繰り返し 1—1回目に並 列処理にて更新された最小 k値の LLRの絶対値: B cに対して、 TLUを用いた演算 mn
を行っている。
[0145] [数 25]
Figure imgf000034_0001
TLU C
n'eNk (ni)\n
- (29)
[0146] (Overlapped巡回近似 minアルゴリズムを適用した場合の行処理ステップ(2) )
また、上記行処理ステップ(2)に対して「Overlapped巡回近似 minアルゴリズム」を適 用した場合の本実施の形態の復号アルゴリズムの行処理を一般ィ匕すると、下記(30) 式のように表すことができる。ここでは、行処理として、 0≤g≤G- l, g 'N + l≤n≤
G
(g+ 1) ·Νおよび各 mについて、繰り返し 1回目の LLR: a (1)を、下記(30)式により
G mn
更新している。
[0147] [数 26] α (1) (1—1)
, ^ 、、 L B C
Umn' .
n eN"m)\n
n'eN(m)\n n'eN(m)\n
n'<g NG n'>g-NG
: Sm . Sgn( ( ). ( Ξ [B ]
Nk (m)\n
Figure imgf000034_0002
(30)
[0148] つづ 、て、上記本実施の形態の復号アルゴリズムを実行する LDPC復号器 5の行 処理部の特徴的な動作を、図面を用いて説明する。なお、 LDPC復号器 5の全体構 成については、前述した図 5または図 13と同様である。 [0149] 図 18は、本実施の形態における行処理を実行する行処理部 22, 22— 1〜22— G の構成例を示す図であり、この行処理部は、最小値選択部 31cを備えている。なお、 前述した図 6と同様の構成については、同一の符号を付してその説明を省略する。ま た、ここでは、一例として、図 5の LDPC復号器 5の場合について説明する力 図 13 の LDPC復号器 5につ 、ても同様に適用可能である。
[0150] 本実施の形態の最小値選択部 31cでは、たとえば、途中結果保持部 21から Mini LLR(B ), Min2LLR(B ), MinkLLR(B )とそれぞれの列番号を読み出し mn(l) mn(2) mn(k)
、演算部が TLUを用いた演算を行う。すなわち、本実施の形態の最小値選択部 31c では、処理対象となって!/、る n列目と、途中結果保持部 21に保持された B の列番 号 n (k)と、がー致しな!/、B に対して、演算部が、「Sum- Productアルゴリズム」にお mn(kノ
ける以下の演算を行う。
[0151] たとえば、演算部は、符号を除く更新値を下記(31)式のように求める。
[0152] [数 27]
TLU もしくは „,] ー(31)
[0153] また、演算対象の LLRを k値力 最小 3値に限定することで演算量を削減すること ができ、演算部は、符号を除く更新値を下記(32)式のように求める。
[0154] [数 28]
^ (n = n(,)) J J ,] = TLU( (,5,')もしくは ".J ,]= 2 歸) else ( = ) '】=丁^((,; (")もしくは^ ^[ ,]= 訓, else „. 」= 。)もしくは" m= ,
-(32)
[0155] なお、上記では、一例として、演算対象の LLRを k値力 最小 3値に限定した場合 について説明したが、最小 4, 5…値と限定した場合においても同様に適用可能であ る。
[0156] 以上のように、本実施の形態にぉ 、ては、 TLUを利用した「Sum- Productアルゴリ ズム」に「巡回近似 minアルゴリズム」または「Overlapped巡回近似 minアルゴリズム」を 適用することとした。これにより、他の実施の形態と比較して、計算量およびメモリ量 は多くなるが、復号性能を向上させることができる。なお、本実施の形態においては、
TLUを用いた「Sum- Productアルゴリズム」を例に説明した力 数学関数に対して TL Uを行う他の復号アルゴリズムにおいても同様である。また、本実施の形態において は、行処理用の LLRの絶対値の最小値に対して、既知の「Sum- Productアルゴリズム 」にて規定された TLUを用いた場合について記載した力 TLUはこれに限定される ものではなく、「Sum- Productアルゴリズム」にて規定された TLU以外の TLUを用いる こととしてもよ 、。この場合も上記と同様の効果を得ることができる。
[0157] 実施の形態 6.
つづいて、実施の形態 6の通信装置および復号方法について説明する。本実施の 形態の復号処理は、完全なビット単位のシリアル復号に対応させることにより、さらに 繰り返し回数の低減を図る。
[0158] 前述の実施の形態と同様に、図 5— 1は、本実施の形態の LDPC復号器 5の構成 を示す図であり、この LDPC復号器 5は、受信情報力 受信 LLRを算出する受信 LL R算出部 11と本実施の形態の復号処理を行う復号コア部 12で構成されて ヽる。また 、復号コア部 12は、復号の途中結果(中間値)を保持しておくためのメモリで構成さ れた途中結果保持部 21と、本実施の形態の行処理を実行する行処理部 22と、本実 施の形態の列処理を実行する列処理部 23と、本実施の形態の停止規範として、列 処理における事後値の硬判定およびパリティ検査結果の正誤判定を行う復号結果 判定部 24と、復号の繰り返し制御を行う制御部 25と、を備えている。
[0159] なお、本実施の形態の復号アルゴリズムは、巡回的に最小 k値の LLRの絶対値の みを更新して 、く方法であり、正確な最小値ではなく近似的な最小値を用いて復号 する方法であり、シリアル復号法であることから、以降、「シリアル巡回近似 minァルゴ リズム」と呼ぶこととする。また、上記最小 k値とは、「最小値力も昇順に k番目まで」を 表す。
[0160] ここで、上記受信装置にお!/ヽて実施される「シリアル巡回近似 minアルゴリズム」を以 下に示す。
[0161] (初期化ステップ) まず、繰り返し回数 1= 1および最大繰り返し回数 1 を設定する。さらに、初期時に
max
おける m行目の最小 k値の LLRを β (Q)として、受信 LLR: λを入力し、下記(33)
mn(i) n
式に示すように B を求める。また、初期時における m行目の LLR: β (Q)の符号とし
mnw mn
て、 sgn( )を入力し、下記(33)式に示すように Sを求める。
n m
[0162] [数 29] nll Vie[l,k]
Figure imgf000037_0001
n(0) = ψ
•••(33)
[0163] ただし、 B は、 m行目の最小 k値の LLR: j8 の絶対値であり、 n(i)は、 B の
mn(i) mnu mnu 中で最小 i番目の LLRの列番号であり、 Sは、 m行目の LLR: β の符号(+または
m mn
一)の積である。
[0164] (行処理ステップ 1)
つぎに、行処理として、 l≤n≤Nおよび各 mについて、チェックノード m力らビットノ ード nへ送るビット nの繰り返し 1回目の LLR: a (1)を、下記(34)式により更新する。な
mn
お、本実施の形態においては、行処理の開始列は任意とし、最終列まで処理が終了 した段階で、再度最初の列から巡回的に復号処理を行う。
[0165] [数 30]
Figure imgf000037_0002
= Sm' . ' min [Bmn
n ^Nk(m)\n
Sm' =Sm-sgn /- 1) (34)
[0166] 具体的には、現在の列番号が nの場合、「 < n」を満たす列番号については、 1回 目の列処理で更新された LLR: β (1)の符号の積をとり、また、「 >η」を満たす列 番号については、(1— 1)回目の列処理で更新された LLR : β (1ϋの符号の積をとり mn
、そして、それらの結果と m行目の最小 k値中の最小の LLR : min[ j8 」との乗算結 mn
果を、列番号 nの更新後の LLR: a (1)としている。なお、本実施の形態においては、 mn
さらに、上記 β (1)の符号の積と上記 β (11〉の符号の積と乗算する項を、(1 1)回目 mn mn
に更新された Sと (1 1)回目に更新された β の符号とを乗算する項に、置き換え mn
ることとした :れにより、さらに、計算量およびメモリ量を削減できる。なお、上記(34 )式の N (m)は、 m行目の n (i)の集合であり、 N (m) = {n (l) , n (2) , · · ·, n (k) }と k k
表す。
[0167] (列処理ステップ)
つぎに、列処理として、行処理ステップ 1で行った列番号 nの各 mについて、ビットノ ード nからチェックノード mへ送るビット nの繰り返し 1回目の LLR: β α)を、下記(35) mn
式により更新する。これ以降の列処理ステップおよび行処理ステップ 2は例えば行番 号 mの最も小さ ヽ行番号から順に 1行ずつ計算を実行する。但し実行する行番号の 順番は重複せずにすベての「1」の立って!/ヽる行が実行されれば、どの順番で実行し てもよい。
[0168] [数 31]
Figure imgf000038_0001
ー(35)
[0169] 具体的には、列番号 nにおいて、受信 LLR : , 1回目の行処理で更新された m 行目以外の LLR : a (1)の合計値と、の加算結果を、更新後の LLR: β (1)としている m n mn
。この計算は |8 (1)から、 a (1)を引く事によっても得られる。また、上記 S 'と 1回目の列 処理で更新された β (1)の符号(+または一)とを乗算することにより、行処理にて使 mn
用する Sを更新している。なお、上記(35)式における下の 2つの式は、 B の並べ m mn(i 替え処理 (最小 k値)を規定したものである。
[0170] (行処理ステップ 2)
さらに、再度行処理として、列番号 nの列処理で実行した行と同一の mについて、 チェックノード mからビットノード nへ送るビット nの繰り返し 1回目の LLR: a ' α)を、下 mn 記(36)式により更新する。
[0171] [数 32]
" = *5 sgn(y¾2)'
Figure imgf000039_0001
^ = ^-sgn(^)
ド n mn
•••(36)
[0172] 具体的には再度行処理として、 α ' (1)を更新し、さらにその結果を用いて |8 (1)にそ mn mn の更新した α ' (1)を加算して j8 (1)を更新する。この後、列番号 nのすベての mに対し mn n
て計算が完了するまで列処理ステップに戻り計算を繰り返す。また、列番号 nの検査 行列に "Γが立っている全ての行 mに対して列処理ステップと行処理ステップ 2が処 理終了したら停止規範の処理に移る。
[0173] (停止規範)
その後、たとえば、ビット nの繰り返し 1回目の事後値 |8 (1)が「 (1)>0」の場合には、 復号結果を「χ ' = 1」とし (χΊま元の送信信号 Xに対応)、一方、「j8 (1)≤0」の場合に は、復号結果を「x ' =0」とし、復号結果 χ' = (χ ' , χ ' , · · ·, χ Ίを得る。
n 1 2 Ν
[0174] そして、パリティ検査の結果が「Hx' =0」または繰り返し回数が「1=1 」の場合 (い max ずれ力 1つの条件を満たしている場合)に、そのときの復号結果 χ'を出力する。なお 、上記 2つの条件のどちらも満たしていない場合は、「1=1+ 1」とし、上記行処理ステ ップ 1に戻り、以降、順に演算を実行する。
[0175] つぎに、上記「シリアル巡回近似 minアルゴリズム」を実行する LDPC復号器 5の特 徴的な動作を、構成図を用いて具体的に説明する。 [0176] 前述の実施の形態と同様に、図 6は、上記「シリアル巡回近似 minアルゴリズム」に ぉ ヽて行処理を実行する行処理部 22の構成例を示す図であり、この行処理部 22は 、最小値選択部 31と符号演算部 32と LLR算出部 33から構成されている。なお、図 示の MinlLLR (m行目における最小の LLR)は B であり、 Min2LLR (m行目に
mn(l)
おける最小 2番目の LLR)は B であり、それぞれ途中結果保持部 21に保持された
mn(2)
値である。また、図示の Sおよび「(1 1)回目の m行 n列目の LLR: β の符号」に
m mn
っ 、ても、それぞれ途中結果保持部 21に保持された値である。
[0177] 最小値選択部 31では、行処理の対象となっている列番号 nと MinlLLR (B )の
mn(l) 列番号 n (l)とが一致している場合は、 Min2LLR (B )を選択し、それ以外の場合
mn(2)
は、 MinlLLR (B )を選択し、出力する。また、符号演算部 32は、「(1—1)回目の
mn(l)
列処理で更新された S」および「( 1 1)回目の m行 n列目の LLR: β の符号」を乗
m mn
算し、その結果として S 'を出力する。このとき、 S
m m Ίま、途中結果保持部 21に保持さ れる。また、 LLR算出部 33は、最小値選択部 31から得られる最小の LLRと符号演 算部 32から得られる符号の乗算結果 S ' ( +または—)とを乗算することによって、 L
m
LR : a (1)を算出する。この構成により、「Min-Sumアルゴリズム」においては行重み分 mn
だけ必要であったメモリを、 k値分に縮小できる。
[0178] 図 19は、上記「シリアル巡回近似 minアルゴリズム」において列処理を実行する列処 理部 23の構成例を示す図であり、この列処理部 23は、 α加算部 41とえ加算部 42と 最小 k値比較部 43と符号演算部 44から構成されている。なお、本実施の形態では、 k = 3の場合を一例として記載している。また、図示の列重み分の LLR, α ' , α ,
mn mn λ , S MinlLLR, Min2LLR, Min3LLR (m行目における最小 3番目の LLR) n m
は、それぞれ途中結果保持部 21に保持された値である。
[0179] 上記列処理部 23では、 a加算部 41が、 1回目の行処理で更新された m行目を含め たすベての LLR: a (1)を加算し、さらに、 λ加算部 42が、 α加算部 41による加算結
mn
果に受信 LLR : λを加算し、スィッチ 45が最初にその下のブロックに接続されるよう に制御され、そこから α (1)を引いて |8 (1)を出力する。そして、最小 k値比較部 43 (k
mn mn
= 3)は、 I β
mn (1) Iを受け取る。
[0180] ここで、図 19に図示はしていないが、前述の実施の形態と同様に、たとえば、列処 理の対象となる n列目の nと、 MinlLLR, Min2LLR, Min3LLRにそれぞれ保持さ れている B , B , B に対応する列番号を示す n(l) , n (2) , n (3)のいずれか
mn(l) mn(2) mn(3)
がー致した場合、 n=n (i)となる B を間引きし、図 8に示すような操作を行う。具体
mn(i)
的には、 Min2LLRに保持されている情報を削除し、 Min3LLRに保持されている情 報を Min2LLRに移動し、さらに、 Min3LLRには、たとえば(16ビットの場合)、最大 値" FFFF"を格納する。これにより、処理対象の列を除いた比較処理が可能となると ともに、少なくとも Min3LLRが列処理において必ず更新されることになる。
[0181] この処理後、図 19に示すとおり、 I β (1) Iと、 MinlLLR, Min2LLR, Min3LLR mn
と、をそれぞれ比較し、「 I j8
mn (1) Iく Min3LLR」であれば、最小 3値の LLRを更新 する。一方、 λ加算部 42が出力する β (1)の符号を「1回目の m行 η列目の LLR: β (1
mn mn
)の符号」として途中結果保持部 21に保持し、さらに、符号演算部 44が、 1回目の行処 理で更新された S 'と上記 j8 (1)の符号とを乗算し、その結果を用いて途中結果保持
m mn
部 21に保持された Sを更新する。なお、 I j8 (1) Iと MinlLLR, Min2LLR, Min3 m mn
LLRとの比較の際に、 I |8
mn (1) Iを B の中心の値である Min2LLRと最初に比較し
mn(i)
、それ以降、図示のように、ツリー状に比較するようにした力 たとえば、最小値である MinlLLR力 比較する場合に比べ、実行時間が { (k+ l)Z2}Zk(kが奇数の場 合)となる効果がある。また、 kが偶数の場合には、 B の中心の値は 2個になるが、
mn、リ
最初に比較を開始する対象は、そのいずれであってもよい。 kが偶数の場合は、最小 値である MinlLLR力 比較する場合に比べ、実行時間が {kZ2+ l}Zk(kが偶数 の場合)となる効果がある。この比較結果の MinlLLRと Min2LLRから図 6の回路に よりひ ' (1))を求め |8 (1)と加算して |8 (1)を算出し、スィッチ 45により次の列処理に移る mn mn n
[0182] つぎに、本実施の形態の「シリアル巡回近似 minアルゴリズム」における処理の流れ を、図 9のフローチャートを用いて説明する。なお、図中、「繰り返し復号 1回目」, 「繰 り返し復号 2回目」, ···, 「繰り返し復号最終回」において、「行処理」, 「列処理」, 「行 処理」, ···, 「列処理」と処理されるように記載されている力 本実施の形態において は、「行処理ステップ 1」を処理した後、「列処理ステップ」, 「行処理ステップ 2」を列番 号 nのすベての mに対して計算が完了するまで繰り返す処理を、繰り返すものとする 。即ち、「行処理ステップ 1」, 「列処理ステップ」, 「行処理ステップ 2」, 「列処理ステツ プ」, 「行処理ステップ 2」「列処理ステップ」, · ··, 「行処理ステップ 2」, 「行処理ステツ プ 1」, 「列処理ステップ」, 「行処理ステップ 2」, 「列処理ステップ」, 「行処理ステップ 2」「列処理ステップ」, · ··, 「行処理ステップ 2」と処理されるものとする。
[0183] 上記「シリアル巡回近似 minアルゴリズム」にお 、ては、まず、受信 LLR計算部 11が 、受信情報力も受信 LLRを算出し (ステップ Sl l, S 12)、その結果を初期値として途 中結果保持部 21に設定し (ステップ S13)、さらに、制御部 25が、繰り返し回数を 1= 1と初期化する (ステップ S13)。また、列処理部 23のうち、 λ加算部 42,最小 k値比 較部 43,符号演算部 44を用いて、 n= lから n=Nまで巡回的に、上記(33)式の演 算を行う(ステップ S 13)。
[0184] つぎに、復号コア部 12は、制御部 25の制御により、 1回目(1回目〜最終回)の繰り 返し復号演算を行う(ステップ S 14)。具体的には、繰り返し復号の 1回目として、行処 理部 22が、 1列目に" 1"を持つ行に対して行処理ステップ 1 (受信 LLRを使用)を行 い、その結果を列処理部 23へ受け渡す。その後、列処理部 23が、 1列目の列処理ス テツプを行 ヽ、その結果である B と Sを、途中結果保持部 21に保持する(更新す る)。またその後、行処理部 22が、行処理ステップ 2を行い、その結果を列処理部 23 へ渡し、行処理部 22と列処理部 23によって、列処理ステップと行処理ステップ 2を繰 り返す。以降、 2列目, 3列目, "·Ν列目の順に、上記と同様の処理を行い、それぞれ Β と Sを、途中結果保持部 21に保持する (繰り返し復号 1回目に相当)。その後、 mn(i) m
繰り返し復号の 2回目以降は、 1つ前の処理で更新された LLRおよび Sを用いて行
m
処理を行い、それ以外は、上記 1回目と同様に復号処理を行う。
[0185] また、上記 1回目の繰り返し復号を実施後、復号結果判定部 24が、繰り返し 1回目で 算出した事後値を硬判定し、その判定値を復号結果 として決定し、さらにパリティ 検査を行う(停止規範)。そして、この停止規範において、パリティ検査結果が OK(「 Hx' =0」)となる力、または繰り返し回数が 1=1 となった場合に、最終的にそのとき
max
の復号結果 χ'を出力する (ステップ S15)。なお、上記 2つの条件を満たしていない 場合は、制御部 25が 1=1+ 1とし、復号コア部 12においては、(1+ 1)回目の繰り返し 復号を実行する。 [0186] つぎに、前述の実施の形態と同様に列番号の表記方法によるメモリサイズの削減に ついて説明する。図 10は、本実施の形態の列番号表記を示す図である。「シリアル 巡回近似 minアルゴリズム」では、たとえば、列番号を n=0から昇順に表記することと した。また、従来、列番号 nを、パリティ検査行列の列番号そのもの (絶対列番号)で 表現していた力 本実施の形態においては、ノ^ティ検査行列における m行目の" 1" の最小の列番号を n=0とし、 m行目の次の" 1"の列番号を n=lとし、以降、 "1"毎に n= 2, 3,…とする相対的列番号で表現することとした。すなわち、従来は、パリティ 検査行列の" 1"の絶対列番号が、たとえば、 "32768"である場合、列番号を表現す るために必要なビット数が 15ビットとなる力 一方、本実施の形態においては、たとえ ば、行重みが 8個であれば 0〜7を表現できる 3ビットまで、行重みが 16個であれば 0 〜 15を表現できる 4ビットまで、メモリサイズを縮小することできる。
[0187] 以上にように、本実施の形態では、 LDPC復号において、行処理のための LLRの 絶対値 I β Iを、巡回構造により行単位に最小 k値に縮小することとしたので、そ mn
れらを保持するためのメモリ量を大幅に削減することができる。たとえば、行重みが 2 0で k= 3の場合は、従来と比較してメモリ量を 3Z20に削減することができる。また、 列番号を、絶対列番号 (1,3,10,15…;)から相対的列番号 (0,1,2,3· ··)に変更すること により、さらにメモリ量を削減することができる。
[0188] また、本実施の形態の「シリアル巡回近似 minアルゴリズム」にお 、ては、行処理と 列処理による確率情報 (LLR)の算出および更新を巡回的に 1ビットずつ行うこととし た。これにより、従来の「Min- Sumアルゴリズム」よりも確率伝搬を効率的に行うことが できる。
[0189] また、本実施の形態の「シリアル巡回近似 minアルゴリズム」にお ヽては、行処理ス テツプ 2として、 α ' (1)を更新し、さらにその結果を用いて |8 (1)にその更新した α ' (1) mn mn mn を加算して ι8 (1)を更新するようにしたので、完全なビット単位のシリアル復号に対応さ せることができ、さらに繰り返し回数を削減することができる。
[0190] なお、本実施の形態において、行処理の演算対象の LLRは、 1値である力 kの個 数は、 2値以上であれば何値でもよい。また、本実施の形態においては、行処理ステ ップ 1を実行した後、列処理ステップと行処理ステップ 2とを交互に実行し、これに応 じて、行処理と列処理による確率情報 (LLR)の更新を 1ビットずつ巡回的に行う場合 について説明した力 これに限定されるものではなぐ行処理と列処理による確率情 報 (LLR)の算出および更新を巡回的に複数ビットずつ行うようにしてもよい。
[0191] 実施の形態 7.
つづ 、て、実施の形態 7の受信装置 (通信装置)および復号方法につ!、て説明す る。本実施の形態の LDPC復号は、行処理と列処理による確率情報 (LLR)の算出 および更新を、 1ビットずつまたは予め定めた複数ビットずつ行う場合に適用可能で あり、たとえば、演算処理を並列化することにより、繰り返し回数の低減を図る。なお、 本実施の形態においては、途中結果保持部の B および Sを、並列化の数にかか
mn(i) m
わらず 1セットとし、並列化されたすべての処理部が同一の B cおよび Sを更新して
mn m
いく、いわゆる「Overlapped」された B cおよび Sを用いた「シリアル巡回近似 minアル
mn m
ゴリズム」を実行する。以降、本実施の形態の復号アルゴリズムを、 Overlappedシリア ル巡回近似 minアルゴリズム」と呼ぶ。
[0192] ここで、本実施の形態の受信装置にお!/、て実施される「Overlappedシリアル巡回近 似 minアルゴリズム」を以下に示す。
[0193] (初期化ステップ)
まず、繰り返し回数 1= 1および最大繰り返し回数 1
maxを設定する。さらに、初期時に おける m行目の最小 k値の LLRを β (Q)として、受信 LLR: λを入力し、下記(37)
mn(i) n
式に示すように B cを求める。また、初期時における m行目の LLR: β (Q)の符号と
mn(i) mn
して、 sgn ( )を入力し、下記(37)式に示すように Sを求める。
n m
[0194] [数 33]
Β ' = |β = Nf , min [λη|1 Vi E [l,k]
Sm = Π η(λ
neN(m)
n(i) = arg min |λη I
n€N(m)\{n(l),n(2),.." n(i-l)}u 1
n(0) = φ
- (37) [0195] ただし、 B cは、 m行目の最小 k値の LLR: |8 の絶対値であり、並列処理の際 nn(i)
に共通に用いられる。また、 n (i)は、 B 0 ^の中で最小 i番目の LLRの列番号である。
nn(i)
[0196] (行処理ステップ 1)
つぎに、行処理として、 0≤g≤G- g -N + l≤n≤ (g+ 1) ·Νおよび各 mにつ いて、チェックノード mからビットノード nへ送るビット nの繰り返し 1回目の LLR : a α)を
mn
、下記(38)式により更新する。なお、 Gは並列数であり、 Nは並列化された各復号
G
回路が処理する列数である。また、 G 'N =Nである。また、本実施の形態において
g
は、各行処理の開始列は任意とし、最終列まで処理が終了した段階で、再度最初の 列から巡回的に復号処理を行う。
[0197] [数 34]
Figure imgf000045_0001
?(/-!)
Figure imgf000045_0002
-; l + ya )
(38)
[0198] 具体的には、たとえば、列数: N毎に G個に分割された各列郡にそれぞれ割り当て
G
られた G個の行処理部力 並列に行処理を実行する。なお、 G個の行処理部が並列 に処理を行い、すべての処理部が同一の B cを用いる以外は、前述した「シリアル巡
mn
回近似 minアルゴリズム」と同様に動作する。
[0199] (列処理ステップ)
つぎに、列処理として、行処理ステップ 1で行った列番号 nの各 mについて、ビットノ ード nからチェックノード mへ送るビット nの繰り返し 1回目の LLR: β α)を、下記(39)
mn
式により更新する。すなわち、本実施の形態においては、上記のように並列に行処理 が行われた後の各列について、並列に、下記(39)式に示す列処理を実行する。た だし、並列に列処理をする際、処理対象となる列番号 nに対して、これ以降の列処理 ステップおよび行処理ステップ 2は例えば行番号 mの最も小さい行番号カゝら順に 1行 ずつ計算を実行する。但し実行する行番号の順番は重複せずにすベての「1」の立つ て 、る行が実行されれば、どの順番で実行してもよ 、。
[0200] [数 35] mn — ん《 十 J " m'n — Pn amn
Figure imgf000046_0001
(39)
[0201] (行処理ステップ 2)
さらに、再度行処理として、列番号 nの列処理で実行した行と同一の mについて、 チェックノード mからビットノード nへ送るビット nの繰り返し 1回目の LLR: a ' (1)を、下 mn 記 (40)式により更新する。
[0202] [数 36]
" c
,! = Sw'sgn( ?£)' . min B
nf^k {m)\n
= sgn( ¾2)
ド n mn 1 " mn
(40)
[0203] 具体的には再度行処理として、 α ' υ;を更新し、さらにその結果を用いて j8 (1)にそ mn mn の更新した a ' (1)を加算して j8 (1)を更新する。この後、列番号 nのすベての mに対し mn n
て計算が完了するまで列処理ステップに戻り計算を繰り返す。また、列番号 nの検査 行列に "Γが立っている全ての行 mに対して列処理ステップと行処理ステップ 2が処 理終了したら停止規範の処理に移る。
[0204] なお、停止規範にっ 、ては、前述した「シリアル巡回近似 minアルゴリズム」と同様で ある。
[0205] つづ!/、て、上記「Overlappedシリアル巡回近似 minアルゴリズム」を実現する実施の 形態 7の LDPC復号器 5の構成および動作について説明する。
[0206] 図 13は、前述の実施の形態と同様に、本実施の形態の LDPC復号器 5の構成例 を示す図であり、受信情報力 受信 LLRを算出する受信 LLR算出部 11と本実施の 形態の復号処理を行う復号コア部 12aで構成されている。また、復号コア部 12aは、 復号の途中結果(中間値)を保持しておくためのメモリで構成された途中結果保持部 21aと、本実施の形態の行処理 (並列処理)を実行する行処理部 22— 1〜22— Gと、 本実施の形態の列処理 (並列処理)を実行する列処理部 23— 1〜23— Gと、本実施 の形態の停止規範として、列処理における事後値の硬判定およびパリティ検査結果 の正誤判定を行う復号結果判定部 24と、復号の繰り返し制御を行う制御部 25aと、を 備えている。
[0207] 図 13において、本実施の形態の LDPC復号器 5は、各行処理部および各列処理 部が並列に処理を行う際、上記(37)式、(38)式、(39)式、(40)式に従って、途中 結果保持部 21aの B eおよび Sを共通に使用し、それぞれが更新する。この並列処 mn m
理により、 B eおよび Sは、並列数に応じて急速に更新され、それに伴って、復号の mn m
繰り返し回数を大幅に削減することができる。
[0208] なお、本実施の形態では、並列処理において、同一クロックで同一行の演算が発 生し、同一ノ ッファを参照するような問題が生じる場合には、たとえば、各処理部にメ モリアクセスの優先順位を設定する、メモリバンクを区切る、シフトレジスタを用いてメ モリアクセスのタイミングを調整する、等の対策を行う。
[0209] 以上のように、本実施の形態の「Overlappedシリアル巡回近似 minアルゴリズム」は、 前述した「シリアル巡回近似 minアルゴリズム」を応用し、行処理および列処理をそれ ぞれ並列に実行することとした。また、並列に実行される各列処理において更新され る最小 k値を保持する途中結果保持部を共有し、並列に実行される各列処理にお!ヽ てそれぞれ最小 k値を更新することとした。これ〖こより、「Min-Sumアルゴリズム」および 前述した実施の形態 6と比較して、復号の繰り返し回数を大幅に削減することができ る。 [0210] また、本実施の形態の「Overlappedシリアル巡回近似 minアルゴリズム」にお!/、ては 、行処理ステップ 2として、 ひ ' (1)を更新し、さらにその結果を用いて |8 (1)にその更新 mn mn
した α ' (1)を加算して j8 (1)を更新するようにしたので、完全なビット単位のシリアル復 mn n
号に対応させることができ、前述した実施の形態 2と比較して、さらに繰り返し回数を 肖 IJ減することがでさる。
[0211] 実施の形態 8.
つづ 、て、実施の形態 8の受信装置 (通信装置)および復号方法につ!、て説明す る。本実施の形態においては、「Min-Sumアルゴリズム」を応用した既知の復号ァルゴ リズムである「Normalized BP-basedアルゴリズム」に対して、実施の形態 6の「シリア ル巡回近似 minアルゴリズム」または実施の形態 7の「Overlappedシリアル巡回近似 mi nアルゴリズム」における、巡回的に最小 k値の LLRの絶対値のみを更新する処理、 および近似的な最小値を用いた復号処理、を適用する。
[0212] ここで、本実施の形態の復号アルゴリズムについて説明を行う前に、その前提となる 既知の「Normalized BP-basedアルゴリズム」を以下に示す。なお、ここでは、「Min-S umアルゴリズム」と処理が異なる、行処理について説明する。
[0213] (行処理ステップ 1)
たとえば、「Normalized BP-basedアルゴリズム」の行処理ステップ 1を一般化すると 、下記 (41)式のように表すことができる。ここでは、行処理ステップ 1として、各 m, n について、繰り返し 1回目の LLR : a (1)を、下記 (41)式により更新している。また、式 mn
中の Aは正規化ファクターと呼ばれる定数であり、「Normalized BP-basedァルゴリズ ム」では、「Min-Sumアルゴリズム」により得られる繰り返し 1回目の LLRを、正規化ファ クタ一 Aにより補正している。
[0214] [数 37]
Figure imgf000049_0001
(41 )
[0215] つづいて、上記「Normalized BP-basedアルゴリズム」に対して「シリアル巡回近似 m inアルゴリズム」または「Overlappedシリアル巡回近似 minアルゴリズム」を適用した場 合の復号アルゴリズムを以下に示す。なお、本実施の形態では、前述した「シリアル 巡回近似 minアルゴリズム」または「Overlappedシリアル巡回近似 minアルゴリズム」と 同様の処理 (初期化,列処理,停止規範)についてはその説明を省略する。以下で は、前述した「シリアル巡回近似 minアルゴリズム」または「Overlappedシリアル巡回近 似 minアルゴリズム」と処理の異なる、行処理ステップ 1につ 、て説明する。
[0216] (シリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1)
たとえば、「シリアル巡回近似 minアルゴリズム」を適用した場合の本実施の形態の 復号アルゴリズムの行処理ステップ 1、 2の α (l α ' (1)を一般ィ匕すると、下記 (42)式 mn mn
のように表すことができる。ここでは、行処理ステップ 1として、各 m, nについて、繰り 返し 1回目の LLR: a (1)を、下記 (42)式により更新している。すなわち、下記 (42)式 mn
においては、「シリアル巡回近似 minアルゴリズム」により得られる繰り返し 1回目の LL Rを、正規ィ匕ファクター Aにより補正している。なお、本実施の形態においては、行処 理の開始列は任意とし、最終列まで処理が終了した段階で、再度最初の列から巡回 的に復号処理を行う。
[0217] [数 38]
Figure imgf000050_0001
(42)
[0218] (Overlappedシリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1) また、「Overlappedシリアル巡回近似 minアルゴリズム」を適用した場合の本実施の 形態の復号アルゴリズムの行処理ステップ 1、 2の α (1)、 α ' (1)を一般化すると、下記 mn mn
(43)式のように表すことができる。ここでは、行処理ステップ 1として、 0≤g≤G— 1, g-N + l≤n≤(g+ l) 'Nおよび各 mについて、繰り返し 1回目の LLR: α (1)を、下
G G mn 記(43)式により更新している。すなわち、下記(43)式においては、「Overlappedシリ アル巡回近似 minアルゴリズム」により得られる繰り返し 1回目の LLRを、正規化ファタ ター Aにより補正している。
[0219] [数 39] a )
n'eN(m)\n ).":)」
n'eN( )\n
'<g-NG n'>g-NG
Figure imgf000050_0002
1 c
a '(/) = -Sm - sgn^ (!) min B,
n'eNk (m)\n ー(43)
[0220] なお、本実施の形態の復号アルゴリズムでは、上記のように行処理ステップ 1を実 行後、さらに、前述した「シリアル巡回近似 minアルゴリズム」または「Overlappedシリア ル巡回近似 minアルゴリズム」と同様の列処理および停止規範に基づく処理を実行し 、最終的な符号結果を得ている。
[0221] つづいて、上記本実施の形態の復号アルゴリズムを実行する LDPC復号器 5の行 処理部の特徴的な動作を、図面を用いて説明する。なお、 LDPC復号器 5の全体構 成については、前述した図 5または図 13と同様である。
[0222] 図 15は、前述した実施の形態と同様に、本実施の形態における行処理を実行する 行処理部 22, 22— 1〜22— Gの構成例を示す図であり、この行処理部は、最小値 選択部 31aを備えている。なお、前述した図 6と同様の構成については、同一の符号 を付してその説明を省略する。本実施の形態の最小値選択部 31aでは、たとえば、 途中結果保持部 21 (または 21 a)力も読み出した LLRの最小値 (Min 1LLRまたは M in2LLR)を、正規ィ匕ファクター Aを用いて補正している。具体的には、 LLRの最小値 を Aで除算することにより正規ィ匕を行っている。
[0223] 以上のように、本実施の形態においては、「Min-Sumアルゴリズム」よりも性能が良 好とされて 、る「Normalized BP-basedアルゴリズム」に「シリアル巡回近似 minァルゴ リズム」または「Overlappedシリアル巡回近似 minアルゴリズム」を適用することとした。 これにより、前述した実施の形態 6、 7と同様の効果が得られるとともに、さらに、ほぼ「 Min-Sumアルゴリズム」と同等の回路量にもかかわらず「Sum- Productアルゴリズム」に 近い性能を実現できる。
[0224] なお、本実施の形態においては、「Normalized BP-basedアルゴリズム」に「シリアル 巡回近似 minアルゴリズム」または「Overlappedシリアル巡回近似 minアルゴリズム」を 適用することとした力 これに限らず、既知の「Offset BP-basedアルゴリズム」、また はそれ以外のアルゴリズムに「シリアル巡回近似 minアルゴリズム」または「Overlapped シリアル巡回近似 minアルゴリズム」を適用することも可能であり、この場合につ ヽても 、上記と同様の効果を得ることができる。
[0225] 実施の形態 9.
つづ 、て、実施の形態 9の受信装置 (通信装置)および復号方法につ!、て説明す る。本実施の形態においては、「Normalized BP- basedアルゴリズム」や「Offset BP- basedアルゴリズム」よりも LLR: β の補正性能が優れている既知の復号ァルゴリズ ムである「 δ minアルゴリズム」に対して、実施の形態 6の「シリアル巡回近似 minアル ゴリズム」または実施の形態 7の「Overlappedシリアル巡回近似 minアルゴリズム」にお ける、巡回的に最小 k値の LLRの絶対値のみを更新する処理、および近似的な最小 値を用いた復号処理、を適用する。
[0226] ここで、本実施の形態の復号アルゴリズムについて説明を行う前に、その前提となる 既知の「 δ minアルゴリズム」を以下に示す。なお、ここでは、「Min-Sumアルゴリズム 」と処理が異なる、行処理について説明する。
[0227] (行処理ステップ 1)
たとえば、「δ minアルゴリズム」の行処理ステップ 1、 2の α ( (1)を一般化す mn mn
ると、下記 (44)式のように表すことができる。ここでは、行処理ステップ 1として、各 m , nについて、繰り返し 1回目の LLR : α (1)を、下記 (44)式により更新している。「 δ mn
minアルゴリズム」の行処理ステップ 1では、繰り返し 1—1回目に更新された LLRの絶 対値: I β G— " Iから、 Θの演算によりひ (1)を算出する。
mn mn
[0228] [数 40]
Figure imgf000052_0001
&b≡ max min( a,b) - Δ, 0 )
Δョ max( 0.9- | fl— b | / 2,の
Figure imgf000052_0002
ー(44)
[0229] つづ!/、て、上記「 δ minアルゴリズム」に対して「シリアル巡回近似 minアルゴリズム」 または「Overlappedシリアル巡回近似 minアルゴリズム」を適用した場合の復号ァルゴ リズムを以下に示す。なお、本実施の形態では、前述した「シリアル巡回近似 minアル ゴリズム」または「Overlappedシリアル巡回近似 minアルゴリズム」と同様の処理(初期 ィ匕,列処理,停止規範)についてはその説明を省略する。以下では、前述した「シリア ル巡回近似 minアルゴリズム」または「Overlappedシリアル巡回近似 minアルゴリズム」 と処理の異なる、行処理ステップ 1について説明する。また、本実施の形態において は、行処理の開始列は任意とし、最終列まで処理が終了した段階で、再度最初の列 から巡回的に復号処理を行う。
[0230] (シリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1)
たとえば、「シリアル巡回近似 minアルゴリズム」を適用した場合の本実施の形態の 復号アルゴリズムの行処理ステップ 1、 2の α il α ' (1)を一般ィ匕すると、下記 (45)式 mn mn
のように表すことができる。ここでは、行処理ステップ 1として、 l≤n≤Nおよび各 mに ついて、繰り返し 1回目の LLR: a (1)を、下記 (45)式により更新している。また、この mn
復号アルゴリズムの行処理ステップ 1では、繰り返し 1—1回目に更新された最小 k値 のの LLLLRRの絶対値: B 力 、 Θの演算により α (1)を算出する。
[0231] [数 41]
Figure imgf000053_0001
= Sm' . , Θ [Bmn
n k (m)\n
^Z = Sm - sgn(j3^)- Θ [βΜη,]
n N {m)\n ー(45)
[0232] (Overlappedシリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1) また、「Overlappedシリアル巡回近似 minアルゴリズム」を適用した場合の本実施の 形態の復号アルゴリズムの行処理ステップ 1、 2の α (1)、 α ' (1)を一般化すると、下記 mn mn
(46)式のように表すことができる。ここでは、行処理ステップ 1として、 0≤g≤G— 1, g-N + l≤n≤(g+ l) 'Nおよび各 mについて、繰り返し 1回目の LLR: α (1)を、下
G G mn 記 (46)式により更新している。また、この復号アルゴリズムの行処理ステップ 1では、 繰り返し 1 1回目に並列処理にて更新された最小 k値の LLRの絶対値: B cから、 mn
Θの演算により α (1)を算出する。
mn
[0233] [数 42]
Figure imgf000054_0001
a „ = Sm ' Sgn )' , Θ B mcnr
n ENk (m)\n ー(46)
[0234] なお、本実施の形態の復号アルゴリズムでは、上記のように行処理ステップ 1を実 行後、さらに、前述した「シリアル巡回近似 minアルゴリズム」または「Overlappedシリア ル巡回近似 minアルゴリズム」と同様の列処理、行処理ステップ 2および停止規範に 基づく処理を実行し、最終的な符号結果を得ている。
[0235] つづ 、て、上記本実施の形態の復号アルゴリズムを実行する LDPC復号器 5の行 処理部の特徴的な動作を、図面を用いて説明する。なお、 LDPC復号器 5の全体構 成については、前述した図 5または図 13と同様である。
[0236] 図 16は、前述の実施の形態と同様に、本実施の形態における行処理を実行する 行処理部 22, 22— 1〜22— Gの構成例を示す図であり、この行処理部は、最小値 選択部 31bを備えている。なお、前述した図 6と同様の構成については、同一の符号 を付してその説明を省略する。また、ここでは、一例として、図 5の LDPC復号器 5の 場合について説明するが、図 13の LDPC復号器 5についても同様に適用可能であ る。
[0237] 本実施の形態の最小値選択部 3 lbでは、たとえば、途中結果保持部 21から Mini LLR(B ) , Min2LLR (B ) , MinkLLR (B )とそれぞれの列番号を読み出し mn(l) mn(2) mn(k)
、演算部が Θの演算を行う。すなわち、本実施の形態の最小値選択部 31bでは、処 理対象となっている n列目と、途中結果保持部 21に保持された B の列番号 n(k)と mn(k)
、がー致しない B に対して、演算部が、「 δ minアルゴリズム」における以下の演 mn(k)
算を行う。
[0238] たとえば、演算部は、符号を除く更新値 I α (1) I (= Θ [Β ])を下記 (47)式のよ mn mn
うに求める。 [0239] [数 43]
Figure imgf000055_0001
ー (47)
[0240] また、演算対象の LLRを k値力 最小 3値に限定することで演算量を削減すること ができ、演算部は、符号を除く更新値 I a
mn (1) I ( = Θ [Β ,] )を下記 (48)式のように
mn
求める。
[0241] [数 44]
Figure imgf000055_0002
ー (48)
[0242] なお、上記では、一例として、演算対象の LLRを k値力 最小 3値に限定した場合 について説明したが、最小 4, 5…値と限定した場合においても同様に適用可能であ る。
[0243] 以上のように、本実施の形態においては、「Min-Sumアルゴリズム」よりも性能が良 好とされて 、る「 δ minアルゴリズム」に「シリアル巡回近似 minアルゴリズム」または「 Overlappedシリアル巡回近似 minアルゴリズム」を適用することとした。これにより、前 述した実施の形態 6、 7と同様の効果が得られるとともに、さらに、ほぼ「Min- Sumアル ゴリズム」と同等の回路量にもかかわらず「Sum- Productアルゴリズム」に近い性能を 実現できる。また、本実施の形態においては、行処理用の LLRの絶対値の最小値を 、既知の「 δ minアルゴリズム」にて規定された所定の補正式に基づ!/、て最適値に 補正する場合について記載した力 補正式はこれに限定されるものではなぐ「δ m inアルゴリズム」以外のアルゴリズムにて規定された補正式を用いることとしてもよ!/、。 この場合も上記と同様の効果を得ることができる。
[0244] 実施の形態 10.
つづ 、て、実施の形態 10の受信装置 (通信装置)および復号方法につ!、て説明す る。本実施の形態においては、「Sum- Productアルゴリズム」に対して、実施の形態 6 の「シリアル巡回近似 minアルゴリズム」または実施の形態 7の「Overlappedシリアル巡 回近似 minアルゴリズム」における、巡回的に最小 k値の LLRの絶対値のみを更新す る処理、および近似的な最小値を用いた復号処理、を適用する。
[0245] ここで、本実施の形態の復号アルゴリズムにつ 、て説明を行う前に、その前提となる 既知の「Sum- Productアルゴリズム」を以下に示す。なお、本実施の形態では、数学 関数をテーブルィ匕して演算を行う方法、すなわち、 TLU (テーブルルックアップ)を利 用した一般的な「Sum-Productアルゴリズム」について記載する。また、ここでは、従来 技術にお 、て説明した「Sum- Productアルゴリズム」と処理が異なる、行処理につ!、て 記載する。
[0246] (行処理ステップ 1 (1) )
たとえば、 TLUを利用した「Sum- Productアルゴリズム」の行処理ステップ 1、 2の α m
(1)、 α ' (1)を一般化すると、下記 (49)式のように表すことができる。ここでは、行処理 n mn
ステップ 1として、各 m, nについて、繰り返し 1回目の LLR: a (1)を、下記 (49)式によ mn
り更新している。 TLUを利用した「Sum- Productアルゴリズム」の行処理ステップ 1では 、繰り返し 1—1回目に更新された LLRの絶対値: I β α~1}
mn Iに対して、 TLUを用い た演算を行っている。
[0247] [数 45] n'eN(m)\n n eN(m)\n
TLU (J ≡
n A
Figure imgf000056_0001
a
7Zひ (a,)≡2tanh— tanh tanh- a : nsgn ^ ' ひ (0.
n,&Nk (m)\n 、
ー(49)
[0248] (行処理ステップ 1 (2) )
また、上記とは異なる方法で、 TLUを利用した「Sum- Productアルゴリズム」の行処 理ステップ 1を実現することもできる。たとえば、上記とは異なる、 TLUを利用した「Su m- Productアルゴリズム」の行処理ステップ 1、 2の α α)、 α ' (1)を一般化すると、下記 mn mn
(50)式のように表すことができる。ここでは、行処理ステップ 1として、各 m, nについ て、繰り返し 1回目の LLR : a (1)を、下記(50)式により更新している。
mn
[0249] [数 46]
Figure imgf000057_0001
+ ^ [I —"'') I]
、 ,
三 ^ョ/ …^^
neA
dEb≡ mm(a, b) + TLU1{\ a + b \) - TLUl{\ a - b |) rieNk{m)\n n &Nk {m)\n ー(50)
[0250] なお、 TLU1 (x)は、下記(51)に基づいて予めテーブルを用意しておく。
TLUl (x) =ln (l + exp ( -x) ) - - - (51)
[0251] また、上記 TLUを利用した「Sum- Productアルゴリズム」において、上記(49)式に 示した行処理ステップ 1は、テーブルは大きくなるが演算回数が少ないという特徴が あり、一方、上記(50)式に示した行処理ステップ 1は、テーブルは小さくなるが演算 回数が多!、と!/、う特徴がある。
[0252] つづ!/、て、上記 TLUを利用した「Sum- Productアルゴリズム」に対して「シリアル巡 回近似 minアルゴリズム」を適用した場合の復号アルゴリズムを以下に示す。なお、本 実施の形態では、前述した「シリアル巡回近似 minアルゴリズム」と同様の処理 (初期 ィ匕,列処理,停止規範)についてはその説明を省略する。以下では、前述した「シリア ル巡回近似 minアルゴリズム」と処理の異なる、行処理ステップ 1につ 、て説明する。 また、本実施の形態においては、行処理の開始列は任意とし、最終列まで処理が終 了した段階で、再度最初の列から巡回的に復号処理を行う。
[0253] (シリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1 (1) )
たとえば、上記行処理ステップ 1 (1)に対して「シリアル巡回近似 minアルゴリズム」を 適用した場合の本実施の形態の復号アルゴリズムの行処理ステップ 1、 2のひ (1)、 a mn
' (1)を一般化すると、下記(52)式のように表すことができる。ここでは、行処理ステツ mn
プ 1として、 l≤n≤Nおよび各 mについて、繰り返し 1回目の LLR: a α)を、下記(52 )式により更新している。また、この復号アルゴリズムの行処理ステップ 1では、繰り返 し 1— 1回目に更新された最小 k値の LLRの絶対値: B に対して、 TLUを用いた演 mn
算を行っている。
[数 47]
Figure imgf000058_0001
= Sm' ' , TLJJ [Bmn, ]
Figure imgf000058_0002
TLU [B则,] - (52)
[0255] (シリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1 (2) )
また、上記行処理ステップ 1 (2)に対して「シリアル巡回近似 minアルゴリズム」を適 用した場合の本実施の形態の復号アルゴリズムの行処理ステップ 1、 2のひ (1)、 ひ ' '
mn mn ϋを一般化すると、下記(53)式のように表すことができる。ここでは、行処理ステップ 1 として、 1≤η≤Νおよび各 mについて、繰り返し 1回目の LLR : a (1)を、下記(53)式 mn
により更新している。
[0256] [数 48]
Figure imgf000058_0003
n Nk (m)\n
Figure imgf000058_0004
•••(53)
[0257] つづ!/、て、上記 TLUを利用した「Sum- Productアルゴリズム」に対して「Overlapped シリアル巡回近似 minアルゴリズム」を適用した場合の復号アルゴリズムを以下に示す 。なお、本実施の形態では、前述した「Overlappedシリアル巡回近似 minアルゴリズム 」と同様の処理 (初期化,列処理,停止規範)についてはその説明を省略する。以下 では、前述した「Overlappedシリアル巡回近似 minアルゴリズム」と処理の異なる、行処 理ステップ 1につ 、て説明する。
[0258] (Overlappedシリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1 ( 1 ) )
たとえば、上記行処理ステップ 1 (1)に対して「Overlappedシリアル巡回近似 minァ ルゴリズム」を適用した場合の本実施の形態の復号アルゴリズムの行処理ステップ 1、 2の a (l (1)を一般ィ匕すると、下記(54)式のように表すことができる。ここでは、 mn mn
行処理ステップ 1として、 0≤g≤G— 1, g - N + l≤n≤ (g + l) - Nおよび各 mにつ
G G
いて、繰り返し 1回目の LLR: a (1)を、下記(54)式により更新している。また、この復 mn
号アルゴリズムの行処理ステップ 1では、繰り返し 1 1回目に並列処理にて更新され た最小 k値の LLRの絶対値: B cに対して、 TLUを用いた演算を行っている。
mn
[0259] [数 49]
Figure imgf000059_0001
•••(54)
[0260] (Overlappedシリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1 (2 ) )
また、上記行処理ステップ 1 (2)に対して「Overlappedシリアル巡回近似 minアルゴリ ズム」を適用した場合の本実施の形態の復号アルゴリズムの行処理ステップ 1、 2の a (1)、 α ' (1)を一般ィ匕すると、下記(55)式のように表すことができる。ここでは、行処 mn mn
理ステップ 1として、 0≤g≤G—l, g ' N + l≤n≤ (g + l) - Nおよび各 mについて、
G G
繰り返し 1回目の LLR: a (1)を、下記(55)式により更新している。 [0261] [数 50]
Figure imgf000060_0001
(55)
[0262] つづいて、上記本実施の形態の復号アルゴリズムを実行する LDPC復号器 5の行 処理部の特徴的な動作を、図面を用いて説明する。なお、 LDPC復号器 5の全体構 成については、前述した図 5または図 13と同様である。
[0263] 図 18は、前述の実施の形態と同様に、本実施の形態における行処理を実行する 行処理部 22, 22— 1〜22— Gの構成例を示す図であり、この行処理部は、最小値 選択部 31cを備えている。なお、前述した図 6と同様の構成については、同一の符号 を付してその説明を省略する。また、ここでは、一例として、図 5の LDPC復号器 5の 場合について説明するが、図 13の LDPC復号器 5についても同様に適用可能であ る。
[0264] 本実施の形態の最小値選択部 31cでは、たとえば、途中結果保持部 21から Mini LLR(B ) , Min2LLR (B ) , MinkLLR (B )とそれぞれの列番号を読み出し mn(l) mn(2) mn(k)
、演算部が TLUを用いた演算を行う。すなわち、本実施の形態の最小値選択部 31c では、処理対象となって!/、る n列目と、途中結果保持部 21に保持された B の列番 mn(k) 号 n (k)と、がー致しな!/、B に対して、演算部が、「Sum- Productアルゴリズム」にお mn(kノ
ける以下の演算を行う。
[0265] たとえば、演算部は、符号を除く更新値を下記(56)式のように求める。
[0266] [数 51]
TLU k„-]もしくは , Ξ 、、 „,.
(56) [0267] また、演算対象の LLRを k値力 最小 3値に限定することで演算量を削減すること ができ、演算部は、符号を除く更新値を下記(57)式のように求める。
[0268] [数 52]
Figure imgf000061_0001
- (57)
[0269] なお、上記では、一例として、演算対象の LLRを k値力 最小 3値に限定した場合 について説明したが、最小 4, 5…値と限定した場合においても同様に適用可能であ る。
[0270] 以上のように、本実施の形態にぉ 、ては、 TLUを利用した「Sum- Productアルゴリ ズム」に「シリアル巡回近似 minアルゴリズム」または「Overlappedシリアル巡回近似 min アルゴリズム」を適用することとした。これにより、他の実施の形態と比較して、計算量 およびメモリ量は多くなる力 復号性能を向上させることができる。なお、本実施の形 態においては、 TLUを用いた「Sum- Productアルゴリズム」を例に説明した力 数学 関数に対して TLUを行う他の復号アルゴリズムにおいても同様である。また、本実施 の形態においては、行処理用の LLRの絶対値の最小値に対して、既知の「Sum-Pro ductアルゴリズム」にて規定された TLUを用いた場合について記載した力 TLUはこ れに限定されるものではなぐ「Sum- Productアルゴリズム」にて規定された TLU以外 の TLUを用いることとしてもよい。この場合も上記と同様の効果を得ることができる。
[0271] 以上、各実施の形態においては、行処理の開始列を 1とし、昇順に処理を行ったが 、これに限らない。たとえば、開始列を任意とし、重複しない任意の列に対して処理を 行い、すべての列が終了した段階で、再度同一の順番で繰り返し復号を行うこととし てもよい。または、行処理の開始列を任意とし、重複しない任意の列に対して処理を 行い、すべての列が終了した段階で、続いて異なる順番で重複しない任意の列に対 してすベての列が終了するまで繰り返し復号を行うこととしてもょ 、。これらの処理に おいても、上記各実施の形態と同様の効果が得られる。また、上記実施の形態の説 明では、確率情報として対数尤度比 LLRを用いる場合について説明したが、対数尤 度比 LLR以外の確率情報を用いるようにしてもょ 、。
産業上の利用可能性
以上のように、本発明にかかる受信装置および復号方法は、ディジタル通信におけ る誤り訂正技術として有用であり、特に、 LDPC符号化された信号を復号する通信装 に適して 、 。

Claims

請求の範囲
[1] LDPC符号ィ匕された符号語を検査行列を用いて復号する通信装置にお 、て、 復号アルゴリズムにおける所定の処理により得られる中間値を保持する保持手段と
検査行列における行重みに対応した対数尤度比(ビットノードからチェックノードへ 送る対数尤度比:行処理用 LLRと呼ぶ)の絶対値に基づいて、列処理で用いる対数 尤度比(チェックノードからビットノードへ送る対数尤度比:列処理用 LLRと呼ぶ)を演 算する行処理を実行する行処理手段と、
列重みに対応した列処理用 LLRを用いて、行処理で用いる行処理用 LLRを演算 し、さらに、行処理用 LLRの絶対値の最小 k値を前記保持手段に保持する列処理、 を実行する列処理手段と、
を備え、
前記列処理手段が行の前記最小 k値を更新しながら復号を行うことを特徴とする通 信装置。
[2] 前記検査行列の列を所定数に分割し、分割後の行列単位に並列に前記行処理お よび列処理を実行し、さらに、前記最小 k値を保持する前記保持手段の領域を共有 し、並列に実行される各列処理にぉ 、てそれぞれ前記最小 k値を更新することを特 徴とする請求項 1に記載の通信装置。
[3] 前記行処理手段は、前記行重みに対応した行処理用 LLRの絶対値の最小値と、 前記行処理用 LLRの符号の乗算結果と、を乗算することにより、つぎの列処理で用 Vヽる列処理用 LLRを求めることを特徴とする請求項 1に記載の通信装置。
[4] 前記行処理手段は、さらに、予め規定された固定の正規ィ匕ファクタ一により前記行 処理用 LLRの絶対値の最小値を補正し、補正後の値を用いて列処理用 LLRを求め ることを特徴とする請求項 3に記載の通信装置。
[5] 前記行処理手段は、前記行重みに対応した行処理用 LLRの絶対値の最小値を、 所定の補正式に基づ 、て最適値に補正し、補正後の値と前記行処理用 LLRの符号 の乗算結果とを乗算することにより、つぎの列処理で用いる列処理用 LLRを求めるこ とを特徴とする請求項 1に記載の通信装置。
[6] 前記行処理手段は、前記行重みに対応した行処理用 LLRの絶対値の最小値に対 して、 TLU (テープルックアップ)を用いた所定の演算を行い、当該演算処理後の値 と前記行処理用 LLRの符号の乗算結果とを乗算することにより、つぎの列処理で用 Vヽる列処理用 LLRを求めることを特徴とする請求項 1に記載の通信装置。
[7] 前記行処理手段は、繰り返し 1回目において、特定の行における行重みに対応した 行処理用 LLRの符号を乗算する場合、処理対象の列番号よりも小さ!/ヽ列番号につ いては、繰り返し 1回目の列処理で更新された行処理用 LLRの符号を乗算し、また、 処理対象の列番号よりも大き 、列番号につ!、ては、繰り返し (1 1)回目の列処理で 更新された行処理用 LLRの符号を乗算し、さらに、それらの乗算結果同士を乗算す ることを特徴とする請求項 3〜6の 、ずれか一つに記載の通信装置。
[8] 前記行処理手段は、繰り返し 1回目において、特定の行における行重みに対応した 行処理用 LLRの符号を乗算する場合、繰り返し (1 1)回目の列処理で更新された 行重みに対応した行処理用 LLRの符号の乗算結果 Sと、処理対象の列番号に対応 する、繰り返し (1 1)回目の列処理で更新された行処理用 LLRの符号と、を乗算し 、当該乗算結果 を前記保持手段に保持することを特徴とする請求項 3〜6のいず れか一つに記載の通信装置。
[9] 前記列処理手段は、繰り返し 1回目にお 、て、特定の列に対する列処理を行う場合 処理対象の列番号に対応する受信 LLRと、 1回目の行処理で更新された、処理対 象の行番号以外の列重みに対応した列処理用 LLRの合計値と、の加算結果を行処 理用 LLRとし、当該行処理用 LLRの絶対値力 処理対象の行の最小 k値の少なくと もいずれか一つよりも小さい場合に、当該最小 k値を更新し、
さらに、前記加算結果である行処理用 LLRの符号と、前記保持手段に保持された 符号の乗算結果 と、を乗算し、当該乗算結果を繰り返し (1+ 1)回目の行処理で用 いる符号の乗算結果 Sとして更新しておくことを特徴とする請求項 8に記載の通信装 置。
[10] LDPC符号ィ匕された符号語を検査行列を用いて復号する通信装置において、 検査行列における行重みに対応した対数尤度比(ビットノードからチェックノードへ 送る対数尤度比:行処理用 LLRと呼ぶ)の絶対値に基づいて、列処理で用いる対数 尤度比(チェックノードからビットノードへ送る対数尤度比:列処理用 LLRと呼ぶ)を演 算する行処理を実行する行処理手段と、
列重みに対応した列処理用 LLRを用いて、行処理で用いる行処理用 LLRを演算 する列処理を実行する列処理手段と、
を備え、
前記行処理手段と前記列処理手段が所定回数ずつ交互に処理を行 、、前記行処 理用 LLRおよび列処理用 LLRの更新を巡回的に行うことを特徴とする通信装置。
[11] 前記行処理手段は、前記行重みに対応した行処理用 LLRの絶対値の最小値と、 前記行処理用 LLRの符号の乗算結果と、を乗算することにより、つぎの列処理で用 いる列処理用 LLRを求めることを特徴とする請求項 10に記載の通信装置。
[12] 前記行処理手段は、さらに、予め規定された固定の正規ィヒファクタ一により前記行 処理用 LLRの絶対値の最小値を補正し、補正後の値を用いて列処理用 LLRを求め ることを特徴とする請求項 11に記載の通信装置。
[13] 前記行処理手段は、前記行重みに対応した行処理用 LLRの絶対値の最小値を、 所定の補正式に基づ 、て最適値に補正し、補正後の値と前記行処理用 LLRの符号 の乗算結果とを乗算することにより、つぎの列処理で用いる列処理用 LLRを求めるこ とを特徴とする請求項 10に記載の通信装置。
[14] 前記行処理手段は、前記行重みに対応した行処理用 LLRの絶対値の最小値に対 して、 TLU (テープルックアップ)を用いた所定の演算を行い、当該演算処理後の値 と前記行処理用 LLRの符号の乗算結果とを乗算することにより、つぎの列処理で用 いる列処理用 LLRを求めることを特徴とする請求項 10に記載の通信装置。
[15] 前記行処理手段は、繰り返し 1回目において、特定の行における行重みに対応した 行処理用 LLRの符号を乗算する場合、処理対象の列番号よりも小さ!/ヽ列番号につ いては、繰り返し 1回目の列処理で更新された行処理用 LLRの符号を乗算し、また、 処理対象の列番号よりも大き 、列番号につ!、ては、繰り返し (1 1)回目の列処理で 更新された行処理用 LLRの符号を乗算し、さらに、それらの乗算結果同士を乗算す ることを特徴とする請求項 10〜 14のいずれか一つに記載の通信装置。
[16] 前記行処理手段は、繰り返し 1回目の復号時、前記最小値として受信 LLRの絶対 値の最小値を用いることを特徴とする請求項 1または 10に記載の通信装置。
[17] 前記列処理手段は、前記列処理を実行する毎に事後値を算出し、当該事後値を 硬判定し、パリティ検査結果が OKの場合か、または、繰り返し回数が規定された最 大回数の場合に、そのときの硬判定値を復号結果として出力することを特徴とする請 求項 1または 10に記載の通信装置。
[18] 前記行処理の開始列を任意とし、最終列まで処理が終了した段階で、再度最初の 列から繰り返し復号を行うことを特徴とする請求項 1または 10に記載の通信装置。
[19] 前記行処理の開始列を任意とし、重複しな 、任意の列に対して処理を行 、、すべ ての列が終了した段階で、再度同一の順番で繰り返し復号を行うことを特徴とする請 求項 1または 10に記載の通信装置。
[20] 前記行処理の開始列を任意とし、重複しな 、任意の列に対して処理を行 、、すべ ての列が終了した段階で、続いて異なる順番で重複しない任意の列に対してすベて の列が終了するまで繰り返し復号を行うことを特徴とする請求項 1または 10に記載の 通信装置。
[21] 検査行列における行重みの列番号を、列番号の小さ!/、順に 0から昇順に表記する ことを特徴とする請求項 1または 10に記載の通信装置。
[22] LDPC符号ィ匕された符号語を検査行列を用いて復号する復号方法であって、 検査行列における行重みに対応した対数尤度比(ビットノードからチェックノードへ 送る対数尤度比:行処理用 LLRと呼ぶ)の絶対値に基づいて、列処理で用いる対数 尤度比(チェックノードからビットノードへ送る対数尤度比:列処理用 LLRと呼ぶ)を演 算する行処理を実行する行処理ステップと、
前記行処理により演算された列重みに対応した列処理用 LLRを用いて、行処理で 用いる行処理用 LLRを演算し、さらに、行重みに対応した行処理用 LLRの絶対値の 最小 k値をメモリの特定領域に保持する列処理、を実行する列処理ステップと、 を行の最小 k値を更新しながら実行し、復号を行うことを特徴とする復号方法。
[23] LDPC符号ィ匕された符号語を検査行列を用いて復号する復号方法であって、 検査行列における行重みに対応した対数尤度比(ビットノードからチェックノードへ 送る対数尤度比:行処理用 LLRと呼ぶ)の絶対値に基づいて、列処理で用いる対数 尤度比(チェックノードからビットノードへ送る対数尤度比:列処理用 LLRと呼ぶ)を演 算する行処理を実行する行処理ステップと、
前記行処理により演算された列重みに対応した列処理用 LLRを用いて、行処理で 用いる行処理用 LLRを演算する列処理を実行する列処理ステップと、
を所定回数ずつ交互に実行し、前記行処理用 LLRおよび列処理用 LLRの更新を 巡回的に行うことを特徴とする復号方法。
[24] 前記行処理ステップでは、列処理用 LLRを演算するために、さらに、前記行処理 用 LLRの符号の乗算結果を用いることを特徴とする請求項 22または 23に記載の復 号方法。
[25] 前記行処理ステップでは、繰り返し 1回目にお 、て、特定の行における行重みに対 応した行処理用 LLRの符号を乗算する場合、処理対象の列番号よりも小さ!/ヽ列番号 については、繰り返し 1回目の列処理で更新された行処理用 LLRの符号を乗算し、ま た、処理対象の列番号よりも大きい列番号については、繰り返し (1 1)回目の列処 理で更新された行処理用 LLRの符号を乗算し、さらに、それらの乗算結果同士を乗 算することを特徴とする請求項 24に記載の復号方法。
[26] 前記行処理ステップでは、繰り返し 1回目にお 、て、特定の行における行重みに対 応した行処理用 LLRの符号を乗算する場合、繰り返し (1 1)回目の列処理で更新 された行重みに対応した行処理用 LLRの符号の乗算結果 Sと、処理対象の列番号 に対応する、繰り返し (1 1)回目の列処理で更新された行処理用 LLRの符号と、を 乗算し、当該乗算結果 をメモリの特定領域に保持することを特徴とする請求項 24 に記載の復号方法。
[27] 前記列処理ステップでは、繰り返し 1回目にお 、て、特定の列に対する列処理を行 場合、
処理対象の列番号に対応する受信 LLRと、 1回目の行処理で更新された、処理対 象の行番号以外の列重みに対応した列処理用 LLRの合計値と、の加算結果を行処 理用 LLRとし、当該行処理用 LLRの絶対値力 処理対象の行の最小 k値の少なくと もいずれか一つよりも小さい場合に、当該最小 k値を更新し、 さらに、前記加算結果である行処理用 LLRの符号と、前記メモリの特定領域に保持 された符号の乗算結果 と、を乗算し、当該乗算結果を繰り返し (1+ 1)回目の行処 理で用いる符号の乗算結果 Sとして更新しておくことを特徴とする請求項 26に記載 の復号方法。
[28] 繰り返し 1回目の復号時、前記最小値として受信 LLRの絶対値の最小値を用いる ことを特徴とする請求項 22または 23に記載の復号方法。
[29] 前記列処理ステップを実行する毎に事後値を算出し、当該事後値を硬判定し、パリ ティ検査結果力 SOKの場合力、または、繰り返し回数が規定された最大回数の場合 に、そのときの硬判定値を復号結果として出力することを特徴とする請求項 22または
23に記載の復号方法。
[30] 前記行処理手段と前記列処理手段が所定回数ずつ交互に処理を行う度に、前記 行処理用 LLRおよび列処理用 LLRの更新を行うことを特徴とする請求項 10に記載 の通信装置。
PCT/JP2006/313891 2005-07-13 2006-07-12 通信装置および復号方法 WO2007007801A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007524684A JP4627317B2 (ja) 2005-07-13 2006-07-12 通信装置および復号方法
EP06768155.1A EP1909395B1 (en) 2005-07-13 2006-07-12 Communication apparatus and decoding method
US11/988,565 US8132080B2 (en) 2005-07-13 2006-07-12 Communication apparatus and decoding method
KR1020087000887A KR100983692B1 (ko) 2005-07-13 2006-07-12 통신 장치 및 복호 방법
CN2006800306754A CN101248583B (zh) 2005-07-13 2006-07-12 通信装置以及解码方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005-205004 2005-07-13
JP2005205004 2005-07-13
JP2006-047392 2006-02-23
JP2006047392 2006-02-23

Publications (1)

Publication Number Publication Date
WO2007007801A1 true WO2007007801A1 (ja) 2007-01-18

Family

ID=37637191

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/313891 WO2007007801A1 (ja) 2005-07-13 2006-07-12 通信装置および復号方法

Country Status (6)

Country Link
US (1) US8132080B2 (ja)
EP (1) EP1909395B1 (ja)
JP (1) JP4627317B2 (ja)
KR (1) KR100983692B1 (ja)
CN (1) CN101248583B (ja)
WO (1) WO2007007801A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008154298A (ja) * 2007-07-31 2008-07-03 National Chiao Tung Univ 低密度パリティ検査(ldpc)デコーダに応用する演算方法、及び、その回路
JP2008199623A (ja) * 2007-02-13 2008-08-28 Commiss Energ Atom メッセージパッシングおよび強制収斂復号法
JP2008288710A (ja) * 2007-05-15 2008-11-27 Sumitomo Electric Ind Ltd 復号回路及び部分処理回路
JP2009027302A (ja) * 2007-07-18 2009-02-05 Sony Corp 復号装置および復号方法
JP2010130358A (ja) * 2008-11-27 2010-06-10 Sumitomo Electric Ind Ltd 復号装置
JP2010200126A (ja) * 2009-02-26 2010-09-09 Fujitsu Ltd 復号化装置
JP2011004229A (ja) * 2009-06-19 2011-01-06 Mitsubishi Electric Corp 復号方法及び復号装置
JP2011109228A (ja) * 2009-11-13 2011-06-02 Mitsubishi Electric Corp 復号装置及び方法
JP2012099971A (ja) * 2010-10-29 2012-05-24 Jvc Kenwood Corp 復号装置および復号方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100938068B1 (ko) * 2007-01-30 2010-01-21 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
JP4743156B2 (ja) * 2007-04-27 2011-08-10 ソニー株式会社 復号装置
US8418023B2 (en) 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US20100169735A1 (en) * 2008-12-31 2010-07-01 Texas Instruments Incorporated Low density parity check code row update instruction
CN104221291B (zh) * 2012-03-28 2018-02-23 英特尔公司 更新与迭代解码器关联的变量节点
US8930790B1 (en) * 2013-09-13 2015-01-06 U-Blox Ag Method and apparatus for identifying selected values from among a set of values
CN105814799B (zh) * 2013-12-09 2019-03-01 三菱电机株式会社 纠错解码装置
US20160020787A1 (en) * 2014-07-18 2016-01-21 Kabushiki Kaisha Toshiba Decoding apparatus, decoding method and non-transitory computer-readable recording medium containing a decoding program
US20160055055A1 (en) * 2014-08-25 2016-02-25 Kabushiki Kaisha Toshiba Memory system and error correction decoding method
US10075190B2 (en) * 2015-10-27 2018-09-11 Sandisk Technologies Llc Adaptive scheduler for decoding
TWI682636B (zh) * 2018-06-13 2020-01-11 財團法人資訊工業策進會 通訊系統之低密度奇偶檢查碼的解碼方法及應用其之通訊裝置
WO2020052754A1 (en) * 2018-09-12 2020-03-19 Huawei Technologies Co., Ltd. Simplified check node processing for ldpc decoding
CN112152639A (zh) * 2019-06-27 2020-12-29 深圳市中兴微电子技术有限公司 一种极化码的译码方法、装置、存储介质和终端

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004186940A (ja) * 2002-12-03 2004-07-02 Nec Corp 誤り訂正符号復号装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7184486B1 (en) * 2000-04-27 2007-02-27 Marvell International Ltd. LDPC encoder and decoder and method thereof
KR100891782B1 (ko) * 2002-06-11 2009-04-07 삼성전자주식회사 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
AU2003278536A1 (en) * 2002-11-27 2004-06-18 Koninklijke Philips Electronics N.V. Running minimum message passing ldpc decoding
KR100502608B1 (ko) 2002-12-24 2005-07-20 한국전자통신연구원 계산이 간단한 저밀도 패리티 검사 부호를 위한 메시지 전달 복호기
JP4225163B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号装置および復号方法、並びにプログラム
CN101069356A (zh) 2004-12-02 2007-11-07 三菱电机株式会社 解码装置以及通信装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004186940A (ja) * 2002-12-03 2004-07-02 Nec Corp 誤り訂正符号復号装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SAKAI L., MATSUMOTO W., YOSHIDA H.: "A Study of delta-Min Decoding Algorithm", THE 27TH SYMPOSIUM ON INFORMATION THEORY AND ITS APPLICATIONS (SITA 2004), GERO, GIFU, JAPAN, vol. I OF II, 14 December 2004 (2004-12-14), pages 175 - 178, XP003003029 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008199623A (ja) * 2007-02-13 2008-08-28 Commiss Energ Atom メッセージパッシングおよび強制収斂復号法
JP2008288710A (ja) * 2007-05-15 2008-11-27 Sumitomo Electric Ind Ltd 復号回路及び部分処理回路
JP2009027302A (ja) * 2007-07-18 2009-02-05 Sony Corp 復号装置および復号方法
JP2008154298A (ja) * 2007-07-31 2008-07-03 National Chiao Tung Univ 低密度パリティ検査(ldpc)デコーダに応用する演算方法、及び、その回路
JP2010130358A (ja) * 2008-11-27 2010-06-10 Sumitomo Electric Ind Ltd 復号装置
JP2010200126A (ja) * 2009-02-26 2010-09-09 Fujitsu Ltd 復号化装置
JP2011004229A (ja) * 2009-06-19 2011-01-06 Mitsubishi Electric Corp 復号方法及び復号装置
US8601337B2 (en) 2009-06-19 2013-12-03 Mitsubishi Electric Corporation Decoding method and decoding device
JP2011109228A (ja) * 2009-11-13 2011-06-02 Mitsubishi Electric Corp 復号装置及び方法
JP2012099971A (ja) * 2010-10-29 2012-05-24 Jvc Kenwood Corp 復号装置および復号方法
US9143165B2 (en) 2010-10-29 2015-09-22 JVC Kenwood Corporation Decoding apparatus and decoding method for decoding LDPC-encoded data

Also Published As

Publication number Publication date
EP1909395B1 (en) 2019-11-20
JPWO2007007801A1 (ja) 2009-01-29
US8132080B2 (en) 2012-03-06
CN101248583A (zh) 2008-08-20
EP1909395A1 (en) 2008-04-09
KR20080015145A (ko) 2008-02-18
KR100983692B1 (ko) 2010-09-24
EP1909395A4 (en) 2009-04-15
JP4627317B2 (ja) 2011-02-09
CN101248583B (zh) 2012-04-18
US20090132887A1 (en) 2009-05-21

Similar Documents

Publication Publication Date Title
WO2007007801A1 (ja) 通信装置および復号方法
JP4777261B2 (ja) 復号装置及び通信装置
US7181676B2 (en) Layered decoding approach for low density parity check (LDPC) codes
EP1442527B1 (en) Node processors for use in parity check decoders
US7395495B2 (en) Method and apparatus for decoding forward error correction codes
US7673223B2 (en) Node processors for use in parity check decoders
JP4563454B2 (ja) 検査行列生成方法、符号化方法、復号方法、通信装置、通信システム、符号化器および復号器
CN105247808B (zh) 使用后期可靠性信息进行解码的***和方法
US20050210366A1 (en) Decoding unit and preprocessing unit implemented according to low density parity check code system
US20070168832A1 (en) Memory efficient LDPC decoding methods and apparatus
KR20030095144A (ko) 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
WO2007088870A1 (ja) 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器
WO2007034870A1 (ja) 復号装置および受信装置
JP2024506420A (ja) プロトグラフ準巡回極性コードおよび関連する低密度生成行列ファミリ
WO2007074708A1 (ja) 畳み込み符号化器、通信装置、及び畳み込み符号化方法
US11476870B2 (en) Variable node processing methods and devices for message-passing decoding of non-binary codes
CN112470406B (zh) 用于针对非二进制码的消息传递解码的基本校验节点处理的排序设备和方法
EP3591845B1 (en) Sorting device and method for elementary check node processing for message-passing decoding of non-binary codes
Shalin et al. Differential properties of polar codes
KR20140034579A (ko) 채널 복호화 장치
CN117914446A (zh) 针对代数码的解码方法及***
KR101268060B1 (ko) 결합 상태-체크 코드를 이용한 부호화 방법 및 복호화 방법

Legal Events

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

Ref document number: 200680030675.4

Country of ref document: CN

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

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2006768155

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020087000887

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 11988565

Country of ref document: US