JP2008509635A - データのエンコードおよびデコード方法および装置 - Google Patents

データのエンコードおよびデコード方法および装置 Download PDF

Info

Publication number
JP2008509635A
JP2008509635A JP2007525672A JP2007525672A JP2008509635A JP 2008509635 A JP2008509635 A JP 2008509635A JP 2007525672 A JP2007525672 A JP 2007525672A JP 2007525672 A JP2007525672 A JP 2007525672A JP 2008509635 A JP2008509635 A JP 2008509635A
Authority
JP
Japan
Prior art keywords
matrix
column
equal
parity check
vector
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
Application number
JP2007525672A
Other languages
English (en)
Other versions
JP4516602B2 (ja
Inventor
ダブリュ. ブランケンシップ、ユフェイ
ケイ. クラッソン、ブライアン
ブランケンシップ、ティ.キース
デサイ、ヴィプール
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=35758925&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2008509635(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of JP2008509635A publication Critical patent/JP2008509635A/ja
Application granted granted Critical
Publication of JP4516602B2 publication Critical patent/JP4516602B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1168Quasi-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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three

Landscapes

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

Abstract

構造化パリティチェック行列Hを提案する。Hは基底行列Hの展開であり、Hb2は2より大きい奇数の重みを有する列hからなる第一の部分と、行iと列jが、i=jについては1に等しく、i=j+1については1に等しく、他の位置については0に等しい行列要素を備える第二の部分とを備える。基底行列Hの展開は、前記第二の部分H’b2の各列における1については同一部分行列を用い、この展開はhにおける偶数個の1については対になった部分行列を用いる。

Description

本発明は一般的にデータのエンコードおよびデコードに関し、特に、低密度パリティチェック(LDPC)コードを用いるデータのエンコードおよびデコード方法および装置に関する。
参照によってここに組み入れられた米国特許出願番号10/839995に記載されているように、低密度パリティチェック(LDPC)符号は、パリティチェック行列Hによって指定される線形ブロック符号である。一般的には、LDPC符号はガロア域GF(q),q≧2上に定義される。q=2であれば、その符号は2進符号である。すべての線形ブロック符号は、nビットの符号語X1×nを生成する、kビットの情報ベクトルs1×kと符号発生器行列Gk×nとの積として表現することができ、符号レートはr=k/nである。符号語xはノイズ通信路を通して送信され、受信信号ベクトルyは情報ベクトルS1×kを推定すべくデコーダに渡される。
n次元空間と、Gの行がk次元の符号語の部分空間Cに渡り、パリティチェック行列Hm×nの行がm次元の相対空間Cに渡り、m=n−kであると仮定する。x=sGおよびGH=0であるため、部分空間Cにおいてすべての符号語についてxH=0という結果になる。「T」(あるいは斜体「T」)は行列転置を表している。LDPC符号を議論するとき、これは一般的に以下の式(1)ように書かれる。
Figure 2008509635
ここで0は全ゼロの行ベクトルであり、符号語x=[s p]=[s,s,…,sk−1,P,p,…pm−1]、p,…,pm−1はパリティチェックビットであり、s,…,sk−1は、情報ベクトル内の情報ビットと等しいシステムビットである。
LDPC符号については、Hにおける非ゼロエントリの密度は低い、すなわち、Hが1の比率は低いため、濃密なHを用いるよりも、より良いエラー訂正性能および簡易なデコードが可能になる。パリティチェック行列も二部グラフによって表記することができる。この二部グラフは符号のグラフ表記ばかりでなく、デコーダのモデルでもある。この二部グラフでは、符号語ビット(従ってHの各列)は左側の変数ノードによって表現され、各パリティチェック方程式(従ってHの各行)は右側のチェックノードによって表現される。各変数ノードはHの各列に対応し、各チェックノードはHの行に対応し、Hの「変数ノード」および「列」はHの「チェックノード」および「列」として交換可能に参照される。変数ノードはチェックノードにのみ接続され、チェックノードは変数ノードにのみ接続される。n符号語ビットおよびmパリティビットを有する符号については、符号語ビットiがチェック方程式jに参加していれば(i=0,1…,n−1,j=0,1,…,m−1)、変数ノードvはエッジによってチェック符号cに接続される。換言すれば、パリティチェック行列Hのエントリhjiが1であれば、変数ノードiはチェックノードjに接続される。式(1)をミラーリングして、すべてのチェックノードが偶数パリティを有している場合、変数ノードは正当な符号語を表現している。
パリティチェック行列とパリティチェック方程式と二部グラフとの関係を示す例を以下に示す。n=12、レート−1/2の符号は下記のように定義され、
Figure 2008509635
ここで左側部分はk(=6)情報ビットsに対応し、右側部分はm(=6)パリティビットpに対応する。式(1)を適用すると、式(2)のHは以下のように、6パリティチェック方程式を定義する。
Figure 2008509635
Hは図1に示した対応二部グラフも有する。
上述したように、受信機は送信された符号語xの汚染バージョンyを取得する。yをデコードし元の情報シーケンスsを決定するために、確率伝播のような反復復号化アルゴリズムが二部グラフに基づいて適用される。符号語ビットの対数尤度比(LLRs)のフォーマットのソフト情報は、変数ノードのバンクとチェックノードのバンクとの間で渡される。反復は、すべてのチェック方程式が満たされたとき、あるいは最大許可反復限度に到達したときのいずれかの場合に停止する。
構造化LDPC符号設計は小さいm×nの基底行列(base matrix)Hを用いて開始され、Hのz個のコピーを作成し、そのz個のコピーを相互接続して大きなm×nのH行列を形成する(m=m×z、n=n×z)。HからHを構築するためにこの行列表現を用いることにより、Hにおける各1がz×zの順列部分行列によって置換され、Hにおける各0がz×zの全ゼロの部分行列で置換される。この手順は本質的に、Hの各エッジをHにおける長さzのベクトルエッジにマッピングし、Hの各変数ノードをHにおける長さzのベクトル変数ノードにマッピングし、Hの各チェックノードをHにおける長さzのベクトルチェックノードにマッピングする。小さな行列Hをベクトル化して大きな行列Hを構築することの利点は以下の通りである。
1.異なるzの値を用いることによって、比k/nの符号(k=n−m)を、単一の基底行列Hから多くの異なる情報シーケンスサイズk=z×kについて設計することができる。
2.必要メモリがかなり減少する。構造化LDPC設計によって、記憶する必要があるのは基底行列Hおよびその1についての順列のみであり、これに必要なメモリはかなり少ない。なぜならHは典型的にHよりかなり小さく、順列は非常に単純だからである。
3.エンコードおよびデコードは、単一のビット毎にではなくビットのグループに対して実行することができる。例えば、z個のメッセージからなる一グループがメモリから取り出され、順序変更されて、ベクトル変数ノードとベクトルチェックノードとの間で渡されるようになる。
構造化LDPC設計の考え方は実施の複雑さを大きく減少させるが、基底行列を設計し、与えられた対象Hサイズ用の順列行列を割り当てて、良好なエラー訂正性能を有し効率よくエンコードおよびデコードすることのできるLDPC符号を得るような技術は存在しない。従って構造化Hを設計する方法および装置と、構造化H行列を用いてデータをエンコードおよびデコードするための方法および装置が望まれている。
上述した要望に対処するために構造化パリティチェック行列Hを提案する。Hは基底行列Hの展開であり、HはセクションHb1およびセクションHb2を備え、Hb2は2より大きい奇数の重み(odd weight)を有する列hを備える第一の部分と、行iと列jが、i=jとi=j+1については1に等しく、他の位置については0に等しい行列要素を備える第二の部分とを備える。基底行列Hの展開は、第二の部分H’b2の各列における1については同一部分行列を用い、hの偶数個の1については対になった部分行列を用いる。
本発明は、現在の記号セットs=(s,…,sk−1)に基づいてパリティチェックビットp=(p,…,pm−1)を生成する送信機を動作させる方法を包含する。その方法は、現在の記号セットs=(s,…,sk−1)を受信する工程と、行列Hを用いてパリティチェックビットを決定する工程とを備える。現在の記号セットと共にパリティチェックビットが送信される。Hは基底行列Hの展開であり、HはセクションHb1およびセクションHb2を備える。Hb2は2より大きい奇数の重みを有する列hを有する第一の部分と、行iと列jが、i=jについては1に等しく、i=j+1については1に等しく、他の位置については0に等しい行列要素を備える第二の部分H’b2とを備える。基底行列Hの展開は、第二の部分H’b2の各列における1については同一部分行列を用い、この展開はhにおける偶数個の1については対になった部分行列を用いる。
本発明は付加的に、現在の記号セットS=(s,…,sk−1)を推測する受信機を動作させる方法を包含する。この方法は受信信号ベクトルy=(y,…,yn−1)を受信する工程と、行列Hを用いて現在の記号セットS=(s,…,sk−1)を推測する工程とを備える。行列Hは基底行列Hの展開であり、HはセクションHb1およびセクションHb2を備え、Hb2は2より大きい奇数の重みを有する列hを備える第一の部分と、行iと列jが、i=jとi=j+1については1に等しく、他の位置については0に等しい行列要素を備える第二の部分H’b2とを備える。基底行列Hの展開は第二の部分H’b2の各列における1については同一部分行列を用い、hにおける偶数個の1については対をなす部分行列を用いる。
本発明は付加的に、行列Hを記憶する記憶手段を備える装置と、行列Hを用いてパリティチェックビットを決定するマイクロプロセッサとを備える装置を包含し、Hは基底行列Hの展開であり、HはセクションHb1およびセクションHb2を備え、Hb2は2より大きい奇数の重みを有する列hを備える第一の部分と、行iと列jが、i=jについては1に等しく、i=j+1については1に等しく、他の位置については0に等しい行列要素を備える第二の部分H’b2とを備える。基底行列Hの展開は第二の部分H’b2の各列における1については同一部分行列を用い、hにおける偶数個の1については対をなす部分行列を用いる。
本発明は、行列Hを記憶する記憶手段と、信号ベクトルy=(yo…n−1)を受信する受信機と、マトリックスHを用いて現在の記号セット(s,…,sk−1)を決定するマイクロプロセッサとを備える装置を包含する。マトリックスHは基底行列Hの展開であり、HはセクションHb1およびセクションHb2を備え、Hb2は2より大きい奇数の重みを有する列hを有する第一の部分を備える。第二の部分H’b2は、行iと列jが、i=jについては1に等しく、i=j+1については1に等しく、他の位置については0に等しい行列要素を備える。二つの同一部分行列がH’b2のすべての列における1を展開するのに用いられ、対になった部分行列がhにおける偶数個の1を展開するのに用いられる。
同様の要素に同様の部材番号を付した図面を参照すると、図3は本発明の第1実施形態に関するエンコーダ300のブロック図である。図示したように、エンコーダ300はマイクロプロセッサ301とルックアップテーブル303とを備える。本発明の第1実施形態のマイクロプロセッサ301は、MSC8300およびDSP56300DSPなどのデジタル信号プロセッサ(DSP)を備えるが、これらに限定はされない。ルックアップテーブル303は行列を格納する格納手段として作用し、リードオンリーメモリを備えるが、当業者であれば他の形式のメモリ(例えば、ランダムアクセスメモリ、磁気記憶メモリなど)もまた同様に使用できることを認識できる。第2実施形態では、マイクロプロセッサ301とルックアップテーブル303の機能は、特定用途向け集積回路(ASIC)や、フィールドプログラマブルゲートアレイ(FPGA)に組み込むことができる。特にルックアップテーブル303は、回路内の信号経路の有無に対応するメモリの形式で実施することができる。
上述したように、符号化されたデータは一般に、システムビットに加え、複数のパリティチェックビットとして出力され、パリティチェックとシステムビットは符号語xを形成する。本発明の第1実施形態において、パリティチェック行列Hはルックアップテーブル303に記憶され、式(1)を解くためにマイクロプロセッサ301によってアクセス可能である。特にマイクロプロセッサ301は、現在の記号セットs=(s,…,sk−1)とパリティチェック行列Hに基づいてパリティチェックビットp=(p,…,pm−1)にとって適切な値を決定する。その後、パリティチェックビットおよび記号セットは送信機に渡されて、受信機に送信される。
図4は本発明の一実施形態に関するデコーダ400のブロック図である。図示したように、デコーダ400はマイクロプロセッサ401とルックアップテーブル403とを備える。本発明の第1実施形態において、マイクロプロセッサ401は、MSC8300およびDSP56300DSPなどのデジタル信号プロセッサ(DSP)を備えるが、これらに限定はされない。ルックアップテーブル403は行列Hを格納する格納手段として作用し、リードオンリーメモリを備えるが、当業者であれば他の形式のメモリ(例えば、ランダムアクセスメモリ、磁気記憶メモリなど)もまた同様に使用できることを認識できる。第2実施形態において、マイクロプロセッサ401とルックアップテーブル403の機能は、特定用途向け集積回路やフィールドプログラマブルゲートアレイ(FPGA)に組み込むことができる。特にルックアップテーブル403は回路内の信号経路の有無に対応するメモリの形式で実施することができる。
(受信機を介して受信された)受信信号ベクトルy=(y,…,yn−1)は、ノイズ通信路を介して送信された符号語xに対応し、符号化されたデータxは上述したように符号語ベクトルである。本発明の第1実施形態において、パリティチェック行列Hはルックアップテーブル403に記憶されており、yをデコードして、現在の記号セットs(すなわち、現在の記号セット(s,…,sk−1))を推定するのにマイクロプロセッサ401によってアクセスされる。特にマイクロプロセッサ401は、受信信号ベクトルy=(y,…,yn−1)およびパリティチェック行列Hに基づいて、現在の記号セット(s,…,sk−1)を推定する。
この技術分野においてよく知られているように、エンコーダ400が、マイクロプロセッサ401においてデコードするために、パリティチェック行列Hを用いる多くの方法がある。一つの方法は、Hを用いたベクトル行列乗算を実行して、起こり得るエラーパターンを決定するものである。別の方法は、グラフ内のエッジがHにおける1に対応している二部グラフを構成し、二部グラフ上で反復してyを処理するのにHを用いる。
構造化LDPCについて、z×zの部分行列は順列行列や、順列行列の和や、あるいは任意の2値行列であってもよい。順列行列Pは各行に単一の1を有し、各列に単一の1を有しているため、その順列部分行列が用いられた場合、展開された行列Hの重み分布は基底行列Hのものと同様である。従ってHの重み分布は所望の最終重み分布にできるだけ近いように選択される。以下の説明は、Hのエントリが順列行列によって置換される例であるが、任意の行列を用いてもよい。もしベクトルエッジの順列部分行列Pz×zが1を(行、列)エントリ(p(i)、i)に有するならば、ベクトルエッジ内のi番目のエッジは、ベクトルエッジがベクトルチェックノードに接続される前に、p(i)番目の位置に順序変更される。言い換えると、この順序変更は、関連するベクトル変数ノード内のi番目の変数ノードを、関連するベクトル変数ノード内のp(i)番目のチェックノードに連結させる。
Hからなる順列は、単純な循環シフトやビット逆転等のように、性能を損なうことなく非常に単純であり得る。例えば、単純な循環右シフトを用いることができる。この制限によって、各H行列は、m×nモデル行列Hbmによって一意的に表現することができ、以下によって取得することができる。
・z×zの全ゼロ部分行列表すべく、Hにおける各0を−1で置換し、そして、
・Hにおける各hij=1を循環シフトサイズp(i,j)で置換する(p(i,j)は負ではない)。
循環左シフト(x mod z)回数は循環右シフト((z−x) mod z)回数と等価であるため、循環右シフトを説明して、それを循環シフトの説明とすることは簡略化の点で適切である。先に述べたように、HとHbmとの間には一対一のマッピングがある。従ってHbmは、zが与えられた場合のHの手短な表現である。表記上では、モデル行列は、添え字「bm」によって基底行列とは区別され、展開行列は、添え字「bm」を除去することによって区別される。これら3つの行列間の関係は図2に示される。この構造を用いることによって、符号はm×nのサイズのランダムなHと類似したエラー訂正性能を有し、一方でエンコードおよびデコードはより小さいHbmに基づいて実行される。
例えば、式(2)の行列は、以下のように、モデル行列Hbmを構築するための基底行列Hとして用いられてもよい。
Figure 2008509635
z=3の場合、Hbmは、各−1を3×3の全ゼロ部分行列で置換し、各1を部分行列Pi(i=0,1,2)で置換することによって、(m×z)×(n×z)行列Hに変換される。ここで
Figure 2008509635
は単位行列(identity matrix)であり、P、i>0の列は、i回数循環右シフトされたPの列である。
ベクトルq=[q,q,q]、qP=[q,q,q]、qP=[q,q,q]、qP=[q,q,q]であると仮定する。言い換えると、qPはベクトルqの循環右シフトとなる。一方、Pはqの循環上シフト、あるいはqの等価循環左シフトとなる。z×zの行列Qが用いられるときにも同様の規則が当てはまり、QPはQの列の循環右シフトとなり、PQはQの行の循環上シフトとなる。
<基底行列H>
ベクトル化しないLDPC符号については、Hのパリティ部用の改良された階段構造を有するH行列は、性能を損なうことなく、有効なエンコードをもたらす。一般には、x=[s p]=[s,s,…,sk−1,p,p,…pm−1]であると仮定すると、m×nのH行列は二つの部分行列、すなわち、
Figure 2008509635
に分割することができる。ここでHは改良された階段構造であり、Hはm×kのサイズの任意の二値行列であり得る。この同じ構造は、構造化LDPC設計に基底行列Hを構築するために用いることができる。同様に、改良された階段構造を用いることによって、Hを二つのセクションに分割することができる。Hb1はシステムビットsに対応し、Hb2はパリティチェックビットpに対応する。
Figure 2008509635
セクションHb2はさらに二つのセクションに分割可能である。ベクトルhは奇数の重みwを有し、H’b2は階段構造を有する。
Figure 2008509635
セクションHb1は、ランダムに構築することができる。好ましくは、行列Hの全体は、所望の最終重み分布にできるだけ近づくような重み分布を有する。
<シフトサイズ>
基底行列Hをm×nモデル行列Hbm(これはHまで展開する)に変換するために、循環シフトサイズp(i,j)はHの各1について決定される必要がある。シフトサイズはまずHについて特定されることができる。Hセクションについてのシフトサイズが決定された後に、Hセクションのシフトサイズは、Hの全体の良好な性能を達成するように決定することができる。基底行列のH部および基底行列のH部(セクションHbmi)のシフトサイズは多くの異なる方法に割り当てることができる。例えば、シフトサイズについてのランダム値を選択することができ、シフトサイズが性能の顕著な低下を起こさなければ、それを受け入れることができる。過剰数の短周期循環あるいは低重みの符号語を導入した結果によって性能の低下が引き起こることがある。LDPC技術において利用可能な他の技術を用いてもよい。
与えられた対象Hサイズ用の循環シフトサイズp(i,j)は、デコード性能を損なうことなく、効率的なエンコードを可能にするように特定される。デコードを促進するためには、シフトは、互いに加算する場合には、hにおける1に対応するシフト行列の一つを除く全部が取り消されるように割り当てられてもよく、合計する場合には、H’b2のすべてのベクトル行が取り消されるように割り当てられてもよい。これは、シフトサイズを一つのエントリを除いて対でhに割り当てるように、また同じシフトサイズをH’b2の各列における両方の1に割り当てるように変換する。例えば、h=[1 0 0 1 0 0 1]であれば、hbm=[3 −1 −1 3−1 −1 4]をモデル行列内の対応列とすることを受け入れることができる。というのはシフトサイズ3が対で割り当てられるためである。各列H’b2の全ての非ゼロエントリ(両方とも1)には同じシフトサイズが割り当てられるので、任意のシフトサイズの選択肢は、シフトサイズ0(すなわち、単位部分行列)+ベクトル列内のビットの順列に対応する。このように、H’b2のすべてのシフトサイズは便宜上0に割り当てることができ、すなわち、H’b2の各1は、Hに展開するとき、z×zの単位部分行列で置換される。
循環の存在によって、hbmのシフトサイズは慎重に割り当てられなければならない。短い循環あるいは低重みの符号語の形成を回避するための規則を適用してもよい。循環を回避するために用いることが可能な一特性は:
もし2cエッジが長さ2cの一つの循環を基底行列Hに形成するならば、対応する2cベクトルエッジは、展開した行列Hにおける長さ2cのz循環を形成する。それは以下の場合において、および以下の場合に限ってである。
Figure 2008509635
ここでzは展開係数(expansion factor)であり、p(i)はモデル行列Hbmにおけるエッジiの循環シフトサイズであり、エッジ0,1,2、…、2c−1(この順番で)はHに循環を形成する。
b2の構造によって、hとH’b2との間に循環が存在する。従ってhbmにおける任意の二つの同一シフトサイズは、上記特性に従い、展開した行列H内で巡回のz回の繰り返しをもたらす。しかしながら、もしこれらの二つのシフトが遠く離間して存在するのであれば、循環は長い長さを有し、反復復号化に対してわずかの影響しか持たない。従って好ましい実施形態において、基底行列のhが三個の1を有する場合、循環の長さを最大限にするために、同じシフトサイズが割り当てられる二つの1はhbmの最上位値および底位置に配置され(できるだけ離間するように)、その一方でhの中央に、対になっていないシフトサイズの一つの1を残す。例えば、hbm=[3 −1 3 −1 −1 −1 4]はhとH’との間で長さ6のz循環となり、一方、hbm=[3 −1 4 −1 −1 −1 3]はhとH’との間で長さ14のz循環となる。hとH’はhとH’b2から展開されている。
つまり、Hb2はモデル行列
Figure 2008509635
にマッピングされ、k=n−mであり、hbmにおいてw個(奇数、w>=3)の負ではないエントリが存在し、H’bm2において−1個のエントリは略して左側のブランクとなる。すべてのp(i、k)値は、任意のゼロでない部分行列にマッピングされ得る1回を除いてhbmにおいて偶数回出現する。従って、wが奇数であるために、すべてのwシフトに同じ値(例えば、0)を与えることが可能となる。H’bm2については、p(i,j)=p(i+1,j)、j=k+1、k+2、…、n−1、i=j−k−1。好ましい実施形態において、w=3であると仮定すると、一実施形態は、hbm=[0 −1…−1 p−1…−1…0]、p mod z10、およびp(i,j)=p(i+1,j)=0、j=k+1、k+2、…、n−1、i=j−k−1をH’bm2部に有する。
上記説明は単位行列の循環シフトである部分行列を用いることに焦点を当てたが、一般には、任意の他の部分行列が用いられてもよい(またベースモデル行列の等価物で表現されてもよい)。エンコードを促進するための制限は:
1.H’bm2のすべての列において、二つのゼロでない部分行列が同一である。
2.hbmのw個(奇数、w>=3)のゼロでない部分行列は、任意のゼロでない行列であり得る一つの部分行列を除いて対になっている(すなわち、一つの部分行列は他の部分行列と等しい)。
<エンコード>
エンコードとは、情報シーケンスsを与えられたパリティシーケンスpを決定する処理である。構造化LDPC符号をエンコードするために、各動作は単一のビットの代わりにzビットのグループに対して行われる。あるいは、ベクトル演算は用いられなくてもよく、下記の式は等価なスカラー形式で実行される。エンコードするために、sはzビットのk=n−m個のグループに分割される。このグループ化されたsをuで表現することにする。
Figure 2008509635
ここでuの各要素は以下の列ベクトルである。
Figure 2008509635
モデル行列Hbmを使用して、パリティシーケンスpはz個のグループに決定される。グループ化されたpをvで表現することにする。
Figure 2008509635
ここでvの各要素は以下の列ベクトルである。
Figure 2008509635
エンコードは2ステップで進む、すなわち、v(0)を決定する初期化工程(a)と、v(i)からV(i+1)(ただし、0≦i≦m−2)を決定する反復工程(recursion)(b)である。
v(0)の式は、式(1)の行を合計することによって導出され、以下のように得られる。
Figure 2008509635
ここでxはhbmの行インデックスであり、エントリは負ではなく、また、奇数の回数を用いる。好ましい実施形態において、hbmの最上位値と底位置のエントリは対になり、従って、1≦x≦m−2となる。式(14)は、両側からP−1 p(x、kb)を乗算することによって、v(0)について解ける。ここで検討する特別の場合では、p(x,k)が循環シフトを表し、P−1 p(x、kb)=Pz−p(x、kb)である。言い換えれば、v(0)は以下の式によって得られる。
Figure 2008509635
一般には、式(16)と(17)において表現される反復はH’b2の構造を考慮することによって、導き出すことができる。
Figure 2008509635
及び
Figure 2008509635
ただし
Figure 2008509635
従って、v(0)にないすべてのパリティビットは、0≦i≦m−2について式(16)および(17)を反復して評価することによって決定される。
H’b2における1のシフトサイズが全ゼロである好ましい実施形態において、式(16)および(17)は式(19)および(20)として簡略化される。
Figure 2008509635
及び
Figure 2008509635
従って、一般的な場合のように、v(0)にないすべてのパリティビットは、0≦i≦m−2についての式(19)および(20)を反復して評価することによって決定される。
式(14)、(19)、および(20)はエンコードアルゴリズムを表している。これらの式もまた、標準デジタル論理アーキテクチャの観点から直接的解釈を有する。まず、Hbmの負ではない要素p(i,j)がベクトルの循環シフトサイズを表現しているため、Pp(i,j)u(j)の形式のすべての積はサイズzのバレルシフタによって実現できる。ゼロの循環シフトサイズはバレルシフトされる必要はない。すべての可能な循環シフトを実行するバレルシフタは各入力ビットからすべての出力ビットに接続を供給しなくてはならないために、それが起動する速度はzに依存する。与えられたzについて、すべての可能な循環シフトの適切な部分集合のみを許可することによって複雑性を減少させ、また、速度を増加させることができる。例えば、Hbmは偶数の循環シフトサイズのみによって構築されることができる。式(14)、(19)、および(20)における合計は、p(i,j)=−1であるときに開閉される(すなわち、更新しない)ベクトル的XOR(排他的OR)演算を表現する。
式(14)、(19)、および(20)において合計を実施するために、Hbmのエントリp(i,j)(0≦i≦k、0≦j≦m−1)は、[logz]+1ビットの幅のリードオンリーメモリ(ROM)に記憶され得る。グループ化情報シーケンスはサイズzメモリに記憶されて、起こった順番に読み出され得る。各情報ベクトルu(j)が読み出されるとき、必要な循環シフトのバレルシフタを指示するHbmのROMから対応するエントリが読み出され得る。循環シフトの後、部分的な合計を含むレジスタが更新される。式(14)について、各内部の和が完了した後、その結果は外部の合計を含む他のレジスタを更新することに使用することができる。外部の合計が完了したとき、それはz−p(x、k)によって循環的にシフトされ得る。
バレルシフトが単一のクロック周期で実施可能であると仮定すると、エンコードはほぼ(k+1)mクロック周期で実施可能である。この数字は、m−1個の余分なz幅のレジスタの費用で、式(14)が計算されているときに利用可能となる結果を利用して式(19)および(20)の合計を計算して記憶させることによって、減少させることができる。
<行列の拡張>
符号拡張手順は、低いレートの符号に到達するために構造化符号に適用することができる。徐々に低くなるレート符号を、増加的冗長(IR)手順の連続送信において用いることができる。具体的には1番目の送信のモデル行列は下記の式で表せる。
Figure 2008509635
そして、2番目の送信についてのモデル行列は以下の式
Figure 2008509635
等を用いてもよい。各送信iについて、部分行列H(i) bm2は(9)の形式と、m(i) ×m(i) のサイズとを有している。1番目の送信はn(1) =k+m(1) グループのビットすなわち[u(0)、u(1)、…、u(k−1)、v(1)(0)、v(1)(1)、…、v(1)(m(1) −1)]を送信してもよい。尚、各グループのサイズはzである。1番目の送信の後のデコードは受信信号すなわち[u(0)、u(1)、…、u(k−1)、v(1)(0)、v(1)(1)、…、v(1)(m(1) −1)]と、式(21)とを用いて実行される。2番目の送信はサイズzのビットからなる他のm(2) グループのビットすなわち[v(2)(0)、v(2)(1)、…、v(2)(m(2) −1)]を送信してもよい。尚、m=m(2) zであり、1番目と2番目の送信のビットすなわち[u(0)、u(1)、…、u(k−1)、v(1)(0)、v(1)(1)、…、v(1)(m(1) −1)、v(2)(0)、v(2)(1)、…、v(2)(m(2) −1)]は式(22)に対応する符号語である。従って、2番目の送信の後のデコードは、式(22)と、1番目の送信と2番目の送信からの結合受信信号とに基づいて実行される。この手順はより多くの送信について繰り返されてもよい。2番目の送信後のデコードは、1番目の送信の比より低い比k/n (2)=k/(n (1)+m (2))の符号に基づいている。この手順は多くの送信について繰り返され、付加的な送信の各々はより強い、より低い比の符号に寄与する。
図5はエンコーダ300、特に、マイクロプロセッサ301の動作を示すフローチャートである。論理フローは現在の記号セット(s,…,sk−1)がマイクロプロセッサ301によって受信されるステップ501において始まる。ステップ503において、パリティチェックビットの値は現在の記号セットおよびHに基づいて決定される。特に、パリティチェックビット(p,…,pm−1)は上述したように決定される。Hは基底行列Hの展開である。説明したとおり、HはセクションHb1とセクションHb2を備える。Hb2は2より大きい奇数の重みを有する列hからなる第一の部分と、行iと列jが、i=jについては1に等しく、i=j+1については1に等しく、他の位置については0に等しい行列要素を備える第2の部分とを備える。加えて、(Hを生成する)基底行列Hの展開は第二の部分H’b2の各列の1については同一部分行列を用い、hにおける偶数個の1については対をなす部分行列を用いる。ステップ505において、現在の記号セットおよびパリティチェックビットは、無線送信によって送信される。
図6はデコーダ400、特に、マイクロプロセッサ401の動作を示すフローチャートである。論理フローは、受信信号ベクトルy=(y,…,yn−1)が受信されるステップ601において始まる。ステップ603において、現在の記号セットs(すなわち、現在の記号セット(s,…,sk−1))の推定値はHに基づいて決定される。説明したとおり、Hは基底行列Hの展開であり、HはセクションHb1およびセクションHb2を備え、Hb2は2より大きい奇数の重みを有する列hからなる第一の部分と、行iと列jが、i=jについては1に等しく、i=j+1については1に等しく、他の位置については0に等しい行列要素を備える第2の部分とを備える。
本発明は特定の実施形態について特に図示され記載されてはいるが、本発明の精神と範囲を超えることなく、形式と詳細において種々の変化がなされることは当業者によって理解されよう。例えば、本発明の図示において、x内におけるsおよびpの順序付けが定義されているが、Hの列が再順序付けされる限りは、符号語ビットを任意の順序で収集することができるため、当業者であれば符号語ビットがHの列x内におけるビットの他の順序付けを発生しうることを認識するであろう。従って、上記の記載は二値符号(すなわち、ガロア域GF(2)上に定義された符号)を特に図示し説明したものであるが、当業者は任意のGFも同様に用いることができることを認識するである。上述の例は一つの形式で示されているものの、同様のエンコードおよび符号訂正手順を可能にする他の形式も可能である。例えば、Hの行はパリティチェックビットの値に影響を与えることなく、その順序を変えてもよい。他の例において、改良された階段構造は、パリティチェックビットのサブセットのために用いられてもよい。さらに他の例において、基底行列を展開行列に展開するときに、付加的ステップが実行されてもよい。行列Hも、パリティチェック行列に依存する任意のタイプのデコーダにおいて用いられてもよい。本発明は、このような変化が以下の請求の範囲内で起きることを目的とする。
(12,6)のH行列の二部グラフを示す。 基底行列Hとモデル行列Hbmと最終の展開行列Hとの関係を示す。 エンコーダのブロック図。 デコーダのブロック図。 図3のエンコーダの動作を示すフローチャート。 図4のエンコーダの動作を示すフローチャート。

Claims (10)

  1. 現在の記号セットs=(s,…,sk−1)に基づいてパリティチェックビットp=(p,…,pm−1)を生成する送信機を動作させる方法であって、
    前記現在の記号セットs=(s,…,sk−1)を受信する工程と、
    行列Hを用いて前記パリティチェックビットを決定する工程と、
    前記現在の記号セットと共に前記パリティチェックビットを送信する工程とを備え、
    Hは基底行列Hの展開であり、HはセクションHb1およびセクションHb2を備え、Hb2は2より大きい奇数の重みを有する列hを有する第一の部分と、行iと列jが、i=jについては1に等しく、i=j+1については1に等しく、他の位置については0に等しい行列要素を備える第二の部分H’b2とを備え、前記基底行列Hの展開は、前記第二の部分H’b2の各列における1については同一部分行列を用い、hの偶数個の1については対になった部分行列を用いる前記方法。
  2. は、Hの各エントリをサイズz×zの部分行列で置換することによって展開されてHを生成することを特徴とする請求項1に記載の方法。
  3. は、Hの各ゼロ要素をサイズz×zのゼロ部分行列で置換することによって展開されてHを生成することを特徴とする請求項1に記載の方法。
  4. は、Hの各非ゼロ要素を非ゼロ部分行列で置換することによって展開されてHを生成することを特徴とする請求項1に記載の方法。
  5. はHの各非ゼロ要素を非ゼロ順列部分行列で置換することによって展開されてHを生成することを特徴とする請求項1に記載の方法。
  6. Figure 2008509635
    が成り立ち、ベクトルhが奇数の重みw>=3を有することを特徴とする請求項1に記載の方法。
  7. 行列Hを記憶する記憶手段と、
    行列Hを用いてパリティチェックビットを決定するマイクロプロセッサと、
    前記パリティチェックビットを送信する送信機とを備え、
    Hは基底行列Hの展開であり、HはセクションHb1およびセクションHb2を備え、Hb2は2より大きい奇数の重みを有する列hを有する第一の部分と、行iと列jが、i=jについては1に等しく、i=j+1については1に等しく、他の位置については0に等しい行列要素を備える第二の部分H’b2とを備え、
    二つの同一部分行列がH’b2のすべての列における1を展開させるのに用いられ、対になった部分行列がhにおける偶数個の1を展開するのに用いられることを特徴とする装置。
  8. Figure 2008509635
    が成り立ち、ベクトルhが奇数の重みw>=3を有することを特徴とする請求項7に記載の装置。
  9. 行列Hを記憶する記憶手段と、
    信号ベクトルy=(y…Yn−1)を受信する受信機と、
    行列Hを用いて現在の記号セット(s,…,sk−1)を決定するマイクロプロセッサとを備え、
    Hは基底行列Hの展開であり、HはセクションHb1およびセクションHb2を備え、Hb2は2より大きい奇数の重みを有する列hを有する第一の部分と、行iと列jが、i=jについては1に等しく、i=j+1については1に等しく、他の位置については0に等しい行列要素を備える第二の部分H’b2とを備え、
    二つの同一部分行列がH’b2のすべての列における1を展開させるのに用いられ、対になった部分行列がhにおける偶数個の1を展開するのに用いられることを特徴とする装置。
  10. Figure 2008509635
    が成り立ち、ベクトルhが奇数の重みw>=3を有することを特徴とする請求項9に記載の装置。
JP2007525672A 2004-08-09 2005-08-03 データのエンコードおよびデコード方法および装置 Active JP4516602B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US60000504P 2004-08-09 2004-08-09
US11/004,359 US7143333B2 (en) 2004-08-09 2004-12-03 Method and apparatus for encoding and decoding data
PCT/US2005/027782 WO2006020495A1 (en) 2004-08-09 2005-08-03 Method and apparatus for encoding and decoding data

Publications (2)

Publication Number Publication Date
JP2008509635A true JP2008509635A (ja) 2008-03-27
JP4516602B2 JP4516602B2 (ja) 2010-08-04

Family

ID=35758925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007525672A Active JP4516602B2 (ja) 2004-08-09 2005-08-03 データのエンコードおよびデコード方法および装置

Country Status (10)

Country Link
US (1) US7143333B2 (ja)
EP (2) EP1790081A4 (ja)
JP (1) JP4516602B2 (ja)
KR (1) KR100884698B1 (ja)
CN (1) CN101032082B (ja)
BR (1) BRPI0514179B1 (ja)
ES (1) ES2421942T3 (ja)
PL (1) PL2387157T3 (ja)
RU (1) RU2370886C2 (ja)
WO (1) WO2006020495A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4820368B2 (ja) * 2004-09-17 2011-11-24 エルジー エレクトロニクス インコーポレイティド Ldpcコードを用いた符号化及び復号化方法
JP4822452B2 (ja) * 2004-09-17 2011-11-24 エルジー エレクトロニクス インコーポレイティド Ldpcコードを用いた符号化または復号化方法及びその装置

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100906474B1 (ko) * 2003-01-29 2009-07-08 삼성전자주식회사 저밀도 부가정보 발생용 매트릭스를 이용한 에러 정정방법 및그 장치
US7581157B2 (en) 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
WO2006055086A1 (en) * 2004-10-01 2006-05-26 Thomson Licensing A low density parity check (ldpc) decoder
WO2006068435A2 (en) * 2004-12-22 2006-06-29 Lg Electronics Inc. Apparatus and method for decoding using channel code
CN100486150C (zh) * 2005-01-23 2009-05-06 中兴通讯股份有限公司 基于非正则低密度奇偶校验码的编译码器及其生成方法
US20070180344A1 (en) * 2006-01-31 2007-08-02 Jacobsen Eric A Techniques for low density parity check for forward error correction in high-data rate transmission
US7941737B2 (en) * 2006-04-19 2011-05-10 Tata Consultancy Services Limited Low density parity check code decoder
KR101119111B1 (ko) * 2006-05-04 2012-03-16 엘지전자 주식회사 Ldpc 부호를 이용한 데이터 재전송 방법
KR101227514B1 (ko) 2007-03-15 2013-01-31 엘지전자 주식회사 Ldpc 부호화 및 복호화를 위한 모델 행렬을 구성하는방법
US8418023B2 (en) 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US20080320374A1 (en) * 2007-06-22 2008-12-25 Legend Silicon Corp. Method and apparatus for decoding a ldpc code
JP4823176B2 (ja) 2007-08-31 2011-11-24 パナソニック株式会社 復号方法及び復号装置
EP2223431A4 (en) * 2008-08-15 2010-09-01 Lsi Corp DECODING LIST OF CODED WORDS CLOSE IN RAM MEMORY
CN102077173B (zh) 2009-04-21 2015-06-24 艾格瑞系统有限责任公司 利用写入验证减轻代码的误码平层
US8392789B2 (en) * 2009-07-28 2013-03-05 Texas Instruments Incorporated Method and system for decoding low density parity check codes
US8464142B2 (en) 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8499226B2 (en) 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
US8458555B2 (en) 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US8504900B2 (en) 2010-07-02 2013-08-06 Lsi Corporation On-line discovery and filtering of trapping sets
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
US8977937B2 (en) * 2012-03-16 2015-03-10 Lsi Corporation Systems and methods for compression driven variable rate decoding in a data processing system
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9203440B1 (en) 2013-01-29 2015-12-01 Xilinx, Inc. Matrix expansion
US9083383B1 (en) * 2013-01-29 2015-07-14 Xilinx, Inc. Parity check matrix
WO2014127129A1 (en) 2013-02-13 2014-08-21 Qualcomm Incorporated Ldpc design using quasi-cyclic constructions and puncturing for high rate, high parallelism, and low error floor
CN106201781B (zh) * 2016-07-11 2019-02-26 华侨大学 一种基于右边正则纠删码的云数据存储方法
US10289348B2 (en) * 2016-12-30 2019-05-14 Western Digital Technologies, Inc. Tapered variable node memory
WO2018171043A1 (zh) 2017-03-24 2018-09-27 中兴通讯股份有限公司 一种准循环低密度奇偶校验编码处理方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4564944A (en) * 1983-12-30 1986-01-14 International Business Machines Corporation Error correcting scheme
JPS6250943A (ja) * 1985-08-30 1987-03-05 Hitachi Ltd 記憶装置
KR20030036227A (ko) * 2000-06-16 2003-05-09 어웨어, 인크. Ldpc 코드형 변조를 위한 시스템 및 방법
US6567465B2 (en) * 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US6948109B2 (en) * 2001-10-24 2005-09-20 Vitesse Semiconductor Corporation Low-density parity check forward error correction
WO2004006443A1 (en) * 2002-07-03 2004-01-15 Hughes Electronics Corporation Bit-interleaved coded modulation using low density parity check (ldpc) codes
AU2002364182A1 (en) * 2002-08-20 2004-03-11 Flarion Technologies, Inc. Methods and apparatus for encoding ldpc codes
US6785863B2 (en) * 2002-09-18 2004-08-31 Motorola, Inc. Method and apparatus for generating parity-check bits from a symbol set
KR20040033554A (ko) * 2002-10-15 2004-04-28 삼성전자주식회사 에러 정정 부호화 장치 및 그 방법
KR20040036460A (ko) * 2002-10-26 2004-04-30 삼성전자주식회사 Ldpc 복호화 장치 및 그 방법
US7702986B2 (en) * 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6009024383, Brian Classon et al., "Low−complexity LDPC coding for OFDMA PHY", IEEE C802.16e−04/101r2, IEEE 802.16 Broadband Wireless Access Working Group, 20040518 *
JPN6009024386, Panyuh Joo et al., "LDPC coding for OFDMA PHY", IEEE C802.16d−04/86r1, IEEE 802.16 Broadband Wireless Access Working Group, 20040501 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4820368B2 (ja) * 2004-09-17 2011-11-24 エルジー エレクトロニクス インコーポレイティド Ldpcコードを用いた符号化及び復号化方法
JP4822452B2 (ja) * 2004-09-17 2011-11-24 エルジー エレクトロニクス インコーポレイティド Ldpcコードを用いた符号化または復号化方法及びその装置

Also Published As

Publication number Publication date
EP2387157A1 (en) 2011-11-16
CN101032082B (zh) 2010-09-15
EP1790081A4 (en) 2009-06-03
RU2007107953A (ru) 2008-09-20
CN101032082A (zh) 2007-09-05
KR20070035072A (ko) 2007-03-29
EP1790081A1 (en) 2007-05-30
KR100884698B1 (ko) 2009-02-19
BRPI0514179A (pt) 2008-06-03
BRPI0514179B1 (pt) 2018-01-23
US20060031744A1 (en) 2006-02-09
EP2387157B1 (en) 2013-07-10
JP4516602B2 (ja) 2010-08-04
WO2006020495A1 (en) 2006-02-23
US7143333B2 (en) 2006-11-28
PL2387157T3 (pl) 2013-12-31
RU2370886C2 (ru) 2009-10-20
ES2421942T3 (es) 2013-09-06

Similar Documents

Publication Publication Date Title
JP4516602B2 (ja) データのエンコードおよびデコード方法および装置
US7343548B2 (en) Method and apparatus for encoding and decoding data
US7395494B2 (en) Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
JP4602406B2 (ja) データをエンコード及びデコードするための方法並びに装置
US7730377B2 (en) Layered decoding of low density parity check (LDPC) codes
US7203897B2 (en) Method and apparatus for encoding and decoding data
US7493548B2 (en) Method and apparatus for encoding and decoding data
KR101227264B1 (ko) Ldpc 코드용 디코더
KR101405962B1 (ko) Ldpc 코드를 이용한 복호화 방법
US20040221223A1 (en) Apparatus and method for encoding a low density parity check code
KR100861674B1 (ko) 송신기 및 수신기를 동작시키는 방법, 및 데이터를 엔코딩 및 디코딩하는 장치
US20090019333A1 (en) Generation of parity-check matrices
US20130086456A1 (en) System and Method for Determining Quasi-Cyclic Low-Density Parity-Check Codes Having High Girth
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
KR100550101B1 (ko) 저밀도 패리티 검사 부호의 부호화와 복호 장치 및 그방법
RU2365034C2 (ru) Способ и устройство для кодирования и декодирования данных

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090826

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4516602

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250