JP2012124888A - Decoder and decoding method - Google Patents

Decoder and decoding method Download PDF

Info

Publication number
JP2012124888A
JP2012124888A JP2011239657A JP2011239657A JP2012124888A JP 2012124888 A JP2012124888 A JP 2012124888A JP 2011239657 A JP2011239657 A JP 2011239657A JP 2011239657 A JP2011239657 A JP 2011239657A JP 2012124888 A JP2012124888 A JP 2012124888A
Authority
JP
Japan
Prior art keywords
node processing
probability
check
check node
updated
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2011239657A
Other languages
Japanese (ja)
Inventor
Makoto Hamaminato
真 濱湊
Shinpei Yoshikawa
晋平 吉川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011239657A priority Critical patent/JP2012124888A/en
Publication of JP2012124888A publication Critical patent/JP2012124888A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an LDPC decoder that has a memory with reduced capacity for storing probability messages.SOLUTION: A decoder includes: a bit node processing unit which performs bit node processing in decoding processing of a cyclic-type LDPC code for each one-column block of a check matrix, and based on a probability message α in a one-column block, updates all probability messages β in the one-column block; and a check node processing unit which performs sequentially and in stages calculation of check node processing of one row in calculation of check node processing of each row of the check matrix based on one probability message β updated whenever one probability message β in the one row is updated, and sequentially outputs a probability message α after update in the one row after all probability messages β in the one row have been updated.

Description

本願開示は、一般に復号装置及び復号方法に関し、詳しくはLDPC符号を復号する復号装置及び復号方法に関する。   The present disclosure relates generally to a decoding device and a decoding method, and more particularly to a decoding device and a decoding method for decoding an LDPC code.

LDPC(Low Density Parity Check:低密度パリティ検査)符号を用いた送受信方式では、誤り訂正を行うために、0の数に比べて1の数が非常に少ない低密度な検査行列Hが用いられる。送信信号Txは、送信側においてH×Tx=0となるようにして送信している。従って送信した信号が受信側で正しく受信された場合には、受信信号RxはH×Rx=0という条件を満たすことになる。このH×Rxという計算をパリティ検査と呼ぶ。   In a transmission / reception method using an LDPC (Low Density Parity Check) code, a low-density check matrix H in which the number of 1s is much smaller than the number of 0s is used to perform error correction. The transmission signal Tx is transmitted so that H × Tx = 0 on the transmission side. Therefore, when the transmitted signal is correctly received on the receiving side, the received signal Rx satisfies the condition of H × Rx = 0. This calculation of H × Rx is called a parity check.

受信側では、LDPC復号化を行なうLDPC復号器を用いて、復号された符号語RxがH×Rx=0となるように誤り訂正を行う。これにより誤り訂正後の受信信号が得られる。LDPC復号処理では、受信信号の確率的な信頼度情報から算出した確率情報を更新していくことにより、パリティ検査結果がゼロになるような受信信号を求める。LDPC復号アルゴリズムとして、良好な訂正能力を持つNormalized Min-sumアルゴリズムが一般的に用いられる。   On the receiving side, using an LDPC decoder that performs LDPC decoding, error correction is performed so that the decoded codeword Rx becomes H × Rx = 0. As a result, a received signal after error correction is obtained. In the LDPC decoding process, the probability information calculated from the probabilistic reliability information of the received signal is updated to obtain a received signal with a parity check result of zero. As the LDPC decoding algorithm, a Normalized Min-sum algorithm having a good correction capability is generally used.

図1は、検査行列とNormalized Min-sumアルゴリズムで用いる確率メッセージとの関係を示す図である。図1に示す検査行列Hは、3×3の単位行列もしくはその巡回行列をブロック(部分行列)として持つ、2行ブロック×3列ブロックの巡回型検査行列である。Normalized Min-sumアルゴリズムでは、検査行列Hの各要素のうちで、値が1である全ての要素の一つ一つに対して、確率メッセージαと確率メッセージβとが定義される。図1に示す例では、確率メッセージα及びβの添字mnは、mが検査行列の行を示し、nが検査行列の列ブロックを示す。即ち、例えばαmnは、m番目の行におけるn列目のブロックの確率メッセージαを示す。 FIG. 1 is a diagram illustrating a relationship between a parity check matrix and a probability message used in the Normalized Min-sum algorithm. The parity check matrix H shown in FIG. 1 is a 2-row block × 3-column block cyclic parity check matrix having a 3 × 3 unit matrix or a cyclic matrix thereof as a block (partial matrix). In the Normalized Min-sum algorithm, a probability message α and a probability message β are defined for each of all elements having a value of 1 among the elements of the check matrix H. In the example shown in FIG. 1, the subscripts mn of the probability messages α and β are such that m indicates a row of the check matrix and n indicates a column block of the check matrix. That is, for example, α mn indicates the probability message α of the block in the n-th column in the m-th row.

これらの確率メッセージを用いたチェックノード処理及びビットノード処理と呼ばれる2つの処理を繰り返すことで、受信信号の確率的な信頼度情報から算出した確率情報を更新していき、パリティ検査結果がゼロになるような受信信号を求める。具体的には、チェックノード処理は、確率メッセージβを用いて確率メッセージαを更新する。ビットノード処理は、受信信号から導出するLLR(Log-Likelihood Ratio対数尤度比)である事前確率λと確率メッセージαとを用いて、確率メッセージβを更新する。また同時にビットノード処理により、復号された符号語cが生成される。確率メッセージ更新後に、パリティ検査により、検査行列Hと復号された符号語cとの積(厳密にはHとcの転置行列との積)が0になるか否かを判定する。パリティ検査の結果が0となれば、検査が終了してcを復号結果として出力する。パリティ検査の結果が0でなければ、再度、確率メッセージα及び確率メッセージβの更新とその後のパリティ検査とを実行する。   By repeating two processes called check node processing and bit node processing using these probability messages, the probability information calculated from the probabilistic reliability information of the received signal is updated, and the parity check result becomes zero. Such a received signal is obtained. Specifically, the check node process updates the probability message α using the probability message β. In the bit node processing, the probability message β is updated using the prior probability λ and the probability message α which are LLR (Log-Likelihood Ratio) derived from the received signal. At the same time, a decoded code word c is generated by bit node processing. After updating the probability message, it is determined by parity check whether the product of the check matrix H and the decoded codeword c (strictly, the product of H and the transposed matrix of c) becomes zero. If the result of the parity check is 0, the check is completed and c is output as the decoding result. If the result of the parity check is not 0, the update of the probability message α and the probability message β and the subsequent parity check are performed again.

図2は、チェックノード処理及びビットノード処理を模式的に示す図である。チェックノード処理では一行内にある全てのβを用いて一行内にある全てのαを更新する。図2に示す6×9の検査行列の例では、第1行R1に対するチェックノード処理により、この第1行R1に含まれるβ1,1、β1,2、β1,3を用いてα1,1、α1,2、α1,3を更新する。以降同様にして、第2行乃至第6行に対するチェックノード処理を実行して、検査行列内の全てのαを更新する。全てのαを更新したら、次にビットノード処理を実行する。 FIG. 2 is a diagram schematically illustrating check node processing and bit node processing. In the check node process, all αs in one line are updated using all βs in one line. In the example of the 6 × 9 parity check matrix illustrated in FIG. 2, the check node processing for the first row R1 uses α 1,1 , β 1,2 , β 1,3 included in the first row R1 to obtain α 1,1 , α 1,2 and α 1,3 are updated. Thereafter, similarly, check node processing for the second to sixth rows is executed to update all α in the check matrix. After all α are updated, the bit node processing is executed next.

ビットノード処理では一列内にある全てのαを用いてβを更新する。図2に示す6×9の検査行列の例では、第1列C1に対するビットノード処理により、LLRと第1列C1に含まれるα1,1、α5,1とを用いてβ1,1、β5,1を更新する。以降同様にして、第2列乃至第9列に対するビットノード処理を実行して、検査行列内の全てのβを更新する。全てのβを更新したら、復号結果をパリティ検査し、パリティ検査の結果が0でなければ、再びチェックノード処理を実行する。 In the bit node processing, β is updated using all α in one column. In the example of the 6 × 9 parity check matrix illustrated in FIG. 2, β 1,1 using the LLR and α 1,1 and α 5,1 included in the first column C1 by the bit node processing for the first column C1. , Β 5,1 are updated. Thereafter, in the same manner, the bit node processing for the second column to the ninth column is executed, and all β in the parity check matrix are updated. When all βs are updated, the decoding result is subjected to parity check, and if the parity check result is not 0, check node processing is executed again.

上記のように、チェックノード処理及びビットノード処理を交互に実行すると、チェックノード処理又はビットノード処理により更新された確率メッセージα又はβを一時的に保存するためのメモリが必要となる。このメモリの容量は、「検査行列中の1の数」×「各メッセージのビット幅」分が必要になり、回路規模が大きくなってしまう。更には、メモリに対する書き込み及び読み出し処理によって、1反復処理に必要なサイクル数が大きくなってしまうという問題がある。   As described above, when the check node process and the bit node process are alternately executed, a memory for temporarily storing the probability message α or β updated by the check node process or the bit node process is required. The memory capacity needs to be “the number of 1s in the check matrix” × “the bit width of each message”, which increases the circuit scale. Furthermore, there is a problem that the number of cycles required for one iterative process becomes large due to the write and read processes to the memory.

なお一般的には、処理速度向上のために、上記のように一行単位及び一列単位でチェックノード処理及びビットノード処理を実行するのではなく、行ブロック及び列ブロック単位でチェックノード処理及びビットノード処理を実行する。例えば、図1の検査行列の場合であれば、チェックノード処理は3行ずつまとめて並列に実行し、ビットノード処理は3列ずつまとめて並列に実行する。しかしながらこのように並列処理をした場合であっても、チェックノード処理及びビットノード処理を交互に実行するのでは、各処理により更新された確率メッセージを一時的に保存するためのメモリが必要となってしまう。また更に並列度を上げたとしても、チェックノード処理及びビットノード処理を交互に実行する限りは同様にメモリが必要となってしまう。   In general, in order to improve the processing speed, check node processing and bit node processing are not performed in units of row blocks and column blocks, but check node processing and bit node processing are performed in units of row blocks and column units as described above. Execute the process. For example, in the case of the parity check matrix shown in FIG. 1, check node processing is executed in parallel for every three rows, and bit node processing is executed in parallel for every three columns. However, even when parallel processing is performed in this way, if check node processing and bit node processing are executed alternately, a memory for temporarily storing the probability message updated by each processing is required. End up. Even if the degree of parallelism is further increased, a memory is similarly required as long as check node processing and bit node processing are executed alternately.

なお特許文献1では、更新前のチェックノードメッセージと更新後のチェックノードメッセージとの差分からビットノード処理を行うことで、チェックノード処理とビットノード処理とを同時に行う方法を提案している。この方法では、従来手法よりはメッセージRAMの回路規模を削減可能であるが、更新前のチェックノードメッセージ用のRAMとSUM値用のメッセージRAMとが必要となってしまう。   Patent Document 1 proposes a method of performing check node processing and bit node processing at the same time by performing bit node processing from a difference between a check node message before update and a check node message after update. In this method, the circuit scale of the message RAM can be reduced as compared with the conventional method, but the RAM for the check node message and the message RAM for the SUM value before update are necessary.

特開2008−154298号公報JP 2008-154298 A 特開2007−89064号公報JP 2007-89064 A 特開2007−110265号公報JP 2007-110265 A 特開2007−20068号公報JP 2007-20068 A

以上を鑑みると、確率メッセージを格納するメモリが削減されたLDPC復号装置が望まれる。   In view of the above, an LDPC decoding device with a reduced memory for storing probability messages is desired.

復号装置は、巡回型LDPC符号の復号処理におけるビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき前記1列ブロック内の全ての確率メッセージβを更新するビットノード処理部と、前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力するチェックノード処理部とを含むことを特徴とする。   The decoding apparatus executes the bit node process in the decoding process of the cyclic LDPC code for each column block of the parity check matrix, and obtains all the probability messages β in the column block based on the probability message α in the column block. In the calculation of the check node processing for each row of the check matrix and the bit node processing unit to be updated, the check node processing calculation for one row is updated every time one probability message β in the one row is updated. Check node that sequentially performs stepwise based on the one probability message β and outputs the updated probability message α in the one row after all the probability messages β in the one row are updated And a processing unit.

復号方法は、巡回型LDPC符号の復号処理におけるビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき前記1列ブロック内の全ての確率メッセージβを更新し、前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力する各段階を含むことを特徴とする。   In the decoding method, the bit node process in the decoding process of the cyclic LDPC code is executed for each column block of the parity check matrix, and all the probability messages β in the column block are obtained based on the probability message α in the column block. In the calculation of the check node processing of each row of the check matrix, the calculation of the check node processing of one row is updated with one probability updated every time one probability message β in the one row is updated. The method includes performing each step sequentially based on the message β, and sequentially outputting the updated probability messages α in the one row after all the probability messages β in the one row are updated. And

本願開示の少なくとも1つの実施例によれば、各行のチェックノード処理の計算を、当該行中の1つの確率メッセージβが更新される毎に、この更新された1つの確率メッセージβに基づいて順次段階的に行なうことができる。従って、確率メッセージβを格納しておくメモリを削減又は削除できる。またチェックノード処理における確率メッセージαの計算は、確率メッセージβの最小値の選択を基本とするので、確率メッセージβの最小値を保持しておけば、それに基づいて確率メッセージαを順次計算できる。従って、確率メッセージαを格納しておくメモリを削減又は削除できる。   According to at least one embodiment of the present disclosure, the calculation of check node processing for each row is performed sequentially based on the updated probability message β every time one probability message β in the row is updated. It can be done in stages. Accordingly, the memory for storing the probability message β can be reduced or deleted. Since the calculation of the probability message α in the check node processing is based on the selection of the minimum value of the probability message β, if the minimum value of the probability message β is held, the probability message α can be sequentially calculated based on that. Accordingly, the memory for storing the probability message α can be reduced or deleted.

検査行列とNormalized Min-sumアルゴリズムで用いる確率メッセージとの関係を示す図である。It is a figure which shows the relationship between a test matrix and the probability message used with the Normalized Min-sum algorithm. チェックノード処理及びビットノード処理を模式的に示す図である。It is a figure which shows a check node process and a bit node process typically. 通信システムの構成の一例を示す図である。It is a figure which shows an example of a structure of a communication system. LDPC復号部の構成の一例を示す図である。It is a figure which shows an example of a structure of a LDPC decoding part. 巡回型検査行列の構成を示す図である。It is a figure which shows the structure of a cyclic | annular check matrix. ビットノード処理部及びチェックノード処理部の入出力関係を示す図である。It is a figure which shows the input-output relationship of a bit node process part and a check node process part. 図6に示すビットノード処理部及びチェックノード処理部の動作を示す図である。FIG. 7 is a diagram illustrating operations of a bit node processing unit and a check node processing unit illustrated in FIG. 6. 図4のLDPC復号部の復号処理の流れを示すフローチャートである。5 is a flowchart showing a flow of decoding processing of the LDPC decoding unit in FIG. 4. 列ブロック毎にビットノード処理を繰り返す様子を模式的に示す図である。It is a figure which shows typically a mode that a bit node process is repeated for every column block. チェックノード処理部の1つのチェックノード処理回路の構成の一例を示す図である。It is a figure which shows an example of a structure of one check node processing circuit of a check node processing part. ビットノード処理部の1つのビットノード処理回路の構成の一例を示す図である。It is a figure which shows an example of a structure of one bit node processing circuit of a bit node processing part. LDPC符号を用いた実際の通信システムへの適用に即した検査行列の一例を示す図である。It is a figure which shows an example of the check matrix according to the application to the actual communication system using a LDPC code. 図12の検査行列に対応するLDPC復号部の構成の一例を示す図である。It is a figure which shows an example of a structure of the LDPC decoding part corresponding to the check matrix of FIG. 図13に示すLDPC復号部の動作の一例を示す図である。It is a figure which shows an example of operation | movement of the LDPC decoding part shown in FIG. チェックノード処理部の1つのチェックノード処理回路の構成の別の一例を示す図である。It is a figure which shows another example of a structure of one check node processing circuit of a check node process part. 図16は、LDPC復号部の構成の変形例を示す図である。FIG. 16 is a diagram illustrating a modification of the configuration of the LDPC decoding unit. ビットノード処理部及びチェックノード処理部の入出力関係を示す図である。It is a figure which shows the input-output relationship of a bit node process part and a check node process part. 図17に示すビットノード処理部及びチェックノード処理部の動作を示す図である。It is a figure which shows operation | movement of the bit node process part and check node process part which are shown in FIG.

以下に、本発明の実施例を添付の図面を用いて詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

図3は、通信システムの構成の一例を示す図である。図3に示す通信システムは、送信装置10及び受信装置20を含む。送信装置10は、送信データを符号化及び変調して送信信号を生成し、送信信号を出力する。送信信号は、有線又は無線の通信路15を介して受信装置20により受信される。受信装置20は、受信データを復調及び復号化して復号データを生成する。   FIG. 3 is a diagram illustrating an example of a configuration of a communication system. The communication system illustrated in FIG. 3 includes a transmission device 10 and a reception device 20. The transmission device 10 encodes and modulates transmission data to generate a transmission signal, and outputs the transmission signal. The transmission signal is received by the receiving device 20 via the wired or wireless communication path 15. The receiving device 20 demodulates and decodes the received data to generate decoded data.

送信装置10は、LDPC符号化部11及び変調部12を含む。LDPC符号化部11は、送信データに対してLDPC符号化を行なうことにより、情報ビットと冗長ビットとを含む符号化データを生成する。この符号化データにおける符号語をTxとし、LDPC検査行列をHとしたときに、符号語TxはH×Tx=0となるように生成される。変調部12は、マッピング処理、変調処理、及びD/A変換処理を実行する。マッピング処理では、LDPC符号化部11から供給される符号化データを64QAM(Quadrature Amplitude Modulation)等のシンボル点(信号点)に割り当てることにより、キャリア変調を行なう。変調処理では、マッピング処理によりキャリア変調されたデータに対してOFDM(Orthogonal Frequency Division Multiplexing)変調等を施すことにより、変調信号を生成する。D/A変換処理では、変調信号をデジタルからアナログに変換して、送信信号を生成する。   The transmission apparatus 10 includes an LDPC encoding unit 11 and a modulation unit 12. The LDPC encoding unit 11 generates encoded data including information bits and redundant bits by performing LDPC encoding on the transmission data. When the code word in the encoded data is Tx and the LDPC check matrix is H, the code word Tx is generated so that H × Tx = 0. The modulation unit 12 executes mapping processing, modulation processing, and D / A conversion processing. In the mapping process, carrier modulation is performed by assigning encoded data supplied from the LDPC encoding unit 11 to symbol points (signal points) such as 64QAM (Quadrature Amplitude Modulation). In the modulation process, a modulated signal is generated by performing OFDM (Orthogonal Frequency Division Multiplexing) modulation or the like on the carrier-modulated data by the mapping process. In the D / A conversion process, the modulation signal is converted from digital to analog to generate a transmission signal.

受信装置20は、復調部21及びLDPC復号部22を含む。復調部21は、A/D変換処理、復調処理、及びデマッピング処理を実行する。A/D変換部では、通信路15を介して送信装置10から受信した受信信号をアナログからデジタルに変換して、デジタル受信信号を生成する。復調処理では、送信側で用いた変調に対応する復調処理をデジタル受信信号に適用し、復調された受信信号を生成する。デマッピング処理では、送信側で用いた変調方式におけるシンボル点のうち受信信号点に近いシンボル点を検出し、受信信号の値が0又は1である確からしさを軟判定し、軟判定結果であるLLRを計算して出力する。LDPC復号部22は、計算されたLLRに基づいてLDPC復号処理を行なう。この際、復号された符号語RxがH×Rx=0となるように誤り訂正を行う。これにより誤り訂正後の受信信号が得られる。   The receiving device 20 includes a demodulator 21 and an LDPC decoder 22. The demodulator 21 performs A / D conversion processing, demodulation processing, and demapping processing. The A / D conversion unit converts the reception signal received from the transmission device 10 via the communication path 15 from analog to digital, and generates a digital reception signal. In the demodulation process, a demodulation process corresponding to the modulation used on the transmission side is applied to the digital reception signal to generate a demodulated reception signal. In the demapping process, among the symbol points in the modulation scheme used on the transmission side, a symbol point close to the reception signal point is detected, the probability that the value of the reception signal is 0 or 1 is softly determined, and the soft determination result is obtained. Calculate and output LLR. The LDPC decoding unit 22 performs an LDPC decoding process based on the calculated LLR. At this time, error correction is performed so that the decoded code word Rx becomes H × Rx = 0. As a result, a received signal after error correction is obtained.

図4は、LDPC復号部22の構成の一例を示す図である。LDPC復号部22は、制御部31、LLR用RAM32、ビットノード処理部33、チェックノード処理部34、及びパリティ検査部35を含む。LLR用RAM32は、計算されたLLRを格納しておくメモリである。チェックノード処理部34は、確率メッセージβを用いて確率メッセージαを更新する。ビットノード処理部33は、LLR用RAM32に格納されるLLRである事前確率λと確率メッセージαとを用いて、確率メッセージβを更新するとともに、復号された復号データcを生成する。パリティ検査部35は、確率メッセージ更新後に、パリティ検査により、検査行列Hと復号された復号データcとの積(厳密にはHとcの転置行列との積)が0になるか否かを判定する。制御部31は、LDPC復号部22の全体の動作を制御する。パリティ検査の結果が0となれば、制御部31は、cを復号結果として出力させる。パリティ検査の結果が0でなければ、制御部31は、確率メッセージα及び確率メッセージβの更新とその後のパリティ検査とを再度実行するように、ビットノード処理部33、チェックノード処理部34、及びパリティ検査部35を制御する。   FIG. 4 is a diagram illustrating an example of the configuration of the LDPC decoding unit 22. The LDPC decoding unit 22 includes a control unit 31, an LLR RAM 32, a bit node processing unit 33, a check node processing unit 34, and a parity check unit 35. The LLR RAM 32 is a memory for storing the calculated LLR. The check node processing unit 34 updates the probability message α using the probability message β. The bit node processing unit 33 updates the probability message β using the prior probability λ and the probability message α, which are LLRs stored in the LLR RAM 32, and generates decoded decoded data c. The parity check unit 35 determines whether or not the product of the check matrix H and the decoded decoded data c (strictly, the product of the transposed matrix of H and c) becomes 0 by the parity check after the probability message is updated. judge. The control unit 31 controls the overall operation of the LDPC decoding unit 22. If the result of the parity check is 0, the control unit 31 outputs c as a decoding result. If the result of the parity check is not 0, the control unit 31 performs the update of the probability message α and the probability message β and the subsequent parity check again, so that the bit node processing unit 33, the check node processing unit 34, and The parity check unit 35 is controlled.

チェックノード処理においては、具体的には、   In check node processing, specifically,

Figure 2012124888

の計算式により、確率メッセージαを更新する。ここでA(m)は、検査行列の行mにおいて要素値が“1”である列の集合である。A(m)\nは、A(m)から列nを除いた集合を表わす。即ち、αmnを計算するときにはβmnを使わず、残りの集合A(m)\nのβを用いることになる。上記のチェックノード計算式は、符号計算部分(関数sgnの部分)と絶対値計算部分(関数minの部分)とからなる。
Figure 2012124888

The probability message α is updated by the following formula. Here, A (m) is a set of columns whose element value is “1” in row m of the parity check matrix. A (m) \ n represents a set obtained by removing column n from A (m). That is, when calculating α mn , β mn is not used, and β of the remaining set A (m) \ n is used. The above check node calculation formula includes a code calculation part (function sgn part) and an absolute value calculation part (function min part).

ビットノード処理においては、具体的には、   In bit node processing, specifically,

Figure 2012124888

により、βが更新される。ここでB(n)は検査行列の列nにおいて要素値が“1”である行の集合である。B(n)\mはB(n)から行mを除いた集合を表わす。また事後確率計算処理は、
Figure 2012124888

Accordingly, β is updated. Here, B (n) is a set of rows whose element value is “1” in column n of the parity check matrix. B (n) \ m represents a set obtained by removing row m from B (n). The posterior probability calculation process is

Figure 2012124888

となる。これは事前確率λ(受信信号から計算したLLR)に対して、αを加算することにより、事前確率よりも信頼度を高めた事後確率Lを求めることを意味している。事後確率Lは、一連の観測受信信号を受信したという条件及びパリティ検査の拘束条件の下で、送信信号が0又は1である確率を示す値である。この事後確率Lが0以上か或いは0より小さいかを判定することにより、復号データcのn番目のビットの値cが求められる。具体的には、Lが0以上であればc=0となり、Lが0より小さければc=1となる。
Figure 2012124888

It becomes. This means that by adding α to the prior probability λ n (LLR calculated from the received signal), the posterior probability L n with higher reliability than the prior probability is obtained. The posterior probability L n is a value indicating the probability that the transmission signal is 0 or 1 under the condition that a series of observation reception signals are received and the parity check constraint condition. By determining whether the posterior probability L n is equal to or greater than 0 or smaller than 0, the value cn of the nth bit of the decoded data c is obtained. Specifically, if L n is 0 or more, c n = 0, and if L n is smaller than 0, c n = 1.

図5は、巡回型検査行列の構成を示す図である。検査行列Hは、n×nの単位行列もしくはその巡回行列をブロック(部分行列)として持つ、J行ブロック×K列ブロックの巡回型検査行列である。図4に示すLDPC復号部22は、図5に示すような巡回型検査行列を用いた巡回型LDPC符号を復号処理するものとする。この場合、図4に示されるように、ビットノード処理部33は、同一の構造を有するn個のビットノード処理回路を含む。またチェックノード処理部34は、同一の構造を有するn×J個(即ち検査行列Hの行数に等しい数)のチェックノード処理回路を含む。   FIG. 5 is a diagram illustrating a configuration of a cyclic parity check matrix. The parity check matrix H is an N × n unit matrix or its cyclic matrix as a block (partial matrix), and is a J row block × K column block cyclic parity check matrix. Assume that the LDPC decoding unit 22 shown in FIG. 4 decodes a cyclic LDPC code using a cyclic check matrix as shown in FIG. In this case, as illustrated in FIG. 4, the bit node processing unit 33 includes n bit node processing circuits having the same structure. The check node processing unit 34 includes n × J (that is, a number equal to the number of rows of the check matrix H) check node processing circuits having the same structure.

具体的には、ビットノード処理部33は、前述の式(2)に示すようなビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき当該1列ブロック内の全ての確率メッセージβを更新する。1列ブロックは、図5に示すように検査行列のn列を含む。ビットノード処理部33は、図4に示すように、n並列構成となっており、1列ブロック内の全ての列に対して並列にビットノード処理を実行してよい。   Specifically, the bit node processing unit 33 performs the bit node processing as shown in the above-described equation (2) for each column block of the check matrix, and based on the probability message α in one column block, the 1 Update all probability messages β in the column block. The one-column block includes n columns of the check matrix as shown in FIG. As shown in FIG. 4, the bit node processing unit 33 has an n-parallel configuration, and may execute bit node processing in parallel for all the columns in one column block.

図6は、ビットノード処理部33及びチェックノード処理部34の入出力関係を示す図である。図6において、図4と同一の構成要素は同一の番号で参照し、その説明は省略する。図6には、nが3で、Jが2、Kが3である図1に示す巡回型検査行列を用いた場合を例として示してある。この場合、ビットノード処理部33は、まず第1の列ブロックCB1内の確率メッセージα1,1、α2,1、α3,1、α4,1、α5,1、α6,1に基づき全ての確率メッセージβ1,1、β2,1、β3,1、β4,1、β5,1、β6,1を更新する。図6(a)に、このときのビットノード処理部33及びチェックノード処理部34の入出力が示される。図6(a)に示されるように、チェックノード処理部34に含まれる第1乃至第6のチェックノード処理回路34−1乃至34−6からそれぞれα1,1、α2,1、α3,1、α4,1、α5,1、α6,1が並列に出力される。このうち、図1に示す検査行列Hの第1列のα1,1、α5,1はビットノード処理部33の第1のビットノード処理回路33−1に供給される。第2列のα2,1、α6,1はビットノード処理部33の第2のビットノード処理回路33−2に供給される。第3列のα3,1、α4,1はビットノード処理部33の第3のビットノード処理回路33−3に供給される。これにより、図6(b)に示されるように、ビットノード処理部33の第1乃至第3のビットノード処理回路33−1乃至33−3からは、β1,1及びβ5,1、β2,1及びβ6,1、β3,1及びβ4,1が出力される。これらの確率メッセージβは、チェックノード処理部34の対応するチェックノード処理回路に供給される。ここで、ビットノード処理部33の出力は、メモリを介することなくチェックノード処理部34の入力に直接に接続される。 FIG. 6 is a diagram illustrating an input / output relationship between the bit node processing unit 33 and the check node processing unit 34. In FIG. 6, the same components as those of FIG. 4 are referred to by the same numerals, and a description thereof will be omitted. FIG. 6 shows an example in which the cyclic parity check matrix shown in FIG. 1 where n is 3, J is 2, and K is 3 is used. In this case, the bit node processing unit 33 firstly stores the probability messages α 1,1 , α 2,1 , α 3,1 , α 4,1 , α 5,1 , α 6,1 in the first column block CB1. Update all probability messages β 1,1 , β 2,1 , β 3,1 , β 4,1 , β 5,1 , β 6,1 . FIG. 6A shows input / output of the bit node processing unit 33 and the check node processing unit 34 at this time. As shown in FIG. 6A, α 1,1 , α 2,1 , α 3 from the first to sixth check node processing circuits 34-1 to 34-6 included in the check node processing unit 34, respectively. , 1 , α 4,1 , α 5,1 , α 6,1 are output in parallel. Among these, α 1,1 and α 5,1 in the first column of the check matrix H shown in FIG. 1 are supplied to the first bit node processing circuit 33-1 of the bit node processing unit 33. Α 2,1 and α 6,1 in the second column are supplied to the second bit node processing circuit 33-2 of the bit node processing unit 33. The third column α 3,1 , α 4,1 is supplied to the third bit node processing circuit 33-3 of the bit node processing unit 33. As a result, as shown in FIG. 6B, the first to third bit node processing circuits 33-1 to 33-3 of the bit node processing unit 33 receive β 1,1 and β 5,1 , β 2,1 and β 6,1 , β 3,1 and β 4,1 are output. These probability messages β are supplied to the corresponding check node processing circuit of the check node processing unit 34. Here, the output of the bit node processing unit 33 is directly connected to the input of the check node processing unit 34 without going through a memory.

以降同様にして、第2の列ブロックCB2内の確率メッセージα1,2、α2,2、α3,2、α4,2、α5,2、α6,2に基づき、CB2内の全ての確率メッセージβ1,2、β2,2、β3,2、β4,2、β5,2、β6,2を更新する。最後に、第3の列ブロックCB3内の確率メッセージα1,3、α2,3、α3,3、α4,3、α5,3、α6,3に基づき、CB3内の全ての確率メッセージβ1,3、β2,3、β3,3、β4,3、β5,3、β6,3を更新する。 In the same manner, based on the probability messages α 1,2 , α 2,2 , α 3,2 , α 4,2 , α 5,2 , α 6,2 in the second column block CB 2 , Update all probability messages β 1,2 , β 2,2 , β 3,2 , β 4,2 , β 5,2 , β 6,2 . Finally, based on the probability messages α 1,3 , α 2,3 , α 3,3 , α 4,3 , α 5,3 , α 6,3 in the third column block CB3, The probability messages β 1,3 , β 2,3 , β 3,3 , β 4,3 , β 5,3 , β 6,3 are updated.

図7は、図6に示すビットノード処理部33及びチェックノード処理部34の動作を示す図である。図7において、(a)乃至(c)はそれぞれ、第1乃至第3のビットノード処理回路33−1乃至33−3の入力及び内部動作を示す。(d)乃至(i)はそれぞれ、第1乃至第6のチェックノード処理回路34−1乃至34−6の入力及び内部動作を示す。例えば動作サイクルT1においては、第1乃至第3のビットノード処理回路に対応する確率メッセージαが入力される。この状態が図6(a)に示す状態である。また例えば動作サイクルT2においては、第1乃至第6のチェックノード処理回路に対応する確率メッセージβが入力される。この状態が図6(b)に示す状態である。ビットノード処理回路には3個の列ブロックに対応して3回に分けて確率メッセージαが入力される。1動作サイクル遅れて、ビットノード処理回路の内部では図7においてBnodeとして示されるように、ビットノード処理の計算が実行される。更に1動作サイクル遅れて、ビットノード処理回路から更新後の確率メッセージβが出力される。   FIG. 7 is a diagram illustrating operations of the bit node processing unit 33 and the check node processing unit 34 illustrated in FIG. 6. In FIG. 7, (a) through (c) show the inputs and internal operations of the first through third bit node processing circuits 33-1 through 33-3, respectively. (D) to (i) show the inputs and internal operations of the first to sixth check node processing circuits 34-1 to 34-6, respectively. For example, in the operation cycle T1, the probability message α corresponding to the first to third bit node processing circuits is input. This state is the state shown in FIG. Further, for example, in the operation cycle T2, the probability message β corresponding to the first to sixth check node processing circuits is input. This state is the state shown in FIG. The probability message α is input to the bit node processing circuit in three steps corresponding to the three column blocks. After one operation cycle, the calculation of the bit node processing is executed inside the bit node processing circuit as shown as Bnode in FIG. Further, the updated probability message β is output from the bit node processing circuit with a delay of one operation cycle.

チェックノード処理部34は、上記式(1)に示すような検査行列の各行のチェックノード処理の計算を、当該行中の1つの確率メッセージβが更新される毎に、この更新された1つの確率メッセージβに基づいて順次段階的に行なう。上記式(1)から分かるように、チェックノード計算式は、符号計算部分(関数sgnの部分)と絶対値計算部分(関数minの部分)とからなっている。符号計算部分の内容は、αmnを計算するときには、βmnを除いた1行中の全ての確率メッセージβの符号の総乗値(全てを積算した値)である。この総乗値は、βmnも含む1行中の全ての確率メッセージβの符号の総乗値とβmnの符号との積算値とに等しい。1行中の全ての確率メッセージβの符号の総乗値は、順次更新される確率メッセージβを前回の積算結果に対して1つずつ積算していけば段階的な計算により実現できる。また絶対値計算部分の内容は、αmnを計算するときには、βmnを除いた1行中の全ての確率メッセージβの最小値である。この値は、βmnも含む1行中の全ての確率メッセージβの第1最小値(最も小さい値)又は第2最小値(2番目に小さい値)の何れかであり、βmnが第1最小値である場合には第2最小値であり、βmnが第1最小値でない場合には第1最小値である。1行中の全ての確率メッセージβの最小値及び第2最小値は、順次更新される確率メッセージβを前回迄に求めた最小値及び第2最小値と比較することで、段階的な比較計算により求めることができる。このようにして、上記式(1)に示すような各行のチェックノード処理の計算を、当該行中の1つの確率メッセージβが更新される毎に、この更新された1つの確率メッセージβに基づいて順次段階的に行なうことができる。従って、確率メッセージβを格納しておくメモリが必要ない。またチェックノード処理における確率メッセージαの計算は、確率メッセージβの最小値の選択を基本とするので、確率メッセージβの最小値を保持しておけば、それに基づいて確率メッセージαを順次計算できる。従って、確率メッセージαを格納しておくメモリが必要ない。 The check node processing unit 34 calculates the check node processing for each row of the parity check matrix as shown in the above equation (1) every time one probability message β in the row is updated. This is performed step by step based on the probability message β. As can be seen from the above equation (1), the check node calculation formula is composed of a sign calculation part (function sgn part) and an absolute value calculation part (function min part). The content of the code calculation part is the sum of the values of the codes of all the probability messages β in one line excluding β mn (a value obtained by adding up all) when α mn is calculated. The total square value is equal to the integrated value of the infinite product value and beta mn of code of the code of all probabilities message beta in a row which also contains beta mn. The total value of the codes of all the probability messages β in one row can be realized by stepwise calculation if the sequentially updated probability messages β are integrated one by one with respect to the previous integration result. The content of the absolute value calculation part is the minimum value of all the probability messages β in one line except β mn when α mn is calculated. This value is either the first minimum value (the smallest value) or the second minimum value (the second smallest value) of all probability messages β in one row including β mn , and β mn is the first value. When it is the minimum value, it is the second minimum value, and when β mn is not the first minimum value, it is the first minimum value. The minimum value and the second minimum value of all the probability messages β in one line are compared with the minimum value and the second minimum value obtained up to the previous time by sequentially comparing the probability messages β that are sequentially updated. It can ask for. In this way, the calculation of the check node processing of each row as shown in the above formula (1) is performed based on the updated probability message β every time one probability message β in the row is updated. Can be carried out step by step. Therefore, there is no need for a memory for storing the probability message β. Since the calculation of the probability message α in the check node processing is based on the selection of the minimum value of the probability message β, if the minimum value of the probability message β is held, the probability message α can be sequentially calculated based on that. Therefore, there is no need for a memory for storing the probability message α.

チェックノード処理部34は、図4に示すように、n×J並列構成となっており、検査行列の全ての行に対して並列にチェックノード処理を実行してよい。図7に示す例では、動作サイクルT2において、第1乃至第6のチェックノード処理回路は、第1の列ブロックCB1に対して更新された確率メッセージβ1,1、β2,1、β3,1、β4,1、β5,1、β6,1を受け取る。これに1動作サイクル遅れて、チェックノード処理回路の内部では図7においてCnodeとして示されるように、チェックノード処理の計算が実行される。このチェックノード処理の計算は、動作サイクルT2及びそれ以降の動作サイクルにて順次供給される第1列ブロック乃至第3列ブロックの更新された確率メッセージβに基づいて、順次段階的に実行される。 As shown in FIG. 4, the check node processing unit 34 has an n × J parallel configuration, and the check node processing unit 34 may execute check node processing in parallel for all rows of the check matrix. In the example illustrated in FIG. 7, in the operation cycle T2, the first to sixth check node processing circuits update the probability messages β 1,1 , β 2,1 , β 3 updated for the first column block CB1. , 1 , β 4,1 , β 5,1 , β 6,1 are received. One check cycle later than this, check node processing calculation is executed inside the check node processing circuit, as indicated by Cnode in FIG. The calculation of the check node process is sequentially executed step by step based on the updated probability messages β of the first column block to the third column block sequentially supplied in the operation cycle T2 and the subsequent operation cycles. .

上記のチェックノード処理において、確率メッセージβが全ての列ブロックについて更新され供給されると、確率メッセージαの更新処理は実質的に完了する。チェックノード処理部34の各行に対応するチェックノード処理回路34−1乃至34−6は、対応する行中の全ての確率メッセージβが更新された後、当該行中の更新後の確率メッセージαを順次出力する。例えばチェックノード処理回路34−1であれば、更新後の確率メッセージα1,1、α1,2、α1,3を順次出力する。 In the above check node processing, when the probability message β is updated and supplied for all the column blocks, the update processing of the probability message α is substantially completed. The check node processing circuits 34-1 to 34-6 corresponding to each row of the check node processing unit 34 update the probability message α after updating all the probability messages β in the corresponding row. Output sequentially. For example, in the case of the check node processing circuit 34-1, the updated probability messages α 1,1 , α 1,2 , α 1,3 are sequentially output.

図8は、図4のLDPC復号部22の復号処理の流れを示すフローチャートである。この復号処理の流れは、図4の制御部31により制御されてよい。   FIG. 8 is a flowchart showing the flow of the decoding process of the LDPC decoding unit 22 of FIG. The flow of this decoding process may be controlled by the control unit 31 in FIG.

ステップS1で、列ブロックを示す変数Nを初期値1に設定する。ステップS2で、N番目の列ブロックの全ての確率メッセージαをチェックノード処理部34から出力させる。ステップS3で、ビットノード処理部33により、N番目の列ブロックのビットノード処理を実行し、N番目の列ブロックの全ての確率メッセージβを更新する。このとき、チェックノード処理部34により、更新された確率メッセージβに基づいてチェックノード処理の一部分が実行される。ステップS4で、変数Nが全列ブロック数Kに等しいか否かを判定する。等しくない場合には、ステップS5でNを1増加させ、ステップS2以降の処理を繰り返す。   In step S1, a variable N indicating a column block is set to an initial value 1. In step S 2, all probability messages α of the Nth column block are output from the check node processing unit 34. In step S3, the bit node processing unit 33 executes bit node processing of the Nth column block, and updates all probability messages β of the Nth column block. At this time, a part of the check node processing is executed by the check node processing unit 34 based on the updated probability message β. In step S4, it is determined whether or not the variable N is equal to the total column block number K. If they are not equal, N is incremented by 1 in step S5, and the processes in and after step S2 are repeated.

図9は、列ブロック毎にビットノード処理を繰り返す様子を模式的に示す図である。まず第1の列ブロックCB1についてビットノード処理が実行される。その後矢印で示されるように、第2の列ブロックCB2から第Kの列ブロックCBKまで、列ブロック毎にビットノード処理が繰り返されていく。   FIG. 9 is a diagram schematically showing how the bit node processing is repeated for each column block. First, bit node processing is executed for the first column block CB1. Thereafter, as indicated by an arrow, the bit node processing is repeated for each column block from the second column block CB2 to the Kth column block CBK.

図8に戻り、ステップS4で変数Nが全列ブロック数Kに等しいと判定されると、ステップS6に進む。ステップS6で、チェックノード処理において全ての確率メッセージαの更新が完了する。ステップS7で、検査行列と復号データとの積が0である復号完了条件が満たされるか否かを判定する。復号完了条件が満たされない場合には、処理はステップS1に戻り、以降の処理を繰り返す。復号完了条件が満たされると、復号対象のデータに対するLDPC復号処理が完了する。   Returning to FIG. 8, if it is determined in step S4 that the variable N is equal to the total column block number K, the process proceeds to step S6. In step S6, the update of all probability messages α is completed in the check node process. In step S7, it is determined whether or not a decoding completion condition in which the product of the check matrix and the decoded data is 0 is satisfied. If the decryption completion condition is not satisfied, the process returns to step S1 and the subsequent processes are repeated. When the decoding completion condition is satisfied, the LDPC decoding process for the data to be decoded is completed.

図10は、チェックノード処理部34の1つのチェックノード処理回路の構成の一例を示す図である。チェックノード処理部34には、図10に示すチェックノード処理回路が、n×J個並列に設けられている。図10に示すチェックノード処理回路は、絶対値計算部41、XOR部42、比較判定部43、フリップフロップ44乃至51、及び出力制御部52を含む。絶対値計算部41は、更新された1つの確率メッセージβが供給されると、受け取った確率メッセージβの絶対値を計算して出力する。なおこの更新された1つの確率メッセージβの最上位ビット(符号ビット)は、XOR部42及びフリップフロップ44に供給される。   FIG. 10 is a diagram illustrating an example of the configuration of one check node processing circuit of the check node processing unit 34. The check node processing unit 34 includes n × J check node processing circuits shown in FIG. The check node processing circuit illustrated in FIG. 10 includes an absolute value calculation unit 41, an XOR unit 42, a comparison determination unit 43, flip-flops 44 to 51, and an output control unit 52. When one updated probability message β is supplied, the absolute value calculation unit 41 calculates and outputs the absolute value of the received probability message β. The most significant bit (sign bit) of the updated one probability message β is supplied to the XOR unit 42 and the flip-flop 44.

比較判定部43は、更新された1つの確率メッセージβの絶対値とフリップフロップ46及び47(第1レジスタ)の格納値とを比較する。フリップフロップ46は第1最小値を格納しており、フリップフロップ47は第2最小値を格納している。比較判定部43は、比較した3つの値のうち、最小のものをフリップフロップ46に格納し、2番目に小さいものをフリップフロップ47に格納する。このようにして、更新された1つの確率メッセージβが供給される度に、第1最小値又は第2最小値を適宜更新する。対象行の更新された全ての確率メッセージβが供給された後には、この対象行の確率メッセージβのうちの第1最小値がフリップフロップ46に格納され、第2最小値がフリップフロップ47に格納されることになる。   The comparison determination unit 43 compares the absolute value of the updated one probability message β with the stored values of the flip-flops 46 and 47 (first register). The flip-flop 46 stores the first minimum value, and the flip-flop 47 stores the second minimum value. The comparison determination unit 43 stores the smallest value among the three compared values in the flip-flop 46 and stores the second smallest value in the flip-flop 47. In this way, each time one updated probability message β is supplied, the first minimum value or the second minimum value is updated as appropriate. After all the updated probability messages β of the target row are supplied, the first minimum value of the probability messages β of the target row is stored in the flip-flop 46, and the second minimum value is stored in the flip-flop 47. Will be.

前述のようにチェックノード計算式の絶対値計算部分の内容は、αmnを計算するときには、βmnを除いた1行中の全ての確率メッセージβの最小値である。この値は、βmnも含む1行中の全ての確率メッセージβの第1最小値又は第2最小値の何れかであり、βmnが第1最小値である場合には第2最小値であり、βmnが第1最小値でない場合には第1最小値である。従って、対象行中で何番目のβが第1最小値であるかを示す情報を記録しておき、出力制御部52により、フリップフロップ46及び47から供給される第1最小値又は第2最小値を前記情報に基づいて適宜選択すれば、絶対値計算部分の演算を行なうことができる。 As described above, the content of the absolute value calculation part of the check node calculation formula is the minimum value of all probability messages β in one line excluding β mn when α mn is calculated. This value is either the first minimum value or the second minimum value of all probability messages β in one line including β mn , and is the second minimum value when β mn is the first minimum value. Yes , if β mn is not the first minimum value, it is the first minimum value. Therefore, information indicating what number β is the first minimum value in the target row is recorded, and the first minimum value or the second minimum value supplied from the flip-flops 46 and 47 by the output control unit 52 is recorded. If the value is appropriately selected based on the information, the absolute value calculation part can be calculated.

XOR部42は、更新された1つの確率メッセージβの符号とフリップフロップ45(第2レジスタ)の格納値との排他的論理和をとる。ここで言う排他的論理和とは、符号ビットの積算演算であり、0を正とし1を負として、正と正との積又は負と負との積なら出力は正となり、正と負との積又は負と正との積なら出力は負となる。対象行の更新された全ての確率メッセージβが供給された後には、この対象行の全ての確率メッセージβの符号の総乗値がフリップフロップ45に格納されることになる。フリップフロップ45の格納値は、フリップフロップ49を介して出力制御部52に供給される。   The XOR unit 42 performs an exclusive OR of the sign of one updated probability message β and the stored value of the flip-flop 45 (second register). The exclusive OR referred to here is an accumulation operation of sign bits, where 0 is positive and 1 is negative. If the product of positive and positive or the product of negative and negative, the output is positive, and positive and negative. The output is negative if the product of or the product of negative and positive. After all the updated probability messages β of the target row are supplied, the sign value of all the probability messages β of the target row is stored in the flip-flop 45. The stored value of the flip-flop 45 is supplied to the output control unit 52 via the flip-flop 49.

フリップフロップ44は複数のフリップフロップを含み、対象行の更新された全ての確率メッセージβの符号がそれぞれのフリップフロップに個別に格納される。符号は1ビットであるので、必要なフリップフロップ44の数はそれ程大きくはない。フリップフロップ44の格納値は、フリップフロップ48を介して出力制御部52に供給される。   The flip-flop 44 includes a plurality of flip-flops, and the codes of all the updated probability messages β in the target row are individually stored in the respective flip-flops. Since the sign is 1 bit, the number of necessary flip-flops 44 is not so large. The stored value of the flip-flop 44 is supplied to the output control unit 52 via the flip-flop 48.

前述のようにチェックノード計算式の符号計算部分の内容は、αmnを計算するときには、βmnを除いた1行中の全ての確率メッセージβの符号の総乗値(全てを積算した値)である。この総乗値は、βmnも含む1行中の全ての確率メッセージβの符号の総乗値とβmnの符号との積算値とに等しい。従って、出力制御部52により、フリップフロップ45から供給される全てのβの符号の総乗値とフリップフロップ44から供給される着目βmnの符号の積算値とを求めることにより、符号計算部分の演算を行なうことができる。 As described above, the content of the code calculation part of the check node calculation formula is that when α mn is calculated, the total value of the codes of all probability messages β in one line excluding β mn (the value obtained by adding up all) It is. The total square value is equal to the integrated value of the infinite product value and beta mn of code of the code of all probabilities message beta in a row which also contains beta mn. Therefore, the output control unit 52 obtains the total value of the signs of all β supplied from the flip-flop 45 and the integrated value of the sign of the target β mn supplied from the flip-flop 44, thereby Arithmetic can be performed.

このようにして、出力制御部52は、対象行中の更新された全ての確率メッセージβが供給された後、例えば図7に示すように、更新されたαを順次出力してビットノード処理に供することができる。この更新されたαを出力する際、n×J個並列に設けられた図10に示すチェックノード処理回路が、検査行列の1つの列ブロック中のn×J行全てについてαを出力する。これにより、n×J個並列のビットノード処理を実現することが可能となる。   In this way, after all the updated probability messages β in the target row are supplied, the output control unit 52 sequentially outputs the updated α to perform bit node processing, for example, as shown in FIG. Can be provided. When outputting the updated α, the check node processing circuit shown in FIG. 10 provided in parallel with n × J outputs α for all n × J rows in one column block of the parity check matrix. As a result, n × J parallel bit node processes can be realized.

図11は、ビットノード処理部33の1つのビットノード処理回路の構成の一例を示す図である。ビットノード処理部33には、図11に示すビットノード処理回路が、n個並列に設けられている。図11に示すビットノード処理回路は、ビットノード演算部61及び硬判定部62を含む。なお図11には、一列中のα及びβがそれぞれ3個ずつである場合が例として示されるが、この例に限定されることなく、一列中のα及びβの数は幾つであってもよい。   FIG. 11 is a diagram illustrating an example of the configuration of one bit node processing circuit of the bit node processing unit 33. The bit node processing unit 33 is provided with n bit node processing circuits shown in FIG. 11 in parallel. The bit node processing circuit shown in FIG. 11 includes a bit node calculation unit 61 and a hard decision unit 62. FIG. 11 shows an example in which there are three α and β in each row. However, the present invention is not limited to this example, and any number of α and β may be used in each row. Good.

ビットノード演算部61は、受信信号から計算されたLLRと一列中の全てのαとに基づいて、前述の式(2)を計算して一列中の全てのβを更新するとともに、前述の式(3)を計算して復号データを生成する。図11では、この復号データがSUMとして示されている。硬判定部62は、軟判定値を有する復号データSUMに基づいて、硬判定データを生成する。具体的には、SUMが0以上であれば硬判定値は0となり、SUMが0より小さければ硬判定値は1となる。   Based on the LLR calculated from the received signal and all α in the column, the bit node calculation unit 61 calculates the above-described equation (2) and updates all β in the column. (3) is calculated to generate decoded data. In FIG. 11, this decoded data is shown as SUM. The hard decision unit 62 generates hard decision data based on the decoded data SUM having a soft decision value. Specifically, if SUM is 0 or more, the hard decision value is 0, and if SUM is smaller than 0, the hard decision value is 1.

図12は、LDPC符号を用いた実際の通信システムへの適用に即した検査行列の一例を示す図である。図12に示す検査行列Hは、83×83の単位行列もしくはその巡回行列をブロック(部分行列)として持つ、3行ブロック×58列ブロックの巡回型検査行列である。   FIG. 12 is a diagram illustrating an example of a parity check matrix adapted to application to an actual communication system using an LDPC code. The parity check matrix H shown in FIG. 12 is a cyclic parity check matrix of 3 row blocks × 58 column blocks having an 83 × 83 unit matrix or a cyclic matrix thereof as a block (partial matrix).

図13は、図12の検査行列に対応するLDPC復号部の構成の一例を示す図である。図13において、図4と同一の構成要素は同一の番号で参照し、その説明は省略する。なお図13において、図4に示す制御部31及びパリティ検査部35は図示を省略されている。   FIG. 13 is a diagram illustrating an example of a configuration of an LDPC decoding unit corresponding to the parity check matrix of FIG. In FIG. 13, the same components as those of FIG. 4 are referred to by the same numerals, and a description thereof will be omitted. In FIG. 13, the control unit 31 and the parity check unit 35 shown in FIG. 4 are not shown.

図13に示すLDPC復号部22は、図12に示すような巡回型検査行列を用いた巡回型LDPC符号を復号処理するものである。この場合、図13に示されるように、ビットノード処理部33は、同一の構造を有する83個のビットノード処理回路を含む。またチェックノード処理部34は、同一の構造を有する249個(=83×3)のチェックノード処理回路を含む。   The LDPC decoding unit 22 shown in FIG. 13 decodes a cyclic LDPC code using a cyclic check matrix as shown in FIG. In this case, as shown in FIG. 13, the bit node processing unit 33 includes 83 bit node processing circuits having the same structure. The check node processing unit 34 includes 249 (= 83 × 3) check node processing circuits having the same structure.

図14は、図13に示すLDPC復号部の動作の一例を示す図である。図14において、(a)は、チェックノード処理部34からのα出力(ビットノード処理部33へのα入力)を示す。(b)は、α入力に基づくビットノード処理部33からのβ出力(チェックノード処理部34へのβ入力)を示す。(c)は、チェックノード処理部34におけるチェックノード処理の段階的な実行を示す。(a)に示すように、58列ブロック分のα乃至α58が順次チェックノード処理部34から出力される。これらのα乃至α58を入力として、ビットノード処理部33が順次βを更新し、(b)に示すようにβ乃至β58を順次出力する。(c)に示すチェックノード処理の段階的な処理C1乃至C58は、順次供給されるβ乃至β58のうちの最新のβと1つ前のβ迄の最小値とを比較することで、最小値を更新していく。これにより、チェックノード処理C58により最後のβ58と1つ前のβ迄の最小値とを比較し終わった時点で、第1及び第2最小値が確定する。これで1回のイタレーションが終了する。硬判定された復号データが検査行列によるパリティ検査の復号完了条件を満たさない場合、(a)に示すように、再度、58列ブロック分のα乃至α58が順次チェックノード処理部34から出力され、ビットノード処理及びチェックノード処理が実行される。 FIG. 14 is a diagram illustrating an example of the operation of the LDPC decoding unit illustrated in FIG. 14A shows an α output from the check node processing unit 34 (α input to the bit node processing unit 33). (B) shows β output from the bit node processing unit 33 based on α input (β input to the check node processing unit 34). (C) shows stepwise execution of check node processing in the check node processing unit 34. As shown in (a), α 1 to α 58 for 58 column blocks are sequentially output from the check node processing unit 34. Using these α 1 to α 58 as inputs, the bit node processing unit 33 sequentially updates β, and sequentially outputs β 1 to β 58 as shown in FIG. The stepwise processes C1 to C58 of the check node process shown in (c) compare the latest β of sequentially supplied β 1 to β 58 with the minimum value up to the previous β, The minimum value is updated. As a result, the first and second minimum values are determined when the check node processing C58 finishes comparing the last β 58 with the minimum value up to the previous β. This completes one iteration. When the hard-decision decoded data does not satisfy the parity check decoding completion condition by the check matrix, as shown in (a), α 1 to α 58 for 58 column blocks are sequentially output from the check node processing unit 34 again. Then, bit node processing and check node processing are executed.

図15は、チェックノード処理部の1つのチェックノード処理回路の構成の別の一例を示す図である。図15において、図10と同一の構成要素は同一の番号で参照し、その説明は省略する。図15に示すチェックノード処理回路においては、図10のチェックノード処理回路の比較判定部43及び出力制御部52が、それぞれ比較判定部43A及び出力制御部52Aにより置き換えられている。また第2最小値用のフリップフロップ47及び51が削除されている。図15に示すチェックノード処理回路においては、チェックノード処理の符号計算部分については図10に示すチェックノード処理回路と同様の構成であるが、絶対値計算部分の構成が簡略化されている。   FIG. 15 is a diagram illustrating another example of the configuration of one check node processing circuit of the check node processing unit. In FIG. 15, the same components as those of FIG. 10 are referred to by the same numerals, and a description thereof will be omitted. In the check node processing circuit shown in FIG. 15, the comparison determination unit 43 and the output control unit 52 of the check node processing circuit of FIG. 10 are replaced with a comparison determination unit 43A and an output control unit 52A, respectively. Further, the flip-flops 47 and 51 for the second minimum value are deleted. In the check node processing circuit shown in FIG. 15, the code calculation part of the check node process has the same configuration as that of the check node processing circuit shown in FIG. 10, but the configuration of the absolute value calculation part is simplified.

Normalized Min-sumアルゴリズムのチェックノード処理の絶対値計算部分は、前述のように、αmnを計算するときには、βmnを除いた1行中の全ての確率メッセージβの最小値を求める。この際、βmnが最小値である場合に対応するために、図10に示すチェックノード処理回路では第2最小値を求めている。しかし第1最小値と第2最小値とはそれ程値が異ならないとの認識に基づいて、βmnが最小値であり本来は第2最小値を選択しなければならない場合であっても、その近似値として第1最小値を選択して用いることが考えられる。このように第1最小値のみを用いる場合には、図15に示すように、第1最小値用の比較判定部及びフリップフロップが必要になるのみであり、図10に示す構成と比較して回路規模を削減することができる。 As described above, the absolute value calculation part of the check node processing of the Normalized Min-sum algorithm obtains the minimum value of all probability messages β in one line excluding β mn when calculating α mn . At this time, in order to cope with the case where β mn is the minimum value, the check node processing circuit shown in FIG. 10 obtains the second minimum value. However, based on the recognition that the first minimum value and the second minimum value are not so different, even if β mn is the minimum value and the second minimum value should be selected originally, It is conceivable to select and use the first minimum value as the approximate value. When only the first minimum value is used in this way, only the first minimum value comparison / determination unit and flip-flop are required as shown in FIG. 15. Compared to the configuration shown in FIG. The circuit scale can be reduced.

図15に示す構成では、比較判定部43Aが、更新された1つの確率メッセージβの絶対値とフリップフロップ46の格納値とを比較する。フリップフロップ46は第1最小値を格納している。比較判定部43Aは、比較した2つの値のうち小さい方をフリップフロップ46に格納する。このようにして、更新された1つの確率メッセージβが供給される度に、第1最小値を適宜更新する。対象行の更新された全ての確率メッセージβが供給された後には、この対象行の確率メッセージβのうちの第1最小値がフリップフロップ46に格納されることになる。出力制御部52Aは、フリップフロップ46からフリップフロップ50を介して供給される第1最小値を、チェックノード処理の絶対値計算部分の演算値として用いればよい。   In the configuration shown in FIG. 15, the comparison determination unit 43 </ b> A compares the updated absolute value of one probability message β with the stored value of the flip-flop 46. The flip-flop 46 stores the first minimum value. The comparison determination unit 43A stores the smaller of the two compared values in the flip-flop 46. In this way, each time one updated probability message β is supplied, the first minimum value is updated as appropriate. After all the updated probability messages β of the target row are supplied, the first minimum value of the probability messages β of the target row is stored in the flip-flop 46. The output control unit 52A may use the first minimum value supplied from the flip-flop 46 via the flip-flop 50 as the operation value of the absolute value calculation part of the check node process.

以下に、LDPC復号部の構成の変形例について説明する。図4に示すLDPC復号部22では、ビットノード処理部33はn個のビットノード処理回路を含み、チェックノード処理部34はn×J個(即ち検査行列Hの行数に等しい数)のチェックノード処理回路を含む。この構成では、例えば図13に示すLDPC復号部22の例の場合、同一の構造を有する249個(=83×3)のチェックノード処理回路が設けられることになり、チェックノード処理部34の回路規模が大きくなってしまう。応用分野によっては、確率メッセージを格納するメモリが多少必要になっても、処理回路の回路規模を小さくすることが好ましいような場合もあり得る。例えば、FPGA(Field Programmable Gate Array)を用いてLDPC復号部やその他の受信装置の回路ユニットを実現する場合、論理処理を実現するために使用可能なゲート数が制限される可能性がある。従って、チェックノード処理部34の回路規模を削減した変形例が望まれる。   Below, the modification of the structure of a LDPC decoding part is demonstrated. In the LDPC decoding unit 22 shown in FIG. 4, the bit node processing unit 33 includes n bit node processing circuits, and the check node processing unit 34 checks n × J (that is, a number equal to the number of rows of the check matrix H). Includes node processing circuitry. In this configuration, for example, in the case of the LDPC decoding unit 22 shown in FIG. 13, 249 (= 83 × 3) check node processing circuits having the same structure are provided, and the circuit of the check node processing unit 34 is provided. The scale will increase. Depending on the application field, it may be preferable to reduce the circuit scale of the processing circuit even if some memory for storing the probability message is required. For example, when an LDPC decoding unit or other circuit unit of a receiving device is realized using an FPGA (Field Programmable Gate Array), the number of gates that can be used to realize logical processing may be limited. Therefore, a modified example in which the circuit scale of the check node processing unit 34 is reduced is desired.

図16は、LDPC復号部の構成の変形例を示す図である。図16において、図4と同一の構成要素は同一の番号で参照し、その説明は省略する。図16に示すLDPC復号部22Aは、制御部31、LLR用RAM32、ビットノード処理部33、チェックノード処理部34、パリティ検査部35、バッファ71及び72、及びセレクタ(SEL)73及び74を含む。図16に示すLDPC復号部22Aは、図4に示すLDPC復号部22に対してバッファ71及び72並びにセレクタ73及び74が追加されると共に、チェックノード処理部34の並列処理数がn×J個からn×J/p個に減っている。ここでpは、n×Jの約数である2以上の整数である。   FIG. 16 is a diagram illustrating a modification of the configuration of the LDPC decoding unit. In FIG. 16, the same components as those of FIG. 4 are referred to by the same numerals, and a description thereof will be omitted. 16 includes a control unit 31, an LLR RAM 32, a bit node processing unit 33, a check node processing unit 34, a parity check unit 35, buffers 71 and 72, and selectors (SEL) 73 and 74. . In the LDPC decoding unit 22A shown in FIG. 16, buffers 71 and 72 and selectors 73 and 74 are added to the LDPC decoding unit 22 shown in FIG. 4, and the number of parallel processes of the check node processing unit 34 is n × J. To n × J / p. Here, p is an integer of 2 or more which is a divisor of n × J.

図16に示すLDPC復号部22Aは、図5に示すような巡回型検査行列を用いた巡回型LDPC符号を復号処理するものとする。この場合、図16に示されるように、ビットノード処理部33は、同一の構造を有するn個のビットノード処理回路を含む。またチェックノード処理部34は、同一の構造を有するn×J/p個(即ち検査行列Hの行数の1/pに等しい数)のチェックノード処理回路を含む。以下に説明するように、チェックノード処理部34は、巡回検査行列の複数M(=n×J/p)個の行に対する並列なチェックノード処理を実行する。更にチェックノード処理部34は、この並列なチェックノード処理を順次異なるM個の行に対して逐次的に実行することにより、巡回検査行列の全ての行(n×J行)に対するチェックノード処理を実行する。   It is assumed that the LDPC decoding unit 22A illustrated in FIG. 16 decodes a cyclic LDPC code using a cyclic check matrix as illustrated in FIG. In this case, as shown in FIG. 16, the bit node processing unit 33 includes n bit node processing circuits having the same structure. The check node processing unit 34 includes n × J / p (that is, a number equal to 1 / p of the number of rows of the check matrix H) check node processing circuits having the same structure. As will be described below, the check node processing unit 34 performs parallel check node processing on a plurality of M (= n × J / p) rows of the cyclic check matrix. Further, the check node processing unit 34 sequentially executes this parallel check node processing on sequentially different M rows, thereby performing check node processing on all rows (n × J rows) of the cyclic check matrix. Execute.

図17は、ビットノード処理部33及びチェックノード処理部34の入出力関係を示す図である。図17において、図16と同一の構成要素は同一の番号で参照し、その説明は省略する。図17には、nが3で、Jが2、Kが3である図1に示す巡回型検査行列を用いた場合を例として示してある。また、チェックノード処理部34は、同一の構造を有するn×J/2個のチェックノード処理回路34−1乃至34−3を含む。   FIG. 17 is a diagram illustrating an input / output relationship between the bit node processing unit 33 and the check node processing unit 34. In FIG. 17, the same components as those of FIG. 16 are referred to by the same numerals, and a description thereof will be omitted. FIG. 17 shows an example in which the cyclic parity check matrix shown in FIG. 1 where n is 3, J is 2, and K is 3 is used. The check node processing unit 34 includes n × J / 2 check node processing circuits 34-1 to 34-3 having the same structure.

ビットノード処理部33は、まず第1の列ブロックCB1内の確率メッセージα1,1、α2,1、α3,1、α4,1、α5,1、α6,1に基づき全ての確率メッセージβ1,1、β2,1、β3,1、β4,1、β5,1、β6,1を更新する。図17(a)に、このときのビットノード処理部33及びチェックノード処理部34の入出力が示される。図17(a)に示されるように、チェックノード処理部34に含まれる第1乃至第3のチェックノード処理回路34−1乃至34−3のそれぞれからα1,1、α2,1、α3,1が並列に出力され、その後更にα5,1、α6,1、α4,1が並列に出力される。α1,1、α2,1、α3,1は、チェックノード処理部34から出力されると、セレクタ74を介してバッファ72に一時的に蓄えられ、その後、α5,1、α6,1、α4,1と同一のタイミングでビットノード処理部33に供給される。α5,1、α6,1、α4,1は、チェックノード処理部34から出力されると、セレクタ74を介してバッファ72を介することなく、直ちにビットノード処理部33に供給される。具体的には、図1に示す検査行列Hの第1列のα1,1、α5,1は、ビットノード処理部33の第1のビットノード処理回路33−1に供給される。第2列のα2,1、α6,1はビットノード処理部33の第2のビットノード処理回路33−2に供給される。第3列のα3,1、α4,1はビットノード処理部33の第3のビットノード処理回路33−3に供給される。 First, the bit node processing unit 33 is based on the probability messages α 1,1 , α 2,1 , α 3,1 , α 4,1 , α 5,1 , α 6,1 in the first column block CB1. The probability messages β 1,1 , β 2,1 , β 3,1 , β 4,1 , β 5,1 , β 6,1 are updated. FIG. 17A shows input / output of the bit node processing unit 33 and the check node processing unit 34 at this time. As shown in FIG. 17A, α 1,1 , α 2,1 , α from the first to third check node processing circuits 34-1 to 34-3 included in the check node processing unit 34, respectively. 3 and 1 are output in parallel, and then α 5,1 , α 6,1 and α 4,1 are output in parallel. When α 1,1 , α 2,1 , α 3,1 are output from the check node processing unit 34, they are temporarily stored in the buffer 72 via the selector 74, and then α 5,1 , α 6 , 1 , α 4 , 1 are supplied to the bit node processing unit 33 at the same timing. When α 5,1 , α 6,1 , α 4,1 are output from the check node processing unit 34, they are immediately supplied to the bit node processing unit 33 via the selector 74 without passing through the buffer 72. Specifically, α 1,1 and α 5,1 in the first column of the parity check matrix H shown in FIG. 1 are supplied to the first bit node processing circuit 33-1 of the bit node processing unit 33. Α 2,1 and α 6,1 in the second column are supplied to the second bit node processing circuit 33-2 of the bit node processing unit 33. The third column α 3,1 , α 4,1 is supplied to the third bit node processing circuit 33-3 of the bit node processing unit 33.

これにより、図17(b)に示されるように、ビットノード処理部33の第1乃至第3のビットノード処理回路33−1乃至33−3からは、β1,1及びβ5,1、β2,1及びβ6,1、β3,1及びβ4,1が出力される。これらの確率メッセージβは、チェックノード処理部34の対応するチェックノード処理回路に供給される。ここで、ビットノード処理部33の出力のうち、β1,1、β2,1、及びβ3,1のそれぞれは、バッファ71を介することなくセレクタ73を介して、直ちに第1乃至第3のチェックノード処理回路34−1乃至34−3に入力される。またビットノード処理部33の出力のうち、β5,1、β6,1、及びβ4,1のそれぞれは、バッファ71に一端蓄えられ、その後適切なタイミングでセレクタ73を介して、第1乃至第3のチェックノード処理回路34−1乃至34−3に入力される。 As a result, as shown in FIG. 17B, the first to third bit node processing circuits 33-1 to 33-3 of the bit node processing unit 33 have β 1,1 and β 5,1 , β 2,1 and β 6,1 , β 3,1 and β 4,1 are output. These probability messages β are supplied to the corresponding check node processing circuit of the check node processing unit 34. Here, among the outputs of the bit node processing unit 33, each of β 1,1 , β 2,1 , and β 3,1 is immediately passed through the selector 73 without passing through the buffer 71. Are input to the check node processing circuits 34-1 to 34-3. Among the outputs of the bit node processing unit 33, β 5,1 , β 6,1 , and β 4,1 are each stored in the buffer 71, and then the first is passed through the selector 73 at an appropriate timing. To the third check node processing circuits 34-1 to 34-3.

以降同様にして、第2の列ブロックCB2内の確率メッセージα1,2、α2,2、α3,2、α4,2、α5,2、α6,2に基づき、CB2内の全ての確率メッセージβ1,2、β2,2、β3,2、β4,2、β5,2、β6,2を更新する。最後に、第3の列ブロックCB3内の確率メッセージα1,3、α2,3、α3,3、α4,3、α5,3、α6,3に基づき、CB3内の全ての確率メッセージβ1,3、β2,3、β3,3、β4,3、β5,3、β6,3を更新する。 In the same manner, based on the probability messages α 1,2 , α 2,2 , α 3,2 , α 4,2 , α 5,2 , α 6,2 in the second column block CB 2 , Update all probability messages β 1,2 , β 2,2 , β 3,2 , β 4,2 , β 5,2 , β 6,2 . Finally, based on the probability messages α 1,3 , α 2,3 , α 3,3 , α 4,3 , α 5,3 , α 6,3 in the third column block CB3, The probability messages β 1,3 , β 2,3 , β 3,3 , β 4,3 , β 5,3 , β 6,3 are updated.

図18は、図17に示すビットノード処理部33及びチェックノード処理部34の動作を示す図である。図18において、(a)乃至(c)はそれぞれ、第1乃至第3のビットノード処理回路33−1乃至33−3の入力及び内部動作を示す。(e)乃至(g)はそれぞれ、第1乃至第3のチェックノード処理回路34−1乃至34−3の入力及び内部動作を示す。更に(d)は、ビットノードバッファであるバッファ71のバッファ動作を示し、(h)は、チェックノードバッファであるバッファ72のバッファ動作を示す。   FIG. 18 is a diagram illustrating operations of the bit node processing unit 33 and the check node processing unit 34 illustrated in FIG. In FIG. 18, (a) to (c) show the inputs and internal operations of the first to third bit node processing circuits 33-1 to 33-3, respectively. (E) through (g) show the inputs and internal operations of the first through third check node processing circuits 34-1 through 34-3, respectively. Further, (d) shows the buffer operation of the buffer 71 which is a bit node buffer, and (h) shows the buffer operation of the buffer 72 which is a check node buffer.

例えば動作サイクルT1においては、第1乃至第3のビットノード処理回路に対応する確率メッセージαが入力される。この状態が図17(a)に示す状態である。また例えば動作サイクルT2においては、第1乃至第3のチェックノード処理回路に対応する確率メッセージβ(β1,1、β2,1、及びβ3,1)が入力される。また例えば動作サイクルT3においては、第1乃至第3のチェックノード処理回路に対応する確率メッセージβ(β5,1、β6,1、及びβ4,1)が入力される。なおβ5,1、β6,1、及びβ4,1は、(d)に示すビットノードバッファに3サイクルの間格納されてから、第1乃至第3のチェックノード処理回路に供給される。この状態が図17(b)に示す状態である。ビットノード処理回路には3個の列ブロックに対応して3回に分けて確率メッセージαが入力される。1動作サイクル遅れて、ビットノード処理回路の内部では図18においてBnodeとして示されるように、ビットノード処理の計算が実行される。このビットノード処理により、ビットノード処理回路から更新後の確率メッセージβ(β1,1、β5,1、β2,1、β6,1、β3,1、β4,1)が同時に出力される。ここで、βの一部(β5,1、β6,1、及びβ4,1)は、(d)に示すビットノードバッファによりバッファされた後、チェックノード処理部に出力される。 For example, in the operation cycle T1, the probability message α corresponding to the first to third bit node processing circuits is input. This state is the state shown in FIG. Further, for example, in the operation cycle T2, probability messages β (β 1,1 , β 2,1 , and β 3,1 ) corresponding to the first to third check node processing circuits are input. Further, for example, in the operation cycle T3, probability messages β (β 5,1 , β 6,1 , and β 4,1 ) corresponding to the first to third check node processing circuits are input. Note that β 5,1 , β 6,1 , and β 4,1 are stored in the bit node buffer shown in (d) for three cycles, and then supplied to the first to third check node processing circuits. . This state is the state shown in FIG. The probability message α is input to the bit node processing circuit in three steps corresponding to the three column blocks. After one operation cycle, the calculation of the bit node processing is executed inside the bit node processing circuit as shown as Bnode in FIG. By this bit node processing, the updated probability messages β (β 1,1 , β 5,1 , β 2,1 , β 6,1 , β 3,1 , β 4,1 ) are simultaneously transmitted from the bit node processing circuit. Is output. Here, a part of β (β 5,1 , β 6,1 , and β 4,1 ) is buffered by the bit node buffer shown in (d) and then output to the check node processing unit.

チェックノード処理部34は、上記式(1)に示すような検査行列の各行のチェックノード処理の計算を、当該行中の1つの確率メッセージβが更新される毎に、この更新された1つの確率メッセージβに基づいて順次段階的に行なう。段階的な計算の仕方は前述の通りである。従って、図18に示す例の場合、巡回型検査行列の第1乃至第3行については、チェックノード処理のために確率メッセージβを格納しておくメモリが必要ない。但し、巡回型検査行列の第4乃至第6行については、第1乃至第3行のチェックノード処理の間確率メッセージを格納しておくために、ビットノードバッファ(図16に示すバッファ71)が用いられる。このビットノードバッファのバッファ機能により、3つの第1乃至第3のチェックノード処理回路34−1乃至34−3を用いて、第1乃至第3行のチェックノード処理と第4乃至第6行のチェックノード処理とを時分割で実行することが可能となる。即ち、巡回型検査行列の複数3個の行に対する並列なチェックノード処理を実行し、この並列なチェックノード処理を順次異なる3個の行に対して逐次的に実行することにより、巡回検査行列の全ての行(6行)に対するチェックノード処理を実行することができる。このとき上記ビットノードバッファは、並列なチェックノード処理を逐次的に実行する際に、実行待ちの並列なチェックノード処理に入力する確率メッセージβを格納しておくように機能する。   The check node processing unit 34 calculates the check node processing for each row of the parity check matrix as shown in the above equation (1) every time one probability message β in the row is updated. This is performed step by step based on the probability message β. The method of stepwise calculation is as described above. Therefore, in the case of the example shown in FIG. 18, the first to third rows of the cyclic check matrix do not require a memory for storing the probability message β for the check node processing. However, for the fourth to sixth rows of the cyclic check matrix, a bit node buffer (buffer 71 shown in FIG. 16) is provided to store a probability message during the check node processing of the first to third rows. Used. By using the buffer function of the bit node buffer, the first to third row check node processing and the fourth to sixth row are performed using the first to third check node processing circuits 34-1 to 34-3. Check node processing can be executed in a time-sharing manner. That is, by executing parallel check node processing for a plurality of three rows of a cyclic check matrix and sequentially executing this parallel check node processing for three different rows, the cyclic check matrix Check node processing can be executed for all rows (6 rows). At this time, the bit node buffer functions to store a probability message β to be input to the parallel check node processing waiting to be executed when the parallel check node processing is sequentially executed.

またチェックノード処理における確率メッセージαの計算は、確率メッセージβの最小値の選択を基本とするので、確率メッセージβの最小値を保持しておけば、それに基づいて確率メッセージαを順次計算できる。但し、図18に示す例の場合、巡回型検査行列の第1乃至第3行のチェックノード処理の終了後に、第4乃至第6行のチェックノード処理が実行されている。従って、第1乃至第3行のチェックノード処理により計算される確率メッセージαを格納しておくために、チェックノードバッファ(図16に示すバッファ74)が用いられる。即ち、チェックノードバッファは、逐次的に実行される並列なチェックノード処理から出力されビットノード処理部に入力待ちの確率メッセージαを格納しておくよう機能する。なお巡回型検査行列の第4乃至第6行については、確率メッセージαを格納しておくメモリは必要ない。   Since the calculation of the probability message α in the check node processing is based on the selection of the minimum value of the probability message β, if the minimum value of the probability message β is held, the probability message α can be sequentially calculated based on that. However, in the case of the example shown in FIG. 18, the check node processing in the fourth to sixth rows is executed after the check node processing in the first to third rows of the cyclic check matrix. Therefore, the check node buffer (buffer 74 shown in FIG. 16) is used to store the probability message α calculated by the check node processing in the first to third rows. That is, the check node buffer functions to store a probability message α waiting for input in the bit node processing unit that is output from the parallel check node processing that is sequentially executed. For the fourth to sixth rows of the cyclic check matrix, a memory for storing the probability message α is not necessary.

チェックノード処理部34は、図16に示すように、n×J/p並列構成となっており、検査行列のpの値に応じた並列度でチェックノード処理を実行してよい。図18に示す例では、動作サイクルT2において、第1乃至第3のチェックノード処理回路は、第1の列ブロックCB1に対して更新された確率メッセージβ1,1、β2,1、β3,1を受け取る。これに1動作サイクル遅れて、チェックノード処理回路の内部では図18においてCnodeとして示されるように、チェックノード処理の計算が実行される。このチェックノード処理の計算は、動作サイクルT2及びそれ以降の動作サイクルにて順次供給される第1列ブロック乃至第3列ブロックの更新された確率メッセージβに基づいて、順次段階的に実行される。また更に動作サイクルT3において、第1乃至第3のチェックノード処理回路は、第1の列ブロックCB1に対して更新された確率メッセージβ5,1、β6,1、β4,1を受け取る。これに1動作サイクル遅れて、チェックノード処理回路の内部では図18においてCnodeとして示されるように、チェックノード処理の計算が実行される。このチェックノード処理の計算は、動作サイクルT3及びそれ以降の動作サイクルにて順次供給される第1列ブロック乃至第3列ブロックの更新された確率メッセージβに基づいて、順次段階的に実行される。 As shown in FIG. 16, the check node processing unit 34 has an n × J / p parallel configuration, and the check node processing unit 34 may execute check node processing with a degree of parallelism according to the value of p of the check matrix. In the example illustrated in FIG. 18, in the operation cycle T2, the first to third check node processing circuits are updated with the probability messages β 1,1 , β 2,1 , β 3 updated for the first column block CB1. , 1 is received. One check cycle later than this, check node processing is calculated inside the check node processing circuit, as indicated by Cnode in FIG. The calculation of the check node process is sequentially executed step by step based on the updated probability messages β of the first column block to the third column block sequentially supplied in the operation cycle T2 and the subsequent operation cycles. . Furthermore, in the operation cycle T3, the first to third check node processing circuits receive the probability messages β 5,1 , β 6,1 , β 4,1 updated for the first column block CB1. One check cycle later than this, check node processing is calculated inside the check node processing circuit, as indicated by Cnode in FIG. The calculation of the check node processing is sequentially executed step by step based on the updated probability messages β of the first to third column blocks sequentially supplied in the operation cycle T3 and the subsequent operation cycles. .

上記のチェックノード処理において、確率メッセージβが全ての列ブロックについて更新され供給されると、確率メッセージαの更新処理は実質的に完了する。巡回型検査行列の3つの行に対応するチェックノード処理回路34−1乃至34−3は、対応する行中の全ての確率メッセージβが更新された後、当該行中の更新後の確率メッセージαを順次出力する。例えばチェックノード処理回路34−1は、まず巡回型検査行列の第1行に対して、更新後の確率メッセージα1,1、α1,2、α1,3を順次出力する。またチェックノード処理回路34−1は、更に巡回型検査行列の第5行に対して、更新後の確率メッセージα5,1、α5,2、α5,3を順次出力する。 In the above check node processing, when the probability message β is updated and supplied for all the column blocks, the update processing of the probability message α is substantially completed. The check node processing circuits 34-1 to 34-3 corresponding to the three rows of the cyclic check matrix update all the probability messages β in the corresponding rows, and then update the probability messages α in the rows. Are output sequentially. For example, the check node processing circuit 34-1 first outputs the updated probability messages α 1,1 , α 1,2 , α 1,3 sequentially to the first row of the cyclic check matrix. Further, the check node processing circuit 34-1 sequentially outputs updated probability messages α 5,1 , α 5,2 , α 5,3 to the fifth row of the cyclic check matrix.

なお図16のLDPC復号部22Aのビットノード処理部33の1つのビットノード処理回路は、図11に示す回路構成であってよい。また図16のLDPC復号部22Aのチェックノード処理部34の1つのチェックノード処理回路は、図10或いは図15に示す回路構成であってよい。図16に示すLDPC復号部22Aにおいては、バッファ71及び72を利用することにより、チェックノード処理回路の並列数をn×J/p個に減らし、論理演算部分の回路規模を削減することができる。   Note that one bit node processing circuit of the bit node processing unit 33 of the LDPC decoding unit 22A of FIG. 16 may have the circuit configuration shown in FIG. Also, one check node processing circuit of the check node processing unit 34 of the LDPC decoding unit 22A of FIG. 16 may have the circuit configuration shown in FIG. 10 or FIG. In the LDPC decoding unit 22A shown in FIG. 16, by using the buffers 71 and 72, the parallel number of check node processing circuits can be reduced to n × J / p, and the circuit scale of the logical operation part can be reduced. .

なお本願発明は、以下の内容を含むものである。
(付記1)
巡回型LDPC符号の復号処理におけるビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき前記1列ブロック内の全ての確率メッセージβを更新するビットノード処理部と、
前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力するチェックノード処理部と
を含むことを特徴とする復号装置。
(付記2)
前記ビットノード処理部は、1列ブロック内の全ての列に対して並列にビットノード処理を実行し、前記チェックノード処理部は、全ての行に対して並列にチェックノード処理を実行することを特徴とする付記1記載の復号装置。
(付記3)
前記ビットノード処理部の出力は、メモリを介することなく前記チェックノード処理部の入力に直接に接続されることを特徴とする付記1又は2記載の復号装置。
(付記4)
前記チェックノード処理部は、
第1レジスタと、
第2レジスタと、
前記更新された1つの確率メッセージβの絶対値と前記第1レジスタの格納値とを比較する比較器と、
前記更新された1つの確率メッセージβの符号と前記第2レジスタの格納値との排他的論理和をとるXOR回路と
を含むことを特徴とする付記1乃至3何れか一項記載の復号装置。
(付記5)
前記ビットノード処理部は、対数尤度比の入力と確率メッセージαとに基づき、確率メッセージβを更新すると共に硬判定後の復号データを生成することを特徴とする付記1乃至4何れか一項記載の復号装置。
(付記6)
前記ビットノード処理部は、1列ブロック内の全ての列に対して並列にビットノード処理を実行し、前記チェックノード処理部は、前記検査行列の複数M個の行に対する並列なチェックノード処理を実行し、前記並列なチェックノード処理を順次異なるM個の行に対して逐次的に実行することにより、前記検査行列の全ての行に対するチェックノード処理を実行することを特徴とする付記1記載の復号装置。
(付記7)
前記並列なチェックノード処理を逐次的に実行する際に実行待ちの前記並列なチェックノード処理に入力する確率メッセージβを格納しておく第1のバッファと、
逐次的に実行される前記並列なチェックノード処理から出力され前記ビットノード処理部に入力待ちの確率メッセージαを格納しておく第2のバッファと
を更に含むことを特徴とする付記6記載の復号装置。
(付記8)
巡回型LDPC符号の復号処理におけるビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき前記1列ブロック内の全ての確率メッセージβを更新し、
前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力する
各段階を含むことを特徴とする復号方法。
(付記9)
1列ブロック内の全ての列に対して並列に前記ビットノード処理を実行し、全ての行に対して並列に前記チェックノード処理を実行することを特徴とする付記8記載の復号方法。
(付記10)
前記ビットノード処理は、対数尤度比の入力と確率メッセージαとに基づき、確率メッセージβを更新すると共に硬判定後の復号データを生成することを特徴とする付記8又は9記載の復号方法。
(付記11)
アナログ受信信号をデジタル受信信号に変換し、前記デジタル受信信号を復調して復調された受信信号を生成し、前記復調された受信信号からLLRを計算して出力する復調部と、
前記LLRに基づいてLDPC復号処理を行なう復号部と
を含み、前記復号部は、
巡回型LDPC符号の復号処理におけるビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき前記1列ブロック内の全ての確率メッセージβを更新するビットノード処理部と、
前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力するチェックノード処理部と
を含むことを特徴とする受信装置。
The present invention includes the following contents.
(Appendix 1)
A bit node that performs a bit node process in the decoding process of the cyclic LDPC code for each column block of the parity check matrix and updates all the probability messages β in the column block based on the probability message α in the column block A processing unit;
In the calculation of check node processing for each row of the check matrix, the calculation of check node processing for one row is changed to one probability message β that is updated every time one probability message β in the one row is updated. And a check node processing unit that sequentially outputs the updated probability messages α in the one row after all the probability messages β in the one row are updated. A decoding device.
(Appendix 2)
The bit node processing unit performs bit node processing in parallel on all columns in one column block, and the check node processing unit performs check node processing on all rows in parallel. The decoding device according to supplementary note 1, which is characterized.
(Appendix 3)
The decoding apparatus according to claim 1 or 2, wherein an output of the bit node processing unit is directly connected to an input of the check node processing unit without going through a memory.
(Appendix 4)
The check node processing unit
A first register;
A second register;
A comparator that compares the absolute value of the updated one probability message β with the stored value of the first register;
The decoding apparatus according to any one of appendices 1 to 3, further comprising an XOR circuit that performs an exclusive OR of the sign of the updated one probability message β and the stored value of the second register.
(Appendix 5)
The bit node processing unit updates the probability message β and generates the decoded data after the hard decision based on the log likelihood ratio input and the probability message α. The decoding device described.
(Appendix 6)
The bit node processing unit performs bit node processing on all columns in one column block in parallel, and the check node processing unit performs parallel check node processing on a plurality of M rows of the check matrix. The check node processing is executed for all the rows of the parity check matrix by sequentially executing the parallel check node processing for different M rows sequentially. Decoding device.
(Appendix 7)
A first buffer for storing a probability message β to be input to the parallel check node process waiting to be executed when the parallel check node process is sequentially executed;
The decoding according to claim 6, further comprising: a second buffer that is output from the parallel check node processing executed sequentially and stores a probability message α waiting for input in the bit node processing unit. apparatus.
(Appendix 8)
Performing bit node processing in the decoding process of the cyclic LDPC code for each column block of the parity check matrix, and updating all the probability messages β in the one-column block based on the probability message α in the one-column block;
In the calculation of check node processing for each row of the check matrix, the calculation of check node processing for one row is changed to one probability message β that is updated every time one probability message β in the one row is updated. And decoding each step of sequentially outputting the updated probability messages α in the one row after all the probability messages β in the one row are updated. Method.
(Appendix 9)
9. The decoding method according to appendix 8, wherein the bit node processing is executed in parallel for all columns in one column block, and the check node processing is executed in parallel for all rows.
(Appendix 10)
The decoding method according to appendix 8 or 9, wherein the bit node processing updates the probability message β and generates decoded data after the hard decision based on the log likelihood ratio input and the probability message α.
(Appendix 11)
A demodulator that converts an analog reception signal into a digital reception signal, demodulates the digital reception signal to generate a demodulated reception signal, calculates and outputs an LLR from the demodulated reception signal;
A decoding unit that performs LDPC decoding based on the LLR, and the decoding unit includes:
A bit node that performs a bit node process in the decoding process of the cyclic LDPC code for each column block of the parity check matrix and updates all the probability messages β in the column block based on the probability message α in the column block A processing unit;
In the calculation of check node processing for each row of the check matrix, the calculation of check node processing for one row is changed to one probability message β that is updated every time one probability message β in the one row is updated. And a check node processing unit that sequentially outputs the updated probability messages α in the one row after all the probability messages β in the one row are updated. A receiving device.

以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。   As mentioned above, although this invention was demonstrated based on the Example, this invention is not limited to the said Example, A various deformation | transformation is possible within the range as described in a claim.

10 送信装置
15 通信路
20 受信装置
31 制御部
32 LLR用RAM
33 ビットノード処理部
34 チェックノード処理部
35 パリティ検査部
DESCRIPTION OF SYMBOLS 10 Transmission apparatus 15 Communication path 20 Reception apparatus 31 Control part 32 LLR RAM
33 bit node processing unit 34 check node processing unit 35 parity check unit

Claims (7)

巡回型LDPC符号の復号処理におけるビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき前記1列ブロック内の全ての確率メッセージβを更新するビットノード処理部と、
前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力するチェックノード処理部と
を含むことを特徴とする復号装置。
A bit node that performs a bit node process in the decoding process of the cyclic LDPC code for each column block of the parity check matrix and updates all the probability messages β in the column block based on the probability message α in the column block A processing unit;
In the calculation of check node processing for each row of the check matrix, the calculation of check node processing for one row is changed to one probability message β that is updated every time one probability message β in the one row is updated. And a check node processing unit that sequentially outputs the updated probability messages α in the one row after all the probability messages β in the one row are updated. A decoding device.
前記ビットノード処理部は、1列ブロック内の全ての列に対して並列にビットノード処理を実行し、前記チェックノード処理部は、全ての行に対して並列にチェックノード処理を実行することを特徴とする請求項1記載の復号装置。   The bit node processing unit performs bit node processing in parallel on all columns in one column block, and the check node processing unit performs check node processing on all rows in parallel. The decoding device according to claim 1, wherein: 前記ビットノード処理部の出力は、メモリを介することなく前記チェックノード処理部の入力に直接に接続されることを特徴とする請求項1又は2記載の復号装置。   3. The decoding apparatus according to claim 1, wherein an output of the bit node processing unit is directly connected to an input of the check node processing unit without going through a memory. 前記チェックノード処理部は、
第1レジスタと、
第2レジスタと、
前記更新された1つの確率メッセージβの絶対値と前記第1レジスタの格納値とを比較する比較器と、
前記更新された1つの確率メッセージβの符号と前記第2レジスタの格納値との排他的論理和をとるXOR回路と
を含むことを特徴とする請求項1乃至3何れか一項記載の復号装置。
The check node processing unit
A first register;
A second register;
A comparator that compares the absolute value of the updated one probability message β with the stored value of the first register;
4. The decoding device according to claim 1, further comprising: an XOR circuit that obtains an exclusive OR of the sign of the updated one probability message β and the stored value of the second register. 5. .
前記ビットノード処理部は、1列ブロック内の全ての列に対して並列にビットノード処理を実行し、前記チェックノード処理部は、前記検査行列の複数M個の行に対する並列なチェックノード処理を実行し、前記並列なチェックノード処理を順次異なるM個の行に対して逐次的に実行することにより、前記検査行列の全ての行に対するチェックノード処理を実行することを特徴とする請求項1記載の復号装置。   The bit node processing unit performs bit node processing on all columns in one column block in parallel, and the check node processing unit performs parallel check node processing on a plurality of M rows of the check matrix. The check node processing is executed for all rows of the parity check matrix by executing and executing the parallel check node processing sequentially on different M rows sequentially. Decoding device. 前記並列なチェックノード処理を逐次的に実行する際に実行待ちの前記並列なチェックノード処理に入力する確率メッセージβを格納しておく第1のバッファと、
逐次的に実行される前記並列なチェックノード処理から出力され前記ビットノード処理部に入力待ちの確率メッセージαを格納しておく第2のバッファと
を更に含むことを特徴とする請求項5記載の復号装置。
A first buffer for storing a probability message β to be input to the parallel check node process waiting to be executed when the parallel check node process is sequentially executed;
6. The second buffer according to claim 5, further comprising: a second buffer that is output from the parallel check node processing executed sequentially and stores a probability message α waiting for input in the bit node processing unit. Decoding device.
巡回型LDPC符号の復号処理におけるビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき前記1列ブロック内の全ての確率メッセージβを更新し、
前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力する
各段階を含むことを特徴とする復号方法。
Performing bit node processing in the decoding process of the cyclic LDPC code for each column block of the parity check matrix, and updating all the probability messages β in the one-column block based on the probability message α in the one-column block;
In the calculation of check node processing for each row of the check matrix, the calculation of check node processing for one row is changed to one probability message β that is updated every time one probability message β in the one row is updated. And decoding each step of sequentially outputting the updated probability messages α in the one row after all the probability messages β in the one row are updated. Method.
JP2011239657A 2010-11-15 2011-10-31 Decoder and decoding method Pending JP2012124888A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011239657A JP2012124888A (en) 2010-11-15 2011-10-31 Decoder and decoding method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010255368 2010-11-15
JP2010255368 2010-11-15
JP2011239657A JP2012124888A (en) 2010-11-15 2011-10-31 Decoder and decoding method

Publications (1)

Publication Number Publication Date
JP2012124888A true JP2012124888A (en) 2012-06-28

Family

ID=46505833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011239657A Pending JP2012124888A (en) 2010-11-15 2011-10-31 Decoder and decoding method

Country Status (1)

Country Link
JP (1) JP2012124888A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10069515B2 (en) 2015-02-02 2018-09-04 Kabushiki Kaisha Toshiba Decoding device and decoding method
US11929762B2 (en) 2021-11-24 2024-03-12 Samsung Electronics Co., Ltd. Low density parity check decoder and storage device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007329828A (en) * 2006-06-09 2007-12-20 Mitsubishi Electric Corp Decoding method, decoder and communication equipment
WO2010019287A1 (en) * 2008-08-15 2010-02-18 Lsi Corporation Error-correction decoder employing multiple check-node algorithms
US20100107030A1 (en) * 2008-10-29 2010-04-29 Agere Systems Inc. Ldpc decoders using fixed and adjustable permutators
US20100275088A1 (en) * 2009-04-22 2010-10-28 Agere Systems Inc. Low-latency decoder
JP4572937B2 (en) * 2008-01-23 2010-11-04 ソニー株式会社 Decoding device and method, program, and recording medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007329828A (en) * 2006-06-09 2007-12-20 Mitsubishi Electric Corp Decoding method, decoder and communication equipment
JP4572937B2 (en) * 2008-01-23 2010-11-04 ソニー株式会社 Decoding device and method, program, and recording medium
WO2010019287A1 (en) * 2008-08-15 2010-02-18 Lsi Corporation Error-correction decoder employing multiple check-node algorithms
JP2012500514A (en) * 2008-08-15 2012-01-05 エルエスアイ コーポレーション Error correction decoder using multiple check node algorithms
US20100107030A1 (en) * 2008-10-29 2010-04-29 Agere Systems Inc. Ldpc decoders using fixed and adjustable permutators
US20100275088A1 (en) * 2009-04-22 2010-10-28 Agere Systems Inc. Low-latency decoder

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6015032875; Lingzhi Liu,C.-J. Richard Shi: 'Sliced Message Passing: High Throughput Overlapped Decoding of High-Rate Low-Density Parity-Check Co' Circuits and Systems I: Regular Papers, IEEE Transactions on (Volume:55,Issue:11), 20081212, pp.3697-3710 *
JPN6015032876; Sang-Min Kim,Keshab K. Parhi: 'Overlapped decoding for a class of quasi-cyclic LDPC codes' Signal Processing Systems, 2004. SIPS 2004. IEEE Workshop on , 20041015, pp.113-117 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10069515B2 (en) 2015-02-02 2018-09-04 Kabushiki Kaisha Toshiba Decoding device and decoding method
US11929762B2 (en) 2021-11-24 2024-03-12 Samsung Electronics Co., Ltd. Low density parity check decoder and storage device

Similar Documents

Publication Publication Date Title
JP4038519B2 (en) Method and apparatus for decoding low density parity check code using integrated node processing
JP4062435B2 (en) Error correction code decoding apparatus
KR100958234B1 (en) Node processors for use in parity check decoders
KR101203340B1 (en) Turbo ldpc decoding
JP4038518B2 (en) Method and apparatus for efficiently decoding low density parity check code
TWI699977B (en) Method employed in ldpc decoder and the decoder
JP4320418B2 (en) Decoding device and receiving device
US9461671B1 (en) Method and apparatus for power conservation in LDPC decoding
CN107919874B (en) Syndrome computation basic check node processing unit, method and computer program
CN104995844A (en) Bit flipping decoding with reliability inputs for LDPC codes
CN110771047B (en) Polarity decoder for LLR domain computation with F and G functions
US10848182B2 (en) Iterative decoding with early termination criterion that permits errors in redundancy part
CN109802688B (en) Multilevel LDPC decoding system and method
JP5148586B2 (en) Decoding device and decoding method
US20170134048A1 (en) Message-passing based decoding using syndrome information, and related methods
US20100185913A1 (en) Method for decoding ldpc code and the circuit thereof
JP2012124888A (en) Decoder and decoding method
CN112134570A (en) Multi-mode LDPC decoder applied to deep space communication
US20140122979A1 (en) Hardware Architecture and Implementation of Low Power Layered Multi-Level LDPC Decoder
US11201629B2 (en) Low latency sequential list decoding of polar codes
CN115694513A (en) Ultra-high throughput rate LDPC decoder based on shift-type base graph
JP5310701B2 (en) Decoding device and decoding method
US20150254130A1 (en) Error correction decoder
JP5385944B2 (en) Decoder
JP2007281771A (en) Error correction decoder and error correction decoding method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150406

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150818