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

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

Info

Publication number
JP4545793B2
JP4545793B2 JP2007514929A JP2007514929A JP4545793B2 JP 4545793 B2 JP4545793 B2 JP 4545793B2 JP 2007514929 A JP2007514929 A JP 2007514929A JP 2007514929 A JP2007514929 A JP 2007514929A JP 4545793 B2 JP4545793 B2 JP 4545793B2
Authority
JP
Japan
Prior art keywords
matrix
vector
parity
ldpc code
block
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 - Fee Related
Application number
JP2007514929A
Other languages
English (en)
Other versions
JP2008501287A (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 JP2008501287A publication Critical patent/JP2008501287A/ja
Application granted granted Critical
Publication of JP4545793B2 publication Critical patent/JP4545793B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • 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/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/1182Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the structure of the parity-check matrix is obtained by reordering of a random parity-check matrix
    • 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/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

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)

Description

本発明は、ブロック低密度パリティ検査(Low Density Parity Check;以下、“LDPC”と称する)符号を符号化/復号化するための装置及び方法に関するものである。
通信において、もっとも根本的な問題は、チャネルを介してデータを効率的にかつ信頼性よく送信することである。最近、活発に研究されている次世代マルチメディア移動通信システムでは、初期の音声を主とするサービスを超えて、映像及び無線データなどのような多様な情報を処理して送信することができる高速の通信システムを要求する。従って、システムに適合したチャネル符号化方式を使用してシステム効率を増加させることが必須的である。
データ送信は、チャネル状況に従って、雑音、干渉、及びフェージング(fading)などによる不回避なエラーが発生して、大量の情報の損失が生じる。一般的に、上記情報の損失を減少させるために、チャネル特性に基づいて、多様なエラー制御方式(error-control technique)を用いて、移動通信システムの信頼度を向上させる。もっとも基本的なエラー制御方式は、エラー訂正符号(error correction code)を使用する。
図1は、従来の移動通信システムにおける送受信機の構成を概略的に示す図である。図1を参照すると、まず、送信機において、送信メッセージ‘u’は、チャネルを介して送信される前に、符号化器(encoder)111によって予め設定されている符号化方式にて符号化される。また、符号化器111によって符号化された符号化シンボル‘c’は、あらかじめ設定されている変調方式を使用して変調器113によって変調され、上記変調された信号‘s’は、チャネル115を介して受信機へ送信される。
上記受信機において、受信された信号‘r’は、上記送信機が送信した信号‘s’に、チャネル状況に従って幾つかの雑音などが混合された形態の歪曲された信号となる。上記受信信号‘r’は、復調器(demodulator)153によって、上記送信機の変調器113で適用した変調方式に対応する復調方式にて復調され、上記復調された信号‘x’は、復号化器109によって、上記送信機の符号化器101で適用した符号化方式に対応する復号化方式にて復号化される。復号化器155によって復号化された信号は、
Figure 0004545793
となる。
従って、上記送信機が送信した信号‘u’を受信機がエラー無しに復元するために、高性能のチャネル符号化器及び復号化器が要求されている。特に、チャネル105が無線チャネルである場合に、チャネルによるエラーは、さらに深刻な問題となる。上記受信機の復号化器155は、チャネルを介して受信されたデータに基づいて送信メッセージを推定することができる。
移動通信システムが急速に発展していくに伴い、無線ネットワークにおいて、有線ネットワークの容量に近い大容量データを伝送可能な技術の開発が望まれている。このように、音声中心のサービスを越えて、映像、無線データなどの様々な情報を処理して伝送可能な高速の且つ大容量の通信システムが求められるに伴い、適正なチャネル符号化方式を用いてシステム伝送効率を高めることがシステム性能の向上に必須的な要素として作用する。しかしながら、移動通信システムは、移動通信システムの特性上、データを伝送する際に、チャネル状況に従って、雑音、干渉、及びフェージングなどによるエラーの発生が不可避であり、このため、上記エラー発生による情報データの損失が発生する。
このようなエラー発生による情報データの損失を低減させるために、チャネル特性に従って様々なエラー制御方式を用いることにより、上記移動通信システムの信頼度を向上させることができる。上記エラー制御方式のうちの最も普遍的に用いられているエラー制御方式は、エラー訂正符号を用いる方式である。上記エラー訂正符号の代表的な符号としては、ターボ符号と、低密度パリティ検査(Low Density Parity Check;以下、「LDPC」と称する。)符号などがある。
上記ターボ符号は、従来、エラー訂正のために汎用されていた畳み込み符号に比べて、高速データの伝送時における性能利得に優れていることが知られており、伝送チャネルにおける雑音によるエラーを効率的に訂正して、データ伝送の信頼度を高めることができる、という長所を有する。
また、上記LDPC符号は、ファクター(factor)グラフ上において、和積アルゴリズム(sum-product algorithm)に基づく反復復号化アルゴリズムを用いて復号化することができる。上記LDPC符号の復号化器は、上記和積アルゴリズムに基づく反復復号化アルゴリズムを用いるため、上記ターボ符号の復号化器に比べて低い複雑度を有するだけではなく、並列処理復号化器として実現することが容易である。
一方、Shannonのチャネル符号化理論によれば、チャネルの容量を超えないデータレートに限って信頼性のある通信が可能であることが明らかにされている。しかしながら、 Shannonのチャネル符号化理論においては、チャネルの容量限界までのデータレートをサポートするチャネル符号化及び復号化方法についての具体的な提示は全くなかった。通常、ブロックサイズが極めて大きなランダム符号は、Shannonのチャネル符号化理論のチャネル容量限界に近い性能を示すが、MAP(maximum a posteriori)またはML(maximum likelihood)復号化方法を用いる場合、その多大な計算の負荷が存在するために、実際に実現することが不可能であった。
上記ターボ符号は、1993年Berrou、Glavieux、及びThitimajshimaによって提案されており、Shannonのチャネル符号化理論のチャネル容量限界に近い高性能を有している。上記ターボ符号の提案により、符号の反復復号化とグラフ表現についての研究が活発に行われており、この時点において、Gallagerが1962年に既に提案したLDPC符号が新たに注目を浴びている。また、上記ターボ符号とLDPC符号のファクターグラフ上にはサイクルが存在するが、上記サイクルが存在する上記LDPC符号のファクターグラフ上における反復復号化は、準最適(suboptimal)であることが既に知られており、上記LDPC符号は、反復復号化によって高性能を有することも実験的に立証されている。これまで知られている最高の性能を有するLDPC符号は、ブロックサイズ10を用い、ビットエラーレート(BER:Bit Error Rate)10−5において、Shannonのチャネル符号化理論のチャネル容量限界において単に0.04[dB]程度の差分を有する性能を示す。また、q>2であるガロアフィールド(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は、通常の(8,2,4)LDPC符号のパリティ検査行列を示す図である。図2を参照すると、まず、上記(8,2,4)LDPC符号のパリティ検査行列Hは、8個の列と4個の行を有しており、各列のウェイトは、2に固定され、各行のウェイトは、4に固定されている。このように、上記パリティ検査行列内の各列のウェイトと各行のウェイトが均一であるため、図2に示されている(8,2,4)LDPC符号は、均一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番目の検査ノードとの間にブランチが生成される。
上述したように、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符号は、効率よい符号化だけではなく、パリティ検査行列の効率的な格納、及び性能面での改善を両方とも考慮した新たなLDPC符号であり、上記ブロックLDPC符号は、均一LDPC符号の構造を一般化させて拡張した概念のLDPC符号である。
図4を参照すると、上記ブロックLDPC符号のパリティ検査行列は、全体のパリティ検査行列を多数の部分ブロックに分割し、上記部分ブロックの各々に1つの順列行列を対応付ける形状を有する。図4に示されているPは、N×Nサイズを有する順列行列を示し、上記順列行列Pの上付き添字apqは0≦apq≦N−1若しくはapq=∞を有する。また、上記pは、当該順列行列が上記パリティ検査行列の多数の部分ブロックに分けられたうちのp番目の行に位置することを示し、qは、当該順列行列が上記パリティ検査行列の多数の部分ブロックに分けられたうちのq番目の列に位置することを示す。すなわち、
Figure 0004545793
は、上記多数の部分ブロックにより構成されたパリティ検査行列のp番目の行とq番目の列が交差する個所の部分ブロックに存在する順列行列を示す。すなわち、上記pとqは、上記パリティ検査行列において上記情報部分に相当する部分ブロックの行と列の数を示す。
図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)
Figure 0004545793
を示し、上記順列行列Pの上付き添字apqが∞であるとき、すなわち、順列行列Pは0行列を示す。ここで、
Figure 0004545793
は、サイズがN×Nである単位行列を示す。
図4に示すように、上記ブロックLDPC符号の全体のパリティ検査行列は、全体の行の数がN×pであり、全体の列の数がN×q(但し、p≦q)であるため、上記ブロックLDPC符号の全体のパリティ検査行列が最大ランク(rank)を有する場合、上記部分ブロックのサイズとは無関係に、符号化率は下記(式1)のように表わすことができる。
Figure 0004545793
一方、すべての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は、パリティ検査行列が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 0004545793
そして、上記(式2)を再びまとめると、下記(式3)のように表現することができる。
Figure 0004545793
結果的に、上記(式3)のような関係が成り立つと、長さが4であるサイクルが生成される。一般に、0−点と4p−点が最初に同一となる場合には、
Figure 0004545793
の関係が成り立ち、下記(式4)のような関係が成り立つ。
Figure 0004545793
換言すると、与えられた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を参照すると、情報部分の順列行列Pの上付き添字apqは、上述したように、0≦apq≦N−1又はapq=∞を有し、上記情報部分の順列行列Pの上付き添字apqが0である場合、すなわち、Pは単位行列
Figure 0004545793
を示し、上記順列行列Pの上付き添字apqが∞であるとき、すなわち、順列行列Pは0行列を示す。また、pとqは、上記パリティ検査行列において、上記情報部分に相当する部分ブロックの行と列の数を示す。さらに、上記パリティ部分の順列行列Pの上付き添字a、x、yも順列行列Pの指数を示している。ここでは、説明の便宜上、上記パリティ部分を情報部分と識別するために異なる添え字を使っている。すなわち、図7において、
Figure 0004545793
も順列行列であり、上記パリティ部分の対角部分に位置する部分行列に順次にインデックスを与えたものである。
また、図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は、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の逆行列を示す。また、図9において、
Figure 0004545793
は、
Figure 0004545793
を示す。
さらに、図9において、上記順列行列
Figure 0004545793
は、単位行列となることもある。これは、上述したように、上記順列行列の指数、すなわち、aが0となる場合には、上記順列行列
Figure 0004545793
が単位行列となるためであり、また、上記順列行列の指数、すなわち、aが予め設定された値だけ増加する場合には、上記順列行列が上記増加した設定値に該当する分だけさらに循環シフトされて、結果的に、上記順列行列
Figure 0004545793
が単位行列となるためである。
図10は、通常のブロックLDPC符号のパリティ検査行列の生成過程を示す手順図である。図10を説明するに先立って、ブロックLDPC符号を生成するためには、生成されるブロックLDPC符号の符号語サイズと符号化率を決め、上記決められた符号語サイズと符号化率に応じて、パリティ検査行列のサイズを決めなければならない。上記ブロックLDPC符号の符号語サイズがNであり、符号化率がRと仮定すると、パリティ検査行列のサイズは、N(1−R)×Nとなる。
また、図10に示すブロックLDPC符号のパリティ検査行列の生成過程は、最初に通信システムのシステム状況に合うように生成され、それ以降では、上記生成されているパリティ検査行列を用いるものであるため、実質的に、図10のパリティ検査行列の生成過程は、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行列ではない部分に、上述したように、ブロックサイクルの最小サイクルの長さが最大になるように、順列行列
Figure 0004545793
を決定し、ステップ1019へ進む。ここで、上記順列行列
Figure 0004545793
を決定する際には、上記情報部分sだけではなく、上記第1のパリティ部分pと第2のパリティ部分pのブロックサイクルも考慮して決めなければならない。
ステップ1019において、上記制御器は、上記ブロックLDPC符号の高性能を保証する次数分布に合うように決定されたブロックのうち、高次数を有するブロック中の0行列ではない部分に、ランダムに順列行列
Figure 0004545793
を決定した後に終了する。ここで、上記高次数を有するブロックのうち、0行列ではない部分に適用すべき順列行列
Figure 0004545793
を決定する時にも、同様に、ブロックサイクルの最小サイクルのサイズが最大になるように、順列行列
Figure 0004545793
を決定しなければならず、また、上記情報部分sだけではなく、上記第1のパリティ部分pと第2のパリティ部分pのブロックサイクルも考慮して決めなければならない。上記のように、パリティ検査行列の情報部分sに順列行列
Figure 0004545793
を配列した形態を図7に示してある。
一方、ステップ1021において、上記制御器は、上記パリティ部分、すなわち、第1のパリティ部分pと第2のパリティ部分pを4個の部分行列、すなわち、部分行列Bと、部分行列Tと、部分行列D、及び部分行列Eに分割した後、ステップ1023へ進む。ステップ1023において、上記制御器は、上記部分行列Bを構成する部分ブロックのうちの2個の部分ブロックに、0ではない順列行列P
Figure 0004545793
とを入力し、ステップ1025へ進む。ここで、上記部分行列Bを構成する部分ブロックのうち、2個の部分ブロックに、0ではない順列行列P
Figure 0004545793
とを入力する構造は、既に図9を参照して述べている。
ステップ1025において、上記制御器は、上記部分行列Tの対角部分ブロックには、単位行列Iを入力し、上記部分行列Tの対角成分の下の(i,i+1)番目の部分ブロックには、任意の順列行列
Figure 0004545793
を入力し、ステップ1027へ進む。ここで、上記部分行列Tの対角部分ブロックには、単位行列Iを入力し、上記部分行列Tの対角成分の下の(i,i+1)番目の部分ブロックには、任意の順列行列
Figure 0004545793
を入力する構造は、既に図9を参照して述べている。
ステップ1027において、上記制御器は、上記部分行列Dに順列行列Pを入力し、ステップ1029へ進む。ステップ1029において、上記制御器は、上記部分行列Eにおける最後の部分ブロックにのみ
Figure 0004545793
を入力した後に終了する。ここで、上記部分行列Eを構成する部分ブロックのうちの最後の部分ブロックに2個の
Figure 0004545793
を入力する構造は、既に図9を参照して述べている。
上述したように、LDPC符号は、ターボ符号とともに、高速なデータの伝送時に性能ゲインに優れていることが知られており、伝送チャネルにおいて生じる雑音によるエラーを効果的に訂正して、データ伝送の信頼度を高めることができるというメリットを有する。しかしながら、上記LDPC符号は、符号化率という観点で欠点を有する。すなわち、上記LDPC符号は、比較的高い符号化率を有するため、符号化率という観点で制限がある、という短所を有する。既存のLDPC符号の場合、大部分1/2の符号化率を有し、一部のみ1/3の符号化率を有する。このように、符号化率という観点での制限は、結果的に、高速の大容量データの伝送に致命的な影響を及ぼす。
もちろん、比較的低い符号化率を実現するために、密度進化(density evolution)などの方式を用いて最適な性能を示す次数分布を求めることはできるが、上記最適な性能を示す次数分布を有するLDPC符号を実現することは、ファクターグラフ上のサイクル構造とハードウェアの実現などの種々の制約条件によって困難さがあった。
したがって、本発明の目的は、ブロックLDPC符号を符号化/復号化する装置及び方法を提供することにある。
また、本発明の目的は、移動通信システムにおいて、符号化の複雑度を最小にするブロックLDPC符号を符号化/復号化する装置及び方法を提供することにある。
上記のような目的を達成するために、本発明の第1の見地によると、ブロック低密度パリティ検査(LDPC)符号を符号化する方法は、情報語ベクトルを受信するステップと、上記情報語ベクトルを予め設定されている生成行列に従って、ブロックLDPCに符号化するステップとを具備することを特徴とする。
本発明の第2の見地によると、ブロック低密度パリティ検査(LDPC)符号を符号化する装置は、上記情報語ベクトルを予め設定されている生成行列に従ってブロックLDPCに符号化する符号化器と、上記ブロックLDPC符号を予め設定されている変調方式を使用して変調シンボルに変調する変調器と、上記変調シンボルを送信する送信機とを具備することを特徴とする。
本発明の第3の見地によると、ブロック低密度パリティ検査(LDPC)符号を復号化する方法は、信号を受信するステップと、復号化されるブロックLDPC符号の長さに従って予め設定されているパリティ検査行列を使用して上記受信信号を復号化するステップと、上記ブロックLDPC符号を上記復号化された受信信号から検出するステップとを具備することを特徴とする。
本発明の第4の見地によると、ブロック低密度パリティ検査(LDPC)符号を復号化する装置は、信号を受信する受信機と、復号化されるブロックLDPC符号の長さに対応して予め設定されているパリティ検査行列を使用して上記受信信号を復号化し、上記復号化された受信信号から上記ブロックLDPC符号を検出する復号化器とを具備することを特徴とする。
本発明は、移動通信システムにおいて、最小のサイクル長が最大となるブロックLDPC符号を提案することにより、エラー訂正能力を最大化させる。したがって、上記ブロックLDPC符号を使用して、受信データを正確に復号化することができ、高信頼性の復号化が可能である、という利点を有する。
また、本発明は、パリティ検査行列を使用して効率的な生成行列を生成することにより、ブロックLDPC符号の符号化の複雑度を最小化させることができる、という利点を有する。
すなわち、本発明は、ブロックLDPC符号を提案することによって、ファクターグラフ上で反復復号化を適用して優秀な性能を保証することができる、という利点を有する。
さらに、本発明は、ブロック単位でブロックLDPC符号のパリティ検査行列を構成することによって、最小の復号化の複雑度を有しつつも、復号化速度の観点から向上した復号化器の実現が可能である。特に、本発明は、簡素な行列積とブロック単位逆代入方式を使用して、符号化の複雑度を最小化させることできる、という利点を有する。
以下、本発明の望ましい実施形態を添付の図面を参照して詳細に説明する。以下の説明では、本発明に関連した公知の機能又は構成に関する具体的な説明が本発明の要旨を不明にすると判断される場合には、その詳細な説明を省略する。
本発明は、優秀な性能を有するブロック低密度パリティ検査(LDPC:Low Density Parity Check、以下、「LDPC」と称する。)符号(以下、「可変長ブロックLDPC符号」と称する。)を符号化及び復号化する装置及び方法を提案する。すなわち、本発明は、ファクターグラフ上の最小サイクルの長さが最大となり、上記ブロックLDPC符号の符号化のための複雑度が最小となり、上記ファクターグラフ上の次数分布が最適値1の分布を有するブロックLDPC符号の符号化及び復号化装置及び方法を提案する。さらに、本発明において、別途に図示及び説明してはいないが、図1を参照して説明した送受信機の構成に、本発明によるブロックLDPC符号の符号化及び復号化装置を適用できることはもちろんである。
図11は、本発明の実施形態によるブロックLDPC符号のパリティ検査行列から分割された6個の部分行列のうち、部分行列Bの転置行列B、部分行列D、及び部分行列Tを示す図である。
図11を説明するに先立って、上記パリティ検査行列は、図8を参照して従来技術の部分で説明されたものと同一の部分ブロック構造を有する。すなわち、上記ブロックLDPC符号のパリティ検査行列は、情報部分‘s’、第1のパリティ部分p、及び第2のパリティ部分pに対する部分ブロックに分割される。ここで、上記情報部分‘s’は、上記ブロックLDPC符号を符号化する過程の間に、実際の情報語にマッピングされる上記パリティ検査行列の部分を示す。上記第1のパリティ部分p及び第2のパリティ部分pは、上記ブロックLDPC符号を符号化する過程の間に実際のパリティにマッピングされる上記パリティ検査行列の部分を示す。
図8に示すように、上記情報部分‘s’は、部分ブロックAと部分ブロックCとに区分され、上記第1のパリティ部分pは、部分ブロックBと部分ブロックDとに区分され、上記第2のパリティ部分pは、部分ブロックTと部分ブロックEとに区分される。そして、部分行列A及びCは、上記部分ブロックA及び部分ブロックCに対応し、部分行列B及びDは、上記部分ブロックB及び部分ブロックDに対応し、部分行列T及びEは、上記部分ブロックT及び部分ブロックEに対応する。
図11を参照すると、上記部分行列Bは、2つの同一の順列行列
Figure 0004545793
及び0行列を含む。上記順列行列Pは、N×Nサイズを有する正方行列であり、上記順列行列Pは、上記順列行列Pを構成するNs個の列の各々のウェイトが1であり、上記順列行列Pを構成するN個の行の各々のウェイトも1である行列を示す。ここで、上記順列行列PのサイズをN×Nとしているが、上記順列行列Pが正方行列であるため、そのサイズを、説明の便宜上、Nとも表現することに留意すべきである。
図9を参照して上述したように、上記部分行列Bは、順列行列
Figure 0004545793
及びP、0行列を含む。すなわち、従来のブロックLDPC符号の場合に、ET−1B+D=Iを満足させるためには、上記部分行列Bの0行列ではない順列行列
Figure 0004545793
及びP は、図9を参照して説明したように固定されなければならず、また、順列行列
Figure 0004545793
及びP は、互いに異なる順列行列である。しかしながら、本発明では、上記部分行列Bの0行列ではない2個の順列行列
Figure 0004545793
の位置を固定させる必要がない、すなわち、上記2個の順列行列
Figure 0004545793
の位置を変えることができる。また、上記部分行列Tは、二重対角(dual diagonal)構造で、単位行列(Identity Matrix)Iと0行列とを含む。上記部分行列Dは、Pの部分行列を含む。
図11において、上記順列行列Pの上付き添字a及びxは、上記順列行列Pの指数を示す。
上記2つの順列行列
Figure 0004545793
が上記部分行列Bの転置行列(transpose matrix)Bにマッピングされ、上記順列行列Pが上記部分行列Dにマッピングされることを一例にして説明したが、上記順列行列
Figure 0004545793
が、全部で3個ある順列行列のうち、上記部分行列Bの転置行列Bと上記部分行列Dに対応づけられている2個の順列行列にマッピングされると、図11を参照して説明したものと同一の効果を生ずる。すなわち、上記順列行列
Figure 0004545793
が上記部分行列Bの転置行列Bに存在する2個の順列行列のうちのいずれか1個の順列行列にマッピングされ、上記順列行列
Figure 0004545793
が上記部分行列Dに存在する順列行列にマッピングされるとしても、図11を参照して説明したものと同一の効果を有する。
これとは異なり、上記順列行列
Figure 0004545793
が上記部分行列Bの転置行列Bに存在する2個の順列行列及び上記部分行列Dに存在する順列行列のすべてにマッピングされるとしても、図11を参照して説明したものと同一の効果を有する。
また、図11において、上述したように、上記順列行列の指数、すなわち、aが0となる場合には、上記順列行列
Figure 0004545793
が単位行列となるために、上記順列行列
Figure 0004545793
は、単位行列となることもできる。また、上記順列行列の指数、すなわち、aは、予め定められた値だけ増加し、上記順列行列は、上記予め定められた値だけ循環シフトされて、結果的に、上記順列行列
Figure 0004545793
が単位行列となる。
従来のブロックLDPC符号の場合には、復号化器で使用されるパリティ検査行列をそのまま符号化器の生成行列(G;Generation Matrix)として使用する。しかしながら、本発明で提案するブロックLDPC符号の場合には、復号化器で使用されるパリティ検査行列を符号化器の生成行列として使用するものではなく、上記復号化器で使用されるパリティ検査行列を変形して、符号化器の生成行列として使用することによって、上記ブロックLDPC符号の符号化の複雑度も最小化させる。
Hで示されるパリティ検査行列は、下記(式5)に示すように表現されることができる。
Figure 0004545793
上記(式5)において、Hは、上記パリティ検査行列Hで情報語にマッピングされる行列、すなわち、情報部分‘s’にマッピングされる行列を示し、Hは、上記パリティ検査行列Hでパリティにマッピングされる、すなわち、第1のパリティ部分p及び第2のパリティ部分pにマッピングされる行列を示す。すなわち、上記Hは、部分行列Aと部分行列Cとを含む行列であり、上記Hは、部分行列Bと部分行列Tと、部分行列Dと、部分行列Eとを含む行列である。しかしながら、本発明で提案される符号化方式がRichardson−Urbanke方式に基づかなくてもよいので、上記提案された符号化方式は、Richardson−Urbanke方式のように、上記ブロックLDPC符号のパリティ検査行列を6個の部分行列に分割する必要がない。すなわち、上記提案された方式は、上記パリティ検査行列を情報部分にマッピングされる行列Hと、第1のパリティ部分及び第2のパリティ部分にマッピングされる行列H21及びH22とに区分する。
一方、符号化器で使用される上記パリティ検査行列Hを変形した生成行列は、H’で示され、上記生成行列H’は、新たな行列Fを使用して下記(式6)のように表現することができる。
Figure 0004545793
上記(式6)において、Fは、サイズ(N−K)×(N−K)を有する行列を示し、Nは、符号のブロックサイズ又は符号語の長さを示し、Kは、情報語の長さを示す。上記行列Fは、図12に示され、これは、下記で説明するので、その詳細な説明を省略する。上記(式5)を参照して説明したパリティ検査行列Hと同様に、上記生成行列H’は、情報語にマッピングされるH’とパリティにマッピングされるH’とに区分され、H’は、第1のパリティにマッピングされるH21’と第2のパリティにマッピングされるH22’とに区分される。
上記(式6)に示す生成行列H’において、最後のブロックに該当する0行列ではないすべての順列行列の指数がモジューロ(modulo)-N演算を通してaだけ減少され、第2のパリティにマッピングされるH22’は、ブロック単位の二重対角構造で単位行列を有し、上記単位行列を除いた残りの行列は、すべて0行列を含む。
次いで、上記生成行列H’を使用して上記ブロックLDPC符号を符号化する過程について説明する。
まず、上記ブロックLDPC符号の符号語ベクトル(vector)
Figure 0004545793
は、情報語ベクトル
Figure 0004545793
と、第1のパリティベクトル
Figure 0004545793
と、第2のパリティベクトル
Figure 0004545793
とに分割されることができる。上述したように、上記第1のパリティベクトル
Figure 0004545793
は、上記部分ブロックB及びDにマッピングされ、上記第2のパリティベクトル
Figure 0004545793
は、部分ブロックT及びEにマッピングされる。
上記第1のパリティベクトル
Figure 0004545793
の符号化は、下記(式7)及び(式8)を使用して遂行される。
まず、
Figure 0004545793
であるので、下記(式7)の関係を満足する。
Figure 0004545793
(式7)において、
Figure 0004545793
は、上記H’のすべての行をブロック単位で加算したN×Kのサイズを有する行列を示す。ここで、上記ブロック単位の加算に基づく行列演算が図4を参照して説明したパリティ検査行列に適用されると、その演算結果の行列は、Ns×qN行列となり、各N×N行列は、各ブロック列に該当する順列行列をすべて加算した行列となる。例えば、第1のN×N行列は、図4において、
Figure 0004545793
の値を有する。
上記
Figure 0004545793
と同様に、
Figure 0004545793
は、上記H21’のすべての行をブロック単位で加算したN×Nのサイズを有する行列を示す。また、
Figure 0004545793
は、上記H22’のすべての行をブロック単位で加算したN×(N−K−N)のサイズを有する行列を示す。
ここで、“上記行列の行をブロック単位で加算する”ということは、該当行列に含まれた部分ブロックの各々の行を加算するにあたって、上記部分ブロックの各々のl番目に位置した行は、l番目に位置した行同士のみで加算することを意味する。(式7)において、
Figure 0004545793
の演算は、上記H22’が図11に示す部分行列Tのように二重対角構造を有するので、行をブロック単位で加算した行列は、すべてのエレメントが0であるN×(N−K−N)サイズの0行列となる。
Figure 0004545793
がN×(N−K−N)サイズの0行列となるので、
Figure 0004545793
項は、上記(式7)から除去され、従って、行列H21’は、図11を参照して説明するような部分行列Bの特性に従って、下記(式8)のように表現されることができる。
Figure 0004545793
(式8)において、
Figure 0004545793
は、
Figure 0004545793
をxだけ循環シフト(cyclic shift)したベクトルであり、
Figure 0004545793
は、上記第1のパリティベクトル
Figure 0004545793
の転置ベクトルを示す。
一方、上記第2のパリティベクトル
Figure 0004545793
は、上記H22’が二重対角構造を有するために、逆代入(back substitution)方式を使用して容易に計算することができる。上記ブロックLDPC符号は、反復蓄積(Repeat Accumulate;以下‘RA'と称する。)符号とは異なり、ブロック構造を有するために、上記逆代入方式をブロック単位で遂行することができ、上記第2のパリティベクトル
Figure 0004545793
の演算速度を増加させることができる。
まず、上記RA符号がパリティベクトル
Figure 0004545793
を有すると仮定すると、pは、pが決定された後に計算されることができる。これと同様に、pが決定された後にpを計算することができる。従って、上記(N−K)個のパリティビットの各々を順次に計算しなければならない。
しかしながら、本発明で提案するブロックLDPC符号の符号化過程では、生成行列H’のパリティにマッピングされる部分ブロックが二重対角構造を有するので、pから
Figure 0004545793
を同時に計算することができ、次のN個のビットを以前のステップで計算したpから
Figure 0004545793
を使用して同時に計算できる。したがって、本発明で提案するブロックLDPC符号の符号化過程は上記RA符号の符号化過程よりN倍さらに速い。
図13は、本発明の実施形態によるブロックLDPC符号のパリティ検査行列を示す図である。図13に示すパリティ検査行列は、符号化率が1/2であるブロックLDPC符号のパリティ検査行列を示し、12×24個のブロックを含む。
図13において、各ブロック内の数字は、該当ブロックに位置した順列行列の指数値を示し、Iは、該当ブロックに位置した単位行列を示す。一方、ブロックサイズNを有するブロックLDPC符号のパリティ検査行列に対する順列行列の指数値は、該当ブロックに位置した順列行列の指数値の各々に対してモジュロ−N演算を遂行することによって計算されることができる。すなわち、該当ブロックの指数値が該当ブロックのサイズNよりも大きい場合には、上記モジュロ−N演算が遂行されなければならないことを意味する。
一般的に、上記指数値はNより小さくなければならない。しかしながら、上記同一のパリティ検査行列が大きいブロックサイズ及び小さいブロックサイズで共通に使用される場合に、上記Nよりもさらに大きい指数値が行列に含まれる場合がある。このような場合、符号化率及びブロックサイズに従って多くのパリティ検査行列が必要とされるが、必要とされるメモリの容量は減少する。上記順列行列の指数にNでモジュロ演算を遂行した結果、その値が0であれば、該当ブロックに位置する順列行列は、単位行列となる。
図14は、本発明の実施形態によるブロックLDPC符号の生成行列を示す図である。しかしながら、図14を説明する前に、上述したように、上記生成行列H’は上記パリティ検査行列Hに行列Fを乗じて生成された行列である。上記行列Fは、図12を参照して説明される。
図12は、本発明の実施形態による生成行列H’を生成するために使用される行列Fを示す図である。図12を参照すると、上記行列Fにおいて、単位行列Iは、対角線に沿って位置し、順列行列
Figure 0004545793
は、上記対角線の最後部分に位置する行列である。
ここで、上記順列行列
Figure 0004545793
は、上記パリティ検査行列の順列行列Eの最後の部分に位置する順列行列
Figure 0004545793
のネガティブ指数(negative exponent)を有する順列行列である。そして、図12では、aを1(a=1)と仮定する。
図14を参照すると、上述したように、上記生成行列H’は、上記パリティ検査行列Hに上記行列Fを乗算した行列である。しかしながら、上述したように、上記行列Fの最後部分に位置する順列行列
Figure 0004545793
がP−1であるので、上記生成行列H’は、上記パリティ検査行列Hと比較して、上記生成行列H’の最後のブロック行に位置した行列のみ、その指数が1ずつ小さな値を有する。
図15は、本発明の実施形態によるブロックLDPC符号を符号化する手順を示すフローチャートである。図15を参照すると、まず、ステップ1511で、制御器(図示せず)は、上記ブロックLDPC符号に符号化される情報語ベクトル
Figure 0004545793
を受信する。ここで、上記情報語ベクトル
Figure 0004545793
は上記ブロックLDPC符号に符号化するための符号化率に対応するサイズを有し、上記情報語ベクトル
Figure 0004545793
のサイズがkであると仮定する。
ステップ1513で、上記制御器は、生成行列H’のH’でのすべての行をブロック単位で加算した行列と上記受信された情報語ベクトル
Figure 0004545793
の転置ベクトルとを使用して、第1のパリティベクトル
Figure 0004545793
を計算する。ここで、上記生成行列H’のH’でのすべての行をブロック単位で加算した行列は、N×Kのサイズを有し、第1のパリティベクトル
Figure 0004545793
は、上記(式8)を使用して計算される。
ステップ1515で、上記制御器は、上記情報語ベクトル
Figure 0004545793
と第1のパリティベクトル
Figure 0004545793
とを使用して、逆代入方式によって第2のパリティベクトル
Figure 0004545793
を計算した後、ステップ1517で、上記制御器は、上記情報語ベクトル
Figure 0004545793
と、第1のパリティベクトル
Figure 0004545793
と、第2のパリティベクトル
Figure 0004545793
とを使用して符号語ベクトル
Figure 0004545793
を生成し、上記生成された符号語ベクトル
Figure 0004545793
を送信する。
図16は、本発明の実施形態によるブロックLDPC符号の符号化装置の内部構成を示すブロック図である。図16を参照すると、上記ブロックLDPC符号の符号化装置は、行列乗算器1611と、メモリ1613と、循環シフト器1615と、逆代入方式処理器1617と、スイッチ1619,1621,及び1623と、を含む。
まず、入力信号、すなわち、ブロックLDPC符号に符号化したい長さkの情報語ベクトル
Figure 0004545793
が入力され、上記入力された長さkの情報語ベクトル
Figure 0004545793
は、スイッチ1619と、行列乗算器1611と、逆代入方式処理器1617とへ入力される。ここで、行列乗算器1611は、上記情報語ベクトル
Figure 0004545793
とメモリ1613に記憶されている生成行列H’のH’でのすべての行をブロック単位で加算したN×Kのサイズを有する行列を乗算した後、その乗算結果を循環シフト器1615へ出力する。行列乗算器1611から出力された信号は、第1のパリティベクトル
Figure 0004545793
の転置ベクトル
Figure 0004545793
をxだけ循環シフトしたベクトル
Figure 0004545793
である。
循環シフト器1615は、行列乗算器1611から出力された信号を上記xだけ逆に循環シフトして、第1のパリティベクトル
Figure 0004545793
の転置ベクトル
Figure 0004545793
を計算し、第1のパリティベクトル
Figure 0004545793
の転置ベクトル
Figure 0004545793
を使用して、第1のパリティベクトル
Figure 0004545793
を計算し、その計算の結果を逆代入方式処理器1617及びスイッチ1621へ出力する。
逆代入方式処理器1617は、上記情報ベクトル
Figure 0004545793
及び循環シフト器1615から出力された第1のパリティベクトル
Figure 0004545793
を使用して、逆代入方式によって第2のパリティベクトル
Figure 0004545793
を計算した後、その計算の結果をスイッチ1623へ出力する。
一方、スイッチ1619,1621,1623の各々は、自身が伝送する時点でのみスイッチングオンされて、当該信号を伝送する。すなわち、スイッチ1619は、情報語ベクトル
Figure 0004545793
が伝送される時点でスイッチングオンされ、スイッチ1621は、第1のパリティベクトル
Figure 0004545793
が伝送される時点でスイッチングオンされ、スイッチ1623は、第2のパリティベクトル
Figure 0004545793
が伝送される時点でスイッチングオンされる。
一方、上記LDPC符号系列のすべての符号は、ファクターグラフ上において、和積アルゴリズムにより復号化することが可能である。上記LDPC符号の復号化方式は、双方向伝達方式と流れ伝達方式とに大別できる。上記双方向伝達方式を使用して復号化動作を行う場合に、各検査ノードは、各々1つノードプロセッサーを有するので、復号化の複雑度が上記検査ノードの数に比例して増加する。しかしながら、すべての検査ノードが同時に更新されるために、復号化の速度は、非常に速くなる。
これとは異なり、上記流れ伝達方式は、1個のノードプロセッサーが存在してすべてのファクターグラフ上のノードを通過しながら情報を更新する。従って、復号化の複雑度は簡素になるが、パリティ検査行列のサイズが大きくなるほど、すなわち、ノードの数が増えるほど、復号化の速度が遅くなる。しかしながら、本発明で提案されるブロック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の内部演算が異なる。スイッチ1713がスイッチングオンされる場合のみを除外し、スイッチ1714は、変数ノード復号化器1711の出力信号を加算器1715へ出力するようにスイッチングオンされる。
加算器1715は、変数ノード復号化器1711から出力された信号と以前の反復復号化過程(iteration decoding)におけるインターリーバ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の出力信号が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符号のパリティ検査行列の生成手順を示すフローチャートである。 本発明の実施形態による不均一ブロックLDPC符号のパリティ検査行列から分割された6個の部分行列のうち、部分行列Bの転置行列B、部分行列D、及び部分行列Tを示す図である。 本発明の実施形態による生成行列H’を生成するために使用される行列Fを示す図である。 本発明の実施形態による不均一ブロックLDPC符号のパリティ検査行列を示す図である。 本発明の実施形態による不均一ブロックLDPC符号の生成行列を示す図である。 本発明の実施形態による不均一ブロックLDPC符号を符号化する手順を示すフローチャートである。 本発明の実施形態による不均一ブロックLDPC符号の符号化装置の内部構成を示すブロック図である。 本発明の実施形態による不均一ブロックLDPC符号の復号化装置の内部構成を示すブロック図である。
符号の説明
1611 行列乗算器
1613 メモリ
1615 循環シフト器
1617 逆代入方式処理機
1619 スイッチ
1621 スイッチ
1623 スイッチ

Claims (10)

  1. ブロック低密度パリティ検査(LDPC)符号を符号化する方法であって、
    情報語ベクトルを受信するステップと、
    前記情報語ベクトルを予め設定されている生成行列に従ってブロックLDPCに符号化するステップと、
    前記生成行列は、前記情報語ベクトルから前記ブロックLDPC符号を生成する時に適用される長さに対応するパリティ検査行列を変形して生成された行列であり、
    前記生成行列は、新たな行列とパリティ検査行列との乗算を意味し、
    単位行列は、行列Fの対角線に沿って位置し、
    順列行列P −am は、行列Fの対角線の最後部分に位置し、最後のブロックに該当する0行列でないすべての順列行列の指数は、モジューロ(modulo)−N 演算を通してa だけ増加し、
    前記N は、前記生成行列を構成している部分ブロックの各々と一致する順列行列の行数または列数であり、
    単位行列は、最後部分を除いて前記生成行列の対角線に沿って位置し、
    前記a は、前記生成行列の対角線の最後部分に位置する順列行列の指数であり、
    前記ブロックLDPC符号は、前記情報語ベクトルと、第1のパリティベクトルと、第2のパリティベクトルとを含み、前記生成行列は、前記情報語ベクトルにマッピングされる第1の行列と、前記第1のパリティベクトルにマッピングされる第2の行列と、前記第2のパリティベクトルにマッピングされる第3の行列とを含み、
    前記第1の行列は、前記情報語ベクトルから前記ブロックLDPC符号を生成する時に適用される長さに対応するパリティ検査行列の前記情報語ベクトルにマッピングされる第4の行列に前記新たな行列を乗算した行列であり、前記第2の行列は、前記パリティ検査行列の前記第1のパリティベクトルにマッピングされる第6の行列に前記新たな行列を乗算した行列であり、前記第3の行列は、前記パリティ検査行列の前記第2のパリティベクトルにマッピングされる第7の行列に前記新たな行列を乗算した行列であり、
    前記情報語ベクトルを前記生成行列に従って前記ブロックLDPC符号に符号化するステップは、
    前記第4の行列のすべての行をブロック単位で加算した行列と前記情報語ベクトルの転置ベクトルを乗算したベクトルが前記第1のパリティベクトルの転置ベクトルを予め設定された値だけ循環シフトしたベクトルとなるように、前記第1のパリティベクトルを生成するステップと、
    逆代入方式を使用して前記第2のパリティベクトルを生成するステップと、
    前記情報語ベクトルに前記第1のパリティベクトル及び第2のパリティベクトルを接続して前記ブロックLDPC符号を生成するステップとを具備することを特徴とする方法。
  2. 前記生成行列は、下記表1として表され、
    Figure 0004545793
    各ブロック内の数字は、該当ブロックに位置した順列行列の指数値を示し、Iは、該当ブロックに位置した単位行列を示すことを特徴とする請求項記載の方法。
  3. 前記第1のパリティベクトルは、下記(式1)を使用して生成されることを特徴とする請求項に記載の方法。
    Figure 0004545793
    ここで、
    Figure 0004545793
    は、前記情報語ベクトルを示し、
    Figure 0004545793
    は、前記第1のパリティベクトルを示し、
    Figure 0004545793
    は、前記情報語ベクトルの転置ベクトルを示し、
    Figure 0004545793
    は、前記第1のパリティベクトルの転置ベクトルを示し、Pは、N×Nサイズを有する順列行列をxだけ循環シフトした行列を示し、
    Figure 0004545793
    は、前記
    Figure 0004545793
    をxだけ循環シフトしたベクトルを示し、
    Figure 0004545793
    は、該当行列のすべての行をブロック単位で加算する演算を示す。
  4. 前記該当行列のすべての行をブロック単位で加算する演算は、該当行列に含まれる部分ブロックの同一の行を加算する演算であることを特徴とする請求項に記載の方法。
  5. ブロック低密度パリティ検査(LDPC)符号を符号化する装置であって、
    前記LDPC符号のパリティ検査行列に基づいて、前記情報語ベクトルを生成行列に従ってブロックLDPC符号に符号化する符号化器と、
    前記ブロックLDPC符号を予め設定されている変調方式を使用して変調シンボルに変調する変調器とを具備し、
    前記生成行列は、前記情報語ベクトルから前記ブロックLDPC符号を生成する時に適用される長さに対応するパリティ検査行列を変形して生成され、
    前記生成行列は、新たな行列とパリティ検査行列との乗算を意味し、
    単位行列は、行列Fの対角線に沿って位置し、
    順列行列P −am は、行列Fの対角線の最後部分に位置し、最後のブロックに該当する0行列でないすべての順列行列の指数は、モジューロ(modulo)−N 演算を通してa だけ増加し、
    前記N は、前記生成行列を構成している部分ブロックの各々と一致する順列行列の行数または列数であり、
    単位行列は、最後部分を除いて前記生成行列の対角線に沿って位置し、
    前記a は、前記生成行列の対角線の最後部分に位置する順列行列の指数であり、
    前記ブロックLDPC符号は、前記情報語ベクトルと、第1のパリティベクトルと、第2のパリティベクトルとを含み、前記生成行列は、前記情報語ベクトルにマッピングされる第1の行列と、前記第1のパリティベクトルにマッピングされる第2の行列と、前記第2のパリティベクトルにマッピングされる第3の行列とを含み、
    前記第1の行列は、前記情報語ベクトルから前記ブロックLDPC符号を生成する時に適用される長さに対応するパリティ検査行列の前記情報語ベクトルにマッピングされる第4の行列に前記新たな行列を乗算した行列であり、前記第2の行列は、前記パリティ検査行列の前記第1のパリティベクトルにマッピングされる第6の行列に前記新たな行列を乗算した行列であり、前記第3の行列は、前記パリティ検査行列の前記第2のパリティベクトルにマッピングされる第7の行列に前記新たな行列を乗算した行列であり、
    前記符号化器は、前記第4の行列のすべての行をブロック単位で加算した行列と前記情報語ベクトルの転置ベクトルを乗算したベクトルを前記第1のパリティベクトルの転置ベクトルを予め設定された値だけ循環シフトしたベクトルとなるように、前記第1のパリティベクトルを生成し、逆代入方式を使用して前記第2のパリティベクトルを生成した後に、前記情報語ベクトルに前記第1のパリティベクトル及び第2のパリティベクトルを接続して前記ブロックLDPC符号を生成することを特徴とする装置。
  6. 前記生成行列は、下記表2として表され、
    Figure 0004545793
    各ブロック内の数字は、該当ブロックに位置した順列行列の指数値を示し、Iは、該当ブロックに位置した単位行列を示すことを特徴とする請求項に記載の装置。
  7. 前記符号化器は、下記(式2)を使用して前記第1のパリティベクトルを生成することを特徴とする請求項に記載の装置。
    Figure 0004545793
    ここで、
    Figure 0004545793
    は、前記情報語ベクトルを示し、
    Figure 0004545793
    は、前記第1のパリティベクトルを示し、
    Figure 0004545793
    は、前記情報語ベクトルの転置ベクトルを示し、
    Figure 0004545793
    は、前記第1のパリティベクトルの転置ベクトルを示し、
    は、N×Nサイズを有する順列行列をxだけ循環シフトした行列を示し、
    Figure 0004545793
    は、前記
    Figure 0004545793
    をxだけ循環シフトしたベクトルを示し、
    Figure 0004545793
    は、該当行列のすべての行をブロック単位で加算する演算を示す。
  8. 前記該当行列のすべての行をブロック単位で加算する演算は、該当行列に含まれる部分ブロックの同一の行を加算する演算であることを特徴とする請求項に記載の装置。
  9. ブロック低密度パリティ検査(LDPC)符号を復号化する方法であって、
    信号を受信するステップと、
    復号化されるブロックLDPC符号の長さに従って予め設定されているパリティ検査行列を使用して前記受信信号を復号化するステップと、
    前記ブロックLDPC符号を前記復号化された受信信号から検出するステップとを具備し、
    前記パリティ検査行列に従って前記受信信号を復号化し、前記復号化された受信信号から前記ブロックLDPC符号を検出するステップは、
    前記パリティ検査行列に従ってデインターリービング方式及びインターリービング方式を決定するステップと、
    前記受信信号の確率値を検出するステップと、
    前記受信信号の確率値から以前の復号化過程で生成された信号を減算して第1の信号を生成するステップと、
    前記第1の信号を前記デインターリービング方式を使用してデインターリービングするステップと、
    前記デインターリービングされた信号から確率値を検出するステップと、
    前記デインターリービングされた信号の確率値から前記デインターリービングされた信号を減算して第2の信号を生成するステップと、
    前記第2の信号を前記インターリービング方式にてインターリービングするステップと、
    前記インターリービングされた信号を反復復号化して、前記ブロックLDPC符号を検出するステップとを具備し、
    前記ブロックLDPC符号は、前記LDPC符号のパリティ検査行列Hに基づく生成行列を用いて生成され、
    前記生成行列は、新たな行列とパリティ検査行列との乗算を意味し、
    単位行列は、行列Fの対角線に沿って位置し、
    順列行列P −am は、行列Fの対角線の最後部分に位置し、最後のブロックに該当する0行列でないすべての順列行列の指数は、モジューロ(modulo)−N 演算を通してa だけ増加し、
    前記N は、前記生成行列を構成している部分ブロックの各々と一致する順列行列の行数または列数であり、
    単位行列は、最後部分を除いて前記生成行列の対角線に沿って位置し、
    前記a は、前記生成行列の対角線の最後部分に位置する順列行列の指数であり、
    前記ブロックLDPC符号は、前記情報語ベクトルと、第1のパリティベクトルと、第2のパリティベクトルとを含み、前記生成行列は、前記情報語ベクトルにマッピングされる第1の行列と、前記第1のパリティベクトルにマッピングされる第2の行列と、前記第2のパリティベクトルにマッピングされる第3の行列とを含み、
    前記第1の行列は、前記情報語ベクトルから前記ブロックLDPC符号を生成する時に適用される長さに対応するパリティ検査行列の前記情報語ベクトルにマッピングされる第4の行列に前記新たな行列を乗算した行列であり、前記第2の行列は、前記パリティ検査行列の前記第1のパリティベクトルにマッピングされる第6の行列に前記新たな行列を乗算した行列であり、前記第3の行列は、前記パリティ検査行列の前記第2のパリティベクトルにマッピングされる第7の行列に前記新たな行列を乗算した行列であることを特徴とする方法。
  10. ブロック低密度パリティ検査(LDPC)符号を復号化する装置であって、
    信号を受信する受信機と、
    復号化されるブロックLDPC符号の長さに対応して予め設定されているパリティ検査行列を使用して前記受信信号を復号化し、前記復号化された受信信号から前記ブロックLDPC符号を検出するために適合された復号化器とを具備し、
    前記復号化器は、
    前記パリティ検査行列に含まれた各々の列のウェイトに従って変数ノードを接続することによって、前記受信信号の確率値を検出する変数ノード復号化器と、
    前記変数ノード復号化器から出力された信号から以前の復号化過程で生成された信号を減算する第1の加算器と、
    前記第1の加算器から出力された信号を、前記パリティ検査行列に従って設定されたデインターリービング方式にてデインターリービングするデインターリーバと、
    前記パリティ検査行列に含まれた各々の行のウェイトに従って検査ノードを接続することによって、前記デインターリーバから出力された信号の確率値を検出する検査ノード復号化器と、
    前記検査ノード復号化器から出力された信号から前記デインターリーバから出力された信号を減算する第2の加算器と、
    前記第2の加算器から出力された信号を前記パリティ検査行列に従って設定されたインターリービング方式にてインターリービングし、前記インターリービングされた信号を前記変数ノード復号化器及び前記第1の加算器へ出力するインターリーバと、
    前記デインターリービング方式及び前記インターリービング方式を前記パリティ検査行列に従って制御する制御器とを具備し、
    前記ブロックLDPC符号は、前記LDPC符号のパリティ検査行列Hに基づく生成行列(H’)を用いて生成され、
    前記生成行列は、新たな行列とパリティ検査行列との乗算を意味し、
    単位行列は、行列Fの対角線に沿って位置し、
    順列行列P −am は、行列Fの対角線の最後部分に位置し、最後のブロックに該当する0行列でないすべての順列行列の指数は、モジューロ(modulo)−N 演算を通してa だけ増加し、
    前記N は、前記生成行列を構成している部分ブロックの各々と一致する順列行列の行数または列数であり、
    単位行列は、最後部分を除いて前記生成行列の対角線に沿って位置し、
    前記a は、前記生成行列の対角線の最後部分に位置する順列行列の指数であり、
    前記ブロックLDPC符号は、前記情報語ベクトルと、第1のパリティベクトルと、第2のパリティベクトルとを含み、前記生成行列は、前記情報語ベクトルにマッピングされる第1の行列と、前記第1のパリティベクトルにマッピングされる第2の行列と、前記第2のパリティベクトルにマッピングされる第3の行列とを含み、
    前記第1の行列は、前記情報語ベクトルから前記ブロックLDPC符号を生成する時に適用される長さに対応するパリティ検査行列の前記情報語ベクトルにマッピングされる第4の行列に前記新たな行列を乗算した行列であり、前記第2の行列は、前記パリティ検査行列の前記第1のパリティベクトルにマッピングされる第6の行列に前記新たな行列を乗算した行列であり、前記第3の行列は、前記パリティ検査行列の前記第2のパリティベクトルにマッピングされる第7の行列に前記新たな行列を乗算した行列であることを特徴とする装置。
JP2007514929A 2004-08-10 2005-08-10 ブロック低密度パリティ検査符号を符号化/復号化する装置及び方法 Expired - Fee Related JP4545793B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20040062977 2004-08-10
PCT/KR2005/002594 WO2006016769A1 (en) 2004-08-10 2005-08-10 Apparatus and method for encoding and decoding a block low density parity check code

Publications (2)

Publication Number Publication Date
JP2008501287A JP2008501287A (ja) 2008-01-17
JP4545793B2 true JP4545793B2 (ja) 2010-09-15

Family

ID=35431229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007514929A Expired - Fee Related JP4545793B2 (ja) 2004-08-10 2005-08-10 ブロック低密度パリティ検査符号を符号化/復号化する装置及び方法

Country Status (10)

Country Link
US (1) US7600174B2 (ja)
EP (1) EP1626505B1 (ja)
JP (1) JP4545793B2 (ja)
KR (1) KR100713371B1 (ja)
CN (1) CN1993892B (ja)
AU (1) AU2005272268B2 (ja)
CA (1) CA2563642C (ja)
DE (1) DE602005026754D1 (ja)
RU (1) RU2348103C2 (ja)
WO (1) WO2006016769A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100641052B1 (ko) * 2004-12-08 2006-11-02 한국전자통신연구원 Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법
US20070198905A1 (en) * 2006-02-03 2007-08-23 Nokia Corporation Transmitter for a communications network
KR100975558B1 (ko) * 2006-05-03 2010-08-13 삼성전자주식회사 통신 시스템에서 신호 송수신 장치 및 방법
KR100834650B1 (ko) * 2006-09-04 2008-06-02 삼성전자주식회사 통신 시스템에서 신호 송수신 장치 및 방법
US8271851B2 (en) 2006-11-13 2012-09-18 France Telecom Encoding and decoding a data signal as a function of a correcting code
US7913149B2 (en) * 2006-12-20 2011-03-22 Lsi Corporation Low complexity LDPC encoding algorithm
KR100975696B1 (ko) 2007-04-05 2010-08-12 삼성전자주식회사 통신 시스템에서 부호화 장치 및 방법
US8473824B1 (en) * 2008-09-08 2013-06-25 Marvell International Ltd. Quasi-cyclic low-density parity-check (QC-LDPC) encoder
CN101488819B (zh) * 2008-01-15 2013-02-27 华为技术有限公司 一种低密度奇偶校验码编码调制方法及装置
US20110113312A1 (en) * 2008-06-09 2011-05-12 Hideki Kobayashi Check matrix generating method, check matrix, decoding apparatus, and decoding method
KR101481431B1 (ko) * 2008-12-08 2015-01-12 삼성전자주식회사 저밀도 패리티 검사 행렬 재배열 방법 및 이를 이용하는 장치
JP5445829B2 (ja) * 2009-05-29 2014-03-19 ソニー株式会社 受信装置、受信方法、およびプログラム、並びに受信システム
JP5413701B2 (ja) * 2011-03-22 2014-02-12 日本電気株式会社 誤り訂正符号化装置、誤り訂正符号化方法および誤り訂正符号化プログラム
CN102315911B (zh) * 2011-09-29 2017-10-27 中兴通讯股份有限公司 一种低密度奇偶校验码编码方法及装置
JP5774237B2 (ja) * 2012-11-05 2015-09-09 三菱電機株式会社 誤り訂正符号化方法および誤り訂正符号化装置
CN103580807B (zh) * 2013-11-05 2017-01-18 上海数字电视国家工程研究中心有限公司 针对特定度分布ldpc码字的bicm传输方法及系统
CN104363023B (zh) * 2014-10-11 2017-10-03 中国科学院国家授时中心 北斗高精度差分信息编码方法
CN111917518B (zh) 2015-03-02 2023-04-14 三星电子株式会社 发送方法
US10367525B2 (en) * 2015-05-29 2019-07-30 National Instruments Corporation Incremental loop modification for LDPC encoding
CN109417392B (zh) * 2016-07-20 2021-10-15 华为技术有限公司 Ldpc码的编解码方法及系统
WO2018084735A1 (en) * 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
TWI602188B (zh) * 2017-01-03 2017-10-11 慧榮科技股份有限公司 用來於記憶裝置中進行資料管理之方法以及記憶裝置及其控制器
CN117768059A (zh) 2017-03-30 2024-03-26 三星电子株式会社 用于通信或广播系统中的信道编码/解码的装置和方法
CN108809328B (zh) 2017-05-05 2024-05-17 华为技术有限公司 信息处理的方法、通信装置
EP4187794A1 (en) 2017-06-15 2023-05-31 Huawei Technologies Co., Ltd. Qc-ldpc codes for 3gpp 5g mobile radio
CN109327225B9 (zh) 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备
PL3491741T3 (pl) 2017-06-27 2020-05-18 Telefonaktiebolaget Lm Ericsson (Publ) Wzór wartości przesunięcia dla quasi-cyklicznych kodów LDPC
US10621035B2 (en) * 2017-10-18 2020-04-14 Intel Corporation Techniques for correcting data errors in memory devices
CN111313909A (zh) * 2018-12-12 2020-06-19 北京航空航天大学 Ldpc码译码方法和编码方法
CN112015325B (zh) * 2019-05-28 2024-03-26 阿里巴巴集团控股有限公司 一种生成解码矩阵的方法、解码方法和对应装置
US11405055B2 (en) * 2019-06-26 2022-08-02 Polaran Haberlesme Teknolojileri Anonim Sirketi Methods and apparatus for error correction coding with triangular factorization of generator matrix
CN111211793B (zh) * 2020-02-10 2023-08-04 成都烨软科技有限公司 一种基于汉明码并行tpc编码方法
CN112398488B (zh) * 2020-12-29 2021-04-30 支付宝(杭州)信息技术有限公司 向量压缩的方法和装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2156555B (en) 1984-03-24 1988-03-09 Philips Nv Error correction of data symbols
US5838267A (en) 1996-10-09 1998-11-17 Ericsson, Inc. Method and apparatus for encoding and decoding digital information
US6304991B1 (en) 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
JP2002313036A (ja) 2001-04-18 2002-10-25 Sharp Corp 復調方法および誤り訂正方法、並びに、記録媒体再生装置
US6567465B2 (en) 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US6789227B2 (en) 2001-07-05 2004-09-07 International Business Machines Corporation System and method for generating low density parity check codes using bit-filling
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US6829308B2 (en) 2002-07-03 2004-12-07 Hughes Electronics Corporation Satellite communication system utilizing low density parity check codes
EP1379001A3 (en) * 2002-07-03 2004-03-10 Hughes Electronics Corporation Method and system for decoding low density parity check (LDPC) codes
KR100543154B1 (ko) * 2002-07-26 2006-01-20 휴우즈 일렉트로닉스 코오포레이션 저밀도 패리티 검사 코드 생성 방법 및 시스템
US6785863B2 (en) * 2002-09-18 2004-08-31 Motorola, Inc. Method and apparatus for generating parity-check bits from a symbol set
US7222289B2 (en) * 2002-09-30 2007-05-22 Certance Llc Channel processor using reduced complexity LDPC decoder
KR20040036460A (ko) * 2002-10-26 2004-04-30 삼성전자주식회사 Ldpc 복호화 장치 및 그 방법
US7702986B2 (en) 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
KR100502609B1 (ko) * 2002-11-21 2005-07-20 한국전자통신연구원 Ldpc 코드를 이용한 부호화기 및 부호화 방법
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
KR100906474B1 (ko) * 2003-01-29 2009-07-08 삼성전자주식회사 저밀도 부가정보 발생용 매트릭스를 이용한 에러 정정방법 및그 장치
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100550101B1 (ko) 2003-12-22 2006-02-08 한국전자통신연구원 저밀도 패리티 검사 부호의 부호화와 복호 장치 및 그방법
KR20050073359A (ko) * 2004-01-09 2005-07-13 주식회사 하이닉스반도체 테스트 레티클 제작 방법
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
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

Also Published As

Publication number Publication date
RU2007105100A (ru) 2008-08-20
CN1993892A (zh) 2007-07-04
EP1626505B1 (en) 2011-03-09
EP1626505A1 (en) 2006-02-15
AU2005272268A1 (en) 2006-02-16
CN1993892B (zh) 2012-12-26
US20060036927A1 (en) 2006-02-16
US7600174B2 (en) 2009-10-06
CA2563642C (en) 2013-10-01
JP2008501287A (ja) 2008-01-17
CA2563642A1 (en) 2006-02-16
KR100713371B1 (ko) 2007-05-04
KR20060050384A (ko) 2006-05-19
WO2006016769A1 (en) 2006-02-16
DE602005026754D1 (de) 2011-04-21
RU2348103C2 (ru) 2009-02-27
AU2005272268B2 (en) 2008-07-31

Similar Documents

Publication Publication Date Title
JP4545793B2 (ja) ブロック低密度パリティ検査符号を符号化/復号化する装置及び方法
JP4555334B2 (ja) 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法
JP4519902B2 (ja) 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法
KR100809616B1 (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
JP4555333B2 (ja) 可変符号化率を有するブロック低密度パリティ検査符号の符号化/復号装置及び方法
JP5219552B2 (ja) 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法
KR100739510B1 (ko) 반구조적 블록 저밀도 패리티 검사 부호 부호화/복호 장치및 방법
KR100941680B1 (ko) 준순환 저밀도 패리티 검사 부호의 생성 방법 및 장치
RU2369008C2 (ru) Устройство и способ кодирования-декодирования блочного кода проверки на четность с низкой плотностью с переменной длиной блока
US20050132260A1 (en) Apparatus and method for coding and decoding irregular repeat accumulate codes
JP5789014B2 (ja) 符号化方法、符号化器、復号器
KR20060016061A (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR101447751B1 (ko) 블록 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서패리티 검사 행렬 생성 장치 및 방법
JP2009177649A (ja) 符号化方法、符号化器、復号器

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090819

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090910

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

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

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4545793

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

LAPS Cancellation because of no payment of annual fees