JP2010521128A - 低密度パリティ検査(ldpc)符号を符号化し復号するための方法及び装置 - Google Patents
低密度パリティ検査(ldpc)符号を符号化し復号するための方法及び装置 Download PDFInfo
- Publication number
- JP2010521128A JP2010521128A JP2009553712A JP2009553712A JP2010521128A JP 2010521128 A JP2010521128 A JP 2010521128A JP 2009553712 A JP2009553712 A JP 2009553712A JP 2009553712 A JP2009553712 A JP 2009553712A JP 2010521128 A JP2010521128 A JP 2010521128A
- Authority
- JP
- Japan
- Prior art keywords
- variable node
- order
- nodes
- low
- loop closing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1185—Parity 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1185—Parity 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/1188—Parity 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
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
Description
この特許出願は、ここでの譲受人に譲渡され、ここにおいて参照することによりここに明示的に組み込まれて、2007年3月9日に出願された「LDPC符号を符号化し、復号するための方法及び装置(Methods and Apparatus for Encoding and Decoding LDPC codes)」と題された米国仮特許出願番号60/894,183号の優先権を主張する。
本願は、例えば低密度パリティ検査(low density parity check)(LDPC)符号のようなパリティ検査符号の使用を通じて、バイナリデータにおける誤りを検出するために及び/または訂正するために、データを符号化あるいは復号するための方法及び装置を対象としている。
誤り訂正符号(error correcting codes)は、通信及びデータストレージのシステムにおいてユビキタスである。近年では、かなりの関心度が、低密度パリティ検査(LDPC)符号として知られる符号の部類において、増してきた。
図1は、長さ10及びレート1/2の(3,6)レギュラーLDPC符号を決定する、二部グラフ100の一例を図示する。長さ10は、10の変数ノードV1−V10 102があるということを示しており、それぞれは、1ビットのコードワードX1−X10で識別されている。レート1/2は、変数ノード同様に半分のチェックノードがあり、すなわち、5つのチェックノードC1−C5 106がある、ということを示す。レート1/2は、下記で説明されているように5つの制約が線形的に独立(linearly independent)であるということをさらに示すことができる。
LDPC符号についての符号化プロセスは、入力情報ビットからLDPCコードワードへのマッピング(mapping)であることができる。このマッピングが取ることができる多くの可能な形態があってもよい。
コードワードは、x=(s,p1,p2)として示されることができ、sは、システマチックな部分を示すことができ、結合されたp1及びp2は、パリティ部分を示すことができ、p1は、長さgを有し、p2は長さ(m−g)を有することができる。符号化問題は、p1及びp2の与えられたsを見つけることである。定義式HxT=0Tは、次の2つの式
上記の説明は、いずれのLDPC符号を符号化するための方法を提供している。LDPC符号の多くの構造(constructions)が他の自然符号化メカニズム、例えばRA符号、に対する高まり(rise)を与えることができるということが理解されるであろう。
図3は、単純なイレギュラーLDPC(a simple irregular LDPC)のグラフ300を図示する。符号は、5つの変数ノードV1〜V5 302によって図示されているように、長さ5であることができる。4つのチェックノードC1〜C4 306は、トータル12エッジ 304による変数ノード302に結合されることができる。
図8は、一般的なLDPCエンコーダ800を図示する。ユニット操作プロセッサ(unit operation processor)808は、受信された命令によって示された3つの可能な操作のうちの1つを実行することができる。ユニット操作プロセッサ808は、sumビット(a sum bit)をクリアするか、メモリからのビット読み取りでsumビットの排他的論理和をとるか、あるいは、符号化メモリ(encoding memory)806にsumビットを出力するか、いずれかを行なうことができる。実行される予定である操作は、エンコーダ制御モジュール800において、操作制御モジュール810に関する操作によって選択され、1つまたは複数の命令の形でユニット操作プロセッサ808に指定されることができる。読み取り/書き込みの制御モジュール804、エンコーダ制御モジュール800は、符号化メモリ806がアクセスされる順序を指定することができる。操作制御モジュール810及び読み取り/書き込み制御モジュール806の両方の形のタイミングは、エンコーダ制御モジュール800において、エンコーダタイミング制御モジュール802によって制御されることができ、タイミング制御信号を通じてエンコーダのデータフローを決定する。符号化メモリ806は、SIMD読み取りあるいは書き込み命令を独立して使用して、書き込まれることができる、あるいは読み取られることができる、デュアルポートメモリブロック(dual port memory block)であってもよい。
ベクトル化されたLDPCグラフを与えられると、本願の符号化プロセスは、次のようにベクトル化されることができる。エンコーダは、同時にあるいは並列に、プロジェクトされたLDPC符号(projected LDPC code)の符号Z複製であるかのように、動作することができる。符号化プロセスの制御は、プロジェクトされたLDPCグラフに対応することができ、そして、Z複製にわたって共有されることができる。したがって、エンコーダは、ビットベクトル上で動作するものとして説明されることができ、各ベクトルは、Zエレメントを有する。Zプロジェクトされたグラフの純粋にディスジョイントパラレル符号化(purely disjoint parallel encoding of the Z projected graphs)からの1つの派生は、ビットが符号化プロセスの間にビットベクトル内で再び順序づけられる(reordered)というものであってもよい。この再び順序づける操作(reordering operation)は、回転(rotation)と呼ばれることができる。回転は、Ψによる置換操作をインプリメントすることができ、ここにおいてΨは、置換を定義するグループを表わすことができる。回転のおかげで、プロジェクトされたグラフのZ複製の処理パスは、ミックスすることができ、それによって、単一の大きいグラフを形成するためにそれらをリンクする。回転を指定する制御情報は、プロジェクトされたグラフについての制御情報に加えて、得られることができる。幸いにも、回転制御情報は、比較的小さいメモリを使用して指定されることができる。
より小さいグラフ表示及び回転情報を使用している大きいグラフを表示するための本願の技術は、図3のグラフ300のベクトル化に関する、図9−16を参照してさらに説明されることができる。これらの数字を参照して説明された本願の技術は、より大きいLDPCグラフに適用されることができる。
図8のエンコーダ800は、上記で説明された(Z=3)パラレルグラフ((Z=3) parallel graphs)を符号化するために修正されることができる。ユニット操作プロセッサ1008は、並列で、同時に3つの同一の操作を処理することができるベクトルユニット操作プロセッサが作られることができる。ユニット操作プロセッサ1008からのすべての出力は、ベクトル化されることができ、それによって、以前に搬送されたデータの3倍を搬送する。単一のSIMD命令の指示(direction)で使用して並列で3ビットを書き込むあるいは読み取ることができる、符号化メモリ1006は、3倍幅広く作られることができる。これらのメモリからの出力は、3ビット幅ベクトル(3-bit wide vectors)であってもよい。しかしながら、ユニット操作制御1010、オーダリング(ordering)(読み取り/書き込み)制御1004及びエンコーダタイミング制御モジュール1002は、図8の同様に名づけられたエレメントと同じあるいは同様となる。
回転は、図11で示されるような3x3巡回置換行列と、図10で示された3×3識別情報行列のそれぞれを置き換えることによって導入されることができる。図11で使用される巡回置換行列について3つの可能性がありうるということに、注意されるべきである。置換行列が置換行列の第1行における第1の位置、第2の位置、あるいは第3の位置において配置された「1」を有しているかどうかを示すことによって、識別情報行列と置き換えられる予定である特定の置換行列を示すことが可能でありうる。例えば、行列1102のケースにおいて、一番上の左から始まり、下の右の端へと続行して、回転は、シーケンス(2,2,3,3,1,1,1,3,2,1,2,3)によって指定されることができる。
図13及び14は、図11で示されたLDPC符号のための符号化プロセスの一例を図示する。符号化プレプロセッシングのステップは、より下三角の形へとパリティ検査行列Hの行及び列を再配置することができる。再配置H’1301の一例は、図13において図示されている。H’1301は、オリジナル行列H’1102の行2及び4を置換することによって得られることができる。
Z−ビットデータのベクトルv(nx1)で、ZxZ巡回行列あるいは0行列のエントリを備えている行列U(mxn)、の乗算を分解するときには、乗算の前に、ソースデータは、Z−ビットデータ幅のいくつかのメモリにおいて、ロケーションs,s+1,…,s+n−1において保持されることができるということが仮定されることができ、結果のデータは、同じメモリにおいてロケーションt,…,t+m−1において保存される予定である。行列Uの列
15は、図11で示されたベクトルLDPC符号についての操作のシーケンス(0 a r b)及び(1 a r b)として符号化プロセスを図示する。メモリ1502は、情報ビット、符号化されたビット、及び中間変数を保存することができる。メモリ1502は、情報ビット、符号化されたビット、及び中間変数を保存することができる。メモリロケーション0’〜11’のそれぞれのコンテンツは、上記の対応するメモリロケーションの行1503で示されている。メモリは、Z−ビットデータ幅であってもよく、すなわち、単純なSIMD命令によるアクセッシングユニットは、Z−ビットベクトルであり、各メモリのロケーション0’〜11’は、Zビットを保持する。メモリ1502のロケーション0’は、単一の情報ベクトルを保存するために割り当てられることができ、ロケーション1’は、パリティベクトルp1を保存するために割り当てられることができ、ロケーション2’から4’は、パリティベクトルp’2を保存するために割り当てられることができる。追加メモリのスペースが、中間値を保持するために提供されることができる。メモリ1502は、ロケーション5’から7’に、Asの値を、そのあとで、Bp1+Asのそれを保存するために提供することができ、T−1Asを保存するためにロケーション9’から11’に提供することができ、ET−1Asを保存するためにロケーション12’に提供することができる。
図16は、エンコーダ1600を図示する。エンコーダ1600は、エンコーダ800を、回転を用いて、十分にベクトル化することができる。エンコーダ1600とエンコーダ800との間の類似点は、明らかでありうる。特に、エンコーダ制御モジュール1612及び操作制御モジュール1610は、エンコーダ800のそれらのそれぞれのカウンターパート802及び812と同じ方法であるいは同様な方法で、機能することができる。例えば、図12及び13において定義されるLDPC符号を符号化するために、これらのコンポーネントの操作は、図3の符号300の例を符号化するとき、エンコーダ800におけるそれらのカウンターパートとまさに同じであろう。符号化メモリ1606は、エンコーダ800のそのカウンターパート806のベクトル化されたバージョンであってもよい。であるがゆえに、エンコーダ800において、単一ビット保存されたメモリ、すなわちエンコーダ1600の対応するメモリは、セット、すなわちZ−ビットベクトル、を保存することができる。これらのベクトルは、SIMD命令を使用している単一ユニットとして書き込まれ、読み取られることができる。したがって、オーダリング(読み取り/書き込み)制御1604、すなわちメモリインデクスから、メモリに対して送信されるメッセージ識別子は、エンコーダ800におけるそれらと等しいあるいは同様であってもよい。読み取り/書き込み制御モジュール1604のオーダリングは、エンコーダ800のそのカウンターパート804のそれを超えて、置換、例えば回転、の情報を保存し、提供するさらなる役割を有している。
図17は、パリティ検査行列1700(グラフィック記号を含んでいるボックスは1を示しており、グラフィック記号を含まず、あるいは空であるボックスは0を示す)を図示し、図18は、Tannerグラフを図示しており、基本符号化構造ベースAの両方の表示は、下記で説明される。図18のグラフがリフトされるとき、四角としてここでは図示され、行列の各エントリは、置換行列あるいはゼロ行列となりうる。ゼロ行列は、空のボックスに対応し、置換行列は、グラフィックシンボルを有するボックスに対応する。巡回リフティングのケースにおいては、置換行列は、巡回置換行列であってもよい。パリティ検査行列として構造の表示において、行及び列は、置換されるように表されることができるということが理解されるべきである。同様に、Tannerグラフは、順序変更された方法で表されることができる。さらに、行列及びグラフは、より大きい構造のサブ行列及びサブグラフであってもよい。
1セットの整数{0,…,Z−1}は、セット{0,2,…,Z−2}及びセット{1,3,…,Z−1}のインターリービング(interleaving)である。{0,…,Z−1}に関する巡回置換は、Sごとに右に巡回的にシフトされる(cyclically shifting)ことによって、実行されることができ、そして、偶数エレメント{0,2,…,Z−2}及び奇数エレメント{1,3,…,Z−1}の巡回置換、及び2つのリインターリービング(reinterleaving)として均等に表されることができる。シーケンスのリインターリービングは、Sが偶数である場合には偶数のサブセットで始まり、Sが奇数である場合には奇数のサブセットで始まる。偶数シーケンスの巡回シフトは、ほとんどのS/2において(at most S/2)最大の整数であるKであってもよく、奇数シーケンスの巡回シフトはS−Kであろう。
上記の説明されたアプリケーションは、第3世代パートナーシッププロジェクト2(3GPP2)の無線通信システムにおいて使用されることができる。そのようなシステムは、同時係属している米国仮特許出願シリアル番号60/862,730においてある程度で説明されており、ここによって、参照によって組み込まれ、本願の一部分を形成する。さらに、これらの例についての明記された符号化(stipulated encoding)は、符号化のための基本として、リフトされた符号化構造Aを使用するためであってもよい。言い換えると、拡張されたグラフにおいて現れたリフトされた符号化構造Aは、コアのパリティビットを表している。例における列あるいは変数ノードを再び順序づけすること(reordering)は、重要な方法で例を変更しないということが理解されるべきである。同様に行あるいは制約ノードを再び順序づけすることは、例を変更しない。同様に、列におけるすべてのリフティング値に対して一定数を加えることは、重要な方法で例を変更しない。
3.ループ次数2の変数ノードのエッジ上の置換は、n−3 0ビット数A及びA−1 mod 2nであり、ただし2nは最大のリフティングサイズである。
Claims (41)
- 二部グラフによる表示が可能である低密度パリティ検査(LDPC)符号を使用してデータを符号化するための方法であって、前記方法は、
複数の低い次数の変数ノードの累積チェインを生成することと;
ループを二回形成するために前記累積チェインを閉じることと、なお、一回は、低い次数の変数ノードを使用し、一回は、前記の低い次数の変数ノードよりも高い次数の変数ノードを使用しており、前記のより高い次数の変数ノードは、ノンループクロージングエッジを備えている;
を備えている、方法。 - 前記複数の低い次数の変数ノードは、各エッジ上で同じ置換を有する、請求項1に記載の方法。
- 前記複数の低い次数の変数ノードは、複数のコア次数2の変数ノードを備えており、
前記のより高い次数の変数ノードは、コア次数3の変数ノードを備えており、
ループクロージングの低い次数の変数ノードは、ループクロージングのコア次数2の変数ノードを備えている、請求項1に記載の方法。 - 前記累積チェインの複数の順序変更された複製、前記ループクロージングの低い次数の変数ノードの複数の順序変更された複製、及び前記のループクロージングのより高い次数の変数ノードの複数の順序変更された複製、を備えているリフトされたグラフ、を使用すること、をさらに備えている請求項1に記載の方法。
- 前記ループクロージングの低い次数の変数ノードの前記複数の順序変更された複製は、n−3 0ビット数A及びA+C−1 mod2nによるループクロージングの低い次数の置換を備えており、ただし2nは、最大のリフティングサイズであり、Cはまたn−3 0ビット数である、請求項4に記載の方法。
- 前記のループクロージングのより高い次数の変数ノードの前記複数の順序変更された複製の、複数の順序変更されたノンループクロージングエッジは、n−3 0ビット数B及びB+C−1 mod 2nによるノンループクロージング置換を備えており、ただし、Cは、n−3 0ビット数であり、また基本グラフにおいては、前記のB+C−1置換は、数字Aによる置換を有する前記ループクロージングの低い次数の変数ノード上の前記エッジと同じ制約ノードに接続されたエッジに関連づけられている、請求項5に記載の方法。
- 前記のより高い次数の変数ノードの前記ノンループクロージングエッジ上の置換は0である、請求項1に記載の方法。
- 巡回リフトされた低密度パリティ検査(LDPC)符号を使用すること、をさらに備えており、いくつかの基本変数ノードについては、前記のリフトされた変数ノードの半分は、情報ノードであり、半分がパリティノードである、請求項6に記載の方法。
- 前記LDPC符号の基本グラフの構造は、さらなる次数2の変数ノードを備えた基本符号化構造Aを有しており、前記さらなる次数2の変数ノードは、構造Aの前記累積チェインの前記ループを閉じるループクロージングの次数2の変数ノードを備えている、請求項8に記載の方法。
- リフトされたループクロージングの次数2の変数ノードのほかのすべてのリフトされたノードは、それらのそれぞれの基本ノードに応じるパリティノードあるいは情報ノードのいずれかである、請求項9に記載の方法。
- 前記ループクロージングのコア次数2の変数ノードは、置換X及びX+C−1モジュローZを有しており、ただし、Cは、n−3 0ビット数である、請求項3に記載の方法。
- Cは0である、請求項11に記載の方法。
- 前記のより高い次数の変数ノードのループクロージングエッジは、リフティング置換Y及びY+C−1モジュローZを関連づけている、請求項1に記載の方法。
- 置換Xで前記エッジ上の前記のループクロージングの次数2の変数ノードに取り付けられている前記制約ノードは、置換Y+C−1で前記のより高い次数の変数ノードに接続する、請求項9に記載の方法
- 前記基本グラフの構造が2つのうちの1つの要因によって拡張され、前記リフティングサイズは、前記基本グラフへと前記のリフティングからビットを移動させることによって2つのうちの1つの要因により減らさせられるとき、そのときには、結果として生じる符号化構造は、識別情報を備えたあるいは識別情報なしの、リフトされた符号化構造Aである、請求項9に記載の方法。
- コア次数3の符号化ノードのノンループクロージングエッジ上でノンループクロージングエッジ置換を使用することと、ただし、前記のノンループクロージングエッジ置換は0である;
前記ループに関係しているコア次数2の変数ノードの前記のエッジ上で、すべての他の置換のために使用することと、なお、その値は、0あるいは−1mod2nである;
請求項1に記載の方法。 - 二部グラフによる表示が可能である低密度パリティ検査(LDPC)符号を使用してデータを符号化するための装置であって、そのデバイスは、
前記の符号化されたデータを保存するためのメモリデバイスと、
制御モジュールと、
前記メモリデバイスと前記制御モジュールとの間で結合されたプロセッシング回路と、
を備えており、
前記プロセッシング回路は、
複数の低い次数の変数ノードの累積チェインを生成するように、
ループを二回形成するために前記累積チェインを閉じるように、なお、一回は、低い次数の変数ノードを使用し、一回は、前記低い次数の変数ノードよりも高い次数の変数ノードを使用しており、前記のより高い次数の変数ノードは、ノンループクロージングエッジを備えている、
装置。 - 前記複数の低い次数の変数ノードは、各エッジ上で、同じ置換を有する、請求項17に記載の装置。
- 前記複数の低い次数の変数ノードは、複数のコア次数2の変数ノードを備えており、
前記のより高い次数の変数ノードは、コア次数3の変数ノードを備えており、
ループクロージングの低い次数の変数ノードは、ループクロージングのコア次数2の変数ノードを備えている、請求項17に記載の装置。 - 前記プロセッシング回路は、前記累積チェインの複数の順序変更された複製、前記ループクロージングの低い次数の変数ノードの複数の順序変更された複製、及び前記のループクロージングのより高い次数の変数ノードの複数の順序変更された複製、を備えているリフトされたグラフ、を使用するようにさらに構成されている、請求項17に記載の装置。
- 前記ループクロージングの低い次数の変数ノードの前記複数の順序変更された複製は、n−3 0ビット数A及びA+C−1 mod2nによるループクロージングで低い次数の置換を備えており、ただし2nは、最大リフティングサイズであり、Cはまた、n−3 0ビット数である、請求項20に記載の装置。
- 前記のループクロージングのより高い次数の変数ノードの前記複数の順序変更された複製の、複数の順序変更されたノンループクロージングエッジは、n−3 0ビット数B及びB+C−1 mod2nによるノンループクロージング置換を備えており、Cは、n−3 0ビット数であり、基本グラフにおいては、前記B+C−1置換は、数字Aによる置換を有する前記ループクロージングの低い次数の変数ノード上で前記エッジとして同じ制約ノードに接続されるエッジに関連づけられている、請求項21に記載の装置。
- 前記プロセッシング回路は、巡回リフトされた低密度パリティ検査(LDPC)符号を使用するようにさらに構成されており、いくつかの基本変数ノードについては、前記のリフトされた変数ノードの半分は情報ノードで、半分はパリティノードである、請求項17に記載の装置。
- 前記LDPC符号の基本グラフの構造は、さらなる次数2の変数ノードを備えた基本符号化構造ベースAを有しており、前記さらなる次数2の変数ノードは、構造Aの前記累積チェインの前記ループを閉じるループクロージングの次数2の変数ノードを備えている、請求項23に記載の装置。
- リフトされたループクロージングの次数2の変数ノードのほかのすべてのリフトされたノードは、それらのそれぞれの基本ノードに応答するパリティノードあるいは情報ノードのいずれかである、請求項24に記載の装置。
- 二部グラフによる表示が可能である低密度パリティ検査(LDPC)符号を使用してデータを符号化するための装置であって、そのデバイスは、
複数の低次変数ノードの累積チェインを生成するための手段と、
ループを二回形成するために前記累積チェインを閉じるための手段と、なお、一回は、低い次数の変数ノードを使用し、一回は、前記低い次数の変数ノードよりも高い次数の変数ノードを使用しており、前記のより高い次数の変数ノードは、ノンループクロージングエッジを備えている、
装置。 - 前記複数の低い次数の変数ノードは、各エッジ上で同じ置換を有する、請求項26に記載の装置。
- 前記複数の低い次数の変数ノードは、複数のコア次数2の変数ノードを備えており、
前記のより高い次数の変数ノードは、コア次数3の変数ノードを備えており、
ループクロージングの低い次数の変数ノードは、ループクロージングのコア次数2の変数ノードを備えている、請求項26に記載の装置。 - 前記累積チェインの複数の順序変更された複製、前記ループクロージングの低い次数の変数ノードの複数の順序変更された複製、及び前記のループクロージングのより高い次数の変数ノードの複数の順序変更された複製、を備えているリフトされたグラフ、を使用するための手段、をさらに備えている請求項26に記載の装置。
- 前記ループクロージングの低い次数の変数ノードの前記複数の順序変更された複製は、n−3 0ビット数A及びA+C−1 mod 2nによるループクロージングで低い次数の置換を備えており、ただし、2nは、最大のリフティングサイズであり、Cはまたn−3 0ビット数である、請求項29に記載の装置。
- 前記のループクロージングのより高い次数の変数ノードの前記複数の順序変更された複製の、複数の順序変更されたノンループクロージングエッジは、n−3 0ビット数B及びB+C−1 mod2nによるノンループクロージング置換を備えており、ただし、Cはn−3 0ビット数であり、また、基本グラフにおいては、前記B+C−1置換は、数字Aによる置換を有する前記ループクロージングの低い次数の変数ノード上で前記エッジと同じ制約ノードに接続されたエッジに関連づけられている、請求項30に記載の装置。
- プロセッサ可読メディアであって、プロセッサによって実行されるときに、前記プロセッサに、
複数の低い次数の変数ノードの累積チェインを生成させ;
ループを二回形成するために前記累積チェインを閉じさせる、なお、一回は、低い次数の変数ノードを使用し、一回は、前記低い次数の変数ノードよりも高い次数の変数ノードを使用しており、前記のより高い次数の変数ノードは、ノンループクロージングエッジを備えている;
二部グラフによる表示が可能である低密度パリティ検査(LDPC)符号を使用してデータを符号化することを達成するための、エンコーダ上で動作可能な1つまたは複数の命令、
を有する、プロセッサ可読メディア。 - 前記複数の低い次数の変数ノードは、各エッジ上で同じ置換を有する、請求項32に記載のプロセッサ可読メディア。
- 前記複数の低い次数の変数ノードは、複数のコア次数2の変数ノードを備えており、
前記のより高い次数の変数ノードは、コア次数3の変数ノードを備えており、
前記ループクロージングの低い次数の変数ノードは、ループクロージングのコア次数2の変数ノードを備えている、請求項32に記載のプロセッサ可読メディア。 - プロセッサによって実行されるときに、前記プロセッサに、
前記累積チェインの複数の順序変更された複製、前記ループクロージングの低い次数の変数ノードの複数の順序変更された複製、及び前記のループクロージングのより高い次数の変数ノードの複数の順序変更された複製、を備えているリフトされたグラフ、を使用させる、
1つまたは複数の命令、
をさらに有する、請求項32に記載のプロセッサ可読メディア。 - 前記ループクロージングの低い次数の変数ノードの前記複数の順序変更された複製は、n−3 0ビット数 A及びA+C−1 mod2nによるループクロージングの低い次数の置換を備えており、ただし、2nは、最大のリフティングサイズであり、Cはまたn−3 0ビット数である、請求項35に記載のプロセッサ可読メディア。
- 前記のループクロージングのより高い次数の変数ノードの前記複数の順序変更された複製の、複数の順序変更されたノンループクロージングエッジは、n−3 0ビット数 B 及びB+C−1 mod 2nによるノンループクロージング置換を備えており、ただし、Cは、n−3 0ビット数であり、また基本グラフにおいて、前記B+C−1の置換は、数字Aによる置換を有する前記ループクロージングの低い次数の変数ノード上の前記エッジと同じ制約ノードに接続されたエッジに関連づけられている、請求項36に記載のプロセッサ可読メディア。
- 複数の低い次数の変数ノードの累積チェインを生成することと;
ループを二回形成するために前記累積チェインを閉じることと、なお、一回は、低い次数の変数ノードを使用し、一回は、前記低い次数の変数ノードよりも高い次数の変数ノードを使用しており、前記のより高い次数の変数ノードは、ノンループクロージングエッジを備えている;
を達成するためにファンクションを実行するように構成されたプロセッシング回路、
を備えているプロセッサ。 - 前記複数の低い次数の変数ノードは、各エッジ上で同じ置換を有する、請求項38に記載のプロセッサ。
- 前記複数の低い次数の変数ノードは、複数のコア次数2の変数ノードを備えており、
前記のより高い次数の変数ノードは、コア次数3の変数ノードを備えており、
前記ループクロージングの低い次数の変数ノードは、ループクロージングのコア次数2の変数ノードを備えている、請求項38に記載のプロセッサ。 - 前記プロセッシング回路は、前記累積チェインの複数の順序変更された複製、前記ループクロージングの低い次数の変数ノードの複数の順序変更された複製、及び前記のループクロージングのより高い次数の変数ノードの複数の順序変更された複製、を備えているリフトされたグラフ、を使用するようにさらに構成されている、請求項38に記載のプロセッサ。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US89418307P | 2007-03-09 | 2007-03-09 | |
US60/894,183 | 2007-03-09 | ||
US12/044,962 US8261155B2 (en) | 2007-03-09 | 2008-03-08 | Methods and apparatus for encoding and decoding low density parity check (LDPC) codes |
US12/044,962 | 2008-03-08 | ||
PCT/US2008/056390 WO2008112625A1 (en) | 2007-03-09 | 2008-03-10 | Encoding and decoding of low density parity check (ldpc ) codes |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010521128A true JP2010521128A (ja) | 2010-06-17 |
JP5231459B2 JP5231459B2 (ja) | 2013-07-10 |
Family
ID=39742876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009553712A Expired - Fee Related JP5231459B2 (ja) | 2007-03-09 | 2008-03-10 | 低密度パリティ検査(ldpc)符号を符号化し復号するための方法及び装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8261155B2 (ja) |
EP (1) | EP2132878A1 (ja) |
JP (1) | JP5231459B2 (ja) |
KR (1) | KR101198536B1 (ja) |
CN (1) | CN101632230B (ja) |
TW (1) | TW200849834A (ja) |
WO (1) | WO2008112625A1 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117523B2 (en) * | 2007-05-23 | 2012-02-14 | California Institute Of Technology | Rate-compatible protograph LDPC code families with linear minimum distance |
KR100949519B1 (ko) * | 2007-12-18 | 2010-03-24 | 한국전자통신연구원 | 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법 |
ES2386449B1 (es) * | 2010-01-20 | 2013-08-23 | Marvell Hispania, S.L. (Sociedad Unipersonal) | Procedimiento y dispositivo de comunicación de datos a través de medios ruidosos mejorado. |
EP2395667B1 (en) * | 2009-02-06 | 2015-12-16 | Marvell Hispania S.L. | Quasi-cyclic ldpc coding |
ES2363846B1 (es) * | 2009-02-06 | 2012-06-06 | Marvell Hispania, S.L. (Sociedad Unipersonal) | Procedimiento y dispositivo de comunicación de datos a través de medios ruidosos. |
JP5440836B2 (ja) * | 2009-03-24 | 2014-03-12 | ソニー株式会社 | 受信装置及び方法、プログラム、並びに受信システム |
US8407555B2 (en) * | 2009-03-30 | 2013-03-26 | Broadcom Corporation | LDPC codes robust to non-stationary narrowband ingress noise |
TWI427936B (zh) * | 2009-05-29 | 2014-02-21 | Sony Corp | 接收設備,接收方法,程式,及接收系統 |
CN101902227B (zh) * | 2009-05-31 | 2012-11-28 | 中兴通讯股份有限公司 | 一种ldpc码的分层编码方法和装置 |
US9397699B2 (en) * | 2009-07-21 | 2016-07-19 | Ramot At Tel Aviv University Ltd. | Compact decoding of punctured codes |
US8516351B2 (en) * | 2009-07-21 | 2013-08-20 | Ramot At Tel Aviv University Ltd. | Compact decoding of punctured block codes |
US8375278B2 (en) * | 2009-07-21 | 2013-02-12 | Ramot At Tel Aviv University Ltd. | Compact decoding of punctured block codes |
US8516352B2 (en) * | 2009-07-21 | 2013-08-20 | Ramot At Tel Aviv University Ltd. | Compact decoding of punctured block codes |
FR2951339B1 (fr) * | 2009-10-09 | 2011-12-09 | Commissariat Energie Atomique | Procede de decodage de codes non binaires |
US8553686B2 (en) * | 2010-04-28 | 2013-10-08 | Broadcom Corporation | Performing actions on frame entries in response to receiving bulk instruction |
WO2012039798A2 (en) * | 2010-06-15 | 2012-03-29 | California Institute Of Technology | Rate-compatible protograph ldpc codes |
JP5269936B2 (ja) * | 2011-03-17 | 2013-08-21 | 株式会社東芝 | 符号化器及び記憶装置 |
US8839069B2 (en) * | 2011-04-08 | 2014-09-16 | Micron Technology, Inc. | Encoding and decoding techniques using low-density parity check codes |
US8832520B2 (en) | 2011-11-29 | 2014-09-09 | California Institute Of Technology | High order modulation protograph codes |
US9154261B2 (en) * | 2013-01-16 | 2015-10-06 | Broadcom Corporation | Low density parity check (LDPC) coding in communication systems |
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 |
CN105429645B (zh) * | 2014-09-17 | 2019-03-08 | 上海数字电视国家工程研究中心有限公司 | 针对低码率ldpc码的校验矩阵、ldpc码字及编码方法 |
KR101776273B1 (ko) | 2015-02-25 | 2017-09-07 | 삼성전자주식회사 | 송신 장치 및 그의 부가 패리티 생성 방법 |
US10411737B2 (en) | 2015-02-25 | 2019-09-10 | Samsung Electronics Co., Ltd. | Transmitter and method for generating additional parity thereof |
US10784901B2 (en) | 2015-11-12 | 2020-09-22 | Qualcomm Incorporated | Puncturing for structured low density parity check (LDPC) codes |
US10291354B2 (en) | 2016-06-14 | 2019-05-14 | Qualcomm Incorporated | High performance, flexible, and compact low-density parity-check (LDPC) code |
US10275243B2 (en) * | 2016-07-02 | 2019-04-30 | Intel Corporation | Interruptible and restartable matrix multiplication instructions, processors, methods, and systems |
WO2018029616A1 (en) * | 2016-08-12 | 2018-02-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Determining elements of base matrices for quasi-cyclic ldpc codes having variable code lengths |
CN107959501B (zh) * | 2016-10-17 | 2021-06-29 | 上海数字电视国家工程研究中心有限公司 | 一种ldpc编码器 |
US10312939B2 (en) | 2017-06-10 | 2019-06-04 | Qualcomm Incorporated | Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code |
US10514924B2 (en) | 2017-09-29 | 2019-12-24 | Intel Corporation | Apparatus and method for performing dual signed and unsigned multiplication of packed data elements |
US11256504B2 (en) | 2017-09-29 | 2022-02-22 | Intel Corporation | Apparatus and method for complex by complex conjugate multiplication |
US10534838B2 (en) * | 2017-09-29 | 2020-01-14 | Intel Corporation | Bit matrix multiplication |
US10802826B2 (en) | 2017-09-29 | 2020-10-13 | Intel Corporation | Apparatus and method for performing dual signed and unsigned multiplication of packed data elements |
WO2019095336A1 (en) | 2017-11-17 | 2019-05-23 | Zte Corporation | System and method for processing control information |
WO2019107912A1 (ko) * | 2017-11-29 | 2019-06-06 | 연세대학교 산학협력단 | 저지연 및 고신뢰도 특성을 가지는 ldpc 부호화 장치 및 방법 |
CN108270450B (zh) * | 2018-01-19 | 2021-05-14 | 南开大学 | 一种高码率下的规则准循环ldpc码的构造方法 |
CN110022187B (zh) * | 2019-03-06 | 2020-08-04 | 华中科技大学 | 通信调制系统中(n,n(n-1),n-1)-PGC代数解码方法及解码器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003115768A (ja) * | 2001-07-11 | 2003-04-18 | Internatl Business Mach Corp <Ibm> | データの低密度パリティ検査符号化方法および装置 |
WO2006016209A1 (en) * | 2004-08-05 | 2006-02-16 | Nokia Corporation | Irregularly structured, low denisty parity check codes |
JP2006519560A (ja) * | 2003-02-26 | 2006-08-24 | フラリオン テクノロジーズ,インコーポレーテッド | マルチレベルの置換を使用する低密度パリティチェック(ldpc)符号動作を行うための方法および装置 |
JP2007503755A (ja) * | 2003-08-26 | 2007-02-22 | サムスン エレクトロニクス カンパニー リミテッド | 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US31734A (en) * | 1861-03-19 | Btjikding for preserving | ||
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 |
JP4224777B2 (ja) * | 2003-05-13 | 2009-02-18 | ソニー株式会社 | 復号方法および復号装置、並びにプログラム |
US20050283707A1 (en) * | 2004-06-22 | 2005-12-22 | Eran Sharon | LDPC decoder for decoding a low-density parity check (LDPC) codewords |
US7617439B2 (en) * | 2005-01-10 | 2009-11-10 | Broadcom Corporation | Algebraic construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices |
GB2434946B (en) * | 2006-02-01 | 2008-07-23 | Toshiba Res Europ Ltd | Wireless communications apparatus |
-
2008
- 2008-03-08 US US12/044,962 patent/US8261155B2/en not_active Expired - Fee Related
- 2008-03-10 CN CN200880007735.XA patent/CN101632230B/zh not_active Expired - Fee Related
- 2008-03-10 TW TW097108419A patent/TW200849834A/zh unknown
- 2008-03-10 KR KR1020097021138A patent/KR101198536B1/ko not_active IP Right Cessation
- 2008-03-10 JP JP2009553712A patent/JP5231459B2/ja not_active Expired - Fee Related
- 2008-03-10 WO PCT/US2008/056390 patent/WO2008112625A1/en active Application Filing
- 2008-03-10 EP EP08743750A patent/EP2132878A1/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003115768A (ja) * | 2001-07-11 | 2003-04-18 | Internatl Business Mach Corp <Ibm> | データの低密度パリティ検査符号化方法および装置 |
JP2006519560A (ja) * | 2003-02-26 | 2006-08-24 | フラリオン テクノロジーズ,インコーポレーテッド | マルチレベルの置換を使用する低密度パリティチェック(ldpc)符号動作を行うための方法および装置 |
JP2007503755A (ja) * | 2003-08-26 | 2007-02-22 | サムスン エレクトロニクス カンパニー リミテッド | 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法 |
WO2006016209A1 (en) * | 2004-08-05 | 2006-02-16 | Nokia Corporation | Irregularly structured, low denisty parity check codes |
Non-Patent Citations (2)
Title |
---|
JPN6011067985; Sarah J. Johnson, et al.: 'A Family of Irregular LDPC Codes With Low Encoding Complexity' IEEE Communications Letters Vol.7, No.2, 200302, pp.79-81 * |
JPN6011067988; 'Irregular Structured LDPC Codes' IEEE 802.16 Broadband Wireless Access Working Group, IEEE C802.16e-04/264 , 20040817 * |
Also Published As
Publication number | Publication date |
---|---|
US20080222486A1 (en) | 2008-09-11 |
WO2008112625A1 (en) | 2008-09-18 |
CN101632230A (zh) | 2010-01-20 |
US8261155B2 (en) | 2012-09-04 |
KR101198536B1 (ko) | 2012-11-06 |
JP5231459B2 (ja) | 2013-07-10 |
EP2132878A1 (en) | 2009-12-16 |
TW200849834A (en) | 2008-12-16 |
KR20090130183A (ko) | 2009-12-18 |
CN101632230B (zh) | 2014-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5231459B2 (ja) | 低密度パリティ検査(ldpc)符号を符号化し復号するための方法及び装置 | |
US8751902B2 (en) | Methods and apparatus for encoding LDPC codes | |
JP7372369B2 (ja) | 構造的ldpcの符号化、復号化方法および装置 | |
CA2536259C (en) | Methods and apparatus for encoding ldpc codes | |
KR101789959B1 (ko) | 구조적 ldpc의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치 | |
JP5483875B2 (ja) | Ldpc符号のブロックおよびレートに独立な復号の方法および装置 | |
WO2011109084A1 (en) | Quasi-cyclic ldpc encoding and decoding for non-integer multiples of circulant size | |
JP4339886B2 (ja) | マルチレベルの置換を使用する低密度パリティチェック(ldpc)符号動作を行うための方法および装置 | |
JP5146322B2 (ja) | 復号装置、復号方法 | |
JP4832447B2 (ja) | チャネルコードを用いた復号化装置及び方法 | |
KR20130118162A (ko) | Ldpc 부호 복호기 및 복호 방법 | |
US8504894B1 (en) | Systematic encoding for non-full row rank, quasi-cyclic LDPC parity check matrices | |
JP5510447B2 (ja) | 復号装置および復号方法 | |
US11075650B1 (en) | Sub-matrix reduction for quasi-cyclic LDPC codes | |
JP2006100941A (ja) | 信号処理装置、低密度パリティ検査符号の符号化方法および復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120110 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120404 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120411 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120510 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120517 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120611 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120618 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120704 |
|
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: 20130219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130321 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160329 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |