JP4423519B2 - Error correction code decoding method - Google Patents

Error correction code decoding method Download PDF

Info

Publication number
JP4423519B2
JP4423519B2 JP2000061194A JP2000061194A JP4423519B2 JP 4423519 B2 JP4423519 B2 JP 4423519B2 JP 2000061194 A JP2000061194 A JP 2000061194A JP 2000061194 A JP2000061194 A JP 2000061194A JP 4423519 B2 JP4423519 B2 JP 4423519B2
Authority
JP
Japan
Prior art keywords
error
polynomial
symbol
extended
input data
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
JP2000061194A
Other languages
Japanese (ja)
Other versions
JP2001251195A (en
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2000061194A priority Critical patent/JP4423519B2/en
Publication of JP2001251195A publication Critical patent/JP2001251195A/en
Application granted granted Critical
Publication of JP4423519B2 publication Critical patent/JP4423519B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、1シンボルまたは2シンボル拡張した拡張リードソロモン符号等の誤り訂正符号を復号する復号方法に関する。詳しくは、拡張シンボルの通常訂正および消失訂正を行う手段を組み込むことによって、例えば1拡張リードソロモン符号、2拡張リードソロモン符号の1パスでの混合訂正を可能にした誤り訂正符号の復号方法に係るものである。
【0002】
【従来の技術】
まず、図19を使用して誤り訂正システムについて説明する。
【0003】
付加するパリティのシンボル数をpとして、kシンボルの情報I=(I0,I1,・・・,Ik-1)を送る場合を考える。kシンボルの情報をエンコーダ(符号化ブロック)によって符号化することで、pシンボルのパリティが付加されて、長さn=k+pの符号語C=(C0,C1,・・・,Cn-1)が得られる。
【0004】
符号語はエラーのある伝送路を通り、誤りを含む受信語R=(R0,R1,・・・,Rn-1)として受信される。i番目の誤りをeiとすれば、Ri=Ci+eiとなる。受信された受信語Rをデコーダ(復号化ブロック)によって復号化することで、推定された符号語Cp=(Cp0,Cp1,・・・,Cpn-1)が得られ、この符号語Cpから推定された情報Ip=(Ip0,Ip1,・・・,Ipk-1)が得られる。
【0005】
誤り訂正符号として広く使用されている符号にリードソロモン符号がある。リードソロモン符号ではシンボルをmビットで表現した場合、最大符号長nmaxは2m−1である。例えば、シンボルを8ビットで表現した場合、最大符号長nmaxは255となる。
【0006】
また、リードソロモン符号の符号長を1シンボル延長する1拡張リードソロモン符号があり、最大符号長nmaxは2mとなる。例えば、シンボルを8ビットで表現した場合、最大符号長nmaxは256となる。1拡張リードソロモン符号ではパリティシンボル数pはそのままで、情報シンボルを、リードソロモン符号より1シンボル多く、k+1シンボルとすることができる。
【0007】
また、リードソロモン符号の符号長を2シンボル延長する2拡張リードソロモン符号があり、最大符号長nmaxは2m+1となる。例えば、シンボルを8ビットで表現した場合、最大符号長nmaxは257となる。2拡張リードソロモン符号ではパリティシンボル数pはそのままで、情報シンボルを、リードソロモン符号より2シンボル多く、k+2シンボルとすることができる。
【0008】
次に、リードソロモン符号の復号方法について説明する。復号法には、受信語Rのみから復号化を行う通常訂正と、受信語Rと受信語中の誤りのあると思われる位置を示す消失フラグF=(F0,F1,・・・,Fn-1)を用いて復号化を行う消失訂正と、通常訂正と消失訂正を同時に行う混合訂正の三通りがある。ここでは、図20〜図24を使用して、最も汎用的なリードソロモン符号の混合訂正の復号方法について説明する。
【0009】
なおここで、体GF(2)={0,1}上の原始多項式f(x)に対して、f(x)=0の根をαとし、GF(2)の拡大体を構成する。このとき、原始多項式f(x)の次数をmとすると、1シンボルはmビットとなり、拡大体GF(2m)は、(1)式で表される。
【0010】
【数1】

Figure 0004423519
【0011】
また、ここで使用するリードソロモン符号の生成多項式g(x)は、(2)式で表される。
【0012】
【数2】
Figure 0004423519
【0013】
図20は、リードソロモン符号の復号化のフローチャートを示している。
【0014】
まず、ステップ100では、受信語R=(R0,R1,・・・,Rn-1)と消失フラグF=(F0,F1,・・・,Fn-1)が与えられる。消失フラグFとは、受信語R中で誤りがあると予測される位置に対応しては1を、それ以外の誤りがないと予測される位置に対応しては0を設定したフラグである。
【0015】
次に、ステップ101で、消失数εを、(3)式により求めると共に、消失位置多項式E(x)を(4)式により求める。
【0016】
【数3】
Figure 0004423519
【0017】
次に、ステップ102で、(5)式に示すようなパリティ検査行列Hを用いて、シンドロームS=(S0,S1,・・・,Sp-1)を、(6)式から求める。シンドロームSの計算方法は、図21を用いて後で説明する。そして、(7)式に示すようなシンドローム多項式S(x)を求める。
【0018】
【数4】
Figure 0004423519
【0019】
次に、ステップ103で、消失位置多項式E(x)およびシンドローム多項式S(x)を用いて、(8)式に示すように、修正シンドローム多項式Sm(x)を求める。
【0020】
【数5】
Figure 0004423519
【0021】
次に、ステップ104で、修正シンドローム多項式Sm(x)を用いて、誤り評価多項式ω(x)と誤り位置多項式σ(x)を求める。誤り評価多項式ω(x)と誤り位置多項式σ(x)の計算方法は、図22を用いて後で説明する。
【0022】
次に、ステップ105で、degω(x)<degσ(x)の条件を判定し、偽ならばステップ110に進んでエラー信号を出力して終了し、真ならばステップ106に進む。ここで、degω(x)は誤り評価多項式ω(x)の次数であり、degσ(x)は誤り位置多項式σ(x)の次数である。
【0023】
ステップ106では、(9)式の条件を判定し、偽ならばステップ110に進んでエラー信号を出力して終了し、真ならばステップ107に進む。なお、(9)式の右辺のカッコは、小数部分を切り捨てることを意味している。以下の式においても同様である。
【0024】
【数6】
Figure 0004423519
【0025】
ステップ107では、誤り位置多項式σ(x)を使用して誤り位置を検出する。誤り位置の計算方法は、図23を用いて後で説明する。そして、ステップ108で、#roots=degσ(x)の条件を判定し、偽ならばステップ110に進んでエラー信号を出力して終了し、真ならばステップ109に進む。ここで、#rootsはステップ107で検出した誤り位置の数である。
【0026】
ステップ109では、ステップ104で求められた誤り評価多項式ω(x)および誤り位置多項式σ(x)と、ステップ107で検出した誤り位置iとから、位置iでの誤り値eiを計算し、受信語Rと誤り位置i、誤り値eiから、推定された情報Ip=(Cp0,Cp1,・・・,Cpk-1)を計算して出力する。推定された情報Ipの計算方法は、図24を用いて後で説明する。
【0027】
図21のフローチャートを用いて、受信語RからシンドロームSを計算する方法を説明する。
【0028】
まず、ステップ120では、受信語R=(R0,R1,・・・,Rn-1)を受け取る。そして、ステップ121で、シンドロームSの各要素(S0,S1,・・・,Sp-1)を受信語Rの要素R0で初期化する。また、ステップ122で、カウンタiを1に初期化する。
【0029】
次に、ステップ123で、シンドロームSの各要素を、(10)式によって更新する。
【0030】
【数7】
Figure 0004423519
【0031】
次に、ステップ124で、カウンタiの値を1だけ増加させる。そして、ステップ125で、i<nの条件を判定し、真ならばステップ123に戻ってシンドローム計算を繰り返し、偽ならばステップ126に進み、シンドロームS=(S0,S1,・・・,Sp-1)を出力する。
【0032】
図22のフローチャートを用いて、修正シンドローム多項式Sm(x)から、誤り評価多項式ω(x)と誤り位置多項式σ(x)を計算する方法(ユークリッドの互除法を用いたアルゴリズムによる方法)を説明する。
【0033】
まず、ステップ130で、r-1(x),r0(x),u-1(x),u0(x),v-1(x),v0(x)を、(11)式に示すように、初期化する。
【0034】
【数8】
Figure 0004423519
【0035】
次に、ステップ131で、カウンタiを0に初期化する。また、ステップ132で、カウンタiの値を1だけ増加させる。そして、ステップ133で、除算をして、(12)式を満足するqi-1(x)を見つける。ここで、degri(x)はri(x)の次数であり、degri-1(x)はri-1(x)の次数である。
【0036】
【数9】
Figure 0004423519
【0037】
次に、ステップ134で、ステップ133で見つけたqi-1(x)を用いて、(13)式に示すように、ui(x),vi(x)を更新する。
【0038】
【数10】
Figure 0004423519
【0039】
次に、ステップ135で、(14)式の条件(終了条件)を判定し、真であればステップ136に進み、偽であればステップ132に戻り、ステップ133で再び除算をする。ステップ136では、(15)式に示すように、誤り評価多項式ω(x)、誤り位置多項式σ(x)を設定する。
【0040】
【数11】
Figure 0004423519
【0041】
図23のフローチャートを用いて、誤り位置多項式σ(x)から、誤り位置を検出する方法を説明する。
【0042】
まず、ステップ140で、カウンタiを0に初期化する。そして、ステップ141で、σ(α-i)=0の条件を判定し、真ならばカウンタiの示す位置は誤り位置であるのでステップ142に進み、偽であればカウンタiの示す位置は誤り位置ではないのでステップ143に進む。ステップ142では、検出された誤り位置を表すカウンタiの値をメモリAに登録し、その後にステップ143に進む。ステップ143では、カウンタiの値を1だけ増加させる。
【0043】
次に、ステップ144で、i<nの条件(終了条件)を判定し、真ならばステップ141に戻って誤り位置の検出を繰り返し、偽ならばステップ145に進む。ステップ145では、誤り位置としてメモリAの登録内容を出力する。
【0044】
図24のフローチャートを用いて、誤り評価多項式ω(x)および誤り位置多項式σ(x)と、検出した誤り位置iとから、受信語Rの誤りを訂正する方法を説明する。
【0045】
まず、ステップ150で、カウンタiを0に初期化する。そして、ステップ151で、i∈Aの条件を判定し、真ならばカウンタiの値は誤り位置を表しているのでステップ152に進み、偽ならばカウンタiの値は誤り位置ではないのでステップ154に進む。
【0046】
ステップ152では、誤り評価多項式ω(x)と、誤り位置多項式σ(x)の微分σ′(x)と、誤り位置iを用いて、(16)式に示すように誤り値eiを計算し、ステップ153に進む。ステップ153では、推定符号語Cpのi番目の要素CpiをRi−eiとして計算し、ステップ155に進む。ステップ154では、推定符号語Cpのi番目の要素CpiをRiとして、ステップ155に進む。
【0047】
【数12】
Figure 0004423519
【0048】
ステップ155では、カウンタiの値を1だけ増加させる。そして、ステップ156で、i<nの条件(終了条件)を判定し、真ならばステップ151に戻って誤り値の計算を繰り返し、偽ならばステップ157に進む。ステップ157では、推定符号語Cp=(Cp0,Cp1,・・・,Cpn-1)を得、そしてステップ158で、推定符号語Cpより推定情報Ip=(Cp0,Cp1,・・・,Cpk-1)を得て出力する。
【0049】
図25は、上述したリードソロモン符号の復号方法を実施する復号装置160の構成を示している。
【0050】
この復号装置160は、受信語(入力データ)Rを入力する入力端子161と、受信語Rに対応した消失フラグFを入力する入力端子162とを有している。
【0051】
また、復号装置160は、受信語Rからシンドローム多項式S(x)を得るためのシンドローム多項式計算回路163(図20のステップ102参照)と、消失フラグFから消失位置多項式E(x)を得るための消失位置多項式計算回路164(図20のステップ101参照)と、消失フラグFから消失数εを求めるための消失数計算回路165(図20のステップ101参照)とを有している。
【0052】
また、復号装置160は、シンドローム多項式S(x)、消失位置多項式E(x)から修正シンドローム多項式Sm(x)を求め、この修正シンドローム多項式Sm(x)と消失位置多項式E(x)から誤り評価多項式ω(x)および誤り位置多項式σ(x)を求める誤り多項式計算回路166(図20のステップ104参照)を有している。
【0053】
また、復号装置160は、誤り評価多項式ω(x)および誤り位置多項式σ(x)から受信語Rの各要素Riの誤り値eiを求める誤り値計算回路167(図24のステップ152参照)と、受信語Rの各要素Riのタイミングを、誤り値計算回路167より出力される誤り値eiのタイミングに合わせるための受信語遅延回路168と、受信語Rの各要素Riより誤り値eiを減算する減算器169(図24のステップ153参照)とを有している。
【0054】
また、復号装置160は、減算器169の出力Ri−eiまたは受信語遅延回路168の出力Riのいずれかを選択的に取り出す信号選択回路170と、誤り位置多項式σ(x)から誤り位置iを検出し、誤り位置iに応じた選択信号SELを出力すると共に、#roots=degσ(x)の条件を判定し(図20のステップ108参照)、偽であるときはエラー信号ERを出力する誤り位置判定回路171と、信号選択回路170の出力を導出する出力端子172とを有している。
【0055】
ここで、誤り位置判定回路171より出力される選択信号SELは信号選択回路170に供給され、信号選択回路170では誤り位置iで減算器169の出力Ri−eiが取り出され、誤り位置iでない位置で受信語遅延回路168の出力Riが取り出されるようになされている。
【0056】
また、復号装置160は、degω(x)<degσ(x)の条件や、(9)式の条件を判定し(図20のステップ105,106参照)、偽であるときはエラー信号ERを出力するエラー判定回路173と、誤り位置判定回路171より出力されるエラー信号ERおよびエラー判定回路173より出力されるエラー信号ERが入力されるオアゲート174と、このオアゲート174の出力を導出する出力端子175とを有している。
【0057】
なお、オアゲート174の出力は信号選択回路170に供給され、オアゲート174の出力としてエラー信号ERが得られる場合には、信号選択回路170では選択信号SELの状態に依らずに、常に受信語遅延回路168の出力Riを取り出すようにされている。
【0058】
図25に示す復号装置160の動作を説明する。
【0059】
入力端子161に入力された受信語(入力データ)Rはシンドローム多項式計算回路163に供給される。そして、この計算回路163では、受信語RからシンドロームSが計算され、シンドローム多項式S(x)が求められる。一方、入力端子162に入力された消失フラグFは消失位置多項式計算回路164に供給される。そして、この計算回路164では、消失フラグFから消失位置多項式E(x)が求められる。また、入力端子162に入力された消失フラグFは消失数計算回路165に供給される。そして、この計算回路165では、消失フラグFより消失数εが求められる。
【0060】
計算回路163で得られたシンドローム多項式S(x)と、計算回路164で得られた消失位置多項式E(x)は、誤り多項式計算回路166に供給される。そして、この計算回路166では、シンドローム多項式S(x)、消失位置多項式E(x)から修正シンドローム多項式Sm(x)が求められ、さらにこの修正シンドローム多項式Sm(x)と消失位置多項式E(x)から誤り評価多項式ω(x)および誤り位置多項式σ(x)が求められる。
【0061】
計算回路166で得られた誤り評価多項式ω(x)および誤り位置多項式σ(x)は誤り値計算回路167に供給される。この計算回路167では、誤り評価多項式ω(x)および誤り位置多項式σ(x)から、受信語Rの各要素Riの誤り値eiが順次求められる。そして、この誤り値eiが減算器169に供給されて、受信語遅延回路168より出力される受信語Rの各要素Riより減算される。
【0062】
また、計算回路166で得られた誤り位置多項式σ(x)は誤り位置判定回路171に供給される。そして、この誤り位置判定回路171では、誤り位置多項式σ(x)から誤り位置iが検出され、誤り位置iに応じた選択信号SELが出力される。この選択信号SELは信号選択回路170に制御信号として供給される。そして、信号選択回路170では、誤り位置iで減算器169の出力Ri−eiが取り出され、誤り位置iでない位置で受信語遅延回路168の出力Riが取り出される。
【0063】
これにより、信号選択回路170からは誤り訂正された推定符号語Cpが取り出され、この推定符号語Cpが出力データとして出力端子172に導出される。推定符号語Cpよりパリティシンボル部分を除くことで、推定情報Ip=(Cp0,Cp1,・・・,Cpk-1)が得られる。
【0064】
なお、エラー判定回路173または誤り位置判定回路171よりエラー信号ERが出力される場合、このエラー信号ERが出力端子175に導出されると共に、このエラー信号ERが信号選択回路170に供給される。そして、信号選択回路170では、選択信号SELの状態に依らずに、常に受信語遅延回路168の出力Riが取り出される。これにより、出力端子175にエラー信号ERが導出される状態では、受信語Rが誤り訂正されず、出力端子172にそのまま出力されることとなる。
【0065】
【発明が解決しようとする課題】
上述したように、通常のリードソロモン符号は、1パスでの混合訂正が可能であった。これに対して、1拡張リードソロモン符号および2拡張リードソロモン符号に関しては、2パスでの混合訂正の方法が提案されているが(Richard E. Blahut ,″THEORY AND PRACTICE OF ERROR CONTOL CODES″, ISBN:0-201-10102-5 ,p.260〜 ″9.3 DECODING OF EXTENDED REED-SOLOMON CODES″)、1パスでの混合訂正の方法は提案されていない。因に、拡張リードソロモン符号の2パスでの混合訂正においては、復号に時間がかかり、またハードウェア規模も大きくなるという不都合がある。
【0066】
そこで、この発明では、例えば1拡張リードソロモン符号、2拡張リードソロモン符号の1パスでの混合訂正を可能にする誤り訂正符号の復号方法を提供することを目的とする。
【0067】
【課題を解決するための手段】
この発明に係る誤り訂正符号の復号方法は、拡張シンボルを含む入力データから上記拡張シンボルを計算に入れてシンドローム多項式を求める第1のステップと、上記入力データに対応した消失フラグから消失位置多項式を求める第2のステップと、上記入力データに対応した消失フラグから消失数を求める第3のステップと、上記シンドローム多項式および消失位置多項式から誤り位置多項式および誤り評価多項式を求める第4のステップと、上記誤り位置多項式および誤り評価多項式から誤り位置を求める第5のステップと、上記誤り位置多項式および誤り評価多項式から上記拡張シンボルを含む誤り値を求める第6のステップと、上記誤り位置および上記誤り値を用いて上記入力データの誤りを訂正して出力データを得る第7のステップと、上記拡張シンボルの訂正可能判定を含めた訂正可能判定を行う第8のステップとを備え、上記入力データ中の拡張シンボルの値は、拡張シンボル以外のシンボルの値を加算して得たものであり、上記第8のステップは、上記誤り位置多項式の次数と、上記消失数および上記入力データのパリティシンボル数を使用して求められた数とを比較して訂正可能判定をするものである。
【0068】
この発明においては、拡張シンボルの通常訂正および消失訂正を行う手段が組み込まれるため、例えば1拡張リードソロモン符号または2拡張リードソロモン符号の1パスでの混合訂正が可能となる。
【0069】
【発明の実施の形態】
第1の実施の形態について説明する。この第1の実施の形態は、1拡張リードソロモン符号において通常訂正と消失訂正を同時に行う混合訂正の復号法である。
【0070】
なおここで、体GF(2)={0,1}上の原始多項式f(x)に対して、f(x)=0の根をαとし、GF(2)の拡大体を構成する。このとき、原始多項式f(x)の次数をmとすると、1シンボルはmビットとなり、拡大体GF(2m)は、上述の(1)式で表される。また、ここで使用するリードソロモン符号の生成多項式g(x)は、上述の(2)式で表される。
【0071】
図1は、第1の実施の形態における1拡張リードソロモン符号の復号化のフローチャートを示している。
【0072】
まず、ステップ200では、受信語R=(R-,R0,R1,・・・,Rn-1)と消失フラグF=(F-,F0,F1,・・・,Fn-1)が与えられる。消失フラグFとは、受信語R中で誤りがあると予測される位置に対応しては1を、それ以外の誤りがないと予測される位置に対応しては0を設定したフラグである。上述した従来のリードソロモン符号の復号法との違いは、拡張受信シンボルR-と、拡張消失フラグF-が追加されたことである。
【0073】
次に、ステップ201で、消失数εを、(17)式により求めると共に、消失位置多項式E(x)を上述の(4)式により求める。上述した従来のリードソロモン符号の復号法との違いは、消失数εに拡張消失フラグF-を計算に入れたことである。
【0074】
【数13】
Figure 0004423519
【0075】
次に、ステップ202で、(18)式に示すようなパリティ検査行列Hを用いて、シンドロームS=(S0,S1,・・・,Sp-1)を、上述の(6)式から求める。シンドロームSの計算方法は、図2を用いて後で説明する。そして、上述の(7)式に示すようなシンドローム多項式S(x)を求める。
【0076】
【数14】
Figure 0004423519
【0077】
次に、ステップ203で、消失位置多項式E(x)およびシンドローム多項式S(x)を用いて、上述の(8)式に示すように、修正シンドローム多項式Sm(x)を求める。
【0078】
次に、ステップ204で、修正シンドローム多項式Sm(x)を用いて、誤り評価多項式ω(x)と誤り位置多項式σ(x)を求める。誤り評価多項式ω(x)と誤り位置多項式σ(x)の計算方法は、図3を用いて後で説明する。
【0079】
次に、ステップ205で、degω(x)<degσ(x)の条件を判定し、偽ならばステップ206に進み、真ならばステップ208に進む。ここで、degω(x)は誤り評価多項式ω(x)の次数であり、degσ(x)は誤り位置多項式σ(x)の次数である。ステップ206では、degω(x)=degσ(x)の条件を判定し、偽ならばステップ214に進んでエラー信号を出力して終了し、真ならばステップ207に進む。
【0080】
ステップ207では、(19)式の条件を判定し、偽ならばステップ214に進んでエラー信号を出力して終了し、真ならばステップ209に進む。ステップ209では、ステップ205,206の判定結果から拡張シンボル位置に誤りがあることが判明しているので、拡張誤りフラグe-flagを1に設定し、その後にステップ211に進む。
【0081】
【数15】
Figure 0004423519
【0082】
ステップ208では、上述の(9)式の条件を判定し、偽ならばステップ214に進んでエラー信号を出力して終了し、真ならばステップ210に進む。ステップ210では、ステップ205の判定結果から拡張シンボル位置に誤りがないことが判明しているので、拡張誤りフラグe-flagを0に設定し、その後にステップ211に進む。
【0083】
ステップ211では、誤り位置多項式σ(x)を使用して誤り位置を検出する。このとき、R-に対する誤り位置の検出は行わない。誤り位置の計算方法は、図4を用いて後で説明する。そして、ステップ212で、#roots=degσ(x)の条件を判定し、偽ならばステップ214に進んでエラー信号を出力して終了し、真ならばステップ213に進む。ここで、#rootsはステップ211で検出した誤り位置の数である。
【0084】
ステップ213では、ステップ204で求められた誤り評価多項式ω(x)および誤り位置多項式σ(x)と、ステップ211で検出した誤り位置iとから、位置iでの誤り値eiを計算すると共に、この誤り値eiとステップ202で得られたシンドロームSの第0要素S0を用いて拡張誤り値e-を計算し、さらに受信語Rと誤り位置i、誤り値ei、拡張誤り値e-から、推定情報Ip=(Cp-,Cp0,Cp1,・・・,Cpk-1)を計算する。推定情報Ipの計算方法は、図5を用いて後で説明する。ここで、拡張シンボルCp-は、拡張シンボルCp-以外の値を全て加算して得たものである。つまり、Cp-=Cp0+Cp1+・・・+Cpn-1である。
【0085】
次に、ステップ215で、e-flag=0の条件を判定し、偽ならばステップ216に進み、真ならばステップ217に進む。ステップ216では、e-≠0の条件を判定し、偽ならばステップ214に進んでエラー信号を出力して終了し、真ならば推定情報Ipを出力して終了する。一方、ステップ217では、e-=0の条件を判定し、偽ならばステップ214に進んでエラー信号を出力して終了し、真ならば推定情報Ipを出力して終了する。
【0086】
図2のフローチャートを用いて、受信語RからシンドロームSを計算する方法を説明する。
【0087】
まず、ステップ220では、受信語R=(R-,R0,R1,・・・,Rn-1)を受け取る。そして、ステップ221で、シンドロームSの各要素(S0,S1,・・・,Sp-1)を受信語Rの要素R0で初期化する。
【0088】
次に、ステップ222で、シンドロームSの第0要素S0から受信語Rの最初の要素R-を減算し、その減算結果をS0とする。また、ステップ223で、カウンタiを1に初期化する。そして、ステップ224で、シンドロームSの各要素を、上述の(10)式によって更新する。
【0089】
次に、ステップ225で、カウンタiの値を1だけ増加させる。そして、ステップ226で、i<nの条件を判定し、真ならばステップ224に戻ってシンドローム計算を繰り返し、偽ならばステップ227に進み、シンドロームS=(S0,S1,・・・,Sp-1)を出力する。
【0090】
図3のフローチャートを用いて、修正シンドローム多項式Sm(x)から、誤り評価多項式ω(x)と誤り位置多項式σ(x)を計算する方法(ユークリッドの互除法を用いたアルゴリズムによる方法)を説明する。
【0091】
まず、ステップ230で、r-1(x),r0(x),u-1(x),u0(x),v-1(x),v0(x)を、上述の(11)式に示すように、初期化する。そして、ステップ231で、カウンタiを0に初期化する。また、ステップ232で、カウンタiの値を1だけ増加させる。そして、ステップ233で、除算をして、上述の(12)式を満足するqi-1(x)を見つける。ここで、degri(x)はri(x)の次数であり、degri-1(x)はri-1(x)の次数である。
【0092】
次に、ステップ234で、ステップ233で見つけたqi-1(x)を用いて、上述の(13)式に示すように、ui(x),vi(x)を更新する。
【0093】
次に、ステップ235で、上述の(14)式の条件(終了条件)を判定し、真であればステップ236に進み、偽であればステップ232に戻り、ステップ233で再び除算をする。ステップ236では、上述の(15)式に示すように、誤り評価多項式ω(x)、誤り位置多項式σ(x)を設定する。
【0094】
図4のフローチャートを用いて、誤り位置多項式σ(x)から、誤り位置を検出する方法を説明する。
【0095】
まず、ステップ240で、カウンタiを0に初期化する。そして、ステップ241で、σ(α-i)=0の条件を判定し、真ならばカウンタiの示す位置は誤り位置であるのでステップ242に進み、偽であればカウンタiの示す位置は誤り位置ではないのでステップ243に進む。ステップ242では、検出された誤り位置を表すカウンタiの値をメモリAに登録し、その後にステップ243に進む。ステップ243では、カウンタiの値を1だけ増加させる。
【0096】
次に、ステップ244で、i<nの条件(終了条件)を判定し、真ならばステップ241に戻って誤り位置の検出を繰り返し、偽ならばステップ245に進む。ステップ245では、誤り位置としてメモリAの登録内容を出力する。
【0097】
図5のフローチャートを用いて、誤り評価多項式ω(x)および誤り位置多項式σ(x)と、検出した誤り位置iとから、受信語Rの誤り訂正をする方法を説明する。
【0098】
まず、ステップ250で、変数wをシンドロームSの第0要素S0でw=−S0として初期化する。wは、拡張誤り値e-を、(20)式に示すように計算するために使用する。
【0099】
【数16】
Figure 0004423519
【0100】
次に、ステップ251で、カウンタiを0に初期化する。そして、ステップ252で、i∈Aの条件を判定し、真ならばカウンタiの値は誤り位置を表しているのでステップ253に進み、偽ならばカウンタiの値は誤り位置ではないのでステップ256に進む。
【0101】
ステップ253では、誤り評価多項式ω(x)と、誤り位置多項式σ(x)の微分σ′(x)と、誤り位置iを用いて、上述の(16)式に示すように誤り値eiを計算し、ステップ254に進む。ステップ254では、推定符号語Cpのi番目の要素CpiをRi−eiとして計算し、ステップ255に進む。ステップ255では、w=w+eiとしてwを更新し、ステップ257に進む。ステップ256では、推定符号語Cpのi番目の要素CpiをRiとして、ステップ257に進む。
【0102】
ステップ257では、カウンタiの値を1だけ増加させる。そして、ステップ258で、i<nの条件(終了条件)を判定し、真ならばステップ252に戻って誤り値の計算を繰り返し、偽ならばステップ259に進む。ステップ259では、拡張誤り値e-にwの値を代入する。
【0103】
次に、ステップ260で、推定拡張符号シンボルCp-を、Cp-=R-−e-として設定する。そして、ステップ261で、推定符号語Cp=(Cp-,Cp0,・・・,Cpn-1)を得、さらにステップ262で、推定符号語Cpより、推定情報Ip=(Cp-,Cp0,Cp1,・・・,Cpk-1)を得る。
【0104】
図6は、図1のフローチャートに示す1拡張リードソロモン符号の復号方法を実施する復号装置270の構成を示している。
【0105】
この復号装置270は、受信語(入力データ)Rを入力する入力端子271と、受信語Rに対応した消失フラグFを入力する入力端子272とを有している。
【0106】
また、復号装置270は、受信語Rからシンドローム多項式S(x)を得るためのシンドローム多項式計算回路273(図1のステップ202参照)と、消失フラグFから消失位置多項式E(x)を得るための消失位置多項式計算回路274(図1のステップ201参照)と、消失フラグFから消失数εを求めるための消失数計算回路275(図1のステップ201参照)とを有している。
【0107】
また、復号装置270は、シンドローム多項式S(x)、消失位置多項式E(x)から修正シンドローム多項式Sm(x)を求め、この修正シンドローム多項式Sm(x)と消失位置多項式E(x)から誤り評価多項式ω(x)および誤り位置多項式σ(x)を求める誤り多項式計算回路276(図1のステップ204参照)を有している。
【0108】
また、復号装置270は、誤り評価多項式ω(x)および誤り位置多項式σ(x)から受信語Rの各要素Riの誤り値eiを求める誤り値計算回路277(図5のステップ253参照)と、受信語Rの各要素Riのタイミングを、誤り値計算回路277より出力される誤り値eiのタイミングに合わせるための受信語遅延回路278と、受信語Rの各要素Riより誤り値eiを減算する減算器279(図5のステップ254参照)とを有している。
【0109】
また、復号装置270は、減算器279の出力Ri−eiまたは受信語遅延回路278の出力Riのいずれかを選択的に取り出す信号選択回路280と、誤り位置多項式σ(x)から誤り位置iを検出し、誤り位置iに応じた選択信号SELを出力すると共に、#roots=degσ(x)の条件を判定し(図1のステップ212参照)、偽であるときはエラー信号ERを出力する誤り位置判定回路281とを有している。ここで、誤り位置判定回路281より出力される選択信号SELは信号選択回路280に供給され、信号選択回路280では誤り位置iで減算器279の出力Ri−eiが取り出され、誤り位置iでない位置で受信語遅延回路278の出力Riが取り出されるようになされている。
【0110】
また、復号装置270は、誤り評価多項式ω(x)および誤り位置多項式σ(x)から拡張誤り値e-を求める拡張誤り値計算回路282(図5のステップ259参照)と、信号選択回路280の出力より拡張誤り値e-を減算する減算器283(図5のステップ260参照)と、減算器283の出力または信号選択回路280の出力のいずれかを選択的に取り出す信号選択回路284とを有している。
【0111】
また、復号装置270は、誤り評価多項式ω(x)および誤り位置多項式σ(x)から拡張シンボル位置に誤りがあるか否かを判定し、拡張誤りフラグe-flagを設定する拡張誤りフラグ計算回路285(図1のステップ209,210参照)と、信号選択回路284の出力を導出する出力端子286とを有している。ここで、拡張シンボル位置に誤りがあると判定されるときはe-flag=1とされ、拡張シンボル位置に誤りがないと判定されるときはe-flag=0とされる。この計算回路285より出力される拡張誤りフラグe-flagは信号選択回路284に供給される。
【0112】
信号選択回路284では、信号選択回路280より拡張受信シンボルR-が出力される際には、e-flag=1であるときは減算器283の出力R-−e-が推定拡張シンボルCp-として取り出され、e-flag=0であるときは信号選択回路280の出力R-が推定拡張シンボルCp-として取り出されるようになされている。また、信号選択回路284では、信号選択回路280より拡張受信シンボルR-以外のシンボルが出力される際には、信号選択回路280の出力のみが取り出される。
【0113】
また、復号装置270は、degω(x)<degσ(x)が偽であればdegω(x)=degσ(x)の条件や(19)式の条件を判定し、一方degω(x)<degσ(x)が真であれば(9)式の条件を判定し(図1のステップ205〜208参照)、偽であるときはエラー信号ERを出力するエラー判定回路287と、e-flag=0が偽であればe-≠0の条件を判定し、一方e-flag=0が真であればe-=0の条件を判定し(図1のステップ215〜217参照)、偽であるときはエラー信号ERを出力する拡張エラー判定回路288とを有している。
【0114】
また、復号装置270は、誤り位置判定回路281より出力されるエラー信号ER、エラー判定回路287より出力されるエラー信号ERおよび拡張エラー判定回路288より出力されるエラー信号ERが入力されるオアゲート289と、このオアゲート289の出力を導出する出力端子290とを有している。
【0115】
なお、オアゲート289の出力は信号選択回路280,284に供給され、オアゲート289の出力としてエラー信号ERが得られる場合には、信号選択回路280では選択信号SELの状態に依らずに常に受信語遅延回路278の出力Riが取り出され、信号選択回路284では拡張誤りフラグe-flagの状態に依らずに常に信号選択回路280の出力が取り出されるようにされている。
【0116】
図6に示す復号装置270の動作を説明する。
【0117】
入力端子271に入力された受信語(入力データ)Rはシンドローム多項式計算回路273に供給される。そして、この計算回路273では、受信語RからシンドロームSが計算され、シンドローム多項式S(x)が求められる。一方、入力端子272に入力された消失フラグFは消失位置多項式計算回路274に供給される。そして、この計算回路274では、消失フラグFから消失位置多項式E(x)が求められる。また、入力端子272に入力された消失フラグFは消失数計算回路275に供給される。そして、この計算回路275では、消失フラグFより消失数εが求められる。
【0118】
計算回路273で得られたシンドローム多項式S(x)と、計算回路274で得られた消失位置多項式E(x)は、誤り多項式計算回路276に供給される。そして、この計算回路276では、シンドローム多項式S(x)、消失位置多項式E(x)から修正シンドローム多項式Sm(x)が求められ、さらにこの修正シンドローム多項式Sm(x)と消失位置多項式E(x)から誤り評価多項式ω(x)および誤り位置多項式σ(x)を求められる。
【0119】
計算回路276で得られた誤り評価多項式ω(x)および誤り位置多項式σ(x)は誤り値計算回路277に供給される。この計算回路277では、誤り評価多項式ω(x)および誤り位置多項式σ(x)から、受信語Rの各要素Riの誤り値eiが順次求められる。そして、この誤り値eiが減算器279に供給されて、受信語遅延回路278より出力される受信語Rの各要素Riより減算される。
【0120】
また、計算回路276で得られた誤り位置多項式σ(x)は誤り位置判定回路281に供給される。この誤り位置判定回路281では、誤り位置多項式σ(x)から誤り位置iが検出され、誤り位置iに応じた選択信号SELが出力される。この選択信号SELは信号選択回路280に制御信号として供給される。そして、信号選択回路280では、誤り位置iで減算器279の出力Ri−eiが推定符号語Cpの要素Cpiとして取り出され、誤り位置iでない位置で受信語遅延回路278の出力Riが推定符号語Cpの要素Cpiとして取り出される。
【0121】
また、計算回路276で得られた誤り評価多項式ω(x)および誤り位置多項式σ(x)は拡張誤り値計算回路282に供給される。この計算回路282では、誤り評価多項式ω(x)および誤り位置多項式σ(x)から、拡張受信シンボルR-の誤り値、つまり拡張誤り値e-が求められる。そして、この拡張誤り値e-が減算器283に供給されて、信号選択回路280の出力より減算される。
【0122】
また、計算回路276で得られた誤り評価多項式ω(x)および誤り位置多項式σ(x)は拡張誤りフラグ計算回路285に供給される。この計算回路285では、誤り評価多項式ω(x)および誤り位置多項式σ(x)から拡張シンボル位置に誤りがあるか否かが判定され、拡張シンボル位置に誤りがあると判定されるときはe-flag=1に設定され、拡張シンボル位置に誤りがないと判定されるときはe-flag=0に設定される。
【0123】
この拡張誤りフラグe-flagは信号選択回路284に制御信号として供給される。信号選択回路284では、信号選択回路280より拡張受信シンボルR-が出力される際には、e-flag=1であるときは減算器283の出力R-−e-が推定拡張シンボルCp-として取り出され、e-flag=0であるときは信号選択回路280の出力R-が推定拡張シンボルCp-として取り出される。また、信号選択回路284では、信号選択回路280より拡張受信シンボルR-以外のシンボルが出力される際には、信号選択回路280の出力のみが取り出される。
【0124】
これにより、信号選択回路284からは誤り訂正された推定符号語Cp(推定拡張シンボルCp-を含む)が取り出され、この推定符号語Cpが出力データとして出力端子286に導出される。そして、推定符号語Cpよりパリティシンボル部分を除くことで、推定情報Ip=(Cp-,Cp0,Cp1,・・・,Cpk-1)が得られる。
【0125】
なお、誤り位置判定回路281、エラー判定回路287または拡張エラー判定回路288よりエラー信号ERが出力される場合、このエラー信号ERが出力端子290に導出されると共に、このエラー信号ERが信号選択回路280,284に供給される。そして、信号選択回路280では選択信号SELの状態に依らずに常に受信語遅延回路278の出力Riが取り出され、信号選択回路284では拡張誤りフラグe-flagの状態に依らずに常に信号選択回路280の出力が取り出される。これにより、出力端子290にエラー信号ERが導出される状態では、受信語Rが誤り訂正されず、出力端子286にそのまま出力されることとなる。
【0126】
以上説明したように、第1の実施の形態においては、1拡張リードソロモン符号の1パスでの混合訂正が可能となる。したがって、1拡張リードソロモン符号の混合訂正を短時間で行うことが可能となり、またハードウェア規模も小さくできるという効果がある。
【0127】
次に、第2の実施の形態について説明する。この第2の実施の形態も、1拡張リードソロモン符号において通常訂正と消失訂正を同時に行う混合訂正の復号法に係るものである。図7は、第2の実施の形態における1拡張リードソロモン符号の復号化のフローチャートを示している。
【0128】
まず、ステップ300〜304の処理をする。このステップ300〜304では、図1のステップ200〜204とそれぞれ同様の処理をする。
【0129】
次に、ステップ305で、訂正可能判定数hを、h=2degσ(x)−εとして設定する。訂正可能判定数hは、後述するステップ311で使用するが、最終的には、(21)式に示すようになる。
【0130】
【数17】
Figure 0004423519
【0131】
次に、ステップ306で、degω(x)<degσ(x)の条件を判定し、偽ならばステップ307に進み、真ならばステップ310に進む。ステップ307では、degω(x)=degσ(x)の条件を判定し、偽ならばステップ315に進んでエラー信号を出力して終了し、真ならばステップ308に進む。ステップ308では、h=h+2として、訂正可能判定数hを更新し、ステップ309に進む。
【0132】
ステップ309では、ステップ306,307の判定結果から拡張シンボル位置に誤りがあることが判明しているので、拡張誤りフラグe-flagを1に設定し、その後にステップ311に進む。ステップ310では、ステップ306の判定結果から拡張シンボル位置に誤りがないことが判明しているので、拡張誤りフラグe-flagを0に設定し、その後にステップ311に進む。
【0133】
次に、ステップ311で、h≦pの条件を判定し、偽ならばステップ315に進んでエラー信号を出力して終了し、真ならばステップ312に進む。そして、ステップ312〜318の処理をする。このステップ312〜318では、図1のステップ211〜217とそれぞれ同様の処理をする。
【0134】
すなわち、ステップ312では、誤り位置多項式σ(x)を使用して誤り位置を検出する。そして、ステップ313で、#roots=degσ(x)の条件を判定し、偽ならばステップ315に進んでエラー信号を出力して終了し、真ならばステップ314に進む。
【0135】
ステップ314では、ステップ304で求められた誤り評価多項式ω(x)および誤り位置多項式σ(x)と、ステップ312で検出した誤り位置iとから、位置iでの誤り値eiを計算すると共に、この誤り値eiとステップ302で得られたシンドロームSの第0要素S0を用いて拡張誤り値e-を計算し、さらに受信語Rと誤り位置i、誤り値ei、拡張誤り値e-から、推定情報Ip=(Cp-,Cp0,Cp1,・・・,Cpk-1)を求める。
【0136】
次に、ステップ316で、e-flag=0の条件を判定し、偽ならばステップ317に進み、真ならばステップ318に進む。ステップ317では、e-≠0の条件を判定し、偽ならばステップ315に進んでエラー信号を出力して終了し、真ならば推定情報Ipを出力して終了する。一方、ステップ318では、e-=0の条件を判定し、偽ならばステップ315に進んでエラー信号を出力して終了し、真ならば推定情報Ipを出力して終了する。
【0137】
図7のフローチャートに示す1拡張リードソロモン符号の復号方法を実施する復号装置は、エラー判定回路287の動作が異なる他は、図6に示す復号装置270と同様に構成される。すなわち、図6に示す復号装置270において、エラー判定回路287は、ステップ205〜208の判定処理によってエラー信号ERを出力するが、図7のフローチャートに示す1拡張リードソロモン符号の復号方法を実施する復号装置において、エラー判定回路287は、ステップ306,307,311の判定処理によってエラー信号ERを出力するように構成される。
【0138】
以上説明したように、第2の実施の形態においても、第1の実施の形態と同様に、1拡張リードソロモン符号の1パスでの混合訂正が可能となる。
【0139】
次に、第3の実施の形態について説明する。この第3の実施の形態も、1拡張リードソロモン符号において通常訂正と消失訂正を同時に行う混合訂正の復号法に係るものである。
【0140】
図8は、第3の実施の形態における1拡張リードソロモン符号の復号化のフローチャートを示している。
【0141】
まず、ステップ400では、受信語R=(R+,R0,R1,・・・,Rn-1)と消失フラグF=(F+,F0,F1,・・・,Fn-1)が与えられる。消失フラグFとは、受信語R中で誤りがあると予測される位置に対応しては1を、それ以外の誤りがないと予測される位置に対応しては0を設定したフラグである。上述した従来のリードソロモン符号の復号法との違いは、拡張受信シンボルR+と、拡張消失フラグF+が追加されたことである。
【0142】
次に、ステップ401で、消失数εを、(22)式により求めると共に、R+,R0,R1,・・・,Rn-1に対する消失位置多項式E(x)を(23)式により求める。上述した従来のリードソロモン符号の復号法との違いは、消失数εに拡張消失フラグF+を計算に入れたこと、および消失位置多項式E(x)にF+に対応したxを追加したことである。
【0143】
【数18】
Figure 0004423519
【0144】
次に、ステップ402で、(24)式に示すようなパリティ検査行列Hを用いて、シンドロームS=(S0,S1,・・・,Sp-1)を、上述の(6)式から求める。シンドロームSの計算方法は、図9を用いて後で説明する。そして、上述の(7)式に示すようなシンドローム多項式S(x)を求める。
【0145】
【数19】
Figure 0004423519
【0146】
次に、ステップ403で、消失位置多項式E(x)およびシンドローム多項式S(x)を用いて、上述の(8)式に示すように、修正シンドローム多項式Sm(x)を求める。
【0147】
次に、ステップ404で、修正シンドローム多項式Sm(x)を用いて、誤り評価多項式ω(x)と誤り位置多項式σ(x)を求める。誤り評価多項式ω(x)と誤り位置多項式σ(x)の計算方法は、図1のフローチャートのステップ204における計算方法(図3参照)と同様である。
【0148】
次に、ステップ405で、degω(x)<degσ(x)の条件を判定し、偽ならばステップ416に進んでエラー信号を出力し、真ならばステップ406に進む。ここで、degω(x)は誤り評価多項式ω(x)の次数であり、degσ(x)は誤り位置多項式σ(x)の次数である。ステップ406では、F+=0の条件を判定し、偽ならば拡張シンボル位置に消失があるのでステップ407に進み、真ならば拡張シンボル位置に消失がないのでステップ409に進む。
【0149】
ステップ407では、x|σ(x)の条件を判定する。これは、σ(x)がxで割り切れるか否かを判定しており、割り切れる場合(拡張シンボル位置が誤り位置に含まれている)は真、割り切れない場合は偽となる。判定結果が、偽ならばステップ416に進んでエラー信号を出力して終了し、真ならばステップ408に進む。ステップ409では、x|σ(x)の条件を判定し、真ならばステップ408に進み、偽ならばステップ411に進む。ステップ411では、ステップ405,406,409の判定結果から、拡張シンボル位置に誤りがないことが判明しているので、拡張誤りフラグe+flagを0に設定し、その後にステップ412に進む。
【0150】
ステップ408では、訂正可能ならばx|σ(x)のときは必ずx|ω(x)でなければならないので、x|ω(x)の条件を判定し、偽ならばステップ416に進んでエラー信号を出力して終了し、真ならばステップ410に進む。ステップ410では、ステップ405,406,407,409の判定結果から、拡張シンボル位置に誤りがあることが判明しているので、拡張誤りフラグe+flagを1に設定し、その後にステップ412に進む。そして、ステップ412では、上述の(9)式の条件を判定し、偽ならばステップ416に進んでエラー信号を出力して終了し、真ならばステップ413に進む。
【0151】
ステップ413では、誤り位置多項式σ(x)を使用して誤り位置を検出する。誤り位置の計算方法は、図1のフローチャートのステップ211における計算方法(図4参照)と同様である。このとき、R+に対する誤り位置の検出は行わない。そして、ステップ414で、#roots=degσ(x)−e+flagの条件を判定し、偽ならばステップ416に進んでエラー信号を出力して終了し、真ならばステップ415に進む。ここで、#rootsはステップ413で検出した誤り位置の数である。誤り位置多項式degσ(x)の次数から拡張誤りフラグe+flagを減算しているのは、σ(x)には拡張シンボルに対応する誤り位置が含まれているためである。
【0152】
ステップ415では、ステップ404で求められた誤り評価多項式ω(x)および誤り位置多項式σ(x)と、ステップ413で検出した誤り位置iとから、位置iでの誤り値eiを計算すると共に、この誤り値eiとステップ402で得られたシンドロームSの第(p−1)要素Sp-1を用いて拡張誤り値e+を計算し、さらに受信語Rと誤り位置i、誤り値ei、拡張誤り値e+から、推定情報Ip=(Cp+,Cp0,Cp1,・・・,Cpk-1)を求める。推定情報Ipの計算方法は、図10を用いて後で説明する。ここで、拡張シンボルCp+は、拡張シンボルCp+以外のシンボルの値にシンボル位置に関係して値が決定される係数を乗算し、各乗算結果を加算して得たものである。つまり、Cp+=Cp0+Cp1αp-1+Cp2α2(p-1)+・・・+Cpn-1α(n-1)(p-1)である。
【0153】
次に、ステップ417で、e+flag=0の条件を判定し、偽ならば推定情報Ipを出力して終了し、真ならばステップ419に進む。ステップ419では、e+=0の条件を判定し、偽ならばステップ416に進んでエラー信号を出力して終了し、真ならば推定情報Ipを出力して終了する。
【0154】
図9のフローチャートを用いて、受信語RからシンドロームSを計算する方法を説明する。
【0155】
まず、ステップ420では、受信語R=(R+,R0,R1,・・・,Rn-1)を受け取る。そして、ステップ421で、シンドロームSの各要素(S0,S1,・・・,Sp-1)を受信語Rの要素R0で初期化する。
【0156】
次に、ステップ422で、シンドロームSの第(p−1)要素Sp-1から受信語Rの最初の要素R+を減算し、その減算結果をSp-1とする。また、ステップ423で、カウンタiを1に初期化する。そして、ステップ424で、シンドロームSの各要素を、上述の(10)式によって更新する。
【0157】
次に、ステップ425で、カウンタiの値を1だけ増加させる。そして、ステップ426で、i<nの条件を判定し、真ならばステップ424に戻ってシンドローム計算を繰り返し、偽ならばステップ427に進み、シンドロームS=(S0,S1,・・・,Sp-1)を出力する。
【0158】
図10のフローチャートを用いて、誤り評価多項式ω(x)および誤り位置多項式σ(x)と、検出した誤り位置iとから、受信語Rの誤りを訂正する方法を説明する。
【0159】
まず、ステップ430で、変数wをシンドロームSの第(p−1)要素Sp-1でw=−Sp-1として初期化する。wは、拡張誤り値e+を、(25)式に示すように計算するために使用する。
【0160】
【数20】
Figure 0004423519
【0161】
次に、ステップ431で、カウンタiを0に初期化する。そして、ステップ432で、i∈Aの条件を判定し、真ならばカウンタiの値は誤り位置を表しているのでステップ433に進み、偽ならばカウンタiの値は誤り位置ではないのでステップ436に進む。
【0162】
ステップ433では、誤り評価多項式ω(x)と、誤り位置多項式σ(x)の微分σ′(x)と、誤り位置iを用いて、上述の(16)式に示すように誤り値eiを計算し、ステップ434に進む。ステップ434では、推定符号語Cpのi番目の要素CpiをRi−eiとして計算し、ステップ435に進む。ステップ435では、(26)式に示すようにwを更新し、ステップ437に進む。ステップ436では、推定符号語Cpのi番目の要素CpiをRiとして、ステップ437に進む。
【0163】
【数21】
Figure 0004423519
【0164】
ステップ437では、カウンタiの値を1だけ増加させる。そして、ステップ438で、i<nの条件(終了条件)を判定し、真ならばステップ432に戻って誤り値の計算を繰り返し、偽ならばステップ439に進む。ステップ439では、拡張誤り値e+にwの値を代入する。
【0165】
次に、ステップ440で、推定拡張符号シンボルCp+を、Cp+=R+−e+として設定する。そして、ステップ441で、推定符号語Cp=(Cp+,Cp0,・・・,Cpn-1)を得、さらにステップ442で、推定情報Ip=(Cp+,Cp0,Cp1,・・・,Cpk-1)を得る。
【0166】
図8のフローチャートに示す1拡張リードソロモン符号の復号方法を実施する復号装置は、消失位置多項式計算回路274、誤り位置判定回路281、およびエラー判定回路287の動作が異なる他は、図6に示す復号装置270と同様に構成される。
【0167】
すなわち、図6に示す復号装置270において、消失位置多項式計算回路274で求める消失位置多項式E(x)は拡張消失フラグF-が1であるか0であるかによって変化しないが((4)式参照)、図8のフローチャートに示す1拡張リードソロモン符号の復号方法を実施する復号装置において、消失位置多項式計算回路274で求める消失位置多項式E(x)は拡張消失フラグF+が1であるか0であるかによって変化する((23)式参照)。
【0168】
また、図6に示す復号装置270において、誤り位置判定回路281は、#roots=degσ(x)の条件を判定してエラー信号ERを出力するが、図8のフローチャートに示す1拡張リードソロモン符号の復号方法を実施する復号装置において、誤り位置判定回路281では、#roots=degσ(x)−e+flagの条件を判定してエラー信号ERを出力するようになされている。
【0169】
また、図6に示す復号装置270において、エラー判定回路287は、ステップ205〜208の判定処理によってエラー信号ERを出力するが、図8のフローチャートに示す1拡張リードソロモン符号の復号方法を実施する復号装置において、エラー判定回路287は、ステップ405〜409、412の判定処理によってエラー信号ERを出力するように構成される。
【0170】
以上説明したように、第3の実施の形態においても、第1の実施の形態と同様に、1拡張リードソロモン符号の1パスでの混合訂正が可能となる。
【0171】
なお、上述した第3の実施の形態の図8のフローチャートにおける訂正判定可能ユニットU1(ステップ406〜412)の代わりに、図11に示す訂正可能判定ユニットU2を用いてもよい。ユニットU2も、ユニットU1と同様に、σ(x),ω(x),F+,p,εから訂正が可能であるか否かを判定する。
【0172】
まず、ステップ600で、x|σ(x)の条件を判定し、偽ならばステップ601に進み、真ならばステップ602に進む。ステップ601では、F+=0の条件を判定し、偽ならばステップ416に進んでエラー信号を出力し、真ならばステップ603に進む。一方、ステップ602では、x|ω(x)の条件を判定し、偽ならばステップ416に進んでエラー信号を出力し、真ならばステップ604に進む。
【0173】
ステップ603では、ステップ600,601の判定結果から、拡張シンボル位置に誤りがないことが判明しているので、拡張誤りフラグe+flagを0に設定し、その後にステップ605に進む。また、ステップ604では、ステップ600,602の判定結果から、拡張シンボル位置に誤りがあることが判明しているので、e+flagを1に設定し、その後にステップ605に進む。
【0174】
ステップ605では、上述の(9)式の条件を判定し、偽ならばステップ416に進んでエラー信号を出力し、真ならばステップ413に進む。
【0175】
次に、第4の実施の形態について説明する。この第4の実施の形態は、2拡張リードソロモン符号において通常訂正と消失訂正を同時に行う混合訂正の復号法である。
【0176】
図12は、第4の実施の形態における2拡張リードソロモン符号の復号化のフローチャートを示している。
【0177】
まず、ステップ4000では、受信語R=(R-,R+,R0,R1,・・・,Rn-1)と消失フラグF=(F-,F+,F0,F1,・・・,Fn-1)が与えられる。上述した従来のリードソロモン符号の復号法との違いは、第1拡張受信シンボルR-と、第2拡張受信シンボルR+と、第1拡張消失フラグF-と、第2拡張消失フラグF+とが追加されたことである。
【0178】
次に、ステップ4001で、消失数εを、(27)式により求めると共に、消失位置多項式E(x)を上述の(23)式により求める。上述した従来のリードソロモン符号の復号法との違いは、消失数εに第1拡張消失フラグF-と第2拡張消失フラグF+を計算に入れたこと、および消失位置多項式にF+に対応したxを追加したことである。
【0179】
【数22】
Figure 0004423519
【0180】
次に、ステップ4002で、(28)式に示すようなパリティ検査行列Hを用いて、シンドロームS=(S0,S1,・・・,Sp-1)を、上述の(6)式から求める。シンドロームSの計算方法は、図13を用いて後で説明する。そして、上述の(7)式に示すようなシンドローム多項式S(x)を求める。
【0181】
【数23】
Figure 0004423519
【0182】
次に、ステップ4003で、消失位置多項式E(x)およびシンドローム多項式S(x)を用いて、上述の(8)式に示すように、修正シンドローム多項式Sm(x)を求める。
【0183】
次に、ステップ4004で、修正シンドローム多項式Sm(x)を用いて、誤り評価多項式ω(x)と誤り位置多項式σ(x)を求める。誤り評価多項式ω(x)と誤り位置多項式σ(x)の計算方法は、図1のフローチャートのステップ204における計算方法(図3参照)と同様である。
【0184】
次に、ステップ4005で、degω(x)≦degσ(x)の条件を判定し、偽ならばステップ4027に進んでエラー信号を出力して終了し、真ならばステップ4006に進む。ここで、degω(x)は誤り評価多項式ω(x)の次数であり、degσ(x)は誤り位置多項式σ(x)の次数である。
【0185】
次に、ステップ4006では、x|σ(x)の条件を判定する。これは、σ(x)がxで割り切れるか否かを判定しており、割り切れる場合(拡張シンボル位置が誤り位置に含まれている)は真、割り切れない場合は偽となる。判定結果が真ならば第2拡張シンボル位置に誤りがあるのでステップ4007に進み、偽ならば第2拡張シンボル位置に誤りがないのでステップ4013に進む。
【0186】
ステップ4007では、x|ω(x)の条件を判定する。これは、ω(x)がxで割り切れるか否かを判定しており、割り切れる場合は真、割り切れない場合は偽となる。判定結果が、偽ならばステップ4027に進んでエラー信号を出力して終了し、真ならばステップ4008に進む。このステップ4008では、degω(x)=degσ(x)の条件を判定し、真ならばステップ4009に進み、偽ならばステップ4011に進む。
【0187】
ステップ4009では、(29)式の条件を判定し、偽ならばステップ4027に進んでエラー信号を出力して終了し、真ならばステップ4010に進む。このステップ4010では、ステップ4005,4008の判定結果から第1拡張シンボル位置に誤りがあることが判明しており、またステップ4005,4006の判定結果から第2拡張シンボル位置に誤りがあることが判明しているので、第1拡張誤りフラグe-flagを1、第2拡張誤りフラグe+flagを1に設定し、その後にステップ4018に進む。
【0188】
【数24】
Figure 0004423519
【0189】
ステップ4011では、(19)式の条件を判定し、偽ならばステップ4027に進んでエラー信号を出力して終了し、真ならばステップ4012に進む。このステップ4012では、ステップ4005,4008の判定結果から第1拡張シンボル位置に誤りがないことが判明しており、またステップ4005,4006の判定結果から第2拡張シンボル位置に誤りがあることが判明しているので、第1拡張誤りフラグe-flagを0、第2拡張誤りフラグe+flagを1に設定し、その後にステップ4018に進む。
【0190】
ステップ4013では、degω(x)=degσ(x)の条件を判定し、真ならばステップ4014に進み、偽ならばステップ4016に進む。
【0191】
ステップ4014では、(19)式の条件を判定し、偽ならばステップ4027に進んでエラー信号を出力して終了し、真ならばステップ4015に進む。このステップ4015では、ステップ4005,4013の判定結果から第1拡張シンボル位置に誤りがあることが判明しており、またステップ4005,4006の判定結果から第2拡張シンボル位置に誤りがないことが判明しているので、第1拡張誤りフラグe-flagを1、第2拡張誤りフラグe+flagを0に設定し、その後にステップ4018に進む。
【0192】
ステップ4016では、(14)式の条件を判定し、偽ならばステップ4027に進んでエラー信号を出力して終了し、真ならばステップ4017に進む。このステップ4017では、ステップ4005,4013の判定結果から第1拡張シンボル位置に誤りがないことが判明しており、またステップ4005,4006の判定結果から第2拡張シンボル位置に誤りがないことが判明しているので、第1拡張誤りフラグe-flagを0、第2拡張誤りフラグe+flagを0に設定し、その後にステップ4018に進む。
【0193】
ステップ4018では、誤り位置多項式σ(x)を使用して誤り位置を検出する。誤り位置の計算方法は、図1のフローチャートのステップ211における計算方法(図4参照)と同様である。このとき、第1拡張シンボルR-と第2拡張シンボルR+に対する誤り位置の検出は行わない。そして、ステップ4019で、ステップ4018で検出した誤りの数#rootsと、誤り位置多項式σ(x)の次数degσ(x)から第2拡張誤りフラグe+flagを減算した数から、#roots=degσ(x)−e+flagの条件を判定し、偽ならばステップ4027に進んでエラー信号を出力して終了し、真ならばステップ4020に進む。ここで、誤り位置多項式σ(x)の次数degσ(x)から第2拡張誤りフラグe+flagを減算しているのは、誤り位置多項式σ(x)には第2拡張シンボルに対応する第2拡張誤りe+の位置を含むためである。
【0194】
次に、ステップ4020では、ステップ4004で求められた誤り評価多項式ω(x)および誤り位置多項式σ(x)と、ステップ4018で検出した誤り位置iとから、位置iでの誤り値eiを計算すると共に、この誤り値eiとステップ4002で得られたシンドロームSの第0要素S0を用いて第1拡張誤り値e-を計算し、この誤り値eiとシンドロームSの第(p−1)要素Sp-1を用いて第2拡張誤り値e+を計算し、さらに受信語Rと誤り位置i、誤り値ei、第1拡張誤り値e-、第2拡張誤り値e+から、推定情報Ip=(Cp-,Cp+,Cp0,Cp1,・・・,Cpk-1)を求める。推定情報Ipの計算方法は、図14を用いて後で説明する。
【0195】
ここで、第1拡張シンボルCp-は、拡張受信シンボルCp-,Cp+以外の値を全て加算して得たものである。つまり、Cp-=Cp0+Cp1+・・・+Cpn-1である。一方、第2拡張シンボルCp+は、拡張受信シンボルCp-,Cp+以外のシンボルの値にシンボル位置に関係して値が決定される係数を乗算し、各乗算結果を加算して得たものである。つまり、Cp+=Cp0+Cp1αp-1+Cp2α2(p-1)+・・・+Cpn-1α(n-1)(p-1)である。
【0196】
次に、ステップ4021で、e-flag=0の条件を判定し、偽ならばステップ4022に進み、真ならばステップ4023に進む。ステップ4022では、e-≠0の条件を判定し、偽ならばステップ4027に進んでエラー信号を出力して終了し、真ならばステップ4024に進む。一方、ステップ4023では、e-=0の条件を判定し、偽ならばステップ4027に進んでエラー信号を出力して終了し、真ならばステップ4024に進む。
【0197】
ステップ4024では、e+flag=0の条件を判定し、偽ならば推定情報Ipを出力して終了し、真ならばステップ4026に進む。ステップ4026では、e+=0の条件を判定し、偽ならばステップ4027に進んでエラー信号を出力して終了し、真ならば推定情報Ipを出力して終了する。
【0198】
図13のフローチャートを用いて、受信語RからシンドロームSを計算する方法を説明する。
【0199】
まず、ステップ4200では、受信語R=(R-,R+,R0,R1,・・・,Rn-1)を受け取る。そして、ステップ4201で、シンドロームSの各要素(S0,S1,・・・,Sp-1)を受信語Rの要素R0で初期化する。
【0200】
次に、ステップ4202で、シンドロームSの第0要素S0から受信語Rの要素R-を減算し、その減算結果をS0とし、同様にシンドロームSの第(p−1)要素Sp-1から受信語Rの要素R+を減算し、その減算結果をSp-1とする。また、ステップ4203で、カウンタiを1に初期化する。そして、ステップ4204で、シンドロームSの各要素を、上述の(10)式によって更新する。
【0201】
次に、ステップ4205で、カウンタiの値を1だけ増加させる。そして、ステップ4206で、i<nの条件を判定し、真ならばステップ4204に戻ってシンドローム計算を繰り返し、偽ならばステップ4207に進み、シンドロームS=(S0,S1,・・・,Sp-1)を出力する。
【0202】
図14のフローチャートを用いて、誤り評価多項式ω(x)および誤り位置多項式σ(x)と、検出した誤り位置iとから、受信語Rの誤りを訂正する方法を説明する。
【0203】
まず、ステップ4300で、変数w-をシンドロームSの第0要素S0でw-=−S0として初期化する。同様に、変数w+をシンドロームSの第(p−1)要素Sp-1でw+=−Sp-1として初期化する。w-は、第1拡張誤り値e-を、上述した(20)式に示すように計算するために使用する。w+は、第2拡張誤り値e+を、上述した(25)式に示すように計算するために使用する。
【0204】
次に、ステップ4301で、カウンタiを0に初期化する。そして、ステップ4302で、i∈Aの条件を判定し、真ならばカウンタiの値は誤り位置を表しているのでステップ4303に進み、偽ならばカウンタiの値は誤り位置ではないのでステップ4306に進む。
【0205】
ステップ4303では、誤り評価多項式ω(x)と、誤り位置多項式σ(x)の微分σ′(x)と、誤り位置iを用いて、上述の(16)式に示すように誤り値eiを計算し、ステップ4304に進む。このステップ4304では、推定符号語Cpのi番目の要素CpiをRi−eiとして計算し、ステップ4305に進む。ステップ4305では、(30)式、(31)式に示すように、w-,w+を更新し、ステップ4307に進む。ステップ4306では、推定符号語Cpのi番目の要素CpiをRiとして、ステップ4307に進む。
【0206】
【数25】
Figure 0004423519
【0207】
ステップ4307では、カウンタiの値を1だけ増加させる。そして、ステップ4308で、i<nの条件(終了条件)を判定し、真ならばステップ4302に戻って誤り値の計算を繰り返し、偽ならばステップ4309に進む。ステップ4309では、第1拡張誤り値e-にw-の値を代入し、第2拡張誤り値e+にw+の値を代入する。
【0208】
次に、ステップ4310で、推定第1拡張符号シンボルCp-を、Cp-=R-−e-として設定し、第2推定拡張符号シンボルCp+を、Cp+=R+−e+として設定する。そして、ステップ4311で、推定符号語Cpを、推定第1拡張符号シンボルCp-、第2推定拡張符号シンボルCp+および推定符号シンボルCp0〜Cpn-1より、Cp=(Cp-,Cp+,Cp0,・・・,Cpn-1)として設定する。
【0209】
次に、ステップ4312で、推定情報Ipを、推定符号語Cpより、Ip=(Cp-,Cp+,Cp0,Cp1,・・・,Cpk-1)として設定して出力する。
【0210】
図15は、図12のフローチャートに示す2拡張リードソロモン符号の復号方法を実施する復号装置3400の構成を示している。
【0211】
この復号装置3400は、受信語(入力データ)Rを入力する入力端子3401と、受信語Rに対応した消失フラグFを入力する入力端子3402とを有している。
【0212】
また、復号装置3400は、受信語Rからシンドローム多項式S(x)を得るためのシンドローム多項式計算回路3403(図12のステップ4002参照)と、消失フラグFから消失位置多項式E(x)を得るための消失位置多項式計算回路3404(図12のステップ4001参照)と、消失フラグFから消失数εを求めるための消失数計算回路3405(図12のステップ4001参照)とを有している。
【0213】
また、復号装置3400は、シンドローム多項式S(x)、消失位置多項式E(x)から修正シンドローム多項式Sm(x)を求め、この修正シンドローム多項式Sm(x)と消失位置多項式E(x)から誤り評価多項式ω(x)および誤り位置多項式σ(x)を求める誤り多項式計算回路3406(図12のステップ4004参照)を有している。
【0214】
また、復号装置3400は、誤り評価多項式ω(x)および誤り位置多項式σ(x)から受信語Rの各要素Riの誤り値eiを求める誤り値計算回路3407(図14のステップ4303参照)と、受信語Rの各要素Riのタイミングを、誤り値計算回路3407より出力される誤り値eiのタイミングに合わせるための受信語遅延回路3408と、受信語Rの各要素Riより誤り値eiを減算する減算器3409(図14のステップ4304参照)とを有している。
【0215】
また、復号装置3400は、減算器3409の出力Ri−eiまたは受信語遅延回路3408の出力Riのいずれかを選択的に取り出す信号選択回路3410と、誤り位置多項式σ(x)から誤り位置iを検出し、誤り位置iに応じた選択信号SELを出力すると共に、#roots=degσ(x)−e+flagの条件を判定し(図12のステップ4019参照)、偽であるときはエラー信号ERを出力する誤り位置判定回路3411とを有している。ここで、誤り位置判定回路3411より出力される選択信号SELは信号選択回路3410に供給され、信号選択回路3410では誤り位置iで減算器3409の出力Ri−eiが取り出され、誤り位置でない位置iで受信語遅延回路3408の出力Riが取り出されるようになされている。
【0216】
また、復号装置3400は、誤り評価多項式ω(x)および誤り位置多項式σ(x)から第1拡張誤り値e-を求める第1拡張誤り値計算回路3412(図14のステップ4309参照)と、信号選択回路3410の出力より第1拡張誤り値e-を減算する減算器3413(図14のステップ4310参照)と、減算器3413の出力または信号選択回路3410の出力のいずれかを選択的に取り出す信号選択回路3414とを有している。
【0217】
また、復号装置3400は、誤り評価多項式ω(x)および誤り位置多項式σ(x)から第2拡張誤り値e+を求める第2拡張誤り値計算回路3415(図14のステップ4309参照)と、信号選択回路3414の出力より第2拡張誤り値e+を減算する減算器3416(図14のステップ4310参照)と、減算器3416の出力または信号選択回路3414の出力のいずれかを選択的に取り出す信号選択回路3417とを有している。
【0218】
また、復号装置3400は、誤り評価多項式ω(x)および誤り位置多項式σ(x)から第1拡張シンボル位置に誤りがあるか否かを判定し、第1拡張誤りフラグe-flagを設定する第1拡張誤りフラグ計算回路3418および誤り評価多項式ω(x)および誤り位置多項式σ(x)から第2拡張シンボル位置に誤りがあるか否かを判定し、第2拡張誤りフラグe+flagを設定する第2拡張誤りフラグ計算回路3419(図12のステップ4010,4012,4015,4017参照)と、信号選択回路3417の出力を導出する出力端子3420とを有している。
【0219】
ここで、第1拡張シンボル位置に誤りがあると判定されるときはe-flag=1とされ、第1拡張シンボル位置に誤りがないと判定されるときはe-flag=0とされる。同様に、第2拡張シンボル位置に誤りがあると判定されるときはe+flag=1とされ、第2拡張シンボル位置に誤りがないと判定されるときはe+flag=0とされる。計算回路3418より出力される第1拡張誤りフラグe-flagは信号選択回路3414に供給される。計算回路3419より出力される第2拡張誤りフラグe+flagは信号選択回路3417に供給される。
【0220】
信号選択回路3414では、信号選択回路3410より第1拡張受信シンボルR-が出力される際には、e-flag=1であるときは減算器3413の出力R-−e-が第1推定拡張シンボルCp-として取り出され、e-flag=0であるときは信号選択回路3410の出力R-が第1推定拡張シンボルCp-として取り出されるようになされている。また、信号選択回路3414では、信号選択回路3410より第1拡張受信シンボルR-以外のシンボルが出力される際には、信号選択回路3410の出力のみが取り出される。
【0221】
信号選択回路3417では、信号選択回路3414より第2拡張受信シンボルR+が出力される際には、e+flag=1であるときは減算器3416の出力R+−e+が第2推定拡張シンボルCp+として取り出され、e+flag=0であるときは信号選択回路3414の出力R+が第2推定拡張シンボルCp+として取り出されるようになされている。また、信号選択回路3417では、信号選択回路3414より第2拡張受信シンボルR+以外のシンボルが出力される際には、信号選択回路3414の出力のみが取り出される。
【0222】
また、復号装置3400は、誤り多項式計算回路3406からの誤り位置多項式σ(x)および誤り評価多項式ω(x)と、消失数計算回路3405からの消失数εとから、σ(x)の次数degσ(x)およびω(x)の次数degω(x)を評価して(図12のステップ4005〜4009,4011,4013,4014,4016参照)、エラー信号ERを出力するエラー判定回路3421を有している。
【0223】
また、復号装置3400は、第1拡張誤り値計算回路3412からの第1拡張誤り値e-と第1拡張誤りフラグ計算回路3418からの第1拡張誤りフラグe-flagとから、第1拡張誤りエラーを判定し(図12のステップ4021〜4023参照)、エラー信号ERを出力する第1拡張誤りエラー判定回路3422と、第2拡張誤り値計算回路3415からの第2拡張誤り値e+と第2拡張誤りフラグ計算回路3419からの第2拡張誤りフラグe+flagとから、第2拡張誤りエラーを判定し(図12のステップ4024,4026参照)、エラー信号ERを出力する第2拡張誤りエラー判定回路3423とを有している。
【0224】
また、復号装置3400は、誤り位置判定回路3411、エラー判定回路3421、第1拡張誤りエラー判定回路3422および第2拡張誤りエラー判定回路3423より出力されるエラー信号ERが入力されるオアゲート3424と、このオアゲート3424の出力を導出する出力端子3425とを有している。
【0225】
なお、オアゲート3424の出力は信号選択回路3410,3414,3417に供給され、オアゲート3424の出力としてエラー信号ERが得られる場合には、信号選択回路3410では選択信号SELの状態に依らずに常に受信語遅延回路3408の出力Riが取り出され、信号選択回路3414では第1拡張誤りフラグe-flagの状態に依らずに常に信号選択回路3410の出力が取り出され、さらに信号選択回路3417では第2拡張誤りフラグe+flagの状態に依らずに常に信号選択回路3414の出力が取り出されるようにされている。
【0226】
図15に示す復号装置3400の動作を説明する。
【0227】
入力端子3401に入力された受信語(入力データ)Rはシンドローム多項式計算回路3403に供給される。そして、この計算回路3403では、受信語RからシンドロームSが計算され、シンドローム多項式S(x)が求められる。一方、入力端子3402に入力された消失フラグFは消失位置多項式計算回路3404に供給される。そして、この計算回路3404では、消失フラグFから消失位置多項式E(x)が求められる。また、入力端子3402に入力された消失フラグFは消失数計算回路3405に供給される。そして、この計算回路3405では、消失フラグFより消失数εが求められる。
【0228】
計算回路3403で得られたシンドローム多項式S(x)と、計算回路3404で得られた消失位置多項式E(x)は、誤り多項式計算回路3406に供給される。そして、この計算回路3406では、シンドローム多項式S(x)、消失位置多項式E(x)から修正シンドローム多項式Sm(x)が求められ、さらにこの修正シンドローム多項式Sm(x)と消失位置多項式E(x)から誤り評価多項式ω(x)および誤り位置多項式σ(x)が求められる。
【0229】
計算回路3406で得られた誤り評価多項式ω(x)および誤り位置多項式σ(x)は誤り値計算回路3407に供給される。この計算回路3407では、誤り評価多項式ω(x)および誤り位置多項式σ(x)から、受信語Rの各要素Riの誤り値eiが順次求められる。そして、この誤り値eiが減算器3409に供給されて、受信語遅延回路3408より出力される受信語Rの各要素Riより減算される。
【0230】
また、計算回路3406で得られた誤り位置多項式σ(x)は誤り位置判定回路3411に供給される。この誤り位置判定回路3411では、誤り位置多項式σ(x)から誤り位置iが検出され、誤り位置iに応じた選択信号SELが出力される。この選択信号SELは信号選択回路3410に制御信号として供給される。そして、信号選択回路3410では、誤り位置iで減算器3409の出力Ri−eiが推定符号語Cpの要素Cpiとして取り出され、誤り位置iでない位置で受信語遅延回路3408の出力Riが推定符号語Cpの要素Cpiとして取り出される。
【0231】
また、計算回路3406で得られた誤り評価多項式ω(x)および誤り位置多項式σ(x)は第1拡張誤り値計算回路3412に供給される。この計算回路3412では、誤り評価多項式ω(x)および誤り位置多項式σ(x)から、第1拡張受信シンボルR-の誤り値、つまり第1拡張誤り値e-が求められる。そして、この第1拡張誤り値e-が減算器3413に供給されて、信号選択回路3410の出力より減算される。
【0232】
また、計算回路3406で得られた誤り評価多項式ω(x)および誤り位置多項式σ(x)は第1拡張誤りフラグ計算回路3418に供給される。この計算回路3418では、誤り評価多項式ω(x)および誤り位置多項式σ(x)から第1拡張シンボル位置に誤りがあるか否かが判定され、第1拡張シンボル位置に誤りがあると判定されるときはe-flag=1に設定され、第1拡張シンボル位置に誤りがないと判定されるときはe-flag=0に設定される。
【0233】
この第1拡張誤りフラグe-flagは信号選択回路3414に制御信号として供給される。信号選択回路3414では、信号選択回路3410より第1拡張受信シンボルR-が出力される際には、e-flag=1であるときは減算器3413の出力R-−e-が第1推定拡張シンボルCp-として取り出され、e-flag=0であるときは信号選択回路3410の出力R-が第1推定拡張シンボルCp-として取り出される。また、信号選択回路3414では、信号選択回路3410より第1拡張受信シンボルR-以外のシンボルが出力される際には、信号選択回路3410の出力のみが取り出される。
【0234】
また、計算回路3406で得られた誤り評価多項式ω(x)および誤り位置多項式σ(x)は第2拡張誤り値計算回路3415に供給される。この計算回路3415では、誤り評価多項式ω(x)および誤り位置多項式σ(x)から、第2拡張受信シンボルR+の誤り値、つまり第2拡張誤り値e+が求められる。そして、この第2拡張誤り値e+が減算器3416に供給されて、信号選択回路3414の出力より減算される。
【0235】
また、計算回路3406で得られた誤り評価多項式ω(x)および誤り位置多項式σ(x)は第2拡張誤りフラグ計算回路3419に供給される。この計算回路3419では、誤り評価多項式ω(x)および誤り位置多項式σ(x)から第2拡張シンボル位置に誤りがあるか否かが判定され、第2拡張シンボル位置に誤りがあると判定されるときはe+flag=1に設定され、第2拡張シンボル位置に誤りがないと判定されるときはe+flag=0に設定される。
【0236】
この第2拡張誤りフラグe+flagは信号選択回路3417に制御信号として供給される。信号選択回路3417では、信号選択回路3414より第2拡張受信シンボルR+が出力される際には、e+flag=1であるときは減算器3416の出力R+−e+が第2推定拡張シンボルCp+として取り出され、e+flag=0であるときは信号選択回路3414の出力R+が第2推定拡張シンボルCp+として取り出される。また、信号選択回路3417では、信号選択回路3414より第2拡張受信シンボルR+以外のシンボルが出力される際には、信号選択回路3414の出力のみが取り出される。
【0237】
これにより、信号選択回路3417からは誤り訂正された推定符号語Cp(第1推定拡張シンボルCp-、第2推定拡張シンボルCp+を含む)が取り出され、この推定符号語Cpが出力データとして出力端子3420に導出される。そして、推定符号語Cpよりパリティシンボル部分を除くことで、推定情報Ip=(Cp-,Cp+,Cp0,Cp1,・・・,Cpk-1)が得られる。
【0238】
なお、誤り位置判定回路3411、エラー判定回路3421、第1拡張誤りエラー判定回路3422または第2拡張誤りエラー判定回路3423よりエラー信号ERが出力される場合、このエラー信号ERが出力端子3425に導出されると共に、このエラー信号ERが信号選択回路3410,3414,3417に供給される。そして、信号選択回路3410では選択信号SELの状態に依らずに常に受信語遅延回路3408の出力Riが取り出され、信号選択回路3414では第1拡張誤りフラグe-flagの状態に依らずに常に信号選択回路3410の出力が取り出され、信号選択回路3417では第2拡張誤りフラグe+flagの状態に依らずに常に信号選択回路3414の出力が取り出される。これにより、出力端子3425にエラー信号ERが導出される状態では、受信語Rが誤り訂正されず、出力端子3420にそのまま出力されることとなる。
【0239】
以上説明したように、第4の実施の形態においては、2拡張リードソロモン符号の1パスでの混合訂正が可能となる。したがって、2拡張リードソロモン符号の混合訂正を短時間で行うことが可能となり、またハードウェア規模も小さくできるという効果がある。
【0240】
次に、第5の実施の形態について説明する。この第5の実施の形態も、2拡張リードソロモン符号において通常訂正と消失訂正を同時に行う混合訂正の復号法に係るものである。図16は、第5の実施の形態における2拡張リードソロモン符号の復号化のフローチャートを示している。
【0241】
まず、ステップ4100〜4104の処理をする。このステップ4100〜4104では、図12のステップ4000〜4004とそれぞれ同様の処理をする。
【0242】
次に、ステップ4130で、訂正可能判定数hを、h=2degσ(x)−εとして設定する。訂正可能判定数hは、後述するステップ4141で使用するが、最終的には、(32)式に示すようになる。
【0243】
【数26】
Figure 0004423519
【0244】
次に、ステップ4131で、degω(x)≦degσ(x)の条件を判定し、偽ならばステップ4127に進んでエラー信号を出力して終了し、真ならばステップ4132に進む。ステップ4132では、degω(x)=degσ(x)の条件を判定し、偽ならばステップ4133に進み、真ならばステップ4135に進む。
【0245】
ステップ4133では、ステップ4131,4132の判定結果から、第1拡張シンボル位置に誤りがあることが判明しているので、第1拡張誤りフラグe-flagを1に設定し、その後にステップ4134で、h=h+2として訂正可能判定数hを更新し、ステップ4136に進む。ステップ4135では、ステップ4131,4132の判定結果から第1拡張シンボル位置に誤りがないことが判明しているので、第1拡張誤りフラグe-flagを0に設定し、その後にステップ4136に進む。
【0246】
ステップ4136では、x|σ(x)の条件を判定する。これは、σ(x)がxで割り切れるか否かを判定しており、割り切れる場合は真、割り切れない場合は偽となる。判定の結果が真ならば第2拡張シンボル位置に誤りがあるのでステップ4137に進み、偽ならば第2拡張シンボル位置に誤りがないのでステップ4140に進む。
【0247】
ステップ4137では、x|ω(x)の条件を判定する。これは、ω(x)がxで割り切れるか否かを判定しており、割り切れる場合は真、割り切れない場合は偽となる。判定の結果が偽ならば、ステップ4127に進んでエラー信号を出力して終了し、真ならばステップ4138に進む。
【0248】
ステップ4138では、ステップ4131,4136の判定結果から、第2拡張シンボル位置に誤りがあることが判明しているので、第2拡張誤りフラグe+flagを1に設定し、その後にステップ4139で、h=h+2として訂正可能判定数hを更新し、ステップ4141に進む。ステップ4140では、ステップ4131,4136の判定結果から第2拡張シンボル位置に誤りがないことが判明しているので、第2拡張誤りフラグe+flagを0に設定し、その後にステップ4141に進む。
【0249】
次に、ステップ4141で、h≦pの条件を判定し、偽ならばステップ4127に進んでエラー信号を出力して終了し、真ならばステップ4118に進む。そして、ステップ4118〜4126の処理をする。このステップ4118〜4126では、図12のステップ4018〜4026とそれぞれ同様の処理をする。
【0250】
すなわち、ステップ4118では、誤り位置多項式σ(x)を使用して、シンボルR0〜Rn-1に対する誤り位置を検出する。そして、ステップ4119で、ステップ4118で検出した誤りの数#rootsと、誤り位置多項式σ(x)の次数degσ(x)から第2拡張誤りフラグe+flagを減算した数とから、#roots=degσ(x)−e+flagの条件を判定し、偽ならばステップ4127に進んでエラー信号を出力して終了し、真ならばステップ4120に進む。
【0251】
ステップ4120では、ステップ4104で求められた誤り評価多項式ω(x)および誤り位置多項式σ(x)と、ステップ4118で検出した誤り位置iとから、位置iでの誤り値eiを計算すると共に、この誤り値eiとステップ4102で得られたシンドロームSの第0要素S0を用いて第1拡張誤り値e-を計算し、この誤り値eiとシンドロームSの第(p−1)要素Sp-1を用いて第2拡張誤り値e+を計算し、さらに受信語Rと誤り位置i、誤り値ei、第1拡張誤り値e-、第2拡張誤り値e+から、推定情報Ip=(Cp-,Cp+,Cp0,Cp1,・・・,Cpk-1)を求める。
【0252】
そして、ステップ4121で、e-flag=0の条件を判定し、偽ならばステップ4122に進み、真ならばステップ4123に進む。ステップ4122では、e-≠0の条件を判定し、偽ならばステップ4127に進んでエラー信号を出力して終了し、真ならばステップ4124に進む。一方、ステップ4123では、e-=0の条件を判定し、偽ならばステップ4127に進んでエラー信号を出力して終了し、真ならばステップ4124に進む。
【0253】
ステップ4124では、e+flag=0の条件を判定し、偽ならば推定情報Ipを出力して終了し、真ならばステップ4126に進む。ステップ4126では、e+=0の条件を判定し、偽ならばステップ4127に進んでエラー信号を出力して終了し、真ならば推定情報Ipを出力して終了する。
【0254】
図16のフローチャートに示す2拡張リードソロモン符号の復号方法を実施する復号装置は、エラー判定回路3421の動作が異なる他は、図15に示す復号装置3400と同様に構成される。すなわち、図15に示す復号装置3400において、エラー判定回路3421は、ステップ4005〜4009,4011,4013,4014,4016の判定処理によってエラー信号ERを出力するが、図16のフローチャートに示す2拡張リードソロモン符号の復号方法を実施する復号装置において、エラー判定回路3421は、ステップ4131,4132,4136,4137,4141の判定処理によってエラー信号ERを出力するように構成される。
【0255】
以上説明したように、第5の実施の形態においても、第4の実施の形態と同様に、2拡張リードソロモン符号の1パスでの混合訂正が可能となる。
【0256】
なお、上述第1〜第5の実施の形態において、修正シンドローム多項式Sm(x)と消失位置多項式E(x)から、誤り評価多項式ω(x)と誤り位置多項式σ(x)を計算する方法としてユークリッドの互除法を用いたアルゴリズムによる方法(図3参照)を採用したが、その他のアルゴリズム、例えば、バーレカンプ・マッシーアルゴリズムによる方法を採用してもよい。
【0257】
図17のフローチャートを用いて、修正シンドローム多項式Sm(x)から、誤り評価多項式ω(x)と誤り位置多項式σ(x)を計算する方法(バーレカンプ・マッシーアルゴリズムによる方法)を説明する。
【0258】
まず、ステップ500で、k,σ(0)(x),L,T(x)を、k=0、σ(0)(x)=1、L=0、T(x)=xとして初期化する。そして、ステップ501で、カウンタkを1だけ増加させると共に、(33)式に示すように誤差値Δ(k)を更新する。
【0259】
【数27】
Figure 0004423519
【0260】
次に、ステップ502で、Δ(k)=0の条件を判定し、真ならばステップ507に進み、偽ならばステップ503に進む。ステップ503では、(34)式に示すようにσ(k)(x)を更新する。
【0261】
【数28】
Figure 0004423519
【0262】
次に、ステップ504で、2L≧kの条件を判定し、真ならばステップ507に進み、偽ならばステップ505に進む。そして、ステップ505では、L=k−LとしてLを更新する。
【0263】
次に、ステップ506で、(35)式に示すようにT(x)を更新し、その後にステップ507に進む。ステップ507では、T(x)=xT(x)としてT(x)をシフトする。
【0264】
【数29】
Figure 0004423519
【0265】
次に、ステップ508で、k<pの条件(終了条件)を判定し、真ならばステップ501に戻って計算を繰り返し、偽ならばステップ509に進む。ステップ509では、σ(x)=σ(p)(x)として誤り位置多項式σ(x)を設定する。そして、ステップ510で、(36)式に示すように、誤り評価多項式ω(x)を求める。
【0266】
【数30】
Figure 0004423519
【0267】
また、上述実施の形態において、誤り評価多項式ω(x)と誤り位置多項式σ(x)を計算する方法として、図3のフローチャートに示す方法の代わりに、図18のフローチャートに示す方法を用いてもよい。図18のフローチャートに示す方法は、図3のフローチャートに示す方法と同様に、ユークリッドの互除法を用いたアルゴリズムによる方法であるが、設定される初期値が相違する。
【0268】
すなわち、ステップ700で、r-1(x),r0(x),u-1(x),u0(x),v-1(x),v0(x)を、(37)式に示すように、初期化する。図3のステップ230では、v0(x)には定数1を設定しているが、ステップ700では、v0(x)には消失位置多項式E(x)を設定する。
【0269】
【数31】
Figure 0004423519
【0270】
また、ステップ700に続いて、ステップ701〜705の処理をする。このステップ701〜705では、詳細説明は省略するが、図3のステップ231〜235とそれぞれ同様の処理を行う。次に、ステップ706では、σ(x)=vi(x)、ω(x)=ri(x)として、誤り評価多項式ω(x)と誤り位置多項式σ(x)を計算する。
【0271】
また、図1のステップ211、図7のステップ312、図8のステップ413、図12のステップ4018、図16のステップ4118では、図4のフローチャートに示すように、昇順で誤り位置を検出しているが、これを例えば降順で行ってもよい。さらに、任意の順番で検出を行ってもよい。
【0272】
また、上述実施の形態においては、この発明を1拡張リードソロモン符号、2拡張リードソロモン符号の復号に適用したものであるが、この発明は拡張BCH符号(Bose-Chaudhuri-Hocquenghem code)等の復号にも同様に適用できることは勿論である。
【0273】
【発明の効果】
この発明によれば、拡張シンボルの通常訂正および消失訂正を行う手段を組み込むものであり、例えば1拡張リードソロモン符号、2拡張リードソロモン符号の1パスでの混合訂正が可能となる。したがって、拡張リードソロモン符号の混合訂正を短時間で行うことが可能となり、またハードウェア規模も小さくできるという効果がある。
【図面の簡単な説明】
【図1】第1の実施の形態における1拡張リードソロモン符号の復号化のフローチャートである。
【図2】1拡張リードソロモン符号のシンドローム計算のフローチャートである。
【図3】誤り評価多項式ω(x)、誤り位置多項式σ(x)の計算(ユークリッドの互除法を用いたアルゴリズム)のフローチャートである。
【図4】1拡張リードソロモン符号の誤り位置検出のフローチャートである。
【図5】1拡張リードソロモン符号の誤り訂正実行のフローチャートである。
【図6】1拡張リードソロモン符号の復号装置の構成例を示すブロック図である。
【図7】第2の実施の形態における1拡張リードソロモン符号の復号化のフローチャートである。
【図8】第3の実施の形態における1拡張リードソロモン符号の復号化のフローチャートである。
【図9】1拡張リードソロモン符号のシンドローム計算のフローチャートである。
【図10】1拡張リードソロモン符号の誤り訂正実行のフローチャートである。
【図11】訂正可能判定ユニットの他の例を示すフローチャートである。
【図12】第4の実施の形態における2拡張リードソロモン符号の復号化のフローチャートである。
【図13】2拡張リードソロモン符号のシンドローム計算のフローチャートである。
【図14】2拡張リードソロモン符号の誤り訂正実行のフローチャートである。
【図15】2拡張リードソロモン符号の復号装置の構成例を示すブロック図である。
【図16】第5の実施の形態における2拡張リードソロモン符号の復号化のフローチャートである。
【図17】誤り評価多項式ω(x)、誤り位置多項式σ(x)の計算(バーレカンプ・マッシーアルゴリズム)のフローチャートである。
【図18】誤り評価多項式ω(x)、誤り位置多項式σ(x)の計算(ユークリッドの互除法を用いたアルゴリズム)のフローチャートである。
【図19】誤り訂正システムを説明するための図である。
【図20】従来のリードソロモン符号の復号化のフローチャートである。
【図21】リードソロモン符号のシンドローム計算のフローチャートである。
【図22】誤り評価多項式ω(x)、誤り位置多項式σ(x)の計算(ユークリッドの互除法を用いたアルゴリズム)のフローチャートである。
【図23】リードソロモン符号の誤り位置検出のフローチャートである。
【図24】リードソロモン符号の誤り訂正実行のフローチャートである。
【図25】リードソロモン符号の復号装置の構成例を示すブロック図である。
【符号の説明】
270・・・1拡張リードソロモン符号の復号装置、271,272・・・入力端子、273・・・シンドローム多項式計算回路、274・・・消失位置多項式計算回路、275・・・消失数計算回路、276・・・誤り多項式計算回路、277・・・誤り値計算回路、278・・・受信語遅延回路、279,283・・・減算器、280,284・・・信号選択回路、281・・・誤り位置判定回路、282・・・拡張誤り値計算回路、285・・・拡張誤りフラグ計算回路、286,290・・・出力端子、287・・・エラー判定回路、288・・・拡張エラー判定回路、289・・・オアゲート、3400・・・2拡張リードソロモン符号の復号装置、3401,3402・・・入力端子、3403・・・シンドローム多項式計算回路、3404・・・消失位置多項式計算回路、3405・・・消失数計算回路、3406・・・誤り多項式計算回路、3407・・・誤り値計算回路、3408・・・受信語遅延回路、3409,3413,3416・・・減算器、3410,3414,3417・・・信号選択回路、3411・・・誤り位置判定回路、3412・・・第1拡張誤り値計算回路、3415・・・第2拡張誤り値計算回路、3418・・・第1拡張誤りフラグ計算回路、3419・・・第2拡張誤りフラグ計算回路、3420,3425・・・出力端子、3421・・・エラー判定回路、3422・・・第1拡張誤りエラー判定回路、3423・・・第2拡張誤りエラー判定回路、3424・・・オアゲート[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a decoding method for decoding an error correction code such as an extended Reed-Solomon code extended by one symbol or two symbols. To the law Related. Specifically, by incorporating means for performing normal correction and erasure correction of extended symbols, for example, a decoding method of an error correction code that enables mixed correction of one extended Reed-Solomon code and two extended Reed-Solomon codes in one pass, for example. To the law It is related.
[0002]
[Prior art]
First, the error correction system will be described with reference to FIG.
[0003]
The number of parity symbols to be added is p, and k symbol information I = (I 0 , I 1 , ..., I k-1 ) By encoding k symbol information by an encoder (encoding block), a p-symbol parity is added, and a codeword C = (C 0 , C 1 , ..., C n-1 ) Is obtained.
[0004]
The code word passes through the transmission line with an error, and the received word R = (R 0 , R 1 , ..., R n-1 ). If the i-th error is ei, Ri = Ci + ei. The received received word R is decoded by a decoder (decoding block), so that the estimated codeword Cp = (Cp 0 , Cp 1 , ..., Cp n-1 ) And information Ip = (Ip) estimated from this codeword Cp 0 , Ip 1 , ..., Ip k-1 ) Is obtained.
[0005]
A Reed-Solomon code is a code widely used as an error correction code. In a Reed-Solomon code, when a symbol is expressed by m bits, the maximum code length nmax is 2 m -1. For example, when the symbol is expressed by 8 bits, the maximum code length nmax is 255.
[0006]
There is one extended Reed-Solomon code that extends the code length of the Reed-Solomon code by one symbol, and the maximum code length nmax is 2 m It becomes. For example, when a symbol is expressed by 8 bits, the maximum code length nmax is 256. In one extended Reed-Solomon code, the number of parity symbols p remains as it is, and the number of information symbols can be increased by one symbol from the Reed-Solomon code to k + 1 symbols.
[0007]
There are two extended Reed-Solomon codes that extend the code length of the Reed-Solomon code by two symbols, and the maximum code length nmax is 2 m +1. For example, when a symbol is expressed by 8 bits, the maximum code length nmax is 257. In the 2-extended Reed-Solomon code, the number of parity symbols p remains as it is, and the information symbol can be increased by 2 symbols more than the Reed-Solomon code to k + 2 symbols.
[0008]
Next, a Reed-Solomon code decoding method will be described. The decoding method includes normal correction in which decoding is performed only from the received word R, and an erasure flag F = (F indicating the position where the received word R and the received word are considered to have an error. 0 , F 1 , ..., F n-1 There are three types of erasure correction in which decoding is performed using) and mixed correction in which normal correction and erasure correction are simultaneously performed. Here, the most general Reed-Solomon code mixed correction decoding method will be described with reference to FIGS.
[0009]
Here, for the primitive polynomial f (x) on the field GF (2) = {0, 1}, the root of f (x) = 0 is defined as α, and an expanded field of GF (2) is formed. At this time, if the degree of the primitive polynomial f (x) is m, one symbol becomes m bits, and the extension field GF (2 m ) Is expressed by equation (1).
[0010]
[Expression 1]
Figure 0004423519
[0011]
Also, the Reed-Solomon code generator polynomial g (x) used here is expressed by equation (2).
[0012]
[Expression 2]
Figure 0004423519
[0013]
FIG. 20 shows a flowchart of decoding of the Reed-Solomon code.
[0014]
First, in step 100, the received word R = (R 0 , R 1 , ..., R n-1 ) And disappearance flag F = (F 0 , F 1 , ..., F n-1 ) Is given. The erasure flag F is a flag in which 1 is set for a position where an error is predicted in the received word R, and 0 is set for a position where no other error is predicted. .
[0015]
Next, in step 101, the erasure number ε is obtained from the equation (3), and the erasure position polynomial E (x) is obtained from the equation (4).
[0016]
[Equation 3]
Figure 0004423519
[0017]
Next, in step 102, syndrome S = (S) using a parity check matrix H as shown in equation (5). 0 , S 1 , ..., S p-1 ) Is obtained from equation (6). A method for calculating the syndrome S will be described later with reference to FIG. Then, a syndrome polynomial S (x) as shown in equation (7) is obtained.
[0018]
[Expression 4]
Figure 0004423519
[0019]
Next, in step 103, using the erasure position polynomial E (x) and the syndrome polynomial S (x), a corrected syndrome polynomial Sm (x) is obtained as shown in equation (8).
[0020]
[Equation 5]
Figure 0004423519
[0021]
Next, in step 104, an error evaluation polynomial ω (x) and an error locator polynomial σ (x) are obtained using the corrected syndrome polynomial Sm (x). A method of calculating the error evaluation polynomial ω (x) and the error locator polynomial σ (x) will be described later with reference to FIG.
[0022]
Next, in step 105, the condition of degω (x) <degσ (x) is determined. If false, the process proceeds to step 110 to output an error signal and ends. If true, the process proceeds to step 106. Here, degω (x) is the order of the error evaluation polynomial ω (x), and degσ (x) is the order of the error position polynomial σ (x).
[0023]
In step 106, the condition of the expression (9) is determined. If false, the process proceeds to step 110 to output an error signal and ends. If true, the process proceeds to step 107. Note that the parenthesis on the right side of equation (9) means that the decimal part is discarded. The same applies to the following equations.
[0024]
[Formula 6]
Figure 0004423519
[0025]
In step 107, the error position is detected using the error position polynomial σ (x). An error position calculation method will be described later with reference to FIG. Then, in step 108, the condition of # roots = degσ (x) is determined. If false, the process proceeds to step 110, an error signal is output and terminated, and if true, the process proceeds to step 109. Here, #roots is the number of error positions detected in step 107.
[0026]
In step 109, an error value ei at position i is calculated from error evaluation polynomial ω (x) and error position polynomial σ (x) obtained in step 104 and error position i detected in step 107, and received. From the word R, the error position i, and the error value ei, the estimated information Ip = (Cp 0 , Cp 1 , ..., Cp k-1 ) Is calculated and output. A method of calculating the estimated information Ip will be described later with reference to FIG.
[0027]
A method of calculating the syndrome S from the received word R will be described using the flowchart of FIG.
[0028]
First, in step 120, the received word R = (R 0 , R 1 , ..., R n-1 ). In step 121, each element of the syndrome S (S 0 , S 1 , ..., S p-1 ) Element R of received word R 0 Initialize with. In step 122, the counter i is initialized to 1.
[0029]
Next, in step 123, each element of the syndrome S is updated by the equation (10).
[0030]
[Expression 7]
Figure 0004423519
[0031]
Next, at step 124, the value of the counter i is incremented by one. In step 125, the condition of i <n is determined. If true, the process returns to step 123 to repeat the syndrome calculation. If false, the process proceeds to step 126, where syndrome S = (S 0 , S 1 , ..., S p-1 ) Is output.
[0032]
A method of calculating the error evaluation polynomial ω (x) and the error locator polynomial σ (x) from the corrected syndrome polynomial Sm (x) (a method based on an algorithm using the Euclidean algorithm) will be described using the flowchart of FIG. To do.
[0033]
First, in step 130, r -1 (x), r 0 (x), u -1 (x), u 0 (x), v -1 (x), v 0 (x) is initialized as shown in equation (11).
[0034]
[Equation 8]
Figure 0004423519
[0035]
Next, at step 131, the counter i is initialized to zero. In step 132, the value of the counter i is incremented by one. In step 133, the division is performed, and q satisfying the expression (12) is satisfied. i-1 Find (x). Where degr i (x) is r i Degree of (x) and degr i-1 (x) is r i-1 The order of (x).
[0036]
[Equation 9]
Figure 0004423519
[0037]
Next, in step 134, q found in step 133 i-1 Using (x), as shown in equation (13), u i (x), v i Update (x).
[0038]
[Expression 10]
Figure 0004423519
[0039]
Next, in step 135, the condition (end condition) of the expression (14) is determined. If true, the process proceeds to step 136. If false, the process returns to step 132, and division is performed again in step 133. In step 136, an error evaluation polynomial ω (x) and an error locator polynomial σ (x) are set as shown in equation (15).
[0040]
## EQU11 ##
Figure 0004423519
[0041]
A method of detecting an error position from the error position polynomial σ (x) will be described using the flowchart of FIG.
[0042]
First, at step 140, the counter i is initialized to zero. In step 141, σ (α -i ) = 0 is determined. If true, the position indicated by the counter i is an error position, so the process proceeds to step 142. If false, the position indicated by the counter i is not an error position, and the process proceeds to step 143. In step 142, the value of the counter i indicating the detected error position is registered in the memory A, and then the process proceeds to step 143. In step 143, the value of counter i is incremented by one.
[0043]
Next, in step 144, the condition (end condition) of i <n is determined. If true, the process returns to step 141 to repeat detection of the error position, and if false, the process proceeds to step 145. In step 145, the registered content of the memory A is output as an error position.
[0044]
A method of correcting the error of the received word R from the error evaluation polynomial ω (x) and error position polynomial σ (x) and the detected error position i will be described using the flowchart of FIG.
[0045]
First, at step 150, the counter i is initialized to zero. In step 151, the condition of i∈A is determined. If true, the value of the counter i represents the error position, so the process proceeds to step 152. If false, the value of the counter i is not the error position, so step 154 is performed. Proceed to
[0046]
In step 152, using the error evaluation polynomial ω (x), the differential σ ′ (x) of the error position polynomial σ (x), and the error position i, an error value ei is calculated as shown in equation (16). The process proceeds to step 153. In step 153, the i-th element Cpi of the estimated codeword Cp is calculated as Ri-ei, and the process proceeds to step 155. In step 154, the i-th element Cpi of the estimated codeword Cp is set as Ri, and the process proceeds to step 155.
[0047]
[Expression 12]
Figure 0004423519
[0048]
In step 155, the value of counter i is incremented by one. In step 156, the condition (end condition) of i <n is determined. If true, the process returns to step 151 to repeat the error value calculation, and if false, the process proceeds to step 157. In step 157, the estimated codeword Cp = (Cp 0 , Cp 1 , ..., Cp n-1 ), And in step 158, the estimated information Ip = (Cp) from the estimated codeword Cp 0 , Cp 1 , ..., Cp k-1 ) And output.
[0049]
FIG. 25 shows a configuration of a decoding device 160 that implements the above-described Reed-Solomon code decoding method.
[0050]
The decoding device 160 has an input terminal 161 for receiving a received word (input data) R and an input terminal 162 for inputting an erasure flag F corresponding to the received word R.
[0051]
The decoding device 160 obtains a syndrome polynomial calculation circuit 163 (see step 102 in FIG. 20) for obtaining a syndrome polynomial S (x) from the received word R and an erasure position polynomial E (x) from the erasure flag F. Erasure position polynomial calculation circuit 164 (see step 101 in FIG. 20) and an erasure number calculation circuit 165 (see step 101 in FIG. 20) for obtaining the erasure number ε from the erasure flag F.
[0052]
Further, the decoding device 160 obtains a corrected syndrome polynomial Sm (x) from the syndrome polynomial S (x) and the erasure position polynomial E (x), and an error is obtained from the corrected syndrome polynomial Sm (x) and the erasure position polynomial E (x). An error polynomial calculation circuit 166 (see step 104 in FIG. 20) for obtaining an evaluation polynomial ω (x) and an error locator polynomial σ (x) is provided.
[0053]
Further, the decoding device 160 includes an error value calculation circuit 167 (see step 152 in FIG. 24) for obtaining an error value ei of each element Ri of the received word R from the error evaluation polynomial ω (x) and the error locator polynomial σ (x). The received word delay circuit 168 for adjusting the timing of each element Ri of the received word R to the timing of the error value ei output from the error value calculating circuit 167, and the error value ei is subtracted from each element Ri of the received word R And a subtracter 169 (see step 153 in FIG. 24).
[0054]
The decoding device 160 also obtains the error position i from the error position polynomial σ (x) and the signal selection circuit 170 that selectively extracts either the output Ri-ei of the subtractor 169 or the output Ri of the received word delay circuit 168. Detect and output a selection signal SEL corresponding to the error position i, determine the condition of # roots = degσ (x) (see step 108 in FIG. 20), and if false, output an error signal ER A position determination circuit 171 and an output terminal 172 for deriving the output of the signal selection circuit 170 are provided.
[0055]
Here, the selection signal SEL output from the error position determination circuit 171 is supplied to the signal selection circuit 170. The signal selection circuit 170 takes out the output Ri-ei of the subtractor 169 at the error position i, and the position is not the error position i. Thus, the output Ri of the received word delay circuit 168 is taken out.
[0056]
Further, the decoding device 160 determines the condition of degω (x) <degσ (x) and the condition of the expression (9) (see steps 105 and 106 in FIG. 20), and outputs an error signal ER when false. An error determination circuit 173 that receives the error signal ER output from the error position determination circuit 171 and the error signal ER output from the error determination circuit 173, and an output terminal 175 that derives the output of the OR gate 174. And have.
[0057]
The output of the OR gate 174 is supplied to the signal selection circuit 170, and when the error signal ER is obtained as the output of the OR gate 174, the signal selection circuit 170 always receives the received word delay circuit regardless of the state of the selection signal SEL. An output Ri of 168 is taken out.
[0058]
The operation of the decoding device 160 shown in FIG. 25 will be described.
[0059]
The received word (input data) R input to the input terminal 161 is supplied to the syndrome polynomial calculation circuit 163. In the calculation circuit 163, the syndrome S is calculated from the received word R, and the syndrome polynomial S (x) is obtained. On the other hand, the erasure flag F input to the input terminal 162 is supplied to the erasure position polynomial calculation circuit 164. In the calculation circuit 164, the erasure position polynomial E (x) is obtained from the erasure flag F. Further, the erasure flag F input to the input terminal 162 is supplied to the erasure count calculation circuit 165. In the calculation circuit 165, the number of disappearances ε is obtained from the disappearance flag F.
[0060]
The syndrome polynomial S (x) obtained by the calculation circuit 163 and the erasure position polynomial E (x) obtained by the calculation circuit 164 are supplied to the error polynomial calculation circuit 166. In the calculation circuit 166, a corrected syndrome polynomial Sm (x) is obtained from the syndrome polynomial S (x) and the erasure position polynomial E (x), and the correction syndrome polynomial Sm (x) and the erasure position polynomial E (x ) To obtain an error evaluation polynomial ω (x) and an error locator polynomial σ (x).
[0061]
The error evaluation polynomial ω (x) and error position polynomial σ (x) obtained by the calculation circuit 166 are supplied to the error value calculation circuit 167. In this calculation circuit 167, the error value ei of each element Ri of the received word R is sequentially obtained from the error evaluation polynomial ω (x) and the error locator polynomial σ (x). The error value ei is supplied to the subtracter 169 and subtracted from each element Ri of the received word R output from the received word delay circuit 168.
[0062]
The error position polynomial σ (x) obtained by the calculation circuit 166 is supplied to the error position determination circuit 171. The error position determination circuit 171 detects the error position i from the error position polynomial σ (x), and outputs a selection signal SEL corresponding to the error position i. This selection signal SEL is supplied to the signal selection circuit 170 as a control signal. Then, in the signal selection circuit 170, the output Ri-ei of the subtracter 169 is extracted at the error position i, and the output Ri of the received word delay circuit 168 is extracted at a position other than the error position i.
[0063]
As a result, the error-corrected estimated codeword Cp is extracted from the signal selection circuit 170, and this estimated codeword Cp is output to the output terminal 172 as output data. By removing the parity symbol portion from the estimated codeword Cp, the estimated information Ip = (Cp 0 , Cp 1 , ..., Cp k-1 ) Is obtained.
[0064]
When the error signal ER is output from the error determination circuit 173 or the error position determination circuit 171, the error signal ER is derived to the output terminal 175 and the error signal ER is supplied to the signal selection circuit 170. Then, in the signal selection circuit 170, the output Ri of the reception word delay circuit 168 is always taken out regardless of the state of the selection signal SEL. As a result, in a state where the error signal ER is derived to the output terminal 175, the received word R is not error-corrected and is output to the output terminal 172 as it is.
[0065]
[Problems to be solved by the invention]
As described above, the normal Reed-Solomon code can be mixed and corrected in one pass. On the other hand, for 1-extended Reed-Solomon code and 2-extended Reed-Solomon code, a two-pass mixed correction method has been proposed (Richard E. Blahut, “THEORY AND PRACTICE OF ERROR CONTOL CODES”, ISBN). : 0-201-10102-5, p.260- "9.3 DECODING OF EXTENDED REED-SOLOMON CODES") A method of mixed correction in one pass has not been proposed. For this reason, in the mixed correction in two passes of the extended Reed-Solomon code, there are inconveniences that it takes time to decode and the hardware scale becomes large.
[0066]
Therefore, in the present invention, for example, a decoding method of an error correction code that enables mixed correction in one pass of one extended Reed-Solomon code and two extended Reed-Solomon codes. The law The purpose is to provide.
[0067]
[Means for Solving the Problems]
An error correction code decoding method according to the present invention includes a first step of calculating a syndrome polynomial by calculating the extension symbol from input data including the extension symbol, and an erasure position polynomial from an erasure flag corresponding to the input data. A second step of obtaining, a third step of obtaining an erasure number from an erasure flag corresponding to the input data, a fourth step of obtaining an error position polynomial and an error evaluation polynomial from the syndrome polynomial and erasure position polynomial, A fifth step for obtaining an error position from the error position polynomial and the error evaluation polynomial, a sixth step for obtaining an error value including the extension symbol from the error position polynomial and the error evaluation polynomial, and the error position and the error value. The seventh step is used to correct the error of the input data and obtain the output data. When, and a eighth step of correctable determination, including the correctable determination in extended symbol The value of the extended symbol in the input data is obtained by adding the values of symbols other than the extended symbol, and the eighth step includes the order of the error locator polynomial, the number of erasures, and the input Comparing with the number obtained using the number of parity symbols of the data, and determining correctability Is.
[0068]
In the present invention, since means for performing normal correction and erasure correction of the extended symbol are incorporated, for example, mixed correction in one pass of one extended Reed-Solomon code or two extended Reed-Solomon codes becomes possible.
[0069]
DETAILED DESCRIPTION OF THE INVENTION
A first embodiment will be described. The first embodiment is a mixed correction decoding method in which normal correction and erasure correction are simultaneously performed in one extended Reed-Solomon code.
[0070]
Here, for the primitive polynomial f (x) on the field GF (2) = {0, 1}, the root of f (x) = 0 is defined as α, and an expanded field of GF (2) is formed. At this time, if the degree of the primitive polynomial f (x) is m, one symbol becomes m bits, and the extension field GF (2 m ) Is expressed by the above-described equation (1). The Reed-Solomon code generator polynomial g (x) used here is expressed by the above-described equation (2).
[0071]
FIG. 1 shows a flowchart of decoding of one extended Reed-Solomon code in the first embodiment.
[0072]
First, in step 200, the received word R = (R - , R 0 , R 1 , ..., R n-1 ) And disappearance flag F = (F - , F 0 , F 1 , ..., F n-1 ) Is given. The erasure flag F is a flag in which 1 is set for a position where an error is predicted in the received word R, and 0 is set for a position where no other error is predicted. . The difference from the conventional Reed-Solomon code decoding method described above is that the extended received symbol R - And extended disappearance flag F - Is added.
[0073]
Next, in step 201, the erasure number ε is obtained from the equation (17), and the erasure position polynomial E (x) is obtained from the above equation (4). The difference from the above-described conventional Reed-Solomon code decoding method is that the erasure number ε is added to the extended erasure flag F. - Is included in the calculation.
[0074]
[Formula 13]
Figure 0004423519
[0075]
Next, in step 202, using a parity check matrix H as shown in equation (18), syndrome S = (S 0 , S 1 , ..., S p-1 ) Is obtained from the above equation (6). A method of calculating the syndrome S will be described later with reference to FIG. Then, a syndrome polynomial S (x) as shown in the above equation (7) is obtained.
[0076]
[Expression 14]
Figure 0004423519
[0077]
Next, in step 203, the corrected syndrome polynomial Sm (x) is obtained using the erasure position polynomial E (x) and the syndrome polynomial S (x) as shown in the above equation (8).
[0078]
Next, in step 204, an error evaluation polynomial ω (x) and an error position polynomial σ (x) are obtained using the corrected syndrome polynomial Sm (x). A method of calculating the error evaluation polynomial ω (x) and the error locator polynomial σ (x) will be described later with reference to FIG.
[0079]
Next, in step 205, the condition of degω (x) <degσ (x) is determined. If false, the process proceeds to step 206, and if true, the process proceeds to step 208. Here, degω (x) is the order of the error evaluation polynomial ω (x), and degσ (x) is the order of the error position polynomial σ (x). In step 206, the condition of degω (x) = degσ (x) is determined. If false, the process proceeds to step 214 to output an error signal and ends. If true, the process proceeds to step 207.
[0080]
In step 207, the condition of the equation (19) is determined. If false, the process proceeds to step 214 to output an error signal and ends. If true, the process proceeds to step 209. In step 209, since it is determined from the determination results in steps 205 and 206 that there is an error in the extended symbol position, the extended error flag e - Set flag to 1 and then proceed to step 211.
[0081]
[Expression 15]
Figure 0004423519
[0082]
In step 208, the condition of the above-described equation (9) is determined. If false, the process proceeds to step 214 to output an error signal and ends. If true, the process proceeds to step 210. In step 210, since it is determined from the determination result in step 205 that there is no error in the extended symbol position, the extended error flag e - Set flag to 0, and then go to step 211.
[0083]
In step 211, the error position is detected using the error position polynomial σ (x). At this time, R - No error position is detected for. An error position calculation method will be described later with reference to FIG. In step 212, the condition # roots = degσ (x) is determined. If false, the process proceeds to step 214 to output an error signal and ends. If true, the process proceeds to step 213. Here, #roots is the number of error positions detected in step 211.
[0084]
In step 213, an error value ei at position i is calculated from the error evaluation polynomial ω (x) and error position polynomial σ (x) obtained in step 204 and the error position i detected in step 211, and This error value ei and the 0th element S of the syndrome S obtained in step 202 0 The extended error value e using - Further, the received word R, error position i, error value ei, extended error value e - From the estimated information Ip = (Cp - , Cp 0 , Cp 1 , ..., Cp k-1 ). A method of calculating the estimation information Ip will be described later with reference to FIG. Here, the extended symbol Cp - Is the extended symbol Cp - It is obtained by adding all the values other than. That is, Cp - = Cp 0 + Cp 1 + ... + Cp n-1 It is.
[0085]
Next, in step 215, e - The flag = 0 condition is determined. If false, the process proceeds to step 216. If true, the process proceeds to step 217. In step 216, e - The condition of ≠ 0 is determined. If false, the process proceeds to step 214 to output an error signal and the process is terminated. If true, the estimated information Ip is output and the process is terminated. On the other hand, in step 217, e - The condition of = 0 is determined. If false, the process proceeds to step 214 to output an error signal and the process ends. If true, the estimation information Ip is output and the process ends.
[0086]
A method of calculating the syndrome S from the received word R will be described using the flowchart of FIG.
[0087]
First, in step 220, the received word R = (R - , R 0 , R 1 , ..., R n-1 ). In step 221, each element of the syndrome S (S 0 , S 1 , ..., S p-1 ) Element R of received word R 0 Initialize with.
[0088]
Next, in step 222, the 0th element S of the syndrome S 0 To the first element R of the received word R - And subtract the result of subtraction 0 And In step 223, the counter i is initialized to 1. In step 224, each element of the syndrome S is updated by the above equation (10).
[0089]
Next, at step 225, the value of the counter i is incremented by one. In step 226, the condition of i <n is determined. If true, the process returns to step 224 to repeat the syndrome calculation. If false, the process proceeds to step 227, where syndrome S = (S 0 , S 1 , ..., S p-1 ) Is output.
[0090]
A method of calculating the error evaluation polynomial ω (x) and the error locator polynomial σ (x) from the corrected syndrome polynomial Sm (x) will be described with reference to the flowchart of FIG. To do.
[0091]
First, in step 230, r -1 (x), r 0 (x), u -1 (x), u 0 (x), v -1 (x), v 0 (x) is initialized as shown in the above equation (11). In step 231, the counter i is initialized to zero. In step 232, the value of the counter i is incremented by one. Then, in step 233, q is divided to satisfy the above equation (12). i-1 Find (x). Where degr i (x) is r i Degree of (x) and degr i-1 (x) is r i-1 The order of (x).
[0092]
Next, in step 234, q found in step 233 i-1 Using (x), ui (x) and vi (x) are updated as shown in the above equation (13).
[0093]
Next, in step 235, the condition (end condition) of the above-described equation (14) is determined. If true, the process proceeds to step 236. If false, the process returns to step 232, and division is performed again in step 233. In step 236, an error evaluation polynomial ω (x) and an error locator polynomial σ (x) are set as shown in the above equation (15).
[0094]
A method of detecting an error position from the error position polynomial σ (x) will be described using the flowchart of FIG.
[0095]
First, at step 240, the counter i is initialized to zero. In step 241, σ (α -i ) = 0, and if true, the position indicated by the counter i is an error position, so the process proceeds to step 242; if false, the position indicated by the counter i is not an error position, and the process proceeds to step 243. In step 242, the value of the counter i indicating the detected error position is registered in the memory A, and then the process proceeds to step 243. In step 243, the value of counter i is incremented by one.
[0096]
Next, in step 244, a condition of i <n (end condition) is determined. If true, the process returns to step 241 to repeat detection of the error position, and if false, the process proceeds to step 245. In step 245, the registered content of the memory A is output as an error position.
[0097]
A method for correcting the error of the received word R from the error evaluation polynomial ω (x) and the error position polynomial σ (x) and the detected error position i will be described using the flowchart of FIG.
[0098]
First, in step 250, the variable w is changed to the 0th element S of the syndrome S. 0 W = -S 0 Initialize as. w is the extended error value e - Is used to calculate as shown in equation (20).
[0099]
[Expression 16]
Figure 0004423519
[0100]
Next, at step 251, the counter i is initialized to zero. In step 252, the condition of i∈A is determined. If true, the value of the counter i represents an error position, so the process proceeds to step 253, and if false, the value of the counter i is not an error position, so step 256. Proceed to
[0101]
In step 253, using the error evaluation polynomial ω (x), the differential σ ′ (x) of the error locator polynomial σ (x), and the error position i, an error value ei is obtained as shown in the above equation (16). Calculate and go to step 254. In step 254, the i-th element Cpi of the estimated codeword Cp is calculated as Ri-ei, and the process proceeds to step 255. In step 255, w is updated as w = w + ei, and the process proceeds to step 257. In step 256, the i-th element Cpi of the estimated codeword Cp is set as Ri, and the process proceeds to step 257.
[0102]
In step 257, the value of counter i is incremented by one. In step 258, the condition (end condition) of i <n is determined. If true, the process returns to step 252 to repeat the error value calculation. If false, the process proceeds to step 259. In step 259, the extended error value e - Substitute the value of w for.
[0103]
Next, in step 260, the estimated extended code symbol Cp - Cp - = R - -E - Set as. In step 261, the estimated codeword Cp = (Cp - , Cp 0 , ..., Cp n-1 In step 262, the estimated information Ip = (Cp - , Cp 0 , Cp 1 , ..., Cp k-1 )
[0104]
FIG. 6 shows the configuration of a decoding device 270 that implements the decoding method of the 1-extended Reed-Solomon code shown in the flowchart of FIG.
[0105]
The decoding device 270 has an input terminal 271 for inputting a received word (input data) R and an input terminal 272 for inputting an erasure flag F corresponding to the received word R.
[0106]
The decoding device 270 obtains a syndrome polynomial calculation circuit 273 (see step 202 in FIG. 1) for obtaining a syndrome polynomial S (x) from the received word R and an erasure position polynomial E (x) from the erasure flag F. Erasure position polynomial calculation circuit 274 (see step 201 in FIG. 1) and an erasure number calculation circuit 275 (see step 201 in FIG. 1) for obtaining the erasure number ε from the erasure flag F.
[0107]
Further, the decoding device 270 obtains a corrected syndrome polynomial Sm (x) from the syndrome polynomial S (x) and the erasure position polynomial E (x), and an error is obtained from the corrected syndrome polynomial Sm (x) and the erasure position polynomial E (x). An error polynomial calculation circuit 276 (see step 204 in FIG. 1) for obtaining an evaluation polynomial ω (x) and an error locator polynomial σ (x) is provided.
[0108]
Further, the decoding device 270 has an error value calculation circuit 277 (see step 253 in FIG. 5) for obtaining an error value ei of each element Ri of the received word R from the error evaluation polynomial ω (x) and the error position polynomial σ (x). The received word delay circuit 278 for adjusting the timing of each element Ri of the received word R to the timing of the error value ei output from the error value calculating circuit 277, and the error value ei is subtracted from each element Ri of the received word R And a subtractor 279 (see step 254 in FIG. 5).
[0109]
Further, the decoding device 270 selects the error position i from the error position polynomial σ (x) and the signal selection circuit 280 that selectively extracts either the output Ri-ei of the subtractor 279 or the output Ri of the received word delay circuit 278. Detect and output a selection signal SEL corresponding to the error position i, determine the condition of # roots = degσ (x) (see step 212 in FIG. 1), and if false, output an error signal ER A position determination circuit 281. Here, the selection signal SEL output from the error position determination circuit 281 is supplied to the signal selection circuit 280. The signal selection circuit 280 takes out the output Ri-ei of the subtractor 279 at the error position i, and is not at the error position i. Thus, the output Ri of the received word delay circuit 278 is taken out.
[0110]
Also, the decoding device 270 calculates the extended error value e from the error evaluation polynomial ω (x) and the error locator polynomial σ (x). - The extended error value calculation circuit 282 (see step 259 of FIG. 5) for obtaining the extended error value e from the output of the signal selection circuit 280 - And a signal selection circuit 284 that selectively extracts either the output of the subtractor 283 or the output of the signal selection circuit 280.
[0111]
Also, the decoding device 270 determines whether or not there is an error in the extended symbol position from the error evaluation polynomial ω (x) and the error locator polynomial σ (x), and the extended error flag e - An extended error flag calculation circuit 285 for setting flag (see steps 209 and 210 in FIG. 1) and an output terminal 286 for deriving the output of the signal selection circuit 284 are provided. Here, when it is determined that there is an error in the extension symbol position, e - When flag = 1 and it is determined that there is no error in the extended symbol position, e - flag = 0. Extended error flag e output from the calculation circuit 285 - The flag is supplied to the signal selection circuit 284.
[0112]
In the signal selection circuit 284, the extended reception symbol R is received from the signal selection circuit 280. - Is output, e - When flag = 1, the output R of the subtracter 283 - -E - Is the estimated extended symbol Cp - Taken out as e - When flag = 0, the output R of the signal selection circuit 280 - Is the estimated extended symbol Cp - It is made to be taken out as. Further, in the signal selection circuit 284, the extended reception symbol R is transmitted from the signal selection circuit 280. - When other symbols are output, only the output of the signal selection circuit 280 is taken out.
[0113]
In addition, when degω (x) <degσ (x) is false, the decoding device 270 determines the condition of degω (x) = degσ (x) and the condition of equation (19), while degω (x) <degσ If (x) is true, the condition of equation (9) is determined (see steps 205 to 208 in FIG. 1), and if it is false, an error determination circuit 287 that outputs an error signal ER; e - e if flag = 0 is false - Determine the condition of ≠ 0, while e - e if flag = 0 is true - = 0 (see steps 215 to 217 in FIG. 1), and when it is false, an extended error determination circuit 288 that outputs an error signal ER is provided.
[0114]
The decoding device 270 also receives an error signal ER output from the error position determination circuit 281, an error signal ER output from the error determination circuit 287, and an error signal ER output from the extended error determination circuit 288. And an output terminal 290 from which an output of the OR gate 289 is derived.
[0115]
The output of the OR gate 289 is supplied to the signal selection circuits 280 and 284, and when the error signal ER is obtained as the output of the OR gate 289, the signal selection circuit 280 always delays the received word regardless of the state of the selection signal SEL. The output Ri of the circuit 278 is taken out, and the signal selection circuit 284 outputs the extended error flag e. - Regardless of the state of flag, the output of the signal selection circuit 280 is always taken out.
[0116]
The operation of the decoding device 270 shown in FIG. 6 will be described.
[0117]
The received word (input data) R input to the input terminal 271 is supplied to the syndrome polynomial calculation circuit 273. In the calculation circuit 273, the syndrome S is calculated from the received word R, and the syndrome polynomial S (x) is obtained. On the other hand, the erasure flag F input to the input terminal 272 is supplied to the erasure position polynomial calculation circuit 274. In the calculation circuit 274, the erasure position polynomial E (x) is obtained from the erasure flag F. Further, the disappearance flag F input to the input terminal 272 is supplied to the disappearance number calculation circuit 275. In the calculation circuit 275, the number of disappearances ε is obtained from the disappearance flag F.
[0118]
The syndrome polynomial S (x) obtained by the calculation circuit 273 and the erasure position polynomial E (x) obtained by the calculation circuit 274 are supplied to the error polynomial calculation circuit 276. In the calculation circuit 276, a corrected syndrome polynomial Sm (x) is obtained from the syndrome polynomial S (x) and the erasure position polynomial E (x), and this correction syndrome polynomial Sm (x) and the erasure position polynomial E (x ) To obtain an error evaluation polynomial ω (x) and an error locator polynomial σ (x).
[0119]
The error evaluation polynomial ω (x) and error position polynomial σ (x) obtained by the calculation circuit 276 are supplied to the error value calculation circuit 277. In this calculation circuit 277, the error value ei of each element Ri of the received word R is sequentially obtained from the error evaluation polynomial ω (x) and the error locator polynomial σ (x). This error value ei is supplied to the subtracter 279 and subtracted from each element Ri of the received word R output from the received word delay circuit 278.
[0120]
The error position polynomial σ (x) obtained by the calculation circuit 276 is supplied to the error position determination circuit 281. The error position determination circuit 281 detects an error position i from the error position polynomial σ (x) and outputs a selection signal SEL corresponding to the error position i. This selection signal SEL is supplied to the signal selection circuit 280 as a control signal. Then, in the signal selection circuit 280, the output Ri-ei of the subtractor 279 is extracted as the element Cpi of the estimated codeword Cp at the error position i, and the output Ri of the received word delay circuit 278 is the estimated codeword at a position other than the error position i. Extracted as an element Cpi of Cp.
[0121]
The error evaluation polynomial ω (x) and error locator polynomial σ (x) obtained by the calculation circuit 276 are supplied to the extended error value calculation circuit 282. In this calculation circuit 282, the extended received symbol R is calculated from the error evaluation polynomial ω (x) and the error locator polynomial σ (x). - Error value of e.g., extended error value e - Is required. And this extended error value e - Is supplied to the subtracter 283 and subtracted from the output of the signal selection circuit 280.
[0122]
The error evaluation polynomial ω (x) and error locator polynomial σ (x) obtained by the calculation circuit 276 are supplied to the extended error flag calculation circuit 285. The calculation circuit 285 determines whether or not there is an error in the extended symbol position from the error evaluation polynomial ω (x) and the error position polynomial σ (x). When it is determined that there is an error in the extended symbol position, e - When flag = 1 is set and it is determined that there is no error in the extended symbol position, e - flag = 0 is set.
[0123]
This extended error flag e - The flag is supplied to the signal selection circuit 284 as a control signal. In the signal selection circuit 284, the extended reception symbol R is received from the signal selection circuit 280. - Is output, e - When flag = 1, the output R of the subtracter 283 - -E - Is the estimated extended symbol Cp - Taken out as e - When flag = 0, the output R of the signal selection circuit 280 - Is the estimated extended symbol Cp - As taken out. Further, in the signal selection circuit 284, the extended reception symbol R is transmitted from the signal selection circuit 280. - When other symbols are output, only the output of the signal selection circuit 280 is taken out.
[0124]
As a result, the signal selection circuit 284 receives the error-corrected estimated codeword Cp (estimated extended symbol Cp). - And the estimated code word Cp is output to the output terminal 286 as output data. Then, by removing the parity symbol part from the estimated codeword Cp, the estimated information Ip = (Cp - , Cp 0 , Cp 1 , ..., Cp k-1 ) Is obtained.
[0125]
When the error signal ER is output from the error position determination circuit 281, the error determination circuit 287, or the extended error determination circuit 288, the error signal ER is derived to the output terminal 290 and the error signal ER is a signal selection circuit. 280, 284. The signal selection circuit 280 always extracts the output Ri of the received word delay circuit 278 regardless of the state of the selection signal SEL, and the signal selection circuit 284 outputs the extended error flag e. - Regardless of the state of flag, the output of the signal selection circuit 280 is always taken out. As a result, in the state where the error signal ER is derived to the output terminal 290, the received word R is not error-corrected and is output to the output terminal 286 as it is.
[0126]
As described above, in the first embodiment, mixed correction in one pass of one extended Reed-Solomon code is possible. Therefore, mixed correction of one extended Reed-Solomon code can be performed in a short time, and the hardware scale can be reduced.
[0127]
Next, a second embodiment will be described. The second embodiment also relates to a mixed correction decoding method in which normal correction and erasure correction are simultaneously performed in one extended Reed-Solomon code. FIG. 7 shows a flowchart of decoding of one extended Reed-Solomon code in the second embodiment.
[0128]
First, processing of steps 300 to 304 is performed. In steps 300 to 304, processing similar to that in steps 200 to 204 in FIG. 1 is performed.
[0129]
Next, in step 305, the correctable determination number h is set as h = 2 degσ (x) −ε. The correctable determination number h is used in step 311 to be described later, but finally becomes as shown in equation (21).
[0130]
[Expression 17]
Figure 0004423519
[0131]
Next, in step 306, the condition of degω (x) <degσ (x) is determined. If false, the process proceeds to step 307, and if true, the process proceeds to step 310. In step 307, the condition of degω (x) = degσ (x) is determined. If false, the process proceeds to step 315 to output an error signal and ends. If true, the process proceeds to step 308. In step 308, h = h + 2 is set, the correctable determination number h is updated, and the process proceeds to step 309.
[0132]
In step 309, since it is determined from the determination results in steps 306 and 307 that there is an error in the extended symbol position, the extended error flag e - Set flag to 1, then go to step 311. In step 310, since it is determined from the determination result in step 306 that there is no error in the extended symbol position, the extended error flag e - Set flag to 0, and then go to step 311.
[0133]
Next, in step 311, the condition of h ≦ p is determined. If false, the process proceeds to step 315 to output an error signal and the process ends. If true, the process proceeds to step 312. Then, steps 312 to 318 are performed. In steps 312 to 318, the same processing as in steps 211 to 217 of FIG. 1 is performed.
[0134]
That is, in step 312, the error position is detected using the error position polynomial σ (x). In step 313, the condition of # roots = degσ (x) is determined. If false, the process proceeds to step 315 to output an error signal, and the process ends. If true, the process proceeds to step 314.
[0135]
In step 314, an error value ei at position i is calculated from the error evaluation polynomial ω (x) and error position polynomial σ (x) obtained in step 304 and the error position i detected in step 312, and This error value ei and the 0th element S of the syndrome S obtained in step 302 0 The extended error value e using - Further, the received word R, error position i, error value ei, extended error value e - From the estimated information Ip = (Cp - , Cp 0 , Cp 1 , ..., Cp k-1 )
[0136]
Next, in step 316, e - The condition of flag = 0 is determined. If false, the process proceeds to step 317, and if true, the process proceeds to step 318. In step 317, e - The condition of ≠ 0 is determined. If false, the process proceeds to step 315 to output an error signal and the process is terminated. If true, the estimated information Ip is output and the process is terminated. On the other hand, in step 318, e - The condition of = 0 is determined. If false, the process proceeds to step 315 to output an error signal and the process ends. If true, the estimation information Ip is output and the process ends.
[0137]
A decoding apparatus that performs the decoding method of the 1-extended Reed-Solomon code shown in the flowchart of FIG. 7 is configured in the same manner as the decoding apparatus 270 shown in FIG. 6 except that the operation of the error determination circuit 287 is different. That is, in the decoding device 270 shown in FIG. 6, the error determination circuit 287 outputs the error signal ER by the determination processing in steps 205 to 208, but implements the decoding method of 1 extended Reed-Solomon code shown in the flowchart of FIG. 7. In the decoding device, the error determination circuit 287 is configured to output an error signal ER by the determination processing in steps 306, 307, and 311.
[0138]
As described above, also in the second embodiment, mixed correction in one pass of one extended Reed-Solomon code is possible as in the first embodiment.
[0139]
Next, a third embodiment will be described. This third embodiment also relates to a mixed correction decoding method in which normal correction and erasure correction are simultaneously performed in one extended Reed-Solomon code.
[0140]
FIG. 8 shows a flowchart of decoding of one extended Reed-Solomon code in the third embodiment.
[0141]
First, in step 400, the received word R = (R + , R 0 , R 1 , ..., R n-1 ) And disappearance flag F = (F + , F 0 , F 1 , ..., F n-1 ) Is given. The erasure flag F is a flag in which 1 is set for a position where an error is predicted in the received word R, and 0 is set for a position where no other error is predicted. . The difference from the conventional Reed-Solomon code decoding method described above is that the extended received symbol R + And extended disappearance flag F + Is added.
[0142]
Next, in step 401, the number of disappearances ε is obtained from equation (22), and R + , R 0 , R 1 , ..., R n-1 An erasure position polynomial E (x) with respect to is obtained from equation (23). The difference from the above-described conventional Reed-Solomon code decoding method is that the erasure number ε is added to the extended erasure flag F. + And the erasure position polynomial E (x) is F + X corresponding to is added.
[0143]
[Formula 18]
Figure 0004423519
[0144]
Next, in step 402, using the parity check matrix H as shown in equation (24), the syndrome S = (S 0 , S 1 , ..., S p-1 ) Is obtained from the above equation (6). A method for calculating the syndrome S will be described later with reference to FIG. Then, a syndrome polynomial S (x) as shown in the above equation (7) is obtained.
[0145]
[Equation 19]
Figure 0004423519
[0146]
Next, in step 403, using the erasure position polynomial E (x) and the syndrome polynomial S (x), a corrected syndrome polynomial Sm (x) is obtained as shown in the above equation (8).
[0147]
Next, in step 404, an error evaluation polynomial ω (x) and an error locator polynomial σ (x) are obtained using the corrected syndrome polynomial Sm (x). The calculation method of the error evaluation polynomial ω (x) and the error locator polynomial σ (x) is the same as the calculation method in step 204 of the flowchart of FIG. 1 (see FIG. 3).
[0148]
Next, in step 405, the condition of degω (x) <degσ (x) is determined. If false, the process proceeds to step 416 to output an error signal, and if true, the process proceeds to step 406. Here, degω (x) is the order of the error evaluation polynomial ω (x), and degσ (x) is the order of the error position polynomial σ (x). In step 406, F + The condition of = 0 is determined. If false, there is an erasure at the extended symbol position, so the process proceeds to step 407. If true, the process proceeds to step 409, since there is no erasure at the extended symbol position.
[0149]
In step 407, the condition of x | σ (x) is determined. This determines whether or not σ (x) is divisible by x, and is true when divisible (the extended symbol position is included in the error position), and false when not divisible. If the determination result is false, the process proceeds to step 416 to output an error signal and terminates. If true, the process proceeds to step 408. In step 409, the condition x | σ (x) is determined. If true, the process proceeds to step 408, and if false, the process proceeds to step 411. In step 411, since it is determined from the determination results in steps 405, 406, and 409 that there is no error in the extended symbol position, the extended error flag e + Set flag to 0, then go to step 412.
[0150]
In step 408, if correction is possible, x | ω (x) must be x | ω (x) whenever x | σ (x), so the condition of x | ω (x) is determined. An error signal is output and the process ends. If true, the process proceeds to step 410. In step 410, since it is determined from the determination results in steps 405, 406, 407, and 409 that there is an error in the extended symbol position, the extended error flag e + Set flag to 1 and then proceed to step 412. In step 412, the condition of the above equation (9) is determined. If false, the process proceeds to step 416, outputs an error signal, and ends. If true, the process proceeds to step 413.
[0151]
In step 413, the error position is detected using the error position polynomial σ (x). The error position calculation method is the same as the calculation method in step 211 of the flowchart of FIG. 1 (see FIG. 4). At this time, R + No error position is detected for. In step 414, # roots = degσ (x) −e + The flag condition is determined. If false, the process proceeds to step 416 to output an error signal and the process ends. If true, the process proceeds to step 415. Here, #roots is the number of error positions detected in step 413. From the degree of the error locator polynomial degσ (x), the extended error flag e + The reason for subtracting flag is that σ (x) includes an error position corresponding to the extended symbol.
[0152]
In step 415, an error value ei at position i is calculated from error evaluation polynomial ω (x) and error position polynomial σ (x) obtained in step 404 and error position i detected in step 413, and This error value ei and the (p−1) th element S of the syndrome S obtained in step 402 p-1 The extended error value e using + Further, the received word R, error position i, error value ei, extended error value e + From the estimated information Ip = (Cp + , Cp 0 , Cp 1 , ..., Cp k-1 ) A method of calculating the estimation information Ip will be described later with reference to FIG. Here, the extended symbol Cp + Is the extended symbol Cp + Is obtained by multiplying the values of other symbols by a coefficient whose value is determined in relation to the symbol position and adding the multiplication results. That is, Cp + = Cp 0 + Cp 1 α p-1 + Cp 2 α 2 (p-1) + ... + Cp n-1 α (n-1) (p-1) It is.
[0153]
Next, in step 417, e + The condition of flag = 0 is determined. If false, the estimation information Ip is output and the process ends. If true, the process proceeds to step 419. In step 419, e + The condition of = 0 is determined. If false, the process proceeds to step 416 to output an error signal and the process ends.
[0154]
A method of calculating the syndrome S from the received word R will be described using the flowchart of FIG.
[0155]
First, in step 420, the received word R = (R + , R 0 , R 1 , ..., R n-1 ). In step 421, each element of the syndrome S (S 0 , S 1 , ..., S p-1 ) Element R of received word R 0 Initialize with.
[0156]
Next, in step 422, the (p-1) th element S of the syndrome S p-1 To the first element R of the received word R + And subtract the result of subtraction p-1 And In step 423, the counter i is initialized to 1. In step 424, each element of the syndrome S is updated by the above equation (10).
[0157]
Next, at step 425, the value of the counter i is incremented by one. In step 426, the condition of i <n is determined. If true, the process returns to step 424 to repeat the syndrome calculation. If false, the process proceeds to step 427, where syndrome S = (S 0 , S 1 , ..., S p-1 ) Is output.
[0158]
A method of correcting the error of the received word R from the error evaluation polynomial ω (x) and the error position polynomial σ (x) and the detected error position i will be described using the flowchart of FIG.
[0159]
First, in step 430, the variable w is changed to the (p-1) th element S of the syndrome S. p-1 W = -S p-1 Initialize as. w is the extended error value e + Is used to calculate as shown in equation (25).
[0160]
[Expression 20]
Figure 0004423519
[0161]
Next, at step 431, the counter i is initialized to zero. In step 432, the condition of i∈A is determined. If true, the value of the counter i represents the error position, so the process proceeds to step 433. If false, the value of the counter i is not the error position, and therefore step 436 Proceed to
[0162]
In step 433, using the error evaluation polynomial ω (x), the differential σ ′ (x) of the error locator polynomial σ (x), and the error position i, an error value ei is obtained as shown in the above equation (16). Calculate and go to step 434. In step 434, the i-th element Cpi of the estimated codeword Cp is calculated as Ri-ei, and the process proceeds to step 435. In step 435, w is updated as shown in equation (26), and the process proceeds to step 437. In step 436, the i-th element Cpi of the estimated codeword Cp is set as Ri, and the process proceeds to step 437.
[0163]
[Expression 21]
Figure 0004423519
[0164]
In step 437, the value of the counter i is incremented by one. In step 438, the condition (end condition) of i <n is determined. If true, the process returns to step 432 to repeat the error value calculation, and if false, the process proceeds to step 439. In step 439, the extended error value e + Substitute the value of w for.
[0165]
Next, in step 440, the estimated extended code symbol Cp + Cp + = R + -E + Set as. In step 441, the estimated codeword Cp = (Cp + , Cp 0 , ..., Cp n-1 In step 442, the estimated information Ip = (Cp + , Cp 0 , Cp 1 , ..., Cp k-1 )
[0166]
The decoding apparatus that performs the decoding method of the 1-extended Reed-Solomon code shown in the flowchart of FIG. 8 is shown in FIG. 6 except that the operations of the erasure position polynomial calculation circuit 274, the error position determination circuit 281 and the error determination circuit 287 are different. The configuration is the same as that of the decoding device 270.
[0167]
That is, in the decoding device 270 shown in FIG. 6, the erasure position polynomial E (x) obtained by the erasure position polynomial calculation circuit 274 is the extended erasure flag F. - 8 is obtained by the erasure position polynomial calculation circuit 274 in the decoding apparatus that implements the decoding method of the 1-extended Reed-Solomon code shown in the flowchart of FIG. Erasure position polynomial E (x) is extended erasure flag F + Varies depending on whether 1 is 0 or 0 (see equation (23)).
[0168]
Further, in the decoding device 270 shown in FIG. 6, the error position determination circuit 281 determines the condition of # roots = degσ (x) and outputs an error signal ER, but one extended Reed-Solomon code shown in the flowchart of FIG. In the decoding apparatus that implements the decoding method, the error position determination circuit 281 uses # roots = degσ (x) −e + An error signal ER is output by judging the condition of flag.
[0169]
Further, in the decoding device 270 shown in FIG. 6, the error determination circuit 287 outputs the error signal ER by the determination processing in steps 205 to 208, but implements the decoding method of 1 extended Reed-Solomon code shown in the flowchart of FIG. In the decoding device, the error determination circuit 287 is configured to output an error signal ER by the determination processing in steps 405 to 409 and 412.
[0170]
As described above, also in the third embodiment, mixed correction in one pass of one extended Reed-Solomon code is possible as in the first embodiment.
[0171]
Note that a correctable determination unit U2 shown in FIG. 11 may be used in place of the correctable determination unit U1 (steps 406 to 412) in the flowchart of FIG. 8 of the third embodiment described above. Similarly to the unit U1, the unit U2 also has σ (x), ω (x), F + , P, ε to determine whether correction is possible.
[0172]
First, in step 600, the condition x | σ (x) is determined. If false, the process proceeds to step 601 and if true, the process proceeds to step 602. In step 601, F + The condition of = 0 is determined. If false, the process proceeds to step 416 to output an error signal, and if true, the process proceeds to step 603. On the other hand, in step 602, the condition x | ω (x) is determined. If false, the process proceeds to step 416 to output an error signal, and if true, the process proceeds to step 604.
[0173]
In step 603, since it is determined from the determination results in steps 600 and 601 that there is no error in the extended symbol position, the extended error flag e + Set flag to 0, and then go to step 605. In step 604, since it is determined from the determination results in steps 600 and 602 that there is an error in the extended symbol position, e + Set flag to 1, then go to step 605.
[0174]
In step 605, the condition of the above equation (9) is determined. If false, the process proceeds to step 416 and an error signal is output. If true, the process proceeds to step 413.
[0175]
Next, a fourth embodiment will be described. The fourth embodiment is a mixed correction decoding method in which normal correction and erasure correction are simultaneously performed in a 2-extended Reed-Solomon code.
[0176]
FIG. 12 shows a flowchart of decoding of the 2-extended Reed-Solomon code in the fourth embodiment.
[0177]
First, in step 4000, the received word R = (R - , R + , R 0 , R 1 , ..., R n-1 ) And disappearance flag F = (F - , F + , F 0 , F 1 , ..., F n-1 ) Is given. The difference from the conventional Reed-Solomon code decoding method described above is that the first extended received symbol R - And the second extended received symbol R + And the first extended disappearance flag F - And the second extended disappearance flag F + Is added.
[0178]
Next, in step 4001, the number of disappearances ε is obtained from the equation (27), and the erasure position polynomial E (x) is obtained from the above equation (23). The difference from the conventional Reed-Solomon code decoding method described above is that the number of erasures ε includes the first extended erasure flag F. - And second extended disappearance flag F + And the erasure position polynomial is F + X corresponding to is added.
[0179]
[Expression 22]
Figure 0004423519
[0180]
Next, in step 4002, using the parity check matrix H as shown in equation (28), the syndrome S = (S 0 , S 1 , ..., S p-1 ) Is obtained from the above equation (6). A method of calculating the syndrome S will be described later with reference to FIG. Then, a syndrome polynomial S (x) as shown in the above equation (7) is obtained.
[0181]
[Expression 23]
Figure 0004423519
[0182]
Next, in step 4003, a corrected syndrome polynomial Sm (x) is obtained using the erasure position polynomial E (x) and the syndrome polynomial S (x) as shown in the above equation (8).
[0183]
Next, in step 4004, an error evaluation polynomial ω (x) and an error locator polynomial σ (x) are obtained using the corrected syndrome polynomial Sm (x). The calculation method of the error evaluation polynomial ω (x) and the error locator polynomial σ (x) is the same as the calculation method in step 204 of the flowchart of FIG. 1 (see FIG. 3).
[0184]
Next, in step 4005, the condition of degω (x) ≦ degσ (x) is determined. If false, the process proceeds to step 4027, outputs an error signal, and ends. If true, the process proceeds to step 4006. Here, degω (x) is the order of the error evaluation polynomial ω (x), and degσ (x) is the order of the error position polynomial σ (x).
[0185]
Next, in step 4006, the condition of x | σ (x) is determined. This determines whether or not σ (x) is divisible by x, and is true when divisible (the extended symbol position is included in the error position), and false when not divisible. If the determination result is true, there is an error in the second extension symbol position, so the process proceeds to step 4007.
[0186]
In step 4007, the condition x | ω (x) is determined. This determines whether or not ω (x) is divisible by x, and is true when divisible and false when not divisible. If the determination result is false, the process proceeds to step 4027 to output an error signal and terminates. If true, the process proceeds to step 4008. In step 4008, the condition of degω (x) = degσ (x) is determined. If true, the process proceeds to step 4009, and if false, the process proceeds to step 4011.
[0187]
In step 4009, the condition of the expression (29) is determined. If false, the process proceeds to step 4027 to output an error signal and the process ends. If true, the process proceeds to step 4010. In step 4010, it is determined from the determination results in steps 4005 and 4008 that there is an error in the first extension symbol position, and from the determination results in steps 4005 and 4006, it is determined that there is an error in the second extension symbol position. The first extended error flag e - flag is 1, second extended error flag e + Set flag to 1, then go to step 4018.
[0188]
[Expression 24]
Figure 0004423519
[0189]
In step 4011, the condition of the expression (19) is determined. If false, the process proceeds to step 4027 to output an error signal and the process ends. If true, the process proceeds to step 4012. In step 4012, it is determined from the determination results in steps 4005 and 4008 that there is no error in the first extension symbol position, and the determination result in steps 4005 and 4006 indicates that there is an error in the second extension symbol position. The first extended error flag e - flag is 0, second extended error flag e + Set flag to 1, then go to step 4018.
[0190]
In step 4013, the condition of degω (x) = degσ (x) is determined. If true, the process proceeds to step 4014, and if false, the process proceeds to step 4016.
[0191]
In step 4014, the condition of the equation (19) is determined. If false, the process proceeds to step 4027 to output an error signal and the process ends. If true, the process proceeds to step 4015. In step 4015, it is determined from the determination results in steps 4005 and 4013 that there is an error in the first extension symbol position, and from the determination results in steps 4005 and 4006, it is determined that there is no error in the second extension symbol position. The first extended error flag e - flag is 1, second extended error flag e + Set flag to 0, and then go to step 4018.
[0192]
In step 4016, the condition of the expression (14) is determined. If false, the process proceeds to step 4027 to output an error signal and the process ends. If true, the process proceeds to step 4017. In step 4017, it is determined from the determination results in steps 4005 and 4013 that there is no error in the first extension symbol position, and from the determination results in steps 4005 and 4006, it is determined that there is no error in the second extension symbol position. The first extended error flag e - flag is 0, second extended error flag e + Set flag to 0, and then go to step 4018.
[0193]
In step 4018, the error position is detected using the error position polynomial σ (x). The error position calculation method is the same as the calculation method in step 211 of the flowchart of FIG. 1 (see FIG. 4). At this time, the first extension symbol R - And the second extension symbol R + No error position is detected for. In step 4019, the second extended error flag e is calculated from the number of errors #roots detected in step 4018 and the degree degσ (x) of the error position polynomial σ (x). + From the number obtained by subtracting flag, # roots = degσ (x) −e + The flag condition is determined. If false, the process proceeds to step 4027 to output an error signal and the process ends. If true, the process proceeds to step 4020. Here, from the degree degσ (x) of the error position polynomial σ (x), the second extended error flag e + The flag is subtracted from the error position polynomial σ (x) in the second extended error e corresponding to the second extended symbol. + It is because the position of is included.
[0194]
Next, in step 4020, an error value ei at position i is calculated from error evaluation polynomial ω (x) and error position polynomial σ (x) obtained in step 4004 and error position i detected in step 4018. In addition, this error value ei and the 0th element S of the syndrome S obtained in step 4002 0 The first extended error value e using - And the error value ei and the (p−1) -th element S of the syndrome S p-1 The second extended error value e using + Further, the received word R, the error position i, the error value ei, and the first extended error value e - , Second extended error value e + From the estimated information Ip = (Cp - , Cp + , Cp 0 , Cp 1 , ..., Cp k-1 ) A method of calculating the estimation information Ip will be described later with reference to FIG.
[0195]
Here, the first extension symbol Cp - Is the extended received symbol Cp - , Cp + It is obtained by adding all the values other than. That is, Cp - = Cp 0 + Cp 1 + ... + Cp n-1 It is. On the other hand, the second extension symbol Cp + Is the extended received symbol Cp - , Cp + Is obtained by multiplying the values of other symbols by a coefficient whose value is determined in relation to the symbol position and adding the multiplication results. That is, Cp + = Cp 0 + Cp 1 α p-1 + Cp 2 α 2 (p-1) + ... + Cp n-1 α (n-1) (p-1) It is.
[0196]
Next, in step 4021, e - The condition of flag = 0 is determined. If false, the process proceeds to step 4022, and if true, the process proceeds to step 4023. In step 4022, e - The condition of ≠ 0 is determined. If false, the process proceeds to step 4027 to output an error signal and the process ends. If true, the process proceeds to step 4024. On the other hand, in step 4023, e - The condition of = 0 is determined. If false, the process proceeds to step 4027 to output an error signal and the process ends. If true, the process proceeds to step 4024.
[0197]
In step 4024, e + The flag = 0 condition is determined. If false, the estimation information Ip is output and the process ends. If true, the process proceeds to step 4026. In step 4026, e + The condition of = 0 is determined. If false, the process proceeds to step 4027 to output an error signal and the process is terminated. If true, the estimated information Ip is output and the process is terminated.
[0198]
A method of calculating the syndrome S from the received word R will be described using the flowchart of FIG.
[0199]
First, in step 4200, received word R = (R - , R + , R 0 , R 1 , ..., R n-1 ). In step 4201, each element of the syndrome S (S 0 , S 1 , ..., S p-1 ) Element R of received word R 0 Initialize with.
[0200]
Next, in step 4202, the 0th element S of the syndrome S 0 To element R of received word R - And subtract the result of subtraction 0 Similarly, the (p-1) th element S of the syndrome S p-1 To element R of received word R + And subtract the result of subtraction p-1 And In step 4203, the counter i is initialized to 1. In step 4204, each element of the syndrome S is updated by the above equation (10).
[0201]
Next, in step 4205, the value of the counter i is incremented by one. In step 4206, the condition of i <n is determined. If true, the process returns to step 4204 to repeat the syndrome calculation. If false, the process proceeds to step 4207, where syndrome S = (S 0 , S 1 , ..., S p-1 ) Is output.
[0202]
A method of correcting the error of the received word R from the error evaluation polynomial ω (x) and the error position polynomial σ (x) and the detected error position i will be described using the flowchart of FIG.
[0203]
First, in step 4300, the variable w - 0th element S of syndrome S 0 In w - = -S 0 Initialize as. Similarly, the variable w + Is the (p-1) th element S of the syndrome S p-1 In w + = -S p-1 Initialize as. w - Is the first extended error value e - Is used to calculate as shown in equation (20) above. w + Is the second extended error value e + Is used to calculate as shown in equation (25) above.
[0204]
Next, at step 4301, the counter i is initialized to zero. In step 4302, the condition of i∈A is determined. If true, the value of the counter i represents the error position, so the process proceeds to step 4303. If false, the value of the counter i is not the error position, so step 4306. Proceed to
[0205]
In step 4303, using the error evaluation polynomial ω (x), the differential σ ′ (x) of the error locator polynomial σ (x), and the error position i, the error value ei is calculated as shown in the above equation (16). Calculate and go to step 4304. In step 4304, the i-th element Cpi of the estimated codeword Cp is calculated as Ri-ei, and the process proceeds to step 4305. In step 4305, as shown in equations (30) and (31), w - , W + Is updated, and the process proceeds to Step 4307. In step 4306, the i-th element Cpi of the estimated codeword Cp is set as Ri, and the process proceeds to step 4307.
[0206]
[Expression 25]
Figure 0004423519
[0207]
In step 4307, the value of the counter i is incremented by one. In step 4308, the condition of i <n (end condition) is determined. If true, the process returns to step 4302 to repeat the error value calculation. If false, the process proceeds to step 4309. In step 4309, the first extended error value e - W - And the second extended error value e + W + The value of is substituted.
[0208]
Next, in step 4310, the estimated first extended code symbol Cp - Cp - = R - -E - And the second estimated extended code symbol Cp + Cp + = R + -E + Set as. In step 4311, the estimated codeword Cp is converted to the estimated first extended code symbol Cp. - , Second estimated extended code symbol Cp + And the estimated code symbol Cp 0 ~ Cp n-1 Therefore, Cp = (Cp - , Cp + , Cp 0 , ..., Cp n-1 ).
[0209]
Next, in step 4312, the estimated information Ip is obtained from the estimated codeword Cp by Ip = (Cp - , Cp + , Cp 0 , Cp 1 , ..., Cp k-1 ) And output.
[0210]
FIG. 15 shows the configuration of a decoding device 3400 that implements the decoding method of the 2-extended Reed-Solomon code shown in the flowchart of FIG.
[0211]
The decoding device 3400 has an input terminal 3401 for inputting a received word (input data) R, and an input terminal 3402 for inputting an erasure flag F corresponding to the received word R.
[0212]
The decoding device 3400 obtains a syndrome polynomial calculation circuit 3403 (see step 4002 in FIG. 12) for obtaining a syndrome polynomial S (x) from the received word R and an erasure position polynomial E (x) from the erasure flag F. Erasure position polynomial calculation circuit 3404 (see step 4001 in FIG. 12) and an erasure number calculation circuit 3405 (see step 4001 in FIG. 12) for obtaining the erasure number ε from the erasure flag F.
[0213]
The decoding device 3400 obtains a corrected syndrome polynomial Sm (x) from the syndrome polynomial S (x) and the erasure position polynomial E (x), and an error is determined from the corrected syndrome polynomial Sm (x) and the erasure position polynomial E (x). An error polynomial calculation circuit 3406 (see step 4004 in FIG. 12) for obtaining an evaluation polynomial ω (x) and an error locator polynomial σ (x) is provided.
[0214]
The decoding device 3400 also includes an error value calculation circuit 3407 (see step 4303 in FIG. 14) for obtaining an error value ei of each element Ri of the received word R from the error evaluation polynomial ω (x) and the error locator polynomial σ (x). The received word delay circuit 3408 for adjusting the timing of each element Ri of the received word R to the timing of the error value ei output from the error value calculating circuit 3407, and the error value ei is subtracted from each element Ri of the received word R A subtractor 3409 (see step 4304 in FIG. 14).
[0215]
Further, the decoding device 3400 obtains the error position i from the signal position selection circuit 3410 that selectively extracts either the output Ri-ei of the subtractor 3409 or the output Ri of the received word delay circuit 3408, and the error position polynomial σ (x). Detect and output a selection signal SEL corresponding to the error position i, and # roots = degσ (x) −e + It has an error position determination circuit 3411 that determines the condition of flag (see step 4019 in FIG. 12) and outputs an error signal ER when it is false. Here, the selection signal SEL output from the error position determination circuit 3411 is supplied to the signal selection circuit 3410. The signal selection circuit 3410 extracts the output Ri-ei of the subtractor 3409 at the error position i, and the position i that is not the error position. Thus, the output Ri of the received word delay circuit 3408 is taken out.
[0216]
Also, the decoding device 3400 calculates the first extended error value e from the error evaluation polynomial ω (x) and the error locator polynomial σ (x). - The first extended error value calculation circuit 3412 (see step 4309 in FIG. 14) for obtaining the first extended error value e from the output of the signal selection circuit 3410 - And a signal selection circuit 3414 that selectively extracts either the output of the subtractor 3413 or the output of the signal selection circuit 3410.
[0217]
Also, the decoding device 3400 calculates the second extended error value e from the error evaluation polynomial ω (x) and the error locator polynomial σ (x). + Is calculated from the second extended error value calculation circuit 3415 (see step 4309 in FIG. 14) and the output of the signal selection circuit 3414. + Are subtracters 3416 (see step 4310 in FIG. 14), and a signal selection circuit 3417 that selectively extracts either the output of the subtractor 3416 or the output of the signal selection circuit 3414.
[0218]
Also, the decoding apparatus 3400 determines whether there is an error in the first extended symbol position from the error evaluation polynomial ω (x) and the error position polynomial σ (x), and the first extended error flag e - It is determined whether there is an error in the second extended symbol position from the first extended error flag calculation circuit 3418 for setting flag, the error evaluation polynomial ω (x), and the error position polynomial σ (x), and the second extended error flag e + A second extended error flag calculation circuit 3419 (see steps 4010, 4012, 4015 and 4017 in FIG. 12) for setting flag and an output terminal 3420 for deriving the output of the signal selection circuit 3417 are provided.
[0219]
Here, when it is determined that there is an error in the position of the first extension symbol, e - When flag = 1 and it is determined that there is no error in the first extension symbol position, e - flag = 0. Similarly, when it is determined that there is an error in the second extension symbol position, e + When flag = 1 and it is determined that there is no error in the second extension symbol position, e + flag = 0. First extended error flag e output from the calculation circuit 3418 - The flag is supplied to the signal selection circuit 3414. Second extended error flag e output from the calculation circuit 3419 + The flag is supplied to the signal selection circuit 3417.
[0220]
In the signal selection circuit 3414, the first extended reception symbol R is received from the signal selection circuit 3410. - Is output, e - When flag = 1, the output R of the subtractor 3413 - -E - Is the first estimated extended symbol Cp - Taken out as e - When flag = 0, the output R of the signal selection circuit 3410 - Is the first estimated extended symbol Cp - It is made to be taken out as. Further, in the signal selection circuit 3414, the first extended reception symbol R is transmitted from the signal selection circuit 3410. - When the other symbols are output, only the output of the signal selection circuit 3410 is taken out.
[0221]
The signal selection circuit 3417 receives the second extended reception symbol R from the signal selection circuit 3414. + Is output, e + When flag = 1, the output R of the subtractor 3416 + -E + Is the second estimated extended symbol Cp + Taken out as e + When flag = 0, the output R of the signal selection circuit 3414 + Is the second estimated extended symbol Cp + It is made to be taken out as. Further, in the signal selection circuit 3417, the second extended reception symbol R is transmitted from the signal selection circuit 3414. + When other symbols are output, only the output of the signal selection circuit 3414 is taken out.
[0222]
Decoding apparatus 3400 also determines the order of σ (x) from error position polynomial σ (x) and error evaluation polynomial ω (x) from error polynomial calculation circuit 3406 and erasure number ε from erasure number calculation circuit 3405. An order degω (x) of degσ (x) and ω (x) is evaluated (see steps 4005 to 4009, 4011, 4013, 4014 and 4016 in FIG. 12), and an error determination circuit 3421 for outputting an error signal ER is provided. is doing.
[0223]
Further, the decoding device 3400 receives the first extended error value e from the first extended error value calculation circuit 3412. - And the first extended error flag e from the first extended error flag calculation circuit 3418 - The first extended error error is determined from the flag (see steps 4021 to 4023 in FIG. 12), and the first extended error error determination circuit 3422 that outputs the error signal ER and the second extended error value calculation circuit 3415 2 Extended error value e + And the second extended error flag e from the second extended error flag calculation circuit 3419 + A second extended error error determination circuit 3423 for determining a second extended error error from the flag (see steps 4024 and 4026 in FIG. 12) and outputting an error signal ER is provided.
[0224]
In addition, the decoding device 3400 includes an OR gate 3424 to which an error signal ER output from the error position determination circuit 3411, the error determination circuit 3421, the first extended error error determination circuit 3422, and the second extended error error determination circuit 3423 is input. And an output terminal 3425 for deriving the output of the OR gate 3424.
[0225]
The output of the OR gate 3424 is supplied to the signal selection circuits 3410, 3414, and 3417, and when the error signal ER is obtained as the output of the OR gate 3424, the signal selection circuit 3410 always receives the signal regardless of the state of the selection signal SEL. The output Ri of the word delay circuit 3408 is taken out, and the signal selection circuit 3414 receives the first extended error flag e. - Regardless of the state of flag, the output of the signal selection circuit 3410 is always taken out, and the signal selection circuit 3417 further outputs a second extended error flag e. + Regardless of the state of flag, the output of the signal selection circuit 3414 is always taken out.
[0226]
The operation of the decoding device 3400 shown in FIG. 15 will be described.
[0227]
The received word (input data) R input to the input terminal 3401 is supplied to the syndrome polynomial calculation circuit 3403. In the calculation circuit 3403, a syndrome S is calculated from the received word R, and a syndrome polynomial S (x) is obtained. On the other hand, the erasure flag F input to the input terminal 3402 is supplied to the erasure position polynomial calculation circuit 3404. In this calculation circuit 3404, the erasure position polynomial E (x) is obtained from the erasure flag F. Further, the disappearance flag F input to the input terminal 3402 is supplied to the disappearance number calculation circuit 3405. In this calculation circuit 3405, the number of disappearances ε is obtained from the disappearance flag F.
[0228]
The syndrome polynomial S (x) obtained by the calculation circuit 3403 and the erasure position polynomial E (x) obtained by the calculation circuit 3404 are supplied to the error polynomial calculation circuit 3406. In the calculation circuit 3406, a corrected syndrome polynomial Sm (x) is obtained from the syndrome polynomial S (x) and the erasure position polynomial E (x), and this correction syndrome polynomial Sm (x) and the erasure position polynomial E (x ) To obtain an error evaluation polynomial ω (x) and an error locator polynomial σ (x).
[0229]
The error evaluation polynomial ω (x) and the error locator polynomial σ (x) obtained by the calculation circuit 3406 are supplied to the error value calculation circuit 3407. In this calculation circuit 3407, the error value ei of each element Ri of the received word R is sequentially obtained from the error evaluation polynomial ω (x) and the error position polynomial σ (x). This error value ei is supplied to the subtractor 3409 and is subtracted from each element Ri of the received word R output from the received word delay circuit 3408.
[0230]
The error position polynomial σ (x) obtained by the calculation circuit 3406 is supplied to the error position determination circuit 3411. The error position determination circuit 3411 detects the error position i from the error position polynomial σ (x) and outputs a selection signal SEL corresponding to the error position i. This selection signal SEL is supplied to the signal selection circuit 3410 as a control signal. Then, in the signal selection circuit 3410, the output Ri-ei of the subtractor 3409 is extracted as the element Cpi of the estimated codeword Cp at the error position i, and the output Ri of the received word delay circuit 3408 is estimated at the position other than the error position i. Extracted as an element Cpi of Cp.
[0231]
The error evaluation polynomial ω (x) and error locator polynomial σ (x) obtained by the calculation circuit 3406 are supplied to the first extended error value calculation circuit 3412. In this calculation circuit 3412, the first extended received symbol R is calculated from the error evaluation polynomial ω (x) and the error locator polynomial σ (x). - Error value, i.e. the first extended error value e - Is required. And this first extended error value e - Is supplied to the subtracter 3413 and subtracted from the output of the signal selection circuit 3410.
[0232]
The error evaluation polynomial ω (x) and error locator polynomial σ (x) obtained by the calculation circuit 3406 are supplied to the first extended error flag calculation circuit 3418. In this calculation circuit 3418, it is determined from the error evaluation polynomial ω (x) and the error position polynomial σ (x) whether or not there is an error in the first extended symbol position, and it is determined that there is an error in the first extended symbol position. E - When flag = 1 is set and it is determined that there is no error in the first extension symbol position, e - flag = 0 is set.
[0233]
This first extended error flag e - The flag is supplied to the signal selection circuit 3414 as a control signal. In the signal selection circuit 3414, the first extended reception symbol R is received from the signal selection circuit 3410. - Is output, e - When flag = 1, the output R of the subtractor 3413 - -E - Is the first estimated extended symbol Cp - Taken out as e - When flag = 0, the output R of the signal selection circuit 3410 - Is the first estimated extended symbol Cp - As taken out. Further, in the signal selection circuit 3414, the first extended reception symbol R is transmitted from the signal selection circuit 3410. - When the other symbols are output, only the output of the signal selection circuit 3410 is taken out.
[0234]
The error evaluation polynomial ω (x) and error locator polynomial σ (x) obtained by the calculation circuit 3406 are supplied to the second extended error value calculation circuit 3415. In this calculation circuit 3415, from the error evaluation polynomial ω (x) and the error locator polynomial σ (x), the second extended received symbol R + Error value, ie, the second extended error value e + Is required. And this second extended error value e + Is supplied to the subtracter 3416 and subtracted from the output of the signal selection circuit 3414.
[0235]
The error evaluation polynomial ω (x) and error locator polynomial σ (x) obtained by the calculation circuit 3406 are supplied to the second extended error flag calculation circuit 3419. In this calculation circuit 3419, it is determined whether there is an error in the second extended symbol position from the error evaluation polynomial ω (x) and the error position polynomial σ (x), and it is determined that there is an error in the second extended symbol position. E + When flag = 1 is set and it is determined that there is no error in the second extension symbol position, e + flag = 0 is set.
[0236]
This second extended error flag e + The flag is supplied to the signal selection circuit 3417 as a control signal. The signal selection circuit 3417 receives the second extended reception symbol R from the signal selection circuit 3414. + Is output, e + When flag = 1, the output R of the subtractor 3416 + -E + Is the second estimated extended symbol Cp + Taken out as e + When flag = 0, the output R of the signal selection circuit 3414 + Is the second estimated extended symbol Cp + As taken out. Further, in the signal selection circuit 3417, the second extended reception symbol R is transmitted from the signal selection circuit 3414. + When other symbols are output, only the output of the signal selection circuit 3414 is taken out.
[0237]
As a result, the signal selection circuit 3417 gives an error-corrected estimated codeword Cp (first estimated extended symbol Cp). - , Second estimated extended symbol Cp + The estimated codeword Cp is output to the output terminal 3420 as output data. Then, by removing the parity symbol part from the estimated codeword Cp, the estimated information Ip = (Cp - , Cp + , Cp 0 , Cp 1 , ..., Cp k-1 ) Is obtained.
[0238]
When an error signal ER is output from the error position determination circuit 3411, the error determination circuit 3421, the first extended error error determination circuit 3422, or the second extended error error determination circuit 3423, the error signal ER is derived to the output terminal 3425. At the same time, the error signal ER is supplied to the signal selection circuits 3410, 3414, 3417. The signal selection circuit 3410 always takes out the output Ri of the reception word delay circuit 3408 regardless of the state of the selection signal SEL, and the signal selection circuit 3414 outputs the first extended error flag e. - Regardless of the state of flag, the output of the signal selection circuit 3410 is always taken out, and the signal selection circuit 3417 receives the second extended error flag e. + Regardless of the state of flag, the output of the signal selection circuit 3414 is always taken out. Thus, in a state where the error signal ER is derived to the output terminal 3425, the received word R is not error-corrected and is output to the output terminal 3420 as it is.
[0239]
As described above, in the fourth embodiment, mixed correction can be performed in one pass of the two extended Reed-Solomon codes. Therefore, mixed correction of the two extended Reed-Solomon codes can be performed in a short time, and the hardware scale can be reduced.
[0240]
Next, a fifth embodiment will be described. The fifth embodiment also relates to a mixed correction decoding method in which normal correction and erasure correction are simultaneously performed in a 2-extended Reed-Solomon code. FIG. 16 shows a flowchart of decoding of the 2-extended Reed-Solomon code in the fifth embodiment.
[0241]
First, processing of steps 4100 to 4104 is performed. In steps 4100 to 4104, the same processing as in steps 4000 to 4004 in FIG.
[0242]
Next, in step 4130, the correctable determination number h is set as h = 2 degσ (x) −ε. The correctable determination number h is used in step 4141, which will be described later, but finally becomes as shown in equation (32).
[0243]
[Equation 26]
Figure 0004423519
[0244]
Next, in step 4131, the condition of degω (x) ≦ degσ (x) is determined. If false, the process proceeds to step 4127 to output an error signal, and the process ends. If true, the process proceeds to step 4132. In step 4132, the condition of degω (x) = degσ (x) is determined. If false, the process proceeds to step 4133, and if true, the process proceeds to step 4135.
[0245]
In step 4133, it is determined from the determination results in steps 4131 and 4132 that there is an error in the first extended symbol position, so the first extended error flag e - The flag is set to 1, and then, in step 4134, the correctable determination number h is updated as h = h + 2, and the process proceeds to step 4136. In step 4135, since it is determined from the determination results in steps 4131 and 4132 that there is no error in the first extended symbol position, the first extended error flag e - Set flag to 0, then go to step 4136.
[0246]
In step 4136, the condition of x | σ (x) is determined. This determines whether or not σ (x) is divisible by x, and is true when divisible, and false when not divisible. If the determination result is true, there is an error in the second extension symbol position, so the procedure proceeds to step 4137, and if it is false, the procedure proceeds to step 4140, since there is no error in the second extension symbol position.
[0247]
In step 4137, the condition of x | ω (x) is determined. This determines whether or not ω (x) is divisible by x, and is true when divisible and false when not divisible. If the determination result is false, the process proceeds to step 4127 to output an error signal and the process ends. If true, the process proceeds to step 4138.
[0248]
In Step 4138, it is determined from the determination results in Steps 4131 and 4136 that there is an error in the second extended symbol position, so the second extended error flag e + The flag is set to 1, and then, in step 4139, the correctable determination number h is updated as h = h + 2, and the process proceeds to step 4141. In Step 4140, since it is determined from the determination results in Steps 4131 and 4136 that there is no error in the second extended symbol position, the second extended error flag e + Set flag to 0, and then go to step 4141.
[0249]
Next, in step 4141, the condition of h ≦ p is determined. If false, the process proceeds to step 4127 to output an error signal and the process ends. If true, the process proceeds to step 4118. Then, the processing of steps 4118 to 4126 is performed. In steps 4118 to 4126, processing similar to that in steps 4018 to 4026 in FIG. 12 is performed.
[0250]
That is, in step 4118, using the error locator polynomial σ (x), the symbol R 0 ~ R n-1 The error position for is detected. In step 4119, the second extended error flag e is calculated from the number of errors #roots detected in step 4118 and the degree degσ (x) of the error position polynomial σ (x). + From the number obtained by subtracting flag, # roots = degσ (x) −e + The flag condition is determined. If false, the process proceeds to step 4127 to output an error signal and the process ends. If true, the process proceeds to step 4120.
[0251]
In step 4120, an error value ei at position i is calculated from error evaluation polynomial ω (x) and error position polynomial σ (x) obtained in step 4104 and error position i detected in step 4118, and This error value ei and the 0th element S of the syndrome S obtained in step 4102 0 The first extended error value e using - And the error value ei and the (p−1) -th element S of the syndrome S p-1 The second extended error value e using + Further, the received word R, the error position i, the error value ei, and the first extended error value e - , Second extended error value e + From the estimated information Ip = (Cp - , Cp + , Cp 0 , Cp 1 , ..., Cp k-1 )
[0252]
In step 4121, e - The condition of flag = 0 is determined. If false, the process proceeds to step 4122. If true, the process proceeds to step 4123. In step 4122, e - The condition of ≠ 0 is determined. If false, the process proceeds to step 4127 to output an error signal and the process ends. If true, the process proceeds to step 4124. On the other hand, in step 4123, e - The condition of = 0 is determined. If false, the process proceeds to step 4127 to output an error signal and the process ends. If true, the process proceeds to step 4124.
[0253]
In step 4124, e + The flag = 0 condition is determined. If false, the estimation information Ip is output and the process ends. If true, the process proceeds to step 4126. In step 4126, e + The condition of = 0 is determined. If false, the process proceeds to step 4127 to output an error signal and the process ends. If true, the estimation information Ip is output and the process ends.
[0254]
A decoding apparatus that performs the decoding method of the 2 extended Reed-Solomon code shown in the flowchart of FIG. 16 is configured in the same manner as the decoding apparatus 3400 shown in FIG. 15 except that the operation of the error determination circuit 3421 is different. That is, in the decoding device 3400 shown in FIG. 15, the error determination circuit 3421 outputs the error signal ER by the determination processing in steps 4005 to 4009, 4011, 4013, 4014, and 4016, but the 2 extension read shown in the flowchart of FIG. 16. In the decoding apparatus that performs the decoding method of the Solomon code, the error determination circuit 3421 is configured to output an error signal ER by the determination processing in steps 4131, 4132, 4136, 4137, and 4141.
[0255]
As described above, also in the fifth embodiment, mixed correction can be performed in one pass of the 2 extended Reed-Solomon code as in the fourth embodiment.
[0256]
In the first to fifth embodiments, the error evaluation polynomial ω (x) and the error position polynomial σ (x) are calculated from the corrected syndrome polynomial Sm (x) and the erasure position polynomial E (x). As an example, a method using an algorithm using the Euclidean mutual division method (see FIG. 3) is adopted. However, other algorithms such as a method using a Balecamp Massy algorithm may be adopted.
[0257]
A method for calculating the error evaluation polynomial ω (x) and the error locator polynomial σ (x) from the corrected syndrome polynomial Sm (x) will be described with reference to the flowchart of FIG.
[0258]
First, in step 500, k, σ (0) (x), L, T (x), k = 0, σ (0) (x) = 1, L = 0, and T (x) = x. In step 501, the counter k is incremented by 1, and the error value Δ as shown in the equation (33). (k) Update.
[0259]
[Expression 27]
Figure 0004423519
[0260]
Next, in step 502, Δ (k) The condition of = 0 is determined. If true, the process proceeds to step 507. If false, the process proceeds to step 503. In step 503, as shown in equation (34), σ (k) Update (x).
[0261]
[Expression 28]
Figure 0004423519
[0262]
Next, in step 504, the condition of 2L ≧ k is determined. If true, the process proceeds to step 507, and if false, the process proceeds to step 505. In step 505, L is updated with L = k−L.
[0263]
Next, in step 506, T (x) is updated as shown in equation (35), and then the process proceeds to step 507. In step 507, T (x) is shifted as T (x) = xT (x).
[0264]
[Expression 29]
Figure 0004423519
[0265]
Next, in step 508, the condition (end condition) of k <p is determined. If true, the process returns to step 501 to repeat the calculation, and if false, the process proceeds to step 509. In step 509, σ (x) = σ (p) An error position polynomial σ (x) is set as (x). In step 510, an error evaluation polynomial ω (x) is obtained as shown in equation (36).
[0266]
[30]
Figure 0004423519
[0267]
In the above-described embodiment, as a method for calculating the error evaluation polynomial ω (x) and the error locator polynomial σ (x), the method shown in the flowchart of FIG. 18 is used instead of the method shown in the flowchart of FIG. Also good. The method shown in the flowchart of FIG. 18 is a method based on an algorithm using the Euclidean mutual division method, similarly to the method shown in the flowchart of FIG. 3, but the set initial values are different.
[0268]
That is, in step 700, r -1 (x), r 0 (x), u -1 (x), u 0 (x), v -1 (x), v 0 (x) is initialized as shown in equation (37). In step 230 of FIG. 0 (x) is set to a constant 1, but in step 700, v 0 In (x), an erasure position polynomial E (x) is set.
[0269]
[31]
Figure 0004423519
[0270]
Further, following Step 700, Steps 701 to 705 are performed. In these steps 701 to 705, detailed description is omitted, but the same processing as that of steps 231 to 235 in FIG. 3 is performed. Next, in step 706, an error evaluation polynomial ω (x) and an error locator polynomial σ (x) are calculated with σ (x) = vi (x) and ω (x) = ri (x).
[0271]
Further, in step 211 in FIG. 1, step 312 in FIG. 7, step 413 in FIG. 8, step 4018 in FIG. 12, and step 4118 in FIG. 16, error positions are detected in ascending order as shown in the flowchart of FIG. However, this may be done in descending order, for example. Furthermore, detection may be performed in an arbitrary order.
[0272]
In the above-described embodiment, the present invention is applied to decoding of 1 extended Reed-Solomon code and 2 extended Reed-Solomon code. However, the present invention decodes extended BCH code (Bose-Chaudhuri-Hocquenghem code) and the like. Of course, the present invention can be similarly applied.
[0273]
【The invention's effect】
According to the present invention, means for performing normal correction and erasure correction of an extended symbol is incorporated. For example, mixed correction in one pass of 1 extended Reed-Solomon code and 2 extended Reed-Solomon code is possible. Therefore, it is possible to perform mixed correction of the extended Reed-Solomon code in a short time, and there is an effect that the hardware scale can be reduced.
[Brief description of the drawings]
FIG. 1 is a flowchart of decoding of one extended Reed-Solomon code according to the first embodiment.
FIG. 2 is a flowchart of syndrome calculation of one extended Reed-Solomon code.
FIG. 3 is a flowchart of calculation of an error evaluation polynomial ω (x) and an error locator polynomial σ (x) (an algorithm using the Euclidean algorithm).
FIG. 4 is a flowchart of error position detection of one extended Reed-Solomon code.
FIG. 5 is a flowchart of error correction execution of one extended Reed-Solomon code.
FIG. 6 is a block diagram illustrating a configuration example of a 1-extended Reed-Solomon code decoding device.
FIG. 7 is a flowchart of decoding of one extended Reed-Solomon code in the second embodiment.
FIG. 8 is a flowchart of decoding of one extended Reed-Solomon code according to the third embodiment.
FIG. 9 is a flowchart of syndrome calculation of one extended Reed-Solomon code.
FIG. 10 is a flowchart of error correction execution of one extended Reed-Solomon code.
FIG. 11 is a flowchart illustrating another example of the correctable determination unit.
FIG. 12 is a flowchart of decoding of 2 extended Reed-Solomon code in the fourth embodiment.
FIG. 13 is a flowchart of syndrome calculation of a 2-extended Reed-Solomon code.
FIG. 14 is a flowchart of error correction execution of a 2-extended Reed-Solomon code.
FIG. 15 is a block diagram illustrating a configuration example of a 2-enhanced Reed-Solomon code decoding device.
FIG. 16 is a flowchart of decoding of 2-extended Reed-Solomon code in the fifth embodiment.
FIG. 17 is a flowchart of calculation of an error evaluation polynomial ω (x) and an error locator polynomial σ (x) (Balecamp Massy algorithm).
FIG. 18 is a flowchart of calculation of an error evaluation polynomial ω (x) and an error locator polynomial σ (x) (an algorithm using the Euclidean algorithm).
FIG. 19 is a diagram for explaining an error correction system;
FIG. 20 is a flowchart of decoding of a conventional Reed-Solomon code.
FIG. 21 is a flowchart of syndrome calculation of a Reed-Solomon code.
FIG. 22 is a flowchart of calculation of an error evaluation polynomial ω (x) and an error locator polynomial σ (x) (an algorithm using the Euclidean algorithm).
FIG. 23 is a flowchart of error position detection of a Reed-Solomon code.
FIG. 24 is a flowchart of error correction execution of a Reed-Solomon code.
FIG. 25 is a block diagram illustrating a configuration example of a Reed-Solomon code decoding device.
[Explanation of symbols]
270 ... 1 decoding device for extended Reed-Solomon code, 271, 272 ... input terminals, 273 ... syndrome polynomial calculation circuit, 274 ... erasure position polynomial calculation circuit, 275 ... erasure number calculation circuit, 276 ... error polynomial calculation circuit, 277 ... error value calculation circuit, 278 ... received word delay circuit, 279, 283 ... subtractor, 280, 284 ... signal selection circuit, 281 ... Error position determination circuit, 282 ... extended error value calculation circuit, 285 ... extended error flag calculation circuit, 286, 290 ... output terminal, 287 ... error determination circuit, 288 ... extended error determination circuit 289 ... OR gate, 3400 ... decoding device for 2 extended Reed-Solomon codes, 3401, 3402 ... input terminal, 3403 ... syndrome polynomial calculation times 3404 ... erasure position polynomial calculation circuit, 3405 ... erasure number calculation circuit, 3406 ... error polynomial calculation circuit, 3407 ... error value calculation circuit, 3408 ... received word delay circuit, 3409, 3413 , 3416 ... subtractor, 3410, 3414, 3417 ... signal selection circuit, 3411 ... error position determination circuit, 3412 ... first extended error value calculation circuit, 3415 ... second extended error value. Calculation circuit, 3418 ... first extended error flag calculation circuit, 3419 ... second extended error flag calculation circuit, 3420, 3425 ... output terminal, 3421 ... error determination circuit, 3422 ... first Extended error error determination circuit, 3423 ... second extended error error determination circuit, 3424 ... OR gate

Claims (8)

拡張シンボルを含む入力データから上記拡張シンボルを計算に入れてシンドローム多項式を求める第1のステップと、
上記入力データに対応した消失フラグから消失位置多項式を求める第2のステップと、
上記入力データに対応した消失フラグから消失数を求める第3のステップと、
上記シンドローム多項式および消失位置多項式から誤り位置多項式および誤り評価多項式を求める第4のステップと、
上記誤り位置多項式および誤り評価多項式から誤り位置を求める第5のステップと、
上記誤り位置多項式および誤り評価多項式から上記拡張シンボルを含む誤り値を求める第6のステップと、
上記誤り位置および上記誤り値を用いて上記入力データの誤りを訂正して出力データを得る第7のステップと、
上記拡張シンボルの訂正可能判定を含めた訂正可能判定を行う第8のステップとを備え
上記入力データ中の拡張シンボルの値は、拡張シンボル以外のシンボルの値を加算して得たものであり、
上記第8のステップは、上記誤り位置多項式の次数と、上記消失数および上記入力データのパリティシンボル数を使用して求められた数とを比較して訂正可能判定をする誤り訂正符号の復号方法。
A first step of calculating a syndrome polynomial by calculating the extension symbol from input data including the extension symbol;
A second step of obtaining an erasure position polynomial from an erasure flag corresponding to the input data;
A third step of obtaining the number of disappearances from the disappearance flag corresponding to the input data;
A fourth step of determining an error position polynomial and an error evaluation polynomial from the syndrome polynomial and the erasure position polynomial;
A fifth step of determining an error position from the error position polynomial and the error evaluation polynomial;
A sixth step of determining an error value including the extended symbol from the error locator polynomial and an error evaluation polynomial;
A seventh step of obtaining an output data by correcting an error of the input data using the error position and the error value;
An eighth step of performing a correctable determination including a correctable determination of the extended symbol ,
The value of the extended symbol in the input data is obtained by adding the values of symbols other than the extended symbol,
The eighth step includes a decoding method of an error correction code for comparing the degree of the error locator polynomial with the number obtained by using the number of erasures and the number of parity symbols of the input data to determine correctability .
拡張シンボルを含む入力データから上記拡張シンボルを計算に入れてシンドローム多項式を求める第1のステップと、
上記入力データに対応した消失フラグから消失位置多項式を求める第2のステップと、
上記入力データに対応した消失フラグから消失数を求める第3のステップと、
上記シンドローム多項式および消失位置多項式から誤り位置多項式および誤り評価多項式を求める第4のステップと、
上記誤り位置多項式および誤り評価多項式から誤り位置を求める第5のステップと、
上記誤り位置多項式および誤り評価多項式から上記拡張シンボルを含む誤り値を求める第6のステップと、
上記誤り位置および上記誤り値を用いて上記入力データの誤りを訂正して出力データを得る第7のステップと、
上記拡張シンボルの訂正可能判定を含めた訂正可能判定を行う第8のステップとを備え、
上記入力データ中の拡張シンボルの値は、拡張シンボル以外のシンボルの値を加算して得たものであり、
上記第8のステップは、上記入力データのパリティシンボル数と、上記誤り位置多項式の次数および上記消失数を使用して求められた数とを比較して訂正可能判定をする誤り訂正符号の復号方法。
A first step of calculating a syndrome polynomial by calculating the extension symbol from input data including the extension symbol;
A second step of obtaining an erasure position polynomial from an erasure flag corresponding to the input data;
A third step of obtaining the number of disappearances from the disappearance flag corresponding to the input data;
A fourth step of determining an error position polynomial and an error evaluation polynomial from the syndrome polynomial and the erasure position polynomial;
A fifth step of determining an error position from the error position polynomial and the error evaluation polynomial;
A sixth step of determining an error value including the extended symbol from the error locator polynomial and an error evaluation polynomial;
A seventh step of obtaining an output data by correcting an error of the input data using the error position and the error value;
An eighth step of performing a correctable determination including a correctable determination of the extended symbol,
The value of the extended symbol in the input data is obtained by adding the values of symbols other than the extended symbol,
The eighth step, the parity number of symbols of the input data, order and you a correctable determination by comparing the number obtained by using the number of erasure erroneous Ri correction code of the error position polynomial Decryption method.
拡張シンボルを含む入力データから上記拡張シンボルを計算に入れてシンドローム多項式を求める第1のステップと、
上記入力データに対応した消失フラグから消失位置多項式を求める第2のステップと、
上記入力データに対応した消失フラグから消失数を求める第3のステップと、
上記シンドローム多項式および消失位置多項式から誤り位置多項式および誤り評価多項式を求める第4のステップと、
上記誤り位置多項式および誤り評価多項式から誤り位置を求める第5のステップと、
上記誤り位置多項式および誤り評価多項式から上記拡張シンボルを含む誤り値を求める第6のステップと、
上記誤り位置および上記誤り値を用いて上記入力データの誤りを訂正して出力データを得る第7のステップと、
上記拡張シンボルの訂正可能判定を含めた訂正可能判定を行う第8のステップとを備え、
上記入力データ中の拡張シンボルの値は、拡張シンボル以外のシンボルの値にシンボル位置に関係して値が決定される係数を乗算し、各乗算結果を加算して得たものであり、
上記第8のステップは、拡張シンボル位置の消失が存在するか否かを拡張シンボル位置の消失フラグから判定し、その後に上記拡張シンボル位置が誤り位置に含まれているか否かを判定し、その後にさらに上記誤り位置多項式の次数と、上記消失数および上記入力データのパリティシンボル数を使用して求められた数とを比較することで訂正可能判定をする誤り訂正符号の復号方法。
A first step of calculating a syndrome polynomial by calculating the extension symbol from input data including the extension symbol;
A second step of obtaining an erasure position polynomial from an erasure flag corresponding to the input data;
A third step of obtaining the number of disappearances from the disappearance flag corresponding to the input data;
A fourth step of determining an error position polynomial and an error evaluation polynomial from the syndrome polynomial and the erasure position polynomial;
A fifth step of determining an error position from the error position polynomial and the error evaluation polynomial;
A sixth step of determining an error value including the extended symbol from the error locator polynomial and an error evaluation polynomial;
A seventh step of obtaining an output data by correcting an error of the input data using the error position and the error value;
An eighth step of performing a correctable determination including a correctable determination of the extended symbol,
The value of the extension symbol in the input data is obtained by multiplying the value of a symbol other than the extension symbol by a coefficient whose value is determined in relation to the symbol position, and adding each multiplication result.
In the eighth step, it is determined whether or not there is an erasure of the extended symbol position from the erasure flag of the extended symbol position, and then determines whether or not the extended symbol position is included in the error position. Moreover the the degree of the error location polynomial, the method of decoding correctable determination you false Ri correction code by comparing a number determined using the number of parity symbols of the number of lost and the input data.
拡張シンボルを含む入力データから上記拡張シンボルを計算に入れてシンドローム多項式を求める第1のステップと、
上記入力データに対応した消失フラグから消失位置多項式を求める第2のステップと、
上記入力データに対応した消失フラグから消失数を求める第3のステップと、
上記シンドローム多項式および消失位置多項式から誤り位置多項式および誤り評価多項式を求める第4のステップと、
上記誤り位置多項式および誤り評価多項式から誤り位置を求める第5のステップと、
上記誤り位置多項式および誤り評価多項式から上記拡張シンボルを含む誤り値を求める第6のステップと、
上記誤り位置および上記誤り値を用いて上記入力データの誤りを訂正して出力データを得る第7のステップと、
上記拡張シンボルの訂正可能判定を含めた訂正可能判定を行う第8のステップとを備え、
上記入力データ中の拡張シンボルの値は、拡張シンボル以外のシンボルの値にシンボル位置に関係して値が決定される係数を乗算し、各乗算結果を加算して得たものであり、
上記第8のステップは、上記拡張シンボル位置が誤り位置に含まれているか否かを判定し、その後に上記拡張シンボル位置の消失が存在するか否かを拡張シンボル位置の消失フラグから判定し、その後にさらに上記誤り位置多項式の次数と、上記消失数および上記入力データのパリティシンボル数を使用して求められた数とを比較することで訂正可能判定をする誤り訂正符号の復号方法。
A first step of calculating a syndrome polynomial by calculating the extension symbol from input data including the extension symbol;
A second step of obtaining an erasure position polynomial from an erasure flag corresponding to the input data;
A third step of obtaining the number of disappearances from the disappearance flag corresponding to the input data;
A fourth step of determining an error position polynomial and an error evaluation polynomial from the syndrome polynomial and the erasure position polynomial;
A fifth step of determining an error position from the error position polynomial and the error evaluation polynomial;
A sixth step of determining an error value including the extended symbol from the error locator polynomial and an error evaluation polynomial;
A seventh step of obtaining an output data by correcting an error of the input data using the error position and the error value;
An eighth step of performing a correctable determination including a correctable determination of the extended symbol,
The value of the extension symbol in the input data is obtained by multiplying the value of a symbol other than the extension symbol by a coefficient whose value is determined in relation to the symbol position, and adding each multiplication result.
The eighth step determines whether or not the extended symbol position is included in an error position, and then determines whether or not there is an erasure of the extended symbol position from the erasure flag of the extended symbol position; and the order of the subsequent further the error position polynomial, a method of decoding erroneous Ri correction code you correctable determination by comparing the number obtained using the number of parity symbols of the number of lost and the input data.
拡張シンボルを含む入力データから上記拡張シンボルを計算に入れてシンドローム多項式を求める第1のステップと、
上記入力データに対応した消失フラグから消失位置多項式を求める第2のステップと、
上記入力データに対応した消失フラグから消失数を求める第3のステップと、
上記シンドローム多項式および消失位置多項式から誤り位置多項式および誤り評価多項式を求める第4のステップと、
上記誤り位置多項式および誤り評価多項式から誤り位置を求める第5のステップと、
上記誤り位置多項式および誤り評価多項式から上記拡張シンボルを含む誤り値を求める第6のステップと、
上記誤り位置および上記誤り値を用いて上記入力データの誤りを訂正して出力データを得る第7のステップと、
上記拡張シンボルの訂正可能判定を含めた訂正可能判定を行う第8のステップとを備え、
上記入力データは、上記拡張シンボルとして、第1拡張シンボルおよび第2拡張シンボルを含み、
上記第1拡張シンボルの値は、拡張シンボル以外のシンボルの値を加算して得たものであり、
上記第2拡張シンボルの値は、拡張シンボル以外のシンボルの値にシンボル位置に関係して値が決定される係数を乗算し、各乗算結果を加算して得たものであり、
上記第8のステップは、上記誤り位置多項式の次数と、上記消失数および上記入力データのパリティシンボル数を使用して求められた数とを比較することで訂正可能判定をする誤り訂正符号の復号方法。
A first step of calculating a syndrome polynomial by calculating the extension symbol from input data including the extension symbol;
A second step of obtaining an erasure position polynomial from an erasure flag corresponding to the input data;
A third step of obtaining the number of disappearances from the disappearance flag corresponding to the input data;
A fourth step of determining an error position polynomial and an error evaluation polynomial from the syndrome polynomial and the erasure position polynomial;
A fifth step of determining an error position from the error position polynomial and the error evaluation polynomial;
A sixth step of determining an error value including the extended symbol from the error locator polynomial and an error evaluation polynomial;
A seventh step of obtaining an output data by correcting an error of the input data using the error position and the error value;
An eighth step of performing a correctable determination including a correctable determination of the extended symbol,
The input data includes a first extension symbol and a second extension symbol as the extension symbols,
The value of the first extension symbol is obtained by adding the values of symbols other than the extension symbol,
The value of the second extension symbol is obtained by multiplying the value of a symbol other than the extension symbol by a coefficient whose value is determined in relation to the symbol position, and adding each multiplication result.
The eighth step, the error and the order of the location polynomial, correction codes Ri erroneous you a correctable determination by comparing the number obtained using the number of parity symbols of the number of lost and the input data Decryption method.
拡張シンボルを含む入力データから上記拡張シンボルを計算に入れてシンドローム多項式を求める第1のステップと、
上記入力データに対応した消失フラグから消失位置多項式を求める第2のステップと、
上記入力データに対応した消失フラグから消失数を求める第3のステップと、
上記シンドローム多項式および消失位置多項式から誤り位置多項式および誤り評価多項式を求める第4のステップと、
上記誤り位置多項式および誤り評価多項式から誤り位置を求める第5のステップと、
上記誤り位置多項式および誤り評価多項式から上記拡張シンボルを含む誤り値を求める第6のステップと、
上記誤り位置および上記誤り値を用いて上記入力データの誤りを訂正して出力データを得る第7のステップと、
上記拡張シンボルの訂正可能判定を含めた訂正可能判定を行う第8のステップとを備え、
上記入力データは、上記拡張シンボルとして、第1拡張シンボルおよび第2拡張シンボルを含み、
上記第1拡張シンボルの値は、拡張シンボル以外のシンボルの値を加算して得たものであり、
上記第2拡張シンボルの値は、拡張シンボル以外のシンボルの値にシンボル位置に関係して値が決定される係数を乗算し、各乗算結果を加算して得たものであり、
上記第8のステップは、上記入力データのパリティシンボル数と、上記誤り位置多項式の次数および上記消失数を使用して求められた数とを比較することでて訂正可能判定をする誤り訂正符号の復号方法。
A first step of calculating a syndrome polynomial by calculating the extension symbol from input data including the extension symbol;
A second step of obtaining an erasure position polynomial from an erasure flag corresponding to the input data;
A third step of obtaining the number of disappearances from the disappearance flag corresponding to the input data;
A fourth step of determining an error position polynomial and an error evaluation polynomial from the syndrome polynomial and the erasure position polynomial;
A fifth step of determining an error position from the error position polynomial and the error evaluation polynomial;
A sixth step of determining an error value including the extended symbol from the error locator polynomial and an error evaluation polynomial;
A seventh step of obtaining an output data by correcting an error of the input data using the error position and the error value;
An eighth step of performing a correctable determination including a correctable determination of the extended symbol,
The input data includes a first extension symbol and a second extension symbol as the extension symbols,
The value of the first extension symbol is obtained by adding the values of symbols other than the extension symbol,
The value of the second extension symbol is obtained by multiplying the value of a symbol other than the extension symbol by a coefficient whose value is determined in relation to the symbol position, and adding each multiplication result.
The eighth step, the parity number of symbols of the input data, order and correction Ri erroneous you a correctable determination by comparing the number obtained using the above numbers disappearance of the error location polynomial Code decoding method.
拡張シンボルを含む入力データから上記拡張シンボルを計算に入れてシンドローム多項式を求める第1のステップと、
上記入力データに対応した消失フラグから消失位置多項式を求める第2のステップと、
上記入力データに対応した消失フラグから消失数を求める第3のステップと、
上記シンドローム多項式および消失位置多項式から誤り位置多項式および誤り評価多項式を求める第4のステップと、
上記誤り位置多項式および誤り評価多項式から誤り位置を求める第5のステップと、
上記誤り位置多項式および誤り評価多項式から上記拡張シンボルを含む誤り値を求める第6のステップと、
上記誤り位置および上記誤り値を用いて上記入力データの誤りを訂正して出力データを得る第7のステップと、
上記拡張シンボルの訂正可能判定を含めた訂正可能判定を行う第8のステップとを備え、
上記入力データは、上記拡張シンボルとして、第1拡張シンボルおよび第2拡張シンボルを含み、
上記第1拡張シンボルの値は、拡張シンボル以外のシンボルの値を加算して得たものであり、
上記第2拡張シンボルの値は、拡張シンボル以外のシンボルの値にシンボル位置に関係して値が決定される係数を乗算し、各乗算結果を加算して得たものであり、
上記第8のステップは、上記拡張シンボル位置の消失が存在するか否かを拡張シンボル位置の消失フラグから判定し、その後に上記拡張シンボル位置が誤り位置に含まれているか否かを判定し、その後にさらに上記誤り位置多項式の次数と、上記消失数および上記入力データのパリティシンボル数を使用して求められた数とを比較することで訂正可能判定をする誤り訂正符号の復号方法。
A first step of calculating a syndrome polynomial by calculating the extension symbol from input data including the extension symbol;
A second step of obtaining an erasure position polynomial from an erasure flag corresponding to the input data;
A third step of obtaining the number of disappearances from the disappearance flag corresponding to the input data;
A fourth step of determining an error position polynomial and an error evaluation polynomial from the syndrome polynomial and the erasure position polynomial;
A fifth step of determining an error position from the error position polynomial and the error evaluation polynomial;
A sixth step of determining an error value including the extended symbol from the error locator polynomial and an error evaluation polynomial;
A seventh step of obtaining an output data by correcting an error of the input data using the error position and the error value;
An eighth step of performing a correctable determination including a correctable determination of the extended symbol,
The input data includes a first extension symbol and a second extension symbol as the extension symbols,
The value of the first extension symbol is obtained by adding the values of symbols other than the extension symbol,
The value of the second extension symbol is obtained by multiplying the value of a symbol other than the extension symbol by a coefficient whose value is determined in relation to the symbol position, and adding each multiplication result.
The eighth step determines whether or not there is an erasure of the extended symbol position from the erasure flag of the extended symbol position, and then determines whether or not the extended symbol position is included in the error position; and the order of the subsequent further the error position polynomial, a method of decoding erroneous Ri correction code you correctable determination by comparing the number obtained using the number of parity symbols of the number of lost and the input data.
拡張シンボルを含む入力データから上記拡張シンボルを計算に入れてシンドローム多項式を求める第1のステップと、
上記入力データに対応した消失フラグから消失位置多項式を求める第2のステップと、
上記入力データに対応した消失フラグから消失数を求める第3のステップと、
上記シンドローム多項式および消失位置多項式から誤り位置多項式および誤り評価多項式を求める第4のステップと、
上記誤り位置多項式および誤り評価多項式から誤り位置を求める第5のステップと、
上記誤り位置多項式および誤り評価多項式から上記拡張シンボルを含む誤り値を求める第6のステップと、
上記誤り位置および上記誤り値を用いて上記入力データの誤りを訂正して出力データを得る第7のステップと、
上記拡張シンボルの訂正可能判定を含めた訂正可能判定を行う第8のステップとを備え、
上記入力データは、上記拡張シンボルとして、第1拡張シンボルおよび第2拡張シンボルを含み、
上記第1拡張シンボルの値は、拡張シンボル以外のシンボルの値を加算して得たものであり、
上記第2拡張シンボルの値は、拡張シンボル以外のシンボルの値にシンボル位置に関係して値が決定される係数を乗算し、各乗算結果を加算して得たものであり、
上記第8のステップは、上記拡張シンボル位置が誤り位置に含まれているか否かを判定し、その後に上記拡張シンボル位置の消失が存在するか否かを拡張シンボル位置の消失フラグから判定し、その後にさらに上記誤り位置多項式の次数と、上記消失数および上記入力データのパリティシンボル数を使用して求められた数とを比較することで訂正可能判定をする誤り訂正符号の復号方法。
A first step of calculating a syndrome polynomial by calculating the extension symbol from input data including the extension symbol;
A second step of obtaining an erasure position polynomial from an erasure flag corresponding to the input data;
A third step of obtaining the number of disappearances from the disappearance flag corresponding to the input data;
A fourth step of determining an error position polynomial and an error evaluation polynomial from the syndrome polynomial and the erasure position polynomial;
A fifth step of determining an error position from the error position polynomial and the error evaluation polynomial;
A sixth step of determining an error value including the extended symbol from the error locator polynomial and an error evaluation polynomial;
A seventh step of obtaining an output data by correcting an error of the input data using the error position and the error value;
An eighth step of performing a correctable determination including a correctable determination of the extended symbol,
The input data includes a first extension symbol and a second extension symbol as the extension symbols,
The value of the first extension symbol is obtained by adding the values of symbols other than the extension symbol,
The value of the second extension symbol is obtained by multiplying the value of a symbol other than the extension symbol by a coefficient whose value is determined in relation to the symbol position, and adding each multiplication result.
The eighth step determines whether or not the extended symbol position is included in an error position, and then determines whether or not there is an erasure of the extended symbol position from the erasure flag of the extended symbol position; and the order of the subsequent further the error position polynomial, a method of decoding erroneous Ri correction code you correctable determination by comparing the number obtained using the number of parity symbols of the number of lost and the input data.
JP2000061194A 2000-03-06 2000-03-06 Error correction code decoding method Expired - Fee Related JP4423519B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000061194A JP4423519B2 (en) 2000-03-06 2000-03-06 Error correction code decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000061194A JP4423519B2 (en) 2000-03-06 2000-03-06 Error correction code decoding method

Publications (2)

Publication Number Publication Date
JP2001251195A JP2001251195A (en) 2001-09-14
JP4423519B2 true JP4423519B2 (en) 2010-03-03

Family

ID=18581372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000061194A Expired - Fee Related JP4423519B2 (en) 2000-03-06 2000-03-06 Error correction code decoding method

Country Status (1)

Country Link
JP (1) JP4423519B2 (en)

Also Published As

Publication number Publication date
JP2001251195A (en) 2001-09-14

Similar Documents

Publication Publication Date Title
US6704902B1 (en) Decoding system for error correction code
EP1131893B1 (en) Forward error corrector
US5970075A (en) Method and apparatus for generating an error location polynomial table
US7278086B2 (en) Identifying uncorrectable codewords in a Reed-Solomon decoder for errors and erasures
JP3875274B2 (en) Method and apparatus for shortened fire code error trapping decoding
EP1324501A1 (en) Iterative concatenated code decoding circuit and encoding/decoding system using the same
JP3255386B2 (en) Error correction code decoder
US7206993B2 (en) Method and device for decoding Reed-Solomon code or extended Reed-Solomon code
JP4048617B2 (en) Error correction code decoding method and decoding apparatus
JP4423519B2 (en) Error correction code decoding method
JP3245290B2 (en) Decoding method and device
US20040030984A1 (en) Method for decoding a block of symbols and device therefor
KR100330642B1 (en) Error Correction Method and Error Correction Device
TWI551060B (en) Bch decoding method and decoder thereof
TWI272475B (en) System and method for detecting codeword errors in error correction code or cyclic redundancy check code
JP3398560B2 (en) Shortened error correction decoding device
KR100202945B1 (en) An apparatus for measuring bit error rate in a reed-solomon decoder
Twum et al. Reed-Solomon Decoding Simplified for Programmers
KR100407131B1 (en) Reed solomon decoder using combinational circuits
JP3099890B2 (en) Error correction device for BCH code
KR100192801B1 (en) A circuit for measuring bit error rate of a reed-solomon decoder
JP2567598B2 (en) Error count determination method
KR100192793B1 (en) Error corrector of rs decoder
KR100212830B1 (en) Syndrome calculation apparatus of reed solomon decoder
JP2500141B2 (en) Error correction method and apparatus

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090916

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090928

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091028

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

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

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

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees