WO2012056712A1 - 復号装置および復号方法 - Google Patents

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

Info

Publication number
WO2012056712A1
WO2012056712A1 PCT/JP2011/006038 JP2011006038W WO2012056712A1 WO 2012056712 A1 WO2012056712 A1 WO 2012056712A1 JP 2011006038 W JP2011006038 W JP 2011006038W WO 2012056712 A1 WO2012056712 A1 WO 2012056712A1
Authority
WO
WIPO (PCT)
Prior art keywords
value ratio
value
unit
prior
ratio
Prior art date
Application number
PCT/JP2011/006038
Other languages
English (en)
French (fr)
Inventor
速水 淳
Original Assignee
株式会社Jvcケンウッド
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 株式会社Jvcケンウッド filed Critical 株式会社Jvcケンウッド
Priority to CN201180052472.6A priority Critical patent/CN103190079B/zh
Publication of WO2012056712A1 publication Critical patent/WO2012056712A1/ja
Priority to US13/871,858 priority patent/US9143165B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/07Arithmetic codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

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 decoding method that simplifies sum-product decoding is min-sum decoding.
  • min-sum decoding check node processing can be performed by simple processing such as comparison operation and sum operation without using a complicated function.
  • min-sum decoding does not require a channel value, it is widely used for simplifying and speeding up the processing.
  • it has been proposed to use the minimum value of the prior value ratio in each row of the parity check matrix and the next smallest value see, for example, Patent Document 1).
  • the present invention has been made in view of such circumstances, and an object thereof is to provide a technique for reducing the amount of calculation in min-sum decoding.
  • a decoding device includes an input unit that inputs data that has been subjected to LDPC encoding, and executes a min-sum algorithm on the data that is input in the input unit
  • a check node process for updating the external value ratio based on the prior value ratio and a decoding unit that alternately executes a variable node process for updating the prior value ratio based on the external value ratio are provided.
  • the decoding unit includes: an initialization unit that derives a sum of codes of prior value ratios included in a row to be processed before starting a check node process for each row in an LDPC coding check matrix; and a row to be processed Derivation to derive the code for one of the external value ratios based on the sign of the prior value ratio unused for updating the external value ratio and the total product of the codes derived in the initialization unit And an update unit that updates the external value ratio of one of the rows to be processed using the code derived by the derivation unit.
  • the total product of the codes of the prior value ratio included in the processing target row is derived, and the total product of the codes is used for deriving each external value ratio. Since it is used, the amount of calculation can be reduced.
  • the initialization unit specifies the minimum value of the absolute value of the prior value ratio included in the row to be processed, specifies the column in which the minimum value of the specified absolute value of the prior value ratio is arranged, and the derivation unit
  • the column in which the unused prior value ratio is arranged for updating the external value ratio is different from the column specified in the initialization unit
  • the absolute value of the absolute value of the prior value ratio specified in the initialization unit is updated. May be used. In this case, since the minimum value of the absolute value of the prior value ratio specified in advance is used for updating the external value ratio, derivation of the minimum value of the absolute value of the prior value ratio can be omitted.
  • Another aspect of the present invention is also a decoding device.
  • This device updates the external value ratio based on the prior value ratio by executing the min-sum algorithm on the input unit that inputs LDPC-encoded data and the data input in the input unit And a decoding unit that alternately executes check node processing to be performed and variable node processing to update the prior value ratio based on the external value ratio.
  • the decoding unit specifies the minimum value of the absolute value of the prior value ratio included in the row to be processed before starting the check node processing of each row in the LDPC encoding check matrix, and the specified prior value ratio
  • An initialization unit that identifies a column in which the absolute value is arranged, and an external value ratio that is not used for updating the external value ratio are arranged for one external value ratio in a row to be processed. If the column identified by the initialization unit is the same, the derivation unit for deriving a value other than the minimum absolute value of the prior value ratio identified by the initialization unit, and the value derived by the derivation unit And an update unit that updates the external value ratio of one of the rows to be processed.
  • the derivation unit determines the absolute value of the absolute value of the prior value ratio specified in the initialization unit when the column in which the prior value ratio unused for updating the external value ratio is different from the column specified in the initialization unit. Is used by the update unit.
  • a value other than the minimum value is derived only when a column in which an unused prior value ratio is arranged for updating the external value ratio and the column specified in advance are the same, otherwise, Since the minimum value specified in advance is used, the amount of calculation can be reduced.
  • Still another aspect of the present invention is a decoding method.
  • This method includes a step of inputting data subjected to LDPC encoding, and a check node process for updating the external value ratio based on the prior value ratio by executing a min-sum algorithm on the input data. And a step of alternately executing variable node processing for updating the prior value ratio based on the external value ratio.
  • the executing step includes a step of deriving a sum of codes of prior value ratios included in a processing target row before starting a check node processing of each row in an LDPC encoding check matrix; For one of the external value ratios, a step of deriving a code based on the sign of the prior value ratio that is not used to update the external value ratio and the total product of the derived codes, and the derived code And updating the external value ratio of one of the rows to be processed.
  • Still another aspect of the present invention is also a decoding method.
  • This method includes a step of inputting data subjected to LDPC encoding, and a check node process for updating the external value ratio based on the prior value ratio by executing a min-sum algorithm on the input data. And a step of alternately executing variable node processing for updating the prior value ratio based on the external value ratio.
  • the executing step specifies the minimum value of the absolute value of the prior value ratio included in the row to be processed before starting the check node processing of each row in the LDPC coding check matrix, and specifies the specified prior value ratio.
  • an unused prior value ratio is arranged to update the external value ratio If the column and the identified column are the same, the step of deriving a value other than the minimum absolute value of the identified prior value ratio, and using the derived value, one of the rows to be processed Updating the external value ratio.
  • the derivation step is used to update the minimum value of the absolute value of the specified prior value ratio when the column in which the unused prior value ratio is arranged for updating the external value ratio is different from the specified column. .
  • the amount of computation in min-sum decoding can be reduced.
  • Embodiments of the present invention include a transmission apparatus that performs LDPC encoding, and reception that repeatedly performs decoding on data encoded in the transmission apparatus (hereinafter referred to as “encoded data”) based on a parity check matrix.
  • the present invention relates to a communication system including an apparatus.
  • the receiving device executes a min-sum algorithm.
  • the min-sun algorithm includes check node processing and variable node processing, but check node processing is more complicated than variable node processing. Therefore, it is desirable to simplify the min-sum algorithm process by simplifying the check node process.
  • the communication system according to the present embodiment executes the following processing.
  • the receiving device specifies the minimum value of the absolute value of the prior value ratio from the prior value ratios included in the row to be processed before starting the check node processing for each row of the check matrix,
  • the column in which the minimum value is arranged is also specified.
  • the receiving device derives the total product of the codes of the prior value ratio.
  • the receiving apparatus updates the external value ratio using the minimum value, the information about the column, and the total product of the codes. That is, when updating a plurality of external value ratios included in one row, the receiving apparatus reduces the processing amount of the check node process by collectively executing processes common to them.
  • FIG. 1 shows a configuration of a communication system according to an 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 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 thereto.
  • 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.
  • a min-sum algorithm is executed as the decoding process.
  • the min-sum algorithm is executed in 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. 3. 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, for example.
  • 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 and a variable node processing unit 58, and the check node processing unit 56 includes an initialization unit 60, a derivation unit 62, and an update unit 64.
  • 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 min-sum processing unit 46 inputs demodulated data from the data storage unit 44.
  • the min-sum processing unit 46 executes a min-sum algorithm on the demodulated data.
  • the check node processing unit 56 and the variable node processing unit 58 are executed alternately.
  • FIG. 4 is a Tanner graph schematically showing the operation of the decoding unit 28.
  • b1 to b8 are called variable nodes
  • c1 to c4 are called check nodes.
  • the number of variable nodes is n
  • bn is the nth variable node.
  • the number of check nodes is m
  • cm is 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.
  • the check node processing unit 56 initializes the prior value ratio ⁇ at the beginning of iterative decoding. Here, the demodulated data stored in the data storage unit 44 is used as it is. Next, the check node processing unit 56 obtains a minimum value min
  • of the absolute value of the prior value ratio. The check node processing unit 56 updates the external value ratio ⁇ mn from cm to bm with the variable node connected to the check node. The calculation of ⁇ mn is performed as follows for all pairs (m, n) satisfying the check matrix Hmn 1.
  • FIG. 5 shows an outline of the external value ratio update operation in the decoding unit 28.
  • the external value ratio ⁇ 11 is derived from ⁇ 11 ′. That is, the check node processing unit 56 updates the external value ratio based on the prior value ratio.
  • of the absolute value of the prior value ratio is derived for each iteration.
  • the variable node processing unit 58 updates the prior value ratio ⁇ mn from bn to cm between ⁇ mn and the check node connected to the variable node.
  • ⁇ mn ⁇ m′n + ⁇ n (2)
  • ⁇ n is equal to the input data yn.
  • the input data yn corresponds to demodulated data from the demodulator 26.
  • M ′ is B (n) ⁇ m: B (n) is a check node set connected to the variable node n, and ⁇ m is a difference set not including m.
  • FIG. 6 shows an outline of the prior value ratio update operation in the decoding unit 28.
  • the prior value ratio ⁇ 11 is derived from ⁇ 1′1. That is, the variable node processing unit 58 updates the prior value ratio based on the external value ratio.
  • 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.
  • the control unit 42 controls the operation timing of the min-sum processing unit 46.
  • the expression (1) of the check node processing unit 56 repeats the calculation according to the number of 1 in each row of the check matrix
  • the expression (2) of the variable node processing unit 58 repeats the calculation according to the number of 1 in each column. That is, in the check node process, as shown in the equation (1), the m-th row of the parity check matrix updates the nth (column index is n) external value ratio ⁇ mn whose element is 1, and the variable node process Updates the prior value ratio ⁇ mn as shown in equation (2).
  • simplifying the calculation corresponds to simply executing Expression (1), and simplification of Expression (1) is required to increase the processing speed of LDPC decoding. Below, simplification of Formula (1) is demonstrated.
  • the initialization unit 60 executes initialization in the check node process. There are two types of initialization: (1) initialization before iterative decoding and (2) initialization of processing in units of rows. (1) As initialization before the iterative decoding, the initialization unit 60 sets the data y1 to y8 stored in the data storage unit 44 of FIG. 3 to the prior value ratio ⁇ mn.
  • the initialization of the processing in units of rows corresponds to the processing until the check node processing of each row in the LDPC coding check matrix is started.
  • the initialization unit 60 specifies the minimum value ⁇ tmp of the absolute value of the prior value ratio included in the row to be processed.
  • the initialization unit 60 identifies the column Nmin in which the absolute value minimum ⁇ tmp of the identified prior value ratio is arranged.
  • the column corresponds to the aforementioned column index.
  • the initialization unit 60 stores the absolute value ⁇ tmp of the prior value ratio and the column index Nmin in the data storage unit 44 of FIG.
  • the initialization unit 60 derives a total product SIGNtmp of codes of the prior value ratio ⁇ mn included in the row to be processed.
  • the initialization unit 60 also stores the code total product SIGNtmp in the data storage unit 44.
  • the initialization unit 60 specifies “2” as the minimum absolute value ⁇ tmp of the prior value ratio and specifies “3” as the corresponding column index Nmin.
  • the initialization unit 60 derives “minus ( ⁇ )” as the total product SIGNtmp of the code. Note that the total product SIGNtmp of the code is derived as the total product of the codes of the prior value ratio, but may instead be derived by other operations such as exclusive OR of the codes.
  • the deriving unit 62 derives ( ⁇ sign ( ⁇ mn ′)) and min
  • the derivation unit 62 identifies, in the initialization unit 60, a column in which the unused prior value ratio ⁇ mn is arranged for updating the external value ratio ⁇ mn with respect to one external value ratio ⁇ mn in the row to be processed. It is confirmed whether or not the column index Nmin is the same.
  • the unused prior value ratio ⁇ mn for updating the external value ratio ⁇ mn is a prior value ratio having the same column index “n” as the external value ratio ⁇ mn.
  • the prior value ratio that is not used for updating is “ ⁇ 11”.
  • the prior value ratios that are not used for updating are “ ⁇ 12”, “ ⁇ 13”, and “ ⁇ 14”.
  • the deriving unit 62 determines a value other than the minimum value ⁇ tmp of the absolute value of the prior value ratio specified in the initializing unit 60 (hereinafter, for convenience of explanation, this value is also referred to as “minimum absolute value of the prior value ratio” Value ⁇ tmp ”). In the above example, when “ ⁇ 13”, “3” is derived as ⁇ tmp. On the other hand, if different, the derivation unit 62 specifies the absolute value ⁇ tmp of the absolute value of the prior value ratio specified by the initialization unit 60. In the above example, ⁇ tmp “2” is specified when “ ⁇ 11”, “ ⁇ 12”, and “ ⁇ 14”.
  • the deriving unit 62 derives a code based on the code of the prior value ratio ⁇ mn that is not used for updating the external value ratio ⁇ mn and the total product SIGNtmp of the code derived by the initialization unit 60.
  • the sign of the prior value ratio ⁇ mn that is not used for updating is “minus ( ⁇ )”, “plus (+)”.
  • the total product sign SIGNtmp is “minus ( ⁇ )”. Therefore, for “ ⁇ 11”, “ ⁇ 12”, “ ⁇ 13”, “ ⁇ 14”, the signs are “plus (+)”, “minus ( ⁇ )”, “plus (+)”, “plus (+)”. "become.
  • the deriving unit 62 outputs the absolute value minimum value ⁇ tmp and the sign of the prior value ratio to the updating unit 64.
  • the update unit 64 updates the external value ratio ⁇ mn of one of the rows to be processed using the absolute value ⁇ tmp and the sign of the absolute value of the prior value ratio derived by the derivation unit 62. Furthermore, the derivation unit 62 sequentially updates the external value ratio ⁇ mn in the row.
  • the derived ⁇ may be multiplied by a constant (normalized constant) smaller than 1 to correspond to the normalized min-sum decoding.
  • FIG. 7 is a flowchart showing a decoding procedure by the decoding unit 28.
  • the initialization unit 60 initializes the prior value ratio ⁇ (S10). If it is the head of a line (Y of S12), the initialization part 60 will perform an initialization process (S14) and will return to step 12. If it is not the top of the row (N in S12), and if the column is not Nmin (N in S16), the derivation unit 62 and the update unit 64 update the external value ratio ⁇ mn using ⁇ tmp (S18). If the column is Nmin (Y in S16), the derivation unit 62 and the update unit 64 select another ⁇ and update the external value ratio ⁇ mn (S20).
  • variable node processing unit 58 executes variable node processing (S26).
  • FIG. 8 is a flowchart showing another decoding procedure by the decoding unit 28. This corresponds to a case where variable node processing is executed for each row processing.
  • the initialization unit 60 initializes the prior value ratio ⁇ (S50). If it is the head of the line (Y in S52), the initialization unit 60 executes the initialization process (S54) and returns to step 52. If it is not the head of the row (N in S52), if the column is not Nmin (N in S56), the derivation unit 62 and the updating unit 64 update the external value ratio ⁇ mn using ⁇ tmp (S58).
  • the deriving unit 62 and the updating unit 64 select another ⁇ and update the external value ratio ⁇ mn (S60). If one line is not completed (N in S62), the process returns to step 52. If one line has been completed (Y in S62), the variable node processing unit 58 executes variable node processing (S64). If the last line has not ended (N in S66), the process returns to step 52. If the last line ends (Y in S66), the process ends.
  • the total product of the codes of the prior value ratios included in the processing target row is derived, and the total value is derived for the derivation of each external value ratio. Since the product is used, the calculation of the total product of the codes can be omitted when deriving each external value ratio. In addition, since the calculation of the total product of the codes is omitted when deriving each external value ratio, the amount of calculation can be reduced. Moreover, since the minimum value of the absolute value of the prior value ratio specified in advance is used for updating the external value ratio, the derivation of the minimum value of the absolute value of the prior value ratio can be omitted.
  • the amount of calculation can be reduced.
  • a value other than the minimum value is derived only when the column in which an unused prior value ratio is arranged for updating of the external value ratio and the column index specified in advance are the same, otherwise specified in advance. Since the minimum value is used, the amount of calculation can be reduced. In addition, since the amount of calculation is reduced, simplification of the min-sum algorithm can be realized. Further, if the column index is not Nmin, the calculation in the check node process can be avoided. In addition, the number of additions and multiplications can be reduced to about 1 ⁇ 4 compared to the case where the check node processing operation is executed as it is.
  • 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 amount of computation in min-sum decoding can be reduced.

Landscapes

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

Abstract

 min-sum処理部46は、入力したデータに対して、min-sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを交互に実行する。ここで、初期化部60は、LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、処理対象の行に含まれた事前値比の符号の総積を導出する。導出部62は、処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比の符号と、導出した符号の総積とをもとに、符号を導出する。更新部64は、導出した符号を使用して、処理対象の行のうちのひとつの外部値比を更新する。

Description

復号装置および復号方法
 本発明は、復号技術に関し、特にLDPCによる符号化がなされたデータを復号する復号装置および復号方法に関する。
 近年、低S/Nの伝送路でも強力な誤り訂正能力をもつ誤り訂正符号として、LDPC(Low Density Parity Check Code)が注目され、多くの分野で適用されている。LDPCでは、送信側において、疎な検査行列をもとに生成される符号化行列によって、データが符号化される。ここで、疎な検査行列とは、要素が1または0からなる行列であって、1の数が少ない行列である。一方、受信側において、検査行列をもとにして、データの復号とパリティ検査とがなされる。特に、BP(Belief Propagation)法等による繰り返し復号によって復号性能が向上する。
 この復号では、検査行列の行方向に復号するチェックノード処理と、列方向に復号する変数ノード処理とを繰り返し実行する。チェックノード処理のひとつとして、Gallager関数や双曲線関数を用いるsum-product復号が知られている。sum-product復号では、伝送路ノイズの分散値から求まる通信路値を事前値として使用する。sum-product復号を簡略化した復号方法が、min-sum復号である。min-sum復号は、複雑な関数を用いることなく、比較演算、和演算等の簡単な処理だけでチェックノード処理を行うことが可能である。さらに、min-sum復号は、通信路値を必要としないので、処理の簡略化、高速化のために広く用いられている。min-sum復号の回路規模を削減するために、検査行列の各行での事前値比の最小値と次に小さな値を使用することが提案されている(例えば、特許文献1参照)。
特開2010-28408号公報
 検査行列の各行での事前値比の最小値を導出する処理は、非常に簡単な回路によって実現される。次に小さな値を導出するためには、最小値を導出した後、再度最小値を探索したり、ふたつのメモリを備え、両方の値と入力値を比べながらメモリの入れ替え処理を行ったりする必要があり、回路が複雑になる。そのため、min-sum復号における演算量を低減させることが要求される。
 本発明はこうした状況に鑑みてなされたものであり、その目的は、min-sum復号における演算量を低減させる技術を提供することにある。
 上記課題を解決するために、本発明のある態様の復号装置は、LDPC符号化がなされたデータを入力する入力部と、入力部において入力したデータに対して、min-sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを交互に実行する復号部とを備える。復号部は、LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、処理対象の行に含まれた事前値比の符号の総積を導出する初期化部と、処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比の符号と、初期化部において導出した符号の総積とをもとに、符号を導出する導出部と、導出部において導出した符号を使用して、処理対象の行のうちのひとつの外部値比を更新する更新部と、を備える。
 この態様によると、各行のチェックノード処理を開始するまでに、処理対象の行に含まれた事前値比の符号の総積を導出しておき、各外部値比の導出に符号の総積を使用するので、演算量を低減できる。
 初期化部は、処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定し、導出部は、外部値比の更新に未使用の事前値比が配置された列と、初期化部において特定した列とが異なる場合、初期化部において特定した事前値比の絶対値の最小値を更新部に使用させてもよい。この場合、予め特定した事前値比の絶対値の最小値を外部値比の更新に使用するので、事前値比の絶対値の最小値の導出を省略できる。
 本発明の別の態様もまた、復号装置である。この装置は、LDPC符号化がなされたデータを入力する入力部と、入力部において入力したデータに対して、min-sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを交互に実行する復号部とを備える。復号部は、LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定する初期化部と、処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比が配置された列と、初期化部において特定した列とが同一である場合、初期化部において特定した事前値比の絶対値の最小値以外の値を導出する導出部と、導出部において導出した値を使用して、処理対象の行のうちのひとつの外部値比を更新する更新部とを備える。導出部は、外部値比の更新に未使用の事前値比が配置された列と、初期化部において特定した列とが異なる場合、初期化部において特定した事前値比の絶対値の最小値を更新部に使用させる。
 この態様によると、外部値比の更新に未使用の事前値比が配置された列と、予め特定した列とが同一である場合だけ最小値以外の値を導出し、それ以外であれば、予め特定した最小値を使用するので、演算量を低減できる。
 本発明のさらに別の態様は、復号方法である。この方法は、LDPC符号化がなされたデータを入力するステップと、入力したデータに対して、min-sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを交互に実行するステップとを備える。実行するステップは、LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、処理対象の行に含まれた事前値比の符号の総積を導出するステップと、処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比の符号と、導出した符号の総積とをもとに、符号を導出するステップと、導出した符号を使用して、処理対象の行のうちのひとつの外部値比を更新するステップと、を備える。
 処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定するステップと、外部値比の更新に未使用の事前値比が配置された列と、特定した列とが異なる場合、特定した事前値比の絶対値の最小値を更新するステップに使用させるステップと、をさらに備えてもよい。
 本発明のさらに別の態様もまた、復号方法である。この方法は、LDPC符号化がなされたデータを入力するステップと、入力したデータに対して、min-sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを交互に実行するステップとを備える。実行するステップは、LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定するステップと、処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比が配置された列と、特定した列とが同一である場合、特定した事前値比の絶対値の最小値以外の値を導出するステップと、導出した値を使用して、処理対象の行のうちのひとつの外部値比を更新するステップとを備える。導出するステップは、外部値比の更新に未使用の事前値比が配置された列と、特定した列とが異なる場合、特定した事前値比の絶対値の最小値を更新するステップに使用させる。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
 本発明によれば、min-sum復号における演算量を低減できる。
本発明の実施例に係る通信システムの構成を示す図である。 図1のLDPC符号化部において使用される検査行列を示す図である。 図1の復号部の構成を示す図である。 図3の復号部の動作を模式的に表したタナーグラフを示す図である。 図3の復号部における外部値比更新動作の概要を示す図である。 図3の復号部における事前値比更新動作の概要を示す図である。 図3の復号部による復号手順を示すフローチャートである。 図3の復号部による別の復号手順を示すフローチャートである。
 本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例は、LDPC符号化を実行する送信装置と、送信装置において符号化されたデータ(以下、「符号化データ」という)に対して検査行列をもとに繰り返し復号を実行する受信装置とを含む通信システムに関する。特に、受信装置は、min-sumアルゴリズムを実行する。min-sunアルゴリズムは、チェックノード処理と変数ノード処理とを含んでいるが、チェックノード処理の方が変数ノード処理よりも複雑な処理である。そのため、チェックノード処理を簡易にすることによって、min-sumアルゴリズムの処理を簡易にすることが望まれる。これに対応するために、本実施例に係る通信システムは、次の処理を実行する。
 受信装置は、検査行列の各行に対してチェックノード処理を開始するまでに、処理対象となる行に含まれた事前値比の中から、事前値比の絶対値の最小値を特定するとともに、当該最小値が配置された列も特定する。さらに、受信装置は、事前値比の符号の総積を導出する。受信装置は、最小値、列に関する情報、符号の総積を使用して、外部値比を更新する。つまり、受信装置は、ひとつの行に含まれる複数の外部値比を更新する際に、それらに共通した処理を予めまとめて実行することによって、チェックノード処理の処理量を削減する。
 図1は、本発明の実施例に係る通信システムの構成を示す。通信システム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アルゴリズムは、次の手順で実行される。
1.初期化:事前値比を初期化し、最大復号繰り返し回数を設定する。
2.チェックノード処理:検査行列の行方向に対して外部値比を更新する。
3.変数ノード処理:検査行列の列方向に対して事前値比を更新する。
4.一時推定語を計算する。
 復号部28は、復号結果(以下、「復号データ」という)を情報データ出力部30へ出力する。情報データ出力部30は、復号部28からの復号データを入力する。情報データ出力部30は、復号データをもとに情報データを生成する。なお、復号データがそのまま情報データとされてもよい。情報データ出力部30は、外符号復号部を含み、例えばCRC等の外符号を復号してもよい。
 この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
 図3は、復号部28の構成を示す。復号部28は、フレーム構成部40、制御部42、データ記憶部44、min-sum処理部46、復号結果演算部48を含む。また、min-sum処理部46は、チェックノード処理部56、変数ノード処理部58を含み、チェックノード処理部56は、初期化部60、導出部62、更新部64を含む。
 フレーム構成部40は、図示しない復調部26からの復調データを入力する。復調データは、通信路を介してのLDPC符号化がなされたデータといえる。フレーム構成部40は、復調データに含まれたフレーム同期信号を検出する。フレーム構成部40は、フレーム同期信号をもとに、復調データによって形成されるフレームの単位を特定する。例えば、フレームの先頭部分にフレーム同期信号が配置され、かつフレームの期間が固定長である場合、フレーム構成部40は、フレーム同期信号を検出してから固定長の期間をフレームと特定する。なお、LDPC符号化の単位がフレームであってもよい。フレーム構成部40は、フレーム単位にまとめた復調データをデータ記憶部44に記憶させる。データ記憶部44は、フレーム単位で復調信号を一時的に記憶する。
 min-sum処理部46は、データ記憶部44からの復調データを入力する。min-sum処理部46は、復調データに対してmin-sumアルゴリズムを実行する。min-sumアルゴリズムでは、チェックノード処理部56と変数ノード処理部58とが交互に実行される。図4は、復号部28の動作を模式的に表したタナーグラフを示す。タナーグラフでは、b1からb8が変数ノードと呼ばれ、c1からc4がチェックノードと呼ばれる。ここでは、変数ノードの数をnとし、bnをn番目の変数ノードとする。また、チェックノードの数をmとし、cmをm番目のチェックノードとする。変数ノードb1からb8には、図3のデータ記憶部44に蓄えられたデータy1からy8が接続されている。図3に戻る。
 チェックノード処理部56は、繰り返し復号の最初に事前値比βを初期化する。ここでは、データ記憶部44に記憶された復調データがそのまま使用される。次に、チェックノード処理部56は、事前値比の絶対値の最小値min|βmn’|を求める。チェックノード処理部56は、チェックノードにつながる変数ノードとの間で、cmからbmへの外部値比αmnを更新させる。αmnの計算は、検査行列Hmn=1を満たすすべての組(m、n)について、次のようになされる。
   αmn=a(Πsign(βmn’))・min|βmn’|・・・(1)
 ここで、n’はA(m)\n :A(m)はチェックノードmに接続する変数ノード集合で、\nはnを含まない差集合を示す。また、signはシグネチャ関数、min|βmn’|は絶対値の最小値選択を示す。ここで、aは正規化定数である。図5は、復号部28における外部値比更新動作の概要を示す。外部値比α11は、β11’から導出される。つまり、チェックノード処理部56は、事前値比をもとに外部値比を更新させる。図3に戻る。事前値比の絶対値の最小値min|βmn’|の導出は、繰り返しごとになされる。
 変数ノード処理部58は、αmnから変数ノードにつながるチェックノードとの間で、bnからcmへの事前値比βmnを更新する。βmnの計算は、検査行列Hmn=1を満たすすべての組(m、n)について、次のようになされる。
   βmn=Σαm’n+λn・・・・(2)
 ここで、λnは、入力データynに等しい。入力データynは、復調部26からの復調データに相当する。また、m’はB(n)\m:B(n)は変数ノードnに接続するチェックノード集合で、\mはmを含まない差集合を示す。図6は、復号部28における事前値比更新動作の概要を示す。事前値比β11は、α1’1から導出される。つまり、変数ノード処理部58は、外部値比をもとに事前値比を更新させる。図3に戻る。
 復号結果演算部48は、チェックノード処理部56での処理と変数ノード処理部58での処理とが所定回数繰り返された後、一時推定語を計算する。なお、復号結果演算部48は、所定回数繰り返される前であっても、パリティ検査の結果が正しければ一時推定語を計算してもよい。復号結果演算部48は、一時推定語を復号結果として出力する。制御部42は、min-sum処理部46の動作タイミングを制御する。
 チェックノード処理部56の式(1)は、検査行列の各行の1の数によって演算を繰り返し、変数ノード処理部58の式(2)は、各列の1の数によって演算を繰り返す。つまり、チェックノード処理は、式(1)に示したように、検査行列のm行目において、要素が1であるn番目(列インデックスがn)の外部値比αmnを更新し、変数ノード処理は式(2)に示したように、事前値比βmnを更新する。チェックノード処理について、演算を簡略化することは、式(1)を簡単に実行することに相当し、LDPC復号の処理速度を上げるためには式(1)の簡略化が求められる。以下では、式(1)の簡略化について説明する。
 初期化部60は、チェックノード処理における初期化を実行する。初期化には2種類あり、(1)繰り返し復号前の初期化と(2)行単位の処理の初期化である。(1)繰り返し復号前の初期化として、前述のごとく、初期化部60は、図3のデータ記憶部44に蓄えられたデータy1からy8を事前値比βmnに設定する。
 (2)行単位の処理の初期化は、LDPC符号化の検査行列における各行のチェックノード処理を開始するまでの処理に相当する。初期化部60は、処理対象の行に含まれた事前値比の絶対値の最小値βtmpを特定する。また、初期化部60は、特定した事前値比の絶対値の最小値βtmpが配置された列Nminを特定する。ここで、列は、前述の列インデックスに相当する。初期化部60は、事前値比の絶対値の最小値βtmpと列インデックスNminを図3のデータ記憶部44に記憶する。さらに、初期化部60は、処理対象の行に含まれた事前値比βmnの符号の総積SIGNtmpを導出する。初期化部60は、符号の総積SIGNtmpもデータ記憶部44に記憶する。
 ここでは、1行目に対して初期化を実行する場合を具体的に説明する。その際、図4のごとく、チェックノードはC1である。また、β11=-3、β12=4、β13=-2、β14=-5であるとする。初期化部60は、事前値比の絶対値の最小値βtmpとして「2」を特定し、それに対応した列インデックスNminとして「3」を特定する。また、初期化部60は、符号の総積SIGNtmpとして「マイナス(-)」を導出する。なお、符号の総積SIGNtmpは事前値比の符号の総積で導出されているが、その代わりに、符号の排他的論理和等、他の演算によって導出されてもよい。
 導出部62は、処理対象の行のうちのひとつの外部値比に対して、式(1)の(Πsign(βmn’))とmin|βmn’|とを導出する。さらに、導出部62は、行内において、外部値比を順次変更していく。導出部62は、処理対象の行のうちのひとつの外部値比αmnに対して、当該外部値比αmnの更新に未使用の事前値比βmnが配置された列と、初期化部60において特定した列インデックスNminとが同一であるか否かを確認する。ここで、当該外部値比αmnの更新に未使用の事前値比βmnとは、当該外部値比αmnと同一の列インデックス「n」を有した事前値比である。例えば、処理対象の行のうちのひとつの外部値比が「α11」である場合、更新に未使用の事前値比は「β11」である。同様に、「α12」、「α13」、「α14」に対して、更新に未使用の事前値比は「β12」、「β13」、「β14」である。
 同一である場合、導出部62は、初期化部60において特定した事前値比の絶対値の最小値βtmp以外の値(以下では、説明の便宜上、この値も「事前値比の絶対値の最小値βtmp」という)を導出する。前述の例では、「α13」のときに、βtmpとして「3」が導出される。一方、異なる場合、導出部62は、初期化部60において特定した事前値比の絶対値の最小値βtmpを特定する。前述の例では、「α11」、「α12」、「α14」のときに、βtmp「2」が特定される。
 さらに、導出部62は、当該外部値比αmnの更新に未使用の事前値比βmnの符号と、初期化部60において導出した符号の総積SIGNtmpとをもとに、符号を導出する。前述の例では、「α11」、「α12」、「α13」、「α14」に対して、更新に未使用の事前値比βmnの符号は、「マイナス(-)」、「プラス(+)」、「マイナス(-)」、「マイナス(-)」である。また、符号の総積SIGNtmpは、「マイナス(-)」である。そのため、「α11」、「α12」、「α13」、「α14」に対して、符号は、「プラス(+)」、「マイナス(-)」、「プラス(+)」、「プラス(+)」になる。導出部62は、事前値比の絶対値の最小値βtmpと符号とを更新部64へ出力する。
 更新部64は、導出部62において導出した事前値比の絶対値の最小値βtmpと符号を使用して、処理対象の行のうちのひとつの外部値比αmnを更新する。さらに、導出部62は、行内において、外部値比αmnを順次更新していく。前述の例において、これまでの処理をまとめると次のようになる。「α11」の列インデックスは「1」であり、Nmin=3とは異なるので、「α11」は、符号の総積「SIGNtmp」の「-」に「β11」の符号マイナスを乗じた「プラス(+)」と、「βtmp=2」とから、「+2」と導出される。「α12」の列インデックスは「2」であり、Nmin=3とは異なるので、「α12」は、符号の総積「SIGNtmp」の「-」に「β12」の符号プラスを乗じた「マイナス(-)」と、「βtmp=2」とから、「-2」と導出される。
 「α13」の列インデックスは「3」であり、Nminと等しいので、符号の総積「SIGNtmp」の「-」に「β12」の符号マイナスを乗じた「プラス(+)」と、通常の式(1)から演算された「3」とから、「3」と導出される。「α14」の列インデックスは「4」であり、Nmin=3とは異なるので、「α14」は、符号の総積「SIGNtmp」の「-」に「β14」の符号マイナスを乗じた「プラス(+)」と、「βtmp=2」とから、「+2」と導出される。その結果、α11、α12,α13、α14はそれぞれ+2、-2、+3、+2と導出される。
 なお、導出されたαには1より小さい常数(正規化常数)を乗じることによって、正規化min-sum復号に対応させてもよい。以上のように1行目のチェックノード処理が終了されると、2行目のチェックノード処理がなされてもよいし、1行目のチェックノード処理で更新された外部値比αを使用して変数ノード処理がなされてもよい。
 以上の構成による通信システム100の動作を説明する。図7は、復号部28による復号手順を示すフローチャートである。初期化部60は、事前値比βを初期化する(S10)。行の先頭であれば(S12のY)、初期化部60は、初期化処理を実行し(S14)、ステップ12に戻る。行の先頭でない場合(S12のN)、列がNminでなければ(S16のN)、導出部62、更新部64は、βtmpを使用して外部値比αmnを更新する(S18)。列がNminであれば(S16のY)、導出部62、更新部64は、別のβを選択して外部値比αmnを更新する(S20)。1行が終了していなければ(S22のN)、ステップ12に戻る。1行が終了し(S22のY)、最後の行が終了していなければ(S24のN)、ステップ12に戻る。最後の行が終了すれば(S24のY)、変数ノード処理部58は、変数ノード処理を実行する(S26)。
 図8は、復号部28による別の復号手順を示すフローチャートである。これは、変数ノード処理を行処理ごとに実行する場合に相当する。初期化部60は、事前値比βを初期化する(S50)。行の先頭であれば(S52のY)、初期化部60は、初期化処理を実行し(S54)、ステップ52に戻る。行の先頭でない場合(S52のN)、列がNminでなければ(S56のN)、導出部62、更新部64は、βtmpを使用して外部値比αmnを更新する(S58)。列がNminであれば(S56のY)、導出部62、更新部64は、別のβを選択して外部値比αmnを更新する(S60)。1行が終了していなければ(S62のN)、ステップ52に戻る。1行が終了していれば(S62のY)、変数ノード処理部58は、変数ノード処理を実行する(S64)。最後の行が終了していなければ(S66のN)、ステップ52に戻る。最後の行が終了すれば(S66のY)、処理は終了される。
 本発明の実施例によれば、各行のチェックノード処理を開始するまでに、処理対象の行に含まれた事前値比の符号の総積を導出しておき、各外部値比の導出に総積を使用するので、各外部値比を導出する際に符号の総積の演算を省略できる。また、各外部値比を導出する際に符号の総積の演算が省略されるので、演算量を低減できる。また、予め特定した事前値比の絶対値の最小値を外部値比の更新に使用するので、事前値比の絶対値の最小値の導出を省略できる。
 また、事前値比の絶対値の最小値の導出が省略されるので、演算量を低減できる。また、外部値比の更新に未使用の事前値比が配置された列と、予め特定した列インデックスとが同一である場合だけ最小値以外の値を導出し、それ以外であれば、予め特定した最小値を使用するので、演算量を低減できる。また、演算量が低減されるので、min-sumアルゴリズムの簡易化を実現できる。また、列インデックスがNminでなければ、チェックノード処理での演算を回避できる。また、チェックノード処理の演算をそのまま実行する場合と比較して、加算、乗算回数を1/4程度に低減できる。
 以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 本発明の実施例において、通信システム100は無線通信システムを前提としているので、送信装置10および受信装置12は、無線通信装置に含まれる。しかしながらこれに限らず例えば、通信システム100は有線通信システムを前提としてもよい。その際、送信装置10および受信装置12は、有線通信装置に含まれる。本変形例によれば、本発明をさまざまな装置に適用できる。
 10 送信装置、 12 受信装置、 20 情報データ生成部、 22 LDPC符号化部、 24 変調部、 26 復調部、 28 復号部、 30 情報データ出力部、 40 フレーム構成部、 42 制御部、 44 データ記憶部、 46 min-sum処理部、 48 復号結果演算部、 56 チェックノード処理部、 58 変数ノード処理部、 60 初期化部、 62 導出部、 64 更新部、 100 通信システム。
 本発明によれば、min-sum復号における演算量を低減できる。

Claims (6)

  1.  LDPC符号化がなされたデータを入力する入力部と、
     前記入力部において入力したデータに対して、min-sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを交互に実行する復号部とを備え、
     前記復号部は、
     LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、処理対象の行に含まれた事前値比の符号の総積を導出する初期化部と、
     処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比の符号と、前記初期化部において導出した符号の総積とをもとに、符号を導出する導出部と、
     前記導出部において導出した符号を使用して、処理対象の行のうちのひとつの外部値比を更新する更新部と、
     を備えることを特徴とする復号装置。
  2.  前記初期化部は、処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定し、
     前記導出部は、外部値比の更新に未使用の事前値比が配置された列と、前記初期化部において特定した列とが異なる場合、前記初期化部において特定した事前値比の絶対値の最小値を前記更新部に使用させることを特徴とする請求項1に記載の復号装置。
  3.  LDPC符号化がなされたデータを入力する入力部と、
     前記入力部において入力したデータに対して、min-sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを交互に実行する復号部とを備え、
     前記復号部は、
     LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定する初期化部と、
     処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比が配置された列と、前記初期化部において特定した列とが同一である場合、前記初期化部において特定した事前値比の絶対値の最小値以外の値を導出する導出部と、
     前記導出部において導出した値を使用して、処理対象の行のうちのひとつの外部値比を更新する更新部とを備え、
     前記導出部は、外部値比の更新に未使用の事前値比が配置された列と、前記初期化部において特定した列とが異なる場合、前記初期化部において特定した事前値比の絶対値の最小値を前記更新部に使用させることを特徴とする復号装置。
  4.  LDPC符号化がなされたデータを入力するステップと、
     入力したデータに対して、min-sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを交互に実行するステップとを備え、
     前記実行するステップは、
     LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、処理対象の行に含まれた事前値比の符号の総積を導出するステップと、
     処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比の符号と、導出した符号の総積とをもとに、符号を導出するステップと、
     導出した符号を使用して、処理対象の行のうちのひとつの外部値比を更新するステップと、
     を備えることを特徴とする復号方法。
  5.  処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定するステップと、
     外部値比の更新に未使用の事前値比が配置された列と、特定した列とが異なる場合、特定した事前値比の絶対値の最小値を前記更新するステップに使用させるステップと、
     をさらに備えることを特徴とする請求項4に記載の復号方法。
  6.  LDPC符号化がなされたデータを入力するステップと、
     入力したデータに対して、min-sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを交互に実行するステップとを備え、
     前記実行するステップは、
     LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定するステップと、
     処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比が配置された列と、特定した列とが同一である場合、特定した事前値比の絶対値の最小値以外の値を導出するステップと、
     導出した値を使用して、処理対象の行のうちのひとつの外部値比を更新するステップとを備え、
     前記導出するステップは、外部値比の更新に未使用の事前値比が配置された列と、特定した列とが異なる場合、特定した事前値比の絶対値の最小値を前記更新するステップに使用させることを特徴とする復号方法。
PCT/JP2011/006038 2010-10-29 2011-10-28 復号装置および復号方法 WO2012056712A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201180052472.6A CN103190079B (zh) 2010-10-29 2011-10-28 解码装置及解码方法
US13/871,858 US9143165B2 (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-244691 2010-10-29
JP2010244691A JP5370337B2 (ja) 2010-10-29 2010-10-29 復号装置および復号方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/871,858 Continuation US9143165B2 (en) 2010-10-29 2013-04-26 Decoding apparatus and decoding method for decoding LDPC-encoded data

Publications (1)

Publication Number Publication Date
WO2012056712A1 true WO2012056712A1 (ja) 2012-05-03

Family

ID=45993456

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/006038 WO2012056712A1 (ja) 2010-10-29 2011-10-28 復号装置および復号方法

Country Status (4)

Country Link
US (1) US9143165B2 (ja)
JP (1) JP5370337B2 (ja)
CN (1) CN103190079B (ja)
WO (1) WO2012056712A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417937B2 (en) 2013-03-28 2019-09-17 F. Hoffmann-La Roche Ag Training device for medicine injection devices and reset device for resetting such a training device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5365601B2 (ja) * 2010-09-30 2013-12-11 株式会社Jvcケンウッド 復号装置および復号方法
US9391647B2 (en) * 2014-07-18 2016-07-12 Storart Technology Co., Ltd. Decoder and decoding method thereof for min-sum algorithm low density parity-check code
KR20180009558A (ko) * 2016-07-19 2018-01-29 삼성전자주식회사 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005269535A (ja) * 2004-03-22 2005-09-29 Sumitomo Electric Ind Ltd 復号装置および前処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100983692B1 (ko) * 2005-07-13 2010-09-24 미쓰비시덴키 가부시키가이샤 통신 장치 및 복호 방법
WO2007018066A1 (ja) * 2005-08-10 2007-02-15 Mitsubishi Electric Corporation 検査行列生成方法、符号化方法、復号方法、通信装置、通信システム、符号化器および復号器
JP2010028408A (ja) * 2008-07-18 2010-02-04 Sony Corp 情報処理装置、情報処理方法、およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005269535A (ja) * 2004-03-22 2005-09-29 Sumitomo Electric Ind Ltd 復号装置および前処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HIRONORI UCHIKAWA ET AL.: "Complexity-reducing Algorithm for Serial Min-sum Decoding", IEICE TECHNICAL REPORT. INFORMATION THEORY, vol. 108, no. ISSUE, 4 September 2008 (2008-09-04), pages 49 - 54 *
JUN LIN ET AL.: "An improved min-sum based column-layered decoding algorithm for LDPC codes", PROCEEDINGS OF THE IEEE WORKSHOP ON SIGNAL PROCESSING SYSTEMS, 2009. SIPS 2009, 7 October 2009 (2009-10-07), pages 238 - 242 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417937B2 (en) 2013-03-28 2019-09-17 F. Hoffmann-La Roche Ag Training device for medicine injection devices and reset device for resetting such a training device

Also Published As

Publication number Publication date
CN103190079A (zh) 2013-07-03
JP2012099971A (ja) 2012-05-24
US9143165B2 (en) 2015-09-22
JP5370337B2 (ja) 2013-12-18
US20130246882A1 (en) 2013-09-19
CN103190079B (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
JP4062435B2 (ja) 誤り訂正符号復号装置
JP2012151676A (ja) 復号装置および復号方法
CN109891753B (zh) 用于编码和译码ldpc码的方法和装置
CN101032082B (zh) 编码和解码数据的方法和设备
US8132080B2 (en) Communication apparatus and decoding method
US7203897B2 (en) Method and apparatus for encoding and decoding data
EP3110009A1 (en) Encoding method, decoding method, encoding device and decoding device for structured ldpc
US20110179333A1 (en) Lower-complexity layered belief propagation decoding ldpc codes
EP1790082B1 (en) Method and apparatus for encoding and decoding data
WO2017080249A1 (zh) 生成用于在信道中传输的低密度奇偶校验码的方法及设备
US9755666B2 (en) Adaptive desaturation in min-sum decoding of LDPC codes
JP2008514106A (ja) Ldpcコードを用いた符号化及び復号化方法
JP2012151839A (ja) ユークリッド空間リード−マラー符号の軟判定復号を実行する方法
US10084480B1 (en) Systems and methods for decoding cascade LDPC codes
WO2012056712A1 (ja) 復号装置および復号方法
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
US8327215B2 (en) Apparatus and method for encoding LDPC code using message passing algorithm
JP5310701B2 (ja) 復号装置および復号方法
JP2006060695A (ja) 情報復号方法、情報符号化方法、情報通信方法、情報復号装置、送信装置及び情報通信システム
US11218166B1 (en) Early convergence for decoding of LDPC codes
WO2012042786A1 (ja) 復号装置および復号方法
JP5772622B2 (ja) 復号装置および復号方法
KR20110114204A (ko) 저밀도 패리티 체크 부호화 방법 및 이를 이용하는 저밀도 패리티 체크 인코더
EP3526899B1 (en) Decoding of low-density parity-check convolutional turbo codes
JP2013150193A (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: 11835856

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

Country of ref document: EP

Kind code of ref document: A1