JP4651990B2 - 有限幾何学コードの受信ワードを復号化する方法 - Google Patents

有限幾何学コードの受信ワードを復号化する方法 Download PDF

Info

Publication number
JP4651990B2
JP4651990B2 JP2004234692A JP2004234692A JP4651990B2 JP 4651990 B2 JP4651990 B2 JP 4651990B2 JP 2004234692 A JP2004234692 A JP 2004234692A JP 2004234692 A JP2004234692 A JP 2004234692A JP 4651990 B2 JP4651990 B2 JP 4651990B2
Authority
JP
Japan
Prior art keywords
parity check
value
code
decoder
vote
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
JP2004234692A
Other languages
English (en)
Other versions
JP2005065284A (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.)
Mitsubishi Electric Research Laboratories Inc
Original Assignee
Mitsubishi Electric Research Laboratories 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 Mitsubishi Electric Research Laboratories Inc filed Critical Mitsubishi Electric Research Laboratories Inc
Publication of JP2005065284A publication Critical patent/JP2005065284A/ja
Application granted granted Critical
Publication of JP4651990B2 publication Critical patent/JP4651990B2/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/13Linear codes
    • H03M13/136Reed-Muller [RM] 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/13Linear codes
    • H03M13/134Non-binary linear block codes not provided for otherwise
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding

Landscapes

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

Description

本発明は、包括的にデータ記憶およびデータ伝送の誤り訂正コードの分野に関し、特に、有限幾何学に基づいた誤り訂正コードのクラスを復号化する方法に関する。
データの記憶および通信の分野における基本的な問題は、誤り訂正コード(ECC)を実際に復号化する方法の開発である。Blahut著「Algebraic Codes for Data Transmission」Cambridge University Press: Cambridge, 2003およびMacWilliams等著「The Theory of Error-Correcting Codes」North-Holland: New York, NY, 1977を参照願いたい。
2元線形ブロック誤り訂正コード
本明細書における「コード」への言及は、いずれも、2元線形ブロック誤り訂正コードを特に意味する。こういったコードの裏にある基本的な概念は、Nビットのブロックを使用してk個の情報ビットのメッセージを符号化するというものである。但し、N>kである。さらにN−kビットが、破損したメッセージの復号化および訂正に使用される。Nビットのブロックは、コードワードまたは単に「ワード」と呼ばれることもある。
破損は、記憶媒体の障害または伝送チャネルでの雑音を原因として発生する可能性がある。本明細書では、伝送路は、2元対称通信路(BSC)としてモデリングすることができるものと仮定する。2元対称通信路では、各ビットは、ある確率pで独立して反転し得る。
コードCは、ブロック長Nを有する可能な2個の「コードワード」ブロックの集合により定義される。kは、コードの「次元」と呼ばれることがある。コードの「レート」Rは、R=k/Nにより定義される。コードは、通常、Nおよびkが大きい場合にはるかに有効である。しかし、パラメータNおよびkのサイズが増大するにつれ、破損したメッセージを復号化する難しさも増大する。
2つのワード間のハミング距離は、2つのワードで異なるビットの数として定義される。コードの距離dは、コード中のすべてのコードワード対の間での最小ハミング距離として定義される。dの値が大きいコードほど、高い誤り訂正能力を有する。パラメータNおよびkを有するコードは(N,k)コードと呼ばれる。距離dもわかっている場合、コードは(N,k,d)コードと呼ばれる。
2元線形ブロック誤り訂正コードのクラスには、多種多様なサブクラスコードが含まれる。こういったサブクラスの中で最も知られているもののいくつかには、低密度パリティチェック(LDPC)コード、Bose,Chaudhuri,およびHocquenghen(BHC)コード、およびReed−Mullerコード等、有限幾何学に基づいたコードがある。
Reed−Mullerコードおよび有限幾何学に基づいた他のコード
誤り訂正コードの1つの重要なクラスは、"A Class of Multiple-Error-Correcting Codes and the Decoding Scheme" IRE Trans. Inform. Theory, vol.4, pp.38-49, Sept. 1954においてReed他により記載され、また"Application of Boolean Algebra to Switching Circuit Design to Error Detection" IRE Trans. Electron. Comput., vol3, pp.6-12, Jan. 1954においてMullerにより記載されたReed−Mullerコードである。
有限幾何学に基づいた他の多重誤り訂正コード、本明細書では「有限幾何学コード」は、1960年代および1970年代に開発された。概要については、Lin他"Error Control Coding: Fundamentals and Applications" Prentice Hall: Englewood Cliffs, NJ, 1983の第8章を参照願いたい。
有限幾何学コードは、Reed−Mullerコードの一般化と考えることができる。Reed−Mullerコードクラスは、有限幾何学コードクラスの部分集合であるユークリッド幾何学コードクラスの部分集合である。
有限幾何学コードのパラメータN、k、およびdを求めることが可能である。このようなコードの距離は、同等のBCH(Bose、Chaudhuri、およびHocquenghen)コードの距離よりもいくらか悪い。BCHの説明については、先に触れた誤り訂正コードについての参考書のいずれかを参照願いたい。一方、有限幾何学コードの相対的な利点は、それらの復号器がBCHコードの復号器よりもはるかに単純に実施されることである。
多数決論理復号器、限界距離復号器、および最尤復号器
これまで、Reed−Mullerコードおよび他の有限幾何学コードは一般に、「多数決論理復号化」として既知の復号化方法によって復号化されてきた。多数決論理復号化は、実施が単純であり、極めて高速である。多数決論理復号化の説明については、Blahut著「Algebraic Codes for Data Transmission」Cambridge University Press: Cambridge, 2003の第13章を参照願いたい。
多数決論理復号器は、「限界距離復号器」の一例である。代数的方法に基づいたBCHコードの標準的な従来技術による復号器もまた、限界距離復号器である。
限界距離復号器は、受け取ったいずれのワードも、最近傍コードワードまでのハミング距離が限界距離復号化半径t以下である限り、最も近いコードワードに復号化する。但し、tは、下式で表される。
Figure 0004651990
ここで、xのフロア関数は、下式で表される。
Figure 0004651990
このフロア関数は、xの小数部分が減算されることを示す。ワードの距離t以下内には、最大で1個のコードワードがあることができる。したがって、限界距離復号器は、チャネルがt以下のビット反転を導入した場合、受信ワードを送信コードワードに首尾良く復号化する。逆に、限界距離復号器は、受信ワードが、いずれのコードワードからも復号化半径tよりも大きい距離を有する場合、復号に失敗する。チャネルがt以上のビット反転を導入する場合、限界距離復号器は、送信コードワードを正しく復号化することができない。
限界距離復号器の誤り訂正性能は、通常、最適な「最尤」復号器の性能よりもはるかに悪い。最尤復号器は、受信ワードから最近傍コードワードまでのハミング距離が何であれ、受信ワードをいずれも最近傍コードワードに復号化する。不都合なことに、真の最尤復号器の複雑性は、情報ビット数kに伴って指数的に増大し、適度に多数の情報ビットを有するコードに対しては実用的ではない。
最適には達しないが、限界距離復号器よりもはるかに良好に機能する実用的な復号器を提供することが望ましい。このような復号器は、いずれのコードワードからもtよりも長い距離にある受信ワードを、すべてではないが、その多くを正しく復号化することが可能であるべきである。
本発明の目的は、Reed−Mullerコードおよび有限幾何学に基づいた他のコードに向けてこのような復号器を提供することである。このような復号器は、従来技術による多数決論理復号化方法よりも性能が大幅に優れている。
ビット反転復号器
ビット反転復号器は、低密度パリティチェック(LDPC)コードに関して説明されている。Gallager著「Low Density Parity Check Code」MIT Press, 1963を参照願いたい。Gallagerにより初めから説明されているように、こういった復号器は、パリティチェック行列によりLDPCコードを表す。このような復号器は、復号化すべき受信ワードの現在の状態を要素のリストとして格納する。各要素が受信ワードの1ビットを表す。各要素は、0または1の値をとることができる。要素のリストは、チャネル通過後に受け取られるビットに整合するように初期化される。Gallagerのビット反転復号化方法での各反復において、リスト中のあらゆる要素がテストされ、反転すべきか否かが調べられる。そのビットを含む十分な数のパリティチェックにより、要素が誤った値を有することが示される場合、要素は反転される。復号器は、引き続き繰り返され、要素のビット反転は、その他の要素の最新の更新値に基づいて判断される。ビット反転手順が終了すると、要素の値が復号化されたワードのビット値として採用される。
同様のトライステートビット反転復号化方法が、LDPCコード復号化の文脈の中で、Richardson著書「The Capacity of Low-Density Parity-Check Codes Under Message-Passing Decoding」IEEE Trans. Information Theory, vol.47, num. 2, pp.599-619, Feb. 2001およびMitzenmacher著「A Note on Low Density Parity Check Codes for Erasures and Errors」SRC Technical Note 1998-017, December 1998により述べられている。トライステートビット反転復号器では、復号化中のワードの要素は、0、1、または?の値を有することができ、ここで「?」値は、要素の正確な状態が不確定であることを示す。
ビット反転復号化方法を使用して、LDPCコードではなく、クラスのまったく異なるコード、すなわち有限幾何学に基づいたコードを復号化することが望ましい。
LDPCコードのビット反転復号器は、限界距離復号器ではない。有限幾何学に基づいたコードとは対照的に、通常、所与のLDPCコードの場合に距離dでさえ計算することは非現実的である。ビット反転復号器は、限界距離復号器ではないということは、t以下のビット反転によってのみ破損した場合であっても、受信ワードを復号化することができる保証がないことを意味する。
一方、ビット反転復号器は、tよりも多いビット反転により破損したワードを復号化することが潜在的に可能であるという利点を有する。ビット反転復号器は、これまで、LDPCコード以外の2元ブロックコードには使用されてこなかった。主な理由は、これまで、ビット反転復号器は、LDPCコード以外には不適当であると考えられていたことである。
Reed−Mullerコードは、1954年に端を発し、LDPCコードのビット反転復号器は、1960年代初めに端を発するが、これまで誰も、Reed−Mullerコードまたは他の有限幾何学コードにビット反転復号器を使用する方法を考案していない。このことに対して考えられる説明は、ビット反転復号器が良好に機能するためには、有限幾何学的コードを非明確な方法で表さなければならないことである。
コードのパリティチェック行列表現
2元ブロックコードは、任意の2つのコードワードの排他的論理和もまたコードワードである場合に「線形」である。たとえば、1110100と0111010の排他的論理和は1001110である。パリティチェック行列は、線形コードを表すことができる。実際、多くの異なるパリティチェック行列が線形コードを表すことができる。
(N,k)コードを表すパリティチェック行列は、M行およびN列を有する1と0の行列により定義される。パリティチェック行列のN列は、Nビットコードに対応する。
パリティチェック行列の各行は、パリティチェックの制約を表す。特定の行により表される制約に関わるビットは、その行において1を有する列に対応する。パリティチェック制約は、排他的論理和演算したときに、ビットの和を偶数、すなわち0になるように強制する。たとえば、下式(1)のパリティチェック行列は、3つの制約(2)〜(4)を表している。
Figure 0004651990
但し、要素xは、0または1であることができるi番目のビットの値を表し、+を○で囲った記号は、排他的論理和演算を表す。このパリティチェック行列は、既知のハミング(N=7,k=4,d=3)コードを表す一方法である。
パリティチェック行列によって表されるM個の異なる制約のいくつかは、線形従属する。式(1)に与えたパリティチェック行列では、制約は、すべて線形独立する。同じコードの別表現は、下式(5)のパリティチェック行列となる。
Figure 0004651990
このパリティ行列では、最後の4行が、最初の3行の組合せをともに加算することによって得られる。これは、最後の4行は、単に冗長制約であり、実際には3つの線形独立行しかないことを意味する。たとえば、4行目は、最初の2つの行をともに加算することによって得ることができる。
行列の線形独立行の数は、行列の「ランク」と呼ばれることもある。したがって、この行列は、ランク3を有する。一般に、(N,k)コードのM×Nパリティチェック行列表現のランクはN−kである。
有限幾何学
他の2元線形ブロックコードのように、有限幾何学コードもパリティチェック行列で表すことができる。特に注目するのは、「ユークリッド幾何学」として既知の有限幾何学に基づいたコードである。他のコードは、「射影幾何学」として既知の有限幾何学に基づくものである。いくらかの詳細は異なるが、原理は同じである。さらに詳しくは、Lin著書「Error Control Coding: Fundamentals and Applications」Prentice Hall: Englewood Cliffs, NJ, 1983の第8章を参照願いたい。
有限幾何学は、通常の幾何学の点、線、平面、および超平面に類似する有限数の物体を含む数学的構造である。有限幾何学は、「0フラット(0-flat)」と呼ばれる有限数の点を有する。これらの点の特定の集合は、「線」または「1フラット」と呼ばれる。線の他の集合は、「平面」または「2フラット」と呼ばれる。平面の集合は、「3フラット」と呼ばれ、3フラットの集合は、「4フラット」と呼ばれ、以下同様である。一般に、集合は、「μフラット」と呼ばれる。これらは、有限幾何学の文献の中で既知の定義である。
ユークリッド幾何学EG(m,q)は、2つのパラメータmおよびqにより特徴付けられる。EG(m,q)中の「点」または「0フラット」は、m個の異なるq元の要素のベクトルである。たとえば、q=2かつm=3の場合、EG(m=3,q=2)の点は、3ビットからなるベクトルである。したがって、EG(m=3,q=2)の8個の点は、000、001、010、011、100、101、110、および111である。
EG(m,q)の点は、複数の異なる方法でラベリングすることができる。EG(m=3,q=2)の例では、1つの自然なラベリングは000=0、001=1、010=2、011=3、100=4、101=5、110=6、111=7である。
q元の要素は、ガロア体GF(q)の規則に従って、ともに加算または乗算すべきである。ガロア体の説明については、上で引用したものを含め、誤り訂正コードについての任意の参考書を参照願いたい。q=2の場合、ガロア体の規則は特に単純である。GF(q=2)の場合、加算規則は、0+0=0、0+1=1+0=1、および1+1=0であり、乗算規則は、0*0=0*1=1*0=0、および1*1=1である。
有限ユークリッド幾何学での線は、通常の幾何学において線が定義されるのとほぼ同じように定義される。EG(m,q)での線は、点の集合{α+βα}である。但し、αおよびαは、EG(m,q)中の異なる点であり、βは、0を除くq元要素すべてにわたり、加算および乗算は、GF(q)の算術規則を使用して定義される。一例として、ユークリッド幾何学EG(m=3,q=2)の場合、α=010かつα=111の場合、対応する線は{010,101}であることを見て取ることができる。あらゆるポイント対がユークリッド幾何学EG(m=3,q=2)における線を形成する。
より高次のμフラットも同様にして定義される。たとえば、平面(2フラット)は、点の集合{α+βα+βα}として定義される。但し、α、α、およびαは、EG(m,q)における線形独立点であり、β1およびβ2は、非ゼロのq元要素すべてにわたる。たとえば、α=001、α=010、かつα=100の場合、対応する平面は、{001,011,101,111}である。上でEG(m=3,q=2)の場合に選択されたポイントのラベリングを用いると、この平面は、点{1,3,5,7}を有する。
ユークリッド幾何学に基づいたコードを定義する際、すべてゼロの点を含まないすべてのμフラットに焦点が合わせられる。EG(m=3,q=2)を使用する例では、すべてゼロの点は、000=0であり、すべてゼロの点を含まない平面は、{1,2,4,7}、{1,2,5,6}、{1,3,4,6}、{1,3,5,7}、{2,3,4,5}、{2,3,6,7}、および{4,5,6,7}である。但し、ラベルは、点に定義されたものである。
総計でn個の物体の集まり、およびこれら物体の集合の場合、物体に対する集合の「発生ベクトル」を定義することができる。これは、位置iにある1が、i番目の物体が集合中に存在することを示すn個の0および1のベクトルである。たとえば、ラベル1〜7を有する7つの物体があり、集合{1,2,5,6}を考える場合、番号1〜7に対する集合{1,2,5,6}の発生ベクトルは1100110である。
EG(m=3,q=2)を用いる例では、n個の物体が7個の非ゼロ点である場合、非ゼロ点に対する、すべてゼロの点を含まない平面の発生ベクトルは、1101001、1100110、1011010、1010101、0111100、0110011、および0001111である。
有限幾何学に基づいたコード
ユークリッド幾何学EG(m,s,v)コードは、行が、非ゼロ点に対する、すべてゼロの点を含まないEG(m,2)でのすべての(v+1)フラットの発生ベクトルであるパリティチェック行列で定義することができる。たとえば、EG(m=3,s=1,v=1)コードは、下式のパリティチェック行列により定義することができる。
Figure 0004651990
このようにして定義されるユークリッド幾何学コードのパリティチェック行列が冗長行を含むことに留意することは重要である。たとえば、上のEG(m=3,s=1,v=1)コードのパリティチェック行列に7つの行があっても、その行の3つのみが線形独立であり、実際には、コードは、例として先に使用した(n=7,k=4,d=3)ハミングコードと同等である。
点を適宜再ラベリングすると、ユークリッド幾何学に基づくコードは循環形で定義することができる。たとえば、ラベリング010=1、100=2、011=3、001=4、101=5、110=6、111=7が使用される場合、パリティチェック行列は、循環形を有し、循環対称をより明確にした下式と定義される。
Figure 0004651990
先に触れたように、Reed−Mullerコードは、ユークリッド幾何学に基づいたコードの特殊な場合と考えることができる。より明確には、Reed−Mullerコードは、s=1を有するユークリッド幾何学コードである。
他の有限幾何学に基づいたコードも同様に定義される。有限幾何学の点に対して、高次のμフラットの発生ベクトルを使用して、コードのパリティチェック行列を定義する。
上に述べたように、有限幾何学コードに最も一般的に使用される従来技術による復号器は、限界距離復号器である多数決論理復号器である。
有限幾何学コードの多数決論理復号器よりも性能の優れた実用的な復号化方法を提供することが望まれる。
本発明は(N,k)有限幾何学コードを復号化する方法を提供する。但し、Nは、コードのブロック長であり、kは、コードの次元である。
初期化中、コードは、まず、ランクN−kの、M行およびN列を有するパリティチェック行列により表される。通常、パリティチェック行列はかなり冗長的である。
次に、復号器がワードを受け取ることができる。本発明の目的としては、復号器が受け取るワードは、0と1のNビットブロックである。
初期化手順は、受信ワードをNビットチャネルレジスタxchannelに格納する。
受信ワードは、アクティブレジスタxactiveにも格納される。レジスタxactiveは、各要素が値「0」、「1」、または「?」を有するNトライステート要素も格納する。但し、「?」は、復号器が正しい値について不確定であることを示す。
最後に、初期化手順は、2つのしきい値bflipおよびbuncertainの初期値を設定する。
次に、復号器が反復復号化サイクルを開始する。
復号化サイクルの最初のステップにおいて、終了条件をチェックする。終了条件は、レジスタxactiveの現在状態がコードワードであることか、あるいは所定数の復号化サイクルが実行された等、他のある条件が満たされることである。
終了条件が満たされた場合、復号器は、レジスタxactiveの内容を出力する。
その他の場合、復号化サイクルの2番目のステップにおいて、レジスタxactiveの内容を使用して、パリティチェックが要素に送る、更新された「票」を決定する。
復号化サイクルの3番目のステップにおいて、パリティチェックが要素に送った票を使用して、レジスタxactiveの新しい状態を決定する。各配列に値を「0」または「1」に設定するように指示するチェックの数がしきい値bflipおよびbuncertainと比較され、レジスタxactive中の各要素の状態を決定する。
復号化サイクルの4番目のステップにおいて、しきい値bflipおよびbuncertainが、所定のスケジュールに従って更新される。
次に、復号化サイクルは、終了条件のチェックに戻り、終了条件が満たされるまでサイクルが繰り返される。
終了条件が満たされた後に、復号器がコードワードの出力に失敗した場合、プロセスを任意の回数繰り返すことができ、その都度、パリティチェック行列におけるパリティチェック数が実質的に増大する。
コードのパリティチェック行列表現の定義
図1および図2は、本発明による有限幾何学に基づいた誤り訂正コードを復号化する方法のステップを示す。コードは、ブロック長Nおよび次元kを有する。コードは、当分野において既知のように、所与の数の点Nおよび所与の数のμフラットを有する有限幾何学に基づく。
図1は、一度限りの初期化手順100を示し、図2は、反復復号化手順200のステップを示す。
初期化
より厳密には、M行が有限幾何学中の点に対する有限幾何学中のμフラットの部分集合の発生ベクトルである復号化パリティチェック行列(Hdecode)111によりコード101を定義する。
有限幾何学中のμフラットの部分集合を選択し、有限幾何学の点に対するそれぞれの発生ベクトルを本発明のパリティチェック行列111の行として使用することにより、M×Nパリティチェック行列を定義する。このパリティチェック行列をHdecodeと呼ぶ。
パリティチェック行列HdecodeのランクがN−kである限り、μフラットのいずれの部分集合も選択することができる。復号器のパフォーマンスは、より大きな数のμフラットを選択した場合に向上する。しかし、μフラットの数Mが大きいと、復号器の複雑性も増大する。通常、μフラットの数は、復号器が良好に機能するためにN−kよりも実質的に大きい。
(N,k)LDPCコードの通常のパリティチェック行列表現では、パリティチェックの数、すなわち行列中の行は、ちょうどN−kであるか、あるいはN−kに非常に近い。ビット反転復号器は、各パリティチェックが比較的信頼できる情報を送ることから、比較的少ない数のパリティチェックを使用してさえもLDPCコードと適度に良好に機能する。LDPCコードにおけるパリティチェックは、ビットの殆どが誤っている可能性は低いため、少ない数のビットのみが関わり、これにより比較的信頼性が高くなっている。
有限幾何学コードのパリティチェックは、有限幾何学コードの各パリティチェックに、同等のLDPCコードにおけるパリティチェックよりもいくらか多い数のビットが関わる傾向があるため、LDPCコードのパリティチェックよりもいくらか信頼性が劣る傾向がある。このため、有限幾何学コードに使用されるパリティチェックの数がN−kよりも実質的に大きいことが非常に重要である。
幸いにも、通常、N−kよりも多くのしかるべきμフラットがあるため、有限幾何学コードにN−kよりも多くのパリティチェックを選択することが可能である。実際、多くのμフラットがあるため、考えられるμフラットのごくわずかのみを選択する場合でもなお十分な数を有する場合が多い。
有限幾何学では、各μフラットは、同じ数の点Jを含むため、本発明のパリティチェック行列のM行は、それぞれJ個の1およびN−J個の0を有する。EG(m,q)ユークリッド幾何学の場合、各μフラットはJ=q個の点を含む。
互いの循環シフトとして得ることができるμフラットを使用することが好ましい。この場合、パリティチェック行列の各列は、同数の1を有する。
便宜上、Hdecodeよりも少ない数の行を有する、同じコード101を表す終了パリティチェック行列(Hterminate)112を使用することが好ましい。この第2のパリティチェック行列Hterminateは、部分的に、復号化サイクル中に終了条件が満たされたか否かをチェックする210ために使用される。行列Hterminateは、ランクN−kを有し、N−kのみの行を有する。
コードのパリティチェック行列111〜112表現および受信ワード102が与えられると、受信ワードをNビットレジスタxchannel121に格納する120。復号化サイクルのあらゆる繰り返しにおいて、復号器は、パリティチェックの票をチャネルの証拠と比較して判断を行うため、受信ワードが格納される。
受信ワードを第2のN要素レジスタxactive131にも格納する130。レジスタxactiveは、コードのNビットそれぞれの値に対して復号器の状態を表す。レジスタxactiveの各要素は、3つの値:「0」、「1」、または「?」のうちの1つをとることができる。「?」値は、復号器が対応する要素の正しい値について不確定であることを示す。
2つのしきい値bflipおよびbuncertainを正の整数に設定する140。しきい値は、bflip≧buncertainであるように設定される。通常、しきい値は、両方とも、パリティチェック行列111の列中の1の数のオーダの大きな整数に設定される。
しきい値bflipは、通常、しきい値buncertainよりも実質的に大きく設定される。たとえば、パリティチェック行列111の列中の1の数がKである場合、しきい値に良好な初期設定は、bflip≒K、およびbuncertain≒9K/10である。要素の不確定状態を更新規則240に使用するために、2つのしきい値の間に差がある必要がある。
復号化
復号器200は、復号化サイクルの最初のステップ210において終了条件が満たされるまで、ステップを繰り返し循環する201。終了条件が満たされると、復号器は、送信コードワード209の推測としてレジスタxactive131の内容を出力する135。
終了条件
復号化サイクルの最初のステップ210は、任意の終了条件が満たされているか否かをチェックすることである。複数の終了条件を使用することができる。1つの終了条件は、レジスタxactiveの状態がコードワードに対応するか否かをチェックする。これが真であるためには、xactiveのいずれの要素も値「?」を有さず、かつパリティチェック行列Htermination112中のすべてのパリティチェックが満足される。レジスタxactiveがコードワードを含む場合、復号器は終了し、コードワード209を出力する135。
別の終了条件は、復号器が復号化サイクルを永遠に循環しないことを確実にするものである。これが発生しないことを確実にすることが可能な様々な条件がある。最も単純な可能性は、固定最大数サイクルがすでに実行されたか、または固定量の時間が経過したか否かをチェックする終了条件である。終了条件に達し、レジスタxactiveがコードワードに対応しない場合、復号器は明らかに、受信ワードの完全な復号化に失敗している。個々のビットの多くは正しい可能性が高いため、復号器はなおレジスタxactiveの内容を出力する。さらに、プロセス全体を、図3に示すように、より大きなパリティチェック行列に対して再開することができる。
したがって、図3に示すように、終了条件が満たされた後に、復号器がコードワードの出力に失敗する場合、プロセスを複数回繰り返すことができ、その都度、パリティチェック行列111中のパリティチェックの数が実質的に増大する300。このような手順により、必要なときにより多くのパリティチェックを使用することにより、より困難な受信ワードをなお復号化しながら、比較的少ない数の計算を使用して受信ワードの大半を復号化することができる。
このような再開手順の使用に対する制約は、コードの表現に利用可能なμフラットの数および復号化に利用可能な時間である。
パリティチェック票
終了条件が満たされていないと仮定すると、復号化サイクルの次のステップ220が、行列111中のパリティチェックが以下述べる票規則219に従って要素に送る「票」を評価する220。
M個のパリティチェックがある。各パリティチェックaは、パリティチェック行列Hdecodeの行に対応する。各パリティチェック毎に、パリティチェックは、票をJ個の要素に送る。このような要素は、それぞれ、行a中の値1を有するパリティチェック行列の列に対応する。
ここで、パリティチェックが要素iに票を送る場合、要素がパリティチェックに「属する」と言う。総計でMJ個の票がある。
パリティチェックaから要素iへの各票は可能な3つの値:「0」、「1」、または棄権をとることができる。「0」票は、要素が値「0」をとるパリティチェック票を意味し、「1」票は、要素が値1をとるパリティチェック票を意味し、「?」票は棄権である。すなわち、要素の値は不確定であるため、パリティチェックは、要素の値に基づいて投票しない。
パリティチェックaは、以下の規則219に基づいて要素iに票を送る。
iを除き、現在aに属するJ−1個の要素がいずれも、レジスタxactiveにおいて「?」状態にある場合、票は棄権である。その他の場合、その他の奇数のJ−1要素が状態「1」にある場合、票は「1」である。偶数のその他のJ−1要素が状態「0」にある場合、票は「0」である。
規則219のポイントは、各パリティチェックが、偶数の関連要素が状態「1」にあることを確実にしようとすることである。
要素の更新
パリティチェックから要素へのMJ個の票すべてが計算された後、xactive131に格納されるN要素の値が更新される230。
要素を更新する前に、パリティチェック票からの各要素への「推奨」およびに推奨の「強さ」を求める。各要素iについて、要素が「1」であると投票するパリティチェックの数が、要素が「0」であると投票するパリティチェックの数と比較される。
大半の票が受ける値(「1」または「0」)は、パリティチェックの推奨とみなされ、票間の差の大きさは推奨の強さとみなされる。
たとえば、8個のパリティチェックが、第3の要素が値「0」を有すると投票し、6個のパリティチェックが、要素が値「1」を有すると投票した場合、第3の要素に対するパリティチェックの「推奨」は「0」であり、強さは8−6=2である。要素に対して票が引き分ける場合、その要素はパリティチェックからの推奨を有さない。
以下の更新規則229に従ってxactive中の各要素の値を更新する。
N個の要素それぞれについて、パリティチェックの推奨がxchannel121中の対応する要素の値と一致する場合、または推奨がない場合、xactive131の更新値は、xchannel121中の対応する要素の値に等しい。要素に対するパリティチェックの推奨がxchannel中の対応する要素の値と一致しない場合、3つの可能性がある。推奨の強さがしきい値buncertain未満の場合、要素の値は、xchannel中の対応する要素の値に等しく設定される。推奨の強さがbuncertain以上であるが、しきい値bflip未満の場合、要素の値は、「?」に設定される。最後に、推奨の強さがしきい値bflip以上の場合、要素の値は、パリティチェックの推奨に等しく設定される。
本発明の規則の裏にある基本的な概念は、十分な数のパリティチェックが値の「反転」に投票しない限り、復号器が各要素を受信ワード中の対応するビットに整合させることである。中間数のパリティチェックが反転に投票する場合、要素は、不確定値「?」に設定される。上に述べたように、要素が使用すべき不確定値には、しきい値bflipおよびしきい値buncertainの間に差がある。しきい値間の差が大きいほど、不確定値が使用される頻度が高くなる。
しきい値の更新
復号化サイクルの次のステップでは、しきい値bflipおよびbuncertainが、所定のスケジュール239に従って更新される240。経験的には、最良のスケジュールは、2つのしきい値141〜142を、値間に固定差を有する大きな正の値に初期化し、それから、しきい値が0の値に達するまで、復号化サイクルの各反復において、両方のしきい値を同量低減し、0の値に達した後は0のままである。
このような復号化スケジュールの裏にある概念は、まず、復号器は、xchannel121に格納されている受信ワードの証拠を最も強く考慮する。しきい値が低減するにつれて、パリティチェックの票の影響力が増す。
パリティチェックの初期の作用は、単に要素を不確定位置に設定するだけである。最終的に、この種のスケジュールを使用して、パリティチェックはより強度を増し、受信ワードにより与えられた値から要素の値を反転する。したがって、復号器は、受信ワードにおいて与えられたビットの値を許容してそれに従おうとし、必要なときにのみ大きな変更を行うという点で「保守的」であると特徴付けることができる。
しきい値が更新された240後、別の復号化サイクル201が開始される。復号器は、最終的に、終了条件が満たされたときに終了する。
発明の効果
本発明は、tよりも多いビット反転により破損した受信ワードを復号化することが可能である。但し、tは限界距離復号化半径である。実験は、本発明の復号器が実際に、このような多くの受信ワードを復号化することが可能であることを示した。
たとえば、本発明の復号器を(N=255,k=127,d=21)、EG(m=4,s=2,v=1)コードに対して実施した。関連するユークリッド幾何学EG(m=4,q=4)は、255個の非ゼロ点、およびゼロ点を含まずそれぞれ16個の点を含む5355個の2フラットを有する。5355行および255列を有する、コードを表すパリティチェック行列を構築する。
このコードの限界距離復号化半径はt=10であり、これは、受信ワードが10ビットよりも多くの反転を有する場合、従来技術による多数決論理復号器が復号化に失敗することを意味する。本発明の復号器は、かなりの頻度で、このような受信ワードの首尾良い復号化に成功した。たとえば、16ビット反転を有する送信ワードを破損した場合、本発明では、およそ0.00001のみのワード復号化誤り率を有する。18ビット反転を有する送信ワードを破損した場合、ワード復号化誤り率はおよそ0.00015のみである。20ビット反転を有する送信ワードを破損した場合、ワード復号化誤り率はおよそ0.0008のみである。22ビット反転を有する送信ワードを破損した場合、ワード復号化誤り率はおよそ0.004である。
これらパフォーマンス結果は、本発明の復号器が、限界距離復号器を使用する同等のBCHコードよりも性能が優れていることを示している。たとえば、同等のBCHコードのパラメータは、(N=255,k=123,d=39)である。このコードは、本発明のコードよりもわずかに悪い誤り率を有し、限界距離復号化半径は19のみである。
BCHコード用の従来技術による代数限界距離復号器が使用される場合、受信ワードが19よりも多いビット反転を有するときの復号器の失敗率は、100%である。驚くべきことに、受信ワードが22ビット反転も有するときの本発明の復号器の失敗率は、たった0.004%である。これらは驚くべき結果である。
これら予想せぬ結果は、このブロック長およびレートのコードに対して、BCHコード用の代数限界距離復号器に報告されている最良のパフォーマンスは、これまで、2元対称通信路での復号化に与えられてきたため、有意である。
(N=511,k=256,d=31)Reed−Mullerコードを含め、有限幾何学に基づいた他のコードに対しても同様の実験結果を得ている。
本発明について好ましい実施の形態の例として説明したが、他の各種適合および変更を本発明の精神および範囲内で行い得ることを理解されたい。したがって、添付の特許請求の範囲の目的は、本発明の真の精神および範囲にあるこのような変形および変更をすべてカバーすることにある。
本発明による初期化手順の流れ図である。 本発明による復号化手順の流れ図である。 再開を有する復号化手順の流れ図である。

Claims (13)

  1. 有限幾何学コードの受信ワードを復号化する方法であって、
    前記有限幾何学コードのパリティチェック行列を定義することと、各要素が0、1、または不確定値のいずれかである要素によって前記受信ワード中の各ビットを表すこととを有する一度限りの初期化手順と、
    終了条件が真の場合に終了することと、その他の場合に、前記パリティチェック行列および前記要素の現在値に応じて各要素の票の集合を求めることと、各要素の前記票の集合および前記受信ワードに基づいて前記要素を更新することとを有する反復復号化手順と
    を備え
    前記パリティチェック行列の各行は、パリティチェックに対応し、各パリティチェックは、票をJ個の要素に送り、パリティチェックが票を送る前記要素は、前記パリティチェックに対応する行中に値1を有する前記パリティチェック行列の前記列に対応し、
    票を送る関連するパリティチェックから、各要素に対する推奨および推奨の強さを求めることをさらに含む
    有限幾何学コードの受信ワードを復号化する方法。
  2. (N,k)有限幾何学コードを表す前記パリティチェック行列は、M行、N列、ランクN−kを有し、前記M行は、前記有限幾何学のN個の点に対する前記有限幾何学中の選択されたμフラットの集合の発生ベクトルであり、各行は、J個の1およびN−J個の0を含む請求項1に記載の方法。
  3. μフラットは、互いに循環シフトである請求項1に記載の方法。
  4. 前記要素は、それぞれ、前記受信ワードのビットに対応する前記復号器の状態を表し、前記終了条件は、前記復号器の前記状態がコードワードであるときに満たされる請求項1に記載の方法。
  5. 前記初期化手順および前記復号化手順は、前記終了条件が満たされ、前記復号器の前記状態がコードワードに対応しない場合、実質的により多くのパリティチェック行列を用いて再開される請求項1に記載の方法。
  6. 特定のパリティチェックの特定の要素に対する前記票は、前記パリティチェックに関連するその他の前記J−l個の要素の状態により決定される請求項に記載の方法。
  7. 特定のパリティチェックから特定の要素に対する前記票は、前記パリティチェックに関連するその他のJ−1個の要素のいずれかが不確定値を有する場合に棄権であり、値1を有する前記パリティチェックに関連する他の要素の数が奇数の場合に1であり、その他の場合に0である請求項に記載の方法。
  8. 前記推奨は、前記票の過半数が0の場合に0であり、前記票の過半数が1である場合に1であり、0と1の票が等しい場合に推奨なしである請求項に記載の方法。
  9. 前記推奨の強さは、票0の数と票1の数との間の差の大きさである請求項に記載の方法。
  10. 前記票は、前記パリティチェックの前記推奨の強さをしきい値bflipおよびしきい値buncertainと比較することにより、特定の要素の次の更新状態を求める請求項に記載の方法。
  11. 前記特定の要素の次の更新状態は、前記パリティチェックの前記推奨が前記受信ワード中の値と一致する場合には、前記受信ワード中の前記値に等しい請求項10に記載の方法。
  12. 前記特定の要素の次の更新状態は、前記パリティチェックの前記推奨が前記受信ワード中の値と等しくなく、かつ前記推奨の強さがしきい値buncertain未満である場合に、前記受信ワード中の前記値に等しく、前記特定の要素の次の更新状態は、前記パリティチェックの前記推奨が前記受信ワード中の前記値と等しくなく、かつ前記推奨の強さが前記しきい値buncertain以上であり、かつ前記しきい値bflip未満の場合に不確定性を表す状態であり、前記特定の要素の次の更新状態は、前記推奨の強さが前記しきい値bflipよりも大きい場合に前記パリティチェックの前記推奨に一致する請求項10に記載の方法。
  13. 前記しきい値の値を所定のスケジュールに従って各復号化サイクルの終了時に更新することをさらに含む請求項10に記載の方法。
JP2004234692A 2003-08-19 2004-08-11 有限幾何学コードの受信ワードを復号化する方法 Expired - Fee Related JP4651990B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/643,618 US7103825B2 (en) 2003-08-19 2003-08-19 Decoding error-correcting codes based on finite geometries

Publications (2)

Publication Number Publication Date
JP2005065284A JP2005065284A (ja) 2005-03-10
JP4651990B2 true JP4651990B2 (ja) 2011-03-16

Family

ID=34193920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004234692A Expired - Fee Related JP4651990B2 (ja) 2003-08-19 2004-08-11 有限幾何学コードの受信ワードを復号化する方法

Country Status (2)

Country Link
US (1) US7103825B2 (ja)
JP (1) JP4651990B2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395495B2 (en) * 2004-01-12 2008-07-01 Intel Corporation Method and apparatus for decoding forward error correction codes
KR101113569B1 (ko) * 2005-02-04 2012-02-21 현대자동차주식회사 자동차의 드럼브레이크
WO2006094054A2 (en) * 2005-03-02 2006-09-08 Rohde & Schwarz Gmbh & Co.Kg Apparatus, systems and methods for providing enhancements to atsc networks using synchronous vestigial sideband (vsb) frame slicing
US7653862B2 (en) * 2005-06-15 2010-01-26 Hitachi Global Storage Technologies Netherlands B.V. Error detection and correction for encoded data
US7624334B2 (en) * 2005-09-07 2009-11-24 Intel Corporation Construction and use of shortened EG-LDPC codes
TWI313542B (en) * 2006-05-19 2009-08-11 Sunplus Technology Co Ltd Method for near maximum-likelihood sequential decoding
JP5020247B2 (ja) * 2006-08-25 2012-09-05 パナソニック株式会社 無線通信装置および誤り検出符号化方法
CN101162965B (zh) * 2006-10-09 2011-10-05 华为技术有限公司 一种ldpc码的纠删译码方法及系统
MX2009007049A (es) 2007-02-01 2009-08-13 Rohde & Schwarz Sistemas, aparatos, metodos y productos de programa de computadora para proporcionar interoperabilidad atsc.
US20100325520A1 (en) * 2007-02-09 2010-12-23 Kenichi Kuri Radio communication device and repetition method
EP2147504A2 (en) * 2007-04-13 2010-01-27 University College Dublin An encoding scheme, and a decoding scheme using a series of ldpc codes based on finite inversive spaces
DE102008017290A1 (de) 2007-12-11 2009-06-18 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur Bildung eines gemeinsamen Datenstroms insbesondere nach dem ATSC-Standard
DE102008056703A1 (de) 2008-07-04 2010-01-07 Rohde & Schwarz Gmbh & Co. Kg Verfahren und System zur Zeitsynchronisierung zwischen einer Zentrale und mehreren Sendern
US8355458B2 (en) 2008-06-25 2013-01-15 Rohde & Schwarz Gmbh & Co. Kg Apparatus, systems, methods and computer program products for producing a single frequency network for ATSC mobile / handheld services
US8166364B2 (en) 2008-08-04 2012-04-24 Seagate Technology Llc Low density parity check decoder using multiple variable node degree distribution codes
DE102008059028B4 (de) 2008-10-02 2021-12-02 Rohde & Schwarz GmbH & Co. Kommanditgesellschaft Verfahren und Vorrichtung zur Erzeugung eines Transportdatenstroms mit Bilddaten
CA2731958C (en) 2008-11-06 2016-10-04 Rohde & Schwarz Gmbh & Co. Kg Method and system for synchronized mapping of data packets in an atsc data stream
US8935601B1 (en) 2008-12-03 2015-01-13 Marvell International Ltd. Post-processing methodologies in decoding LDPC codes
CN101814922B (zh) 2009-02-23 2013-06-19 国际商业机器公司 基于bch码的多位错纠错方法和装置以及存储系统
EP2234357B1 (en) * 2009-03-21 2016-07-27 Rohde & Schwarz GmbH & Co. KG Method for improving the data rate of mobile data and the quality of channel estimation in an ATSC-M/H transport data stream
US8407550B2 (en) * 2009-08-14 2013-03-26 Mitsubishi Electric Research Laboratories, Inc. Method and system for decoding graph-based codes using message-passing with difference-map dynamics
DE102009057363B4 (de) * 2009-10-16 2013-04-18 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur effizienten Übertragung von überregional und regional auszustrahlenden Programm-und Servicedaten
JP5790029B2 (ja) * 2011-03-01 2015-10-07 ソニー株式会社 復号装置、復号方法、およびプログラム
US8989021B2 (en) 2011-01-20 2015-03-24 Rohde & Schwarz Gmbh & Co. Kg Universal broadband broadcasting
KR101327505B1 (ko) 2011-09-30 2013-11-20 전북대학교산학협력단 이진 이산 무기억 대칭 채널에서 연속 제거 복호 알고리즘을 이용한 송신기 및 수신기
US9009578B1 (en) * 2011-11-11 2015-04-14 Marvell International Ltd. Methodology for improved bit-flipping decoder in 1-read and 2-read scenarios
US10447301B2 (en) 2017-09-13 2019-10-15 Toshiba Memory Corporation Optimal LDPC bit flip decision

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002508894A (ja) * 1997-03-26 2002-03-19 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) 送受信局間でディジタル情報のブロックを通信する方法と装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295218A (en) * 1979-06-25 1981-10-13 Regents Of The University Of California Error-correcting coding system
US4404674A (en) * 1981-07-10 1983-09-13 Communications Satellite Corporation Method and apparatus for weighted majority decoding of FEC codes using soft detection
US4819231A (en) * 1983-01-20 1989-04-04 Nippon Hoso Kyokai Framing timing detection circuit for a character code broadcasting system
US5157671A (en) * 1990-05-29 1992-10-20 Space Systems/Loral, Inc. Semi-systolic architecture for decoding error-correcting codes
JP3558026B2 (ja) * 2000-09-27 2004-08-25 日本電気株式会社 自己直交符号復号回路及び自己直交符号復号方法
JP4389373B2 (ja) * 2000-10-11 2009-12-24 ソニー株式会社 2元巡回符号を反復型復号するための復号器
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002508894A (ja) * 1997-03-26 2002-03-19 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) 送受信局間でディジタル情報のブロックを通信する方法と装置

Also Published As

Publication number Publication date
US20050044475A1 (en) 2005-02-24
US7103825B2 (en) 2006-09-05
JP2005065284A (ja) 2005-03-10

Similar Documents

Publication Publication Date Title
JP4651990B2 (ja) 有限幾何学コードの受信ワードを復号化する方法
CN109783270B (zh) 用于解码纠错码的系统和方法
US11740960B2 (en) Detection and correction of data bit errors using error correction codes
US11115051B2 (en) Systems and methods for decoding error correcting codes
US6560747B1 (en) Error counting mechanism
Wu Generalized integrated interleaved codes
US8694872B2 (en) Extended bidirectional hamming code for double-error correction and triple-error detection
US10715182B2 (en) Systems and methods for decoding error correcting codes with self-generated LLR
CN109586731B (zh) 用于解码纠错码的系统和方法
JP2010178328A (ja) シンボルから成るブロックを復号するための多段復号器及び方法
EP2810280A1 (en) Erasure correcting codes for storage arrays
JP2013507807A (ja) 非バイナリ符号を復号するための方法
WO2008087042A1 (en) Multiple-bases belief-propagation and permutation decoding for block codes
US10567007B2 (en) Device and method of processing a data word using checkbits
US20110083062A1 (en) Method for Encoding and/or Decoding Multimensional and a System Comprising Such Method
JP5543170B2 (ja) バイナリデータの誤り訂正及び誤り検出の方法
Veresova et al. Comparison of the probability of Reed–Solomon and LDPC codes decoding error in the Gilbert–Elliott channel
Badack et al. Modified DEC BCH codes for parallel correction of 3-bit errors comprising a pair of adjacent errors
US10387254B2 (en) Bose-chaudhuri-hocquenchem (BCH) encoding and decoding tailored for redundant array of inexpensive disks (RAID)
US7181677B1 (en) System and method for producing data and ECC code words using a high rate restricted-symbol code
Blaum et al. MDS array codes for correcting a single criss-cross error
Qamar et al. An efficient encoding algorithm for (n, k) binary cyclic codes
Wu Generalized integrated interleaving BCH codes
Raphaeli The burst error correcting capabilities of a simple array code
Saptharishi et al. Decoding high rate Reed-Muller codes from random errors in near linear time

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070726

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101008

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

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

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees