[go: up one dir, main page]

JP4555334B2 - 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法 - Google Patents

可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法 Download PDF

Info

Publication number
JP4555334B2
JP4555334B2 JP2007506091A JP2007506091A JP4555334B2 JP 4555334 B2 JP4555334 B2 JP 4555334B2 JP 2007506091 A JP2007506091 A JP 2007506091A JP 2007506091 A JP2007506091 A JP 2007506091A JP 4555334 B2 JP4555334 B2 JP 4555334B2
Authority
JP
Japan
Prior art keywords
matrix
parity check
block
check matrix
permutation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2007506091A
Other languages
English (en)
Other versions
JP2007531455A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2007531455A publication Critical patent/JP2007531455A/ja
Application granted granted Critical
Publication of JP4555334B2 publication Critical patent/JP4555334B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は移動通信システムに関するもので、特に、可変ブロック長を有するブロック低密度パリティ検査(Low Density Parity Check:以下、“LDPC”といする)符号を符号化/復号化するための装置及び方法に関するものである。
移動通信システムが急速に発展するにしたがって無線環境で有線ネットワークの容量(capacity)に近接する大容量データを伝送することができる技術開発が要求されている。音声中心のサービスを超えて、映像、無線データのような多様な情報を処理して伝送可能な高速大容量通信システムが要求されることによって、適正なチャンネル符号化方式を使用してシステムの伝送効率を高めることがシステムの性能向上に必須的な要素になっている。しかしながら、この移動通信システムは、移動通信システムの特性上、データを伝送するときにチャンネルの状況により雑音(noise)と、干渉(interference)及びフェージング(fading)によって不回避に誤りが発生する。この誤りの発生は、情報データの大量損失をもたらす。
このような誤り発生による情報データの損失を防止するために、チャンネルの特性により多様な誤り制御方式が使用され、それによって移動通信システムの信頼度を向上させることができる。誤り制御方式の中で、最も普遍的に使用されている誤り制御方式は誤り訂正符号(error correction code)を使用する方式である。
図1を参照して、一般的な移動通信システムにおける送受信器の構造について説明する。
図1は、一般的な移動通信システムの送受信器の構造を概略的に示す。図1を参照すると、送信器100は、エンコーダ111と、変調器113と、無線周波数(Radio Frequency:以下、“RF”とする)処理器115とを含み、受信器150は、RF処理器151と、復調器(demodulator)153と、デコーダ155とを含む。
送信器100で、送信しようとする情報データ‘u’が発生すと、この情報データ‘u’はエンコーダ111に伝送される。エンコーダ111は、情報データ‘u’を予め定められた符号化方式で符号化して符号化シンボル‘c’を生成して変調器113に出力する。変調器113は、符号化シンボル‘c’を予め定められた変調方式で変調して変調シンボル‘s’を生成し、このシンボル‘s’をRF処理器115に出力する。RF処理器115は、変調器113から出力された変調シンボル‘s’をRF処理した後に、アンテナANTを通じてエアー(air)上に送信する。
このように、送信器100によってエアー上に送信された信号は受信器150にアンテナANTを通じて受信され、このアンテナを通じて受信された信号はRF処理器151に送られる。RF処理器151は、受信信号をRF処理した後に、そのRF処理された信号‘r’を復調器153に出力する。復調器153は、RF処理器151から出力された信号‘r’を入力して送信器100の変調器113で適用した変調方式に対応する復調方式で復調した後に、その復調した信号‘x’をデコーダ155に出力する。デコーダ155は、復調器153から出力された復調信号‘x’を入力して、エンコーダ111で適用した符号化方式に対応する復号方式で復号し、その復号された信号
Figure 0004555334
を最終的に復号された情報データとして出力する。
送信器100によって送信された情報データ‘u’を受信器150で誤りなしに復元するために性能が優れたエンコーダ及びデコーダを必要とする。特に、移動通信システムの特性上、無線チャンネル環境を考慮すべきであるため、無線チャンネル環境によって発生できる誤りはより深刻に考えられなければならない。
一番代表的な誤り訂正符号は、ターボ符号と低密度パリティ検査(LDPC)符号を含む。
ターボ符号は、従来の誤り訂正のために使用される畳み込み符号(convolutional code)に比べて高速データ伝送時に性能利得に優れると知られている。このターボ符号は、伝送チャンネルで発生する雑音による誤りを効果的に訂正してデータ伝送の信頼度を高めることができるという長所を有する。また、LDPC符号は、ファクターグラフ(factor graph)で積和(sum-product)アルゴリズムに基づいた反復復号(iterative decoding)アルゴリズムを使用して復号可能である。LDPC符号のデコーダは、積和アルゴリズムに基づいた反復復号アルゴリズムを使用する。そのため、LDPC符号のデコーダは、ターボ符号のデコーダに比べて、低い複雑度を有し、加えて並列処理デコーダで実現することが容易である。
一方、Shannonのチャンネル符号化理論は、チャンネルの容量を超えないデータレートに限って信頼性ある通信が可能であると明らかにしている。しかしながら、Shannonのチャンネル符号化理論では、最大チャンネルの容量限界までのデータレートを支援するチャンネル符号化/復号化方法に関する具体的な提示は全くない。一般に、非常に大きなブロックサイズを有するランダム(random)符号は、Shannonのチャンネル符号化理論のチャンネル容量限界に近接する性能を示すが、MAP(Maximum A Posteriori)又はML(Maximum Likelihood)復号方法を使用する場合に、その計算量において過度な負荷(load)が存在して実際の実現が不可能であった。
ターボ符号は、1993年Berrou、Glavieux、及びThitimajshimaによって提案され、Shannonのチャンネル符号化理論のチャンネル容量限界に近接する優れた性能を有する。ターボ符号の提案により、符号の反復復号とグラフ表現に関する研究が活発に進行され、この時点でGallagerによって1962年に提案されたLDPC符号が新しく注目を集めている。このターボ符号とLDPC符号のファクターグラフ上にはサイクルが存在するが、このサイクルが存在するLDPC符号のファクターグラフでの反復復号は準最適(suboptimal)であることはよく知られている事実である。また、LDPC符号が反復復号を通じて優れた性能を有するということは実験的に立証されたことである。現在、最高の性能を有すると知られているLDPC符号は、ブロックサイズ10を使用してビット誤り率(Bit Error Rate:以下、BER)10-5で、Shannonのチャンネル符号化理論のチャンネル容量の限界で但し0.04[dB]程度の差を有する性能を示す。また、q>2であるGF(Galois Field)、すなわちGF(q)で定義されたLDPC符号は、その復号化過程で複雑度が増加するが、2進(binary)符号に比べてはるかに性能が優れる。しかしながら、GF(q)で定義されたLDPC符号の反復復号アルゴリズムの成功的な復号に対する満足な理論的説明はまだなされていない。
Gallagerによって提案されたLDPC符号は、大部分のエレメントが0の値を有し、0の値を有するエレメント以外の極少数のエレメントが0でない(non-zero)値、例えば1の値を有するパリティ検査行列によって定義される。以下に、説明の便宜上、0でない値を1であると仮定して説明する。
一例として、(N,j,k)LDPC符号は、ブロック長さNを有する線形ブロック符号で、各列が1の値を有するj個のエレメントと、各行が1の値を有するk個のエレメントと、1の値を有するエレメントを除いたすべて0の値を有するエレメントとから構成された疎(sparse)構造のパリティ検査行列によって定義される。
上記に説明したように、パリティ検査行列内の各列のウェイトは‘j’に一定し、パリティ検査行列内の各行のウェイトは‘k’に一定のLDPC符号は、“均一(regular)LDPC符号”と呼ばれる。ここで、‘ウェイト(weight)’とは、パリティ検査行列を構成するエレメントの中で0でない値を有するエレメントの個数を示す。これとは異なって、パリティ検査行列内の各列のウェイトと各行のウェイトが一定でないLDPC符号は、“不均一(irregular)LDPC符号”と呼ばれる。一般に、均一LDPC符号の性能に比べて不均一LDPC符号の性能がさらに優れるということが知られている。しかしながら、不均一LDPC符号の場合にパリティ検査行列内の各列のウェイトと各行のウェイトが一定しないため、すなわち不均一であるため、パリティ検査行列内の各列のウェイトと各行のウェイトは、優れた性能を保証するために適切に調節すべきである。
図2を参照して、(N,j,k)LDPC符号の一例として(8,2,4)LDPC符号のパリティ検査行列について説明する。
図2は、一般的な(8,2,4)LDPC符号のパリティ検査行列を示す。図2を参照すると、(8,2,4)LDPC符号のパリティ検査行列Hは8個の列と4個の行で構成され、各列のウェイトは2に固定され、各行のウェイトは4に固定される。このように、パリティ検査行列内の各列のウェイトと各行のウェイトが均一であるため、図2に示す(8,2,4)LDPC符号は均一LDPC符号となる。
図2を参照して、一般的な(8,2,4)LDPC符号のパリティ検査行列について説明する。次に、図3を参照して、図2で説明した(8,2,4)LDPC符号のファクターグラフについて説明する。
図3は、図2の(8,2,4)LDPC符号のファクターグラフを示す。図3を参照すると、(8,2,4)LDPC符号のファクターグラフは、8個の変数ノード、すなわちx300、x302、x304、x306、x308、x310,x312,x314と、4個の検査ノード316,318,320,322とから構成される。(8,2,4)LDPC符号のパリティ検査行列のi番目の行とj番目の列の交差地点に1の値、すなわち0でない値を有するエレメントが存在する場合に、変数ノードxとj番目の検査ノードとの間にブランチ(branch)が生成される。
上記したように、LDPC符号のパリティ検査行列は非常に小さなウェイトを有するため、比較的長い長さを有するブロック符号でも反復復号を通じて復号の遂行が可能で、ブロック符号のブロック長を継続して増加させると、ターボ符号と共にShannonのチャンネルの容量限界に近接する形態の性能を示す。また、MacKayとNealは、フロー伝送方式を使用するLDPC符号の反復復号過程がターボ符号の反復復号過程にほとんど近接する性能を有することを既に証明した。
高性能のLDPC符号を生成するためには、次のような条件を満足させなければならない。
(1)LDPC符号のファクターグラフ上のサイクルを考慮すべきである。
“サイクル”とは、LDPC符号のファクターグラフで変数ノードと検査ノードに接続するエッジで形成されたループを意味する。サイクルの長さは、ループを構成するエッジの個数として定義される。長いサイクルは、LDPC符号のファクターグラフでループを構成する変数ノードと検査ノードに接続するエッジの個数が多いことを意味する。その反面、短いサイクルは、LDPC符号のファクターグラフでループを構成する変数ノードと検査ノードに接続するエッジの個数が少ないことを意味する。
LDPC符号のファクターグラフ上のサイクルがより長くなるほど、LDPC符号の性能効率が増加するが、その理由は次のようである。すなわち、長いサイクルがLDPC符号のファクターグラフで生成された場合に、LDPC符号のファクターグラフ上に短いサイクルが多く存在するときに発生する誤りフロア(error floor)のような性能劣化を防止することが可能になる。
(2)LDPC符号の効率的な符号化を考慮すべきである。
LDPC符号はLDPC符号の特性上、畳み込み符号やターボ符号に比べて符号化複雑度が高いため、リアルタイム符号化が難しくなる。LDPC符号の符号化複雑度を低下するために、反復累積(Repeat Accumulate:RA)符号が提案された。しかしながら、RA符号もLDPC符号の符号化複雑度を低下するのに限界を有する。したがって、LDPC符号の効率的な符号化を考慮しなければならない。
(3)LDPC符号のファクターグラフ上の次数分布を考慮すべきである。
一般に、均一LDPC符号より不均一LDPC符号が性能が優れ、その理由は、不均一LDPC符号のファクターグラフ上の次数が多様な次数を有するためである。ここで、“次数(degree)”とは、LDPC符号のファクターグラフで各ノード、すなわち変数ノードと検査ノードに接続されたエッジの個数を意味する。また、LDPC符号のファクターグラフ上の“次数分布”は、全体ノードの個数に対して特定次数を有するノードの個数の比を示す。特定の次数分布を有するLDPC符号の性能が優れるということは、Richardsonによって既に証明された。
次に、図4を参照して、ブロックLDPC符号のパリティ検査行列について説明する。
図4は、一般的なブロックLDPC符号のパリティ検査行列を概略的に示す。図4を説明するに先立ち、ブロックLDPC符号は効率的な符号化だけでなく効率的なパリティ検査行列の貯蔵及び性能改善をすべて考慮した新たなLDPC符号として、このブロックLDPC符号は均一LDPC符号の構造を一般化して拡張した概念のLDPC符号である。図4を参照すると、ブロックLDPC符号のパリティ検査行列は、全体パリティ検査行列を複数の部分ブロックに分割し、部分ブロック各々に順列行列(permutation matrix)を対応させる。図4において、‘P’はN×Nサイズを有する順列行列を示し、この順列行列Pの上付き添字(superscript)apqは0≦apq≦N-1或いはapq=∞である。
また、‘p’は該当順列行列がパリティ検査行列の複数の部分ブロックのp番目の行に位置することを示し、‘q’は該当順列行列がパリティ検査行列の複数の部分ブロックのq番目の列に位置することを示す。すなわち、Pa pqは、複数の部分ブロックで構成されたパリティ検査行列のp番目の行とq番目の列が交差する地点の部分ブロックに位置する順列行列を示す。すなわち、‘p’と‘q’は、パリティ検査行列で情報部分に該当する部分ブロックの行と列の個数を示す。
この順列行列について、図5を参照して説明する。
図5は、図4の順列行列Pを示す。図5に示すように、順列行列PはN×Nサイズを有する正方行列として、この順列行列Pは順列行列Pを構成するN個の列それぞれのウェイト1を有し、順列行列Pを構成するN個の行それぞれのウェイトも1を有する。ここで、順列行列PのサイズはN×Nで表現したが、この順列行列Pが正方行列であるので、そのサイズを説明の便宜上、Nでも示す。
図4で、順列行列Pの上付き添字apq=0であるときに、すなわち順列行列Pは単位行列(Identity matrix)INs×Nsを示し、順列行列Pの上付き添字apq=∞であるとき、すなわち順列行列Pは0(zero)行列を示す。ここで、INs×NsはサイズN×Nである単位行列を示す。
図4に示したブロックLDPC符号の全体パリティ検査行列で、全体行の個数がN×pで、全体列の個数がN×qである(但し、p≦q)ため、このブロックLDPC符号の全体パリティ検査行列が最大ランク(rank)を有する場合に部分ブロックのサイズに関係なく符号化率は下記の式のように示す。
Figure 0004555334
すべてのp、qに対してapq≠∞である場合に、部分ブロックの各々に対応する順列行列は0行列でないことを示し、部分ブロックの各々に対応する順列行列の各列のウェイトはp、各行のウェイトはqである均一LDPC符号となる。ここで、部分ブロックに対応する順列行列を“部分行列”と呼ばれる。
また、全体パリティ検査行列は、p-1個の従属(dependent)行が存在するため、符号化率は式(1)で計算した符号化率より大きい。ブロックLDPC符号は、全体パリティ検査行列を構成する部分行列それぞれの第1の行のウェイト位置が決定されると、残りのNs-1個の行のウェイト位置が決定される。したがって、全体パリティ検査行列の情報を格納するために不規則にウェイトを選択する場合に比べては必要とするメモリのサイズが1/Nsに減少する。
上記したように、“サイクル”は、パリティ検査行列のLDPC符号のファクターグラフで変数ノードと検査ノードに接続するエッジによって形成されたループを意味し、サイクルの長さはループを構成するエッジの個数として定義される。長いサイクルは、LDPC符号のファクターグラフでループを構成する変数ノードと検査ノードに接続するエッジの個数が多いことを意味する。LDPC符号のファクターグラフ上のサイクルが長くなるほど、LDPC符号の性能効率が増加する。
一方、LDPC符号のファクターグラフ上に長さが短いほど、LDPC符号は誤りフロアのような性能劣化が発生するので、その誤り訂正能力が低下する。すなわち、LDPC符号のファクターグラフ上に短いサイクルが多く存在する場合に、長さが短いサイクルに属している任意のノードの情報が少ない反復回数を遂行した後に更に戻る。反復回数が増加するほど、その情報が継続して戻ってくるため、情報のアップデートが円滑に遂行できず、それによって誤り訂正能力が低下する。
図6を参照して、ブロックLDPC符号のサイクル構造について説明する。
図6は、パリティ検査行列が4個の部分行列で構成されたブロックLDPC符号のサイクル構造を概略的に示す。図6を説明するに先立ち、ブロックLDPC符号は効率的な符号化だけでなく効率的なパリティ検査行列の貯蔵及び性能改善をすべて考慮した新たなLDPC符号として、均一LDPC符号の構造を一般化して拡張した概念のLDPC符号である。図6に示すブロックLDPC符号のパリティ検査行列は4個のブロックで構成され、斜線は1の値を有するエレメントが存在する位置を示し、斜線部分以外の部分はすべて0の値を有するエレメントが存在する位置を示す。また、‘P’は図5で説明したような順列行列と同一の順列行列を示す。
図6に示すブロックLDPC符号のサイクル構造を分析するために、部分行列Pのi番目の行に位置する1の値を有するエレメントは基準エレメントとして定義し、i番目の行に位置する1の値を有するエレメントは“0-点”と称する。ここで、“部分行列”は部分ブロックに対応する行列を示す。この0-点は、部分行列Pのi+a番目の列に位置する。
0-点と同一の行に位置した部分行列Pで1の値を有するエレメントは、“1-点”と称する。この0-点と同一の理由で、1-点は部分行列Pのi+b番目の列に位置する。
次に、1-点と同一の列に位置した部分行列Pで1の値を有するエレメントは“2-点”と称する。部分行列Pが単位行列Iの列各々を右にモジュロNに対してcだけ移動して獲得した行列であるため、2-点は部分行列Pの(i+b−c)番目の行に位置する。
なお、2-点と同一の行に位置した部分行列Pで1の値を有するエレメントは“3-点”と称する。この3-点は部分行列Pで(i+b−c+d)番目の列に位置する。
最終的に、3-点と同一の列に位置した部分行列Pで1の値を有するエレメントを“4-点”と称する。4-点は、部分行列Pで(i+b−c+d−a)番目の行に位置する。
図6に示すLDPC符号のサイクル構造で、4の長さであるサイクルが存在すると、0-点と4-点は相互に同一の位置に位置する。すなわち、0-点と4-点との間には、下記の式のような関係が成立する。
Figure 0004555334
この式(2)は、下記の式のように示すことができる。
Figure 0004555334
その結果、式(3)のような関係が成立するときに、長さが4であるサイクルが生成される。一般に、0-点と4p-点が最初に相互に同一になる場合に、i≒i+p(b-c+d-e)(modN)の関係が成立し、下記の式に示す関係を満たす。
Figure 0004555334
更に説明すると、与えられたa、b、c、dに対して式(4)を満たす正の整数の中で最小値を有する正の整数を‘p’とすると、図6に示すように、ブロックLDPC符号のサイクル構造では長さが4pであるサイクルが最小長さを有するサイクルとなる。
結果的に、上述したように、(a-b+c-d)≠0に対して、gcd(N,a-b+c-d)=1が成立すると、p=Nとなる。ここで、gcd(N,a-b+c-d)は整数Nとa-b+c-dの“最大公約数”を計算するための関数である。したがって、長さが4Nであるサイクルは最小長さを有するサイクルとなる。
このブロックLDPC符号の符号化方式としてRichardson-Urbanke方式が使用される。Richardson-Urbanke方式は符号化方式として使用されるため、パリティ検査行列の形態は、完全下三角行列形態に類似した形態を有するほど符号化の複雑度を最小化させることができる。
図7を参照して、完全下三角行列の形態と類似した形態を有するパリティ検査行列について説明する。
図7は、完全下三角行列形態に類似した形態を有するパリティ検査行列を示す。図7に示すパリティ検査行列は、完全下三角行列形態のパリティ検査行列に比べてパリティ部分の形態が完全下三角行列の形態と異なる。図7で、情報部分の順列行列Pの上付き添字apqは上記したように0≦apq≦N-1或いはapq=∞である。情報部分の順列行列Pの上付き添字apq=0であるときに、すなわち順列行列Pは単位行列INs×Nsを示し、順列行列Pの上付き添字apq=∞であるとき、すなわち順列行列Pは0(zero)行列を示す。図7で、‘p’と‘q’はパリティ検査行列で情報部分に対応する部分ブロックの行と列の個数をそれぞれ示す。また、パリティ部分の順列行列Pの上付き添字ap,x,yは順列行列Pの指数を示し、但し、説明の便宜上、情報部分とパリティ部分との区分のために異なるように設定しただけである。すなわち、図7で、Pa 1とPa pも順列行列で、上付き添字a乃至aはパリティ部分の大角部分に位置する部分行列に順次的にインデックスを与える。また、PとPも順列行列で、説明の便宜上、情報部分とパリティ部分との区分のために任意のインデックスを与える。図7に示すように、パリティ検査行列を有するブロックLDPC符号のブロックサイズをNであると仮定すれば、ブロックLDPC符号の符号化複雑度はブロックサイズNに対して線形的に増加する(0(N))。
図7のパリティ検査行列を有するLDPC符号の一番大きな問題点は、部分ブロックの長さがNであるときに、ブロックLDPC符号のファクターグラフ上に常に次数が1であるN個の検査ノードが生成されるということである。ここで、次数が1である検査ノードは、反復復号に基づいた性能改善に影響を与えることができない。したがって、Richardson-Urbanke方式に基づいた標準不均一LDPC符号は、次数が1である検査ノードを含んでいない。したがって、次数が1である検査ノードを含まずに効率的な符号化が可能なようにパリティ検査行列を設計するために、図7のようなパリティ検査行列を基本的なパリティ検査行列として仮定する。図7のように部分行列で構成されたパリティ検査行列で、部分行列の選択はブロックLDPC符号の性能改善において非常に重要な要素で、それによって部分行列の適切な選択基準を探すことも非常に重要な要素となる。
すると、上記したブロックLDPC符号の構成に基づいてブロックLDPC符号のパリティ検査行列の設計方法について説明する。
ブロックLDPC符号のパリティ検査行列の設計方法とブロックLDPC符号の符号化方法を容易にするために、図7に示すパリティ検査行列は図8に示すように6個の部分行列で構成されると仮定する。
図8は、6個の部分ブロックに分けられた図7のパリティ検査行列を示す。図8を参照すると、図7に示したブロックLDPC符号のパリティ検査行列を情報部分‘s’と、第1のパリティ部分pと、第2のパリティ部分pに分割する。ここで、情報部分‘s’は、図7で説明した情報部分のようにブロックLDPC符号を符号化する過程で実際の情報語にマッピングされるパリティ検査行列の部分を示し、但し、説明の便宜上、表記を異なるようにするだけである。また、第1のパリティ部分pと第2のパリティ部分pは、図7で説明したパリティ部分のように、ブロックLDPC符号を符号化する過程で実際パリティにマッピングされるパリティ検査行列の部分を示し、パリティ部分を2個の部分に分割される。
情報部分‘s’の部分ブロックA802と部分ブロックC804に対応する部分行列がAとCであり、第1のパリティ部分pの部分ブロックB806と部分ブロックD808に対応する部分行列がBとDであり、第2のパリティ部分pの部分ブロックT810と部分ブロックE812に対応する部分行列がTとEである。図8には、パリティ検査行列が7個の部分ブロックに分割されたように示しているが、‘0’は別途の部分ブロックでなく、部分ブロックT810に対応する部分行列Tが完全下三角形態を有するため、対角線を中心に0行列が配置された領域を0で示すものである。情報部分‘s’と、第1のパリティ部分pと、第2のパリティ部分pの部分行列を使用して符号化方法を簡略にする過程は、下記の図10を参照して後述する。
下記に、図8の部分行列を図9を参照して説明する。
図9は、図7のパリティ検査行列の部分行列を図8の部分行列Bの転置行列と、部分行列Eと、部分行列Tと、部分行列Tの逆行列で示す。
図9を参照すると、部分行列Bは部分行列Bの転置行列(transpose matrix)を示し、部分行列T-1は部分行列Tの逆行列を示す。また、P(k1〜k2)
は式(5)で示す。
Figure 0004555334
また、図9に示す順列行列は、例えば、Pa 1は単位行列である。上述したように、順列行列の上付き添字、すなわちaが0であると、Pa 1は単位行列である。また、順列行列の上付き添字、すなわちaが予め定められた値だけ増加する場合に、順列行列が予め定められた値だけ循環シフトされ、結果的に順列行列Pa 1は単位行列となる。
図10を参照して、ブロックLDPC符号のパリティ検査行列を設計する過程について説明する。
図10は、一般的なブロックLDPC符号のパリティ検査行列の生成手順を示すフローチャートである。図10を説明するに先立ち、ブロックLDPC符号を生成するためには、生成しようとするブロックLDPC符号の符号語サイズと符号化率を決定し、決定された符号語サイズと符号化率に対応してパリティ検査行列のサイズを決定しなければならない。ブロックLDPC符号の符号語サイズはNで示し、符号化率はRで示すときに、パリティ検査行列のサイズはN(1-R)×Nになる。また、図10に示すブロックLDPC符号のパリティ検査行列の生成過程は1回の遂行のみで可能である。その理由は、初期に通信システムのシステム状況に合うように生成され、以後には生成されたパリティ検査行列を使用すれば良いためである。
図10を参照すると、制御器は、ステップ1011で、サイズN(1-R)×Nのパリティ検査行列を横軸でp個のブロックに分割し、縦軸でq個のブロックに分割して総(p×q)個のブロックに分割した後に、ステップ1013に進行する。ブロックのそれぞれのサイズはN×Nであるため、パリティ検査行列はN×p個の行とN×q個の列で構成される。ステップ1013で、制御器は、p×q個のブロックに分割したパリティ検査行列を情報部分sとパリティ部分、すなわち第1のパリティ部分pと第2のパリティ部分pに分類し、ステップ1015及び1021に進行する。
ステップ1015で、制御器は、情報部分‘s’をブロックLDPC符号の優秀な性能を保証する次数分布により0でないブロック、すなわち0行列でないブロックと0ブロック、すなわち0行列であるブロックに区別し、ステップ1017に進行する。ここで、ブロックLDPC符号の優秀な性能を保証する次数分布は上記に説明したようであるため、ここではその詳細な説明を省略する。ステップ1017で、制御器は、ブロックLDPC符号の優秀な性能を保証する次数分布に合うように決定されたブロックの中で、低い次数を有するブロックの中で0行列でない部分に上記したように、ブロックサイクルの最小サイクル長さが最大になるように順列行列Pa pqを決定し、ステップ1019に進行する。この順列行列Pa pqは、情報部分‘s’だけでなく第1のパリティ部分pと第2のパリティ部分pのブロックサイクルも考慮して決定しなければならない。
ステップ1019で、制御器は、ブロックLDPC符号の優れた性能を保証する次数分布に合うように決定されたブロックの中で高い次数を有するブロックのうち、0行列でない部分にランダムに順列行列を決定して終了する。ここで、高い次数を有するブロックのうち、0行列でない部分に適用する順列行列Pa pqを決定するときにも、ブロックサイクルの最小サイクルのサイズが最大になるように順列行列Pa pqを決定すべく、情報部分‘s’だけでなく第1のパリティ部分pと第2のパリティ部分pのブロックサイクルも考慮して決定すべきである。上記のように、パリティ検査行列の情報部分‘s’に順列行列Pa pqを配列した例を図7に示している。
ステップ1021で、制御器は、パリティ部分、すなわち第1のパリティ部分pと第2のパリティ部分pを4個の部分行列B,T,D,Eに分割した後に、ステップ1023に進行する。ステップ1023で、制御器は、部分行列Bを構成する部分ブロックの中で2個の部分ブロックに0でない順列行列PとPa 1を入力し、ステップ1025に進行する。ここで、部分行列Bを構成する部分ブロックの中で2個の部分ブロックに0でない順列行列PとPa 1を入力する構造は、図9を参照して説明する。
ステップ1025で、制御器は、部分行列Tの大角部分ブロックには単位行列Iを入力し、部分行列Tの大角成分の下の(i,i+1)番目の部分ブロックには任意の順列行列Pa 2,Pa 3,…,Pa m-1を入力し、ステップ1027に進行する。ここで、部分行列Tの大角部分ブロックには単位行列Iを入力し、部分行列Tの大角成分の下の(i,i+1)番目の部分ブロックには任意の順列行列Pa 2,Pa 3,…,Pa m-1を入力する構造は、既に図9に示したようである。
ステップ1027で、制御器は、部分行列Dに順列行列Pを入力し、ステップ1029に進行する。ステップ1029で、制御器は、部分行列Eで最後の部分ブロックのみにPa pqを入力して終了する。ここで、部分行列Eを構成する部分ブロックのうち、最後の部分ブロックに2個のPa pqを入力する構造は、既に図9を参照して説明した。
上記したように、LDPC符号は、ターボ符号と一緒に高速データ伝送時に性能利得が優れると知られており、伝送チャンネルで発生する雑音による誤りを効果的に訂正してデータ伝送の信頼度を高めるという長所を有する。しかしながら、LDPC符号は、符号化率の面で短所を有する。すなわち、LDPC符号は、比較的高い符号化率を有するため、符号化率の面から限界を有するという短所があった。現在、提案されているLDPC符号の場合に、大部分のLDPC符号が1/2の符号化率を有し、一部のみのLDPC符号は1/3の符号化率を有する。このように、符号化率における制限は、結果的に高速の大容量データ伝送に致命的な影響を及ぼす。もちろん、比較的低い符号化率を実現するために密度進化(density evolution)方式を用いて最適の性能を示す次数分布を求めるが、最適の性能を示す次数分布を有するLDPC符号を実現することはファクターグラフ上のサイクル構造とハードウェアの実現などの多様な制約条件によって困難さがあった。
したがって、本発明の目的は、移動通信システムで可変ブロック長を有するLDPC符号を符号化/復号化する装置及び方法を提供することにある。
また、本発明の目的は、移動通信システムで符号化の複雑度が最小化され、可変ブロック長を有するLDPC符号を符号化/復号化する装置及び方法を提供することにある。
上記のような目的を達成するために、本発明は、可変長を有するブロック低密度パリティ検査(LDPC)符号を符号化する方法であって、情報語を受信する段階と、前記情報語をブロックLDPC符号として生成するときに、適用される長さに対応して第1のパリティ検査行列と第2のパリティ検査行列のうちのいずれか一つに基づいて前記ブロックLDPC符号に符号化する段階と、を有することを特徴とする。
また、本発明は、可変長を有するブロック低密度パリティ検査(LDPC)符号を符号化する装置で、情報語をブロックLDPC符号として生成するときに、適用される長さに対応して第1のパリティ検査行列と第2のパリティ検査行列のうちの一つに基づいて前記情報語を前記ブロックLDPC符号に符号化するエンコーダと、前記ブロックLDPC符号を変調方式を用いて変調シンボルに変調する変調器と、を含むことを特徴とする。
本発明は、可変長を有するブロック低密度パリティ検査(LDPC)符号を復号する方法であって、信号を受信する段階と、復号するブロックLDPC符号の長さにより第1のパリティ検査行列と第2のパリティ検査行列のうちの一つを選択し、前記選択されたパリティ検査行列により前記受信信号を復号して前記ブロックLDPC符号を検出する段階と、を有することを特徴とする。
さらに、本発明は、可変長を有するブロック低密度パリティ検査(LDPC)符号を復号する装置であって、信号を受信する受信器と、復号するブロックLDPC符号の長さにより第1のパリティ検査行列と第2のパリティ検査行列のうちの一つを選択し、前記選択されたパリティ検査行列により前記受信信号を復号して前記ブロックLDPC符号を検出するデコーダと、を含むことを特徴とする。
本発明は、移動通信システムで最小のサイクル長さが最大化された可変長ブロックLDPC符号を提案することによって、誤り訂正能力を最大化してシステム性能を向上させる効果を有する。また、本発明は、効率的なパリティ検査行列を生成することによって、可変長ブロックLDPC符号の符号化複雑度を最小化する効果を有する。なお、可変長ブロックLDPC符号の符号化の複雑度をブロック長に比例することで、効率的な符号化を可能にする利点を有する。特に、本発明は、多様な符号化率に適用可能で、多様なブロック長を有するブロックLDPC符号を生成することで、ハードウェアの複雑度を最小化する利点も有する。
以下、本発明の望ましい実施形態を添付の図面を参照して詳細に説明する。
下記に、本発明に関連した公知の構成又は機能に関する具体的な説明が本発明の要旨を不明にすると判断された場合に、その詳細な説明を省略する。
本発明は、可変ブロック長を有するブロック低密度パリティ検査(Low Density Parity Check:以下、“LDPC”とする)符号(以下、“可変長ブロックLDPC符号”と称する)を符号化及び復号化する装置及び方法を提案する。すなわち、本発明は、ブロックLDPC符号のファクターグラフ(factor graph)上の最小サイクルの長さを最大にし、ブロックLDPC符号の符号化のための複雑度を最小にし、ブロックLDPC符号のファクターグラフ上の次数分布が最適の1の値を持ちつつ、多様なブロック長を支援する可変長ブロックLDPC符号の符号化及び復号化装置及び方法を提案する。本発明で別途に図示してはいないが、本発明による可変長ブロックLDPC符号の符号化及び復号化装置は、図1を参照して説明した送受信機の構成に適用可能である。
次世代移動通信システムは、パケットサービス通信システムの形態で発展されており、パケットサービス通信システムはバーストなパケットデータを複数の移動局に伝送するシステムとして、大容量のデータ伝送に適合するように設計されてきた。特に、データ伝送量を増加させるために、HARQ(Hybrid Automatic Retransmission Request)方式とAMC(Adaptive Modulation and Coding)方式が提案された。これらHARQ方式及びAMC方式は可変符号化率を支援するため、多様なブロック長を有するブロックLDPC符号を必要とする。
可変長ブロックLDPC符号の設計は、一般的なLDPC符号を設計する場合のように、パリティ検査行列の設計を通じて実現される。しかしながら、移動通信システムで、一つのコーデック(CODEC)で可変長ブロックLDPC符号を提供するために、すなわち多様なブロック長を有するブロックLDPC符号を提供するために、パリティ検査行列は、異なるブロック長のブロックLDPC符号を示すことができるパリティ検査行列を含むべきである。次に、可変ブロック長を提供するブロックLDPC符号のパリティ検査行列について説明する。
まず、設計しようとする符号化率に対してシステムで要求する最小長さを有するブロックLDPC符号を設計する。パリティ検査行列で、部分行列のサイズであるNが増加すると、ブロック長の長いブロックLDPC符号が生成される。ここで、“部分行列”は、上述したように、パリティ検査行列を複数の部分ブロックに分割した場合に、その部分ブロックの各々に対応する順列行列を示す。部分行列のサイズであるNを増加させると、サイクル構造が変更されるため、短い長さのブロックLDPC符号を設計し、その次に長い長さのブロックLDPC符号を設計する形態に拡張する場合を仮定し、パリティ検査行列の順列行列の指数をサイクルの長さが最大になるように選択する。ここで、部分行列のサイズがNであることは、部分行列がN×Nのサイズを有する正方行列であることを意味し、説明の便宜上、部分行列のサイズをNで示す。
一例として、基本ブロックLDPC符号の部分ブロックサイズがN=2であると仮定すれば、基本ブロックLDPC符号の2倍の長さであるN=4のブロックLDPC符号に拡張しようとするときに、順列行列の指数が0である部分行列はN=2からN=4にその長さが増加すると、0又は2の値が選択可能である。2個の値の中で、サイクルが最大化可能な値を選択しなければならない。同様に、N=2であるブロックLDPC符号で指数が1である部分行列はN=2からN=4にその長さが増加すると、1又は3の値を選択することができる。
上記したように、基本ブロックLDPC符号を用いてNの値を増加させつつ、ブロックLDPC符号を設計することによって、各ブロック長別に最大性能を有するブロックLDPC符号の設計が可能である。また、多様な長さを有するブロックLDPC符号の中で、任意の1個のブロックLDPC符号は基本ブロックLDPC符号として定義できるので、メモリの効率性の面でも利得が有するようになる。ここで、可変長ブロックLDPC符号のパリティ検査行列を生成する方法について説明する。本発明では、可変長ブロックLDPC符号のパリティ検査行列を符号化率により4つの形態で提案され、本発明で考慮する符号化率は1/2、2/3、3/4、5/6を含む。
この符号化率1/2、2/3、3/4、5/6による可変長ブロックLDPC符号のパリティ検査行列に対して説明する前に、図15を参照して本発明で設計されたパリティ検査行列を使用して可変長ブロックLDPC符号を符号化する過程を説明する。
図15は、本発明の第1乃至第4の実施形態による可変長ブロックLDPC符号の符号化手順を示すフローチャートである。図15を説明するに先立ち、可変長ブロックLDPC符号のパリティ検査行列は、図8を参照して説明したように、6個の部分行列で構成されると仮定する。
図15を参照すると、制御器(図示せず)は、ステップ1511で、可変長ブロックLDPC符号に符号化するための情報語ベクトル‘s’を受信し、ステップ1513及び1515に進行する。ここで、ブロックLDPC符号に符号化するために受信された情報語ベクトル‘s’の長さはkであると仮定する。ステップ1513で、制御器は、受信された情報語ベクトル‘s’とパリティ検査行列の部分行列Aを行列乗算(As)した後に、ステップ1517に進行する。ここで、部分行列Aに存在する1の値を有するエレメントの個数は0の値を有するエレメントの個数より非常に少ないため、情報語ベクトルsとパリティ検査行列の部分行列Aの行列乗算Asは、比較的少ない回数の積和(sum-product)演算だけでも可能になる。また、部分行列Aで、1の値を有するエレメントの位置は0でないブロックの位置とそのブロックの順列行列の指数乗として示すことができるため、任意のパリティ検査行列に比べて非常に簡単な演算だけでも行列乗算が遂行可能である。また、ステップ1515で、制御器は、パリティ検査行列の部分行列Cと情報語ベクトル‘s’の行列乗算Csを遂行し、ステップ1519に進行する。
ステップ1517で、制御器は、情報語ベクトルsとパリティ検査行列の部分行列Aの行列乗算の結果Asと、行列ET-1との行列乗算ET-1sを遂行し、ステップ1519に進行する。ここで、上記したように、行列ET-1で1の値を有するエレメントの個数は非常に少ないため、ブロックの順列行列の指数が与えられると、行列乗算が容易に遂行可能である。ステップ1519で、制御器は、ET-1sとCsを加算して第1のパリティベクトル 1を計算し( 1=ET-1s+Cs)、ステップ1521に進行する。ここで、加算演算は排他的論理和(XOR)演算で、同一の値を有するビット間の演算は0となり、異なる値を有するビット間の演算は1となる。すなわち、スタップ1519までの過程は、第1のパリティベクトル 1を計算するための過程である。
ステップ1521で、制御器は、パリティ検査行列の部分行列Bと第1のパリティベクトル 1を乗算し(B 1)、この乗算の結果とAsとを加算した(As+B 1)後に、ステップ1523に進行する。ここで、情報語ベクトルsと第1のパリティベクトル 1が与えられると、第2のパリティベクトル 2を求めるためにパリティ検査行列の部分行列Tの逆行列T-1を乗算しなければならない。したがって、ステップ1523で、制御器は、第2のパリティベクトル 2を求めるために、ステップ1521の計算結果(As+B 1)と部分行列Tの逆行列T-1を乗算し( 2=T-1(As+B 1))、ステップ1525に進行する。上記したように、符号化しようとするブロックLDPC符号の情報語ベクトルsが与えられると、第1のパリティベクトル 1と、第2のパリティベクトル 2を求めることができ、その結果、すべての符号語ベクトルが得られる。ステップ1525で、制御器は、情報語ベクトルs、第1のパリティベクトル 1、及び第2のパリティベクトル 2を用いて符号語ベクトル‘c’を生成して伝送する。
次に、図16を参照して、本発明の第1乃至第4の実施形態による可変長ブロックLDPC符号の符号化のための装置の内部構造について説明する。
図16は、本発明の実施形態による可変長ブロックLDPC符号の符号化のための装置の内部構造を示すブロック構成図である。図16を参照すると、可変長ブロックLDPC符号の符号化装置は、行列A乗算器1611と、行列C乗算器1613と、行列ET-1乗算器1615と、加算器1617と、行列B乗算器1619と、加算器1621と、行列T-1乗算器1623と、スイッチ1625,1627,1629とを含む。
入力信号、すなわち可変長ブロックLDPC符号に符号化するための長さkの情報語ベクトル‘s’が受信されると、この受信された長さkの情報語ベクトルsはスイッチ1625と、行列A乗算器1611と、行列C乗算器1613に入力される。行列A乗算器1611は、情報語ベクトルsと全体パリティ検査行列の部分行列Aを乗算し、その乗算結果を行列ET-1乗算器1615と加算器1621に出力する。行列C乗算器1613は、情報語ベクトルsと全体パリティ検査行列の部分行列Cを乗算し、その乗算結果を加算器1617に出力する。行列ET-1乗算器1615は、行列A乗算器1611から出力された信号と全体パリティ検査行列の部分行列ET-1を乗算し、その乗算結果を加算器1617に出力する。
加算器1617は、行列ET-1乗算器1615から出力された信号と行列C乗算器1613から出力された信号とを加算し、その加算結果を行列B乗算器1619及びスイッチ1627に出力する。ここで、加算器1617は、ビット別に排他的論理和演算を遂行する。例えば、長さが3であるベクトルx=(x,x,x)と長さが3であるベクトルy=(y,y,y)が加算器1617に入力される場合に、加算器1617は長さ3のベクトルx=(x,x,x)と長さ3のベクトルy=(y,y,y)を排他的論理和演算して長さ3のベクトルZを式(6)に従い出力する。
Figure 0004555334
ここで、丸付き+演算は、同一の値を有するビット間の演算は0となり、異なる値を有するビット間の演算は1となる排他的論理和演算を示す。加算器1617から出力される信号は、第1のパリティベクトル 1となる。
行列B乗算器1619は、加算器1617から出力された信号、すなわち第1のパリティベクトル 1と全体パリティ検査行列の部分行列Bを乗算し、その結果を加算器1621に出力する。加算器1621は、行列B乗算器1619から出力された信号と行列A乗算器1611から出力された信号とを加算した後に、行列T-1乗算器1623に出力する。加算器1621は、加算器1617のように、行列B乗算器1619から出力された信号と行列A乗算器1611から出力された信号を排他的論理和演算し、その結果を行列T-1乗算器1623に出力する。
行列T-1乗算器1623は、加算器1621から出力された信号と全体パリティ検査行列の行列T-1を乗算し、その乗算結果をスイッチ1629に出力する。行列T-1乗算器1623の出力は、第2のパリティベクトル 2となる。スイッチ1625,1627,1629の各々は、その伝送時点のみでスイッチングオン(switching on)されて該当信号を伝送する。すなわち、スイッチ1625は情報語ベクトルsの伝送時点でスイッチングオンされ、スイッチ1627は第1のパリティベクトル 1の伝送時点でスイッチングオンされ、スイッチ1629は第2のパリティベクトル 2の伝送時点でスイッチングオンされる。
また、下記に図17を参照して説明するはずであるが、本発明の実施形態では可変長ブロックLDPC符号を生成することが可能であるため、図16の可変長ブロックLDPC符号の符号化装置で使用される行列の各々は、この可変長ブロックLDPC符号のパリティ検査行列が変更される度に変更されることはもちろんである。したがって、図16に別途に図示しないが、制御器が、可変長ブロックLDPC符号のパリティ検査行列が変更されるにしたがって、可変長ブロックLDPC符号の符号化装置で使用される行列を変更する。
上記では、効率的な符号化を考慮した可変長ブロックLDPC符号の生成方法について説明した。上述したように、可変長ブロックLDPC符号は、その構造的な特性によって、パリティ検査行列に関連した情報を格納するためのメモリの効率が優れるだけでなく、パリティ検査行列から部分行列を適切に選択することによって効率的な符号化が可能になる。しかしながら、ブロック単位でパリティ検査行列を生成することによって不規則性(randomness)が減少し、この不規則性の減少はブロックLDPC符号の性能の劣化をもたらす。すなわち、上記したように、不均一ブロックLDPC符号が均一ブロックLDPC符号に比べて性能が優れるため、ブロックLDPC符号を設計する過程で、全体パリティ検査行列から部分行列を選択することは非常に重要である。
図11を参照して、符号化率が1/2である場合の可変長ブロックLDPC符号の具体的な生成方法について説明する。
図11は、本発明の第1の実施形態による可変長ブロックLDPC符号のパリティ検査行列を示す。図11を説明するに先立ち、本発明の第1の実施形態は、符号化率が1/2である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図11を参照すると、部分行列のサイズNが4,8,12,16,20,24,28,32,36,40であると仮定すれば、図11に示すパリティ検査行列を用いて長さが96,192,288,384,480,576,672,768,864,960であるブロックLDPC符号を生成することができる。図11に示す部分ブロック、すなわち部分行列の各々に表記された値は、対応する順列行列の指数値を示す。ここで、可変長ブロックLDPC符号のパリティ検査行列は複数の部分ブロックで構成され、部分ブロックにそれぞれ対応する部分行列が順列行列を構成する。一例として、可変長ブロックLDPC符号のパリティ検査行列がp×qの部分ブロックで構成される場合、すなわち可変長ブロックLDPC符号のパリティ検査行列の部分ブロックの行の個数が‘p’で、可変長ブロックLDPC符号のパリティ検査行列の部分ブロックの列の個数が‘q’である場合に、この可変長ブロックLDPC符号のパリティ検査行列を構成する順列行列はPa pqで示し、順列行列Pの上付き添字apqは0≦apq≦N-1又はapq=∞である。すなわち、順列行列Pa pqは複数の部分ブロックで構成された可変長ブロックLDPC符号のパリティ検査行列のp番目の行とq番目の列が交差する部分ブロックに位置する順列行列を示す。したがって、図11に示す順列行列の指数値はapqであり、順列行列の指数値に部分行列のサイズに該当するN値をモジュロ演算すると、N値を有する可変長ブロックLDPC符号のパリティ検査行列の順列行列の指数値を求めることが可能である。この順列行列の指数がN値でモジュロ演算された結果値が0であると、該当順列行列は単位行列となる。
本発明のより具体的な説明のために、次のようなパラメータを定義する。
図11に示す可変長ブロックLDPC符号のパリティ検査行列は“母行列(mother matrix)”と呼ばれ、母行列を構成する部分行列、すなわち順列行列の中で0でない順列行列の個数はLとして定義し、母行列を構成する順列行列の中で0でないL個の順列行列の指数がa,a,…,aで、この母行列を構成する順列行列のサイズがNであると仮定する。母行列を構成する順列行列の中で0でない順列行列の個数がLであるため、第1の順列行列の指数はaとなり、第2の順列行列の指数はaとなり、このような方法で最後の順列行列の指数はaとなる。
母行列と異なって、新しく生成されるパリティ検査行列は“子行列(child matrix)”と呼ばれ、子行列を構成する部分行列、すなわち順列行列の中で0でない順列行列の個数はLとして定義し、子行列を構成する順列行列のサイズがN’として定義し、子行列を構成する順列行列の指数はa’,a’,…,a’で示す。ここで、子行列を構成する順列行列の中で0でない順列行列の個数がLであるため、第1の順列行列の指数はa’となり、第2の順列行列の指数はa’となり、このような方法で最後の順列行列の指数はa’となる。
下記の式を用いて、一つの母行列から生成しようとする子行列を構成する順列行列のサイズN’を選択して可変ブロック長を有する子行列を生成することが可能である。
Figure 0004555334
次に、図12を参照して、符号化率が2/3である場合の可変長ブロックLDPC符号の具体的な生成方法について説明する。
図12は、本発明の第2の実施形態による可変長ブロックLDPC符号のパリティ検査行列を示す。図12を説明するに先立ち、本発明の第2の実施形態は、符号化率が2/3である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図12を参照すると、部分行列のサイズであるNの値が8,16であると仮定する場合に、図12に示すパリティ検査行列を用いる長さ288,576を有するブロックLDPC符号を生成することが可能である。図12に示す部分ブロック、すなわち部分行列の各々に表記された値は、対応する順列行列の指数値を示す。したがって、順列行列の指数値に部分行列のサイズに該当するN値をモジュロ演算すると、N値を有するブロックLDPC符号のパリティ検査行列の順列行列の指数値を求めることができる。ここで、順列行列の指数がN値でモジュロ演算を遂行した結果値が0である場合に、対応する順列行列は単位行列となる。
次に、図13を参照して、符号化率が3/4である場合の可変長ブロックLDPC符号の具体的な生成方法について説明する。
図13は、本発明の第3の実施形態による可変長ブロックLDPC符号のパリティ検査行列を示す。図13を説明するに先立ち、本発明の第3の実施形態は、符号化率が3/4である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図13を参照すると、部分行列のサイズであるNの値が3,6,9,12,15,18であると仮定する場合に、図13に示すパリティ検査行列を用いて96,192,288,384,480,576の可変長を有するブロックLDPC符号が生成可能である。図13に示す部分ブロック、すなわち部分行列の各々に表記された値は順列行列の指数値を示す。したがって、順列行列の指数値に部分行列のサイズに該当するNの値をモジュロ演算すると、Nの値を有するブロックLDPC符号のパリティ検査行列の順列行列指数値を求めることができる。この順列行列の指数がNの値でモジュロ演算を遂行した結果値が0である場合に、対応する順列行列は単位行列となる。
次に、図14を参照して符号化率が5/6である場合の可変長ブロックLDPC符号の具体的な生成方法について説明する。
図14は、本発明の第4の実施形態による可変長ブロックLDPC符号のパリティ検査行列を示す。図14を説明するに先立ち、本発明の第4の実施形態は符号化率が5/6である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図14を参照すると、部分行列のサイズであるNの値が8,16であると仮定する場合に、図14に示すパリティ検査行列を用いて長さ288,576であるブロックLDPC符号が生成可能である。図14に示す部分ブロック、すなわち部分行列の各々に表記された値は順列行列の指数値を示す。したがって、順列行列の指数値に部分行列のサイズに該当するNの値をモジュロ演算すると、Nの値を有するブロックLDPC符号のパリティ検査行列の順列行列の指数値を求めることができる。この順列行列の指数がN値でモジュロ演算を遂行した結果値が0である場合に、対応する順列行列は単位行列となる。
LDPC符号系列のすべての符号は、ファクターグラフで積和アルゴリズム(sum-product algorithm)を用いて復号化することが可能である。LDPC符号の復号方式は、両方向伝送方式とフロー伝送方式に大別される。両方向伝送方式で復号動作を遂行する場合に、検査ノードはそれぞれノードプロセッサを有し、復号化の複雑度が検査ノードの個数に比例して増加する。しかしながら、すべての検査ノードが同時にアップデートされるため、復号速度がものすごく速くなる。
これとは異なって、フロー伝送方式は、一つのノードプロセッサを有し、このノードプロセッサは、ファクターグラフ上のすべてのノードを通じて情報をアップデートする。したがって、このフロー伝送方式は、復号化の複雑度が低下して簡単になるが、パリティ検査行列のサイズ、すなわちノードの個数が増加するほど復号速度が遅くなる。しかしながら、本発明で提案する符号化率に対応して多様なブロック長を有する可変長ブロックLDPC符号のようにブロック単位でパリティ検査行列が生成されると、パリティ検査行列を構成するブロックの個数と同一のノードプロセッサの個数が使用される。この場合に、両方向伝送方式より復号化の複雑度が低く、フロー伝送方式より復号速度が速いデコーダが実現可能である。
次に、図17を参照して本発明の実施形態によるパリティ検査行列を用いて可変長ブロックLDPC符号を復号する復号化装置の内部構造について説明する。
図17は、本発明の実施形態によるブロックLDPC符号の復号のための装置の内部構造を示す。図17を参照すると、可変長ブロックLDPC符号の復号化装置は、ブロック制御器1710と、変数ノード部1700と、加算器1715と、デインタリーバ1717と、インタリーバ1719と、制御器1721と、メモリ1723と、加算器1725と、検査ノード部1750と、硬判定器1729とを含む。変数ノード部1700は変数ノードデコーダ1711と、スイッチ1713,1714を含み、検査ノード部1750は検査ノードデコーダ1727を含む。
無線チャンネルを通じて受信された信号は、ブロック制御器1710に入力される。ブロック制御器1710は、受信信号のブロックサイズを判定する。復号化装置に対応する符号化装置で穿孔された情報語部分が存在する場合に、ブロック制御器1710はこの穿孔された情報語部分に0を挿入して全体ブロックサイズを調整した後に、その結果の信号を変数ノードデコーダ1711に出力する。
変数ノードデコーダ1711は、ブロック制御器1710から出力された信号の確率値を計算してアップデートした後に、アップデートされた確率値をスイッチ1713,1714に出力する。変数ノードデコーダ1711は、不均一ブロックLDPC符号の復号化装置に予め設定されているパリティ検査行列により変数ノードに接続し、この変数ノードに接続された1の個数だけの入力値と出力値を有するアップデート演算が遂行される。変数ノードの各々に接続された1の個数は、パリティ検査行列を構成する列のそれぞれのウェイトと同一である。したがって、変数ノードデコーダ1711の内部演算は、パリティ検査行列を構成する列のそれぞれのウェイトにより相互に異なる。スイッチ1714は、スイッチ1713がスイッチングオンされる場合を除いて、スイッチングオンされて変数ノードデコーダ1711の出力信号を加算器1715に出力する。
加算器1715は、変数ノードデコーダ1711から出力される信号と以前の反復復号化過程でのインタリーバ1719の出力信号を受信し、変数ノードデコーダ1711の出力信号から以前の反復復号化過程でのインタリーバ1719の出力信号を減算してデインタリーバ1717に出力する。復号化過程が初期復号化過程であると、インタリーバ1719の出力信号が0であると見なすことはもちろんである。
デインタリーバ1717は、加算器1715から出力された信号を予め定められたインタリービング方式によりデインタリービングして加算器1725と検査ノードデコーダ1727に出力する。デインタリーバ1717は、パリティ検査行列に対応する内部構造を有し、その理由は、デインタリーバ1717に対応するインタリーバ1719の入力値に対する出力値がパリティ検査行列で1の値を有するエレメントの位置により異なるためである。
加算器1725は、以前反復復号化過程で検査ノードデコーダ1727の出力信号とデインタリーバ1717の出力信号を受信し、以前反復復号化過程で検査ノードデコーダ1727の出力信号からデインタリーバ1717の出力信号を減算してインタリーバ1719に出力する。検査ノードデコーダ1727は、ブロックLDPC符号の復号化装置に予め設定されているパリティ検査行列により検査ノードに接続し、この検査ノードに接続された1の個数と同一の入力値と出力値の個数でアップデート演算を遂行する。検査ノードの各々に接続された1の個数は、パリティ検査行列を構成する行のそれぞれのウェイトと同一である。したがって、検査ノードデコーダ1727の内部演算は、パリティ検査行列を構成する行のそれぞれのウェイトにより異なる。
インタリーバ1719は、制御器1721の制御下に、予め定められたインタリービング方式により加算器1725から出力された信号をインタリービングし、この信号を加算器1715及び変数ノードデコーダ1711に出力する。制御器1721は、メモリ1723に格納されたインタリービング方式に関連した情報を読み取り、その情報によりインタリーバ1719のインタリービング方式とデインタリーバ1717のデインタリービング方式を制御する。メモリ1723は、可変長ブロックLDPC符号が生成可能な母行列のみを格納するため、制御器1721はメモリ1723に格納されている母行列を読み取り、予め設定されているブロックサイズに対応する順列行列のサイズN’を用いて該当子行列を構成する順列行列の指数を生成する。また、制御器1721は、生成された子行列を用いてインタリーバ1719のインタリービング方式とデインタリーバ1717のデインタリービング方式を制御する。同様に、復号化過程が初期の復号化過程であると、デインタリーバ1717の出力信号は0であると見なすことはもちろんである。
上記のような過程を反復的に遂行することによって、復号化装置は誤りなしに信頼度の高い復号を遂行する。予め定められた回数に該当する反復復号を遂行した後に、スイッチ1714は変数ノードデコーダ1711と加算器1715との間をスイッチングオフし、スイッチ1713は変数ノードデコーダ1711と硬判定器1729との間をスイッチングオンすることによって、変数ノードデコーダ1711から出力される信号を硬判定器1729に提供する。硬判定器1729は、変数ノードデコーダ1711から出力される信号の硬判定を遂行してその結果を出力し、硬判定器1729の出力値は最終的に復号された値となる。
以上、本発明の詳細な説明においては具体的な実施形態に関して説明したが、形式や細部についての様々な変更が可能であることは、当該技術分野における通常の知識を持つ者には明らかである。したがって、本発明の範囲は、前述の実施形態に限定されるものではなく、特許請求の範囲の記載及びこれと均等なものに基づいて定められるべきである。
一般的な移動通信システムの送受信器の構造を概略的に示す図である。 一般的な(8,2,4)LDPC符号のパリティ検査行列を示す図である。 図2の(8,2,4)LDPC符号のファクターグラフを示す図である。 一般的なブロックLDPC符号のパリティ検査行列を概略的に示す図である。 図4の順列行列Pを示す図である。 パリティ検査行列が4個の部分行列で構成されたブロックLDPC符号のサイクル構造を概略的に示す図である。 完全下三角行列に類似した形態を有するパリティ検査行列を示す図である。 図7のパリティ検査行列を6個の部分ブロックに分割して示す図である。 図8の部分行列Bの転置行列、部分行列E、部分行列T、及び部分行列Tの逆行列を示す図である。 一般的なブロックLDPC符号のパリティ検査行列の生成手順を示すフローチャートである。 本発明の第1の実施形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第2の実施形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第3の実施形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第4の実施形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第1〜第4の実施形態による可変長ブロックLDPC符号の符号化手順を示すフローチャートである。 本発明の実施形態による可変長ブロックLDPC符号の符号化装置の内部構造を示すブロック構成図である。 本発明の実施形態によるブロックLDPC符号の復号化装置の内部構造を示すブロック構成図である。
符号の説明
100 送信機
111 エンコーダ
113 変調器
115 RF処理器
150 受信機
151 RF処理器
153 復調器
155 デコーダ

Claims (32)

  1. 可変長を有するブロック低密度パリティ検査(Low Density Parity Check:LDPC)符号を符号化する方法であって、
    情報語を受信する段階と、
    前記情報語をブロックLDPC符号として生成するときに、適用される長さに対応して第1のパリティ検査行列と第2のパリティ検査行列のうちのいずれか一つに基づいて前記情報語を前記ブロックLDPC符号に符号化する段階と、
    を有し、
    前記第1のパリティ検査行列は、予め定められた符号化率と、前記ブロックLDPC符号が予め定められた長さを有するように生成されたパリティ検査行列であり、前記第1のパリティ検査行列は予め定められた個数の部分ブロックを含み、前記部分ブロックはそれぞれ予め定められたサイズを有し、前記部分ブロックの各々には予め定められた順列行列が一対一で対応し、
    前記第2のパリティ検査行列は、前記第1のパリティ検査行列のサイズを可変させたパリティ検査行列であり、前記部分ブロックの各々には予め定められた順列行列が一対一で対応し、前記第2のパリティ検査行列は、前記第1のパリティ検査行列の順列行列の中で0でない順列行列の指数と、前記第2のパリティ検査行列の部分ブロックのサイズに対応して前記第2のパリティ検査行列の順列行列の中で0でない順列行列の指数が決定されることによって生成されたパリティ検査行列であることを特徴とする方法。
  2. 前記第2のパリティ検査行列は下記のような関係を有することを特徴とする請求項記載の方法。
    Figure 0004555334
    ここで、a,a,…,aは前記第1のパリティ検査行列の順列行列の中で0でないL個の順列行列の指数を示し、N×N 前記第1のパリティ検査行列の部分ブロックのサイズを示し、a1’,a2’,…,aL’は前記第2のパリティ検査行列の順列行列の中で0でないL個の順列行列の指数を示し、N’×N ’は前記第2のパリティ検査行列の部分ブロックのサイズを示し、‘mod’はモジュロ演算を示す。
  3. 前記情報語を前記ブロックLDPC符号に符号化する段階は、
    前記長さにより前記第1のパリティ検査行列と第2のパリティ検査行列のうちの一つを決定する段階と、
    前記情報語を前記決定されたパリティ検査行列の第1の部分行列と乗算して第1の信号を生成する段階と、
    前記情報語を前記決定されたパリティ検査行列の第2の部分行列と乗算して第2の信号を生成する段階と、
    前記第1の信号と、前記パリティ検査行列の第3の部分行列と第4の部分行列の逆行列の行列積とを乗算して第3の信号を生成する段階と、
    前記第2の信号と第3の信号を加算して第4の信号を生成する段階と、
    前記第4の信号と前記パリティ検査行列の第5の部分行列とを乗算して第5の信号を生成する段階と、
    前記第2の信号を前記第5の信号と加算して第6の信号を生成する段階と、
    前記第6の信号と前記パリティ検査行列の第4の部分行列の逆行列とを乗算して第7の信号を生成する段階と、
    前記情報語、第1の加算器の出力信号、および、第5の行列乗算器の出力信号の各々の伝送時点のみでスイッチングオンして、前記情報語、第1の加算器の出力信号、および、第5の行列乗算器の出力信号の各々を伝送する段階と、
    を有することを特徴とする請求項記載の方法。
  4. 前記第1の部分行列及び第2の部分行列は、前記決定されたパリティ検査行列で情報語と関連される情報部分に対応する部分行列であることを特徴とする請求項記載の方法。
  5. 前記第3の部分行列と第4の部分行列はパリティと関連する第1のパリティ部分に対応する部分行列であり、前記第5の部分行列と第6の部分行列は前記パリティと関連する第2のパリティ部分に対応する部分行列であることを特徴とする請求項記載の方法。
  6. 前記符号化率が1/2である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項記載の方法。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  7. 前記符号化率が2/3である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項記載の方法。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  8. 前記符号化率が3/4である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項記載の方法。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  9. 前記符号化率が5/6である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項記載の方法。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  10. 可変長を有するブロック低密度パリティ検査(LDPC)符号を符号化する装置でって、
    情報語をブロックLDPC符号として生成するときに、適用される長さに対応して第1のパリティ検査行列と第2のパリティ検査行列のうちの一つに基づいて前記情報語を前記ブロックLDPC符号に符号化するエンコーダと、
    前記ブロックLDPC符号を予め定められた変調方式を用いて変調シンボルに変調する変調器と、
    を含み、
    前記第1のパリティ検査行列は、予め定められた符号化率と、前記ブロックLDPC符号が予め定められた長さを有するように生成されたパリティ検査行列であり、前記第1のパリティ検査行列は予め定められた個数の部分ブロックを含み、前記部分ブロックのそれぞれは予め定められたサイズを有し、
    前記第2のパリティ検査行列は、前記第1のパリティ検査行列の部分ブロックのサイズを可変させたパリティ検査行列であり、前記部分ブロックの各々には予め定められた順列行列が一対一で対応し、前記第2のパリティ検査行列は、前記第1のパリティ検査行列の順列行列の中で0でない順列行列の指数と、前記第2のパリティ検査行列の部分ブロックのサイズに対応して前記第2のパリティ検査行列の順列行列の中で0でない順列行列の指数とを決定することによって生成されたパリティ検査行列であることを特徴とする装置。
  11. 前記第2のパリティ検査行列は下記のような関係を有することを特徴とする請求項10記載の装置。
    Figure 0004555334
    ここで、a,a,…,aは前記第1のパリティ検査行列の順列行列の中で0でないL個の順列行列の指数を示し、N×N 前記第1のパリティ検査行列の部分ブロックのサイズを示し、a1’,a2’,…,aL’は前記第2のパリティ検査行列の順列行列の中で0でないL個の順列行列の指数を示し、N’×N ’は前記第2のパリティ検査行列の部分ブロックのサイズを示し、‘mod’はモジュロ演算を示す。
  12. 前記エンコーダは、
    前記長さにより前記第1のパリティ検査行列と第2のパリティ検査行列のうちの一つを決定する制御器と、
    前記情報語を前記決定されたパリティ検査行列の第1の部分行列と乗算する第1の行列乗算器と、
    前記情報語を前記決定されたパリティ検査行列の第2の部分行列と乗算する第2の行列乗算器と、
    前記第1の行列乗算器から出力された信号を、前記パリティ検査行列の第3の部分行列と第4の部分行列の逆行列との行列積と乗算する第3の行列乗算器と、
    前記第2の行列乗算器から出力された信号を第3の行列乗算器から出力された信号と加算する第1の加算器と、
    前記第1の加算器から出力された信号を前記パリティ検査行列の第5の部分行列と乗算する第4の行列乗算器と、
    前記第2の行列乗算器から出力された信号と前記第4の行列乗算器から出力された信号を加算する第2の加算器と、
    前記第2の行列乗算器から出力された信号を前記パリティ検査行列の第4の部分行列の逆行列と乗算する第5の行列乗算器と、
    前記情報語、第1の加算器の出力信号、および、第5の行列乗算器の出力信号の各々の伝送時点のみでスイッチングオンして、前記情報語、第1の加算器の出力信号、および、第5の行列乗算器の出力信号の各々を伝送する各々のスイッチと、
    を含むことを特徴とする請求項11記載の装置。
  13. 前記第1の部分行列及び第2の部分行列は、前記決定されたパリティ検査行列で情報語と関連される情報部分に対応する部分行列であることを特徴とする請求項12記載の装置。
  14. 前記第3の部分行列と第4の部分行列はパリティと関連する第1のパリティ部分に対応する部分行列であり、前記第5の部分行列と第6の部分行列は前記パリティと関連する第2のパリティ部分に対応する部分行列であることを特徴とする請求項13記載の装置。
  15. 前記符号化率が1/2である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項14記載の装置。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  16. 前記符号化率が2/3である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項14記載の装置。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  17. 前記符号化率が3/4である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項14記載の装置。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  18. 前記符号化率が5/6である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項14記載の装置。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  19. 可変長を有するブロック低密度パリティ検査(LDPC)符号を復号する方法であって、
    信号を受信する段階と、
    復号するブロックLDPC符号の長さにより第1のパリティ検査行列と第2のパリティ検査行列のうちの一つを選択し、前記選択されたパリティ検査行列により前記受信信号を復号して前記ブロックLDPC符号を検出する段階と、
    を有し、
    前記第1のパリティ検査行列は、予め定められた符号化率と、前記ブロックLDPC符号が予め定められた長さを有するように生成されたパリティ検査行列であり、前記第1のパリティ検査行列は予め定められた個数の部分ブロックを含み、前記部分ブロックの各々は予め定められたサイズを有し、
    前記第2のパリティ検査行列は、前記第1のパリティ検査行列の部分ブロックのサイズを可変させたパリティ検査行列であり、前記部分ブロックの各々には予め定められた順列行列が一対一で対応し、前記第2のパリティ検査行列は、前記第1のパリティ検査行列の順列行列の中で0でない順列行列の指数と、前記第2のパリティ検査行列の部分ブロックのサイズに対応して前記第2のパリティ検査行列の順列行列の中で0でない順列行列の指数とを決定することによって生成されたパリティ検査行列であることを特徴とする方法。
  20. 前記第2のパリティ検査行列は下記のような関係を有することを特徴とする請求項19記載の方法。
    Figure 0004555334
    ここで、a,a,…,aは前記第1のパリティ検査行列の順列行列の中で0でないL個の順列行列の指数を示し、N×N 前記第1のパリティ検査行列の部分ブロックのサイズを示し、a1’,a2’,…,aL’は前記第2のパリティ検査行列の順列行列の中で0でないL個の順列行列の指数を示し、N’×N ’は前記第2のパリティ検査行列の部分ブロックのサイズを示し、‘mod’はモジュロ演算を示す。
  21. 前記決定されたパリティ検査行列により前記受信信号を復号して前記ブロックLDPC符号を検出する段階は、
    前記決定されたパリティ検査行列によりデインタリービング方式及びインタリービング方式を決定する段階と、
    前記受信信号の確率値を検出する段階と、
    前記受信信号の確率値から以前復号化過程で生成された信号を減算して第1の信号を生成する段階と、
    前記第1の信号を前記デインタリービング方式でデインタリービングする段階と、
    前記デインタリービングされた信号から確率値を検出する段階と、
    前記デインタリービングされた信号の確率値から前記デインタリービングされた信号を減算して第2の信号を生成する段階と、
    前記第2の信号を前記インタリービング方式でインタリービングし、前記インタリービングされた信号を反復復号して前記ブロックLDPC符号を検出する段階と、
    を有することを特徴とする請求項20記載の方法。
  22. 前記符号化率が1/2である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項21記載の方法。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  23. 前記符号化率が2/3である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項21記載の方法。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  24. 前記符号化率が3/4である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項21記載の方法。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  25. 前記符号化率が5/6である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項21記載の装置。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  26. 可変長を有するブロック低密度パリティ検査(LDPC)符号を復号する装置であって、
    信号を受信する受信器と、
    復号するブロックLDPC符号の長さにより第1のパリティ検査行列と第2のパリティ検査行列のうちの一つを選択し、前記選択されたパリティ検査行列により前記受信信号を復号して前記ブロックLDPC符号を検出するデコーダと、
    を含み、
    前記第1のパリティ検査行列は、予め定められた符号化率と、前記ブロックLDPC符号が予め定められた長さを有するように生成されたパリティ検査行列であり、前記第1のパリティ検査行列は予め定められた個数の部分ブロックを含み、前記部分ブロックの各々は予め定められたサイズを有し、
    前記第2のパリティ検査行列は、前記第1のパリティ検査行列の部分ブロックのサイズを可変させたパリティ検査行列であり、前記部分ブロックの各々には予め定められた順列行列が一対一で対応し、前記第2のパリティ検査行列は、前記第1のパリティ検査行列の順列行列の中で0でない順列行列の指数と、前記第2のパリティ検査行列の部分ブロックのサイズに対応して前記第2のパリティ検査行列の順列行列の中で0でない順列行列の指数とを決定することによって生成されたパリティ検査行列であることを特徴とする装置。
  27. 前記第2のパリティ検査行列は下記のような関係を有することを特徴とする請求項26記載の装置。
    Figure 0004555334
    ここで、a,a,…,aは前記第1のパリティ検査行列の順列行列の中で0でないL個の順列行列の指数を示し、N×N 前記第1のパリティ検査行列の部分ブロックのサイズを示し、a1’,a2’,…,aL’は前記第2のパリティ検査行列の順列行列の中で0でないL個の順列行列の指数を示し、N’×N ’は前記第2のパリティ検査行列の部分ブロックのサイズを示し、‘mod’はモジュロ演算を示す。
  28. 前記デコーダは、
    前記復号するブロックLDPC符号の長さにより第1のパリティ検査行列又は第2のパリティ検査行列を決定する第1の制御器と、
    前記決定されたパリティ検査行列を構成する各列のウェイトにより変数ノードに接続することによって、受信信号の確率値を検出する変数ノードデコーダと、
    前記変数ノードデコーダから出力された信号から以前復号化過程で生成された信号を減算する第1の加算器と、
    前記第1の加算器から出力された信号を入力して前記決定されたパリティ検査行列により設定されたデインタリービング方式でデインタリービングするデインタリーバと、
    前記決定されたパリティ検査行列を構成する各行のウェイトにより検査ノードに接続して前記デインタリーバから出力された信号の確率値を検出する検査ノードデコーダと、
    前記検査ノードデコーダから出力された信号から前記デインタリーバから出力された信号を減算する第2の加算器と、
    前記第2の加算器から出力された信号を前記決定されたパリティ検査行列により設定されたインタリービング方式でインタリービングして前記変数ノードデコーダ及び前記第1の加算器に出力するインタリーバと、
    前記デインタリービング方式及びインタリービング方式を前記決定されたパリティ検査行列により制御する第2の制御器と、
    を含むことを特徴とする請求項27記載の装置。
  29. 前記符号化率が1/2である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項28記載の装置。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  30. 前記符号化率が2/3である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項28記載の装置。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  31. 前記符号化率が3/4である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項28記載の装置。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
  32. 前記符号化率が5/6である場合に、前記第1のパリティ検査行列は下記の表のように示すことを特徴とする請求項28記載の装置。
    Figure 0004555334
    ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは0行列が対応する部分ブロックを、Iは該当順列行列の指数が0である単位行列を、それぞれ示す。
JP2007506091A 2004-04-28 2005-04-28 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法 Expired - Lifetime JP4555334B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20040029738 2004-04-28
PCT/KR2005/001241 WO2005107124A1 (en) 2004-04-28 2005-04-28 Apparatus and method for coding/decoding block low density parity check code with variable block length

Publications (2)

Publication Number Publication Date
JP2007531455A JP2007531455A (ja) 2007-11-01
JP4555334B2 true JP4555334B2 (ja) 2010-09-29

Family

ID=34935920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007506091A Expired - Lifetime JP4555334B2 (ja) 2004-04-28 2005-04-28 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法

Country Status (9)

Country Link
US (1) US7747929B2 (ja)
EP (1) EP1592137A1 (ja)
JP (1) JP4555334B2 (ja)
KR (1) KR100678176B1 (ja)
CN (1) CN1947368B (ja)
AU (1) AU2005239263B2 (ja)
CA (1) CA2559818C (ja)
RU (1) RU2341894C2 (ja)
WO (1) WO2005107124A1 (ja)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101008636B1 (ko) 2004-05-04 2011-01-17 엘지전자 주식회사 소프터 핸드오버시에 적용되는 패킷 전송 성공 여부 전송방법
US7171603B2 (en) * 2004-05-06 2007-01-30 Motorola, Inc. Method and apparatus for encoding and decoding data
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
US7395490B2 (en) * 2004-07-21 2008-07-01 Qualcomm Incorporated LDPC decoding methods and apparatus
CA2563642C (en) * 2004-08-10 2013-10-01 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding a block low density parity check code
KR100809616B1 (ko) * 2005-10-19 2008-03-05 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
WO2007075106A1 (en) * 2005-12-29 2007-07-05 Intel Corporation Fast low-density parity-check code encoder
US7493548B2 (en) * 2006-02-06 2009-02-17 Motorola, Inc Method and apparatus for encoding and decoding data
KR100975558B1 (ko) * 2006-05-03 2010-08-13 삼성전자주식회사 통신 시스템에서 신호 송수신 장치 및 방법
KR100987692B1 (ko) * 2006-05-20 2010-10-13 포항공과대학교 산학협력단 통신 시스템에서 신호 송수신 장치 및 방법
US8024639B2 (en) * 2006-06-23 2011-09-20 Schweitzer Engineering Laboratories, Inc. Software and methods to detect and correct data structure
KR100930265B1 (ko) * 2006-11-16 2009-12-09 삼성전자주식회사 광대역 무선접속 통신시스템에서 복호를 위한 장치 및 방법
KR20090113869A (ko) * 2007-01-24 2009-11-02 콸콤 인코포레이티드 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩
US20080320374A1 (en) * 2007-06-22 2008-12-25 Legend Silicon Corp. Method and apparatus for decoding a ldpc code
US8473824B1 (en) * 2008-09-08 2013-06-25 Marvell International Ltd. Quasi-cyclic low-density parity-check (QC-LDPC) encoder
RU2446585C2 (ru) * 2007-12-06 2012-03-27 Самсунг Электроникс Ко., Лтд. Способ и устройство для кодирования и декодирования канала в системе связи с использованием кодов проверок на четность с малой плотностью
PL2239854T3 (pl) 2007-12-06 2013-03-29 Samsung Electronics Co Ltd Skracanie i wymazywanie kodów kontroli parzystości niskiej gęstości (LDPC) w dekodowaniu kanałowym
KR101502624B1 (ko) * 2007-12-06 2015-03-17 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
US8140944B2 (en) * 2008-01-24 2012-03-20 Texas Instruments Incorporated Interleaver design with unequal error protection for control information
KR101502677B1 (ko) * 2008-02-11 2015-03-16 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
KR101503133B1 (ko) * 2008-02-26 2015-03-18 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
PL2248265T3 (pl) 2008-03-03 2015-11-30 Rai Radiotelevisione Italiana S P A Wzorce permutacji bitów dla modulacji z kodowaniem LDPC i konstelacji QAM
CN101272150B (zh) * 2008-05-14 2010-09-29 中兴通讯股份有限公司 一种低密度生成矩阵码的译码方法及装置
WO2009150707A1 (ja) * 2008-06-09 2009-12-17 パイオニア株式会社 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法
JP4563476B2 (ja) * 2008-07-09 2010-10-13 パナソニック株式会社 符号化器、復号化器及び符号化方法
JP4879338B2 (ja) * 2008-07-09 2012-02-22 パナソニック株式会社 符号化方法
CN101686061A (zh) * 2008-09-27 2010-03-31 松下电器产业株式会社 构造低密度奇偶校验码的方法及发送/接收装置和系统
CN101741396B (zh) * 2008-11-19 2013-03-13 华为技术有限公司 可变码长ldpc码编码或译码的方法与装置及编码器和译码器
US8327214B2 (en) * 2009-08-26 2012-12-04 Ntt Docomo, Inc. Method and apparatus for the joint design and operation of ARQ protocols with user scheduling for use with multiuser MIMO in the downlink of wireless systems
US8677209B2 (en) * 2009-11-19 2014-03-18 Lsi Corporation Subwords coding using different encoding/decoding matrices
KR101611169B1 (ko) * 2011-01-18 2016-04-11 삼성전자주식회사 통신/방송 시스템에서 데이터 송수신 장치 및 방법
US9203434B1 (en) 2012-03-09 2015-12-01 Western Digital Technologies, Inc. Systems and methods for improved encoding of data in data storage devices
US8605383B1 (en) 2012-05-21 2013-12-10 Western Digital Technologies, Inc. Methods, devices and systems for characterizing polarities of piezoelectric (PZT) elements of a two PZT element microactuator
US8972826B2 (en) 2012-10-24 2015-03-03 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
US8996963B2 (en) 2012-11-13 2015-03-31 Seagate Technology Llc Buffer management using side information
US8910026B2 (en) * 2012-11-13 2014-12-09 Seagate Technology Llc Data decoding using side information
US9021339B2 (en) 2012-11-29 2015-04-28 Western Digital Technologies, Inc. Data reliability schemes for data storage systems
US9059736B2 (en) 2012-12-03 2015-06-16 Western Digital Technologies, Inc. Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme
US8966339B1 (en) 2012-12-18 2015-02-24 Western Digital Technologies, Inc. Decoder supporting multiple code rates and code lengths for data storage systems
US9122625B1 (en) 2012-12-18 2015-09-01 Western Digital Technologies, Inc. Error correcting code encoder supporting multiple code rates and throughput speeds for data storage systems
US9619317B1 (en) 2012-12-18 2017-04-11 Western Digital Technologies, Inc. Decoder having early decoding termination detection
US9214963B1 (en) 2012-12-21 2015-12-15 Western Digital Technologies, Inc. Method and system for monitoring data channel to enable use of dynamically adjustable LDPC coding parameters in a data storage system
US8797664B1 (en) 2012-12-22 2014-08-05 Western Digital Technologies, Inc. Polarity detection of piezoelectric actuator in disk drive
KR102113964B1 (ko) 2013-06-12 2020-05-21 새턴 라이센싱 엘엘씨 데이터 처리 장치, 및 데이터 처리 방법
MX2016003551A (es) * 2013-09-26 2016-07-21 Sony Corp Dispositivo de procesamiento de datos y metodo de procesamiento de datos.
US9153283B1 (en) 2014-09-30 2015-10-06 Western Digital Technologies, Inc. Data storage device compensating for hysteretic response of microactuator
KR102254102B1 (ko) * 2015-01-23 2021-05-20 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
KR20170075627A (ko) * 2015-12-23 2017-07-03 삼성전자주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
EP4117209A1 (en) 2015-12-23 2023-01-11 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding channel in communication or broadcasting system
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
US20180034588A1 (en) * 2016-08-01 2018-02-01 Mediatek Inc. Apparatus and method for data transmission using coded-combining or hybrid-coding
US10270559B2 (en) 2016-10-04 2019-04-23 At&T Intellectual Property I, L.P. Single encoder and decoder for forward error correction coding
US10243638B2 (en) 2016-10-04 2019-03-26 At&T Intellectual Property I, L.P. Forward error correction code selection in wireless systems
EP4312393A3 (en) 2016-12-20 2024-04-03 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication or broadcasting system
US10484010B2 (en) * 2016-12-20 2019-11-19 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR20180071917A (ko) * 2016-12-20 2018-06-28 삼성전자주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
US10484134B2 (en) 2017-03-30 2019-11-19 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR102348466B1 (ko) * 2017-03-30 2022-01-10 삼성전자 주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
CN110583023B (zh) 2017-05-04 2022-03-01 三星电子株式会社 在通信或广播系统中用于信道编码和解码的方法和设备
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
US12476733B2 (en) 2017-06-19 2025-11-18 Qualcomm Incorporated Communication techniques with self-decodable redundancy versions (RVs) using systematic codes
EP3649755B1 (en) 2017-07-07 2023-09-20 QUALCOMM Incorporated Communication techniques applying low-density parity-check code base graph selection
CN116383848B (zh) * 2023-04-04 2023-11-28 北京航空航天大学 一种三方安全计算防作恶方法、设备及介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2007042C1 (ru) 1991-02-22 1994-01-30 Морозов Андрей Константинович Система для кодирования и декодирования с исправлением ошибок
US5721745A (en) 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
FR2799592B1 (fr) * 1999-10-12 2003-09-26 Thomson Csf Procede de construction et de codage simple et systematique de codes ldpc
ATE414349T1 (de) * 1999-12-20 2008-11-15 Research In Motion Ltd Hybrid-wiederholungsaufforderungsystem und - verfahren
US6539367B1 (en) * 2000-05-26 2003-03-25 Agere Systems Inc. Methods and apparatus for decoding of general codes on probability dependency graphs
KR20100046063A (ko) * 2000-06-16 2010-05-04 어웨어, 인크. Ldpc 코드형 변조를 위한 시스템 및 방법
US7072417B1 (en) * 2000-06-28 2006-07-04 Marvell International Ltd. LDPC encoder and method thereof
US7000177B1 (en) * 2000-06-28 2006-02-14 Marvell International Ltd. Parity check matrix and method of forming thereof
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6895547B2 (en) * 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
WO2004019268A1 (en) 2002-08-20 2004-03-04 Flarion Technologies, Inc. Methods and apparatus for encoding ldpc codes
CN1185796C (zh) * 2002-11-15 2005-01-19 清华大学 改进的非规则低密度奇偶校验码纠错译码方法
US7702986B2 (en) * 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
US7139959B2 (en) * 2003-03-24 2006-11-21 Texas Instruments Incorporated Layered low density parity check decoding for digital communications
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
KR100523708B1 (ko) * 2003-12-17 2005-10-26 한국전자통신연구원 Ldpc 부호에 사용되는 거스 조건화된 패러티 검사행렬의 형성 방법
US7260763B2 (en) * 2004-03-11 2007-08-21 Nortel Networks Limited Algebraic low-density parity check code design for variable block sizes and code rates
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
KR20060016059A (ko) * 2004-08-16 2006-02-21 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
WO2006019217A1 (en) * 2004-08-16 2006-02-23 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code with variable block length

Also Published As

Publication number Publication date
CN1947368B (zh) 2010-06-16
EP1592137A1 (en) 2005-11-02
AU2005239263B2 (en) 2008-12-04
KR20060045862A (ko) 2006-05-17
WO2005107124A1 (en) 2005-11-10
RU2006138012A (ru) 2008-05-10
CA2559818A1 (en) 2005-11-10
CN1947368A (zh) 2007-04-11
CA2559818C (en) 2011-11-29
US20050246617A1 (en) 2005-11-03
KR100678176B1 (ko) 2007-02-28
US7747929B2 (en) 2010-06-29
JP2007531455A (ja) 2007-11-01
AU2005239263A1 (en) 2005-11-10
RU2341894C2 (ru) 2008-12-20

Similar Documents

Publication Publication Date Title
JP4555334B2 (ja) 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法
JP4519902B2 (ja) 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法
JP4545793B2 (ja) ブロック低密度パリティ検査符号を符号化/復号化する装置及び方法
KR100809616B1 (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
US7526717B2 (en) Apparatus and method for coding and decoding semi-systematic block low density parity check codes
JP4555333B2 (ja) 可変符号化率を有するブロック低密度パリティ検査符号の符号化/復号装置及び方法
US7302629B2 (en) Apparatus and method for coding and decoding irregular repeat accumulate codes
RU2369008C2 (ru) Устройство и способ кодирования-декодирования блочного кода проверки на четность с низкой плотностью с переменной длиной блока
KR20060016061A (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
HK1118989A (en) An interleaving scheme for an ldpc coded 32apsk system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091028

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100715

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

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4555334

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

EXPY Cancellation because of completion of term