PRML復号装置、PRML復号方法
【課題】PRML復号装置の内部構成を変更せずに、アシンメトリやレベル変動の問題を解決し、また適切な信号評価を同時に実現する。
【解決手段】
PRML検出における差動メトリックdMをパタンごとに分類して低域成分を補正する。そして補正された差動メトリックから検出されたビット値を修正することで、信号のアシンメトリなどの非線形成分を除去したビット検出がなされるようにし、また補正された差動メトリックを用いてビットエラーレートと相関のあるジッタ指標を算出する。
【解決手段】
PRML検出における差動メトリックdMをパタンごとに分類して低域成分を補正する。そして補正された差動メトリックから検出されたビット値を修正することで、信号のアシンメトリなどの非線形成分を除去したビット検出がなされるようにし、また補正された差動メトリックを用いてビットエラーレートと相関のあるジッタ指標を算出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば記録媒体に記録した情報を再生した再生信号等に対するPRML(Partial Response Maximum Likelihood)復号装置、及びPRML復号方法に関する。
【背景技術】
【0002】
【特許文献1】特開平10−21651号公報
【特許文献2】特開2003−141823号公報
【特許文献3】特開2003−151220号公報
【特許文献4】特開2003−178537号公報
【0003】
近年、光ディスクの再生方式としてパーシャルレスポンス最尤(PRML:Partial Response Maximum Likelihood)検出とよばれる方式が採用されている。この方式は、再生信号のユークリッド距離が最小となるパーシャルレスポンス系列を検出する方式であり、パーシャルレスポンスという過程と最尤検出という過程が組み合わせた技術である。
なお、パーシャルレスポンス系列とは、ビット系列にターゲットレスポンスで定義される重みつき加算を施すことで得られる。光ディスクシステムでは、PR(1,2,2,1)がよく用いられ、これはビット系列に1,2,2,1の重みをつけて加算した値をパーシャルレスポンス値として返すものである。
パーシャルレスポンスは、1ビットの入力に対して、1ビットよりも長く出力を返す過程であって、再生信号が、連続する4ビットの情報ビットの入力に対してこれらを順に1、2、2、1を乗じて加算した信号として得られる過程が、上記のPR(1,2,2,1)と表現される。
また、最尤検出とは、2つの信号の間にユークリッド距離とよばれる距離を定義して、実際の信号と想定されるビット系列から予想される信号との間の距離を調べて、その距離が最も近くなるようなビット系列を検出する方法である。なお、ここで、ユークリッド距離とは、同じ時刻での2つの信号の振幅差の二乗を全時刻にわたって加算した距離として定義される距離である。また、この距離を最小とするビット系列の探索には、後述するビタビ検出をもちいる。
これらを組み合わせたパーシャルレスポンス最尤検出では、記録媒体のビット情報から得られた信号をイコライザとよばれるフィルタでパーシャルレスポンスの過程となるように調整し、得られた再生信号と想定されるビット系列のパーシャルレスポンスとの間のユークリッド距離を調べて、その距離が最も近くなるようなビット系列を検出する。
【0004】
実際にユークリッド距離が最小となるビット系列を探索するには、前述のビタビ検出によるアルゴリズムが効果を発揮する。
ビタビ検出は、所定の長さの連続ビットを単位として構成される複数のステートと、それらの間の遷移によって表されるブランチで構成されるビタビ検出器が用いられ、全ての可能なビット系列の中から、効率よく所望のビット系列を検出するように構成されている。
実際の回路では、各ステートに対してパスメトリックレジスタとよばれるそのステートにいたるまでのパーシャルレスポンス系列と信号のユークリッド距離(パスメトリック)を記憶するレジスタ、および、パスメモリレジスタとよばれるそのステートにいたるまでのビット系列の流れ(パスメモリ)を記憶するレジスタの2つのレジスタが用意され、また、各ブランチに対してはブランチメトリックユニットとよばれるそのビットにおけるパーシャルレスポンス系列と信号のユークリッド距離を計算する演算ユニットが用意されている。
このビタビ検出器では、さまざまなビット系列を、上記のステートを通過するパスのひとつによって一対一の関係で対応付けることができる。また、これらのパスを通過するようなパーシャルレスポンス系列と、実際の信号との間のユークリッド距離は、上記のパスを構成するステート間遷移、すなわち、ブランチにおける前述のブランチメトリックを順次加算していくことで得られる。
さらに、上記のユークリッド距離を最小にするようなパスを選択するには、この各ステートにおいて到達する2つ以下のブランチが有するパスメトリックの大小を比較しながら、パスメトリックの小さいパスを順次選択することで実現できる。この選択情報をパスメモリレジスタに転送することで、各ステートに到達するパスをビット系列で表現する情報が記憶される。パスメモリレジスタの値は、順次更新されながら最終的にユークリッド距離を最小にするようなビット系列に収束していくので、その結果を出力する。以上のようにすると、再生信号にユークリッド距離が最も近いパーシャルレスポンス系列を生成するビット系列を効率的に検索することができる。
【0005】
このようなPRMLを用いたビット検出においては、そのビット検出能力の指標として、以下に説明するSAMジッタを用いることが提案されている。
PRMLによるビット検出では、正しいビット系列から得られるパーシャルレスポンス系列と再生信号とのユークリッド距離、すなわち、正しいビット系列に対するパスメトリックが、誤りのあるビット系列から得られるパーシャルレスポンス系列と再生信号とのユークリッド距離、すなわち、誤りのあるビット系列に対するパスメトリックよりも小なる場合に、正しいビット検出が実行され、逆の場合には誤りが発生する。
従って、PRMLのビット検出の能力は、前者のパスメトリックと後者のパスメトリックの差、すなわち、差動メトリックが0からどれだけ離れているか、その大きさによって決定する。換言すれば、差動メトリックが小さいほどエラー発生の可能性が高いと推定できる。
また、誤りのあるビット系列の中でも、誤りの大半を占める最も重要な系列は、正しい系列から得られるパーシャルレスポンス系列とのユークリッド距離が最も近くなるような別のパーシャルレスポンス系列を与えるビット系列である。このような系列は、たとえば、ターゲットレスポンスがPR(1,2,2,1)のPRMLでは、1ビットのみ誤りがある場合である。
このため、PRMLによるビット検出では、正しいビット系列から得られるパーシャルレスポンス系列と再生信号のユークリッド距離と、1ビットのみ誤りがあるビット系列のパーシャルレスポンス系列と再生信号のユークリッド距離の差分の大きさがPRMLによるビット検出の能力を決定すると考えられる。
【0006】
上記の2つのパーシャルレスポンス系列(正しいビット系列から得られるパーシャルレスポンス系列と、1ビット単独誤りがあるビット系列から得られるパーシャルレスポンス系列)に対して定義される再生信号とのユークリッド距離の差分について数式を用いて説明する。
まず、正しいビット系列に対するパスメトリック、すなわち、正しいビット系列から得られるパーシャルレスポンス系列と再生信号との間のユークリッド距離Mcは、以下の式でえられる。
Mc=Σni2
ただし、niは再生信号のサンプルにおけるノイズであり、平均0、標準偏差nのガウス分布に従う白色ノイズである。また、Σは全てのチャネルクロックiについて全て加算を意味している。
この式の導出は、PRMLでは、再生信号が正しいビット系列から得られるパーシャルレスポンス系列にノイズを加算した信号として得られるものである、と仮定していることに拠っている。
【0007】
次に、1ビット単独誤りのあるビット系列に対するパスメトリック、すなわち、1ビット単独誤りのあるビット系列から得られるパーシャルレスポンス系列と再生信号との間のユークリッド距離Meは、以下の式で与えられる。
Me=Σ(ci−ni)2
ただし、ciはターゲットレスポンスの係数であり、PR(1,2,2,1)ならば1,2,2,1,0・・・となる。
従って、その差分、すなわち差動メトリックdMは、以下の式で与えられる。
dM=Me−Mc=Σ|ci|2−2Σni・ci
ここで、Σ|ci|2は、1ビット異なる2つのビット系列から得られるパーシャルレスポンス系列のユークリッド距離に相当する。前に述べたように、この差分が、負となる場合に誤りが生ずる。また、この差分が負となるような確率は、ノイズniの標準偏差nが大きくなればなるほど高くなる。
従って、このノイズの分布nが、ビットエラーレートに対して直接寄与する指標である。しかし、nは、検出可能な量ではない。
そこで、nの代わりに、検出可能な量として差動メトリックdMと、既知の量Σ|ci|2を用いて、
j=√V(dM)/(2・Σ|ci|2)
を定義すれば、jをビットエラーレートに直接寄与する指標として用いることができる。
ただし、V(dM)は、差動メトリックdMの分散を表している。また、Σはチャネルクロックiについて全て加算である。
以上のように定義されたジッタjをSAMジッタと呼ぶ。
なお、jの定義式にdMを代入して変形すると、以下の式が得られる。
j=√(V(ni)・2・Σ|ci|2) /(2・Σ|ci|2)
=n/√(2・Σ|ci|2)
ここで、√Σ|ci|2は、ランダムなビット系列をパーシャルレスポンスチャネルで等化した場合の信号エネルギーに相当する。従って、SAMジッタjは、SN比に反比例していることがわかる。
【0008】
以上のように、PRMLをもちいたビット検出を行う場合、ビットエラーレートに対応する指標としては、振幅軸方向の揺らぎを取り込んだ指標を用いることが望ましいことがわかる。具体的には、正しいビット系列のパスメトリック、1ビット単独の誤りがあるビット系列のパスメトリックの差である差動メトリックの標準偏差を、信号パワーで除算した指標、つまり上記SAMジッタが有効であることがわかる。
なお、SAMジッタは、厳密に言えば、正しいビット系列がわかっていなければ定義できないものであるが、上記特許文献1,2,3,4に示されるように、ビタビ復号で最終的に検出されたビット系列を正しいビット系列と仮定してSAMジッタを用いる技術が知られている。
【発明の開示】
【発明が解決しようとする課題】
【0009】
PRML検出方式は、通信情報、磁気テープ、ハードディスクなど多くの分野にわたって、広く用いられて効果を発揮している。しかしながら、光ディスク再生に関しては、特に光ディスクに顕著な信号の非線形性、アシンメトリのため、必ずしもその効果を強く発揮しているとはいえない。
アシンメトリの問題は、上述のパーシャルレスポンスによって得られる信号レベルにさらに余分な定数が加わる問題である。したがって、この定数を自動検出して補正すれば上記の問題は解決できる。
【0010】
現在、このような自動検出機能を用いる方法として、実際に検出された信号の信号レベルに応じてパーシャルレスポンスの基準レベルを適応的に調整する機能を設ける適応PRML検出法が提案されている。
この方法によれば、アシンメトリを解決するのみならず、信号レベルの回転変動などにも適応できる。これは、信号レベルの回転変動に追従するための適切な遮断周波数を設定することで、回転変動程度の周波数での変動を自動的に補正することでなされる。
さらに、この遮断周波数を高い周波数に設定すれば、ディスク上のごみなど比較的な大きな(1mm程度)の外乱に対しても信号レベルの補正ができる。この結果、検出ビット列のビットエラーレートは削減され、外乱に対する信頼性も向上し、より高密度の光ディスクに対応できるようになることが期待されている。
【0011】
しかし、この適応PRML方式は、従来のパーシャルレスポンスと異なり、パーシャルレスポンスの基準レベルを簡単な整数比を用いて設定することができない。したがって、従来簡略化されていた計算、特に掛け算で大幅に処理量が増えるため、演算速度の向上、また、回路規模の縮小に対する妨げとなっている。
また、この適応PRML方式はパーシャルレスポンスの基準レベルを、フィードバックを用いて設定している。このため、このレベルが不適切なレベルに陥った際にPRML検出は正しく動作しなくなる。
さらに、PRML検出を用いる場合の信号評価法として検討されているSAMジッタの検出においても、適応的な基準レベル調整があるPRML検出では、信号間のユークリッド距離として何をもちいればよいか、あるいは、最小距離はどのようにするかなどが確定しておらず、このことに付随した課題がある。
【0012】
以上の問題点を鑑みると、適応レベル調整機能を設けたPRML検出は、アシンメトリやレベル変動の問題を解決するが、PRML検出器そのものに変更を加えているため、回路動作が不安定になり、回路規模が大きくなるという問題があり、また、信号評価を適切に行えないという問題がある。
【0013】
そこで本発明では、PRML復号装置の内部構成を変更せずに、アシンメトリやレベル変動の問題を解決して、また、適切な信号評価を同時に実現できるような手法を実現することを課題とする。
【課題を解決するための手段】
【0014】
本発明のPRML復号装置は、入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出手段と、上記ビット検出手段における生き残りパスの差動メトリックを計算する差動メトリック計算手段と、上記差動メトリックを上記ビット検出手段で検出されたビット系列のパタンごとに分類する差動メトリック分類手段と、上記差動メトリック分類手段で分類された差動メトリックについて、それぞれの低域周波数成分の補正を行う差動メトリック補正手段と、上記差動メトリック補正手段で補正された差動メトリックを用いて所定の処理を行う処理手段とを備える。
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する。例えば上記差動メトリック補正手段で補正された差動メトリックが、上記ユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることで検出ビット値の修正を行う。
又は、上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックの標準偏差を計算することで、上記ビット検出手段で検出された検出ビット値についての評価値を生成する。
【0015】
また上記差動メトリック分類手段は、上記ビット検出手段で検出されたビット系列としてのビットパタンと、所定の規則に従う分類用ビットパタンを照合し、ビットパタンが合致するパタンテーブルに、上記差動メトリック計算手段から供給される差動メトリックを分類する。
また上記差動メトリック補正手段は、上記パタンテーブル毎に分類された差動メトリックについて、それぞれの有する低周波成分を補正する。
【0016】
上記分類用ビットパタンとは、上記ビット検出手段で検出されるビット系列としてのビットパタンのうち、1ビットだけ異なるビットパタンが存在するビットパタンであるとする。
この場合において、上記ビット検出手段が、d1規則に従う信号についてのビタビ検出処理を行う場合、上記各パタンテーブルに対応する各分類用ビットパタンは、それぞれが5ビット以上のビットパタンであるとともに、複数の分類用ビットパタンとして、11000を含むビットパタン、11100を含むビットパタン、00011を含むビットパタン、00111を含むビットパタンが設定されている。
上記差動メトリック計算手段で計算する上記生き残りパスの差動メトリックは、上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列と1ビットだけ異なるビット系列に対応するパスメトリックとの間の差分である。
そして上記処理手段を、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する処理手段とする場合、上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックの値が、1ビットだけ異なる2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることで検出ビット値の修正を行う。
【0017】
また、上記分類用ビットパタンとは、上記ビット検出手段で検出されるビット系列としてのビットパタンのうち、最短ランレングスのランを一つだけ含み、上記最短ランレングスのランを1ビットシフトさせたビットパタンが存在するパタンであるとする。
この場合において、上記ビット検出手段が、d1規則に従う信号についてのビタビ検出処理を行う場合、上記各パタンテーブルに対応する各分類用ビットパタンは、それぞれが7ビット以上のビットパタンであるとともに、複数の分類用ビットパタンとして、0011000を含むビットパタン、0001100を含むビットパタン、1110011を含むビットパタン、1100111を含むビットパタンが設定されている。
上記差動メトリック計算手段で計算する上記生き残りパスの差動メトリックは、上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列に含まれる最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分である。
そして上記処理手段を、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する処理手段とする場合、上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックの値が、最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることで検出ビット値の修正を行う。
【0018】
また上記分類用ビットパタンとは、上記ビット検出手段で検出されるビット系列としてのビットパタンのうち、最短ランレングスのランが2つ以上連続する箇所を含み、上記連続する2つ以上の最短ランレングスのランを1ビットシフトさせたビットパタンが存在するパタンであるとする。
上記差動メトリック計算手段で計算する上記生き残りパスの差動メトリックは、上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列に含まれる2つ以上の連続した最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分である。
そして上記処理手段を、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する処理手段とする場合、上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックの値が、2つ以上の連続する最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることで検出ビット値を修正する。
【0019】
本発明のPRML復号方法は、入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出ステップと、上記ビット検出ステップにおける生き残りパスの差動メトリックを計算する差動メトリック計算ステップと、上記差動メトリックを、上記ビット検出ステップで検出されたビット系列のパタンごとに分類する差動メトリック分類ステップと、上記差動メトリック分類ステップで分類された差動メトリックについて、それぞれの低域周波数成分の補正を行う差動メトリック補正ステップと、上記差動メトリック補正ステップで補正された差動メトリックを用いて所定の処理を行う処理ステップとを備える。
上記処理ステップでは、上記差動メトリック補正ステップで補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出ステップで検出された検出ビット値を修正する。
或いは、上記処理ステップでは、上記差動メトリック補正ステップで補正された差動メトリックの標準偏差を計算することで、上記ビット検出ステップで検出された検出ビット値についての評価値を生成する。
【0020】
即ち本発明では、PRML検出における差動メトリックをパタンごとに分類して低域成分を補正する。そして補正された差動メトリックから再度ビット値を検出すれば、信号のアシンメトリなどの非線形成分を除去したビット検出がなされ、また、補正された差動メトリックを用いてビットエラーレートと相関のあるジッタ指標を算出できる。
【発明の効果】
【0021】
本発明によれば、PRML復号においてアシンメトリに由来するビットパタンごとのオフセットを補正した差動メトリックを得ることができる。
このため、オフセットを補正した差動メトリックを用いて再度ビット検出、つまりビット検出手段で検出したビット値の修正を行うことが可能である。つまりPRML方式において、アシンメトリに由来する成分を除去して修正を行ったビット検出を行うことが可能となる。
またこのようなビット検出の修正効果によれば、従来の適応型PRMLビット検出と同等程度のビット検出能力が期待できる。したがって、本発明によっては、適応PRMLビット検出方式を用いることなく、アシンメトリによるビット誤りの削減ができるという効果も得られる。これはPRML復号装置の構成の変更や演算の複雑化を招かないということになる。
【0022】
またオフセットを補正した差動メトリックを用いて標準偏差を計算して得たSAMジッタを信号評価値とすることで、適切な信号評価が可能になるという効果が得られる。
つまりアシンメトリのある信号からのPRMLビット検出において、適応レベル調整を用いずにアシンメトリ補正を施したビット検出が実現でき、また、そのビットエラーレートの見積もりを行うSAMジッタ信号評価において、検出ビットに相関をもつ適正な指標を得ることができる。
【発明を実施するための最良の形態】
【0023】
以下、本発明の実施の形態を説明する。
図1は、実施の形態のPRML復号装置を含む再生装置の概要を表すブロック図である。
図1に示すように、本例の再生装置は、光ディスク90などの記録媒体からビット情報を再生する光ピックアップ1、光ピックアップ1で読み取られた信号を再生信号(RF信号)に変換するプリアンプ2、再生信号をA/D変換するA/D変換器3、PLL処理のために再生信号の波形を整えるイコライザ4、再生信号からクロックを再生するPLL回路5、再生信号からビット情報を検出するPRML復号装置6、ビット情報を復調するRLL(1−7)pp復調器などの復調器8、復調された情報の誤り訂正を行うRSデコーダ9、誤り訂正された情報を処理してアプリケーションデータを再生するCPUブロック10などで構成されている。
【0024】
光ディスク90は例えばROMタイプのディスクが想定される。もちろんライトワンスタイプのディスクやリライタブルタイプのディスクの場合もある。
光ピックアップ1、プリアンプ2を通して光ディスク90から再生された再生信号(RF)は、A/D変換器3で数値化サンプリングされる(RF(Sampled))。このサンプリングは、PLL回路5で再生されたチャネルビットに同期したクロックと同じタイミングで行われる。
サンプリングされた再生信号のサンプリング情報は、イコライザ4で波形を整えられた後、PRML復号装置6に入力されて、ビット情報が判定される。
ここでは、PRML復号装置6は、記録時の変調方式の制約に従ってD1制約(最小ランレングスd=1で最短マーク長が2T)を満たすように構成し、さらに、PRMLのターゲットレスポンスはPR(1,2,2,1)であるとする。なお、これ以外に、例えばターゲットレスポンスをPR(1,2,2,2,1)等に設定する場合もある。
なお、本例のPRML復号装置6は、ビット検出の精度を測定する信号品質評価指標としてSAMジッタを検出できるようにもされている。
【0025】
PRML復号装置6で得られたビット情報は、復調器8で記録時の変調方式に従って復調され、さらに、RSデコーダ9でECCブロックのリード・ソロモン符号を復号して誤りを訂正し、CPUブロック10はEDCブロックにおける誤り検出符号に誤りが検出されていないことを確認することで、もとのアプリケーションデータを復元する。
【0026】
図2は、図1に示したPRML復号装置6の構成を表している。
PRML復号装置6は、チャネルレスポンスをターゲットレスポンスに等化する波形等化器(イコライザ)20と、このイコライザ20の出力からビタビ検出を行う最尤検出器21と、再生信号をビット検出に同期するように遅延させる遅延回路25と、6ビットレジスタ26と、パス比較の際の差動メトリックdMを算出する差動メトリック計算器(DMC)27と、得られた差動メトリックdMを補正する、SAM補正部28と、ビット修正器29と、SAMジッタ計算器30を有して構成される。
【0027】
イコライザ20は、入力信号(RF)をターゲットレスポンスPR(1,2,2,1)に等化する。イコライザ20でPR等化された入力信号RFは最尤検出器21に供給される。
最尤検出器21は、ターゲットレスポンスPR(1,2,2,1)の元で、d1規則に従うビット系列を検出し、検出ビット値を順次ビットシーケンスとして出力する。
最小ランレングス規則としてのD1制約(最小ランレングスd=1で最短マーク長が2T)がある場合、例えば最尤検出器21は、3ビットで構成される6個のステートと、4ビットで構成される10個のブランチが用意され、これらのブランチが、ステートの間をD1制約に従って接続するように構成されている。
【0028】
差動メトリック計算器27には、イコライザ20でPR等化された入力信号が遅延回路25を介して供給されるとともに、最尤検出器21で検出される検出ビット列(ビットシーケンス)が供給される。なお、遅延回路25は、イコライザ20でPR等化された入力信号と、最尤検出器21から出力される検出ビット列の間の時間差を補償するものである。
そして差動メトリック計算器27は、入力された信号から以下の値としての差動メトリックに準ずる値dM(以下では差動メトリックdMと表記)を計算する。
dM=(qn−pn)+2(qn-1−pn-1)+2(qn-2−pn-2)+(qn-3−pn-3)
但し、qnはイコライザ20の出力、pnは検出ビット系列から得られるパーシャルレスポンス出力であり、nは時刻を表す。
この差動メトリック(に準ずる値)dMの値は、その正負を除けば、1ビット異なるビット系列との実際の差動メトリックからユークリッド距離を引いた値に等しい。
【0029】
6ビットレジスタ26は、最尤検出器21からビットシーケンスとして順次出力される各ビット値が供給され、常に最新のビット値を含む6ビットが保持されるレジスタである。
そして6ビットのビットパタンをSAM補正部28とSAMジッタ計算器30に供給する。
【0030】
SAM補正部28は、差動メトリック分類器(DEMUX)91と、差動メトリック補正器(Compensator)92と、差動メトリック復元器(MUX)93で構成される。
ここでは差動メトリック選択器91は、6ビットの検出ビット系列、つまり6ビットレジスタ26からのビットパタンに基づき、差動メトリック計算器27からの差動メトリックdMを分類する。6ビットの分類用ビットパタンは、図に示したように110000、111000、110001、111001、000110、001110、000111、001111とする。
分類用ビットパタンとされる、この8個の6ビットパタンでは、どのパタンにも1ビットだけ異なる別のパタンが必ず存在している。
また、全ての検出ビット系列の6ビットのパタンは、最小ランレングスのランが連続していない箇所ではこれらのパタンのいずれかにあてはまる。
差動メトリック補正器92は、分類された差動メトリックdMの低周波数成分を補正する。
差動メトリック復元器93は、分類された差動メトリックdMを元に戻す。なお、差動メトリック復元器93は、全体のSAMジッタを求めるときに用いるものであり、必ずしも必要ではない。
【0031】
ビット修正器29は、SAM補正部28で補正された差動メトリックdMを用いて再度ビット検出を行う。つまり最尤検出器21で検出される検出ビットに対して修正を行い、修正ビットシーケンスを出力する。
ここでのビット修正は、補正された差動メトリックdMがユークリッド距離=10を越えるか超えないかで判断する。なお、「10」とは、PR(1,2,2,1)において生き残りパスと、生き残りパスに対して1ビット誤りの或るパスとの間のユークリッド距離である。
【0032】
SAMジッタ計算器30は補正された差動メトリックdMを用いて標準偏差を計算することで、SAMジッタの計算を行う。そしてSAMジッタの値を、評価値として出力する。
【0033】
なお、この図2の構成例においては、イコライザ20及び最尤検出器21が、本発明請求項のビット検出手段に相当する。また差動メトリック計算器27が、本発明請求項の差動メトリック計算手段に相当する。また差動メトリック分類器91が本発明請求項の差動メトリック分類手段に相当し、差動メトリック補正器92が本発明請求項の差動メトリック補正手段に相当する。さらに、ビット修正器29又はSAMジッタ計算器30が、本発明請求項の処理手段に相当する。
【0034】
以下、図2の各部を詳細に説明する。
図3は図2のイコライザ20の一例である。このイコライザ20は、フリップフロップ31A〜31F、掛け算器32A〜32G、および加算器33によって構成され、波形等化フィルタを成している。
入力された再生信号(図1のイコライザ4からPRML復号装置6に供給される再生信号RF(Sampled))は、フリップフロップ31A〜31Fを経て、チャネルクロックで1クロックずつ遅延した7つの信号に分岐される。
次に、分岐された7つの信号は、それぞれ掛け算器32A〜32Gによって、それぞれ異なる倍率(係数k0〜k6)で増幅される。
最後にこれらの掛け算器32A〜32Gによって増幅された各信号は、加算器33によって加算されて、その出力が等化信号として出力される。
ここで、掛け算器32A〜32Gの係数k0〜k6は、等化信号のターゲットレスポンスに対する等化誤差が最小となるような係数を用いている。この係数は、たとえばLMSアルゴリズムなどで自動的に求めるようにすることが望ましい。LMSアルゴリズムを用いる場合、各係数は以下の演算によってもとめる。
k0=k0+ε・rn-3・(pn−qn)、
k1=k1+ε・rn-2・(pn−qn)、
k2=k2+ε・rn-1・(pn−qn)、
k3=k3+ε・rn-0・(pn−qn)、
k4=k4+ε・rn+1・(pn−qn)、
k5=k5+ε・rn+2・(pn−qn)、
k6=k6+ε・rn+3・(pn−qn)、
ただし、εはフィードバック定数で0.001程度である。rn、pn、qn、はそれぞれ時刻nの入力信号、パーシャルレスポンス信号、等化信号である。
【0035】
なお、この図3の例は、7クロックはなれた信号を用いた7タップのイコライザの場合である。このタップ数は、必ずしも7つである必要はなく、より精度よく符号間干渉を取り除くのであればさらに増やしたり、あるいは、規模を小さくするならこれよりも減らしたりして、目的に応じて変更されればよい。
いずれにしてもイコライザ20は、パーシャルレスポンス等化を実現できればどのようなイコライザでもよい。
【0036】
図4は最尤検出器21の一例であり、最尤検出器21は、各ブランチに対してブランチメトリックを計算するブランチメトリック計算ユニット(BMC)22と、ブランチメトリックを取り込んでブランチを比較してパスの選択を行いパスメトリックの更新を行うパスメトリック更新ユニット(ACS)23と、選択されたパス情報に従いパスメモリの更新を行うパスメモリ更新ユニット(PMEM)24で構成される。
ブランチメトリック計算ユニット22では、ビット系列0000、0001、1000、1001、0011、1100、0110、0111、1110、1111に対して、これらに対応するパーシャルレスポンスレベル−3、−2、−2、−1、0、0、1、2、2、3と入力信号の間のユークリッド距離を計算する。
パスメトリック更新ユニット23では、ビット列0000、0001、1000、1001、0011、1100、0110、0111、1110、1111に対して、このビット列に到達するまでのパスのうちパスメトリックの小さいものを選択し、ブランチメトリックを加算し、次のパスメトリックとして更新する。
パスメモリ更新ユニット24では、ビット列0000、0001、1000、1001、0011、1100、0110、0111、1110、1111に対して、このビット列に到達するまでのパスのパスメモリをシフトさせて最下位ビットを付け加えて次のパスメモリとして更新する。さらに、たとえばビット列0000に到達したパスメモリを選択して、その最上位ビットを最尤検出器21の検出ビットとして出力する。
【0037】
図5は、PR(1,2,2,1)をターゲットレスポンスとする最尤検出器21におけるブランチメトリック計算ブロック22の構成である。
このブランチメトリック計算ユニット22は、基準値レジスタ41A〜41J、減算器42A〜42J、掛け算器43A〜43J、ブランチメトリックレジスタ44A〜44Jを有している。
このブランチメトリック計算ユニット22には、まず上述のイコライザ20を経て得られた等化信号qnが入力される。
基準値レジスタ41Aはビット列0000に対応する基準レベルr0000を記憶する。
基準値レジスタ41Bはビット列0001に対応する基準レベルr0001を記憶する。
基準値レジスタ41Cはビット列1000に対応する基準レベルr1000を記憶する。
基準値レジスタ41Dはビット列1001に対応する基準レベルr1001を記憶する。
基準値レジスタ41Eはビット列0011に対応する基準レベルr0011を記憶する。
基準値レジスタ41Fはビット列1100に対応する基準レベルr1100を記憶する。
基準値レジスタ41Gはビット列0110に対応する基準レベルr0110を記憶する。
基準値レジスタ41Hはビット列0111に対応する基準レベルr0111を記憶する。
基準値レジスタ41Iはビット列1110に対応する基準レベルr1110を記憶する。
基準値レジスタ41Jはビット列1111に対応する基準レベルr1111を記憶する。
【0038】
なお、ここではターゲットレスポンスをPR(1,2,2,1)としており、ビット列ijklに対する基準レベルrijklは、
r0000=−3、
r0001=−2、
r1000=−2、
r1001=−1、
r0011=0、
r1100=0、
r0110=1、
r0111=2、
r1110=2、
r1111=3、
となる。
【0039】
ブランチメトリックレジスタ44Aは、信号qnと基準レベルr0000の間のブランチメトリックm0000を記憶する。
ブランチメトリックレジスタ44Bは、信号qnと基準レベルr0001の間のブランチメトリックm0001を記憶する。
ブランチメトリックレジスタ44Cは、信号qnと基準レベルr1000の間のブランチメトリックm1000を記憶する。
ブランチメトリックレジスタ44Dは、信号qnと基準レベルr1001の間のブランチメトリックm1001を記憶する。
ブランチメトリックレジスタ44Eは、信号qnと基準レベルr0011の間のブランチメトリックm0011を記憶する。
ブランチメトリックレジスタ44Fは、信号qnと基準レベルr1100の間のブランチメトリックm1100を記憶する。
ブランチメトリックレジスタ44Gは、信号qnと基準レベルr0110の間のブランチメトリックm0110を記憶する。
ブランチメトリックレジスタ44Hは、信号qnと基準レベルr0111の間のブランチメトリックm0111を記憶する。
ブランチメトリックレジスタ44Iは、信号qnと基準レベルr1110の間のブランチメトリックm1110を記憶する。
ブランチメトリックレジスタ44Jは、信号qnと基準レベルr1111の間のブランチメトリックm1111を記憶する。
【0040】
基準値レジスタ41Aからブランチメトリックレジスタ44A、
基準値レジスタ41Bからブランチメトリックレジスタ44B、
基準値レジスタ41Cからブランチメトリックレジスタ44C、
基準値レジスタ41Dからブランチメトリックレジスタ44D、
基準値レジスタ41Eからブランチメトリックレジスタ44E、
基準値レジスタ41Fからブランチメトリックレジスタ44F、
基準値レジスタ41Gからブランチメトリックレジスタ44G、
基準値レジスタ41Hからブランチメトリックレジスタ44H、
基準値レジスタ41Iからブランチメトリックレジスタ44I、
基準値レジスタ41Jからブランチメトリックレジスタ44J、
にいたる過程には、それぞれ減算器42(42A〜42J)と掛け算器43(43A〜43J)が一つずつ用意されている。
【0041】
各減算器(42A〜42J)では、入力信号qnと、対応するレジスタ(41A〜41J)から得られた基準レベルの信号を入力し、その差分を出力する。
また、各掛け算器(43A〜43J)は、対応する減算器(42A〜42J)から出力された差分を二乗した値を出力する。このそれぞれの掛け算器(43A〜43J)から出力された値が、各ブランチメトリックレジスタ(44A〜44J)において記憶されるブランチメトリックm0000〜m1111となる。
この場合、ブランチメトリックmijklは、
mijkl=(qn−rijkl)2
である。ここでqnは時刻nの入力信号である。
【0042】
但しブランチメトリックは、相対値がわかれば充分であり、したがって、qn2の項はなくてもよい。このため図5のブランチメトリックレジスタ44A〜44Jに示すように、ブランチメトリックmijklは、
mijkl=−rijkl(2qn−rijkl)
とすればよい。このようにすれば、掛け算器43の容量を削減することができる。
なお、掛け算器43のかわりに絶対値計算器を配してもよい。
【0043】
以上のようにして得られて各ブランチメトリックレジスタ44A〜44Jに記憶されたブランチメトリックm0000〜m1111は、チャネルビットクロック毎に更新されるとともに、次段のパスメトリック更新ユニット23に出力される。
【0044】
図6は、PR(1,2,2,1)をターゲットレスポンスとする最尤検出器21におけるパスメトリック更新ユニット23を示している。
図6のパスメトリック更新ユニット23は、パスメトリックレジスタ51A〜51J、及び52A〜52Jと、フリップフロップ53A〜53Jを有して構成されている。
【0045】
パスメトリックレジスタ51Aには、ブランチb0000における生き残りパスのパスメトリックpm0000が記憶されている。
ビット列0000に到達したパスのパスメトリックの演算は、
pm0000=min(pm0000、pm1000)+m0000
で表される。min(A,B)はA,Bのうち小さいものを選ぶ演算である。
つまりパスメトリックレジスタ52Aでは、ブランチb0000に至るパスのパスメトリックpm0000として、pm0000+m0000、pm1000+m0000のうち小さい値が選択される。
なお、上記パスメトリック値を計算するためのメトリックm0000、m1000は図5のブランチメトリック計算ユニット22から入力される。図6においてブランチメトリック{mijkl}として示しているのは、図5のブランチメトリックレジスタ44A〜44Jから供給されるブランチメトリックm0000〜m1111のことである。後述するパスメトリックレジスタ52B〜52Jにおけるメトリックmijklも同様である。
フリップフロップ53Aによってラッチされたパスメトリックレジスタ52Aの値は、パスメトリックレジスタ51Aの値として記憶される。
【0046】
パスメトリックレジスタ51Bには、ブランチb0001における生き残りパスのパスメトリックpm0001が記憶されている。
ビット列0001に到達したパスのパスメトリックの演算は、
pm0001=min(pm0000、pm1000)+m0001
で表される。つまりパスメトリックレジスタ52Bでは、ブランチb0001に至るパスのパスメトリックpm0001として、pm0000+m0001、pm1000+m0001のうち小さい値が選択される。
フリップフロップ53Bによってラッチされたパスメトリックレジスタ52Bの値は、パスメトリックレジスタ51Bの値として記憶される。
【0047】
パスメトリックレジスタ51Cには、ブランチb1000における生き残りパスのパスメトリックpm1000が記憶されている。
ビット列1000に到達したパスのパスメトリックの演算は、
pm1000=pm1100+m1000
で表される。パスメトリックレジスタ52Cには、ブランチb1000に至るパスのパスメトリックpm1000=pm1100+m1000が記憶される。
フリップフロップ53Cによってラッチされたパスメトリックレジスタ52Cの値は、パスメトリックレジスタ51Cの値として記憶される。
【0048】
パスメトリックレジスタ51Dには、ブランチb1001における生き残りパスのパスメトリックpm1001が記憶されている。
ビット列1001に到達したパスのパスメトリックの演算は、
pm1001=pm1100+m1001
で表される。パスメトリックレジスタ52Dには、ブランチb1001に至るパスのパスメトリックpm1001=pm1100+m1001が記憶される。フリップフロップ53Dによってラッチされたパスメトリックレジスタ52Dの値は、パスメトリックレジスタ51Dの値として記憶される。
【0049】
パスメトリックレジスタ51Eには、ブランチb0011における生き残りパスのパスメトリックpm0011が記憶されている。
ビット列0011に到達したパスのパスメトリックの演算は、
pm0011=min(pm0001、pm1001)+m0011
で表される。パスメトリックレジスタ52Eでは、ブランチb0011に至るパスのパスメトリックpm0011として、pm0001+m0011、pm1001+m0011のうち小さい値が選択される。フリップフロップ53Eによってラッチされたパスメトリックレジスタ52Eの値は、パスメトリックレジスタ51Eの値として記憶される。
【0050】
パスメトリックレジスタ51Fには、ブランチb1100における生き残りパスのパスメトリックpm1100が記憶されている。
ビット列1100に到達したパスのパスメトリックの演算は、
pm1100=min(pm0110、pm1110)+m1100
で表される。パスメトリックレジスタ52Fでは、ブランチb1100に至るパスのパスメトリックpm1100としてpm0110+m1100、pm1110+m1100のうち小さい値が選択される。フリップフロップ53Fによってラッチされたパスメトリックレジスタ52Fの値は、パスメトリックレジスタ51Fの値として記憶される。
【0051】
パスメトリックレジスタ51Gには、ブランチb0110における生き残りパスのパスメトリックpm0110が記憶されている。
ビット列0110に到達したパスのパスメトリックの演算は、
pm0110=pm0011+m0011
で表される。パスメトリックレジスタ52Gには、ブランチb0110に至るパスのパスメトリックpm0110=pm0011+m0110が記憶される。フリップフロップ53Gによってラッチされたパスメトリックレジスタ52Gの値は、パスメトリックレジスタ51Gの値として記憶される。
【0052】
パスメトリックレジスタ51Hには、ブランチb0111における生き残りパスのパスメトリックpm0111が記憶されている。
ビット列0111に到達したパスのパスメトリックの演算は、
pm0111=pm0011+m0111
で表される。パスメトリックレジスタ52Hには、ブランチb0111に至るパスのパスメトリックpm0111=pm0011+m0111が記憶される。フリップフロップ53Hによってラッチされたパスメトリックレジスタ52Hの値は、パスメトリックレジスタ51Hの値として記憶される。
【0053】
パスメトリックレジスタ51Iには、ブランチb1110における生き残りパスのパスメトリックpm1110が記憶されている。
ビット列1110に到達したパスのパスメトリックの演算は、
pm1110=min(pm0111、pm1111)+m1110
で表される。パスメトリックレジスタ52Iでは、ブランチb1110に至るパスのパスメトリックpm1110としてpm0111+m1110、pm1111+m1110のうち小さい値が選択される。フリップフロップ53Iによってラッチされたパスメトリックレジスタ52Iの値は、パスメトリックレジスタ51Iの値として記憶される。
【0054】
パスメトリックレジスタ51Jには、ブランチb1111における生き残りパスのパスメトリックpm1111が記憶されている。
ビット列1111に到達したパスのパスメトリックの演算は、
pm1111=min(pm0111、pm1111)+m1111
で表される。パスメトリックレジスタ52Jでは、ブランチb1111に至るパスのパスメトリックpm1111としてpm0111+m1111、pm1111+m1111のうち小さい値が選択される。フリップフロップ53Jによってラッチされたパスメトリックレジスタ52Jの値は、パスメトリックレジスタ51Jの値として記憶される。
【0055】
以上のようにして、各ブランチにおける、そのブランチにいたるまでのパスメトリックが更新される。
一方、各ブランチでのパスの選択情報、つまりパスメトリックの比較選択の際にいずれのパスを選らんだかの情報を、図5において{Sijkl}として示しているが、このパス選択情報{Sijkl}は、次に述べるパスメモリ更新ユニット24に出力される。
【0056】
図7は、PR(1,2,2,1)をターゲットレスポンスとする最尤検出器21におけるパスメモリ更新ユニット24を示している。
図7のパスメモリ更新ユニット24は、パスメモリレジスタ61A〜61J、62A〜62Jと、フリップフロップ63A〜63Jによって構成されている。
なお図7においては、上記パスメトリック更新ユニット23から供給されるパス選択情報を{Sijkl}として示している。
【0057】
パスメモリレジスタ61Aには、ブランチb0000における生き残りパスのパスメモリM0000が記憶されている。
ビット列0000に到達したパスのパスメモリの更新は、
M0000=2・select(S0000、M0000、M1000)+0
で表される。なお、select(S,A,B)はパスの選択情報Sに基づいてA,Bを選択する演算である。
つまりパスメモリレジスタ62Aでは、ブランチb0000に至る2つのパスのパスメモリM0000、M1000うち、パスメトリックが小さくなるパスのパスメモリを選択し、選択されたメモリ値を2倍して0を加算して記憶する。このパスの選択情報は、図6のパスメトリック更新ユニット23におけるブランチb0000での比較結果を元にしている。フリップフロップ63Aによってラッチされたパスメモリレジスタ62Aの値は、パスメモリレジスタ61Aの値として記憶される。
【0058】
パスメモリレジスタ61Bには、ブランチb0001における生き残りパスのパスメモリM0001が記憶されている。
ビット列0001に到達したパスのパスメモリの更新は、
M0001=2・sel(S0001、M0000、M1000)+1
で表される。このためパスメモリレジスタ62Bでは、ブランチb0001に至る2つのパスのパスメモリM0000、M1000うち、パスメトリックが小さくなるパスのパスメモリを選択し、選択されたメモリ値を2倍して1を加算して記憶する。このパスの比較情報は、パスメトリック更新ユニット23におけるブランチb0001での比較結果を元にしている。フリップフロップ63Bによってラッチされたパスメモリレジスタ62Bの値は、パスメモリレジスタ61Bの値として記憶される。
【0059】
パスメモリレジスタ61Cには、ブランチb1000における生き残りパスのパスメモリM1000が記憶されている。
ビット列1000に到達したパスのパスメモリの更新は、
M1000=2・M1100+0
で表される。このためパスメモリレジスタ62Cでは、ブランチb1000に至るパスのパスメモリM1100を2倍し、0を加算して記憶する。フリップフロップ63Cによってラッチされたパスメモリレジスタ62Cの値は、パスメモリレジスタ61Cの値として記憶される。
【0060】
パスメモリレジスタ61Dには、ブランチb1001における生き残りパスのパスメモリM1001が記憶されている。
ビット列1001に到達したパスのパスメモリの更新は、
M1001=2・M1100+1
で表される。パスメモリレジスタ62Dでは、ブランチb1001に至るパスのパスメモリM1100を2倍し、1を加算して記憶する。フリップフロップ63Dによってラッチされたパスメモリレジスタ62Dの値は、パスメモリレジスタ61Dの値として記憶される。
【0061】
パスメモリレジスタ61Eには、ブランチb0011における生き残りパスのパスメモリM0011が記憶されている。
ビット列0011に到達したパスのパスメモリの更新は、
M0011=2・sel(S0011、M0001、M1001)+1
で表される。パスメモリレジスタ62Eでは、ブランチb0011に至る2つのパスのパスメモリM0001、M1001のうち、パスメトリックが小さくなるパスのパスメモリを選択し、選択されたメモリ値を2倍して1を加算して記憶する。このパスの選択情報は、図6のパスメトリック更新ユニット23におけるブランチb0011での比較結果を元にしている。フリップフロップ63Eによってラッチされたパスメモリレジスタ62Eの値は、パスメモリレジスタ61Eの値として記憶される。
【0062】
パスメモリレジスタ61Fには、ブランチb1100における生き残りパスのパスメモリM1100が記憶されている。
ビット列1100に到達したパスのパスメモリの更新は、
M1100=2・sel(S1100、M0110、M1110)+0
で表される。パスメモリレジスタ62Fでは、ブランチb1100に至る2つのパスのパスメモリM0110、M1110のうち、パスメトリックが小さくなるパスのパスメモリを選択して、選択されたメモリ値を2倍して0を加算し、記憶する。このパスの選択情報は、パスメトリック更新ユニット23におけるブランチb1100での比較結果を元にしている。フリップフロップ63Fによってラッチされたパスメモリレジスタ62Fの値は、パスメモリレジスタ61Fの値として記憶される。
【0063】
パスメモリレジスタ61Gには、ブランチb0110における生き残りパスのパスメモリM0110が記憶されている。
ビット列0110に到達したパスのパスメモリの更新は、
M0110=2・M0011+0
で表される。パスメモリレジスタ62Gでは、ブランチb0110に至るパスのパスメモリM0011を2倍して0を加算し記憶する。フリップフロップ63Gによってラッチされたパスメモリレジスタ62Gの値は、パスメモリレジスタ61Gの値として記憶される。
【0064】
パスメモリレジスタ61Hには、ブランチb0111における生き残りパスのパスメモリM0111が記憶されている。
ビット列0111に到達したパスのパスメモリの更新は、
M0111=2・M0011+1
で表される。パスメモリレジスタ62Hでは、ブランチb0111に至るパスのパスメモリM0011を2倍して1を加算し、記憶する。フリップフロップ63Hによってラッチされたパスメモリレジスタ62Hの値は、パスメモリレジスタ61Hの値として記憶される。
【0065】
パスメモリレジスタ61Iには、ブランチb1110における生き残りパスのパスメモリM1110が記憶されている。
ビット列1110に到達したパスのパスメモリの更新は、
M1110=2・sel(S1110、M0111、M1111)+0
で表される。パスメモリレジスタ62Iでは、ブランチb1110に至る2つのパスのパスメモリM0111、M1111のうち、パスメトリックの小さくなるパスのパスメモリを選択して、選択したメモリ値を2倍して0を加算して記憶する。このパスの選択情報は、パスメトリック更新ユニット23におけるブランチb1110での比較結果を元にしている。フリップフロップ63Iによってラッチされたパスメモリレジスタ62Iの値は、パスメモリレジスタ61Iの値として記憶される。
【0066】
パスメモリレジスタ61Jには、ブランチb1111における生き残りパスのパスメトリックM1111が記憶されている。
ビット列1111に到達したパスのパスメモリの更新は、
M1111=2・sel(S1111、M0111、M1111)+1
で表される。パスメモリレジスタ62Jでは、ブランチb1111に至る2つのパスのパスメモリM0111、M1111のうち、パスメトリックの小さくなるパスのパスメモリを選択して、選択したメモリ値を2倍して1を加算し、記憶する。このパスの選択情報は、パスメトリック更新ユニット23におけるブランチb1111での比較結果を元にしている。フリップフロップ63Jによってラッチされたパスメモリレジスタ62Jの値は、パスメモリレジスタ61Jの値として記憶される。
【0067】
以上のパスメモリ更新ユニット24に記憶されているビット系列は、上述のパスの選択を繰り返しながら、最終的に尤もらしいビット系列に収束していく。収束するまでにかかる時間は、拘束長の5倍程度といわれている。従って、パスメモリを30ビットのシフトレジスタで構成すれば、パスメモリのうち上位のビットは、収束している。従って、最尤検出器21では、ブランチb1111のパスメモリの最上位のビット(MSB)を選択して、これをビット検出結果として出力する。
【0068】
図8は、図2の差動メトリック計算器27の一例である。この差動メトリック計算器27は、パスメトリック比較の際に比較されたパスメトリックの差分、すなわち、差動メトリックを最尤検出器21の外部で再現するものである。
図2で説明したように差動メトリック計算器27には、遅延回路25を介した入力信号、つまりイコライザ20の出力と、最尤検出器21で検出されたビットシーケンスが供給される。
図8に示すように差動メトリック計算器27は、PRレベル生成器80、減算器81、フリップフロップ82A〜82Cと、掛け算器83A〜83Dと、加算器84によって構成されている。
なお、フリップフロップの数、掛け算器の数は、必要に応じて変更するものとする。
【0069】
PRレベル生成器80は、最尤検出器21からのビットシーケンスから、ターゲットレスポンスPR(1,2,2,1)のPRレベルを生成する。つまり4ビットのビット列に1,2,2,1を乗算して加算することで、PRレベルを生成する。
減算器81には、再生信号のサンプリング値を最尤検出器21の遅延量だけ遅延する遅延回路25からの信号qと、PRレベル生成器80からのPR系列の信号pが供給される。
減算器81でq−pの減算が行われた出力値は、フリップフロップ82A〜82Cによるシフトレジスタによって1クロックタイミングずつずれて掛け算器83A〜83Dに供給され、さらに掛け算器83A〜83Dの出力が加算器84で加算されて差動メトリックdMとされる。
【0070】
この場合、掛け算器83A〜83Dの係数を順に1,2,2,1とする。この差動メトリック計算器27におけるフィルタ(フリップフロップ82A〜82C、掛け算器83A〜83D、及び加算器84で構成されるフィルタ)には、イコライザ20の出力qn、検出ビット系列から得られるパーシャルレスポンス出力pnの差分が順次入力されるため、その結果、時刻nにおける差動メトリックdMnとして、
dMn=(qn−pn)+2(qn-1−pn-1)+2(qn-2−pn-2)+(qn-3−pn-3)
を得ることになる。なお、この値は、前述のようにユークリッド距離分を除去している。
【0071】
なお、この差動メトリック計算器27で計算する生き残りパスの差動メトリックdMは、最尤検出器21で検出されたビット系列に対応するパスメトリックと、最尤検出器21で検出されたビット系列と1ビットだけ異なるビット系列に対応するパスメトリックとの間の差分である。
【0072】
図9は、図2のSAM補正部28として、差動メトリック分類器91、差動メトリック補正器92、差動メトリック復元器93を一体化した構成の一例である。
【0073】
差動メトリック分類器91は、上記した差動メトリック計算器27で算出された差動メトリックdMを8系統の演算テーブルに分類する。分類は、図2に示した6ビットレジスタ26からの6ビットパタンに基づいて行われる。
ここでは、110000、111000、110001、111001、000110、001110、000111、001111の8個の6ビットパタンが分類用ビットパタンとされ、差動メトリック分類器91は、6ビットレジスタ26からの6ビットパタンが、この8個の分類用ビットパタンのいずれかに一致した場合に、該当する系統の演算テーブルに、入力された差動メトリックdMを分類するものとなる。
【0074】
なお、上記の分類用ビットパタンとは、最尤検出器21で検出されるビット系列としてのビットパタンのうち、1ビットだけ異なるビットパタンが存在するビットパタンである。そして分類用ビットパタンを6ビットのパタンとする例であるが、最尤検出器21が、d1規則に従う信号についてのビタビ検出処理を行う場合、各分類用ビットパタンは、それぞれが11000、11100、00011、00111の5ビットのいずれかが含まれているものとなっている。即ち上記8個の6ビットの分類用ビットパタンは、この4つの5ビットのいずれかに対して最下位ビットに0又は1を加えた6ビットとなっている。
【0075】
差動メトリック補正器92は、上記8個の分類用ビットパタンにそれぞれ対応して、8個の演算テーブル92−0、92−1・・・92−7を備える。
各演算テーブル92−0、92−1・・・92−7においては、それぞれdM補正演算と、補正値更新演算が並行して以下のように行われる。
【0076】
6ビットレジスタ26からの6ビットパタンが110000であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−0に分類される。そして演算テーブル92−0のdM補正演算により、値dM110000として補正される。dM補正演算は、
dM110000=dM−c110000
として行われる。補正値c110000は、前回の補正値更新演算、
c110000=c110000+k・dM110000
で算出された値である。なお、kは0.001程度の定数である。
dM補正演算で得られた補正差動メトリックdM110000は、次回の補正値c110000を得るための補正値更新演算に用いられる。
なお、図9において演算テーブル92−0でのdM補正演算を、dM110000=select(dM−c110000,0)と示しているが、これは入力された差動メトリックdMが当該演算テーブル92−0に分類されたときはdM110000=dM−c110000とされ、当該演算テーブル92−0に分類されなかったときはdM110000=0とされることを示している。従って、入力された差動メトリックdMが当該演算テーブル92−0に分類されたときは、他の演算テーブル92−1・・・92−7において、値dM111000=0、値dM110001=0、値dM111001=0、値dM000110=0、値dM001110=0、値dM000111=0、値dM001111=0とされる。
【0077】
6ビットレジスタ26からの6ビットパタンが111000であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−1に分類される。そして演算テーブル92−1のdM補正演算により、値dM111000として補正される。dM補正演算は、
dM111000=−dM−c111000
として行われる。また、このdM補正演算で得られた補正差動メトリックdM111000は、次回の補正値c111000を得るための補正値更新演算(c111000=c111000+k・dM111000)に用いられる。
この場合、他の演算テーブル90−0、92−2・・・92−7において、値dM110000=0、値dM110001=0、値dM111001=0、値dM000110=0、値dM001110=0、値dM000111=0、値dM001111=0とされる。
これら他の演算テーブル92−0、92−2・・・92−7においては、補正された差動メトリックdM=0となることから、次回の補正値cを得るための補正値更新演算によっては、補正値cは変化しない。
【0078】
6ビットレジスタ26からの6ビットパタンが110001であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−2に分類される。そして演算テーブル92−2のdM補正演算(dM110001=dM−c110001)により、値dM110001として補正される。
また、このdM補正演算で得られた補正差動メトリックdM110001は、次回の補正値c110001を得るための補正値更新演算(c110001=c110001+k・dM110001)に用いられる。
この場合、他の演算テーブル90−0、92−1、92−3・・・92−7において、値dM110000=0、値dM111000=0、値dM111001=0、値dM000110=0、値dM001110=0、値dM000111=0、値dM001111=0とされる。
【0079】
6ビットレジスタ26からの6ビットパタンが111001であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−3に分類される。そして演算テーブル92−3のdM補正演算(dM111001=−dM−c111001)により、値dM111001として補正される。
また、このdM補正演算で得られた補正差動メトリックdM111001は、次回の補正値c111001を得るための補正値更新演算(c111001=c111001+k・dM111001)に用いられる。
この場合、他の演算テーブル90−0、92−1、92−2、92−4・・・92−7において、値dM110000=0、値dM111000=0、値dM110001=0、値dM000110=0、値dM001110=0、値dM000111=0、値dM001111=0とされる。
【0080】
6ビットレジスタ26からの6ビットパタンが000110であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−4に分類される。そして演算テーブル92−4のdM補正演算(dM000110=dM−c000110)により、値dM000110として補正される。
また、このdM補正演算で得られた補正差動メトリックdM000110は、次回の補正値c000110を得るための補正値更新演算(c000110=c000110+k・dM000110)に用いられる。
この場合、他の演算テーブル90−0・・・92−3、92−5・・・92−7において、値dM110000=0、値dM111000=0、値dM110001=0、値dM111001=0、値dM001110=0、値dM000111=0、値dM001111=0とされる。
【0081】
6ビットレジスタ26からの6ビットパタンが001110であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−5に分類される。そして演算テーブル92−5のdM補正演算(dM001110=−dM−c001110)により、値dM001110として補正される。
また、このdM補正演算で得られた補正差動メトリックdM001110は、次回の補正値c001110を得るための補正値更新演算(c001110=c001110+k・dM001110)に用いられる。
この場合、他の演算テーブル90−0・・・92−4、92−6、92−7において、値dM110000=0、値dM111000=0、値dM110001=0、値dM111001=0、値dM000110=0、値dM000111=0、値dM001111=0とされる。
【0082】
6ビットレジスタ26からの6ビットパタンが000111であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−6に分類される。そして演算テーブル92−6のdM補正演算(dM000111=dM−c000111)により、値dM000111として補正される。
また、このdM補正演算で得られた補正差動メトリックdM000111は、次回の補正値c000111を得るための補正値更新演算(c000111=c000111+k・dM000111)に用いられる。
この場合、他の演算テーブル90−0・・・92−5、92−7において、値dM110000=0、値dM111000=0、値dM110001=0、値dM111001=0、値dM000110=0、値dM001110=0、値dM001111=0とされる。
【0083】
6ビットレジスタ26からの6ビットパタンが001111であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−7に分類される。そして演算テーブル92−7のdM補正演算(dM001111=−dM−c001111)により、値dM001111として補正される。
また、このdM補正演算で得られた補正差動メトリックdM001111は、次回の補正値c001111を得るための補正値更新演算(c001111=c001111+k・dM001111)に用いられる。
この場合、他の演算テーブル90−0・・・92−6において、値dM110000=0、値dM111000=0、値dM110001=0、値dM111001=0、値dM000110=0、値dM001110=0、値dM000111=0とされる。
【0084】
以上のようにして補正された差動メトリックdMは、差動メトリック復元器93で順次まとめられて、出力される。差動メトリック復元器93にも6ビットレジスタ26からの6ビットパタンが供給されており、差動メトリック復元器93は、この6ビットパタンに基づいて演算テーブル92−0・・・92−7のいずれかを選択して出力することで、いずれかの演算テーブル92−0・・・92−7で補正された差動メトリックdMが出力されることになる。
【0085】
そして、差動メトリックdMについて差動メトリック補正器92の各演算テーブル92−0〜92−7で行われる補正演算は、差動メトリック計算器27で得られた差動メトリックdMから補正値c(c110000、c111000、c110001、c111001、c000110、c001110、c000111、c001111)を減算する処理となっている。この補正値cは、上記補正値更新演算で得られる値であり、その補正値更新演算は低周波数成分の抽出演算となっている。つまり、本例のSAM補正部28は、分類用ビットパタンに応じた演算テーブル毎に分類された差動メトリックdMについて、それぞれの有する低周波成分を除去する処理を行っていることになる。
【0086】
SAM補正部28で補正された差動メトリックdMは、ビット修正器29及びSAMジッタ計算器30に供給される。
図10は、ビット修正器29の一例である。ビット修正器29はコンパレータ85と加算器86により構成される。
コンパレータ85には、補正された差動メトリックdMと、ユークリッド距離が入力される。この場合、PR(1,2,2,1)を想定しているため、ユークリッド距離=10(=12+22+22+12)となる。
【0087】
コンパレータ85で、補正された差動メトリックdMとユークリッド距離(=10)とを比較することで、最尤検出器21によるビット検出の結果を確認することができる。
つまりSAM補正部28での演算処理から、補正された差動メトリックdMがユークリッド距離「10」よりも小さければ、検出されたビット系列が正しい。一方、補正された差動メトリックdMがユークリッド距離「10」よりも大きければ、検出されたビット系列には誤りがある。
なお、誤りの位置は、上記6ビットのビットパタンとしてのビット列の前から3番目に限られる。
補正された差動メトリックdMがユークリッド距離「10」よりも大きければ、コンパレータ85から「1」が出力され、加算器86に供給される。これによって検出されたビット系列における6ビット単位で見たときの3番目のビットが加算器86で反転されることになり、検出ビット値が修正されることになる。なお、ここでは詳述しないが、もちろんビットストリーム上で、誤りビットのタイミングでコンパレータ85から「1」を出力し、誤りビットを反転させるためのタイミング制御は必要である。
【0088】
上記のようにSAM補正部28で補正された差動メトリックdMはSAMジッタ計算器30にも供給される。
図11は、SAMジッタ計算器30の一例である。SAMジッタ計算器30は二乗回路95、パタン検出カウンタ96、二乗値加算回路97、平方根回路98、割算回路99を備える。
SAM補正部28から順次供給されてくる補正された差動メトリックdMは、二乗回路95で二乗され、二乗値加算回路97で加算されて平均値が算出される。そして平方根回路98で平方根演算されることでSAMの標準偏差値が算出される。さらに、この標準偏差値を割算回路99でユークリッド距離(この場合は10)の2倍で割ることによって補正されたSAMジッタを得る。
パタン検出カウンタ96には6ビットレジスタ26からの6ビットパタンが供給されており、パタン検出カウンタ96は、入力される6ビットパタンが上記の分類用ビットパタンのいずれかに該当するか否かを検出する。そして6ビットパタンが上記の分類用ビットパタンのいずれかに該当する場合のみ、つまりSAM補正部28で補正された差動メトリックdMが出力される場合のみ、その二乗値を二乗値加算回路97で加算させるようにする。これにより補正された差動メトリックdMを用いてSAMジッタが算出されることになる。
【0089】
以上のようなPRML復号装置6によれば、光ディスク90からの再生信号などの、アシンメトリが存在する信号のSAMジッタによる信号評価において、ビット検出の精度を測定するSAMジッタとして、アシンメトリに由来するビットパタンごとのオフセット(低周波数成分)を補正した差動メトリックを用いることができる。この結果、差動メトリックに含まれるアシンメトリに由来する成分を除去することができて、適切な信号評価の指標を得ることができる。
また、本例によればオフセットを補正した差動メトリックdMを用いて再度ビット検出(ビット修正)を行っている。したがって、従来のPRMLビット検出に対して、アシンメトリに由来する成分を除去して修正を行ったビット検出を行うことが可能となっている。
【0090】
なお、本例のビット修正器29による検出ビットの修正効果によれば、従来の適応PRMLビット検出と同等程度の検出ビット精度が期待できる。したがって、本例のPRML復号装置6を用いれば、従来の適応PRMLビット検出方式を用いることなしに、アシンメトリによるビット誤りの削減ができる。
従来の適応PRMLビット検出では、パーシャルレスポンスレベルの設定において、通常のPRMLビット検出と異なり、パーシャルレスポンスのレベルを簡単な整数比を用いて設定することができないものであった。このため演算処理の複雑さ、演算速度、回路規模の面では改善すべき課題があった。これに対して本例では、パーシャルレスポンスレベルは通常の簡単な整数比を用いてよい。つまり、本例によれば適応PRMLビット検出方式での問題を生じさせないで、適応PRMLビット検出と同等のビット検出能力を実現できるものである。
【0091】
また、従来の適応PRMLビット検出では、パーシャルレスポンスのレベルを、フィードバックを用いて設定している。このため、このレベルが不適切なレベルに陥った際にPRML検出は正しく動作しなくなる恐れがあった。本例では、PRML検出自体には手を加えないため、このような誤動作は生じない。また、適応PRMLにおけるアシンメトリ、回転変動の追従は差動メトリックの低周波成分として存在している。これらを除去する方法は積分フィルタを用いてオフセットを除去する方法であるから誤動作は殆ど生じない。
【0092】
以上のように、本実施の形態のPRML復号装置6を用いれば、アシンメトリのある信号からのPRMLビット検出において、適応レベル調整を用いずにアシンメトリ補正を施したビット検出が実現でき、また、そのビットエラーレートの見積もりを行うSAMジッタ信号評価において、検出ビットに相関をもつ適正な指標を与えることができる。
【0093】
ところで上記例では、SAM補正部28は、110000、111000、110001、111001、000110、001110、000111、001111の8個の6ビットパタンを分類用ビットパタンとし、差動メトリックdMを8系統の演算テーブルに分類してdM補正演算をおこなうようにした。
ただし、最尤検出器21で検出されるビット系列としてのビットパタンのうち、1ビットだけ異なるビットパタンが存在するビットパタンとして分類用ビットパタンを決める場合、各分類用ビットパタンは、それぞれにおいて11000、11100、00011、00111のいずれかの5ビットが含まれていればよい。換言すれば、分類用ビットパタンをこの4種類の5ビットパタンとしてもよい。
【0094】
その場合の例を図12に示している。
SAM補正部28では、差動メトリック分類器91Aは、11000、11100、00011、00111の4つの分類用ビットパタンに基づいて、入力された差動メトリックdMを、差動メトリック補正器92Aにおける4系統の演算テーブルに分類する。
差動メトリック補正器92Aにおける各演算テーブルで補正された差動メトリックdMは、差動メトリック復元器93Aによって選択されて出力される。
なお、この場合、図2に示した6ビットレジスタ26に代えて5ビットレジスタ26Aが設けられ、最尤検出器21からのビットストリームにおける5ビットパタンが順次差動メトリック分類器91A、差動メトリック復元器93A、及びSAMジッタ計算器30Aに供給されることになる。
【0095】
なお、最尤検出器21で検出されるビット系列としてのビットパタンのうち、1ビットだけ異なるビットパタンが存在するビットパタンとして分類用ビットパタンを決める場合の例として、分類用ビットパタンを6ビットとする場合と5ビットとする場合を述べたが、少なくとも上記11000、11100、00011、00111のいずれかの5ビットが含まれている7ビット以上のパタンとして分類用ビットパタンが設定されても良い。
【0096】
以上の実施の形態の例は、最尤検出器21で検出されたビット系列を、1ビットだけ異なるビット系列に修正するかどうかを判定し、必要に応じて修正する構成である。
これ以外に、ビット検出エラーとしては、検出されたビット系列が、その最短ランレングスがシフトしているようなエラーが存在する。
最尤検出器21で検出されたビット系列について、ビット修正器29で最短ランレングスがシフトしているビット系列を修正する場合は、上記の実施の形態の構成の一部を変更すればよい。
この場合のPRML復号装置6の構成を図13に示すが、図2の例と比較して構成上の変更があるのは、差動メトリック計算器27B、差動メトリック分類器91B、差動メトリック補正器92B、差動メトリック復元器93B、ビット修正器29B、SAMジッタ計算器30B、7ビットレジスタ26Bである。
【0097】
差動メトリック計算器27Bでは、差動メトリックdMを、検出されたビット系列に対応するパスメトリックと、検出されたビット系列に含まれる1つ以上の連続した最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分として計算する必要がある。
これは、たとえば最小ランレングスのランが一つだけある場合は、図8の構成に加えて図14のように、フリップフロップ82D、82E及び掛け算器83E,83Fを追加する。そしてフィルタを構成する掛け算器を掛け算器83A〜83Fの6個にして、その係数を順に1,2,1、−1、−2、−1とすればよい。
【0098】
また、SAM補正部28における差動メトリック分類器91B、差動メトリック復元器93Bでは、分類用ビットパタンを、図13に示すように、0011000、0001100、1110011、1100111の4種類の7ビットパタンとする。差動メトリック補正器92Bでは、この4つに対応した演算テーブルで、それぞれdM補正演算及び補正値更新演算を行う。
またこのため、検出ビット系列に対する7ビットレジスタ26Bを用意し、検出ビットシーケンスにおける7ビットパタンが差動メトリック分類器91B、差動メトリック復元器93B、SAMジッタ計算器30Bに供給されるようにする。SAMジッタ計算器30Bでは図11に示したパタン検出カウンタ96が上記4種類の7ビットパタンに対応するものとする。
【0099】
ビット修正器29Bでは、補正された差動メトリックの値が、最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、最尤検出器21で検出された検出ビットのビット系列パタンの所定のビット値を反転させる構成を採る。
この場合、ユークリッド距離は、12+22+12+(−1)2+(−2)2+(−1)2=12であり、修正されるビット箇所は1ビット離れた2箇所となる。従ってビット修正器29Bでは、補正された差動メトリックdMをユークリッド距離「12」と比較して、修正するか否かを判別するとともに、修正の場合はビットシーケンス上の2つのビットを反転させる構成をとることになる。
【0100】
以上の構成によって、検出されたビット系列を最短ランレングスがシフトしているビット系列に修正することが可能になる。
なお、分類用ビットパタンは4種類の7ビットパタンとしたが、それぞれが0011000、0001100、1110011、1100111のいずれかを含む8ビット以上のパタンとしてもよい。
【0101】
また、最尤検出器21で検出されたビット系列について、連続する最短ランレングスがシフトしているビット系列をビット修正器29で修正する場合は、さらに上記の実施の形態の構成を変更する。
この場合のPRML復号装置6の構成を図15に示すが、上記図13の例と比較して構成上の変更があるのは、差動メトリック計算器27C、差動メトリック分類器91C、差動メトリック補正器92C、差動メトリック復元器93C、ビット修正器29C、SAMジッタ計算器30C、9ビットレジスタ26Cである。
【0102】
連続する最小ランレングスのランが2つある場合に対応する場合は、差動メトリック計算器27Cにおいて、図16に示すように、上記図14の構成にさらにフリップフロップ82F、82G及び掛け算器83G,83Hを追加する。そしてフィルタを構成する掛け算器を掛け算器83A〜83Hの8個にして、その係数を順に1、2、1、−1、−1、1、2、1とする。
【0103】
また、SAM補正部28における差動メトリック分類器91C、差動メトリック復元器93Cでは、分類用ビットパタンを、図15に示すように、110011000、111001100、000110011、001100111の4種類の9ビットパタンとする。差動メトリック補正器92Cでは、この4つに対応した演算テーブルで、それぞれdM補正演算及び補正値更新演算を行う。
またこのため、検出ビット系列に対する9ビットレジスタ26Cを用意し、検出ビットシーケンスにおける9ビットパタンが差動メトリック分類器91C、差動メトリック復元器93C、SAMジッタ計算器30Cに供給されるようにする。SAMジッタ計算器30Cでは図11に示したパタン検出カウンタ96が上記4種類の9ビットパタンに対応するものとする。
【0104】
ビット修正器29Cでは、補正された差動メトリックの値が、連続する2つの最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、最尤検出器21で検出された検出ビットのビット系列パタンの所定のビット値を反転させる構成を採る。
この場合、ユークリッド距離は、12+22+12+(−1)2+(−1)2+12+22+12=14であり、修正されるビット箇所は1ビットとびに離れた3箇所となる。従ってビット修正器29Cでは、補正された差動メトリックdMをユークリッド距離「14」と比較して、修正するか否かを判別するとともに、修正の場合はビットシーケンス上の3つのビットを反転させる構成をとることになる。
【0105】
以上の構成によって、検出されたビット系列を連続する2つの最短ランレングスがシフトしたビット系列に修正することが可能になる。
なお、分類用ビットパタンは4種類の9ビットパタンとしたが、それぞれが110011000、111001100、000110011、001100111のいずれかを含む10ビット以上のパタンとしてもよい。
【0106】
なお、図2〜図12で説明した1ビットのみ訂正する方式と、図13,図14で説明した最短ランレングスのランを一つシフトする方法、さらに図15,図16で説明した最短ランレングスのランを2つ以上シフトする方法を直列して使うことで、これらの全てのタイプのビット修正も可能である。
【図面の簡単な説明】
【0107】
【図1】本発明の実施の形態の再生装置のブロック図である。
【図2】実施の形態のPRML復号装置のブロック図である。
【図3】実施の形態のPRML復号装置におけるイコライザのブロック図である。
【図4】実施の形態のPRML復号装置における最尤検出器のブロック図である。
【図5】実施の形態のPRML復号装置におけるブランチメトリック計算ユニットのブロック図である。
【図6】実施の形態のPRML復号装置におけるパスメトリック更新ユニットのブロック図である。
【図7】実施の形態のPRML復号装置におけるパスメモリ更新ユニットのブロック図である。
【図8】実施の形態のPRML復号装置における差動メトリック計算器のブロック図である。
【図9】実施の形態のPRML復号装置におけるSAM補正部のブロック図である。
【図10】実施の形態のPRML復号装置におけるビット修正器のブロック図である。
【図11】実施の形態のPRML復号装置におけるSAMジッタ計算器のブロック図である。
【図12】実施の形態のPRML復号装置の他の例のブロック図である。
【図13】実施の形態のPRML復号装置の他の例のブロック図である。
【図14】実施の形態のPRML復号装置における差動メトリック計算器の他の例のブロック図である。
【図15】実施の形態のPRML復号装置のさらに他の例のブロック図である。
【図16】実施の形態のPRML復号装置における差動メトリック計算器のさらに他の例のブロック図である。
【符号の説明】
【0108】
1 光ピックアップ、2 プリアンプ、3 A/D変換器、4 イコライザ、5 PLL回路、6 PRML復号装置、8 復調器、9 RSデコーダ、10 CPUブロック、20 イコライザ、21 最尤検出器、22 ブランチメトリック計算ユニット、23 パスメトリック更新ユニット、24 パスメモリ更新ユニット、25 遅延回路、27 差動メトリック計算器、28 SAM補正部、29 ビット修正器、30 SAMジッタ計算器、91 差動メトリック分類器、92 差動メトリック補正器、93 差動メトリック復元器
【技術分野】
【0001】
本発明は、例えば記録媒体に記録した情報を再生した再生信号等に対するPRML(Partial Response Maximum Likelihood)復号装置、及びPRML復号方法に関する。
【背景技術】
【0002】
【特許文献1】特開平10−21651号公報
【特許文献2】特開2003−141823号公報
【特許文献3】特開2003−151220号公報
【特許文献4】特開2003−178537号公報
【0003】
近年、光ディスクの再生方式としてパーシャルレスポンス最尤(PRML:Partial Response Maximum Likelihood)検出とよばれる方式が採用されている。この方式は、再生信号のユークリッド距離が最小となるパーシャルレスポンス系列を検出する方式であり、パーシャルレスポンスという過程と最尤検出という過程が組み合わせた技術である。
なお、パーシャルレスポンス系列とは、ビット系列にターゲットレスポンスで定義される重みつき加算を施すことで得られる。光ディスクシステムでは、PR(1,2,2,1)がよく用いられ、これはビット系列に1,2,2,1の重みをつけて加算した値をパーシャルレスポンス値として返すものである。
パーシャルレスポンスは、1ビットの入力に対して、1ビットよりも長く出力を返す過程であって、再生信号が、連続する4ビットの情報ビットの入力に対してこれらを順に1、2、2、1を乗じて加算した信号として得られる過程が、上記のPR(1,2,2,1)と表現される。
また、最尤検出とは、2つの信号の間にユークリッド距離とよばれる距離を定義して、実際の信号と想定されるビット系列から予想される信号との間の距離を調べて、その距離が最も近くなるようなビット系列を検出する方法である。なお、ここで、ユークリッド距離とは、同じ時刻での2つの信号の振幅差の二乗を全時刻にわたって加算した距離として定義される距離である。また、この距離を最小とするビット系列の探索には、後述するビタビ検出をもちいる。
これらを組み合わせたパーシャルレスポンス最尤検出では、記録媒体のビット情報から得られた信号をイコライザとよばれるフィルタでパーシャルレスポンスの過程となるように調整し、得られた再生信号と想定されるビット系列のパーシャルレスポンスとの間のユークリッド距離を調べて、その距離が最も近くなるようなビット系列を検出する。
【0004】
実際にユークリッド距離が最小となるビット系列を探索するには、前述のビタビ検出によるアルゴリズムが効果を発揮する。
ビタビ検出は、所定の長さの連続ビットを単位として構成される複数のステートと、それらの間の遷移によって表されるブランチで構成されるビタビ検出器が用いられ、全ての可能なビット系列の中から、効率よく所望のビット系列を検出するように構成されている。
実際の回路では、各ステートに対してパスメトリックレジスタとよばれるそのステートにいたるまでのパーシャルレスポンス系列と信号のユークリッド距離(パスメトリック)を記憶するレジスタ、および、パスメモリレジスタとよばれるそのステートにいたるまでのビット系列の流れ(パスメモリ)を記憶するレジスタの2つのレジスタが用意され、また、各ブランチに対してはブランチメトリックユニットとよばれるそのビットにおけるパーシャルレスポンス系列と信号のユークリッド距離を計算する演算ユニットが用意されている。
このビタビ検出器では、さまざまなビット系列を、上記のステートを通過するパスのひとつによって一対一の関係で対応付けることができる。また、これらのパスを通過するようなパーシャルレスポンス系列と、実際の信号との間のユークリッド距離は、上記のパスを構成するステート間遷移、すなわち、ブランチにおける前述のブランチメトリックを順次加算していくことで得られる。
さらに、上記のユークリッド距離を最小にするようなパスを選択するには、この各ステートにおいて到達する2つ以下のブランチが有するパスメトリックの大小を比較しながら、パスメトリックの小さいパスを順次選択することで実現できる。この選択情報をパスメモリレジスタに転送することで、各ステートに到達するパスをビット系列で表現する情報が記憶される。パスメモリレジスタの値は、順次更新されながら最終的にユークリッド距離を最小にするようなビット系列に収束していくので、その結果を出力する。以上のようにすると、再生信号にユークリッド距離が最も近いパーシャルレスポンス系列を生成するビット系列を効率的に検索することができる。
【0005】
このようなPRMLを用いたビット検出においては、そのビット検出能力の指標として、以下に説明するSAMジッタを用いることが提案されている。
PRMLによるビット検出では、正しいビット系列から得られるパーシャルレスポンス系列と再生信号とのユークリッド距離、すなわち、正しいビット系列に対するパスメトリックが、誤りのあるビット系列から得られるパーシャルレスポンス系列と再生信号とのユークリッド距離、すなわち、誤りのあるビット系列に対するパスメトリックよりも小なる場合に、正しいビット検出が実行され、逆の場合には誤りが発生する。
従って、PRMLのビット検出の能力は、前者のパスメトリックと後者のパスメトリックの差、すなわち、差動メトリックが0からどれだけ離れているか、その大きさによって決定する。換言すれば、差動メトリックが小さいほどエラー発生の可能性が高いと推定できる。
また、誤りのあるビット系列の中でも、誤りの大半を占める最も重要な系列は、正しい系列から得られるパーシャルレスポンス系列とのユークリッド距離が最も近くなるような別のパーシャルレスポンス系列を与えるビット系列である。このような系列は、たとえば、ターゲットレスポンスがPR(1,2,2,1)のPRMLでは、1ビットのみ誤りがある場合である。
このため、PRMLによるビット検出では、正しいビット系列から得られるパーシャルレスポンス系列と再生信号のユークリッド距離と、1ビットのみ誤りがあるビット系列のパーシャルレスポンス系列と再生信号のユークリッド距離の差分の大きさがPRMLによるビット検出の能力を決定すると考えられる。
【0006】
上記の2つのパーシャルレスポンス系列(正しいビット系列から得られるパーシャルレスポンス系列と、1ビット単独誤りがあるビット系列から得られるパーシャルレスポンス系列)に対して定義される再生信号とのユークリッド距離の差分について数式を用いて説明する。
まず、正しいビット系列に対するパスメトリック、すなわち、正しいビット系列から得られるパーシャルレスポンス系列と再生信号との間のユークリッド距離Mcは、以下の式でえられる。
Mc=Σni2
ただし、niは再生信号のサンプルにおけるノイズであり、平均0、標準偏差nのガウス分布に従う白色ノイズである。また、Σは全てのチャネルクロックiについて全て加算を意味している。
この式の導出は、PRMLでは、再生信号が正しいビット系列から得られるパーシャルレスポンス系列にノイズを加算した信号として得られるものである、と仮定していることに拠っている。
【0007】
次に、1ビット単独誤りのあるビット系列に対するパスメトリック、すなわち、1ビット単独誤りのあるビット系列から得られるパーシャルレスポンス系列と再生信号との間のユークリッド距離Meは、以下の式で与えられる。
Me=Σ(ci−ni)2
ただし、ciはターゲットレスポンスの係数であり、PR(1,2,2,1)ならば1,2,2,1,0・・・となる。
従って、その差分、すなわち差動メトリックdMは、以下の式で与えられる。
dM=Me−Mc=Σ|ci|2−2Σni・ci
ここで、Σ|ci|2は、1ビット異なる2つのビット系列から得られるパーシャルレスポンス系列のユークリッド距離に相当する。前に述べたように、この差分が、負となる場合に誤りが生ずる。また、この差分が負となるような確率は、ノイズniの標準偏差nが大きくなればなるほど高くなる。
従って、このノイズの分布nが、ビットエラーレートに対して直接寄与する指標である。しかし、nは、検出可能な量ではない。
そこで、nの代わりに、検出可能な量として差動メトリックdMと、既知の量Σ|ci|2を用いて、
j=√V(dM)/(2・Σ|ci|2)
を定義すれば、jをビットエラーレートに直接寄与する指標として用いることができる。
ただし、V(dM)は、差動メトリックdMの分散を表している。また、Σはチャネルクロックiについて全て加算である。
以上のように定義されたジッタjをSAMジッタと呼ぶ。
なお、jの定義式にdMを代入して変形すると、以下の式が得られる。
j=√(V(ni)・2・Σ|ci|2) /(2・Σ|ci|2)
=n/√(2・Σ|ci|2)
ここで、√Σ|ci|2は、ランダムなビット系列をパーシャルレスポンスチャネルで等化した場合の信号エネルギーに相当する。従って、SAMジッタjは、SN比に反比例していることがわかる。
【0008】
以上のように、PRMLをもちいたビット検出を行う場合、ビットエラーレートに対応する指標としては、振幅軸方向の揺らぎを取り込んだ指標を用いることが望ましいことがわかる。具体的には、正しいビット系列のパスメトリック、1ビット単独の誤りがあるビット系列のパスメトリックの差である差動メトリックの標準偏差を、信号パワーで除算した指標、つまり上記SAMジッタが有効であることがわかる。
なお、SAMジッタは、厳密に言えば、正しいビット系列がわかっていなければ定義できないものであるが、上記特許文献1,2,3,4に示されるように、ビタビ復号で最終的に検出されたビット系列を正しいビット系列と仮定してSAMジッタを用いる技術が知られている。
【発明の開示】
【発明が解決しようとする課題】
【0009】
PRML検出方式は、通信情報、磁気テープ、ハードディスクなど多くの分野にわたって、広く用いられて効果を発揮している。しかしながら、光ディスク再生に関しては、特に光ディスクに顕著な信号の非線形性、アシンメトリのため、必ずしもその効果を強く発揮しているとはいえない。
アシンメトリの問題は、上述のパーシャルレスポンスによって得られる信号レベルにさらに余分な定数が加わる問題である。したがって、この定数を自動検出して補正すれば上記の問題は解決できる。
【0010】
現在、このような自動検出機能を用いる方法として、実際に検出された信号の信号レベルに応じてパーシャルレスポンスの基準レベルを適応的に調整する機能を設ける適応PRML検出法が提案されている。
この方法によれば、アシンメトリを解決するのみならず、信号レベルの回転変動などにも適応できる。これは、信号レベルの回転変動に追従するための適切な遮断周波数を設定することで、回転変動程度の周波数での変動を自動的に補正することでなされる。
さらに、この遮断周波数を高い周波数に設定すれば、ディスク上のごみなど比較的な大きな(1mm程度)の外乱に対しても信号レベルの補正ができる。この結果、検出ビット列のビットエラーレートは削減され、外乱に対する信頼性も向上し、より高密度の光ディスクに対応できるようになることが期待されている。
【0011】
しかし、この適応PRML方式は、従来のパーシャルレスポンスと異なり、パーシャルレスポンスの基準レベルを簡単な整数比を用いて設定することができない。したがって、従来簡略化されていた計算、特に掛け算で大幅に処理量が増えるため、演算速度の向上、また、回路規模の縮小に対する妨げとなっている。
また、この適応PRML方式はパーシャルレスポンスの基準レベルを、フィードバックを用いて設定している。このため、このレベルが不適切なレベルに陥った際にPRML検出は正しく動作しなくなる。
さらに、PRML検出を用いる場合の信号評価法として検討されているSAMジッタの検出においても、適応的な基準レベル調整があるPRML検出では、信号間のユークリッド距離として何をもちいればよいか、あるいは、最小距離はどのようにするかなどが確定しておらず、このことに付随した課題がある。
【0012】
以上の問題点を鑑みると、適応レベル調整機能を設けたPRML検出は、アシンメトリやレベル変動の問題を解決するが、PRML検出器そのものに変更を加えているため、回路動作が不安定になり、回路規模が大きくなるという問題があり、また、信号評価を適切に行えないという問題がある。
【0013】
そこで本発明では、PRML復号装置の内部構成を変更せずに、アシンメトリやレベル変動の問題を解決して、また、適切な信号評価を同時に実現できるような手法を実現することを課題とする。
【課題を解決するための手段】
【0014】
本発明のPRML復号装置は、入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出手段と、上記ビット検出手段における生き残りパスの差動メトリックを計算する差動メトリック計算手段と、上記差動メトリックを上記ビット検出手段で検出されたビット系列のパタンごとに分類する差動メトリック分類手段と、上記差動メトリック分類手段で分類された差動メトリックについて、それぞれの低域周波数成分の補正を行う差動メトリック補正手段と、上記差動メトリック補正手段で補正された差動メトリックを用いて所定の処理を行う処理手段とを備える。
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する。例えば上記差動メトリック補正手段で補正された差動メトリックが、上記ユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることで検出ビット値の修正を行う。
又は、上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックの標準偏差を計算することで、上記ビット検出手段で検出された検出ビット値についての評価値を生成する。
【0015】
また上記差動メトリック分類手段は、上記ビット検出手段で検出されたビット系列としてのビットパタンと、所定の規則に従う分類用ビットパタンを照合し、ビットパタンが合致するパタンテーブルに、上記差動メトリック計算手段から供給される差動メトリックを分類する。
また上記差動メトリック補正手段は、上記パタンテーブル毎に分類された差動メトリックについて、それぞれの有する低周波成分を補正する。
【0016】
上記分類用ビットパタンとは、上記ビット検出手段で検出されるビット系列としてのビットパタンのうち、1ビットだけ異なるビットパタンが存在するビットパタンであるとする。
この場合において、上記ビット検出手段が、d1規則に従う信号についてのビタビ検出処理を行う場合、上記各パタンテーブルに対応する各分類用ビットパタンは、それぞれが5ビット以上のビットパタンであるとともに、複数の分類用ビットパタンとして、11000を含むビットパタン、11100を含むビットパタン、00011を含むビットパタン、00111を含むビットパタンが設定されている。
上記差動メトリック計算手段で計算する上記生き残りパスの差動メトリックは、上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列と1ビットだけ異なるビット系列に対応するパスメトリックとの間の差分である。
そして上記処理手段を、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する処理手段とする場合、上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックの値が、1ビットだけ異なる2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることで検出ビット値の修正を行う。
【0017】
また、上記分類用ビットパタンとは、上記ビット検出手段で検出されるビット系列としてのビットパタンのうち、最短ランレングスのランを一つだけ含み、上記最短ランレングスのランを1ビットシフトさせたビットパタンが存在するパタンであるとする。
この場合において、上記ビット検出手段が、d1規則に従う信号についてのビタビ検出処理を行う場合、上記各パタンテーブルに対応する各分類用ビットパタンは、それぞれが7ビット以上のビットパタンであるとともに、複数の分類用ビットパタンとして、0011000を含むビットパタン、0001100を含むビットパタン、1110011を含むビットパタン、1100111を含むビットパタンが設定されている。
上記差動メトリック計算手段で計算する上記生き残りパスの差動メトリックは、上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列に含まれる最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分である。
そして上記処理手段を、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する処理手段とする場合、上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックの値が、最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることで検出ビット値の修正を行う。
【0018】
また上記分類用ビットパタンとは、上記ビット検出手段で検出されるビット系列としてのビットパタンのうち、最短ランレングスのランが2つ以上連続する箇所を含み、上記連続する2つ以上の最短ランレングスのランを1ビットシフトさせたビットパタンが存在するパタンであるとする。
上記差動メトリック計算手段で計算する上記生き残りパスの差動メトリックは、上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列に含まれる2つ以上の連続した最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分である。
そして上記処理手段を、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する処理手段とする場合、上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックの値が、2つ以上の連続する最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることで検出ビット値を修正する。
【0019】
本発明のPRML復号方法は、入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出ステップと、上記ビット検出ステップにおける生き残りパスの差動メトリックを計算する差動メトリック計算ステップと、上記差動メトリックを、上記ビット検出ステップで検出されたビット系列のパタンごとに分類する差動メトリック分類ステップと、上記差動メトリック分類ステップで分類された差動メトリックについて、それぞれの低域周波数成分の補正を行う差動メトリック補正ステップと、上記差動メトリック補正ステップで補正された差動メトリックを用いて所定の処理を行う処理ステップとを備える。
上記処理ステップでは、上記差動メトリック補正ステップで補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出ステップで検出された検出ビット値を修正する。
或いは、上記処理ステップでは、上記差動メトリック補正ステップで補正された差動メトリックの標準偏差を計算することで、上記ビット検出ステップで検出された検出ビット値についての評価値を生成する。
【0020】
即ち本発明では、PRML検出における差動メトリックをパタンごとに分類して低域成分を補正する。そして補正された差動メトリックから再度ビット値を検出すれば、信号のアシンメトリなどの非線形成分を除去したビット検出がなされ、また、補正された差動メトリックを用いてビットエラーレートと相関のあるジッタ指標を算出できる。
【発明の効果】
【0021】
本発明によれば、PRML復号においてアシンメトリに由来するビットパタンごとのオフセットを補正した差動メトリックを得ることができる。
このため、オフセットを補正した差動メトリックを用いて再度ビット検出、つまりビット検出手段で検出したビット値の修正を行うことが可能である。つまりPRML方式において、アシンメトリに由来する成分を除去して修正を行ったビット検出を行うことが可能となる。
またこのようなビット検出の修正効果によれば、従来の適応型PRMLビット検出と同等程度のビット検出能力が期待できる。したがって、本発明によっては、適応PRMLビット検出方式を用いることなく、アシンメトリによるビット誤りの削減ができるという効果も得られる。これはPRML復号装置の構成の変更や演算の複雑化を招かないということになる。
【0022】
またオフセットを補正した差動メトリックを用いて標準偏差を計算して得たSAMジッタを信号評価値とすることで、適切な信号評価が可能になるという効果が得られる。
つまりアシンメトリのある信号からのPRMLビット検出において、適応レベル調整を用いずにアシンメトリ補正を施したビット検出が実現でき、また、そのビットエラーレートの見積もりを行うSAMジッタ信号評価において、検出ビットに相関をもつ適正な指標を得ることができる。
【発明を実施するための最良の形態】
【0023】
以下、本発明の実施の形態を説明する。
図1は、実施の形態のPRML復号装置を含む再生装置の概要を表すブロック図である。
図1に示すように、本例の再生装置は、光ディスク90などの記録媒体からビット情報を再生する光ピックアップ1、光ピックアップ1で読み取られた信号を再生信号(RF信号)に変換するプリアンプ2、再生信号をA/D変換するA/D変換器3、PLL処理のために再生信号の波形を整えるイコライザ4、再生信号からクロックを再生するPLL回路5、再生信号からビット情報を検出するPRML復号装置6、ビット情報を復調するRLL(1−7)pp復調器などの復調器8、復調された情報の誤り訂正を行うRSデコーダ9、誤り訂正された情報を処理してアプリケーションデータを再生するCPUブロック10などで構成されている。
【0024】
光ディスク90は例えばROMタイプのディスクが想定される。もちろんライトワンスタイプのディスクやリライタブルタイプのディスクの場合もある。
光ピックアップ1、プリアンプ2を通して光ディスク90から再生された再生信号(RF)は、A/D変換器3で数値化サンプリングされる(RF(Sampled))。このサンプリングは、PLL回路5で再生されたチャネルビットに同期したクロックと同じタイミングで行われる。
サンプリングされた再生信号のサンプリング情報は、イコライザ4で波形を整えられた後、PRML復号装置6に入力されて、ビット情報が判定される。
ここでは、PRML復号装置6は、記録時の変調方式の制約に従ってD1制約(最小ランレングスd=1で最短マーク長が2T)を満たすように構成し、さらに、PRMLのターゲットレスポンスはPR(1,2,2,1)であるとする。なお、これ以外に、例えばターゲットレスポンスをPR(1,2,2,2,1)等に設定する場合もある。
なお、本例のPRML復号装置6は、ビット検出の精度を測定する信号品質評価指標としてSAMジッタを検出できるようにもされている。
【0025】
PRML復号装置6で得られたビット情報は、復調器8で記録時の変調方式に従って復調され、さらに、RSデコーダ9でECCブロックのリード・ソロモン符号を復号して誤りを訂正し、CPUブロック10はEDCブロックにおける誤り検出符号に誤りが検出されていないことを確認することで、もとのアプリケーションデータを復元する。
【0026】
図2は、図1に示したPRML復号装置6の構成を表している。
PRML復号装置6は、チャネルレスポンスをターゲットレスポンスに等化する波形等化器(イコライザ)20と、このイコライザ20の出力からビタビ検出を行う最尤検出器21と、再生信号をビット検出に同期するように遅延させる遅延回路25と、6ビットレジスタ26と、パス比較の際の差動メトリックdMを算出する差動メトリック計算器(DMC)27と、得られた差動メトリックdMを補正する、SAM補正部28と、ビット修正器29と、SAMジッタ計算器30を有して構成される。
【0027】
イコライザ20は、入力信号(RF)をターゲットレスポンスPR(1,2,2,1)に等化する。イコライザ20でPR等化された入力信号RFは最尤検出器21に供給される。
最尤検出器21は、ターゲットレスポンスPR(1,2,2,1)の元で、d1規則に従うビット系列を検出し、検出ビット値を順次ビットシーケンスとして出力する。
最小ランレングス規則としてのD1制約(最小ランレングスd=1で最短マーク長が2T)がある場合、例えば最尤検出器21は、3ビットで構成される6個のステートと、4ビットで構成される10個のブランチが用意され、これらのブランチが、ステートの間をD1制約に従って接続するように構成されている。
【0028】
差動メトリック計算器27には、イコライザ20でPR等化された入力信号が遅延回路25を介して供給されるとともに、最尤検出器21で検出される検出ビット列(ビットシーケンス)が供給される。なお、遅延回路25は、イコライザ20でPR等化された入力信号と、最尤検出器21から出力される検出ビット列の間の時間差を補償するものである。
そして差動メトリック計算器27は、入力された信号から以下の値としての差動メトリックに準ずる値dM(以下では差動メトリックdMと表記)を計算する。
dM=(qn−pn)+2(qn-1−pn-1)+2(qn-2−pn-2)+(qn-3−pn-3)
但し、qnはイコライザ20の出力、pnは検出ビット系列から得られるパーシャルレスポンス出力であり、nは時刻を表す。
この差動メトリック(に準ずる値)dMの値は、その正負を除けば、1ビット異なるビット系列との実際の差動メトリックからユークリッド距離を引いた値に等しい。
【0029】
6ビットレジスタ26は、最尤検出器21からビットシーケンスとして順次出力される各ビット値が供給され、常に最新のビット値を含む6ビットが保持されるレジスタである。
そして6ビットのビットパタンをSAM補正部28とSAMジッタ計算器30に供給する。
【0030】
SAM補正部28は、差動メトリック分類器(DEMUX)91と、差動メトリック補正器(Compensator)92と、差動メトリック復元器(MUX)93で構成される。
ここでは差動メトリック選択器91は、6ビットの検出ビット系列、つまり6ビットレジスタ26からのビットパタンに基づき、差動メトリック計算器27からの差動メトリックdMを分類する。6ビットの分類用ビットパタンは、図に示したように110000、111000、110001、111001、000110、001110、000111、001111とする。
分類用ビットパタンとされる、この8個の6ビットパタンでは、どのパタンにも1ビットだけ異なる別のパタンが必ず存在している。
また、全ての検出ビット系列の6ビットのパタンは、最小ランレングスのランが連続していない箇所ではこれらのパタンのいずれかにあてはまる。
差動メトリック補正器92は、分類された差動メトリックdMの低周波数成分を補正する。
差動メトリック復元器93は、分類された差動メトリックdMを元に戻す。なお、差動メトリック復元器93は、全体のSAMジッタを求めるときに用いるものであり、必ずしも必要ではない。
【0031】
ビット修正器29は、SAM補正部28で補正された差動メトリックdMを用いて再度ビット検出を行う。つまり最尤検出器21で検出される検出ビットに対して修正を行い、修正ビットシーケンスを出力する。
ここでのビット修正は、補正された差動メトリックdMがユークリッド距離=10を越えるか超えないかで判断する。なお、「10」とは、PR(1,2,2,1)において生き残りパスと、生き残りパスに対して1ビット誤りの或るパスとの間のユークリッド距離である。
【0032】
SAMジッタ計算器30は補正された差動メトリックdMを用いて標準偏差を計算することで、SAMジッタの計算を行う。そしてSAMジッタの値を、評価値として出力する。
【0033】
なお、この図2の構成例においては、イコライザ20及び最尤検出器21が、本発明請求項のビット検出手段に相当する。また差動メトリック計算器27が、本発明請求項の差動メトリック計算手段に相当する。また差動メトリック分類器91が本発明請求項の差動メトリック分類手段に相当し、差動メトリック補正器92が本発明請求項の差動メトリック補正手段に相当する。さらに、ビット修正器29又はSAMジッタ計算器30が、本発明請求項の処理手段に相当する。
【0034】
以下、図2の各部を詳細に説明する。
図3は図2のイコライザ20の一例である。このイコライザ20は、フリップフロップ31A〜31F、掛け算器32A〜32G、および加算器33によって構成され、波形等化フィルタを成している。
入力された再生信号(図1のイコライザ4からPRML復号装置6に供給される再生信号RF(Sampled))は、フリップフロップ31A〜31Fを経て、チャネルクロックで1クロックずつ遅延した7つの信号に分岐される。
次に、分岐された7つの信号は、それぞれ掛け算器32A〜32Gによって、それぞれ異なる倍率(係数k0〜k6)で増幅される。
最後にこれらの掛け算器32A〜32Gによって増幅された各信号は、加算器33によって加算されて、その出力が等化信号として出力される。
ここで、掛け算器32A〜32Gの係数k0〜k6は、等化信号のターゲットレスポンスに対する等化誤差が最小となるような係数を用いている。この係数は、たとえばLMSアルゴリズムなどで自動的に求めるようにすることが望ましい。LMSアルゴリズムを用いる場合、各係数は以下の演算によってもとめる。
k0=k0+ε・rn-3・(pn−qn)、
k1=k1+ε・rn-2・(pn−qn)、
k2=k2+ε・rn-1・(pn−qn)、
k3=k3+ε・rn-0・(pn−qn)、
k4=k4+ε・rn+1・(pn−qn)、
k5=k5+ε・rn+2・(pn−qn)、
k6=k6+ε・rn+3・(pn−qn)、
ただし、εはフィードバック定数で0.001程度である。rn、pn、qn、はそれぞれ時刻nの入力信号、パーシャルレスポンス信号、等化信号である。
【0035】
なお、この図3の例は、7クロックはなれた信号を用いた7タップのイコライザの場合である。このタップ数は、必ずしも7つである必要はなく、より精度よく符号間干渉を取り除くのであればさらに増やしたり、あるいは、規模を小さくするならこれよりも減らしたりして、目的に応じて変更されればよい。
いずれにしてもイコライザ20は、パーシャルレスポンス等化を実現できればどのようなイコライザでもよい。
【0036】
図4は最尤検出器21の一例であり、最尤検出器21は、各ブランチに対してブランチメトリックを計算するブランチメトリック計算ユニット(BMC)22と、ブランチメトリックを取り込んでブランチを比較してパスの選択を行いパスメトリックの更新を行うパスメトリック更新ユニット(ACS)23と、選択されたパス情報に従いパスメモリの更新を行うパスメモリ更新ユニット(PMEM)24で構成される。
ブランチメトリック計算ユニット22では、ビット系列0000、0001、1000、1001、0011、1100、0110、0111、1110、1111に対して、これらに対応するパーシャルレスポンスレベル−3、−2、−2、−1、0、0、1、2、2、3と入力信号の間のユークリッド距離を計算する。
パスメトリック更新ユニット23では、ビット列0000、0001、1000、1001、0011、1100、0110、0111、1110、1111に対して、このビット列に到達するまでのパスのうちパスメトリックの小さいものを選択し、ブランチメトリックを加算し、次のパスメトリックとして更新する。
パスメモリ更新ユニット24では、ビット列0000、0001、1000、1001、0011、1100、0110、0111、1110、1111に対して、このビット列に到達するまでのパスのパスメモリをシフトさせて最下位ビットを付け加えて次のパスメモリとして更新する。さらに、たとえばビット列0000に到達したパスメモリを選択して、その最上位ビットを最尤検出器21の検出ビットとして出力する。
【0037】
図5は、PR(1,2,2,1)をターゲットレスポンスとする最尤検出器21におけるブランチメトリック計算ブロック22の構成である。
このブランチメトリック計算ユニット22は、基準値レジスタ41A〜41J、減算器42A〜42J、掛け算器43A〜43J、ブランチメトリックレジスタ44A〜44Jを有している。
このブランチメトリック計算ユニット22には、まず上述のイコライザ20を経て得られた等化信号qnが入力される。
基準値レジスタ41Aはビット列0000に対応する基準レベルr0000を記憶する。
基準値レジスタ41Bはビット列0001に対応する基準レベルr0001を記憶する。
基準値レジスタ41Cはビット列1000に対応する基準レベルr1000を記憶する。
基準値レジスタ41Dはビット列1001に対応する基準レベルr1001を記憶する。
基準値レジスタ41Eはビット列0011に対応する基準レベルr0011を記憶する。
基準値レジスタ41Fはビット列1100に対応する基準レベルr1100を記憶する。
基準値レジスタ41Gはビット列0110に対応する基準レベルr0110を記憶する。
基準値レジスタ41Hはビット列0111に対応する基準レベルr0111を記憶する。
基準値レジスタ41Iはビット列1110に対応する基準レベルr1110を記憶する。
基準値レジスタ41Jはビット列1111に対応する基準レベルr1111を記憶する。
【0038】
なお、ここではターゲットレスポンスをPR(1,2,2,1)としており、ビット列ijklに対する基準レベルrijklは、
r0000=−3、
r0001=−2、
r1000=−2、
r1001=−1、
r0011=0、
r1100=0、
r0110=1、
r0111=2、
r1110=2、
r1111=3、
となる。
【0039】
ブランチメトリックレジスタ44Aは、信号qnと基準レベルr0000の間のブランチメトリックm0000を記憶する。
ブランチメトリックレジスタ44Bは、信号qnと基準レベルr0001の間のブランチメトリックm0001を記憶する。
ブランチメトリックレジスタ44Cは、信号qnと基準レベルr1000の間のブランチメトリックm1000を記憶する。
ブランチメトリックレジスタ44Dは、信号qnと基準レベルr1001の間のブランチメトリックm1001を記憶する。
ブランチメトリックレジスタ44Eは、信号qnと基準レベルr0011の間のブランチメトリックm0011を記憶する。
ブランチメトリックレジスタ44Fは、信号qnと基準レベルr1100の間のブランチメトリックm1100を記憶する。
ブランチメトリックレジスタ44Gは、信号qnと基準レベルr0110の間のブランチメトリックm0110を記憶する。
ブランチメトリックレジスタ44Hは、信号qnと基準レベルr0111の間のブランチメトリックm0111を記憶する。
ブランチメトリックレジスタ44Iは、信号qnと基準レベルr1110の間のブランチメトリックm1110を記憶する。
ブランチメトリックレジスタ44Jは、信号qnと基準レベルr1111の間のブランチメトリックm1111を記憶する。
【0040】
基準値レジスタ41Aからブランチメトリックレジスタ44A、
基準値レジスタ41Bからブランチメトリックレジスタ44B、
基準値レジスタ41Cからブランチメトリックレジスタ44C、
基準値レジスタ41Dからブランチメトリックレジスタ44D、
基準値レジスタ41Eからブランチメトリックレジスタ44E、
基準値レジスタ41Fからブランチメトリックレジスタ44F、
基準値レジスタ41Gからブランチメトリックレジスタ44G、
基準値レジスタ41Hからブランチメトリックレジスタ44H、
基準値レジスタ41Iからブランチメトリックレジスタ44I、
基準値レジスタ41Jからブランチメトリックレジスタ44J、
にいたる過程には、それぞれ減算器42(42A〜42J)と掛け算器43(43A〜43J)が一つずつ用意されている。
【0041】
各減算器(42A〜42J)では、入力信号qnと、対応するレジスタ(41A〜41J)から得られた基準レベルの信号を入力し、その差分を出力する。
また、各掛け算器(43A〜43J)は、対応する減算器(42A〜42J)から出力された差分を二乗した値を出力する。このそれぞれの掛け算器(43A〜43J)から出力された値が、各ブランチメトリックレジスタ(44A〜44J)において記憶されるブランチメトリックm0000〜m1111となる。
この場合、ブランチメトリックmijklは、
mijkl=(qn−rijkl)2
である。ここでqnは時刻nの入力信号である。
【0042】
但しブランチメトリックは、相対値がわかれば充分であり、したがって、qn2の項はなくてもよい。このため図5のブランチメトリックレジスタ44A〜44Jに示すように、ブランチメトリックmijklは、
mijkl=−rijkl(2qn−rijkl)
とすればよい。このようにすれば、掛け算器43の容量を削減することができる。
なお、掛け算器43のかわりに絶対値計算器を配してもよい。
【0043】
以上のようにして得られて各ブランチメトリックレジスタ44A〜44Jに記憶されたブランチメトリックm0000〜m1111は、チャネルビットクロック毎に更新されるとともに、次段のパスメトリック更新ユニット23に出力される。
【0044】
図6は、PR(1,2,2,1)をターゲットレスポンスとする最尤検出器21におけるパスメトリック更新ユニット23を示している。
図6のパスメトリック更新ユニット23は、パスメトリックレジスタ51A〜51J、及び52A〜52Jと、フリップフロップ53A〜53Jを有して構成されている。
【0045】
パスメトリックレジスタ51Aには、ブランチb0000における生き残りパスのパスメトリックpm0000が記憶されている。
ビット列0000に到達したパスのパスメトリックの演算は、
pm0000=min(pm0000、pm1000)+m0000
で表される。min(A,B)はA,Bのうち小さいものを選ぶ演算である。
つまりパスメトリックレジスタ52Aでは、ブランチb0000に至るパスのパスメトリックpm0000として、pm0000+m0000、pm1000+m0000のうち小さい値が選択される。
なお、上記パスメトリック値を計算するためのメトリックm0000、m1000は図5のブランチメトリック計算ユニット22から入力される。図6においてブランチメトリック{mijkl}として示しているのは、図5のブランチメトリックレジスタ44A〜44Jから供給されるブランチメトリックm0000〜m1111のことである。後述するパスメトリックレジスタ52B〜52Jにおけるメトリックmijklも同様である。
フリップフロップ53Aによってラッチされたパスメトリックレジスタ52Aの値は、パスメトリックレジスタ51Aの値として記憶される。
【0046】
パスメトリックレジスタ51Bには、ブランチb0001における生き残りパスのパスメトリックpm0001が記憶されている。
ビット列0001に到達したパスのパスメトリックの演算は、
pm0001=min(pm0000、pm1000)+m0001
で表される。つまりパスメトリックレジスタ52Bでは、ブランチb0001に至るパスのパスメトリックpm0001として、pm0000+m0001、pm1000+m0001のうち小さい値が選択される。
フリップフロップ53Bによってラッチされたパスメトリックレジスタ52Bの値は、パスメトリックレジスタ51Bの値として記憶される。
【0047】
パスメトリックレジスタ51Cには、ブランチb1000における生き残りパスのパスメトリックpm1000が記憶されている。
ビット列1000に到達したパスのパスメトリックの演算は、
pm1000=pm1100+m1000
で表される。パスメトリックレジスタ52Cには、ブランチb1000に至るパスのパスメトリックpm1000=pm1100+m1000が記憶される。
フリップフロップ53Cによってラッチされたパスメトリックレジスタ52Cの値は、パスメトリックレジスタ51Cの値として記憶される。
【0048】
パスメトリックレジスタ51Dには、ブランチb1001における生き残りパスのパスメトリックpm1001が記憶されている。
ビット列1001に到達したパスのパスメトリックの演算は、
pm1001=pm1100+m1001
で表される。パスメトリックレジスタ52Dには、ブランチb1001に至るパスのパスメトリックpm1001=pm1100+m1001が記憶される。フリップフロップ53Dによってラッチされたパスメトリックレジスタ52Dの値は、パスメトリックレジスタ51Dの値として記憶される。
【0049】
パスメトリックレジスタ51Eには、ブランチb0011における生き残りパスのパスメトリックpm0011が記憶されている。
ビット列0011に到達したパスのパスメトリックの演算は、
pm0011=min(pm0001、pm1001)+m0011
で表される。パスメトリックレジスタ52Eでは、ブランチb0011に至るパスのパスメトリックpm0011として、pm0001+m0011、pm1001+m0011のうち小さい値が選択される。フリップフロップ53Eによってラッチされたパスメトリックレジスタ52Eの値は、パスメトリックレジスタ51Eの値として記憶される。
【0050】
パスメトリックレジスタ51Fには、ブランチb1100における生き残りパスのパスメトリックpm1100が記憶されている。
ビット列1100に到達したパスのパスメトリックの演算は、
pm1100=min(pm0110、pm1110)+m1100
で表される。パスメトリックレジスタ52Fでは、ブランチb1100に至るパスのパスメトリックpm1100としてpm0110+m1100、pm1110+m1100のうち小さい値が選択される。フリップフロップ53Fによってラッチされたパスメトリックレジスタ52Fの値は、パスメトリックレジスタ51Fの値として記憶される。
【0051】
パスメトリックレジスタ51Gには、ブランチb0110における生き残りパスのパスメトリックpm0110が記憶されている。
ビット列0110に到達したパスのパスメトリックの演算は、
pm0110=pm0011+m0011
で表される。パスメトリックレジスタ52Gには、ブランチb0110に至るパスのパスメトリックpm0110=pm0011+m0110が記憶される。フリップフロップ53Gによってラッチされたパスメトリックレジスタ52Gの値は、パスメトリックレジスタ51Gの値として記憶される。
【0052】
パスメトリックレジスタ51Hには、ブランチb0111における生き残りパスのパスメトリックpm0111が記憶されている。
ビット列0111に到達したパスのパスメトリックの演算は、
pm0111=pm0011+m0111
で表される。パスメトリックレジスタ52Hには、ブランチb0111に至るパスのパスメトリックpm0111=pm0011+m0111が記憶される。フリップフロップ53Hによってラッチされたパスメトリックレジスタ52Hの値は、パスメトリックレジスタ51Hの値として記憶される。
【0053】
パスメトリックレジスタ51Iには、ブランチb1110における生き残りパスのパスメトリックpm1110が記憶されている。
ビット列1110に到達したパスのパスメトリックの演算は、
pm1110=min(pm0111、pm1111)+m1110
で表される。パスメトリックレジスタ52Iでは、ブランチb1110に至るパスのパスメトリックpm1110としてpm0111+m1110、pm1111+m1110のうち小さい値が選択される。フリップフロップ53Iによってラッチされたパスメトリックレジスタ52Iの値は、パスメトリックレジスタ51Iの値として記憶される。
【0054】
パスメトリックレジスタ51Jには、ブランチb1111における生き残りパスのパスメトリックpm1111が記憶されている。
ビット列1111に到達したパスのパスメトリックの演算は、
pm1111=min(pm0111、pm1111)+m1111
で表される。パスメトリックレジスタ52Jでは、ブランチb1111に至るパスのパスメトリックpm1111としてpm0111+m1111、pm1111+m1111のうち小さい値が選択される。フリップフロップ53Jによってラッチされたパスメトリックレジスタ52Jの値は、パスメトリックレジスタ51Jの値として記憶される。
【0055】
以上のようにして、各ブランチにおける、そのブランチにいたるまでのパスメトリックが更新される。
一方、各ブランチでのパスの選択情報、つまりパスメトリックの比較選択の際にいずれのパスを選らんだかの情報を、図5において{Sijkl}として示しているが、このパス選択情報{Sijkl}は、次に述べるパスメモリ更新ユニット24に出力される。
【0056】
図7は、PR(1,2,2,1)をターゲットレスポンスとする最尤検出器21におけるパスメモリ更新ユニット24を示している。
図7のパスメモリ更新ユニット24は、パスメモリレジスタ61A〜61J、62A〜62Jと、フリップフロップ63A〜63Jによって構成されている。
なお図7においては、上記パスメトリック更新ユニット23から供給されるパス選択情報を{Sijkl}として示している。
【0057】
パスメモリレジスタ61Aには、ブランチb0000における生き残りパスのパスメモリM0000が記憶されている。
ビット列0000に到達したパスのパスメモリの更新は、
M0000=2・select(S0000、M0000、M1000)+0
で表される。なお、select(S,A,B)はパスの選択情報Sに基づいてA,Bを選択する演算である。
つまりパスメモリレジスタ62Aでは、ブランチb0000に至る2つのパスのパスメモリM0000、M1000うち、パスメトリックが小さくなるパスのパスメモリを選択し、選択されたメモリ値を2倍して0を加算して記憶する。このパスの選択情報は、図6のパスメトリック更新ユニット23におけるブランチb0000での比較結果を元にしている。フリップフロップ63Aによってラッチされたパスメモリレジスタ62Aの値は、パスメモリレジスタ61Aの値として記憶される。
【0058】
パスメモリレジスタ61Bには、ブランチb0001における生き残りパスのパスメモリM0001が記憶されている。
ビット列0001に到達したパスのパスメモリの更新は、
M0001=2・sel(S0001、M0000、M1000)+1
で表される。このためパスメモリレジスタ62Bでは、ブランチb0001に至る2つのパスのパスメモリM0000、M1000うち、パスメトリックが小さくなるパスのパスメモリを選択し、選択されたメモリ値を2倍して1を加算して記憶する。このパスの比較情報は、パスメトリック更新ユニット23におけるブランチb0001での比較結果を元にしている。フリップフロップ63Bによってラッチされたパスメモリレジスタ62Bの値は、パスメモリレジスタ61Bの値として記憶される。
【0059】
パスメモリレジスタ61Cには、ブランチb1000における生き残りパスのパスメモリM1000が記憶されている。
ビット列1000に到達したパスのパスメモリの更新は、
M1000=2・M1100+0
で表される。このためパスメモリレジスタ62Cでは、ブランチb1000に至るパスのパスメモリM1100を2倍し、0を加算して記憶する。フリップフロップ63Cによってラッチされたパスメモリレジスタ62Cの値は、パスメモリレジスタ61Cの値として記憶される。
【0060】
パスメモリレジスタ61Dには、ブランチb1001における生き残りパスのパスメモリM1001が記憶されている。
ビット列1001に到達したパスのパスメモリの更新は、
M1001=2・M1100+1
で表される。パスメモリレジスタ62Dでは、ブランチb1001に至るパスのパスメモリM1100を2倍し、1を加算して記憶する。フリップフロップ63Dによってラッチされたパスメモリレジスタ62Dの値は、パスメモリレジスタ61Dの値として記憶される。
【0061】
パスメモリレジスタ61Eには、ブランチb0011における生き残りパスのパスメモリM0011が記憶されている。
ビット列0011に到達したパスのパスメモリの更新は、
M0011=2・sel(S0011、M0001、M1001)+1
で表される。パスメモリレジスタ62Eでは、ブランチb0011に至る2つのパスのパスメモリM0001、M1001のうち、パスメトリックが小さくなるパスのパスメモリを選択し、選択されたメモリ値を2倍して1を加算して記憶する。このパスの選択情報は、図6のパスメトリック更新ユニット23におけるブランチb0011での比較結果を元にしている。フリップフロップ63Eによってラッチされたパスメモリレジスタ62Eの値は、パスメモリレジスタ61Eの値として記憶される。
【0062】
パスメモリレジスタ61Fには、ブランチb1100における生き残りパスのパスメモリM1100が記憶されている。
ビット列1100に到達したパスのパスメモリの更新は、
M1100=2・sel(S1100、M0110、M1110)+0
で表される。パスメモリレジスタ62Fでは、ブランチb1100に至る2つのパスのパスメモリM0110、M1110のうち、パスメトリックが小さくなるパスのパスメモリを選択して、選択されたメモリ値を2倍して0を加算し、記憶する。このパスの選択情報は、パスメトリック更新ユニット23におけるブランチb1100での比較結果を元にしている。フリップフロップ63Fによってラッチされたパスメモリレジスタ62Fの値は、パスメモリレジスタ61Fの値として記憶される。
【0063】
パスメモリレジスタ61Gには、ブランチb0110における生き残りパスのパスメモリM0110が記憶されている。
ビット列0110に到達したパスのパスメモリの更新は、
M0110=2・M0011+0
で表される。パスメモリレジスタ62Gでは、ブランチb0110に至るパスのパスメモリM0011を2倍して0を加算し記憶する。フリップフロップ63Gによってラッチされたパスメモリレジスタ62Gの値は、パスメモリレジスタ61Gの値として記憶される。
【0064】
パスメモリレジスタ61Hには、ブランチb0111における生き残りパスのパスメモリM0111が記憶されている。
ビット列0111に到達したパスのパスメモリの更新は、
M0111=2・M0011+1
で表される。パスメモリレジスタ62Hでは、ブランチb0111に至るパスのパスメモリM0011を2倍して1を加算し、記憶する。フリップフロップ63Hによってラッチされたパスメモリレジスタ62Hの値は、パスメモリレジスタ61Hの値として記憶される。
【0065】
パスメモリレジスタ61Iには、ブランチb1110における生き残りパスのパスメモリM1110が記憶されている。
ビット列1110に到達したパスのパスメモリの更新は、
M1110=2・sel(S1110、M0111、M1111)+0
で表される。パスメモリレジスタ62Iでは、ブランチb1110に至る2つのパスのパスメモリM0111、M1111のうち、パスメトリックの小さくなるパスのパスメモリを選択して、選択したメモリ値を2倍して0を加算して記憶する。このパスの選択情報は、パスメトリック更新ユニット23におけるブランチb1110での比較結果を元にしている。フリップフロップ63Iによってラッチされたパスメモリレジスタ62Iの値は、パスメモリレジスタ61Iの値として記憶される。
【0066】
パスメモリレジスタ61Jには、ブランチb1111における生き残りパスのパスメトリックM1111が記憶されている。
ビット列1111に到達したパスのパスメモリの更新は、
M1111=2・sel(S1111、M0111、M1111)+1
で表される。パスメモリレジスタ62Jでは、ブランチb1111に至る2つのパスのパスメモリM0111、M1111のうち、パスメトリックの小さくなるパスのパスメモリを選択して、選択したメモリ値を2倍して1を加算し、記憶する。このパスの選択情報は、パスメトリック更新ユニット23におけるブランチb1111での比較結果を元にしている。フリップフロップ63Jによってラッチされたパスメモリレジスタ62Jの値は、パスメモリレジスタ61Jの値として記憶される。
【0067】
以上のパスメモリ更新ユニット24に記憶されているビット系列は、上述のパスの選択を繰り返しながら、最終的に尤もらしいビット系列に収束していく。収束するまでにかかる時間は、拘束長の5倍程度といわれている。従って、パスメモリを30ビットのシフトレジスタで構成すれば、パスメモリのうち上位のビットは、収束している。従って、最尤検出器21では、ブランチb1111のパスメモリの最上位のビット(MSB)を選択して、これをビット検出結果として出力する。
【0068】
図8は、図2の差動メトリック計算器27の一例である。この差動メトリック計算器27は、パスメトリック比較の際に比較されたパスメトリックの差分、すなわち、差動メトリックを最尤検出器21の外部で再現するものである。
図2で説明したように差動メトリック計算器27には、遅延回路25を介した入力信号、つまりイコライザ20の出力と、最尤検出器21で検出されたビットシーケンスが供給される。
図8に示すように差動メトリック計算器27は、PRレベル生成器80、減算器81、フリップフロップ82A〜82Cと、掛け算器83A〜83Dと、加算器84によって構成されている。
なお、フリップフロップの数、掛け算器の数は、必要に応じて変更するものとする。
【0069】
PRレベル生成器80は、最尤検出器21からのビットシーケンスから、ターゲットレスポンスPR(1,2,2,1)のPRレベルを生成する。つまり4ビットのビット列に1,2,2,1を乗算して加算することで、PRレベルを生成する。
減算器81には、再生信号のサンプリング値を最尤検出器21の遅延量だけ遅延する遅延回路25からの信号qと、PRレベル生成器80からのPR系列の信号pが供給される。
減算器81でq−pの減算が行われた出力値は、フリップフロップ82A〜82Cによるシフトレジスタによって1クロックタイミングずつずれて掛け算器83A〜83Dに供給され、さらに掛け算器83A〜83Dの出力が加算器84で加算されて差動メトリックdMとされる。
【0070】
この場合、掛け算器83A〜83Dの係数を順に1,2,2,1とする。この差動メトリック計算器27におけるフィルタ(フリップフロップ82A〜82C、掛け算器83A〜83D、及び加算器84で構成されるフィルタ)には、イコライザ20の出力qn、検出ビット系列から得られるパーシャルレスポンス出力pnの差分が順次入力されるため、その結果、時刻nにおける差動メトリックdMnとして、
dMn=(qn−pn)+2(qn-1−pn-1)+2(qn-2−pn-2)+(qn-3−pn-3)
を得ることになる。なお、この値は、前述のようにユークリッド距離分を除去している。
【0071】
なお、この差動メトリック計算器27で計算する生き残りパスの差動メトリックdMは、最尤検出器21で検出されたビット系列に対応するパスメトリックと、最尤検出器21で検出されたビット系列と1ビットだけ異なるビット系列に対応するパスメトリックとの間の差分である。
【0072】
図9は、図2のSAM補正部28として、差動メトリック分類器91、差動メトリック補正器92、差動メトリック復元器93を一体化した構成の一例である。
【0073】
差動メトリック分類器91は、上記した差動メトリック計算器27で算出された差動メトリックdMを8系統の演算テーブルに分類する。分類は、図2に示した6ビットレジスタ26からの6ビットパタンに基づいて行われる。
ここでは、110000、111000、110001、111001、000110、001110、000111、001111の8個の6ビットパタンが分類用ビットパタンとされ、差動メトリック分類器91は、6ビットレジスタ26からの6ビットパタンが、この8個の分類用ビットパタンのいずれかに一致した場合に、該当する系統の演算テーブルに、入力された差動メトリックdMを分類するものとなる。
【0074】
なお、上記の分類用ビットパタンとは、最尤検出器21で検出されるビット系列としてのビットパタンのうち、1ビットだけ異なるビットパタンが存在するビットパタンである。そして分類用ビットパタンを6ビットのパタンとする例であるが、最尤検出器21が、d1規則に従う信号についてのビタビ検出処理を行う場合、各分類用ビットパタンは、それぞれが11000、11100、00011、00111の5ビットのいずれかが含まれているものとなっている。即ち上記8個の6ビットの分類用ビットパタンは、この4つの5ビットのいずれかに対して最下位ビットに0又は1を加えた6ビットとなっている。
【0075】
差動メトリック補正器92は、上記8個の分類用ビットパタンにそれぞれ対応して、8個の演算テーブル92−0、92−1・・・92−7を備える。
各演算テーブル92−0、92−1・・・92−7においては、それぞれdM補正演算と、補正値更新演算が並行して以下のように行われる。
【0076】
6ビットレジスタ26からの6ビットパタンが110000であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−0に分類される。そして演算テーブル92−0のdM補正演算により、値dM110000として補正される。dM補正演算は、
dM110000=dM−c110000
として行われる。補正値c110000は、前回の補正値更新演算、
c110000=c110000+k・dM110000
で算出された値である。なお、kは0.001程度の定数である。
dM補正演算で得られた補正差動メトリックdM110000は、次回の補正値c110000を得るための補正値更新演算に用いられる。
なお、図9において演算テーブル92−0でのdM補正演算を、dM110000=select(dM−c110000,0)と示しているが、これは入力された差動メトリックdMが当該演算テーブル92−0に分類されたときはdM110000=dM−c110000とされ、当該演算テーブル92−0に分類されなかったときはdM110000=0とされることを示している。従って、入力された差動メトリックdMが当該演算テーブル92−0に分類されたときは、他の演算テーブル92−1・・・92−7において、値dM111000=0、値dM110001=0、値dM111001=0、値dM000110=0、値dM001110=0、値dM000111=0、値dM001111=0とされる。
【0077】
6ビットレジスタ26からの6ビットパタンが111000であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−1に分類される。そして演算テーブル92−1のdM補正演算により、値dM111000として補正される。dM補正演算は、
dM111000=−dM−c111000
として行われる。また、このdM補正演算で得られた補正差動メトリックdM111000は、次回の補正値c111000を得るための補正値更新演算(c111000=c111000+k・dM111000)に用いられる。
この場合、他の演算テーブル90−0、92−2・・・92−7において、値dM110000=0、値dM110001=0、値dM111001=0、値dM000110=0、値dM001110=0、値dM000111=0、値dM001111=0とされる。
これら他の演算テーブル92−0、92−2・・・92−7においては、補正された差動メトリックdM=0となることから、次回の補正値cを得るための補正値更新演算によっては、補正値cは変化しない。
【0078】
6ビットレジスタ26からの6ビットパタンが110001であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−2に分類される。そして演算テーブル92−2のdM補正演算(dM110001=dM−c110001)により、値dM110001として補正される。
また、このdM補正演算で得られた補正差動メトリックdM110001は、次回の補正値c110001を得るための補正値更新演算(c110001=c110001+k・dM110001)に用いられる。
この場合、他の演算テーブル90−0、92−1、92−3・・・92−7において、値dM110000=0、値dM111000=0、値dM111001=0、値dM000110=0、値dM001110=0、値dM000111=0、値dM001111=0とされる。
【0079】
6ビットレジスタ26からの6ビットパタンが111001であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−3に分類される。そして演算テーブル92−3のdM補正演算(dM111001=−dM−c111001)により、値dM111001として補正される。
また、このdM補正演算で得られた補正差動メトリックdM111001は、次回の補正値c111001を得るための補正値更新演算(c111001=c111001+k・dM111001)に用いられる。
この場合、他の演算テーブル90−0、92−1、92−2、92−4・・・92−7において、値dM110000=0、値dM111000=0、値dM110001=0、値dM000110=0、値dM001110=0、値dM000111=0、値dM001111=0とされる。
【0080】
6ビットレジスタ26からの6ビットパタンが000110であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−4に分類される。そして演算テーブル92−4のdM補正演算(dM000110=dM−c000110)により、値dM000110として補正される。
また、このdM補正演算で得られた補正差動メトリックdM000110は、次回の補正値c000110を得るための補正値更新演算(c000110=c000110+k・dM000110)に用いられる。
この場合、他の演算テーブル90−0・・・92−3、92−5・・・92−7において、値dM110000=0、値dM111000=0、値dM110001=0、値dM111001=0、値dM001110=0、値dM000111=0、値dM001111=0とされる。
【0081】
6ビットレジスタ26からの6ビットパタンが001110であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−5に分類される。そして演算テーブル92−5のdM補正演算(dM001110=−dM−c001110)により、値dM001110として補正される。
また、このdM補正演算で得られた補正差動メトリックdM001110は、次回の補正値c001110を得るための補正値更新演算(c001110=c001110+k・dM001110)に用いられる。
この場合、他の演算テーブル90−0・・・92−4、92−6、92−7において、値dM110000=0、値dM111000=0、値dM110001=0、値dM111001=0、値dM000110=0、値dM000111=0、値dM001111=0とされる。
【0082】
6ビットレジスタ26からの6ビットパタンが000111であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−6に分類される。そして演算テーブル92−6のdM補正演算(dM000111=dM−c000111)により、値dM000111として補正される。
また、このdM補正演算で得られた補正差動メトリックdM000111は、次回の補正値c000111を得るための補正値更新演算(c000111=c000111+k・dM000111)に用いられる。
この場合、他の演算テーブル90−0・・・92−5、92−7において、値dM110000=0、値dM111000=0、値dM110001=0、値dM111001=0、値dM000110=0、値dM001110=0、値dM001111=0とされる。
【0083】
6ビットレジスタ26からの6ビットパタンが001111であった場合は、差動メトリック分類器91により、入力された差動メトリックdMは演算テーブル92−7に分類される。そして演算テーブル92−7のdM補正演算(dM001111=−dM−c001111)により、値dM001111として補正される。
また、このdM補正演算で得られた補正差動メトリックdM001111は、次回の補正値c001111を得るための補正値更新演算(c001111=c001111+k・dM001111)に用いられる。
この場合、他の演算テーブル90−0・・・92−6において、値dM110000=0、値dM111000=0、値dM110001=0、値dM111001=0、値dM000110=0、値dM001110=0、値dM000111=0とされる。
【0084】
以上のようにして補正された差動メトリックdMは、差動メトリック復元器93で順次まとめられて、出力される。差動メトリック復元器93にも6ビットレジスタ26からの6ビットパタンが供給されており、差動メトリック復元器93は、この6ビットパタンに基づいて演算テーブル92−0・・・92−7のいずれかを選択して出力することで、いずれかの演算テーブル92−0・・・92−7で補正された差動メトリックdMが出力されることになる。
【0085】
そして、差動メトリックdMについて差動メトリック補正器92の各演算テーブル92−0〜92−7で行われる補正演算は、差動メトリック計算器27で得られた差動メトリックdMから補正値c(c110000、c111000、c110001、c111001、c000110、c001110、c000111、c001111)を減算する処理となっている。この補正値cは、上記補正値更新演算で得られる値であり、その補正値更新演算は低周波数成分の抽出演算となっている。つまり、本例のSAM補正部28は、分類用ビットパタンに応じた演算テーブル毎に分類された差動メトリックdMについて、それぞれの有する低周波成分を除去する処理を行っていることになる。
【0086】
SAM補正部28で補正された差動メトリックdMは、ビット修正器29及びSAMジッタ計算器30に供給される。
図10は、ビット修正器29の一例である。ビット修正器29はコンパレータ85と加算器86により構成される。
コンパレータ85には、補正された差動メトリックdMと、ユークリッド距離が入力される。この場合、PR(1,2,2,1)を想定しているため、ユークリッド距離=10(=12+22+22+12)となる。
【0087】
コンパレータ85で、補正された差動メトリックdMとユークリッド距離(=10)とを比較することで、最尤検出器21によるビット検出の結果を確認することができる。
つまりSAM補正部28での演算処理から、補正された差動メトリックdMがユークリッド距離「10」よりも小さければ、検出されたビット系列が正しい。一方、補正された差動メトリックdMがユークリッド距離「10」よりも大きければ、検出されたビット系列には誤りがある。
なお、誤りの位置は、上記6ビットのビットパタンとしてのビット列の前から3番目に限られる。
補正された差動メトリックdMがユークリッド距離「10」よりも大きければ、コンパレータ85から「1」が出力され、加算器86に供給される。これによって検出されたビット系列における6ビット単位で見たときの3番目のビットが加算器86で反転されることになり、検出ビット値が修正されることになる。なお、ここでは詳述しないが、もちろんビットストリーム上で、誤りビットのタイミングでコンパレータ85から「1」を出力し、誤りビットを反転させるためのタイミング制御は必要である。
【0088】
上記のようにSAM補正部28で補正された差動メトリックdMはSAMジッタ計算器30にも供給される。
図11は、SAMジッタ計算器30の一例である。SAMジッタ計算器30は二乗回路95、パタン検出カウンタ96、二乗値加算回路97、平方根回路98、割算回路99を備える。
SAM補正部28から順次供給されてくる補正された差動メトリックdMは、二乗回路95で二乗され、二乗値加算回路97で加算されて平均値が算出される。そして平方根回路98で平方根演算されることでSAMの標準偏差値が算出される。さらに、この標準偏差値を割算回路99でユークリッド距離(この場合は10)の2倍で割ることによって補正されたSAMジッタを得る。
パタン検出カウンタ96には6ビットレジスタ26からの6ビットパタンが供給されており、パタン検出カウンタ96は、入力される6ビットパタンが上記の分類用ビットパタンのいずれかに該当するか否かを検出する。そして6ビットパタンが上記の分類用ビットパタンのいずれかに該当する場合のみ、つまりSAM補正部28で補正された差動メトリックdMが出力される場合のみ、その二乗値を二乗値加算回路97で加算させるようにする。これにより補正された差動メトリックdMを用いてSAMジッタが算出されることになる。
【0089】
以上のようなPRML復号装置6によれば、光ディスク90からの再生信号などの、アシンメトリが存在する信号のSAMジッタによる信号評価において、ビット検出の精度を測定するSAMジッタとして、アシンメトリに由来するビットパタンごとのオフセット(低周波数成分)を補正した差動メトリックを用いることができる。この結果、差動メトリックに含まれるアシンメトリに由来する成分を除去することができて、適切な信号評価の指標を得ることができる。
また、本例によればオフセットを補正した差動メトリックdMを用いて再度ビット検出(ビット修正)を行っている。したがって、従来のPRMLビット検出に対して、アシンメトリに由来する成分を除去して修正を行ったビット検出を行うことが可能となっている。
【0090】
なお、本例のビット修正器29による検出ビットの修正効果によれば、従来の適応PRMLビット検出と同等程度の検出ビット精度が期待できる。したがって、本例のPRML復号装置6を用いれば、従来の適応PRMLビット検出方式を用いることなしに、アシンメトリによるビット誤りの削減ができる。
従来の適応PRMLビット検出では、パーシャルレスポンスレベルの設定において、通常のPRMLビット検出と異なり、パーシャルレスポンスのレベルを簡単な整数比を用いて設定することができないものであった。このため演算処理の複雑さ、演算速度、回路規模の面では改善すべき課題があった。これに対して本例では、パーシャルレスポンスレベルは通常の簡単な整数比を用いてよい。つまり、本例によれば適応PRMLビット検出方式での問題を生じさせないで、適応PRMLビット検出と同等のビット検出能力を実現できるものである。
【0091】
また、従来の適応PRMLビット検出では、パーシャルレスポンスのレベルを、フィードバックを用いて設定している。このため、このレベルが不適切なレベルに陥った際にPRML検出は正しく動作しなくなる恐れがあった。本例では、PRML検出自体には手を加えないため、このような誤動作は生じない。また、適応PRMLにおけるアシンメトリ、回転変動の追従は差動メトリックの低周波成分として存在している。これらを除去する方法は積分フィルタを用いてオフセットを除去する方法であるから誤動作は殆ど生じない。
【0092】
以上のように、本実施の形態のPRML復号装置6を用いれば、アシンメトリのある信号からのPRMLビット検出において、適応レベル調整を用いずにアシンメトリ補正を施したビット検出が実現でき、また、そのビットエラーレートの見積もりを行うSAMジッタ信号評価において、検出ビットに相関をもつ適正な指標を与えることができる。
【0093】
ところで上記例では、SAM補正部28は、110000、111000、110001、111001、000110、001110、000111、001111の8個の6ビットパタンを分類用ビットパタンとし、差動メトリックdMを8系統の演算テーブルに分類してdM補正演算をおこなうようにした。
ただし、最尤検出器21で検出されるビット系列としてのビットパタンのうち、1ビットだけ異なるビットパタンが存在するビットパタンとして分類用ビットパタンを決める場合、各分類用ビットパタンは、それぞれにおいて11000、11100、00011、00111のいずれかの5ビットが含まれていればよい。換言すれば、分類用ビットパタンをこの4種類の5ビットパタンとしてもよい。
【0094】
その場合の例を図12に示している。
SAM補正部28では、差動メトリック分類器91Aは、11000、11100、00011、00111の4つの分類用ビットパタンに基づいて、入力された差動メトリックdMを、差動メトリック補正器92Aにおける4系統の演算テーブルに分類する。
差動メトリック補正器92Aにおける各演算テーブルで補正された差動メトリックdMは、差動メトリック復元器93Aによって選択されて出力される。
なお、この場合、図2に示した6ビットレジスタ26に代えて5ビットレジスタ26Aが設けられ、最尤検出器21からのビットストリームにおける5ビットパタンが順次差動メトリック分類器91A、差動メトリック復元器93A、及びSAMジッタ計算器30Aに供給されることになる。
【0095】
なお、最尤検出器21で検出されるビット系列としてのビットパタンのうち、1ビットだけ異なるビットパタンが存在するビットパタンとして分類用ビットパタンを決める場合の例として、分類用ビットパタンを6ビットとする場合と5ビットとする場合を述べたが、少なくとも上記11000、11100、00011、00111のいずれかの5ビットが含まれている7ビット以上のパタンとして分類用ビットパタンが設定されても良い。
【0096】
以上の実施の形態の例は、最尤検出器21で検出されたビット系列を、1ビットだけ異なるビット系列に修正するかどうかを判定し、必要に応じて修正する構成である。
これ以外に、ビット検出エラーとしては、検出されたビット系列が、その最短ランレングスがシフトしているようなエラーが存在する。
最尤検出器21で検出されたビット系列について、ビット修正器29で最短ランレングスがシフトしているビット系列を修正する場合は、上記の実施の形態の構成の一部を変更すればよい。
この場合のPRML復号装置6の構成を図13に示すが、図2の例と比較して構成上の変更があるのは、差動メトリック計算器27B、差動メトリック分類器91B、差動メトリック補正器92B、差動メトリック復元器93B、ビット修正器29B、SAMジッタ計算器30B、7ビットレジスタ26Bである。
【0097】
差動メトリック計算器27Bでは、差動メトリックdMを、検出されたビット系列に対応するパスメトリックと、検出されたビット系列に含まれる1つ以上の連続した最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分として計算する必要がある。
これは、たとえば最小ランレングスのランが一つだけある場合は、図8の構成に加えて図14のように、フリップフロップ82D、82E及び掛け算器83E,83Fを追加する。そしてフィルタを構成する掛け算器を掛け算器83A〜83Fの6個にして、その係数を順に1,2,1、−1、−2、−1とすればよい。
【0098】
また、SAM補正部28における差動メトリック分類器91B、差動メトリック復元器93Bでは、分類用ビットパタンを、図13に示すように、0011000、0001100、1110011、1100111の4種類の7ビットパタンとする。差動メトリック補正器92Bでは、この4つに対応した演算テーブルで、それぞれdM補正演算及び補正値更新演算を行う。
またこのため、検出ビット系列に対する7ビットレジスタ26Bを用意し、検出ビットシーケンスにおける7ビットパタンが差動メトリック分類器91B、差動メトリック復元器93B、SAMジッタ計算器30Bに供給されるようにする。SAMジッタ計算器30Bでは図11に示したパタン検出カウンタ96が上記4種類の7ビットパタンに対応するものとする。
【0099】
ビット修正器29Bでは、補正された差動メトリックの値が、最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、最尤検出器21で検出された検出ビットのビット系列パタンの所定のビット値を反転させる構成を採る。
この場合、ユークリッド距離は、12+22+12+(−1)2+(−2)2+(−1)2=12であり、修正されるビット箇所は1ビット離れた2箇所となる。従ってビット修正器29Bでは、補正された差動メトリックdMをユークリッド距離「12」と比較して、修正するか否かを判別するとともに、修正の場合はビットシーケンス上の2つのビットを反転させる構成をとることになる。
【0100】
以上の構成によって、検出されたビット系列を最短ランレングスがシフトしているビット系列に修正することが可能になる。
なお、分類用ビットパタンは4種類の7ビットパタンとしたが、それぞれが0011000、0001100、1110011、1100111のいずれかを含む8ビット以上のパタンとしてもよい。
【0101】
また、最尤検出器21で検出されたビット系列について、連続する最短ランレングスがシフトしているビット系列をビット修正器29で修正する場合は、さらに上記の実施の形態の構成を変更する。
この場合のPRML復号装置6の構成を図15に示すが、上記図13の例と比較して構成上の変更があるのは、差動メトリック計算器27C、差動メトリック分類器91C、差動メトリック補正器92C、差動メトリック復元器93C、ビット修正器29C、SAMジッタ計算器30C、9ビットレジスタ26Cである。
【0102】
連続する最小ランレングスのランが2つある場合に対応する場合は、差動メトリック計算器27Cにおいて、図16に示すように、上記図14の構成にさらにフリップフロップ82F、82G及び掛け算器83G,83Hを追加する。そしてフィルタを構成する掛け算器を掛け算器83A〜83Hの8個にして、その係数を順に1、2、1、−1、−1、1、2、1とする。
【0103】
また、SAM補正部28における差動メトリック分類器91C、差動メトリック復元器93Cでは、分類用ビットパタンを、図15に示すように、110011000、111001100、000110011、001100111の4種類の9ビットパタンとする。差動メトリック補正器92Cでは、この4つに対応した演算テーブルで、それぞれdM補正演算及び補正値更新演算を行う。
またこのため、検出ビット系列に対する9ビットレジスタ26Cを用意し、検出ビットシーケンスにおける9ビットパタンが差動メトリック分類器91C、差動メトリック復元器93C、SAMジッタ計算器30Cに供給されるようにする。SAMジッタ計算器30Cでは図11に示したパタン検出カウンタ96が上記4種類の9ビットパタンに対応するものとする。
【0104】
ビット修正器29Cでは、補正された差動メトリックの値が、連続する2つの最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、最尤検出器21で検出された検出ビットのビット系列パタンの所定のビット値を反転させる構成を採る。
この場合、ユークリッド距離は、12+22+12+(−1)2+(−1)2+12+22+12=14であり、修正されるビット箇所は1ビットとびに離れた3箇所となる。従ってビット修正器29Cでは、補正された差動メトリックdMをユークリッド距離「14」と比較して、修正するか否かを判別するとともに、修正の場合はビットシーケンス上の3つのビットを反転させる構成をとることになる。
【0105】
以上の構成によって、検出されたビット系列を連続する2つの最短ランレングスがシフトしたビット系列に修正することが可能になる。
なお、分類用ビットパタンは4種類の9ビットパタンとしたが、それぞれが110011000、111001100、000110011、001100111のいずれかを含む10ビット以上のパタンとしてもよい。
【0106】
なお、図2〜図12で説明した1ビットのみ訂正する方式と、図13,図14で説明した最短ランレングスのランを一つシフトする方法、さらに図15,図16で説明した最短ランレングスのランを2つ以上シフトする方法を直列して使うことで、これらの全てのタイプのビット修正も可能である。
【図面の簡単な説明】
【0107】
【図1】本発明の実施の形態の再生装置のブロック図である。
【図2】実施の形態のPRML復号装置のブロック図である。
【図3】実施の形態のPRML復号装置におけるイコライザのブロック図である。
【図4】実施の形態のPRML復号装置における最尤検出器のブロック図である。
【図5】実施の形態のPRML復号装置におけるブランチメトリック計算ユニットのブロック図である。
【図6】実施の形態のPRML復号装置におけるパスメトリック更新ユニットのブロック図である。
【図7】実施の形態のPRML復号装置におけるパスメモリ更新ユニットのブロック図である。
【図8】実施の形態のPRML復号装置における差動メトリック計算器のブロック図である。
【図9】実施の形態のPRML復号装置におけるSAM補正部のブロック図である。
【図10】実施の形態のPRML復号装置におけるビット修正器のブロック図である。
【図11】実施の形態のPRML復号装置におけるSAMジッタ計算器のブロック図である。
【図12】実施の形態のPRML復号装置の他の例のブロック図である。
【図13】実施の形態のPRML復号装置の他の例のブロック図である。
【図14】実施の形態のPRML復号装置における差動メトリック計算器の他の例のブロック図である。
【図15】実施の形態のPRML復号装置のさらに他の例のブロック図である。
【図16】実施の形態のPRML復号装置における差動メトリック計算器のさらに他の例のブロック図である。
【符号の説明】
【0108】
1 光ピックアップ、2 プリアンプ、3 A/D変換器、4 イコライザ、5 PLL回路、6 PRML復号装置、8 復調器、9 RSデコーダ、10 CPUブロック、20 イコライザ、21 最尤検出器、22 ブランチメトリック計算ユニット、23 パスメトリック更新ユニット、24 パスメモリ更新ユニット、25 遅延回路、27 差動メトリック計算器、28 SAM補正部、29 ビット修正器、30 SAMジッタ計算器、91 差動メトリック分類器、92 差動メトリック補正器、93 差動メトリック復元器
【特許請求の範囲】
【請求項1】
入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出手段と、
上記ビット検出手段における生き残りパスの差動メトリックを計算する差動メトリック計算手段と、
上記差動メトリックを、上記ビット検出手段で検出されたビット系列のパタンごとに分類する差動メトリック分類手段と、
上記差動メトリック分類手段で分類された差動メトリックについて、それぞれの低域周波数成分の補正を行う差動メトリック補正手段と、
上記差動メトリック補正手段で補正された差動メトリックを用いて所定の処理を行う処理手段と、
を備えたことを特徴とするPRML復号装置。
【請求項2】
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正することを特徴とする請求項1に記載のPRML復号装置。
【請求項3】
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックが、上記ユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることを特徴とする請求項2に記載のPRML復号装置。
【請求項4】
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックの標準偏差を計算することで、上記ビット検出手段で検出された検出ビット値についての評価値を生成することを特徴とする請求項1に記載のPRML復号装置。
【請求項5】
上記差動メトリック分類手段は、上記ビット検出手段で検出されたビット系列としてのビットパタンと、所定の規則に従う分類用ビットパタンを照合し、ビットパタンが合致するパタンテーブルに、上記差動メトリック計算手段から供給される差動メトリックを分類することを特徴とする請求項1に記載のPRML復号装置。
【請求項6】
上記差動メトリック補正手段は、上記パタンテーブル毎に分類された差動メトリックについて、それぞれの有する低周波成分を補正することを特徴とする請求項5に記載のPRML復号装置。
【請求項7】
上記分類用ビットパタンとは、上記ビット検出手段で検出されるビット系列としてのビットパタンのうち、1ビットだけ異なるビットパタンが存在するビットパタンであることを特徴とする請求項5に記載のPRML復号装置。
【請求項8】
上記ビット検出手段が、d1規則に従う信号についてのビタビ検出処理を行う場合、
上記各パタンテーブルに対応する各分類用ビットパタンは、それぞれが5ビット以上のビットパタンであるとともに、複数の分類用ビットパタンとして、11000を含むビットパタン、11100を含むビットパタン、00011を含むビットパタン、00111を含むビットパタンが設定されていることを特徴とする請求項7に記載のPRML復号装置。
【請求項9】
上記差動メトリック計算手段で計算する上記生き残りパスの差動メトリックは、
上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列と1ビットだけ異なるビット系列に対応するパスメトリックとの間の差分であることを特徴とする請求項7に記載のPRML復号装置。
【請求項10】
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する処理手段であって、
上記差動メトリック補正手段で補正された差動メトリックの値が、1ビットだけ異なる2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることを特徴とする請求項7に記載のPRML復号装置。
【請求項11】
上記分類用ビットパタンとは、上記ビット検出手段で検出されるビット系列としてのビットパタンのうち、最短ランレングスのランを一つだけ含み、上記最短ランレングスのランを1ビットシフトさせたビットパタンが存在するパタンであることを特徴とする請求項5に記載のPRML復号装置。
【請求項12】
上記ビット検出手段が、d1規則に従う信号についてのビタビ検出処理を行う場合、
上記各パタンテーブルに対応する各分類用ビットパタンは、それぞれが7ビット以上のビットパタンであるとともに、複数の分類用ビットパタンとして、0011000を含むビットパタン、0001100を含むビットパタン、1110011を含むビットパタン、1100111を含むビットパタンが設定されていることを特徴とする請求項11に記載のPRML復号装置。
【請求項13】
上記差動メトリック計算手段で計算する上記生き残りパスの差動メトリックは、
上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列に含まれる最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分であることを特徴とする請求項11に記載のPRML復号装置。
【請求項14】
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する処理手段であって、
上記差動メトリック補正手段で補正された差動メトリックの値が、最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることを特徴とする請求項11に記載のPRML復号装置。
【請求項15】
上記分類用ビットパタンとは、上記ビット検出手段で検出されるビット系列としてのビットパタンのうち、最短ランレングスのランが2つ以上連続する箇所を含み、上記連続する2つ以上の最短ランレングスのランを1ビットシフトさせたビットパタンが存在するパタンであることを特徴とする請求項5に記載のPRML復号装置。
【請求項16】
上記差動メトリック計算手段で計算する上記生き残りパスの差動メトリックは、
上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列に含まれる2つ以上の連続した最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分であることを特徴とする請求項15に記載のPRML復号装置。
【請求項17】
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する処理手段であって、
上記差動メトリック補正手段で補正された差動メトリックの値が、2つ以上の連続する最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることを特徴とする請求項11に記載のPRML復号装置。
【請求項18】
入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出ステップと、
上記ビット検出ステップにおける生き残りパスの差動メトリックを計算する差動メトリック計算ステップと、
上記差動メトリックを、上記ビット検出ステップで検出されたビット系列のパタンごとに分類する差動メトリック分類ステップと、
上記差動メトリック分類ステップで分類された差動メトリックについて、それぞれの低域周波数成分の補正を行う差動メトリック補正ステップと、
上記差動メトリック補正ステップで補正された差動メトリックを用いて所定の処理を行う処理ステップと、
を備えたことを特徴とするPRML復号方法。
【請求項19】
上記処理ステップでは、上記差動メトリック補正ステップで補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出ステップで検出された検出ビット値を修正することを特徴とする請求項18に記載のPRML復号方法。
【請求項20】
上記処理ステップでは、上記差動メトリック補正ステップで補正された差動メトリックの標準偏差を計算することで、上記ビット検出ステップで検出された検出ビット値についての評価値を生成することを特徴とする請求項18に記載のPRML復号方法。
【請求項1】
入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出手段と、
上記ビット検出手段における生き残りパスの差動メトリックを計算する差動メトリック計算手段と、
上記差動メトリックを、上記ビット検出手段で検出されたビット系列のパタンごとに分類する差動メトリック分類手段と、
上記差動メトリック分類手段で分類された差動メトリックについて、それぞれの低域周波数成分の補正を行う差動メトリック補正手段と、
上記差動メトリック補正手段で補正された差動メトリックを用いて所定の処理を行う処理手段と、
を備えたことを特徴とするPRML復号装置。
【請求項2】
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正することを特徴とする請求項1に記載のPRML復号装置。
【請求項3】
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックが、上記ユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることを特徴とする請求項2に記載のPRML復号装置。
【請求項4】
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックの標準偏差を計算することで、上記ビット検出手段で検出された検出ビット値についての評価値を生成することを特徴とする請求項1に記載のPRML復号装置。
【請求項5】
上記差動メトリック分類手段は、上記ビット検出手段で検出されたビット系列としてのビットパタンと、所定の規則に従う分類用ビットパタンを照合し、ビットパタンが合致するパタンテーブルに、上記差動メトリック計算手段から供給される差動メトリックを分類することを特徴とする請求項1に記載のPRML復号装置。
【請求項6】
上記差動メトリック補正手段は、上記パタンテーブル毎に分類された差動メトリックについて、それぞれの有する低周波成分を補正することを特徴とする請求項5に記載のPRML復号装置。
【請求項7】
上記分類用ビットパタンとは、上記ビット検出手段で検出されるビット系列としてのビットパタンのうち、1ビットだけ異なるビットパタンが存在するビットパタンであることを特徴とする請求項5に記載のPRML復号装置。
【請求項8】
上記ビット検出手段が、d1規則に従う信号についてのビタビ検出処理を行う場合、
上記各パタンテーブルに対応する各分類用ビットパタンは、それぞれが5ビット以上のビットパタンであるとともに、複数の分類用ビットパタンとして、11000を含むビットパタン、11100を含むビットパタン、00011を含むビットパタン、00111を含むビットパタンが設定されていることを特徴とする請求項7に記載のPRML復号装置。
【請求項9】
上記差動メトリック計算手段で計算する上記生き残りパスの差動メトリックは、
上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列と1ビットだけ異なるビット系列に対応するパスメトリックとの間の差分であることを特徴とする請求項7に記載のPRML復号装置。
【請求項10】
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する処理手段であって、
上記差動メトリック補正手段で補正された差動メトリックの値が、1ビットだけ異なる2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることを特徴とする請求項7に記載のPRML復号装置。
【請求項11】
上記分類用ビットパタンとは、上記ビット検出手段で検出されるビット系列としてのビットパタンのうち、最短ランレングスのランを一つだけ含み、上記最短ランレングスのランを1ビットシフトさせたビットパタンが存在するパタンであることを特徴とする請求項5に記載のPRML復号装置。
【請求項12】
上記ビット検出手段が、d1規則に従う信号についてのビタビ検出処理を行う場合、
上記各パタンテーブルに対応する各分類用ビットパタンは、それぞれが7ビット以上のビットパタンであるとともに、複数の分類用ビットパタンとして、0011000を含むビットパタン、0001100を含むビットパタン、1110011を含むビットパタン、1100111を含むビットパタンが設定されていることを特徴とする請求項11に記載のPRML復号装置。
【請求項13】
上記差動メトリック計算手段で計算する上記生き残りパスの差動メトリックは、
上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列に含まれる最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分であることを特徴とする請求項11に記載のPRML復号装置。
【請求項14】
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する処理手段であって、
上記差動メトリック補正手段で補正された差動メトリックの値が、最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることを特徴とする請求項11に記載のPRML復号装置。
【請求項15】
上記分類用ビットパタンとは、上記ビット検出手段で検出されるビット系列としてのビットパタンのうち、最短ランレングスのランが2つ以上連続する箇所を含み、上記連続する2つ以上の最短ランレングスのランを1ビットシフトさせたビットパタンが存在するパタンであることを特徴とする請求項5に記載のPRML復号装置。
【請求項16】
上記差動メトリック計算手段で計算する上記生き残りパスの差動メトリックは、
上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列に対応するパスメトリックと、上記検出されたビット系列に含まれる2つ以上の連続した最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分であることを特徴とする請求項15に記載のPRML復号装置。
【請求項17】
上記処理手段は、上記差動メトリック補正手段で補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出手段で検出された検出ビット値を修正する処理手段であって、
上記差動メトリック補正手段で補正された差動メトリックの値が、2つ以上の連続する最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビットのビット系列パタンの所定のビット値を反転させることを特徴とする請求項11に記載のPRML復号装置。
【請求項18】
入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出ステップと、
上記ビット検出ステップにおける生き残りパスの差動メトリックを計算する差動メトリック計算ステップと、
上記差動メトリックを、上記ビット検出ステップで検出されたビット系列のパタンごとに分類する差動メトリック分類ステップと、
上記差動メトリック分類ステップで分類された差動メトリックについて、それぞれの低域周波数成分の補正を行う差動メトリック補正ステップと、
上記差動メトリック補正ステップで補正された差動メトリックを用いて所定の処理を行う処理ステップと、
を備えたことを特徴とするPRML復号方法。
【請求項19】
上記処理ステップでは、上記差動メトリック補正ステップで補正された差動メトリックとユークリッド距離を比較した結果により、上記ビット検出ステップで検出された検出ビット値を修正することを特徴とする請求項18に記載のPRML復号方法。
【請求項20】
上記処理ステップでは、上記差動メトリック補正ステップで補正された差動メトリックの標準偏差を計算することで、上記ビット検出ステップで検出された検出ビット値についての評価値を生成することを特徴とする請求項18に記載のPRML復号方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2006−318548(P2006−318548A)
【公開日】平成18年11月24日(2006.11.24)
【国際特許分類】
【出願番号】特願2005−138422(P2005−138422)
【出願日】平成17年5月11日(2005.5.11)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成18年11月24日(2006.11.24)
【国際特許分類】
【出願日】平成17年5月11日(2005.5.11)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]