JP4822452B2 - Ldpcコードを用いた符号化または復号化方法及びその装置 - Google Patents

Ldpcコードを用いた符号化または復号化方法及びその装置 Download PDF

Info

Publication number
JP4822452B2
JP4822452B2 JP2007532236A JP2007532236A JP4822452B2 JP 4822452 B2 JP4822452 B2 JP 4822452B2 JP 2007532236 A JP2007532236 A JP 2007532236A JP 2007532236 A JP2007532236 A JP 2007532236A JP 4822452 B2 JP4822452 B2 JP 4822452B2
Authority
JP
Japan
Prior art keywords
matrix
permutation
basic
parity check
base
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
JP2007532236A
Other languages
English (en)
Other versions
JP2008514102A (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.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
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 LG Electronics Inc filed Critical LG Electronics Inc
Priority claimed from PCT/KR2005/003041 external-priority patent/WO2006031062A2/en
Publication of JP2008514102A publication Critical patent/JP2008514102A/ja
Application granted granted Critical
Publication of JP4822452B2 publication Critical patent/JP4822452B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • 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/033Theoretical methods to calculate these checking codes
    • 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/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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (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)コードを用いて符号化または復号化する方法において必要なパリティ検査行列を保存するためのメモリを節約することができ、符号化または復号化性能を向上させることができるLDPCコードを用いた符号化または復号化方法、符号化または復号化のためのLDPCコード生成方法及び符号化または復号化装置に関するものである。
一般的に、符号化(encoding)は、送信側から送信されたデータが通信チャネルを通して伝送される過程で発生する信号の歪み、損失などによるエラー発生にもかかわらず、受信側で元のデータを復元できるように送信側でデータを処理する過程を意味する。また、復号化(decoding)は、符号化されて送信された信号を、受信側で元のデータに復元する過程である。
最近、LDPCコードを用いた符号化方法が注目を浴びているが、LDPCコードは、パリティ検査行列Hのほとんどの元素が‘0’である低密度の線形ブロック符号であり、1962年にGallagerによって提案された。LDPC符号は、非常に複雑であり、提案当時の技術では具現不可能であったが、1995年に再び発見され、その性能が非常に優秀であることが立証されて以来、それに対する研究が最近まで活発に行われている。(参考文献:[1]非特許文献1[2]非特許文献2)
LDPCコードのパリティ検査行列は、‘1’の個数が非常に少ないので、ブロック大きさが非常に大きい場合も、反復復号を通して復号が可能であり、ブロック大きさが非常に大きくなると、ターボコードのように、シャノン(Shannon)のチャネル容量限界に近接する性能を示す。
LDPCコードは、(n−k)×nパリティ検査行列Hによって説明される。前記パリティ検査行列Hに対応する生成行列Gは、次の数学式1によって求められる。
[数学式1]
H・G=0
LDPCコードを用いた符号化及び復号化方法において、送信側では、前記パリティ検査行列Hと数学式1の関係にある前記生成行列Gを用いて、次の数学式2によって入力データを符号化する。
[数学式2]
c=G・u(ここで、cは、コードワードであり、uは、データフレームである。)
最近は、前記生成行列Gによらず、前記パリティ検査行列Hを用いて入力データを符号化する方法が一般的に用いられている。したがって、上述したように、LDPCコードを用いた符号化方法では、前記パリティ検査行列Hが最も重要な要素といえる。前記パリティ検査行列Hは、約1000×2000以上の大きさを有するので、符号化及び復号化過程で多くの演算が要求され、その具現が非常に複雑であり、多くの保存空間が要求されるという問題点があった。
Robert G.Gallager、"Low−Density Parity−Check Codes"、The MIT Press、September 15、1963. D.J.C.Mackay、Good error−correcting codes based on very sparse matrices、IEEE Trans.Inform.Theory、IT−45、pp.399−431(1999)
本発明は、上記のような従来技術の問題点を解決するためになされたもので、その目的は、LDPCコードを用いて符号化または復号化するにおいて必要なパリティ検査行列を保存するためのメモリを節約することができ、符号化または復号化性能を高められるLDPCコードを用いた符号化または復号化方法及びその装置を提供することにある。
本発明の他の目的は、LDPCコードを用いた符号化または復号化方法において必要なパリティ検査行列を保存するためのメモリを節約できるLDPCコード生成方法を提供することにある。
本発明の一様相として、本発明に係るLDPCコードを用いた符号化または復号化方法は、パーミュテーション行列を定義するパーミュテーションタイプを少なくとも一つ以上の元素として含む基本行列を拡張してパリティ検査行列を生成する段階を含む。また、本発明は、前記パリティ検査行列を用いて入力データを符号化または復号化する段階を含む。
本発明の他の様相として、本発明に係る符号化または復号化のためのLDPCコード生成方法は、(n−k)×n次元のH行列によって定義されるLDPCコードを生成する方法において、z×z次元(zは、1以上の整数である)の少なくとも一つ以上の基本パーミュテーション行列またはz×z次元の0行列を決定する段階と、各元素として前記基本パーミュテーション行列を所定の規則によって変形させるか、前記0行列を示す情報を含む(n−k)/z×n/z次元(ここで、nは、コードワードの長さで、kは、情報ブロックの長さである)の基本行列Hを決定する段階と、前記情報によって前記基本パーミュテーション行列または前記0行列を取り替えることで、前記行列Hを生成するように前記基本行列を拡張する段階と、を含んで構成されることを特徴とする。
本発明の更に他の様相として、本発明に係るLDPCコードを用いた符号化装置は、パーミュテーション行列を定義するパーミュテーションタイプを少なくとも一つ以上の元素として含む基本行列を拡張してパリティ検査行列を生成するパリティ検査行列生成モジュールを含む。また、本発明に係る符号化装置は、前記パリティ検査行列生成モジュールによって生成されたパリティ検査行列を用いて入力データを符号化する符号化モジュールを含む。
本発明の更に他の様相として、本発明に係るLDPCコードを用いた復号化装置は、パーミュテーション行列を定義するパーミュテーションタイプを少なくとも一つ以上の元素として含む基本行列を拡張してパリティ検査行列を生成するパリティ検査行列生成モジュールと、前記パリティ検査行列生成モジュールによって生成されたパリティ検査行列を用いて入力データを復号化する復号化モジュールと、を含んで構成されることを特徴とする。
前記パーミュテーションタイプによって定義されるパーミュテーション行列は、少なくとも一つ以上の基本パーミュテーション行列であるか、前記少なくとも一つ以上の基本パーミュテーション行列の行及び列のうち少なくとも何れか一つの順序の変更、または、前記少なくとも一つ以上の基本パーミュテーション行列の回転によって形成された多数のパーミュテーション行列または0行列であることが好ましい。
前記基本行列の各パーミュテーションタイプを前記各パーミュテーションタイプが定義するパーミュテーション行列に取り替えることで、前記パリティ検査行列が拡張され、その結果、前記パリティ検査行列が生成されることが好ましい。
前記パーミュテーション行列を形成する方法は、前記少なくとも一つ以上の基本パーミュテーション行列の各行または列を所定方向に任意の間隔だけシフトさせる第1クラスであるか、特定の行を任意の他の行と交換する第2クラスであるか、特定の列を任意の他の列と交換する第3クラスであるか、前記少なくとも一つ以上の基本パーミュテーション行列を90゜、180゜または270゜ずつ回転させる第4クラスであることが好ましい。
本発明は、移動通信システムや広帯域無線接続システムなどの無線通信システムのみならず、符号化または復号化が必要な全ての分野に適用可能である。
以下、本発明に係るLDPCコードを用いた符号化または復号化方法及びその装置の好適な実施例について、添付の図面に基づいて詳細に説明する。図1Aは、本発明の好適な一実施例を説明するための図で、本発明の技術的特徴が無線通信システムに適用された一例を説明している。以下で説明する実施例は、本発明の特徴を説明するための例示に過ぎないもので、本発明の技術的特徴は、符号化または復号化が必要な全ての分野に適用可能である。
図1Aに示すように、送信機10及び受信機30は、無線チャネル20を介して通信を行う。前記送信機10では、データソース11から出力されたkビットのソースデータuが、LDPC符号化器13でのLDPC符号化によってnビットのコードワードcになる。コードワードcは、変調器15によって無線変調されてアンテナ17を通して送信され、無線チャネル20を通して前記受信機30のアンテナ31に受信される。前記受信機30では、前記送信機10で行った過程と逆の過程を経る。すなわち、受信されたデータが復調器33によって復調され、LDPC復号化器35によって復号されることで、最終的にソースデータuを得られる。上述したようなデータ送受信過程は、本発明の特徴を説明するために必要な最小限の範囲内で説明したもので、その他にも、データ伝送のために必要な多くの過程があり得る。
図1B及び図1Cは、図1AのLPDC復号化器13及びLPDC復号化器35の詳細構成図で、以下、その詳細な内容を説明する。
前記LDPC符号化器13で入力ソースデータを符号化するために用いられる前記パリティ検査行列Hは、(n−k)×n次元を有する。前記kは、前記LDPC符号化器13に入力されるソースデータの長さ(ビット単位)で、前記nは、符号化されたコードワードcの長さ(ビット単位)を意味する。前記パリティ検査行列Hは、図2に示すように、z×z次元の多数のパーミュテーション行列または0行列によって構成される。すなわち、図2において、Pi,jは、z×z次元のパーミュテーション行列または0行列を意味する。
前記多数のパーミュテーション行列は、少なくとも一つ以上の基本パーミュテーション行列を所定の規則によって変形させて形成することができる。前記一つ以上の基本パーミュテーション行列を含む前記多数のパーミュテーション行列は、行と列の重みが1であることが好ましい。すなわち、前記多数のパーミュテーション行列の全ての行及び全ての列の元素のうち一つの元素のみが1で、残りの元素は0であることが好ましい。前記少なくとも一つ以上の基本パーミュテーション行列を変形して前記多数のパーミュテーション行列を形成する所定の規則として、以下の四つの方法(クラス)が挙げられる。
第一のクラスは、前記基本パーミュテーション行列の全ての行(または列)を特定の方向に所定間隔だけシフトさせる方法である。図3は、その一例を説明するための図である。すなわち、図3において、図3(a)の基本パーミュテーション行列の全ての行を下方向に5行だけ(n=5)(または、全ての列を右側に3列だけ)シフトさせて図3(b)のパーミュテーション行列を形成した。前記第一のクラスによると、z×z次元の基本パーミュテーション行列に対してシフトされる行(または列)の間隔によって(z−1)個のパーミュテーション行列を形成することができる(したがって、基本パーミュテーション行列を含むと、z個のパーミュテーション行列が形成される)。前記基本パーミュテーション行列が与えられると、前記基本パーミュテーション行列を含む前記z個のパーミュテーション行列は、それぞれ一つの整数によって表現される。例えば、基本パーミュテーション行列を‘0’で表現し、前記基本パーミュテーション行列の全ての行を特定の方向に1行だけシフトさせたパーミュテーション行列を‘1’で表現し、前記基本パーミュテーション行列の全ての行を2行だけシフトさせたパーミュテーション行列を‘2’で表現するなどの方法によって全てのパーミュテーション行列を一つの整数によって表現する。
第二のクラスは、前記基本パーミュテーション行列の特定の行を任意の他の行と交換する方法である。図4は、その一例を説明するための図である。すなわち、図4では、図4(a)の基本パーミュテーション行列の1番目行と6番目行を交換して図4(b)のパーミュテーション行列を形成した。第二のクラスによると、z×z次元の基本パーミュテーション行列に対して1番目行と交換される行が何番目の行であるかによって(z−1)個のパーミュテーション行列を形成することができる(したがって、基本パーミュテーション行列を含むと、z個のパーミュテーション行列が形成される)。前記基本パーミュテーション行列が与えられると、前記基本パーミュテーション行列を含む前記z個のパーミュテーション行列は、それぞれ一つの整数によって表現される。例えば、基本パーミュテーション行列を‘0’で表現し、前記基本パーミュテーション行列の1番目行と2番目行を交換して形成されたパーミュテーション行列を‘1’で表現し、前記基本パーミュテーション行列の1番目行と3番目行を交換して形成されたパーミュテーション行列を‘2’で表現するなどの方法によって全てのパーミュテーション行列を一つの整数で表現することができる。図4では、1番目行を基準にして任意の他の行と交換してパーミュテーション行列を形成したが、基準になる行を他の任意の行にした場合にも同一の結果を得られる。
第三のクラスは、前記基本パーミュテーション行列の特定の列を任意の他の列と交換する方法である。図5は、第三のクラスの一例を説明するための図である。すなわち、図5において、図5(a)の基本パーミュテーション行列の1番目列と6番目列を交換して図5(b)のパーミュテーション行列を形成した。前記第三のクラスによると、z×z次元の基本パーミュテーション行列に対して1番目列と交換される列が何番目の列であるかによって、(z-1)個のパーミュテーション行列を形成することができる(したがって、基本パーミュテーション行列を含むと、z個のパーミュテーション行列が形成される)。前記基本パーミュテーション行列が与えられると、前記基本パーミュテーション行列を含む前記z個のパーミュテーション行列は、それぞれ一つの整数によって表現される。例えば、基本パーミュテーション行列を‘0’で表現し、前記基本パーミュテーション行列の1番目列と2番目列を交換して形成されたパーミュテーション行列を‘1’で表現し、前記基本パーミュテーション行列の1番目列と3番目列を交換して形成されたパーミュテーション行列を‘2’で表現するなどの方法によって全てのパーミュテーション行列を一つの整数で表現することができる。図5では、1番目列を基準にして任意の他の列と交換してパーミュテーション行列を形成したが、基準になる列を他の任意の列にした場合にも同一の結果を得られる。
第四のクラスは、前記基本パーミュテーション行列を90゜、180゜または270゜ずつ回転させることでパーミュテーション行列を形成する方法である。図6は、その一例を説明するための図である。すなわち、図6において、図6(a)の基本パーミュテーション行列を90゜回転させ、図6(b)のパーミュテーション行列を形成した。第四のクラスによると、z×z次元の基本パーミュテーション行列に対する回転角度によって3個のパーミュテーション行列を形成することができる(したがって、基本パーミュテーション行列を含むと、4個のパーミュテーション行列が形成される)。前記基本パーミュテーション行列が与えられると、前記基本パーミュテーション行列を含む前記4個のパーミュテーション行列は、それぞれ一つの整数によって表現される。例えば、基本パーミュテーション行列を‘0’で表現し、前記基本パーミュテーション行列を90゜回転させて形成したパーミュテーション行列を‘1’で表現し、前記基本パーミュテーション行列の全ての行を180゜回転させて形成したパーミュテーション行列を‘2’で表現するなどの方法によって全てのパーミュテーション行列を一つの整数で表現する。
上記の四つのクラスによって基本パーミュテーション行列から形成された多数のパーミュテーション行列のタイプは、一つの整数によって単純に表現することができる。z×z次元のパーミュテーション行列を定義する整数などを、本明細書ではパーミュテーションタイプと称する。このパーミュテーションタイプを整数で表現することは、一つの例に過ぎないもので、パーミュテーションタイプは、その他にも多様に前記パーミュテーションタイプを表現できることは明らかである。
本発明は、パリティ検査行列Hを用いて符号化または復号化するにおいて、パリティ検査行列H自体を保存するのではなく、z×z次元のパーミュテーション行列を定義するパーミュテーションタイプを各元素として含む基本行列Hを保存した状態で、符号化または復号化時に前記基本行列Hの各元素をそのパーミュテーションタイプが定義するパーミュテーション行列に取り替えて拡張することでパリティ検査行列Hを生成し、前記生成されたパリティ検査行列を用いて符号化または復号化を行うことを特徴とする。これによって、符号化または復号化性能を高めることができ、パリティ検査行列自体を保存する必要がないのでメモリを節約することができる。
上述したように、図1B及び図1Cは、図1AのLDPC符号化器13及びLDPC復号化器35をそれぞれ示す詳細構成図である。図1B及び図1Cを参照すると、前記LDPC符号化器13は、少なくとも一つ以上の基本パーミュテーション行列及び基本行列Hを保存するメモリモジュール131と、前記基本行列を拡張してパリティ検査行列を生成するパリティ検査行列生成モジュール133と、前記パリティ検査行列生成モジュール133によって生成されたパリティ検査行列を用いて入力データを符号化する符号化モジュール135と、を含んで構成される。また、前記LDPC復号化器35は、少なくとも一つ以上の基本パーミュテーション行列及び基本行列Hを保存するメモリモジュール351と、前記基本行列を拡張してパリティ検査行列を生成するパリティ検査行列生成モジュール353と、前記パリティ検査行列生成モジュール353によって生成されたパリティ検査行列を用いて入力データを符号化する符号化モジュール355と、を含んで構成される。
前記基本パーミュテーション行列として単位行列などの典型的な行列を用いる場合、前記LDPC符号化器13または復号化器35のメモリモジュール131,351は、前記基本行列Hのみを保存することができる。前記パリティ検査行列生成モジュール133,353は、前記基本行列Hの各元素をそのパーミュテーションタイプが定義するパーミュテーション行列に取り替えて拡張することで、パリティ検査行列Hを生成する。前記パーミュテーション行列は、前記少なくとも一つ以上の基本パーミュテーション行列と、前記少なくとも一つ以上の基本パーミュテーション行列を上述した第1クラス〜第4クラスまたはこれらの結合によって変形させて形成される多数のパーミュテーション行列と、0行列のうち何れか一つである。上述したような機能を行う前記パリティ検査行列生成モジュール133,353は、ソフトウェア的またはハードウェア的に具現可能である。
前記符号化モジュール135は、前記パリティ検査行列生成モジュール133によって生成されたパリティ検査行列を用いて入力データを符号化する。パリティ検査行列を用いて入力データを符号化する方法としては、多様な方法が用いられる。例えば、次のような方法があり得るが、これに限定されることはない。
前記数学式1及びH=[H|H]の関係によって、G=[I|(H −1であることが分かる。したがって、前記符号化モジュール135は、前記数学式2によって入力データuに前記G=[I|(H −1を掛け算することで符号化する。結局、数学式2は、次の数学式3に取り替えられる。より具体的には、kビットの入力ソースデータs1×kは、数学式2によって符号化されてnビットのコードワードx1×kになる。コードワードxは、x=[sp]=[s,s,・・・,sk−1、p,p,・・・,pm−1]の構成を有する(ここで、(p,p,・・・,pm−1)は、パリティ検査ビットで、(s,s,・・・,sk−1)は、システムビットである)。
[数学式3]
c=[I|(H −1・u
しかし、前記生成行列Gを用いた符号化方法は非常に複雑である。したがって、このような複雑度を減少させるために、前記生成行列Gによらず、パリティ検査行列Hを用いて直接入力ソースデータを符号化することが好ましい。すなわち、x=[sp]であるので、H・x=0である特性を用いると、H・x=H・[sp]=0になり、この式からパリティ検査ビットpを得ることができ、結果的にコードワードx=[sp]を求めることができる。
前記復号化器35の復号化モジュール355が上述した方法で符号化されたデータを受信して復号するにおいて、次の数学式4を用いる。
[数学式4]
H・c=0
すなわち、符号化されたデータcと前記パリティ検査行列Hとを掛け算して0になる場合、伝送エラーがないことを意味し、0にならない場合、伝送エラーが存在することを意味するので、これによってソースデータを分離することができる。
前記基本行列HをH及びHの二つの部分に分割すると仮定したとき、一般的に、前記H部分には、ブロック二重対角行列を用いることができる。ブロック二重対角行列は、主対角及び前記主対角の真下側または上側の対角が全て単位行列で、残りが全て0行列であることを意味する。
前記基本パーミュテーション行列と、前記基本パーミュテーション行列から多数の他のパーミュテーション行列を形成する方法を選択するとき、前記パリティ検査行列H全体において4―サイクルや6―サイクルなどの短いサイクルの生成を最小化することが好ましい。特に、前記パリティ検査行列は、4―サイクルを持たないことが好ましい。また、前記パリティ検査行列Hは、既に設定された臨界値Cmax以下の6―サイクルを有することが好ましい。4―サイクルは、パリティ検査行列Hの任意の二つの行が二つの地点で同時に1を有する場合を意味する。また、6―サイクルは、前記パリティ検査行列Hの任意の三つの行から選択された組み合わせ可能な二つの行が同一の地点で1を有する場合を意味する。
図7A乃至図7Cは、送信側または受信側でデータを符号化または復号化する過程で、メモリに保存された一つの基本パーミュテーション行列と、前記基本パーミュテーション行列を上述した四つのクラスの組み合わせによって変形させて形成されたパーミュテーション行列のパーミュテーションタイプを元素として有する基本行列Hを用いて、パリティ検査行列Hを生成する方法を説明するための図である。
図7Aは、z=5で、全ての行と列の重みが1である基本パーミュテーション行列を示している。図7Bは、前記基本パーミュテーション行列を上述した四つのクラスの組み合わせによって変形させて形成されたパーミュテーション行列のタイプに関する情報を含む基本行列Hを示している。図7Bにおいて、基本行列Hが含むパーミュテーション行列のタイプは、(n,n,n,n)のような形式で表示された。(n,n,n,n)のような形式は、図7Aに示した基本パーミュテーション行列の全ての行(または列)をnだけシフトさせ、特定の行(例えば、1番目行)をn番目の行と交換し、特定の列(例えば、1番目列)をn番目の列と交換し、nに該当する角度だけ回転させたパーミュテーション行列を意味する。例えば、パーミュテーション行列のタイプ(2,0,1,0)は、図7Aに示した基本パーミュテーション行列を基準にして全ての行(または列)を2行ずつシフトさせた後、1番目の列と2番目の列を交換して形成された新しいパーミュテーション行列を意味する。図7Bにおいて、(−1)は、5×5次元の0行列を意味する。したがって、図7Aに示した基本パーミュテーション行列と、図7Bに示したパーミュテーション行列のタイプに関する情報を含む基本行列Hが与えられると、既に決定された規則によってパリティ検査行列Hを容易に生成することができる。図7Cは、図7Aに示した基本パーミュテーション行列と、図7Bに示したパーミュテーション行列のタイプに関する情報を含む基本行列Hによって生成されたパリティ検査行列Hを示している。
図7A乃至図7Cによって説明される実施例では、前記基本パーミュテーション行列から上述した四つのクラスの組み合わせによって多数のパーミュテーション行列を生成する方法を説明したが、前記多数のパーミュテーション行列は、前記四つのクラスのうち何れか一つのクラスによっても生成され、四つのクラスのうち何れか二つまたは三つのクラスの組み合わせによっても生成される。前記多数のパーミュテーション行列を前記四つのクラスのうち何れか一つのクラスによって生成する場合、前記パーミュテーション行列のタイプは一つの整数によって表現可能であり、二つのクラスによって生成する場合、前記パーミュテーション行列のタイプは二つの整数によって表現可能であり、三つのクラスの組み合わせによって生成する場合、前記パーミュテーション行列のタイプは三つの整数によって表現可能である。
例えば、前記第一のクラスの前記基本パーミュテーション行列の全ての行(または列)を所定間隔だけシフトさせる方法と、前記第二のクラスで前記基本パーミュテーション行列を所定角度だけ回転させる方法とを組み合わせると、前記基本行列Hが含む前記パーミュテーション行列のタイプは、(n,n,n,n)から(n,n)に単純化される。さらに、前記所定角度を90゜にすると、前記パーミュテーション行列のタイプは、一つの整数sで表現可能になる。ここで、sは、0、1、・・・、(z−1)、z、(z+1)、・・・、(2×z−1)のうち一つの数を有する整数である。すなわち、z×z次元の前記基本パーミュテーション行列を所定間隔だけシフトさせて生成されるz個の行列と、前記z個の行列をそれぞれ所定方向に90゜回転させて生成される他のz個の行列を、前記一つの整数sによって表現可能である。前記基本パーミュテーション行列として、z×z次元の単位行列を用いることができる。上記の例によると、前記基本行列Hに含まれる前記パーミュテーションタイプを簡単化できるのみならず、この簡単な情報を用いてLDPCコードを表現することで、LDPCコード保存のためのメモリを節約しながら最適の性能を導き出すことができる。
図8A乃至図8Cは、送信側または受信側でデータを符号化または復号化する過程で、メモリに保存された二つの基本パーミュテーション行列と、前記二つの基本パーミュテーション行列を上述した四つのクラスの組み合わせによって変形させて形成されたパーミュテーション行列のタイプに関する情報を含む基本行列Hを用いてパリティ検査行列Hを生成する方法を説明するための図である。
図8A乃至図8Cによって説明される実施例と、図7A乃至図7Cによって説明される実施例との相異点は、二つの基本パーミュテーション行列から多数の他のパーミュテーション行列を生成する点にあり、その結果として、図8Bに示すように、基本行列Hが含むパーミュテーション行列のタイプが(n,n,n,n,n)などの方法によって表現される。n、n、n及びnが意味することは、上述した通りである。nは、二つの基本パーミュテーション行列のうち何れに基づいて多数の他のパーミュテーション行列を生成するかに関する情報である。
図8Bにおいて、(−1)は、5×5次元の0行列を意味する。図8Cは、図8Aに示した二つの基本パーミュテーション行列と、図8Bに示したパーミュテーション行列のタイプに関する情報を含む基本行列Hによって生成されたパリティ検査行列Hを示している。
二つの基本パーミュテーション行列に基づいて多数の他のパーミュテーション行列を形成する場合も、前記四つのクラスのうち何れか一つのクラスのみを用いるか、四つのクラスのうち何れか二つのクラスまたは三つのクラスの組み合わせを用いる。また、前記基本パーミュテーション行列の個数は、三つ以上であることが明らかである。
本発明に係るLDPCコードを用いた符号化及び復号化方法によると、入力データを符号化または復号化するにおいて、大容量のメモリを占めるパリティ検査行列を保存する必要がないため、メモリを節約できるのみならず、符号化または復号化性能を向上できるという効果がある。
本発明は、本発明の精神及び必須的な特徴を逸脱しない範囲で、他の特定の形態で具体化されることが当業者にとって自明である。したがって、上記の詳細な説明は、全ての面で制限的に解析されてはならなく、例示的なものとして考慮されるべきである。本発明の範囲は、添付の特許請求の範囲の合理的な解析によって決定されるべきで、本発明の等価的範囲内での全ての変更は本発明の範囲に含まれる。
本発明の好適な一実施例を説明するための通信システム構成図である。 図1AのLDPC符号化器を示す詳細構成図である。 図1AのLDPC復号化器を示す詳細構成図である。 z×z次元の多数のパーミュテーション行列または0行列を含むパリティ検査行列Hの構成図である。 本発明の好適な一実施例において、基本パーミュテーション行列の全ての行を所定間隔だけシフトさせて多数のパーミュテーション行列を形成する方法を説明するための図である。 本発明の好適な一実施例において、基本パーミュテーション行列の特定の行を任意の他の行と交換することで多数のパーミュテーション行列を形成する方法を説明するための図である。 本発明の好適な一実施例において、基本パーミュテーション行列の特定の列を任意の他の列と交換することで多数のパーミュテーション行列を形成する方法を説明するための図である。 本発明の好適な一実施例において、基本パーミュテーション行列を特定の角度だけ回転させて多数のパーミュテーション行列を形成する方法を説明するための図である。 送信側または受信側でデータを符号化または復号化する過程で、メモリに保存された一つの基本パーミュテーション行列と、前記基本パーミュテーション行列を上記した四つの方法の組み合わせによって変形させて形成したパーミュテーション行列のタイプに関する情報を含む基本行列Hを用いてパリティ検査行列Hを生成する方法を説明するための図である。 送信側または受信側でデータを符号化または復号化する過程で、メモリに保存された一つの基本パーミュテーション行列と、前記基本パーミュテーション行列を上記した四つの方法の組み合わせによって変形させて形成したパーミュテーション行列のタイプに関する情報を含む基本行列Hを用いてパリティ検査行列Hを生成する方法を説明するための図である。 送信側または受信側でデータを符号化または復号化する過程で、メモリに保存された一つの基本パーミュテーション行列と、前記基本パーミュテーション行列を上記した四つの方法の組み合わせによって変形させて形成したパーミュテーション行列のタイプに関する情報を含む基本行列Hを用いてパリティ検査行列Hを生成する方法を説明するための図である。 送信側または受信側でデータを符号化または復号化する過程で、メモリに保存された二つの基本パーミュテーション行列と、前記二つの基本パーミュテーション行列を上記した四つの方法の組み合わせによって変形させて形成したパーミュテーション行列のタイプに関する情報を含む基本行列Hを用いてパリティ検査行列Hを生成する方法を説明するための図である。 送信側または受信側でデータを符号化または復号化する過程で、メモリに保存された二つの基本パーミュテーション行列と、前記二つの基本パーミュテーション行列を上記した四つの方法の組み合わせによって変形させて形成したパーミュテーション行列のタイプに関する情報を含む基本行列Hを用いてパリティ検査行列Hを生成する方法を説明するための図である。 送信側または受信側でデータを符号化または復号化する過程で、メモリに保存された二つの基本パーミュテーション行列と、前記二つの基本パーミュテーション行列を上記した四つの方法の組み合わせによって変形させて形成したパーミュテーション行列のタイプに関する情報を含む基本行列Hを用いてパリティ検査行列Hを生成する方法を説明するための図である。
符号の説明
10 送信機
11 データソース
13 LDPC符号化器
15 変調器
17 アンテナ
20 無線チャネル
30 受信機
31 アンテナ
33 復調器
35 LDPC復号化器

Claims (6)

  1. 低密度パリティ検査(LDPC)コードを用いて入力データを符号化/復号化する方法であって、
    前記方法は、
    基本行列と、少なくとも2つの基本パーミュテーション行列とを提供するステップであって、前記基本行列の各要素は、基本パーミュテーション行列およびパーミュテーション行列を識別するパーミュテーションタイプを示し、前記基本パーミュテーション行列は、前記少なくとも2つの基本パーミュテーション行列から選択され、前記パーミュテーション行列は、前記基本パーミュテーション行列の全ての行を所定の方向に所定の間隔だけシフトさせることと、前記基本パーミュテーション行列の特定の行を他の行と交換することと、前記基本パーミュテーション行列の特定の列を他の列と交換することと、前記基本パーミュテーション行列を90°、180°または270°だけ回転させることとの組み合わせによって生成される、ステップと、
    前記基本行列の各要素を、対応するパーミュテーションタイプにより識別されるパーミュテーション行列と交換するにより、パリティ検査行列を生成するステップと、
    前記パリティ検査行列を用いて入力データを符号化または復号化するステップと
    を含む、方法。
  2. 前記基本行列は、0行列を識別するパーミュテーションタイプをさらに含む、請求項1に記載の方法。
  3. LDPCコードを用いて入力データを符号化する装置であって、
    前記装置は、
    基本行列と、少なくとも2つの基本パーミュテーション行列とを格納するメモリモジュールであって、前記基本行列の各要素は、基本パーミュテーション行列およびパーミュテーション行列を識別するパーミュテーションタイプを示し、前記基本パーミュテーション行列は、前記少なくとも2つの基本パーミュテーション行列から選択され、前記パーミュテーション行列は、前記基本パーミュテーション行列の全ての行を所定の方向に所定の間隔だけシフトさせることと、前記基本パーミュテーション行列の特定の行を他の行と交換することと、前記基本パーミュテーション行列の特定の列を他の列と交換することと、前記基本パーミュテーション行列を90°、180°または270°だけ回転させることとの組み合わせによって生成される、メモリモジュールと、
    前記基本行列の各要素を、対応するパーミュテーションタイプにより識別されるパーミュテーション行列と交換することにより、パリティ検査行列を生成するパリティ検査行列生成モジュールと、
    前記パリティ検査行列生成モジュールから生成された前記パリティ検査行列を用いて入力データを符号化する符号化モジュールと
    を含む、装置。
  4. 前記基本行列は、0行列を識別するパーミュテーションタイプをさらに含む、請求項3に記載の装置。
  5. LDPCコードを用いて入力データを復号化する装置であって、
    前記装置は、
    基本行列と、少なくとも2つの基本パーミュテーション行列とを格納するメモリモジュールであって、前記基本行列の各要素は、基本パーミュテーション行列およびパーミュテーション行列を識別するパーミュテーションタイプを示し、前記基本パーミュテーション行列は、前記少なくとも2つの基本パーミュテーション行列から選択され、前記パーミュテーション行列は、前記基本パーミュテーション行列の全ての行を所定の方向に所定の間隔だけシフトさせることと、前記基本パーミュテーション行列の特定の行を他の行と交換することと、前記基本パーミュテーション行列の特定の列を他の列と交換することと、前記基本パーミュテーション行列を90°、180°または270°だけ回転させることとの組み合わせによって生成される、メモリモジュールと、
    前記基本行列の各要素を、対応するパーミュテーションタイプにより識別されるパーミュテーション行列と交換することにより、パリティ検査行列を生成するパリティ検査行列生成モジュールと、
    前記パリティ検査行列生成モジュールから生成された前記パリティ検査行列を用いて入力データを復号化する復号化モジュールと
    を含む、装置。
  6. 前記基本行列は、0行列を識別するパーミュテーションタイプをさらに含む、請求項5に記載の装置。
JP2007532236A 2004-09-17 2005-09-14 Ldpcコードを用いた符号化または復号化方法及びその装置 Expired - Fee Related JP4822452B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20040074732 2004-09-17
KR10-2004-0074732 2004-09-17
KR10-2004-0077013 2004-09-24
KR1020040077013A KR101065693B1 (ko) 2004-09-17 2004-09-24 Ldpc 코드를 이용한 부호화, 복호화 방법 및 부호화또는 복호화를 위한 ldpc 코드 생성 방법
PCT/KR2005/003041 WO2006031062A2 (en) 2004-09-17 2005-09-14 Method of encoding and decoding using ldpc code and apparatus thereof

Publications (2)

Publication Number Publication Date
JP2008514102A JP2008514102A (ja) 2008-05-01
JP4822452B2 true JP4822452B2 (ja) 2011-11-24

Family

ID=37131328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007532236A Expired - Fee Related JP4822452B2 (ja) 2004-09-17 2005-09-14 Ldpcコードを用いた符号化または復号化方法及びその装置

Country Status (4)

Country Link
US (1) US7917827B2 (ja)
JP (1) JP4822452B2 (ja)
KR (1) KR101065693B1 (ja)
CN (1) CN100583650C (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657821B1 (en) * 2006-05-09 2010-02-02 Cisco Technology, Inc. Error detecting code for multi-character, multi-lane, multi-level physical transmission
KR101128804B1 (ko) * 2006-06-07 2012-03-23 엘지전자 주식회사 참조 행렬을 이용한 lpdc 부호화 및 복호화 방법
EP2092651B1 (fr) * 2006-11-13 2020-03-25 3G Licensing S.A. Codage et decodage d'un signal de donnees en fonction d'un code correcteur
KR101405961B1 (ko) * 2008-02-11 2014-06-12 엘지전자 주식회사 Ldpc 코드를 이용한 부호화/복호화 방법
CN102077470B (zh) * 2009-05-25 2013-02-27 华为技术有限公司 采用线性分组码的编码方法、装置及线性分组码生成方法、装置
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
CN102332964A (zh) * 2010-07-12 2012-01-25 电子科技大学 基于网络-信道联合编译码的多接入中继协作通信技术
WO2015127426A1 (en) * 2014-02-24 2015-08-27 Qatar Foundation For Education, Science And Community Development Apparatus and method for secure communication on a compound channel
US9804925B1 (en) * 2014-02-25 2017-10-31 Google Inc. Data reconstruction in distributed storage systems
US9727419B2 (en) * 2015-11-06 2017-08-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Non-binary low density parity check code column rotation
CN110192349B (zh) * 2017-01-06 2021-08-27 诺基亚技术有限公司 用于基于向量的ldpc基础矩阵的使用和生成的方法和装置
US11418216B2 (en) * 2020-03-30 2022-08-16 Smart IOPS, Inc. Method and system for generating parity check matrix for low-density parity check codes
GB2595240B (en) * 2020-05-18 2022-11-30 Accelercomm Ltd Low density parity check decoder, electronic device, and method therefor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003115768A (ja) * 2001-07-11 2003-04-18 Internatl Business Mach Corp <Ibm> データの低密度パリティ検査符号化方法および装置
JP2006519560A (ja) * 2003-02-26 2006-08-24 フラリオン テクノロジーズ,インコーポレーテッド マルチレベルの置換を使用する低密度パリティチェック(ldpc)符号動作を行うための方法および装置
JP2008509635A (ja) * 2004-08-09 2008-03-27 モトローラ・インコーポレイテッド データのエンコードおよびデコード方法および装置
JP2008172824A (ja) * 2003-08-26 2008-07-24 Samsung Electronics Co Ltd 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7406647B2 (en) * 2001-12-06 2008-07-29 Pulse-Link, Inc. Systems and methods for forward error correction in a wireless communication network
JP4005084B2 (ja) 2002-07-02 2007-11-07 三菱電機株式会社 検査行列生成方法および検査行列生成装置
US7178080B2 (en) 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
WO2004019268A1 (en) * 2002-08-20 2004-03-04 Flarion Technologies, Inc. Methods and apparatus for encoding ldpc codes
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
KR20040036460A (ko) 2002-10-26 2004-04-30 삼성전자주식회사 Ldpc 복호화 장치 및 그 방법
KR100996029B1 (ko) * 2003-04-29 2010-11-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003115768A (ja) * 2001-07-11 2003-04-18 Internatl Business Mach Corp <Ibm> データの低密度パリティ検査符号化方法および装置
JP2006519560A (ja) * 2003-02-26 2006-08-24 フラリオン テクノロジーズ,インコーポレーテッド マルチレベルの置換を使用する低密度パリティチェック(ldpc)符号動作を行うための方法および装置
JP2008172824A (ja) * 2003-08-26 2008-07-24 Samsung Electronics Co Ltd 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法
JP2008509635A (ja) * 2004-08-09 2008-03-27 モトローラ・インコーポレイテッド データのエンコードおよびデコード方法および装置

Also Published As

Publication number Publication date
US7917827B2 (en) 2011-03-29
CN101023587A (zh) 2007-08-22
KR20060025977A (ko) 2006-03-22
KR101065693B1 (ko) 2011-09-19
JP2008514102A (ja) 2008-05-01
US20080270867A1 (en) 2008-10-30
CN100583650C (zh) 2010-01-20

Similar Documents

Publication Publication Date Title
JP4822452B2 (ja) Ldpcコードを用いた符号化または復号化方法及びその装置
JP4820368B2 (ja) Ldpcコードを用いた符号化及び復号化方法
US7992066B2 (en) Method of encoding and decoding using low density parity check matrix
JP4677447B2 (ja) 無線通信システムにおける低密度パリティチェックコードを用いた符号化、復号化方法及びその装置
US7814403B2 (en) Method of encoding and decoding using low density parity check code
JP2008503975A (ja) Ldpcコードを用いた可変コードレート適応符号化及び復号化方法
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
CN101252360A (zh) 一种高围长低码率多进制ldpc码的结构化构造方法
US8214717B2 (en) Apparatus and method for decoding LDPC code based on prototype parity check matrixes
JP2019525638A (ja) 2のべき乗でない長さに拡張されたポーラ符号の符号化および復号化
US8190977B2 (en) Decoder of error correction codes
US20100050045A1 (en) Method of generating a parity check matrix for ldpc encoding and decoding
KR20070107521A (ko) 비이진 구조적 저밀도 패리티 검사 부호 생성 방법
KR20060010068A (ko) Ldpc 코드를 이용한 부호화 방법 및 부호화를 위한컴퓨터로 읽을 수 있는 기록 매체
WO2006031062A2 (en) Method of encoding and decoding using ldpc code and apparatus thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110714

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3

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