JP2006019889A - 低密度パリティチェック符号復号器及び方法 - Google Patents
低密度パリティチェック符号復号器及び方法 Download PDFInfo
- Publication number
- JP2006019889A JP2006019889A JP2004193767A JP2004193767A JP2006019889A JP 2006019889 A JP2006019889 A JP 2006019889A JP 2004193767 A JP2004193767 A JP 2004193767A JP 2004193767 A JP2004193767 A JP 2004193767A JP 2006019889 A JP2006019889 A JP 2006019889A
- Authority
- JP
- Japan
- Prior art keywords
- parity
- bit
- row
- check matrix
- parity check
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1168—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/1137—Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/114—Shuffled, staggered, layered or turbo decoding schedules
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
【解決手段】LDPC符号復号器は、ビット処理ユニット10-1乃至10-M(M=rm)と、パリティ処理ユニット20-1乃至20-mと、コントローラ40とを含む。ユニット10-1乃至10-Mは、m×mの順列行列がr×sに配列された構造のパリティ検査行列のそれぞれ第1乃至第M行に対応して設けられ、その行内の値が“1”の各列位置に対応するビット情報を順次更新する。ユニット20-1乃至20-mは、ユニット10-1乃至10-Mによるビット更新が上記検査行列の対応する行内のm個の列位置について終了する毎に、そのm個の列位置が属するm列内の値が“1”の各行位置に対応するパリティ情報を更新する。ユニット10-1乃至10-Mは、ユニット20-1乃至20-mによって上記検査行列の最初のm列のパリティ更新が終了した場合に、次のビット更新を開始する。
【選択図】 図2
Description
アンドリュー・ジェイ・ブランクスビー(Andrew J. Blanksby),クリス・ジェイ・ホーランド(Chris J. Howland),「A 690-mW 1-Gb/s 1024-b, rate-1/2 低密度パリティチェック符号復号器(A 690-mW 1-Gb/s 1024-b, Rate-1/2 Low-Density Parity-Check Code Decoder)」,IEEE Journal of Solid-State Circuits, Vol. 37, No. 3, March 2002 p.404-412」
まず、本実施形態で適用される、LDPC符号のパリティ検査行列Hについて説明する。この検査行列Hは、図1に示すように、r×sの順列行列(Permuted Matrix)Ig,h(g=1,2,…r,h=1,2,…,s)のアレイ構成として表される。各順列行列Ig,hは検査行列Hのサブマトリクスであり、m×mの単位行列Iの異なる2つの行の交換、もしくは異なる2つの列の交換を、複数回数繰り返すことにより得られる行列である。この場合、検査行列Hの行数Mはrmであり、列数Nはsmである。図1の例では、r=3、s=5である。検査行列Hは、M(=rm)個のパリティノードと、N(=sm)個のビットノードを含む。この検査行列Hは、LDPC符号がN(=sm)ビットである場合を前提としている。このLDPC符号のj番目(j=1,2,…,N)のビットをxjと表現する。検査行列Hの各行は、周知のように、それぞれ1つのパリティチェック方程式であると見なすことができる。検査行列Hの第i行に対応するパリティチェック方程式は、第iパリティチェック方程式と呼ばれる。NビットのLDPC符号は、検査行列H内の全てのパリティチェック方程式、つまり第1乃至第Mパリティチェック方程式を満足しなければならない。
ri,jは、パリティノードからビットノードに、検査行列Hの第i行の各ビット(但し、第i行のj番目の位置のビットを除く)に対応するパリティ情報(信頼性情報)qi,j'を受け渡すことにより求められる。ri,jは、検査行列Hの第i行内のj番目の位置に対応する符号ビットxjに関する信頼性を表すビット情報(信頼性情報)である。ここでは、ri,jは、ビットxjが0または1である確率それ自体ではなくて、その確率の対数値を表すものとする。ここで対数値を用いるのは、乗除算を加減算に置き換えることを可能とするためである。
M(i)\jは、jを除くM(i)を表す。
j'∈M(i)\jは、jを除くM(i)に含まれている任意の行位置を表す。
qi,j'は、検査行列Hの第i行内のj番目の位置に対応する符号ビットxj'に関する信頼性を表すパリティ情報(信頼性情報)である。qi,j'は、ビットxj'が0または1である確率それ自体ではなくて、その確率の対数値を表すものとする。
qi,jは、ビットノードからパリティノードに、検査行列Hの第j行の各ビット(但し、第j列のi番目の位置のビットを除く)に対応するビット情報(信頼性情報)ri',jを受け渡すことにより求められる。qi,jは、検査行列Hの第i行内のj番目の位置のビットxjに関する信頼性を表すパリティ情報(信頼性情報)である。このqi,jが上記qi,j'として上記式(1)に従うビット更新に用いられる。
N(j)\iは、iを除くN(j)を表す。
i'∈N(j)\iは、iを除くN(j)に含まれている任意の列位置を表す。
ri',jは、検査行列Hの第i行内のj番目の位置のビットxjに関する信頼性を表すビット情報(信頼性情報)である。このri',jには、上記式(1)に従う計算で更新されたri,jが用いられる。
まずコントローラ40は、初期化作業として、メモリ30内の各メモリユニットに、通信チャネルの出力により求められた確率の対数値であるpjを、Ψ(pj)及びsgn(pj)として格納する。即ち本実施形態においては、全てのjについて、Ψ(qi1,j),Ψ(qi2,j)及びΨ(qi3,j)として、共にΨ(pj)の値がセットされる。qi1,j,qi2,j及びqi3,jは、検査行列Hの第j列内で“1”となるビット位置i1,i2及びi3にそれぞれ対応するパリティ情報qi,j(i=i1,i2,i3)を表す。また、MSB(qi1,j),MSB(qi2,j)及びMSB(qi3,j)として、共にsgn(pj)の値がセットされる。またコントローラ40は、M個のビット処理ユニット10-1乃至10-M内のレジスタ131及び111aを、いずれもゼロに初期化する。
まず、第1サイクルでは、M個のビット処理ユニット10-1乃至10-Mによって加算処理が開始される。即ち、ビット処理ユニット10-1乃至10-M内のレジスタ131にMSB(qi,j1)が格納され、レジスタ111aにΨ(qi,j1)が格納される。qi,j1は、検査行列Hの第i行内で“1”となる5つのビット位置j1,j2,i3,j4,j5のうちのj1に対応するパリティ情報qi,j(j=j1)を表す。つまり、ビット処理ユニット10-1乃至10-M内のレジスタ131及び111aにそれぞれ格納される情報MSB(qi,j1)及びΨ(qi,j1)は、検査行列Hの各行内で“1”となる位置のうちの最左端に対応するものであり、メモリ20に格納されているQ1,1,Q2,1及びQ3,1に相当する。
第2サイクルでは、ビット処理ユニット10-1乃至10-Mの加算回路111内のマルチプレクサ111bによってΨ(qi,j2)が選択される。そして第2サイクルでは、このΨ(qi,j2)を用いて加算回路111による加算処理が行われる。即ち、第1サイクルにおいてレジスタ111aに格納されていた値と、マルチプレクサ111bによって選択されたΨ(qi,j2)とが、加算回路111内の加算器111dによって加算される。加算器111dの加算結果、つまりレジスタ111aに格納されていた値とΨ(qi,j2)との和は、当該レジスタ111aに格納される。一方、ビット処理ユニット10-1乃至10-Mの符号計算回路130では、当該符号計算回路130内のマルチプレクサ132によってMSB(qi,j2)が選択される。第2サイクルでは、このMSB(qi,j2)を用いて符号計算回路130内の排他的論理和回路134による排他的論理和演算が行われる。即ち、排他的論理和回路134では、第1サイクルにおいてレジスタ131に格納されていた値と、マルチプレクサ132によって選択されたMSB(qi,j2)との排他的論理和が計算される。排他的論理和回路134の演算結果、つまりレジスタ131に格納されていた値とMSB(qi,j2)との排他的論理和演算結果は、当該レジスタ131に格納される。なお、Ψ(qi,j2)及びMSB(qi,j2)は、検査行列Hの第i行内で“1”となるビット位置j1,j2,i3,j4,j5のうちの2番目のビット位置j2(j=j2)に対応するものであり、メモリ20に格納されているQ1,2,Q2,2及びQ3,2に相当する。
第3サイクルでは、ビット処理ユニット10-1乃至10-Mの加算回路111内のマルチプレクサ111bによってΨ(qi,j3)が選択される。そして第3サイクルでは、このΨ(qi,j3)を用いて加算回路111による加算処理が行われる。即ち、第2サイクルにおいてレジスタ111aに格納されていた値と、マルチプレクサ111bによって選択されたΨ(qi,j3)とが、加算回路111内の加算器111dによって加算される。加算器111dの加算結果、つまりレジスタ111aに格納されていた値とΨ(qi,j3)との和は、当該レジスタ111aに格納される。一方、ビット処理ユニット10-1乃至10-Mの符号計算回路130では、当該符号計算回路130内のマルチプレクサ132によってMSB(qi,j3)が選択される。第3サイクルでは、このMSB(qi,j3)を用いて符号計算回路130内の排他的論理和回路134による排他的論理和演算が行われる。即ち、排他的論理和回路134では、第2サイクルにおいてレジスタ131に格納されていた値と、マルチプレクサ132によって選択されたMSB(qi,j3)との排他的論理和が計算される。排他的論理和回路134の演算結果、つまりレジスタ131に格納されていた値とMSB(qi,j3)との排他的論理和演算結果は、当該レジスタ131に格納される。なお、Ψ(qi,j3)及びMSB(qi,j3)は、検査行列Hの第i行内で“1”となるビット位置j1,j2,i3,j4,j5のうちの3番目のビット位置j3(j=j3)に対応するものであり、メモリ20に格納されているQ1,3,Q2,3及びQ3,3に相当する。
第4サイクルでは、ビット処理ユニット10-1乃至10-Mの加算回路111内のマルチプレクサ111bによってΨ(qi,j4)が選択される。そして第4サイクルでは、このΨ(qi,j4)を用いて加算回路111による加算処理が行われる。即ち、第3サイクルにおいてレジスタ111aに格納されていた値と、マルチプレクサ111bによって選択されたΨ(qi,j4)とが、加算回路111内の加算器111dによって加算される。加算器111dの加算結果、つまりレジスタ111aに格納されていた値とΨ(qi,j4)との和は、当該レジスタ111aに格納される。一方、ビット処理ユニット10-1乃至10-Mの符号計算回路130では、当該符号計算回路130内のマルチプレクサ132によってMSB(qi,j4)が選択される。第4サイクルでは、このMSB(qi,j4)を用いて符号計算回路130内の排他的論理和回路134による排他的論理和演算が行われる。即ち、排他的論理和回路134では、第3サイクルにおいてレジスタ131に格納されていた値と、マルチプレクサ132によって選択されたMSB(qi,j4)との排他的論理和が計算される。排他的論理和回路134の演算結果、つまりレジスタ131に格納されていた値とMSB(qi,j4)との排他的論理和演算結果は、当該レジスタ131に格納される。なお、Ψ(qi,j4)及びMSB(qi,j4)は、検査行列Hの第i行内で“1”となるビット位置j1,j2,i3,j4,j5のうちの4番目のビット位置j4(j=j4)に対応するものであり、メモリ20に格納されているQ1,4,Q2,4及びQ3,4に相当する。
第5サイクルでは、ビット処理ユニット10-1乃至10-Mの加算回路111内のマルチプレクサ111bによってΨ(qi,j5)が選択される。そして第5サイクルでは、このΨ(qi,j5)を用いて加算回路111による加算処理が行われる。即ち、第4サイクルにおいてレジスタ111aに格納されていた値と、マルチプレクサ111bによって選択されたΨ(qi,j5)とが、加算回路111内の加算器111dによって加算される。加算器111dの加算結果、つまりレジスタ111aに格納されていた値とΨ(qi,j5)との和は、当該レジスタ111aに格納される。一方、ビット処理ユニット10-1乃至10-Mの符号計算回路130では、当該符号計算回路130内のマルチプレクサ132によってMSB(qi,j5)が選択される。第5サイクルでは、このMSB(qi,j5)を用いて符号計算回路130内の排他的論理和回路134による排他的論理和演算が行われる。即ち、排他的論理和回路134では、第4サイクルにおいてレジスタ131に格納されていた値と、マルチプレクサ132によって選択されたMSB(qi,j5)との排他的論理和が計算される。排他的論理和回路134の演算結果、つまりレジスタ131に格納されていた値とMSB(qi,j5)との排他的論理和演算結果は、当該レジスタ131に格納される。なお、Ψ(qi,j5)及びMSB(qi,j5)は、検査行列Hの第i行内で“1”となるビット位置j1,j2,i3,j4,j5のうちの最右端のビット位置j5(j=j5)に対応するものであり、メモリ20に格納されているQ1,5,Q2,5及びQ3,5に相当する。
第6サイクルでは、ビット処理ユニット10-1乃至10-M内の減算回路112による減算処理が開始される。この減算処理には、各ビット処理ユニット10-i(i=1,2,…M)内の上記一方のレジスタ111aに保持されている加算処理の最終結果(つまりビット処理ユニット10-iにおいては、検査行列Hの第i行内で値が“1”となる位置に対応するΨ(qi,j)の総和)と、メモリ30に格納されているQ1,1,Q2,1及びQ3,1とが用いられる。この減算処理では、上記加算処理の最終結果からΨ(qi,j1)が減じられる。そのため、減算回路112内のマルチプレクサ112bでは、1対のレジスタ111aのうち、加算処理の最終結果を保持しているものが選択される。また、減算回路112内のマルチプレクサ112aでは、Ψ(qi,j1)が選択される。そして、マルチプレクサ112bによって選択された加算処理の最終結果から、マルチプレクサ112aによって選択されたΨ(qi,j1)が、減算回路112内の減算器112cによって減じられる。
第7サイクルでは、ビット処理ユニット10-1乃至10-M内の減算回路112による減算処理が行われる。この減算処理には、各ビット処理ユニット10-i(i=1,2,…M)内の上記一方のレジスタ111aに保持されている加算処理の最終結果(検査行列Hの第i行内で値が“1”となる位置に対応するΨ(qi,j)の総和)と、メモリ30に格納されているQ1,2,Q2,2及びQ3,2とが用いられる。この減算処理では、上記加算処理の最終結果からΨ(qi,j2)が減じられる。そのため、減算回路112内のマルチプレクサ112bでは、1対のレジスタ111aのうち、加算処理の最終結果を保持しているものが選択される。また、減算回路112内のマルチプレクサ112aでは、Ψ(qi,j2)が選択される。そして、マルチプレクサ112bによって選択された加算処理の最終結果から、マルチプレクサ112aによって選択されたΨ(qi,j2)が、減算回路112内の減算器112cによって減じられる。
第8サイクルでは、更新されたQ'1,1,Q'2,1及びQ'3,1内の各要素qi,jを利用することができる。このため第8サイクルでは、コントローラ40の制御によって、ビット処理ユニット10-1乃至10-Mによる次のビット更新処理が開始され、上記第1サイクルと同様の加算処理が行われる。但し、この加算処理の結果は、上記第1サイクル(乃至第5サイクル)における加算処理の結果を保持するのに用いられた上記一方のレジスタではなく、1対のレジスタ111aのうちの他方のレジスタに保持される。
第9サイクルでは、更新されたQ'1,2,Q'2,2及びQ'3,2を用いて、上記第2サイクルと同様の加算処理がビット処理ユニット10-1乃至10-Mによって行われる。
第10サイクルでは、更新されたQ'1,3,Q'2,3及びQ'3,3を用いて、上記第3サイクルと同様の加算処理がビット処理ユニット10-1乃至10-Mによって行われる。
第11サイクルでは、更新されたQ'1,4,Q'2,4及びQ'3,4を用いて、上記第4サイクルと同様の加算処理がビット処理ユニット10-1乃至10-Mによって行われる。
Claims (11)
- m×mの順列行列がr×sに配列された構造のパリティ検査行列を持つ低密度パリティチェック符号を復号する低密度パリティチェック符号復号器であって、
前記パリティ検査行列の各行に対応して設けられ、当該行内の値が“1”の各列位置に対応するビット情報を順次更新するためのビット更新処理を実行するrm個のビット処理ユニットと、
前記r×sに配列されたrs個の前記順列行列に共通に、且つ当該順列行列の各列に対応して設けられ、当該列が属する前記パリティ検査行列の列内の値が“1”の各行位置に対応するパリティ情報を更新するためのパリティ更新処理を実行するm個のパリティ処理ユニットと、
前記rm個のビット処理ユニットによるビット更新処理が前記パリティ検査行列の対応する行内のm個の列位置について終了する毎に、そのm個の列位置が属する前記パリティ検査行列のm列に対応するパリティ更新処理を前記m個のパリティ処理ユニットにより実行させ、前記m個のパリティ処理ユニットによるパリティ更新処理が前記パリティ検査行列の最初のm列について終了した場合に、前記rm個のビット処理ユニットによる次のビット更新処理を開始させるコントローラと
を具備することを特徴とする低密度パリティチェック符号復号器。 - 前記rm個のビット処理ユニットの各々は、
前記パリティ検査行列の対応する行内の値が“1”の各列位置に対応する対数表現されたパリティ情報の値を順次加算する加算処理により、そのパリティ情報の値の総和を計算する加算回路と、
前記加算回路によって計算された総和から前記パリティ検査行列の対応する行内の値が“1”の各列位置に対応する対数表現されたパリティ情報の値を減じる減算処理を実行する減算回路とを含む
ことを特徴とする請求項1記載の低密度パリティチェック符号復号器。 - 前記コントローラは、前記rm個のビット処理ユニットにそれぞれ含まれている前記減算回路による減算処理が前記パリティ検査行列の対応する行内のm個の列位置について終了する毎に、前記ビット更新処理が当該m個の列位置について終了したとして、そのm個の列位置が属するm列に対応するパリティ更新処理を前記m個のパリティ処理ユニットにより実行させることを特徴とする請求項2記載の低密度パリティチェック符号復号器。
- 前記rm個のビット処理ユニットの各々は、前記減算回路の出力を確率演算のための特定の関数の演算値に変換する第1のルックアップテーブルを含み、
前記m個のパリティ処理ユニットの各々は、その出力側に、更新されたパリティ情報の値を前記特定の関数の演算値に変換する第2のルックアップテーブルを含む
ことを特徴とする請求項2記載の低密度パリティチェック符号復号器。 - 前記パリティ検査行列内の前記rs個の順列行列の配列r×sはr<sの関係があり、
前記m個のパリティ処理ユニットの各々は、前記パリティ検査行列の対応する列内の値が“1”のr個の行位置に対応するビット情報を同時に入力し、当該r個の行位置に対応するビット情報をもとに当該r個の行位置に対応するパリティ情報を同時に更新する
ことを特徴とする請求項2記載の低密度パリティチェック符号復号器。 - 前記rm個のビット処理ユニットの各々は、前記減算回路の出力を確率演算のための特定の関数の演算値に変換する第1のルックアップテーブルを含み、
前記m個のパリティ処理ユニットの各々は、その出力側に、更新されたr個のパリティ情報の値を前記特定の関数の演算値に変換するr個の第2のルックアップテーブルを含む
ことを特徴とする請求項5記載の低密度パリティチェック符号復号器。 - m×mの順列行列がr×sに配列された構造のパリティ検査行列を持つ低密度パリティチェック符号を復号する低密度パリティチェック符号復号方法であって、
前記パリティ検査行列の各行毎に、当該行内の値が“1”の各列位置に対応するビット情報を順次更新するためのビット更新処理を並行して実行するビット更新ステップと、
前記パリティ検査行列のm列を単位に、その列内の値が“1”の各行位置に対応するパリティ情報を更新するためのパリティ更新処理を並行して実行するパリティ更新ステップと、
前記ビット更新ステップによるビット更新処理が前記パリティ検査行列の各行内のm個の列位置について終了する毎に、そのm個の列位置が属する前記パリティ検査行列のm列に対応する前記パリティ更新ステップによるパリティ更新処理を実行させるステップと、
前記パリティ更新ステップによるパリティ更新処理が前記パリティ検査行列の最初のm列について終了した場合に、前記ビット処理ステップによる次のビット更新処理を開始させるステップと
を具備することを特徴とする低密度パリティチェック符号復号方法。 - 前記ビット更新ステップは、
前記パリティ検査行列の各行毎に、当該行内の値が“1”の各列位置に対応する対数表現されたパリティ情報の値を順次加算する加算処理を並行して実行することにより、前記パリティ検査行列の各行毎にパリティ情報の値の総和を計算する加算ステップと、
前記加算ステップによって計算された前記パリティ検査行列の各行毎の総和から、それぞれ前記パリティ検査行列の対応する行内の値が“1”の各列位置に対応する対数表現されたパリティ情報の値を減じる減算処理を並行して実行する減算ステップとを含む
ことを特徴とする請求項7記載の低密度パリティチェック符号復号方法。 - 前記ビット更新ステップは、前記減算ステップにおける前記各行毎の減算処理の結果を、当該各行毎に設けられた第1のルックアップテーブルにより確率演算のための特定の関数の演算値に変換するステップを含み、
前記パリティ更新ステップは、前記パリティ検査行列のm列を単位とするパリティ更新処理により、その列内の値が“1”の各行位置に対応するパリティ情報が更新される都度、その更新されたパリティ情報の値を、当該m列の各列毎に設けられた第2のルックアップテーブルにより前記特定の関数の演算値に変換するステップを含む
ことを特徴とする請求項8記載の低密度パリティチェック符号復号方法。 - 前記パリティ検査行列内の前記rs個の順列行列の配列r×sはr<sの関係があり、
前記パリティ更新ステップは、前記パリティ検査行列のm列を単位に、その列内の値が“1”のr個の行位置に対応するビット情報を同時に入力するステップと、当該r個の行位置に対応するビット情報をもとに当該r個の行位置に対応するパリティ情報を同時に更新するステップと含む
ことを特徴とする請求項8記載の低密度パリティチェック符号復号器。 - 前記ビット更新ステップは、前記減算ステップにおける前記各行毎の減算処理の結果を、当該各行毎に設けられた第1のルックアップテーブルにより確率演算のための特定の関数の演算値に変換するステップを含み、
前記パリティ更新ステップは、前記パリティ検査行列のm列を単位とするパリティ更新処理により、そのm列の各列毎に、その列内の値が“1”のr個の行位置に対応するパリティ情報が更新される都度、そのm列の各列毎に更新されたr個のパリティ情報の値を、当該m列の各列毎に設けられたr個の第2のルックアップテーブルにより前記特定の関数の演算値に同時に変換するステップを含む
ことを特徴とする請求項10記載の低密度パリティチェック符号復号方法。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004193767A JP4282558B2 (ja) | 2004-06-30 | 2004-06-30 | 低密度パリティチェック符号復号器及び方法 |
TW094120025A TWI261973B (en) | 2004-06-30 | 2005-06-16 | Decoder and decoding method for decoding low-density parity-check codes with parity check matrix |
DE602005010150T DE602005010150D1 (de) | 2004-06-30 | 2005-06-17 | Message-Passing Decodierung für Low-Density Parity-Check (LDPC) Codes mittels einer Pipeline-Verarbeitung der Knotenberechnung |
EP05105370A EP1612948B1 (en) | 2004-06-30 | 2005-06-17 | Message-passing decoding of low-density parity-check (LDPC) codes using pipeline node processing |
US11/168,329 US7500168B2 (en) | 2004-06-30 | 2005-06-29 | Decoder and decoding method for decoding low-density parity-check codes with parity check matrix |
KR1020050057667A KR100738864B1 (ko) | 2004-06-30 | 2005-06-30 | 패리티 체크 행렬을 갖는 저밀도 패리티 체크 코드를디코딩하는 디코더 및 디코딩 방법 |
CNA2005100818425A CN1716786A (zh) | 2004-06-30 | 2005-06-30 | 用奇偶校验矩阵对低密度奇偶校验码解码的解码器和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004193767A JP4282558B2 (ja) | 2004-06-30 | 2004-06-30 | 低密度パリティチェック符号復号器及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006019889A true JP2006019889A (ja) | 2006-01-19 |
JP4282558B2 JP4282558B2 (ja) | 2009-06-24 |
Family
ID=34978836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004193767A Expired - Fee Related JP4282558B2 (ja) | 2004-06-30 | 2004-06-30 | 低密度パリティチェック符号復号器及び方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7500168B2 (ja) |
EP (1) | EP1612948B1 (ja) |
JP (1) | JP4282558B2 (ja) |
KR (1) | KR100738864B1 (ja) |
CN (1) | CN1716786A (ja) |
DE (1) | DE602005010150D1 (ja) |
TW (1) | TWI261973B (ja) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006191246A (ja) * | 2005-01-05 | 2006-07-20 | Nec Corp | 復号装置及びその方法並びにプログラム |
JP2006279396A (ja) * | 2005-03-29 | 2006-10-12 | Kitakyushu Foundation For The Advancement Of Industry Science & Technology | Ldpc符号検出装置及びldpc符号検出方法 |
JP2006339799A (ja) * | 2005-05-31 | 2006-12-14 | Toshiba Corp | イレギュラー低密度パリティチェック符号復号器及び方法 |
JP2007174027A (ja) * | 2005-12-20 | 2007-07-05 | Sony Corp | 復号装置、制御方法、およびプログラム |
JP2008011078A (ja) * | 2006-06-28 | 2008-01-17 | Samsung Electronics Co Ltd | 情報符号化装置、情報復号装置、情報符号化方法、および情報復号方法 |
JP2008526164A (ja) * | 2004-12-29 | 2008-07-17 | インテル・コーポレーション | 3ストライプ・ギルバート低密度パリティ検査符号 |
JP2008278187A (ja) * | 2007-04-27 | 2008-11-13 | Sony Corp | 復号装置、制御方法、及びプログラム |
JP2008288710A (ja) * | 2007-05-15 | 2008-11-27 | Sumitomo Electric Ind Ltd | 復号回路及び部分処理回路 |
JP2009517970A (ja) * | 2005-12-01 | 2009-04-30 | トムソン ライセンシング | 低密度パリティ調査符号化信号を復号化する装置及び方法 |
JP2009159643A (ja) * | 2009-04-15 | 2009-07-16 | Mobile Techno Corp | 低密度パリティチェック符号復号装置及び方法 |
JP2010205135A (ja) * | 2009-03-05 | 2010-09-16 | Nec Corp | エラー検出機能付き演算回路、および演算回路のエラー検出方法 |
JP2010277645A (ja) * | 2009-05-28 | 2010-12-09 | Toshiba Corp | 復号装置、復号方法及び磁気ディスク装置 |
JP2011182474A (ja) * | 2011-06-20 | 2011-09-15 | Panasonic Corp | 復号方法及び復号装置 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7634710B2 (en) * | 2005-03-25 | 2009-12-15 | Teranetics, Inc. | Efficient decoding |
US8832326B1 (en) * | 2005-11-01 | 2014-09-09 | Xilinx, Inc. | Circuit and method for ordering data words |
US8271850B2 (en) * | 2005-12-29 | 2012-09-18 | Intel Corporation | Fast low-density parity-check code encoder |
US7783951B2 (en) * | 2006-02-09 | 2010-08-24 | NEC Laboratories, America, Inc. | Multiplexed coding for user cooperation |
US7647548B2 (en) * | 2006-07-31 | 2010-01-12 | Agere Systems Inc. | Methods and apparatus for low-density parity check decoding using hardware-sharing and serial sum-product architecture |
US8020508B2 (en) * | 2006-09-19 | 2011-09-20 | The Board Of Regents Of The University Of Oklahoma | Methods and apparatus for depositing nanoparticles on a substrate |
US7644339B2 (en) | 2006-10-02 | 2010-01-05 | Broadcom Corporation | Overlapping sub-matrix based LDPC (low density parity check) decoder |
US8359522B2 (en) | 2007-05-01 | 2013-01-22 | Texas A&M University System | Low density parity check decoder for regular LDPC codes |
US20090100313A1 (en) * | 2007-10-11 | 2009-04-16 | The Royal Institution For The Advancement Of Learning/Mcgill University | Methods and apparatuses of mathematical processing |
US8161348B2 (en) * | 2008-02-05 | 2012-04-17 | Agere Systems Inc. | Systems and methods for low cost LDPC decoding |
CA2720102A1 (en) * | 2008-03-31 | 2009-10-08 | Sirius Xm Radio Inc. | Efficient, programmable and scalable low density parity check decoder |
CN101262231B (zh) * | 2008-04-25 | 2011-09-28 | 浙江大学 | 一种块状低密度校验码的译码方法及可重构多模式译码器 |
WO2009156935A1 (en) * | 2008-06-23 | 2009-12-30 | Ramot At Tel Aviv University Ltd. | Using damping factors to overcome ldpc trapping sets |
US20090319860A1 (en) * | 2008-06-23 | 2009-12-24 | Ramot At Tel Aviv University Ltd. | Overcoming ldpc trapping sets by decoder reset |
US8370711B2 (en) | 2008-06-23 | 2013-02-05 | Ramot At Tel Aviv University Ltd. | Interruption criteria for block decoding |
US8201068B2 (en) * | 2009-01-06 | 2012-06-12 | Mediatek Inc. | Method for generating parity-check matrix |
KR20110124659A (ko) * | 2010-05-11 | 2011-11-17 | 삼성전자주식회사 | 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 계층적 복호 장치 및 방법 |
KR102254102B1 (ko) * | 2015-01-23 | 2021-05-20 | 삼성전자주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2799592B1 (fr) | 1999-10-12 | 2003-09-26 | Thomson Csf | Procede de construction et de codage simple et systematique de codes ldpc |
US6539367B1 (en) | 2000-05-26 | 2003-03-25 | Agere Systems Inc. | Methods and apparatus for decoding of general codes on probability dependency graphs |
US6938196B2 (en) * | 2001-06-15 | 2005-08-30 | Flarion Technologies, Inc. | Node processors for use in parity check decoders |
US6633856B2 (en) | 2001-06-15 | 2003-10-14 | Flarion Technologies, Inc. | Methods and apparatus for decoding LDPC codes |
US6895547B2 (en) | 2001-07-11 | 2005-05-17 | International Business Machines Corporation | Method and apparatus for low density parity check encoding of data |
ES2427179T3 (es) | 2002-07-03 | 2013-10-29 | Dtvg Licensing, Inc | Codificación de los códigos de comprobación de paridad de baja densidad |
US6829308B2 (en) | 2002-07-03 | 2004-12-07 | Hughes Electronics Corporation | Satellite communication system utilizing low density parity check codes |
US20040019845A1 (en) | 2002-07-26 | 2004-01-29 | Hughes Electronics | Method and system for generating low density parity check codes |
US7222289B2 (en) | 2002-09-30 | 2007-05-22 | Certance Llc | Channel processor using reduced complexity LDPC decoder |
KR100502609B1 (ko) * | 2002-11-21 | 2005-07-20 | 한국전자통신연구원 | Ldpc 코드를 이용한 부호화기 및 부호화 방법 |
JP4062435B2 (ja) | 2002-12-03 | 2008-03-19 | 日本電気株式会社 | 誤り訂正符号復号装置 |
KR100502608B1 (ko) * | 2002-12-24 | 2005-07-20 | 한국전자통신연구원 | 계산이 간단한 저밀도 패리티 검사 부호를 위한 메시지 전달 복호기 |
KR100996029B1 (ko) * | 2003-04-29 | 2010-11-22 | 삼성전자주식회사 | 저밀도 패리티 검사 코드의 부호화 장치 및 방법 |
KR20040101743A (ko) * | 2003-05-26 | 2004-12-03 | 삼성전자주식회사 | 통신 시스템에서 저밀도 패리티 검사 코드의 복호 장치 및방법 |
KR100594818B1 (ko) * | 2004-04-13 | 2006-07-03 | 한국전자통신연구원 | 순차적 복호를 이용한 저밀도 패리티 검사 부호의 복호장치 및 그 방법 |
US7178880B2 (en) * | 2004-06-15 | 2007-02-20 | Andersen James H | Wheel centering pin, kit and method |
US7181676B2 (en) * | 2004-07-19 | 2007-02-20 | Texas Instruments Incorporated | Layered decoding approach for low density parity check (LDPC) codes |
-
2004
- 2004-06-30 JP JP2004193767A patent/JP4282558B2/ja not_active Expired - Fee Related
-
2005
- 2005-06-16 TW TW094120025A patent/TWI261973B/zh not_active IP Right Cessation
- 2005-06-17 EP EP05105370A patent/EP1612948B1/en not_active Not-in-force
- 2005-06-17 DE DE602005010150T patent/DE602005010150D1/de not_active Expired - Fee Related
- 2005-06-29 US US11/168,329 patent/US7500168B2/en not_active Expired - Fee Related
- 2005-06-30 KR KR1020050057667A patent/KR100738864B1/ko not_active IP Right Cessation
- 2005-06-30 CN CNA2005100818425A patent/CN1716786A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008526164A (ja) * | 2004-12-29 | 2008-07-17 | インテル・コーポレーション | 3ストライプ・ギルバート低密度パリティ検査符号 |
JP4492352B2 (ja) * | 2005-01-05 | 2010-06-30 | 日本電気株式会社 | 復号装置及びその方法並びにプログラム |
JP2006191246A (ja) * | 2005-01-05 | 2006-07-20 | Nec Corp | 復号装置及びその方法並びにプログラム |
JP2006279396A (ja) * | 2005-03-29 | 2006-10-12 | Kitakyushu Foundation For The Advancement Of Industry Science & Technology | Ldpc符号検出装置及びldpc符号検出方法 |
JP4519694B2 (ja) * | 2005-03-29 | 2010-08-04 | 財団法人北九州産業学術推進機構 | Ldpc符号検出装置及びldpc符号検出方法 |
JP2006339799A (ja) * | 2005-05-31 | 2006-12-14 | Toshiba Corp | イレギュラー低密度パリティチェック符号復号器及び方法 |
US8819518B2 (en) | 2005-12-01 | 2014-08-26 | Thomson Licensing | Apparatus and method for decoding low density parity check coded signals |
JP2009517970A (ja) * | 2005-12-01 | 2009-04-30 | トムソン ライセンシング | 低密度パリティ調査符号化信号を復号化する装置及び方法 |
JP2007174027A (ja) * | 2005-12-20 | 2007-07-05 | Sony Corp | 復号装置、制御方法、およびプログラム |
US7937648B2 (en) | 2005-12-20 | 2011-05-03 | Sony Corporation | Decoding device, control method, and program |
JP2008011078A (ja) * | 2006-06-28 | 2008-01-17 | Samsung Electronics Co Ltd | 情報符号化装置、情報復号装置、情報符号化方法、および情報復号方法 |
JP2008278187A (ja) * | 2007-04-27 | 2008-11-13 | Sony Corp | 復号装置、制御方法、及びプログラム |
JP2008288710A (ja) * | 2007-05-15 | 2008-11-27 | Sumitomo Electric Ind Ltd | 復号回路及び部分処理回路 |
JP2010205135A (ja) * | 2009-03-05 | 2010-09-16 | Nec Corp | エラー検出機能付き演算回路、および演算回路のエラー検出方法 |
JP2009159643A (ja) * | 2009-04-15 | 2009-07-16 | Mobile Techno Corp | 低密度パリティチェック符号復号装置及び方法 |
JP2010277645A (ja) * | 2009-05-28 | 2010-12-09 | Toshiba Corp | 復号装置、復号方法及び磁気ディスク装置 |
JP4660605B2 (ja) * | 2009-05-28 | 2011-03-30 | 株式会社東芝 | 復号装置、復号方法及び磁気ディスク装置 |
US8020079B2 (en) | 2009-05-28 | 2011-09-13 | Kabushiki Kaisha Toshiba | Decoder device, decoding method and magnetic disk device |
JP2011182474A (ja) * | 2011-06-20 | 2011-09-15 | Panasonic Corp | 復号方法及び復号装置 |
Also Published As
Publication number | Publication date |
---|---|
TW200607248A (en) | 2006-02-16 |
KR20060048750A (ko) | 2006-05-18 |
DE602005010150D1 (de) | 2008-11-20 |
US20060005105A1 (en) | 2006-01-05 |
JP4282558B2 (ja) | 2009-06-24 |
EP1612948A1 (en) | 2006-01-04 |
CN1716786A (zh) | 2006-01-04 |
EP1612948B1 (en) | 2008-10-08 |
TWI261973B (en) | 2006-09-11 |
US7500168B2 (en) | 2009-03-03 |
KR100738864B1 (ko) | 2007-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4282558B2 (ja) | 低密度パリティチェック符号復号器及び方法 | |
JP2006339799A (ja) | イレギュラー低密度パリティチェック符号復号器及び方法 | |
US7373581B2 (en) | Device, program, and method for decoding LDPC codes | |
EP1985022B1 (en) | Decoding of raptor codes | |
TWI419481B (zh) | 低密度奇偶檢查碼編解碼器及其方法 | |
JP4519694B2 (ja) | Ldpc符号検出装置及びldpc符号検出方法 | |
US20070168832A1 (en) | Memory efficient LDPC decoding methods and apparatus | |
JP4651600B2 (ja) | 低密度パリティ検査復号器における検査ノード更新方法 | |
CN104868925A (zh) | 结构化ldpc码的编码方法、译码方法、编码装置和译码装置 | |
JPWO2007007801A1 (ja) | 通信装置および復号方法 | |
JP2007089064A (ja) | 復号装置および受信装置 | |
Liao et al. | A (21150, 19050) GC-LDPC decoder for NAND flash applications | |
CN114499541A (zh) | 分层译码方法、装置、终端设备及介质 | |
JP4551740B2 (ja) | 低密度パリティチェック符号復号器及び方法 | |
JP5148586B2 (ja) | 復号装置および復号方法 | |
Ajaz et al. | Multi-Gb/s multi-mode LDPC decoder architecture for IEEE 802.11 ad standard | |
CN102696176B (zh) | 译码装置 | |
CN112104379B (zh) | 一种基于关键集的极化码置信度传播动态翻转译码方法 | |
JP2006340016A (ja) | 誤り訂正符号復号装置及びそれを用いた復号方法 | |
JP2007281771A (ja) | 誤り訂正復号装置および誤り訂正復号方法 | |
Kim | Improved trellis-based decoder for non-binary LDPC codes | |
Shimizu et al. | Partially-parallel LDPC decoder achieving high-efficiency message-passing schedule | |
JP2002314434A (ja) | 相関行列学習方法、装置及びプログラム | |
JP2010056660A (ja) | 符号化装置および方法 | |
CN110832783B (zh) | 多内核极化码解码 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090116 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090303 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090317 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120327 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130327 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130327 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140327 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |