JP4282558B2 - 低密度パリティチェック符号復号器及び方法 - Google Patents
低密度パリティチェック符号復号器及び方法 Download PDFInfo
- Publication number
- JP4282558B2 JP4282558B2 JP2004193767A JP2004193767A JP4282558B2 JP 4282558 B2 JP4282558 B2 JP 4282558B2 JP 2004193767 A JP2004193767 A JP 2004193767A JP 2004193767 A JP2004193767 A JP 2004193767A JP 4282558 B2 JP4282558 B2 JP 4282558B2
- 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.)
- Expired - Fee Related
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)
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,j3,j4,j5のうちのj1に対応するパリティ情報qi,j(j=j1)を表す。つまり、ビット処理ユニット10-1乃至10-M内のレジスタ131及び111aにそれぞれ格納される情報MSB(qi,j1)及びΨ(qi,j1)は、検査行列Hの各行内で“1”となる位置のうちの最左端に対応するものであり、メモリ30に格納されている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,j3,j4,j5のうちの2番目のビット位置j2(j=j2)に対応するものであり、メモリ30格納されている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,j3,j4,j5のうちの3番目のビット位置j3(j=j3)に対応するものであり、メモリ30に格納されている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,j3,j4,j5のうちの4番目のビット位置j4(j=j4)に対応するものであり、メモリ30に格納されている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,j3,j4,j5のうちの最右端のビット位置j5(j=j5)に対応するものであり、メモリ30に格納されている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 (13)
- 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記載の低密度パリティチェック符号復号器。 - 前記ビット情報及び前記パリティ情報を格納するメモリを更に具備し、
前記rm個のビット処理ユニットの各々は、前記メモリから読み出されるパリティ情報であって、前記パリティ検査行列の前記対応する行内の値が“1”の各列位置に対応するパリティ情報の値を順次加算することにより、そのパリティ情報の値の総和を計算する加算処理を実行する加算回路と、前記計算されたパリティ情報の値の総和から、前記メモリから読み出される、前記加算処理で用いられた前記値が“1”の各列位置に対応するパリティ情報の値を減じることにより、それぞれ新たなビット情報を取得する減算処理を実行する減算回路とを含み、
前記rm個のビット処理ユニットの各々は、対応する前記減算回路の減算処理で新たなビット情報が取得される毎に、前記ビット更新処理で用いられた、前記値が“1”の列位置に対応して前記メモリに格納されているそれぞれのパリティ情報を、当該取得された新たなビット情報に置き換え、
前記m個のパリティ処理ユニットの各々は、前記メモリから読み出されるビット情報であって、前記ビット更新処理が終了した前記パリティ検査行列のm列内の値が“1”の各行位置に対応するビット情報の値に基づいて前記パリティ更新処理を実行することにより、前記各行位置に対応する新たなパリティ情報を取得して、前記パリティ更新処理で用いられた、前記各行位置に対応して前記メモリに格納されているビット情報を、当該取得された新たなパリティ情報に置き換える、
ことを特徴とする請求項1記載の低密度パリティチェック符号復号器。 - m×mの順列行列がr×sに配列された構造のパリティ検査行列を持つ低密度パリティチェック符号を復号する低密度パリティチェック符号復号方法であって、
前記パリティ検査行列の各行毎に、当該行内の値が“1”の各列位置に対応するビット情報を順次更新するためのビット更新処理を並行して実行するビット更新ステップと、
前記パリティ検査行列のm列を単位に、その列内の値が“1”の各行位置に対応するパリティ情報を更新するためのパリティ更新処理を並行して実行するパリティ更新ステップと、
前記ビット更新ステップによるビット更新処理が前記パリティ検査行列の各行内のm個の列位置について終了する毎に、そのm個の列位置が属する前記パリティ検査行列のm列に対応する前記パリティ更新ステップによるパリティ更新処理を実行させるステップと、
前記パリティ更新ステップによるパリティ更新処理が前記パリティ検査行列の最初のm列について終了する毎に、前記ビット処理ステップによる次のビット更新処理を開始させるステップと
を具備することを特徴とする低密度パリティチェック符号復号方法。 - 前記ビット更新ステップは、
前記パリティ検査行列の各行毎に、当該行内の値が“1”の各列位置に対応する対数表現されたパリティ情報の値を順次加算する加算処理を並行して実行することにより、前記パリティ検査行列の各行毎にパリティ情報の値の総和を計算する加算ステップと、
前記加算ステップによって計算された前記パリティ検査行列の各行毎の総和から、それぞれ前記パリティ検査行列の対応する行内の値が“1”の各列位置に対応する対数表現されたパリティ情報の値を減じる減算処理を並行して実行する減算ステップとを含む
ことを特徴とする請求項8記載の低密度パリティチェック符号復号方法。 - 前記ビット更新ステップは、前記減算ステップにおける前記各行毎の減算処理の結果を、当該各行毎に設けられた第1のルックアップテーブルにより確率演算のための特定の関数の演算値に変換するステップを含み、
前記パリティ更新ステップは、前記パリティ検査行列のm列を単位とするパリティ更新処理により、その列内の値が“1”の各行位置に対応するパリティ情報が更新される都度、その更新されたパリティ情報の値を、当該m列の各列毎に設けられた第2のルックアップテーブルにより前記特定の関数の演算値に変換するステップを含む
ことを特徴とする請求項9記載の低密度パリティチェック符号復号方法。 - 前記パリティ検査行列内の前記rs個の順列行列の配列r×sはr<sの関係があり、
前記パリティ更新ステップは、前記パリティ検査行列のm列を単位に、その列内の値が“1”のr個の行位置に対応するビット情報を同時に入力するステップと、当該r個の行位置に対応するビット情報をもとに当該r個の行位置に対応するパリティ情報を同時に更新するステップと含む
ことを特徴とする請求項9記載の低密度パリティチェック符号復号方法。 - 前記ビット更新ステップは、前記減算ステップにおける前記各行毎の減算処理の結果を、当該各行毎に設けられた第1のルックアップテーブルにより確率演算のための特定の関数の演算値に変換するステップを含み、
前記パリティ更新ステップは、前記パリティ検査行列のm列を単位とするパリティ更新処理により、そのm列の各列毎に、その列内の値が“1”のr個の行位置に対応するパリティ情報が更新される都度、そのm列の各列毎に更新されたr個のパリティ情報の値を、当該m列の各列毎に設けられたr個の第2のルックアップテーブルにより前記特定の関数の演算値に同時に変換するステップを含む
ことを特徴とする請求項11記載の低密度パリティチェック符号復号方法。 - 前記ビット更新ステップは、
ビット情報及びパリティ情報を格納するメモリから、前記パリティ検査行列の各行毎に、前記パリティ検査行列の対応する行内の値が“1”の各列位置に対応するパリティ情報の値を順に読み出す第1の読み出しステップと、
前記パリティ検査行列の各行毎に前記順に読み出される、前記パリティ検査行列の前記対応する行内の値が“1”の各列位置に対応するパリティ情報の値を加算することにより、前記パリティ検査行列の各行毎に、そのパリティ情報の値の総和を計算する加算処理を実行するステップと、
前記パリティ検査行列の各行毎に、前記加算処理で用いられた前記値が“1”の各列位置に対応するパリティ情報の値を前記メモリから順に読み出す第2の読み出しステップと、
前記パリティ検査行列の各行毎に取得されたパリティ情報の値の総和から、前記第2の読み出しステップで読み出された前記パリティ情報の値を減じることにより、前記パリティ検査行列の各行毎に新たなビット情報を順次取得する減算ステップと、
前記減算ステップで新たなビット情報が取得される毎に、前記ビット更新処理で用いられた、前記値が“1”の列位置に対応して前記メモリに格納されているそれぞれのパリティ情報を、当該取得された新たなビット情報に置き換えるステップとを含み、
前記パリティ更新ステップは、
前記パリティ検査行列のm列を単位に、前記ビット更新処理が終了した前記パリティ検査行列のm列内の値が“1”の各行位置に対応するビット情報を前記メモリから順に読み出すステップと、
前記パリティ検査行列のm列を単位に、前記メモリから順に読み出される、前記ビット更新処理が終了した前記パリティ検査行列のm列内の値が“1”の各行位置に対応するビット情報の値に基づいて前記パリティ更新処理を実行することにより、前記各行位置に対応する新たなパリティ情報を取得するステップと、
前記パリティ検査行列のm列に対応する前記パリティ更新処理で用いられた、前記各行位置に対応して前記メモリに格納されているビット情報を、前記取得された新たなパリティ情報に置き換えるステップとを含む、
ことを特徴とする請求項8記載の低密度パリティチェック符号復号方法。
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 |
CNA2005100818425A CN1716786A (zh) | 2004-06-30 | 2005-06-30 | 用奇偶校验矩阵对低密度奇偶校验码解码的解码器和方法 |
KR1020050057667A KR100738864B1 (ko) | 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 JP2006019889A (ja) | 2006-01-19 |
JP4282558B2 true 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) |
Families Citing this family (31)
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 | 日本電気株式会社 | 復号装置及びその方法並びにプログラム |
US7634710B2 (en) * | 2005-03-25 | 2009-12-15 | Teranetics, Inc. | Efficient decoding |
JP4519694B2 (ja) * | 2005-03-29 | 2010-08-04 | 財団法人北九州産業学術推進機構 | Ldpc符号検出装置及びldpc符号検出方法 |
JP2006339799A (ja) * | 2005-05-31 | 2006-12-14 | Toshiba Corp | イレギュラー低密度パリティチェック符号復号器及び方法 |
US8832326B1 (en) * | 2005-11-01 | 2014-09-09 | Xilinx, Inc. | Circuit and method for ordering data words |
US8819518B2 (en) | 2005-12-01 | 2014-08-26 | Thomson Licensing | Apparatus and method for decoding low density parity check coded signals |
JP4807063B2 (ja) | 2005-12-20 | 2011-11-02 | ソニー株式会社 | 復号装置、制御方法、およびプログラム |
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 |
JP5215537B2 (ja) * | 2006-06-28 | 2013-06-19 | 三星電子株式会社 | 情報符号化装置、情報復号装置、情報符号化方法、および情報復号方法 |
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 |
JP4780027B2 (ja) * | 2007-04-27 | 2011-09-28 | ソニー株式会社 | 復号装置、制御方法、及びプログラム |
US8359522B2 (en) | 2007-05-01 | 2013-01-22 | Texas A&M University System | Low density parity check decoder for regular LDPC codes |
JP4760769B2 (ja) * | 2007-05-15 | 2011-08-31 | 住友電気工業株式会社 | 復号回路及び部分処理回路 |
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 |
WO2009123728A1 (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 |
US8370711B2 (en) | 2008-06-23 | 2013-02-05 | Ramot At Tel Aviv University Ltd. | Interruption criteria for block decoding |
US20090319860A1 (en) * | 2008-06-23 | 2009-12-24 | Ramot At Tel Aviv University Ltd. | Overcoming ldpc trapping sets by decoder reset |
US8201068B2 (en) * | 2009-01-06 | 2012-06-12 | Mediatek Inc. | Method for generating parity-check matrix |
JP5316096B2 (ja) * | 2009-03-05 | 2013-10-16 | 日本電気株式会社 | エラー検出機能付き演算回路、および演算回路のエラー検出方法 |
JP4799637B2 (ja) * | 2009-04-15 | 2011-10-26 | 株式会社モバイルテクノ | 低密度パリティチェック符号復号装置及び方法 |
JP4660605B2 (ja) | 2009-05-28 | 2011-03-30 | 株式会社東芝 | 復号装置、復号方法及び磁気ディスク装置 |
KR20110124659A (ko) | 2010-05-11 | 2011-11-17 | 삼성전자주식회사 | 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 계층적 복호 장치 및 방법 |
JP5171997B2 (ja) * | 2011-06-20 | 2013-03-27 | パナソニック株式会社 | 復号方法及び復号装置 |
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 |
AU2003249708A1 (en) | 2002-07-03 | 2004-01-23 | Hughes Electronics Corporation | Method and system for memory management in low density parity check (ldpc) decoders |
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 CN CNA2005100818425A patent/CN1716786A/zh active Pending
- 2005-06-30 KR KR1020050057667A patent/KR100738864B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US7500168B2 (en) | 2009-03-03 |
EP1612948A1 (en) | 2006-01-04 |
KR100738864B1 (ko) | 2007-07-16 |
DE602005010150D1 (de) | 2008-11-20 |
TW200607248A (en) | 2006-02-16 |
JP2006019889A (ja) | 2006-01-19 |
TWI261973B (en) | 2006-09-11 |
KR20060048750A (ko) | 2006-05-18 |
EP1612948B1 (en) | 2008-10-08 |
CN1716786A (zh) | 2006-01-04 |
US20060005105A1 (en) | 2006-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4282558B2 (ja) | 低密度パリティチェック符号復号器及び方法 | |
JP2006339799A (ja) | イレギュラー低密度パリティチェック符号復号器及び方法 | |
US7373581B2 (en) | Device, program, and method for decoding LDPC codes | |
US7127659B2 (en) | Memory efficient LDPC decoding methods and apparatus | |
JP4519694B2 (ja) | Ldpc符号検出装置及びldpc符号検出方法 | |
JP5483875B2 (ja) | Ldpc符号のブロックおよびレートに独立な復号の方法および装置 | |
EP3092717B1 (en) | Decoding of non-binary ldpc codes | |
JP4320418B2 (ja) | 復号装置および受信装置 | |
JP4651600B2 (ja) | 低密度パリティ検査復号器における検査ノード更新方法 | |
JP2006148937A (ja) | 統合ノード処理を用いる低密度パリティ検査符号の復号方法及び装置 | |
JPWO2007007801A1 (ja) | 通信装置および復号方法 | |
CN114499541A (zh) | 分层译码方法、装置、终端设备及介质 | |
JP4551740B2 (ja) | 低密度パリティチェック符号復号器及び方法 | |
JP5148586B2 (ja) | 復号装置および復号方法 | |
US11201629B2 (en) | Low latency sequential list decoding of polar codes | |
CN102696176B (zh) | 译码装置 | |
JP2006340016A (ja) | 誤り訂正符号復号装置及びそれを用いた復号方法 | |
JP2007281771A (ja) | 誤り訂正復号装置および誤り訂正復号方法 | |
Kim | Improved trellis-based decoder for non-binary LDPC codes | |
CN110832783B (zh) | 多内核极化码解码 | |
KR101221062B1 (ko) | 가변 usc 부호를 이용한 부호화 및 복호화 방법 | |
Xin et al. | Efficient check node update implementation for normalized min-sum algorithm | |
KR20180010535A (ko) | Ldpc 복호화기의 슬라이스 절감 장치 및 그 방법 |
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 |