JPH07109992B2 - 誤り位置発見方法及び装置 - Google Patents

誤り位置発見方法及び装置

Info

Publication number
JPH07109992B2
JPH07109992B2 JP1120242A JP12024289A JPH07109992B2 JP H07109992 B2 JPH07109992 B2 JP H07109992B2 JP 1120242 A JP1120242 A JP 1120242A JP 12024289 A JP12024289 A JP 12024289A JP H07109992 B2 JPH07109992 B2 JP H07109992B2
Authority
JP
Japan
Prior art keywords
error
equation
codeword
data
symbol
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 - Lifetime
Application number
JP1120242A
Other languages
English (en)
Other versions
JPH0220123A (ja
Inventor
イー ウェン リー
Original Assignee
ディジタル イクイプメントコーポレーション
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 ディジタル イクイプメントコーポレーション filed Critical ディジタル イクイプメントコーポレーション
Publication of JPH0220123A publication Critical patent/JPH0220123A/ja
Publication of JPH07109992B2 publication Critical patent/JPH07109992B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes

Landscapes

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は誤り訂正コード復号機構に関し、特にリード−
ソロモン(Reed-Solomon)誤り訂正コードを含むBCH(B
ose-Chaudhuri-Hocquenghem)誤り訂正コードの復号に
関する。
(従来技術とその問題点) 大容量記録媒体、特に磁気ディスクに記録されるデータ
の密度が高まるに従って、デイジタルコンピューターシ
ステムにおけるデータの誤り訂正コード化がますます重
要になってきた。記録密度が大きいと、ディスクの記録
面の小さな欠陥でも大量のデータを破壊することがあ
る。データの喪失を防ぐために、その名の示す通り、誤
ったデータを訂正する誤り訂正コード(ECC)が使用さ
れる。
データ記号列は、ディスクに記録される前に、数学的に
符号化され、ECC記号にされる。次にECC記号は、コード
ワード(データ記号+ECC記号)を形成するためにデー
タ列に付加され、該コードワードがディスクに格納され
る。この格納されたデータをディスクから検索する時、
コードワードは数学的に復号される。復号時に、データ
中の誤りが検出され、若し可能ならば、ECC記号の操作
により訂正される(復号の詳細な説明については、「Pe
terson and Weldon.Error Correction Codes.2d Editio
n.MIT Press.1972」を見よ)。
格納されているディジタルデータには複数の誤りが含ま
れていることがある。複数の誤りを訂正するのに使われ
る最も有効な種類のECCの一つは、リード−ソロモン・
コードである(リード−ソロモン・コードの詳しい説明
については、Peterson and Weldon.Error Correction C
odesを参照せよ)。リード−ソロモンECCについての誤
りの検出及び訂正の方法は周知されている。その一つの
方法によると、先ず、検索したコードワード中のデータ
列を再び符号化してECC記号を生成し、次にそのECC記号
を、検索されたコードワード中のECC記号、即ち該デー
タの格納前の符号化により生成されたECC記号、と比較
して、その検索されたコードワードデータ中の誤りを検
出する。(この誤り検出方法の詳細については、Riggle
及びWengに与えられた米国特許第4,413,339号を見
よ)。
その二組のECC記号の比較は、それらの排他的ORを取る
ことによって為される。検索されたデータワードに誤り
が無ければ、排他的ORの演算により、ゼロのみを含む記
号列が生成される。検索されたデータに誤りがあれば、
排他的ORの結果はゼロでは無くて、若し可能ならば誤り
の訂正が行なわれる。その排他的ORの結果としての非ゼ
ロ記号の数が、該コードが訂正する様に設計されている
誤りの数より少なければ、全ての誤りがECC記号中にあ
る、即ちデータ列中には誤りは無く、従って誤りを訂正
する必要は無い。結果としての非ゼロ記号の数が、該コ
ードが訂正する様に設計されている誤りの数に等しいか
又は多い場合には、検索されたデータ列は一つ以上の誤
りを含んでおり、誤りが訂正される。
データの誤りを訂正するために、誤りの位置と大きさ又
は「値」とを判定しなければならない。誤りの位置と値
とを判定する第1の段階は、ECC記号の排他的ORの結果
から誤りシンドローム方程式を作ることである。(誤り
シンドロームの生成については、詳しくはRiggleとWeng
とに与えられた米国特許第4,413,339号を見よ。)次に
誤りシンドロームを使って、その値が各誤りの位置と値
とを特定する多項式を作る。
また、検索されたコードワード全体を使って誤りシンド
ロームを作ることも出来る。この場合には、検索された
データを再び符号化してECC記号を検索されたECC記号と
比較するステップが省略される。しかし、この場合、全
てのコードワードについて、たとえこれが誤りを含んで
いなくても(この場合は該シンドロームは等しくゼロで
ある)、誤りシンドロームを作らなければならない。誤
りがある場合には、即ち、誤りシンドロームがゼロでな
い場合には、ECC記号の排他的ORの結果からシンドロー
ムを作るのと全く同様に該シンドロームを使って誤りの
位置を判定し訂正する。これら二つの方法の選択は、例
えば、シンドロームをソフトウェアで作るかハードウェ
アで作るかに依る。
誤りの値の計算は、必然的にその位置に依存する。誤り
の位置は、誤りシンドロームを使ってV次の誤り位置発
見多項式δ(X)を作ることにより計算されるが、ここ
でVは誤りの数である。方程式δ(X)=0の解又は根
は誤りの位置を示す。これらの根はXi=αiの形であ
り、ここでαは、データを符号化するのに使われるガロ
ア体GF(Pq)の原始要素である。
誤り位置発見多項式は、普通はChienサーチを使うこと
により発見される。Chienサーチは、δ(X)=0の可
能な解としてGF(Pq)の各要素を系統的に試す。Xの新
しい値を試す毎に、Xが解であるか否か決定するために
V回のガロア域乗算とV回のガロア体加算を行なう。V
個の根を全て発見したら、それら全てを誤り計算多項式
Φ(X)に代入して、対応する誤りの大きさ又は値を計
算する。次に、誤っているデータ記号に訂正記号を乗じ
て、誤りの無いデータ記号を作る。
誤りを訂正するのに要する時間は、記憶装置からデータ
を検索する速度に著しい影響を与える。記録密度がより
大きくなって、格納されているデータに誤りがある可能
性が大きくなるに従って、誤り訂正速度が低いと、デー
タを検索する平均速度に重大な影響が現われる。そし
て、データ検索時間が増えると、格納されているデータ
の検索を必要とする全てのコンピューターアプリケーシ
ョンの速度が限定されることになる。この速度に関する
限定は、コンピューターシステム技術の進歩がデータ転
送操作の高速化を達成した時に現われる。
従って、現在使用されている方法より速く実行すること
の出来る誤り訂正方法が求められている。その様な方法
は、現在のコンピューター技術の水準で可能な速度より
速い速度でコンピューターシステムが作動することを可
能にするものである。
(発明の概要) 本発明は、少ない演算数で誤りの位置を計算する誤り訂
正システムである。従って、該誤り訂正システムは誤り
を速く訂正することが出来る。基本的には、誤り位置発
見方程式の根が発見される毎に、該方程式を修正して、
可能な解として残りのXの値を計算するのに要するガロ
ア体乗算及び加算の数を減らす。その修正は、実際上、
該方程式の次数を下げる。この方法を使って該方程式の
根を全て発見することが出来るか、或はこの方法を使っ
て根のうちの幾つかを発見し、2個、3個又は4個の根
を有する方程式を解くために特に設計された急速復号方
法を使って残りの根を発見することが出来る。
要するに、誤り位置発見方程式は次の通りである: 1+δ1 *X+δ2 *X2+δ3X3・・+δV-1 *XV-1+δV *XV
0 ここで「+」と「*」はそれぞれガロア体加算及びガロ
ア体乗算を表わし、「V」はデータ中の誤りの数を表わ
す。以下に説明する様に、方程式(1)の係数をXの連
続する値と共に一連のV個の誤り発見公式に代入して、
色々なXが方程式(1)の根であるか否か判定する。方
程式(1)の次数はVであるので、その各々の判定のた
めにV回の乗算とV回の加算とを行なう必要がある。第
1の根が発見されたならば、その根の解法は、方程式
(1)の次数を1だけ下げて(V−1)にすることに相
当し、且つ、誤り発見公式の次数を1つだけ減らして
(V−1)個にすることに相当する。従って、Xの別の
値を誤り発見公式に代入して次の根を発見するには1回
だけ少ない加算と1回だけ少ない乗算とを行なう必要が
ある。
その後、他の根が発見されると、誤り発見公式は更に1
個だけ少なくなる。この手順は、使用されたシステムに
依存して、V個の根が全て発見されるまで繰り返される
か、又はVが2、3又は4の値まで減少するまで繰り返
され、その後、急速復号方法を使って残りの根を発見す
る。
根が発見される毎に誤り位置発見方程式の残りの根を発
見するために必要な乗算及び加算の数を減らせば、誤り
訂正プロセスの速度が増す。データ中の誤りを訂正する
速度が増す程、データ処理システムの他の部分へデータ
を転送する速度が高まる。このことは、データ記録密度
が大きくなり、誤りが増えて、誤りを訂正しなければな
らない頻度が高まるに従ってますます重要になってく
る。
次に、添付図面を参照して本発明を詳しく説明する。
(実施例) 本発明のシステムが実行する加算及び乗算は全てガロア
体演算であり、ガロア体はGF(Pq)の形であることが理
解されるべきである。
データから誤りシンドロームを生成し、次に誤り位置発
見方程式δ(X)=0を作るのには伝統的方法が使われ
る。
第1図及び第2図を参照すると、誤り訂正システム8は
下記の誤り発見公式の組を使ってXの色々な値でδ
(X)の値を求める: ここでαi=Xで、δj′項はδj項の修正形であって、
これらの項の導関数ではない(ステップ50)。δv′の
値が決定されるまで、δj′の値が先の値から次々に計
算される。若しδv′が特定のXについてゼロに等しけ
れば、Xは方程式(1)の根である(ステップ51、5
6)。
公式21−2vの値は、レジスター101−10v(一括して数字
10で言及する)と、ガロア体乗算器121−12v(一括して
数字12で言及する)と、ガロア体乗算器141−14v(一括
して数字14で言及する)とを使って計算される。始め
に、方程式(1)の係数がレジスター10に格納され、カ
ウンター18と比較器30の初期値がVに設定され、αレジ
スター38の初期値がXの第1の値X=αiに設定され
る。ここでiは一般的にはゼロである。
レジスター38は、この第1のXの値を乗算器10及び加算
器141の各々に与える。加算器141は和: δ1′=δ1+αi を計算する。この和は、レジスター16に与えられて格納
されると共に、乗算器121に与えられ、該乗算器は、以
下に詳しく説明する様にゲート26を通してクロック34か
らクロックされると、積: δ1*αi を計算する。この積は加算器142に与えられ、該加算器
は和δ2′を計算する。δ2′の値はレジスター16に格納
されると共に、積δ2*αiを計算するのにも使われ
る。次にこの積はδ3′を計算するのに使われ、δ3′の
値はレジスター16に格納される。同様に乗算器12と加算
器14とを使って各係数について和δj′と積δ1*αi
が計算され、δj′の値の各々はレジスター16に格納さ
れる。
レジスター16はカウンター18からアドレスされ、これは
値Vにセットされる。レジスター16は該カウンターによ
りアドレスされた格納位置の内容をその出力に出す。従
って、項δv′がレジスター16に与えられた時には、そ
れはその出力にも現われる。この出力はゼロ比較器20に
与えられて、ゼロと比較される。若しδv′がゼロに等
しくて、αiが誤り位置発見方程式の根であることが示
されれば、ゼロ比較器20の出力がアサートされる。若し
δv′がゼロに等しくなくて、αiが誤り位置発見方程式
の根でないことが示されれば、ゼロ比較器20の出力はア
サートされない。
クロック34は、競合状態を避けるために、三つのタイマ
ーt1、t2、t3を使って色々な乗算器及びゲートのタイミン
グを制御する。タイマーt1はカウンター28をクロック
し、該カウンターは、実際上、δv′を計算する際に行
なわれる乗算の回数をカウントする。t1より僅かに遅い
タイマーt2は、ゲート26をクロックし、このゲートは乗
算器12をクロックする。t2より僅かに遅いタイマーt3
ANDゲート32への入力として作用する。
公式21−2vの計算を始めるのに、上記の様に和δ1′が
加算器141により計算され、その和は乗算器121に与えら
れる。タイマーt1はカウンター28をクロックし、該カウ
ンターはV回の乗算のうちの最初の乗算を意味するカウ
ント1をゲート26に与える。その後、ゲート26は、タイ
マーt2によりクロックされると、クロックパルスを第1
乗算器121に与え、第1の積δ1*αiが計算される。カ
ウンター28の出力も比較器30に与えられ、ここでVと比
較される。比較器30は、カウントがVに等しくて、「V
番目の」乗算が行なわれたことを示している時に、その
出力をアサートする。カウンター28のカウントがVに等
しくなければ、比較器30の出力はアサートされないまま
である。
カウントがVに等しくなければ、乗算器121により計算
された第1の積が加算器142に与えられ、該加算器はそ
れをδ2′に加えて和δ2′を作る。この和はレジスター
16に格納されると共に、乗算器122に与えられる。タイ
マーt1はカウンター28をクロックし、該カウンターはそ
のカウントを2に増やし、第2の乗算が行なわれたこと
を示す。カウンター28の出力はゲート26に与えられ、該
ゲートは、その後にタイマーt2によりクロックされた
時、乗算器122をクロックし、該乗算器はその時積: δ2*αi を計算する。この積は加算器143に与えられ、これは和
δ3′を計算し、この和は再びレジスター16に格納され
る。カウンター28のカウントがVに等しくなって、公式
(2v)の計算の開始が示されるまで、同じ加算と乗算の
手順が続けて行なわれて、和δj′がレジスター16に格
納される。カウンター28のカウントがVに等しくなった
時、該カウントをVと比較する比較器30の出力がアサー
トされる。この出力はANDゲート32の一入力に与えら
れ、該ゲートはタイマーt3に接続された第2の入力を持
っている。従って、タイマーt3がパルスを発すると、AN
Dゲート32の出力がアサートされる。
この出力はANDゲート22の一入力に与えられ、該ゲート
はゼロ比較器20の出力に接続された第2入力を持ってい
る。若し和δv′がゼロに等しければ、即ちXが根であ
れば、ANDゲート22の出力がアサートされることにな
る。反対に、若しδv′がゼロに等しくなければ、ゼロ
比較器20の出力はアサートされないままであり、従って
ANDゲート22の出力はアサートされない。
Xが方程式(1)の根でなければ、新しいXの値が公式
21−2vに代入され、和δv′が計算されて、それが根で
あるか否か判定するためにゼロと比較される(ステップ
52-54)。アサートされたANDゲート32の出力が遅延回路
33を通して加えられて、i)クロック34をリセットし、
ii)新しい値X=αi+1を計算機36からレジスター28に
ロードし、iii)計算機36がXの新しい値を計算するこ
とを可能にする。この時、レジスター38にロードされた
Xの値は、上記の様にして、可能な根として評価され
る。この評価は、V回の乗算とV回の加算とを必要とす
る。
Xが根であれば、方程式(1)の係数が、従って公式21
−2vが、修正されると共に、方程式(1)の次数、即ち
Vの値、が1だけ下げられる(ステップ58-60)。その
後、修正された公式21−2vにXの新しい値が、代入さ
れ、新しい和δv′が計算される(ステップ62-64)。第
3図を更に参照する。Xが根であれば和δv′はゼロに
等しく、ゼロ比較器20の出力がアサートされる。この出
力はANDゲート22の一入力に与えられる。ANDゲート22の
第2入力はANDゲート32の出力に接続され、これは次のt
3クロックパルスでアサートされる。t3がパルスを発し
た後2ゲート遅れて、ANDゲート22の出力がアサートさ
れる。
ANDゲート22のアサートされた出力は、i)値αiを根と
して格納するメモリー40と、ii)そのカウントをV−1
に下げるカウンター18と、iii)和δj′をロードするレ
ジスター10とに同時に与えられる。ゲート22の出力は、
短時間後に遅延回路24を通して比較器30にも与えられ、
該比較器は、その中に格納されているVの値を1だけ小
さくする。その後、クロック34は遅延回路33を通してリ
セットされ、新しいX=αi+1の値がαレジスター38に
ロードされる。計算機36もイネーブルされて、新しいX
=αi+1の値を計算し始める。
タイマーt1がパルスを発すると、修正された係数δj
と新しいXの値とを使って評価演算が開始される。この
評価は、1回だけ少ない演算と1回だけ少ない加算とを
含む。従って、この評価に要する時間は、根としてのX
の先の値を評価するのに要した時間より短い。
その値がXの「新しい」値であるか否かを判定するため
に、計算機36により計算されたX=αi+1の各々の値
は、Pq−1を越えないコードブロック長さと照合され
る。i+1がコードブロック長さ以下であれば、X=α
i+1の値は新しい値である。しかし、i+1がコード長
さより大きければ、X=αi+1の計算された値は、コー
ド長さの外側の誤りの位置に対応する。若し計算機36に
より計算されたXの値が「新しい」Xの値でなければ、
それは、方程式(1)の全ての根を発見することは出来
ず、従って誤りの位置が全てコード長さ内にあると判定
することが出来ないことを示す。従って、計算機38は、
システムコントローラ(図示せず)に、データを訂正す
ることが出来ないことを通知する(ステップ55、65)。
X=αiの形の方程式1の根は全て、上記の方法を使っ
て発見することが出来る。しかし、GF(Pq)における
2、3又は4次の方程式の根を発見する既知の方法を使
って残りの根を発見することが出来る(第2B図のステッ
プ70-71)使用される方法は、システムの設計に依る。
第2の実施例は、Chienサーチの直接修正形を使って誤
り位置発見方程式の根を発見する。第3図および第4図
を参照する。誤り訂正システム99は、最初に方程式
(1)の係数を加算して和Svを作り、この和を1と比較
することによりδ(X)を繰り返し評価する(ステップ
150-152)。その後、δ(X)は、次の繰り返し誤り発
見公式を使って評価される(ステップ166): この様にして、各繰り返し毎にδjの新しい値が計算さ
れ、i回の繰り返しの後に該公式は δk=δk(originaL) *(αk)iを計算したことになる。各
繰り返し後に、δj項が加算されて和Svが作られる(ス
テップ168)。ある繰り返し、例えばi番目の繰り返
し、でSvが1に等しくなければ、X=αiは根である
(ステップ171)。
公式31−3vは、レジスター1001−100v(一括して数字10
0で言及する)と、ガロア体加算器1021−102v(一括し
て数字102で言及する)と、ガロア体乗算器1041−104v
(一括して数字104で言及する)とを使って評価され
る。始めに、方程式(1)の係数がレジスター100に格
納され、カウンター108及び比較器120の初期値が各々V
に設定され、レジスター126の初期値はi=0に設定さ
れる。
該乗算器、カウンター及びタイマーは、第1図に関して
上記したクロック34と同様に作動するクロック124によ
りクロックされる。加算器104において計算される中間
の和Sjは、カウンター108によりアドレスされるレジス
ター106に与えられる。和Svがレジスター106に与えられ
る時、それはその出力にも現われる。その時和Svは1比
較器110において1と比較される。若し和Svが1に等し
ければ、X=αiは方程式(1)の根である。Svが1に
等しくなければ、X=αiは根ではない。
Xが方程式(1)の根でなければ、公式31−3vは繰り返
し更新され、和Svが計算される(ステップ166-168)。
次に、特定の繰り返しに対応するXが根であるか否か判
定するためにその和が1と比較される(ステップ17
0)。従って、システム99は、第1図を参照して説明し
たシステムと同様に作動する。従って先に説明したシス
テムに対応してクロック124がリセットされ公式が繰り
返し更新され、Xの新しい値が試される。次にXが根で
あるか否か判定するために新しい和Svが評価される。こ
の評価はV回の乗算とV回の加算とを含む。
若しXが根であれば、公式31−3vの係数が修正され、方
程式の次数、即ちVの値、が1だけ下げられる(ステッ
プ156-158)。これにより、次の繰り返しで公式の値を
求めるのに必要な乗算及び加算の回数が減らされる。係
数δjは次の様に修正形される: ここでδj′項はδj項の修正形であって、これらの項の
導関数ではない(ステップ156)。この修正形された係
数は公式31−3vに代入され、これら公式は付随するXの
次の値について評価される。
第3図を更に参照する。和Svが1に等しければX=αi
は根であり、1は比較器110の出力がアサートされる。
次のt3のクロックパルスでANDゲート122の出力がアサー
トされてから2ゲート遅れてANDゲート112の出力がアサ
ートされる。ANDゲート112のアサートされた出力(これ
はX=αiが方程式(1)の根であることを意味する)
は、i)値αiを根として格納するメモリー130と、ii)
そのカウントをV−1にデクリメントするカウンター10
8と、iii)ゲート128を通して、連続するレジスター100
が付随する和δjをロードすることを可能にするカウン
ター126とに与えられる。ゲート112の出力は、短時間後
に、遅延回路123を通して比較器120にも与えられ、該比
較器は、その中に格納されているVの値を1だけデクリ
メントする。
その後、クロック124が遅延回路123を通してリセットさ
れ、タイマーt1がパルスを発すると、修正された係数を
使って評価演算が開始される。この評価は、1回だけ少
ない乗算と1回だけ少ない加算とを含む。この様にし
て、評価に要する時間は、Xの先の値に対応する繰り返
しを評価するのに要する時間より短縮される。
第1図に関して説明した計算機36と同様にして、各繰り
返しで更新されるレジスター26内のiの値は、その値が
Xの「新しい」値であるか否か判定するためにコードブ
ロック長さ(Pq−1)と連続的に照合される(ステップ
164)。Xが新しい値であれば、i番目の繰り返しが行
なわれる。Xが「新しい」値でなければ、それは方程式
(1)の全ての根をGF(Pq)内に発見することが出来
ず、従って誤りの位置を全て判定することが出来ないこ
とを示す。従って、そのデータを訂正することは出来な
いということがシステムコントローラに通知される(ス
テップ165)。
上記の方法を使ってX=αiの形の方程式1の全ての根
を発見することが出来る。しかし、GF(Pq)における2
次、3次又は4次の方程式の根を発見する既知の方法を
使って残りの根を発見することが出来る(ステップ)。
使用される方法はシステムの設計に依る。
以上の説明は本発明の特定の二つの実施例に限られてい
る。しかし、本発明を修正形ないし修正して本発明の利
点の一部又は全てを達成することが出来ることは明らか
である。従って、特許請求の範囲の欄の記載は、本発明
の精神及び範囲内にある全ての修正形、修正を網羅する
ことを目的としている。
【図面の簡単な説明】
第1図は、本発明の第1実施例に従って構成された復号
システムの機能ブロック図である。 第2A図−第2B図は、本発明の第1実施例の動作に含まれ
るステップのフローチャートである。 第3図は、本発明の第2実施例に従って構成された復号
システムの機能ブロック図である。 第4A図−第4B図は、本発明の第2実施例の動作に含まれ
るステップのフローチャートである。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】BCHコードに従ってデータ記号を符号化す
    ることによって規格化された受信データコードワード中
    の誤り記号の位置を決める誤り位置発見方法であって、 A.データコードワードを受信し、 B.コードワードが誤りを含むか否かを決め、 C.コードワードが誤りを含む場合、そのコードワードに
    関係する誤り位置発見方程式、 1+δ1*X+δ2*X2+δ3*X3+・・・+δv-1*Xv-1+δV
    *Xv=0 を生成し(ここで、*はデータ記号を符号化するために
    使用するガロア体での乗算を表しており、+はガロア体
    での加算を表しており、誤り位置発見方程式の根は誤り
    コードワード記号の位置に対応する)、 D.(a)誤り位置発見方程式の係数を使用して、公式、 δ1′=δ1+αi δj′=δj-1′*αi+δj(j=2からV) を逐次的に計算することにより、δv′の値を計算し、 (b)δv′をゼロと比較し、そして (c)δv′がゼロに等しい場合、誤りデータコードワ
    ード記号の位置に対応するαiを記憶し、αiが誤り位置
    発見方程式の根であり、且つαiに対応する位置のコー
    ドワード記号が誤りであることを示すことにより、 コードワード内のデータ記号の位置に対応するαiが、
    誤り位置発見方程式の根であることを決めて、対応する
    データ記号が誤りであることを決め、 E1.δv′がゼロに等しく無い場合、αi=αi+1としてス
    テップDを繰り返し、 E2.δv′がゼロに等しい場合、 (a)誤り位置発見方程式から、最も大きな指数を有す
    る項を削除して、方程式の次数を減少し、 (b)誤り位置発見方程式の係数δjをj=1からv−
    1に対してステップDで計算されたδj′に置き換え、 (c)αi=αi+1として次の値を選択し、 F.所定の数の誤り位置が見出されるまで、ステップD及
    びE1、E2を繰り返し、従って、次数が減少された誤り位
    置発見方程式は所定の次数を有し、 G.所定の次数の方程式の根を見出す急速復号方法を使用
    して、次数が減少された誤り位置発見方程式の根を見出
    すことにより残りの誤り位置を決定し、そして H.受信されたコードワード及び誤り位置に対応するαi
    の記憶値を誤り訂正回路に転送する、各ステップからな
    る誤り位置発見方法。
  2. 【請求項2】BCHコードに従ってデータ記号を符号化す
    ることによって規格化された受信データコードワード中
    の誤り記号の位置を決める誤り位置発見方法であって、 A.データコードワードを受信し、 B.コードワードが誤りを含むか否かを決め、 C.コードワードが誤りを含む場合、そのコードワードに
    関係する誤り位置発見方程式、 1+δ1*X+δ2*X2+δ3*X3+・・・+δv-1*Xv-1+δv
    *Xv=0 を生成し(ここで、*はデータ記号を符号化するために
    使用するガロア体での乗算を表しており、+はガロア体
    での加算を表しており、誤り位置発見方程式の根は誤り
    コードワード記号の位置に対応する)、 D.(a)誤り返しカウンタをi=0に設定し、 (b)誤り位置発見方程式の係数δj(i=1からv)
    を加算し、 (c)和が1に等しく、αiが誤り位置発見方程式の根
    であることを示す場合には、αiの値を記憶することに
    より、 コードワードのデータ記号の位置に対応するαiが誤り
    位置発見方程式の根であることを決めて、対応するデー
    タ記号が誤りであることを決め、 E1.αiが根の場合、 (a)誤り位置発見方程式から最も大きい指数を有する
    項を削除して、この式の次数を減少し、そして (b)誤り位置発見方程式の残りの項の係数δjを、公
    式 δ1′=1+δ1 δj′=δj-1′+δj(j=2からv−1) を使用してj=1からv−1に対して計算されたδj
    に置き換え、 E2.αiが根でない場合、誤り位置発見方程式の係数δj
    を、 δj=δj*αi(j=1からv) に設定し、 F.前記カウンタをi=i+1に増加し、 G.誤り位置発見方程式の全ての根が見出されるか、iが
    データを符号化するのに使用されるBCHコードのブロッ
    ク長に等しくなるまで、連続するαiの値に対してステ
    ップDのiiからFを繰り返し、 H1.全ての根が発見された場合、受信されたコードワー
    ド及び誤り位置に対応するαiの記憶値を誤り訂正回路
    に転送し、 H2.全ての根が発見されない場合、データコードワード
    に訂正不可能とラベルする、各ステップからなる誤り位
    置発見方法。
  3. 【請求項3】BCHコードに従ってデータ記号を符号化す
    ることによって規格化された受信データコードワード中
    の誤り記号の位置を決める誤り位置発見方法であって、 A.データコードワードを受信し、 B.コードワードが誤りを含むか否かを決め、 C.コードワードが誤りを含む場合、そのコードワードに
    関係する誤り位置発見方程式、 1+δ1*X+δ2*X2+δ3*X3+・・・+δv-1*Xv-1+δv
    *Xv=0 を生成し(ここで、*はデータ記号を符号化するために
    使用するガロア体での乗算を表しており、+はガロア体
    での加算を表しており、誤り位置発見方程式の根は誤り
    コードワード記号の位置に対応する)、 D.(a)繰り返しカウンタをi=0に設定し、 (b)誤り位置発見方程式の係数δj(i=1からv)
    を加算し、 (c)和が1に等しく、αiが誤り位置発見方程式の根
    であることを示す場合には、αiの値を記憶することに
    より、 コードワードのデータ記号の位置に対応するαiが誤り
    位置発見方程式の根であることを決めて、対応するデー
    タ記号が誤りであることを決め、 E1.αiが根の場合、 (a)誤り位置発見方程式から最も大きい指数を有する
    項を削除して、この式の次数を減少し、そして (b)誤り位置発見方程式の残りの項の係数δjを、公
    式 δ1′=1+δ1 δj′=δj-1′+δj(j=2からv−1) を使用してj=1からv−1に対して計算されたδj
    に置き換え、 E2.αiが根でない場合、誤り位置発見方程式の係数δj
    を、 δj=δj*αj(j=1からv)に設定し、 F.前記カウンタを1だけ、即ち、i=i+1に増加し、 G.所定の数の根が見出され且つ次数が減少された誤り位
    置発見方程式が所定の次数を有するか、又はiがデータ
    を符号化するのに使用されるBCHコードのブロック長に
    等しくなるまで、連続するαiの値に対してステップD
    のiiからFを繰り返し、 H1.iがコードのブロック長に等しく無い場合、 (a)所定の次数の方程式の根を見出す様に設計された
    急速復号方法を使用することにより残りの誤り位置を決
    め、 (b)受信されたコードワード及び誤り位置に対応する
    αiの記憶値を誤り訂正回路に転送し、 H2.iがコードのブロック長に等しい場合、データコード
    ワードに訂正不可能とラベルする、各ステップからなる
    誤り位置発見方法。
  4. 【請求項4】BCHコードに従ってデータ記号を符号化す
    ることによって規格化された受信データコードワード中
    の誤り記号の位置を決める誤り位置発見方法であって、 A.データコードワードを受信し、 B.コードワードが誤りを含むか否かを決め、 C.コードワードが誤りを含む場合、そのコードワードに
    関係する誤り位置発見方程式、 1+δ1*X+δ2*X2+δ3*X3+・・・+δv-1*Xv-1+δv
    *Xv=0 を生成し(ここで、*はデータ記号を符号化するために
    使用するガロア体での乗算を表しており、+はガロア体
    での加算を表しており、誤り位置発見方程式の根は誤り
    コードワード記号の位置に対応する)、 D.(a)誤り位置発見方程式の係数δjを使用して、公
    式、 δ1′=δ1+αi δj′=δj-1′*αi+δj(j=2からv) に従って、j=1からvに対してδj′を逐次的に計算
    することにより、δv′の値を計算し、 (b)δv′をゼロと比較し、 (c)δv′がゼロに等しい場合、誤りデータコードワ
    ード記号の位置に対応するαiを記憶することより、 コードワードのデータ記号の位置に対応するαiが誤り
    位置発見方程式の根であることを決めて、対応するデー
    タ記号が誤りであることを決め、 E1.δv′がゼロに等しく無い場合、αi=αi+1と設定
    し、ステップDを繰り返し、 E2.δv′がゼロに等しい場合、 (a)誤り位置発見方程式から最も大きい指数を有する
    項を削除して、この式の次数を減少し、そして (b)誤り位置発見方程式の残りの項の係数δjを、ス
    テップDで計算されたj=1からv−1に対するδj
    に置き換え、 (c)αi=αi+1と設定し、 F.誤り位置発見方程式の全ての根が発見されるか、又
    は、αiの指標iがデータを符号化するのに使用されるB
    CHコードのブロック長に等しくなるまで、ステップD及
    びE1、E2を繰り返し、そして G1.全ての根が発見された場合、受信されたコードワー
    ド及び誤り位置に対応するαiの記憶値を誤り訂正回路
    に転送するか、又は G2.iがブロック長に等しく且つ全ての根が発見された場
    合、データコードワードに訂正不可能とラベルする、各
    ステップからなる誤り位置発見方法。
  5. 【請求項5】BCHコードに従ってデータ記号を符号化す
    ることによって規格化された受信データコードワード中
    の誤り記号の位置を決める誤り位置発見装置であって、 A.データコードワードを受信する手段、 B.コードワードが誤りを含むか否かを決める手段、 C.コードワードが誤りを含む場合、そのコードワードに
    関係する誤り位置発見方程式、 1+δ1*X+δ2*X2+δ3*X3+・・・+δv-1*Xv-1+δv
    *Xv=0 を生成する手段(ここで、*はデータ記号を符号化する
    ために使用するガロア体での乗算を表しており、+はガ
    ロア体での加算を表しており、誤り位置発見方程式の根
    は誤りコードワード記号の位置に対応する)、 D.誤り位置発見方程式の係数δjを使用し、公式、 δ1′=δ1′+αi δj′=δj-1′*αi+δj(j=2からv) を逐次的に計算することにより、δv′の値を決め、デ
    ータコードワード記号の位置に対応するαiに対する
    δv′を計算する計算手段、 E.δv′がゼロに等しくて、αiが誤り位置発見方程式の
    根であることを示す場合、誤り記号の位置の指標として
    αiを記憶するための手段、 F.δv′がゼロに等しいことに応答して、 (a)誤り位置発見方程式から最も大きい指数を削除し
    て、誤り位置発見方程式の次数を減少し、 (b)誤り位置発見方程式の係数δjを、前記計算手段
    によって計算されたj=1からv−1に対するδj′の
    値に置き換え、そして、 (c)更新された誤り位置発見方程式を前記計算手段に
    供給することによって、誤り位置発見方程式を更新する
    ための更新手段、及び G.前記計算手段に、次の値としてαi=αi+1を供給する
    手段から成り、 H.前記計算手段は、 (a)所定の数の根が見出され、誤り位置発見方程式の
    次数が所定の次数に減少し、計算手段が、所定の次数の
    方程式を解く様に設計された急速復号方法を使用するこ
    とによって、残りの誤り位置を見出すまで、又は、 (b)αiの指数iがデータを符号化するのに使用され
    るBCHコードのブロック長に等しく、所定の数の根が見
    出されない場合、計算手段がコードワードが訂正不可能
    であるとラベルするまで、 供給されたαiの値に対するδv′の値を計算し、 I.誤り位置発見方程式の全ての根が決定した場合、誤り
    位置に対応するαiの値を使用して、受信されたコード
    ワード内の誤りを訂正する手段を更に有することを特徴
    とする誤り位置発見装置。
  6. 【請求項6】BCHコードに従ってデータ記号を符号化す
    ることによって規格化された受信データコードワード中
    の誤り記号の位置を決める誤り位置発見装置であって、 A.データコードワードを受信する手段、 B.コードワードが誤りを含むか否かを決める手段、 C.誤りを含むコードワードに対して、そのコードワード
    に関係する誤り位置発見方程式、 1+δ1*X+δ2*X2+δ3*X3+・・・+δv-1*Xv-1+δv
    *Xv=0 を生成する手段(ここで、*はデータ記号を符号化する
    ために使用するガロア体での乗算を表しており、+はガ
    ロア体での加算を表しており、誤り位置発見方程式の根
    は誤りコードワード記号の位置に対応する)、 D.i=0に設定されたカウント値を有する繰り返しカウ
    ンタ、 E.誤り位置発見方程式の係数δjを加算する加算器、 F.係数の和が1に等しく、αi(iは繰り返しカウンタ
    のカウント値である)の値が誤り位置発見方程式の根で
    あることを示す場合、誤り記号の位置の指標としてαi
    の値を記憶する記憶手段、 G.(a)αiが根である時、即ち、誤りが見出された
    時、(1)誤り位置発見方程式から最も大きい指数を有
    する項を削除して、誤り位置発見方程式の次数を減少
    し、そして(2)誤り位置発見方程式の残りの係数を、
    公式、 δ1′=1+δ1 δj′=δj-1′+δj(j=2からv−1) を使用してj=1からv−1に対して計算されたδj
    に置き換えることにより、誤り位置発見方程式の係数δ
    jを更新し、この係数を加算器に供給するカスケード型
    加算手段、又は (b)αiの値が根で無い場合、δj=δj*αj(j=1
    からv)と設定して誤り位置発見方程式の係数を更新
    し、この係数を加算器に供給する乗算手段を有する、更
    新手段、 H.全ての根が見出されていないか、又はiがデータを符
    号化するのに使用されるコードのコードブロック長を越
    えない場合、前記更新手段が係数を前記加算器に供給す
    る毎に、前記繰り返しカウンタのカウント値をi=i+
    1に増加する手段、 I.全ての根が見出された場合、コードワード及び根をエ
    ラー訂正回路に転送する手段、及び J.iがコードのブロック長に等しく且つ誤り位置発見方
    程式の全ての根が見出されていない場合、コードワード
    に訂正不可能とラベルする手段、から成る誤り位置発見
    装置。
  7. 【請求項7】BCHコードに従ってデータ記号を符号化す
    ることによって規格化された受信データコードワード中
    の誤り記号の位置を決める誤り位置発見装置であって、 A.データコードワードを受信する手段、 B.コードワードが誤りを含むか否かを決める手段、 C.誤りを含むコードワードに対して、そのコードワード
    に関係する誤り位置発見方程式、 1+δ1*X+δ2*X2+δ3*X3+・・・+δv-1*Xv-1+δv
    *Xv=0 を生成する手段(ここで、*はデータ記号を符号化する
    ために使用するガロア体での乗算を表しており、+はガ
    ロア体での加算を表しており、誤り位置発見方程式の根
    は誤りコードワード記号の位置に対応する)、 D.初期値i=0に設定された繰り返しカウンタ、 E.誤り位置発見方程式の係数δj(j=1からv)を加
    算する加算器、 F.係数の和が1に等しい場合、誤り記号の位置の指標と
    してαi(iは繰り返しカウンタのカウント値に等し
    い)の値を記憶する記憶手段、 G.(a)αiが根である時、即ち、誤りが見出された
    時、(1)誤り位置発見方程式から最も大きい指数を有
    する項を削除して、誤り位置発見方程式の次数を減少
    し、そして(2)誤り位置発見方程式の残りの係数δj
    (j=1からv−1)を、公式、 δ1′=1+δ1 δj′=δj-1′+δj(j=2からv−1) を使用して計算されたδj′に置き換えることにより、
    誤り位置発見方程式の係数を更新し、この係数を加算器
    に供給するカスケード型加算手段、又は (b)αiの値が根で無い場合、係数をδj=δj*α
    i(j=1からv)と設定して誤り位置発見方程式の係
    数を更新し、この係数を加算器に供給する乗算手段を有
    する、更新手段、 H.前記更新手段が係数を加算器に供給する毎に、前記繰
    り返しカウンタのカウント値をi=i+1に増加し、所
    定の数の根が見出されるか、又はiがデータを符号化す
    るのに使用されるコードのコードブロック長に等しくな
    るまで、前記繰り返しカウンタを増加する手段、及び I.iがコードブロック長に等しく且つ所定の数の根が見
    出されていない場合、コードワードが訂正不可能である
    とラベルする手段、から成る誤り位置発見装置。
  8. 【請求項8】J.所定の次数の方程式を解く様に設計され
    た急速復号方法を使用することにより、残りの誤り位置
    を見出す復号手段、及び K.前記記憶手段に記憶されるαiの値及び前記復号化手
    段によって決められた値を使用するコードワード中の誤
    りを訂正する手段、を更に含む請求項7記載の誤り位置
    発見装置。
  9. 【請求項9】BCHコードに従ってデータ記号を符号化す
    ることによって規格化された受信データコードワード中
    の誤り記号の位置を決める誤り位置発見装置であって、 A.データコードワードを受信する手段、 B.コードワードが誤りを含むか否かを決める手段、 C.誤りを含むコードワードに対して、そのコードワード
    に関係する誤り位置発見方程式、 1+δ1*X+δ2*X2+δ3*X3+・・・+δv-1*Xv-1+δv
    *Xv=0 を生成する手段(ここで、*はデータ記号を符号化する
    ために使用するガロア体での乗算を表しており、+はガ
    ロア体での加算を表しており、誤り位置発見方程式の根
    は誤りコードワード記号の位置に対応する)、 D.データコードワード記号の位置に対応するαiに対す
    るδv′を計算し、誤り位置発見方程式の係数δjから、
    公式、 δ1′=δ1+αi δj′=δj-1′*αi+δj(j=2からv) に従ってj=1からvに対してδj′の値を繰り返し計
    算する計算手段、 E.δv′がゼロに等しく、αiが誤り位置発見方程式であ
    ることを示す場合、誤り記号の位置の指標としてαi
    記憶する手段、 F.δv′がゼロに等しいことを見出すことに応答して、 (a)誤り位置発見方程式から、最大の指数を有する項
    を削除して、誤り位置発見方程式の次数を減少し、 (b)係数δjを前記計算手段によって計算されたj=
    1からv−1に対するδj′に置き換え、そして (c)更新された誤り位置発見方程式を前記計算手段に
    供給することにより、誤り位置発見方程式を更新する更
    新手段、及び G.前記計算手段に次の値αi=αi+1を供給する手段、か
    ら成り、 H.前記計算手段は、全ての根が見出されるか、又は、α
    iの指数がデータを符号化するのに使用されるBCHコード
    のブロック長に等しくなるまで、供給されるαiの値に
    対するδv′の値を計算し、 I.全ての根が見出された場合、コードワードと根を誤り
    訂正回路に転送する手段、及び J.iがコードのブロック長に等しく且つ全ての根が見出
    されていない場合、コードワードが訂正不可能であると
    ラベルする手段、を更に有する誤り位置発見装置。
JP1120242A 1988-05-12 1989-05-12 誤り位置発見方法及び装置 Expired - Lifetime JPH07109992B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US19338188A 1988-05-12 1988-05-12
US193381 1988-05-12

Publications (2)

Publication Number Publication Date
JPH0220123A JPH0220123A (ja) 1990-01-23
JPH07109992B2 true JPH07109992B2 (ja) 1995-11-22

Family

ID=22713414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1120242A Expired - Lifetime JPH07109992B2 (ja) 1988-05-12 1989-05-12 誤り位置発見方法及び装置

Country Status (4)

Country Link
EP (1) EP0341862B1 (ja)
JP (1) JPH07109992B2 (ja)
CA (1) CA1315403C (ja)
DE (1) DE68925383T2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0563491A1 (en) * 1992-03-31 1993-10-06 International Business Machines Corporation Method and apparatus for implementing a triple error detection and double error correction code
US5414719A (en) * 1992-04-24 1995-05-09 Sharp Kabushiki Kaisha Operating circuit for galois field
JP3170920B2 (ja) * 1992-12-25 2001-05-28 ソニー株式会社 エラー訂正方法及び訂正回路
JP3272317B2 (ja) * 1999-01-21 2002-04-08 インターナショナル・ビジネス・マシーンズ・コーポレーション 誤り検出装置およびその方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3418629A (en) * 1964-04-10 1968-12-24 Ibm Decoders for cyclic error-correcting codes

Also Published As

Publication number Publication date
EP0341862B1 (en) 1996-01-10
DE68925383D1 (de) 1996-02-22
EP0341862A2 (en) 1989-11-15
JPH0220123A (ja) 1990-01-23
CA1315403C (en) 1993-03-30
DE68925383T2 (de) 1996-05-15
EP0341862A3 (en) 1991-09-11

Similar Documents

Publication Publication Date Title
JP2580304B2 (ja) デ−タ修正方法および装置
US6374383B1 (en) Determining error locations using error correction codes
US5107503A (en) High bandwidth reed-solomon encoding, decoding and error correcting circuit
JP3233860B2 (ja) リードソロモン復号器
US5715262A (en) Errors and erasures correcting reed-solomon decoder
JPH0831803B2 (ja) 誤り訂正のための方法と装置
US6092233A (en) Pipelined Berlekamp-Massey error locator polynomial generating apparatus and method
JPH0553087B2 (ja)
US8261176B2 (en) Polynomial division
JP2004032737A (ja) リード−ソロモン復号器
US5001715A (en) Error location system
JP4733403B2 (ja) 復号器、データ記憶装置およびデータの誤り訂正の方法
JP3245119B2 (ja) 新たな多項式配列構造を採用したリード−ソロモン復号器とその復号方法
US20070061688A1 (en) Decoding error correction codes using a modular single recursion implementation
JPH0575479A (ja) データ流における誤りの識別、補正修整回路装置
JPH1093445A (ja) 誤り位置検出多項式計算装置
KR100258951B1 (ko) 리드-솔로몬(rs) 복호기와 그 복호방법
JPH07109992B2 (ja) 誤り位置発見方法及び装置
JP2662472B2 (ja) 誤り訂正処理用シンドローム演算回路
EP0793352B1 (en) Apparatus for determining the error evaluator polynomial for use in a Reed-Solomon decoder
KR20000067136A (ko) 가변 처리가 가능한 파이프라인 구조의 리드 솔로몬 복호기
JP2002530002A (ja) リード・ソロモン復号器において誤りロケータ多項式根を見出すための高速事前計算回路および方法
JP2726902B2 (ja) 広帯域巾のリード‐ソロモンエンコード、デコード及びエラー修正回路
KR0166153B1 (ko) 에러정정 시스템의 에러위치 검색회로
JPH1065552A (ja) 誤り訂正の演算処理方法及び処理回路