JP4134029B2 - リードソロモン符号の軟判定復号方法 - Google Patents

リードソロモン符号の軟判定復号方法 Download PDF

Info

Publication number
JP4134029B2
JP4134029B2 JP2004504393A JP2004504393A JP4134029B2 JP 4134029 B2 JP4134029 B2 JP 4134029B2 JP 2004504393 A JP2004504393 A JP 2004504393A JP 2004504393 A JP2004504393 A JP 2004504393A JP 4134029 B2 JP4134029 B2 JP 4134029B2
Authority
JP
Japan
Prior art keywords
polynomial
symbol
erasure
syndrome
equation
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
JP2004504393A
Other languages
English (en)
Other versions
JP2005525040A (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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2005525040A publication Critical patent/JP2005525040A/ja
Application granted granted Critical
Publication of JP4134029B2 publication Critical patent/JP4134029B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • 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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/158Finite field arithmetic processing
    • 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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors

Landscapes

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

Description

本発明は、誤り検出/訂正符号に関する。より詳細には、リードソロモン復号器で使用されるシステム及び方法に関する。
一般的に用いられる誤り訂正手法としては、リードソロモン誤り訂正符号がある。リードソロモン符号の概要及びその応用については、例えば非特許文献1や、非特許文献2に記載されている。
特許文献1は、非除多項式と除多項式との除算の剰余の次数が所定の条件を満足するまで、前記剰余で除多項式を繰り返し除算するユークリッド互助回路の形式によるリードソロモン復号器を開示している。
ユークリッド互助回路は、非除多項式と除多項式を、それぞれ保存するレジスタグループと、非除多項式を除多項式で除算することにより生ずる剰余を保存するためのフィードバックループと、レジスタの内容をシフトするシフト器と、非除多項式の係数と、除多項式の係数を交換する交換器とを有する。
復号器は、受信符号語からシンドロームを計算するシンドローム計算器と、受信符号語に同期した消失位置フラグから消失位置データを生成する消失位置生成器と、修正シンドロームを生成する修正シンドローム生成器と、前記消失位置データから消失位置多項式を生成する消失位置多項式生成器と、誤り位置多項式及び誤り評価多項式を求めるユークリッド互助回路と、誤り位置及び誤りの値を得るチェン探索器と、受信符号語の誤りを訂正する訂正処理器とを有する。修正シンドローム生成器と消失位置多項式生成器は、ユークリッド互助回路と共用となっている。
リードソロモン復号器を実現する他のアプローチは、それぞれ、特許文献2から特許文献7に開示されている。
米国特許第5517509号明細書 米国特許第5991911号明細書 米国特許第6032283号明細書 米国特許第6304994B1号明細書 米国特許第5537426号明細書 欧州特許出願公開第0821493A1号明細書 欧州特許出願公開第0942421A1号明細書 Stephen B.Wicker, Vijay K. Bhargava, "Reed-Solomon Codes and Their Applications", IEEE Press, 1994年 Bernard Sklar, "Digital Communications, Fundamentals and Applications", Second Edition, Prentice Hall PTR, 2001年
一般的に、修正シンドローム多項式の計算は、シンドロームと消失多項式の積の計算により行われる。修正シンドローム多項式を得るためのこの計算には、追加のサイクルと計算時間が必要となる。
従って、本発明は、修正シンドローム多項式の計算に付加的なサイクルを必要としないリードソロモン符号の軟判定復号方法を提供することを目的とする。
本発明の目的は、独立請求項の特徴により解決される。本発明の好ましい形態は、従属請求項に記載される。
本発明は、シンドローム及び消失多項式と同様に、修正シンドローム多項式の、その場での計算を並行して行うことにより、リードソロモン符号の軟判定復号の計算時間を最小とすることを可能としている。つまり、本発明は、シンドロームと消失多項式の計算が完了する前に、修正シンドローム多項式の計算を実行することを可能としている。
本発明は、特に、入力シンボルを得たその場で、修正シンドローム多項式を計算することを可能とする点で有利である。よって、多項式の拡張として一般的に参照される、別の計算ステップを省略することができる。
シンボル受信後、シンドロームと消失多項式の積の計算を行うことなく、直接、修正シンドロームを更新することができる更なる利点がある。これは、全体の計算時間とハードウェアへの要求を削減する結果となる。
本発明の一般的概念は、修正シンドロームを計算するために必要なサイクル数を削減することである。修正シンドローム多項式を得るために、消失多項式とシンドローム多項式の乗算を行う必要がある。修正シンドローム多項式を得るための、従来からある直列アルゴリズムの複雑さは、
c=r(l+1)-l(l+1)/2
である。ここでrはRS符号語のパリティシンボル数であり、lは符号語内の消失数である。従来からある直列―並列アルゴリズムの複雑さは、
c=1+1
である。本発明の一般概念は、修正シンドロームを、その場で計算することである。よって、本方法は、修正シンドロームの計算に付加的なサイクルを必要とせず、計算パワーと時間を削減する。
軟判定復号において、受信器は、
2e+f<dmin (1)
である限り訂正が可能である。ここで、eは誤り数であり、fは消失数であり、dminはハミング距離である。
エラー計算のために以下のステップが行われる。
1.シンドローム多項式を計算する。
Figure 0004134029
2.消失多項式を計算する。
Figure 0004134029
3.修正シンドローム多項式を
T(x)=Γ(x)S(x) mod xM (4)
により作成する。
4.鍵となる方程式
Λ(x)T(x)=Ω(x) mod xM (5)
を、バーレカンプ・マッシイ法又はユークリッド法により解く。
5.フォーニー多項式
ψ(x)=Λ(x)Γ(x) (6)
を計算する。
6.誤り及び消失値を、フォーニー方程式に基づき計算する。
式(2)及び(3)から明らかなように、それらは、データシンボルvN-1,…,v1,v0の入力と共に、その場で計算ができる。
以下に上記ステップ1、つまり式(2)についてのより詳しい説明を行う。
エラーベクトル
Figure 0004134029
を多項式
e(x)=e0+e1x+…+eN-1xN-1, ei∈GF(28) (7)
で表現する。復号器の入力での受信多項式は、
v(x)=c(x)+e(x)=v0+v1x+…+vN-1xN-1, vi∈GF(28) (8)
である。ここで、多項式の係数は、受信ベクトル
Figure 0004134029
の要素である。符号語多項式c(x)は生成多項式g(x)で割り切ることができ、また、i=0,1,…,M-1に対してg(αi)=0であるため、生成多項式の根、つまり、α01,…,αM-1により、
Figure 0004134029
を求めて多項式v(x)を評価する。
上記は、最後の式の集合が、誤りパターン成分を伴うことのみを意味し、符号語の誤りを示してはいない。上記は、シンドロームと呼ばれ、Sj、j=0,1,…,M-1は、
Figure 0004134029
である。上記シンドロームは、以下の形式のシンドローム多項式を形成するために使用される。
Figure 0004134029
式(11)の、その場での計算は、係数Si,i=0,1,…,M-1を、繰り返し更新することにより達成できる。各シンボルクロックjで、新しいシンボルvnが到着し、位置nのべき乗αnが計算され、係数は以下の通り更新される。
i,j=Si,j-1+vnαin、i=0,1,…M-1、ここでSi,-1=0 (12)
図1に、その場でシンドローム計算を実行するハードウェアを示す。新しい符号列の開始時に、レジスタ1は、第1シンボルの位置のべき乗で初期化される。レジスタ2は0で初期化される。新しいシンボルが到着するたびに、レジスタ1及び2は動作し、シンドロームが式(12)のとおりに更新され、レジスタ1のべき乗は1減らされる。
以下にステップ2、つまり式(3)についてのより詳細な説明を行う。
p個の消失が、位置j0,j1,…jp-1で生じたものとすると、消失多項式は、以下の方法で計算される。
Figure 0004134029
上記式の、その場での計算は、多項式を繰り返し更新することで達成できる。各jにおいて、新しい消失vnが生じたとき、消失位置nのべき乗αnが計算され、多項式が以下のように更新される。
Γj(x)=Γj-1(x)*(1-αnx)=(Γ0,j-11,j-1x+…+Γp,j-1xp)*(1-αnx) (14)
式(14)の最後の多項式を検査すると、係数は、
Figure 0004134029
と記述できる。
式(15)による、消失多項式の、その場での計算を実行するハードウェアを図2に示す。入力シンボルが消失である場合、図のスイッチが切り替えられ、回路は式(15)に従った計算を実行する。
シンボルが消失ではない場合は、スイッチは、図の位置のままである。スイッチは、組合せ論理で実現される。よって、余分なクロックディレイの原因とはならない。回路は、シンボル情報と共に消失信号に直接接続される。新しい符号列の開始時において、レジスタ1は、第1シンボルの位置のべき乗、例えば、DVDのインナー符号に対してはα181で初期化される。
レジスタ2は、0で初期化される。新しいシンボルが到着するたびに、レジスタ1及びレジスタ2が動作し、シンドロームが式(15)に従い更新され、レジスタ1のべき乗項は1減らされる。
修正シンドローム多項式は、式(2)のシンドローム多項式を、式(3)の消失多項式で乗算することにより
T(x)=S(x)Γ(x) mod xM
=(S0+S1x+S22+…+SM-1xM-1)(Γ01x+Γ2x2+…+Γpxp) mod xM (16)
と得られる。結果は、2つの多項式の巡回畳み込み
Figure 0004134029
となる。
本発明によると、式(2)の代わりに式(17)を使用し、
Figure 0004134029
又はよりよい表現として
Figure 0004134029
が求められる。
この式は、前の消失を考慮して、多項式の係数をどのように更新すべきかを指示しているものと解釈できる。現時点がステップj-1で、レジスタTi、i=0,1,…,M-1が正しい修正シンドロームを保持しているものとすると、ステップjで新たなデータシンボルを受信して、単に修正シンドローム多項式を式(19)に従って更新すればよい。
以上の情報に基づき、修正シンドロームの、その場での計算を行う、アルゴリズムAについて説明する。入力シンボルが消失と示されているか否かにより、アルゴリズムAは、それぞれ、2又は1の連続する計算を必要とする。しかし、修正シンドロームの、その場での計算のための、代替のアルゴリズムBも使用可能である。アルゴリズムBは、2つの代替ブランチから成り、入力シンボルが消失と示されているか否かにより、そのうちの1つが選択され実行され、各ブランチは、問題となっている場合に必要な総ての計算を1のシステムクロックで実行する。
アルゴリズムA
式(19)を用いることで、シンドロームの計算を行うことなしに、修正シンドロームを直接計算することが可能となる。図3は、その場での計算の第一実施形態を示すフローチャートである。フローチャートは、2つの補助的な項T*(x)及びΓ*(x)を計算する式(20)と、入力シンボルvnが消失である場合に、補助的な項より反復結果Tj(x)及びΓj(x)を計算する式(21)とからなる。各シンボルクロックで、新しいシンボルを得たときに、修正シンドロームは、式(20)に基づき更新される。各計算ステップで得られた修正シンドロームは、最新の受信シンボルまでにおいては正確である。
このアルゴリズムにおいて、システムクロックレートは、少なくともシンボルクロックレートの2倍である必要がある。最後のシンボルの計算後にアルゴリズムは終了し、正しい修正シンドロームが得られる。
消失が起こった場合は、式(20)による更新と、式(21)で示されているように多項式を根で乗ずるために、2システムクロックが必要となる。消失の場合に、式(20)及び(21)の順序は交換可能である。その場合、ストリームの第1シンボルが消失した場合は、レジスタT0は1に予めロードしておく必要があり、他の場合は、式(21)の前半部分は、0にしておく必要があることに注意する。
式(20)の計算は、式(19)で示した巡回畳み込みから直接導ける。よって、以下に、消失シンボルを得た際のアルゴリズムについて記載する。現時点をステップn-1とすると、式(19)の線形畳み込みである、以下に示す修正シンドロームがメモリに得られる。
Figure 0004134029
そして、消失多項式は、
Γn-1(x)=1+Γ1,n-1x+Γ2,n-1x2+…+Γp,n-1xp (23)
である。
次に、ステップnで、消失シンボルvnが到着したとすると、式(20)の計算は、
Figure 0004134029
となり、式(21)が
Figure 0004134029
で計算される。
巡回畳み込みにより、以下の式が導かれ、
Figure 0004134029
上式は、
Figure 0004134029
と書き換えることができる。
実際に、これは、式(19)による、シンドロームと消失多項式の線形畳み込みである。
修正シンドロームの、その場での計算を行うアルゴリズムAの実施形態を、図4に示す。スイッチが図示された位置あれば、式(20)による計算を実行する。スイッチが切り替えられると、式(21)による計算を実行する。
スイッチは、組合せ論理で実現され、よって、余分なクロック遅延をもたらさない。図1及び図2の実施形態と比較して、セル又はレジスタ毎に加算器を1つ付加することのみが必要であることがわかる。これは、付加的な多項式の乗算は必要でないため、ハードウェアの削減ができることを意味する。
新しい符号例の始まりにおいて、図4のレジスタ1は、例えばDVDのインナー符号の場合はα181といった、第1シンボルの位置のべき乗で初期化される。レジスタ2及び3は、0で初期化される。シンボルクロックの立ち上がり毎に、新しいシンボルが到着し、べき乗を1減らすように、レジスタ1が更新される。その後、シンボルクロックの立ち下りでレジスタ2が動作し、式(20)によりシンドロームを更新する。
到着シンボルが消失と示されている場合、スイッチが切り替えられ、レジスタ2及びレジスタ3が再度動作し、式(21)を計算する。符号列の最終シンボルの終わりで、最後の計算が行われた後、レジスタ2は完全な符号列の修正シンドロームを保持し、レジスタ3は、消失多項式を保持する。
図5に示す、図3の方法のタイミング動作例について以下に説明を行う。
DVDのインナー符号のように、M=10で、次数が下がる順番であるものとする。シンボルの次数は、181で始まり0で終わる。レジスタにはT(x)=0で、Γ-1(x)=1が予め設定されている。以下のデータ列を受信したものとする。
v1816, v* 1809, v17910, v* 17812, v17715, v176=…,…, v0=α
ここで、v* iは、消失と示されているシンボルを表す。図5に示すように、シンボルクロックの立ち上がりで、新しいシンボルvnを、消失情報と共に得て、図4に示す回路のレジスタ1はシンボルの正確なべき乗項αnに更新される。シンボルクロックの立ち上がり後で、図5において1と示されている第1のシステムクロックで、図4に示す回路のレジスタ2は、図示された位置で動作し、式(20)が計算される。
消失信号が真であれば、図4のスイッチは切り替えられ、回路のレジスタ2及びレジスタ3は、図5において2と示されている、システムクロックの次の立ち上がりで再度動作し、式(21)の計算を行う。第182番目のシンボルでの最後の計算後、完全な符号語の正しい修正シンドロームを得る。現在の例で、第5番目の入力シンボルまでの中間結果の詳細を以下に説明する。
従来の方法
まず第1に、以下に説明する本発明のアルゴリズムの結果の検証のため、従来の方法で中間の修正シンドロームを計算する。式(2)により、データストリームのシンドローム
S(x)=(α69101215)+(α6α1819α18010α17912α17815α177)x+…+(α6α9*1819α9*18010α9*17912α9*17815α9*177)x9
16979x+α113x237x3194x4112x5239x6168x7174x8240x9 (28)
Γ(x)=(1-α180x) (1-α178x)=1+α228x+α103x2 (29)
が得られる。
2つの多項式を乗算することで、現在のシンボルまでの修正シンドローム多項式が、
T(x)=S(x)Γ(x) mod xM169+(α79169α228)x+(α11379α228169α103)x2+…+(α240174α228168α103)x9
169134x+α119x268x3128x4172x521x640x7217x8152x9 (30)
として得られる。
その場で計算するアルゴリズム
計算は、入力シンボル順で行われる。各ステップの後において、修正シンドロームの結果は、最新の受信シンボルまでにおいて正確である。
1.データシンボルv1816を得て、1番目のシステムクロック1で、式(20)を計算する。
T0(x)=α6(1+α181x+α2*181x2+…+α9*181x9)
6187x+α113x239x3220x4146x572x6+253x7179x8105x9 (31)
Γ0=1 (32)
2.消失シンボルv* 1809を得て、1番目のシステムクロック1で式(20)を計算する。
T*(x)=(α69)+(α1879α180)x+(α1139α2*180)x2+…+(α1059α9*180)x9
229237x+α138x2+0*x3244x4194x537x694x757x835x9 (33)
2番目のシステムクロック2で、式(21)を計算する。
T1(x)=α229+(α237180α229)x+(α138180α237)x2+…+(α35180α57)x9
229211x+α137x263x3244x4170x596x622x7203x8129x9 (34)
及び
Γ1(x)=1+α180x (35)
3.データシンボルv17910を得て、1番目のシステムクロック1で、方程式(20)を計算する。
T2(x)=(α22910)+(α21110179180))x+(α137102*179179α180))x2+…+(α129109*1798*179α180))x9
199179x+α162x287x3209x448x5201x6+133x7182x8215x9 (36)
Γ2(x)=1+α180x (37)
4.消失シンボルv* 17812を得て、1番目のシステムクロック1で式(20)を計算する。
T*(x)=(α19912)+(α17912178180))x+(α162122*178178α180))x2+…+(α215129*1788*178α180))x9
216110x+α187x2111x317x4146x564x6+37x7108x839x9 (38)
2番目のシステムクロック2で、方程式(21)を計算する。
T3(x)=α216+(α110178α216)x+(α187178α110)x2+…+(α39178α108)x9
21636x+α234x2135x385x488x5202x6244x7166x8231x9 (39)
及び
Γ3(x)=1+(α180178)x+α180α178x2=1+α228x+α103x2 (40)
5.データシンボルv17715を得て、1番目のシステムクロック1で、式(20)を計算する。
T4(x)=(α21615)+(α3615177228))x+(α234152*177177α228103))x2+…+(α231159*1778*177α2287*177α103))x9
169134x+α119x268x3128x4172x521x640x7217x8152x9 (41)
Γ4(x)=1+(α180178)x+α180α178x2=1+α228x+α103x2 (42)
式(42)と(29)を、及び式(41)と(30)の比較で、アルゴリズムを検証する。この結果は、最終的な修正シンドロームの結果ではなく、単に5つの受信シンボルまでの修正シンドロームの中間結果である。完全な符号列の修正シンドロームは、第182番目の計算後に得られる。
アルゴリズムB
以下に、修正シンドローム多項式の計算のための代替アルゴリズムBの詳細について説明する。
式(21)に式(20)を代入することで、
Figure 0004134029
より良くは
Figure 0004134029
が求められ、消失シンボルを得たときの、2番目のシステムクロックでの計算を回避できる。
よって式は、
Tn(x)=Tn-1(x)(1-αnx)+vnΓn-1(x), ここでΓ-1(x)=1 (45)
と書くことができる。
これで、入力シンボル毎に1システムクロックのみを必要とする、第2のアルゴリズムBが表現できる。
図6に示すフローチャートは、その場での計算の第2実施形態を示す。1つの繰り返し結果Tj(x)及びΓj(x)を計算するために、フローチャートは、入力シンボルvnが消失である場合に使用される式(46)と、他の場合に使用される式(47)とからなる。
各シンボルクロックで、入力シンボルを得たとき、修正シンドロームが更新される。各計算ステップで、結果として得られる修正シンドロームは、最新の受信シンボルまでにおいて正確である。アルゴリズムBでは、システムクロックレートは、シンボルクロックレートと同じであり、速い計算が行われる。最後のシンボル後にアルゴリズムは終了し、正しい修正シンドロームが得られる。
図7は、修正シンドロームの、その場での計算の第2実施形態である。スイッチが図示する位置にある場合、回路は、式(47)に従った計算を行う。スイッチが切り替えられた場合、回路は、式(46)に従った計算を実現する。
スイッチは、組合せ論理で実現され、よって、余分なクロック遅延をもたらさない。図4の構成と比較すると、セル又はレジスタ毎に、乗算器及び加算器を1つ付加することが必要である。ハードウェアの構成が増加することによる遅延の増加が、計算時間を削減する。
新しい符号例の始まりにおいて、図7のレジスタ1は、例えばDVDのインナー符号の場合はα181といった、第1シンボルの位置のべき乗で初期化される。レジスタ2及び3は、0で初期化される。スイッチは、消失信号に直接接続されている。総てのレジスタ1、2及び3は、シンボルクロックの立ち上がりで動作し、消失信号に応じて、式(46)又は(47)によりシンドロームを更新する。
次のシンボルのため、クロックにより、べき乗を1減らすようにレジスタ1が更新される。符号列の最終シンボルの終わりで、最後の計算が行われた後、レジスタ2は完全な符号列の修正シンドロームを保持し、レジスタ3は、消失多項式を保持する。
タイミング動作及びアルゴリズム例について以下に説明を行う。DVDのインナー符号のように、M=10で、次数が下がる順番であるものとする。シンボルの次数は、181で始まり0で終わる。レジスタにはT(x)=0で、Γ-1(x)=1が予め設定されている。以下のデータ列を受信したものとする。
v1816, v* 1809, v17910, v* 17812, v17715, v176=…,…, v0=α
ここで、v* iは、消失と示されているシンボルを表す。図8に示すように、システムクロックの立ち上がり毎に、新しいシンボルvn及び消失情報が得られる。
消失信号は、図7の回路のスイッチに供給される。消失信号が偽であれば、スイッチは、図示する位置のままであり、消失信号が真であれば、スイッチは切り替えられる。図8において1と示されているシステムクロックの立ち上がりで、図7に示す回路が動作し、式(46)又は(47)が計算される。最後に、つまり第182番目のシンボルクロック後に、完全な符号語の正しい修正シンドロームを得る。現在の例で、第5番目の入力シンボルまでの中間結果の詳細を以下に説明する。
計算は、入力シンボル順の行われ、各ステップ後において、結果として得られる修正シンドロームは、最新の受信シンボルまでにおいては正確である。
1.データシンボルv1816を得て、式(47)を計算する。
T0(x)=α6(1+α181x+α2*181x2+…+α9*181x9)
6187x+α113x239x3220x4146x572x6+253x7179x8105x9 (48)
Γ0=1 (49)
2.消失シンボルv* 1809を得て、式(46)を計算する。
T1(x)=α6+(α187180α6)x+(α113180*187)x2+…+(α105180*179)x99
229211x+α137x263x3244x4170x596x622x7203x8129x9 (50)
及び
Γ1(x)=1+α180x (51)
3.データシンボルv17910を得て、式(47)を計算する。
T2(x)=(α22910)+(α21110179180))x+(α137102*179179α180))x2+…+(α129109*1798*179α180))x9
199179x+α162x287x3209x448x5201x6+133x7182x8215x9 (52)
Γ2(x)=1+α180x (53)
4.消失シンボルv* 17812を得て、式(46)を計算する。
T3(x)=α199+(α179178α199)x+(α162178α179)x2+…+(α215178α182)x91212α180x
21636x+α234x2135x385x488x5202x6244x7166x8231x9 (54)
及び
Γ3(x)=1+(α180178)x+α180α178x2=1+α228x+α103x2 (55)
5.データシンボルv17715を得て、式(47)を計算する。
T4(x)=(α21615)+(α3615177228))x+(α234152*177177α228103))x2+…+(α231159*1778*177α2287*177α103))x9
169134x+α119x268x3128x4172x521x640x7217x8152x9 (56)
Γ4(x)=1+(α180178)x+α180α178x2=1+α228x+α103x2 (57)
式(56)と(29)を、及び式(57)と(30)の比較で、アルゴリズムを検証する。この結果は、最終的な修正シンドロームの結果ではなく、単に5つの受信シンボルまでの修正シンドロームの中間結果である。完全な符号列の修正シンドロームは、第182番目の計算後に得られる。
公知の、その場でのシンドローム計算を実行するハードウェアのブロックダイアグラムである。 公知の、その場での消失多項式の計算を実行するハードウェアのブロックダイアグラムである。 本発明による修正シンドローム多項式の、その場での計算の実施形態のフローチャートである。 本発明による修正シンドローム多項式の、その場での計算を実行するハードウェアのブロックダイアグラムである。 図3のフローチャートに関するタイミングダイアグラムである。 修正シンドローム多項式の、その場での計算の、他の方法を説明する図である。 図6の方法を実行するハードウェアのブロックダイアグラムである。 図6の方法についてのタイミングダイアグラムである。
符号の説明
1、2、3 レジスタ

Claims (10)

  1. Nシンボルからなり、NシンボルのうちMシンボルが検査シンボルであるリードソロモン符号の軟判定復号方法において、
    シンドローム多項式、消失多項式及び修正シンドローム多項式を、新しいデータシンボルが到着したときに、各シンボルクロックで、前記多項式のそれぞれの係数を、繰り返し更新することにより並行して計算し、符号語の最後のシンボルでの係数の更新が実行された後、符号語のための多項式を直接得ることを特徴とする方法。
  2. シンドローム多項式S(x)
    Figure 0004134029
    ここで、 v i は、入力データシンボル
    として計算するステップと、
    消失多項式Γ (x)
    Figure 0004134029
    として計算するステップと、
    修正シンドローム多項式を
    T(x)=Γ(x)S(x) mod xM
    により作成するステップと、
    間接的な鍵方程式
    Λ(x)T(x)=Ω(x) mod xM
    を、バーレカンプ・マッシイ法又はユークリッド法により解き、多項式Λ (x) とΩ (x) を決定するステップと、
    フォーニー多項式
    ψ(x)=Λ(x)Γ(x)
    を計算するステップと、
    誤り及び消失値を、フォーニー方程式に基づき計算するステップとを有することを特徴とする請求項1に記載の方法。
  3. 消失多項式及び修正シンドローム多項式の計算は、データシンボルvN-1,…v1,v0の入力と共に、その場で実行されることを特徴とする請求項2に記載の方法。
  4. シンドローム多項式は、
    Figure 0004134029
    の形式で、係数Si, i=0,1,…,M-1を繰り返し更新することにより計算され、
    係数は、各シンボルクロックjで新しいシンボルvnが到着したときに、位置nのべき乗αnを計算し、
    Si,j=Si,j-1+vnαin, i=0,1,…,M-1、ここでSi,-1=0
    で更新されることを特徴とする請求項1から3のいずれか1項に記載の方法。
  5. 消失多項式は、多項式
    Figure 0004134029
    を繰り返し更新することにより、その場で計算され、
    更新は、各シンボルクロック j i で、新しく到着したシンボルが消失と示されたとき、消失位置 j i のべき乗
    Figure 0004134029
    を計算し、多項式を
    Figure 0004134029
    と更新することで実行されることを特徴とする請求項1から4のいずれか1項に記載の方法。
  6. 修正シンドローム多項式の、その場での計算は、
    多項式Γ-1(x)=1; T-1(x)=0と予め設定するステップと、
    各シンボルクロックで1のシンボルvnを得るステップと、
    シンボルクロック内の、第1のシステムクロックで、
    Figure 0004134029
    を計算するステップと、
    vnが消失であるか否かを判定するステップと、
    消失であれば、シンボルクロック内の、第2のシステムクロックで
    Tj(x)=T*(x)(1-αnx)
    Γj(x)=Γj-1(x)(1-αnx)
    を計算し、消失でなければ、
    Tj(x)=T*(x)
    Γj(x)=Γ*(x)
    とするステップとにより実行されることを特徴とする請求項1からのいずれか1項に記載の方法。
  7. 修正シンドローム多項式は、入力シンボルが消失と示されている場合に、
    Tn(x)=Tn-1(x)(1-αnx)+vnΓn-1(x)、ここでΓ-1(x)=1
    の形式で、その場で更新するステップを含むことを特徴とする請求項1から5のいずれか1項に記載の方法。
  8. 修正シンドローム多項式は、
    多項式Γ-1(x)=1; T-1(x)=0と予め設定するステップと、
    各シンボルクロックで1のシンボルvnを得るステップと、
    vnが消失であるか否かを判定するステップと、
    消失であれば、
    Tj(x)=Tj-1(x)(1-αnx)+vnΓj-1(x)
    Γj(x)=Γj-1(x)(1-αnx)
    を計算し、消失でなければ、
    Figure 0004134029
    を計算するステップとにより、その場で計算されることを特徴とする請求項1からのいずれか1項に記載の方法。
  9. リードソロモン符号の軟判定復号のためのプログラム手段を含み、前記プログラム手段は、シンドローム多項式、消失多項式及び修正シンドローム多項式を、新しいデータシンボルが到着したときに、各シンボルクロックで、前記多項式のそれぞれの係数を、繰り返し更新することにより、並行して計算することに適用され、
    符号語の最後のシンボルでの係数の更新が実行された後、符号語のための多項式を直接得る、デジタル記憶媒体のような、コンピュータプログラム製品。
  10. シンドローム多項式、消失多項式及び修正シンドローム多項式を、新しいデータシンボルが到着したときに、各シンボルクロックで、前記多項式のそれぞれの係数を、繰り返し更新することにより、並行して計算する手段を含み、符号語の最後のシンボルでの係数の更新が実行された後、符号語のための多項式を直接得るリードソロモン符号語の復号器。
JP2004504393A 2002-05-08 2003-05-06 リードソロモン符号の軟判定復号方法 Expired - Fee Related JP4134029B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02010430 2002-05-08
PCT/EP2003/004689 WO2003096546A2 (en) 2002-05-08 2003-05-06 A method of soft-decision decoding of reed-solomon codes

Publications (2)

Publication Number Publication Date
JP2005525040A JP2005525040A (ja) 2005-08-18
JP4134029B2 true JP4134029B2 (ja) 2008-08-13

Family

ID=29414677

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004504393A Expired - Fee Related JP4134029B2 (ja) 2002-05-08 2003-05-06 リードソロモン符号の軟判定復号方法

Country Status (8)

Country Link
US (1) US7353449B2 (ja)
EP (1) EP1502356B1 (ja)
JP (1) JP4134029B2 (ja)
KR (1) KR100970223B1 (ja)
CN (1) CN1653699B (ja)
AU (1) AU2003239834A1 (ja)
DE (1) DE60309857T2 (ja)
WO (1) WO2003096546A2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328395B1 (en) 2004-04-13 2008-02-05 Marvell International Ltd. Iterative Reed-Solomon error-correction decoding
US7793195B1 (en) * 2006-05-11 2010-09-07 Link—A—Media Devices Corporation Incremental generation of polynomials for decoding reed-solomon codes
US8171368B1 (en) * 2007-02-16 2012-05-01 Link—A—Media Devices Corporation Probabilistic transition rule for two-level decoding of reed-solomon codes
US8286060B2 (en) * 2008-07-30 2012-10-09 Lsi Corporation Scheme for erasure locator polynomial calculation in error-and-erasure decoder
EP2194648A1 (en) * 2008-12-03 2010-06-09 Electronics and Telecommunications Research Institute MPE-FEC RS decoder and decoding method thereof
RU2009116361A (ru) * 2009-04-30 2010-11-10 ЭлЭсАй Корпорейшн (US) Декодер кодов рида-соломона с мягким решением на основе декодера кодов рида-соломона с исправлением ошибок и стираний
US8365053B2 (en) * 2009-05-27 2013-01-29 International Business Machines Corporation Encoding and decoding data using store and exclusive or operations
US8473826B1 (en) 2009-08-12 2013-06-25 The United States Of America As Represented By The Secretary Of The Navy Hybrid soft decision hard decision reed solomon decoding
US8296634B2 (en) * 2010-02-27 2012-10-23 I Shou University Error correction decoder, error correction value generator, and error correction system
CN101834617B (zh) * 2010-06-01 2013-03-27 福建新大陆电脑股份有限公司 一种rs纠错码解码器
CN102655443B (zh) * 2011-03-04 2016-11-02 上海华虹集成电路有限责任公司 修正欧几里德算法的部分并行实现装置
US8977938B2 (en) * 2013-02-08 2015-03-10 Altera Corporation Parallel decomposition of Reed Solomon umbrella codes
US10608676B2 (en) * 2017-06-27 2020-03-31 Intel Corporation Bit-alignment testing for obtaining FEC code lock
CN115906898A (zh) * 2023-02-23 2023-04-04 青岛创新奇智科技集团股份有限公司 DataMatrix码的解码方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4868828A (en) * 1987-10-05 1989-09-19 California Institute Of Technology Architecture for time or transform domain decoding of reed-solomon codes
US5280488A (en) * 1990-11-08 1994-01-18 Neal Glover Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping
US5537426A (en) 1992-05-29 1996-07-16 Goldstar Co., Ltd. Operation apparatus for deriving erasure position Γ(x) and Forney syndrome T(x) polynomials of a Galois field employing a single multiplier
US5379305A (en) * 1992-07-20 1995-01-03 Digital Equipment Corporation Error correction system with selectable error correction capabilities
DE69414631T2 (de) 1993-03-31 1999-04-08 Kabushiki Kaisha Toshiba, Kawasaki, Kanagawa Schaltung zur Durchführung des Euclidschen Algorithmus bei der Dekodierung Arithmetischer Kodes
KR960032208A (ko) * 1995-02-07 1996-09-17 구자홍 리드-솔로몬 디코더
US5715262A (en) * 1995-07-12 1998-02-03 Lsi Logic Corporation Errors and erasures correcting reed-solomon decoder
US6511280B1 (en) * 1996-05-21 2003-01-28 Motorola, Inc. Adaptive Reed-Solomon decoder and methods thereof
FR2751810B1 (fr) 1996-07-23 1998-10-23 Sgs Thomson Microelectronics Systeme de correction d'erreurs dans des trames de donnees ayant des codes de parite horizontaux et verticaux
KR100258951B1 (ko) * 1997-09-25 2000-06-15 윤종용 리드-솔로몬(rs) 복호기와 그 복호방법
US5991911A (en) 1997-11-14 1999-11-23 Cirrus Logic, Inc. Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device
FR2776115B1 (fr) 1998-03-13 2000-07-21 Thomson Multimedia Sa Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif
US6449746B1 (en) * 1998-08-17 2002-09-10 T. K. Truong Decoding method for correcting both erasures and errors of reed-solomon codes
US6347389B1 (en) * 1999-03-23 2002-02-12 Storage Technology Corporation Pipelined high speed reed-solomon error/erasure decoder
KR100611956B1 (ko) * 1999-08-19 2006-08-11 삼성전자주식회사 에러 정정 방법과 장치
EP1370003A1 (en) * 2002-06-07 2003-12-10 Deutsche Thomson-Brandt Gmbh Reed-Solomon Decoder

Also Published As

Publication number Publication date
EP1502356A2 (en) 2005-02-02
DE60309857T2 (de) 2007-04-19
KR100970223B1 (ko) 2010-07-16
US7353449B2 (en) 2008-04-01
JP2005525040A (ja) 2005-08-18
CN1653699A (zh) 2005-08-10
CN1653699B (zh) 2011-06-15
AU2003239834A1 (en) 2003-11-11
KR20040104702A (ko) 2004-12-10
EP1502356B1 (en) 2006-11-22
WO2003096546A2 (en) 2003-11-20
DE60309857D1 (de) 2007-01-04
AU2003239834A8 (en) 2003-11-11
US20050166126A1 (en) 2005-07-28
WO2003096546A3 (en) 2004-02-05

Similar Documents

Publication Publication Date Title
JP5300170B2 (ja) 順方向のチェンサーチ方式のリードソロモンデコーダ回路
US6374383B1 (en) Determining error locations using error correction codes
US6347389B1 (en) Pipelined high speed reed-solomon error/erasure decoder
JP4134029B2 (ja) リードソロモン符号の軟判定復号方法
US7322004B1 (en) Efficient high-speed Reed-Solomon decoder
JPH0936755A (ja) 復号装置及びその方法
KR100258952B1 (ko) 새로운 다항식 배열 구조를 채용한 리드-솔로몬(rs) 복호기와그 복호방법
KR19990016134A (ko) 고속 시리얼 에러 위치 다항식 계산회로
US5541937A (en) Apparatus for uniformly correcting erasure and error of received word by using a common polynomial
KR100258951B1 (ko) 리드-솔로몬(rs) 복호기와 그 복호방법
JP3343857B2 (ja) 復号装置、演算装置およびこれらの方法
Zhang et al. Systematically re-encoded algebraic soft-decision Reed–Solomon decoder
WO2006120691A1 (en) Galois field arithmetic unit for error detection and correction in processors
US5787100A (en) Apparatus for determining error evaluator polynomial for use in a Reed-Solomon decoder
JPH06314978A (ja) チェン・サーチ回路
US20050050131A1 (en) Data processing system and method
US20030009723A1 (en) Simplified reed-solomon decoding circuit and method of decoding reed-solomon codes
JP2940386B2 (ja) 誤り訂正復号装置
JPH0750595A (ja) 復号化装置
Zhang et al. Low-power high-efficiency architecture for low-complexity chase soft-decision Reed–Solomon decoding
JPH047847B2 (ja)
JPH11274940A (ja) 修正されたBerlekampMasseyアルゴリズムを用いたリ―ドソロモン復号方法とその復号器
JPH1065552A (ja) 誤り訂正の演算処理方法及び処理回路
KR100247075B1 (ko) 리드솔로몬 디코더에 있어서 고속시리얼 에러타위치 다항식 계산회로
JP2001251196A (ja) リードソロモン復号方法及びリードソロモン復号装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080424

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

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

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees