JP2006157926A - 低密度パリティ検査符号の生成方法及び装置 - Google Patents

低密度パリティ検査符号の生成方法及び装置 Download PDF

Info

Publication number
JP2006157926A
JP2006157926A JP2005344040A JP2005344040A JP2006157926A JP 2006157926 A JP2006157926 A JP 2006157926A JP 2005344040 A JP2005344040 A JP 2005344040A JP 2005344040 A JP2005344040 A JP 2005344040A JP 2006157926 A JP2006157926 A JP 2006157926A
Authority
JP
Japan
Prior art keywords
matrix
parity check
sub
parity
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.)
Granted
Application number
JP2005344040A
Other languages
English (en)
Other versions
JP4168055B2 (ja
Inventor
Sang-Hyo Kim
相曉 金
Han-Ju Kim
漢柱 金
Min-Goo Kim
▲ミン▼龜 金
Young-Mo Gu
永謨 具
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 JP2006157926A publication Critical patent/JP2006157926A/ja
Application granted granted Critical
Publication of JP4168055B2 publication Critical patent/JP4168055B2/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

【目的】低密度パリティ検査符号の生成方法及び装置を提供する。
【解決手段】パリティ検査行列を構成する段階と、情報部分行列とパリティ部分行列とに分割する段階と、パリティ部分行列をサブブロックに分割する段階と、第1対角部分と第2対角部分とを決定する段階と、サブブロックにシフトされた単位行列をそれぞれ配置する段階と、残りのサブブロックをゼロ行列で充填する段階と、1つのサブブロック列に奇数個のデルタ行列を配置する段階と、パリティ検査行列を記憶する段階とを含む。
【選択図】図4

Description

本発明は、データの符号化に関し、特に低密度パリティ検査(Low−Density Parity Check;以下LDPCと称する)符号の生成方法及び装置に関する。
通常、通信システムではデータの伝送時、伝送されるデータを符号化して伝送することにより、伝送の安定性は増加させるとともに、できるだけ再伝送を避けることで伝送効率を高めている。このため、移動通信システムでは畳み込み(convolutional)符号化、ターボ符号化などの方法が用いられている。
無線通信技術の急速な発展に伴い、もっと高速にデータを伝送できる無線通信システムが登場している。ところが、一層の高速のデータ伝送のために、前記した既存の符号化方法よりも高い効率が得られる符号化方法が求められている実状である。
かかる要求に応じるために、有望な新しい代案として低密度パリティ検査(LDPC)符号が提案されている。LDPC符号は1960年代初にGallagerによって最初に提案され、1990年代以降MacKayらによって再発見された。前記MacKayらによって再発見されたLDPC符号は和積アルゴリズム(Sum−Product algorithm)を用いた復号化方法に基づいている。また、LDPC符号は確率伝播(belief Propagation)アルゴリズムを用いることで、シャノン容量限界(Shannon capacity limit)(以下、シャノン限界(Shannon limit)ともいう)に近づく優れた性能を有する符号として関心が集まっている。
その後、Richardson及びChungなどは、LDPC符号を構成するファクターグラフ(factor graph)上で復号中に生成、更新されるメッセジーの確率分布(probability distribution)の繰り返し(iteration)回数によって変化することを追跡するという密度進化(density evolution)を提案した。前記密度進化を用いたファクターグラフ上における無限の反復を仮定して、エラー確率(probability of error)を“0”に収束できるチャンネルパラメーター(channel parameter)が発明された。すなわち、ファクターグラフ上でチャンネルパラメーターを最大化できるように変数ノード(variable node)及び検査ノード(check node)の次数分布(degree distribution)を提案した。そして、このような場合がサイクルを有する有限長さのLDPC符号に対しても適用できることを理論的に証明した。かかる密度進化技術を用いると、不均一な(irregular)LDPC符号のチャンネル容量が理論的なシャロン限界にほとんど0.0045dBまで迫ることができる。
このようなLDPC符号は次世代移動通信システムにおいてターボ符号を代替することができる強力な代案として議論されている。これはLDPC符号が有している復号器具現上の並列構造(parallel structure)及び低い複雑度(low complexity)、そして性能上の低いエラーフロア(error floor)、良好なフレーム誤り率(good frame error rate)などの要因のためである。従って、今後とも多くの研究が進行されるにつれ、より優秀な特性を有するLDPC符号が見込まれている。
しかし、従来のLDPC符号の具現するに当たり、ターボ符号(turbo code)に比べて符号化(encoding)工程が多少複雑であり、LDPC符号を表現するに多くのメモリが必要となり、また短いフレームサイズ(frame size)でターボ符号より優秀な性能を出すことができる最適の符号構造を決定することが容易でないという問題点がある。従って、フレーム長さに柔軟性(flexibility)を有する一層効率的なLDPC符号が求められるようになった。
本発明は上述した従来の問題点を解決するために案出されたもので、その目的は符号化工程が単純な低密度パリティ検査符号の生成方法及び装置を提供することにある。
本発明の他の目的は符号化工程が単純であり、ブロック形態の低密度パリティ検査符号の生成方法及び装置を提供することにある。
このような目的を達成するために、本発明は低密度パリティ検査符号の生成方法において、長さKの情報シーケンスを長さNの符号語に符号化するために、検査ノードに対する(N−K)個の行及び変数ノードに対するN個の列を有するパリティ検査行列を構成する段階と、前記パリティ検査行列をK個の列を有する情報部分行列と(N−K)個の列を有するパリティ部分行列とに分割する段階と、前記パリティ部分行列をP*Pのサイズを有するサブブロックに分割する段階(ここで、Pは(N−K)の約数である)と、前記パリティ部分行列の第1対角部分と、前記第1対角部分からサブブロックシフト量fだけシフトされた第2対角部分とを決定する段階と、前記第1対角部分及び第2対角部分のサブブロックにシフトインデックスを有するシフトされた単位行列をそれぞれ配置する段階と、前記第1及び第2対角部分を除いた残りのサブブロックをゼロ行列で充填する段階と、前記パリティ部分行列の1つのサブブロック列に、それぞれただ1つの1元素だけを含み、残りの元素は全部0である奇数個のデルタ行列を配置する段階と、前記パリティ検査行列を記憶する段階とを含むことを特徴とする。
本発明によれば、GDM LDPC符号において次数が1である変数ノードを取り除くことで、全てのパリティビットの符号化に密度進化を適用させて符号化性能の向上を図ることができる。また、ブロック構造を維持するとともに、LDPC符号を表現するに必要なメモリ容量を節減できるようになる。その結果、効率的な符号化を実現することができる。
以下、図面に参照しながら本発明の実施形態を詳細に説明する。なお、下記の説明において、本発明の要旨のみを明瞭にする目的で、関連した公知の機能又は構成に関する具体的な説明は省略する。
低密度パリティ検査(LDPC)符号は、線形ブロック符号の一種であり、大部分の元素が0の値を有し、0の値を有する元素以外の極めて僅かな数の元素が1の値を有するパリティ検査行列(parity check matrix)によってその構造が定義される。例えば、Kビットの情報ビットのための(N,K)LDPC符号はブロックサイズがNである線形ブロック符号(linear block code)であって、1の値を有する元素を除いた元素は全部0の値を有する疎らな(sparse)構造の(N−K)*Nパリティ検査行列によって定義される。ここで、各行又は各列に含まれる1の個数を各行又は各列の次数(degree)という。
前記パリティ検査行列内の各列及び各行の次数が一定しているLDPC符号を均一(regular)LDPC符号と称する。これとは異なり、パリティ検査行列内の各列及び各行の次数が一定していないLDPC符号を不均一(irregular)LDPC符号と称する。一般に均一LDPC符号の性能に比べて不均一LDPC符号の性能がもっと優れていると知られている。しかし、不均一LDPC符号の場合、パリティ検査行列内の各列及び各行の次数が一定していないので、優秀な性能保障のためにはパリティ検査行列内の各列及び各行の次数を適宜に調節しなければならないという不具合がある。
長さがNである符号語はベクトルCに表現され、情報ビットの長さがKであるとき、2個のうち一つの符号語を示す(N,K)符号が使用される。(N,K)LDPC符号は(N−K)*Nパリティ検査行列Hによって定義され、下記数式(1)を満足する。
Figure 2006157926
図1は一般的な(10、5)LDPC符号の一例を示すパリティ検査行列を示す図である。
図1に示したように、LDPC符号のパリティ検査行列Hは10つの列及び5つの行から構成され、列の次数は均一に2であり、行の次数は均一に4である。このように列の次数及び行の次数が均一であるので、前記(10、5)LDPC符号は均一LDPC符号となる。
図2は図1に示したLDPC符号のファクターグラフを示す図である。
図2に示したように、前記LDPC符号のファクターグラフは10つの変数ノード(variable node)20、つまりV〜V10と、5つの検査ノード(check node)22、つまりC〜Cとから構成される。前記LDPC符号のパリティ検査行列のi番目列とj番目の行とが交差する支点に1の値を有する元素が存在する場合、i番目の変数ノードVとj番目の検査ノードCとの間にブランチ(branch)(エッジ(edge)ともいう)25が形成される。
前述のように、LDPC符号のパリティ検査行列は極めて小さい次数を有するので、比較的長いサイズを有するブロック符号に対しても和積アルゴリズムを用いたメッセージ伝達反復復号化が可能であり、ブロック符号のブロックサイズを増加させ続けると、ターボ符号のようにシャノンのチャンネル容量限界に近づく形態の性能を示す。
LDPCの復号化はファクターグラフ上の変数ノードと検査ノードとの間で各ノード別に生成及び更新されたメッセージを互いに交換する工程を反復することにより行われる。このとき、各ノードでは和積アルゴリズムを用いてメッセージを更新(update)することになる。このようなLDPC符号の反復復号動作を図3A及び図3Bに示した。
図3Aに示すように、検査ノード22aは、前記検査ノード22aに連結された変数ノード20bのうちいずれか1つの変数ノードのための検査ノードメッセージ24を、残りの変数ノードから受信した変数ノード値を合算することにより生成する。図3Bに示すように、変数ノード20aは、前記変数ノード20aに連結された検査ノード22bのうちいずれか1つの検査ノードのための変数ノードメッセージ26を、残りの検査ノードから受信した検査ノードの値を積算することにより生成する。
前述のように、和積アルゴリズムを適用するに際して、検査ノードメッセージ及び変数ノードメッセージは変数ノードと検査ノードとの間を連結するエッジに沿って伝達される。このため、パリティ検査行列の1の個数が少なければ少ないほど伝達すべきメッセージの数が減少し、これにより復号化のための計算量及び記憶空間を減らすことができるという効果が得られる。
LDPC符号の効率的な符号化のための多様な方法が研究されている。一般に、長さKの情報シーケンスC及び(N−K)*Nパリティ検査行列を用いて、(N−K)個のパリティビットを含むパリティシーケンスCが生成される。このとき、パリティ検査行列は(N−K)*K情報部分行列であるH及び(N−K)*(N−K)パリティ部分行列であるHの連接であって、下記の数式(2)のように表現される。
Figure 2006157926
このとき、C=[C:C]であり、C=[c,c,…cK−1]、 C=[p,p,…pN−K−1]である。
パリティ検査行列の情報部分はLDPC符号のサイクル特性及び密度進化特性を考慮して設計されるもので、これは本発明の主な要旨とは関連がないので、本願明細書ではこれ以上詳細に言及しない。
図4はLDPC符号の効率的な符号化のためのパリティ検査行列の一例を示す図である。
図4に示すように、パリティ検査行列100は、情報部分102とパリティ部分104とからなる。図示のように、正方行列であるパリティ部分104の最初行及び最初列の元素から最終行及び最終列までの元素で形成される第一の対角部分は全部1から構成される。第二の対角部分は最初行の第二列から始まる全部1である元素から構成される。すると、第二の対角部分は第一の対角部分から1だけ循環シフトされたものと理解できる。
前記パリティ検査行列100は次数が1である列を取り除くとともにパリティビットを順次に生成できるように、第一列106が奇数個の1を含むように構成されている。図4において、前記パリティ部分104に1と表記された元素を除いた元素は全部0である。
前記パリティ検査行列100の全ての行を元素単位で合算すると、全ての行を合算して作られたベクトルS=[S:S]と符号語ベクトルCとの内積が0であるべきことは前記数式(1)から明らかである。ここで、本願明細書全般に亘って合算とは、ガロアフィールド(Galois Field)足し算を意味する。パリティ部分104において第一のパリティビットを除いた残りのパリティビットに対応する変数ノードはいつも次数が2であるので、Sは[1,0,0,…,0]のように最初のビットを除くと全部0となる。従って、前記数式(1)から下記数式(3)が導かれて、第一のパリティビットpが計算される。
Figure 2006157926
パリティ検査行列100の各行を下記の数式(4)とするとき、下記数式(5)が成り立つことは自明である。
Figure 2006157926
Figure 2006157926
ここで、jは0と(N−K−1)との間の整数である。
したがって、下記数式(6)からpが求められ、このように順次にパリティビットを求めることができる。
Figure 2006157926
まず、全ての行に対してh を求め、その後、前記求められた値を累積しながらz+1番目のパリティビットを求める方法は次のようである。h (z)をh のz番目の要素とし、Hの第一列であるベクトルgを下記の数式(7)のように表記するとき、下記数式(8)が求められる。
Figure 2006157926
Figure 2006157926
図4のパリティ検査行列100において1と表記された各元素を所定のサイズP*Pを有する単位行列(Identity Matrix)に置換すると、パリティ部分104をP倍のサイズを有するパリティ部分に拡張することができる。ここで、Pは(N−K)の約数になることは明らかである。このように拡張されたパリティ部分を有するブロックタイプのLDPC符号は、不規則的に生成されたLDPC符号に比べて割りに小さなメモリ容量でLDPC符号を表現することができ、フレーム長さに柔軟性を有することができ、復号器の具現が比較的簡単であるという長所をもっている。ブロックタイプのLDPC符号は、ベクトルLDPC符号、ブロックLDPC符号、或いはGDM(Generalized Dual−diagonal )LDPC符号などのように呼ばれる。
GDM LDPC符号のパリティ検査行列は、アレー符号(Array code)と同様に、P*P単位行列Iの各行をsだけ循環シフトした行列をサブブロック(subblock)として有する。ここで、sはシフトインデックス(shift index)である。
次に、図5を参照して、特にGDM LDPC符号を定義するブロックパリティ検査行列について説明する。ここでは(27,15)GDM LDPC符号を一例として示している。
図5において、nはN/Pであり、kはK/Pと定義すると、図示のパリティ検査行列110の場合P=3、n=9、k=5である。パリティ検査行列110は情報部分112とパリティ部分114とに分割され、前記パリティ部分114は3*3サイズの行列を含むサブブロックに分割される。よって、前記パリティ部分114は4つのサブブロック行(subblock row)及び4つのサブブロック列(subblock column)を有する。図示されてはいないが、情報部分112はゼロ行列やシフトされた単位行列だけで構成され、非ゼロ(non−zero)サブブロックの位置及びシフトされた単位行列のシフトインデックスsは符号の密度進化及びサイクル特性を考慮して決定される。
パリティ部分114の最初のサブブロック行及び最初のサブブロック列から最終のサブブロック行及び最終のサブブロック列のサブブロックまでのサブブロックで形成される第一の対角部分には全部シフトされた単位行列が配置される。但し、パリティ部分114はシフトされた単位行列においてただ1つの1が穿孔された一つのブロック116を有する。第二の対角部分は最初のサブブロック列の第二のサブブロック行から始まるサブブロックからなり、同様にシフトされた単位行列で構成される。すると、第二の対角部分は第一の対角部分から1だけシフトされたものと理解できる。パリティ部分114において空いているサブブロックはゼロ行列である。
サブブロックに含まれる行列は、単位行列Iを対角方向にシフトした行列、即ちシフトされた単位行列である。下記の数式(9)にシフトされた単位行列の一例を示した。
Figure 2006157926
シフトインデックスsを有するシフトされた単位行列σは、単位行列Iをs回数だけシフトした構造を有するので、σ=1である。図5に示したパリティ部分114の全ての対角部分は σのサブブロックから構成される。前記シフトされた単位行列は単位行列Iの各列を循環シフトした循環順列行列(cyclic permutation matrix)である。
GDM LDPC符号は図6に示すようなパリティ検査行列のパリティ部分を用いて作られる。図6の2進行列において対角線で表示した対角部分30a、30b、32は全部1である。図6の二重対角行列は第二の対角部分30a、30bを第一の対角部分32からfだけシフトした構造であり、第二の対角部分30aの一番目の元素を0にすると(つまり、穿孔すると)、pの符号化が可能になり、残りのパリティビットは図4のパリティ検査行列100と類似した方式で順次に符号化される。前記pから出発して図示の矢印方向に沿って順次に全てのパリティビットが符号化される。ここで、r=n−k=(N−K)/Pである。
図7は図6に示したパリティ部分から拡張されたブロックパリティ部分を示す図である。
図7において、図示のパリティ部分は第一、第二の対角部分40、42a、42bに配置されたシフトされた単位行列σと残りのサブブロックに配置されたゼロ行列とからなる。第一の対角部分40はシフトインデックス0、2、…、2(r−f−1)、2(r−f)、…2(r−1)を有するシフトされた単位行列からなる。前記第一の対角部分40からサブブロックシフト量fだけシフトされた第二の対角部分42a、42bはシフトインデックス1、3、…、2(r−f−1)+1、…、2(r−f)+1、…、2(r−1)+1を有するシフトされた単位行列からなる。前記シフトされた単位行列はそれぞれP*Pのサイズを有するので、第二の対角部分42aは第一の対角部分42からP*f個の列だけ離隔される。
前記パリティ部分において、第二の対角部分の第一のシフトされた単位行列σj1をゼロ行列に置換するに代わりに、σj1の第一行の1だけを0に変えると、全体として非ゼロ元素を循環しながら全てのパリティビットが符号化できる。
更に図5を参照すると、パリティ部分114は図7に示したパリティ部分にサブブロックシフト量f=3を適用することにより作られたものである。パリティビットの置換(permutation)を通じてj=j=0のようにし、サブブロック116のσj0の第一行だけを全部0に変えてもパリティ検査行列の固有の特性を失わない。
各サブブロックのシフトインデックスjiは全てのパリティビットが順次に符号化できるように決定される。すなわち、両対角部分に該当する全てのシフトインデックスを合算した和をPを法とした(modulo)値が、Pと互いに素になるように、下記の数式(10)に基づいて前記 jiが決められる。
Figure 2006157926
ここで、gcdは最大公約数(great common divisor)を意味する。
図8はP=3であり、N−K=15であるGDM LDPC符号を定義するパリティ検査行列を示す図である。図示のように、パリティ検査行列120は情報部分122とパリティ部分124とからなり、パリティ部分124は2つの対角部分を除いた部分が全部ゼロ行列で充填される。第一の対角部分は、パリティ部分124の最初のサブブロック行及び最初のサブブロック列から最終のサブブロック行及び最終のサブブロック列のサブブロックまでのサブブロックで形成され、第二の対角部分は前記第一の対角部分から2サブブロックだけシフトされたもので、シフトされた単位行列で充填される。
ここで、前記パリティ部分124の第一行/第一列の元素130を穿孔すると、前述の数式(5)に基づいて最初に符号化されるパリティビットは第一行の7番目の元素126により得られる。次のパリティビットは矢印方向に沿って符号化が進行され、第一列の12番目の元素128によって最後のパリティビットが得られる。
ところが、図8のように構成されるGDM LDPC符号は次数が1である列が存在することになる。次数が1である列の元素は反復復号の影響を十分に受けることができないようになる。より具体的に、図8の場合、元素130の穿孔によって元素128は他の行の影響を受けないようになる。次に、次数が1である列が存在する符号ビットをなくす方法について説明する。
図9は本発明の実施形態によるパリティ検査行列のパリティ部分の構造を示す図である。ここで、前記パリティ検査行列の情報部分は本発明の主な要旨とは関連がないので図示を省略した。
図9に示すように、パリティ部分は対角部分50、50a、50bに配置されたシフトされた単位行列σと残りのサブブロックに配置されたゼロ行列とからなる。ここで、jは0と2(r−1)との間の整数であり、rはn−kである。第一の対角部分50は偶数個のシフトインデックス、0、2、…、2(r−f−1)、2(r−f)、…2(r−1)を有するシフトされた単位行列からなる。前記第一の対角部分50からサブブロックシフト量fだけシフトされた第二の対角部分52a、52bは奇数個のシフトインデックス1,3、2(r−f−1)+1、…、2(r−f)+1、…、2(r−1)+1を有するシフトされた単位行列からなる。前記シフトされた単位行列のシフトインデックスはLDPC符号の性能を最大化するとともに復号器の構造を単純化することができるように決定されるが、前記シフトインデックスの決定は本発明の主な要旨とは関係がないので、その詳細を省略する。
特に、次数が1である列を含むサブブロック列54にはただ1つの1だけを含む行列(以下、デルタ行列δと称する)が挿入される。前記デルタ行列δはシフトされた単位行列と同様にP*Pのサイズを有し、第一列のi番目のビットだけが1である行列である。ここで、iは0と(P−1)との間の整数であり、δ−1はゼロ行列である。下記の数式(11)に4*4δを示した。
Figure 2006157926
パリティ部分のサイズは(N−K)*(N−K)であり、n=N/P及びk=K/Pを考慮すると、前記サブブロック列54は(n−k−2)個のデルタ行列を含む。ここで、(n−k−2)は奇数であり、デルタ行列の位置は任意に決定される。
図9の行列の全ての行を合算すると、第一のパリティビットに該当する元素だけが1であり、残りの元素は全部0となる。従って、前述のように順次にパリティビットが符号化できるようになる。
図10は本発明の実施形態によるLDPC符号の一例及び符号化方法を示す図である。図10に記載の数字はパリティビットの符号化される順序を意味する。
図10を参照すると、パリティ検査行列H140は、情報部分H142とパリティ部分H144とから構成され(H=[H:H])、パリティ部分144は2つの対角部分154a、156a、156bを含む。パリティ部分144の第一のサブブロック列150は2つのシフトされた単位行列154、156と1つのデルタ行列152とを含む。
前述したようにパリティ検査行列H140の全ての行を合算したベクトルはS=[S:S]のようになる。すると、HC=0からSC=p+S =0となることは明らかであり、p=S ・pに基づいて元素146によってpが求められる。その後、 h +p+P=0によりpが符号化され、図10に示した矢印方向に沿って全てのパリティビットが符号化される。最後のパリティビットは元素148を用いて符号化される。但し、デルタ行列が存在するサブブロック152の場合は、更にpをも考慮することによって、当該サブブロック152の1の元素を含む列に該当するパリティビットが符号化される。即ち、符号化順序によって整列された(ordered)パリティビットはp 、p 、…p(N−K−1) を示し、h はp の順序によって再整列された(reordered)行を示すとき、パリティビットは下記の数式(12)により符号化される。
Figure 2006157926
図11は本発明の実施形態によるLDPC符号を生成する装置を示すブロック図である。
同図において、コンピュータシステム200は、システムバス230を通してメモリシステム218と連結されるプロセッサ212を含む。プロセッサ212はメモリシステム218から必要なパラメータを読み出し、前記パラメータを用いてLDPC符号を生成して前記メモリシステム218に記憶する。前記LDPC符号を生成するために、プロセッサ212はシステムバス230を通してメインメモリ210、入力装置214、及び出力装置216に連結されることができる。
ユーザは入力装置214を操作してシステムバス230を通してプロセッサ212へコマンド信号を入力する。プロセッサ212は前記コマンド信号による動作を遂行し、その結果を出力装置216を通してユーザに表示する。前記結果はユーザの要求に応じてメモリシステム218に記憶できる。
本発明の実施形態によるLDPC符号の生成動作は周知の対応するコンピュータプログラムコードの形態でメモリシステム218に記憶されるか、対応するハードウェアロジックで実現される。前記LDPC符号の生成に必要なパラメータ又は前記パラメータを計算するに必要なプログラムコードが前記メモリシステム218に記憶される。プロセッサ212によって生成されたLDPC符号は前記メモリシステム218にサブブロック別に記憶される。
図12は本発明の実施形態によるLDPC符号を生成する動作を示すフローチャートである。ここでは、LDPC符号を定義するパリティ検査行列を生成する動作を示す。
図12に示すように、ステップ300で、長さKの情報シーケンスを長さNの符号語に符号化するために検査ノードに対する(N−K)個の行及び変数ノードに対するN個の列を有するパリティ検査行列が形成される。ステップ302では、前記パリティ検査行列はK個の列を有する情報部分行列と、(N−K)個の列を有するパリティ部分行列とに分割される。そして、ステップ304では、前記パリティ部分行列はP*Pのサイズを有するサブブロックに更に分割される。前記Pは(N−K)の約数であり、前記パリティ部分行列は(N−K)/P=(n−k)個のサブブロック行及び(n−k)個のサブブロック列を有することになる。
ステップ306にて、前記パリティ部分行列の第一のサブブロック行/第一のサブブロック列から最後のサブブロック行/最後のサブブロック行を含む第一対角部分と、前記第一対角部分からサブブロックシフト量fだけシフトされた第2対角部分とが決定される。ステップ308では、前記第1対角部分及び第2対角部分のサブブロックには所定のサブブロックシフト量f及びシフトインデックスjを有するシフトされた単位行列が夫々配置される。前記サブブロックシフト量f及びシフトインデックスjは前記パリティ検査行列の符号化性能を最大化できるように決められる。このとき、従来のGDM LDPC符号とは異なり、前記第1及び第2対角部分のいずれの元素も0に穿孔されない。
ステップ310において、前記第1及び第2対角部分を除いた残りのサブブロックはゼロ行列で充填される。すると、ステップ312で前記パリティ部分行列における次数が1である列を含むサブブロック列の奇数個のゼロ行列をデルタ行列に置換する。前記デルタ行列は前述のようにただ1つの1だけを含み、残りの元素は全部0である行列を意味する。ステップ314にて前記のように生成されたパリティ検査行列がメモリシステムに記憶される。
図13は本発明の実施形態によるLDPC符号のパリティ部分の具現例を示す図である。
図13を参照すると、パリティ部分Hの二重対角部分は全部単位行列Iであり、第一サブブロック列の2つのサブブロックはデルタ行列δとシフトされた単位行列σである。前記シフトされた単位行列σは単位行列Iをsだけシフトした構造である。このように、第一サブブロック列にデルタ行列δだけを挿入して次数が1である列を取り除くことにより簡単なLDPC符号化ができるようになる。ここで、sはサブブロックサイズであるPと互いに素である値である。かかるLDPC符号はパリティ構造を極めて単純化し、極めて規則的なパリティビットの符号化が可能になる。
s=1である場合に符号化順序は下記の数式(13)の通りである。
Figure 2006157926
図14は本発明の実施形態によるパリティ検査行列においてP=3である場合の例を示す図である。
図14に示すように、パリティ検査行列160は、情報部分162とパリティ部分164とからなり、パリティ部分164の二重対角部分170、172a、172bには3*3単位行列が配置される。また、第一サブブロック列は1だけシフトされた単位行列168と、だた一つの1だけを含むデルタ行列166とを含む。
前述のような組織的形態のLDPC符号は、シフトされた単位行列形態のサブブロック及びただ1つの1だけを有するデルタ行列形態のサブブロック(デルタブロック)を有する。メモリシステムは、ブロックLDPC符号を表現するために必要なパラメータを守る。前記パラメータは、各検査ノードの次数、各変数ノードの次数、各行における非ゼロ行列の位置、そして各非ゼロ行列のシフトインデックスsに対する情報であって、正の整数に表現される。本発明の実施形態によるメモリシステムは、デルタ行列を含むサブブロックを他のサブブロックと区分して記憶する。
本発明の一実施形態によれば、メモリシステムは非ゼロ行列である各サブブロックがデルタ行列を構成するか、或いはシフトされた単位行列を構成するかを示す1ビットのサブブロック情報を管理する。シフトされた単位行列を含むサブブロックのsは、前記シフトされた単位行列のシフトインデックスを示し、デルタ行列を含むサブブロックのsは、前記デルタ行列に含まれる1の位置を示す。
本発明の他の実施形態によれば、メモリシステムはシフトインデックスsを用いて、各サブブロックがデルタ行列を含む非ゼロ行列であるか否かを表示する。sは0より大きいか等しく、Pより小さいので、sを表現するためにはb=「logP」ビットが必要となる。ここで、[]はシーリング(ceiling)関数を意味する。従って、メモリシステムはシフトインデックスsに対してbより大きいか等しいビット数を割り当て、デルタブロックに対してはPより大きいか等しいs値を表示する。
前記メモリシステムから取り出されたパリティ検査行列はLDPC符号の符号器及び復号器に提供される。LDPC符号器は入力される情報シーケンスC及び前記パリティ検査行列を用いて前述の数式(12)に基づいてパリティシーケンスCを求め、CとCを符号語Cに連接させる。前記符号語は変調器及びRF(Radio Frequency)ユニットなどを経て受信機に伝送される。
次に、図15を参照して本発明の実施形態によるパリティ検査行列を用いてブロックLDPC符号を復号化する復号化装置の内部構造について説明する。
同図において、前記復号化装置はブロック制御器(block controller)410と、変数ノード部分400と、加算器415と、デインタリーバ(de−interleaver)417と、インタリーバ(interleaver)419と、制御器421と、メモリ423と、加算器425と、検査ノード部分450、硬判定復号器(hard−decision decoder)429とから構成される。前記変数ノード部分400は、変数ノードプロセッサ411、スイッチ413、414から構成され、前記検査ノード部分450は検査ノードプロセッサ427から構成される。前記メモリ423は各検査ノードの次数、各変数ノードの次数、各行における非ゼロ行列の位置、そして各非ゼロ行列のシフトインデックスsを用いてパリティ検査行列を表現する。加えて、前記メモリ423には非ゼロ行列である各サブブロックがデルタ行列を含むか、若しくはシフトされた単位行列を含むかを示す1ビットのサブブロック情報を更に含むことができる。
まず、無線チャンネルを通じて受信される受信信号は前記ブロック制御器410に入力される。前記ブロック制御器410は前記受信信号のブロックサイズを決定し、また前記LDPC復号化装置に対応する符号化装置において穿孔された情報語部分が存在する場合、前記穿孔された位置に0を挿入することで全体としてのブロックサイズを制御する。
前記変数ノードプロセッサ411は、前記ブロック制御器410からの信号を受信して前記信号の確率を計算し、前記計算された確率をもって現在の確率を更新する。ここで、前記変数ノードプロセッサ411は、所定のパリティ検査行列に相応するように変数ノードと検査ノードとを連結し、前記各変数ノードに連結された検査ノードの個数だけの入力値及び対応する出力値を有する更新演算を遂行する。前記各変数ノードに連結された検査ノードの個数は、前記パリティ検査行列を構成する各列の重み(weight)(例えば、次数)、つまり各列における1の個数と同一である。従って、前記パリティ検査行列を構成する各列の重みに基づいて前記変数ノードプロセッサ411の内部演算が遂行される。前記スイッチ414は前記スイッチ413がスイッチオンされなかった場合にスイッチオンされて、前記変数ノードプロセッサ411から出力される出力信号を前記加算器415に伝達する。
前記加算器415は前記変数ノードプロセッサ411の出力信号から以前の反復復号(iteration decoding)サイクルで生成された前記インタリーバ419の出力信号を減算する。ここで、最初の復号化サイクルである場合、前記インタリーバ419の出力信号は0に見なされる。
前記デインタリーバ417は、前記加算器415から受信した信号の差を所定の方法によってデインタリーブ(deinterleave)する。ここで、前記デインタリーバ417の内部構造は前記パリティ検査行列に相応する構造を有するが、その理由は前記パリティ検査行列の1の値を有する元素の位置に応じて前記デインタリーバ417に対応するインタリーバ419の動作が相異なるようになるからである。
前記加算器425は、以前の反復復号工程で生成された前記検査ノードプロセッサ427の出力信号から前記デインタリーバ417の出力信号を減算する。前記検査ノードプロセッサ427は前記パリティ検査行列に相応するように検査ノードを変数ノードに連結し、前記各検査ノードに連結された変数ノードの個数だけの入力値及び対応する出力値を有する更新演算が遂行される。前記各検査ノードに連結された変数ノードの個数は前記パリティ検査行列を構成する各行の重みと同一である。従って、前記パリティ検査行列を構成する各行の重みに基づいて前記検査ノードプロセッサ427の内部演算が遂行される。
ここで、前記インタリーバ419は前記制御器421の制御のもとに、所定のインタリーブ方法で前記加算器425から受信した信号をインタリーブする。ここで、前記制御器421は前記メモリ423に記憶されているインタリーブ情報を読み出して前記インタリーバ419のインタリーブ動作を制御するようになる。また、最初の復号化サイクルである場合は、前記デインタリーバ417の出力信号は0に見なされることは明らかである。
前記のような復号化動作を繰り返して遂行し、所定の反復回数だけ反復復号を遂行した後、前記スイッチ414は前記変数ノードプロセッサ411と加算器415との間をスイッチオフ(switching off)し、前記スイッチ413は前記変数ノードプロセッサ411と硬判定復号器429との間をスイッチオンする。前記硬判定複合機429は前記変数ノードプロセッサ411から出力された信号を受信して硬判定した後、その硬判定値を復号ビットとして最終的に出力する。
本発明の他の実施形態によれば、前記ブロック制御器410から受信された信号に対する変数ノードプロセッシング及び検査ノードプロセッシングが終了されると、変数ノードプロセッサ411の出力信号がスイッチ413によって硬判定復号器429に伝達される。前記硬判定復号器429による硬判定値はバッファ(図示せず)にバッファされ、パリティ検査器(図示せず)は前記硬判定値によるパリティ検査を遂行する。ここで、前記パリティ検査は前記制御器421により遂行されることもできる。前記パリティ検査に失敗すると、パリティ検査器は制御器421に更なる反復復号が必要であることを通知し、前記ブロック制御器410からの信号に対して変数ノードプロセッシング及び検査ノードプロセッシングが再び遂行される。これに対し、前記パリティ検査に成功すると、前記バッファされた硬判定値は復号ビットとして最終的に出力される。
次に、前述のような本発明の動作によって得られる主な効果について説明する。
本発明によれば、GDM LDPC符号において次数が1である変数ノードを取り除くことで、全てのパリティビットの符号化に密度進化を適用させて符号化性能の向上を図ることができる。また、ブロック構造を維持するとともに、LDPC符号を表現するに必要なメモリ容量を節減できるようになる。その結果、効率的な符号化を実現することができる。
以上、本発明の詳細について具体的な実施形態に基づき説明してきたが、本発明の範囲を逸脱しない限り、各種の変形が可能なのは当該分野における通常の知識をもつ者ならば自明なことである。
一般的な(10、5)LDPC符号の一例を示すパリティ検査行列を示す図である。 図1に示したLDPC符号のファクターグラフを示す図である。 LDPC符号の復号動作を示す概念図である。 LDPC符号の復号動作を示す概念図である。 LDPC符号の効率的な符号化のためのパリティ検査行列の一例を示す図である。 GDM LDPC符号を定義するブロックパリティ検査行列を示す図である。 GDM LDPC符号を生成するための基底パリティ検査行列のパリティ部分及びGDM LDPC符号化工程を示す図である。 図6に示したパリティ部分から拡張されたブロックパリティ部分を示す図である。 P=3であり、N−K=15であるGDM LDPC符号を定義するパリティ検査行列及びGDM LDPC符号化工程を示す図である。 本発明の実施形態によるパリティ検査行列のパリティ部分の構造を示す図である。 本発明の実施形態によるLDPC符号の一例及びLDPC符号化方法を示す図である。 本発明の実施形態によるLDPC符号を生成する装置を示すブロック図である。 本発明の実施形態によるLDPC符号を生成する動作を示すフローチャートである。 本発明の実施形態によるLDPC符号のパリティ部分の具現例を示す図である。 本発明の実施形態によるパリティ検査行列においてP=3である場合の例を示す図である。 本発明の実施形態によるブロックLDPC符号を復号化する復号化装置を示すブロック図である。
符号の説明
20 変数ノード
20b 変数ノード
22a 検査ノード
24 検査ノードメッセージ
26 変数ノードメッセージ
22 検査ノード
25 ブランチ(エッジ)
100 パリティ検査行列
102 情報部分
104 パリティ部分
106 第1列
110 パリティ検査行列
112 情報部分
114 パリティ部分
116 ブロック
30a、30b、32 対角部分
40、42a、42b 対角部分
120 パリティ検査行列
122 情報部分
124 パリティ部分
50、50a、50b 対角部分
142 情報部分
144 パリティ部分
170、172a、172b 二重対角部分
200 コンピューターシステム
212 プロセッサ
210 メインメモリ
214 入力装置
216 出力装置
218 メモリシステム
230 システムバス
160 パリティ検査行列
162 情報部分
164 パリティ部分
470 ブロック制御器
400 変数ノード部分
410 ブロック制御器
415 加算器
417 デインタリーバ
419 インタリーバ
421 制御器
423 メモリ
425 加算器
450 検査ノード部分
429 硬判定復号器
411 変数ノードプロセッサ
413、414 スイッチ
427 検査ノードプロセッサ

Claims (17)

  1. 低密度パリティ検査符号の生成方法において、
    長さKの情報シーケンスを長さNの符号語に符号化するために、検査ノードに対する(N−K)個の行及び変数ノードに対するN個の列を有するパリティ検査行列を構成する段階と、
    前記パリティ検査行列をK個の列を有する情報部分行列と(N−K)個の列を有するパリティ部分行列とに分割する段階と、
    前記パリティ部分行列をP*Pのサイズを有するサブブロックに分割する段階(ここで、Pは(N−K)の約数である)と、
    前記パリティ部分行列の第1対角部分と、前記第1対角部分からサブブロックシフト量fだけシフトされた第2対角部分とを決定する段階と、
    前記第1対角部分及び第2対角部分のサブブロックにシフトインデックスを有するシフトされた単位行列をそれぞれ配置する段階と、
    前記第1及び第2対角部分を除いた残りのサブブロックをゼロ行列で充填する段階と、
    前記パリティ部分行列の1つのサブブロック列に、それぞれただ1つの1元素だけを含み、残りの元素は全部0である奇数個のデルタ行列を配置する段階と、
    前記パリティ検査行列を記憶する段階と、
    を含むことを特徴とする低密度パリティ検査符号の生成方法。
  2. 第1対角部分は、最初のサブブロック行及び最初のサブブロック列から最終のサブブロック行及び最終のサブブロック列までのサブブロックで形成されることを特徴とする請求項1記載の低密度パリティ検査符号の生成方法。
  3. 前記シフトインデックスは、前記第1及び第2対角部分におけるシフトされた単位行列の全てのシフトインデックスを合算した和をPを法とした値が、Pと互いに素になるように決められることを特徴とする請求項1記載の低密度パリティ検査符号の生成方法。
  4. 前記デルタ行列を配置する段階において、
    前記パリティ部分行列における第一サブブロック列の1つのゼロ行列をデルタ行列に置換することを特徴とする請求項1記載の低密度パリティ検査符号の生成方法。
  5. 前記デルタ行列は、第一列にそれぞれただ1つの1元素を含むことを特徴とする請求項1記載の低密度パリティ検査符号の生成方法。
  6. 前記記憶する段階は、
    各検査ノードの次数、各変数ノードの次数、各行における非ゼロ行列の位置、各非ゼロ行列のシフトインデックス、各非ゼロ行列が前記デルタ行列であるか否かを示す1ビットのサブブロック情報を記憶することを特徴とする請求項1記載の低密度パリティ検査符号の生成方法。
  7. 前記デルタ行列である非ゼロ行列のシフトインデックスは前記デルタ行列に含まれる1元素の位置を示すことを特徴とする請求項6記載の低密度パリティ検査符号の生成方法。
  8. 前記記憶する段階は、
    各検査ノードの次数、各変数ノードの次数、各行における非ゼロ行列の位置、各非ゼロ行列のシフトインデックスに対する情報を記憶し、デルタ行列である前記非ゼロ行列の シフトインデックスは前記Pより小さいか等しいことを特徴とする請求項1記載の低密度パリティ検査符号の生成方法。
  9. 低密度パリティ検査符号の生成装置において、
    低密度パリティ検査符号を定義するパリティ検査行列を生成するプログラムコード及び前記生成されたパリティ検査行列を記憶するメモリシステムと、
    前記プログラムコードを実行して前記パリティ検査行列を生成するプロセッサとからなり、前記プロセッサは、
    長さKの情報シーケンスを長さNの符号語に符号化するために、検査ノードに対する(N−K)個の行及び変数ノードに対するN個の列を有するパリティ検査行列を構成する段階と、
    前記パリティ検査行列をK個の列を有する情報部分行列と(N−K)個の列を有するパリティ部分行列とに分割する段階と、
    前記パリティ部分行列をP*Pのサイズを有するサブブロックに分割する段階(ここで、Pは(N−K)の約数である)と、
    前記パリティ部分行列の第1対角部分と、前記第1対角部分からサブブロックシフト量fだけシフトされた第2対角部分とを決定する段階と、
    前記第1対角部分及び第2対角部分のサブブロックにシフトインデックスを有するシフトされた単位行列をそれぞれ配置する段階と、
    前記第1及び第2対角部分を除いた残りのサブブロックをゼロ行列で充填する段階と、
    前記パリティ部分行列の1つのサブブロック列に、それぞれただ1つの1元素だけを含み、残りの元素は全部0である奇数個のデルタ行列を配置する段階と、
    前記パリティ検査行列を記憶する段階と、
    を実行することを特徴とする低密度パリティ検査符号の生成装置。
  10. 第1対角部分は、最初のサブブロック行及び最初のサブブロック列から最終のサブブロック行及び最終のサブブロック列までのサブブロックで形成されることを特徴とする請求項9記載の低密度パリティ検査符号の生成装置。
  11. 前記シフトインデックスは、前記第1及び第2対角部分におけるシフトされた単位行列の全てのシフトインデックスを合算した和をPを法とした値が、Pと互いに素になるように決められることを特徴とする請求項9記載の低密度パリティ検査符号の生成装置。
  12. 前記デルタ行列を配置する段階において、
    前記プロセッサは、前記パリティ部分行列における第一サブブロック列の1つのゼロ行列をデルタ行列に置換することを特徴とする請求項9記載の低密度パリティ検査符号の生成装置。
  13. 前記デルタ行列は、第一列にそれぞれただ1つの1元素を含むことを特徴とする請求項9記載の低密度パリティ検査符号の生成装置。
  14. 前記メモリシステムは、
    各検査ノードの次数、各変数ノードの次数、各行における非ゼロ行列の位置、各非ゼロ行列のシフトインデックスに対する情報及び、各非ゼロ行列が前記デルタ行列であるか否かを示す1ビットのサブブロック情報を用いる前記パリティ検査行列で構成されることを特徴とする請求項9記載の低密度パリティ検査符号の生成装置。
  15. 前記デルタ行列である非ゼロ行列のシフトインデックスは前記デルタ行列に含まれる1元素の位置を示すことを特徴とする請求項14記載の低密度パリティ検査符号の生成装置。
  16. 前記メモリシステムは、
    各検査ノードの次数、各変数ノードの次数、各行における非ゼロ行列の位置に対する情報及び各非ゼロ行列のシフトインデックスを用いる前記パリティ検査行列で構成され、デルタ行列である前記非ゼロ行列のシフトインデックスはPより小さいか等しいことを特徴とする請求項9記載の低密度パリティ検査符号の生成装置。
  17. 低密度パリティ検査符号の符号化方法において、
    情報シーケンスを受信する段階と、
    (N−K)個の行及びK個の列からなる情報部分行列及び、K個の行及びK個の列からなるパリティ部分行列で構成される(N、K)パリティ検査行列を用いて、長さKの情報シーケンスを長さNの符号語に符号化する段階と、
    前記符号語を受信機に伝送する段階とから構成され、
    前記パリティ検査行列はサブブロックの集合から構成され、次数が1である列が存在しないように、前記サブブロックのうち少なくとも1つにだた1つの1元素を含む行列を含んで構成されることを特徴とする低密度パリティ検査符号の符号化方法。
JP2005344040A 2004-12-01 2005-11-29 低密度パリティ検査符号の生成方法及び装置 Expired - Fee Related JP4168055B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040100039A KR100913876B1 (ko) 2004-12-01 2004-12-01 저밀도 패리티 검사 부호의 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
JP2006157926A true JP2006157926A (ja) 2006-06-15
JP4168055B2 JP4168055B2 (ja) 2008-10-22

Family

ID=35754942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005344040A Expired - Fee Related JP4168055B2 (ja) 2004-12-01 2005-11-29 低密度パリティ検査符号の生成方法及び装置

Country Status (7)

Country Link
US (1) US7536623B2 (ja)
EP (1) EP1667328B1 (ja)
JP (1) JP4168055B2 (ja)
KR (1) KR100913876B1 (ja)
CN (1) CN100505556C (ja)
AU (1) AU2005239662B2 (ja)
DE (1) DE602005002815T2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009025092A1 (ja) * 2007-08-23 2009-02-26 Panasonic Corporation 低密度パリティ検査符号検査行列生成方法および低密度パリティ検査符号検査行列生成装置
JP2011515036A (ja) * 2008-02-18 2011-05-12 サムスン エレクトロニクス カンパニー リミテッド 低密度パリティ検査符号を使用する通信システムにおけるチャネル符号化及び復号化装置並びにその方法
US8291282B2 (en) 2008-02-18 2012-10-16 Samsung Electronics Co., Ltd Apparatus and method for encoding and decoding channel in a communication system using low-density parity-check codes
JP2020520570A (ja) * 2017-06-15 2020-07-09 華為技術有限公司Huawei Technologies Co.,Ltd. 情報処理方法および通信装置
US11277153B2 (en) 2017-06-27 2022-03-15 Huawei Technologies Co., Ltd. Method and apparatus for low density parity check channel coding in wireless communication system

Families Citing this family (41)

* 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 부호화 방법 및복호화 방법
US7707479B2 (en) 2005-12-13 2010-04-27 Samsung Electronics Co., Ltd. Method of generating structured irregular low density parity checkcodes for wireless systems
GB2439986B (en) * 2006-07-07 2008-05-21 Siemens Ag Method for generating LDPC codes and apparatus using the LDPC codes
JP5215537B2 (ja) * 2006-06-28 2013-06-19 三星電子株式会社 情報符号化装置、情報復号装置、情報符号化方法、および情報復号方法
KR100837730B1 (ko) 2006-09-29 2008-06-13 한국전자통신연구원 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법
CN100596029C (zh) * 2006-10-20 2010-03-24 北京泰美世纪科技有限公司 Ldpc码校验矩阵构造方法及利用该方法的编码解码装置
US7913149B2 (en) * 2006-12-20 2011-03-22 Lsi Corporation Low complexity LDPC encoding algorithm
JPWO2008093717A1 (ja) * 2007-01-31 2010-05-20 パナソニック株式会社 無線通信装置およびパンクチャリング方法
KR101370903B1 (ko) * 2007-03-16 2014-03-10 엘지전자 주식회사 Ldpc 코드를 이용한 부호화 및 복호화 방법
WO2008117994A1 (en) * 2007-03-27 2008-10-02 Lg Electronics Inc. Method of encoding data using a low density parity check code
KR101455978B1 (ko) * 2007-03-27 2014-11-04 엘지전자 주식회사 Ldpc 부호를 이용한 부호화 방법
KR100975696B1 (ko) 2007-04-05 2010-08-12 삼성전자주식회사 통신 시스템에서 부호화 장치 및 방법
US8418023B2 (en) 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US20090013239A1 (en) * 2007-07-02 2009-01-08 Broadcom Corporation LDPC (Low Density Parity Check) decoder employing distributed check and/or variable node architecture
US7911364B1 (en) 2007-09-04 2011-03-22 Marvell International Ltd. Interleaver for turbo equalization
CN101809872B (zh) 2007-09-28 2013-06-05 松下电器产业株式会社 编码方法、编码器以及解码器
CN101414833B (zh) * 2007-10-19 2010-08-04 中兴通讯股份有限公司 低密度生成矩阵码的编码方法及装置
US8327215B2 (en) 2007-12-13 2012-12-04 Electronics And Telecommunications Research Institute Apparatus and method for encoding LDPC code using message passing algorithm
KR101431268B1 (ko) * 2007-12-14 2014-08-20 삼성전자주식회사 직렬 부호화를 위한 저밀도 패리티 검사 부호의 생성 장치및 방법
CN101471672B (zh) * 2007-12-27 2011-04-13 华为技术有限公司 低密度奇偶校验码的编码方法和编码器
CN101272223B (zh) * 2008-04-30 2011-04-20 中兴通讯股份有限公司 一种低密度生成矩阵码的译码方法及装置
CN101286819B (zh) * 2008-05-07 2010-05-12 中兴通讯股份有限公司 一种数据接收方法及装置
CN101272150B (zh) * 2008-05-14 2010-09-29 中兴通讯股份有限公司 一种低密度生成矩阵码的译码方法及装置
US20110113312A1 (en) * 2008-06-09 2011-05-12 Hideki Kobayashi Check matrix generating method, check matrix, decoding apparatus, and decoding method
US8108760B2 (en) * 2008-07-15 2012-01-31 The Royal Institute For The Advancement Of Learning/Mcgill University Decoding of linear codes with parity check matrix
US8219873B1 (en) 2008-10-20 2012-07-10 Link—A—Media Devices Corporation LDPC selective decoding scheduling using a cost function
TWI427936B (zh) * 2009-05-29 2014-02-21 Sony Corp 接收設備,接收方法,程式,及接收系統
GB2471513B (en) * 2009-07-02 2013-09-25 Samsung Electronics Uk Ltd Encoding/decoding apparatus and method
US8196012B2 (en) 2009-10-05 2012-06-05 The Hong Kong Polytechnic University Method and system for encoding and decoding low-density-parity-check (LDPC) codes
EP2348487A3 (en) 2010-01-22 2017-09-13 Samsung Electronics Co., Ltd. Method and apparatus for creating animation message
US8918696B2 (en) * 2010-04-09 2014-12-23 Sk Hynix Memory Solutions Inc. Implementation of LDPC selective decoding scheduling
KR20110114204A (ko) * 2010-04-13 2011-10-19 삼성전자주식회사 저밀도 패리티 체크 부호화 방법 및 이를 이용하는 저밀도 패리티 체크 인코더
CN102790622B (zh) * 2011-05-19 2017-03-15 中兴通讯股份有限公司 低密度奇偶校验码校验矩阵的构造方法及装置
KR101685010B1 (ko) 2012-06-01 2016-12-13 한국전자통신연구원 지상파 클라우드 방송을 위한 ldpc 부호
KR102178262B1 (ko) * 2014-07-08 2020-11-12 삼성전자주식회사 패리티 검사 행렬 생성 방법, 그를 이용한 부호화 장치, 부호화 방법, 복호화 장치 및 복호화 방법
CN110073618B (zh) * 2016-12-13 2020-12-15 华为技术有限公司 产生用于增量冗余harq通信装置的低密度奇偶校验码的设备和方法
CN108322285B (zh) * 2017-01-16 2020-09-18 华为技术有限公司 数据的发送方法、接收方法和装置
BR112019012715B1 (pt) 2017-02-06 2022-11-22 Lg Electronics Inc Método de transmissão, dispositivo transmissor, método de recepção e dispositivo de recepção
JP6970210B2 (ja) * 2017-06-25 2021-11-24 エルジー エレクトロニクス インコーポレイティドLg Electronics Inc. 無線通信システムにおいてldpc符号のパリティ検査行列に基づいて符号化を行う方法及びそれを用いる端末
CN111641575B (zh) * 2020-04-26 2022-01-18 北京邮电大学 一种正交时频二维空间调制信号接收方法及接收器
CN114222132B (zh) * 2022-01-13 2024-05-14 北京达佳互联信息技术有限公司 视频解码反变换方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2799592B1 (fr) 1999-10-12 2003-09-26 Thomson Csf Procede de construction et de codage simple et systematique de codes ldpc
US6567465B2 (en) * 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
AU2002248558A1 (en) * 2001-06-06 2002-12-16 Seagate Technology Llc A method and coding apparatus using low density parity check codes for data storage or data transmission
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6948109B2 (en) * 2001-10-24 2005-09-20 Vitesse Semiconductor Corporation Low-density parity check forward error correction
US6961888B2 (en) 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US7058873B2 (en) * 2002-11-07 2006-06-06 Carnegie Mellon University Encoding method using a low density parity check code with a column weight of two
KR100936022B1 (ko) * 2002-12-21 2010-01-11 삼성전자주식회사 에러 정정을 위한 부가정보 생성 방법 및 그 장치
KR100996029B1 (ko) * 2003-04-29 2010-11-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
US7260763B2 (en) * 2004-03-11 2007-08-21 Nortel Networks Limited Algebraic low-density parity check code design for variable block sizes and code rates
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009025092A1 (ja) * 2007-08-23 2009-02-26 Panasonic Corporation 低密度パリティ検査符号検査行列生成方法および低密度パリティ検査符号検査行列生成装置
JP2011515036A (ja) * 2008-02-18 2011-05-12 サムスン エレクトロニクス カンパニー リミテッド 低密度パリティ検査符号を使用する通信システムにおけるチャネル符号化及び復号化装置並びにその方法
US8291282B2 (en) 2008-02-18 2012-10-16 Samsung Electronics Co., Ltd Apparatus and method for encoding and decoding channel in a communication system using low-density parity-check codes
JP2020520570A (ja) * 2017-06-15 2020-07-09 華為技術有限公司Huawei Technologies Co.,Ltd. 情報処理方法および通信装置
US11296726B2 (en) 2017-06-15 2022-04-05 Huawei Technologies Co., Ltd. Method and apparatus for low density parity check channel coding in wireless communication system
US11611356B2 (en) 2017-06-15 2023-03-21 Huawei Technologies Co., Ltd. Method and apparatus for low density parity check channel coding in wireless communication system
US11996863B2 (en) 2017-06-15 2024-05-28 Huawei Technologies Co., Ltd. Method and apparatus for low density parity check channel coding in wireless communication system
US11277153B2 (en) 2017-06-27 2022-03-15 Huawei Technologies Co., Ltd. Method and apparatus for low density parity check channel coding in wireless communication system
US11671116B2 (en) 2017-06-27 2023-06-06 Huawei Technologies Co., Ltd. Method and apparatus for low density parity check channel coding in wireless communication system

Also Published As

Publication number Publication date
EP1667328B1 (en) 2007-10-10
CN1783730A (zh) 2006-06-07
AU2005239662B2 (en) 2008-04-03
US20060156183A1 (en) 2006-07-13
US7536623B2 (en) 2009-05-19
AU2005239662A1 (en) 2006-06-15
EP1667328A1 (en) 2006-06-07
DE602005002815T2 (de) 2008-07-17
KR20060061145A (ko) 2006-06-07
DE602005002815D1 (de) 2007-11-22
JP4168055B2 (ja) 2008-10-22
KR100913876B1 (ko) 2009-08-26
CN100505556C (zh) 2009-06-24

Similar Documents

Publication Publication Date Title
JP4168055B2 (ja) 低密度パリティ検査符号の生成方法及び装置
KR100901216B1 (ko) 벡터 로우 그룹핑을 이용한 구조적 ldpc 디자인
KR100641052B1 (ko) Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법
CN107370490B (zh) 结构化ldpc的编码、译码方法及装置
JP6437682B2 (ja) 変調信号復号方法及び変調信号復号装置
KR20090092892A (ko) Ldpc 코드를 이용한 복호화 방법
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
JP2013070422A (ja) 送信装置及び受信装置
JP2009246927A (ja) 符号化方法、符号化器、復号器
KR100698192B1 (ko) Ldpc 부호의 복호 방법
Park et al. Structured puncturing for rate-compatible B-LDPC codes with dual-diagonal parity structure
JP2009177649A (ja) 符号化方法、符号化器、復号器

Legal Events

Date Code Title Description
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: 20080708

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

R150 Certificate of patent or registration of utility model

Ref document number: 4168055

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110808

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120808

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130808

Year of fee payment: 5

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