JP5752317B2 - 準巡回低密度パリティ検査符号を求める方法、及び準巡回低密度パリティ検査符号に基づいてデータを符号化するシステム - Google Patents

準巡回低密度パリティ検査符号を求める方法、及び準巡回低密度パリティ検査符号に基づいてデータを符号化するシステム Download PDF

Info

Publication number
JP5752317B2
JP5752317B2 JP2014506381A JP2014506381A JP5752317B2 JP 5752317 B2 JP5752317 B2 JP 5752317B2 JP 2014506381 A JP2014506381 A JP 2014506381A JP 2014506381 A JP2014506381 A JP 2014506381A JP 5752317 B2 JP5752317 B2 JP 5752317B2
Authority
JP
Japan
Prior art keywords
matrix
bits
parity check
group
quasi
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.)
Active
Application number
JP2014506381A
Other languages
English (en)
Other versions
JP2014522139A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JP2014522139A publication Critical patent/JP2014522139A/ja
Application granted granted Critical
Publication of JP5752317B2 publication Critical patent/JP5752317B2/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
    • 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/1154Low-density parity-check convolutional codes [LDPC-CC]
    • 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/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]

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)

Description

この発明は、包括的には準巡回(QC:quasi-cyclic)低密度パリティ検査(LDPC:low-density parity-check)符号に関し、より詳細には、トラッピングセットを有しないQC LDPC符号を構築することに関する。
低密度パリティ検査(LDPC)符号の構築のために、大きく分けて2種類の方法を用いることができる。一方の種類はランダムなグラフ構築に基づくのに対し、他方の種類は構造化された代数的構築に基づく。ランダムなグラフ構築は、シャノン容量に近づくLDPC符号を生成することができる。
LDPCグラフ構築は、通常「タナーグラフ」を用いる。タナーグラフは、符号語ビットを表す「変数」ノードと、パリティ検査を表す「検査」ノードとを含む2部グラフである。ここで、変数ノードは、符号のパリティ検査行列内の対応するエントリーが非ゼロである場合にのみ、エッジによって検査ノードに連結される。タナーグラフは既知である。
高度にランダムなタナーグラフ構築に基づくLDPC符号は、シャノン限界に密に近づくことができるが、符号のタナーグラフにおける検査ノードと変数ノードとの間の不規則な連結は高い複雑度の配線を意味するので、これらの構築はハードウェアにおいて実施するのが困難である。実際の実施態様では、より構造化された構築が好ましい。なぜなら、これらは実際的な配線及び復号化器における単純な並列化をもたらすためである。
準巡回LDPC(QC LDPC)符号は、巡回構造を有する部分行列に分割されたパリティ検査行列を用いる構造化されたグラフである。構造化されたグラフ構築は、ハードウェアにおいて実装するのが実際的であるので、QC LDPC符号は、IEEE802.16e標準規格、DVB−S2標準規格、及びIEEE802.11標準規格に従って実装されるネットワーク等の様々な通信ネットワークにおいて用いられる。
ほとんどの用途にとって、信号対雑音比(SNR:signal-to noise ratio)が比較的低い「ウォーターフォール」レジームにおける復号化性能を最適化することが重要である。しかしながら、用途によっては、ウォーターフォール性能を最適化することは十分でない。より高いSNRレジームにおける多くのLDPC符号に固有の「エラーフロア」も回避しなくてはならない。性能曲線における「エラーフロア」は、SNRが増加するとともに復号化失敗率が減少し続けないことを意味する。エラーフロアを除去するか又は低くすることは、高密度データ記憶及び高速光ファイバー通信システムを含む、極度の信頼性需要を必要とする用途の場合に特に重要である。
通常、QC LDPC符号は、有限幾何学、有限フィールド、及び組合せ設計を含む、広範にわたる技法に基づいて構築される。近年、「畳み込み」符号又は「空間結合」符号の分野にも多くの関心が集まっている。「畳み込み」符号又は「空間結合」符号は、従来のランダム構築よりもはるかに構造化されているが、シャノン容量に密に近づくこと、又は更には2元消失通信路(BEC:binary erasure channel)においてシャノン容量を達成することも示されている。ここで、これらの符号は、準巡回構築を用いて実装することができるので重要であり、このため他の構造化されたQC LDPC符号の実用性を保ちながら非常に良好な性能を達成することができるはずである。
確率伝搬(BP:belief propagation)復号化器又は関連する復号化器を用いて復号化されたLDPC符号のエラーフロア問題は、一般に「トラッピングセット」によって引き起こされる。トラッピングセットは、不正確な確信度(belief)において互いを補強する一組の少数のビットである。ビットのトラッピングセットは、符号のタナーグラフにおいて、クラスター化した短いサイクルで常に配列される。トラッピングセットを除去する1つの方法は、短いサイクルのクラスターが存在しないようにタナーグラフを設計することである。代替的な、少なくとも概念的により単純な手法は、より大きなガースを用いて符号を設計することである。符号の「ガース」は、タナーグラフにおける最も短いサイクルの長さである。短いサイクルを除去することによって、危険な可能性があるサイクル構成を除去し、願わくはエラーフロアを低くする。不都合なことに、大きな、例えば8以上のガースを有する符号がトラッピングセットを有しない保証はない。
したがって、当該技術分野において、トラッピングセットを有しないQC LDPC符号を求める方法を提供することが必要とされている。
この発明の目的は、準巡回(QC)低密度パリティ検査(LDPC)符号がトラッピングセットを有しないようにQC LDPC符号を構築するシステム及び方法を提供することである。この発明の別の目的は、ウォーターフォール性能符号を最適化し、エラーフロアを回避するQC LDPCを求めることである。
トラッピングセットは、確率伝搬復号化器、又はビット反転復号化器等の関連復号化器を用いて復号化されるとき、不正確な確信度において互いを補強する一組の少数のビットである。通常、QC LDPC符号は多くの生じ得るトラッピングセットを有する可能性があり、これらは検出が非常に困難である。全ての生じ得るトラッピングセットの存在についてQC LDPC符号を試験しようとした場合、生じ得るトラッピングセットの何千もの異なるパターンのデータベースが必要となり、そのようなデータベースをそのように構築し、その完全性を検証することは不可能であるか又は少なくともリアルタイムに実現できない。
この発明の様々な実施の形態は、重み4の列を有する8以上のガースのテイルバイティング空間結合符号がトラッピングセットをほとんど有しないことの発見に基づく。さらに、そのような符号において、全ての生じ得るトラッピングセットは、ビット及び検査の特定の構成に関係し、これによって特定の符号がトラッピングセットを一切有しないことを検証することが可能になる。したがって、この発見によって、トラッピングセットを有しないQC LDPC符号を構築することが可能になる。
上述した発見は、広範な調査及び試験に基づく。テイルバイティング空間結合符号は、1つには、そのような符号が優れたウォーターフォール性能を有することに起因して選択された。したがって、この発明の実施の形態によって構築されるQC LDPC符号は優れたウォーターフォール性能を有し、エラーフロアを回避する。なぜなら、エラーフロアはトラッピングセットによって生じるためである。
詳細には、この発明のいくつかの実施の形態は、トラッピングセットを有しないQC LDPC符号を表す行列を、QC LDPC符号族を表す基本行列の組から選択することができるという認識に基づく。ここで族内の各符号は8以上のガースのテイルバイティング空間結合符号であり、組内の各行列の各列は4以上の重みを有する。選択は、QC LDPC符号を表す基本行列を用いて検出することができるトラッピングセットパターンに基づく。
トラッピングセットパターンは、QC LDPC符号のタナーグラフ内に6ビットのパターンを含む。トラッピングセットパターンが「完全に連結した」6ビットのパターンである場合、このトラッピングセットパターンは実際にトラッピングセットを含む。より詳細には、「完全に連結した」6ビットは3ビットの2つの群を形成し、一方の群内の全てのビットが他方の群の全てのビットに連結している。トラッピングセットパターンが略完全に連結した6ビットのパターンである場合、このトラッピングセットパターンはトラッピングセットを含む可能性を有するが、実際には含まない場合がある。このため、そのようなトラッピングセットパターンはトラッピングセットの存在について試験される。略完全に連結した6ビットは、第1の群及び第2の群を含む、3ビットの2つの群を形成し、第1の群の第1のビット及び第2のビットは第2の群内の全てのビットに連結し、第1の群の第3のビットは第2の群内の2ビットに連結している。
したがって、この発明の一実施の形態は、準巡回(QC)低密度パリティ検査(LDPC)符号がトラッピングセットを有しないように該LDPC符号を求める方法を開示する。この方法は、QC LDPC符号族を表す行列の組を取得することであって、各QC LDPC符号は8以上のガースのテイルバイティング空間結合符号であり、前記組内の各行列の各列は4以上の重みを有するものと、トラッピングセットパターンに基づいて、前記行列の組から、或る行列がトラッピングセットを有しない前記QC LDPC符号を表すように該行列を選択することと、を含む。結果として得られるQC LDPC符号は、符号化及び復号化プロセスのためにメモリに記憶することができる。
別の実施の形態は、準巡回(QC)低密度パリティ検査(LDPC)符号に基づいてデータを符号化するシステムであって、前記データを提供するソースと、パリティ検査行列によって表されるQC LDPC符号を記憶するメモリであって、該パリティ検査行列はトラッピングセットを有しないテイルバイティング空間結合(TBSC:tail-biting spatially-coupled)QC LDPC符号を表すものと、前記テイルバイティング空間結合準巡回低密度パリティ検査符号を用いて前記データを符号化して符号化データを生成し、該符号化データをチャネルを介して送信する符号化器と、を備えるシステムを開示する。前記TBSC QC LDPC符号は、少なくとも8に等しいガースと、前記行列内の大部分の列の、4に等しい重みとを有することができる。
さらに別の実施の形態は、準巡回(QC)低密度パリティ検査(LDPC)符号がトラッピングセットを有しないようにQC LDPC符号を求める方法であって、テイルバイティング空間結合符号のスケルトンベース行列を、各列の重みが4になるように求めるステップと、前記スケルトンベース行列にガース最大化手順を適用するステップであって、それにより、QC LDPC符号族を表す行列の組を生成し、各QC LDPC符号は8以上のガースのテイルバイティング空間結合符号であり、前記組内の各行列の各列は4以上の重みを有するものと、前記行列の組から、対応するタナーグラフ内に完全に連結した6ビットのパターンを有しない予備行列を選択するステップであって、前記完全に連結した6ビットは3ビットの2つの群を形成し、一方の群内の全てのビットは他方の群内の全てのビットに連結しているものと、前記対応するタナーグラフ内に略完全に連結した6ビットのパターンを形成する前記予備行列内の候補要素組ごとに、該候補要素組がトラッピングセットを含むか否かを試験するステップであって、前記略完全に連結した6ビットは、第1の群及び第2の群を含む3ビットの2つの群を形成し、第1の群の第1のビット及び第2のビットは前記第2の群内の全てのビットに連結し、前記第1の群の第3のビットは前記第2の群内の2ビットに連結しているものと、前記トラッピングセットが見つからない場合、前記予備行列を、前記トラッピングセットを有しないQC LDPC符号として結論付けるステップと、そうでない場合、前記選択すること、前記試験すること、及び前記結論付けることを繰り返すステップと、を含み、該方法の前記ステップはプロセッサによって実行される、方法を開示する。
この発明のいくつかの実施の形態による、準巡回(QC)低密度パリティ検査(LDPC)符号がトラッピングセットを有しないようにQC LDPC符号を求める方法のブロック図である。 トラッピングセットパターンを含むことができるQC LDPC符号のタナーグラフの例を示す図である。 トラッピングセットパターンを含むことができるQC LDPC符号のタナーグラフの例を示す図である。 トラッピングセットパターンを含むことができるQC LDPC符号のタナーグラフの例を示す図である。 トラッピングセットパターンを含むことができるQC LDPC符号のタナーグラフの例を示す図である。 この発明の別の実施の形態のブロック図である。 この発明の実施の形態のうちの1つによって求められる行列の例を示す図である。 この発明の実施の形態のうちの1つによって求められる行列の例を示す図である。 この発明の実施の形態のうちの1つによって求められる行列の例を示す図である。 ガース最大化方法のブロック図である。 この発明のいくつかの実施の形態による、各候補要素組を探索及び試験する方法のブロック図である。 除去される行列のエントリーを選択する方法のブロック図である。 この発明のいくつかの実施の形態を用いる様々なシステムの概略図である。
図1は、この発明のいくつかの実施の形態による、準巡回(QC)低密度パリティ検査(LDPC)符号がトラッピングセットを有しないようにQC LDPC符号を求める方法100のブロック図を示している。この方法はプロセッサ101によって実行することができる。プロセッサ101は、当該技術において既知のメモリ及び入出力インターフェースに動作可能に接続することができる。
QC LDPC符号族を表す行列の組126が取得される(120)。各QC LDPC符号は、8以上の値を有するガース112のテイルバイティング空間結合(TBSC)QC LDPC符号であり、組内の各行列125の各列は、4以上の値を有する重み114を有する。この行列の組は、例えば以下で説明するようなスケルトンベース行列(skeleton base matrix)を用いて求めることができるか、又は有線チャネル若しくは無線チャネルを介して受信することができる。
次に、この方法は、トラッピングセットパターン110に基づいて、行列の組から、行列135がトラッピングセットを有しないQC LDPC符号を表すように、この行列135を選択する(130)。行列はメモリ140に記憶することができる(140)。行列135を符号化器170に提出し(150)、データ160を符号化し、符号化データを送信する(180)ことができる。同様に、行列135を用いて符号化データを復号化することができる。
図2A〜図2Dに示すように、トラッピングセットパターンは、QC LDPC符号のタナーグラフ内に6ビットのパターンを含む。タナーグラフはビット、例えばビット211〜216、及びパリティ検査、例えばパリティ検査219を含む。パリティ検査を通じて2ビットを互いに連結することができる。パリティ検査は、ビットの値に基づいて、満たされたパリティ検査(satisfied parity check)又は満たされていないパリティ検査(unsatisfied parity check)とすることができる。ビットは変数ノード又は変数と呼ぶこともできる。パリ検査はパリティ検査ノードと呼ぶこともできる。
例えば、図2Aは完全に連結した6ビット211〜216のトラッピングセットパターンを示している。そのようなトラッピングセットパターンは実際にトラッピングセットを含む。図2Aから見てとることができるように、完全に連結した6ビットは、3ビットの2つの群、すなわち第1の群217及び第2の群218を含む。ここで、一方の群内の全てのビットが他方の群内の全てのビットに連結している。
図2Bは、略完全に連結した6ビット221〜226の候補トラッピングセットパターンを示している。このトラッピングセットパターンはトラッピングセットを含む場合があり、トラッピングセットの存在について試験される。この略完全に連結した6ビットは、第1の群227及び第2の群228を含む、3ビットの2つの群を形成する。ここで、第1の群の第1のビット221及び第2のビット222は第2の群内の全てのビットに連結し、第1の群の第3のビット223は第2の群内の2ビットに連結している。
図2Cは、行列のタナーグラフ内に6ビット231〜236のパターンを含むトラッピングセットパターンを示している。ここで、6ビットは3ビットの2つの群を形成し、一方の群内の全てのビットは「満たされた」パリティ検査を通じて他方の群内の全てのビットに連結し、6ビットのそれぞれが1つの「満たされていない」パリティ検査238に連結している。
トラッピングセットによって確率伝搬(BP)復号化器が失敗するとき、トラッピングセット内のビットは不正確な確信度を有するのに対し、符号内の他のビットは正確な確信度を有する。これが「満たされた」パリティ検査及び「満たされていない」パリティ検査の名前の理由である。満たされたパリティ検査は、不正確な確信度を有するトラッピングセット内の2ビットに連結しているが、それらは2つしか存在しないので、それらのパリティは正確であり、それらは満たされている。満たされていないパリティ検査は不正確な確信度を有するトラッピングセット内の単一ビットに連結し、したがって不正確なパリティを有する。
図2Dは、6ビット241〜246のパターンを含むトラッピングパターンを示している。ここで、1つの満たされていないパリティ検査が除去されている。満たされていないパリティ検査のみがトラッピングセットパターンから除去される場合、このトラッピングセットパターンはトラッピングセットのままである。なぜなら、満たされていないパリティ検査はBP復号化器に不正確な情報をもたらすためである。このため、図2C及び図2Dの双方のパターンが、完全に連結した6ビットのトラッピングセットパターンであるとみなされる。
QC LDPC符号
この発明の様々な実施の形態は、その復号化器をハードウェアにおいて構築するのがより容易な構造化符号である、準巡回(QC)LDPC符号を求める。したがって、QC LDPC符号は多くの標準規格において用いられている。
i,pが、i個の位置だけp×pの恒等行列を循環的に右シフトすることによって得られる、巡回置換行列すなわち「巡回シフト行列」を表すものとする。ここで、0≦i≦p−1である。このためI0,pはp×pの恒等行列である。この開示では、多くの場合に、Ii,pの代わりにIと書くことによってpに対する依存を抑える。例として、p=4である場合、1つの位置だけシフトされる巡回置換行列は以下である。
Figure 0005752317
がp×pの全ゼロ行列を表すものとする。QC LDPC符号は、p×pの巡回置換行列又はp×pの全ゼロ行列であるp×pの部分行列から完全に構成されるパリティ検査行列を有する。例えば、p=3の場合のQC LDPC符号のパリティ検査行列は以下となる。
Figure 0005752317
この例では、パリティ検査行列は3×3の部分行列から以下のように構築される。
Figure 0005752317
QC LDPC符号は、その「基本行列」の観点で等価に表すことができる。基本行列は、巡回シフトを列挙し、全ゼロ行列を表すのに「−1」を用いる。このため、本発明者らの例におけるパリティ検査行列に等価な基本行列は以下となる。
Figure 0005752317
テイルバイティング空間結合QC LDPC符号
テイルバイティング空間結合QC LDPC符号は、その基本行列が特定の構造を有するQC LDPC符号である。TBSC QC LDPC符号を説明するいくつかのパラメーター、すなわち、p(p×pの部分行列のサイズ)、J(基本行列内の行数)、L(基本行列内の列数)、S(基本行列の各行内の非負エントリー数)及びW(基本行列の各列内の非負エントリー数)が存在する。
従来の形式における規則的なTBSC QC LDPC符号の基本行列の最終行は、L−S個の「−1」エントリー(全ゼロ行列を表す)で始まり、0〜p−1の範囲をとる非負の整数であるS個のエントリーがそれに続く。最終行の上隣の行もS個の非負エントリーと、−1に等しいL−S個のエントリーとを有するが、非負エントリーの位置はG=L/Jだけ左にシフトされる。上の各行において、非負エントリーの位置は同じ値だけ更に左にシフトされる。最上行では、非負エントリーの位置は行列の右側にラップアラウンドする。例えば、以下はパラメーター値p=3、J=5、L=10、S=6、W=3、G=2を有する標準的な形式の規則的なTBSC QC LDPC符号の例示的な基本行列である。
Figure 0005752317
QC LDPC符号のタナーグラフにおけるサイクル
LDPC符号は、「タナーグラフ」を用いて表すことができる。タナーグラフは、符号語ビットを表す「変数」ノードと、パリティ検査を表す「検査」ノードとを含む2部グラフである。ここで、変数ノードは、符号のパリティ検査行列内の対応するエントリーが非ゼロである場合にのみ、エッジによって検査ノードに連結される。
QC LDPC符号のタナーグラフにおけるサイクルを、それらのパリティ検査行列を用いて特定することができる。符号のタナーグラフ内の各検査ノードは、そのパリティ検査行列内の行に対応し、各変数ノードは列に対応する。サイクルは、タナーグラフ内のノードを通る経路であり、検査ノードと変数ノードとの間を交互に行き来し、同じノードで開始及び終了する。符号のパリティ検査行列の観点で、サイクルは行列の同じ行で開始及び終了する、行列を通る一連の交互の垂直運動及び水平運動として視覚化することができる。(列に沿った)垂直運動は、サイクル内の次のステップを形成する同じ変数ノードに連結している第2のエッジを選択することに対応する。(行に沿った)水平運動は、経路の一部分を形成する同じ検査ノードに連結している2つのエッジを選択することに対応する。
QC LDPC符号の場合、タナーグラフ内のサイクルは、基本行列における条件、すなわち基本行列の要素/パラメーターの値に基づいて特定することができる。このため、基本行列の非負パラメーターの調整を用いて短いサイクルを取り除くことができる。LDPC符号のタナーグラフの「ガース」はその最も短いサイクルの長さである。
例示的な実施の形態
図3は、この発明の一実施の形態の非限定的な例を示している。この実施の形態において、テイルバイティング空間結合符号のスケルトンベース行列(SBM)325が、各列の重みが4になるように求められる(320)。スケルトンベース行列は、ブロック長312及びレート314を有する符号族を表し、行列の組126を求めるのに用いられる。ブロック長及びレートは予め決定することも、リアルタイムで、例えばランダムに決定することもできる。以下でより詳細に説明されるように、スケルトンベース行列325の転置の例410が図4に示されている。
次に、ガース最大化方法330がスケルトンベース行列に適用され、行列の組126が生成される。実施の形態によって様々なガース最大化方法を用いることができる。この実施の形態の1つの変形形態では、組126内の各行列125の列重みが保持されるように特定のガース最大化手順が選択される。
いくつかの実施の形態では、選択130は、行列の組から、対応するタナーグラフ内に完全に連結した6ビットのパターンを有しない予備行列(preliminary matrix)345を選択すること(340)を含む。これはなぜなら、対応するタナーグラフ内に完全に連結した6ビットのパターンを有する行列はトラッピングセットを含み、行列135として選択されるべきでないためである。
予備行列340が対応するタナーグラフ内に完全に連結した6ビット及び略完全に連結した6ビットのパターンを有しない場合、行列はトラッピングセットを有しないQC LDPC符号を表し、行列135として選択される。しかしながら、予備行列が対応するタナーグラフ内に略完全に連結した6ビットのパターンを形成する要素の1つ又は複数の組を含む場合、各行列はトラッピングセットを含む場合も含まない場合もある。
したがって、この発明の一実施の形態では、選択130は、対応するタナーグラフ内の略完全に連結した6ビットのパターンを形成する予備行列内の候補要素組ごとに、その候補要素組がトラッピングセットであるか否かを試験すること(350)を含む。トラッピングセットが見つからない場合(360)、予備行列が行列135として選択される(362)。見つかった場合、組126から選択された次の予備行列について上記ステップが繰り返される(364)。
スケルトンベース行列
スケルトンベース行列は、所望のブロック長N及びレートRに適合する列次数W=4を有する標準的な形式の規則的なTBSC QC LDPC符号について求められる。パラメーター値の様々な選択が可能であるが、或る特定の制約が存在する。特に、N、p及びLは、式N=pLによって関係付けられ、R、J及びLは式R=1−J/Lによって関係付けられる。スケルトンベース行列は未確定の任意の非負のエントリー値を有する。スケルトンベース行列の非負のエントリーはシンボル*を用いて以下に示される。
例えば、レートR=1/2で長さN=9600の符号を所望したと仮定する。パラメーター値p=800、J=6、L=12、S=8、W=4、G=2を選択することができ、スケルトンベース行列Bは以下とすることができる。
Figure 0005752317
この例では、スケルトンベース行列の列は同一の対に編成される。より一般的には、このスケルトンベース行列の列はサイズGの群に編成することができる。
ブロック長N及びレートRの或る特定の値の場合、いくつかの実施の形態は不規則な構造を用いる。ここで、列の或る特定の群は列の他の群と異なるサイズを有する。例えば、以下のスケルトンベース行列は、レートR=7/13の符号に用いることができる。
Figure 0005752317
この基本行列は、式(1)のものに類似している。唯一の違いは、2つの同一の列からなる最後の群が、3つの同一の列からなる群と置き換えられていることである。
いくつかの実施の形態はより大きなJ及びLの値を用い、それに応じてpのサイズを低減する。J及びLの値が大きくなると、以下で説明するように、ウォーターフォール性能を改善する基本行列の不規則なバージョンを作成するのが容易になる。しかしながら、結果として得られる基本行列は非常に大きくなり、転置基本行列B’を用いることによって行列を示す方が容易になる。特定の例として、図4は、パラメーター値N=9600、R=1/2、p=240、J=20、L=40、S=8、W=4、G=2について求められたスケルトン転置基本行列410を示している。
ガース最大化
この発明の実施の形態によって様々なガース最大化方法を用いることができる。いくつかの実施の形態では、組126内の各行列125の重みが保持されるように特定のガース最大化方法が選択される。
図7は、ガース最大化方法700の一例を示している。ガース最大化方法700は、組126内の各行列125の重みが保持されるようにQC LDPC符号のガースを最適化する。ガース最大化手順への1つの入力は、TBSC QC LDPC符号の族を指定するスケルトンベース行列325である。別の入力は、所望のガース112、例えば8である。所望の出力は、スケルトンベース行列によって指定された形式を有するがスケルトンベース行列内の未知のパラメーターが確定値である、所望のガースのTBSC QC LDPC符号の行列125である。所望のスケルトンベース行列構造を有する符号の集合体から、例えばランダムに選択された符号を用いて方法700を初期化する。換言すれば、最初に、0〜p−1の全てのとり得る値からランダムに基本行列内の全ての非負のパラメーターを選択する。
この方法への別の入力は、各タイプのサイクルと関連付けられた「コスト関数」である。用いられるコスト関数は、所望のガース未満の長さを有する現在の符号内のサイクル数に依拠する。重みベクトル710が用いられ、それによって、より短いサイクルがより長いサイクルよりもコストが高くなるように重み付けされる。例えば、ガース8が望ましい場合、各4サイクルに10のコストを割り当て、各6サイクルに1のコストを割り当てることができる。手順はコストを最小にすることを試みるので、まず4サイクルを除去し、次に6サイクルを除去する。
ガース最大化は、基本行列内の現在の非負のパラメーターを反復的に更新する。各反復中、単一の非負のパラメーターは、コスト関数において最大の低減をもたらす値に変更される。詳細には、非負のパラメーター値ごとに、そのパラメーター値を0〜p−1の全ての他のとり得る値に変更するコストを与える「コスト行列」が求められる(730)。コスト行列から、各とり得る非負のパラメーター値を現在の値から各とり得る他の値に変更するコストの改善を与える「利得行列」を生成することができる(740)。
各反復において、この方法は、コストを改善する正の利得が存在するか否かを検査する(750)。利得が正である場合、コストを最も改善する単一の非負のパラメーター値変更が選択され、基本行列760を適切に更新するのに用いられる。次にコスト関数を再度求め(730)、反復する。
この方法700は、いかなる単一のパラメーター値も、コスト(したがって望ましくないサイクル数)を更に低減する値に変更することがもはやできないときに終了する。正式には、これは、利得行列における最大利得がもはや正でない(750)ことを意味する。この時点で、現在の基本行列においてコストがゼロであるか否かを検査する(770)。ゼロである場合、短いサイクルを一切有しない基本行列を見つけたことになる。例えば、ガース8が目標である場合、コストがゼロであることは、4サイクル又は6サイクルが存在しないことを示す。したがって、この場合、所望のガースのTBSC LDPC符号を表す基本行列125を出力する(780)。
もはやコストを改善することができないが、現在のコスト関数が正である場合、手順は失敗している(790)。或る特定の値のp及び望ましいガースgの場合、特にpが小さ過ぎ、かつgが大き過ぎる場合、手順は成功することができない。一方、ガース8及び十分大きな値のpの場合、手順は通常成功し、この手順を複数回用いて、スケルトンベース行列によって指定される構造に適合しかつ所望のガースを有する行列の組126を生成することができる。
図5は、p=240のパラメーター値でガース最大化手順を用いて得られた、8のガースを有しスケルトンベース行列410に対応する転置基本行列510を示している。この手順は、所望のガース及び構造を有する符号を見つけることに成功した。
候補要素組の試験
TBSC QC LDPC符号を表す行列の候補要素組が、対応するタナーグラフにおいてトラッピングセット候補、すなわち略完全に連結した6ビットのパターンを形成する。この候補要素組は、トラッピングセットを形成する場合もしない場合もある。すなわち、実際はトラッピングセットを形成しない場合がある。したがって、この発明の様々な実施の形態が候補要素組を探索し、各組を試験して、その組がトラッピングセットであるか否かを判断する。一実施の形態では、試験プロセスは、二値対称チャネルを仮定して確率伝搬(BP)復号化器を用いる。ここで、トラッピングセット候補内の各ビットは不正確な値に初期化され、グラフ内の全ての他のビットは正確な値に初期化される。BP復号化器が復号化に失敗した場合、トラッピングセット候補は真のトラッピングセットであり、符号は受け入れ不可能である。
図8は、各候補要素組を探索し試験する方法のブロック図を示している。この方法は、行列の組内の各行列において、完全に連結した6ビットのパターン及び/又は略完全に連結した6ビットのパターンを探索する(810)。例えば、一実施の形態は、対応するタナーグラフにおいて長さ8の複数のサイクル815を形成する候補の6ビットを求め、候補の6ビットが完全に連結した6ビットのパターン及び/又は略完全に連結した6ビットのパターンを形成するか否かを判断する。
候補要素組ごとにブロックが構築され、ここで、符号のタナーグラフ内の候補ビットの正確な値は不正確になるように変更され(820)、その一方で符号内の全ての他のビットの正確な値が保持される。次にブロックがBP復号化器を用いて復号化され(830)、復号化結果が適正であるか検査される(840)。復号化器がブロックを復号化するのに失敗した場合、この方法は、その候補要素組がトラッピングセットを形成していると結論付ける(845)。そうでない場合、この方法は、その候補要素組がトラッピングセットを形成していないと結論付ける(845)。
TBSC QC LDPC符号の変更
列の完全に規則的な重み(例えば重みが4に等しい)を有する符号は、ウォーターフォール性能を最適にしない場合がある。通常、ウォーターフォール性能は、いくつかの列がより高い次数に変更されたときに改善される。したがって、この発明のいくつかの実施の形態は、行列の少なくとも1つの列の重みを増大させる。重みの新たに増大した値は、4よりも大きくかつ最大列重み以下の任意の値とすることができる。増大させるステップは、この方法の任意の段階の間に適用することができる。例えば、行列125又は行列135に増大を適用することができる。
いずれの列をより高い次数に変更するかの選択は、例えば密度発展法を用いて行うことができる。一実施の形態では、2元消失通信路(BEC)において符号が試験され、BECの符号のしきい値が密度発展を用いて最適化される。BECの「しきい値」は、密度発展近似内で符号が復号化に成功し続けるような最大消失確率である。
より高い重みの列の重みは様々な方法で求めることができる。列全体の重み(基本行列の列内の全ての要素が非負である)を選択することによって、密度発展の下で最良のしきい値性能を与えることができるが、ハードウェアにおける復号化器の実際の構築には不便である場合がある。代替的に、一実施の形態は、ハードウェア実装と両立する最大の重みを選択する。
より高い重みの列に対応するビットは、満たされていないパリティ検査からの多くの入力を有し、したがっていかなるトラッピングセットにも加わっていない。したがって、トラッピングセットを探索するときにこれらのビットは無視される。
図6はそのような符号の転置基本行列610の例を示している。この例では、BECにおける転置基本行列510を用いた符号の密度展開しきい値は、行列の2つの列を重み4から重み20にコンバートすることによって改善される。−1から非負の値に変更されたより高い重みの列における基本行列エントリーの正確な値は常に重要であるとは限らない。例えば、値はランダムとすることもできるし、ガース最大化方法によって求めることもできる。
基本行列からのオプションのエントリー削除
いくつかの実施の形態は、いくつかの重み4の列を重み3の列に変換することにより基本行列135から要素を除去することによって、符号のウォーターフォール性能を改善する。いくつかの実施の形態では、要素は基本行列から除去され、少なくとも1つの列の重みが重み3に低減される。除去される要素は、密度発展法を用いて選択することができる。付加的に又は代替的に、除去される要素はトラッピングセットパターン又は候補トラッピングセットパターン内の要素の対応する位置に基づいて選択することができる。
通常、列を重み3の列にコンバートすることによって、トラッピングセットが発生する可能性が高くなる。したがって、実施の形態は通常、コンバートされる列の数を制限する。さらに、基本行列の要素は、除去によって真のトラッピングセットが生じる可能性がある尤度に基づいて除去される。これは、各基本行列エントリーがタナーグラフ内の検査ノードとビットノードとの間のエッジに対応することに起因して可能である。一実施の形態は、可能であれば、外部エッジではなく、トラッピングセット候補内の「内部エッジ」に対応する基本行列エントリーを除去する。
図9は、除去されるエントリーを選択する方法の例を示している。ステップ910において、この方法は除去するエントリー数を設定する。基本行列において、初期値が例えばゼロに等しい各エントリー(すなわち各エッジ)にペナルティ値が割り当てられる。
ステップ920の間、ペナルティ値は、トラッピングセットパターン内の要素の対応する位置に基づいて変更される。エントリーがトラッピングセット候補の内部エッジである場合、そのペナルティ値は1だけ減少される。エントリーがトラッピングセット候補の外部エッジである場合、そのペナルティ値は1だけ増大される。エントリーが既に1つの外部検査が除去されたトラッピングセットに属する場合、このエントリーのペナルティ値を無限大に設定する。
ステップ930の間、しきい値935未満のペナルティ値を有するエントリーの組が選択される。ステップ940の間、密度発展しきい値945を最大にする組内のエントリーが除去される。例えば、この方法は、最も小さいペナルティ値を有する複数のエントリーを選択し、密度発展しきい値を最も改善するエントリーを除去するように選択する。上述したステップを繰り返して複数のエントリーを除去することができる。除去するエントリーが選択された後、一実施の形態は、エントリーを除去することによって何らかの真のトラッピングセットが生じたか否かを試験する(950)。
この発明の実施の形態によって求められるQC LDPC符号を、図10に示すシステム1000等によって、復号化手順及び符号化手順の双方において用いることができる。この発明の実施の形態は、高いガースを有する準巡回低密度パリティ検査(QC−LDPC)符号を構築する方法100を提供する。この符号はメモリ1050内に記憶することができる。次に、そのようなコードを符号化器1020によって用いて、データ、例えばソース1010によって生成されるk個のシンボルの情報ブロックu[a]1001を符号化することができる。符号化データは、N個のシンボルを含む符号語x[n]1002として雑音チャネル1030を通じて送信することができる。チャネルは通信チャネルとすることができる。「チャネル」はストレージ媒体とすることもできる。この場合、符号語は後の検索のために媒体に書き込まれる。
チャネルが符号語を破損させて信号y[n]1003にする可能性がある。次に、この信号は復号化器1040に渡される。復号化器1040は、QC−LDPC符号1050を用いて情報ブロックu[a]1002を再構築したものz[a]1004を出力しようと試みる。
この発明の上記の実施の形態は数多くの方法のいずれかにおいて実施することができる。例えば、それらの実施の形態は、ハードウェア、ソフトウェア又はその組み合わせを用いて実施することができる。ソフトウェアにおいて実施されるとき、そのソフトウェアコードは、単一のコンピューター内に設けられるにしても、複数のコンピューター間に分散されるにしても、任意の適切なプロセッサ、又はプロセッサの集合体において実行することができる。そのようなプロセッサは集積回路として実施することができ、集積回路構成要素内に1つ又は複数のプロセッサが含まれる。しかしながら、プロセッサは、任意の適切な構成の回路部を用いて実施することができる。
また、コンピューターは、ラックマウント型コンピューター、デスクトップコンピューター、ラップトップコンピューター、ミニコンピューター、又はタブレットコンピューター等の複数の形式のうちの任意のもので具現することができる。そのようなコンピューターは、企業ネットワーク又はインターネット等のローカルエリアネットワーク又はワイドエリアネットワークを含む任意の適切な形態の1つ又は複数のネットワークによって相互接続することができる。そのようなネットワークは任意の適切な技術に基づくことができ、任意の適切なプロトコルに従って動作することができ、無線ネットワーク、有線ネットワーク、又は光ファイバーネットワークを含むことができる。
また、この発明の実施の形態は方法として具現することができ、その一例が提供されてきた。その方法の一部として実行されるステップは、任意の適切な形で順序化することができる。したがって、例示的な実施の形態において順次の動作として示される場合であっても、例示されるのとは異なる順序においてステップが実行される実施の形態を構成することもでき、異なる順序は、幾つかの動作を同時に実行することを含む場合もある。
請求項要素を修飾するように特許請求の範囲において「第1の」、「第2の」のような序数の用語を使用することは、それだけで、或る請求項要素が別の請求項要素よりも優先度が高いこと、優位であること、若しくは上位にあることを、又は方法の動作が実行される時間的な順序を暗示するのではなく、請求項要素を区別するように、或る特定の名称を有する1つの請求項要素を(序数用語を使用することは別にして)同じ名称を有する別の要素から区別するラベルとして単に使用される。
この発明の方法及びシステムは、多くの種類の分野に適用可能である。

Claims (20)

  1. 準巡回低密度パリティ検査符号がトラッピングセットを有しないように該準巡回低密度パリティ検査符号を求める方法であって、
    準巡回低密度パリティ検査符号族を表す行列の組を取得するステップであって、各準巡回低密度パリティ検査符号は8以上のガースのテイルバイティング空間結合符号であり、前記組内の各行列の各列は4以上の重みを有するものと、
    トラッピングセットパターンに基づいて、前記行列の組から、トラッピングセットを有しない前記準巡回低密度パリティ検査符号を表すように行列を選択するステップと、
    前記行列をメモリ内に記憶するステップと、
    を含み
    前記取得するステップにおいて、
    前記組内の行列の重みが保持されるように準巡回低密度パリティ検査符号のガースを最適化するガース最大化が施され、
    最初に、スケルトンベース行列構造を有する符号の集合体の全てのとり得る値からランダムに前記準巡回低密度パリティ検査符号族を表す基本行列内の全ての非負のパラメーター値が選択され、
    非負のパラメーター値ごとに、該パラメーター値を全ての他のとり得る値に変更するコストを与えるコスト行列を求め、
    前記コスト行列から、各とり得る非負のパラメーター値を現在の値から各とり得る他の値に変更するコストの改善を与える利得行列を生成し、
    コストを改善する正の利得である場合、コストを最も改善する単一の非負のパラメーター値変更が選択され、基本行列を更新するのに用いられ、
    次にコスト行列を再度求め、
    これらを反復し、いかなる単一のパラメーター値も、コストを更に低減する値に変更することがもはやできないときに終了し、
    この時点で、現在の基本行列においてコストがゼロである場合に、所望のガースのテイルバイティング空間結合符号を表す基本行列を出力し、
    この手順を複数回用いて、スケルトンベース行列によって指定される構造に適合しかつ所望のガースを有する行列の組を生成し、
    該方法の前記ステップはプロセッサによって実行される、準巡回低密度パリティ検査符号がトラッピングセットを有しないように該準巡回低密度パリティ検査符号を求める方法。
  2. 前記取得するステップは、
    テイルバイティング空間結合符号のスケルトンベース行列を、各列の前記重みが4となるように、かつ該スケルトンベース行列が所定のブロック長及び所定のレートを有する符号族を表すように求めることと、
    前記スケルトンベース行列にガース最大化手順を適用することであって、それにより前記行列の組を生成し、前記ガース最大化手順は前記重みを保持するものと、
    を更に含む、請求項1に記載の方法。
  3. 前記トラッピングセットパターンは、対応するタナーグラフ内の6ビットのパターンである、請求項1に記載の方法。
  4. 前記トラッピングセットパターンは、対応するタナーグラフ内に6ビットのパターンを含み、前記6ビットは3ビットの第1の群及び第2の群を形成し、前記第1の群内の全てのビットはパリティ検査によって前記第2の群内の全てのビットに連結している、請求項1に記載の方法。
  5. 前記トラッピングセットパターンは、前記行列のタナーグラフ内に6ビットのパターンを含み、前記6ビットは3ビットの2つの群を形成し、一方の群内の全てのビットは、満たされたパリティ検査を通じて他方の群内の全てのビットに連結し、前記6ビットのそれぞれが1つの満たされていないパリティ検査に連結している、請求項1に記載の方法。
  6. 前記トラッピングセットパターンは、前記行列のタナーグラフ内に6ビットのパターンを含み、前記6ビットのそれぞれがパリティ検査を通じて3ビット又は4ビットに連結し、前記6ビットは、第1の群及び第2の群を含む3ビットの2つの群を形成し、前記第1の群の第1のビット及び第2のビットは前記第2の群内の全てのビットに連結し、前記第1の群の第3のビットは前記第2の群内の2ビットに連結している、請求項1に記載の方法。
  7. 前記選択するステップは、
    前記行列の組から、対応するタナーグラフ内に完全に連結した6ビットのパターンを有しない予備行列を選択することであって、前記完全に連結した6ビットは3ビットの2つの群を形成し、一方の群内の全てのビットは他方の群内の全てのビットに連結しているものと、
    前記対応するタナーグラフ内に略完全に連結した6ビットのパターンを形成する前記予備行列内の候補要素組ごとに、該候補要素組がトラッピングセットを含むか否かを試験することであって、前記略完全に連結した6ビットは、第1の群及び第2の群を含む3ビットの2つの群を形成し、前記第1の群の第1のビット及び第2のビットは前記第2の群内の全てのビットに連結し、前記第1の群の第3のビットは前記第2の群内の2ビットに連結しているものと、
    前記トラッピングセットが見つからない場合、前記予備行列を前記行列として選択することと、
    を更に含む、請求項1に記載の方法。
  8. 前記試験することは、
    前記候補要素の正確な値を不正確になるように変更することであって、その一方で前記予備行列内の他の要素の正確な値を保持するものと、
    確率伝搬復号化器を用いて前記予備行列の要素の値を復号化することと、
    前記復号化器が前記候補要素の前記正確な値を復号化することに失敗した場合、前記候補要素が前記トラッピングセットを含むと結論付けることと、
    を含む、請求項7に記載の方法。
  9. 前記行列の組内の各行列において、前記完全に連結した6ビットのパターン及び前記略完全に連結した6ビットのパターンを探索すること、
    を更に含む、請求項7に記載の方法。
  10. 各行列について、前記探索することは、
    対応するタナーグラフ内の長さ8の複数のサイクルを形成する候補6ビットを決定することと、
    前記候補6ビットが前記完全に連結した6ビットのパターン又は前記略完全に連結した6ビットのパターンを形成するか否かを判断することと、
    を含む、請求項9に記載の方法。
  11. 前記行列の少なくとも1つの列の重みを増大させること、
    を更に含む、請求項1に記載の方法。
  12. 前記増大させることは、
    前記少なくとも1つの列の前記重みを最大化すること、
    を含む、請求項11に記載の方法。
  13. 重みが増大される前記列は密度発展法を用いて選択される、請求項11に記載の方法。
  14. 少なくとも1つの列の前記重みを重み3に低減するように基本行列から要素を除去すること、
    を更に含む、請求項1に記載の方法。
  15. 前記除去される要素は密度発展法を用いて選択される、請求項14に記載の方法。
  16. 前記除去される要素は、前記トラッピングセットパターン内の前記要素の対応する位置に基づいて選択される、請求項14に記載の方法。
  17. 前記行列の少なくともいくつかのエントリーのペナルティ値を初期化することと、
    前記トラッピングセットパターン内の前記要素の対応する位置に基づいて前記ペナルティ値を変更することであって、前記エントリーが前記トラッピングセットパターン内の外部エッジに対応する場合、エントリーのペナルティ値は増大され、前記エントリーが前記トラッピングセットパターン内の内部エッジに対応する場合、前記エントリーの前記ペナルティ値は減少され、前記エントリーが1つの外部検査が除去された前記トラッピングセットパターンに対応する場合、前記エントリーの前記ペナルティ値は無限大に設定されるものと、
    しきい値未満のペナルティ値を有するエントリーの組を選択することと、
    密度発展しきい値を最大にする前記組内の前記エントリーを除去することと、
    前記行列内の前記トラッピングセットの存在について試験することと、
    を更に含む、請求項14に記載の方法。
  18. 準巡回低密度パリティ検査符号に基づいてデータを符号化するシステムであって、
    前記データを提供するソースと、
    パリティ検査行列によって表される準巡回低密度パリティ検査符号を記憶するメモリであって、該パリティ検査行列はトラッピングセットを有しないテイルバイティング空間結合準巡回低密度パリティ検査符号を表すものと、
    前記準巡回低密度パリティ検査符号を、請求項1の準巡回低密度パリティ検査符号を求める方法により求める符号構築部と、
    前記テイルバイティング空間結合準巡回低密度パリティ検査符号を用いて前記データを符号化して符号化データを生成し、該符号化データをチャネルを介して送信する符号化器と、
    を備える、準巡回低密度パリティ検査符号に基づいてデータを符号化するシステム。
  19. 前記テイルバイティング空間結合準巡回低密度パリティ検査符号は、少なくとも8に等しいガースと、前記行列内の大部分の列の、4に等しい重みとを有する、請求項18に記載のシステム。
  20. 準巡回低密度パリティ検査符号を求める方法であって、
    テイルバイティング空間結合符号のスケルトンベース行列を、各列の重みが4になるように求めるステップと、
    前記スケルトンベース行列にガース最大化手順を適用するステップであって、それにより、準巡回低密度パリティ検査符号族を表す行列の組を生成し、各準巡回低密度パリティ検査符号は8以上のガースのテイルバイティング空間結合符号であり、前記組内の各行列の各列は4以上の重みを有するものと、
    前記行列の組から、対応するタナーグラフ内に完全に連結した6ビットのパターンを有しない予備行列を選択するステップであって、前記完全に連結した6ビットは3ビットの2つの群を形成し、一方の群内の全てのビットは他方の群内の全てのビットに連結しているものと、
    前記対応するタナーグラフ内に略完全に連結した6ビットのパターンを形成する前記予備行列内の候補要素組ごとに、該候補要素組がトラッピングセットを含むか否かを試験するステップであって、前記略完全に連結した6ビットは、第1の群及び第2の群を含む3ビットの2つの群を形成し、前記第1の群の第1のビット及び第2のビットは前記第2の群内の全てのビットに連結し、前記第1の群の第3のビットは前記第2の群内の2ビットに連結しているものと、
    前記トラッピングセットが見つからない場合、前記予備行列を、前記トラッピングセットを有しない準巡回低密度パリティ検査符号として結論付けるステップと、
    そうでない場合、前記選択するステップと、前記試験するステップと、及び前記結論付けるステップとを繰り返すステップと、
    を含み、
    前記適用するステップにおいて、
    前記組内の行列の重みが保持されるように準巡回低密度パリティ検査符号のガースを最適化するガース最大化が施され、
    最初に、スケルトンベース行列構造を有する符号の集合体の全てのとり得る値からランダムに前記準巡回低密度パリティ検査符号族を表す基本行列内の全ての非負のパラメーター値が選択され、
    非負のパラメーター値ごとに、該パラメーター値を全ての他のとり得る値に変更するコストを与えるコスト行列を求め、
    前記コスト行列から、各とり得る非負のパラメーター値を現在の値から各とり得る他の値に変更するコストの改善を与える利得行列を生成し、
    コストを改善する正の利得である場合、コストを最も改善する単一の非負のパラメーター値変更が選択され、基本行列を更新するのに用いられ、
    次にコスト行列を再度求め、
    これらを反復し、いかなる単一のパラメーター値も、コストを更に低減する値に変更することがもはやできないときに終了し、
    この時点で、現在の基本行列においてコストがゼロである場合に、所望のガースのテイルバイティング空間結合符号を表す基本行列を出力し、
    この手順を複数回用いて、スケルトンベース行列によって指定される構造に適合しかつ所望のガースを有する行列の組を生成し、
    該方法の前記ステップはプロセッサによって実行される、準巡回低密度パリティ検査符号を求める方法。
JP2014506381A 2011-09-30 2012-09-11 準巡回低密度パリティ検査符号を求める方法、及び準巡回低密度パリティ検査符号に基づいてデータを符号化するシステム Active JP5752317B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/251,180 US8595589B2 (en) 2011-09-30 2011-09-30 Quasi-cyclic low-density parity-check codes
US13/251,180 2011-09-30
PCT/JP2012/073766 WO2013047258A1 (en) 2011-09-30 2012-09-11 Method for determining quasi-cyclic low-density parity-check code, and system for encoding data based on quasi-cyclic low-density parity-check code

Publications (2)

Publication Number Publication Date
JP2014522139A JP2014522139A (ja) 2014-08-28
JP5752317B2 true JP5752317B2 (ja) 2015-07-22

Family

ID=47040767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014506381A Active JP5752317B2 (ja) 2011-09-30 2012-09-11 準巡回低密度パリティ検査符号を求める方法、及び準巡回低密度パリティ検査符号に基づいてデータを符号化するシステム

Country Status (5)

Country Link
US (1) US8595589B2 (ja)
EP (1) EP2761759A1 (ja)
JP (1) JP5752317B2 (ja)
CN (1) CN103843252B (ja)
WO (1) WO2013047258A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5696068B2 (ja) * 2012-02-23 2015-04-08 株式会社東芝 符号化装置及び通信装置
US8996971B2 (en) * 2012-09-04 2015-03-31 Lsi Corporation LDPC decoder trapping set identification
US10193570B2 (en) * 2013-12-03 2019-01-29 Samsung Electronics Co., Ltd Method of and apparatus for generating spatially-coupled low-density parity-check code
US20150303943A1 (en) * 2014-04-18 2015-10-22 Lsi Corporation Systems and Methods for Puncture Based Data Protection
US9977713B2 (en) * 2015-03-20 2018-05-22 SK Hynix Inc. LDPC decoder, semiconductor memory system and operating method thereof
US9584158B2 (en) * 2015-07-24 2017-02-28 Tidal Systems, Inc. Unified H-encoder for a class of multi-rate LDPC codes
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
JP6798754B2 (ja) 2016-07-20 2020-12-09 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 低密度パリティ検査符号の基底行列を生成するための方法及び装置
KR101765014B1 (ko) 2016-08-23 2017-08-14 경상대학교산학협력단 쌍둥이 부호 시스템 및 이의 구현방법
CN107888198B (zh) 2016-09-30 2023-05-26 中兴通讯股份有限公司 准循环ldpc编译码方法、装置及ldpc编译码器
CN107959500B (zh) * 2016-10-17 2021-10-22 上海数字电视国家工程研究中心有限公司 Ldpc编码器的构造方法
WO2018084735A1 (en) 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
CN110024294B (zh) * 2016-11-21 2021-08-27 华为技术有限公司 空间耦合准循环ldpc码的生成
CN110089035B (zh) * 2016-12-24 2021-01-29 华为技术有限公司 存储控制器、数据处理芯片及数据处理方法
US10340949B2 (en) 2017-02-06 2019-07-02 Qualcomm Incorporated Multiple low density parity check (LDPC) base graph design
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
PT3491741T (pt) 2017-06-27 2020-01-16 Ericsson Telefon Ab L M Projeto de valores de deslocação para códigos quase cíclicos de ldpc
CN110011755B (zh) * 2018-01-05 2021-10-19 中兴通讯股份有限公司 一种ldpc编码的方法、装置及数据发送的方法、装置
CN108768408B (zh) * 2018-05-17 2022-05-24 西安空间无线电技术研究所 一种基于Sidon序列的大围长II型准循环LDPC码设计方法
CN108880749B (zh) * 2018-06-11 2020-11-13 广东工业大学 一种ldpc码通信方法、***、设备及计算机存储介质
CN109639392B (zh) * 2018-11-09 2020-03-27 清华大学 广播信道传输的空间耦合ldpc码的构造方法及***
CN111327330B (zh) * 2018-12-14 2022-04-08 深圳市中兴微电子技术有限公司 一种信息处理方法、设备及计算机存储介质
CN109951189B (zh) * 2019-03-27 2023-03-31 暨南大学 一种基于素数乘积的准循环结构多元ldpc码构造方法
US11309915B1 (en) 2019-07-11 2022-04-19 Arrowhead Center, Inc. Efficient implementation of a threshold modified min-sum algorithm for low-density parity-check decoders
TWI748214B (zh) * 2019-07-29 2021-12-01 慧榮科技股份有限公司 快閃記憶體控制器、儲存裝置及其讀取方法
TWI705667B (zh) 2019-09-20 2020-09-21 慧榮科技股份有限公司 產生具有符合所需之錯誤基數的低密度奇偶校驗碼的方法及裝置
US11265015B2 (en) * 2020-05-15 2022-03-01 SK Hynix Inc. Out-of-order processing for bit-flipping decoders in non-volatile memory devices
US11463114B2 (en) 2021-02-22 2022-10-04 Mitsubishi Electric Research Laboratories, Inc. Protograph quasi-cyclic polar codes and related low-density generator matrix family

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2169835B1 (en) * 2007-06-29 2016-02-10 Mitsubishi Electric Corporation Check matrix generating device, check matrix generating method, encoder, transmitter, decoder, and receiver
US8127209B1 (en) * 2007-07-30 2012-02-28 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
US8103931B2 (en) * 2008-08-27 2012-01-24 Mitsubishi Electric Research Laboratories, Inc. Method for constructing large-girth quasi-cyclic low-density parity-check codes
CN101826878A (zh) * 2010-04-26 2010-09-08 杨磊 Qc-ldpc码构建方法

Also Published As

Publication number Publication date
JP2014522139A (ja) 2014-08-28
CN103843252B (zh) 2018-01-02
EP2761759A1 (en) 2014-08-06
US8595589B2 (en) 2013-11-26
US20130086445A1 (en) 2013-04-04
WO2013047258A1 (en) 2013-04-04
CN103843252A (zh) 2014-06-04

Similar Documents

Publication Publication Date Title
JP5752317B2 (ja) 準巡回低密度パリティ検査符号を求める方法、及び準巡回低密度パリティ検査符号に基づいてデータを符号化するシステム
JP5116735B2 (ja) 符号を構成する方法
US8499218B2 (en) System and method for determining quasi-cyclic low-density parity-check codes having high girth
CN104868925B (zh) 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
CN101803205B (zh) 近码字的ram列表解码
KR101405962B1 (ko) Ldpc 코드를 이용한 복호화 방법
KR102274328B1 (ko) 체크 노드 계산유닛을 관리하는 방법, 장치, 및 상기 방법을 실행하기 위한 소프트웨어
CN110024294B (zh) 空间耦合准循环ldpc码的生成
CN113612486B (zh) 一种构建pbrl ldpc码的基矩阵方法、***、装置及存储介质
US20110083058A1 (en) Trapping set based ldpc code design and related circuits, systems, and methods
JP2007166605A (ja) パリティ検査行列、パリティ検査行列の生成方法、エンコーディング方法及びエラー訂正装置
US20160294416A1 (en) Decoding method of low density parity check code and information storing method in the decoding method
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
Esfahanizadeh et al. A novel combinatorial framework to construct spatially-coupled codes: Minimum overlap partitioning
US20120331369A1 (en) Systems and Methods for Error Correction Using Low Density Parity Check Codes Using Multiple Layer Check Equations
CN105071818A (zh) 一种低复杂度ldpc码编码方法
CN110719108B (zh) 基于环的连通性的qc-ldpc码字扩展方法及***
US9350388B2 (en) Data format with ECC information for on-the-fly decoding during data transfer and method for forming the data format
WO2020062982A1 (zh) 构造ldpc码校验矩阵的方法及ldpc码编译方法
JP5542634B2 (ja) 最短経路演算装置、最短経路演算方法及び検査行列生成方法
KR100698192B1 (ko) Ldpc 부호의 복호 방법
Park Construction of Quasi-Cyclic LDPC Codes Using a Class of Balanced Incomplete Block Designs with Irregular Block Sizes.
CN117609488B (zh) 小重量码字的搜索方法、装置、计算机存储介质及终端
RU2365034C2 (ru) Способ и устройство для кодирования и декодирования данных
TW201740687A (zh) 低密度奇偶檢查碼的解碼方法與解碼器

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150519

R150 Certificate of patent or registration of utility model

Ref document number: 5752317

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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