JP2948026B2 - リードソロモン符号の復号方法 - Google Patents
リードソロモン符号の復号方法Info
- Publication number
- JP2948026B2 JP2948026B2 JP19724492A JP19724492A JP2948026B2 JP 2948026 B2 JP2948026 B2 JP 2948026B2 JP 19724492 A JP19724492 A JP 19724492A JP 19724492 A JP19724492 A JP 19724492A JP 2948026 B2 JP2948026 B2 JP 2948026B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- erasure
- equation
- correction
- value
- 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
Links
Description
【0001】
【産業上の利用分野】本発明は誤り訂正符号として現在
デジタル・オーディオ・テープレコーダ(以下「DA
T」と云う)、デジタル・オーディオ・テープ・レコー
ダ(以下「D−VTR」と云う)等に広く実用化されて
いるリードソロモン符号において消失訂正に加えてさら
に誤り訂正を行う復号方法に関する。
デジタル・オーディオ・テープレコーダ(以下「DA
T」と云う)、デジタル・オーディオ・テープ・レコー
ダ(以下「D−VTR」と云う)等に広く実用化されて
いるリードソロモン符号において消失訂正に加えてさら
に誤り訂正を行う復号方法に関する。
【0002】
【従来の技術】リードソロモン符号は、符号語の各記号
をガロア体GF(2b)(b:自然数)上で構成し、演
算処理はすべてその上で行う。リードソロモン符号の復
号において、特に、消失訂正(誤りの位置がわかってい
る場合の訂正)及び消失訂正に加えてさらに誤り訂正
(以下「消失+誤り訂正」と云う)の従来の復号方法に
ついて以下に説明する。尚、以下符号の最小距離はdと
する。
をガロア体GF(2b)(b:自然数)上で構成し、演
算処理はすべてその上で行う。リードソロモン符号の復
号において、特に、消失訂正(誤りの位置がわかってい
る場合の訂正)及び消失訂正に加えてさらに誤り訂正
(以下「消失+誤り訂正」と云う)の従来の復号方法に
ついて以下に説明する。尚、以下符号の最小距離はdと
する。
【0003】まず、消失訂正の復号方法について説明す
る。消失訂正は消失の数hが1≦h≦d−1を満たすと
き、次のh階1次連立方程式
る。消失訂正は消失の数hが1≦h≦d−1を満たすと
き、次のh階1次連立方程式
【数4】 を解いて消失のエラーの値を求めることである。ここ
で、 sk:シンドローム Xi:i番目の消失の位置 Ei:i番目の消失のエラーの値 ただしh、sk、Xiは既知数、Eiが未知数である。
で、 sk:シンドローム Xi:i番目の消失の位置 Ei:i番目の消失のエラーの値 ただしh、sk、Xiは既知数、Eiが未知数である。
【0004】数4の連立方程式の解法として一般に次の
ような方法が用いられている。即ち、誤り評価多項式U
(z)及び誤り位置多項式λ(z)をそれぞれ
ような方法が用いられている。即ち、誤り評価多項式U
(z)及び誤り位置多項式λ(z)をそれぞれ
【数5】
【数6】 として
【数7】 を求める。ただしλodd(z)は誤り位置多項式λ
(z)の奇数次項成分の和を表す;
(z)の奇数次項成分の和を表す;
【数8】 ここでkは実数h/2を越えない最大の整数である。
尚、誤り評価多項式U(z)の各項の係数U0,U1,・
・・,Uh-1は次の関係式
尚、誤り評価多項式U(z)の各項の係数U0,U1,・
・・,Uh-1は次の関係式
【数9】 により求めることができる。
【0005】次に、消失+誤り訂正の復号方法について
説明する。上述のh個の消失に加えてさらにm個の誤り
があった場合、消失+誤り訂正は、次のn階1次連立方
程式
説明する。上述のh個の消失に加えてさらにm個の誤り
があった場合、消失+誤り訂正は、次のn階1次連立方
程式
【数10】 を解いて消失及び誤りのエラーの値を求めることであ
る。ここで、n=h+mである。また Xi:i−h番目の誤りの位置 Ei:i−h番目の誤りのエラーの値 ただしh、sk、Xi(1≦i≦h)は既知数、m、Xi
(h+1≦i≦n)、Eiは未知数である。尚、h+2
m≦d−1を満たさない場合は消失+誤り訂正を行うこ
とはできない。
る。ここで、n=h+mである。また Xi:i−h番目の誤りの位置 Ei:i−h番目の誤りのエラーの値 ただしh、sk、Xi(1≦i≦h)は既知数、m、Xi
(h+1≦i≦n)、Eiは未知数である。尚、h+2
m≦d−1を満たさない場合は消失+誤り訂正を行うこ
とはできない。
【0006】数10の連立方程式の解法として次のよう
な方法が用いられている。即ち、消失訂正の解法同様、
誤り評価多項式ω(z)及び誤り位置多項式η(z)を
それぞれ
な方法が用いられている。即ち、消失訂正の解法同様、
誤り評価多項式ω(z)及び誤り位置多項式η(z)を
それぞれ
【数11】
【数12】 として
【数13】 を求める。ただしηodd(z)は誤り位置多項式η
(z)の奇数次項成分の和を表す;
(z)の奇数次項成分の和を表す;
【数14】 ここでkは実数n/2を越えない最大の整数である。そ
して誤り評価多項式ω(z)の各項の係数ω0,ω1,・
・・,ωn-1を次の関係式
して誤り評価多項式ω(z)の各項の係数ω0,ω1,・
・・,ωn-1を次の関係式
【数15】 により求める。
【0007】消失+誤り訂正の場合は、誤りの数m、誤
りの位置Xi(h+1≦i≦n)も未知数であるため、
まずこれらの値を求めておく必要がある。そこでさらに
誤りのみの場合の誤り位置多項式σ(z)及び数17の
次式を満たすzの多項式T(z)
りの位置Xi(h+1≦i≦n)も未知数であるため、
まずこれらの値を求めておく必要がある。そこでさらに
誤りのみの場合の誤り位置多項式σ(z)及び数17の
次式を満たすzの多項式T(z)
【数16】
【数17】 を導入する。誤りの数mは、
【数18】 で示すm次正方行列Gh,mが正則となる最大の整数とし
て求められる。もし、Gh,1も正則でなければm=0と
する。尚、m=0の場合は誤りがなく消失のみであると
判断して消失訂正を行う。
て求められる。もし、Gh,1も正則でなければm=0と
する。尚、m=0の場合は誤りがなく消失のみであると
判断して消失訂正を行う。
【0008】また誤りの位置Xh+1,Xh+2,・・・,X
nは方程式σ(z)=0の根Xh+1 -1,Xh+2 -1,・・
・,Xn -1の逆数として求める。尚、誤りのみの場合の
誤り位置多項式σ(z)の係数σ1,σ2,・・・,σm
は次の線型方程式
nは方程式σ(z)=0の根Xh+1 -1,Xh+2 -1,・・
・,Xn -1の逆数として求める。尚、誤りのみの場合の
誤り位置多項式σ(z)の係数σ1,σ2,・・・,σm
は次の線型方程式
【数19】 を解くことにより一意的に求めることができる。数19
の線型方程式について少し説明しておく。数15の式に
おいてη(z)=λ(z)σ(z)及びT(z)の定義
から次式
の線型方程式について少し説明しておく。数15の式に
おいてη(z)=λ(z)σ(z)及びT(z)の定義
から次式
【数20】 が成り立つ。上式において右辺のω(z)はn−1次式
であることから左辺のn次からh+2m−1(注:h+
2m≦d−1よりh+2m−1≦d−2)次までの係数
は0である; Tiσ0+Ti-1σ1+・・・+Ti-mσm=0,i=h+
m,h+m+1,・・・,h+2m−1 数16の式より明らかにσ0=1であり、これを上式に
代入して Ti-1σ1+Ti-2σ2+・・・+Ti-mσm=Ti,i=h
+m,h+m+1,・・・,h+2m−1 従って、この上式を行列を使って表現した式が数19の
線型方程式である。
であることから左辺のn次からh+2m−1(注:h+
2m≦d−1よりh+2m−1≦d−2)次までの係数
は0である; Tiσ0+Ti-1σ1+・・・+Ti-mσm=0,i=h+
m,h+m+1,・・・,h+2m−1 数16の式より明らかにσ0=1であり、これを上式に
代入して Ti-1σ1+Ti-2σ2+・・・+Ti-mσm=Ti,i=h
+m,h+m+1,・・・,h+2m−1 従って、この上式を行列を使って表現した式が数19の
線型方程式である。
【0009】以上の消失訂正及び消失+誤り訂正の復号
方法に基づいて訂正を行うとすると、消失+誤り訂正の
場合は消失訂正の場合に比し実行される演算回路が非常
に多いことがわかる。とくに、誤りの数mと誤りのみの
場合の誤り位置多項式σ(z)を求めるに際して多くの
演算が必要とされる。
方法に基づいて訂正を行うとすると、消失+誤り訂正の
場合は消失訂正の場合に比し実行される演算回路が非常
に多いことがわかる。とくに、誤りの数mと誤りのみの
場合の誤り位置多項式σ(z)を求めるに際して多くの
演算が必要とされる。
【0010】ところでこのようにして行う訂正処理は一
般にソフトウエアとそれを実行するコンピュータにより
実現できる。また、DAT、D−VTRなどの製品のた
めにマイクロコードにより動作する誤り訂正回路(以下
「ECC回路」と云う)が開発され使用されている。そ
こで消失+誤り訂正において誤りの数mを計算するアル
ゴリズムを図面を参照しつつ以下に説明する。消失+誤
り訂正が行われる場合、消失の数hと誤りの数mには予
め最大値h0,m0が設定されている。消失+誤り訂正を
行うにあたりh+2m≦d−1,h≧1を満たしていな
ければならないことより、消失の数hの最大値h0はd
−3とし、誤りの数mの最大値m0は(d−2)/2を
越えない最大の整数とする。尚、これらの値h0,m0は
誤訂正確率を小さくするためと訂正処理速度を下げない
ために、さらに小さい値に設定されることもある。
般にソフトウエアとそれを実行するコンピュータにより
実現できる。また、DAT、D−VTRなどの製品のた
めにマイクロコードにより動作する誤り訂正回路(以下
「ECC回路」と云う)が開発され使用されている。そ
こで消失+誤り訂正において誤りの数mを計算するアル
ゴリズムを図面を参照しつつ以下に説明する。消失+誤
り訂正が行われる場合、消失の数hと誤りの数mには予
め最大値h0,m0が設定されている。消失+誤り訂正を
行うにあたりh+2m≦d−1,h≧1を満たしていな
ければならないことより、消失の数hの最大値h0はd
−3とし、誤りの数mの最大値m0は(d−2)/2を
越えない最大の整数とする。尚、これらの値h0,m0は
誤訂正確率を小さくするためと訂正処理速度を下げない
ために、さらに小さい値に設定されることもある。
【0011】図4は、「mの計算」の従来例のフローチ
ャートであり、m0=2と設定されている。まずステッ
プ#28で消失の数hがd−5以下か否かが判定され
る。ここでh≦d−5の場合は、ステップ#29へ進
み、2次正方行列Gh,2の行列式|Gh,2|が計算さ
れ、続いてステップ#30で|Gh,2|=0か否かが判
定され、|Gh,2|≠0の場合はm=2と与えられる。
ステップ#28でh>d−5あるいはステップ#30で
|Gh,2|=0の場合は、ステップ#31へ進み、1次
正方行列Gh,1の行列式|Gh,1|が計算され、続いて
ステップ#32で|Gh,1|=0か否かが判定される。
ここで|Gh,1|≠0の場合は、m=1と与えられ、|
Gh,1|=0の場合はm=0と与えられる。
ャートであり、m0=2と設定されている。まずステッ
プ#28で消失の数hがd−5以下か否かが判定され
る。ここでh≦d−5の場合は、ステップ#29へ進
み、2次正方行列Gh,2の行列式|Gh,2|が計算さ
れ、続いてステップ#30で|Gh,2|=0か否かが判
定され、|Gh,2|≠0の場合はm=2と与えられる。
ステップ#28でh>d−5あるいはステップ#30で
|Gh,2|=0の場合は、ステップ#31へ進み、1次
正方行列Gh,1の行列式|Gh,1|が計算され、続いて
ステップ#32で|Gh,1|=0か否かが判定される。
ここで|Gh,1|≠0の場合は、m=1と与えられ、|
Gh,1|=0の場合はm=0と与えられる。
【0012】図4に示すフローチャートのステップ#2
9、#31において、各々行列式|Gh,2|、|Gh,1
|の計算が行われている。図5はこの行列式の計算を行
う「|Gh,m|の計算」部分の従来例のフローチャート
である。尚、同図において、ステップ#35とステップ
#37の間には、h=3,h=4,・・・,h=h0−
2という順にhの値を1つ上げた状態での判定がされる
ステップ及びそれらのステップでYesのときに進み計
算をするステップが存するが、これらのステップは図示
省略している。まずステップ#33で消失の数hがh=
1か否かが判定され、ここでYesのときは、ステップ
#34へ進み、行列式|G1,m|の計算が行われ終了す
る。ステップ#33でNoのときは、ステップ#35へ
進んで、h=2か否かが判定される。ここでYesのと
きは、ステップ#36へ進み、行列式|G2,m|の計算
が行われ終了する。ステップ#35及び省略したステッ
プでいずれもNOのときは、ステップ#37に進みh=
h0−1か否かが判定される。ここでYesのときは、
ステップ#38へ進んで行列式|Gh0-1,m|の計算が
行われ、終了する。またNoのときは、ステップ#39
へ進んで行列式|Gh0,m|の計算が行なわれ終了す
る。
9、#31において、各々行列式|Gh,2|、|Gh,1
|の計算が行われている。図5はこの行列式の計算を行
う「|Gh,m|の計算」部分の従来例のフローチャート
である。尚、同図において、ステップ#35とステップ
#37の間には、h=3,h=4,・・・,h=h0−
2という順にhの値を1つ上げた状態での判定がされる
ステップ及びそれらのステップでYesのときに進み計
算をするステップが存するが、これらのステップは図示
省略している。まずステップ#33で消失の数hがh=
1か否かが判定され、ここでYesのときは、ステップ
#34へ進み、行列式|G1,m|の計算が行われ終了す
る。ステップ#33でNoのときは、ステップ#35へ
進んで、h=2か否かが判定される。ここでYesのと
きは、ステップ#36へ進み、行列式|G2,m|の計算
が行われ終了する。ステップ#35及び省略したステッ
プでいずれもNOのときは、ステップ#37に進みh=
h0−1か否かが判定される。ここでYesのときは、
ステップ#38へ進んで行列式|Gh0-1,m|の計算が
行われ、終了する。またNoのときは、ステップ#39
へ進んで行列式|Gh0,m|の計算が行なわれ終了す
る。
【0013】以上のことから、消失+誤り訂正が実行さ
れる場合、「mの計算」のプログラム部分には消失の数
hの値による分岐が存在している。また誤りのみの場合
の誤り位置多項式σ(z)の係数σ1,σ2,・・・,σ
mを求める数19の式においてもhの値を参照している
ため、分岐が必要となっている。
れる場合、「mの計算」のプログラム部分には消失の数
hの値による分岐が存在している。また誤りのみの場合
の誤り位置多項式σ(z)の係数σ1,σ2,・・・,σ
mを求める数19の式においてもhの値を参照している
ため、分岐が必要となっている。
【0014】
【発明が解決しようとする課題】現在、DAT、D−V
TR、CD等の製品において、通信速度の向上、製品の
小型化が追求されているが、そのために、データの読取
り誤りの確率は大きくなってきている。また従来、EC
C回路では、誤り訂正と消失訂正が実行されるのがほと
んどで、消失+誤り訂正まではあまり実行されていな
い。そこで消失+誤り訂正も行うことにより誤り訂正確
率を向上させる必要がでてきた。しかしながら、消失+
誤り訂正を実行するとなると多くの演算処理が必要とさ
れ、ECC回路のマイクロコードのステップ数も大きく
なるので、処理速度が遅くなるという問題がある。本発
明は、このような問題を解決し、消失+誤り訂正を行う
マイクロコードのプログラムの大きさを減少させ、消失
+誤り訂正の処理速度を向上させることを目的として提
供されたものである。
TR、CD等の製品において、通信速度の向上、製品の
小型化が追求されているが、そのために、データの読取
り誤りの確率は大きくなってきている。また従来、EC
C回路では、誤り訂正と消失訂正が実行されるのがほと
んどで、消失+誤り訂正まではあまり実行されていな
い。そこで消失+誤り訂正も行うことにより誤り訂正確
率を向上させる必要がでてきた。しかしながら、消失+
誤り訂正を実行するとなると多くの演算処理が必要とさ
れ、ECC回路のマイクロコードのステップ数も大きく
なるので、処理速度が遅くなるという問題がある。本発
明は、このような問題を解決し、消失+誤り訂正を行う
マイクロコードのプログラムの大きさを減少させ、消失
+誤り訂正の処理速度を向上させることを目的として提
供されたものである。
【0015】
【課題を解決するための手段】上記目的を達成するた
め、本発明のリードソロモン符号の復号方法は、次のn
階1次連立方程式
め、本発明のリードソロモン符号の復号方法は、次のn
階1次連立方程式
【数21】 を解く最小距離dのリードソロモン符号の復号におい
て、誤りの数mを消失の数hにかかわらず、
て、誤りの数mを消失の数hにかかわらず、
【数22】 で示すm次正方行列Gm’が正則となる最大の整数とし
て求める。ただし、
て求める。ただし、
【数23】 Xi:i番目の消失の位置(1≦i≦h)またはi−h
番目の誤りの位置(h+1≦i≦n) Ei:i番目の消失のエラーの値(1≦i≦h)または
i−h番目の誤りのエラーの値(h+1≦i≦n) n=h+m:消失と誤りの総数
番目の誤りの位置(h+1≦i≦n) Ei:i番目の消失のエラーの値(1≦i≦h)または
i−h番目の誤りのエラーの値(h+1≦i≦n) n=h+m:消失と誤りの総数
【0016】
【作用】このようにすると誤りの数mを行列Gm’によ
り求めることができるため、「mの計算」のプログラム
部分に消失の数hによる分岐はいらない。このことによ
り消失+誤り訂正を行うプログラムの大きさを減少さ
せ、消失+誤り訂正の処理速度を向上させることができ
る。
り求めることができるため、「mの計算」のプログラム
部分に消失の数hによる分岐はいらない。このことによ
り消失+誤り訂正を行うプログラムの大きさを減少さ
せ、消失+誤り訂正の処理速度を向上させることができ
る。
【0017】
【実施例】以下本発明の実施例を図面を参照しつつ説明
する。図1は、本発明の消失+誤り訂正を用いたECC
回路の一実施例における構成図である。同図において、
1はデータバス、2は演算ユニット、3はワーキングレ
ジスタ群、4はマイクロコードを記憶したROM、5は
送信語あるいは受信語を記憶するRAM、6は読み出し
レジスタ、7は書き込みレジスタ、8は制御回路であ
る。制御回路8はROM4からマイクロコードを逐次読
み出して、ECC回路全体の動作を制御する。この一実
施例におけるECC回路は、RAM5から受信語を読み
出して、受信語の訂正を行い、訂正された受信語を再び
RAM5に書き込むことによって復号を行う。受信語の
訂正は、演算の中間結果をワーキングレジスタ群3に記
憶させながら、演算ユニット2により加算や乗算等の演
算を行うことで、誤りの位置やエラーの値を求めること
である。また、受信語の読み出しは読み出しレジスタ6
を介して行われ、受信語の訂正は書き込みレジスタ7を
介して行われる。
する。図1は、本発明の消失+誤り訂正を用いたECC
回路の一実施例における構成図である。同図において、
1はデータバス、2は演算ユニット、3はワーキングレ
ジスタ群、4はマイクロコードを記憶したROM、5は
送信語あるいは受信語を記憶するRAM、6は読み出し
レジスタ、7は書き込みレジスタ、8は制御回路であ
る。制御回路8はROM4からマイクロコードを逐次読
み出して、ECC回路全体の動作を制御する。この一実
施例におけるECC回路は、RAM5から受信語を読み
出して、受信語の訂正を行い、訂正された受信語を再び
RAM5に書き込むことによって復号を行う。受信語の
訂正は、演算の中間結果をワーキングレジスタ群3に記
憶させながら、演算ユニット2により加算や乗算等の演
算を行うことで、誤りの位置やエラーの値を求めること
である。また、受信語の読み出しは読み出しレジスタ6
を介して行われ、受信語の訂正は書き込みレジスタ7を
介して行われる。
【0018】そしてこの回路において消失+誤り訂正を
行う場合、誤りの数mを消失の数hにかかわらず
行う場合、誤りの数mを消失の数hにかかわらず
【数24】 で示すm次正方行列Gm’が正則となる最大の整数とし
て求める。ただし、
て求める。ただし、
【数25】
【0019】これに伴って誤りのみの場合の誤り位置多
項式σ(z)の係数σ1,σ2,・・・,σmを次の線型
方程式
項式σ(z)の係数σ1,σ2,・・・,σmを次の線型
方程式
【数26】 より求めることにする。ここで上式の線型方程式が成立
することを説明しておく。数20の式においてω(z)
はn−1次式であることから左辺のd−m−1(注:h
+2m≦d−1よりd−m−1≧h+m=n≧1)次か
らd−2次までの係数は0である; Tiσ0+Ti-1σ1+・・・+Ti-mσm=0,i=d−m
−1,d−m,・・・,d−2 ここでσ0=1より次の1次連立方程式 Ti-1σ1+Ti-2σ2+・・・+Ti-mσm=Ti,i=d
−m−1,d−m,・・・,d−2 が成立する。これを行列を使って表わしたのが数26の
式である。
することを説明しておく。数20の式においてω(z)
はn−1次式であることから左辺のd−m−1(注:h
+2m≦d−1よりd−m−1≧h+m=n≧1)次か
らd−2次までの係数は0である; Tiσ0+Ti-1σ1+・・・+Ti-mσm=0,i=d−m
−1,d−m,・・・,d−2 ここでσ0=1より次の1次連立方程式 Ti-1σ1+Ti-2σ2+・・・+Ti-mσm=Ti,i=d
−m−1,d−m,・・・,d−2 が成立する。これを行列を使って表わしたのが数26の
式である。
【0020】以上の点を考慮した消失訂正及び消失+誤
り訂正プログラムの一実施例のフローチャートを図2に
示す。尚、消失訂正の場合の消失のエラーの値Ei(i
=1,2,・・・,h)を次式から求めることにより消
失訂正と消失+誤り訂正の各プログラムを共用化させ
る。
り訂正プログラムの一実施例のフローチャートを図2に
示す。尚、消失訂正の場合の消失のエラーの値Ei(i
=1,2,・・・,h)を次式から求めることにより消
失訂正と消失+誤り訂正の各プログラムを共用化させ
る。
【数27】 ここで上式が成立することを説明しておく。消失+誤り
訂正の復号においてm=0とおくと数10の式で表わさ
れる各シンドロームsk(k=0,1,・・・d−2)
の値は数4の式で表わされる消失訂正の場合のシンドロ
ームskの値に一致する。数9、数17の式より U(z)=T(z) (mod zh) となる。従って、数7の式により数27の上式が成立す
る。
訂正の復号においてm=0とおくと数10の式で表わさ
れる各シンドロームsk(k=0,1,・・・d−2)
の値は数4の式で表わされる消失訂正の場合のシンドロ
ームskの値に一致する。数9、数17の式より U(z)=T(z) (mod zh) となる。従って、数7の式により数27の上式が成立す
る。
【0021】まずステップ#9において受信語からシン
ドロームs0,s1,・・・,sd-2の計算が行われる。
次にステップ#10で、消失の有無が判定される。ここ
で消失の数hが0の場合は、消失訂正または消失+誤り
訂正ではないので誤り訂正または誤り検出を行うステッ
プ#22に進みこのプログラムは終了する。ステップ#
10で、消失の数hが1以上の場合はステップ#11に
進み消失の数hがd−1以下か否かが判定される。ここ
で消失の数hがd−1より大きい場合は消失訂正及び消
失+誤り訂正を行うことはできないので誤り訂正または
誤り検出を行うステップ#22に進みこのプログラムは
終了する。ステップ#11では消失の数hがd−1以下
の場合(1≦h≦d−1)は、ステップ#12に進み多
項式λ(z)の各項の係数λ0,λ1,・・・,λhの計
算が行われ、続いてステップ#13でステップ#9で求
めたシンドロームsi(i=0,1,・・・,d−2)
の値とステップ#12で求めた多項式λ(z)の各係数
λi(i=0,1,・・・,h)の値とから多項式T
(z)の0次からh−1次までの係数T0,T1,・・
・,Th-1の計算が行われる。
ドロームs0,s1,・・・,sd-2の計算が行われる。
次にステップ#10で、消失の有無が判定される。ここ
で消失の数hが0の場合は、消失訂正または消失+誤り
訂正ではないので誤り訂正または誤り検出を行うステッ
プ#22に進みこのプログラムは終了する。ステップ#
10で、消失の数hが1以上の場合はステップ#11に
進み消失の数hがd−1以下か否かが判定される。ここ
で消失の数hがd−1より大きい場合は消失訂正及び消
失+誤り訂正を行うことはできないので誤り訂正または
誤り検出を行うステップ#22に進みこのプログラムは
終了する。ステップ#11では消失の数hがd−1以下
の場合(1≦h≦d−1)は、ステップ#12に進み多
項式λ(z)の各項の係数λ0,λ1,・・・,λhの計
算が行われ、続いてステップ#13でステップ#9で求
めたシンドロームsi(i=0,1,・・・,d−2)
の値とステップ#12で求めた多項式λ(z)の各係数
λi(i=0,1,・・・,h)の値とから多項式T
(z)の0次からh−1次までの係数T0,T1,・・
・,Th-1の計算が行われる。
【0022】そしてステップ#14において更に誤り訂
正を行うかどうかの判定が行われる。即ち、消失の数h
がh0(=d−3)以下か否かが判定される。尚、消失
の数hの最大値h0は従来の技術の説明でも述べたが、
誤訂正確率を小さくするためにd−3より小さい値、例
えばd−4、d−5とされることもある。ステップ#1
4で消失の数hがh0より大きい場合は、ステップ#2
1に進みステップ#12、#13で各々求めた多項式λ
(z)、T(z)とから数27の式に基づいて消失のエ
ラーの値E1,E2,・・・,Ehの計算が行われ、この
プログラムは終了する。
正を行うかどうかの判定が行われる。即ち、消失の数h
がh0(=d−3)以下か否かが判定される。尚、消失
の数hの最大値h0は従来の技術の説明でも述べたが、
誤訂正確率を小さくするためにd−3より小さい値、例
えばd−4、d−5とされることもある。ステップ#1
4で消失の数hがh0より大きい場合は、ステップ#2
1に進みステップ#12、#13で各々求めた多項式λ
(z)、T(z)とから数27の式に基づいて消失のエ
ラーの値E1,E2,・・・,Ehの計算が行われ、この
プログラムは終了する。
【0023】ステップ#14において消失の数hがh0
以下の場合は、ステップ#15、#16に進み誤りの数
mが求められる。またステップ#15において多項式T
(z)のh次からd−2次までの係数Th,Th+1,・・
・,Td-2の計算が次のようにして行われる。 Th=λhs0+λh-1s1+・・・+λ0sh Th+1=λh+1s0+λhs1+・・・+λ0sh+1 ・ ・ ・ Td-2=λd-2s0+λd-3s1+・・・+λ0sd-2 次いてステップ#16において数24の式に基づいて誤
りの数mの計算が行われる。ここで誤りの数mが0の場
合、消失以外に誤りはなく、ステップ#21に進んで消
失のエラーの値E1,E2,・・・,Ehの計算が行わ
れ、このプログラムは終了する。
以下の場合は、ステップ#15、#16に進み誤りの数
mが求められる。またステップ#15において多項式T
(z)のh次からd−2次までの係数Th,Th+1,・・
・,Td-2の計算が次のようにして行われる。 Th=λhs0+λh-1s1+・・・+λ0sh Th+1=λh+1s0+λhs1+・・・+λ0sh+1 ・ ・ ・ Td-2=λd-2s0+λd-3s1+・・・+λ0sd-2 次いてステップ#16において数24の式に基づいて誤
りの数mの計算が行われる。ここで誤りの数mが0の場
合、消失以外に誤りはなく、ステップ#21に進んで消
失のエラーの値E1,E2,・・・,Ehの計算が行わ
れ、このプログラムは終了する。
【0024】ステップ#16で誤りの数mが0でない場
合は、ステップ#17、#18、#19、#20、#2
1と続いて計算が行われる。まずステップ#17におい
て誤りのみの場合の誤り位置多項式σ(z)の係数
σ1,σ2,・・・,σmが数26の式に基づいて計算さ
れる。またσ0=1と置かれる。次に、ステップ#18
で多項式η(z)の各項の係数η0,η1,・・・,ηn
が等式η(z)=λ(z)σ(z)により計算され、ス
テップ#19で多項式ω(z)の各項の係数ω0,ω1,
・・・,ωnが数20の式に基づいて計算される。そし
てステップ#20において、誤りの位置Xh+1,Xh+2,
・・・,Xnが方程式σ(z)=0の解Xh+1 -1,Xh+2
-1,・・・,Xn -1の逆数として計算される。続いてス
テップ#21で数13の式より消失のエラーの値E1,
E2,・・・,Eh及び誤りのエラーの値Eh+1,Eh+2,
・・・,Enの計算が行われ、このプログラムは終了す
る。
合は、ステップ#17、#18、#19、#20、#2
1と続いて計算が行われる。まずステップ#17におい
て誤りのみの場合の誤り位置多項式σ(z)の係数
σ1,σ2,・・・,σmが数26の式に基づいて計算さ
れる。またσ0=1と置かれる。次に、ステップ#18
で多項式η(z)の各項の係数η0,η1,・・・,ηn
が等式η(z)=λ(z)σ(z)により計算され、ス
テップ#19で多項式ω(z)の各項の係数ω0,ω1,
・・・,ωnが数20の式に基づいて計算される。そし
てステップ#20において、誤りの位置Xh+1,Xh+2,
・・・,Xnが方程式σ(z)=0の解Xh+1 -1,Xh+2
-1,・・・,Xn -1の逆数として計算される。続いてス
テップ#21で数13の式より消失のエラーの値E1,
E2,・・・,Eh及び誤りのエラーの値Eh+1,Eh+2,
・・・,Enの計算が行われ、このプログラムは終了す
る。
【0025】尚、同図に示すフローチャートでは消失及
び誤りのエラーの値E1,E2,・・・,Enが計算され
るところで終了しているが、実際はこの後、消失及び誤
りのエラーの値が受信語と加算され、受信語が訂正され
て、復号は完了する。
び誤りのエラーの値E1,E2,・・・,Enが計算され
るところで終了しているが、実際はこの後、消失及び誤
りのエラーの値が受信語と加算され、受信語が訂正され
て、復号は完了する。
【0026】このフローチャートのステップ#16、#
17、#18、#19の計算においてh、mによる分岐
が必要であるか否か以下に確認しておく。尚、誤りの数
mの最大値m0は2としておく。
17、#18、#19の計算においてh、mによる分岐
が必要であるか否か以下に確認しておく。尚、誤りの数
mの最大値m0は2としておく。
【0027】(i) ステップ#16の「mの計算」部
分 この一実施例のフローチャートを図3に示す。まずステ
ップ#23で消失の数hがd−5以下か否かが判定され
る。ここで消失の数hがd−5以下のときはステップ#
24に進んで2次正方行列G2’の行列式|G2’|が計
算され、続いてステップ#25において|G2’|が0
か否かが判定され、|G2’|が0でない場合は、誤り
の数mは2とされる。ステップ#23で消失の数hがd
−5より大きいと判定された場合またはステップ#25
で行列式|G2’|が0であると判定された場合は、ス
テップ#26に進み、1次正方行列G1’の行列式|
G1’|が計算され、ステップ#27で|G1’|の値が
0か否かが判定される。ここで|G1’|が0でない場
合は、誤りの数mは1とされる。ステップ#27で|G
1’|の値が0の場合は、誤りの数mは0とされる。ス
テップ#24、#26の行列式|G2’|、|G1’|の
計算において、従来例の図5のフローチャートのよう
に、消失の数hによって分岐させる必要はない。ただし
mによる分岐は必要である。
分 この一実施例のフローチャートを図3に示す。まずステ
ップ#23で消失の数hがd−5以下か否かが判定され
る。ここで消失の数hがd−5以下のときはステップ#
24に進んで2次正方行列G2’の行列式|G2’|が計
算され、続いてステップ#25において|G2’|が0
か否かが判定され、|G2’|が0でない場合は、誤り
の数mは2とされる。ステップ#23で消失の数hがd
−5より大きいと判定された場合またはステップ#25
で行列式|G2’|が0であると判定された場合は、ス
テップ#26に進み、1次正方行列G1’の行列式|
G1’|が計算され、ステップ#27で|G1’|の値が
0か否かが判定される。ここで|G1’|が0でない場
合は、誤りの数mは1とされる。ステップ#27で|G
1’|の値が0の場合は、誤りの数mは0とされる。ス
テップ#24、#26の行列式|G2’|、|G1’|の
計算において、従来例の図5のフローチャートのよう
に、消失の数hによって分岐させる必要はない。ただし
mによる分岐は必要である。
【0028】(ii) ステップ#17の「σ0,σ1,・
・・,σmの計算」部分 m=1であれば、 σ0=1 σ1=Td-2/Td-3 と計算され、m=2であれば|G2’|=(Td-3Td-5
+Td-4 2)として、 σ0=1 σ1=(Td-2Td-5+Td-3Td-4)/|G2’| σ2=(Td-2Td-4+Td-3 2)/|G2’| と計算される。この計算において、mの値によるプログ
ラムの分岐は必要であるがhの値によるプログラムの分
岐は不必要である。従ってステップ#16の「mの計
算」部分でmの値によってプログラムは既に分岐されて
いるので、このステップ#17の部分では分岐されたま
ま計算するようにしておけばよい。
・・,σmの計算」部分 m=1であれば、 σ0=1 σ1=Td-2/Td-3 と計算され、m=2であれば|G2’|=(Td-3Td-5
+Td-4 2)として、 σ0=1 σ1=(Td-2Td-5+Td-3Td-4)/|G2’| σ2=(Td-2Td-4+Td-3 2)/|G2’| と計算される。この計算において、mの値によるプログ
ラムの分岐は必要であるがhの値によるプログラムの分
岐は不必要である。従ってステップ#16の「mの計
算」部分でmの値によってプログラムは既に分岐されて
いるので、このステップ#17の部分では分岐されたま
ま計算するようにしておけばよい。
【0029】(iii) ステップ#18、#19の
「η0,η1,・・・,ηnの計算」及び「ω0,ω1,・
・・,ωn-1の計算」部分 m=1であれば
「η0,η1,・・・,ηnの計算」及び「ω0,ω1,・
・・,ωn-1の計算」部分 m=1であれば
【数28】 および、
【数29】 と計算され、m=2であれば、
【数30】 および、
【数31】 と計算される。つまり、m=1とm=2に場合分けし
て、「η0,η1,・・・,ηnの計算」及び「ω0,
ω1,・・・,ωn-1の計算」が行える。またm=1の場
合に、あらかじめσ2=0として数28の式と数29の
式の代わりに数30の式と数31の式によって計算して
も結果は同じになる。このとき、ηn=ηh+2とωn-1=
ωh+1が余分に計算されるが、σ2=0よりηn=0、ω
n-1は数20の式の左辺のn次(h+1次)の係数であ
ったから、ωn-1=0となる。従って、「η0,η1,・
・・,ηnの計算」及び「ω0,ω1,・・・,ωn-1の計
算」は、mの値によって異ならずに、数30の式と数3
1の式によって行うことができる。ここでは、mの最大
値m0が2の場合を示したが、すべてのm0の値に対応で
き、mの値によってプログラムの分岐は不必要である。
て、「η0,η1,・・・,ηnの計算」及び「ω0,
ω1,・・・,ωn-1の計算」が行える。またm=1の場
合に、あらかじめσ2=0として数28の式と数29の
式の代わりに数30の式と数31の式によって計算して
も結果は同じになる。このとき、ηn=ηh+2とωn-1=
ωh+1が余分に計算されるが、σ2=0よりηn=0、ω
n-1は数20の式の左辺のn次(h+1次)の係数であ
ったから、ωn-1=0となる。従って、「η0,η1,・
・・,ηnの計算」及び「ω0,ω1,・・・,ωn-1の計
算」は、mの値によって異ならずに、数30の式と数3
1の式によって行うことができる。ここでは、mの最大
値m0が2の場合を示したが、すべてのm0の値に対応で
き、mの値によってプログラムの分岐は不必要である。
【0030】以上(i)、(ii)、(iii)により消失
+誤り訂正において、「mの計算」と「σ0,σ1,・・
・,σmの計算」の部分において、mの値によるプログ
ラムの分岐は必要であるが、hの値による分岐は必要で
はない。
+誤り訂正において、「mの計算」と「σ0,σ1,・・
・,σmの計算」の部分において、mの値によるプログ
ラムの分岐は必要であるが、hの値による分岐は必要で
はない。
【0031】
【発明の効果】以上説明したように本発明によれば、消
失+誤り訂正の誤りの数mを求めるプログラム部分、及
び誤りのみの場合の誤り位置多項式σ(z)の各項の係
数σ0,σ1,・・・,σmを求めるプログラム部分にh
の値による分岐は必要ではない。従って、プログラムの
大きさを減少させ、消失+誤り訂正の処理速度を向上さ
せることが可能である。またECC回路全体の規模を大
きくすることなく、消失+誤り訂正を行うことにより、
誤り訂正確率を向上させることができる。
失+誤り訂正の誤りの数mを求めるプログラム部分、及
び誤りのみの場合の誤り位置多項式σ(z)の各項の係
数σ0,σ1,・・・,σmを求めるプログラム部分にh
の値による分岐は必要ではない。従って、プログラムの
大きさを減少させ、消失+誤り訂正の処理速度を向上さ
せることが可能である。またECC回路全体の規模を大
きくすることなく、消失+誤り訂正を行うことにより、
誤り訂正確率を向上させることができる。
【図1】 消失+誤り訂正を用いたECC回路の本発明
の一実施例における構成図。
の一実施例における構成図。
【図2】 消失訂正及び消失+誤り訂正の本発明の一実
施例のフローチャート。
施例のフローチャート。
【図3】 図2の「mの計算」の本発明の一実施例のフ
ローチャート。
ローチャート。
【図4】 「mの計算」の従来例のフローチャート。
【図5】 図4の「|Gh,m|の計算」の従来例のフロ
ーチャート。
ーチャート。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭58−138140(JP,A) 特開 昭60−204125(JP,A) 特開 昭63−164534(JP,A) 特開 平1−136424(JP,A) 特開 平1−146430(JP,A) (58)調査した分野(Int.Cl.6,DB名) H03M 13/00 - 13/22
Claims (1)
- 【請求項1】 次のn階1次連立方程式 【数1】 を解く最小距離dのリードソロモン符号の復号におい
て、誤りの数mを消失の数hにかかわらず、 【数2】 で示すm次正方行列Gm’が正則となる最大の整数とし
て求めることを特徴とするリードソロモン符号の復号方
法。ただし、 【数3】 Xi:i番目の消失の位置(1≦i≦h)またはi−h
番目の誤りの値(h+1≦i≦n) Ei:i番目の消失のエラーの値(1≦i≦h)または
i−h番目の誤りのエラーの値(h+1≦i≦n) n=h+m:消失と誤りの総数
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19724492A JP2948026B2 (ja) | 1992-07-23 | 1992-07-23 | リードソロモン符号の復号方法 |
US08/046,853 US5414719A (en) | 1992-04-24 | 1993-04-15 | Operating circuit for galois field |
EP93106652A EP0567148B1 (en) | 1992-04-24 | 1993-04-23 | Operating circuit for galois field |
DE69332070T DE69332070T2 (de) | 1992-04-24 | 1993-04-23 | Steuerschaltung für Galois-Feld |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19724492A JP2948026B2 (ja) | 1992-07-23 | 1992-07-23 | リードソロモン符号の復号方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0645954A JPH0645954A (ja) | 1994-02-18 |
JP2948026B2 true JP2948026B2 (ja) | 1999-09-13 |
Family
ID=16371251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19724492A Expired - Fee Related JP2948026B2 (ja) | 1992-04-24 | 1992-07-23 | リードソロモン符号の復号方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2948026B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3654288B2 (ja) | 2002-12-27 | 2005-06-02 | ブラザー工業株式会社 | 可動ユニットのロック機構、位置センサ、可動ユニットの初期設定方法、および画像読取装置 |
-
1992
- 1992-07-23 JP JP19724492A patent/JP2948026B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0645954A (ja) | 1994-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0387924B1 (en) | Method and apparatus for decoding error correction code | |
EP0567148B1 (en) | Operating circuit for galois field | |
US5631914A (en) | Error correcting apparatus | |
JPH084233B2 (ja) | 誤り訂正符号の復号装置 | |
JPH0936755A (ja) | 復号装置及びその方法 | |
US10459783B2 (en) | Low-latency decoder for Reed Solomon codes | |
CA1291819C (en) | Decoder | |
EP0836285B1 (en) | Reed-Solomon decoder with general-purpose processing unit and dedicated circuits | |
KR100213254B1 (ko) | 에러 정정 방법 및 장치 | |
US5541937A (en) | Apparatus for uniformly correcting erasure and error of received word by using a common polynomial | |
US7206993B2 (en) | Method and device for decoding Reed-Solomon code or extended Reed-Solomon code | |
US6915478B2 (en) | Method and apparatus for computing Reed-Solomon error magnitudes | |
JP2948026B2 (ja) | リードソロモン符号の復号方法 | |
JP2810397B2 (ja) | 誤り訂正装置 | |
JPH1117557A (ja) | 誤り訂正方法及び誤り訂正装置 | |
JPH05315974A (ja) | リードソロモン符号の復号装置 | |
JP3252515B2 (ja) | 誤り訂正装置 | |
JP3135552B2 (ja) | リードソロモン符号の誤り検出及び訂正装置 | |
JP2944813B2 (ja) | 誤り訂正符号の復号装置 | |
KR0158639B1 (ko) | 신드롬 변환을 이용한 에러 정정 장치 및 그 방법 | |
JP2945539B2 (ja) | 誤り訂正結果の検算回路 | |
EP0825533A1 (en) | Method and circuit for calculating and processing error correction | |
KR100213253B1 (ko) | 크리스탈 및 알.씨(rc) 겸용 발진회로 | |
JP2553571B2 (ja) | ガロア体演算装置 | |
JPS638984Y2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070702 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080702 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |