JP6542132B2 - 高レート、高並列性、および低エラーフロアのために、疑似巡回構成を使用し、パンクチャするldpc設計 - Google Patents

高レート、高並列性、および低エラーフロアのために、疑似巡回構成を使用し、パンクチャするldpc設計 Download PDF

Info

Publication number
JP6542132B2
JP6542132B2 JP2015557231A JP2015557231A JP6542132B2 JP 6542132 B2 JP6542132 B2 JP 6542132B2 JP 2015557231 A JP2015557231 A JP 2015557231A JP 2015557231 A JP2015557231 A JP 2015557231A JP 6542132 B2 JP6542132 B2 JP 6542132B2
Authority
JP
Japan
Prior art keywords
base
nodes
punctured
ldpc code
ldpc
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
JP2015557231A
Other languages
English (en)
Other versions
JP2016510185A5 (ja
JP2016510185A (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.)
Qualcomm Inc
Original Assignee
Qualcomm 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
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016510185A publication Critical patent/JP2016510185A/ja
Publication of JP2016510185A5 publication Critical patent/JP2016510185A5/ja
Application granted granted Critical
Publication of JP6542132B2 publication Critical patent/JP6542132B2/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/1105Decoding
    • 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/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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/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
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • 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

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

[0001]本実施形態は、一般に、通信およびデータ記憶システムに関し、詳細には、LDPC符号を使用する通信およびデータ記憶システムに関する。
[0002]多くの通信システムは誤り訂正符号を使用する。詳細には、誤り訂正符号は、データストリームに冗長性を導入することによってこれらのシステムへの情報転送の本質的な不信頼性を補償する。低密度パリティ検査(LDPC)符号は、反復符号化システムを使用する特定のタイプの誤り訂正符号であるLDPC符号は、二部グラフ(しばしば「タナーグラフ」と呼ばれる)によって表すことができ、1組の変数ノードが、コードワードのビットに対応し、1組の検査ノードが、符号を定義する1組のパリティ検査制約に対応する。変数ノードおよび検査ノードがグラフのエッジで接続される場合、それらは「隣接しているもの」と見なされる。検査ノードごとに、すべての隣接する変数ノードに関連するビットが合計されて、0モジュロ2になる(すなわち、それらは偶数個の1を含む)ときおよびそのときに限って、変数ノードシーケンスと1対1に関連付けられたビットシーケンスは、有効なコードワードである。
[0003]たとえば、図1Aは、例示的なLDPC符号を表す二部グラフ100を示す。二部グラフ100は、4つの検査ノード120(正方形で表された)に接続された1組の5つの変数ノード110(円で表された)を含む。グラフ100のエッジは、変数ノード110を検査ノード120に接続する。図1Bは、二部グラフ100の行列表現150を示す。行列表現150は、パリティ検査行列Hとコードワードベクトルxとを含み、ここで、x1〜x5はコードワードxのビットを表す。より詳細には、コードワードベクトルxは、Hx=0のときおよびそのときに限って、有効なコードワードを表す。図2は、たとえば、本願の譲受人が所有する米国特許第7,552,097号に説明されているように、図1Aのグラフの3つのコピーを作る効果をグラフ式に示す。3つのコピーは、コピーの間の同様なエッジを置換することによって相互接続され得る。置換が巡回置換に制限される場合、結果として生じるグラフは、リフティングZ=3による疑似巡回LDPCに対応する。3つのコピーが作られたオリジナルのグラフは、本明細書では基礎グラフ(base graph)と呼ばれる。
[0004]受信されたLDPCコードワードを復号して、オリジナルのコードワードの再構築されたバージョンを生成することができる。誤りがない場合、または訂正可能な誤りの場合、復号化を使用して、符号化されたオリジナルのデータユニットを回復することができる。LDPC復号器は、一般に、エッジに沿って、二部グラフ100内でメッセージを交換し、入来メッセージに基づいてノードで計算を実行することによりこれらのメッセージを更新することによって動作する。たとえば、グラフ100の各変数ノード110は、最初に、通信チャネルからの観察によって決定されるような関連するビット値の推定を示す「ソフトビット」(たとえば、コードワードの受信されたビットを表す)が供給され得る。これらのソフトビットを使用して、LDPC復号器は、メモリからメッセージまたはその一部分を反復して読み出し、更新されたメッセージまたはその一部分をメモリに戻して書き込むことによってメッセージを更新することができる。更新演算は、一般に、対応するLDPC符号のパリティ検査制約に基づく。リフトされたLDPC符号のための実施態様では、同様のエッジ上のメッセージは、多くの場合、並列に処理される。
[0005]高速用途のために設計されたLDPC符号は、多くの場合、符号化および復号化演算における高並列性をサポートするために、大きいリフティング係数および比較的小さい基礎グラフをもつ疑似巡回構成を使用する。より高い符号化率(たとえば、コードワード長Nに対するメッセージ長Kの比)をもつLDPC符号は、比較的少ないパリティ検査を有する傾向がある。基礎パリティ検査の数が変数ノードの次数(たとえば、変数ノードに接続されたエッジの数)よりも少ない場合、基礎グラフにおいて、その変数ノードは、2つ以上のエッジによって基礎パリティ検査のうちの少なくとも1つに接続される(たとえば、変数ノードは「二重エッジ」を有することがある)。ベースド変数ノードおよび基礎検査ノードを2つ以上のエッジによって接続させるのは、一般に、並列ハードウェア実施目的では望ましくない。たとえば、そのような二重エッジは、同じメモリ場所に多数の同時読取りおよび書込み演算をもたらすことがあり、その結果として、データコヒーレンシ問題を引き起こすことがある。並列メッセージ更新のパイプライン処理は、二重エッジの存在によって悪影響を受けることがある。
[0006]本概要は、発明を実施するための形態において以下でさらに説明する概念の選択を簡略化された形で紹介するために与えるものである。本概要は、請求する主題の主要な特徴または本質的特徴を識別するものではなく、請求する主題の範囲を限定するものでもない。
[0007]低密度パリティ検査(LDPC)コードワードの符号化および/または復号化を支援することができるデバイスおよび演算の方法が開示される。パンクチャされた変数ノード(状態変数ノードとしても知られている)の基礎グラフ設計への追加は、符号のレートパラメータ(kおよびn)を変更することなく、グラフにおける検査の数を1つだけ効果的に増加させることができることに留意されたい。いくつかの実施形態では、符号器は、1組の情報ビットを受信し、コードワードを生成するために、LDPC符号化演算を情報ビットに実行することができる。次に、デバイスは、LDPC符号化演算に使用されるリフトされたLDPC符号に基づいて、1つまたは複数の基礎変数ノードに対応する1組のリフトされたコードワードビットをパンクチャすることができ、パンクチャされたビットは、それぞれ基礎LDPCグラフの1つまたは複数のパンクチャされた基礎変数ノードに対応する。符号のグラフ式記述におけるパンクチャされた変数ノードは、検査ノードが、リフトされたパリティ検査行列に演算するプロセスを組み合わせることによって記述から除去され得ることが理解される。したがって、1つまたは複数のパンクチャされた基礎ノードのうちの少なくとも1つは、パンクチャされた変数ノードの除去が多重エッジをもたらす場合、リフトされたLDPC符号の基礎グラフのノード対間の多重エッジを除去することが理解される。
[0008]いくつかの実施形態では、1つまたは複数のパンクチャされたノードは、LDPC符号の検査ノードの数に等しいかまたはそれよりも1少ない次数を有する変数ノードを含むことができる。たとえば、パンクチャされたノードのうちの少なくとも1つは、LDPC符号の最高次数の変数ノードとすることができる。そのような実施形態では、ノードの高い次数は、多くの場合、符号の性能の強化にとって望ましい。たとえば、パンクチュアリングにより、基礎グラフの二重エッジを避けながらより高い変数ノード次数が可能になる。グラフにパンクチャされた変数ノードが存在すると、普通なら、同じサイズおよびレートの符号の基礎グラフに存在することになる検査ノードの数が効果的に増加する。他の実施形態では、パンクチャされたノードのうちの少なくとも1つは、普通なら2つ以上のエッジによってLDPC符号の変数ノードに接続されることになる検査ノードを分割するのに使用される次数2の変数ノードとすることができる。パンクチャされた次数2のノードは、それが接続される2つのパリティ検査を追加することによって記述から除去され得る。それにより、少なくとも1つのパンクチャされた基礎の次数2の変数ノードは、基礎LDPCグラフの二重エッジを除去するために使用され得る。同様に、高い次数のパンクチャされたノードは、変数ノードの次数を1まで効果的に減少させるために、除去プロセスが制約ノードを合計することによってパリティ検査行列表現から除去され得る。次数1のパンクチャされたノードは、符号を変えることなく、その隣接する検査ノードとともにグラフから除去され得る。そのような除去プロセスは、表現に二重エッジまたは多重エッジを導入する可能性があり、それは、復号化の並列実施にとって望ましくない。
[0009]基礎LDPCグラフから二重(または多重)エッジを除去するかまたは減少させることによって、本実施形態は、LDPC復号化演算を並列に実行するハードウェアの複雑さを減少させ、それによって、リフトされたLDPC符号を実施するLDPC復号器の処理効率を向上させることができる。これは、さらに、メモリで実行される読出しおよび/または書込み操作を簡単化し、読出しおよび書込み操作が、順序が乱れて、実行されないことを保証する。二重エッジを避けながら、より大きい変数ノード次数を可能にすることによって、本実施形態は、さらに、LDPC符号化システムの誤り訂正性能を改善することができる。
[0010]本実施形態は例として示されており、添付図面の図によって限定されるものではない。
[0011]例示のLDPC符号のグラフ表示の図。 例示のLDPC符号の行列表示の図。 [0012]図1Aのグラフの3つのコピーを作る効果をグラフ式に示す図。 [0013]いくつかの実施形態による通信システムを示す図。 [0014]いくつかの実施形態による通信デバイスのブロック図。 [0015]いくつかの実施形態によるLDPC符号化演算を示す例示的な流れ図。 [0016]いくつかの実施形態によるLDPC復号化演算を示す例示的な流れ図。 [0017]レートr=27/30をもつLDPC符号に関連する例示のパリティ検査行列を示す図。 [0018]レートr=13/15をもつLDPC符号に関連する例示のパリティ検査行列を示す図。 [0019]レートr=21/28をもつLDPC符号に関連する例示のパリティ検査行列を示す図。 [0020]いくつかの実施形態による通信デバイスのブロック図。
[0021]以下の説明では、本開示の十分な理解を提供するために、特定の構成要素、回路、およびプロセスの例などの多数の特定の細部が記載されている。本明細書で使用する「結合された」という用語は、直接接続されていること、または1つまたは複数の介在する構成要素もしくは回路を通して接続されていることを意味する。さらに、以下の記述においておよび説明のために、特定の命名法が、本実施形態の十分な理解を提供するために記載されている。しかしながら、これらの特定の細部は本実施形態を実践するのに必要とされないことがあることが当業者には明白であろう。他の場合には、よく知られている回路およびデバイスは、本開示を不明瞭にしないためにブロック図の形態で示される。本明細書で説明する様々なバスにより供給される信号のいずれも他の信号と時分割多重され、1つまたは複数の共通バスにより供給され得る。追加として、回路要素間またはソフトウェアブロック間の相互接続は、バスとして、または単一の信号ラインとして示されることがある。バスの各々は、代替として、単一の信号ラインとすることができ、単一の信号ラインの各々は、代替として、バスとすることができ、単一のラインまたはバスは、構成要素間の通信のための無数の物理的または論理的機構のうちの任意の1つまたは複数を表すことができる。本実施形態は、本明細書に記載された具体的な例に限定されると見なされるものではなく、むしろ、添付された特許請求の範囲によって定義されたすべての実施形態を、それらの範囲内に含むものである。
[0022]図3は、いくつかの実施形態による通信システム300を示す。送信機310はチャネル320に信号を送信し、受信機330はチャネル320から信号を受信する。送信機310および受信機330は、たとえば、コンピュータ、スイッチ、ルータ、ハブ、ゲートウェイ、および/または同様のデバイスであり得る。ある実施形態では、チャネル320はワイヤレスである。他の実施形態では、チャネル320は、有線リンク(たとえば、同軸ケーブルまたは他の物理的接続)である。
[0023]通信システム300の様々な構成要素の欠陥は、信号障害の原因になり、それにより、信号劣化を引き起こすことがある。たとえば、チャネル320の欠陥はチャネル歪みを導入することがあり、チャネル歪みは、直線歪み、マルチパス効果、および/または付加白色ガウス雑音(AWGN)を含むことがある。潜在的な信号劣化と戦うために、送信機310および受信機330は、LDPC符号器と復号器とを含むことができる。詳細には、送信機310は送出データにLDPC符号化を実行して、オリジナルのデータの回復するために受信機330で後に復号され得る(たとえば、LDPC復号化演算によって)コードワードを生成することができる。いくつかの実施形態では、送信機310は、1つまたは複数の「パンクチャされた」ビットをもつLDPC符号化コードワードを、たとえば、1つまたは複数のパンクチャされた変数ノードをもつLDPC符号に基づいて、送信することができる。
[0024]「リフティング」により、LDPC符号は、並列符号化および/または復号化実施を使用するとともに、さらに、大きいLDPC符号に一般に関連する複雑さを低減して、実施できるようになる。より詳細には、リフティングは、より小さい基礎符号の多数のコピーから比較的大きいLDPC符号を発生させるための技法である。たとえば、リフトされたLDPC符号は、基礎グラフのいくつか(Z個)の並列コピーを生成し、次に、基礎グラフの各コピーのエッジクラスタの置換により並列コピーを相互接続することによって発生され得る。リフトされたLDPC符号のより詳細な議論は、たとえば、2008年3月17日に出版された、Tom Richardsonおよび Ruediger Urbankeによる「Modern Coding Theory」という書名の書籍で見いだすことができ、その全体が参照により明細書に組み込まれる。
[0025]たとえば、リフティングサイズZをもつコードワードを処理する場合、LDPC復号器は、Z個の処理要素を利用して、リフトされたグラフのすべてのZ個のエッジに対してパリティ検査演算または変数ノード演算を同時に実行することができる。詳細には、各パリティ検査演算は、対応するソフトビット値をメモリから読み出すことと、ソフトビット値を検査ノードに関連した他のソフトビット値と組み合わせることと、検査ノード演算に由来するソフトビットをメモリに戻して書き込むこととを含むことができる。基礎グラフ中の二重エッジは、同じソフトビット値の並列読出しを、メモリ場所において、単一の並列パリティ検査更新の間に2回トリガすることがある。それにより、付加回路は、両方の更新を適切に組み込むために、メモリに戻して書き込まれるソフトビット値を組み合わせることが必要であることがある。基礎グラフ中の二重エッジを除去するのは、この余分な複雑さを避けるのに役立つ。
[0026]基礎LDPC符号から二重(および/または多重)エッジを除去するかまたは減少させることによって、パンクチュアリングは、並列検査ノードまたは変数ノード演算を実行するハードウェアの複雑さを減少させ、それによって、対応するLDPC復号器の並列処理効率を向上させることができる。これは、さらに、メモリで実行される読出しおよび/または書込み操作を簡単化し、読出しおよび書込み操作が、順序が乱れて、実行されないことを保証する。
[0027]パンクチュアリングは、コードワードからビットを除去して、より短いコードワードをもたらすための動作である。それにより、パンクチャされた変数ノードは、実際に送信されないコードワードビットに対応する。LDPC符号の変数ノードをパンクチャすると、短縮された符号(たとえば、ビットの除去に起因して)が造り出されるとともに、さらに、検査ノードが効率的に除去される。詳細には、パンクチャされ得るビットを含むLDPC符号の行列表現では、パンクチャされ得る変数ノードは1の次数を有している(符号が適切ならば、そのような表現が列組合せにより可能であり得る)場合、変数ノードのパンクチャリングは、符号から関連するビットを除去し、その単一の隣接する検査ノードをグラフから効率よく除去する。その結果として、グラフの検査ノードの数は1つだけ減少する。基礎送信ブロック長がn−pであり、ここで、pがパンクチャされた列の数であり、基礎パリティ検査の数がmである場合、レートは(n−m)/(n−p)である。2値情報ブロックサイズは(n−m)×Zであり、送信ブロックサイズは(n−p)×Zである。nおよびpを1だけ増加させた場合、mを1だけ増加させ、レートおよびブロックサイズを変更しないままとすることができることに留意されたい。
[0028]一例として、基礎ブロック長が30であるレート0.9符号を考える。パンクチュアリングなしでは、基礎符号を定義するために使用されることになる検査ノードの数は3であり、これは、(27,30)符号(たとえば、K=27メッセージビット、N=30コードワードビット)をもたらす。そのような符号は、少なくとも1つの検査ノードを変数ノードに接続する二重(またはより多くの)エッジを有する可能性がある(たとえば、すべての変数ノードが3の最大次数を有していない限り)。しかしながら、たとえば、深いエラーフロアを保証するにはより大きい次数の変数ノード(たとえば、次数≧4)を有することが望ましいことがある。パンクチャされた変数ノードが、LDPC符号に導入され、それによって、変数ノードの総数を31に増加させる場合、基礎検査ノードの数は4に増加する。今では、基礎グラフに二重エッジなしに、次数4の基礎変数ノードを有することが可能である。しかしながら、そのようなLDPC符号は依然として(27,30)符号であることに留意されたい。
[0029]LDPC符号の二部グラフ表現において、パンクチャされた次数2の変数ノードは、その2つの隣接する検査ノードを単一の検査ノードに効率よくマージする。パンクチャされた次数2の変数ノードは、事実上、その2つの隣接する検査ノードが、次数2のノードがないので、同じパリティを有することを示す。それゆえに、パンクチャされた次数2の変数ノードを使用して、検査ノードを「分割する」ことができ、それによって、検査ノードの総数を増加させたように見える。したがって、この機構を使用して、LDPC符号から多重エッジを除去することができる。一般に、変数ノードの次数が基礎グラフの検査ノードの総数(N)よりも多い場合、変数ノードは2つ以上のエッジによって少なくとも1つの検査ノードに接続される。それにより、基礎グラフの多重エッジは、1つまたは複数の次数2の変数ノードを導入することによって避けられ得るおよび/または除去され得る(すなわち、基礎グラフの少なくとも1つの変数ノードがNよりも大きい次数を有すると仮定して)。
[0030]LDPC符号の高い次数の基礎変数ノードをパンクチャすると、さらに、検査ノードの数を増加させることができる。加えて、高い次数の検査ノードが、高性能LDPC設計では望ましいことがある。たとえば、最高次数の変数ノードは、基礎グラフの検査ノードの総数に等しい(または1少ない)次数を有する変数ノードに対応することができる。そのような高い次数の変数ノードは、いかなる二重エッジもなしに基礎グラフに確かに存在することができる。以下でさらに詳細に説明するように、パンクチャされた変数ノードは、復号化において「消去されている」として扱われる。それにより、低い誤り率を目標とする符号では、そのようなノードが、エラーフロア事象を引き起こす組合せ構造(たとえば、トラッピングセット、またはニアコードワード)に参加しないようにすることが望ましいことがある。高い次数を有すると、一般に、ノードがエラーフロア事象の一因になる可能性が少なくなる。
[0031]さらに、グラフ中の高い次数のパンクチャされた変数ノードは、符号の性能を改善することができる。グラフ中のパンクチャされたノードは、符号構造のいわゆる反復閾値を改善できることが知られている。標準の非正則LDPC設計(すなわち、パンクチャされた変数ノードのない)では、二部グラフの平均次数を増加させ、それにより、変数ノードおよび検査ノードの次数を増加させることによって、閾値は改善され得る。パンクチャされた変数ノードを用いて、同じ効果が、より低い平均次数で達成され、それによって、LDPC符号の複雑さを低減することができる。さらに、より低い平均次数を有するLDPC符号構造は、より小さいグラフでより良好に機能することができる。それにより、高次数の変数ノードをパンクチャすると、検査ノードの数を増加させる(それにより、より高い次数を可能にする)ことと、限られた最大変数ノード次数で符号の性能を改善することの両方が可能になる。
[0032]図4は、いくつかの実施形態による通信デバイス400のブロック図である。通信デバイス400は、符号器410と、復号器420と、通信チャネルを介してLDPC符号化コードワードを送信および/または受信するトランシーバ430とを含む。符号器410は、メモリ412とLDPC符号器414とを含む。メモリ412は、LDPC符号器414で符号化されるべきデータ(すなわち、情報ビット)を記憶するのに使用され得る。LDPC符号器414は、別のデバイスに送信されるべき、LDPC符号に基づく、コードワードを発生させることによって、メモリ412に記憶された情報ビットを処理する。
[0033]いくつかの実施形態では、LDPC符号は、リフトされたLDPC符号とすることができる。さらに、いくつかの実施形態では、基礎LDPC符号は、1つまたは複数のパンクチャされたノードを含むことができる。それにより、LDPC符号器414は、基礎LDPC符号のそれぞれのパンクチャされたノードに対応するコードワードの1つまたは複数のビットをパンクチャすることができる。これらのパンクチャされたコードワードビットはトランシーバ430によって送信されない。いくつかの実施形態では、パンクチャされたノードは、LDPC符号の検査ノードの数に等しいかまたはそれよりも1少ない次数を有する基礎変数ノードを含むことができる。たとえば、パンクチャされたノードのうちの少なくとも1つは、LDPC符号の最高次数の変数ノードとすることができる。他の実施形態では、パンクチャされたノードのうちの少なくとも1つは、2つ以上のエッジによってLDPC符号の変数ノードに接続されている検査ノードを分割するのに使用され得る。そのようなパンクチャされたノードは、リフトされたLDPC符号に対して基礎グラフ中の二重エッジを除去するのに使用され得る。
[0034]復号器420は、メモリ422とLDPC復号器424とを含む。メモリ422は、トランシーバ430を介して受信され、LDPC復号器424によって復号されるべきコードワードを記憶する。LDPC復号器424は、メモリ424に記憶されたコードワードを、LDPC符号を使用してパリティ検査演算を反復して実行し、誤りが発生している状態で受信されたいかなるビットも訂正を試みることによって処理する。いくつかの実施形態では、LDPC符号は、リフトされたLDPC符号とすることができる。さらに、いくつかの実施形態では、受信されたコードワードは、たとえば、対応するLDPC符号の1組のパンクチャされたノードに基づいて決定されたような1つまたは複数のパンクチャビットを含むことができる。図3を参照しながら上述したように、パンクチャされるノードは、LDPC符号の変数ノードの次数に基づいて決定され得る。それにより、LDPC復号器424は、これらのパンクチャされたノードを復号化の目的では消去されているとして扱うことができる。たとえば、LDPC復号器424は、パンクチャされたノードの対数尤度比(LLR)を初期化でゼロに設定することができる。
[0035]いくつかの実施形態では、LDPC復号器424は、パリティ検査または変数ノード演算を並列に実行するために複数の処理要素を含むことができる。たとえば、リフティングサイズZをもつコードワードを処理する場合、LDPC復号器424は、いくつか(Z個)の処理要素を利用して、リフトされたグラフのすべてのZ個のエッジに対してパリティ検査演算を同時に実行することができる。詳細には、各パリティ検査演算は、対応するソフトビット値をメモリ422から読み出すことと、ソフトビット値を検査ノードに関連した他のソフトビット値と組み合わせることと、検査ノード演算に由来するソフトビットをメモリ422に戻して書き込むこととを含むことができる。基礎LDPC中の二重エッジは、同じソフトビット値メモリ場所の並列読出しを、単一の並列パリティ検査更新の間に2回トリガすることがある。それにより、付加回路は、一般に、両方の更新を適切に組み込むために、メモリに戻して書き込まれるソフトビット値を組み合わせることが必要である。しかしながら、たとえば図3に関して上述したように、LDPC符号中の二重エッジを除去するのは、この余分な複雑さを避けるのに役立つ。
[0036]図5は、いくつかの実施形態によるLDPC符号化演算500を示す例示的な流れ図である。たとえば図4を参照すると、符号器410は、最初に、符号化されるべき1組の情報ビットを受信する(510)。情報ビットは、通信チャネルまたはネットワークを通して別のデバイス(たとえば、受信デバイス)に送信されるように意図されたデータに対応することができる。たとえば、情報ビットは、中央処理装置(CPU)から受信され、メモリ412に記憶され得る。
[0037]次に、符号器410は、LDPCコードワードを生成するために情報ビットにLDPC符号化演算を実行することができる(520)。いくつかの実施形態では、LDPC符号器414は、符号器410および対応する復号器(たとえば、受信デバイスの)によって共有されるLDPC符号に基づいて、情報ビットをLDPCコードワードに符号化することができる。各コードワードは、オリジナルの情報ビットまたはその一部分ならびにオリジナル情報ビットにパリティ検査演算を実行するおよび/またはオリジナルの情報ビットを回復するために使用され得る(たとえば、復号器によって)1組のパリティビットを含むことができる。
符号器410は、LDPC符号の基礎被パンクチャ変数ノード(base punctured variable node)に基づいてLDPCコードワードの1つまたは複数のビットをさらにパンクチャすることができる(530)。たとえば、1つまたは複数のパンクチャされたコードワードビットは、それぞれ基礎LDPC符号の1つまたは複数の基礎変数被パンクチャノードに対応することができる。詳細には、パンクチャされたノードのうちの少なくともいくつかは、リフトされたLDPC符号の基礎グラフ中のノード対間の多重エッジを除去するように設定される。いくつかの実施形態では、パンクチャされたノードは、LDPC符号の検査ノードの数に等しいかまたはそれよりも1少ない次数を有する変数ノードを含むことができる。他の実施形態では、パンクチャされたノードのうちの少なくとも1つは、次数2の変数ノードとすることができる。たとえば、次数2の変数ノードは、普通なら2つ以上のエッジによってLDPC符号の別の変数ノードに接続されることになる検査ノードを分割するのに使用され得る。いくつかの実施形態では、両方が生じることがあり、詳細には、高い次数のパンクチャされた変数ノードと次数2のパンクチャされたノードの両方が基礎グラフに生じることがある。いくつかの実施形態では、LDPC符号は、リフトされたLDPC符号とすることができる。その上さらに、LDPC符号は、疑似巡回リフティングに基づくことができ、エッジクラスタの置換は巡回置換である。
[0038]図6は、いくつかの実施形態によるLDPC復号化演算600を示す例示的な流れ図である。たとえば図4を参照すると、復号器420は、最初に、復号されるべきLDPCコードワードを受信する(610)。LDPCコードワードは、送信デバイスから、たとえば、直交振幅変調(QAM)データ信号の形態で受信され得る。それゆえに、LDPCコードワードは、デマップされたQAMデータ信号のラベル付けするビットのサブセットに対応することができる。
[0039]復号器420は、LDPCコードワードの1つまたは複数のパンクチャされたビットを、LDPC符号の基礎被パンクチャノードに基づいて、識別することができる(620)。たとえば、1つまたは複数のパンクチャされたコードワードビットは、それぞれLDPC符号の1つまたは複数の基礎被パンクチャノードに対応することができる。上述のように、基礎被パンクチャノードのうちの少なくともいくつかは、リフトされたLDPC符号の基礎グラフ中のノード対間の多重エッジを除去するように設定される。いくつかの実施形態では、パンクチャされたノードは、LDPC符号の検査ノードの数に等しいかまたはそれよりも1少ない次数を有する変数ノードを含むことができる。他の実施形態では、パンクチャされたノードのうちの少なくとも1つは、次数2の変数ノードとすることができる。上述のように、次数2の変数ノードは、普通なら2つ以上のエッジによってLDPC符号の別の変数ノードに接続されることになる検査ノードを分割するのに使用され得る。いくつかの実施形態では、LDPC符号は、リフトされたLDPC符号とすることができる(たとえば、疑似巡回リフティングに基づいて)。
[0040]次に、復号器420は、受信されたコードワードにLDPC復号化演算を実行して、オリジナルの情報ビットを回復することができる(630)。たとえば、LDPC復号器424は、LDPC符号を使用してパリティ検査演算を反復して実行し、誤りが発生している状態で受信されたいかなるビットも訂正するように試みることによってコードワードを処理することができる。いくつかの実施形態では、LDPC復号器424は、パンクチャされたコードワードビットを、たとえばパンクチャされたノードのLLRを初期化でゼロに設定することによって、復号化演算の間消去されているとして扱うことができる。
[0041]本実施形態では、LDPC符号の各々は、サイズZ×nの2次元2値アレイと見られ得る、ここで、nは基礎(送信)ブロック長である。いくつかの実施形態では、提案するダウンストリーム符号は、Z=360のように定義される.コンステレーションごとに、kビットが、一度に次元当たり取られ得る(たとえば、1024QAMでは、k=5)。さらに、kは360の約数(factor)であり、kビットが一度に列方向に取られ、それにより、360/k次元、または列当たり180/kシンボルを発生させることができる。それにより、注目する場合において、集合k∈{1,2,3,4,5,6}では、kは60の約数であることに留意されたい。
[0042]図7、図8、および図9は、いくつかの実施形態による、それぞれ、例示のパリティ検査行列700、800、および900を示す。パリティ検査行列700、800、および900の各々において一番上の行は、Hの列を指し示す。2番目の行は、情報(1)およびパリティ(0)列を示す。3番目の行は、送信された列(1)およびパンクチャされた列(0)を示す。
[0043]それぞれ、レートr=27/30およびr=13/15をもつLDPC符号に関連するパリティ検査行列700および800は、システマティックであることに留意されたい。しかしながら、レートr=21/28をもつLDPC符号に関連するパリティ検査行列900は、パンクチャされた情報列を有しており、したがって、完全にはシステマティックでない。
[0044]さらに、パリティ検査行列700は、パンクチャされた次数2の変数ノード(指標0)を有する。そのようなノードは、単一のパリティ検査を2つに分割することができる。これは、基礎行列が二重エッジを有しておらず、本明細書で説明する実施形態のうちのいくつかを容易にすることを保証する。等価符号表示は、2つのパリティ検査をマージし、パンクチャされた次数2の変数ノードを除去することによって構築され得る。その上、そのような等価表示は、基礎グラフに二重エッジまたは多重エッジを有するであろう。
[0045]図10は、いくつかの実施形態による通信デバイス1000のブロック図である。通信デバイス1000は、トランシーバ1010と、プロセッサ1020と、メモリ1030とを含む。トランシーバ1010は、通信デバイス1000へのおよび/または通信デバイス1000からのデータの通信のために使用され得るたとえば、トランシーバ1010は、通信デバイス1000とCPUとの間で情報ビットを受信および/または送信することができる。符号器インターフェース1010は、通信デバイス1000とネットワーク中の別の通信デバイスとの間でLDPCコードワードを出力および/または受信することもできる。
[0046]メモリ1030は、受信された情報ビットおよび/またはコードワードを記憶するためにローカルキャッシュとして使用され得るデータストア1032を含むことができる。さらに、メモリ1030は、以下のソフトウェアモジュールを記憶することができる非一時的コンピュータ可読な記憶媒体(たとえば、EPROM、EEPROM(登録商標)、フラッシュメモリ、ハードドライブなどのような1つまたは複数の不揮発性メモリ要素)をさらに含むことができる。
・コードワードを生成するために、LDPC符号を使用して、1組の情報ビットを符号化するためのLDPC符号化モジュール1034、
・LDPC符号を使用してLDPCコードワードを復号するためのLDPC復号化モジュール1036。
各ソフトウェアモジュールには、プロセッサ1020によって実行されると、対応する機能を符号器1000に実行させることができる命令が含まれ得る。それにより、メモリ1030の非一時的コンピュータ可読記憶媒体は、図5〜図6に関して上述した演算のすべてまたは一部を実行するための命令を含むことができる。モジュール1034〜1036がメモリ1030中にソフトウェアとして示されているが、モジュールのいずれも、ハードウェア、ソフトウェア、ファームウェア、または前述のものの組合せで実装され得ることに留意されたい。
[0047]符号器インターフェース1010とメモリ1030との間に結合されるプロセッサ1020は、復号器1000に(たとえば、メモリ1030内に)記憶された1つまたは複数のソフトウェアプログラムの命令のスクリプトを実行することができる任意の好適なプロセッサとすることができる。たとえば、プロセッサ1020は、LDPC符号化モジュール1034および/またはLDPC復号化モジュール1036を実行することができる。
[0048]LDPC符号化モジュール1034は、プロセッサ1020によって実行されて、LDPC符号の使用により情報ビットを符号化して、コードワードを生成することができる。たとえば、プロセッサ1020は、LDPC符号化モジュール1034を実行する際に、LDPC符号化モジュール1034、および対応する受信デバイスの復号化モジュールによって共有されるLDPC符号に基づいて、情報ビットにLDPC符号化演算を実行することができる。各コードワードは、オリジナルの情報ビット、ならびにオリジナル情報ビットにパリティ検査を実行するおよび/またはオリジナルの情報ビットを回復するために使用され得る1組のパリティビットを含むことができる。いくつかの実施形態では、LDPC符号は、リフトされたLDPC符号とすることができる(たとえば、疑似巡回リフティングに基づいて)。
[0049]プロセッサ1020は、LDPC符号化モジュール1034を実行する際に、コードワードの1つまたは複数のビットを、対応するLDPC符号に基づいてさらにパンクチャすることができる。たとえば、1つまたは複数のパンクチャされたコードワードビットは、それぞれLDPC符号の1つまたは複数のパンクチャされたノードに対応することができる。上述のように、パンクチャされたノードのうちの少なくともいくつかは、リフトされたLDPC符号の基礎グラフ中のノード対間の多重エッジを除去するように設定される。いくつかの実施形態では、パンクチャされたノードは、LDPC符号の検査ノードの数に等しいかまたはそれよりも1少ない次数を有する変数ノードを含むことができる。他の実施形態では、パンクチャされたノードのうちの少なくとも1つは、次数2の変数ノード(たとえば、普通なら2つ以上のエッジによってLDPC符号の別の変数ノードに接続されることになる検査ノードを分割するのに使用される)とすることができる。
[0050]LDPC復号化モジュール1036は、LDPC符号を使用してLDPCコードワードを復号するためにプロセッサ1020によって実行され得る。いくつかの実施形態では、プロセッサ1020は、LDPC復号化モジュール1036を実行する際に、最初に、受信されたコードワードの1つまたは複数のパンクチャされたビットをLDPC符号に基づいて識別することができる。次に、プロセッサ1020は、受信されたコードワードにLDPC復号化演算を実行するとともに、パンクチャされたコードワードビットを消去されているとして扱うことができる。たとえば、LDPC復号化モジュール1036は、プロセッサ1020によって実行されるとき、パンクチャされたノードのLLRを初期化でゼロに設定することができる。いくつかの実施形態では、LDPC符号は、リフトされたLDPC符号とすることができる(たとえば、疑似巡回リフティングに基づいて)。
[0051]上述のように、パンクチャされたコードワードビットは、LDPC符号のそれぞれのパンクチャされたノードに対応することができ、パンクチャされたノードのうちの少なくともいくつかは、リフトされたLDPC符号の基礎グラフ中のノード対間の多重エッジを除去するように設定される。いくつかの実施形態では、パンクチャされたノードは、LDPC符号の検査ノードの数に等しいかまたはそれよりも1少ない次数を有する変数ノードを含むことができる。他の実施形態では、パンクチャされたノードのうちの少なくとも1つは、次数2の変数ノード(たとえば、普通なら2つ以上のエッジによってLDPC符号の別の変数ノードに接続されることになる検査ノードを分割するのに使用される)とすることができる。
[0052]前述の明細書において、本実施形態は、本発明の特定の例示の実施形態を参照して説明された。しかしながら、添付の特許請求の範囲に記載された本開示のより広い範囲から逸脱することなく、様々な改変および変更がそれに行われ得ることは明らかであろう。それゆえに、明細書および図面は、限定の意味ではなく例示の意味と見なされるべきである。たとえば、図5〜図6の流れ図に示された方法ステップは、他の好適な順序で実行されてもよく、多数のステップは単一のステップに組み合わされてもよく、および/またはいくつかのステップは省略されてもよい。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
データ符号化の方法であって、
1組の情報ビットを受信することと、
コードワードを生成するために、リフトされた低密度パリティ検査(LDPC)符号化演算を前記1組の情報ビットに実行することと、
前記LDPC符号化演算で使用される基礎LDPC符号の1つまたは複数のパンクチャされた基礎ビットに対応する前記コードワードのすべてのリフトされたビットをパンクチャすることと、ここにおいて、
前記1つまたは複数のパンクチャされた基礎ビットが、それぞれ前記基礎LDPC符号の1つまたは複数のパンクチャされた基礎ノードに対応するものであり、
前記基礎LDPC符号が多重エッジを有していない、
を備える、方法。
[C2]
前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号の検査ノードの数に等しいかまたはそれより1少ない次数を有する1つまたは複数の変数ノードに対応する、C1に記載の方法。
[C3]
前記1つまたは複数のパンクチャされた基礎ノードのうちの少なくとも1つが、前記基礎LDPC符号の最高次数の変数ノードに対応する、C1に記載の方法。
[C4]
前記1つまたは複数のパンクチャされた基礎ノードが、1つまたは複数の次数2の変数ノードに対応する、C1に記載の方法。
[C5]
前記1つまたは複数のパンクチャされた基礎ノードが、各々別の変数ノードに接続されている1つまたは複数のそれぞれの検査ノードを分割し、他の変数ノードの各々が、エッジによって、前記対応する分割された検査ノードの両方の要素に接続される、C4に記載の方法。
[C6]
前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号における二重エッジを除去する、C4に記載の方法。
[C7]
疑似巡回リフティングが前記基礎LDPC符号に適用され、前記疑似巡回リフティングのエッジクラスタの置換が巡回置換である、C1に記載の方法。
[C8]
データ復号化の方法であって、
LDPCコードワードを受信することと、
基礎LDPC符号の1つまたは複数のパンクチャされたベースドビットに対応する前記LDPCコードワードのすべてのリフトされたビットを識別することと、ここにおいて、
前記1つまたは複数のパンクチャされた基礎ビットが、それぞれ前記基礎LDPC符号の1つまたは複数のパンクチャされた基礎ノードに対応するものであり、
前記基礎LDPC符号が多重エッジを有していない、
1組の情報ビットを回復するために前記受信されたコードワードにLDPC復号化演算を実行することと、ここにおいて、前記識別されたリフト済みビットが、復号化の目的では消去されているとして扱われる、
を備える、方法。
[C9]
前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号の検査ノードの数に等しいかまたはそれより1少ない次数を有する1つまたは複数の変数ノードに対応する、C8に記載の方法。
[C10]
前記1つまたは複数のパンクチャされた基礎ノードのうちの少なくとも1つが、前記基礎LDPC符号の最高次数の変数ノードに対応する、C8に記載の方法。
[C11]
前記1つまたは複数のパンクチャされた基礎ノードが、1つまたは複数の次数2の変数ノードに対応する、C8に記載の方法。
[C12]
前記1つまたは複数のパンクチャされた基礎ノードが、各々別の変数ノードに接続されている1つまたは複数のそれぞれの検査ノードを分割し、他の変数ノードの各々が、エッジによって、前記対応する分割された検査ノードの両方の要素に接続される、C11に記載の方法。
[C13]
前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号における二重エッジを除去する、C11に記載の方法。
[C14]
疑似巡回リフティングが前記基礎LDPC符号に適用され、前記疑似巡回リフティングのエッジクラスタの置換が巡回置換である、C8に記載の方法。
[C15]
プログラム命令を含むコンピュータ可読記憶媒体であって、前記プログラム命令が、通信デバイス内に設けられたプロセッサによって実行されたとき、前記プログラム命令により、前記デバイスが、
1組の情報ビットを受信し、
コードワードを生成するために、リフトされたLDPC符号化演算を前記1組の情報ビットに実行し、
前記LDPC符号化演算で使用される基礎LDPC符号の1つまたは複数のパンクチャされた基礎ビットに対応する前記コードワードのすべてのリフトされたビットをパンクチャする、ここにおいて、
前記1つまたは複数のパンクチャされた基礎ビットが、それぞれ前記基礎LDPC符号の1つまたは複数のパンクチャされた基礎ノードに対応するものであり、
前記基礎LDPC符号が多重エッジを有していない、コンピュータ可読記憶媒体。
[C16]
前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号の検査ノードの数に等しいかまたはそれより1少ない次数を有する1つまたは複数の変数ノードに対応する、C15に記載のコンピュータ可読記憶媒体。
[C17]
前記1つまたは複数のパンクチャされた基礎ノードのうちの少なくとも1つが、前記基礎LDPC符号の最高次数の変数ノードに対応する、C15に記載のコンピュータ可読記憶媒体。
[C18]
前記1つまたは複数のパンクチャされた基礎ノードが、1つまたは複数の次数2の変数ノードに対応する、C15に記載のコンピュータ可読記憶媒体。
[C19]
前記1つまたは複数のパンクチャされた基礎ノードが、各々別の変数ノードに接続されている1つまたは複数のそれぞれの検査ノードを分割し、他の変数ノードの各々が、エッジによって、前記対応する分割された検査ノードの両方の要素に接続される、C18に記載のコンピュータ可読記憶媒体。
[C20]
前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号における二重エッジを除去する、C18に記載のコンピュータ可読記憶媒体。
[C21]
疑似巡回リフティングが前記基礎LDPC符号に適用され、前記疑似巡回リフティングのエッジクラスタの置換が巡回置換である、C15に記載のコンピュータ可読記憶媒体。
[C22]
プログラム命令を含むコンピュータ可読記憶媒体であって、前記プログラム命令が、通信デバイス内に設けられたプロセッサによって実行されたとき、前記プログラム命令により、前記デバイスが、
LDPCコードワードを受信し、
基礎LDPC符号の1つまたは複数のパンクチャされたベースドビットに対応する前記LDPCコードワードのすべてのリフトされたビットを識別し、ここにおいて、
前記1つまたは複数のパンクチャされた基礎ビットが、それぞれ前記基礎LDPC符号の1つまたは複数のパンクチャされた基礎ノードに対応するものであり、
前記基礎LDPC符号が多重エッジを有していない、
1組の情報ビットを回復するために前記受信されたコードワードにLDPC復号化演算を実行する、ここにおいて、前記識別されたリフト済みビットが、復号化の目的では消去されているとして扱われる、コンピュータ可読記憶媒体。
[C23]
前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号の検査ノードの数に等しいかまたはそれより1少ない次数を有する1つまたは複数の変数ノードに対応する、C22に記載のコンピュータ可読記憶媒体。
[C24]
前記1つまたは複数のパンクチャされた基礎ノードのうちの少なくとも1つが、前記基礎LDPC符号の最高次数の変数ノードに対応する、C22に記載のコンピュータ可読記憶媒体。
[C25]
前記1つまたは複数のパンクチャされた基礎ノードが、1つまたは複数の次数2の変数ノードに対応する、C22に記載のコンピュータ可読記憶媒体。
[C26]
前記1つまたは複数のパンクチャされた基礎ノードが、各々別の変数ノードに接続されている1つまたは複数のそれぞれの検査ノードを分割し、他の変数ノードの各々が、エッジによって、前記対応する分割された検査ノードの両方の要素に接続される、C25に記載のコンピュータ可読記憶媒体。
[C27]
前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号における二重エッジを除去する、C25に記載のコンピュータ可読記憶媒体。
[C28]
疑似巡回リフティングが前記基礎LDPC符号に適用され、前記疑似巡回リフティングのエッジクラスタの置換が巡回置換である、C22に記載のコンピュータ可読記憶媒体。
[C29]
1組の情報ビットを記憶するメモリと、
符号器と、ここにおいて、前記符号器が、
コードワードを生成するために、リフトされたLDPC符号化演算を前記1組の情報ビットに実行し、
前記LDPC符号化演算で使用される基礎LDPC符号の1つまたは複数のパンクチャされた基礎ビットに対応する前記コードワードのすべてのリフトされたビットをパンクチャする、ここにおいて、
前記1つまたは複数のパンクチャされた基礎ビットが、それぞれ前記基礎LDPC符号の1つまたは複数のパンクチャされた基礎ノードに対応するものであり、
前記基礎LDPC符号が多重エッジを有していない、
を備える通信デバイス。
[C30]
前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号の検査ノードの数に等しいかまたはそれより1少ない次数を有する1つまたは複数の変数ノードに対応する、C29に記載のデバイス。
[C31]
前記1つまたは複数のパンクチャされた基礎ノードのうちの少なくとも1つが、前記基礎LDPC符号の最高次数の変数ノードに対応する、C29に記載のデバイス。
[C32]
前記1つまたは複数のパンクチャされた基礎ノードが、1つまたは複数の次数2の変数ノードに対応する、C29に記載のデバイス。
[C33]
前記1つまたは複数のパンクチャされた基礎ノードが、各々別の変数ノードに接続されている1つまたは複数のそれぞれの検査ノードを分割し、他の変数ノードの各々が、エッジによって、前記対応する分割された検査ノードの両方の要素に接続される、C32に記載のデバイス。
[C34]
前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号における二重エッジを除去する、C32に記載のデバイス。
[C35]
疑似巡回リフティングが前記基礎LDPC符号に適用され、前記疑似巡回リフティングのエッジクラスタの置換が巡回置換である、C29に記載のデバイス。
[C36]
LDPCコードワードを記憶するメモリと、
復号器と、ここにおいて、前記復号器が、
基礎LDPC符号の1つまたは複数のパンクチャされたベースドビットに対応する前記LDPCコードワードのすべてのリフトされたビットを識別し、ここにおいて、
前記1つまたは複数のパンクチャされた基礎ビットが、それぞれ前記基礎LDPC符号の1つまたは複数のパンクチャされた基礎ノードに対応するものであり、
前記基礎LDPC符号が多重エッジを有していない、
1組の情報ビットを回復するために前記受信されたコードワードにLDPC復号化演算を実行する、ここにおいて、前記識別されたリフト済みビットが、復号化の目的では消去されているとして扱われる、
を備える通信デバイス。
[C37]
前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号の検査ノードの数に等しいかまたはそれより1少ない次数を有する1つまたは複数の変数ノードに対応する、C36に記載のデバイス。
[C38]
前記1つまたは複数のパンクチャされた基礎ノードのうちの少なくとも1つが、前記基礎LDPC符号の最高次数の変数ノードに対応する、C36に記載のデバイス。
[C39]
前記1つまたは複数のパンクチャされた基礎ノードが、1つまたは複数の次数2の変数ノードに対応する、C36に記載のデバイス。
[C40]
前記1つまたは複数のパンクチャされた基礎ノードが、各々別の変数ノードに接続されている1つまたは複数のそれぞれの検査ノードを分割し、他の変数ノードの各々が、エッジによって、前記対応する分割された検査ノードの両方の要素に接続される、C39に記載のデバイス。
[C41]
前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号における二重エッジを除去する、C39に記載のデバイス。
[C42]
疑似巡回リフティングが前記基礎LDPC符号に適用され、前記疑似巡回リフティングのエッジクラスタの置換が巡回置換である、C36に記載のデバイス。
[C43]
1組の情報ビットを受信するための手段と、
コードワードを生成するために、前記1組の情報ビットにLDPC符号化演算を実行するための手段と、
前記LDPC符号化演算で使用される基礎LDPC符号の1つまたは複数のパンクチャされた基礎ビットに対応する前記コードワードのすべてのリフトされたビットをパンクチャするための手段と、ここにおいて、
前記1つまたは複数のパンクチャされた基礎ビットが、それぞれ前記基礎LDPC符号の1つまたは複数のパンクチャされた基礎ノードに対応するものであり、
前記基礎LDPC符号が多重エッジを有していない、
を備える符号器。
[C44]
LDPCコードワードを受信するための手段と、
基礎LDPC符号の1つまたは複数のパンクチャされたベースドビットに対応する前記LDPCコードワードのすべてのリフトされたビットを識別するための手段と、ここにおいて、
前記1つまたは複数のパンクチャされた基礎ビットが、それぞれ前記基礎LDPC符号の1つまたは複数のパンクチャされた基礎ノードに対応するものであり、
前記基礎LDPC符号が多重エッジを有していない、
1組の情報ビットを回復するために前記受信されたコードワードにLDPC復号化演算を実行するための手段と、ここにおいて、前記識別されたリフト済みビットが、復号化の目的では消去されているとして扱われる、
を備える復号器。

Claims (12)

  1. データ符号化の方法であって、
    1組の情報ビットを受信することと、
    コードワードを生成するために、リフトされた低密度パリティ検査(LDPC)符号化演算を前記1組の情報ビットに実行することと、
    前記LDPC符号化演算で使用される基礎LDPC符号の1つまたは複数のパンクチャされた基礎ビットに対応する前記コードワードのすべてのリフトされたビットをパンクチャすることと、ここにおいて、
    前記1つまたは複数のパンクチャされた基礎ビットが、それぞれ前記基礎LDPC符号の1つまたは複数のパンクチャされた基礎ノードに対応するものであり、
    前記基礎LDPC符号がノード対間の多重エッジを有しておらず、
    ここにおいて、前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号の少なくとも1つの最高次数の変数ノード、および、1つまたは複数の次数2の変数ノードを備え、前記1つまたは複数の次数2の変数ノードは、基礎LDPC符号から前記多重エッジを除去するために使用される、
    を備える、方法。
  2. 前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号の検査ノードの数に等しいかまたはそれより1少ない次数を有する1つまたは複数の変数ノードに対応する、請求項1に記載の方法。
  3. 前記1つまたは複数のパンクチャされた基礎ノードが、各々別の変数ノードに接続されている1つまたは複数のそれぞれの検査ノードを分割し、その他の変数ノードの各々が、エッジによって、前記対応する分割された検査ノードの両方の要素に接続される、請求項1に記載の方法。
  4. 疑似巡回リフティングが前記基礎LDPC符号に適用され、前記疑似巡回リフティングのエッジクラスタの置換が巡回置換である、請求項1に記載の方法。
  5. 先行する請求項1〜4のいずれか一項にしたがった方法をコンピュータに実施させるための命令を記録した、コンピュータ読み取り可能な記録媒体。
  6. データ復号化の方法であって、
    LDPCコードワードを受信することと、
    基礎LDPC符号の1つまたは複数のパンクチャされたベースドビットに対応する前記LDPCコードワードのすべてのリフトされたビットを識別することと、ここにおいて、前記1つまたは複数のパンクチャされた基礎ビットが、それぞれ前記基礎LDPC符号の1つまたは複数のパンクチャされた基礎ノードに対応するものであり、
    前記基礎LDPC符号がノード対間の多重エッジを有していない、
    1組の情報ビットを回復するために前記受信されたコードワードにLDPC復号化演算を実行することと、ここにおいて、前記識別されたリフトされたビットが、復号化の目的では消去されているとして扱われ、
    ここにおいて、前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号の少なくとも1つの最高次数の変数ノード、および、1つまたは複数の次数2の変数ノードを備え、前記1つまたは複数の次数2の変数ノードは、基礎LDPC符号から前記多重エッジを除去するために使用される、
    を備える、方法。
  7. 前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号の検査ノードの数に等しいかまたはそれより1少ない次数を有する1つまたは複数の変数ノードに対応する、請求項6に記載の方法。
  8. 前記1つまたは複数のパンクチャされた基礎ノードが、各々別の変数ノードに接続されている1つまたは複数のそれぞれの検査ノードを分割し、その他の変数ノードの各々が、エッジによって、前記対応する分割された検査ノードの両方の要素に接続される、請求項6に記載の方法。
  9. 疑似巡回リフティングが前記基礎LDPC符号に適用され、前記疑似巡回リフティングのエッジクラスタの置換が巡回置換である、請求項6に記載の方法。
  10. 先行する請求項6〜9のいずれか一項にしたがった方法をコンピュータに実施させるための命令を記録した、コンピュータ読み取り可能な記録媒体。
  11. 1組の情報ビットを受信するための手段と、
    コードワードを生成するために、前記1組の情報ビットにLDPC符号化演算を実行するための手段と、
    前記LDPC符号化演算で使用される基礎LDPC符号の1つまたは複数のパンクチャされた基礎ビットに対応する前記コードワードのすべてのリフトされたビットをパンクチャするための手段と、ここにおいて、
    前記1つまたは複数のパンクチャされた基礎ビットが、それぞれ前記基礎LDPC符号の1つまたは複数のパンクチャされた基礎ノードに対応するものであり、
    前記基礎LDPC符号がノード対間の多重エッジを有しておらず、
    ここにおいて、前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号の少なくとも1つの最高次数の変数ノード、および、1つまたは複数の次数2の変数ノードを備え、前記1つまたは複数の次数2の変数ノードは、基礎LDPC符号から前記多重エッジを除去するために使用される、
    を備える、符号器。
  12. LDPCコードワードを受信するための手段と、
    基礎LDPC符号の1つまたは複数のパンクチャされたベースドビットに対応する前記LDPCコードワードのすべてのリフトされたビットを識別するための手段と、ここにおいて、
    前記1つまたは複数のパンクチャされた基礎ビットが、それぞれ前記基礎LDPC符号の1つまたは複数のパンクチャされた基礎ノードに対応するものであり、
    前記基礎LDPC符号がノード対間の多重エッジを有していない、
    1組の情報ビットを回復するために前記受信されたコードワードにLDPC復号化演算を実行するための手段と、ここにおいて、前記識別されたリフトされたビットが、復号化の目的では消去されているとして扱われ、
    ここにおいて、前記1つまたは複数のパンクチャされた基礎ノードが、前記基礎LDPC符号の少なくとも1つの最高次数の変数ノード、および、1つまたは複数の次数2の変数ノードを備え、前記1つまたは複数の次数2の変数ノードは、基礎LDPC符号から前記多重エッジを除去するために使用される、
    を備える、復号器。
JP2015557231A 2013-02-13 2014-02-13 高レート、高並列性、および低エラーフロアのために、疑似巡回構成を使用し、パンクチャするldpc設計 Active JP6542132B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361764476P 2013-02-13 2013-02-13
US61/764,476 2013-02-13
US14/179,942 US9306601B2 (en) 2013-02-13 2014-02-13 LDPC design for high parallelism, low error floor, and simple encoding
US14/179,942 2014-02-13
US14/179,871 2014-02-13
US14/179,871 US20140229788A1 (en) 2013-02-13 2014-02-13 Ldpc design for high rate, high parallelism, and low error floor
PCT/US2014/016261 WO2014127129A1 (en) 2013-02-13 2014-02-13 Ldpc design using quasi-cyclic constructions and puncturing for high rate, high parallelism, and low error floor

Publications (3)

Publication Number Publication Date
JP2016510185A JP2016510185A (ja) 2016-04-04
JP2016510185A5 JP2016510185A5 (ja) 2017-02-23
JP6542132B2 true JP6542132B2 (ja) 2019-07-10

Family

ID=51298356

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015557232A Active JP5976960B2 (ja) 2013-02-13 2014-02-13 高並列性、低エラーフロア、および簡単な符号化原理を有するリフトされたldpc符号のための設計
JP2015557231A Active JP6542132B2 (ja) 2013-02-13 2014-02-13 高レート、高並列性、および低エラーフロアのために、疑似巡回構成を使用し、パンクチャするldpc設計

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015557232A Active JP5976960B2 (ja) 2013-02-13 2014-02-13 高並列性、低エラーフロア、および簡単な符号化原理を有するリフトされたldpc符号のための設計

Country Status (7)

Country Link
US (2) US9306601B2 (ja)
EP (2) EP2957037A1 (ja)
JP (2) JP5976960B2 (ja)
KR (2) KR102142142B1 (ja)
CN (2) CN105075128B (ja)
BR (1) BR112015019409B1 (ja)
WO (2) WO2014127129A1 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3035539A1 (en) * 2014-12-19 2016-06-22 Xieon Networks S.à r.l. Encoder, decoder and encoding method with low error floor
CN106160937B (zh) 2015-04-15 2019-01-04 中兴通讯股份有限公司 一种实现码块分割的方法及装置
US10523364B2 (en) * 2015-11-06 2019-12-31 Samsung Electronics Co., Ltd. Channel coding framework for 802.11AY and larger block-length LDPC codes for 11AY with 2-step lifting matrices and in-place property
US10784901B2 (en) * 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US10404280B2 (en) * 2015-11-19 2019-09-03 Westhold Corporation Error correction using cyclic code-based LDPC codes
US11043966B2 (en) * 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) * 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US10313057B2 (en) 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
KR20180009558A (ko) 2016-07-19 2018-01-29 삼성전자주식회사 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러
CA3026317C (en) 2016-07-27 2023-09-26 Qualcomm Incorporated Design of hybrid automatic repeat request (harq) feedback bits for polar codes
US10804933B2 (en) 2016-09-30 2020-10-13 Lg Electronics Inc. QC LDPC code rate matching method and device therefor
CN107959501B (zh) * 2016-10-17 2021-06-29 上海数字电视国家工程研究中心有限公司 一种ldpc编码器
WO2018079987A1 (ko) * 2016-10-24 2018-05-03 엘지전자 주식회사 Ldpc 코드의 운송블록 분할 방법 및 이를 위한 장치
WO2018084735A1 (en) * 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
ES2875101T3 (es) * 2016-11-23 2021-11-08 Suez Groupe Codificación/descodificación por código LDPC cuasicíclico semirregular de corta duración para aplicaciones de bajo consumo tal como la lectura remota
WO2018128435A2 (ko) * 2017-01-06 2018-07-12 엘지전자 주식회사 다중 ldpc 코드에서 ldpc 베이스 코드를 선택하는 방법 및 이를 위한 장치
CN113676188A (zh) * 2017-03-03 2021-11-19 华为技术有限公司 高码率的长ldpc码
WO2018171043A1 (zh) 2017-03-24 2018-09-27 中兴通讯股份有限公司 一种准循环低密度奇偶校验编码处理方法及装置
CN115065368A (zh) * 2017-03-24 2022-09-16 中兴通讯股份有限公司 一种准循环低密度奇偶校验编码处理方法及装置
RU2667772C1 (ru) * 2017-05-05 2018-09-24 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство обработки информации и устройство связи
CN109120276B (zh) 2017-05-05 2019-08-13 华为技术有限公司 信息处理的方法、通信装置
WO2018201540A1 (zh) * 2017-05-05 2018-11-08 华为技术有限公司 信息处理的方法、通信装置
CN108809325B (zh) * 2017-05-05 2022-01-28 上海数字电视国家工程研究中心有限公司 Ldpc译码器
US10680646B2 (en) 2017-05-12 2020-06-09 Qualcomm Incorporated Row orthogonality in LDPC rate compatible design
CN108988871A (zh) * 2017-05-31 2018-12-11 电信科学技术研究院 一种编码方法及装置、计算机存储介质
CN108988869B (zh) * 2017-05-31 2021-07-30 大唐移动通信设备有限公司 一种确定校验矩阵的方法及装置、计算机存储介质
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
KR102194029B1 (ko) * 2017-06-15 2020-12-22 후아웨이 테크놀러지 컴퍼니 리미티드 정보 프로세싱 방법 및 통신 장치
CN109067407B (zh) * 2017-06-15 2019-11-15 华为技术有限公司 信息处理的方法、装置和通信设备
CN109150197B (zh) * 2017-06-27 2024-05-14 华为技术有限公司 信息处理的方法、装置和通信设备
CN109150196A (zh) * 2017-06-27 2019-01-04 华为技术有限公司 信息处理的方法、装置和通信设备
WO2019018120A1 (en) 2017-07-07 2019-01-24 Qualcomm Incorporated COMMUNICATION TECHNIQUES APPLYING A BASIC GRAPH SELECTION FOR A LOW DENSITY PARITY CHECK CODE
US10887791B2 (en) * 2017-07-28 2021-01-05 Qualcomm Incorporated Techniques and apparatuses for low density parity check base graph determination and indication
KR101917829B1 (ko) * 2017-11-30 2018-11-12 고려대학교 산학협력단 Ldpc 부호의 셔플 복호를 위한 복호 순서 결정 방법 및 장치
WO2019164515A1 (en) * 2018-02-23 2019-08-29 Nokia Technologies Oy Ldpc codes for 3gpp nr ultra-reliable low-latency communications
WO2019226064A1 (en) * 2018-05-22 2019-11-28 Huawei Technologies Co., Ltd. Type-i qc-ldpc codes with efficient encoding and good error floor characteristic
KR101991447B1 (ko) * 2018-09-10 2019-06-20 국방과학연구소 블록 간섭 및 블록 페이딩에 강인한 고부호율 프로토그래프 기반 ldpc 부호 설계 기법
CN111064475A (zh) * 2018-10-16 2020-04-24 华为技术有限公司 基于低密度奇偶校验码的译码方法及装置
CN109639392B (zh) * 2018-11-09 2020-03-27 清华大学 广播信道传输的空间耦合ldpc码的构造方法及系统
US11303303B2 (en) * 2020-01-03 2022-04-12 Qualcomm Incorporated Rate 7/8 low-density parity-check (LDPC) code
US11455208B2 (en) 2020-08-20 2022-09-27 Western Digital Technologies, Inc. Soft information for punctured bit estimation in a data storage device
KR102476160B1 (ko) * 2020-11-11 2022-12-08 포항공과대학교 산학협력단 비이진 저밀도 패리티 검사 코드 복호기 및 이를 이용한 복호화 방법
US11575390B2 (en) * 2021-07-02 2023-02-07 Hong Kong Applied Science and Technology Research Insitute Co., Ltd. Low-latency segmented quasi-cyclic low-density parity-check (QC-LDPC) decoder
CN116644071B (zh) * 2023-06-08 2024-04-05 中国长江三峡集团有限公司 一种物资编码管理方法、装置、计算机设备及存储介质

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US6957375B2 (en) 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
US7143333B2 (en) * 2004-08-09 2006-11-28 Motorola, Inc. Method and apparatus for encoding and decoding data
US7506238B2 (en) * 2004-08-13 2009-03-17 Texas Instruments Incorporated Simplified LDPC encoding for digital communications
US7996746B2 (en) 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
CN100550655C (zh) * 2004-11-04 2009-10-14 中兴通讯股份有限公司 一种低密度奇偶校验码的编码器/译码器及其生成方法
KR100856235B1 (ko) 2005-09-26 2008-09-03 삼성전자주식회사 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
US8132072B2 (en) 2006-01-06 2012-03-06 Qualcomm Incorporated System and method for providing H-ARQ rate compatible codes for high throughput applications
WO2007112767A1 (en) * 2006-03-30 2007-10-11 Fujitsu Limited Construction of parity-check matrices for non-binarys ldpc codes
US8028216B1 (en) * 2006-06-02 2011-09-27 Marvell International Ltd. Embedded parity coding for data storage
KR101191196B1 (ko) * 2006-06-07 2012-10-15 엘지전자 주식회사 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법
TWI351821B (en) * 2006-10-26 2011-11-01 Qualcomm Inc Coding schemes for wireless communication transmis
US8161363B2 (en) * 2006-12-04 2012-04-17 Samsung Electronics Co., Ltd Apparatus and method to encode/decode block low density parity check codes in a communication system
KR101433375B1 (ko) * 2006-12-04 2014-08-29 삼성전자주식회사 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
EP2106635A2 (en) * 2007-01-24 2009-10-07 QUALCOMM Incorporated Ldpc encoding and decoding of packets of variable sizes
US8261155B2 (en) * 2007-03-09 2012-09-04 Qualcomm Incorporated Methods and apparatus for encoding and decoding low density parity check (LDPC) codes
KR101119302B1 (ko) * 2007-04-20 2012-03-19 재단법인서울대학교산학협력재단 통신 시스템에서 저밀도 패리티 검사 부호 부호화 장치 및방법
KR20080102902A (ko) * 2007-05-22 2008-11-26 삼성전자주식회사 가변 부호화율을 가지는 ldpc 부호 설계 방법, 장치 및그 정보 저장 매체
US7966548B2 (en) 2007-06-29 2011-06-21 Alcatel-Lucent Usa Inc. Method and system for encoding data using rate-compatible irregular LDPC codes based on edge growth and parity splitting
JP5354985B2 (ja) 2007-07-30 2013-11-27 パナソニック株式会社 符号化装置及び復号化装置
CN101227193B (zh) * 2008-02-02 2010-06-02 中国科学院计算技术研究所 一种低密度校验码的编解码装置和方法
EP2099135B1 (en) * 2008-03-03 2018-02-28 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
US8433972B2 (en) * 2009-04-06 2013-04-30 Nec Laboratories America, Inc. Systems and methods for constructing the base matrix of quasi-cyclic low-density parity-check codes
KR20100117051A (ko) 2009-04-23 2010-11-02 조지아 테크 리서치 코오포레이션 에러 정정 코드를 이용한 보안 통신
US8832520B2 (en) * 2011-11-29 2014-09-09 California Institute Of Technology High order modulation protograph codes

Also Published As

Publication number Publication date
JP5976960B2 (ja) 2016-08-24
BR112015019409B1 (pt) 2022-01-11
CN104981978B (zh) 2017-12-08
KR20150118993A (ko) 2015-10-23
KR102142142B1 (ko) 2020-08-06
WO2014127129A1 (en) 2014-08-21
KR101662747B1 (ko) 2016-10-06
EP2957038B1 (en) 2020-06-10
WO2014127140A1 (en) 2014-08-21
JP2016507200A (ja) 2016-03-07
JP2016510185A (ja) 2016-04-04
US9306601B2 (en) 2016-04-05
BR112015019409A2 (pt) 2017-07-18
EP2957038A1 (en) 2015-12-23
KR20150118992A (ko) 2015-10-23
CN105075128B (zh) 2018-07-17
US20140229788A1 (en) 2014-08-14
CN104981978A (zh) 2015-10-14
EP2957037A1 (en) 2015-12-23
CN105075128A (zh) 2015-11-18
US20140229789A1 (en) 2014-08-14

Similar Documents

Publication Publication Date Title
JP6542132B2 (ja) 高レート、高並列性、および低エラーフロアのために、疑似巡回構成を使用し、パンクチャするldpc設計
JP6847252B2 (ja) 符号器、復号器及び送信機
EP3577765B1 (en) Soft output decoding of polar codes using successive cancelation list (scl) decoding
JP5318583B2 (ja) 高スループット・アプリケーションのためのh−arqレート・コンパチブル符号を提供するためのシステム及び方法
TWI387212B (zh) 使用低密度同位檢查碼之通訊系統中用來將通道編碼與解碼的裝置及其方法
KR20150131370A (ko) 멀티-스테이지 소프트 입력 디코딩을 위한 방법 및 시스템
EP2892157A1 (en) Offset Min-Sum decoding of LDPC codes
KR20200003829A (ko) 레이트 호환가능한 qc-ldpc 코드들에 대한 로우 직교성으로 패리티 체크 행렬들의 구성
US11463114B2 (en) Protograph quasi-cyclic polar codes and related low-density generator matrix family
JP6840236B2 (ja) パイプライン高スループット階層化ldpcデコーダアーキテクチャ
JP2020526117A (ja) 疑似サイクリック低密度パリティチェックの設計方法および装置
US20160049962A1 (en) Method and apparatus of ldpc encoder in 10gbase-t system
KR101991447B1 (ko) 블록 간섭 및 블록 페이딩에 강인한 고부호율 프로토그래프 기반 ldpc 부호 설계 기법
CN107733441B (zh) 编码方法及装置、译码方法及装置
TWI407703B (zh) 解碼器
WO2009023298A1 (en) Method and system for factor graph soft-decision decoding of error correcting codes
Kang The Advanced Decoding Schemes for Low-density Parity-check Codes
US8977926B2 (en) Modified targeted symbol flipping for non-binary LDPC codes
KR20090117584A (ko) 저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190612

R150 Certificate of patent or registration of utility model

Ref document number: 6542132

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