実施の形態1.
図1は、実施の形態1に係る誤り訂正装置の構成を示すブロック図である。
図1において、デジタル復号回路1は、外部から受信したデジタル変調信号からキャリア、クロック等を再生し、前記デジタル変調信号を復調してベースバンド信号に変換する。そして、前記ベースバンド信号に対して伝送路歪み補正等を行なうことで、前記デジタル変調信号を復号して復号出力をビタビ復号回路2に出力する。
デジタル復号回路1に入力される信号としては、例えば、VSB(残留側波帯)変調信号やOFDM(直交周波数分割多重)信号等のデジタル変調信号が考えられ、デジタル復号回路1では、この変調信号からデータが再生される。
ここで、本実施の形態における誤り訂正装置において用いられる信号について説明する。図2(a)は、デジタル放送やデジタルVTR等に対応するデータの誤り訂正を行なう当該誤り訂正装置が、受信あるいは再生するデータの配列を示す図である(以下、受信する場合を代表例として記載する。)。また、図2(b)は、図2(a)に示すようなデータ配列を有する受信信号を内符号パリティによって誤り訂正された後のデータ配列を示す図である。
前記受信信号においては図2(a)のように、データが2次元に配列され、前記データの垂直方向と水平方向にパリティが付加された積符号が用いられている。図2(a)の積符号は、送信あるいは記録するデータを符号化する場合に、まず、図2(b)に示すように、データの垂直方向について外符号パリティを付加し、次いで、データ及び外符号パリティの水平方向に内符号パリティを付加することで得られる。
この積符号のデータを受信した場合には、まず、図2(a)の積符号に対して、水平方向の内符号のパリティを用いて誤り訂正が行なわれる。
通常のリードソロモン符号等の訂正能力は付加するパリティの半分であるが、誤りデータの位置が特定されれば、誤り位置多項式の次数を拡大することにより、前記付加されたパリティの最大数と同数の誤りデータを訂正することができる。
ビタビ復号回路2は、デジタル復号回路1の復号出力から、さらに、送信側で内符号(トレリス符号)化により畳み込まれたデータをビタビ復号して受信データ系列を再生し、デインターリーブ回路3に出力する。
ビタビ復号回路2には、例えば、8値のデジタル変調としてトレリス符号化変調によって変調されたデータが入力される。ビタビ復号回路2は、符号の自由距離の半分までの誤りはハミング距離による硬判定を用いても誤り訂正することができ、さらにユークリッド距離による軟判定を用いれば自由距離に近い値まで誤りを訂正することができる。従って、トレリス符号化変調は、一種の誤り訂正の内符号を付加できる変調である。
しかし、ビタビ復号回路2では、受信信号のデータ系列(以下、受信データ系列ともいう。)にバーストエラーが含まれていた場合、その特性上、当該データ系列を正しく再生することができない。また、伝送路の状態によっては、さらに長いバーストエラーを含んだデータ系列を再生してしまうことがある。
デインターリーブ回路3は、図1に示すように、遅延時間が異なる複数の遅延メモリと、この遅延メモリを順次切り替える手段を有し、ビタビ復号回路2で再生された受信データ系列に対して、各遅延メモリで送信側と反対の遅延時間を与えて、送信装置においてインターリーブが行なわれる前の送信データと同様の並び順のデータ系列(データパケット)を再現し、リードソロモン復号回路4に出力する。
なお、前記複数の遅延メモリの遅延時間、すなわち図1中のmおよびnは、リードソロモン復号回路4におけるデータパケット長を基準に決定される。なお、mおよびnは任意に決定することができる。たとえば、リードソロモン符号においては、1つのTS(Transuport Stream)のデータパケット長が12×17(204)であることから、n=11とし、また、mを17の整数倍(17、34、51、・・・)に設定することで、当該インタリーブ回路の中に蓄積されるデータ量が前記1つのTSにおけるデータ量の整数倍とすることができる。なお、日本における地上デジタル放送においては、n=11、m=17である。
図3は、デインターリーブ回路3に入出力されるデータパケットの一例を示す図である。
図3に示すように、デインタリーブ回路3は、入力されるデータパケットに含まれるデータを順次各遅延メモリから出力することでデインターリーブを行い、前記送信データに含まれるデータパケットに対応するデータ配列を再生して出力パケットを出力する。しかし、デインタリーブ回路3にバーストエラーが含まれているデータパケットが入力された場合、当該デインターリーブ回路3から出力される出力パケットは、図3における出力パケット1〜9のように、デインタリーブされた複数の出力パケットにわたって誤りデータが規則的に散らばった状態になる。
このような、誤りデータが規則的に散らばった状態とは、時間的に連続して出力された出力パケット(たとえば、図3中の出力パケット1と出力パケット2。)において、各出力パケットにおける誤りデータの位置(配置)が、データパケットのデータ配列において隣り合う位置になることを意味している。図3には、この状態が示されており、入力パケットにバーストエラーが含まれている場合、出力パケットには、そのバーストエラーがデータ単位で順次隣り合う配置に分散されている。たとえば、図3において、出力パケット2における誤りデータの位置(11)は、出力パケット1において、当該出力パケット1における誤りデータの位置(12)と隣り合う位置(11)に対応する位置となっている。
リードソロモン復号回路4は、デインターリーブ回路3から出力された出力パケットに対して、送信装置において付加された外符号パリティを用いて誤り訂正処理を行ない、データパケットに含まれるデータを再生する。データパケットには、一定データ数毎に外符号パリティが挿入されているため、当該リードソロモン復号回路4は、当該外符号パリティを用いて各出力パケットに対して誤り訂正処理を行う。
リードソロモン復号回路4は、シンドローム演算部11、誤り位置多項式の算出部12、誤り位置の計算部13、誤りの値の計算部14、誤りの訂正部15、および遅延回路部16を有する。そして、前記誤りの訂正部15は、シンドローム演算部11から誤りの値の計算部14までの処理結果を用いて、遅延回路部16から出力された出力パケットに対して誤り訂正を実施する。
シンドローム演算部11は、受信信号に対応する受信語に基づいてシンドロームを得るものである。なお、当該シンドロームは、たとえば、前記受信語および検査方程式に基づいて算出することができる。また、シンドロームは、送信語には影響されず通信路における誤りパターンのみで定まり、受信語に対応するパリティ検査行列から計算されるm次元ベクトルである。
誤り位置多項式の算出部12は、出力パケットにおいて誤りデータのある位置(以下、誤り位置ともいう。)に対応する情報、すなわち誤り位置情報の逆数を根に持つ多項式(誤り位置多項式)を算出するものである。なお、誤り位置多項式における係数は、前記シンドロームによって演算される。また、誤り位置多項式は、ガロア体上の加算、乗算及び除算を行なうことにより算出することができる。
誤り位置の計算部13は、誤り位置多項式に誤り位置に対する元を順次代入するチェン(chien)探索法を用いて誤り位置を得るものである。上述のように誤り位置多項式は前記誤り位置情報の逆数を根とする多項式であり、前記誤り位置は当該根に基づいて演算することができる。なお、誤り位置の計算部13における前記根の演算は、例えば、m個のレジスタを用いて構成した回路において前記レジスタの出力を順次シフトさせ、当該レジスタの出力の総和が0になるか否かを調べ、当該出力の総和が0になるシフト回数を計算するものである。そして、この場合、シフト回数が前記誤り位置を示す。
誤りの値の計算部14は、上記したチェン探索法で求めた誤り位置と、シンドロームとから、ガロア体上の四則演算により誤りの値(以下、誤り値ともいう。)を計算するものである。誤り値は、内符号の訂正結果から外符号の誤り位置、すなわち前記出力パケットにおける誤りデータの位置が算出されている場合には、当該誤り位置に基づいて求めることができる。そして、前記誤り位置を示す情報(イレージャフラグ)に基づいて誤りデータの訂正を行なうことをイレージャ訂正という。
誤りの訂正部15は、前記遅延回路部16から出力された前記出力パケットにおける誤り位置にある誤りデータから、前記誤りの値の演算部14から出力された、当該誤りデータに対応する誤りの値を差し引くことで送信データに対応する符号語を得るものである。当該誤りの訂正部15は、例えば、前記出力パケットにおけるデータの位置を逐次求めるカウンタとガロア体上の加算器とで構成できる。
遅延回路部16は、入力された出力パケットに対する、前記シンドローム演算部11から前記誤りの値の計算部14までにおける処理が終了するまで、当該出力パケットを記憶し、前記処理が終了した時点で前記誤りの訂正部15に前記出力パケットを出力する。
通常、リードソロモン復号回路4は、入力される受信データ系列に付加されたパリティの数の半分のデータの誤り訂正を行なうことができる。例えば、前記受信データ系列に外符号としてリードソロモン符号[RS(207,187)]による20のパリティが付加されている場合、この半分の10バイトまでの誤り訂正を行なうことができる。
リードソロモン復号回路4は、誤り訂正の対象であるデータパケットにおいて、外符号パリティによって訂正できる限界である誤りデータの数以上の誤りデータがあった場合、その誤りデータに対する誤り訂正を行なうことができなくなる。しかし、上記したようにイレージャフラグ等により誤りデータの位置が特定されると、外符号パリティのみによって誤り訂正を行う場合に比べて誤り訂正能力を向上させることができる。
つまり、上記したように通常のリードソロモン符号等の訂正能力は付加するパリティの半分であるが、誤り位置が特定されれば、この誤り位置をイレージャとして誤り位置多項式の次数を決定することにより、最大でパリティの数と同数の誤りデータの訂正を行なうことができる。
リードソロモン復号回路4は、まず、パリティのみを用いた誤り訂正を実施し、外符号パリティに基づいた誤り訂正が不可能である場合、前述したイレージャフラグを用いて再度誤り訂正を実施する。すなわち、前記イレージャ訂正を行なう。なお、シンドロームに基づいて誤り位置多項式を得られない、または誤り位置多項式において根を得ることができない場合には、前記誤り訂正が不可能である誤りデータが発生したと判断することができる。
リードソロモン復号回路4においてパリティによる誤り訂正が不可能である場合には、伝送路における誤りが多いことを意味しており、そのような場合には、ビタビ復号回路から出力された再生データ系列にバーストエラーが含まれることがほとんどである。
リードソロモン復号回路においてイレージャ訂正を行う場合、パケットデータに付加されたパリティの数(t)、パケットデータに含まれるイレージャの数(ε)、およびイレージャ訂正以外の誤り訂正によって訂正される誤りデータの数(e)には、次の(1)式の関係がある。
2e+ε≦2t (1)
また、リードソロモン復号回路において発生されるイレージャフラグの数とパリティによる誤り訂正能力E(誤り訂正することができる最大の誤りデータの数)は、次の(2)式で示される。
E=e+ε (2)
誤り位置信号発生回路5は、リードソロモン復号回路4において誤り訂正が可能であったデータパケットに対応する誤り位置情報から、前記リードソロモン復号回路4が前記データパケット以後に受信するデータパケットにおける誤りデータの位置を推定して誤り位置情報を発生し、当該誤り位置情報に対応する信号(以下、誤り位置信号ともいう。)リードソロモン復号回路4に出力する。なお、誤り位置情報は、上記した誤り位置の計算部13から得てもよいし、リードソロモン復号回路4から出力される誤り訂正済のデータパケットの誤り訂正情報から得てもよい。なお、前記誤り訂正情報とは、前記誤りの訂正部15において、前記遅延回路部16から出力された出力パケットの誤り訂正を行った際に生成される当該出力パケットにおける誤りデータが訂正されたか否かを表す情報をいい、シンドロームに基づいて誤り位置多項式を得られたか否か、または誤り位置多項式において根を得ることができたか否かを判定することによって生成することができる。また、前記誤り訂正情報には、誤り訂正を行なった出力パケットに対応する誤り位置情報が含まれる。
誤り位置信号発生回路5は、バーストエラーのようにビタビ復号回路2から連続する誤りデータを含むデータパケットが出力される場合、デインタリーブ回路3から時間経過に従って出力される各データパケット上の誤りデータの位置(配置)が、連続するデータパケットでは隣り合うデータの位置になることを利用する。
誤り位置信号発生回路5は、リードソロモン復号回路4における誤り位置計算部13から出力された誤り位置情報を格納する誤り位置記憶部21と、前記誤り位置情報に基づいて、次データパケット(例えば図3における出力パケット1に対する出力パケット2。)の誤り位置を推定する誤り位置推定演算部22と、演算された誤り位置を示す誤り位置情報を発生し、誤り位置多項式の算出部12に送出する誤り位置信号発生部23を有している。
次データパケットの誤り位置の演算(推定)は、例えば、連続する誤りデータを含むデータパケットが入力されたデインタリーブ回路3から、時間経過にともなって順次出力される各出力パケットにおける誤りデータの位置(配置)が、図3に示したように、時間的に連続する出力パケットでは隣り合うデータの位置(配置)になることから、誤り位置計算部13で得られた誤り位置の1個前のデータ位置を、次のデータパケットの誤り位置として算出すれば良い。すなわち、前記誤り位置計算部13において、図3における出力パケット1における誤り位置が12であると算出された場合、当該誤り位置信号発生回路5は、前記出力パケット1における誤り位置12の1つ前のデータの位置11に対応する信号を次データパケットである出力パケット2における誤り位置であるとして誤り位置情報を前記リードソロモン復号回路4に出力する。
図4は、図1の誤り訂正復号回路の動作を示すフローチャートである。
まず、デジタル符号化入力は、デジタル復号回路1で復号され、次いでビタビ復号回路2で内符号による復号が実施され、デインターリーブ回路3で送信側のデータ系列を再生して出力パケットを出力する(S1)。
リードソロモン復号回路4では、まず、デインターリーブ回路3から入力された出力パケットから得られる外符号パリティのみを用いて、当該出力パケットに対して誤り訂正処理を実施し(S2)、誤りの訂正が可能であるか否かを判断する(S3)。
前記出力パケットにおける誤りデータに対する誤りの訂正が可能の場合(S3:NO)には、当該出力パケットを復号し、デジタル復号出力として出力して処理を終了する。一方、誤りの訂正が不可能の場合(S3:YES)には、当該出力パケットに付加された外符号パリティに加えて、誤り位置信号発生回路5から誤り位置多項式の算出部12に出力された誤り位置信号に応じて発生されたイレージャフラグ(誤り位置情報)を利用して、イレージャ訂正を実施する(S4)。
誤り位置信号発生回路5は、例えば、デインタリーブ回路3から出力された図3の出力パケット2の誤りデータ11が、リードソロモン復号回路4で訂正されたとすると、次の出力パケット3では、データ10が誤っていると推定することができる。誤り位置信号発生回路5は、この誤り推定位置をイレージャとしてイレージャフラグを発生させる。
図5は、本実施の形態の誤り位置信号発生回路5の動作を示すフローチャートである。
誤り位置記憶部21では、リードソロモン復号回路4内の誤り位置の計算部13から誤り位置の計算結果が出力されたら、その誤り位置情報を格納する(S11)。誤り位置推定演算部22では、誤り位置記憶部21に格納された誤り位置情報から、次のデータパケットの誤り位置を推定して演算する(S12)。誤り位置信号発生部23では、次のデータパケットの誤り位置をイレージャとしてイレージャフラグを発生し、リードソロモン復号回路4内の誤り位置多項式の算出部12に送出する(S13)。
図6は、実施の形態1に係る誤り訂正装置において、8バイト訂正RS、最大イレージャ数が8個という条件のもとで、入力信号に対してイレージャ訂正を行った後のビットエラーレートを示す図である。図6において、横軸は前記ビタビ復号回路2から出力された信号、すなわち当該誤り訂正装置に入力される入力信号のビットエラーレートを示し、縦軸は前記入力信号を誤り訂正した後に得られた信号(デジタル復号信号)のビットエラーレートを示す。
また、図中の実線は、それぞれ8バイト訂正RS(図中のRS8)、10バイト訂正RS(図中のRS10)、12バイト訂正RS(図中のRS12)における理論曲線(エラーレート曲線)である。また、図中の黒点(図中の●)は、本実施の形態1における誤り訂正装置から出力された信号に対応するエラーレートをプロットしたものである。
図のように、本実施の形態における誤り訂正装置によれば、10バイト訂正RSを若干上回る点が多く、平均すると当該10バイト訂正RSの訂正能力よりも若干高い訂正能力が得られる。また、発明者らの検証によれば当該誤り訂正装置において、誤りのデータに対してイレージャフラグを立たせる確率が75%程度であることがわかっている。この確率は従来の方法と比較すると2.5倍であり、イレージャ訂正に必要な確率である50%と比較すると1.5倍である。したがって、本実施の形態1における誤り訂正装置は、非常に高い誤り訂正能力を有する。
なお、本実施の形態では、誤り位置信号発生回路5は、リードソロモン復号回路4内の誤り位置の計算部13から誤り位置情報を得るようにしたが、例えば、リードソロモン復号回路4から誤りが訂正されて出力されたデータパケットから、その誤り訂正情報に含まれる誤り位置情報を得るように構成しても良い。
このように本実施の形態における誤り訂正装置では、リードソロモン復号回路4において誤り訂正されたデータパケットに対応する誤り訂正位置情報に基づいて、当該リードソロモン復号回路4が前記データパケット以後に受信するデータパケットの誤り位置を推定するため、誤りデータに対応する、より正確な誤り位置情報(イレージャフラグ)を発生することができる。そして、この誤り位置情報とデータパケット中のパリティに基づいて誤り訂正を行なうことにより、パリティだけによる誤り訂正に比較して、誤り訂正能力を向上させることができるため、例えば、伝送路における誤りが多いためにビタビ復号回路からの再生データ系列にバーストエラーが含まれてしまった結果、リードソロモン復号回路4においてパリティによる誤り訂正が不可能である場合でも、より確実に誤りデータの誤り訂正を行うことができる。
実施の形態2.
上述の実施の形態1における誤り訂正装置では、リードソロモン復号回路4で処理された1個のデータパケットの誤り位置情報から次のデータパケットの誤り位置を推定し、当該誤り位置に対応する誤り位置情報(イレージャフラグ)を次のデータパケット用としてリードソロモン復号回路4に供給した。本実施の形態における誤り訂正装置では、時間的に連続する複数のデータパケットに対応する誤り位置情報と、当該複数のデータパケットよりも後にリードソロモン復号回路4に入力されるデータパケット(以下、次データパケットともいう。)に対応する誤り位置情報との連続性を判定することで、より信頼性の高い誤り位置情報をリードソロモン復号回路4に出力する場合を説明する。
本実施の形態における誤り訂正装置では、図3に示したように、入力パケットにバーストエラーが含まれる場合、当該入力パケットに対してデインターリーブを行うと出力パケットに含まれる誤りデータの位置が、時間的に連続する出力パケット間において隣り合う位置となることを利用し、複数のデータパケットの誤り位置情報と次データパケットに対応する誤り位置情報との連続性を判定する。
具体的には、複数のデータパケットの各々に対応する誤り訂正情報に含まれる誤り位置情報がバーストエラーによって発生したものであるか否かの判定を行う。
図7は、本発明の実施の形態2に係る誤り訂正装置の構成を示すブロック図である。なお、図7において、図1に示した実施の形態1に係る誤り訂正装置と同様な構成要素は同じ符号を付与することで重複する説明を省略する。
本実施の形態における誤り訂正装置の構成が、図1に示した実施の形態1と異なる点は、誤り位置信号発生回路5aが、誤り位置信号連続性判定部24を有し、誤り位置信号発生部23の出力が誤り位置信号連続性判定部24に出力されるようになっており、誤り位置信号は、当該誤り位置信号に対応する誤り位置情報の連続性を判定されてから誤り位置多項式の算出部12に出力されるようになっている点である。他の構成は、実施の形態1と同様である。
誤り位置信号連続性判定部24は、リードソロモン復号回路4で各データパケットに対して誤り訂正処理を実施する際に、誤り位置信号発生部23から各データパケットに対応する誤り位置情報が出力されたら、その位置を順次比較あるいは配列することで連続性を判定し、誤り位置情報に対応する誤りデータの位置が隣り合う状態が連続する場合、当該誤り位置情報の信頼性が高いと判断して、その誤り位置情報をリードソロモン復号回路4内の誤り位置多項式の算出部12に送出する。
具体的には、たとえば、既に誤り訂正を行ったデータパケットに対応する誤り位置情報を前記誤り位置信号連続性判定部24において複数個保持し、当該保持された誤り位置情報に対応する複数のデータパケットのうち、前記次データパケットの直前に誤り訂正をされたデータパケット(以下、直前データパケットともいう。)における誤りデータの位置と、当該次データパケットに対応する誤り位置情報に対応するデータの位置とが、データパケットの配列において隣り合う位置であるか、すなわち連続するか否かを判定する。そして、当該判定の結果、連続する場合には当該次データパケットに対応する誤り位置情報をリードソロモン復号回路4に出力し、連続しない場合には誤り位置情報を出力しない。リードソロモン復号回路4では、前記次データパケットに対応する誤り位置情報が入力された場合には、当該誤り位置情報とパリティにより誤り訂正処理を行い、前記誤り位置情報が入力されない場合には、パリティのみによる誤り訂正を行う。
これを図3により、さらに具体的に説明すると、前記直前パケットが出力パケット1に対応する場合、当該出力パケット1に対応する誤り位置情報に基づいて発生した、出力パケット2(前記次パケットデータに相当する。)に対応する誤り位置情報が前記誤り位置信号連続性判定部24に入力された場合には、両者の誤り位置情報に対応する誤りデータの位置が、パケットデータにおけるデータ配列において連続すると判定されるため、当該出力パケット2に対応する誤り位置情報がリードソロモン復号回路4に出力される。
図8は、本実施の形態の誤り位置信号発生回路5aの動作を示すフローチャートである。
誤り位置記憶部21のステップS11と、誤り位置推定演算部22のステップS12は実施の形態1と同様である。次に、誤り位置信号発生部23では、次データパケットの誤り位置に対応する誤り位置情報を発生し、誤り位置信号連続性判定部24に出力する(S23)。
誤り位置信号連続性判定部24では、各データパケットに対応する誤り位置情報により示される誤り位置が連続するか否かを判断する(S24)。
各誤り位置情報により示される誤り位置が連続していない場合(S24:NO)には、当該誤り位置情報を出力せずに処理を終了し、各誤り位置情報により示される誤り位置が連続している場合(S24:YES)には、その誤り位置情報をリードソロモン復号回路4内の誤り位置多項式の算出部12に送出する(S25)。
なお、本実施の形態における誤り訂正装置でも、誤り位置信号発生回路5aは、リードソロモン復号回路4内の誤り位置の計算部13から誤り位置の情報を得るようにしたが、例えば、リードソロモン復号回路4から誤りが訂正されて出力されたデータパケットから、その誤り訂正情報に含まれる誤り位置情報を得るように構成しても良い。
また、前記誤り位置信号連続性判定部24において保持される誤り位置情報の数はいくつであってもよい。すなわち1つであってもよい。ただし、保持する誤り位置情報の数が多ければ多いほど、バーストエラーによって発生した誤りデータの訂正をより確実に行なうことができる。
このように本実施の形態における誤り訂正装置では、前記誤り位置信号連続性判定部24により誤り位置情報の連続性を判定するため、より正確に誤りデータの位置を示す誤り位置情報を発生させることができる。そして、より正確に誤りデータの位置を示す誤り位置情報およびパリティに基づいて誤り訂正を行うことにより、当該誤り訂正装置の誤り訂正能力をさらに向上させることができる。
実施の形態3.
上述した実施の形態2における誤り訂正装置では、既に誤り訂正を行ったデータパケットに対応する誤り位置情報が示す誤りデータの位置と、当該誤り訂正処理が行われたデータパケットの直後の次データパケットに対応する誤り位置情報が示す誤りデータの位置とが、データパケットにおけるデータの配列において連続するか否かを判定することにより、当該次パケットデータにおける誤りデータがバーストエラーによって発生したものか単独エラーによって発生したものかを判別して、前記バーストエラーによって発生した誤りデータの位置をより正確に示す誤り位置情報を発生した。本実施の形態における誤り訂正装置では、前記誤りデータの位置が連続するか否かを判定することに加えて、当該誤りデータの位置が、データパケットにおけるデータの配列において連続する長さを計測して、ビタビ復号回路2の出力においてバーストエラーが含まれるか否かを判別することで、前記バーストエラーによって発生した誤りデータの位置をより正確に示す誤り位置情報を発生する場合について説明する。
図9は、本発明の実施の形態3に係る誤り訂正装置の構成を示すブロック図である。なお、図9において、図7に示した実施の形態2に係る誤り訂正装置と同様な構成要素は同じ符号を付与することで重複する説明を省略する。
本実施の形態における誤り訂正装置の構成が、図7に示した実施の形態2における誤り訂正装置と異なる点は、誤り位置信号発生回路5aの中に、誤り位置信号連続長計測部25を有し、誤り位置信号連続性判定部24の出力が誤り位置信号連続長計測部25に出力されるようになっており、誤り位置信号に対応する誤り位置情報は連続性を判定された後に、さらにその連続するデータ区間長(以下、連続長ともいう。)を計測され、前記連続長が所定長よりも長いことを判定されてから誤り位置多項式の算出部12に出力されるようになっている点である。他の構成は、実施の形態1と同様である。
本実施の形態における誤り訂正装置において、誤り位置信号連続性判定部24は、入力された誤り位置情報に対応する位置が、データパケットの配列において連続する場合には、当該誤り位置情報をすべて保持する。
誤り位置信号連続長計測部25は、前記誤り位置信号性判定部24に保持された誤り位置情報に対応する位置が、データパケットの配列において連続する長さ(連続長)を計測する。そして、当該連続長が所定長さよりも長い場合であって、かつ、その後に生成される誤り位置情報に対応する位置と前記誤り位置信号性判定部24に保持された誤り位置情報に対応する位置とが、データパケットの配列において連続する場合には、当該誤り位置情報に対応する誤りデータはバーストエラーによって発生した誤りデータであると判断する。前記バーストエラーによって発生した誤りデータに対応する誤り位置情報は、当該誤り位置信号連続長計測部25から誤り位置多項式の算出部12に出力される。つまり、誤り位置信号連続長計測部25は、誤り位置信号が連続する長さを計測することにより、バーストエラーによって発生した誤りデータに対応する誤り位置情報をより確実に誤り位置多項式の算出部12へと出力する。その結果、当該誤り訂正装置の誤り訂正能力を高くすることができる。
なお、前記所定長さは、長ければ長いほど当該誤り位置信号発生回路5から出力される誤り位置情報が、バーストエラーによって発生した誤りデータに対応する誤り位置情報である確率を高くすることができる。
また、以上の説明では、誤り位置情報が必ず連続する場合に前記誤り位置情報を出力し、連続しない場合には当該誤り位置情報を出力しない場合について説明したが、たとえば、以下のようにして誤り位置情報の出力を行うこともできる。
前記バーストエラーによって発生した誤りデータであるか否かの判断に用いる第1の所定長さと、第2の所定長さを設定する。ただし、第1の所定長さ<第2の所定長さとする。そして、ある出力パケットに対して出力した誤り位置情報に対応するデータが誤りデータでなく、当該ある出力パケットの直後の出力パケットに対して出力した誤り位置情報に対応するデータが誤りデータである場合であって、前記あるパケットに対応する誤り位置情報が生成されたときに前記連続長が前記第2の所定長さよりも大きい場合には、前記当該ある出力パケットの直後の出力パケットに対して出力した誤り位置情報を出力する。このような処理は、入力パケットにおいて図10に示すようなバーストエラーが発生したときに有効である。
図11は、本実施の形態の誤り位置信号発生回路5bの動作を示すフローチャートである。
誤り位置記憶部21のステップS11と、誤り位置推定演算部22のステップS12と、誤り位置信号を発生させるステップS23と、誤り位置信号の連続性を判定するステップS24は実施の形態2と同様である。次に、誤り位置信号連続長計測部25では、ステップS24がYESの場合には前記連続長を計測し、当該連続長がバーストエラーと判断できる所定長よりも長いか否かを判定する(S35)。
前記連続長が所定長よりも長くない場合(S35:NO)には、誤り位置情報を出力せずに処理を終了し、一方、前記連続長が所定長よりも長い場合(S35:YES)には、その誤り位置情報をリードソロモン復号回路4内の誤り位置多項式の算出部12に送出する(S35)。
なお、本実施の形態でも、誤り位置信号発生回路5bは、リードソロモン復号回路4内の誤り位置の計算部13から誤り位置の情報を得るようにしたが、例えば、リードソロモン復号回路4から誤りが訂正されて出力されたデータパケットから、その誤り訂正情報に含まれる誤り位置情報を得るように構成しても良い。
このように本実施の形態における誤り訂正装置では、誤り位置情報が、データパケットの配列において連続する長さを計測して、当該連続する長さが所定長よりも長いか否かを判断することで、バーストエラーによって発生した誤りデータに対応する誤り位置情報をより確実に発生させることができる。これにより、当該誤り訂正装置の誤り訂正能力を高くすることができる。
実施の形態4.
上述の実施の形態1〜3における誤り訂正装置では、入力パケットにバーストエラーが含まれる場合における誤り位置情報の連続性に着目して誤り位置信号発生回路5〜5bにおいて前記誤り位置情報を生成し、当該誤り位置信号発生回路5〜5bから供給された当該誤り位置情報を用いてリードソロモン復号回路4においてイレージャ訂正を実施していた。しかしながら、誤り位置信号発生回路5〜5bで発生される誤り位置情報にも、誤りが発生する場合がある。すなわち、当該誤り位置信号発生回路5〜5bから出力された誤り位置情報が実際に誤りのあるデータに対して発生せず、誤っていないデータに対して発生してしまう場合がある。そこで、以下に示す本実施の形態における誤り訂正装置では、誤り位置信号発生回路5より入力される誤り位置信号を所定の規則にしたがって選択しながら配列した群信号(イレージャグループ)に分割し、分割した群信号毎に、1つのデータパケットに対して誤り訂正を何回か実施することにより、誤り訂正できる確率を向上させるようにした。
図12は、本発明の実施の形態4に係る誤り訂正復号回路の構成を示すブロック図である。なお、図12において、図1に示した実施の形態1における誤り訂正装置と同様な構成要素は同じ符号を付与することで重複する説明を省略する。
本実施の形態に係る誤り訂正装置の構成が、図1に示した実施の形態1に係る誤り訂正装置と異なる点は、誤り位置信号発生回路5cに、誤り位置信号選択配列/群信号化部26を有し、誤り位置信号発生部23の出力が誤り位置信号選択配列/群信号化部26に出力されるようになっている点である。そして、誤り位置信号選択配列/群信号化部26は、入力された誤り位置情報を所定のルールに従って選択配列することによりグループ化し、さらに、当該群信号毎に誤り位置信号を誤り位置多項式の算出部12に出力する。なお、他の構成は、実施の形態1における誤り訂正装置と同様である。
誤り位置信号選択配列/群信号化部26は、誤り位置信号発生部23から出力された、1つのデータパケットに含まれる誤りデータの各々に対応する複数の誤り位置信号を所定のルールに従って選択しながら配列して、所定数の前記誤り位置信号からなる群信号に分割する。当該誤り訂正装置は、前記群信号に対応するデータパケットに対して、各群信号に含まれる誤り位置信号に対応する位置情報を使用して誤り訂正を何回か実施する。このように、所定の規則にしたがって生成された群信号ごとに前記データパケットに対して誤り訂正を何回か実施した場合、当該データパケットの誤り訂正ができる場合がある。本実施の形態における誤り訂正装置では、上述のようにデータパケットの誤り訂正ができる、群信号に含まれる誤り位置信号に対応する誤り位置情報を使用して誤り訂正を行なうことで誤り訂正できる確率を向上させる。
上述の式(1)および(2)より、リードソロモン復号回路4のイレージャ訂正においては、誤り位置情報の数が増加すると当該誤り位置情報を使用しないで誤り訂正を行う場合における誤り訂正能力が低下する。誤り位置情報はあくまでも誤り位置を推定した結果であるので、誤り位置を100パーセント示すとは限らない。そして、イレージャ訂正の効果を上げるためには、実際には誤っていないデータに対して発生させてしまう誤り位置情報(以下、偽イレージャフラグあるいは偽誤り位置情報と称する)の数を減らすことが重要である。
仮に、あるデータパケット(出力パケット)に対して誤り位置情報が8個発生したとし、この中に3つの偽誤り位置情報があると仮定する。リードソロモン復号回路4のパリティ数を16とすると、8個の誤り位置情報を利用して誤り訂正できるのは、上記(1)式および(2)式より、8イレージャ+4=12であるが、8個の誤り位置情報のうち3つは偽誤り位置情報であるため、結果的に訂正できるのは12−3=9データである。以下、上述のようにあるデータパケット(出力パケット)に対して誤り位置情報が8個発生した場合を例として、詳細に説明する。
図13は、上述の場合に、誤り位置信号選択配列/群信号化部26で実施される誤り位置信号の選択配列/群信号化の一例を示す図である。
図13(a)は、誤り位置信号選択配列/群信号化部26に入力される前記8個の誤り位置信号に対応する誤り位置情報であり、1、4及び7番目の誤り位置情報は、実際には誤っていないデータに対して出力された誤り位置情報、すなわち、偽の誤り誤り位置情報である。一方、残りの2、3、5、6、および、8,番目の誤り位置情報は、実際に誤っているデータに対して出力された誤り位置情報、すなわち、真の誤り位置情報である。
図13(b)は、第1選択配列として昇順に選択配列して得られる4個ずつの群信号を第1郡とし、残りを第2群として群信号を2組設けたものである。第1群が1、2、3、4番目の誤り位置情報であり、第2群が5、6、7、8番目の誤り位置情報である。
図13(c)は、第2選択配列として1個置きに選択配列して得られる4個ずつの群信号を第1郡とし、残りを第2群として群信号を2組設けたものである。第1群が1、3、5、7番目の誤り位置情報であり、第2群が2、4、6、8番目の誤り位置情報である。
図13(d)は、第3選択配列として1個置いて2個選択配列し、2個置いて1個選択配列して得られる4個ずつの群信号を第1郡とし、残りを第2群として群信号を2組設けたものである。4個ずつの群信号を2組設けたものである。第1群が1、3、4、7番目の誤り位置情報であり、第2群が2、5、6、8番目の誤り位置情報である。
図13(e)は、第4選択配列として2個置いて2個選択配列して得られる4個ずつの群信号を第1郡とし、残りを第2群として群信号を2組設けたものである。第1群が1、4、5、8番目の誤り位置情報であり、第2群が2、3、6、7番目の誤り位置情報である。
図13(f)は、第5選択配列として1個置いて1個選択配列し、2個置いて2個選択配列して得られる4個ずつの群信号を第1郡とし、残りを第2群として群信号を2組設けたものである。第1群が1、3、6、7番目の誤り位置情報であり、第2群が2、4、5、8番目の誤り位置情報である。
図13(g)は、第6選択配列として2個置きに選択配列して得られる4個ずつの群信号を第1郡とし、残りを第2群として群信号を2組設けたものである。第1群が1、2、5、6番目の誤り位置情報であり、第2群が3、4、7、8番目の誤り位置情報である。
図13(h)は、第7選択配列として最初に1個選択し、次に2個置いて2個選択配列し、さらに2個置いて1個選択配列して得られる4個ずつの群信号を第1郡とし、残りを第2群として群信号を2組設けたものである。第1群が1、4、5、8番目の誤り位置情報であり、第2群が2、3、6、7番目の誤り位置情報である。
図13(i)は、第8選択配列として最初に1個選択し、次に2個置いて2個選択配列し、さらに1個置いて1個選択配列して得られる4個ずつの群信号を第1郡とし、残りを第2群として群信号を2組設けたものである。第1群が1、4、5、7番目の誤り位置情報であり、第2群が2、3、6、8番目の誤り位置情報である。
図13(j)は、第9選択配列として最初に1個選択し、次に3個置いて3個選択配列して得られる4個ずつの群信号を第1郡とし、残りを第2群として群信号を2組設けたものである。第1群が1、5、6、7番目の誤り位置情報であり、第2群が2、3、4、8番目の誤り位置情報である。
図13(b)〜(j)において、20個の群信号のうち、第3選択配列順/第2群に含まれる誤り位置情報(2、5、6、8)、および第8選択配列順/第2群に含まれる誤り位置情報(2、3、6、8)は、全て、実際に誤りデータでのあるデータに対して生成された誤り位置情報(真の誤り位置情報)である。つまり、誤り位置情報を4つずつの群信号に分けると、当該群信号に含まれる4つの誤り位置情報の中に偽誤り位置情報を含まない群信号ができる。この群信号に含まれる誤り位置情報を用いてイレージャ訂正を行うと、(1)式および(2)式より4イレージャ+6=10データの誤り訂正ができる。
1データパケット中に10個の誤りデータがある場合には、8個の誤り位置情報を用いてイレージャ訂正しても当該データパケットに含まれる前記誤りデータの訂正をすることはできない。しかし、4個の誤り位置情報で複数回のイレージャ訂正を実施すれば、前記10個の誤りデータを訂正することができる。
従って、より高い誤り訂正能力を得たい場合には、イレージャフラグの数を増加させるのではなく、イレージャフラグの数を逆に減らした群信号をいくつか作り、複数の当該群信号のうち、データパケットの誤り訂正を行うことができる前記群信号を検出し、検出された群信号に含まれる誤り位置情報を用いて、対応するデータパケットに対して誤り訂正を実施することでより高い誤り訂正能力を得ることができる。
前記リードソロモン復号回路4は、入力されたデータパケットから得られたシンドロームおよび各群信号に含まれる誤り位置情報に基づいて、誤り位置多項式の算出部12および誤り位置の計算部13の処理を複数回行う。具体的には、前記群信号に含まれる誤り位置情報によってデータパケットの誤り訂正が可能である群信号が検出されるまで誤り位置多項式の算出部12および誤り位置の計算部13の処理を行う。そして、当該リードソロモン復号回路4はデータパケットの誤り訂正を行うことができる群信号を検出した場合には、その群信号に含まれる誤り位置情報によってデータパケットの誤り訂正を行い、誤り訂正を行ったデータパケットを出力し、当該データパケットに対する処理を終了する。なお、前記データパケットは、データパケットの誤り訂正が可能である群信号が検出されるまで遅延回路部16に保持される。具体的に図13に場合について説明すると、前記リードソロモン復号回路4は、まず、第1選択配列順/第1群に基づいて誤り位置多項式の算出部12および誤り位置の計算部13の処理を行い、その後、第1選択配列順/第2群、第2選択配列順/第1群、第2選択配列順/第2群…と、順次、各群信号に基づいて誤り位置多項式の算出部12および誤り位置の計算部13の処理を複数回行う。そして、第3選択配列順/第2群を用いて誤り位置多項式の算出部12および誤り位置の計算部13の処理を行ったときに、前記データパケットの誤り訂正が可能であることを検出し、当該第3選択配列順/第2群に含まれる誤り位置情報によって前記データパケットの誤り訂正を行う。そして、当該誤り訂正をしたデータパケットを出力して処理を終了する。
図14は、本実施の形態の誤り位置信号発生回路5cの動作を示すフローチャートである。
誤り位置記憶部21のステップS11と、誤り位置推定演算部22のステップS12と、誤り位置信号を発生するステップS23は実施の形態2と同様である。次に、誤り位置信号選択配列/群信号化部26では、誤り位置信号に対応する誤り位置情報を所定のルールに従って選択しつつ配列して所定数の群信号を生成する(S44)。そして、群信号毎に誤り位置多項式の算出部12および誤り位置の計算部13の処理を、順次、複数回行う(S45)。そして、データパケットの誤り訂正が可能である群信号の検出を行う(S46)。
そして、データパケットの誤り訂正を行うことができる群信号が検出されない場合(S46:NO)には、遅延回路部16に記憶されているデータパケットの誤り訂正処理をせず、当該データパケットをそのまま出力することで処理を終了し、一方、データパケットの誤り訂正を行うことができる群信号が検出された場合(S46:YES)には、遅延回路部16に記憶されているデータパケットの誤り訂正処理を行い(S47)、当該誤り訂正を行ったデータパケットを出力して処理を終了する。
なお、本実施の形態でも、誤り位置信号発生回路5cは、リードソロモン復号回路4内の誤り位置の計算部13から誤り位置の情報を得るようにしたが、例えば、リードソロモン復号回路4から誤りが訂正されて出力されたデータパケットから、その誤り訂正情報に含まれる誤り位置情報を得るように構成しても良い。
このように本実施の形態における誤り訂正装置では、発生されたイレージャフラグを所定の数で組み合わせて任意数の群信号を作り、群信号毎に当該群信号に含まれる誤り位置信号に対応する誤り位置情報によりデータパケットの誤り訂正が可能であるかを検出して、データパケットの誤り訂正が可能である群信号を検出した場合には、その群信号に基づいてデータパケットの誤り訂正を実施する。これにより、あるデータパケットに対して生成したイレージャフラグの中に偽誤り位置情報を含む場合でも、当該偽誤り位置情報の影響を抑えて誤り訂正能力向上させることができる。
実施の形態5.
上述の実施の形態1〜4における誤り訂正装置では、リードソロモン復号回路4において、現在または過去に誤り訂正したデータパケットの誤り訂正情報から、次に復号するデータパケットの誤り位置を推定して誤り位置情報を発生させていた。本実施の形態における誤り訂正装置では、リードソロモン復号回路4において、イレージャ訂正をしても誤りデータの訂正ができなかったデータパケットを一時記憶し(本実施の形態においては当該一時記憶されたデータパケットを記憶データパケットともいう。)、当該記憶データパケット以後のデータパケット(次データパケット)では誤りデータの訂正ができた場合、当該訂正できた次データパケットの誤り訂正情報から、前記一時記憶されているデータパケットの誤り位置を推定して誤り位置情報を発生させ、再度イレージャ訂正を実施する場合について説明する。
図15は、本発明の実施の形態5に係る誤り訂正復号回路の構成を示すブロック図である。なお、図15において、図1に示した実施の形態1における誤り訂正装置と同様な構成要素は同じ符号を付与することで重複する説明を省略する。
本実施の形態における誤り訂正装置の構成が、図1に示した実施の形態1における誤り訂正装置と異なる点は、誤り位置信号発生回路6に、リードソロモン復号回路4から出力される各データパケットを一時格納するデータメモリ31と、その各データパケットから誤り位置を推定演算するパケットの誤り位置推定演算部32と、その誤り位置に基づいて誤り位置情報(イレージャフラグ)を発生させ、誤り位置多項式の算出部12に出力される誤り位置信号発生部33を有し、データメモリ31からはリードソロモン復号回路4に記憶データパケットを再入力させることができるようになっている点である。他の構成は、実施の形態1と同様である。
データメモリ31には、リードソロモン復号回路4で誤り訂正処理が実施されたデータパケットが一時記憶される。この記憶データパケットは、誤り訂正が良好に実施されていれば次の回路にデジタル復号出力として出力されるが、誤り訂正が良好に実施されていない場合には、再度イレージャ訂正を行なうため、リードソロモン復号回路4に再入力される。なお、誤り訂正が良好に実施されているか否かの判断は、前記リードソロモン復号回路4におけるシンドローム演算部11から誤りの値の計算部14までの処理の結果によって行なうことができ、当該処理の結果は前記誤り訂正部15を通じてデータメモリ31に入力される。よって、誤り位置信号発生回路6においては、前記誤り訂正部15を通じて入力された前記処理の結果に基づいて、誤り訂正が良好に実施されているか否かの判断を行なうことができる。
パケットの誤り位置推定演算部32は、データメモリ31中の記憶データパケットに対する誤り位置を、次データパケットにおける誤り位置に基づいて演算する。当該演算は、前記実施の形態1ないし3の誤り訂正装置と同様に行なうことができる。
誤り位置信号発生部33では、前記パケットの誤り位置推定演算部32における演算の結果に基づいて誤り位置信号をリードソロモン復号回路4における誤り位置多項式の算出部12に出力する。
ビタビ復号回路2の出力にバーストエラーがある場合、上記したように誤りが有るデータは、デインタリーバ3により複数のデータパケットに規則的に散らされるため、あるデータパケットの誤り位置はその前後のデータパケットの誤り位置と規則的な連続性をもつ。
あるデータパケットのイレージャ訂正ができなかった場合、原因の一つとして、推定された誤り位置情報の信頼性が低かったこと、すなわち当該誤り位置情報が実際には誤りでないデータに対して発生されてしまった場合が考えられる。このことから、本実施の形態では、誤り位置情報の信頼性を高くするため、そのデータパケットの過去のデータパケットにおける誤り訂正位置のみではなく、後から復号したデータパケットの誤り訂正位置情報も利用することで、バーストエラーによって発生したエラーデータの散らばりが明確になり、誤り位置情報の信頼性をより向上させている。
図16は、本実施の形態の誤り位置信号発生回路6の動作を示すフローチャートである。
データメモリ31では、リードソロモン復号回路4から誤り訂正が実施されたデータパケットが出力されたら、そのデータパケットを順次格納する(S51)。パケットの誤り位置推定演算部32では、データメモリ31に格納されたデータパケットから、各データパケット中の誤り位置を推定して演算する(S52)。誤り位置信号発生部33では、前記パケットの誤り位置推定演算部32の判定に基づいて、誤り位置情報を発生させ、リードソロモン復号回路4内の誤り位置多項式の算出部12に送出する(S53)。誤り位置信号発生回路6は、データメモリ31から誤り訂正が実施できなかった記憶データパケットを、再度、イレージャ訂正を実施させるためにリードソロモン復号回路4に入力させる(S54)。
このように本実施の形態における誤り訂正装置では、前記記憶データパケットの誤り訂正情報および前記次データパケットの誤り訂正情報より、誤り訂正が良好にできなかったデータパケットに対する誤り位置情報を発生させて、当該記憶データパケットに対する誤り訂正処理(イレージャ訂正)を再実施する。したがって、誤り訂正を良好に行なうことができなかったデータパケットにおける誤りデータを訂正することができ、より高い誤り訂正能力を得ることができる。
実施の形態6.
上述の実施の形態5における誤り訂正装置では、他のデータパケットの誤り訂正情報を利用して、誤り訂正が実施できなかったデータパケットについて、再度、イレージャ訂正をすることで誤り訂正能力をさらに向上させた。本実施の形態では、リードソロモン復号回路4において誤り訂正が実施できなかったデータパケットをより確実に判定できるように、当該誤り訂正装置を構成した場合を説明する。
パリティによるリードソロモン復号を行った結果、誤り訂正ができた(データパケット中の誤りデータ数が訂正可能数=パリティ数の1/2以内であった)か否かは、リードソロモン復号回路4において算出される誤り位置多項式の解の数が、誤り位置多項式の次数と一致するかどうかで判断することができる。これは誤り位置多項式が可解であったかどうかを検出することと同義であり、誤り位置多項式が可解であれば、誤り位置が検出できた(誤り訂正ができた)と判定する。そして、前記誤り訂正ができた場合には、当該誤り訂正後のデータパケットに基づいてシンドロームを演算した場合、当該演算の結果得られたシンドロームにおける各次数の係数の値はゼロとなる。
ところで、データパケット中のエラー数が訂正能力の限界を超えている場合、リードソロモン復号回路4が算出する誤り位置多項式は、でたらめな多項式である。このでたらめな誤り位置多項式は本来可解ではないのであるが、リードソロモン符号が使用する符号の総数が限られているため、偶然、でたらめな誤り位置多項式が可解となってしまう場合がある。ある次数の多項式が発生し得る場合の数と、その次数の多項式が可解となる場合の数の比から、でたらめな誤り位置多項式が可解となってしまう確率が算出できる。
例えば、リードソロモンの符号総数が256、リードソロモン符号が(204,188)の場合を考える。誤り位置多項式が8次であるとき、
8次の可解な誤り位置多項式の組み合わせ=204C8=6.4*1013
8次の方程式の組み合わせ=2568=1.8*1019
8次の多項式が可解になる確率
=(6.4*1013)/(1.8*1019)=3.5*10−6=284939回に1回となり、でたらめな誤り位置多項式が偶然に可解となる確率はかなり低い。
誤り位置情報を用いないでパリティのみで誤り訂正を実施する場合は、訂正能力の限界を超えると最大次数の誤り位置多項式(上記の場合は8次)が出力されるので、上記の確率により、その多項式が可解と判定されることはほとんどない。
一方、イレージャ訂正を実施する場合、例えば、上記例(204,188)のリードソロモン符号でイレージャが8あるとすると、リードソロモン復号回路でパリティを用いて算出される誤り位置多項式の最大次数は4次ということになる。
4次の可解な誤り位置多項式の組み合わせ=204C4=70*106
4次の方程式の組み合わせ=2564=4.3*109
4次の多項式が可解になる確率=(70*106)/(4.3*109)
=0.0163=62回に1回
よって算出された4次の誤り位置多項式がでたらめな多項式であった場合、62データパケットに1データパケットは可解と判定されてしまうことになる。これは無視することができない値である。
でたらめな誤り位置多項式を可解と判定してしまうことによってイレージャ訂正が正しく行われなかった場合、リードソロモン復号回路は正しいデータをエラーデータとして訂正してしまうので、データパケット中にあるエラーをさらに増加させてしまうことになり、受信システムの性能を劣化させてしまう。
上記の理由により、イレージャ訂正を行った場合には、訂正されたデータパケットが正しく訂正されたか否かを判定することが必要となる。
リードソロモン復号回路によって誤り訂正されたデータパケットが正しく訂正されたか否かは、上述のように、訂正されたパケットデータを用いてシンドローム多項式を再算出すればよい。再算出されたシンドローム多項式の全次数の係数がゼロ値になれば、誤り訂正が正しく行われたと判定できる。
図17は、本発明の実施の形態6に係る誤り訂正装置の構成を示すブロック図である。なお、図17において、図15に示した実施の形態5に係る誤り訂正装置と同様な構成要素は同じ符号を付与することで重複する説明を省略する。
本実施の形態に係る誤り訂正装置の構成が、図15に示した実施の形態5に係る誤り訂正装置の構成と異なる点は、データメモリ31に一時記憶された記憶データパケットについて、リードソロモン復号回路4で誤り訂正が良好に実施できたか否かを判定する誤り訂正判定回路7を備える点である。他の構成は、実施の形態5に係る誤り訂正装置と同様である。
誤り訂正判定回路7内には、リードソロモン復号回路4内のシンドローム演算部11と同様に、誤り訂正後のデータパケットに基づいてシンドロームを再度算出するシンドロームの再演算部42と、そのシンドローム多項式中の各次の係数がゼロであるか否かを判定し、判定結果を誤り位置信号発生回路6に出力する式中の各次の係数判定部43を備える。
シンドロームの再演算部42は、リードソロモン復号回路4内のシンドローム演算部11と処理内容は同様であるが、入力されるデータパケットがリードソロモン復号回路4の出力になっており、データメモリ31から出力された各データパケットからシンドローム多項式を算出する。
式中の各次の係数判定部43では、多項式中の各次数の係数を算出し、全次数の係数がゼロ値であるか否かを判定し、その判定結果を誤り位置信号発生回路6に出力する。誤り位置信号発生回路6では、前記判定の結果、全次数の係数がゼロである場合には、そのデータパケットをデジタル復号出力として出力するが、全次数の係数がゼロでない場合には、そのデータパケットをそのまま出力する。
なお、上述の説明では、全次数の係数がゼロでない場合には、そのデータパケットをそのまま出力するとしたが、当該データパケットは、そのまま次の回路(図示せず)に出力してもよいし、リードソロモン復号回路4に再度入力して前記実施の形態6のように再度誤り訂正処理を行なってもよい。また、当該誤り訂正装置においては、前記データメモリ31を設けなくてもよく、誤りの訂正部15からシンドロームの再演算部42に直接信号を出力し、式中の各次の係数判定部43から前記誤りの訂正部15に直接信号を出力して、当該リードソロモン復号回路から出力される前記データパケットの制御を行なってもよい。
図18は、本実施の形態における誤り位置信号発生回路6のデータメモリ31および誤り訂正判定回路7の動作を示すフローチャートである。
データメモリ31では、リードソロモン復号回路4から誤り訂正が実施されたデータパケットが出力されたら、そのデータパケットを順次記憶する(S61)。シンドロームの再演算部42では、データメモリに記憶されたデータパケットから各データパケットに対応するシンドロームの多項式を算出する(S62)。式中の各次の係数判定部43では、算出されたシンドローム多項式中の各次の係数を算出し(S63)、その係数がゼロであるか否かを判定する(S64)。
前記判定の結果、シンドローム多項式中の各次の係数がゼロである場合(S64:YES)には、そのデータパケットをデジタル復号出力として出力する(S65)。一方、シンドローム多項式中の各次の係数がゼロで無い場合(S64:NO)には、そのデータパケットをそのまま出力する(S66)。
このように本実施の形態における誤り訂正装置では、誤り訂正が正しく行われたか否かを判定し、出力するデータパケットの制御を行なう。つまり、リードソロモン復号回路4によるデータパケットの誤り訂正の結果を判断し、誤り訂正ができた場合には訂正後のデータパケットを出力し、誤り訂正ができなかった場合には訂正されていないデータパケットをそのまま出力することで、誤った訂正によって誤りデータが増加してしまったデータパケットを出力してしまうことを防止することができるので、誤り訂正能力をさらに向上させることができる。
実施の形態7.
上述の実施の形態6における誤り訂正装置では、誤り訂正処理を行なった後のデータパケットに基づいてシンドロームを再度演算し、当該シンドロームにおける各自の係数の値を判定することにより、誤り訂正能力の向上を図った。本実施の形態では、シンドローム多項式を算出する代わりに、リードソロモン復号回路で算出された誤り数値を利用して簡単に誤り訂正が確実に行なわれたか否かを判定する場合について説明する。
リードソロモン復号回路4において受信データより算出されるシンドローム多項式の各次の係数とは、データパケット中の誤りデータの誤り値と誤り位置情報のべき乗値を乗算した結果をさらに加算して得られる値に相当する。シンドローム多項式は15次の多項式であるが、0次の係数はデータパケット中の誤りデータの誤り値を積算した結果と等しい。
よって、リードソロモン復号回路4において算出された、各データパケット中の誤り数値をすべて加算し、これをシンドローム多項式の0次係数の値と比較すれば、算出された誤り数値が正しいかどうかを簡単に判定することができる。
リードソロモン復号回路で算出された全誤り数値を加算した結果と、シンドローム多項式の0次係数が偶然に一致する確率は
1/(2562)=1.5*10−5
となる(符号の総数が256通りのため)。上記8つの誤り位置情報が発生した場合、可解条件と誤り数値加算値条件とを併せてイレージャ訂正の検査を行うと、4次のシンドローム多項式が偶然可解であり、かつ、算出された誤り数値の加算値がシンドローム多項式の0次係数と一致する確率は
0.01363*1.5*10−5=4063232回に1回
となる。これはほとんど無視してよい確率である。
したがって、上述のように、誤り値の積算値とシンドローム多項式の0次の係数とを比較してイレージャ訂正が正しく行われたか否かを判定し、イレージャ訂正によるエラーの増加を防ぎ、受信システムの性能を向上させる。
図19は、本発明の実施の形態7に係る誤り訂正復号回路の構成を示すブロック図である。なお、図19において、図17に示した実施の形態6と同様な構成要素は同じ符号を付与することで重複する説明を省略する。
本実施の形態における誤り訂正装置の構成が、図17に示した実施の形態6における誤り訂正装置と異なる点は、データメモリ31に一時格納されたデータパケット中の各データパケットについて、リードソロモン復号回路4で誤り訂正が実施できたか否かを判定する誤り訂正判定回路8の構成要素が変わっている点である。他の構成は、実施の形態6における誤り訂正装置と同様である。
誤り訂正判定回路8内には、リードソロモン復号回路4における誤りの値の計算部14から出力された誤り値を積算する誤り値加算部44、リードソロモン復号回路4におけるシンドローム演算部11から出力されるシンドローム多項式の0次の係数と前記積算の結果とを比較して比較結果を誤り位置信号発生回路6に出力する、0次係数と加算結果比較部45を備える。
誤り値加算部44は、誤りの値の計算部14から出力された、データメモリ31に一時記憶された記憶データパケットに対応する誤り値を積算し、当該積算の結果をデータメモリ31に出力する。
0次係数と加算結果比較部45では、入力された前記積算の結果と、リードソロモン復号回路4におけるシンドローム演算部11から前記シンドローム多項式の0次の係数とを比較し、両者が一致したか否かを判定し、判定結果を誤り位置信号発生回路6に出力する。誤り位置信号発生回路6からは、判定の結果、前記積算の結果と前記0次の係数とが一致する場合には、誤り訂正がされたデータパケットがデジタル復号出力として出力され、前記積算の結果と前記0次の係数とが一致しない場合には、誤り訂正がされていないデータパケット、すなわちデインターリーブ回路3から出力されたデータパケットがそのまま出力される。
図20は、本実施の形態の誤り位置信号発生回路6のデータメモリ31および誤り訂正判定回路8の動作を示すフローチャートである。
データメモリ31では、リードソロモン復号回路4から誤り訂正が実施されたデータパケットが出力されたら、そのデータパケットを順次記憶する(S61)。誤り値加算部44では、データメモリ31に記憶されたデータパケットに対応する誤り値を積算する(S72)。0次係数と加算結果比較部45では、入力された積算結果とシンドローム多項式の0次係数とを比較し(S73)、その比較結果が一致するか否かを判定する(S74)。
前記判定の結果、積算結果とシンドローム多項式の0次係数とが一致する場合(S74:YES)には、訂正済みのデータパケットをデジタル復号出力として出力する(S75)。一方、積算結果とシンドローム多項式の0次係数とが一致しない場合(S74:NO)には、誤り訂正がされていないデータパケットをそのまま出力する(S76)。
このように本実施の形態における誤り訂正装置では、実施の形態6における誤り訂正判定部よりも簡易な構成とすることができ、また、簡単な処理でイレージャ訂正が正しく行われたか否かを素早く判定し、出力するデータパケットの制御を行なうことができる。また、前記判定の結果に基づいてデータパケットを出力させることで、誤った訂正により逆に誤りが増加してしまったデータパケットを出力してしまうことを防止することができるので、誤り訂正能力をさらに向上させることができる。
実施の形態8.
上述したように、パリティの数に対する誤り位置情報の数は相反する関係にある。したがって、誤り位置情報によりリードソロモン復号回路4がイレージャ訂正を実施する際、発生する誤り位置情報の数を固定してしまうと、パリティによる訂正能力を低下させてしまう場合がある。本実施の形態における誤り訂正装置では、発生する誤り位置情報の数を可変とすることにより、パリティによる誤り訂正能力を低下させることなく、誤り訂正能力を十分に発揮させる場合について説明する。
図21は、本発明の実施の形態8に係る誤り訂正装置の構成を示すブロック図である。なお、図21において、図15に示した実施の形態5に係る誤り訂正装置と同様な構成要素は同じ符号を付与することで重複する説明を省略する。
本実施の形態に係る誤り訂正装置の構成が、図15に示した実施の形態5に係る誤り訂正装置と異なる点は、誤り位置信号発生回路6の出力側と、リードソロモン復号回路4の誤り位置多項式の算出部12の入力側との間に、誤り位置信号の信号数算出部51を設けた点である。他の構成は、実施の形態5に係る誤り訂正装置と同様である。
リードソロモン復号回路4においてイレージャ訂正を行う際、イレージャ以外のエラーは、パリティに基づいて算出される誤り位置多項式と誤り値を用いて検出され、誤り訂正が行われる。誤り位置情報とパリティによって訂正可能なエラーの数は上述の式(1)および(2)によって算出することができる。誤り位置情報は最大パリティ数と等しい数まで増加させることができるが、その場合、パリティによる誤り訂正能力がゼロになってしまうため、通常はそれよりも低い任意の値に制限され、これによりパリティによる訂正能力が決定される。
しかしながら、前記誤り位置情報を発生する数を固定値としてしまうと、当該誤り位置情報の発生数が減少した場合、パリティによる訂正能力が制限されることになり、イレージャ訂正の効果が低くなってしまう。本発明における誤り位置情報は、既に誤り訂正が行われたデータパケットの誤り訂正位置から推定、発生させるため、当該誤り位置情報の数はデータパケット毎に異なる。本実施の形態では、発生した誤り位置情報の数に応じてパリティによる訂正能力を変更し、常に誤り訂正の能力を最大となるようにする。
パリティによる訂正能力はリードソロモン復号回路4において算出される誤り位置多項式の最大次数に等しいので、本実施の形態の誤り訂正装置における、誤り位置信号の信号数算出部51は、入力された誤り位置情報の数から誤り位置多項式の最大次数を算出し、誤り位置多項式の算出部12に出力する。誤り位置多項式の算出部12は入力された最大次数に基づいて誤り位置多項式を算出する。
図22は、本実施の形態の誤り訂正装置におけるリードソロモン復号回路4の動作を示すフローチャートである。
誤り位置信号発生回路6から誤り位置信号が発生されるまでの動作は、実施の形態5において説明したステップS51〜S54までと同様である。誤り位置信号の信号数算出部51では、入力された誤り位置情報の数から誤り位置多項式の最大次数を算出し、算出結果(以下、最大次数決定用データともいう。)を誤り位置多項式の算出部12に出力する(S55)。
誤り位置多項式の算出部12では、前記最大次数決定用データに基づいて誤り位置多項式の次数を決定する。
このように本実施の形態における誤り訂正装置よれば、発生した誤り位置情報の数に応じて、誤り位置多項式の算出部12で算出される多項式の最大次数を制御することで、イレージャ訂正時のパリティによる訂正能力が常に最大になるようにすることができる。したがって、当該誤り訂正装置の訂正能力を向上させることができ、受信システムの性能をさらに向上させることができる。
また、前記実施の形態1ないし8における誤り位置信号発生手段は、各実施の形態中の誤り位置信号発生回路に限られず、リードソロモン復号回路4から出力されるデータパケットあるいは処理途中の各種信号に基づいて誤り位置信号を出力できるものであればよい。
1 デジタル復号回路、 2 ビタビ復号回路、 3 デインタリーブ回路、 4 リードソロモン復号回路、 5、6 誤り位置信号発生回路、 7、8 誤り訂正判定回路、 11 シンドローム演算部、 12 誤り位置多項式の算出部、 13 誤り位置の計算部、 14 誤りの値の計算部、 15 誤りの訂正部、 21 誤り位置記憶部、 22 (次パケット)の誤り位置推定演算部、 23 誤り位置信号発生部、 24 誤り位置信号連続性判定部、 25 誤り位置信号連続長計測部、 26 誤り位置信号選択配列/群信号化部、 31 データメモリ、 32 パケットの誤り位置推定演算部、 33 誤り位置信号発生部、 42 シンドロームの再演算部、 43 式中の各次の係数判定部、 44 誤り値加算部、 45 0次係数と加算結果比較部、 51 誤り位置信号の信号数算出部。