WO2012056713A1 - 復号装置および復号方法 - Google Patents
復号装置および復号方法 Download PDFInfo
- Publication number
- WO2012056713A1 WO2012056713A1 PCT/JP2011/006039 JP2011006039W WO2012056713A1 WO 2012056713 A1 WO2012056713 A1 WO 2012056713A1 JP 2011006039 W JP2011006039 W JP 2011006039W WO 2012056713 A1 WO2012056713 A1 WO 2012056713A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- value ratio
- matrix
- unit
- row
- node processing
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/07—Arithmetic codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
- H03M13/1117—Soft-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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
- H03M13/1117—Soft-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/112—Soft-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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/1137—Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/114—Shuffled, staggered, layered or turbo decoding schedules
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1162—Array based LDPC codes, e.g. array codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1185—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1185—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
- H03M13/1188—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
- H03M13/3911—Correction factor, e.g. approximations of the exp(1+x) function
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/658—Scaling by multiplication or division
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/6583—Normalization other than scaling, e.g. by subtraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
Definitions
- the present invention relates to a decoding technique, and more particularly, to a decoding device and a decoding method for decoding data encoded by LDPC.
- LDPC Low Density Parity Check Code
- data is encoded by an encoding matrix generated on the transmission side based on a sparse check matrix.
- a sparse check matrix is a matrix having 1 or 0 elements and a small number of 1s.
- data decoding and parity check are performed based on the check matrix. In particular, decoding performance is improved by iterative decoding using the BP (Belief Propagation) method or the like.
- check node processing for decoding in the row direction of the check matrix and variable node processing for decoding in the column direction are repeatedly executed.
- sum-product decoding using a Gallager function or a hyperbolic function is known.
- sum-product decoding a channel value obtained from a variance value of channel noise is used as a prior value.
- a priority is given to an inspection node, and processing is performed from an inspection node with a high priority (see, for example, Patent Document 1).
- shuffled decoding One solution for speeding up convergence by reducing the number of iterations in iterative decoding is to use shuffled decoding.
- sum-product decoding or the like when the check node processing for one row is completed, the priori value ratio is sequentially updated by immediately executing the variable node processing.
- variable node processing is executed after the check node processing for all rows of the parity check matrix is completed.
- shuffled decoding variable node processing using the external value ratio updated by the check node processing is sequentially executed, so that it is necessary to update the prior value ratio for all variable nodes in the corresponding column.
- the calculation amount increases in proportion to the number of non-zero elements in the column direction (column weight).
- the present invention has been made in view of such circumstances, and an object thereof is to provide a technique for suppressing an increase in the amount of calculation while maintaining high-speed convergence.
- a decoding device includes an input unit that inputs encoded data, and a data input in the input unit in advance for each row of a parity check matrix.
- a check node processing unit that updates the external value ratio based on the value ratio, and an element that corresponds to the external value ratio that is updated in the check node processing unit and that is specified by the row and column of the parity check matrix
- a specific unit for identifying a new element in a different row in the same column and an update for each row in the check node processing unit are completed, based on the external value ratio for the new element identified in the specific unit
- a variable node processing unit that updates the priori value ratio.
- the check node processing unit and the variable node processing unit repeatedly perform processing alternately, and the specifying unit updates the next in the check node processing unit among a plurality of elements included in the same column as a new element Identify the elements for which
- the element to be updated next in the check node processing unit is specified as a new element among a plurality of elements included in the same column, the number of elements to be subjected to variable node processing is reduced. it can.
- a plurality of basic matrices configured by a unit matrix or a cyclic shift matrix of the unit matrix are arranged in the row direction and the column direction.
- a new element included in a basic matrix different from the basic matrix including an element corresponding to the external value ratio updated in the check node processing unit may be specified.
- processing in units of basic matrix can be executed.
- the basic matrix arranged in the parity check matrix used in the check node processing unit is also configured by a zero matrix, and the specifying unit includes a basic matrix including elements corresponding to the external value ratio updated in the check node processing unit.
- the identification of a new element may be stopped.
- the identification of a new element is stopped.
- Another aspect of the present invention is a decoding method.
- the method includes the steps of inputting encoded data, updating the external value ratio based on the prior value ratio for each row of the parity check matrix for the input data, and updating the external data
- a step of updating the prior value ratio based on the external value ratio for the specified new element is provided.
- the step of updating the external value ratio based on the prior value ratio and the step of updating the prior value ratio based on the external value ratio are alternately repeated, and the specifying step is performed as a new element.
- the element to be updated next is specified in the step of updating the external value ratio based on the prior value ratio.
- a plurality of basic matrices composed of unit matrices or cyclic shift matrices of unit matrices are arranged in the row and column directions.
- the specifying step may specify a new element included in a basic matrix different from the basic matrix including an element corresponding to the updated external value ratio in the column direction of the parity check matrix.
- the basic matrix arranged in the parity check matrix used in the step of updating the external value ratio based on the prior value ratio is also configured by a zero matrix, and the identifying step is an element corresponding to the updated external value ratio. If the basic matrix different from the basic matrix including the is a zero matrix, the identification of a new element may be stopped.
- FIG. 8 is a diagram illustrating a check matrix in FIG. 7 in detail.
- the first embodiment of the present invention performs iterative decoding based on a check matrix for a transmission apparatus that performs LDPC encoding and data encoded in the transmission apparatus (hereinafter referred to as “encoded data”).
- encoded data data encoded in the transmission apparatus
- the present invention relates to a communication system including a receiving device.
- the receiving apparatus also performs shuffled decoding in min-sum decoding.
- the min-sum decoding is a decoding method that simplifies the sum-product decoding.
- check node processing is executed by simple processing such as comparison operation and sum operation without using a complicated function.
- shuffled decoding executes variable node processing when the check node processing for one row of the check matrix is completed.
- the processing amount increases.
- the communication system according to the present embodiment particularly the receiving device, executes the following processing.
- the receiving apparatus executes check node processing for one row constituting the check matrix. Although details will be described later, the external value ratio is updated by the check node processing. Next, the receiving apparatus specifies a new element to be subjected to the check node process next from the column in which the element is arranged, from the element whose external value ratio is updated. Here, only one new element is specified from the column in which the elements whose external value ratio has been updated are arranged. Further, the receiving device performs variable node processing on the new element. Following these, the receiving apparatus changes the row of the check matrix and executes check node processing. Thereafter, the receiving apparatus repeatedly executes the check node process and the variable node process a predetermined number of times.
- FIG. 1 shows a configuration of a communication system 100 according to the first embodiment of the present invention.
- the communication system 100 includes a transmission device 10 and a reception device 12.
- the transmission apparatus 10 includes an information data generation unit 20, an LDPC encoding unit 22, and a modulation unit 24.
- the receiving device 12 includes a demodulator 26, a decoder 28, and an information data output unit 30.
- the information data generation unit 20 acquires data to be transmitted and generates information data.
- the acquired data may be used as information data as it is.
- the information data generation unit 20 outputs the information data to the LDPC encoding unit 22.
- the LDPC encoding unit 22 receives information data from the information data generation unit 20.
- the LDPC encoding unit 22 adds a parity (hereinafter referred to as “LDPC parity”) based on a parity check matrix in LDPC to information data.
- Information data to which the LDPC parity is added corresponds to the encoded data described above.
- the LDPC encoding unit 22 outputs the encoded data to the modulation unit 24.
- FIG. 2 shows an example of a parity check matrix used in the LDPC encoding unit 22.
- the check matrix Hmn is a matrix of m rows and n columns. Here, in order to clarify the explanation, it is assumed that the check matrix Hmn has 4 rows and 8 columns, but is not limited
- the modulation unit 24 receives encoded data from the LDPC encoding unit 22.
- the modulation unit 24 modulates the encoded data.
- PSK Phase Shift Keying
- FSK Frequency Shift Keying
- the modulation unit 24 transmits the modulated encoded data as a modulation signal.
- the demodulator 26 receives the modulated signal from the modulator 24 via a communication path, for example, a wireless transmission path.
- the demodulator 26 demodulates the modulated signal. Since a known technique may be used for demodulation, the description is omitted here.
- the demodulator 26 outputs a demodulation result (hereinafter referred to as “demodulated data”) to the decoder 28.
- the decoder 28 receives the demodulated data from the demodulator 26.
- the decoding unit 28 repeatedly performs a decoding process using a parity check matrix in LDCP on the demodulated data.
- As the decoding process for example, min-sum decoding is executed.
- shuffled decoding is executed particularly in variable node processing in min-sum decoding.
- the min-sum decoding is executed according to the following procedure. 1. Initialization: The prior value ratio is initialized and the maximum number of decoding iterations is set. 2.
- Check node processing The external value ratio is updated in the row direction of the check matrix.
- Variable node processing The priori value ratio is updated in the column direction of the check matrix. 4). Calculate temporary estimated words.
- the decoding unit 28 outputs the decoding result (hereinafter referred to as “decoded data”) to the information data output unit 30.
- the information data output unit 30 inputs the decoded data from the decoding unit 28.
- the information data output unit 30 generates information data based on the decoded data.
- the decoded data may be used as information data as it is.
- the information data output unit 30 includes an outer code decoding unit, and may decode an outer code such as a CRC (Cyclic Redundancy Check), for example.
- CRC Cyclic Redundancy Check
- This configuration can be realized in terms of hardware by a CPU, memory, or other LSI of any computer, and in terms of software, it can be realized by a program loaded in the memory, but here it is realized by their cooperation.
- Draw functional blocks Accordingly, those skilled in the art will understand that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof.
- FIG. 3 shows the configuration of the decoding unit 28.
- the decoding unit 28 includes a frame configuration unit 40, a control unit 42, a data storage unit 44, a min-sum processing unit 46, and a decoding result calculation unit 48.
- the min-sum processing unit 46 includes a check node processing unit 56, a variable node processing unit 58, and a specifying unit 60.
- the frame construction unit 40 inputs demodulated data from a demodulation unit 26 (not shown).
- the demodulated data can be said to be data that has been subjected to LDPC encoding via a communication channel.
- the frame configuration unit 40 detects a frame synchronization signal included in the demodulated data.
- the frame configuration unit 40 specifies a unit of a frame formed by the demodulated data based on the frame synchronization signal. For example, when the frame synchronization signal is arranged at the head portion of the frame and the frame period has a fixed length, the frame configuration unit 40 identifies the fixed-length period as a frame after detecting the frame synchronization signal.
- the unit of LDPC encoding may be a frame.
- the frame configuration unit 40 causes the data storage unit 44 to store the demodulated data collected in units of frames.
- the data storage unit 44 temporarily stores the demodulated signal in units of frames.
- the data storage unit 44 stores a table corresponding to the check matrix. Furthermore, the data storage unit 44 also stores an external value ratio updated in the check node process, a prior value updated in the variable node process, and the like.
- the min-sum processing unit 46 inputs demodulated data from the data storage unit 44.
- the min-sum processing unit 46 performs min-sum decoding on the demodulated data.
- the check node processing unit 56 and the variable node processing unit 58 are alternately operated.
- the min-sum processing unit 46 also performs shuffled decoding, and therefore, when the check node processing for one row of the check matrix is completed, the variable node processing is immediately executed.
- FIG. 4 is a Tanner graph schematically showing the operation of the decoding unit 28. In the Tanner graph, b1 to b8 are called variable nodes, and c1 to c4 are called check nodes.
- variable nodes the number of variable nodes is n
- bn the nth variable node.
- the number of check nodes is m
- cm the mth check node.
- Data y1 to y8 stored in the data storage unit 44 of FIG. 3 are connected to the variable nodes b1 to b8.
- N (m) and M (n) are defined as follows.
- the update of the external value ratio ⁇ mn by the check node process uses the prior value ratio ⁇ mn from b1, b2, b3, and b4 connected to the check node c1 in the Tanner graph of FIG.
- the external value ratio ⁇ 11 is updated as shown in FIG.
- FIG. 5 shows an outline of the update of the external value ratio in the decoding unit 28.
- a priori value ratio of b2, b3, b4 excluding the variable node b1 is used for updating ⁇ 11.
- the check node processing in min-sum decoding is shown as follows.
- a is a normalization constant and is smaller than 1.
- the initial value of the prior value ratio ⁇ mn may be initialized with the input data yn.
- the input y corresponds to demodulated data.
- the check node processing for the i-th iteration in the sum-product decoding is shown as follows.
- the prior value ratio ⁇ mn is sequentially updated according to M (n).
- the update of the prior value ratio ⁇ mn by the variable node processing uses the external value ratio from c1 and c2 connected to the variable node b1 in the Tanner graph of FIG.
- the prior value ratio ⁇ 11 is updated as shown in FIG.
- FIG. 6 shows an overview of updating the prior value ratio in the decoding unit 28.
- the external value ratio of c2 excluding the check node c1 is used.
- Such variable node processing is shown as follows.
- ⁇ is an input y or a value obtained from the noise variance value of the communication channel and the input y.
- the check node processing unit 56 updates the external value ratio based on the prior value ratio for each row of the check matrix with respect to the demodulated data from the data storage unit 44 according to Expression (2).
- the transmitting apparatus 10 and the receiving apparatus 12 in the present embodiment use a check matrix different from the check matrix shown in FIG. FIG. 7 shows a parity check matrix used in the communication system 100.
- “1” indicates a unit matrix
- “ ⁇ ” indicates a cyclic matrix of the unit matrix
- ⁇ n indicates a cyclic matrix obtained by cycling the unit matrix by n bits.
- the unit matrix and the circulant matrix are collectively referred to as a basic matrix, but the basic matrix may be either a unit matrix or a circulant matrix. If the unit matrix (block) is defined as a matrix having a size of 5 ⁇ 5, the parity check matrix is also shown in FIG.
- FIG. 8 is a diagram showing the check matrix in FIG. 7 in detail. Note that elements not marked with “1” are zero.
- the row number indicating the position of the row, the column number indicating the position of the column, the row weight that is the number of elements “1” in the row direction, and the column weight that is the element “1” in the column direction are also as illustrated.
- FIG. 9 shows the data structure of the column number table stored in the specifying unit 60.
- the column number table indicates the column index c for each row.
- the column index c indicates the order of appearance of the element “1” in the row direction.
- FIG. 10 shows the data structure of the line number table stored in the specifying unit 60.
- the row number table indicates a row index r for each column.
- the row index r indicates the order of appearance of element 1 in the column direction.
- the identifying unit 60 identifies new elements in different rows in the same column from the elements corresponding to the external value ratio updated in the check node processing unit 56.
- the updated external value ratio is ⁇ mn
- the corresponding element corresponds to m rows and n columns of the parity check matrix.
- the new element corresponds to an element that is updated next in the check node processing unit 56 among a plurality of elements included in the same column.
- the specifying unit 60 uses the column position and the row position where the check node processing is executed based on the column number table of FIG. 9 and the row number table of FIG. The row position for obtaining the prior value ratio to be updated after the check node processing is detected is detected.
- the identifying unit 60 derives the row index r as follows by adding 1 to the integer part obtained by dividing the position of the row processed by the check node processing unit 56 by the block length (B).
- variable node processing unit 58 applies the prior value based on the external value ratio to the new element specified by the specifying unit 60 according to the equation (4). Update the ratio. That is, the prior value ratio ⁇ mn updated in the variable node processing unit 58 is limited to the new element specified in the specifying unit 60. As described above, the new element specified by the specifying unit 60 corresponds to a variable node having a priori value ratio used for updating in the subsequent check node processing. That is, only the prior value ratio used for the subsequent check node processing is derived.
- the control unit 42 causes the check node processing unit 56 and the variable node processing unit 58 to repeat processing alternately. That is, when the processes of the check node processing unit 56 and the variable node processing unit 58 described above are repeated up to the last row, one-time iterative decoding ends, and the control unit 42 causes the next iterative decoding to be executed.
- the control unit 42 executes such iterative decoding, and stops the decoding process when a predetermined number of repetitions is reached.
- the decoding result calculation unit 48 calculates a temporary estimated word after the processing in the check node processing unit 56 and the processing in the variable node processing unit 58 are repeated a predetermined number of times. Note that the decoding result calculation unit 48 may calculate a temporary estimated word even if the result of the parity check is correct even before being repeated a predetermined number of times. The decoding result calculation unit 48 outputs the temporary estimated word as a decoding result.
- FIG. 11 is a flowchart showing a decoding procedure by the decoding unit 28.
- the check node processing unit 56 initializes ⁇ (S10), and executes check node processing (S12).
- the identification unit 60 identifies a new element for executing variable node processing (S14).
- the variable node processing unit 58 performs variable node processing on the identified new element (S16).
- the control unit 42 returns to Step 12 when iterative processing is continued (Y in S18). On the other hand, the control part 42 complete
- the element that is to perform the check node process next is specified from among a plurality of elements included in the same column.
- the number of elements to be subjected to variable node processing can be reduced.
- the processing amount of shuffled decoding can be reduced.
- an increase in the amount of computation can be suppressed while maintaining high-speed convergence.
- processing for each basic matrix can be executed.
- the processing amount can be reduced.
- the variable node process only needs to be performed for one row, so that the amount of computation can be reduced to the number of computations of one column weight.
- the second embodiment of the present invention relates to a receiving apparatus that performs shuffled decoding in min-sum decoding as in the first embodiment.
- the row weight for each row is equal.
- the row weights for each row are not equal.
- the receiving apparatus according to the embodiment stops specifying in the column when there is no “1” element in the same column, Only variable node processing in is performed.
- the communication system 100 according to the second embodiment is the same type as that shown in FIG. 1, and the decoding unit 28 is the same type as that shown in FIG. Here, the difference will be mainly described.
- FIG. 12 shows a parity check matrix used in the communication system 100 according to the second embodiment of the present invention. “0” in the figure indicates a zero matrix.
- FIG. 12 is shown similarly to FIG.
- FIG. 13 is a diagram illustrating the check matrix in FIG. 12 in detail.
- FIG. 13 is shown similarly to FIG.
- the specifying unit 60 stores a column number table and a row number table.
- FIG. 14 shows the data structure of the column number table stored in the specifying unit 60 according to the second embodiment of the present invention
- FIG. 15 shows the row number table stored in the specifying unit 60 according to the second embodiment of the present invention.
- the data structure of is shown. These are shown in the same manner as in FIGS. Returning to FIG.
- the least common multiple of the column weight is 6, and the specifying unit 60 executes 0 to 5 iterations.
- the specifying unit 60 includes a row index counter and sets “0” as an initial value. Further, the identifying unit 60 counts up the row index counter when executing the check node processing of the row whose row index changes in FIG. That is, in the case of the parity check matrix of FIG. 13, when performing the processing of the 0th row, the processing of the 5th row, and the processing of the 10th row, the specifying unit 60 counts up the row index counter.
- the identifying unit 60 is the 0th row, it increments the row index counter to 1.
- the identification of the new element is stopped.
- Variable node processing can be executed even if a zero matrix is included in the basic matrix.
- this embodiment can be applied to various types of check matrices. Further, it is possible to maintain the same decoding performance while reducing the number of operations of variable node processing of LDPC decoding.
- the communication system 100 since the communication system 100 is based on a wireless communication system, the transmission device 10 and the reception device 12 are included in the wireless communication device.
- the present invention is not limited to this.
- the communication system 100 may be based on a wired communication system.
- the transmission device 10 and the reception device 12 are included in the wired communication device. According to this modification, the present invention can be applied to various devices.
- the receiving device 12 performs min-sum decoding.
- the present invention is not limited to this.
- the receiving device 12 may execute sum-product decoding instead of min-sum decoding. At this time, it is only necessary to perform shuffled decoding in sum-product decoding. According to this modification, reception characteristics can be improved.
- the check matrix as shown in FIG. 8 or 13 is used in the communication system 100.
- the present invention is not limited to this.
- a check matrix such as LDGM using a pseudo cyclic matrix may be used.
- various types of check matrices can be used.
- the transmission device 10 performs LDPC encoding.
- the present invention is not limited to this.
- the transmission apparatus 10 may execute encoding that can execute min-sum decoding and sum-product decoding at the time of decoding even when encoding is other than LDPC encoding.
- the present invention can be applied to various encodings.
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
チェックノード処理部56は、入力したデータに対して、パリティ検査行列の行ごとに、事前値比をもとに外部値比を更新する。特定部60は、更新した外部値比に対応した要素であって、かつパリティ検査行列の行と列によって特定される要素から、同一列で異なった行の新たな要素を特定する。特定部60は、新たな要素として、同一列中に含まれる複数の要素のうち、チェックノード処理部56において次に更新がなされる要素を特定する。変数ノード処理部58は、チェックノード処理部56における行ごとの更新が終了すると、特定した新たな要素に対して、外部値比をもとに事前値比を更新する。チェックノード処理部56と変数ノード処理部58とは、交互に繰り返して処理を実行する。
Description
本発明は、復号技術に関し、特にLDPCによる符号化がなされたデータを復号する復号装置および復号方法に関する。
近年、低S/Nの伝送路でも強力な誤り訂正能力をもつ誤り訂正符号として、LDPC(Low Density Parity Check Code)が注目され、多くの分野で適用されている。LDPCでは、送信側において、疎な検査行列をもとに生成される符号化行列によって、データが符号化される。ここで、疎な検査行列とは、要素が1または0からなる行列であって、1の数が少ない行列である。一方、受信側において、検査行列をもとにして、データの復号とパリティ検査とがなされる。特に、BP(Belief Propagation)法等による繰り返し復号によって復号性能が向上する。
この復号では、検査行列の行方向に復号するチェックノード処理と、列方向に復号する変数ノード処理とを繰り返し実行する。チェックノード処理のひとつとして、Gallager関数や双曲線関数を用いるsum-product復号が知られている。sum-product復号では、伝送路ノイズの分散値から求まる通信路値を事前値として使用する。このようなsum-product復号において、繰り返し復号における繰り返し回数の低減によって、収束性を高速にすることが望まれている。これに対応するために、例えば、検査ノードに対して優先度を付与し、優先度の高い検査ノードから処理を実行することがなされている(例えば、特許文献1参照)。
繰り返し復号における繰り返し回数の低減によって、収束性を高速にするためのひとつの解決策がshuffled復号を使用することである。これは、sum-product復号等において、1行に対するチェックノード処理が完了すると、変数ノード処理を直ちに実行することによって、事前値比を逐次更新する。一方、通常のsum-product復号では、検査行列のすべての行に対するチェックノード処理が終了した後に、変数ノード処理が実行される。shuffled復号によれば、チェックノード処理によって更新した外部値比を使用した変数ノード処理が逐次実行されるので、該当する列のすべての変数ノードに対する事前値比の更新が必要になる。その結果、列方向の非零要素の数(列重み)に比例して演算量は増加してしまう。
本発明はこうした状況に鑑みてなされたものであり、その目的は、高速な収束性を維持しながら、演算量の増加を抑制する技術を提供することにある。
上記課題を解決するために、本発明のある態様の復号装置は、符号化がなされたデータを入力する入力部と、入力部において入力したデータに対して、パリティ検査行列の行ごとに、事前値比をもとに外部値比を更新するチェックノード処理部と、チェックノード処理部において更新した外部値比に対応した要素であって、かつパリティ検査行列の行と列によって特定される要素から、同一列で異なった行の新たな要素を特定する特定部と、チェックノード処理部における行ごとの更新が終了すると、特定部において特定した新たな要素に対して、外部値比をもとに事前値比を更新する変数ノード処理部とを備える。チェックノード処理部と変数ノード処理部とは、交互に繰り返して処理を実行し、特定部は、新たな要素として、同一列中に含まれる複数の要素のうち、チェックノード処理部において次に更新がなされる要素を特定する。
この態様によると、新たな要素として、同一列中に含まれる複数の要素のうち、チェックノード処理部において次に更新がなされる要素を特定するので、変数ノード処理を実行すべき要素数を低減できる。
チェックノード処理部において使用されるパリティ検査行列では、単位行列あるいは単位行列の巡回シフト行列によって構成される基本行列が行方向および列方向に複数配置されており、特定部は、パリティ検査行列の列方向において、チェックノード処理部において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列に含まれた新たな要素を特定してもよい。この場合、チェックノード処理部において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列に含まれた新たな要素を特定するので、基本行列単位の処理を実行できる。
チェックノード処理部において使用されるパリティ検査行列に配置された基本行列は、零行列によっても構成され、特定部は、チェックノード処理部において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止してもよい。この場合、チェックノード処理部において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止するので、基本行列に零行列が含まれていても変数ノード処理を実行できる。
本発明の別の態様は、復号方法である。この方法は、符号化がなされたデータを入力するステップと、入力したデータに対して、パリティ検査行列の行ごとに、事前値比をもとに外部値比を更新するステップと、更新した外部値比に対応した要素であって、かつパリティ検査行列の行と列によって特定される要素から、同一列で異なった行の新たな要素を特定するステップと、事前値比をもとに外部値比を更新するステップにおける行ごとの更新が終了すると、特定した新たな要素に対して、外部値比をもとに事前値比を更新するステップとを備える。事前値比をもとに外部値比を更新するステップと外部値比をもとに事前値比を更新するステップとは、交互に繰り返して処理を実行し、特定するステップは、新たな要素として、同一列中に含まれる複数の要素のうち、事前値比をもとに外部値比を更新するステップにおいて次に更新がなされる要素を特定する。
事前値比をもとに外部値比を更新するステップにおいて使用されるパリティ検査行列では、単位行列あるいは単位行列の巡回シフト行列によって構成される基本行列が行方向および列方向に複数配置されており、特定するステップは、パリティ検査行列の列方向において、更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列に含まれた新たな要素を特定してもよい。
事前値比をもとに外部値比を更新するステップにおいて使用されるパリティ検査行列に配置された基本行列は、零行列によっても構成され、特定するステップは、更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止してもよい。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、高速な収束性を維持しながら、演算量の増加を抑制できる。
(実施例1)
本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例1は、LDPC符号化を実行する送信装置と、送信装置において符号化されたデータ(以下、「符号化データ」という)に対して検査行列をもとに繰り返し復号を実行する受信装置とを含む通信システムに関する。特に、受信装置は、min-sum復号において、shuffled復号も実行する。ここで、min-sum復号は、sum-product復号を簡略化した復号方法である。min-sum復号は、複雑な関数を用いることなく、比較演算、和演算等の簡単な処理だけでチェックノード処理を実行する。一方、前述のごとく、shuffled復号は、検査行列の1行に対するチェックノード処理が完了すると、変数ノード処理を実行する。しかしながら、変数ノード処理を実行すべき列には、複数の要素が含まれるので、処理量が増加する。これに対応するために、本実施例に係る通信システム、特に受信装置は、次の処理を実行する。
本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例1は、LDPC符号化を実行する送信装置と、送信装置において符号化されたデータ(以下、「符号化データ」という)に対して検査行列をもとに繰り返し復号を実行する受信装置とを含む通信システムに関する。特に、受信装置は、min-sum復号において、shuffled復号も実行する。ここで、min-sum復号は、sum-product復号を簡略化した復号方法である。min-sum復号は、複雑な関数を用いることなく、比較演算、和演算等の簡単な処理だけでチェックノード処理を実行する。一方、前述のごとく、shuffled復号は、検査行列の1行に対するチェックノード処理が完了すると、変数ノード処理を実行する。しかしながら、変数ノード処理を実行すべき列には、複数の要素が含まれるので、処理量が増加する。これに対応するために、本実施例に係る通信システム、特に受信装置は、次の処理を実行する。
受信装置は、検査行列を構成する1行に対してチェックノード処理を実行する。詳細は後述するが、チェックノード処理によって外部値比が更新される。次に、受信装置は、外部値比を更新した要素から、当該要素が配置された列のうち、次にチェックノード処理を実行すべき新たな要素を特定する。ここでは、外部値比を更新した要素が配置された列の中から、ひとつの新たな要素だけが特定される。さらに、受信装置は、新たな要素に対して、変数ノード処理を実行する。これらに続いて、受信装置は、検査行列のうちの行を変更して、チェックノード処理を実行する。その後、受信装置は、チェックノード処理と変数ノード処理とを所定回数繰り返し実行する。
図1は、本発明の実施例1に係る通信システム100の構成を示す。通信システム100は、送信装置10、受信装置12を含む。送信装置10は、情報データ生成部20、LDPC符号化部22、変調部24を含む。受信装置12は、復調部26、復号部28、情報データ出力部30を含む。
情報データ生成部20は、送信すべきデータを取得し、情報データを生成する。なお、取得したデータがそのまま情報データとされてもよい。情報データ生成部20は、情報データをLDPC符号化部22へ出力する。LDPC符号化部22は、情報データ生成部20から、情報データを入力する。LDPC符号化部22は、LDPCでの検査行列をもとにしたパリティ(以下、「LDPCパリティ」という)を情報データに付加する。LDPCパリティを付加した情報データが、前述の符号化データに相当する。LDPC符号化部22は、符号化データを変調部24に出力する。図2は、LDPC符号化部22において使用される検査行列の一例を示す。検査行列Hmnは、m行n列の行列である。ここでは、説明を明瞭にするために、検査行列Hmnが4行8列であるとするが、これに限定されるものではない。図1に戻る。
変調部24は、LDPC符号化部22から符号化データを入力する。変調部24は、符号化データを変調する。変調方式として、PSK(Phase Shift Keying)、FSK(Frequency Shift Keying)等が使用される。変調部24は、変調した符号化データを変調信号として送信する。復調部26は、変調部24から通信路、例えば無線伝送路を介して変調信号を受信する。復調部26は、変調信号を復調する。復調には公知の技術が使用されればよいので、ここでは説明を省略する。復調部26は、復調結果(以下、「復調データ」という)を復号部28へ出力する。
復号部28は、復調部26からの復調データを入力する。復号部28は、復調データに対して、LDCPでの検査行列による復号処理を繰り返し実行する。復号処理として、例えば、min-sum復号が実行される。ここでは、特に、min-sum復号での変数ノード処理において、shuffled復号を実行する。min-sum復号は、次の手順で実行される。
1.初期化:事前値比を初期化し、最大復号繰り返し回数を設定する。
2.チェックノード処理:検査行列の行方向に対して外部値比を更新する。
3.変数ノード処理:検査行列の列方向に対して事前値比を更新する。
4.一時推定語を計算する。
1.初期化:事前値比を初期化し、最大復号繰り返し回数を設定する。
2.チェックノード処理:検査行列の行方向に対して外部値比を更新する。
3.変数ノード処理:検査行列の列方向に対して事前値比を更新する。
4.一時推定語を計算する。
復号部28は、復号結果(以下、「復号データ」という)を情報データ出力部30へ出力する。情報データ出力部30は、復号部28からの復号データを入力する。情報データ出力部30は、復号データをもとに情報データを生成する。なお、復号データがそのまま情報データとされてもよい。情報データ出力部30は、外符号復号部を含み、例えばCRC(Cyclic Redundancy Check)等の外符号を復号してもよい。
この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
図3は、復号部28の構成を示す。復号部28は、フレーム構成部40、制御部42、データ記憶部44、min-sum処理部46、復号結果演算部48を含む。また、min-sum処理部46は、チェックノード処理部56、変数ノード処理部58、特定部60を含む。
フレーム構成部40は、図示しない復調部26からの復調データを入力する。復調データは、通信路を介してのLDPC符号化がなされたデータといえる。フレーム構成部40は、復調データに含まれたフレーム同期信号を検出する。フレーム構成部40は、フレーム同期信号をもとに、復調データによって形成されるフレームの単位を特定する。例えば、フレームの先頭部分にフレーム同期信号が配置され、かつフレームの期間が固定長である場合、フレーム構成部40は、フレーム同期信号を検出してから固定長の期間をフレームと特定する。なお、LDPC符号化の単位がフレームであってもよい。フレーム構成部40は、フレーム単位にまとめた復調データをデータ記憶部44に記憶させる。データ記憶部44は、フレーム単位で復調信号を一時的に記憶する。また、データ記憶部44は、検査行列に相当するテーブルを記憶する。さらに、データ記憶部44は、チェックノード処理において更新される外部値比、変数ノード処理において更新される事前値等も記憶する。
min-sum処理部46は、データ記憶部44からの復調データを入力する。min-sum処理部46は、復調データに対してmin-sum復号を実行する。min-sum復号では、チェックノード処理部56と変数ノード処理部58とが交互に動作される。なお、min-sum処理部46は、shuffled復号も実行するので、検査行列のうちの1行に対するチェックノード処理が終了すると、変数ノード処理が直ちに実行される。図4は、復号部28の動作を模式的に表したタナーグラフを示す。タナーグラフでは、b1からb8が変数ノードと呼ばれ、c1からc4がチェックノードと呼ばれる。ここでは、変数ノードの数をnとし、bnをn番目の変数ノードとする。また、チェックノードの数をmとし、cmをm番目のチェックノードとする。変数ノードb1からb8には、図3のデータ記憶部44に蓄えられたデータy1からy8が接続されている。
次のようにN(m)とM(n)を定義する。
これらを図2の検査行列に適用すると、N(1)={1,2,3,4}、N(2)={1,3,5,7}、N(3)={2,4,6,8}、N(4)={5,6,7,8}、M(1)={1,2}、M(2)={1,3},M(3)={1,2}、M(4)={1,3}、M(5)={2,4}、M(6)={3,4}、M(7)={2,4}、M(8)={3,4}と示される。
チェックノード処理による外部値比αmnの更新は、図4のタナーグラフにおいて、チェックノードc1に接続されるb1、b2、b3、b4からの事前値比βmnを使用する。例えば、外部値比α11の更新は図5に示されるようになされる。図5は、復号部28における外部値比の更新の概要を示す。α11の更新には、変数ノードb1を除いたb2、b3、b4の事前値比が使用される。min-sum復号におけるチェックノード処理は、次のように示される。
ここで、aは正規化定数であり、1よりも小さい。なお、事前値比βmnの初期値は、入力データynで初期化すればよい。入力yは、復調データに相当する。一方、sum-product復号におけるi回目の繰り返しに対するチェックノード処理は、次のように示される。
更新された変数ノードに対して変数ノード処理が実行されることによって、M(n)にしたがって事前値比βmnの更新が逐次なされる。変数ノード処理による事前値比βmnの更新は、図4のタナーグラフにおいて、変数ノードb1に接続されるc1、c2からの外部値比を使用する。例えば、事前値比β11の更新は図6に示されるようになされる。図6は、復号部28における事前値比の更新の概要を示す。β11の更新には、チェックノードc1を除いたc2の外部値比が使用される。このような変数ノード処理は、次のように示される。
ここで、λは入力yあるいは、通信路のノイズ分散値と入力yとから求まる値である。図3に戻る。
チェックノード処理部56は、式(2)にしたがって、データ記憶部44からの復調データに対して、検査行列の行ごとに、事前値比をもとに外部値比を更新する。本実施例における送信装置10と受信装置12とは、図2に示した検査行列とは別の検査行列を使用する。図7は、通信システム100において使用される検査行列を示す。図中の「1」は単位行列を示し、「α」は単位行列の巡回行列を示し、「αn」は単位行列をnビット巡回した巡回行列を示す。ここでは、単位行列、巡回行列を基本行列と総称するが、基本行列は、単位行列および巡回行列のいずれであってもかまわない。単位行列(ブロック)を5×5の大きさの行列と定義すると、検査行列は図8のようにも示される。
図8は、図7における検査行列を詳細に示した図である。なお、「1」が記されていない要素は0になっている。図示のごとく、検査行列は、行方向に3ブロック(ブロック長B=5)、列方向に6ブロックの行列によって構成されている。ブロックごとの行列は、基本行列とも呼ばれる。行の位置を示す行番号、列の位置を示す列番号、行方向の要素「1」の数である行重み、列方向の要素「1」である列重みも図示の通りである。図3に戻る。
図8に示した検査行列をそのまま記憶すると記憶容量も大きくなる上、チェックノード処理、変数ノード処理演算が複雑になるので、特定部60は、検査行列の代わりに、列番号テーブル、行番号テーブルを記憶する。図9は、特定部60に記憶された列番号テーブルのデータ構造を示す。列番号テーブルは、各行に対する列インデックスcを示す。列インデックスcは、行方向における要素「1」の出現順を示す。図10は、特定部60に記憶された行番号テーブルのデータ構造を示す。行番号テーブルは、各列に対する行インデックスrを示す。行インデックスrは、列方向にみた要素1の出現順を示す。図3に戻る。
特定部60は、チェックノード処理部56において更新した外部値比に対応した要素から、同一列で異なった行の新たな要素を特定する。更新した外部値比がαmnである場合、これに対応した要素は、検査行列のm行n列に対応する。新たな要素は、同一列中に含まれる複数の要素のうち、チェックノード処理部56において次に更新がなされる要素に相当する。
このような処理を具体的に説明する。チェックノード処理部56において1行目(m=0)の処理が終了したとする。その際、チェックノード処理部56では、図10の列インデックスc=0~5に対応する列番号n={0,5,10,15,20,25}の事前値比を使用して外部値比の更新がなされている。一行分のチェックノード処理が終了されると、特定部60は、図9の列番号テーブルと図10の行番号テーブルとをもとにして、チェックノード処理を実行した列位置と行位置とから、チェックノード処理の終了後に更新すべき事前値比を求める行位置を検出する。
特定部60は、チェックノード処理部56において処理した行の位置をブロック長(B)で除算した整数部分に1を加えることによって、次のように行インデックスrを導出する。なお、rが列重みに等しい場合にはr=0とする。
r=floor{(m=0)/(B=5)}+1=1・・・(5)
(floorは整数以下切捨て演算を示す。)
例えば、特定部60は、行番号テーブルのうちの列番号n={0,5,10,15,20,25}に対して、行インデックスrが1に対応した部分を抽出することによって、m={5,9,8,7,6,5}を特定する。すなわち、r=1より、1行目のチェックノード処理を行った後には(m、n)が、(5,0)、(9,5)、(8,10)、(7,15)、(6,20)、(5、25)と示される要素が特定される。
r=floor{(m=0)/(B=5)}+1=1・・・(5)
(floorは整数以下切捨て演算を示す。)
例えば、特定部60は、行番号テーブルのうちの列番号n={0,5,10,15,20,25}に対して、行インデックスrが1に対応した部分を抽出することによって、m={5,9,8,7,6,5}を特定する。すなわち、r=1より、1行目のチェックノード処理を行った後には(m、n)が、(5,0)、(9,5)、(8,10)、(7,15)、(6,20)、(5、25)と示される要素が特定される。
同様にして、行番号10のn={0,7,14,16,23,25}に対するチェックノード処理が終了した場合に、特定部60は、r=3を導出する。これは列重みに等しいので、特定部60は、r=0とする。特定部60は、行番号テーブルのうちの列番号n={0,7,14,16,23,25}に対して、行インデックスrが0に対応した部分を抽出することによって、m={0,2,4,1,3,0}を特定する。rが列重みに等しい場合r=0とするのは次の繰り返し復号の事前値比を求めるためである。つまり、特定部60は、検査行列の列方向において、チェックノード処理部56において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列に含まれた新たな要素を特定する。
変数ノード処理部58は、チェックノード処理部56における行ごとの更新が終了すると、特定部60において特定した新たな要素に対して、式(4)にしたがって、外部値比をもとに事前値比を更新する。つまり、変数ノード処理部58において更新される事前値比βmnは、特定部60において特定された新たな要素に限定される。前述のごとく、特定部60において特定される新たな要素は、次以降のチェックノード処理での更新に使用される事前値比をもつ変数ノードに相当する。すなわち、次以降のチェックノード処理に用いる事前値比のみが導出される。
制御部42は、チェックノード処理部56と変数ノード処理部58とに対して、交互に処理を繰り返させる。つまり、前述のチェックノード処理部56と変数ノード処理部58の処理を最終行まで繰り返すと1回の繰り返し復号が終了するので、制御部42は、次の繰り返し復号を実行させる。制御部42は、このような繰り返し復号を実行させて、所定の繰り返し回数に到達した場合に復号処理を停止させる。
復号結果演算部48は、チェックノード処理部56での処理と変数ノード処理部58での処理とが所定回数繰り返された後、一時推定語を計算する。なお、復号結果演算部48は、所定回数繰り返される前であっても、パリティ検査の結果が正しければ一時推定語を計算してもよい。復号結果演算部48は、一時推定語を復号結果として出力する。
以上の構成による通信システム100の動作を説明する。図11は、復号部28による復号手順を示すフローチャートである。チェックノード処理部56は、βを初期化し(S10)、チェックノード処理を実行する(S12)。特定部60は、変数ノード処理を実行するための新たな要素を特定する(S14)。変数ノード処理部58は、特定した新たな要素に対して変数ノード処理を実行する(S16)。制御部42は、繰り返し処理を続行する場合(S18のY)、ステップ12に戻る。一方、制御部42は、繰り返し処理を続行しない場合(S18のN)、処理を終了する。
本発明の実施例によれば、新たな要素として、チェックノード処理を実行した要素に対して、同一列中に含まれる複数の要素のうち、次にチェックノード処理を実行すべき要素を特定するので、変数ノード処理の実行対象となる要素数を低減できる。また、変数ノード処理の実行対象となる要素数が低減されるので、shuffled復号の処理量を低減できる。また、shuffled復号の処理量が低減されるので、高速な収束性を維持しながら、演算量の増加を抑制できる。また、基本行列単位に新たな要素を特定するので、基本行列単位の処理を実行できる。また、基本行列単位の処理が実行されるので、処理量を低減できる。また、チェックノード処理の後、変数ノード処理はひとつの行に限って行えばよいので、列重み分の1の演算回数に演算量を低減できる。
(実施例2)
次に、本発明の実施例2を説明する。本発明の実施例2は、実施例1と同様に、min-sum復号において、shuffled復号も実行する受信装置に関する。実施例1における検査行列では、各行に対する行重みが等しい。一方、実施例2における検査行列では、各行に対する行重みが等しくない。この場合、チェックノード処理の後、新たな要素を特定する際に、同一列内に「1」の要素が存在しないことがありえる。そのような状況においても、shuffled復号を続行するために、実施例に係る受信装置は、同一列内に「1」の要素が存在しない場合に、当該列内の特定を停止し、他の列における変数ノード処理のみを実行する。実施例2に係る通信システム100は、図1と同様のタイプであり、復号部28は、図3と同様のタイプである。ここでは、差異を中心に説明する。
次に、本発明の実施例2を説明する。本発明の実施例2は、実施例1と同様に、min-sum復号において、shuffled復号も実行する受信装置に関する。実施例1における検査行列では、各行に対する行重みが等しい。一方、実施例2における検査行列では、各行に対する行重みが等しくない。この場合、チェックノード処理の後、新たな要素を特定する際に、同一列内に「1」の要素が存在しないことがありえる。そのような状況においても、shuffled復号を続行するために、実施例に係る受信装置は、同一列内に「1」の要素が存在しない場合に、当該列内の特定を停止し、他の列における変数ノード処理のみを実行する。実施例2に係る通信システム100は、図1と同様のタイプであり、復号部28は、図3と同様のタイプである。ここでは、差異を中心に説明する。
図12は、本発明の実施例2に係る通信システム100において使用される検査行列を示す。図中の「0」は、零行列を示す。図12は、図7と同様に示される。図13は、図12における検査行列を詳細に示した図である。図13は、図8と同様に示される。特定部60は、列番号テーブルと行番号テーブルとを記憶する。図14は、本発明の実施例2に係る特定部60に記憶された列番号テーブルのデータ構造を示し、図15は、本発明の実施例2に係る特定部60に記憶された行番号テーブルのデータ構造を示す。これらは、図9、図10と同様に示される。図3に戻る。
図13の場合、列重みの最小公倍数は6であり、特定部60は、0~5の繰り返しを実行する。特定部60は、行インデックスカウンタを備え、初期値として「0」を設定する。また、特定部60は、図15における行インデックスの変わる行のチェックノード処理を実行する場合に、行インデックスカウンタをカウントアップする。つまり、図13の検査行列の場合には0行目の処理と5行目の処理と10行目の処理を行う際に、特定部60は、行インデックスカウンタをカウントアップする。
例えば、チェックノード処理部56において1行目(m=0)の処理が終了したとする。その際、チェックノード処理部56では、列インデックスc=0~5に対応する列番号n={0,5,10,15,20,25}の事前値比を用いて外部値比の更新がなされる。特定部60は、0行目の行なので、行インデックスカウンタを1にカウントアップする。特定部60は、行番号テーブルのうちの列番号n={0,5,10,15,20,25}に対して、行インデックスrが1に対応した部分を抽出することによって、m={5,9,8,7,6}を特定する。つまり、列番号n=0に対する新たな要素は特定されない。これは、チェックノード処理部56において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止することに相当する。
本発明の実施例によれば、チェックノード処理した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止するので、基本行列に零行列が含まれていても変数ノード処理を実行できる。また、基本行列に零行列が含まれていても変数ノード処理が実行されるので、さまざまな形式の検査行列に本実施例を適用できる。また、LDPC復号の変数ノード処理の演算回数を減らしつつ、復号性能を同等に維持できる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
本発明の実施例において、通信システム100は無線通信システムを前提としているので、送信装置10および受信装置12は、無線通信装置に含まれる。しかしながらこれに限らず例えば、通信システム100は有線通信システムを前提としてもよい。その際、送信装置10および受信装置12は、有線通信装置に含まれる。本変形例によれば、本発明をさまざまな装置に適用できる。
本発明の実施例において、受信装置12は、min-sum復号を実行している。しかしながらこれに限らず例えば、受信装置12は、min-sum復号の代わりに、sum-product復号を実行してもよい。その際、sum-product復号において、shuffled復号が実行されればよい。本変形例によれば、受信特性を向上できる。
本発明の実施例において、通信システム100では、図8や図13のような検査行列が使用されている。しかしながらこれに限らず例えば、通信システム100では、擬似巡回行列を用いたLDGM等の検査行列が使用されてもよい。本変形例によれば、さまざまなタイプの検査行列を使用できる。
本発明の実施例において、送信装置10は、LDPC符号化を実行している。しかしながらこれに限らず例えば、送信装置10は、LDPC符号化以外の符号化であっても、復号の際にmin-sum復号やsum-product復号を実行可能な符号化を実行してもよい。本変形例によれば、本発明をさまざまな符号化に適用できる。
10 送信装置、 12 受信装置、 20 情報データ生成部、 22 LDPC符号化部、 24 変調部、 26 復調部、 28 復号部、 30 情報データ出力部、 40 フレーム構成部、 42 制御部、 44 データ記憶部、 46 min-sum処理部、 48 復号結果演算部、 56 チェックノード処理部、 58 変数ノード処理部、 60 特定部、 100 通信システム。
本発明によれば、高速な収束性を維持しながら、演算量の増加を抑制できる。
Claims (6)
- 符号化がなされたデータを入力する入力部と、
前記入力部において入力したデータに対して、パリティ検査行列の行ごとに、事前値比をもとに外部値比を更新するチェックノード処理部と、
前記チェックノード処理部において更新した外部値比に対応した要素であって、かつパリティ検査行列の行と列によって特定される要素から、同一列で異なった行の新たな要素を特定する特定部と、
前記チェックノード処理部における行ごとの更新が終了すると、前記特定部において特定した新たな要素に対して、外部値比をもとに事前値比を更新する変数ノード処理部とを備え、
前記チェックノード処理部と前記変数ノード処理部とは、交互に繰り返して処理を実行し、
前記特定部は、新たな要素として、同一列中に含まれる複数の要素のうち、前記チェックノード処理部において次に更新がなされる要素を特定することを特徴とする復号装置。 - 前記チェックノード処理部において使用されるパリティ検査行列では、単位行列あるいは単位行列の巡回シフト行列によって構成される基本行列が行方向および列方向に複数配置されており、
前記特定部は、パリティ検査行列の列方向において、前記チェックノード処理部において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列に含まれた新たな要素を特定することを特徴とする請求項1に記載の復号装置。 - 前記チェックノード処理部において使用されるパリティ検査行列に配置された基本行列は、零行列によっても構成され、
前記特定部は、前記チェックノード処理部において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止することを特徴とする請求項2に記載の復号装置。 - 符号化がなされたデータを入力するステップと、
入力したデータに対して、パリティ検査行列の行ごとに、事前値比をもとに外部値比を更新するステップと、
更新した外部値比に対応した要素であって、かつパリティ検査行列の行と列によって特定される要素から、同一列で異なった行の新たな要素を特定するステップと、
前記事前値比をもとに外部値比を更新するステップにおける行ごとの更新が終了すると、特定した新たな要素に対して、外部値比をもとに事前値比を更新するステップとを備え、
前記事前値比をもとに外部値比を更新するステップと前記外部値比をもとに事前値比を更新するステップとは、交互に繰り返して処理を実行し、
前記特定するステップは、新たな要素として、同一列中に含まれる複数の要素のうち、前記事前値比をもとに外部値比を更新するステップにおいて次に更新がなされる要素を特定することを特徴とする復号方法。 - 前記事前値比をもとに外部値比を更新するステップにおいて使用されるパリティ検査行列では、単位行列あるいは単位行列の巡回シフト行列によって構成される基本行列が行方向および列方向に複数配置されており、
前記特定するステップは、パリティ検査行列の列方向において、更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列に含まれた新たな要素を特定することを特徴とする請求項4に記載の復号方法。 - 前記事前値比をもとに外部値比を更新するステップにおいて使用されるパリティ検査行列に配置された基本行列は、零行列によっても構成され、
前記特定するステップは、更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止することを特徴とする請求項5に記載の復号方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201180052487.2A CN103190080B (zh) | 2010-10-29 | 2011-10-28 | 解码装置及解码方法 |
US13/871,901 US9026880B2 (en) | 2010-10-29 | 2013-04-26 | Decoding apparatus and decoding method for decoding LDPC-encoded data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-244519 | 2010-10-29 | ||
JP2010244519A JP5310701B2 (ja) | 2010-10-29 | 2010-10-29 | 復号装置および復号方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/871,901 Continuation US9026880B2 (en) | 2010-10-29 | 2013-04-26 | Decoding apparatus and decoding method for decoding LDPC-encoded data |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012056713A1 true WO2012056713A1 (ja) | 2012-05-03 |
Family
ID=45993457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/006039 WO2012056713A1 (ja) | 2010-10-29 | 2011-10-28 | 復号装置および復号方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9026880B2 (ja) |
JP (1) | JP5310701B2 (ja) |
CN (1) | CN103190080B (ja) |
WO (1) | WO2012056713A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5365601B2 (ja) * | 2010-09-30 | 2013-12-11 | 株式会社Jvcケンウッド | 復号装置および復号方法 |
DE102014215478B4 (de) * | 2014-08-05 | 2019-06-13 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zum Übertragen von Daten |
CN105846830B (zh) * | 2015-01-14 | 2019-07-30 | 北京航空航天大学 | 数据处理装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006059688A1 (ja) * | 2004-12-02 | 2006-06-08 | Mitsubishi Denki Kabushiki Kaisha | 復号装置及び通信装置 |
JP2010245736A (ja) * | 2009-04-03 | 2010-10-28 | Mitsubishi Electric Corp | 復号装置および復号方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7415079B2 (en) * | 2000-09-12 | 2008-08-19 | Broadcom Corporation | Decoder design adaptable to decode coded signals using min* or max* processing |
US7139959B2 (en) * | 2003-03-24 | 2006-11-21 | Texas Instruments Incorporated | Layered low density parity check decoding for digital communications |
US7730377B2 (en) * | 2004-07-22 | 2010-06-01 | Texas Instruments Incorporated | Layered decoding of low density parity check (LDPC) codes |
KR100703271B1 (ko) * | 2004-11-23 | 2007-04-03 | 삼성전자주식회사 | 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치 |
EP1829223B1 (en) * | 2004-12-22 | 2013-02-13 | LG Electronics Inc. | Parallel, layered decoding for Low-Density Parity-Check (LDPC) codes |
JP4519694B2 (ja) | 2005-03-29 | 2010-08-04 | 財団法人北九州産業学術推進機構 | Ldpc符号検出装置及びldpc符号検出方法 |
KR101021465B1 (ko) * | 2005-10-26 | 2011-03-15 | 삼성전자주식회사 | 저밀도 패리티 검사 코드를 사용하는 통신 시스템에서 신호수신 장치 및 방법 |
EP1966897A4 (en) * | 2005-12-27 | 2012-05-30 | Lg Electronics Inc | DEVICES AND METHODS FOR DECODING USING A CHANNEL CODE OR LPDC |
US7647548B2 (en) * | 2006-07-31 | 2010-01-12 | Agere Systems Inc. | Methods and apparatus for low-density parity check decoding using hardware-sharing and serial sum-product architecture |
US7644339B2 (en) * | 2006-10-02 | 2010-01-05 | Broadcom Corporation | Overlapping sub-matrix based LDPC (low density parity check) decoder |
JP5507813B2 (ja) * | 2007-02-16 | 2014-05-28 | パナソニック株式会社 | 送信装置及び受信装置 |
US20080320374A1 (en) * | 2007-06-22 | 2008-12-25 | Legend Silicon Corp. | Method and apparatus for decoding a ldpc code |
US20090070659A1 (en) * | 2007-09-11 | 2009-03-12 | Legend Silicon Corp. | Ldpc decoder with an improved llr update method using a set of relative values free from a shifting action |
US8429483B1 (en) * | 2007-12-12 | 2013-04-23 | Marvell International Ltd. | Edge-based decoders for low-density parity-check codes |
US8291292B1 (en) * | 2008-01-09 | 2012-10-16 | Marvell International Ltd. | Optimizing error floor performance of finite-precision layered decoders of low-density parity-check (LDPC) codes |
CN101803205B (zh) * | 2008-08-15 | 2013-12-18 | Lsi公司 | 近码字的ram列表解码 |
US8161345B2 (en) * | 2008-10-29 | 2012-04-17 | Agere Systems Inc. | LDPC decoders using fixed and adjustable permutators |
US9356623B2 (en) * | 2008-11-26 | 2016-05-31 | Avago Technologies General Ip (Singapore) Pte. Ltd. | LDPC decoder variable node units having fewer adder stages |
WO2010073570A1 (ja) * | 2008-12-26 | 2010-07-01 | パナソニック株式会社 | 符号化方法、符号化器及び復号器 |
US8464121B2 (en) * | 2009-01-07 | 2013-06-11 | Intel Corporation | LDPC codes with small amount of wiring |
US8578256B2 (en) * | 2009-04-22 | 2013-11-05 | Agere Systems Llc | Low-latency decoder |
US8438461B2 (en) * | 2009-10-12 | 2013-05-07 | Marvell World Trade Ltd. | Power consumption in LDPC decoder for low-power applications |
US8572463B2 (en) * | 2010-02-01 | 2013-10-29 | Sk Hynix Memory Solutions Inc. | Quasi-cyclic LDPC encoding and decoding for non-integer multiples of circulant size |
US8924812B2 (en) * | 2010-04-08 | 2014-12-30 | Marvell World Trade Ltd. | Non-binary LDPC code decoder |
US8464142B2 (en) * | 2010-04-23 | 2013-06-11 | Lsi Corporation | Error-correction decoder employing extrinsic message averaging |
US8589755B2 (en) * | 2010-06-16 | 2013-11-19 | Nec Laboratories America, Inc. | Reduced-complexity LDPC decoding |
US8443255B2 (en) * | 2010-08-26 | 2013-05-14 | Qualcomm Incorporated | Parity check matrix optimization and selection for iterative decoding |
-
2010
- 2010-10-29 JP JP2010244519A patent/JP5310701B2/ja active Active
-
2011
- 2011-10-28 WO PCT/JP2011/006039 patent/WO2012056713A1/ja active Application Filing
- 2011-10-28 CN CN201180052487.2A patent/CN103190080B/zh active Active
-
2013
- 2013-04-26 US US13/871,901 patent/US9026880B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006059688A1 (ja) * | 2004-12-02 | 2006-06-08 | Mitsubishi Denki Kabushiki Kaisha | 復号装置及び通信装置 |
JP2010245736A (ja) * | 2009-04-03 | 2010-10-28 | Mitsubishi Electric Corp | 復号装置および復号方法 |
Non-Patent Citations (2)
Title |
---|
SHENG WU ET AL.: "Alternate Iteration of Shuffled Belief Propagation Decoding", PROCEEDINGS OF THE 2010 INTERNATIONAL CONFERENCE ON COMMUNICATIONS AND MOBILE COMPUTING (CMC), vol. 2, 12 April 2010 (2010-04-12), pages 278 - 281 * |
YEONG-LUH UENG ET AL.: "A shuffled message- passing decoding method for memory-based LDPC decoders", PROCEEDINGS OF THE IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS, 24 May 2009 (2009-05-24), pages 892 - 895 * |
Also Published As
Publication number | Publication date |
---|---|
CN103190080A (zh) | 2013-07-03 |
US9026880B2 (en) | 2015-05-05 |
JP2012099955A (ja) | 2012-05-24 |
CN103190080B (zh) | 2016-01-20 |
US20130238950A1 (en) | 2013-09-12 |
JP5310701B2 (ja) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7152394B2 (ja) | Ldpcコードを符号化および復号化するための方法および装置 | |
US10511326B2 (en) | Systems and methods for decoding error correcting codes | |
JP2012151676A (ja) | 復号装置および復号方法 | |
JP4062435B2 (ja) | 誤り訂正符号復号装置 | |
US11115051B2 (en) | Systems and methods for decoding error correcting codes | |
EP3110009B1 (en) | Encoding method, decoding method, encoding device and decoding device for structured ldpc codes | |
US10574274B2 (en) | Systems and methods for decoding error correcting codes | |
WO2014122772A1 (ja) | 誤り訂正符号の検査行列のデータ構造、並びに誤り訂正符号の符号化率可変装置および可変方法 | |
JP2008514106A (ja) | Ldpcコードを用いた符号化及び復号化方法 | |
WO2021063217A1 (zh) | 一种译码方法及装置 | |
JP4832447B2 (ja) | チャネルコードを用いた復号化装置及び方法 | |
JP5310701B2 (ja) | 復号装置および復号方法 | |
WO2012056712A1 (ja) | 復号装置および復号方法 | |
US20200153457A1 (en) | Generalized low-density parity check codes (gldpc) | |
CN118694379A (zh) | 用于ldpc码的解码的提前收敛 | |
JP5772622B2 (ja) | 復号装置および復号方法 | |
WO2018084732A1 (en) | Ldpc codes for incremental redundancy harq (ir-harq) schemes | |
WO2012042786A1 (ja) | 復号装置および復号方法 | |
EP3526899B1 (en) | Decoding of low-density parity-check convolutional turbo codes | |
JP2013150193A (ja) | 復号装置および復号方法 | |
JP2013207396A (ja) | 復号装置、復号方法、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11835857 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11835857 Country of ref document: EP Kind code of ref document: A1 |