JP3889988B2 - Error correction circuit and error correction program - Google Patents

Error correction circuit and error correction program Download PDF

Info

Publication number
JP3889988B2
JP3889988B2 JP2002119461A JP2002119461A JP3889988B2 JP 3889988 B2 JP3889988 B2 JP 3889988B2 JP 2002119461 A JP2002119461 A JP 2002119461A JP 2002119461 A JP2002119461 A JP 2002119461A JP 3889988 B2 JP3889988 B2 JP 3889988B2
Authority
JP
Japan
Prior art keywords
error
erasure
polynomial
pattern
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
Application number
JP2002119461A
Other languages
Japanese (ja)
Other versions
JP2003318742A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002119461A priority Critical patent/JP3889988B2/en
Publication of JP2003318742A publication Critical patent/JP2003318742A/en
Application granted granted Critical
Publication of JP3889988B2 publication Critical patent/JP3889988B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、受信したデータの誤り訂正を行なうエラー訂正回路およびエラー訂正プログラムに関し、特に、例えば、ATMを適用した光ファイバネットワークを構成する伝送装置などに適用されるエラー訂正回路およびエラー訂正プログラムに関する。
エラー訂正技術は、様々なディジタルシステムに広く利用されており、データの信頼性を確保するうえで非常に重要な要素技術である。
【0002】
中でも、リードソロモン(Reed-Solomon)符号に代表されるBCH符号による符号化と、復号化過程における誤り訂正とを組み合わせたエラー訂正技術は、有線および無線のデータ通信分野はもちろん、磁気記録や光磁気記録などのデータ記録技術の分野においても広く利用されている。
【0003】
【従来の技術】
リードソロモン符号によって符号化された符号化データを復号するデコーダを開発する際に重要なポイントは、生成多項式からどのような誤り位置多項式および消失位置多項式を導くか、そして、導いた誤り位置多項式および消失位置多項式から誤りパターンおよび消失パターンを求める過程をいかにして装置化するかである。
リードソロモン符号に用いられる様々な生成多項式について、その解法が研究されており、それぞれの用途に合った誤り位置多項式および消失位置多項式が導かれている。
【0004】
例えば、特開平6‐197026号公報は、式(1)のように表される生成多項式について、誤り位置多項式および消失位置多項式を導き、式(2)および式(3)によって誤りパターンYiおよび消失パターンViをそれぞれ計算する方法を開示している。
【数1】

Figure 0003889988
なお、特開平6‐197026号公報で開示された誤りパターンYiおよび消失パターンViを表す数式において誤り位置Xiの逆数を示すXi -1および消失位置Uiの逆数を示すUi -1は、式(2)および式(3)では、2進法の素多項式であるχ8+χ7+χ2+χ+1の根αを用いて表されている。
【0005】
更に、特開平6‐197026号公報は、誤りパターンYiおよび消失パターンViをシンドローム多項式から求める処理と、求めた誤りを訂正する処理とを実行するデータ消失訂正回路を開示している。
図6に、上述した公報で開示されたデータ消失訂正回路の概略構成を示す。
図6に示した誤り位置検出部411は、チェンサーチ(Chien search)によって、受信データに含まれているビット誤りおよび消失を検出し、検出したビット誤り位置α-iをそれぞれ誤り分母算出部412および誤り評価値算出部413に入力し、また、消失位置を消失分母算出部414および消失評価値算出部415に入力する。
【0006】
図6に示した誤り分母算出部412において、微分値算出部421および消失多項式計算部422は、入力された誤り位置α-iにおける誤り多項式の導関数σ'(α-i) の値および消失多項式の値を算出し、得られた値を乗算器423に入力する。また、図6に示した消失分母算出部414において、微分値算出部424および誤り多項式計算部425は、入力された消失位置α-iにおける消失多項式の導関数u'(α-i) の値および誤り多項式σ(α-i)の値を算出し、得られた値を乗算器426に入力する。これらの計算と並行して、誤り評価値算出部413により、ビット誤り位置α-iにおける誤り評価多項式ω(α-i)の値が計算され、消失評価値算出部415により、消失位置Uiにおける誤り評価多項式ωの値が計算されて、それぞれ乗算器416,417に入力される。図6に示したデータ消失訂正回路においてROM427には、上述した乗算器423,426によって得られることが想定される全ての値に対応して、その逆元値が格納されている。そして、誤り位置検出部411によってビット誤り位置α-iおよび消失位置α-iの検出タイミングに応じて、セレクタ428が、対応する乗算器423,426の出力を選択的にROM427に入力し、これに応じて、ROM427から読み出された逆元値が、対応する乗算器416,417に入力される。つまり、ビット誤り位置α-iの検出タイミングに応じてROM427から読み出された逆元値は、誤り評価値算出部413による計算結果とともに乗算器416に入力され、この乗算器416による演算結果が誤りパターンとして出力される。一方、消失位置α-iの検出タイミングに応じてROM427から読み出された逆元値は、消失評価値算出部415による計算結果とともに乗算器417に入力され、この乗算器417による演算結果が消失パターンとして出力される。
【0007】
【発明が解決しようとする課題】
ところで、ATMアダプテーションレイヤ(AAL)に関するITU‐Tの勧告I.363.1では、コンバージェンスサブレイヤ(CS)において適用すべき誤り訂正方法として、式(4)のように、基本指数kを用いて表される生成多項式を用いたリードソロモン符号を利用した誤り訂正技術が推奨されている。
【数2】
Figure 0003889988
図6に示したデータ消失訂正回路は、式(1)に示した生成多項式に対応したものであり、そのままでは、式(4)に示した生成多項式から導かれる誤りパターン及び消失パターンを求めることはできない。しかしながら、式(4)に示した生成多項式から、上述した式(2)、(3)に類似した形式を持つ誤り多項式および消失多項式を導くことができれば、図6に示したデータ消失訂正回路に若干の変形を加えることによって、ITU‐Tの勧告I.363.1に適合したエラー訂正回路を実現することができる。
【0008】
本発明は、既存の誤りパターンおよび消失パターンの計算に用いられている回路の基本構造を利用しつつ、基本指数を用いて表された生成多項式に従って符号化された符号化データに、伝送過程において発生したエラーを訂正するための誤りパターンおよび消失パターンを求めることが可能なエラー訂正回路およびエラー訂正プログラムを提供することを目的とする。
【0009】
【課題を解決するための手段】
図1に、本発明にかかわる第1のエラー訂正回路の原理ブロック図を示す。
請求項1の発明は、素多項式の根αを用いて表されるBCH符号の生成多項式であって根αの指数部が基本指数kと変数iとの和で表される生成多項式に従って生成された符号化データに、伝送過程において発生したエラーを訂正するエラー訂正回路において、受信した符号化データに含まれている誤りの位置を検出する誤り検出手段111と、受信した符号化データに基づいて、消失した符号の位置を検出する消失検出手段112と、検出された各誤り位置について、その誤り位置に関する誤り位置多項式の導関数、消失位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な誤りパターンの成分をそれぞれ求める基底誤り計算手段113と、検出された各消失位置について、その消失位置に関する消失位置多項式の導関数、誤り位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な消失パターンの成分をそれぞれ求める基底消失計算手段114と、検出された各誤り位置について、基本指数kに関する誤り補正値を計算する誤り補正値算出手段115と、検出された各消失位置について、基本指数kに関する消失補正値を計算する消失補正値算出手段116と、基本指数kとは独立な誤りパターンの成分それぞれと対応する誤り補正値との積を求め、乗算結果を最終的な誤りパターンとして出力する誤り補正値乗算手段117と、基本指数kとは独立な消失パターンの成分それぞれと対応する消失補正値との積を求め、最終的な消失パターンとして出力する消失補正値乗算手段118とを備えたことを特徴とする。
【0010】
請求項1の発明では、誤り検出手段111および消失検出手段112によってそれぞれ検出された誤り位置および消失位置に基づいて、基底誤り計算手段113および誤り補正値算出手段115により、基本指数kとは独立な誤りパターンの各成分および基本指数kに関する誤り補正値を算出し、また、基底消失計算手段114および消失補正値算出手段116により、基本指数kとは独立な消失パターンの各成分および基本指数kに関する消失補正値を算出する。そして、基底誤り計算手段113によって得られた誤りパターンの各成分と基本指数kに関する誤り補正値とを、誤り補正値乗算手段117によって乗算することにより、基本指数kとは独立な誤りパターンの各成分に基本指数による成分を合成し、最終的な誤りパターンを求める。同様に、基底消失計算手段114によって得られた消失パターンの各成分と基本指数kに関する消失補正値とを、消失補正値乗算手段118によって乗算することにより、基本指数kとは独立な消失パターンの各成分に基本指数による成分を合成し、最終的な消失パターンを求める。
【0011】
このように、基本指数による影響を誤り補正値および消失補正値として分離しているので、誤りパターン計算手段113および消失パターン計算手段114に、既存の回路やアルゴリズムを利用することが可能である。
図2に、本発明にかかわる第2のエラー訂正回路の原理ブロック図を示す。
請求項2の発明は、素多項式の根αを用いて表されるBCH符号の生成多項式であって根αの指数部が基本指数kと変数iとの和で表される生成多項式に従って生成された符号化データに、伝送過程において発生したエラーを訂正するエラー訂正回路において、受信した符号化データに含まれている誤りの位置を検出する誤り検出手段111と、受信した符号化データに基づいて、消失した符号の位置を検出する消失検出手段112と、検出された各消失位置について、その消失位置に関する誤り位置多項式σの値を計算する誤り多項式計算手段121と、検出された各誤り位置について、その誤り位置に関する誤り位置多項式σの形式的導関数σ’の値を計算する誤り導関数計算手段122と、検出された各誤り位置について、その誤り位置に関する消失位置多項式uの値を計算する消失多項式計算手段123と、検出された各消失位置について、その消失位置に関する消失位置多項式uの形式的導関数u'の値を計算する消失導関数計算手段124と、検出された各誤り位置について、誤り評価多項式ωの値を計算する誤り評価手段125と、検出された各消失位置について、誤り評価多項式ωの値を計算する消失評価手段126と、検出された各誤り位置について、基本指数kに関する誤り補正値を計算する誤り補正値算出手段115と、検出された各消失位置について、基本指数kに関する消失補正値を計算する消失補正値算出手段116と、検出された各誤り位置に対応する誤り評価多項式の値と誤り補正値との積を求める誤り補正手段127と、検出された各消失位置に対応する消失評価多項式の値と消失補正値との積を求める消失補正手段128と、誤り導関数計算手段122と消失多項式計算手段123とによってそれぞれ得られた計算結果の積を求める誤り分母項算出手段129と、誤り多項式計算手段121と消失導関数計算手段124とによってそれぞれ得られた計算結果の積を求める消失分母項算出手段130と、誤り分母項算出手段129と誤り補正手段127とによって得られた計算結果に基づいて、誤りパターンを求める誤りパターン算出手段131と、消失分母項算出手段130と消失補正手段128とによって得られた計算結果に基づいて、消失パターンを求める消失パターン算出手段132とを備えたことを特徴とする。
【0012】
請求項2の発明では、誤り検出手段111によって検出された各誤り位置について、誤り導関数計算手段122、消失多項式計算手段123および誤り評価手段125が実行する上述した式(2)の分母項を形成する各成分およびその分子項の計算と並行して、誤り補正値算出手段115が基本指数に関する誤り補正値を計算する。次いで、誤り分母項算出手段129による式(2)の分母項の計算と並行して、誤り補正手段127により、式(2)の分子項を誤り補正値を用いて補正する。このように、誤り補正値の計算処理およびこの誤り補正値の適用処理を、式(2)に現れる各項の計算手順に並行して実行することにより、式(2)に従って誤りパターンを計算する場合と同等のタイミングで、誤りパターン算出手段131に誤りパターンの算出に必要な計算結果を与えることができる。同様に、消失検出手段112によって検出された各消失位置について、消失導関数計算手段124、誤り多項式計算手段121および消失評価手段126が実行する上述した式(3)の分母項を形成する各成分およびその分子項の計算と並行して、消失補正値算出手段116が基本指数に関する消失補正値を計算する。次いで、消失分母項算出手段130による式(3)の分母項の計算と並行して、消失補正手段128により、式(3)の分子項を消失補正値を用いて補正する。このように、消失補正値の計算処理およびこの消失補正値の適用処理を、式(3)に現れる各項の計算手順に並行して実行することにより、式(3)に従って消失パターンを計算する場合と同等のタイミングで、消失パターン算出手段132に消失パターンの算出に必要な計算結果を与えることができる。
【0013】
なお、本発明にかかわるエラー訂正回路を方法のカテゴリで捉えることも可能である。
図3に、本発明にかかわるエラー訂正方法の原理ブロック図を示す。
本発明にかかわるエラー訂正方法は、素多項式の根αを用いて表されるBCH符号の生成多項式であって根αの指数部が基本指数kと変数iとの和で表される生成多項式に従って生成された符号化データに、伝送過程において発生したエラーを訂正するエラー訂正方法において、受信した符号化データに含まれている誤りの位置および消失した符号の位置を検出する検出ステップと、検出された各誤り位置について、その誤り位置に関する誤り位置多項式の導関数、消失位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な基底誤りパターンを求める誤りパターン計算ステップと、検出された各消失位置について、その消失位置に関する消失位置多項式の導関数、誤り位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な基底消失パターンを求める消失パターン計算ステップと、検出された各誤り位置および各消失位置について、基本指数kに関する誤り補正値および消失補正値をそれぞれ計算する補正値算出ステップと、基底誤りパターンの成分それぞれおよび基底消失パターンの成分それぞれに、対応する誤り補正値および対応する消失補正値をそれぞれ乗じ、これらの乗算結果を最終的な誤りパターンおよび最終的な消失パターンとして出力する補正ステップとを備えたことを特徴とする。
【0014】
本発明にかかわるエラー訂正方法は、検出された誤り位置および消失位置に基づいて、基本指数とは独立な誤りパターンの成分および消失パターンの成分を求めるとともに、各誤り位置および各消失位置に対応して、基本指数に関する誤り補正値および消失補正値を算出する。そして、基本指数とは独立な誤りパターンの成分それぞれおよび消失パターンの成分それぞれに、対応する誤り補正値および消失補正値を乗じることにより、基本指数とは独立な誤りパターンおよび消失パターンに基本指数に対応する成分を合成し、最終的な誤りパターンおよび消失パターンを得る。このように、基本指数による影響を誤り補正値および消失補正値として分離しているので、基本指数とは独立な誤りパターンおよび消失パターンの計算処理に、既存の回路やアルゴリズムを利用することが可能である。
【0015】
このようなエラー訂正方法は、当然ながら、コンピュータに実行させるプログラムの概念で捉えることもできる。
請求項3の発明は、素多項式の根αを用いて表されるBCH符号の生成多項式であって根αの指数部が基本指数kと変数iとの和で表される生成多項式に従って生成された符号化データに、伝送過程において発生したエラーを訂正する処理をコンピュータに実行させるためのエラー訂正プログラムにおいて、受信した符号化データに含まれている誤りの位置および消失した符号の位置を検出する検出手順と、検出された各誤り位置について、その誤り位置に関する誤り位置多項式の導関数、消失位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な基底誤りパターンを求める誤りパターン計算手順と、検出された各消失位置について、その消失位置に関する消失位置多項式の導関数、誤り位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な基底消失パターンを求める消失パターン計算手順と、検出された各誤り位置および各消失位置について、基本指数kに関する誤り補正値および消失補正値をそれぞれ計算する補正値算出手順と、基底誤りパターンの成分それぞれと対応する誤り補正値との積を求め、最終的な誤りパターンとして出力する誤り補正手順と、基本指数kとは独立な基底消失パターンの成分それぞれと対応する消失補正値との積を求め、最終的な消失パターンとして出力する消失補正手順とをコンピュータに実行させることを特徴とする。
【0016】
請求項3の発明では、検出手順によって検出された誤り位置に基づいて、誤りパターン計算手順および補正値算出手順により、基本指数kとは独立な誤りパターンの各成分および基本指数kに関する誤り補正値を算出する。また、検出手順によって検出された消失位置に基づいて、消失パターン計算手順および補正値算出手順により、基本指数kとは独立な基底消失パターンの各成分および基本指数kに関する消失補正値を算出する。そして、誤り補正手順において、基底誤りパターンの各成分に基本指数による成分を合成し、最終的な誤りパターンを求める。同様に、消失補正手順において、基底消失パターンの各成分に基本指数による成分を合成し、最終的な消失パターンを求める。
【0017】
このように、基本指数による影響を誤り補正値および消失補正値として分離しているので、誤りパターン計算手順および消失パターン計算手順には、既存のアルゴリズムをそのまま利用することが可能である。
もちろん、上述したプログラムをCD‐ROMなどの記憶媒体に記録して頒布することも可能である。
【0018】
本発明にかかわるエラー訂正プログラムを記録した記憶媒体は、素多項式の根αを用いて表されるBCH符号の生成多項式であって根αの指数部が基本指数kと変数iとの和で表される生成多項式に従って生成された符号化データに、伝送過程において発生したエラーを訂正する処理をコンピュータに実行させるためのエラー訂正プログラムを記録した記憶媒体において、受信した符号化データに含まれている誤りの位置および消失した符号の位置を検出する検出手順と、検出された各誤り位置について、その誤り位置に関する誤り位置多項式の導関数、消失位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な基底誤りパターンを求める誤りパターン計算手順と、検出された各消失位置について、その消失位置に関する消失位置多項式の導関数、誤り位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な基底消失パターンを求める消失パターン計算手順と、検出された各誤り位置および各消失位置について、基本指数kに関する誤り補正値および消失補正値をそれぞれ計算する補正値算出手順と、基底誤りパターンの成分それぞれと対応する誤り補正値との積を求め、最終的な誤りパターンとして出力する誤り補正手順と、基本指数kとは独立な基底消失パターンの成分それぞれと対応する消失補正値との積を求め、最終的な消失パターンとして出力する消失補正手順とをコンピュータに実行させるプログラムを記録した記憶媒体である。
【0019】
本発明にかかわるエラー訂正プログラムを記録した記憶媒体をコンピュータに読みこませることにより、上述したエラー訂正プログラムをコンピュータに実行させ、基底誤りパターンおよび基底消失パターンと誤り補正値および消失補正値を算出し、これらに基づいて、最終的な誤りパターンおよび最終的な消失パターンを求める。
【0020】
上述したように、誤りパターン計算手順および消失パターン計算手順については、既存のアルゴリズムを利用して実現することが可能であるので、補正値算出手順、誤り補正手順および消失補正手順を、既存のプログラムとともに記憶媒体に記録することによって、本発明にかかわるエラー訂正プログラムを記録した記憶媒体を実現することができる。
【0021】
【発明の実施の形態】
まず、本発明にかかわるエラー訂正方法、エラー訂正回路の原理を説明する。ここでは、ITU‐Tによる勧告I.363.1で規定されたリードソロモン(128,124)に本発明のエラー訂正方法およびエラー訂正回路を適用することを前提として説明する。このため、以下の説明においては、式(4)における基本指数kの値は、固定値120とする。なお、以下に述べる式の導出過程においては、「先端技術の手ほどきシリーズ 誤り訂正符号とその応用」江藤良純、金子敏信著を参考にした。
【0022】
式(5)に、2重誤りが発生した場合の4つのシンドローム演算の結果を示す。
【数3】
Figure 0003889988
この式(5)をシンドローム多項式で表すと、式(6)のようになる。
S(X)=S0+S1X+S22+S33 ・・・(6)
ここで、式(7)に示す無限級数展開が成り立つことが一般に知られている。
【0023】
【数4】
Figure 0003889988
式(7)において、変数tにαiXを代入し、式(7)の両辺にeiα120iを乗算すると、αi番目の誤りeiに関する式(8)が得られる。
【数5】
Figure 0003889988
同様にして、αj番目の誤りejに関する式(9)が得られる。
【0024】
【数6】
Figure 0003889988
式(5)と式(8)および式(9)を見比べれば、シンドローム多項式S(X)は、式(8)の右辺と式(9)の右辺とを加え合わせて得られる展開式の4次以上の項を切り捨てたものに等しいことが分かる。したがって、シンドローム多項式S(X)を式(10)のように、式(8)および式(9)の左辺の和を用いて表すことができる。
【0025】
【数7】
Figure 0003889988
この式(10)の両辺に、誤り位置多項式σ(X)の定義式である式(11)の各辺を乗算すると、式(12)を導くことができる。
σ(X)=(1‐αiX)(1‐αjX) ・・・(11)
σ(X)S(X)=eiα120i(1−αjX)+ejα120j(1‐αiX) ・・(12)
ここで、式(12)の4次未満の項は、式(13)に示す誤り評価多項式ω(X)の4次未満の項に一致している。
【0026】
【数8】
Figure 0003889988
したがって、適切な関数Φ(X)を用いて、4次以上の高次項を表すことにより、誤り評価多項式ω(X)を式(14)のように表すことができる。
ω(X)=Φ(X)X4+σ(X)S(X) …(14)
更に、式(8)、式(9)に示した級数展開を利用して、この式(14)を書き換え、その4次未満の項に注目すれば、誤り評価多項式ω(X)を式(15)のように表すことができる。
【0027】
ω(X)=eiα120i(1−αjX)+ejα120j(1‐αiX) ・・・(15)
ところで、上述した式(11)の右辺を展開すれば、誤り位置多項式の形式的導関数σ'(X)が式(16)のように表されることが分かる。
σ'(X)=−(αi+αj) …(16)
この式(16)で表される関係を利用すれば、式(17)に示すように、α‐i番目の誤りに対する誤り評価多項式ω(α‐i)を、α‐i番目の誤りに対する誤り位置多項式の導関数σ'(α‐i)を用いて表すことができる。
【0028】
Figure 0003889988
したがって、誤りパターンeiを、式(18)のように表すことができる。
【数9】
Figure 0003889988
更に、この式(18)に基づいて、消失および誤りが混在している場合の誤りパターンYiおよび消失パターンViを、式(19)、式(20)のように表すことができる。
【0029】
【数10】
Figure 0003889988
式(19)、式(20)と上述した式(2)、式(3)とをそれぞれ見比べれば、生成多項式における基本指数の影響は、誤りパターンYiおよび消失パターンViの分母項の差異として現れていることが分かる。
この差異は、素多項式の根αのべき乗(α119i)であり、この値は、当然ながら、誤り評価多項式ω(α‐i)や誤り多項式σ(α‐i)の値とは独立に計算可能である。したがって、基本指数による影響を、基本指数を含まない生成多項式に対応する誤りパターンおよび消失パターンの計算に必要な各項とは独立に計算可能な補正値として分離することができる。
【0030】
すなわち、特開平6‐197026号公報で開示されたエラー訂正回路に、上述した補正値を計算する回路およびこの補正値によって誤りパターンおよび消失パターンを補正する回路を付加することにより、式(4)に示したような基本指数を用いて表される生成多項式に対応した誤りパターンおよび消失パターンを求めるエラー訂正回路を実現することができる。
【0031】
以下、図面に基づいて、本発明の実施形態について詳細に説明する。
図4に、本発明にかかわるエラー訂正回路の実施形態を示す。
なお、図4に示した構成要素のうち、図6に示した構成要素と同等のものについては、図6に示した構成要素に付された符号と同一の符号を付して示し、説明を省略する。
【0032】
図4に示したエラー訂正回路は、図6に示したデータ消失訂正回路に、誤り補正値算出部211と、消失補正値算出部212と、2つの乗算器213,214を付加して構成されている。
このエラー訂正回路において、誤り補正値算出部211は、誤り位置検出部411によって検出された誤り位置α-iについて、式(21)に示す誤り補正値δyを算出する。
【0033】
δ=α-119i ・・・(21)
このようにして得られた誤り補正値δyは、誤り評価値算出部413によって算出された誤り位置α-iにおける誤り評価値ω(α-i)とともに、乗算器213による乗算処理に供される。そして、この乗算器213による乗算結果が、乗算器416に入力される。
【0034】
同様に、このエラー訂正回路において、消失補正値算出部212は、誤り位置検出部411によって検出された消失位置α-iについて、上述した誤り補正値と同様に式(21)で表される消失補正値δvを算出する。このようにして得られた消失補正値δvは、消失評価値算出部415によって算出された消失位置α-iにおける消失評価値ω(α-i)とともに、乗算器214による乗算処理に供される。そして、この乗算器214による乗算結果が、乗算器417に入力される。
【0035】
以下に、図2および図3に示した各手段と、図4に示した各部との対応関係を示す。
図4に示した誤り位置検出部411は、図2および図3に示した誤り検出手段111および消失検出手段112に相当する。また、図4に示した誤り補正値算出部211および消失補正値算出部212は、それぞれ図2および図3に示した誤り補正値算出手段115および消失補正値算出手段116に相当する。一方、図4に示した誤り分母算出部412、誤り評価値算出部413、消失分母算出部414、消失評価値算出部415、乗算器416、417、セレクタ428およびROM427は、図2に示した基底誤り計算手段113および基底消失計算手段114に相当する。また、図4に示した乗算器213は、図2に示した誤り補正値乗算手段117あるいは、図3に示した誤り補正手段127に相当する。同様に、図4に示した乗算器214は、図2に示した消失補正値乗算手段118あるいは、図3に示した消失補正手段128に相当する。更に、図4に示した誤り評価値算出部413および消失評価値算出部415は、図3に示した誤り評価手段125および消失評価手段126にそれぞれ相当する。また、図4に示した誤り分母算出部412は、図3に示した消失多項式計算手段123、誤り導関数計算手段122および誤り分母項算出手段129に相当する。同様に、図4に示した消失分母算出部412は、図3に示した誤り多項式計算手段121、消失導関数計算手段124および消失分母項算出手段130に相当する。
【0036】
図4に示したエラー訂正回路では、誤り評価値算出部413および消失評価値算出部415による評価結果ωy,ωyに、それぞれ誤り補正値δyおよび消失補正値δvを乗じる。その後、これらの乗算結果に誤り分母算出部412および消失分母算出部414によって算出された値に応じてROM427から読み出された逆元値を乗じる。
【0037】
つまり、図4に示したエラー訂正回路では、上述した式(19)、(20)と同等な式(22)、(23)に従って誤りパターンYiおよび消失パターンViを計算している。
【数11】
Figure 0003889988
したがって、式(19)で表される誤りパターンおよび式(20)で表される消失パターンを、図6に示した従来の消失データ訂正回路を利用して算出している。
【0038】
次に、誤り補正値δyおよび消失補正値δvを算出する方法について説明する。
図5に、誤り補正値算出部の詳細構成図を示す。
図5に示した誤り補正値算出部211は、演算回路221および演算回路222を備えている。これらの演算回路221、222は、誤り位置検出部411において並行して実行される2つのチェンサーチ処理、すなわち、符号位置127から符号位置64までのチェンサーチ<1>と符号位置63から符号位置0までのチェンサーチ<2>とに対応している。
【0039】
図5に示した演算回路221,222は、いずれも、セレクタ223と乗算器224とフリップフロップ225とから形成されている。これらの演算回路221,222において、セレクタ223は、チェンサーチ開始信号に応じてそれぞれ対応する初期値D1および初期値D2を選択して乗算器224に入力し、以降は、フリップフロップ225の出力を選択して乗算器224に入力する。この乗算器224は、セレクタ223から入力された値に固定値α119を乗算し、得られた乗算結果をフリップフロップ225に入力する。
【0040】
なお、初期値D1および初期値D2は、例えば、式(24)、式(25)に基づいて、予め計算しておけばよい。
1=α119*(255-128)mod255=α68 ・・・(24)
2=α119*(255-64)mod255 =α34 ・・・(25)
このような初期値D1および初期値D2に、乗算器224により、チェンサーチに同期して固定値α119を乗算する演算を繰り返していくことにより、誤り位置α-iの検出タイミングに、それぞれ式(21)で表される誤り補正値が演算回路221,222の出力として得られる。
【0041】
図5に示したラッチ226,227は、それぞれ上述した2つのチェンサーチ<1>,<2>によって検出された誤り位置検出信号<1>,<2>に応じて、演算回路221および演算回路222の出力を保持し、後段の回路に出力する。
また、図5に示したラッチ226,227のトリガ信号として、上述した2つのチェンサーチ<1>,<2>によって検出された消失位置α-iの検出タイミングを示す消失位置検出信号<1>,<2>を入力することにより、同様にして、消失補正値算出部212を構成することができる。
【0042】
図5に示した誤り補正値算出部211および消失補正値算出部212の構成から、誤り補正値δ(α‐i)および消失補正値δ(α‐i)は、図6において、チェンサーチに同期して計算されている各値と同様に、チェンサーチに同期して計算できることは明らかである。
また、式(22)および式(23)を採用したことにより、分子項と分母項とを算出するために必要とされる処理遅延が均等化されている。つまり、図6に示した消失訂正回路において、乗算器423および乗算器426による乗算処理と、誤り評価値ωyおよび消失評価値ωvと誤り補正値δyおよび消失補正値δvとの積をそれぞれ計算する処理とは、ほぼ同等の処理時間で実行することができる。
【0043】
したがって、式(19)および式(20)で表される誤りパターンおよび消失パターンを、式(2)、(3)で表される誤りパターンおよび消失パターンの算出に要する時間と同等の処理時間で求めることができる。
なお、式(19)、(20)の導出過程と同様にして、基本指数kを用いて表された生成多項式について、式(2)、(3)を利用して誤りパターンおよび消失パターンを計算する式を導出することができる。したがって、生成多項式に現れる基本指数kがいかなる値を持っている場合においても、復号過程においてユークリッド互除法を適用可能な符号であれば、本発明にかかわるエラー訂正方法およびエラー訂正回路を適用することが可能である。
【0044】
また、もちろん、図4、図5に示した各部は、ソフトウェアによって実現することが可能である。したがって、これらの各手順をコンピュータに実行させるエラー訂正プログラムを実現し、このエラー訂正プログラムをコンピュータに読み込ませて実行させれば、式(22)、(23)の計算をソフトウェアを用いて実現することができる。更に、このエラー訂正プログラムをCD−ROMなどの記憶媒体に記録すれば、このエラー訂正プログラムの流通を簡易化することができる。
【0045】
以上の説明に関して、更に、以下の各項を開示する。
(付記1) 素多項式の根αを用いて表されるBCH符号の生成多項式であって前記根αの指数部が基本指数kと変数iとの和で表される生成多項式に従って生成された符号化データに、伝送過程において発生したエラーを訂正するエラー訂正方法において、受信した符号化データに含まれている誤りの位置を検出する誤り検出ステップと、受信した符号化データに基づいて、消失した符号の位置を検出する消失検出ステップと、検出された各誤り位置について、その誤り位置に関する誤り位置多項式の導関数、消失位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な誤りパターンの成分をそれぞれ求める誤りパターン計算ステップと、検出された各消失位置について、その消失位置に関する消失位置多項式の導関数、誤り位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な消失パターンの成分をそれぞれ求める消失パターン計算ステップと、検出された各誤り位置および各消失位置について、基本指数kに関する誤り補正値および消失補正値をそれぞれ計算する補正値算出ステップと、基本指数kとは独立な誤りパターンの成分それぞれおよび基本指数kとは独立な消失パターンの成分それぞれに、対応する誤り補正値および対応する消失補正値をそれぞれ乗じ、これらの乗算結果を最終的な誤りパターンおよび最終的な消失パターンとして出力する補正ステップと、を備えたことを特徴とするエラー訂正方法。
【0046】
(付記2) 素多項式の根αを用いて表されるBCH符号の生成多項式であって前記根αの指数部が基本指数kと変数iとの和で表される生成多項式に従って生成された符号化データに、伝送過程において発生したエラーを訂正するエラー訂正回路において、受信した符号化データに含まれている誤りの位置を検出する誤り検出手段と、受信した符号化データに基づいて、消失した符号の位置を検出する消失検出手段と、検出された各誤り位置について、その誤り位置に関する誤り位置多項式の導関数、消失位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な誤りパターンの成分をそれぞれ求める基底誤り計算手段と、検出された各消失位置について、その消失位置に関する消失位置多項式の導関数、誤り位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な消失パターンの成分をそれぞれ求める基底消失計算手段と、検出された各誤り位置について、基本指数kに関する誤り補正値を計算する誤り補正値算出手段と、検出された各消失位置について、基本指数kに関する消失補正値を計算する消失補正値算出手段と、基本指数kとは独立な誤りパターンの成分それぞれと対応する誤り補正値との積を求め、乗算結果を最終的な誤りパターンとして出力する誤り補正値乗算手段と、基本指数kとは独立な消失パターンの成分それぞれと対応する消失補正値との積を求め、最終的な消失パターンとして出力する消失補正値乗算手段とを備えたことを特徴とするエラー訂正回路。
【0047】
(付記3) 素多項式の根αを用いて表されるBCH符号の生成多項式であって前記根αの指数部が基本指数kと変数iとの和で表される生成多項式に従って生成された符号化データに、伝送過程において発生したエラーを訂正するエラー訂正回路において、受信した符号化データに含まれている誤りの位置を検出する誤り検出手段と、受信した符号化データに基づいて、消失した符号の位置を検出する消失検出手段と、検出された各消失位置について、その消失位置に関する誤り位置多項式σの値を計算する誤り多項式計算手段と、検出された各誤り位置について、その誤り位置に関する誤り位置多項式σの形式的導関数σ'の値を計算する誤り導関数計算手段と、検出された各誤り位置について、その誤り位置に関する消失位置多項式uの値を計算する消失多項式計算手段と、検出された各消失位置について、その消失位置に関する消失位置多項式uの形式的導関数u'の値を計算する消失導関数計算手段と、検出された各誤り位置について、誤り評価多項式ωの値を計算する誤り評価手段と、検出された各消失位置について、誤り評価多項式ωの値を計算する消失評価手段と、検出された各誤り位置について、基本指数kに関する誤り補正値を計算する誤り補正値算出手段と、検出された各消失位置について、基本指数kに関する消失補正値を計算する消失補正値算出手段と、検出された各誤り位置に対応する誤り評価多項式の値と誤り補正値との積を求める誤り補正手段と、検出された各消失位置に対応する消失評価多項式の値と消失補正値との積を求める消失補正手段と、誤り導関数計算手段と消失多項式計算手段とによってそれぞれ得られた計算結果の積を求める誤り分母項算出手段と、誤り多項式計算手段と消失導関数計算手段とによってそれぞれ得られた計算結果の積を求める消失分母項算出手段と、誤り分母項算出手段と誤り補正手段とによって得られた計算結果に基づいて、誤りパターンを求める誤りパターン算出手段と、消失分母項算出手段と消失補正手段とによって得られた計算結果に基づいて、消失パターンを求める消失パターン算出手段とを備えたことを特徴とするエラー訂正回路。
【0048】
(付記4) 素多項式の根αを用いて表されるBCH符号の生成多項式であって前記根αの指数部が基本指数kと変数iとの和で表される生成多項式に従って生成された符号化データに、伝送過程において発生したエラーを訂正する処理をコンピュータに実行させるためのエラー訂正プログラムにおいて、受信した符号化データに含まれている誤りの位置を検出する誤り検出手順と、受信した符号化データに基づいて、消失した符号の位置を検出する消失検出手順と、検出された各誤り位置について、その誤り位置に関する誤り位置多項式の導関数、消失位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な誤りパターンの成分をそれぞれ求める誤りパターン計算手順と、検出された各消失位置について、その消失位置に関する消失位置多項式の導関数、誤り位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な消失パターンの成分をそれぞれ求める消失パターン計算手順と、検出された各誤り位置について、基本指数kに関する誤り補正値を計算する誤り補正値算出手順と、検出された各消失位置について、基本指数kに関する消失補正値を計算する消失補正値算出手順と、基本指数kとは独立な誤りパターンの成分それぞれと対応する誤り補正値との積を求め、最終的な誤りパターンとして出力する誤り補正手順と、基本指数kとは独立な消失パターンの成分それぞれと対応する消失補正値との積を求め、最終的な消失パターンとして出力する消失補正手順とをコンピュータに実行させることを特徴とするプログラム。
【0049】
(付記5) 素多項式の根αを用いて表されるBCH符号の生成多項式であって前記根αの指数部が基本指数kと変数iとの和で表される生成多項式に従って生成された符号化データに、伝送過程において発生したエラーを訂正する処理をコンピュータに実行させるためのエラー訂正プログラムを記録した記憶媒体において、受信した符号化データに含まれている誤りの位置を検出する誤り検出手順と、受信した符号化データに基づいて、消失した符号の位置を検出する消失検出手順と、検出された各誤り位置について、その誤り位置に関する誤り位置多項式の導関数、消失位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な誤りパターンの成分をそれぞれ求める誤りパターン計算手順と、検出された各消失位置について、その消失位置に関する消失位置多項式の導関数、誤り位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な消失パターンの成分をそれぞれ求める消失パターン計算手順と、検出された各誤り位置について、基本指数kに関する誤り補正値を計算する誤り補正値算出手順と、検出された各消失位置について、基本指数kに関する消失補正値を計算する消失補正値算出手順と、基本指数kとは独立な誤りパターンの成分それぞれと対応する誤り補正値との積を求め、最終的な誤りパターンとして出力する誤り補正手順と、基本指数kとは独立な消失パターンの成分それぞれと対応する消失補正値との積を求め、最終的な消失パターンとして出力する消失補正手順とをコンピュータに実行させるプログラムを記録した記憶媒体。
【0050】
【発明の効果】
以上に説明したように、本発明にかかるエラー訂正方法およびエラー訂正回路は、基本指数を含む形式の生成多項式に適合する誤りパターンおよび消失パターンを、基本指数を含まない形式の生成多項式に基づいて導かれた誤りパターンおよび消失パターンと適切な補正値との積によって表す式に従って求めることにより、既存のデータ消失訂正回路のアルゴリズムおよびハードウェアを利用して、例えば、ITU‐Tによる勧告I.363.1に規定されたエラー訂正技術を用いて符号化されたデータを復号する復号装置を実現することができる。これにより、復号装置の開発に要するコストを大幅に削減することが可能である。
【0051】
特に、請求項2において述べたように、誤り評価値および消失評価値にそれぞれに対応する補正値を乗算する処理と、式(2)、(3)の分母項を計算する処理とを並行して実行することにより、被除数を求めるための処理遅延と除数を求めるための処理遅延とをほぼ均等にすることができる。したがって、本発明のエラー訂正方法およびエラー訂正回路によれば、従来のデータ消失訂正回路によって誤りパターンおよび消失パターンを求める処理に要する時間と同等の処理時間で、基本指数を含む生成多項式に適合する誤りパターンおよび消失パターンを求めることができる。
【0052】
もちろん、本発明にかかわるエラー訂正プログラムをコンピュータによって実行させることにより、上述したエラー訂正回路と同等の効果を得ることができる。また、本発明にかかわるエラー訂正プログラムを記録した記憶媒体をコンピュータに読み込ませることにより、コンピュータに本発明にかかわるエラー訂正プログラムを実行させ、上述したエラー訂正回路と同等の効果を得ることができる。
【図面の簡単な説明】
【図1】本発明にかかわる第1のエラー訂正回路の原理ブロック図である。
【図2】本発明にかかわる第2のエラー訂正回路の原理ブロック図である。
【図3】本発明のエラー訂正方法の原理を示す図である。
【図4】本発明にかかわるエラー訂正回路の実施形態を示す図である。
【図5】誤り補正値算出部の詳細構成図である。
【図6】従来のデータ消失訂正回路の概略構成を示す図である。
【符号の説明】
111 誤り検出手段
112 消失検出手段
113 基底誤り計算手段
114 基底消失計算手段
115 誤り補正値算出手段
116 消失補正値算出手段
117 誤り補正値乗算手段
118 消失補正値乗算手段
121 誤り多項式計算手段
122 誤り導関数計算手段
123 消失多項式計算手段
124 消失導関数計算手段
125 誤り評価手段
126 消失評価手段
127 誤り補正手段
128 消失補正手段
129 誤り分母項算出手段
130 消失分母項算出手段
131 誤りパターン算出手段
132 消失パターン算出手段
211 誤り補正値算出部
212 消失補正値算出部
213、214、224、416,417、423,426 乗算器
221、222 演算回路
223、428 セレクタ
225 フリップフロップ
226 ラッチ
411 誤り位置検出部
412 誤り分母算出部
413 誤り評価値算出部
414 消失分母算出部
415 消失評価値算出部
421 微分値算出部
422 消失多項式計算部
425 誤り多項式計算部
427 ROM[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an error correction circuit and an error correction program for performing error correction on received data, and more particularly to an error correction circuit and an error correction program applied to, for example, a transmission apparatus constituting an optical fiber network to which ATM is applied. .
Error correction technology is widely used in various digital systems, and is an extremely important elemental technology for ensuring data reliability.
[0002]
Above all, error correction technology that combines BCH coding represented by Reed-Solomon code and error correction in the decoding process, as well as wired and wireless data communication fields, magnetic recording and optical It is also widely used in the field of data recording technology such as magnetic recording.
[0003]
[Prior art]
An important point in developing a decoder that decodes encoded data encoded by a Reed-Solomon code is what error locator polynomial and erasure locator polynomial are derived from the generator polynomial, and the derived error locator polynomial and It is how to implement the process of obtaining the error pattern and erasure pattern from the erasure position polynomial.
Solutions for various generator polynomials used in Reed-Solomon codes have been studied, and error locator polynomials and erasure locator polynomials suitable for each application have been derived.
[0004]
For example, Japanese Patent Application Laid-Open No. Hei 6-97026 derives an error position polynomial and an erasure position polynomial for a generator polynomial expressed as Equation (1), and uses the Equation (2) and Equation (3) to generate an error pattern YiAnd disappearance pattern ViDiscloses a method for calculating each.
[Expression 1]
Figure 0003889988
The error pattern Y disclosed in Japanese Patent Laid-Open No. Hei 6-97026iAnd disappearance pattern ViError position X in the formula representingiX indicating the reciprocal ofi -1And disappearance position UiU indicating the reciprocal ofi -1Is a binary prime polynomial in equations (2) and (3).8+ Χ7+ Χ2It is represented using a root α of + χ + 1.
[0005]
Further, Japanese Patent Laid-Open No. 6-97026 discloses an error pattern YiAnd disappearance pattern ViA data erasure correction circuit is disclosed that executes a process for obtaining the error from a syndrome polynomial and a process for correcting the obtained error.
FIG. 6 shows a schematic configuration of the data erasure correction circuit disclosed in the above publication.
The error position detection unit 411 shown in FIG. 6 detects bit errors and erasures included in the received data by a Chien search, and detects the detected bit error position α.-iAre input to the error denominator calculation unit 412 and the error evaluation value calculation unit 413, respectively, and the erasure position is input to the erasure denominator calculation unit 414 and the erasure evaluation value calculation unit 415.
[0006]
In the error denominator calculation unit 412 illustrated in FIG. 6, the differential value calculation unit 421 and the erasure polynomial calculation unit 422 are configured to input the error position α-iThe derivative of the error polynomial σ '(α-i) And the value of the erasure polynomial are calculated, and the obtained values are input to the multiplier 423. Further, in the erasure denominator calculation unit 414 shown in FIG. 6, the differential value calculation unit 424 and the error polynomial calculation unit 425 are configured to input the erasure position α-iThe derivative u ′ (α-i) And error polynomial σ (α-i) Is calculated, and the obtained value is input to the multiplier 426. In parallel with these calculations, the error evaluation value calculation unit 413 performs bit error position α.-iError evaluation polynomial ω (α-i) Is calculated, and the value of the error evaluation polynomial ω at the erasure position Ui is calculated by the erasure evaluation value calculation unit 415 and input to the multipliers 416 and 417, respectively. In the data erasure correction circuit shown in FIG. 6, the ROM 427 stores the inverse element values corresponding to all the values assumed to be obtained by the multipliers 423 and 426 described above. Then, the error position detection unit 411 performs bit error position α.-iAnd disappearance position α-iThe selector 428 selectively inputs the outputs of the corresponding multipliers 423 and 426 to the ROM 427 in accordance with the detection timing of the signal, and the inverse element value read out from the ROM 427 in response to the selector 428 selects the corresponding multiplier 416. , 417. That is, bit error position α-iThe inverse element value read from the ROM 427 according to the detection timing is input to the multiplier 416 together with the calculation result by the error evaluation value calculation unit 413, and the calculation result by the multiplier 416 is output as an error pattern. On the other hand, disappearance position α-iThe inverse element value read from the ROM 427 in accordance with the detection timing is input to the multiplier 417 together with the calculation result by the erasure evaluation value calculation unit 415, and the calculation result by the multiplier 417 is output as an erasure pattern.
[0007]
[Problems to be solved by the invention]
By the way, ITU-T recommendation I.I. regarding ATM adaptation layer (AAL). In 363.1, as an error correction method to be applied in the convergence sublayer (CS), an error correction technique using a Reed-Solomon code using a generator polynomial expressed using a basic exponent k as shown in Equation (4) Is recommended.
[Expression 2]
Figure 0003889988
The data erasure correction circuit shown in FIG. 6 corresponds to the generator polynomial shown in equation (1), and as it is, the error pattern and erasure pattern derived from the generator polynomial shown in equation (4) are obtained. I can't. However, if an error polynomial and an erasure polynomial having a format similar to the above-described equations (2) and (3) can be derived from the generator polynomial shown in equation (4), the data erasure correction circuit shown in FIG. By making some modifications, ITU-T recommendation I.I. An error correction circuit conforming to 363.1 can be realized.
[0008]
The present invention uses the basic structure of the circuit used for the calculation of the existing error pattern and erasure pattern, and converts the encoded data encoded according to the generator polynomial expressed using the basic exponent in the transmission process. An object of the present invention is to provide an error correction circuit and an error correction program capable of obtaining an error pattern and an erasure pattern for correcting a generated error.
[0009]
[Means for Solving the Problems]
FIG. 1 shows a principle block diagram of a first error correction circuit according to the present invention.
The invention of claim 1 is a generator polynomial of a BCH code expressed using a root α of a prime polynomial, and an exponent part of the root α is generated according to a generator polynomial expressed by the sum of a basic index k and a variable i. Based on the received encoded data, error detecting means 111 for detecting the position of the error included in the received encoded data in an error correction circuit for correcting the error generated in the transmission process to the encoded data. Erasure detecting means 112 for detecting the position of the lost code, and for each detected error position, based on the derivative of the error position polynomial relating to the error position, the erasure position polynomial and the error evaluation polynomial, the basic index k and Is a base error calculation means 113 for obtaining each component of an independent error pattern, and for each detected erasure position, a derivative of the erasure position polynomial with respect to the erasure position, Based on the error position polynomial and the error evaluation polynomial, the base erasure calculation means 114 for obtaining each component of the erasure pattern independent of the basic index k, and the error correction value for the basic index k is calculated for each detected error position. The error correction value calculating means 115 for calculating the erasure correction value 116 for calculating the erasure correction value for the basic exponent k for each detected erasure position, and the error pattern component independent of the basic exponent k. An error correction value multiplication unit 117 that obtains a product of the error correction value and outputs the multiplication result as a final error pattern, and a product of the erasure correction value corresponding to each component of the erasure pattern independent of the basic index k. An erasure correction value multiplication unit 118 that obtains and outputs as a final erasure pattern is provided.
[0010]
In the first aspect of the invention, the base error calculation means 113 and the error correction value calculation means 115 are independent of the basic index k based on the error position and the erasure position detected by the error detection means 111 and the erasure detection means 112, respectively. An error correction value for each component of the correct error pattern and the basic index k is calculated, and each component of the erasure pattern independent of the basic index k and the basic index k are calculated by the base erasure calculation means 114 and the erasure correction value calculation means 116. The erasure correction value for is calculated. Then, each component of the error pattern obtained by the base error calculation means 113 is multiplied by the error correction value for the basic index k by the error correction value multiplication means 117, whereby each error pattern independent of the basic index k is obtained. The component based on the basic index is combined with the component to obtain the final error pattern. Similarly, the erasure correction value multiplication unit 118 multiplies each component of the erasure pattern obtained by the base erasure calculation means 114 by the erasure correction value multiplication means 118 to obtain an erasure pattern independent of the basic index k. A component based on the basic index is synthesized with each component to obtain a final disappearance pattern.
[0011]
As described above, since the influence of the basic index is separated as the error correction value and the erasure correction value, it is possible to use existing circuits and algorithms for the error pattern calculation means 113 and the erasure pattern calculation means 114.
FIG. 2 is a block diagram showing the principle of a second error correction circuit according to the present invention.
The invention of claim 2 is a generator polynomial of a BCH code expressed using a root α of a prime polynomial, and an exponent part of the root α is generated according to a generator polynomial expressed by the sum of a basic index k and a variable i. Based on the received encoded data, error detecting means 111 for detecting the position of the error included in the received encoded data in an error correction circuit for correcting the error generated in the transmission process to the encoded data. Erasure detection means 112 for detecting the position of the lost code, error polynomial calculation means 121 for calculating the value of the error position polynomial σ related to the erasure position for each detected erasure position, and for each detected error position Error derivative calculating means 122 for calculating the value of the formal derivative σ ′ of the error position polynomial σ relating to the error position, and for each detected error position, the error position Erasure polynomial calculation means 123 for calculating the value of the erasure position polynomial u related thereto, and for each detected erasure position, an erasure derivative calculation means for calculating the value of the formal derivative u ′ of the erasure position polynomial u related to the erasure position. 124, error evaluation means 125 for calculating the value of error evaluation polynomial ω for each detected error position, erasure evaluation means 126 for calculating the value of error evaluation polynomial ω for each detected erasure position, and detection An error correction value calculating means 115 for calculating an error correction value for the basic index k for each error position, and an erasure correction value calculating means 116 for calculating an erasure correction value for the basic index k for each detected erasure position; , Error correction means 127 for obtaining a product of an error evaluation polynomial value corresponding to each detected error position and an error correction value, and corresponding to each detected erasure position Erasure correction means 128 for obtaining the product of the value of the erasure evaluation polynomial and the erasure correction value, and error denominator term calculation means for obtaining the product of the calculation results respectively obtained by the error derivative calculation means 122 and the erasure polynomial calculation means 123. 129, the erasure denominator term calculating means 130 for obtaining the product of the calculation results respectively obtained by the error polynomial calculating means 121 and the erasure derivative calculating means 124, the error denominator term calculating means 129 and the error correcting means 127. An error pattern calculation unit 131 for obtaining an error pattern based on the calculated results, an erasure pattern calculation unit 132 for obtaining an erasure pattern based on the calculation results obtained by the erasure denominator calculation unit 130 and the erasure correction unit 128 It is provided with.
[0012]
According to the second aspect of the present invention, the denominator of the above-described equation (2) executed by the error derivative calculating unit 122, the erasure polynomial calculating unit 123, and the error evaluating unit 125 is obtained for each error position detected by the error detecting unit 111. In parallel with the calculation of each component to be formed and its numerator term, the error correction value calculation means 115 calculates an error correction value related to the basic index. Next, in parallel with the calculation of the denominator term of the equation (2) by the error denominator calculation unit 129, the error correction unit 127 corrects the numerator term of the equation (2) using the error correction value. As described above, the error correction value calculation process and the error correction value application process are executed in parallel with the calculation procedure of each term appearing in Expression (2), thereby calculating the error pattern according to Expression (2). The calculation result necessary for calculating the error pattern can be given to the error pattern calculation means 131 at the same timing as the case. Similarly, for each erasure position detected by the erasure detection means 112, each component forming the denominator term of the above-described equation (3) executed by the erasure derivative calculation means 124, the error polynomial calculation means 121, and the erasure evaluation means 126. In parallel with the calculation of the numerator term, the erasure correction value calculation means 116 calculates the erasure correction value for the basic index. Next, in parallel with the calculation of the denominator term of the equation (3) by the disappearance denominator term calculation means 130, the numerator term of the equation (3) is corrected by the disappearance correction value by the disappearance correction means 128. In this way, the erasure correction value calculation process and the application process of the erasure correction value are executed in parallel with the calculation procedure of each term appearing in Expression (3), thereby calculating the erasure pattern according to Expression (3). At the same timing as the case, the calculation result necessary for calculation of the erasure pattern can be given to the erasure pattern calculation means 132.
[0013]
Note that the error correction circuit according to the present invention can be grasped in the category of the method.
FIG. 3 shows a principle block diagram of an error correction method according to the present invention.
An error correction method according to the present invention is a generator polynomial of a BCH code expressed using a root α of a prime polynomial, and an exponent part of the root α is expressed by the sum of a basic index k and a variable i. In an error correction method for correcting an error that has occurred in the transmission process on the generated encoded data, a detection step for detecting a position of an error included in the received encoded data and a position of a lost code is detected. An error pattern calculation step for obtaining a base error pattern independent of the basic index k based on the error position polynomial derivative, the erasure position polynomial, and the error evaluation polynomial for each error position, For each erasure location, the base exponent is based on the erasure location polynomial derivative, error location polynomial, and error evaluation polynomial for that location. an erasure pattern calculation step for obtaining a base erasure pattern independent of k, a correction value calculation step for calculating an error correction value and an erasure correction value for the basic index k for each detected error position and each erasure position, A correction step of multiplying each error pattern component and each base erasure pattern component by the corresponding error correction value and the corresponding erasure correction value, respectively, and outputting the multiplication results as a final error pattern and a final erasure pattern It is characterized by comprising.
[0014]
The error correction method according to the present invention obtains an error pattern component and an erasure pattern component independent of the basic index based on the detected error position and erasure position, and corresponds to each error position and each erasure position. The error correction value and the erasure correction value for the basic index are calculated. Then, by multiplying each error pattern component and erasure pattern component independent of the basic index by the corresponding error correction value and erasure correction value, the error pattern and erasure pattern independent of the basic index are converted into the basic index. The corresponding components are synthesized to obtain the final error pattern and erasure pattern. In this way, the influence of the basic exponent is separated as an error correction value and erasure correction value, so existing circuits and algorithms can be used to calculate error patterns and erasure patterns independent of the basic exponent. It is.
[0015]
Such an error correction method can naturally be grasped by the concept of a program executed by a computer.
The invention of claim 3 is a generator polynomial of a BCH code expressed using a root α of a prime polynomial, and an exponent part of the root α is generated according to a generator polynomial expressed by the sum of a basic index k and a variable i. An error correction program for causing a computer to execute a process for correcting an error generated in a transmission process on the encoded data, and detecting the position of the error and the lost code included in the received encoded data Error pattern calculation for obtaining a base error pattern independent of the basic index k based on a detection procedure and a derivative of an error position polynomial, an erasure position polynomial, and an error evaluation polynomial for each detected error position For each detected erasure position, the erasure position polynomial derivative, error locator polynomial, and error evaluation polynomial for that erasure position Erasure pattern calculation procedure for obtaining a base erasure pattern independent of the basic index k, and a correction value for calculating an error correction value and an erasure correction value for the basic index k for each detected error position and each erasure position Corresponds to the error correction procedure for calculating the product of the calculation procedure, the error correction value corresponding to each component of the base error pattern, and outputting it as the final error pattern, and the component of the base erasure pattern independent of the basic index k It is characterized by causing a computer to execute a erasure correction procedure for obtaining a product of the erasure correction value to be output and outputting the product as a final erasure pattern.
[0016]
In the invention of claim 3, based on the error position detected by the detection procedure, the error correction value for each component of the error pattern independent of the basic index k and the error correction value for the basic index k is obtained by the error pattern calculation procedure and the correction value calculation procedure. Is calculated. Further, based on the erasure position detected by the detection procedure, the erasure pattern calculation procedure and the correction value calculation procedure calculate each component of the base erasure pattern independent of the basic exponent k and the erasure correction value for the basic exponent k. Then, in the error correction procedure, a component based on the basic index is synthesized with each component of the base error pattern to obtain a final error pattern. Similarly, in the erasure correction procedure, a component based on the basic index is synthesized with each component of the base erasure pattern to obtain a final erasure pattern.
[0017]
Thus, since the influence by the basic index is separated as the error correction value and the erasure correction value, the existing algorithm can be used as it is for the error pattern calculation procedure and the erasure pattern calculation procedure.
Of course, it is also possible to record the above-mentioned program on a storage medium such as a CD-ROM and distribute it.
[0018]
A storage medium on which an error correction program according to the present invention is recorded is a BCH code generating polynomial expressed using a root α of a prime polynomial, and an exponent part of the root α is expressed by a sum of a basic index k and a variable i. Included in the received encoded data in a storage medium in which the encoded data generated according to the generated polynomial is recorded with an error correction program for causing a computer to execute a process for correcting an error that has occurred in the transmission process. Based on the detection procedure for detecting the position of the error and the position of the lost code, and for each detected error position, the basic index k based on the derivative of the error position polynomial for the error position, the erasure position polynomial and the error evaluation polynomial Error pattern calculation procedure to obtain a base error pattern independent of the erasure, and for each detected erasure position, the erasure for that erasure position An erasure pattern calculation procedure for obtaining a base erasure pattern independent of the basic index k based on the derivative of the position polynomial, the error locator polynomial, and the error evaluation polynomial, and for each detected error position and each erasure position, the basic index a correction value calculation procedure for calculating an error correction value and an erasure correction value for k, an error correction procedure for obtaining a product of each error correction value corresponding to each component of the base error pattern, and outputting as a final error pattern; A storage medium that records a program that causes a computer to execute a erasure correction procedure that obtains a product of each component of a base erasure pattern independent of the basic index k and a corresponding erasure correction value and outputs the product as a final erasure pattern .
[0019]
By causing a computer to read a storage medium that records an error correction program according to the present invention, the computer executes the error correction program described above, and calculates a base error pattern, a base erasure pattern, an error correction value, and an erasure correction value. Based on these, a final error pattern and a final erasure pattern are obtained.
[0020]
As described above, since the error pattern calculation procedure and the erasure pattern calculation procedure can be realized by using an existing algorithm, the correction value calculation procedure, the error correction procedure, and the erasure correction procedure are performed using the existing program. In addition, by recording in the storage medium, a storage medium in which the error correction program according to the present invention is recorded can be realized.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
First, the principle of an error correction method and an error correction circuit according to the present invention will be described. Here, ITU-T recommendation I.I. Description will be made on the assumption that the error correction method and the error correction circuit of the present invention are applied to Reed-Solomon (128, 124) defined in 363.1. For this reason, in the following description, the value of the basic index k in Equation (4) is assumed to be a fixed value 120. In the derivation process of the formula described below, “Introduction to Advanced Technology, Error Correction Codes and Their Applications,” by Yoshizumi Eto and Toshinobu Kaneko, was referenced.
[0022]
Equation (5) shows the results of four syndrome calculations when a double error occurs.
[Equation 3]
Figure 0003889988
When this equation (5) is expressed by a syndrome polynomial, the following equation (6) is obtained.
S (X) = S0+ S1X + S2X2+ SThreeXThree    ... (6)
Here, it is generally known that the infinite series expansion shown in Equation (7) holds.
[0023]
[Expression 4]
Figure 0003889988
In equation (7), the variable tiSubstituting X and e on both sides of Equation (7)iα120iMultiplyiTh error eiEquation (8) is obtained.
[Equation 5]
Figure 0003889988
Similarly, αjTh error ejEquation (9) is obtained.
[0024]
[Formula 6]
Figure 0003889988
Comparing Equation (5) with Equation (8) and Equation (9), the syndrome polynomial S (X) is an expansion equation obtained by adding the right side of Equation (8) and the right side of Equation (9). It can be seen that this is equivalent to a truncated fourth-order term. Therefore, the syndrome polynomial S (X) can be expressed by using the sum of the left sides of the equations (8) and (9) as in the equation (10).
[0025]
[Expression 7]
Figure 0003889988
By multiplying both sides of this formula (10) by each side of formula (11), which is the defining formula of error locator polynomial σ (X), formula (12) can be derived.
σ (X) = (1-αiX) (1-αjX) (11)
σ (X) S (X) = eiα120i(1-αjX) + ejα120j(1-αiX) ・ ・ (12)
Here, the term less than the fourth order in the equation (12) matches the term less than the fourth order of the error evaluation polynomial ω (X) shown in the equation (13).
[0026]
[Equation 8]
Figure 0003889988
Therefore, the error evaluation polynomial ω (X) can be expressed as in Expression (14) by expressing a higher-order term of the fourth order or higher using an appropriate function Φ (X).
ω (X) = Φ (X) XFour+ Σ (X) S (X) (14)
Further, by rewriting this equation (14) using the series expansion shown in equations (8) and (9) and paying attention to the terms lower than the fourth order, the error evaluation polynomial ω (X) can be expressed as 15).
[0027]
ω (X) = eiα120i(1-αjX) + ejα120j(1-αiX) (15)
By the way, if the right side of the above equation (11) is expanded, it can be seen that the formal derivative σ ′ (X) of the error locator polynomial is expressed as in equation (16).
σ ′ (X) = − (αi+ Αj... (16)
If the relationship expressed by this equation (16) is used, as shown in equation (17), α−iError evaluation polynomial ω (α-i), Α-iDerivative σ '(α-i).
[0028]
Figure 0003889988
Therefore, the error pattern eiCan be expressed as in equation (18).
[Equation 9]
Figure 0003889988
Further, based on this equation (18), the error pattern Y in the case where erasures and errors are mixediAnd disappearance pattern ViCan be expressed as Equation (19) and Equation (20).
[0029]
[Expression 10]
Figure 0003889988
If the expressions (19) and (20) are compared with the above expressions (2) and (3), the influence of the basic exponent in the generator polynomial is the error pattern Y.iAnd disappearance pattern ViIt can be seen that this appears as a difference in the denominator term.
This difference is the power of the root α of the prime polynomial (α119i), And this value is naturally an error evaluation polynomial ω (α−i) And error polynomial σ (α-i) Can be calculated independently of the value. Therefore, the influence of the basic exponent can be separated as a correction value that can be calculated independently of each term necessary for calculating the error pattern and the erasure pattern corresponding to the generator polynomial not including the basic exponent.
[0030]
That is, by adding a circuit for calculating the correction value and a circuit for correcting the error pattern and the erasure pattern by the correction value to the error correction circuit disclosed in Japanese Patent Laid-Open No. Hei 6-97026, Equation (4) It is possible to realize an error correction circuit for obtaining an error pattern and an erasure pattern corresponding to a generator polynomial expressed using a basic index as shown in FIG.
[0031]
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 4 shows an embodiment of an error correction circuit according to the present invention.
Among the components shown in FIG. 4, the same components as those shown in FIG. 6 are designated by the same reference numerals as those shown in FIG. Omitted.
[0032]
The error correction circuit shown in FIG. 4 is configured by adding an error correction value calculation unit 211, an erasure correction value calculation unit 212, and two multipliers 213 and 214 to the data erasure correction circuit shown in FIG. ing.
In this error correction circuit, the error correction value calculation unit 211 includes an error position α detected by the error position detection unit 411.-iError correction value δ shown in equation (21)yIs calculated.
[0033]
δ = α-119i        ... (21)
The error correction value δ thus obtainedyIs the error position α calculated by the error evaluation value calculation unit 413.-iError evaluation value ω (α-i) And a multiplication process by the multiplier 213. Then, the multiplication result by the multiplier 213 is input to the multiplier 416.
[0034]
Similarly, in this error correction circuit, the erasure correction value calculation unit 212 includes the erasure position α detected by the error position detection unit 411.-iAs with the error correction value described above, the erasure correction value δ represented by the equation (21)vIs calculated. The erasure correction value δ obtained in this wayvIs the erasure position α calculated by the erasure evaluation value calculation unit 415.-iDisappearance evaluation value ω (α-i) And the multiplication process by the multiplier 214. Then, the multiplication result by the multiplier 214 is input to the multiplier 417.
[0035]
Below, the correspondence between each means shown in FIG. 2 and FIG. 3 and each part shown in FIG. 4 is shown.
The error position detector 411 shown in FIG. 4 corresponds to the error detector 111 and the erasure detector 112 shown in FIGS. Further, the error correction value calculation unit 211 and the erasure correction value calculation unit 212 illustrated in FIG. 4 correspond to the error correction value calculation unit 115 and the erasure correction value calculation unit 116 illustrated in FIGS. 2 and 3, respectively. On the other hand, the error denominator calculation unit 412, the error evaluation value calculation unit 413, the erasure denominator calculation unit 414, the erasure evaluation value calculation unit 415, the multipliers 416 and 417, the selector 428, and the ROM 427 illustrated in FIG. 4 are illustrated in FIG. This corresponds to the base error calculation means 113 and the base erasure calculation means 114. Further, the multiplier 213 shown in FIG. 4 corresponds to the error correction value multiplication unit 117 shown in FIG. 2 or the error correction unit 127 shown in FIG. Similarly, the multiplier 214 shown in FIG. 4 corresponds to the erasure correction value multiplication means 118 shown in FIG. 2 or the erasure correction means 128 shown in FIG. Furthermore, the error evaluation value calculation unit 413 and the erasure evaluation value calculation unit 415 illustrated in FIG. 4 correspond to the error evaluation unit 125 and the erasure evaluation unit 126 illustrated in FIG. 4 corresponds to the erasure polynomial calculation means 123, the error derivative calculation means 122, and the error denominator term calculation means 129 shown in FIG. Similarly, the erasure denominator calculation unit 412 shown in FIG. 4 corresponds to the error polynomial calculation means 121, the erasure derivative calculation means 124, and the erasure denominator term calculation means 130 shown in FIG.
[0036]
In the error correction circuit shown in FIG. 4, the evaluation results ω by the error evaluation value calculation unit 413 and the erasure evaluation value calculation unit 415y, ΩyError correction value δyAnd disappearance correction value δvMultiply Thereafter, these multiplication results are multiplied by the inverse element values read from the ROM 427 according to the values calculated by the error denominator calculation unit 412 and the erasure denominator calculation unit 414.
[0037]
That is, in the error correction circuit shown in FIG. 4, the error pattern Y according to the equations (22) and (23) equivalent to the equations (19) and (20) described above.iAnd disappearance pattern ViIs calculated.
## EQU11 ##
Figure 0003889988
Therefore, the error pattern represented by Equation (19) and the erasure pattern represented by Equation (20) are calculated using the conventional erasure data correction circuit shown in FIG.
[0038]
Next, the error correction value δyAnd disappearance correction value δvA method for calculating the value will be described.
FIG. 5 shows a detailed configuration diagram of the error correction value calculation unit.
The error correction value calculation unit 211 illustrated in FIG. 5 includes an arithmetic circuit 221 and an arithmetic circuit 222. These arithmetic circuits 221 and 222 perform two chain search processes executed in parallel in the error position detecting unit 411, that is, a chain search <1> from the code position 127 to the code position 64 and the code position 63 to the code position. Corresponds to chain search <2> up to zero.
[0039]
The arithmetic circuits 221 and 222 shown in FIG. 5 each include a selector 223, a multiplier 224, and a flip-flop 225. In these arithmetic circuits 221, 222, the selector 223 receives the initial value D corresponding to the chain search start signal.1And initial value D2Is selected and input to the multiplier 224. Thereafter, the output of the flip-flop 225 is selected and input to the multiplier 224. The multiplier 224 adds the fixed value α to the value input from the selector 223.119And the obtained multiplication result is input to the flip-flop 225.
[0040]
The initial value D1And initial value D2May be calculated in advance based on, for example, Expression (24) and Expression (25).
D1= Α119 * (255-128) mod255= Α68  ... (24)
D2= Α119 * (255-64) mod255= Α34    ... (25)
Such an initial value D1And initial value D2In addition, the multiplier 224 synchronizes with the chain search to fix the fixed value α119By repeating the operation of multiplying the error position α-iAre detected as outputs of the arithmetic circuits 221 and 222, respectively.
[0041]
The latches 226 and 227 shown in FIG. 5 have the arithmetic circuit 221 and the arithmetic circuit according to the error position detection signals <1> and <2> detected by the two chain searches <1> and <2>, respectively. The output of 222 is held and output to the subsequent circuit.
Further, as trigger signals of the latches 226 and 227 shown in FIG. 5, the erasure position α detected by the two chain searches <1> and <2> described above.-iBy inputting erasure position detection signals <1> and <2> indicating the detection timing of erasure, the erasure correction value calculation unit 212 can be configured in the same manner.
[0042]
From the configuration of the error correction value calculation unit 211 and the erasure correction value calculation unit 212 shown in FIG.i) And disappearance correction value δ (α-i) Can be calculated in synchronization with the chain search in the same way as the values calculated in synchronization with the chain search in FIG.
Further, by adopting the equations (22) and (23), the processing delay required for calculating the numerator term and the denominator term is equalized. That is, in the erasure correction circuit shown in FIG. 6, the multiplication processing by the multiplier 423 and the multiplier 426 and the error evaluation value ωyAnd disappearance evaluation value ωvAnd error correction value δyAnd disappearance correction value δvAnd the process of calculating the product of each can be executed in substantially the same processing time.
[0043]
Therefore, the error pattern and the erasure pattern expressed by the equations (19) and (20) are processed with the processing time equivalent to the time required for calculating the error pattern and the erasure pattern expressed by the equations (2) and (3). Can be sought.
Similar to the derivation process of Equations (19) and (20), the error pattern and erasure pattern are calculated using Equations (2) and (3) for the generator polynomial expressed using the basic index k. An expression can be derived. Therefore, the error correction method and the error correction circuit according to the present invention are applied to any code that can be applied with the Euclidean algorithm in the decoding process regardless of the value of the basic exponent k appearing in the generator polynomial. Is possible.
[0044]
Of course, each part shown in Drawing 4 and Drawing 5 is realizable by software. Therefore, if an error correction program that causes a computer to execute each of these procedures is realized, and the error correction program is read and executed by a computer, the calculations of equations (22) and (23) are realized using software. be able to. Furthermore, if this error correction program is recorded on a storage medium such as a CD-ROM, the distribution of this error correction program can be simplified.
[0045]
Regarding the above description, the following items are further disclosed.
(Supplementary Note 1) A BCH code generating polynomial expressed using a root α of a prime polynomial, wherein the exponent part of the root α is generated according to a generating polynomial expressed by the sum of a basic index k and a variable i In the error correction method for correcting the error that occurred in the transmission process in the encoded data, the error detection step for detecting the position of the error included in the received encoded data and the lost data based on the received encoded data An erasure detection step for detecting the position of the code, and for each detected error position, an error independent of the basic index k based on the derivative of the error position polynomial, the erasure position polynomial and the error evaluation polynomial for the error position Error pattern calculation step for obtaining each component of the pattern, and for each detected erasure position, the erasure position polynomial derivative and error for that erasure position An erasure pattern calculation step for obtaining a component of the erasure pattern independent of the basic exponent k based on the position polynomial and the error evaluation polynomial, and an error correction value for the basic exponent k for each detected error position and each erasure position And a correction value calculating step for calculating each of the erasure correction values, a corresponding error correction value and a corresponding erasure for each component of the error pattern independent of the basic index k and each of the components of the erasure pattern independent of the basic index k. An error correction method comprising: a correction step of multiplying correction values and outputting the multiplication results as final error patterns and final erasure patterns.
[0046]
(Additional remark 2) The code | symbol produced | generated according to the generator polynomial of the BCH code | symbol represented using the root | alpha of a prime polynomial, and the exponent part of the said root | alpha being represented with the sum of the basic exponent k and the variable i In the error correction circuit for correcting the error generated in the transmission process in the encoded data, the error detection means for detecting the position of the error included in the received encoded data and the lost data based on the received encoded data An erasure detection means for detecting the position of the code and, for each detected error position, an error independent of the basic index k, based on the derivative of the error position polynomial related to the error position, the erasure position polynomial, and the error evaluation polynomial A basis error calculating means for obtaining each component of the pattern, and for each detected erasure position, a derivative of the erasure position polynomial with respect to the erasure position, an error position polynomial, and A base erasure calculation means for obtaining a component of an erasure pattern independent of the basic exponent k based on the evaluation polynomial, and an error correction value calculation for calculating an error correction value for the basic exponent k for each detected error position A product of an error correction value corresponding to each component of the error pattern independent of the basic index k, and an erasure correction value calculating means for calculating the erasure correction value for the basic index k for each detected erasure position. The product of the error correction value multiplication means for obtaining the multiplication result as a final error pattern, and the erasure correction value corresponding to each of the components of the erasure pattern independent of the basic index k, is obtained as the final erasure pattern. An error correction circuit comprising: an erasure correction value multiplication means for outputting.
[0047]
(Supplementary Note 3) A BCH code generator polynomial expressed using a root α of a prime polynomial, wherein the exponent of the root α is generated according to a generator polynomial expressed by the sum of a basic index k and a variable i In the error correction circuit for correcting the error generated in the transmission process in the encoded data, the error detection means for detecting the position of the error included in the received encoded data and the lost data based on the received encoded data An erasure detection means for detecting the position of the code, an error polynomial calculation means for calculating the value of the error position polynomial σ for the detected erasure position for each detected erasure position, and an error position for each detected error position Error derivative calculating means for calculating the value of the formal derivative σ ′ of the error position polynomial σ, and for each detected error position, the value of the erasure position polynomial u related to the error position An erasure polynomial calculation means for calculating, an erasure derivative calculation means for calculating a value of a formal derivative u ′ of the erasure position polynomial u with respect to each detected erasure position, and each detected error position , An error evaluation means for calculating the value of the error evaluation polynomial ω, an erasure evaluation means for calculating the value of the error evaluation polynomial ω for each detected erasure position, and an error relating to the basic index k for each detected error position An error correction value calculating means for calculating a correction value; an erasure correction value calculating means for calculating an erasure correction value for the basic index k for each detected erasure position; and an error evaluation polynomial corresponding to each detected error position. An error correction means for obtaining a product of the value and the error correction value, an erasure correction means for obtaining a product of the value of the erasure evaluation polynomial corresponding to each detected erasure position and the erasure correction value; An error denominator calculating means for obtaining a product of calculation results obtained by the number calculating means and an erasure polynomial calculating means, and an erasure for obtaining a product of calculation results respectively obtained by the error polynomial calculating means and the erasure derivative calculating means. Based on the calculation results obtained by the denominator calculating means, the error denominator calculating means and the error correcting means, the error pattern calculating means for obtaining an error pattern, the erasure denominator calculating means and the erasure correcting means An error correction circuit comprising: an erasure pattern calculation means for obtaining an erasure pattern based on a calculation result.
[0048]
(Additional remark 4) The code | symbol produced | generated according to the generator polynomial of the BCH code | symbol represented using the root alpha of a prime polynomial, and the exponent part of the said root alpha being represented by the sum of the basic exponent k and the variable i Error detection procedure for detecting the position of an error included in received encoded data in an error correction program for causing a computer to execute a process for correcting an error that has occurred in the transmission process of the encoded data, and the received code Based on the erasure data, the erasure detection procedure for detecting the position of the lost code, and for each detected error position, based on the derivative of the error locator polynomial related to the error position, the erasure position polynomial and the error evaluation polynomial, An error pattern calculation procedure for obtaining each error pattern component independent of the basic index k, and for each detected erasure position, Based on the derivative of the erasure position polynomial, the error locator polynomial, and the error evaluation polynomial, the erasure pattern calculation procedure for obtaining each component of the erasure pattern independent of the basic index k, and for each detected error position, the basic index k An error correction value calculating procedure for calculating an error correction value for the detected data, an erasure correction value calculating procedure for calculating an erasure correction value for the basic index k for each detected erasure position, and an error pattern component independent of the basic index k Find the product of each and the corresponding error correction value, calculate the product of the error correction procedure to be output as the final error pattern, and the erasure correction value corresponding to each component of the erasure pattern independent of the basic index k, A program that causes a computer to execute an erasure correction procedure that is output as a final erasure pattern.
[0049]
(Additional remark 5) The code | symbol produced | generated according to the generator polynomial of the BCH code | symbol represented using the root | alpha of a prime polynomial, Comprising: The exponent part of the said root | alpha is represented by the sum of the basic exponent k and the variable i. Detection procedure for detecting the position of an error contained in received encoded data in a storage medium in which an error correction program for causing a computer to execute an error correction process in the transmission process is recorded on the encoded data And an erasure detection procedure for detecting the position of the lost code based on the received encoded data, and for each detected error position, a derivative of an error position polynomial relating to the error position, an erasure position polynomial, and an error evaluation polynomial And an error pattern calculation procedure for obtaining each error pattern component independent of the basic index k, and for each detected erasure position, Erasure pattern calculation procedure for obtaining each erasure pattern component independent of the basic index k based on the erasure position polynomial derivative, error position polynomial, and error evaluation polynomial for the erasure position, and for each detected error position The error correction value calculation procedure for calculating the error correction value for the basic index k, the erasure correction value calculation procedure for calculating the erasure correction value for the basic index k for each detected erasure position, and the basic index k are independent. An error correction procedure for obtaining a product of each error pattern component and the corresponding error correction value and outputting as a final error pattern, and an erasure correction value corresponding to each erasure pattern component independent of the basic index k A storage medium that records a program that causes a computer to execute an erasure correction procedure for obtaining a product and outputting it as a final erasure pattern.
[0050]
【The invention's effect】
As described above, the error correction method and the error correction circuit according to the present invention are based on a generator polynomial of a form that does not include a basic exponent. By using an algorithm and hardware of an existing data erasure correction circuit by obtaining according to an expression represented by the product of the derived error pattern and erasure pattern and an appropriate correction value, for example, recommendation I.D. A decoding apparatus that decodes data encoded using the error correction technique defined in 363.1 can be realized. Thereby, it is possible to greatly reduce the cost required for the development of the decoding device.
[0051]
In particular, as described in claim 2, the process of multiplying the error evaluation value and the erasure evaluation value by the corresponding correction value and the process of calculating the denominator terms of equations (2) and (3) are performed in parallel. The processing delay for obtaining the dividend and the processing delay for obtaining the divisor can be made substantially equal. Therefore, according to the error correction method and the error correction circuit of the present invention, it fits the generator polynomial including the basic exponent in the processing time equivalent to the time required for the process of obtaining the error pattern and the erasure pattern by the conventional data erasure correction circuit. An error pattern and an erasure pattern can be obtained.
[0052]
Of course, when the error correction program according to the present invention is executed by a computer, an effect equivalent to that of the error correction circuit described above can be obtained. In addition, by causing a computer to read a storage medium that records an error correction program according to the present invention, the computer can execute the error correction program according to the present invention, and the same effects as those of the error correction circuit described above can be obtained.
[Brief description of the drawings]
FIG. 1 is a block diagram showing the principle of a first error correction circuit according to the present invention.
FIG. 2 is a principle block diagram of a second error correction circuit according to the present invention.
FIG. 3 is a diagram showing the principle of the error correction method of the present invention.
FIG. 4 is a diagram showing an embodiment of an error correction circuit according to the present invention.
FIG. 5 is a detailed configuration diagram of an error correction value calculation unit.
FIG. 6 is a diagram showing a schematic configuration of a conventional data loss correction circuit.
[Explanation of symbols]
111 Error detection means
112 Disappearance detection means
113 Basis error calculation means
114 Basal disappearance calculation means
115 Error correction value calculation means
116 Disappearance correction value calculation means
117 Error correction value multiplication means
118 Erasure correction value multiplication means
121 Error polynomial calculation means
122 Error derivative calculation means
123 Elimination polynomial calculation means
124 Vanishing derivative calculation means
125 Error evaluation means
126 Disappearance evaluation means
127 Error correction means
128 Disappearance correction means
129 Error denominator term calculation means
130 Disappearing denominator term calculation means
131 Error pattern calculation means
132 Disappearance pattern calculation means
211 Error correction value calculation unit
212 Disappearance correction value calculation unit
213, 214, 224, 416, 417, 423, 426 multiplier
221 and 222 arithmetic circuit
223, 428 selector
225 flip-flop
226 latch
411 Error position detector
412 Error denominator calculator
413 Error evaluation value calculation unit
414 Vanishing denominator calculation unit
415 Disappearance evaluation value calculation unit
421 Differential value calculation unit
422 Elimination polynomial calculator
425 Error polynomial calculator
427 ROM

Claims (3)

素多項式の根αを用いて表されるBCH符号の生成多項式であって前記根αの指数部が基本指数kと変数iとの和で表される生成多項式に従って生成された符号化データに、伝送過程において発生したエラーを訂正するエラー訂正回路において、
受信した符号化データに含まれている誤りの位置を検出する誤り検出手段と、
受信した符号化データに基づいて、消失した符号の位置を検出する消失検出手段と、
検出された各誤り位置について、その誤り位置に関する誤り位置多項式の導関数、消失位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な誤りパターンの成分をそれぞれ求める基底誤り計算手段と、
検出された各消失位置について、その消失位置に関する消失位置多項式の導関数、誤り位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な消失パターンの成分をそれぞれ求める基底消失計算手段と、
検出された各誤り位置について、基本指数kに関する誤り補正値を計算する誤り補正値算出手段と、
検出された各消失位置について、基本指数kに関する消失補正値を計算する消失補正値算出手段と、
基本指数kとは独立な誤りパターンの成分それぞれと対応する誤り補正値との積を求め、乗算結果を最終的な誤りパターンとして出力する誤り補正値乗算手段と、
基本指数kとは独立な消失パターンの成分それぞれと対応する消失補正値との積を求め、最終的な消失パターンとして出力する消失補正値乗算手段と
を備えたことを特徴とするエラー訂正回路。
A BCH code generating polynomial expressed using a root α of a prime polynomial, wherein the exponent data of the root α is generated according to a generating polynomial expressed by the sum of a basic index k and a variable i, In an error correction circuit that corrects errors that occur in the transmission process,
Error detection means for detecting the position of an error included in the received encoded data;
Erasure detection means for detecting the position of the lost code based on the received encoded data;
A base error calculation means for obtaining each error position component independent of the basic index k based on the error position polynomial derivative, the erasure position polynomial, and the error evaluation polynomial for each detected error position; ,
A basis erasure calculation means for obtaining a component of an erasure pattern independent of the basic index k based on a derivative of an erasure position polynomial relating to the erasure position, an error position polynomial, and an error evaluation polynomial for each detected erasure position; ,
For each detected error position, an error correction value calculating means for calculating an error correction value for the basic index k;
For each detected erasure position, an erasure correction value calculation means for calculating an erasure correction value for the basic index k;
An error correction value multiplication means for obtaining a product of each error pattern component independent of the basic index k and the corresponding error correction value, and outputting the multiplication result as a final error pattern;
An error correction circuit comprising: an erasure correction value multiplication unit that obtains a product of each erasure pattern component independent of the basic index k and a corresponding erasure correction value and outputs the product as a final erasure pattern.
素多項式の根αを用いて表されるBCH符号の生成多項式であって前記根αの指数部が基本指数kと変数iとの和で表される生成多項式に従って生成された符号化データに、伝送過程において発生したエラーを訂正するエラー訂正回路において、
受信した符号化データに含まれている誤りの位置を検出する誤り検出手段と、
受信した符号化データに基づいて、消失した符号の位置を検出する消失検出手段と、
検出された各消失位置について、その消失位置に関する誤り位置多項式σの値を計算する誤り多項式計算手段と、
検出された各誤り位置について、その誤り位置に関する誤り位置多項式σの形式的導関数σ'の値を計算する誤り導関数計算手段と、
検出された各誤り位置について、その誤り位置に関する消失位置多項式uの値を計算する消失多項式計算手段と、
検出された各消失位置について、その消失位置に関する消失位置多項式uの形式的導関数u'の値を計算する消失導関数計算手段と、
検出された各誤り位置について、誤り評価多項式ωの値を計算する誤り評価手段と、
検出された各消失位置について、誤り評価多項式ωの値を計算する消失評価手段と、
検出された各誤り位置について、基本指数kに関する誤り補正値を計算する誤り補正値算出手段と、
検出された各消失位置について、基本指数kに関する消失補正値を計算する消失補正値算出手段と、
検出された各誤り位置に対応する誤り評価多項式の値と誤り補正値との積を求める誤り補正手段と、
検出された各消失位置に対応する消失評価多項式の値と消失補正値との積を求める消失補正手段と、
誤り導関数計算手段と消失多項式計算手段とによってそれぞれ得られた計算結果の積を求める誤り分母項算出手段と、
誤り多項式計算手段と消失導関数計算手段とによってそれぞれ得られた計算結果の積を求める消失分母項算出手段と、
誤り分母項算出手段と誤り補正手段とによって得られた計算結果に基づいて、誤りパターンを求める誤りパターン算出手段と、
消失分母項算出手段と消失補正手段とによって得られた計算結果に基づいて、消失パターンを求める消失パターン算出手段と
を備えたことを特徴とするエラー訂正回路。
A BCH code generating polynomial expressed using a root α of a prime polynomial, wherein the exponent data of the root α is generated according to a generating polynomial expressed by the sum of a basic index k and a variable i, In an error correction circuit that corrects errors that occur in the transmission process,
Error detection means for detecting the position of an error included in the received encoded data;
Erasure detection means for detecting the position of the lost code based on the received encoded data;
For each detected erasure position, an error polynomial calculation means for calculating the value of the error position polynomial σ related to the erasure position;
For each detected error position, an error derivative calculation means for calculating the value of the formal derivative σ ′ of the error position polynomial σ relating to the error position;
For each detected error position, an erasure polynomial calculation means for calculating a value of the erasure position polynomial u related to the error position;
For each detected erasure position, an erasure derivative calculating means for calculating the value of the formal derivative u ′ of the erasure position polynomial u with respect to the erasure position;
For each detected error position, error evaluation means for calculating the value of the error evaluation polynomial ω,
For each detected erasure position, erasure evaluation means for calculating the value of the error evaluation polynomial ω,
For each detected error position, an error correction value calculating means for calculating an error correction value for the basic index k;
For each detected erasure position, an erasure correction value calculation means for calculating an erasure correction value for the basic index k;
Error correction means for calculating a product of an error correction polynomial value corresponding to each detected error position and an error correction value;
Erasure correction means for obtaining a product of the value of the erasure evaluation polynomial corresponding to each detected erasure position and the erasure correction value;
An error denominator term calculating means for obtaining a product of calculation results respectively obtained by the error derivative calculating means and the erasure polynomial calculating means;
An erasure denominator term calculating means for obtaining a product of calculation results respectively obtained by the error polynomial calculating means and the erasure derivative calculating means;
An error pattern calculating means for obtaining an error pattern based on the calculation results obtained by the error denominator calculating means and the error correcting means;
An error correction circuit comprising: an erasure pattern calculation means for obtaining an erasure pattern based on a calculation result obtained by an erasure denominator term calculation means and an erasure correction means.
素多項式の根αを用いて表されるBCH符号の生成多項式であって前記根αの指数部が基本指数kと変数iとの和で表される生成多項式に従って生成された符号化データに、伝送過程において発生したエラーを訂正する処理をコンピュータに実行させるためのエラー訂正プログラムにおいて、
受信した符号化データに含まれている誤りの位置を検出する誤り検出手順と、
受信した符号化データに基づいて、消失した符号の位置を検出する消失検出手順と、
検出された各誤り位置について、その誤り位置に関する誤り位置多項式の導関数、消失位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な誤りパターンの成分をそれぞれ求める誤りパターン計算手順と、
検出された各消失位置について、その消失位置に関する消失位置多項式の導関数、誤り位置多項式および誤り評価多項式とに基づいて、基本指数kとは独立な消失パターンの成分をそれぞれ求める消失パターン計算手順と、
検出された各誤り位置について、基本指数kに関する誤り補正値を計算する誤り補正値算出手順と、
検出された各消失位置について、基本指数kに関する消失補正値を計算する消失補正値算出手順と、
基本指数kとは独立な誤りパターンの成分それぞれと対応する誤り補正値との積を求め、最終的な誤りパターンとして出力する誤り補正手順と、
基本指数kとは独立な消失パターンの成分それぞれと対応する消失補正値との積を求め、最終的な消失パターンとして出力する消失補正手順と
をコンピュータに実行させることを特徴とするプログラム。
A BCH code generating polynomial expressed using a root α of a prime polynomial, wherein the exponent data of the root α is generated according to a generating polynomial expressed by the sum of a basic index k and a variable i, In an error correction program for causing a computer to execute a process of correcting an error that has occurred in the transmission process,
An error detection procedure for detecting the position of an error included in the received encoded data;
An erasure detection procedure for detecting the position of the lost code based on the received encoded data;
For each detected error position, an error pattern calculation procedure for obtaining an error pattern component independent of the basic index k based on a derivative of the error position polynomial relating to the error position, an erasure position polynomial, and an error evaluation polynomial; ,
An erasure pattern calculation procedure for obtaining each erasure pattern component independent of the basic index k based on the erasure position polynomial derivative, error position polynomial, and error evaluation polynomial for each detected erasure position, ,
For each detected error position, an error correction value calculation procedure for calculating an error correction value for the basic index k;
For each detected erasure position, an erasure correction value calculation procedure for calculating an erasure correction value for the basic index k,
An error correction procedure for obtaining a product of each error pattern component independent of the basic index k and the corresponding error correction value and outputting as a final error pattern;
A program for causing a computer to execute a erasure correction procedure for obtaining a product of each erasure pattern component independent of the basic index k and a corresponding erasure correction value and outputting the product as a final erasure pattern.
JP2002119461A 2002-04-22 2002-04-22 Error correction circuit and error correction program Expired - Fee Related JP3889988B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002119461A JP3889988B2 (en) 2002-04-22 2002-04-22 Error correction circuit and error correction program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002119461A JP3889988B2 (en) 2002-04-22 2002-04-22 Error correction circuit and error correction program

Publications (2)

Publication Number Publication Date
JP2003318742A JP2003318742A (en) 2003-11-07
JP3889988B2 true JP3889988B2 (en) 2007-03-07

Family

ID=29536014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002119461A Expired - Fee Related JP3889988B2 (en) 2002-04-22 2002-04-22 Error correction circuit and error correction program

Country Status (1)

Country Link
JP (1) JP3889988B2 (en)

Also Published As

Publication number Publication date
JP2003318742A (en) 2003-11-07

Similar Documents

Publication Publication Date Title
US6374383B1 (en) Determining error locations using error correction codes
US6684364B2 (en) Forward error corrector
US5694330A (en) Error correction method including erasure correction, and apparatus therefor
US5535140A (en) Polynominal-set deriving apparatus and method
JP3830527B2 (en) Improved system for correcting 3 and 4 errors
JP3255386B2 (en) Error correction code decoder
KR20040081366A (en) Method and device for decoding reed-solomon code or extended reed-solomon code
JP3343857B2 (en) Decoding device, arithmetic device, and methods thereof
JP3889988B2 (en) Error correction circuit and error correction program
CN116015315A (en) Decoding method, device, equipment and medium of error correction code
Lin et al. A fast algorithm for the syndrome calculation in algebraic decoding of Reed–Solomon codes
JP3614978B2 (en) Galois field division method and division apparatus
JPH06314978A (en) Chain search circuit
JP3233502B2 (en) Decryption device
JPH1032497A (en) Error evaluation polynomial coefficient computing device
US10623018B2 (en) Method of arrangement of an algorithm in cyclic redundancy check
JP2940386B2 (en) Error correction decoding device
JP2797570B2 (en) Euclidean circuit
KR100335482B1 (en) Error correcting system
Muir A Simple Left-to-Right Algorithm for Minimal Weight Signed Radix-$ r $ Representations
JP2008112522A (en) Device and method for detecting error
Li et al. A Fast Algorithm for Finding the Roots of Polynomials over Finite Fields
JPH1065553A (en) Polynomial evaluator for reed-solomon decoder
JP2752510B2 (en) Error correction decoder
KR100246342B1 (en) Reed solomon error correction apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050310

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061201

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees