JP4672016B2 - 低密度パリティ検査行列を用いた符号化及び復号化方法 - Google Patents

低密度パリティ検査行列を用いた符号化及び復号化方法 Download PDF

Info

Publication number
JP4672016B2
JP4672016B2 JP2007525532A JP2007525532A JP4672016B2 JP 4672016 B2 JP4672016 B2 JP 4672016B2 JP 2007525532 A JP2007525532 A JP 2007525532A JP 2007525532 A JP2007525532 A JP 2007525532A JP 4672016 B2 JP4672016 B2 JP 4672016B2
Authority
JP
Japan
Prior art keywords
matrix
sub
parity check
column
check matrix
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
JP2007525532A
Other languages
English (en)
Other versions
JP2008509623A (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
Publication of JP2008509623A publication Critical patent/JP2008509623A/ja
Application granted granted Critical
Publication of JP4672016B2 publication Critical patent/JP4672016B2/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/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/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
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of 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/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
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes

Landscapes

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

Description

本発明は、符号化(encoding)及び復号化(decoding)方法に係り、より具体的には、低密度パリティ検査(Low Density Parity Check:以下、‘LDPC’という。)コードを用いて符号化する方法の性能(performance)を向上させることができ、かつ、可変データレートを適用する通信システムに效果的に適用できる符号化または復号化方法に関する。
一般に、符号化(encoding)は、データが送信側から通信チャネルを通じて転送される過程で信号の歪、損失などによる誤りが発生する場合にも、受信側で元来のデータを復元できるように送信側でデータ処理を行う過程をいい、復号化(decoding)は、符号化して送信された信号を受信側で元来のデータに復元する過程をいう。
近来、LDPCコードを用いた符号化方法が注目を浴びている。LDPCコードは、パリティ検査行列(parity check matrix)Ηの元素の大部分が‘0’である低密度(low density)の線形ブロック符号(linear block code)で、1962年ガラガー(Gallager)によって提案された。LDPC符号は、非常に複雑なため提案当時の技術では具現不可能なものとして認識され、忘れられていたが、1995年の再発見によって性能の優秀性が立証されて以来、それに関する研究が活発に進行されている現状にある。(参考文献:非特許文献1、非特許文献2)
LDPCコードのパリティ検査行列は、‘0’と‘1’によって構成される2進行列(binary matrix)で、‘1’の個数が少ないため、非常に大きい行列大きさにおいて反復復号を通じて復号化が可能であり、行列大きさが非常に大きくなるとターボコード(turbo code)のようにシャノン(Shannon)のチャネル容量限界に近接する性能を示す。
LDPCコードは、(n−k)×n次元のパリティ検査行列Ηによって説明されることができる。該パリティ検査行列Ηに対応する生成行列(generator matrix)Gは、次の数学式1によって求められる。
(数学式1)
Η・G=0
LDPCコードを用いた符号化及び復号化方法においては、送信側で当該パリティ検査行列Ηと数学式1の関係にある生成行列Gを用い、次の数学式2によって入力データを符号化する。
(数学式2)
c=G・u(ここで、cはコードワード(code work)を表し、uはデータフレームを表す。)
しかしながら、最近では生成行列Gによらず、パリティ検査行列Ηを用いて入力データを符号化する方法が一般的に使われている。したがって、上記のように、LDPCコードを用いる符号化及び復号化方法では、パリティ検査行列Ηが最も重要な要素であると言えよう。このパリティ検査行列Ηは、その大きさが非常に大きいため符号化及び復号化過程で多くの演算が要求され、且つ、具現が非常に複雑である他、多くの保存空間を要求する。
一般にパリティ検査行列Hへより多くの重み(weight)を付加することは、パリティ検査方程式(parity check equations)へより多くの変数を付加することとなるため、LDPCコードによる符号化及び復号化方法においてより良い性能を発揮できる。しかし、一方では、パリティ検査行列Hへより多くの重みを付加すると、パリティ検査行列全体に4−サイクルや6−サイクルを形成する場合が多くなり、LDPCコードによる符号化及び復号化方法の性能を低下させる危険性につながることもある。
なお、最近の移動通信システムまたは無線インターネットシステムなどでは、チャネル状況または転送するデータ量に応じて可変データレートを適用する場合が多いが、このような可変データレートを適用するシステムには、従来のLDPCコードを用いた符号化方法を応用し難いという問題点があった。
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,(1999)IT−45,pp.399−431
本発明は上記の従来技術の問題点を解決するためのもので、その目的は、LDPCコードを用いて符号化及び復号化する方法において、符号化及び復号化性能(performance)を向上させることができる方法を提供することにある。
本発明の他の目的は、可変データレート(variable data rate)を適用する通信システムに效果的に応用できる、LDPCコードを用いた符号化及び復号化方法を提供することにある。
本発明の一様相として、本発明によるLDPC(Low Density Parity Check)コードを用いた符号化または復号化方法は、入力データをパリティ検査行列(parity check matrix)Hを用いて符号化または復号化する方法において、前記パリティ検査行列Hは、H=[H|H](Hは(n−k)×k、Hは(n−k)×(n−k)次元であり、kは入力データのビット数、nはコードワードのビット数である。)の構成を有し、前記Hは、列重み(column weight)がwである部分とw+wである部分(前記w及びwは0でない定数である。)の2部分で構成されることを特徴とする。
本発明の他の様相として、本発明によるLDPCコードを用いた符号化または復号化方法は、入力データをパリティ検査行列Hを用いて符号化または復号化する方法において、前記パリティ検査行列Hは、H=[H|H](Hは(n−k)×n次元であり、kは入力データのビット数、nはコードワードのビット数である。)の構成を有し、前記パリティ検査行列Hは、列重み(column weight)がwである部分とw+wである部分(前記w及びwは0でない定数である。)の2部分で構成されることを特徴とする。
好ましくは、前記パリティ検査行列Hまたは前記Hが(n−k)/m×(n−k)/m次元を有する複数の第1サブ行列で構成される場合に、前記列重みがwである部分にある前記各第1サブ行列の行重み及び列重みは0または1であり、前記パリティ検査行列Ηまたは前記Hの任意のいずれの2行(rows)も2つ以上の地点に同時に1を有しないことを特徴とする。
本発明に係るLDPCコードを用いた符号化及び復号化方法は、移動通信システムや携帯インターネットシステムなどのような通信システムに応用可能である。
以下、添付図面に基づいて説明される本発明に係るLDPC(Low Density Parity Check)コードを用いた符号化及び復号化方法の好適な実施例によって、本発明の構成、作用、効果及びその他の特徴がより明確になる。図1は、本発明の好ましい一実施例を説明するための図で、本発明の技術的特徴が無線通信システムに適用された一例である。なお、以下に説明される実施例は、本発明の特徴を説明するための例示に過ぎず、符号化及び復号化を必要とするあらゆる分野に本発明の技術的特徴が適用可能であることは、当業者にとっては自明である。
図1で、送信器10と受信器30とが無線チャネル20を媒介として通信を行う。送信器10では、データソース11から出力されたkビットのソースデータuが、LDPC符号化モジュール13でのLDPC符号化(encoding)によってnビットのコードワードcとなる。コードワードcは、変調モジュール15によって無線変調され、アンテナ17から送信されて無線チャネル20を通じて受信器30のアンテナ31で受信される。この受信器30では、上記送信器10で起きた過程の逆過程を経て元来のデータを復元する。すなわち、復調モジュール33によって復調され、LDPC復号化モジュール35によって復号されて最終的にソースデータuが得られる
上述のデータ送受信過程は、本発明の特徴を説明する上で必要な最小限の範囲内で説明されたもので、それ以外にもデータ転送に必要な他の多くの過程があることは、当業者にとっては容易に理解される。
上記数学式1で、第1パリティ検査行列Ηは、Η=[H|H](Hは(n−k)×k、Hは(n−k)×(n−k)次元である)で表現されることができる。図2は、Η=[H|H]の関係を容易に理解させるように例示したものである。ここで、kは、LDPC符号化モジュール13に入力されるソースデータの長さ(ビット単位)であり、nは、符号化したコードワードcの長さ(ビット単位)を意味する。
数学式1及びΗ=[H|H]の関係によってG=[I|(H −1であることがわかる。したがって、LDPC符号化モジュール13は、上記数学式2によって入力データuにG=[I|(H−1Hを乗じることによって符号化する。結局、数学式2は、次の数学式3に取り替えることができる。より具体的には、kビットの入力ソースデータs1×kは数学式2によって符号化して、nビットのコードワードx1×kとなる。コードワードxは、x=[sp]=[s,s,…,sk−1,p,p,…,pm−1]の構成を有する(ここで、(p,p,…,pm−1)はパリティ検査ビット(parity check bits)であり、(s,s,…,sk−1)はシステマチックビット(systematic bits)である。)。
(数学式3)
c=[I|(H −1・u
しかしながら、生成行列Gを用いた符号化方法は非常に複雑である。したがって、このような複雑度を減らすために、生成行列Gによらず、パリティ検査行列Hを用いて直接入力ソースデータを符号化することが好ましい。すなわち、x=[sp]なので、H・x=0の特性を用いるとH・x=H・[sp]=0となり、この式からパリティ検査ビットpが得られ、結果としてコードワードx=[sp]を求めることができる。
は、(n−k)×(n−k)次元の二重対角行列(dual diagonal matrix)とすることが好ましい。二重対角行列は、主対角(main diagonal)とこの主対角の真下の対角が1であり、残りがいずれも0の行列を意味するものである。この二重対角行列の理解を助ける一例を、図3に示す。
図4は、数学式3で表現されるパリティ検査行列Hを用いた符号化過程を実際に具現するエンコーダ(encoder)のブロック構成図である。入力データuは、H部分とH −1部分によって符号化され、符号化したコードワードcとなる。図4で、H −1部分は、Hとして二重対角行列(dual diagonal matrix)を使用した時、H −1を実際に具現した構成例である。
本発明の特徴は、[H|H]の構造を持つパリティ検査行列H、または該パリティ検査行列Hを構成するHのデータ構造にある。以下ではHの本発明に係る特徴を中心にして説明するものとする。以下に説明される本発明に係るHの特徴は、パリティ検査行列H全体に対しても同一に適用されることができる。
このHは、列(column)と行(row)の重み(weight)において一定の規則性を持つことを特徴とする。この規則性は、Hを(n−k)×(n−k)次元を有するr/(1−r)(ここで、r=k/n)個の行列H(i) (ここで、i=1,2,…,r/(1−r))に分割し、任意のH(i) は(n−k)/m×(n−k)/m次元を有するm×m個の第1サブ行列に分割する場合に、Hを構成する任意の第1サブ行列の行重み(row weight)及び列重み(column weight)は1とすることによって達成できる。また、当該パリティ検査行列Ηの任意のいずれの2行(rows)も2つ以上の地点に同時に1を有しないようにHを構成し、該パリティ検査行列Ηに含まれた任意の1を含めて形成される6−サイクル(6−cycle)の個数を、既に設定された臨界値(Cmax)以下とすることが好ましい。
より具体的に説明すると、Hは、コードレート(r=k/n)に応じて1つ以上のH(i) (ここで、i=1,2,…,r/(1−r))で構成されることができる。コードレートrは、入力データの長さkと符号化したデータの長さnとの比で、一般にr=1/2、2/3、3/4、4/5などが使われる。H(i)dは、(n−k)×(n−k)次元を有する行列で、H=[H(1) |H(2) |…|H(r/(1−r)) ]の関係を持つ。各H(i) が、(n−k)/m×(n−k)/m次元を有するm×m個の第1サブ行列で構成されるとするとき、Hを構成する任意の第1サブ行列の行重み(row weight)及び列重み(column weight)を1とすることによって当該H全体に対して列重み及び行重みに一定の規則性を与えることができる。mは、正の整数で、Hのレゾリューションファクター(resolution factor)である。このmは、2〜12のうち、最も良い性能を発揮するものを選択して使用することが好ましい。
図5は、パリティ検査行列Hの構造を説明するための図である。図5の例では、パリティ検査行列Hは、[H|H]の構造を有し、Hは、H=[H(1) |H(2) |H(3) |H(4) ]の構造を有する。図5の例では、m=5で、各H(i) は、5×5=25個の第1サブ行列で構成される。各第1サブ行列の行重み及び列重みが1であるというのは、各第1サブ行列の任意の行及び列には1が1つのみあり、残りはいずれも0であるという意味である。mは、4〜12のうち、最も良い性能を発揮するものを選択して使用することが好ましい。
他の実施例として、Hを構成する任意の第1サブ行列の行重み(row weight)及び列重み(column weight)は、0または1でありうる。すなわち、任意のH(i) に対して、H(i) を構成する第1サブ行列の内には、行重み及び列重みが0であるものも、1であるものもある。この場合、任意のH(i) に対して、行重み(row weight)及び列重み(column weight)が0のサブ行列は、H(i) の行及び列方向に同じ数で存在することが好ましい。
また、Hは、(n−k)×(n−k)次元の二重対角行列(dual diagonal matrix)とすることが好ましい。二重対角行列は、主対角(main diagonal)と該主対角の真下の対角が1であり、残りがいずれも0の行列を意味する。
以上ではHを構成する行及び列重みが0または1であるという特徴について説明したが、パリティ検査行列H全体が(n−k)/m×(n−k)/m次元を有する複数の第1サブ行列で構成される場合に、Hを構成する任意の第1サブ行列の行重み及び列重みを0または1とすることも可能である。すなわち、パリティ検査行列Hの一部構成であるHに対してのみ、該Hを構成する第1サブ行列の行及び列重みが0または1であっても良く、パリティ検査行列Hの全体に対して、パリティ検査行列H全体を構成する第1サブ行列の行及び列重みが0または1であっても良い。
本発明の好ましい他の実施例として、Hは全体として列重み(column weight)がwである部分と、w+w(w及びwは0でない定数である。)である部分の2部分で構成されることができる。すなわち、Hの一部にwだけの列重みをさらに付加する。wの付加されなかった部分は、前述したような規則性が続けて維持されることができる。好ましくは、Hの大部分はその列の重みがwであり、一部分がwよりも大きいw+wである。好ましくは、wはwの10〜110%の範囲内で選択されると良い。
一方、Hが(n−k)×(n−k)/m次元を有する複数の第2サブ行列に分割される場合に、列重みがw+wである部分は、複数の第2サブ行列のうち、1つまたは2つ以上の第2サブ行列に含まれても良く、複数の第2サブ行列のそれぞれの一部分であっても良い。
図6は、列重みがw+wである部分が、複数の第2サブ行列のうちの1つに含まれた場合を説明するための図である。図6で、Hは、8個の(n−k)×(n−k)/m次元を有する第2サブ行列で構成され、各第2サブ行列は、4個の(n−k)/m×(n−k)/m次元を有する第1サブ行列で構成される。上記のように、各第1サブ行列の列重みが1といずれも同一であるため、各第2サブ行列の列重みもw=4といずれも同一である。ただし、図6で、ハッチされた1番目の第2サブ行列に対しては列重みをwだけさらに付加して、他の第2サブ行列よりも列重みを大きくした。図6では、1番目の第2サブ行列の列重みを他の第2サブ行列のそれに比べて大きくしたが、1番目の第2サブ行列だけでなく、他の第2サブ行列にwを付加しても良い。また、1つの第2サブ行列の全体に対してwを付加することも可能であるが、1つの第2サブ行列の一部に対してwを付加することも可能である。さらには、列重みがw+wである部分が、複数の第2サブ行列のうちの2つ以上に含まれても良い。例えば、図6で、1番目の第2サブ行列の全部と2番目の第2サブ行列の一部にのみ、列重みをwだけ追加することも可能である。
LDPCコードによる復号方法は、パリティ検査行列Ηを構成する行間にチャネル状況によって判断される確率的情報の反復的交換によってなされるが、図6に示すように、パリティ検査行列Ηの一部分の列重みを他の部分に比べて大きくすると、復号過程における収斂速度が速くなり、復号性能を高めることができる。
図7は、列重みがw+wである部分は、複数の第2サブ行列のそれぞれの一部分である場合を説明するための図である。図7では、全ての第2サブ行列のそれぞれの一部に対して(ハッチ部分)wを付加して、他の部分に比べて列重みを大きくした。この場合にも、追加される列重みwをwと同一にして、wの付加されなかった部分に比べて列重みを2倍とすることが好ましい。Hを図7のように構成すると、可変データレート(variable data rate)を適用するシステムに容易に応用することが可能になる。
また、上記のような特徴を持つHを含むパリティ検査行列Ηに含まれた任意の1を含めて形成される6−サイクルの個数が、既に設定された臨界値(Cmax)以下であり、パリティ検査行列Ηの任意のいずれの2行(rows)も、2つ以上の列に同時に1を有しないことが好ましい。臨界値(Cmax)は、パリティ検査行列Hに6−サイクルが存在しても、パリティ検査行列Hを用いた符号化及び復号化の性能低下が起きない範囲で決定されることが好ましい。より具体的には、パリティ検査行列Hに存在する6−サイクルの減少による性能改善効果と6−サイクルを減らすのに必要な計算量とを比較して、合理的範囲内で決定されることが好ましい。シミュレーション結果、臨界値(Cmax)が略10〜500個の範囲で満足できるような性能が導き出されたし、1〜100個の範囲でより良い性能を発揮した。ただし、この範囲に臨界値が制限されるわけではない。
図8は、パリティ検査行列Ηの任意の3行の中から選択されたあらゆる組み合わせ可能な2行が、同じ地点に1を持つ場合の例を示す図である。すなわち、i、j及びk行の3つの行から選択されたあらゆる組み合わせ可能な2行、すなわち、i番目行とj番目行、j番目行とk番目行、及びk番目行とi番目行が、同じ地点に1を持つ場合であり、図8で円で囲まれた6個の地点をつなぐとサイクルを形成するが、これを6−サイクルという。図9は、上記パリティ検査行列Ηの他の表現方法である二部グラフ(bipartite graph)で、6行9列のパリティ検査行列を意味する。図9で、太線で表示された部分が6−サイクルを形成する部分である。このパリティ検査行列Ηに含まれた任意の1を含めて形成される6−サイクルの個数が、既に設定された臨界値(Cmax)以下であるというのは、該パリティ検査行列Ηに含まれた任意の1を基準に該任意の1を含めて形成される6−サイクルが当該臨界値(Cmax)よりも小さい、または、等しいということを意味する。
図10は、パリティ検査行列Ηの2つの行が、2つの列に同時に1を持つ場合を例示する図である。すなわち、図10で、i番目行の円で囲まれた2つの地点とj番目行の円で囲まれた2つの地点がいずれも1である場合で、図10のような場合がパリティ検査行列Ηに存在するとLDPCコードによる符号化及び復号化方法は良好な性能を発揮することができない。図10に示すように、パリティ検査行列Ηの2つの行が2つの地点に同時に1を持つ場合を4−サイクル(4−cycle)という。上記のパリティ検査行列Ηの任意のいずれの2行(rows)も2つ以上の地点に同時に1を有しないということは、パリティ検査行列Ηの全体に対して4−サイクルを形成する場合がないということを意味する。
前述したように、LDPCコードによる符号化方法は、パリティ検査行列Ηを構成する行間にチャネル状況によって判断される確率的情報の反復的交換によってなされる。4−サイクル及び6−サイクルに関する2条件を満たさないパリティ検査行列Ηでは、各行の確率的情報が他の行に伝達されて充分な反復無しに戻ってくるので、良好な性能を発揮できない。
本発明の技術的特徴を有するパリティ検査行列Ηを符号化及び復号化に用いると、チャネル状況などによってコードレート(code rate)が可変する場合、第1サブ行列を除去または追加することによってパリティ検査行列Ηの大きさを可変させてもその特徴がそのまま維持されるため、可変コードレートを適用するシステムに容易に適応可能である。
パリティビット(parity bits)を減らす場合には、図11に示すように、Hを構成する第1サブ行列から、第1サブ行列単位に任意の第1サブ行列を列(column)方向に除去(reducing)し、HとHを構成する第1サブ行列から、第1サブ行列単位に任意の第1サブ行列を行(row)方向に除去する。図11で、ハッチ部分が、除去される部分である。
図12は、基本的に8個の第1サブ行列で構成されたパリティ検査行列Ηに対して、パリティビットを減らすために(1,4)、(2,1)、(2,2)、(2,3)及び(2,4)第1サブ行列を除去し、(1,1)、(1,2)及び(1,3)第1サブ行列のみでパリティ検査行列Ηを構成する例を示す図である。図12では、(1,1)及び(1,2)第1サブ行列がHを構成し、(1,3)第1サブ行列がHを構成して、コードレートr=2/3となる。図11で、(1,3)、(2,1)、(2,2)、(2,3)及び(2,4)第1サブ行列を除去することによっても、パリティビットを減らすことができる。Hを構成する各第1サブ行列のそれぞれの行重み(row weight)及び列重み(column weight)は0または1であるため、このHに対してはいくつかの第1サブ行列が除去されても、除去されて残った行列において任意の行と列の重み(weight)が0または1であるという基本特徴が維持される。
Figure 0004672016
表1は、パリティビット(Nparity)を変更することによってコードレート(R)を可変させる例を説明するためのものである。すなわち、図11及び図12に示すように、パリティ検査行列Hの一部第1サブ行列を除去するとパリティビット(Nparity)が減り、結果としてコードレート(R)が高まる。
システマチックビット(systematic bits)を減らす場合には、図13に示すように、Hを構成する第1サブ行列から、第1サブ行列単位に任意の第1サブ行列を列(column)方向に除去する。図13で、ハッチ部分が、除去される部分となる。
図14は、基本的に8個の第1サブ行列で構成されたパリティ検査行列Ηに対して、システマチックビットを減らすために(1,1)及び(2,1)第1サブ行列を除去した場合を示す図である。図14で、(1,1)及び(2,1)第1サブ行列の代わりに、(1,2)及び(2,2)第1サブ行列を除去することによってシステマチックビットを減らすことができる。
Figure 0004672016
表2は、システマチックビット(Ninfo)を変更することによってコードレート(R)を可変させる例を説明するための図である。すなわち、図13及び図14に示すように、パリティ検査行列Hの一部第1サブ行列を除去するとシステマチックビット(Ninfo)が高まり、結果としてコードレート(R)が高まる。
パリティビット及びシステマチックビットを同時に減らす場合には、図15に示すように、H及びHを構成する第1サブ行列から、第1サブ行列単位に任意の第1サブ行列を列(column)及び行(row)方向に除去する。図15で、ハッチ部分が、除去される部分となる。
図16A及び図16Bは、上記のような特徴を有するパリティ検査行列Hを生成する一過程を説明するための処理流れ図である。以下に説明される方法は一例に過ぎず、上記のような特徴を有するHは、様々な方法によって得られることが可能である。
図16A及び図16Bで、iはパリティ検査行列Hの任意の行(row)のインデックス、jは任意の列(column)のインデックス、kはwを付加する列のインデックス、Cは任意の列jまたはkの現在重み(weight)数を意味する。まず、重みのない(C=0)の1番目の列(j=1)に対して重みを付加し始める[S17,S18]。ここで、重みを付加するというのは、任意の列の任意の行に該当する元素を1とするということを意味する。
1番目の列の任意のi番目の候補行(candidate row)に暫定的に重みを付加する[S19]。暫定的に重みを付加するということは、その行に対する重み付けが最終的なものではなく、後の手続きによって変更可能なものであるという意味である。その後、パリティ検査行列Hが(n−k)/m×(n−k)/m次元を有する複数の第1サブ行列で構成される場合に、当該j番目列のi番目行が属したサブ行列の行と列に、重みが2以上である行または列が存在するかを検査する[S20]。このj番目列のi番目行が属したサブ行列の行と列のうち、重み2以上の行または列が存在すると、当該i番目行に対して重みを付加せずに他の行に重みを付加して[S19]、その次の手続きを再び進行し、j番目列のi番目行が属したサブ行列の行と列のうち、重み2以上の行または列が存在しないと、パリティ検査行列Hの全体に対して4−サイクルが存在するか判断する[S21]。
4−サイクル(4−cycle)とは、パリティ検査行列Ηの任意の2つの行が2つの地点に同時に1を持つ場合のことをいう。すなわち、パリティ検査行列Ηの全体に対して4−サイクルを形成する場合がないというのは、該パリティ検査行列Ηの任意のいずれの2行も2つ以上の地点に同時に1を有しないということを意味する。
パリティ検査行列Hの全体に対して4−サイクルが存在するか判断し[S21]、4−サイクルが存在すると、i番目行に対して重みを付加せずに他の行に重みを付加して[S19]、その次の手続きを再び進行し、4−サイクルが存在しないと、i番目行の1を含めて形成される6−サイクルが存在するか判断する[S22]。
このi番目行の1を含めて形成される6−サイクルが存在するか判断した結果、6−サイクルが存在しないと、i番目行に最終的に重みを付加する。6−サイクルが存在すると、i番目行の1を含めて形成される6−サイクルの個数が、既に設定された臨界値(Cmax)以下か判断し[S23]、以下であると、同様にi番目行に最終的に重みを付加し[S24]、以下でないとi番目行に重みを付加せずに他の行に重みを付加して[S19]、その次の手続きを再び進行する。
i番目行に重みを最終的に付加すると[S24]、j番目列の現在重み数(C)を1増加させ[S25]、j番目列の現在重み数がwと同一か判断する[S28]。j番目列の現在重み数がwと同一であると、j番目列に対する重み付けは終了し、jがコードワード長と同一か判断する[S27]。一方、j番目列の現在重み数がwと同一でないと、ステップS19に戻り、j番目列の他の行に暫定的に重みを付加し、その後続手続きを続けて行う。
jがコードワード長と同一であると、列重みwをさらに付加する手続きが始まる。wを付加しようとする1番目の列の任意のi番目候補行(candidate row)に暫定的に重みを付加し[S30]、パリティ検査行列Hの全体に対して4−サイクルが存在するか判断する[S31]。
パリティ検査行列Hの全体に対して4−サイクルが存在するか判断した結果、4−サイクルが存在すると、i番目行に対して重みを付加せずに他の行に重みを付加して[S30]、その次の手続きを再び進行し、4−サイクルが存在しないと、i番目行に最終的に重みを付加する[S32]。
このようにi番目行に重みを最終的に付加すると[S32]、k番目列の現在重み数(C)を1増加させ[S33]、該k番目列の現在重み数が(w+w)と同一か判断する[S34]。k番目列の現在重み数が(w+w)と同一であると、k番目列に対する重み付けは終了し、このkが、列重みwをさらに付加しようとする列の最終個数Kと同一か判断する[S35]。一方、k番目列の現在重み数が(w+w)と同一でないとステップS30に戻り、k番目列の他の行に暫定的に重みを付加して、その後続手続きを続けて行う。
kが列重みwをさらに付加しようとする列の最終個数Kと同一であると、パリティ検査行列Hの全体に対して重み付けが終了したことであるので、この時点までの重み付け結果に基づいて最終的にパリティ検査行列Hを生成することができる[S37]。一方、kが列重みwをさらに付加しようとする列の個数Kと同一でないと、まだ重みwを付加しなかった列が存在するという意味であるので、kに1を追加して[S36]、次の列に対してステップS30から上記と同一の方法で重みを付加する。
列重みがw+wである部分を、複数の第2サブ行列のそれぞれの一部分とするためには、ステップS36でkが1ずつ増加する場合もあり、第2サブ行列の列の個数である(n−k)/m個ずつ増加する場合もありうる。すなわち、この場合には、Kが、各第2サブ行列に含まれる列重みw+wの部分の列数の合計となる。
行重み及び列重みが0のサブ行列を含むパリティ検査行列Hを生成するためには、図16A及び図16Bに示す手続きによって生成されたパリティ検査行列Hにおいていくつかのサブ行列の行重み及び列重みを0とすれば良い(図示せず)。
上記のように、パリティ検査行列H全体を上記のような手続きによって生成しても良いが、上記の如く、[H|H]の構造を持つパリティ検査行列HにおいてHを上記の手続きによって生成し、Hを定形化した形態としても良い。
図1で、受信器30が、上記のような方法で符号化したデータを受信して復号する際には、下記の数学式4を利用する。
(数学式4)
Η・c=0
すなわち、符号化したデータcとパリティ検査行列(parity check matrix)Ηを乗じて0になると、転送エラーがないということを意味し、0にならないと転送エラーが存在するということを意味するので、これによってソースデータを分離することができる。
本発明の技術的思想は、上記特徴を持つパリティ検査行列ΗまたはHのようなデータ構造が記録された、CD−ROM、フロッピー(登録商標)ディスク、コンピュータメモリまたは移動通信用端末機のメモリなどのようなCPUによって読取り可能な記録媒体にも及ぶことができる。
本発明に係るLDPCコードを用いた符号化方法及び符号化のためにコンピュータで読取り可能な記録媒体によれば、LDPCコードによる符号化及び復号化方法の性能を向上させることができ、可変データレートを使用する通信システムにおいても容易に適応できる効果が得られる。
本発明は、本発明の精神及び必須特徴を逸脱しない範囲で他の特定の形態に具体化できることは当業者にとっては自明である。したがって、上記の詳細な説明はあらゆる面において制約的に解釈されてはいけなく、例示的なものとして考慮されるべきである。本発明の範囲は、添付の特許請求の範囲の合理的解釈によって定められなければならず、よって、本発明の等価的な範囲内でのあらゆる変更は、本発明の範囲に含まれる。
本発明の好適な一実施例を説明するための通信システム構成図である。 Η=[H|H]の関係を説明するための例示図である。 二重対角行列であるHの構成図である。 パリティ検査行列Hを用いた符号化過程を実際に具現したエンコーダ(encoder)のブロック構成図である。 本発明によるパリティ検査行列Hの構造を説明するための図である。 本発明の好ましい一実施例によって列重みw+wの部分が複数の第2サブ行列のうちの一つの第2サブ行列に含まれた場合を説明するための図である。 本発明の好ましい一実施例によって列重みw+wの部分が複数の第2サブ行列のそれぞれの一部分である場合を説明するための図である。 パリティ検査行列Ηの任意の3行の中から選択されたあらゆる組み合わせ可能な2行が、同じ地点に1を持つ場合の例を示す図である。 パリティ検査行列Ηの他の表現方法である二部グラフ(bipartite graph)である。 パリティ検査行列Ηの2つの行が2つの地点に同時に1を持つ場合を例示する図である。 本発明の好ましい一実施例においてパリティビットを除去する構造を説明するための図である。 本発明の好ましい一実施例においてパリティビットを除去する構造を説明するための図である。 本発明の好ましい一実施例においてシステマチックビットを減らす場合を説明するための図である。 本発明の好ましい一実施例においてシステマチックビットを減らす場合を説明するための図である。 本発明の好ましい一実施例においてパリティビット及びシステマチックビットを減らす場合を説明するための図である。 パリティ検査行列Hを生成する一過程を説明するための処理流れ図である。 パリティ検査行列Hを生成する一過程を説明するための処理流れ図である。

Claims (21)

  1. 入力データをパリティ検査行列Hを用いて符号化または復号化する方法において、
    前記パリティ検査行列Hは、H=[H|H](Hは(n−k)×k次元であり、Hは(n−k)×(n−k)次元であり、kは入力データのビット数であり、nはコードワードのビット数である)の構成を有し、
    前記Hは、 列重みを有する第1部分とw+w の列重みを有する第2部分とを含み、前記w及びwは0ではなく、前記パリティ検査行列Hが(n−k)/m×(n−k)/m次元を有する複数の第1サブ行列を含む場合に、前記w の列重みを有する第1部分にある前記複数の第1サブ行列の各々の行重み及び列重みは、一定の規則性を有することを特徴とする、低密度パリティ検査(LDPCコードを用いた符号化または復号化方法。
  2. 前記Hが(n−k)×(n−k)/m次元を有する複数の第2サブ行列を含む場合に、前記w +w の列重みを有する第2部分は、前記複数の第2サブ行列のうちの少なくとも1つの第2サブ行列に含まれる請求項1に記載の方法。
  3. 前記Hが(n−k)×(n−k)/m次元を有する複数の第2サブ行列を含む場合に、前記w +w の列重みを有する第2部分は、前記複数の第2サブ行列のそれぞれの一部分を構成する、請求項1に記載の方法。
  4. 記w +w の列重みを有する第2部分は、前記複数の第2サブ行列のうちの前記少なくとも1つの第2サブ行列のつの列に対応するか、前記複数の第2サブ行列のうちの前記少なくとも1つの第2サブ行列の全体列に対応する、請求項2に記載の方法。
  5. 記w +w の列重みを有する第2部分は、前記複数の第2サブ行列のそれぞれの規定された1つの列に対応する、請求項3に記載の方法。
  6. 記w の列重みを有する第1部分にある前記複数の第1サブ行列の各々の行重み及び列重みは、0または1である請求項に記載の方法。
  7. 前記H全体の任意のいずれの2行も少なくとも2つの列に同時に1を有しない請求項1乃至のいずれか1項に記載の方法。
  8. 前記H全体の任意の3行の中から選択されたあらゆる組み合わせ可能な2行が同じ列に1を有する場合が、既に設定された臨界値(Cmax)以下である請求項に記載の方法。
  9. 前記パリティ検査行列H全体の任意のいずれの2行も少なくとも2つの行に同時に1を有しない請求項1乃至のいずれか1項に記載の方法。
  10. 前記パリティ検査行列Ηの任意の3行の中から選択されたあらゆる組み合わせ可能な2行が同じ列に1を有する場合が、既に設定された臨界値(Cmax)以下である請求項に記載の方法。
  11. 前記Hは、二重対角行列である請求項1に記載の方法。
  12. 入力データをパリティ検査行列Hを用いて符号化または復号化する方法において、
    前記パリティ検査行列Hは、H=[H|H](Hは(n−k)×n次元であり、kは入力データのビット数であり、nはコードワードのビット数である)の構成を有し、
    前記パリティ検査行列Hは、w の列重みを有する第1部分とw+w の列重みを有する第2部分とを含み、前記w及びwは0でなく、前記パリティ検査行列Hが(n−k)/m×(n−k)/m次元を有する複数の第1サブ行列を含む場合に、前記w の列重みを有する第1部分にある前記複数の第1サブ行列の各々の行重み及び列重みは、一定の規則性を有することを特徴とする、低密度パリティ検査(LDPCコードを用いた符号化または復号化方法。
  13. 前記パリティ検査行列Hが(n−k)×(n−k)/m次元を有する複数の第2サブ行列を含む場合に、前記w +w の列重みを有する第2部分は、前記複数の第2サブ行列のうちの少なくとも1つの第2サブ行列に含まれる請求項12に記載の方法。
  14. 前記パリティ検査行列Hが(n−k)×(n−k)/m次元を有する複数の第2サブ行列を含む場合に、前記w +w の列重みを有する第2部分は、前記複数の第2サブ行列のそれぞれの一部分を構成する、請求項12に記載の方法。
  15. 記w +w の列重みを有する第2部分は、前記複数の第2サブ行列のうちの前記少なくとも1つの第2サブ行列の規定された1つの列に対応するか、前記複数の第2サブ行列のうちの前記少なくとも1つの第2サブ行列の全体列に対応する、請求項13に記載の方法。
  16. 記w +w の列重みを有する第2部分は、前記複数の第2サブ行列のそれぞれの規定された1つの列に対応する、請求項14に記載の方法。
  17. 記w の列重みを有する第1部分にある前記複数の第1サブ行列の各々の行重み及び列重みは、0または1である請求項12に記載の方法。
  18. 前記H全体の任意のいずれの2行も少なくとも2つの列に同時に1を有しない請求項12乃至17のいずれか1項に記載の方法。
  19. 前記H全体の任意の3行の中から選択されたあらゆる組み合わせ可能な2行が同じ列に1を有する場合が、既に設定された臨界値(Cmax)以下である請求項18に記載の方法。
  20. 前記パリティ検査行列H全体の任意のいずれの2行も少なくとも2つの行に同時に1を有しない請求項12乃至17のいずれか1項に記載の方法。
  21. 前記パリティ検査行列Ηの任意の3行の中から選択されたあらゆる組み合わせ可能な2行が同じ列に1を有する場合が、既に設定された臨界値(Cmax)以下である請求項20に記載の方法。
JP2007525532A 2004-08-09 2005-08-03 低密度パリティ検査行列を用いた符号化及び復号化方法 Expired - Fee Related JP4672016B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20040062575 2004-08-09
KR20040063806 2004-08-13
PCT/KR2005/002527 WO2006016751A2 (en) 2004-08-09 2005-08-03 Method of encoding and decoding using low density parity check matrix

Publications (2)

Publication Number Publication Date
JP2008509623A JP2008509623A (ja) 2008-03-27
JP4672016B2 true JP4672016B2 (ja) 2011-04-20

Family

ID=35839672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007525532A Expired - Fee Related JP4672016B2 (ja) 2004-08-09 2005-08-03 低密度パリティ検査行列を用いた符号化及び復号化方法

Country Status (6)

Country Link
US (1) US7992066B2 (ja)
EP (1) EP1784919A4 (ja)
JP (1) JP4672016B2 (ja)
KR (1) KR101208546B1 (ja)
CN (1) CN101128981B (ja)
WO (1) WO2006016751A2 (ja)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7607065B2 (en) * 2005-07-27 2009-10-20 Agere Systems Inc. Method and apparatus for block and rate independent decoding of LDPC codes
US8196025B2 (en) * 2005-08-03 2012-06-05 Qualcomm Incorporated Turbo LDPC decoding
JP4601675B2 (ja) * 2006-02-09 2010-12-22 富士通株式会社 Ldpc検査行列生成方法及び検査行列生成器並びに符号再送方法
CN101034892B (zh) * 2006-03-06 2011-11-23 西门子(中国)有限公司 生成ldpc码的方法以及采用该ldpc码的装置
US7779331B2 (en) 2006-07-31 2010-08-17 Agere Systems Inc. Systems and methods for tri-column code based error reduction
US7802163B2 (en) 2006-07-31 2010-09-21 Agere Systems Inc. Systems and methods for code based error reduction
US7801200B2 (en) 2006-07-31 2010-09-21 Agere Systems Inc. Systems and methods for code dependency reduction
US7971125B2 (en) 2007-01-08 2011-06-28 Agere Systems Inc. Systems and methods for prioritizing error correction data
KR100996030B1 (ko) * 2007-03-06 2010-11-22 삼성전자주식회사 통신 시스템에서 신호 송수신 장치 및 방법
JP4688841B2 (ja) * 2007-03-20 2011-05-25 日本放送協会 符号化器及び復号器、並びに送信装置及び受信装置
US8418023B2 (en) 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US7930621B2 (en) 2007-06-01 2011-04-19 Agere Systems Inc. Systems and methods for LDPC decoding with post processing
US8196002B2 (en) 2007-06-01 2012-06-05 Agere Systems Inc. Systems and methods for joint LDPC encoding and decoding
US20100185914A1 (en) * 2007-09-28 2010-07-22 Weijun Tan Systems and Methods for Reduced Complexity Data Processing
KR101435681B1 (ko) 2007-11-08 2014-09-02 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서데이터 송수신 장치 및 방법
US8161348B2 (en) 2008-02-05 2012-04-17 Agere Systems Inc. Systems and methods for low cost LDPC decoding
US8245104B2 (en) 2008-05-02 2012-08-14 Lsi Corporation Systems and methods for queue based data detection and decoding
JP5173021B2 (ja) 2008-05-19 2013-03-27 アギア システムズ インコーポレーテッド データ検出器フィードバックループにおいて遅延を軽減するためのシステム及び方法
US8660220B2 (en) 2008-09-05 2014-02-25 Lsi Corporation Reduced frequency data processing using a matched filter set front end
US8245120B2 (en) 2008-09-17 2012-08-14 Lsi Corporation Power reduced queue based data detection and decoding systems and methods for using such
US7990642B2 (en) 2009-04-17 2011-08-02 Lsi Corporation Systems and methods for storage channel testing
US8443267B2 (en) 2009-04-28 2013-05-14 Lsi Corporation Systems and methods for hard decision assisted decoding
US8250434B2 (en) 2009-06-18 2012-08-21 Lsi Corporation Systems and methods for codec usage control during storage pre-read
US8352841B2 (en) 2009-06-24 2013-01-08 Lsi Corporation Systems and methods for out of order Y-sample memory management
US8516352B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US9397699B2 (en) * 2009-07-21 2016-07-19 Ramot At Tel Aviv University Ltd. Compact decoding of punctured codes
US8375278B2 (en) * 2009-07-21 2013-02-12 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8516351B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8458553B2 (en) 2009-07-28 2013-06-04 Lsi Corporation Systems and methods for utilizing circulant parity in a data processing system
US8312343B2 (en) 2009-07-28 2012-11-13 Lsi Corporation Systems and methods for re-using decoding parity in a detector circuit
US8321746B2 (en) 2009-07-30 2012-11-27 Lsi Corporation Systems and methods for quasi-cyclic LDPC code production and decoding
US8250431B2 (en) 2009-07-30 2012-08-21 Lsi Corporation Systems and methods for phase dependent data detection in iterative decoding
US8266505B2 (en) 2009-08-12 2012-09-11 Lsi Corporation Systems and methods for retimed virtual data processing
US8176404B2 (en) 2009-09-09 2012-05-08 Lsi Corporation Systems and methods for stepped data retry in a storage system
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
US8688873B2 (en) 2009-12-31 2014-04-01 Lsi Corporation Systems and methods for monitoring out of order data decoding
US8683306B2 (en) 2010-01-04 2014-03-25 Lsi Corporation Systems and methods for data detection including dynamic scaling
US8578253B2 (en) 2010-01-04 2013-11-05 Lsi Corporation Systems and methods for updating detector parameters in a data processing circuit
US9343082B2 (en) 2010-03-30 2016-05-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for detecting head contact
US9219469B2 (en) 2010-09-21 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for filter constraint estimation
US8508391B1 (en) * 2011-01-19 2013-08-13 Marvell International Ltd Code word formatter of shortened non-binary linear error correction code
US8693120B2 (en) 2011-03-17 2014-04-08 Lsi Corporation Systems and methods for sample averaging in data processing
US8854753B2 (en) 2011-03-17 2014-10-07 Lsi Corporation Systems and methods for auto scaling in a data processing system
US8887034B2 (en) 2011-04-15 2014-11-11 Lsi Corporation Systems and methods for short media defect detection
US8879182B2 (en) 2011-07-19 2014-11-04 Lsi Corporation Storage media inter-track interference cancellation
US8830613B2 (en) 2011-07-19 2014-09-09 Lsi Corporation Storage media inter-track interference cancellation
US8854754B2 (en) 2011-08-19 2014-10-07 Lsi Corporation Systems and methods for local iteration adjustment
US9026572B2 (en) 2011-08-29 2015-05-05 Lsi Corporation Systems and methods for anti-causal noise predictive filtering in a data channel
US8850276B2 (en) 2011-09-22 2014-09-30 Lsi Corporation Systems and methods for efficient data shuffling in a data processing system
US8862960B2 (en) 2011-10-10 2014-10-14 Lsi Corporation Systems and methods for parity shared data encoding
US9203434B1 (en) * 2012-03-09 2015-12-01 Western Digital Technologies, Inc. Systems and methods for improved encoding of data in data storage devices
US9043684B2 (en) * 2012-03-22 2015-05-26 Lsi Corporation Systems and methods for variable redundancy data protection
US8972834B2 (en) 2012-08-28 2015-03-03 Hughes Network Systems, Llc System and method for communicating with low density parity check codes
WO2014069464A1 (ja) * 2012-11-05 2014-05-08 三菱電機株式会社 誤り訂正符号化方法および誤り訂正符号化装置
WO2014145217A1 (en) * 2013-03-15 2014-09-18 Hughes Network Systems, Llc Low density parity check (ldpc) encoding and decoding for small terminal applications
CN105453548B (zh) 2013-08-01 2019-04-16 Lg 电子株式会社 发送广播信号的设备、接收广播信号的设备、发送广播信号的方法以及接收广播信号的方法
US9003257B1 (en) * 2013-09-19 2015-04-07 U-Blox Ag Low density parity check encoder and encoding method
US9804925B1 (en) * 2014-02-25 2017-10-31 Google Inc. Data reconstruction in distributed storage systems
US10176040B2 (en) * 2016-04-05 2019-01-08 Micron Technology, Inc. Error correction code (ECC) operations in memory
EP3264610A1 (en) * 2016-06-27 2018-01-03 Alcatel Lucent Forward error correction with variable coding rate
JP6798004B2 (ja) 2016-07-20 2020-12-09 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Ldpc符号の符号化および復号化のための方法およびシステム
CN111277354B (zh) * 2018-12-04 2023-03-10 华为技术有限公司 低密度奇偶校验ldpc码的编译码方法、相关装置
TWI712269B (zh) * 2020-05-06 2020-12-01 國立交通大學 以低密度奇偶校驗碼作為錯誤更正碼的資料解碼及其傳輸方法

Family Cites Families (8)

* 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
US7000168B2 (en) * 2001-06-06 2006-02-14 Seagate Technology Llc Method and coding apparatus using low density parity check codes for data storage or data transmission
JP3808769B2 (ja) * 2001-12-27 2006-08-16 三菱電機株式会社 Ldpc符号用検査行列生成方法
JP3893383B2 (ja) * 2002-02-28 2007-03-14 三菱電機株式会社 Ldpc符号用検査行列生成方法および検査行列生成装置
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
KR100996029B1 (ko) * 2003-04-29 2010-11-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
US7165205B2 (en) 2004-05-14 2007-01-16 Motorola, Inc. Method and apparatus for encoding and decoding data

Also Published As

Publication number Publication date
EP1784919A4 (en) 2011-08-10
US20090164863A1 (en) 2009-06-25
CN101128981A (zh) 2008-02-20
WO2006016751A3 (en) 2007-10-18
WO2006016751A2 (en) 2006-02-16
KR20070058480A (ko) 2007-06-08
EP1784919A2 (en) 2007-05-16
CN101128981B (zh) 2013-03-20
US7992066B2 (en) 2011-08-02
JP2008509623A (ja) 2008-03-27
KR101208546B1 (ko) 2012-12-05

Similar Documents

Publication Publication Date Title
JP4672016B2 (ja) 低密度パリティ検査行列を用いた符号化及び復号化方法
JP4820368B2 (ja) Ldpcコードを用いた符号化及び復号化方法
JP4672015B2 (ja) 低密度パリティ検査コードを用いた符号化及び復号化方法
JP2008503975A (ja) Ldpcコードを用いた可変コードレート適応符号化及び復号化方法
KR102347823B1 (ko) 구조화된 ldpc의 부호화 및 복호화 방법 및 장치
JP4822452B2 (ja) Ldpcコードを用いた符号化または復号化方法及びその装置
WO2010041466A1 (ja) 符号化器、送信装置及び符号化方法
JP2010528522A (ja) 可変符号化率を有するldpc符号生成方法、装置及びその情報記録媒体
US8145986B2 (en) Multi-CSI (Cyclic Shifted Identity) sub-matrix based LDPC (Low Density Parity Check) codes
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
JP2019525638A (ja) 2のべき乗でない長さに拡張されたポーラ符号の符号化および復号化
US20100050045A1 (en) Method of generating a parity check matrix for ldpc encoding and decoding
JP5696068B2 (ja) 符号化装置及び通信装置
CN105871385A (zh) 一种ldpc卷积码构造方法
KR101073907B1 (ko) Ldpc 코드를 이용한 부호화 방법 및 부호화를 위한컴퓨터로 읽을 수 있는 기록 매체
KR101405961B1 (ko) Ldpc 코드를 이용한 부호화/복호화 방법
KR20060013197A (ko) Ldpc 코드를 이용한 부호화 방법 및 부호화를 위한컴퓨터로 읽을 수 있는 기록 매체
EP1800406A2 (en) Method of encoding and decoding using ldpc code and apparatus thereof
KR101435831B1 (ko) 패리티 검사 행렬 생성 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101007

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101209

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

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

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

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