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

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

Info

Publication number
JP2007535236A
JP2007535236A JP2007503846A JP2007503846A JP2007535236A JP 2007535236 A JP2007535236 A JP 2007535236A JP 2007503846 A JP2007503846 A JP 2007503846A JP 2007503846 A JP2007503846 A JP 2007503846A JP 2007535236 A JP2007535236 A JP 2007535236A
Authority
JP
Japan
Prior art keywords
matrix
block
parity check
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.)
Granted
Application number
JP2007503846A
Other languages
English (en)
Other versions
JP4519902B2 (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
Priority claimed from KR1020040105183A external-priority patent/KR20060016059A/ko
Priority claimed from KR1020050003732A external-priority patent/KR20060016061A/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2007535236A publication Critical patent/JP2007535236A/ja
Application granted granted Critical
Publication of JP4519902B2 publication Critical patent/JP4519902B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01DCONSTRUCTION OF BRIDGES, ELEVATED ROADWAYS OR VIADUCTS; ASSEMBLY OF BRIDGES
    • E01D19/00Structural or constructional details of bridges
    • 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
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01DCONSTRUCTION OF BRIDGES, ELEVATED ROADWAYS OR VIADUCTS; ASSEMBLY OF BRIDGES
    • E01D2/00Bridges characterised by the cross-section of their bearing spanning 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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1134Full parallel processing, i.e. all bit nodes or check nodes are processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01DCONSTRUCTION OF BRIDGES, ELEVATED ROADWAYS OR VIADUCTS; ASSEMBLY OF BRIDGES
    • E01D2101/00Material constitution of bridges
    • E01D2101/20Concrete, stone or stone-like material
    • E01D2101/24Concrete
    • E01D2101/26Concrete reinforced
    • E01D2101/28Concrete reinforced prestressed
    • E01D2101/285Composite prestressed concrete-metal
    • 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/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes

Landscapes

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

Abstract

可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法を提供する。本発明は、情報語を入力され、上記情報語をブロック低密度パリティ検査(LDPC)符号として生成時に適用される長さに応じて、第1のパリティ検査行列と第2のパリティ検査行列のうちのどちらか一方のパリティ検査行列を基に符号化して上記ブロックLDPC符号として生成することにより、可変長を有するブロックLDPC符号の生成を可能にする。

Description

本発明は移動通信システムに係り、さらに詳しくは、可変ブロック長を有するブロック低密度パリティ検査符号を符号化/復号化する装置及び方法に関する。
移動通信システムが急速に発展していくに伴い、無線ネットワークにおいて、有線ネットワークの容量に近い大容量データを伝送可能な技術の開発が望まれている。このように、音声中心のサービスを越えて、映像、無線データなどの様々な情報を処理して伝送可能な高速で且つ大容量の通信システムが求められるに伴い、適正なチャンネル符号化方式を用いてシステム伝送効率を高めることがシステム性能の向上の上で必ず必要となる。しかしながら、移動通信システムは、移動通信システムの特性から、データを伝送するときに、チャンネルの状況によってノイズと、干渉及びフェージングなどにより不可避にエラーが発生し、このため、上記エラーの発生による情報データの損失が起こる。
このようなエラーの発生による情報データの損失を減らすために、チャンネルの特性によって様々なエラー制御方式を用いることにより、上記移動通信システムの信頼度を高めることができる。上記エラー制御方式のうちの最も普遍的に用いられているエラー制御方式は、エラー訂正符号を用いる方式である。
以下、図1を参照し、通常の移動通信システムの送受信機の構造について説明する。
図1は、通常の通信システムの送受信機の構造を概略的に示す図である。
図1を参照すると、送信機100は、符号化器111と、変調器113と、無線周波数(RF:Radio Frequency、以下、「RF」と称する。)処理器115と、を備え、受信機150は、RF処理器151と、復調器153と、復号化器155と、を備える。
先ず、上記送信機100に送信したい情報データuが発生すると、上記情報データuは、上記符号化器111に送られる。上記符号化器111は、上記情報データuを予め設定されている符号化方式により符号化して符号化シンボルcとして生成した後、上記変調器113に出力する。上記変調器113は、上記符号化シンボルcを予め設定されている変調方式により変調して変調シンボルsとして生成し、上記RF処理器115に出力する。上記RF処理器115は、上記変調器113から出力された信号を入力してRF処理した後、アンテナを介してエアー上で送信する。
このように、上記送信機100からエアー上で送信された信号は、上記受信機150のアンテナを介して受信され、上記アンテナを介して受信された信号は、上記RF処理器151に送られる。上記RF処理器151は、上記受信信号をRF処理した後、そのRF処理された信号sを上記復調器153に出力する。上記復調器153は、上記RF処理器151から出力された信号sを入力し、上記送信機100の変調器113における変調方式に見合う復調方式により復調した後、その復調した信号xを上記復号化器155に出力する。上記復号化器155は、上記復調器153から出力された信号xを入力し、上記送信機100の符号化器111における符号化方式に見合う復号化方式により復号化した後、その復号化した信号を最終的に復元された情報データとして出力する。
上記送信機100から送信された情報データuを上記受信機150においてエラー無しに復元するために、高性能の符号化器及び復号化器が必要となってきている。特に、移動通信システムの特性から、無線チャンネル環境を考慮しなければならないため、無線チャンネル環境により生じうるエラーは一層深刻なものと捉える必要がある。
一方、上記エラー訂正符号の代表的な符号としては、ターボ符号と、低密度パリティ検査(LDPC:Low Density Parity Check、以下、「LDPC」と称する。)符号などがある。
上記ターボ符号は、従来、エラー訂正のために汎用されていた畳み込み符号に比べて、高速データの伝送時における性能ゲインに優れたものであることが知られており、伝送チャンネルにおける雑音によるエラーを効果的に訂正してデータ伝送の信頼度を高めることができるというメリットを有する。また、上記LDPC符号は、ファクターグラフ上において、和積アルゴリズム(sum-product algorithm)に基づく繰り返し復号化アルゴリズムを用いて復号化することができる。上記LDPC符号の復号化器は、上記和積アルゴリズムに基づく繰り返し復号化アルゴリズムを用いるため、上記ターボ符号の復号化器に比べて低い複雑度を有するだけではなく、並列処理復号化器として実現することが容易である。
一方、Shannonのチャンネル符号化理論によれば、チャンネルの容量を超えないデータレートに限って信頼性のある通信が可能であることを明らかにされている。しかしながら、Shannonのチャンネル符号化理論においては、最大チャンネルの容量限界までのデータレートを支援するチャンネル符号化及び復号化方法についての具体的な提示は全くなかった。通常、ブロックサイズが極めて大きなランダム符号は、Shannonのチャンネル符号化理論のチャンネル容量限界に近い性能を示すが、MAP(maximum a posteriori)またはML(maximum likelihood)復号化方法を用いる場合、その多大な計算の負荷が存在するために、実際に実現することが不可能であった。
上記ターボ符号は、1993年にBerrouとGlavieux、Thitimajshimaにより提案されており、Shannonのチャンネル符号化理論のチャンネル容量限界に近い、高性能を有している。上記ターボ符号の提案により、符号の繰り返し復号化とグラフ表現についての研究が活発に行われており、この時点において、Gallagerが1962年に既に提案したLDPC符号が新たに注目を浴びている。また、上記ターボ符号とLDPC符号のファクターグラフ上にはサイクルが存在するが、上記サイクルが存在する上記LDPC符号のファクターグラフ上における繰り返し復号化は、準最適であることが既に知られており、上記LDPC符号は、繰り返し復号化によって高性能を有することも実験的に立証されている。これまで知られている最高の性能を有するLDPC符号は、ブロックサイズ10を用い、ビットエラーレート(BER:Bit Error Rate)10−5において、Shannonのチャンネル符号化理論のチャンネル容量限界において単に0.04[dB]程度の差分を有する性能を示す。また、q>2であるガロアフィールド(GF:Galois Field、以下、「GF」と称する。)、すなわち、GF(q)において定義されたLDPC符号は、その復号化過程中に複雑度が増加するが、バイナリ符号に比べて遥かに高性能を示す。しかしながら、上記GF(q)において定義されたLDPC符号の繰り返し復号化アルゴリズムの成功的な復号化について、満足のいく理論的な説明は未だなされていないのが現状である。
また、上記LDPC符号はGallagerにより提案された符号であり、ほとんどのエレメントが0の値を有し、上記0の値を有するエレメント以外の極めて小数のエレメントが0ではない値を有する、例えば、1の値を有するパリティ検査行列により定義される。以下、説明の便宜上、上記0ではない値を1であるとして説明する。
例えば、(N、j、k)LDPC符号は、ブロックの長さがNである線形ブロック符号であり、各列ごとにj個の1の値を有するエレメントと、各行ごとにk個の1の値を有するエレメントを有し、上記1の値を有するエレメントを除くエレメントはいずれも0の値を有するエレメントにより構成された疎らな構造のパリティ検査行列により定義される。
上述のように、上記パリティ検査行列内の各列のウェイトはjと一定であり、上記パリティ検査行列内の各行のウェイトはkと一定であるLDPC符号を均一LDPC符号と称する。ここで、上記ウェイトとは、上記パリティ検査行列を構成するエレメントのうちの0ではない値を有するエレメントの数を示す。これとは異なり、上記パリティ検査行列内の各列のウェイトと各行のウェイトが一定ではないLDPC符号を不均一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に固定されている。このように、上記パリティ検査行列内の各列のウェイトと各行のウェイトが均一であるため、図1に示されている(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ではない値を有するエレメントが存在する場合、変数ノードxiとj番目の検査ノードとの間にブランチが生成される。
上述のように、LDPC符号のパリティ検査行列は極めて小さなウェイトを有するため、比較的に長いブロック符号においても繰り返し復号化を通じて復号化が可能であり、ブロック符号のブロック長を増大し続けていくと、ターボ符号のようにShannonのチャンネル容量限界に近い性能を示す。また、MacKayとNealは、流れ伝達方式(flow transfer scheme)を用いるLDPC符号の繰り返し復号化過程がターボ符号の繰り返し復号化過程にほとんど近い性能を有することを既に証明している。
一方、高性能のLDPC符号を生成するためには、幾つかの条件を満足しなければならないが、上記条件を説明すると、下記の通りである。
(1)LDPC符号のファクターグラフ上のサイクルを考慮しなければならない。
上記サイクルとは、LDPC符号のファクターグラフにおいて、変数ノードと検査ノードとを接続するエッジが構成するループのことであるが、上記サイクルの長さは、上記ループを構成するエッジの数として定義される。上記サイクルが長いことは、上記LDPC符号のファクターグラフにおいて、ループを構成する変数ノードと検査ノードとを接続するエッジの数が多いことを示し、これとは逆に、上記サイクルが短いことは、上記LDPC符号のファクターグラフにおいて、ループを構成する変数ノードと検査ノードとを接続するエッジの数が少ないことを示す。
上記LDPC符号のファクターグラフ上のサイクルを長く生成するほど、上記LDPC符号の性能がよくなるが、その理由は、下記の通りである。上記LDPC符号のファクターグラフ上のサイクルを長く生成する場合、上記LDPC符号のファクターグラフ上に短いサイクルがたくさん存在するときに生じるエラーフロアなどの性能劣化が生じないためである。
(2)LDPC符号の効率よい符号化を考慮しなければならない。
上記LDPC符号は、上記LDPC符号の特性から、畳み込み符号やターボ符号に比べて符号化の複雑度が高く、リアルタイムの符号化が困難である。上記LDPC符号の符号化の複雑度を減らすために、繰り返し累積符号(RA(Repeat Accumulate) code)などが提案されているが、上記繰り返し累積符号もまた、上記LDPC符号の符号化の複雑度を下げることに限界を示している。このため、LDPC符号の効率よい符号化を考慮しなければならない。
(3)LDPC符号のファクターグラフ上の次数分布を考慮しなければならない。
通常、均一LDPC符号よりも不均一LDPC符号の方の性能が優れているが、その理由は、上記不均一LDPC符号のファクターグラフ上の次数が様々であるためである。ここで、上記次数とは、上記LDPC符号のファクターグラフ上において、各ノード、すなわち、変数ノードと検査ノードとに接続されているエッジの数を示す。また、LDPC符号のファクターグラフ上の次数分布とは、特定の次数を有するノードが全体のノード中にどれだけ存在するかを示す。特定の次数分布を有するLDPC符号の性能に優れていることは、Richardsonらが既に立証している。
次に、図4を参照し、ブロックLDPC符号のパリティ検査行列について説明する。
図4は、通常のブロックLDPC符号のパリティ検査行列を概略的に示す図である。
図4を説明するに先立ち、先ず、上記ブロックLDPC符号は、効率よい符号化だけではなく、効率よいパリティ検査行列の格納及び性能改善を両方とも考慮した新たなLDPC符号であり、上記ブロックLDPC符号は、均一LDPC符号の構造を一般化させて拡張した概念のLDPC符号である。図4を参照すると、上記ブロックLDPC符号のパリティ検査行列は、全体のパリティ検査行列を多数の部分ブロックに分割し、上記部分ブロックのそれぞれに順列行列を対応付ける形を有する。図4に示されているPは、N×Nサイズを有する順列行列を示し、上記順列行列Pの上付き字apqは0≦apq≦N−1若しくはapq=∞を有する。
また、上記pは、当該順列行列が上記パリティ検査行列の多数の部分ブロックのうちのp番目の行に位置することを示し、qは、当該順列行列が上記パリティ検査行列の多数の部分ブロックのうちのq番目の列に位置することを示す。すなわち、
Figure 2007535236
は、上記多数の部分ブロックにより構成されたパリティ検査行列のp番目の行とq番目の列が交差する個所の部分ブロックに存在する順列行列を示す。すなわち、上記pとqは、上記パリティ検査行列において上記情報パートに相当する部分ブロックの行と列の数を示す。
以下、図5を参照し、上記順列行列について説明する。
図5は、図4の循環行列Pを示す図である。
図5に示すように、上記順列行列Pは、N×Nサイズを有する正方形行列であり、上記順列行列Pは、上記順列行列Pを構成するNs個の列のそれぞれのウェイトが1であり、上記順列行列Pを構成するNs個の行のそれぞれのウェイトも1である行列を示す。ここで、留意すべきなのは、上記順列行列PのサイズをN×Nとしているが、上記順列行列Pが正方形行列であるため、そのサイズを、説明の便宜上、Nとするということである。
一方、図4中、上記順列行列Pの上付き字apqが0であるとき、すなわち、順列行列Pは恒等行列を示し、上記順列行列Pの上付き字apqが∞であるとき、すなわち、順列行列Pは0行列を示す。ここで、
Figure 2007535236
は、サイズがN×Nである恒等行列を示す。
図4中、上記ブロックLDPC符号の全体のパリティ検査行列は、全体の行の数がN×pであり、全体の列の数がN×q(但し、p≦q)であるため、上記ブロックLDPC符号の全体のパリティ検査行列が最大なリンクを有する場合、上記部分ブロックのサイズとは無関係に、符号化率は下記式1のように表わすことができる。
Figure 2007535236
一方、全てのp、qについてapq≠∞である場合、上記部分ブロックのそれぞれに対応する順列行列のそれぞれは0行列ではないことを示し、部分ブロックのそれぞれに対応する順列行列のそれぞれの各列のウェイトがpであり、各行のウェイトがqである均一LDPC符号となる。ここで、上記部分ブロックに対応する順列行列を「部分行列」と称する。
また、上記全体のパリティ検査行列にはp−1個の従属的な行が存在するため、符号化率は前記式1において計算した符号化率よりも大きな値を有する。上記ブロックLDPC符号は、全体のパリティ検査行列を構成する部分行列のそれぞれの最初の行のウェイト位置が決められると、残りのN−1個の行のウェイト位置が決められるため、上記全体のパリティ検査行列の情報を格納するために不規則的にウェイトを選択する場合に比べて、必要となるメモリーのサイズが1/Nに減る。
一方、上述のように、LDPC符号のファクターグラフ上のサイクルとは、パリティ検査行列のLDPC符号のファクターグラフにおいて変数ノードと検査ノードとを接続するエッジが構成するループのことであるが、上記サイクルの長さは、上記ループを構成するエッジの数として定義される。上記サイクルが長いことは、上記LDPC符号のファクターグラフにおいて、ループを構成する変数ノードと検査ノードとを接続するエッジの数が多いことを示す。上記LDPC符号のファクターグラフ上のサイクルを長く生成するほど、上記LDPC符号の性能がよくなる。
これとは逆に、上記LDPC符号のファクターグラフ上に短いサイクルがたくさん存在するほど、上記LDPC符号はエラーフロアなどの性能の劣化が現れるため、エラー訂正能力が低下する。すなわち、上記LDPC符号のファクターグラフ上に短いサイクルがたくさん存在する場合、上記短いサイクルに属している任意の1ノードから出発した自分の情報が、いくつかの繰り返し回数後に再び自分に戻り、上記繰り返し回数が増えるに伴い、その情報が継続して自分に戻るため、情報更新がうまく行われず、結局、エラー訂正能力が低下する。
以下、図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−点との間には、下記式2のような関係が成り立つ。
Figure 2007535236
そして、前記式2を再びまとめると、下記式3のように表わすことができる。
Figure 2007535236
結果的に、前記式3のような関係が成り立つとき、長さが4のサイクルが生成される。一般に、0−点と4p−点が最初に同じになる場合には、
Figure 2007535236
の関係が成り立ち、下記式4のような関係が成り立つ。
Figure 2007535236
換言すると、与えられたa、b、c、dに対して前記式4を満足する正の整数のうちの最小値を有する正の整数をpとすれば、図6に示すようなブロックLDPC符号のサイクル構造においては、長さが4pのサイクルが最小長を有するサイクルとなる。
結果的に、上述のように、(a−b+c−d)≠0の場合に、gcd(N、a−b+c−d)=1が成り立つと、p=Nとなり、このため、長さが4Nであるサイクルが最小長を有するサイクルとなる。
一方、上記ブロックLDPC符号の符号化方式として、Richardson-Urbanke方式を用いる。上記Richardson-Urbanke方式を符号化方式として用いるため、パリティ検査行列の形態は、完全下三角行列(full lower triangular matrix)の形状に類似した形状を有するほど、符号化の複雑度を最小化させることができる。
以下、図7を参照し、完全下三角行列の形状と類似した形状を有するパリティ検査行列について説明する。
図7は、完全下三角行列の形状と類似した形状を有するパリティ検査行列を示す図である。
図7に示すパリティ検査行列は、完全下三角行列の形状と類似した形状を有する完全下三角行列の形状のパリティ検査行列に比べて、パリティパートの形状が完全下三角行列の形状から外れる。図7中、情報パートの順列行列Pの上付き字apqは、上述のように、0≦apq≦N−1若しくはapq=∞を有し、上記情報パートの順列行列Pの上付き字apqが0である場合、すなわち、Pは恒等行列を示し、上記順列行列Pの上付き字apqが∞であるとき、すなわち、順列行列Pは0行列を示す。また、pとqは上記パリティ検査行列において、上記情報パートに相当する部分ブロックの行と列の数を示す。さらに、上記パリティパートの順列行列Pの上付き字a、x、yも順列行列Pの指数を示し、但し、説明の便宜上、情報パートとの区分のために異なるように設定しているだけである。すなわち、図7において、
Figure 2007535236
も順列行列であり、上記パリティパートの対角部分に位置する部分行列に順次にインデックスを与えたものである。さらに、図7において、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は、図7のパリティ検査行列を6個の部分ブロックに分割した図である。
図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の転置行列を示し、部分行列T−1は、上記部分行列Tの逆行列を示す。また、図9において、
Figure 2007535236
を示す。さらに、図9において、上記
Figure 2007535236
は、恒等行列になりうることはもちろんである。これは、上述のように、上記順列行列の指数、すなわち、aが0になる場合には、上記
Figure 2007535236
が恒等行列になるためであり、また、上記順列行列の指数、すなわち、aがこの予め設定された値だけ増える場合には、上記順列行列が上記増加した設定値に見合う分だけさらに循環シフトされて、結果的に、上記
Figure 2007535236
が恒等行列となるためである。
以下、図10を参照して、上記ブロックLDPC符号のパリティ検査行列の設計過程について説明する。
図10は、通常のブロックLDPC符号のパリティ検査行列の生成過程を示す手順図である。
図10を説明するに先立ち、ブロックLDPC符号を生成するためには、生成しようとするブロックLDPC符号の符号語サイズと符号化率を決め、上記決められた符号語サイズと符号化率に応じて、パリティ検査行列のサイズを決めなければならない。上記ブロックLDPC符号の符号語サイズがNであり、符号化率がRであるとしたとき、パリティ検査行列のサイズは、N(1−R)×Nとなる。また、図10に示すブロックLDPC符号のパリティ検査行列の生成過程は、はじめに通信システムのシステムの状況に見合うように生成され、それ以降では、上記生成されているパリティ検査行列を用いるものであるため、実質的に、図10のパリティ検査行列の生成過程は、1回だけ行われればよい。
図10を参照すると、先ず、制御器は、ステップS1011において、上記サイズのパリティ検査行列を、横軸方向にp個のブロックに分割し、縦軸方向にq個のブロックに分割して、合計でp×q個のブロックに分割した後、ステップS1013へ進む。ここで、上記ブロックのそれぞれのサイズはN×Nであるため、上記パリティ検査行列は、N×p個の行とN×q個の列により構成される。上記ステップS1013において、上記制御器は、上記p×q個のブロックに分割したパリティ検査行列を情報パートsとパリティパート、すなわち、第1のパリティパートpと第2のパリティパートpに分類し、ステップS1015及びステップS1021へ進む。
上記ステップS1015において、上記制御器は、上記情報パートsを、上記ブロックLDPC符号の高性能を保証する次数分布に見合うように、0ではないブロック、すなわち、0行列ではないブロックと0であるブロック、すなわち、0行列であるブロックを決め、ステップS1017へ進む。ここで、上記ブロックLDPC符号の高性能を保証する次数分布は、上述の通りであるため、ここではその詳細な説明を省く。上記ステップS1017において、上記制御器は、上記ブロックLDPC符号の高性能を保証する次数分布に見合うように決めたブロックのうち、低い次数を有するブロック中の0行列ではない部分に、上述のように、ブロックサイクルの最小サイクルの長さが最大になるように
Figure 2007535236
を決め、ステップS1019へ進む。ここで、上記
Figure 2007535236
を決めるときには、上記情報パートsだけではなく、上記第1のパリティパートpと第2のパリティパートpのブロックサイクルも考慮して決めなければならない。
上記ステップS1019において、上記制御器は、上記ブロックLDPC符号の高性能を保証する次数分布に見合うように決めたブロックのうち、高次数を有するブロック中の0行列ではない部分に、ランダムに
Figure 2007535236
を決めて終了する。ここで、上記高次数を有するブロックのうち、0行列ではない部分に適用すべき
Figure 2007535236
を決めるときにも、同様に、ブロックサイクルの最小サイクルのサイズが最大になるように
Figure 2007535236
を決めなければならず、また、上記情報パートsだけではなく、上記第1のパリティパートpと第2のパリティパートpのブロックサイクルも考慮して決めなければならない。上記のように、パリティ検査行列の情報パートsに
Figure 2007535236
を配列した形が図7に示してある。
一方、上記ステップS1021において、上記制御器は、上記パリティパート、すなわち、第1のパリティパートpと第2のパリティパートpを4個の部分行列、すなわち、部分行列Bと、部分行列Tと、部分行列D及び部分行列Eに分割した後、ステップS1023へ進む。上記ステップS1023において、上記制御器は、上記部分行列Bを構成する部分ブロックのうち、2個の部分ブロックに、0ではない
Figure 2007535236
を入力し、ステップS1025へ進む。ここで、上記部分行列Bを構成する部分ブロックのうち、2個の部分ブロックに、0ではない
Figure 2007535236
を入力する構造は、既に図9を参照して述べている。
上記ステップS1025において、上記制御器は、上記部分行列Tの対角部分ブロックには恒等行列Iを入力し、上記部分行列Tの対角成分下の(i、i+1)番目の部分ブロックには
Figure 2007535236
を入力し、ステップS1027へ進む。ここで、上記部分行列Tの対角部分ブロックには恒等行列Iを入力し、上記部分行列Tの対角成分下の(i、i+1)番目の部分ブロックには
Figure 2007535236
を入力する構造は、既に図9を参照して述べている。
上記ステップS1027において、上記制御器は、上記部分行列Dに順列行列Pを入力し、ステップS1029へ進む。上記ステップS1029において、上記制御器は、上記部分行列Eにおける最後の部分ブロックにのみ
Figure 2007535236
を入力して終了する。ここで、上記部分行列Eを構成する部分ブロックのうち、最後の部分ブロックに
Figure 2007535236
を入力する構造は、既に図9を参照して述べている。
上述のように、LDPC符号は、ターボ符号と一緒に、高速なデータの伝送時に性能ゲインに優れていることが知られており、伝送チャンネルにおいて生じる雑音によるエラーを効果的に訂正して、データ伝送の信頼度を高めることができるというメリットを有する。しかしながら、上記LDPC符号は、符号化率の面から欠点を有する。すなわち、上記LDPC符号は、比較的に高い符号化率を有するため、符号化率の面から自由ではないという短所を有する。現在提案されているLDPC符号の場合、ほとんどが1/2の符号化率を有し、一部のみ1/3の符号化率を有する。このように、符号化率の面からの制限は、結果的に、高速の大容量データの伝送に致命的な影響を及ぼす。もちろん、比較的に低い符号化率を実現するために、密度進化などの方式を用いて最適な性能を示す次数分布を求めることはできるが、上記最適な性能を示す次数分布を有するLDPC符号を実現することは、ファクターグラフ上のサイクル構造とハードウェアの実現などの種々の制約条件によって困難である。
そこで、本発明の目的は、移動通信システムにおいて、可変ブロック長を有するLDPC符号を符号化/復号化する装置及び方法を提供するところにある。
本発明の他の目的は、移動通信システムにおいて、符号化の複雑度が最低化された、可変ブロック長を有するLDPC符号を符号化/復号化する装置及び方法を提供するところにある。
上記の目的を達成するために、本発明の方法は、可変長を有するブロック低密度パリティ検査(LDPC)符号を符号化する方法において、情報語が入力されるステップと、上記情報語をブロックLDPC符号として生成するときに適用される長さに応じて第1のパリティ検査行列と第2のパリティ検査行列のうちのどちらか一方のパリティ検査行列を基に符号化を行い、上記ブロックLDPC符号として生成するステップと、を含むことを特徴とする。
上記の目的を達成するために、本発明の他の方法は、可変長を有するブロック低密度パリティ検査(LDPC)符号を復号化する方法において、信号を受信するステップと、復号化するブロックLDPC符号の長さに応じて、第1のパリティ検査行列及び第2のパリティ検査行列のうちのどちらを用いるかを決め、上記決められたパリティ検査行列に応じて上記受信信号を復号化して上記ブロックLDPC符号として検出するステップと、を含むことを特徴とする。
上記の目的を達成するために、本発明の装置は、可変長を有するブロック低密度パリティ検査(LDPC)符号を符号化する装置において、情報語をブロックLDPC符号として生成するときに適用される長さに応じて、第1のパリティ検査行列と第2のパリティ検査行列のうちのどちらか一方のパリティ検査行列を基に符号化を行い、上記符号語を上記ブロックLDPC符号として生成する符号化器と、上記ブロックLDPC符号を予め設定されている変調方式により変調して変調シンボルとして生成する変調器と、上記変調シンボルを送信する送信機と、を備えることを特徴とする。
上記の目的を達成するために、本発明の他の装置は、可変長を有するブロック低密度パリティ検査(LDPC)符号を復号化する装置において、信号を受信する受信機と、復号化するブロックLDPC符号の長さに応じて、第1のパリティ検査行列及び第2のパリティ検査行列のうちのどちらを用いるかを決め、上記決められたパリティ検査行列に応じて上記受信信号を復号化して上記ブロックLDPC符号として検出する復号化器と、を備えることを特徴とする。
本発明は、移動通信システムにおいて、最小サイクル長が最大となる可変長ブロックLDPC符号を提案することにより、エラー訂正能力を最大化させて、システムの性能を高めるという利点を有する。また、本発明は、効率よいパリティ検査行列を生成することにより、可変長ブロックLDPC符号の符号化の複雑度を最小化させるという利点を有する。さらに、可変長ブロックLDPC符号の符号化の複雑度をブロック長に比例させて、効率よい符号化を可能にするという利点を有する。特に、本発明は、種々の符号化率に適用可能であり、且つ、様々なブロック長を有するブロックLDPC符号を生成可能にすることにより、ハードウェアの複雑度を最小化させるという利点を有する。
以下、添付した図面に基づき、本発明に係る好適な実施の形態を詳細に説明する。本発明を説明するに当たって、関連する公知の機能あるいは構成についての詳細な説明が本発明の要旨を余計に曖昧にすると認められる場合、その詳細な説明を省く。
本発明は、可変ブロック長を有するブロック低密度パリティ検査(LDPC:Low Density Parity Check、以下、「LDPC」と称する。)符号(以下、「可変長ブロックLDPC符号」と称する。)を符号化及び復号化する装置及び方法を提案する。すなわち、本発明は、ブロックLDPC符号のファクターグラフ上の最小サイクルの長さが最大となり、上記ブロックLDPC符号の符号化のための複雑度が最小となり、上記ブロックLDPC符号のファクターグラフ上の次数分布が最適値の1の分布を有しながらも、様々なブロック長を支援する可変長ブロックLDPC符号の符号化及び復号化装置及び方法を提案する。さらに、本発明において、別途に図示及び説明してはいないが、従来の技術の部分の図1における送受信機の構成に、本発明の可変長ブロックLDPC符号の符号化及び復号化装置を適用できることはもちろんである。
特に、次世代の移動通信システムは、パケットサービス通信システムの形で発展してきており、パケットサービス通信システムは、バースト状のパケットデータを多数の移動局に伝送するシステムであって、大容量データの伝送に適するように設計されてきている。特に、上記データの伝送量を増やすために、複合再伝送(HARQ:Hybrid Automatic Retransmission Request、以下、「HARQ」と称する。)方式と適応的な変調及び符号化(AMC:Adaptive Modulation and Coding、以下、「AMC」と称する。)方式などの様々な方式が提案されており、上記HARQ方式及びAMC方式などにおいては、可変符号化率を支援するため、様々なブロック長を有するブロックLDPC符号が望まれている。
上記可変長ブロックLDPC符号の設計は、通常のLDPC符号を設計する場合と同様に、パリティ検査行列の設計により実現される。ところが、移動通信システムにおいて、1個のコーデック(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の実施の形態ないし第15の実施の形態による可変長ブロックLDPC符号の符号化過程を示す手順図である。
図15を説明するに先立ち、上記可変長ブロックLDPC符号のパリティ検査行列は、上記従来の技術の欄の図8を参照して説明したように、6個の部分行列により構成されているとする。図15を参照すると、先ず、制御器(図示せず)は、ステップS1511において、上記可変長ブロックLDPC符号に符号化するための
Figure 2007535236
が入力され、ステップS1513及びステップS1515へ進む。ここで、上記ブロックLDPC符号に符号化するために入力された
Figure 2007535236
の長さは、kであるとする。上記ステップS1513において、上記制御器は、上記入力された
Figure 2007535236
、ステップS1517へ進む。ここで、上記部分行列Aに存在する1の値を有するエレメントの数は、0の値を有するエレメントの数に比べて極めて少数であるため、上記
Figure 2007535236
とパリティ検査行列の部分行列Aの行列乗算は、比較的に小さい回数の和積演算だけでも可能になる。また、上記部分行列Aにおいて1の値を有するエレメントの位置は、0ではないブロックの位置と、そのブロックの順列行列の指数乗算により示すことができるので、任意のパリティ検査行列に比べて極めて簡単な演算だけでも行列乗算を行うことができる。また、上記ステップS1515において、上記制御器は、
Figure 2007535236
、ステップS1519へ進む。
一方、上記ステップ1517において、上記制御器は、上記
Figure 2007535236
、ステップS1519へ進む。ここで、上述のように、上記行列ET−1の1の値を有するエレメントの数は極めて少数であるため、ブロックの順列行列の指数さえ知っていると、上記行列乗算を容易に行うことができる。上記ステップ1519において、上記制御器は、
Figure 2007535236
、ステップS1821へ進む。ここで、加算演算は排他的加算演算であって、同じビットが加算されるときには0となり、異なるビットが加算されるときには1となる。結局、上記ステップS1519までの過程は、
Figure 2007535236
を計算するための過程である。
上記ステップS1521において、上記制御器は、
Figure 2007535236
、ステップS1523へ進む。ここで、
Figure 2007535236
、上記パリティ検査行列の部分行列Tの逆行列T−1を行列乗算しなければならない。このため、上記ステップS1523において、上記制御器は、上記
Figure 2007535236
を求めるために、上記ステップS1521において計算した
Figure 2007535236
、ステップS1525へ進む。上述したように、符号化したいブロックLDPC符号の
Figure 2007535236
のみを知っていれば、
Figure 2007535236
を求めることができ、その結果、符号語ベクトルを全て得ることが可能になる。そして、上記制御器は、ステップS1525において、上記
Figure 2007535236
として生成された
Figure 2007535236
を生成して伝送し、終了する。
次に、図16に基づき、本発明の第1の実施の形態ないし第15の実施の形態における機能を行うための可変長ブロックLDPC符号の符号化装置の内部構造を説明する。
図16は、本発明の実施の形態における機能を行うための可変長ブロックLDPC符号の符号化装置の内部構造を示すブロック図である。
図16を参照すると、上記可変長ブロックLDPC符号の符号化装置は、行列A乗算器1611と、行列C乗算器1613と、行列ET−1乗算器1615と、加算器1617と、行列B乗算器1619と、加算器1621と、行列T−1乗算器1623と、スイッチ1625、1627、1629と、を備える。
先ず、入力信号、すなわち、可変長ブロックLDPC符号に符号化したい長さkの
Figure 2007535236
が入力され、上記入力された長さkの
Figure 2007535236
は、上記スイッチ1625と、行列A乗算器1611と、行列C乗算器1613に入力される。上記行列A乗算器1611は、上記
Figure 2007535236
と全体のパリティ検査行列の部分行列Aを乗算した後、行列ET−1乗算器1615と上記加算器1621に出力する。また、上記行列C乗算器1613は、上記
Figure 2007535236
と全体のパリティ検査行列の部分行列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の
Figure 2007535236
を出力する。ここで、上記
Figure 2007535236
は、同じビットが演算されると0となり、異なるビットが演算されると1となる排他的論理和演算を言う。結局、上記加算器1617から出力する信号が
Figure 2007535236
となる。
また、上記行列B乗算器1619は、上記加算器1617から出力された信号、すなわち、
Figure 2007535236
を入力して上記全体のパリティ検査行列の部分行列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の出力が、結果的に、
Figure 2007535236
となる。一方、上記スイッチ1625、1627、1629のそれぞれは、自分が伝送する時点においてのみスイッチングオンされて当該信号を伝送するようにする。すなわち、上記
Figure 2007535236
が伝送される時点においては、上記スイッチ1625がスイッチングオンされ、上記
Figure 2007535236
が伝送される時点においては、上記スイッチ1627がスイッチングオンされ、上記
Figure 2007535236
が伝送される時点においては、上記スイッチ1629がスイッチングオンとなる。
また、図17を参照して詳述するが、本発明の実施の形態においては、可変長を有するブロックLDPC符号を生成することが可能でなければならないため、図16の可変長ブロックLDPC符号の符号化装置に用いられる行列のそれぞれは、上記可変長ブロックLDPC符号のパリティ検査行列が変更される都度、それに応じて変更されることはもちろんである。このため、図16には別に示してはいないが、制御器が、上記可変長ブロックLDPC符号のパリティ検査行列が変更されるに伴い、上記可変長ブロックLDPC符号の符号化装置に用いられる行列を変更することはもちろんである。
以上、効率よい符号化を考慮した可変長ブロックLDPC符号の生成方法について説明した。上述したように、可変長ブロックLDPC符号は、可変長ブロックLDPC符号の構造的な特性によって、パリティ検査行列に関する情報を格納するためのメモリー効率に優れているだけではなく、パリティ検査行列から部分行列を適切に選択することにより、効率よい符号化が可能になる。ところが、ブロック単位でパリティ検査行列を生成するに伴い、不規則性は減少し、上記不規則性の減少は、ブロック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符号のパリティ検査行列を構成する順列行列は、
Figure 2007535236
のように表わすことができ、順列行列Pの上付き字apqは0≦apq≦N−1若しくはapq=∞を有する。すなわち、上記
Figure 2007535236
は、上記多数の部分ブロックにより構成された可変長ブロックLDPC符号のパリティ検査行列のp番目の行とq番目の列が交差する個所の部分ブロックに存在する順列行列を示す。このため、図11に示す順列行列の指数値は上記apqであり、上記順列行列の指数値に、上記部分行列のサイズに相当するN値をモジューロ演算すると、上記N値を有する可変長ブロックLDPC符号のパリティ検査行列の順列行列の指数値が得られる。ここで、上記順列行列の指数が上記N値にモジューロ演算された場合、その結果値が0であれば、当該順列行列は恒等行列となる。
以下、一層具体的な説明のために、下記の如きパラメータを定義する。
先ず、図11に示す可変長ブロックLDPC符号のパリティ検査行列を「母行列」と称し、上記母行列を構成する部分行列、すなわち、順列行列のうちの0行列ではない順列行列の数をLと定義し、上記母行列を構成する順列行列のうち、0行列がL個の順列行列の指数がa、a、・・・、aであり、上記母行列を構成する順列行列のサイズはNであるとする。ここで、上記母行列を構成する順列行列のうちの0行列ではない順列行列がL個であるため、最初の順列行列はその指数がaとなり、2番目の順列行列はその指数がaとなり、このようにして最後の順列行列であるL番目の順列行列はその指数がaとなる。
また、上記母行列とは異なり、新たに生成するパリティ検査行列を「子行列」と称し、上記子行列を構成する部分行列、すなわち、順列行列のうちの0行列ではない順列行列の数をLであると定義し、上記子行列を構成する順列行列のサイズがN’であり、上記子行列を構成する順列行列の指数がa’、a’、・・・、a’であるとする。ここで、上記子行列を構成する順列行列のうちの0行列ではない順列行列がL個であるため、最初の順列行列はその指数がa’となり、2番目の順列行列はその指数がa’となり、このようにして、最後の順列行列であるL番目の順列行列はその指数がa’となる。
すると、下記式5を用い、1個の母行列から生成したい子行列を構成する順列行列のサイズN’を選択して、可変ブロック長を有する子行列を生成することが可能である。
Figure 2007535236
次に、図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である場合、当該順列行列は恒等行列となる。
次に、図18を参照し、符号化率1/2である場合の可変長ブロックLDPC符号の具体的に生成方法について説明する。
図18は、本発明の第5の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。
図18を説明するに先立ち、上記本発明の第1の実施の形態は、符号化率が1/2である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図18を参照すると、図示のパリティ検査行列を用いて、上記部分行列のサイズであるN値に基づき長さが48NであるブロックLDPC符号を生成することができる。図18に示すブロック、すなわち、部分行列のそれぞれに表記されている値は、順列行列の指数値を示す。このため、上記順列行列の指数値に、上記部分行列のサイズに相当するN値をモジューロ演算すると、上記N値を有するブロックLDPC符号のパリティ検査行列の順列行列の指数値が得られる。ここで、上記順列行列の指数に、上記N値のモジューロ演算を行ったとき、その結果値が0である場合、当該順列行列は恒等行列となる。
次に、図19を参照し、符号化率が2/3である場合の可変長ブロックLDPC符号の具体的に生成方法について説明する。
図19は、本発明の第6の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。
図19を説明するに先立ち、上記本発明の第6の実施の形態は、符号化率が2/3である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図19を参照すると、図示のパリティ検査行列を用いて、上記部分行列のサイズであるN値に基づき長さが48NであるブロックLDPC符号を生成することができる。図19に示すブロック、すなわち、部分行列のそれぞれに表記されている値は、順列行列の指数値を示す。このため、上記順列行列の指数値に、上記部分行列のサイズに相当するN値をモジューロ演算すると、上記N値を有するブロックLDPC符号のパリティ検査行列の順列行列の指数値が得られる。ここで、上記順列行列の指数に、上記N値のモジューロ演算を行ったとき、その結果値が0である場合、当該順列行列は恒等行列となる。
次に、図20を参照し、符号化率が3/4である場合の可変長ブロックLDPC符号の具体的に生成方法について説明する。
図20は、本発明の第7の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。
図20を説明するに先立ち、上記本発明の第7の実施の形態は、符号化率が3/4である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図20を参照すると、図示のパリティ検査行列を用いて、上記部分行列のサイズであるN値に基づき長さが48NであるブロックLDPC符号を生成することができる。図20に示すブロック、すなわち、部分行列のそれぞれに表記されている値は、順列行列の指数値を示す。このため、上記順列行列の指数値に、上記部分行列のサイズに相当するN値をモジューロ演算すると、上記N値を有するブロックLDPC符号のパリティ検査行列の順列行列の指数値が得られる。ここで、上記順列行列の指数に、上記N値のモジューロ演算を行ったとき、その結果値が0である場合、当該順列行列は恒等行列となる。
次に、図21を参照し、符号化率が3/4である場合の可変長ブロックLDPC符号の具体的に生成方法について説明する。
図21は、本発明の第8の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。
図21を説明するに先立ち、上記本発明の第8の実施の形態は、符号化率が3/4である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図21を参照すると、図示のパリティ検査行列を用いて、上記部分行列のサイズであるN値に基づき長さが48NであるブロックLDPC符号を生成することができる。図21に示すブロック、すなわち、部分行列のそれぞれに表記されている値は、順列行列の指数値を示す。このため、上記順列行列の指数値に、上記部分行列のサイズに相当するN値をモジューロ演算すると、上記N値を有するブロックLDPC符号のパリティ検査行列の順列行列の指数値が得られる。ここで、上記順列行列の指数に、上記N値のモジューロ演算を行ったとき、その結果値が0である場合、当該順列行列は恒等行列となる。
次に、図22を参照し、符号化率が1/2である場合の可変長ブロックLDPC符号の具体的に生成方法について説明する。
図22は、本発明の第9の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。
図22を説明するに先立ち、上記本発明の第9の実施の形態は、符号化率が1/2である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図22を参照すると、図示のパリティ検査行列を用いて、上記部分行列のサイズであるN値に基づき長さが24NであるブロックLDPC符号を生成することができる。図22に示すブロック、すなわち、部分行列のそれぞれに表記されている値は、順列行列の指数値を示す。このため、上記順列行列の指数値に、上記部分行列のサイズに相当するN値をモジューロ演算すると、上記N値を有するブロックLDPC符号のパリティ検査行列の順列行列の指数値が得られる。ここで、上記順列行列の指数に、上記N値のモジューロ演算を行ったとき、その結果値が0である場合、当該順列行列は恒等行列となる。
次に、図23を参照し、符号化率が1/2である場合の可変長ブロックLDPC符号の具体的に生成方法について説明する。
図23は、本発明の第10の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。
図23を説明するに先立ち、上記本発明の第10の実施の形態は、符号化率が1/2である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図23を参照すると、図示のパリティ検査行列を用いて、上記部分行列のサイズであるN値に基づき長さが24NであるブロックLDPC符号を生成することができる。図23に示すブロック、すなわち、部分行列のそれぞれに表記されている値は、順列行列の指数値を示す。このため、上記順列行列の指数値に、上記部分行列のサイズに相当するN値をモジューロ演算すると、上記N値を有するブロックLDPC符号のパリティ検査行列の順列行列の指数値が得られる。ここで、上記順列行列の指数に、上記N値のモジューロ演算を行ったとき、その結果値が0である場合、当該順列行列は恒等行列となる。
次に、図24を参照し、符号化率が2/3である場合の可変長ブロックLDPC符号の具体的に生成方法について説明する。
図24は、本発明の第11の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。
図24を説明するに先立ち、上記本発明の第11の実施の形態は、符号化率が2/3である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図24を参照すると、図示のパリティ検査行列を用いて、上記部分行列のサイズであるN値に基づき長さが24NであるブロックLDPC符号を生成することができる。図24に示すブロック、すなわち、部分行列のそれぞれに表記されている値は、順列行列の指数値を示す。このため、上記順列行列の指数値に、上記部分行列のサイズに相当するN値をモジューロ演算すると、上記N値を有するブロックLDPC符号のパリティ検査行列の順列行列の指数値が得られる。ここで、上記順列行列の指数に、上記N値のモジューロ演算を行ったとき、その結果値が0である場合、当該順列行列は恒等行列となる。
次に、図25を参照し、符号化率が2/3である場合の可変長ブロックLDPC符号の具体的に生成方法について説明する。
図25は、本発明の第12の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。
図25を説明するに先立ち、上記本発明の第12の実施の形態は、符号化率が2/3である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図25を参照すると、図示のパリティ検査行列を用いて、上記部分行列のサイズであるN値に基づき長さが24NであるブロックLDPC符号を生成することができる。図25に示すブロック、すなわち、部分行列のそれぞれに表記されている値は、順列行列の指数値を示す。このため、上記順列行列の指数値に、上記部分行列のサイズに相当するN値をモジューロ演算すると、上記N値を有するブロックLDPC符号のパリティ検査行列の順列行列の指数値が得られる。ここで、上記順列行列の指数に、上記N値のモジューロ演算を行ったとき、その結果値が0である場合、当該順列行列は恒等行列となる。
次に、図26を参照し、符号化率が1/2である場合の可変長ブロックLDPC符号の具体的に生成方法について説明する。
図26は、本発明の第13の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。
図26を説明するに先立ち、上記本発明の第13の実施の形態は、符号化率が1/2である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図26を参照すると、図示のパリティ検査行列を用いて、上記部分行列のサイズであるN値に基づき長さが24NであるブロックLDPC符号を生成することができる。図26に示すブロック、すなわち、部分行列のそれぞれに表記されている値は、順列行列の指数値を示す。このため、上記順列行列の指数値に、上記部分行列のサイズに相当するN値をモジューロ演算すると、上記N値を有するブロックLDPC符号のパリティ検査行列の順列行列の指数値が得られる。ここで、上記順列行列の指数に、上記N値のモジューロ演算を行ったとき、その結果値が0である場合、当該順列行列は恒等行列となる。
次に、図27を参照し、符号化率が1/2である場合の可変長ブロックLDPC符号の具体的に生成方法について説明する。
図27は、本発明の第14の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。
前記図27を説明するに先立ち、上記本発明の第14の実施の形態は、符号化率が1/2である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図27を参照すると、図示のパリティ検査行列を用いて、上記部分行列のサイズであるN値に基づき長さが24NであるブロックLDPC符号を生成することができる。図27に示すブロック、すなわち、部分行列のそれぞれに表記されている値は、順列行列の指数値を示す。このため、上記順列行列の指数値に、上記部分行列のサイズに相当するN値をモジューロ演算すると、上記N値を有するブロックLDPC符号のパリティ検査行列の順列行列の指数値が得られる。ここで、上記順列行列の指数に、上記N値のモジューロ演算を行ったとき、その結果値が0である場合、当該順列行列は恒等行列となる。
次に、図28を参照し、符号化率が2/3である場合の可変長ブロックLDPC符号の具体的に生成方法について説明する。
図28は、本発明の第15の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。
図28を説明するに先立ち、上記本発明の第15の実施の形態は、符号化率が2/3である場合の可変長ブロックLDPC符号のパリティ検査行列を提案する。図28を参照すると、図示のパリティ検査行列を用いて、部分ブロックのサイズであるN値に基づき長さが24NであるブロックLDPC符号を生成することができる。図28に示す部分ブロック、すなわち、部分行列のそれぞれに表記されている値は、順列行列の指数値を示す。このため、上記順列行列の指数値に、上記部分行列のサイズに相当するN値をモジューロ演算すると、上記N値を有するブロックLDPC符号のパリティ検査行列の順列行列の指数値が得られる。ここで、上記順列行列の指数に、上記N値のモジューロ演算を行ったとき、その結果値が0である場合、当該順列行列は恒等行列となる。
一方、上記LDPC符号系の全ての符号は、ファクターグラフ上において和積アルゴリズムにより復号化することが可能である。上記LDPC符号の復号化方式は、両方向伝達方式と流れ伝達方式に大別できる。上記両方向伝達方式により復号化動作を行う場合には、1検査ノードごとにノードプロセッサーがそれぞれ存在して復号化器の複雑度が上記検査ノードの数に比例して複雑になるが、全てのノードが同時に更新されるため、復号化の速度が非常に早くなる。
これとは異なり、上記流れ伝達方式は、1個のノードプロセッサーが存在して全てのファクターグラフ上のノードを通過しながら情報を更新する。このため、復号化器の複雑度は簡単になるが、パリティ検査行列のサイズが大きくなるほど、すなわち、ノードの数が増えるほど、復号化の速度が遅くなる。しかしながら、本発明において提案する符号化率に応じて、様々なブロック長を有する可変長ブロック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は、上記受信信号のブロックサイズを決め、また、上記復号化装置に対応する符号化装置に空いている情報語部分が存在する場合、上記空いている情報語部分に0を挿入して全体のブロックサイズを調整した後、上記変数ノード復号化器1711に出力する。
上記変数ノード復号化器1711は、上記ブロック制御器1710から出力された信号を入力し、上記ブロック制御器1710から出力された信号の確率値を計算し、上記計算された確率値を更新した後、上記スイッチ1713及び上記スイッチ1714に出力する。ここで、上記変数ノード復号化器1711は、上記不均一ブロックLDPC符号の復号化装置に予め設定されているパリティ検査行列に応じて変数ノードを接続し、上記変数ノードに接続された1の数分の入力値と出力値を有する更新演算が行われる。上記変数ノードのそれぞれに接続された1の数は、上記パリティ検査行列を構成する列のそれぞれのウェイトと同じである。このため、上記パリティ検査行列を構成する列のそれぞれのウェイトに応じて、上記変数ノード復号化器1711の内部演算が異なってくる。上記スイッチ1714は、上記スイッチ1713がスイッチングオンとなる場合のみを除外し、スイッチングオンとなって上記ブロック制御器1710から出力される信号を上記加算器1715に送る。
上記加算器1715は、上記変数ノード復号化器1711から出力された信号と以前の繰り返し復号化過程における上記インタリーバー1719の出力信号を入力し、上記変数ノード復号化器1711から出力された信号から、以前の繰り返し復号化過程における上記インタリーバー1719の出力信号を減算した後、上記デインタリーバー1717に出力する。ここで、上記復号化過程が最初の復号化過程である場合、上記インタリーバー1719の出力信号は0として見なすべきであることはもちろんである。
上記デインタリーバー1717は、上記加算器1715から出力された信号を入力し、予め設定されている設定方式に応じてデインタリーブした後、上記加算器1725と検査ノード復号化器1727に出力する。ここで、上記デインタリーバー1717の内部構造は、上記パリティ検査行列に見合う構造を有し、その理由は、上記パリティ検査行列の1の値を有するエレメントの位置に応じて、上記デインタリーバー1717に対応するインタリーバー1719の入力値に対する出力値が異なるためである。
上記加算器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個の部分ブロックに分割した図である。 図7のパリティ検査行列の部分行列を、図8の部分行列Bの転置行列と、部分行列Eと、部分行列Tと、部分行列Tの逆行列として示す図である。 本発明の実施の形態によるブロックLDPC符号のパリティ検査行列の生成過程を示す手順図である。 本発明の第1の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第2の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第3の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第4の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第1の実施の形態ないし第4の実施の形態による可変長ブロックLDPC符号の符号化過程を示す手順図である。 本発明の実施の形態における機能を行うための可変長ブロックLDPC符号の符号化装置の内部構造を示すブロック図である。 本発明の実施の形態における機能を行うブロックLDPC符号の復号化装置の内部構造を示す図である。 本発明の第5の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第6の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第7の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第8の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第9の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第10の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第11の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第12の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第13の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第14の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の第15の実施の形態による可変長ブロックLDPC符号のパリティ検査行列を示す図である。
符号の説明
100 送信機
111 符号化器
113 変調器
115 無線周波数(RF)処理器
150 受信機
151 RF処理器
153 復調器
155 復号化器
300 変数ノードx
302 変数ノードx
304 変数ノードx
306 変数ノードx
308 変数ノードx
310 変数ノードx
312 変数ノードx
314 変数ノードx
316、318、320、322 検査ノード
802 部分ブロックA
804 部分ブロックC
806 部分ブロックB
808 部分ブロックD
810 部分ブロックT
812 部分ブロックE
1611 行列A乗算器
1613 行列C乗算器
1615 行列ET−1乗算器
1617 加算器
1619 行列B乗算器
1621 加算器
1623 行列T−1乗算器
1625、1627、1629 スイッチ
1700 変数ノードパート
1710 ブロック制御器
1711 変数ノード復号化器
1713、1714 スイッチ
1715 加算器
1717 デインタリーバー
1719 インタリーバー
1721 制御器
1723 メモリー
1725 加算器
1727 検査ノード復号化器
1729 硬判定器
1750 検査ノードパート

Claims (101)

  1. 可変長を有するブロック低密度パリティ検査(LDPC)符号を符号化する方法において、
    情報語が入力されるステップと、
    前記情報語をブロックLDPC符号として生成するときに適用される長さに応じて、第1のパリティ検査行列と第2のパリティ検査行列のうちのどちらか一方のパリティ検査行列を基に符号化を行い、前記ブロックLDPC符号として生成するステップと、を含むことを特徴とする前記方法。
  2. 前記ブロックLDPC符号を予め設定されている変調方式により変調して変調シンボルとして生成するステップと、
    前記変調シンボルを送信するステップと、をさらに含むことを特徴とする請求項1に記載の前記方法。
  3. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列のサイズを可変させたパリティ検査行列であることを特徴とする請求項1に記載の前記方法。
  4. 前記第1のパリティ検査行列は、予め設定されている符号化率を満足するように、且つ、前記ブロックLDPC符号が予め設定された長さを有するように生成されたパリティ検査行列であることを特徴とする請求項3に記載の前記方法。
  5. 前記第1のパリティ検査行列は、予め設定された数の部分ブロックを含み、前記部分ブロックは、所定のサイズを有することを特徴とする請求項4に記載の前記方法。
  6. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列の部分ブロックのサイズを可変させたパリティ検査行列であることを特徴とする請求項5に記載の前記方法。
  7. 前記部分ブロックのそれぞれには、予め設定された順列行列が一対一に対応付けられることを特徴とする請求項6に記載の前記方法。
  8. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列の順列行列のうちの0行列ではない順列行列の指数と前記第2のパリティ検査行列の部分ブロックのサイズに応じて、前記第2のパリティ検査行列の順列行列のうちの0行列ではない順列行列の指数が決められて生成されたパリティ検査行列であることを特徴とする請求項7に記載の前記方法。
  9. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列の順列行列のうちの0行列ではないL個の順列行列の指数がa、a、・・・、aであり、前記第1のパリティ検査行列の部分ブロックのサイズがN×N(N)であり、前記第2のパリティ検査行列の順列行列のうちの0行列ではないL個の順列行列の指数がa’、a’、・・・、a’であり、前記第2のパリティ検査行列の部分ブロックのサイズがN’×N’(N’)である場合、下記式6の関係が成り立つことを特徴とする請求項7に記載の前記方法。
    Figure 2007535236
    但し、前記式6中、modはモジューロ演算を示す。
  10. 前記情報語を前記ブロックLDPC符号として生成するステップは、
    前記長さに応じて、前記第1のパリティ検査行列及び第2のパリティ検査行列のうちのどちらを用いるかを決めるステップと、
    前記情報語を前記決められたパリティ検査行列の第1の部分行列と乗算して第1の信号として生成するステップと、
    前記情報語を前記決められたパリティ検査行列の第2の部分行列と乗算して第2の信号として生成するステップと、
    前記第1の信号と、前記パリティ検査行列の第3の部分行列及び第4の部分行列の逆行列の行列積とを乗算して、第3の信号として生成するステップと、
    前記第2の信号と第3の信号を加算して第4の信号として生成するステップと、
    前記第4の信号と前記パリティ検査行列の第5の部分行列を乗算して第5の信号として生成するステップと、
    前記第2の信号と前記第5の信号を加算して第6の信号として生成するステップと、
    前記第6の信号と、前記パリティ検査行列の第4の部分行列の逆行列の行列積とを乗算して、第7の信号として生成するステップと、
    前記情報語と、第1のパリティとしての前記第4の信号と、第2のパリティとしての前記第7の信号を、前記ブロックLDPC符号フォーマットに応じて多重化して出力するステップと、を含むことを特徴とする請求項9に記載の前記方法。
  11. 前記第1の部分行列及び第2の部分行列は、前記決められたパリティ検査行列における情報語と関連する情報パートに対応する部分行列であることを特徴とする請求項10に記載の前記方法。
  12. 前記第3の部分行列と第4の部分行列は、パリティと関連する第1のパリティパートに対応する部分行列であり、前記第5の部分行列と第6の部分行列は、前記パリティと関連する第2のパリティパートに対応する部分行列であることを特徴とする請求項11に記載の前記方法。
  13. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表1で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表1において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  14. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表2で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表2において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  15. 前記符号化率が3/4である場合、前記第1のパリティ検査行列は、下記表3で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表3において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  16. 前記符号化率が5/6である場合、前記第1のパリティ検査行列は、下記表4で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表4において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  17. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表5で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表5において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  18. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表6で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表6において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  19. 前記符号化率が3/4である場合、前記第1のパリティ検査行列は、下記表7で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表7において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  20. 前記符号化率が3/4である場合、前記第1のパリティ検査行列は、下記表8で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表8において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  21. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表9で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表9において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  22. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表10で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表10において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  23. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表11で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表11において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  24. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表12で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表12において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  25. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表13で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表13において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  26. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表14で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表14において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  27. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表15で表わされることを特徴とする請求項5に記載の前記方法。
    Figure 2007535236
    前記表15において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  28. 可変長を有するブロック低密度パリティ検査(LDPC)符号を符号化する装置において、
    情報語をブロックLDPC符号として生成するときに適用される長さに応じて、第1のパリティ検査行列と第2のパリティ検査行列のうちのどちらか一方のパリティ検査行列を基に符号化を行い、前記ブロックLDPC符号として生成する符号化器と、
    前記ブロックLDPC符号を予め設定されている変調方式により変調して変調シンボルとして生成する変調器と、
    前記変調シンボルを送信する送信機と、を備えることを特徴とする前記装置。
  29. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列のサイズを可変させたパリティ検査行列であることを特徴とする請求項28に記載の前記装置。
  30. 前記第1のパリティ検査行列は、予め設定されている符号化率を満足するように、且つ、前記ブロックLDPC符号が予め設定された長さを有するように生成されたパリティ検査行列であることを特徴とする請求項29に記載の前記装置。
  31. 前記第1のパリティ検査行列は、予め設定された数の部分ブロックを含み、前記部分ブロックは、所定のサイズを有することを特徴とする請求項30に記載の前記装置。
  32. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列の部分ブロックのサイズを可変させたパリティ検査行列であることを特徴とする請求項31に記載の前記装置。
  33. 前記部分ブロックのそれぞれには、予め設定された順列行列が一対一に対応付けられることを特徴とする請求項32に記載の前記装置。
  34. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列の順列行列のうちの0行列ではない順列行列の指数と前記第2のパリティ検査行列の部分ブロックのサイズに応じて、前記第2のパリティ検査行列の順列行列のうちの0行列ではない順列行列の指数が決められて生成されたパリティ検査行列であることを特徴とする請求項33に記載の前記装置。
  35. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列の順列行列のうちの0行列ではないL個の順列行列の指数がa、a、・・・、aであり、前記第1のパリティ検査行列の部分ブロックのサイズがN×N(N)であり、前記第2のパリティ検査行列の順列行列のうちの0行列ではないL個の順列行列の指数がa’、a’ 、・・・、a’であり、前記第2のパリティ検査行列の部分ブロックのサイズがN’×N’(N’)である場合、下記式7の関係が成り立つことを特徴とする請求項34に記載の前記装置。
    Figure 2007535236
    但し、前記式7において、modはモジューロ演算を示す。
  36. 前記符号化器は、
    前記長さに応じて、前記第1のパリティ検査行列及び第2のパリティ検査行列のうちのどちらを用いるかを決める制御器と、
    前記情報語を前記決められたパリティ検査行列の第1の部分行列と乗算する第1の行列乗算器と、
    前記情報語を前記決められたパリティ検査行列の第2の部分行列と乗算する第2の行列乗算器と、
    前記第1の行列乗算器から出力された信号と、前記パリティ検査行列の第3の部分行列と第4の部分行列の逆行列の行列積とを乗算する第3の行列乗算器と、
    前記第2の行列乗算器から出力された信号と第3の行列乗算器から出力された信号を加算する第1の加算器と、
    前記第1の加算器から出力された信号と前記パリティ検査行列の第5の部分行列を乗算する第4の行列乗算器と、
    前記第2の行列乗算器から出力された信号と前記第4の行列乗算器から出力された信号を加算する第2の加算器と、
    前記第2の加算器から出力された信号と、前記パリティ検査行列の第4の部分行列の逆行列の行列積とを乗算する第5の行列乗算器と、
    前記情報語と、第1のパリティとしての前記第1の加算器の出力信号と、第2のパリティとしての前記第5の行列乗算器の出力信号を、前記ブロックLDPC符号フォーマットに応じて多重化して出力するスイッチと、を備えることを特徴とする請求項35に記載の前記装置。
  37. 前記第1の部分行列及び第2の部分行列は、前記決められたパリティ検査行列における情報語と関連する情報パートに対応する部分行列であることを特徴とする請求項36に記載の前記装置。
  38. 前記第3の部分行列と第4の部分行列は、パリティと関連する第1のパリティパートに対応する部分行列であり、前記第5の部分行列と第6の部分行列は、前記パリティと関連する第2のパリティパートに対応する部分行列であることを特徴とする請求項37に記載の前記装置。
  39. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表16で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表16において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  40. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表17で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表17において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  41. 前記符号化率が3/4である場合、前記第1のパリティ検査行列は、下記表18で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表18において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  42. 前記符号化率が5/6である場合、前記第1のパリティ検査行列は、下記表19で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表19において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  43. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表20で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表20において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  44. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表21で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表21において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  45. 前記符号化率が3/4である場合、前記第1のパリティ検査行列は、下記表22で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表22において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  46. 前記符号化率が3/4である場合、前記第1のパリティ検査行列は、下記表23で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表23において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  47. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表24で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表24において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  48. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表25で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表25において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  49. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表26で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表26において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  50. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表27で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表27において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  51. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表28で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表28において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  52. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表29で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表29において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  53. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表30で表わされることを特徴とする請求項31に記載の前記装置。
    Figure 2007535236
    前記表30において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  54. 可変長を有するブロック低密度パリティ検査(LDPC)符号を復号化する方法において、
    信号を受信するステップと、
    復号化するブロックLDPC符号の長さに応じて、第1のパリティ検査行列及び第2のパリティ検査行列のうちのどちらを用いるかを決め、前記決められたパリティ検査行列に応じて前記受信信号を復号化して前記ブロックLDPC符号として検出するステップと、を含むことを特徴とする前記方法。
  55. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列のサイズを可変させたパリティ検査行列であることを特徴とする請求項54に記載の前記方法。
  56. 前記第1のパリティ検査行列は、予め設定されている符号化率を満足するように、且つ、前記ブロックLDPC符号が予め設定された長さを有するように生成されたパリティ検査行列であることを特徴とする請求項55に記載の前記方法。
  57. 前記第1のパリティ検査行列は、予め設定された数の部分ブロックを含み、前記部分ブロックは、所定のサイズを有することを特徴とする請求項56に記載の前記方法。
  58. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列の部分ブロックのサイズを可変させたパリティ検査行列であることを特徴とする請求項57に記載の前記方法。
  59. 前記部分ブロックのそれぞれには、予め設定された順列行列が一対一に対応付けられることを特徴とする請求項58に記載の前記方法。
  60. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列の順列行列のうちの0行列ではない順列行列の指数と前記第2のパリティ検査行列の部分ブロックのサイズに応じて、前記第2のパリティ検査行列の順列行列のうちの0行列ではない順列行列の指数が決められて生成されたパリティ検査行列であることを特徴とする請求項59に記載の前記方法。
  61. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列の順列行列のうちの0行列ではないL個の順列行列の指数がa、a、・・・、aであり、前記第1のパリティ検査行列の部分ブロックのサイズがN×N(N)であり、前記第2のパリティ検査行列の順列行列のうちの0行列ではないL個の順列行列の指数がa’、a’、・・・、a’であり、前記第2のパリティ検査行列の部分ブロックのサイズがN’×N’(N’)である場合、下記式8の関係が成り立つことを特徴とする請求項60に記載の前記方法。
    Figure 2007535236
    但し、前記式8において、modはモジューロ演算を示す。
  62. 前記決められたパリティ検査行列に応じて前記受信信号を復号化して前記ブロックLDPC符号として検出するステップは、
    前記決められたパリティ検査行列に応じて、デインタリーブ方式及びインタリーブ方式を決めるステップと、
    前記受信信号の確率値を検出するステップと、
    前記受信信号の確率値から以前の復号化時に生成された信号を減算して第1の信号を生成するステップと、
    前記第1の信号を入力して前記デインタリーブ方式によりデインタリーブを行うステップと、
    前記デインタリーブされた信号を入力して確率値を検出するステップと、
    前記デインタリーブされた信号の確率値から前記デインタリーブされた信号を減算して第2の信号を生成するステップと、
    前記第2の信号を前記インタリーブ方式によりインタリーブし、前記インタリーブされた信号を繰り返し復号化して前記ブロックLDPC符号を検出するステップと、を含むことを特徴とする請求項61に記載の前記方法。
  63. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表31で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表31において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  64. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表32で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表32において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  65. 前記符号化率が3/4である場合、前記第1のパリティ検査行列は、下記表33で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表33において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  66. 前記符号化率が5/6である場合、前記第1のパリティ検査行列は、下記表34で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表34において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  67. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表35で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表35において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  68. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表36で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表36において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  69. 前記符号化率が3/4である場合、前記第1のパリティ検査行列は、下記表37で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表37において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  70. 前記符号化率が3/4である場合、前記第1のパリティ検査行列は、下記表38で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表38において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  71. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表39で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表39において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  72. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表40で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表40において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  73. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表41で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表41において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  74. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表42で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表42において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  75. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表43で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表43において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  76. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表44で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表44において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  77. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表45で表わされることを特徴とする請求項57に記載の前記方法。
    Figure 2007535236
    前記表45において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  78. 可変長を有するブロック低密度パリティ検査(LDPC)符号を復号化する装置において、
    信号を受信する受信機と、
    復号化するブロックLDPC符号の長さに応じて、第1のパリティ検査行列及び第2のパリティ検査行列のうちのどちらを用いるかを決め、前記決められたパリティ検査行列に応じて前記受信信号を復号化して前記ブロックLDPC符号として検出する復号化器と、を備えることを特徴とする前記装置。
  79. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列のサイズを可変させたパリティ検査行列であることを特徴とする請求項78に記載の前記装置。
  80. 前記第1のパリティ検査行列は、予め設定されている符号化率を満足するように、且つ、前記ブロックLDPC符号が予め設定された長さを有するように生成されたパリティ検査行列であることを特徴とする請求項79に記載の前記装置。
  81. 前記第1のパリティ検査行列は、予め設定された数の部分ブロックを含み、前記部分ブロックは所定のサイズを有することを特徴とする請求項80に記載の前記装置。
  82. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列の部分ブロックのサイズを可変させたパリティ検査行列であることを特徴とする請求項81に記載の前記装置。
  83. 前記部分ブロックのそれぞれには、予め設定された順列行列が一対一に対応付けられることを特徴とする請求項82に記載の前記装置。
  84. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列の順列行列のうちの0行列ではない順列行列の指数と前記第2のパリティ検査行列の部分ブロックのサイズに応じて、前記第2のパリティ検査行列の順列行列のうちの0行列ではない順列行列の指数が決められて生成されたパリティ検査行列であることを特徴とする請求項83に記載の前記装置。
  85. 前記第2のパリティ検査行列は、前記第1のパリティ検査行列の順列行列のうちの0行列ではないL個の順列行列の指数がa、a、・・・、aであり、前記第1のパリティ検査行列の部分ブロックのサイズがN×N(N)であり、前記第2のパリティ検査行列の順列行列のうちの0行列ではないL個の順列行列の指数がa’、a’、・・・、a’であり、前記第2のパリティ検査行列の部分ブロックのサイズがN’×N’(N’)である場合、下記式9の関係が成り立つことを特徴とする請求項84に記載の前記装置。
    Figure 2007535236
    但し、前記式9において、modは、モジューロ演算を示す。
  86. 前記復号化器は、
    前記復号化するブロックLDPC符号の長さに応じて、第1のパリティ検査行列及び第2のパリティ検査行列のうちのどちらを用いるかを決める第1の制御器と、
    所定の制御により、前記決められたパリティ検査行列を構成する列のそれぞれのウェイトに応じて、変数ノードを接続して受信信号の確率値を検出して出力する変数ノード復号化器と、
    前記変数ノード復号化器から出力された信号から以前の復号化時に生成された信号を減算して出力する第1の加算器と、
    前記第1の加算器から出力された信号を入力し、前記決められたパリティ検査行列に応じて設定されたデインタリーブ方式によりデインタリーブして出力するデインタリーバーと、
    所定の制御により、前記決められたパリティ検査行列を構成する行のそれぞれのウェイトに応じて、検査ノードを接続して前記デインタリーバーから出力された信号の確率値を検出して出力する検査ノード復号化器と、
    前記検査ノード復号化器から出力された信号から前記デインタリーバーから出力された信号を減算する第2の加算器と、
    前記第2の加算器から出力された信号を前記決められたパリティ検査行列に応じて設定されたインタリーブ方式によりインタリーブして、前記変数ノード復号化器及び前記第1の加算器に出力するインタリーバーと、
    前記デインタリーブ方式及びインタリーブ方式を前記決められたパリティ検査行列に応じて制御する第2の制御器と、を備えることを特徴とする請求項85に記載の前記装置。
  87. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表46で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表46において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  88. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表47で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表47において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  89. 前記符号化率が3/4である場合、前記第1のパリティ検査行列は、下記表48で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表48において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  90. 前記符号化率が5/6である場合、前記第1のパリティ検査行列は、下記表49で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表49において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示し、Iは当該順列行列の指数が0である恒等行列を示すインデックスである。
  91. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表50で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表50において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  92. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表51で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表51において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  93. 前記符号化率が3/4である場合、前記第1のパリティ検査行列は、下記表52で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表52において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  94. 前記符号化率が3/4である場合、前記第1のパリティ検査行列は、下記表53で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表93において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  95. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表54で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表54において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  96. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表55で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表55において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  97. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表56で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表56において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  98. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表57で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表57において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  99. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表58で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表58において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  100. 前記符号化率が1/2である場合、前記第1のパリティ検査行列は、下記表59で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表59において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
  101. 前記符号化率が2/3である場合、前記第1のパリティ検査行列は、下記表60で表わされることを特徴とする請求項81に記載の前記装置。
    Figure 2007535236
    前記表60において、各ブロックは前記部分ブロックを示し、数字は当該順列行列の指数を示し、数字が存在しないブロックは0行列に対応する部分ブロックを示す。
JP2007503846A 2004-08-16 2005-04-28 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法 Active JP4519902B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20040064465 2004-08-16
KR1020040105183A KR20060016059A (ko) 2004-08-16 2004-12-13 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR1020050003732A KR20060016061A (ko) 2004-08-16 2005-01-14 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
PCT/KR2005/001239 WO2006019217A1 (en) 2004-08-16 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
JP2007535236A true JP2007535236A (ja) 2007-11-29
JP4519902B2 JP4519902B2 (ja) 2010-08-04

Family

ID=34935922

Family Applications (1)

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

Country Status (7)

Country Link
US (1) US7516391B2 (ja)
EP (1) EP1628401A1 (ja)
JP (1) JP4519902B2 (ja)
KR (1) KR100678175B1 (ja)
AU (1) AU2005273169B2 (ja)
CA (1) CA2560852C (ja)
WO (1) WO2006019217A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015174053A1 (ja) * 2014-05-16 2015-11-19 パナソニックIpマネジメント株式会社 送信方法、受信方法、送信装置および受信装置
WO2015182102A1 (ja) * 2014-05-30 2015-12-03 パナソニックIpマネジメント株式会社 送信装置、受信装置、送信方法および受信方法

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747929B2 (en) * 2004-04-28 2010-06-29 Samsung Electronics Co., Ltd Apparatus and method for coding/decoding block low density parity check code with variable block length
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
JP2006339799A (ja) * 2005-05-31 2006-12-14 Toshiba Corp イレギュラー低密度パリティチェック符号復号器及び方法
FR2888061A1 (fr) * 2005-07-01 2007-01-05 France Telecom Procede et systeme d'encodage d'une sequence de donnees
KR100809616B1 (ko) * 2005-10-19 2008-03-05 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100984289B1 (ko) * 2005-12-07 2010-09-30 포항공과대학교 산학협력단 통신 시스템에서 가변 부호화율을 지원하는 신호 송수신장치 및 방법
WO2007075106A1 (en) * 2005-12-29 2007-07-05 Intel Corporation Fast low-density parity-check code encoder
KR20070107521A (ko) 2006-05-03 2007-11-07 삼성전자주식회사 비이진 구조적 저밀도 패리티 검사 부호 생성 방법
KR100975558B1 (ko) * 2006-05-03 2010-08-13 삼성전자주식회사 통신 시스템에서 신호 송수신 장치 및 방법
US7913149B2 (en) * 2006-12-20 2011-03-22 Lsi Corporation Low complexity LDPC encoding algorithm
US8583981B2 (en) * 2006-12-29 2013-11-12 Marvell World Trade Ltd. Concatenated codes for holographic storage
BRPI0806757A2 (pt) 2007-01-24 2011-09-13 Qualcomm Inc encodificação e decodificação de ldpc de pacotes de tamanhos variáveis
KR100849991B1 (ko) 2007-02-23 2008-08-01 주식회사 젤라인 Ldpc 부호생성기법을 이용한 부호화 시스템 및 방법과이로부터의 복호화 시스템 및 방법
US8261152B2 (en) * 2007-09-10 2012-09-04 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes
US8473824B1 (en) * 2008-09-08 2013-06-25 Marvell International Ltd. Quasi-cyclic low-density parity-check (QC-LDPC) encoder
PL2091156T3 (pl) 2008-02-18 2014-01-31 Samsung Electronics Co Ltd Urządzenie i sposób do kodowania i dekodowania kanału w systemie komunikacyjnym z wykorzystaniem kodów kontroli bitów parzystości o niskiej gęstości
US20090252146A1 (en) * 2008-04-03 2009-10-08 Microsoft Corporation Continuous network coding in wireless relay networks
CN101686061A (zh) * 2008-09-27 2010-03-31 松下电器产业株式会社 构造低密度奇偶校验码的方法及发送/接收装置和系统
JP2012137994A (ja) * 2010-12-27 2012-07-19 Toshiba Corp メモリシステムおよびその制御方法
CN102136886A (zh) * 2011-04-14 2011-07-27 西安新邮通信设备有限公司 一种正交重复累积码的编译码方法及装置
US8667360B2 (en) * 2011-07-01 2014-03-04 Intel Corporation Apparatus, system, and method for generating and decoding a longer linear block codeword using a shorter block length
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
KR101685010B1 (ko) 2012-06-01 2016-12-13 한국전자통신연구원 지상파 클라우드 방송을 위한 ldpc 부호
US8972826B2 (en) 2012-10-24 2015-03-03 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
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
US9619317B1 (en) 2012-12-18 2017-04-11 Western Digital Technologies, Inc. Decoder having early decoding termination detection
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
US8966339B1 (en) 2012-12-18 2015-02-24 Western Digital Technologies, Inc. Decoder supporting multiple code rates and code lengths for data storage systems
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
JP6544620B2 (ja) * 2014-05-16 2019-07-17 パナソニックIpマネジメント株式会社 送信装置、受信装置、送信方法および受信方法
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 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
CN104639178B (zh) * 2015-03-06 2018-04-27 中山大学 一种基于ldpc码的动态列更新译码方法
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
US10340949B2 (en) 2017-02-06 2019-07-02 Qualcomm Incorporated Multiple low density parity check (LDPC) base graph design
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
RU2769945C2 (ru) * 2020-08-21 2022-04-11 Общество с ограниченной ответственностью "ЛАБОРАТОРИЯ СФЕРА" Способ кодирования канала в системе связи, использующей LDPC-код

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001168733A (ja) * 1999-10-12 2001-06-22 Thomson Csf Ldpcコードの構築およびコーディングのためのプロセス
JP2003115768A (ja) * 2001-07-11 2003-04-18 Internatl Business Mach Corp <Ibm> データの低密度パリティ検査符号化方法および装置
WO2004047307A1 (en) * 2002-11-18 2004-06-03 Qualcomm Incorporated Rate-compatible low-density parity-check (ldpc) codes
JP2004208307A (ja) * 2002-12-21 2004-07-22 Samsung Electronics Co Ltd エラー訂正のための付加情報生成方法及びその装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030036227A (ko) * 2000-06-16 2003-05-09 어웨어, 인크. Ldpc 코드형 변조를 위한 시스템 및 방법
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 부호에 사용되는 거스 조건화된 패러티 검사행렬의 형성 방법
US7395495B2 (en) * 2004-01-12 2008-07-01 Intel Corporation Method and apparatus for decoding forward error correction codes
KR20050118056A (ko) 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001168733A (ja) * 1999-10-12 2001-06-22 Thomson Csf Ldpcコードの構築およびコーディングのためのプロセス
JP2003115768A (ja) * 2001-07-11 2003-04-18 Internatl Business Mach Corp <Ibm> データの低密度パリティ検査符号化方法および装置
WO2004047307A1 (en) * 2002-11-18 2004-06-03 Qualcomm Incorporated Rate-compatible low-density parity-check (ldpc) codes
JP2004208307A (ja) * 2002-12-21 2004-07-22 Samsung Electronics Co Ltd エラー訂正のための付加情報生成方法及びその装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6009022942, Rich Echard et al., "The π−Rotation Low−Density Parity Check Codes", Proceedings of the IEEE Global Telecommunications Conference, 2001. (GLOBECOM’01), 20011125, Vol.2, pp.980−984, IEEE *
JPN6009022945, Thomas J. Richardson et al., "Efficient Encoding of Low−Density Parity−Check Codes", IEEE Transactions on Information Theory, 200102, Vol.47, No.2, pp.638−656, IEEE *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015174053A1 (ja) * 2014-05-16 2015-11-19 パナソニックIpマネジメント株式会社 送信方法、受信方法、送信装置および受信装置
WO2015182102A1 (ja) * 2014-05-30 2015-12-03 パナソニックIpマネジメント株式会社 送信装置、受信装置、送信方法および受信方法

Also Published As

Publication number Publication date
KR20060047600A (ko) 2006-05-18
CA2560852C (en) 2011-11-01
EP1628401A1 (en) 2006-02-22
US20060036925A1 (en) 2006-02-16
KR100678175B1 (ko) 2007-02-28
AU2005273169B2 (en) 2008-09-11
CA2560852A1 (en) 2006-02-23
JP4519902B2 (ja) 2010-08-04
US7516391B2 (en) 2009-04-07
AU2005273169A1 (en) 2006-02-23
WO2006019217A1 (en) 2006-02-23

Similar Documents

Publication Publication Date Title
JP4519902B2 (ja) 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法
JP4555334B2 (ja) 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法
JP4545793B2 (ja) ブロック低密度パリティ検査符号を符号化/復号化する装置及び方法
KR100809616B1 (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
JP4555333B2 (ja) 可変符号化率を有するブロック低密度パリティ検査符号の符号化/復号装置及び方法
JP4160617B2 (ja) 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法
JP4361924B2 (ja) 構造的低密度パリティ検査符号を用いる通信システムにおけるデータ送信/データ受信のための装置及び方法
CN1993917B (zh) 编码/译码具有可变块长度的块低密奇偶校验码的装置和方法
JP2012239240A (ja) 低密度パリティ検査符号のパリティ検査行列生成方法
JP5789014B2 (ja) 符号化方法、符号化器、復号器
KR102482110B1 (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR101447751B1 (ko) 블록 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서패리티 검사 행렬 생성 장치 및 방법
KR20060016061A (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR102445150B1 (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090727

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

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

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4519902

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