PRML復号装置、PRML復号方法
【課題】短い拘束長のターゲットレスポンスを用いたPRML検出を用いて、長い拘束長のターゲットレスポンスを用いた場合のビット検出と同等の性能を発揮する手法の実現。
【解決手段】
目標とするビット検出性能のために想定されるターゲットレスポンスよりも簡単なターゲットレスポンス、特に、拘束長が短くなっているターゲットレスポンスを用いて、短い拘束長によるPRMLビット検出を行う。その一方で、目標とするビット検出性能に応じて想定されるターゲットレスポンスを用いて差動メトリックを計算する。そして、得られた差動メトリックが、そのユークリッド距離より大きく、ビット値が誤りであることを示していれば、PRMLビット検出で検出されたビット値を修正する。
【解決手段】
目標とするビット検出性能のために想定されるターゲットレスポンスよりも簡単なターゲットレスポンス、特に、拘束長が短くなっているターゲットレスポンスを用いて、短い拘束長によるPRMLビット検出を行う。その一方で、目標とするビット検出性能に応じて想定されるターゲットレスポンスを用いて差動メトリックを計算する。そして、得られた差動メトリックが、そのユークリッド距離より大きく、ビット値が誤りであることを示していれば、PRMLビット検出で検出されたビット値を修正する。
【発明の詳細な説明】
【技術分野】
【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検出方式は、通信情報、磁気テープ、ハードディスクなど多くの分野にわたって、広く用いられて効果を発揮している。しかし、いずれの分野においても、近年の高密度化に伴って、拘束長の長いPRML検出が必要とされている。たとえば、光ディスクシステムでは、ターゲットレスポンスは、拘束長3のPR(1,2,1)から現在主流とされている拘束長4のPR(1,2,2,1)へと変遷し、現在は拘束長5のPR(1,2,2,2,1)や、拘束長6のPR(0,1,2,2,1,0)を適応補正するものなどが提案されている。
このような拘束長の長いターゲットレスポンスが必要とされる理由は、高密度化にともなう符号間干渉長の増大に由来する。高密度化が進めば、再生ヘッド、ピックアップなどの分解能に対するビット長は相対的に減少する。したがって、高密度化において、拘束長の長いPRML検出は不可欠である。
【0010】
一方、このような拘束長が長いターゲットレスポンスを扱う場合、PRML復号装置の回路規模は増大し、その増大は拘束長が1増えるたびにおよそ2倍程度と概算される。
したがって、たとえば、現行のPR(1,2,2,1)からPR(1,2,2,2,1)などに変更した場合、回路規模はおよそ2倍程度である。このような回路規模の増大は、低消費電力化などの観点から望ましい方向ではなく、さらに、回路規模が複雑になればなるほど設計は困難となり、また、処理速度の低減につながるという問題がある。
【0011】
そこで本発明では、短い拘束長のターゲットレスポンスを用いたPRML検出を用いて、長い拘束長のターゲットレスポンスを用いた場合のビット検出と同等の性能を発揮する手法を実現することを課題とする。
【課題を解決するための手段】
【0012】
本発明のPRML復号装置は、入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出手段と、上記ビット検出手段で検出されたビット系列における所定の規則に従うビットパタンに対して、上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる差動メトリックを計算する差動メトリック計算手段と、上記差動メトリック計算手段で得られた差動メトリックと、該差動メトリックに対応するユークリッド距離との比較結果に基づいて、上記ビット検出手段で検出されたビット系列を修正するビット修正手段とを備える。
【0013】
上記所定の規則に従うビットパタンとは、所定のランレングス規則に従うビットパタンであって、所定の1ビットを変更しても上記ランレングス規則を満たすビットパタンである。
そして上記ビット検出手段が、上記ランレングス規則としてd1規則に従う信号についてのビタビ検出処理を行う場合、上記所定の規則に従うビットパタンとは、それぞれが5ビット以上のビットパタンであるとともに、複数の上記ビットパタンとして、11000を含むビットパタン、11100を含むビットパタン、00011を含むビットパタン、00111を含むビットパタンが設定されている。
また上記差動メトリック計算手段で計算する差動メトリックは、上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記ビット検出手段で検出されたビット系列とは1ビットだけ異なるビット系列に対応するパスメトリックとの間の差分であって、上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる演算で得られる差動メトリックである。
また上記ビット修正手段は、上記差動メトリック計算手段で得られた差動メトリックの値が、1ビット異なる2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビット系列におけるビットパタンの所定のビット値を反転させる。
【0014】
また、上記所定の規則に従うビットパタンとは、所定のランレングス規則に従うビットパタンであって、1つ以上の連続する最短ランレングスのランを含み、上記最短ランレングスのランを1ビットシフトしても上記ランレングス規則を満たすビットパタンである。
そして上記ビット検出手段が、上記ランレングス規則としてd1規則に従う信号についてのビタビ検出処理を行う場合、上記所定の規則に従うビットパタンとは、それぞれが7ビット以上のビットパタンであるとともに、複数の上記ビットパタンとして、0011000を含むビットパタン、0001100を含むビットパタン、1110011を含むビットパタン、1100111を含むビットパタンが設定されている。
また上記差動メトリック計算手段で計算する差動メトリックは、上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記ビット検出手段で検出されたビット系列に含まれる最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分であって、上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる演算で得られる差動メトリックである。
また上記ビット修正手段は、上記差動メトリック計算手段で得られた差動メトリックの値が、最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビット系列におけるビットパタンの所定のビット値を反転させる。
【0015】
また上記ビット修正手段は、上記差動メトリック計算手段で得られた差動メトリックの値が、ターゲットレスポンスで決まる最小ユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビット系列におけるビットパタンの所定のビット値を反転させる。
また上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる差動メトリックとは、上記ビット検出手段でのビット検出に用いた差動メトリックを計算するために必要な拘束長よりも長い拘束長を必要とする差動メトリックである。
また上記ビット検出手段でのビット検出に用いた差動メトリックは、拘束長が4のターゲットレスポンスPR(1,2,2,1)から得られる基準レベルから計算される差動メトリックであって、上記差動メトリック計算手段で算出する差動メトリックは、拘束長が5のターゲットレスポンスPR(1,2,2,2,1)から得られる基準レベルを用いて計算される差動メトリックである。
この場合、上記差動メトリック計算手段で算出する差動メトリックは、拘束長が5のターゲットレスポンスPR(1,2,2,2,1)から得られる基準レベルに所定の補正を施した基準レベルを用いて計算される差動メトリックであり、上記基準レベルの所定の補正とは、各基準レベルに対して、実際に検出された信号のうちその基準レベルに該当するものを選択して、その低周波成分を用いて基準レベルを適応的に修正することである。
【0016】
本発明のPRML復号方法は、入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出ステップと、上記ビット検出ステップで検出されたビット系列における所定の規則に従うビットパタンに対して、上記ビット検出ステップでのビット検出に用いた差動メトリックとは異なる差動メトリックを計算する差動メトリック計算ステップと、上記差動メトリック計算ステップで得られた差動メトリックと、該差動メトリックに対応するユークリッド距離との比較結果に基づいて、上記ビット検出ステップで検出されたビット系列を修正するビット修正ステップとを備える。
【0017】
即ち本発明では、目標とするビット検出性能のために想定されるターゲットレスポンスよりも簡単なターゲットレスポンス、特に、拘束長が短くなっているターゲットレスポンスを用いて、短い拘束長によるPRMLビット検出を行う。その一方で、目標とするビット検出性能に応じて想定されるターゲットレスポンスを用いて差動メトリックを計算する。そして、得られた差動メトリックが、そのユークリッド距離より大きく、ビット値が誤りであることを示していれば、PRMLビット検出で検出されたビット値を修正する。
【発明の効果】
【0018】
本発明によれば、拘束長の長いターゲットレスポンスが要求とされるPRML検出において、想定されるターゲットレスポンスよりも簡単なターゲットレスポンス、特に、拘束長が短くなっているターゲットレスポンスを用いて、短い拘束長によるPRMLビット検出を行う。そしてその一方で、目標とするビット検出性能に応じて想定されるターゲットレスポンスを用いて差動メトリックを計算し、得られた差動メトリックが、そのユークリッド距離より大きく、ビット値が誤りであることを示していれば、PRMLビット検出で検出されたビット値を修正する。これによって、PRML復号装置の回路規模の著しい増大を招かずに、精度の高いビット検出を行うことができるという効果がある。
また例えば記録媒体の高密度化に対応するPRML復号装置として、回路規模の増大を招かないことで、高い精度のビット検出を実現しながら、低消費電力化を同時に実現でき、さらに、回路規模が複雑にならないため高密度化にともなう設計の困難さも発生せず、処理速度の低減などもおこらない。従って情報記録の高密度化と高転送レート化を実現しようとするシステムにおいて好適となる。
【発明を実施するための最良の形態】
【0019】
以下、本発明の実施の形態を説明する。
図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などで構成されている。
【0020】
光ディスク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)であるとする。
なお、本例のPRML復号装置6は、ビット検出の精度を測定する信号品質評価指標としてSAMジッタを検出できるようにもされている。
【0021】
PRML復号装置6で得られたビット情報は、復調器8で記録時の変調方式に従って復調され、さらに、RSデコーダ9でECCブロックのリード・ソロモン符号を復号して誤りを訂正し、CPUブロック10はEDCブロックにおける誤り検出符号に誤りが検出されていないことを確認することで、もとのアプリケーションデータを復元する。
【0022】
図2は、図1に示したPRML復号装置6の構成を表している。
PRML復号装置6は、チャネルレスポンスをターゲットレスポンスに等化する波形等化器(イコライザ)20と、このイコライザ20の出力からビタビ検出を行う最尤検出器21と、別のターゲットレスポンスに等化するイコライザ26と、パス比較の際の差動メトリックdMを算出する差動メトリック計算器(DMC)27と、ビット修正器29と、SAMジッタ計算器30を有して構成される。
【0023】
イコライザ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制約に従って接続するように構成されている。
【0024】
イコライザ26は、入力信号(RF)をターゲットレスポンスPR(1,2,2,2,1)に等化する。イコライザ26でPR等化された入力信号RFは差動メトリック計算器27に供給される。
【0025】
差動メトリック計算器27には、イコライザ26でターゲットレスポンスPR(1,2,2,2,1)にPR等化された入力信号が供給されるとともに、最尤検出器21で検出される検出ビット列(ビットシーケンス)が供給される。
そして差動メトリック計算器27は、入力された信号から以下の値としての差動メトリックdMを計算する。
dM=1・(qn-0−pn-0)+2・(qn-1−pn-1)+2・(qn-2−pn-2)+2・(qn-3−pn-3)+1・(qn-4−pn-4)
但し、qnはイコライザ26の出力、pnは最尤検出器21による検出ビット系列から得られるターゲットレスポンスPR(1、2、2、2、1)のパーシャルレスポンス出力であり、nは時刻を表す。この値は、その正負を除けば、1ビット異なるビット系列との差動メトリックから、PR(1、2、2、2、1)における1ビット異なる系列でのユークリッド距離を引いた値に等しい。
【0026】
ビット修正器29は、差動メトリック計算器27で得られた差動メトリックdMを用いて再度ビット検出を行う。つまり最尤検出器21で検出される検出ビットに対して修正を行い、修正ビットシーケンスを出力する。
このビット修正器29は、最尤検出器21から入力された5ビットの検出ビット系列に基づき、差動メトリックdMを分類して、ビット値の再検出を行う。ここで5ビットのパタンは、11000、11100、00011、00111とし、差動メトリックdMの大きさがユークリッド距離d=(12+22+22+22+12)=14よりも大きいがどうかによって、検出ビット系列の5ビットの真ん中のビットの修正を行う。
【0027】
SAMジッタ計算器30は、差動メトリック計算器27から供給される、ターゲットレスポンスPR(1、2、2、2、1)での差動メトリックdMに対して標準偏差を計算することでSAMジッタを計算する。そしてSAMジッタの値を、評価値として出力する。
【0028】
なお、この図2の構成例においては、イコライザ20及び最尤検出器21が、本発明請求項のビット検出手段に相当する。また差動メトリック計算器27が、本発明請求項の差動メトリック計算手段に相当する。さらに、ビット修正器29が、本発明請求項のビット修正手段に相当する。
【0029】
以下、図2の各部を詳細に説明する。
図3は図2のイコライザ20、及びイコライザ26の一例である。このイコライザ20、26は、フリップフロップ31A〜31F、掛け算器32A〜32G、および加算器33によって構成され、波形等化フィルタを成している。
入力された再生信号(図1のイコライザ4からPRML復号装置6に供給される再生信号RF(Sampled))は、フリップフロップ31A〜31Fを経て、チャネルクロックで1クロックずつ遅延した7つの信号に分岐される。
次に、分岐された7つの信号は、それぞれ掛け算器32A〜32Gによって、それぞれ異なる倍率(係数k0〜k6)で増幅される。
最後にこれらの掛け算器32A〜32Gによって増幅された各信号は、加算器33によって加算されて、その出力が等化信号として出力される。
【0030】
ここで、掛け算器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の入力信号、パーシャルレスポンス信号、等化信号である。
【0031】
なお、この図3の例は、7クロックはなれた信号を用いた7タップのイコライザの場合である。このタップ数は、必ずしも7つである必要はなく、より精度よく符号間干渉を取り除くのであればさらに増やしたり、あるいは、規模を小さくするならこれよりも減らしたりして、目的に応じて変更されればよい。
いずれにしてもイコライザ20は、PR(1,2,2,1)のターゲットレスポンスでパーシャルレスポンス等化を実現できればどのようなイコライザでもよい。
またイコライザ26は、PR(1,2,2,2,1)のターゲットレスポンスでパーシャルレスポンス等化を実現できればどのようなイコライザでもよい。
【0032】
図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の検出ビットとして出力する。
【0033】
図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を記憶する。
【0034】
なお、ここではターゲットレスポンスを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、
となる。
【0035】
ブランチメトリックレジスタ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を記憶する。
【0036】
基準値レジスタ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)が一つずつ用意されている。
【0037】
各減算器(42A〜42J)では、入力信号qnと、対応するレジスタ(41A〜41J)から得られた基準レベルの信号を入力し、その差分を出力する。
また、各掛け算器(43A〜43J)は、対応する減算器(42A〜42J)から出力された差分を二乗した値を出力する。このそれぞれの掛け算器(43A〜43J)から出力された値が、各ブランチメトリックレジスタ(44A〜44J)において記憶されるブランチメトリックm0000〜m1111となる。
この場合、ブランチメトリックmijklは、
mijkl=(qn−rijkl)2
である。ここでqnは時刻nの入力信号である。
【0038】
但しブランチメトリックは、相対値がわかれば充分であり、したがって、qn2の項はなくてもよい。このため図5のブランチメトリックレジスタ44A〜44Jに示すように、ブランチメトリックmijklは、
mijkl=−rijkl(2qn−rijkl)
とすればよい。このようにすれば、掛け算器43の容量を削減することができる。
なお、掛け算器43のかわりに絶対値計算器を配してもよい。
【0039】
以上のようにして得られて各ブランチメトリックレジスタ44A〜44Jに記憶されたブランチメトリックm0000〜m1111は、チャネルビットクロック毎に更新されるとともに、次段のパスメトリック更新ユニット23に出力される。
【0040】
図6は、PR(1,2,2,1)をターゲットレスポンスとする最尤検出器21におけるパスメトリック更新ユニット23を示している。
図6のパスメトリック更新ユニット23は、パスメトリックレジスタ51A〜51J、及び52A〜52Jと、フリップフロップ53A〜53Jを有して構成されている。
【0041】
パスメトリックレジスタ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の値として記憶される。
【0042】
パスメトリックレジスタ51Bには、ブランチb0001における生き残りパスのパスメトリックpm0001が記憶されている。
ビット列0001に到達したパスのパスメトリックの演算は、
pm0001=min(pm0000、pm1000)+m0001
で表される。つまりパスメトリックレジスタ52Bでは、ブランチb0001に至るパスのパスメトリックpm0001として、pm0000+m0001、pm1000+m0001のうち小さい値が選択される。
フリップフロップ53Bによってラッチされたパスメトリックレジスタ52Bの値は、パスメトリックレジスタ51Bの値として記憶される。
【0043】
パスメトリックレジスタ51Cには、ブランチb1000における生き残りパスのパスメトリックpm1000が記憶されている。
ビット列1000に到達したパスのパスメトリックの演算は、
pm1000=pm1100+m1000
で表される。パスメトリックレジスタ52Cには、ブランチb1000に至るパスのパスメトリックpm1000=pm1100+m1000が記憶される。
フリップフロップ53Cによってラッチされたパスメトリックレジスタ52Cの値は、パスメトリックレジスタ51Cの値として記憶される。
【0044】
パスメトリックレジスタ51Dには、ブランチb1001における生き残りパスのパスメトリックpm1001が記憶されている。
ビット列1001に到達したパスのパスメトリックの演算は、
pm1001=pm1100+m1001
で表される。パスメトリックレジスタ52Dには、ブランチb1001に至るパスのパスメトリックpm1001=pm1100+m1001が記憶される。フリップフロップ53Dによってラッチされたパスメトリックレジスタ52Dの値は、パスメトリックレジスタ51Dの値として記憶される。
【0045】
パスメトリックレジスタ51Eには、ブランチb0011における生き残りパスのパスメトリックpm0011が記憶されている。
ビット列0011に到達したパスのパスメトリックの演算は、
pm0011=min(pm0001、pm1001)+m0011
で表される。パスメトリックレジスタ52Eでは、ブランチb0011に至るパスのパスメトリックpm0011として、pm0001+m0011、pm1001+m0011のうち小さい値が選択される。フリップフロップ53Eによってラッチされたパスメトリックレジスタ52Eの値は、パスメトリックレジスタ51Eの値として記憶される。
【0046】
パスメトリックレジスタ51Fには、ブランチb1100における生き残りパスのパスメトリックpm1100が記憶されている。
ビット列1100に到達したパスのパスメトリックの演算は、
pm1100=min(pm0110、pm1110)+m1100
で表される。パスメトリックレジスタ52Fでは、ブランチb1100に至るパスのパスメトリックpm1100としてpm0110+m1100、pm1110+m1100のうち小さい値が選択される。フリップフロップ53Fによってラッチされたパスメトリックレジスタ52Fの値は、パスメトリックレジスタ51Fの値として記憶される。
【0047】
パスメトリックレジスタ51Gには、ブランチb0110における生き残りパスのパスメトリックpm0110が記憶されている。
ビット列0110に到達したパスのパスメトリックの演算は、
pm0110=pm0011+m0011
で表される。パスメトリックレジスタ52Gには、ブランチb0110に至るパスのパスメトリックpm0110=pm0011+m0110が記憶される。フリップフロップ53Gによってラッチされたパスメトリックレジスタ52Gの値は、パスメトリックレジスタ51Gの値として記憶される。
【0048】
パスメトリックレジスタ51Hには、ブランチb0111における生き残りパスのパスメトリックpm0111が記憶されている。
ビット列0111に到達したパスのパスメトリックの演算は、
pm0111=pm0011+m0111
で表される。パスメトリックレジスタ52Hには、ブランチb0111に至るパスのパスメトリックpm0111=pm0011+m0111が記憶される。フリップフロップ53Hによってラッチされたパスメトリックレジスタ52Hの値は、パスメトリックレジスタ51Hの値として記憶される。
【0049】
パスメトリックレジスタ51Iには、ブランチb1110における生き残りパスのパスメトリックpm1110が記憶されている。
ビット列1110に到達したパスのパスメトリックの演算は、
pm1110=min(pm0111、pm1111)+m1110
で表される。パスメトリックレジスタ52Iでは、ブランチb1110に至るパスのパスメトリックpm1110としてpm0111+m1110、pm1111+m1110のうち小さい値が選択される。フリップフロップ53Iによってラッチされたパスメトリックレジスタ52Iの値は、パスメトリックレジスタ51Iの値として記憶される。
【0050】
パスメトリックレジスタ51Jには、ブランチb1111における生き残りパスのパスメトリックpm1111が記憶されている。
ビット列1111に到達したパスのパスメトリックの演算は、
pm1111=min(pm0111、pm1111)+m1111
で表される。パスメトリックレジスタ52Jでは、ブランチb1111に至るパスのパスメトリックpm1111としてpm0111+m1111、pm1111+m1111のうち小さい値が選択される。フリップフロップ53Jによってラッチされたパスメトリックレジスタ52Jの値は、パスメトリックレジスタ51Jの値として記憶される。
【0051】
以上のようにして、各ブランチにおける、そのブランチにいたるまでのパスメトリックが更新される。
一方、各ブランチでのパスの選択情報、つまりパスメトリックの比較選択の際にいずれのパスを選らんだかの情報を、図5において{Sijkl}として示しているが、このパス選択情報{Sijkl}は、次に述べるパスメモリ更新ユニット24に出力される。
【0052】
図7は、PR(1,2,2,1)をターゲットレスポンスとする最尤検出器21におけるパスメモリ更新ユニット24を示している。
図7のパスメモリ更新ユニット24は、パスメモリレジスタ61A〜61J、62A〜62Jと、フリップフロップ63A〜63Jによって構成されている。
なお図7においては、上記パスメトリック更新ユニット23から供給されるパス選択情報を{Sijkl}として示している。
【0053】
パスメモリレジスタ61Aには、ブランチb0000における生き残りパスのパスメモリM0000が記憶されている。
ビット列0000に到達したパスのパスメモリの更新は、
M0000=2・select(M0000、M1000)+0
で表される。なお、select(A,B)はA,Bを選択する演算である。
つまりパスメモリレジスタ62Aでは、ブランチb0000に至る2つのパスのパスメモリM0000、M1000うち、パスメトリックが小さくなるパスのパスメモリを選択し、選択されたメモリ値を2倍して0を加算して記憶する。このパスの選択情報は、図6のパスメトリック更新ユニット23におけるブランチb0000での比較結果を元にしている。フリップフロップ63Aによってラッチされたパスメモリレジスタ62Aの値は、パスメモリレジスタ61Aの値として記憶される。
なお、図にはselect(S0000,M0000、M1000)と示しているが、これはパスメトリック更新時のパスの選択情報S0000に基づいてM0000、M1000のいずれか選択する演算という意味を示している。他のパスメモリレジスタ62B、62E、62F、62I、62Jも同様の意味である。
【0054】
パスメモリレジスタ61Bには、ブランチb0001における生き残りパスのパスメモリM0001が記憶されている。
ビット列0001に到達したパスのパスメモリの更新は、
M0001=2・sel(M0000、M1000)+1
で表される。このためパスメモリレジスタ62Bでは、ブランチb0001に至る2つのパスのパスメモリM0000、M1000うち、パスメトリックが小さくなるパスのパスメモリを選択し、選択されたメモリ値を2倍して1を加算して記憶する。このパスの比較情報は、パスメトリック更新ユニット23におけるブランチb0001での比較結果を元にしている。フリップフロップ63Bによってラッチされたパスメモリレジスタ62Bの値は、パスメモリレジスタ61Bの値として記憶される。
【0055】
パスメモリレジスタ61Cには、ブランチb1000における生き残りパスのパスメモリM1000が記憶されている。
ビット列1000に到達したパスのパスメモリの更新は、
M1000=2・M1100+0
で表される。このためパスメモリレジスタ62Cでは、ブランチb1000に至るパスのパスメモリM1100を2倍し、0を加算して記憶する。フリップフロップ63Cによってラッチされたパスメモリレジスタ62Cの値は、パスメモリレジスタ61Cの値として記憶される。
【0056】
パスメモリレジスタ61Dには、ブランチb1001における生き残りパスのパスメモリM1001が記憶されている。
ビット列1001に到達したパスのパスメモリの更新は、
M1001=2・M1100+1
で表される。パスメモリレジスタ62Dでは、ブランチb1001に至るパスのパスメモリM1100を2倍し、1を加算して記憶する。フリップフロップ63Dによってラッチされたパスメモリレジスタ62Dの値は、パスメモリレジスタ61Dの値として記憶される。
【0057】
パスメモリレジスタ61Eには、ブランチb0011における生き残りパスのパスメモリM0011が記憶されている。
ビット列0011に到達したパスのパスメモリの更新は、
M0011=2・sel(M0001、M1001)+1
で表される。パスメモリレジスタ62Eでは、ブランチb0011に至る2つのパスのパスメモリM0001、M1001のうち、パスメトリックが小さくなるパスのパスメモリを選択し、選択されたメモリ値を2倍して1を加算して記憶する。このパスの選択情報は、図6のパスメトリック更新ユニット23におけるブランチb0011での比較結果を元にしている。フリップフロップ63Eによってラッチされたパスメモリレジスタ62Eの値は、パスメモリレジスタ61Eの値として記憶される。
【0058】
パスメモリレジスタ61Fには、ブランチb1100における生き残りパスのパスメモリM1100が記憶されている。
ビット列1100に到達したパスのパスメモリの更新は、
M1100=2・sel(M0110、M1110)+0
で表される。パスメモリレジスタ62Fでは、ブランチb1100に至る2つのパスのパスメモリM0110、M1110のうち、パスメトリックが小さくなるパスのパスメモリを選択して、選択されたメモリ値を2倍して0を加算し、記憶する。このパスの選択情報は、パスメトリック更新ユニット23におけるブランチb1100での比較結果を元にしている。フリップフロップ63Fによってラッチされたパスメモリレジスタ62Fの値は、パスメモリレジスタ61Fの値として記憶される。
【0059】
パスメモリレジスタ61Gには、ブランチb0110における生き残りパスのパスメモリM0110が記憶されている。
ビット列0110に到達したパスのパスメモリの更新は、
M0110=2・M0011+0
で表される。パスメモリレジスタ62Gでは、ブランチb0110に至るパスのパスメモリM0011を2倍して0を加算し記憶する。フリップフロップ63Gによってラッチされたパスメモリレジスタ62Gの値は、パスメモリレジスタ61Gの値として記憶される。
【0060】
パスメモリレジスタ61Hには、ブランチb0111における生き残りパスのパスメモリM0111が記憶されている。
ビット列0111に到達したパスのパスメモリの更新は、
M0111=2・M0011+1
で表される。パスメモリレジスタ62Hでは、ブランチb0111に至るパスのパスメモリM0011を2倍して1を加算し、記憶する。フリップフロップ63Hによってラッチされたパスメモリレジスタ62Hの値は、パスメモリレジスタ61Hの値として記憶される。
【0061】
パスメモリレジスタ61Iには、ブランチb1110における生き残りパスのパスメモリM1110が記憶されている。
ビット列1110に到達したパスのパスメモリの更新は、
M1110=2・sel(M0111、M1111)+0
で表される。パスメモリレジスタ62Iでは、ブランチb1110に至る2つのパスのパスメモリM0111、M1111のうち、パスメトリックの小さくなるパスのパスメモリを選択して、選択したメモリ値を2倍して0を加算して記憶する。このパスの選択情報は、パスメトリック更新ユニット23におけるブランチb1110での比較結果を元にしている。フリップフロップ63Iによってラッチされたパスメモリレジスタ62Iの値は、パスメモリレジスタ61Iの値として記憶される。
【0062】
パスメモリレジスタ61Jには、ブランチb1111における生き残りパスのパスメトリックM1111が記憶されている。
ビット列1111に到達したパスのパスメモリの更新は、
M1111=2・sel(M0111、M1111)+1
で表される。パスメモリレジスタ62Jでは、ブランチb1111に至る2つのパスのパスメモリM0111、M1111のうち、パスメトリックの小さくなるパスのパスメモリを選択して、選択したメモリ値を2倍して1を加算し、記憶する。このパスの選択情報は、パスメトリック更新ユニット23におけるブランチb1111での比較結果を元にしている。フリップフロップ63Jによってラッチされたパスメモリレジスタ62Jの値は、パスメモリレジスタ61Jの値として記憶される。
【0063】
以上のパスメモリ更新ユニット24に記憶されているビット系列は、上述のパスの選択を繰り返しながら、最終的に尤もらしいビット系列に収束していく。収束するまでにかかる時間は、拘束長の5倍程度といわれている。従って、パスメモリを30ビットのシフトレジスタで構成すれば、パスメモリのうち上位のビットは、収束している。従って、最尤検出器21では、ブランチb1111のパスメモリの最上位のビット(MSB)を選択して、これをビット検出結果として出力する。
【0064】
図8は、図2の差動メトリック計算器27の一例である。この差動メトリック計算器27は、最尤検出器21でのビット検出処理に用いられた差動メトリックとは異なる差動メトリックを計算するものである。
図2で説明したように差動メトリック計算器27には、イコライザ26からの、ターゲットレスポンスPR(1,2,2,2,1)の等化信号と、最尤検出器21で検出されたビットシーケンスが供給される。
図8に示すように差動メトリック計算器27は、PRレベル生成器80、減算器81、フリップフロップ82A〜82Dと、掛け算器83A〜83Eと、加算器84によって構成されている。
なお、フリップフロップの数、掛け算器の数は、必要に応じて変更するものとする。
【0065】
PRレベル生成器80は、最尤検出器21からのビットシーケンスから、ターゲットレスポンスPR(1,2,2,2,1)のPRレベルを生成する。つまり5ビットのビット列に1,2,2,2,1を乗算して加算することで、PRレベルを生成する。
減算器81には、イコライザ26からの等化信号qと、PRレベル生成器80からのPR系列の信号pが供給される。
減算器81でq−pの減算が行われた出力値は、フリップフロップ82A〜82Dによるシフトレジスタによって1クロックタイミングずつずれて掛け算器83A〜83Eに供給され、さらに掛け算器83A〜83Eの出力が加算器84で加算されて差動メトリックdMとされる。
【0066】
この場合、掛け算器83A〜83Eの係数を順に1,2,2,2,1とする。この差動メトリック計算器27におけるフィルタ(フリップフロップ82A〜82D、掛け算器83A〜83E、及び加算器84で構成されるフィルタ)には、イコライザ26の出力qn、検出ビット系列から得られるパーシャルレスポンス出力pnの差分が順次入力されるため、その結果、時刻nにおける差動メトリックdMnとして、
dMn=1・(qn-0−pn-0)+2・(qn-1−pn-1)+2・(qn-2−pn-2)+2・(qn-3−pn-3)+1・(qn-4−pn-4)
を得ることになる。なお、この値は、前述のようにユークリッド距離分を除去した値であり、さらに、その正負については後のビット修正器29での処理において修正を加える。
この差動メトリック計算器27で計算する差動メトリックは、最尤検出器21で検出されたビット系列に対応するパスメトリックと、最尤検出器21で検出されたビット系列とは1ビットだけ異なるビット系列に対応するパスメトリックとの間の差分に相当する。
【0067】
なお差動メトリック計算器27で算出する差動メトリックは、拘束長が5のターゲットレスポンスPR(1,2,2,2,1)から得られる基準レベルに所定の補正を施した基準レベルを用いて計算される差動メトリックとしてもよい。この場合、基準レベルの所定の補正とは、各基準レベルに対して、実際に検出された信号のうちその基準レベルに該当するものを選択して、その低周波成分を用いて基準レベルを適応的に修正することである。
【0068】
差動メトリック計算器27で算出された差動メトリックdMは、ビット修正器29及びSAMジッタ計算器30に供給される。
図9は、ビット修正器29の一例である。ビット修正器29は分類器91,比較演算器92,選択器93、レジスタ94により構成される。このビット修正器29は、最尤検出器21で得られたビット値の5ビット値を用いて、差動メトリック計算器27で得られた差動メトリックdMを分類してユークリッド距離との比較を行い、5ビットの真ん中のビットの値の修正を行うものである。
【0069】
レジスタ94は、最尤検出器21から順次検出出力されるビットとしてのビットシーケンスの5ビットを保持する。つまり、1チャネルビット毎に、最尤検出器21から出力されるビット値はビットb4として記憶されると共に、ビットb4の値はビットb3に、ビットb3の値はビットb32、ビットb2の値はビットb1、ビットb1の値はビットb0に、それぞれ転送されるシフトレジスタ形態をとる。そして順次ビットb0から出力されるビット値が、修正ビットシーケンスとなる。なお、3番目のビットb2としては、選択器93から供給される値により修正される。
【0070】
分類器91は、上記した差動メトリック計算器27で算出された差動メトリックdMを4系統の演算テーブルに分類する。分類は、レジスタ94に保持された5ビットパタンに基づいて行われる。
ここでは、11000、11100、00011、00111の4個の5ビットパタンで差動メトリックdMを分類する。
なお、11000、11100、00011、00111のビットパタンは、最尤検出器21が、ランレングス規則としてd1規則に従う信号についてのビタビ検出処理を行う場合において、所定の1ビットを変更してもd1規則を満たすビットパタンである。
比較演算器92は、上記4個のビットパタンにそれぞれ対応して、4個の演算テーブル92−0、92−1、92−2、92−3を備える。
また選択器93はレジスタ94に保持された5ビットパタンに基づいて4個の演算テーブル92−0、92−1、92−2、92−3の1つを選択し、選択した演算テーブルの演算結果をレジスタ94のビットb2に供給する。
【0071】
このビット修正器29は以下のように動作する。
レジスタ94に保持された5ビットのパタンが11000である場合、差動メトリック計算器27から供給される差動メトリックdMは分類器91により演算テーブル92−0に分類される。そして演算テーブル92−0で、
out=(+dM<c)?0:1
の演算によって差動メトリックdMの値とユークリッド距離と比較した結果としての「0」又は「1」を、5ビットの真ん中のビット、つまりレジスタ94のビットb2の値に加算する。
ただし、cは、ターゲットレスポンスがPR(1、2、2、2、1)の場合の1ビット異なるパーシャルレスポンス系列のユークリッド系列であり、その値は、c=(12+22+22+22+12)=14である。また、A?B:Cは、論理Aが正しければBを、誤っていればCを出力する演算を示している。
この場合、+dM<cであれば、out=0となり、11000の5ビットの真ん中のビット(レジスタ94のb2)には0が加算される。つまり修正されない。一方、+dM<cでなければ、out=1となり、11000の5ビットの真ん中のビット(レジスタ94のb2)に1が加算され、当該5ビットは11100に修正される。
【0072】
レジスタ94に保持された5ビットのパタンが11100である場合、差動メトリック計算器27から供給される差動メトリックdMは分類器91により演算テーブル92−1に分類される。そして演算テーブル92−1で、
out=(−dM<c)?0:1
の演算によって差動メトリックの値とユークリッド距離と比較した結果を、5ビットの真ん中のビットb2の値に加算する。
【0073】
レジスタ94に保持された5ビットのパタンが00011である場合、差動メトリック計算器27から供給される差動メトリックdMは分類器91により演算テーブル92−2に分類される。そして演算テーブル92−2で、
out=(+dM<c)?0:1
の演算によって差動メトリックdMの値とユークリッド距離と比較した結果を、5ビットの真ん中のビットb2の値に加算する。
【0074】
レジスタ94に保持された5ビットのパタンが00111である場合、差動メトリック計算器27から供給される差動メトリックdMは分類器91により演算テーブル92−3に分類される。そして演算テーブル92−3で、
out=(−dM<c)?0:1
の演算によって差動メトリックdMの値とユークリッド距離と比較した結果を、5ビットの真ん中のビットb2の値に加算する。
【0075】
このビット修正器29では、以上の処理を1チャネルビットずつ繰り返して、ビット値の修正を行う。
即ちビット修正器29は、差動メトリックの値が、1ビット異なる2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、最尤検出器21で検出された検出ビット系列における5ビットのビットパタンのビット値b2を反転させるものとなっている。
但し、レジスタ94の5ビットが11000、11100、00011、00111のいずれでもないときは、差動メトリックdMに対する演算処理は行われず、つまりビットb2の修正は行われない。
【0076】
上記のように差動メトリック計算器27で計算された差動メトリックdMはSAMジッタ計算器30にも供給される。
図10は、SAMジッタ計算器30の一例である。SAMジッタ計算器30は二乗回路95、パタン検出カウンタ96、二乗値加算回路97、平方根回路98、割算回路99を備える。
差動メトリック計算器27から順次供給されてくる差動メトリックdMは、二乗回路95で二乗され、二乗値加算回路97で加算されて平均値が算出される。そして平方根回路98で平方根演算されることで差動メトリックdMの標準偏差値が算出される。さらに、この標準偏差値を割算回路99でユークリッド距離(この場合は14)の2倍で割ることによって補正されたSAMジッタを得る。
パタン検出カウンタ96には、上記レジスタ94の5ビット、つまり最尤検出器21からのビットシーケンス上での5ビットパタンが供給されており、パタン検出カウンタ96は、入力される5ビットパタンが上記の11000、11100、00011、00111のいずれかに該当するか否かを検出する。そしていずれかに該当する場合のみ、差動メトリックdMの二乗値を二乗値加算回路97で加算させるようにする。
以上の処理で、差動メトリックdMを用いてSAMジッタが算出される。
【0077】
以上のようなPRML復号装置6によれば、拘束長の長いターゲットレスポンス、例えばPR(1,2,2,2,1)が要求されるようなPRML検出において、PRML復号処理自体は拘束長の短いターゲットレスポンス、例えばPR(1,2,2,1)が用いるが、PR(1,2,2,2,1)で計算した差動メトリックdMの値に基づいてビット修正を行うことで、PRML復号装置の回路規模を増やすことなく精度の高いビット検出を行うことができる。
またこの結果、ディスク90等の記録媒体の高密度化に伴って再生ヘッド、ピックアップの分解能に対するビット長が相対的に減少した場合でも、より拘束長の長いターゲットレスポンスで差動メトリックdMを計算し、PRML検出ビットを修正するという手法を採用して高い精度のビット検出を行うことができる。
さらに、高密度化に対応する際に、PRML復号装置6の回路規模の増大がほとんどないことは、高い精度のビット検出を実現しながら、低消費電力化を同時に実現する。さらに、回路規模が複雑にならないため高密度化にともなう設計の困難さは発生せず、また、処理速度の低減などもおこらない。
これらのことから記録再生システムやデータ伝送システムにおける高密度化、高転送レート化に良好に対応できるものとなる。
【0078】
ところで上記例では、ランレングス規則としてd1規則に従う信号についてのビタビ検出処理を行う場合において、所定の1ビットを変更してもd1規則を満たすビットパタンとして11000、11100、00011、00111の4個の5ビットパタンを用いた例としたが、ビット修正器29において6ビット以上のビットパタンを用いて分類を行っても良い。但し、その場合のビットパタンとしては、11000を含むビットパタン、11100を含むビットパタン、00011を含むビットパタン、00111を含むビットパタンがそれぞれ少なくとも設定される。例えば6ビットのビットパタンを用いる例としては、上記各5ビットに最下位ビットとして0又は1を付加した6ビット、つまり110000、110001、111000、111001、000110、000111、001110、001111の8種類の6ビットパタンで差動メトリックdMの値を分類することが考えられる。
さらに、上記各5ビットに2ビット以上を付加した7ビット以上のビットパタンを用いることも考えられる。
【0079】
また、d1規則に従う信号についてのビタビ検出処理を行う場合において、1つ以上の連続する最短ランレングスのランを含み、最短ランレングスのランを1ビットシフトしてもd1規則を満たすビットパタンとして、7ビット以上のビットパタンを用いる例もある。その場合、複数のビットパタンとしては、0011000を含むビットパタン、0001100を含むビットパタン、1110011を含むビットパタン、1100111を含むビットパタンが設定される。
この場合、差動メトリック計算器27では、最尤検出器21で検出されたビット系列に対応するパスメトリックと、最尤検出器21で検出されたビット系列に含まれる最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分を、ターゲットレスポンスPR(1,2,2,2,1)において求める。
【0080】
ビット修正器29は図11のように分類器91A、比較演算器92A、選択器93A、レジスタ94Aで構成する。この場合のビット修正器29は、最尤検出器21で得られたビット値の7ビット値を用いて、差動メトリック計算器27で得られた差動メトリックdMを分類してユークリッド距離との比較を行い、7ビットのうちの2つのビットの値の修正を行うものとなる。
【0081】
レジスタ94Aは、最尤検出器21から順次検出出力されるビットとしてのビットシーケンスの7ビット(b0〜b6)を保持する。この場合は、ビットb2とビットb4が、選択器93Aから供給される値により修正される。
分類器91Aは、上記した差動メトリック計算器27で算出された差動メトリックdMを4系統の演算テーブルに分類する。分類は、レジスタ94Aに保持された7ビットパタンに基づいて行われる。ここでは0011000、0001100、1110011、1100111の4個の7ビットパタンで差動メトリックdMを分類する。
比較演算器92Aは、上記4個のビットパタンにそれぞれ対応して、4個の演算テーブル92−0、92−1、92−2、92−3を備える。
また選択器93Aはレジスタ94Aに保持された7ビットパタンに基づいて4個の演算テーブル92−0、92−1、92−2、92−3の1つを選択し、選択した演算テーブルの演算結果をレジスタ94Aのビットb2、b4に供給する。
【0082】
このビット修正器29は、7ビットパタンに応じて差動メトリックdMを4個の演算テーブル92−0、92−1、92−2、92−3に分類し、各演算テーブル92−0、92−1、92−2、92−3は、上記図9の場合と同様の演算を行う。そして演算結果、つまり選択器93Aの出力が「0」の場合は、ビットb2,b4の値は反転されず、選択器93Aの出力が「1」の場合は、ビットb2,b4が反転される。
例えばレジスタ94Aに保持された7ビットのパタンが0011000である場合、差動メトリック計算器27から供給される差動メトリックdMは分類器91により演算テーブル92−0に分類される。そして演算テーブル92−0で、
out=(+dM<c)?0:1
の演算によって差動メトリックdMとユークリッド距離cと比較した結果が得られる。このとき演算結果が「0」となった場合は、レジスタ94Aのビットb2,b4の値に「0」が加算されるため、ビットb2,b4の値は変わらない。つまりレジスタ94Aの7ビットは0011000のまま修正されない。一方、演算結果が「1」となった場合は、レジスタ94Aのビットb2,b4の値に「1」が加算されることになり、ビットb2,b4の値は反転する。つまりレジスタ94Aの7ビットは0011000から0001100に修正される。これは即ち、差動メトリックの値が、最短ランレングスのランを1ビットだけシフトさせた2つのビット系列の間のユークリッド距離を越える場合に、修正するものであり、最短ランレングスのランが1ビットシフトしたエラーを修正するものとなる。
レジスタ94Aに保持された7ビットのパタンが0001100、1110011、1100111の各場合も、それぞれ比較演算器92Aでの演算結果に応じて同様に処理が行われる。
但し、レジスタ94Aの7ビットが0011000、0001100、1110011、1100111のいずれでもないときは、差動メトリックdMに対する演算処理は行われず、つまりビットb2、b4の修正は行われない。
なお、ここでは7ビットパタンを用いたが、0011000、0001100、1110011、1100111のそれぞれにnビットを付加した(7+n)ビットのビットパタンを用いても良い。
【0083】
なお、実施の形態では、イコライザ20及び最尤検出器21でのターゲットレスポンスをPR(1,2,2,1)、イコライザ26及び差動メトリック計算器27でのターゲットレスポンスをPR(1,2,2,2,1)としたが、他にも各種例が考えられる。
例えばイコライザ26及び差動メトリック計算器27でのターゲットレスポンスを、PR(1,2,2,2,1)に代えて拘束長6のPR(0,1,2,2,1,0)としてもよい。
また、イコライザ20及び最尤検出器21でのターゲットレスポンスをPR(1,2,1)、イコライザ26及び差動メトリック計算器27でのターゲットレスポンスをPR(1,2,2,1)或いは(1,2,2,2,1)とするなどの例も考えられる。
【図面の簡単な説明】
【0084】
【図1】本発明の実施の形態の再生装置のブロック図である。
【図2】実施の形態のPRML復号装置のブロック図である。
【図3】実施の形態のPRML復号装置におけるイコライザのブロック図である。
【図4】実施の形態のPRML復号装置における最尤検出器のブロック図である。
【図5】実施の形態のPRML復号装置におけるブランチメトリック計算ユニットのブロック図である。
【図6】実施の形態のPRML復号装置におけるパスメトリック更新ユニットのブロック図である。
【図7】実施の形態のPRML復号装置におけるパスメモリ更新ユニットのブロック図である。
【図8】実施の形態のPRML復号装置における差動メトリック計算器のブロック図である。
【図9】実施の形態のPRML復号装置におけるビット修正器のブロック図である。
【図10】実施の形態のPRML復号装置におけるSAMジッタ計算器のブロック図である。
【図11】実施の形態のPRML復号装置における他のビット修正器のブロック図である。
【符号の説明】
【0085】
1 光ピックアップ、2 プリアンプ、3 A/D変換器、4 イコライザ、5 PLL回路、6 PRML復号装置、8 復調器、9 RSデコーダ、10 CPUブロック、20 イコライザ、21 最尤検出器、22 ブランチメトリック計算ユニット、23 パスメトリック更新ユニット、24 パスメモリ更新ユニット、26 イコライザ、27 差動メトリック計算器、29 ビット修正器、30 SAMジッタ計算器、91,91A 分類器、92,92A 比較演算器、93,93A 選択器、94,94A レジスタ
【技術分野】
【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検出方式は、通信情報、磁気テープ、ハードディスクなど多くの分野にわたって、広く用いられて効果を発揮している。しかし、いずれの分野においても、近年の高密度化に伴って、拘束長の長いPRML検出が必要とされている。たとえば、光ディスクシステムでは、ターゲットレスポンスは、拘束長3のPR(1,2,1)から現在主流とされている拘束長4のPR(1,2,2,1)へと変遷し、現在は拘束長5のPR(1,2,2,2,1)や、拘束長6のPR(0,1,2,2,1,0)を適応補正するものなどが提案されている。
このような拘束長の長いターゲットレスポンスが必要とされる理由は、高密度化にともなう符号間干渉長の増大に由来する。高密度化が進めば、再生ヘッド、ピックアップなどの分解能に対するビット長は相対的に減少する。したがって、高密度化において、拘束長の長いPRML検出は不可欠である。
【0010】
一方、このような拘束長が長いターゲットレスポンスを扱う場合、PRML復号装置の回路規模は増大し、その増大は拘束長が1増えるたびにおよそ2倍程度と概算される。
したがって、たとえば、現行のPR(1,2,2,1)からPR(1,2,2,2,1)などに変更した場合、回路規模はおよそ2倍程度である。このような回路規模の増大は、低消費電力化などの観点から望ましい方向ではなく、さらに、回路規模が複雑になればなるほど設計は困難となり、また、処理速度の低減につながるという問題がある。
【0011】
そこで本発明では、短い拘束長のターゲットレスポンスを用いたPRML検出を用いて、長い拘束長のターゲットレスポンスを用いた場合のビット検出と同等の性能を発揮する手法を実現することを課題とする。
【課題を解決するための手段】
【0012】
本発明のPRML復号装置は、入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出手段と、上記ビット検出手段で検出されたビット系列における所定の規則に従うビットパタンに対して、上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる差動メトリックを計算する差動メトリック計算手段と、上記差動メトリック計算手段で得られた差動メトリックと、該差動メトリックに対応するユークリッド距離との比較結果に基づいて、上記ビット検出手段で検出されたビット系列を修正するビット修正手段とを備える。
【0013】
上記所定の規則に従うビットパタンとは、所定のランレングス規則に従うビットパタンであって、所定の1ビットを変更しても上記ランレングス規則を満たすビットパタンである。
そして上記ビット検出手段が、上記ランレングス規則としてd1規則に従う信号についてのビタビ検出処理を行う場合、上記所定の規則に従うビットパタンとは、それぞれが5ビット以上のビットパタンであるとともに、複数の上記ビットパタンとして、11000を含むビットパタン、11100を含むビットパタン、00011を含むビットパタン、00111を含むビットパタンが設定されている。
また上記差動メトリック計算手段で計算する差動メトリックは、上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記ビット検出手段で検出されたビット系列とは1ビットだけ異なるビット系列に対応するパスメトリックとの間の差分であって、上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる演算で得られる差動メトリックである。
また上記ビット修正手段は、上記差動メトリック計算手段で得られた差動メトリックの値が、1ビット異なる2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビット系列におけるビットパタンの所定のビット値を反転させる。
【0014】
また、上記所定の規則に従うビットパタンとは、所定のランレングス規則に従うビットパタンであって、1つ以上の連続する最短ランレングスのランを含み、上記最短ランレングスのランを1ビットシフトしても上記ランレングス規則を満たすビットパタンである。
そして上記ビット検出手段が、上記ランレングス規則としてd1規則に従う信号についてのビタビ検出処理を行う場合、上記所定の規則に従うビットパタンとは、それぞれが7ビット以上のビットパタンであるとともに、複数の上記ビットパタンとして、0011000を含むビットパタン、0001100を含むビットパタン、1110011を含むビットパタン、1100111を含むビットパタンが設定されている。
また上記差動メトリック計算手段で計算する差動メトリックは、上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記ビット検出手段で検出されたビット系列に含まれる最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分であって、上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる演算で得られる差動メトリックである。
また上記ビット修正手段は、上記差動メトリック計算手段で得られた差動メトリックの値が、最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビット系列におけるビットパタンの所定のビット値を反転させる。
【0015】
また上記ビット修正手段は、上記差動メトリック計算手段で得られた差動メトリックの値が、ターゲットレスポンスで決まる最小ユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビット系列におけるビットパタンの所定のビット値を反転させる。
また上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる差動メトリックとは、上記ビット検出手段でのビット検出に用いた差動メトリックを計算するために必要な拘束長よりも長い拘束長を必要とする差動メトリックである。
また上記ビット検出手段でのビット検出に用いた差動メトリックは、拘束長が4のターゲットレスポンスPR(1,2,2,1)から得られる基準レベルから計算される差動メトリックであって、上記差動メトリック計算手段で算出する差動メトリックは、拘束長が5のターゲットレスポンスPR(1,2,2,2,1)から得られる基準レベルを用いて計算される差動メトリックである。
この場合、上記差動メトリック計算手段で算出する差動メトリックは、拘束長が5のターゲットレスポンスPR(1,2,2,2,1)から得られる基準レベルに所定の補正を施した基準レベルを用いて計算される差動メトリックであり、上記基準レベルの所定の補正とは、各基準レベルに対して、実際に検出された信号のうちその基準レベルに該当するものを選択して、その低周波成分を用いて基準レベルを適応的に修正することである。
【0016】
本発明のPRML復号方法は、入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出ステップと、上記ビット検出ステップで検出されたビット系列における所定の規則に従うビットパタンに対して、上記ビット検出ステップでのビット検出に用いた差動メトリックとは異なる差動メトリックを計算する差動メトリック計算ステップと、上記差動メトリック計算ステップで得られた差動メトリックと、該差動メトリックに対応するユークリッド距離との比較結果に基づいて、上記ビット検出ステップで検出されたビット系列を修正するビット修正ステップとを備える。
【0017】
即ち本発明では、目標とするビット検出性能のために想定されるターゲットレスポンスよりも簡単なターゲットレスポンス、特に、拘束長が短くなっているターゲットレスポンスを用いて、短い拘束長によるPRMLビット検出を行う。その一方で、目標とするビット検出性能に応じて想定されるターゲットレスポンスを用いて差動メトリックを計算する。そして、得られた差動メトリックが、そのユークリッド距離より大きく、ビット値が誤りであることを示していれば、PRMLビット検出で検出されたビット値を修正する。
【発明の効果】
【0018】
本発明によれば、拘束長の長いターゲットレスポンスが要求とされるPRML検出において、想定されるターゲットレスポンスよりも簡単なターゲットレスポンス、特に、拘束長が短くなっているターゲットレスポンスを用いて、短い拘束長によるPRMLビット検出を行う。そしてその一方で、目標とするビット検出性能に応じて想定されるターゲットレスポンスを用いて差動メトリックを計算し、得られた差動メトリックが、そのユークリッド距離より大きく、ビット値が誤りであることを示していれば、PRMLビット検出で検出されたビット値を修正する。これによって、PRML復号装置の回路規模の著しい増大を招かずに、精度の高いビット検出を行うことができるという効果がある。
また例えば記録媒体の高密度化に対応するPRML復号装置として、回路規模の増大を招かないことで、高い精度のビット検出を実現しながら、低消費電力化を同時に実現でき、さらに、回路規模が複雑にならないため高密度化にともなう設計の困難さも発生せず、処理速度の低減などもおこらない。従って情報記録の高密度化と高転送レート化を実現しようとするシステムにおいて好適となる。
【発明を実施するための最良の形態】
【0019】
以下、本発明の実施の形態を説明する。
図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などで構成されている。
【0020】
光ディスク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)であるとする。
なお、本例のPRML復号装置6は、ビット検出の精度を測定する信号品質評価指標としてSAMジッタを検出できるようにもされている。
【0021】
PRML復号装置6で得られたビット情報は、復調器8で記録時の変調方式に従って復調され、さらに、RSデコーダ9でECCブロックのリード・ソロモン符号を復号して誤りを訂正し、CPUブロック10はEDCブロックにおける誤り検出符号に誤りが検出されていないことを確認することで、もとのアプリケーションデータを復元する。
【0022】
図2は、図1に示したPRML復号装置6の構成を表している。
PRML復号装置6は、チャネルレスポンスをターゲットレスポンスに等化する波形等化器(イコライザ)20と、このイコライザ20の出力からビタビ検出を行う最尤検出器21と、別のターゲットレスポンスに等化するイコライザ26と、パス比較の際の差動メトリックdMを算出する差動メトリック計算器(DMC)27と、ビット修正器29と、SAMジッタ計算器30を有して構成される。
【0023】
イコライザ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制約に従って接続するように構成されている。
【0024】
イコライザ26は、入力信号(RF)をターゲットレスポンスPR(1,2,2,2,1)に等化する。イコライザ26でPR等化された入力信号RFは差動メトリック計算器27に供給される。
【0025】
差動メトリック計算器27には、イコライザ26でターゲットレスポンスPR(1,2,2,2,1)にPR等化された入力信号が供給されるとともに、最尤検出器21で検出される検出ビット列(ビットシーケンス)が供給される。
そして差動メトリック計算器27は、入力された信号から以下の値としての差動メトリックdMを計算する。
dM=1・(qn-0−pn-0)+2・(qn-1−pn-1)+2・(qn-2−pn-2)+2・(qn-3−pn-3)+1・(qn-4−pn-4)
但し、qnはイコライザ26の出力、pnは最尤検出器21による検出ビット系列から得られるターゲットレスポンスPR(1、2、2、2、1)のパーシャルレスポンス出力であり、nは時刻を表す。この値は、その正負を除けば、1ビット異なるビット系列との差動メトリックから、PR(1、2、2、2、1)における1ビット異なる系列でのユークリッド距離を引いた値に等しい。
【0026】
ビット修正器29は、差動メトリック計算器27で得られた差動メトリックdMを用いて再度ビット検出を行う。つまり最尤検出器21で検出される検出ビットに対して修正を行い、修正ビットシーケンスを出力する。
このビット修正器29は、最尤検出器21から入力された5ビットの検出ビット系列に基づき、差動メトリックdMを分類して、ビット値の再検出を行う。ここで5ビットのパタンは、11000、11100、00011、00111とし、差動メトリックdMの大きさがユークリッド距離d=(12+22+22+22+12)=14よりも大きいがどうかによって、検出ビット系列の5ビットの真ん中のビットの修正を行う。
【0027】
SAMジッタ計算器30は、差動メトリック計算器27から供給される、ターゲットレスポンスPR(1、2、2、2、1)での差動メトリックdMに対して標準偏差を計算することでSAMジッタを計算する。そしてSAMジッタの値を、評価値として出力する。
【0028】
なお、この図2の構成例においては、イコライザ20及び最尤検出器21が、本発明請求項のビット検出手段に相当する。また差動メトリック計算器27が、本発明請求項の差動メトリック計算手段に相当する。さらに、ビット修正器29が、本発明請求項のビット修正手段に相当する。
【0029】
以下、図2の各部を詳細に説明する。
図3は図2のイコライザ20、及びイコライザ26の一例である。このイコライザ20、26は、フリップフロップ31A〜31F、掛け算器32A〜32G、および加算器33によって構成され、波形等化フィルタを成している。
入力された再生信号(図1のイコライザ4からPRML復号装置6に供給される再生信号RF(Sampled))は、フリップフロップ31A〜31Fを経て、チャネルクロックで1クロックずつ遅延した7つの信号に分岐される。
次に、分岐された7つの信号は、それぞれ掛け算器32A〜32Gによって、それぞれ異なる倍率(係数k0〜k6)で増幅される。
最後にこれらの掛け算器32A〜32Gによって増幅された各信号は、加算器33によって加算されて、その出力が等化信号として出力される。
【0030】
ここで、掛け算器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の入力信号、パーシャルレスポンス信号、等化信号である。
【0031】
なお、この図3の例は、7クロックはなれた信号を用いた7タップのイコライザの場合である。このタップ数は、必ずしも7つである必要はなく、より精度よく符号間干渉を取り除くのであればさらに増やしたり、あるいは、規模を小さくするならこれよりも減らしたりして、目的に応じて変更されればよい。
いずれにしてもイコライザ20は、PR(1,2,2,1)のターゲットレスポンスでパーシャルレスポンス等化を実現できればどのようなイコライザでもよい。
またイコライザ26は、PR(1,2,2,2,1)のターゲットレスポンスでパーシャルレスポンス等化を実現できればどのようなイコライザでもよい。
【0032】
図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の検出ビットとして出力する。
【0033】
図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を記憶する。
【0034】
なお、ここではターゲットレスポンスを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、
となる。
【0035】
ブランチメトリックレジスタ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を記憶する。
【0036】
基準値レジスタ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)が一つずつ用意されている。
【0037】
各減算器(42A〜42J)では、入力信号qnと、対応するレジスタ(41A〜41J)から得られた基準レベルの信号を入力し、その差分を出力する。
また、各掛け算器(43A〜43J)は、対応する減算器(42A〜42J)から出力された差分を二乗した値を出力する。このそれぞれの掛け算器(43A〜43J)から出力された値が、各ブランチメトリックレジスタ(44A〜44J)において記憶されるブランチメトリックm0000〜m1111となる。
この場合、ブランチメトリックmijklは、
mijkl=(qn−rijkl)2
である。ここでqnは時刻nの入力信号である。
【0038】
但しブランチメトリックは、相対値がわかれば充分であり、したがって、qn2の項はなくてもよい。このため図5のブランチメトリックレジスタ44A〜44Jに示すように、ブランチメトリックmijklは、
mijkl=−rijkl(2qn−rijkl)
とすればよい。このようにすれば、掛け算器43の容量を削減することができる。
なお、掛け算器43のかわりに絶対値計算器を配してもよい。
【0039】
以上のようにして得られて各ブランチメトリックレジスタ44A〜44Jに記憶されたブランチメトリックm0000〜m1111は、チャネルビットクロック毎に更新されるとともに、次段のパスメトリック更新ユニット23に出力される。
【0040】
図6は、PR(1,2,2,1)をターゲットレスポンスとする最尤検出器21におけるパスメトリック更新ユニット23を示している。
図6のパスメトリック更新ユニット23は、パスメトリックレジスタ51A〜51J、及び52A〜52Jと、フリップフロップ53A〜53Jを有して構成されている。
【0041】
パスメトリックレジスタ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の値として記憶される。
【0042】
パスメトリックレジスタ51Bには、ブランチb0001における生き残りパスのパスメトリックpm0001が記憶されている。
ビット列0001に到達したパスのパスメトリックの演算は、
pm0001=min(pm0000、pm1000)+m0001
で表される。つまりパスメトリックレジスタ52Bでは、ブランチb0001に至るパスのパスメトリックpm0001として、pm0000+m0001、pm1000+m0001のうち小さい値が選択される。
フリップフロップ53Bによってラッチされたパスメトリックレジスタ52Bの値は、パスメトリックレジスタ51Bの値として記憶される。
【0043】
パスメトリックレジスタ51Cには、ブランチb1000における生き残りパスのパスメトリックpm1000が記憶されている。
ビット列1000に到達したパスのパスメトリックの演算は、
pm1000=pm1100+m1000
で表される。パスメトリックレジスタ52Cには、ブランチb1000に至るパスのパスメトリックpm1000=pm1100+m1000が記憶される。
フリップフロップ53Cによってラッチされたパスメトリックレジスタ52Cの値は、パスメトリックレジスタ51Cの値として記憶される。
【0044】
パスメトリックレジスタ51Dには、ブランチb1001における生き残りパスのパスメトリックpm1001が記憶されている。
ビット列1001に到達したパスのパスメトリックの演算は、
pm1001=pm1100+m1001
で表される。パスメトリックレジスタ52Dには、ブランチb1001に至るパスのパスメトリックpm1001=pm1100+m1001が記憶される。フリップフロップ53Dによってラッチされたパスメトリックレジスタ52Dの値は、パスメトリックレジスタ51Dの値として記憶される。
【0045】
パスメトリックレジスタ51Eには、ブランチb0011における生き残りパスのパスメトリックpm0011が記憶されている。
ビット列0011に到達したパスのパスメトリックの演算は、
pm0011=min(pm0001、pm1001)+m0011
で表される。パスメトリックレジスタ52Eでは、ブランチb0011に至るパスのパスメトリックpm0011として、pm0001+m0011、pm1001+m0011のうち小さい値が選択される。フリップフロップ53Eによってラッチされたパスメトリックレジスタ52Eの値は、パスメトリックレジスタ51Eの値として記憶される。
【0046】
パスメトリックレジスタ51Fには、ブランチb1100における生き残りパスのパスメトリックpm1100が記憶されている。
ビット列1100に到達したパスのパスメトリックの演算は、
pm1100=min(pm0110、pm1110)+m1100
で表される。パスメトリックレジスタ52Fでは、ブランチb1100に至るパスのパスメトリックpm1100としてpm0110+m1100、pm1110+m1100のうち小さい値が選択される。フリップフロップ53Fによってラッチされたパスメトリックレジスタ52Fの値は、パスメトリックレジスタ51Fの値として記憶される。
【0047】
パスメトリックレジスタ51Gには、ブランチb0110における生き残りパスのパスメトリックpm0110が記憶されている。
ビット列0110に到達したパスのパスメトリックの演算は、
pm0110=pm0011+m0011
で表される。パスメトリックレジスタ52Gには、ブランチb0110に至るパスのパスメトリックpm0110=pm0011+m0110が記憶される。フリップフロップ53Gによってラッチされたパスメトリックレジスタ52Gの値は、パスメトリックレジスタ51Gの値として記憶される。
【0048】
パスメトリックレジスタ51Hには、ブランチb0111における生き残りパスのパスメトリックpm0111が記憶されている。
ビット列0111に到達したパスのパスメトリックの演算は、
pm0111=pm0011+m0111
で表される。パスメトリックレジスタ52Hには、ブランチb0111に至るパスのパスメトリックpm0111=pm0011+m0111が記憶される。フリップフロップ53Hによってラッチされたパスメトリックレジスタ52Hの値は、パスメトリックレジスタ51Hの値として記憶される。
【0049】
パスメトリックレジスタ51Iには、ブランチb1110における生き残りパスのパスメトリックpm1110が記憶されている。
ビット列1110に到達したパスのパスメトリックの演算は、
pm1110=min(pm0111、pm1111)+m1110
で表される。パスメトリックレジスタ52Iでは、ブランチb1110に至るパスのパスメトリックpm1110としてpm0111+m1110、pm1111+m1110のうち小さい値が選択される。フリップフロップ53Iによってラッチされたパスメトリックレジスタ52Iの値は、パスメトリックレジスタ51Iの値として記憶される。
【0050】
パスメトリックレジスタ51Jには、ブランチb1111における生き残りパスのパスメトリックpm1111が記憶されている。
ビット列1111に到達したパスのパスメトリックの演算は、
pm1111=min(pm0111、pm1111)+m1111
で表される。パスメトリックレジスタ52Jでは、ブランチb1111に至るパスのパスメトリックpm1111としてpm0111+m1111、pm1111+m1111のうち小さい値が選択される。フリップフロップ53Jによってラッチされたパスメトリックレジスタ52Jの値は、パスメトリックレジスタ51Jの値として記憶される。
【0051】
以上のようにして、各ブランチにおける、そのブランチにいたるまでのパスメトリックが更新される。
一方、各ブランチでのパスの選択情報、つまりパスメトリックの比較選択の際にいずれのパスを選らんだかの情報を、図5において{Sijkl}として示しているが、このパス選択情報{Sijkl}は、次に述べるパスメモリ更新ユニット24に出力される。
【0052】
図7は、PR(1,2,2,1)をターゲットレスポンスとする最尤検出器21におけるパスメモリ更新ユニット24を示している。
図7のパスメモリ更新ユニット24は、パスメモリレジスタ61A〜61J、62A〜62Jと、フリップフロップ63A〜63Jによって構成されている。
なお図7においては、上記パスメトリック更新ユニット23から供給されるパス選択情報を{Sijkl}として示している。
【0053】
パスメモリレジスタ61Aには、ブランチb0000における生き残りパスのパスメモリM0000が記憶されている。
ビット列0000に到達したパスのパスメモリの更新は、
M0000=2・select(M0000、M1000)+0
で表される。なお、select(A,B)はA,Bを選択する演算である。
つまりパスメモリレジスタ62Aでは、ブランチb0000に至る2つのパスのパスメモリM0000、M1000うち、パスメトリックが小さくなるパスのパスメモリを選択し、選択されたメモリ値を2倍して0を加算して記憶する。このパスの選択情報は、図6のパスメトリック更新ユニット23におけるブランチb0000での比較結果を元にしている。フリップフロップ63Aによってラッチされたパスメモリレジスタ62Aの値は、パスメモリレジスタ61Aの値として記憶される。
なお、図にはselect(S0000,M0000、M1000)と示しているが、これはパスメトリック更新時のパスの選択情報S0000に基づいてM0000、M1000のいずれか選択する演算という意味を示している。他のパスメモリレジスタ62B、62E、62F、62I、62Jも同様の意味である。
【0054】
パスメモリレジスタ61Bには、ブランチb0001における生き残りパスのパスメモリM0001が記憶されている。
ビット列0001に到達したパスのパスメモリの更新は、
M0001=2・sel(M0000、M1000)+1
で表される。このためパスメモリレジスタ62Bでは、ブランチb0001に至る2つのパスのパスメモリM0000、M1000うち、パスメトリックが小さくなるパスのパスメモリを選択し、選択されたメモリ値を2倍して1を加算して記憶する。このパスの比較情報は、パスメトリック更新ユニット23におけるブランチb0001での比較結果を元にしている。フリップフロップ63Bによってラッチされたパスメモリレジスタ62Bの値は、パスメモリレジスタ61Bの値として記憶される。
【0055】
パスメモリレジスタ61Cには、ブランチb1000における生き残りパスのパスメモリM1000が記憶されている。
ビット列1000に到達したパスのパスメモリの更新は、
M1000=2・M1100+0
で表される。このためパスメモリレジスタ62Cでは、ブランチb1000に至るパスのパスメモリM1100を2倍し、0を加算して記憶する。フリップフロップ63Cによってラッチされたパスメモリレジスタ62Cの値は、パスメモリレジスタ61Cの値として記憶される。
【0056】
パスメモリレジスタ61Dには、ブランチb1001における生き残りパスのパスメモリM1001が記憶されている。
ビット列1001に到達したパスのパスメモリの更新は、
M1001=2・M1100+1
で表される。パスメモリレジスタ62Dでは、ブランチb1001に至るパスのパスメモリM1100を2倍し、1を加算して記憶する。フリップフロップ63Dによってラッチされたパスメモリレジスタ62Dの値は、パスメモリレジスタ61Dの値として記憶される。
【0057】
パスメモリレジスタ61Eには、ブランチb0011における生き残りパスのパスメモリM0011が記憶されている。
ビット列0011に到達したパスのパスメモリの更新は、
M0011=2・sel(M0001、M1001)+1
で表される。パスメモリレジスタ62Eでは、ブランチb0011に至る2つのパスのパスメモリM0001、M1001のうち、パスメトリックが小さくなるパスのパスメモリを選択し、選択されたメモリ値を2倍して1を加算して記憶する。このパスの選択情報は、図6のパスメトリック更新ユニット23におけるブランチb0011での比較結果を元にしている。フリップフロップ63Eによってラッチされたパスメモリレジスタ62Eの値は、パスメモリレジスタ61Eの値として記憶される。
【0058】
パスメモリレジスタ61Fには、ブランチb1100における生き残りパスのパスメモリM1100が記憶されている。
ビット列1100に到達したパスのパスメモリの更新は、
M1100=2・sel(M0110、M1110)+0
で表される。パスメモリレジスタ62Fでは、ブランチb1100に至る2つのパスのパスメモリM0110、M1110のうち、パスメトリックが小さくなるパスのパスメモリを選択して、選択されたメモリ値を2倍して0を加算し、記憶する。このパスの選択情報は、パスメトリック更新ユニット23におけるブランチb1100での比較結果を元にしている。フリップフロップ63Fによってラッチされたパスメモリレジスタ62Fの値は、パスメモリレジスタ61Fの値として記憶される。
【0059】
パスメモリレジスタ61Gには、ブランチb0110における生き残りパスのパスメモリM0110が記憶されている。
ビット列0110に到達したパスのパスメモリの更新は、
M0110=2・M0011+0
で表される。パスメモリレジスタ62Gでは、ブランチb0110に至るパスのパスメモリM0011を2倍して0を加算し記憶する。フリップフロップ63Gによってラッチされたパスメモリレジスタ62Gの値は、パスメモリレジスタ61Gの値として記憶される。
【0060】
パスメモリレジスタ61Hには、ブランチb0111における生き残りパスのパスメモリM0111が記憶されている。
ビット列0111に到達したパスのパスメモリの更新は、
M0111=2・M0011+1
で表される。パスメモリレジスタ62Hでは、ブランチb0111に至るパスのパスメモリM0011を2倍して1を加算し、記憶する。フリップフロップ63Hによってラッチされたパスメモリレジスタ62Hの値は、パスメモリレジスタ61Hの値として記憶される。
【0061】
パスメモリレジスタ61Iには、ブランチb1110における生き残りパスのパスメモリM1110が記憶されている。
ビット列1110に到達したパスのパスメモリの更新は、
M1110=2・sel(M0111、M1111)+0
で表される。パスメモリレジスタ62Iでは、ブランチb1110に至る2つのパスのパスメモリM0111、M1111のうち、パスメトリックの小さくなるパスのパスメモリを選択して、選択したメモリ値を2倍して0を加算して記憶する。このパスの選択情報は、パスメトリック更新ユニット23におけるブランチb1110での比較結果を元にしている。フリップフロップ63Iによってラッチされたパスメモリレジスタ62Iの値は、パスメモリレジスタ61Iの値として記憶される。
【0062】
パスメモリレジスタ61Jには、ブランチb1111における生き残りパスのパスメトリックM1111が記憶されている。
ビット列1111に到達したパスのパスメモリの更新は、
M1111=2・sel(M0111、M1111)+1
で表される。パスメモリレジスタ62Jでは、ブランチb1111に至る2つのパスのパスメモリM0111、M1111のうち、パスメトリックの小さくなるパスのパスメモリを選択して、選択したメモリ値を2倍して1を加算し、記憶する。このパスの選択情報は、パスメトリック更新ユニット23におけるブランチb1111での比較結果を元にしている。フリップフロップ63Jによってラッチされたパスメモリレジスタ62Jの値は、パスメモリレジスタ61Jの値として記憶される。
【0063】
以上のパスメモリ更新ユニット24に記憶されているビット系列は、上述のパスの選択を繰り返しながら、最終的に尤もらしいビット系列に収束していく。収束するまでにかかる時間は、拘束長の5倍程度といわれている。従って、パスメモリを30ビットのシフトレジスタで構成すれば、パスメモリのうち上位のビットは、収束している。従って、最尤検出器21では、ブランチb1111のパスメモリの最上位のビット(MSB)を選択して、これをビット検出結果として出力する。
【0064】
図8は、図2の差動メトリック計算器27の一例である。この差動メトリック計算器27は、最尤検出器21でのビット検出処理に用いられた差動メトリックとは異なる差動メトリックを計算するものである。
図2で説明したように差動メトリック計算器27には、イコライザ26からの、ターゲットレスポンスPR(1,2,2,2,1)の等化信号と、最尤検出器21で検出されたビットシーケンスが供給される。
図8に示すように差動メトリック計算器27は、PRレベル生成器80、減算器81、フリップフロップ82A〜82Dと、掛け算器83A〜83Eと、加算器84によって構成されている。
なお、フリップフロップの数、掛け算器の数は、必要に応じて変更するものとする。
【0065】
PRレベル生成器80は、最尤検出器21からのビットシーケンスから、ターゲットレスポンスPR(1,2,2,2,1)のPRレベルを生成する。つまり5ビットのビット列に1,2,2,2,1を乗算して加算することで、PRレベルを生成する。
減算器81には、イコライザ26からの等化信号qと、PRレベル生成器80からのPR系列の信号pが供給される。
減算器81でq−pの減算が行われた出力値は、フリップフロップ82A〜82Dによるシフトレジスタによって1クロックタイミングずつずれて掛け算器83A〜83Eに供給され、さらに掛け算器83A〜83Eの出力が加算器84で加算されて差動メトリックdMとされる。
【0066】
この場合、掛け算器83A〜83Eの係数を順に1,2,2,2,1とする。この差動メトリック計算器27におけるフィルタ(フリップフロップ82A〜82D、掛け算器83A〜83E、及び加算器84で構成されるフィルタ)には、イコライザ26の出力qn、検出ビット系列から得られるパーシャルレスポンス出力pnの差分が順次入力されるため、その結果、時刻nにおける差動メトリックdMnとして、
dMn=1・(qn-0−pn-0)+2・(qn-1−pn-1)+2・(qn-2−pn-2)+2・(qn-3−pn-3)+1・(qn-4−pn-4)
を得ることになる。なお、この値は、前述のようにユークリッド距離分を除去した値であり、さらに、その正負については後のビット修正器29での処理において修正を加える。
この差動メトリック計算器27で計算する差動メトリックは、最尤検出器21で検出されたビット系列に対応するパスメトリックと、最尤検出器21で検出されたビット系列とは1ビットだけ異なるビット系列に対応するパスメトリックとの間の差分に相当する。
【0067】
なお差動メトリック計算器27で算出する差動メトリックは、拘束長が5のターゲットレスポンスPR(1,2,2,2,1)から得られる基準レベルに所定の補正を施した基準レベルを用いて計算される差動メトリックとしてもよい。この場合、基準レベルの所定の補正とは、各基準レベルに対して、実際に検出された信号のうちその基準レベルに該当するものを選択して、その低周波成分を用いて基準レベルを適応的に修正することである。
【0068】
差動メトリック計算器27で算出された差動メトリックdMは、ビット修正器29及びSAMジッタ計算器30に供給される。
図9は、ビット修正器29の一例である。ビット修正器29は分類器91,比較演算器92,選択器93、レジスタ94により構成される。このビット修正器29は、最尤検出器21で得られたビット値の5ビット値を用いて、差動メトリック計算器27で得られた差動メトリックdMを分類してユークリッド距離との比較を行い、5ビットの真ん中のビットの値の修正を行うものである。
【0069】
レジスタ94は、最尤検出器21から順次検出出力されるビットとしてのビットシーケンスの5ビットを保持する。つまり、1チャネルビット毎に、最尤検出器21から出力されるビット値はビットb4として記憶されると共に、ビットb4の値はビットb3に、ビットb3の値はビットb32、ビットb2の値はビットb1、ビットb1の値はビットb0に、それぞれ転送されるシフトレジスタ形態をとる。そして順次ビットb0から出力されるビット値が、修正ビットシーケンスとなる。なお、3番目のビットb2としては、選択器93から供給される値により修正される。
【0070】
分類器91は、上記した差動メトリック計算器27で算出された差動メトリックdMを4系統の演算テーブルに分類する。分類は、レジスタ94に保持された5ビットパタンに基づいて行われる。
ここでは、11000、11100、00011、00111の4個の5ビットパタンで差動メトリックdMを分類する。
なお、11000、11100、00011、00111のビットパタンは、最尤検出器21が、ランレングス規則としてd1規則に従う信号についてのビタビ検出処理を行う場合において、所定の1ビットを変更してもd1規則を満たすビットパタンである。
比較演算器92は、上記4個のビットパタンにそれぞれ対応して、4個の演算テーブル92−0、92−1、92−2、92−3を備える。
また選択器93はレジスタ94に保持された5ビットパタンに基づいて4個の演算テーブル92−0、92−1、92−2、92−3の1つを選択し、選択した演算テーブルの演算結果をレジスタ94のビットb2に供給する。
【0071】
このビット修正器29は以下のように動作する。
レジスタ94に保持された5ビットのパタンが11000である場合、差動メトリック計算器27から供給される差動メトリックdMは分類器91により演算テーブル92−0に分類される。そして演算テーブル92−0で、
out=(+dM<c)?0:1
の演算によって差動メトリックdMの値とユークリッド距離と比較した結果としての「0」又は「1」を、5ビットの真ん中のビット、つまりレジスタ94のビットb2の値に加算する。
ただし、cは、ターゲットレスポンスがPR(1、2、2、2、1)の場合の1ビット異なるパーシャルレスポンス系列のユークリッド系列であり、その値は、c=(12+22+22+22+12)=14である。また、A?B:Cは、論理Aが正しければBを、誤っていればCを出力する演算を示している。
この場合、+dM<cであれば、out=0となり、11000の5ビットの真ん中のビット(レジスタ94のb2)には0が加算される。つまり修正されない。一方、+dM<cでなければ、out=1となり、11000の5ビットの真ん中のビット(レジスタ94のb2)に1が加算され、当該5ビットは11100に修正される。
【0072】
レジスタ94に保持された5ビットのパタンが11100である場合、差動メトリック計算器27から供給される差動メトリックdMは分類器91により演算テーブル92−1に分類される。そして演算テーブル92−1で、
out=(−dM<c)?0:1
の演算によって差動メトリックの値とユークリッド距離と比較した結果を、5ビットの真ん中のビットb2の値に加算する。
【0073】
レジスタ94に保持された5ビットのパタンが00011である場合、差動メトリック計算器27から供給される差動メトリックdMは分類器91により演算テーブル92−2に分類される。そして演算テーブル92−2で、
out=(+dM<c)?0:1
の演算によって差動メトリックdMの値とユークリッド距離と比較した結果を、5ビットの真ん中のビットb2の値に加算する。
【0074】
レジスタ94に保持された5ビットのパタンが00111である場合、差動メトリック計算器27から供給される差動メトリックdMは分類器91により演算テーブル92−3に分類される。そして演算テーブル92−3で、
out=(−dM<c)?0:1
の演算によって差動メトリックdMの値とユークリッド距離と比較した結果を、5ビットの真ん中のビットb2の値に加算する。
【0075】
このビット修正器29では、以上の処理を1チャネルビットずつ繰り返して、ビット値の修正を行う。
即ちビット修正器29は、差動メトリックの値が、1ビット異なる2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、最尤検出器21で検出された検出ビット系列における5ビットのビットパタンのビット値b2を反転させるものとなっている。
但し、レジスタ94の5ビットが11000、11100、00011、00111のいずれでもないときは、差動メトリックdMに対する演算処理は行われず、つまりビットb2の修正は行われない。
【0076】
上記のように差動メトリック計算器27で計算された差動メトリックdMはSAMジッタ計算器30にも供給される。
図10は、SAMジッタ計算器30の一例である。SAMジッタ計算器30は二乗回路95、パタン検出カウンタ96、二乗値加算回路97、平方根回路98、割算回路99を備える。
差動メトリック計算器27から順次供給されてくる差動メトリックdMは、二乗回路95で二乗され、二乗値加算回路97で加算されて平均値が算出される。そして平方根回路98で平方根演算されることで差動メトリックdMの標準偏差値が算出される。さらに、この標準偏差値を割算回路99でユークリッド距離(この場合は14)の2倍で割ることによって補正されたSAMジッタを得る。
パタン検出カウンタ96には、上記レジスタ94の5ビット、つまり最尤検出器21からのビットシーケンス上での5ビットパタンが供給されており、パタン検出カウンタ96は、入力される5ビットパタンが上記の11000、11100、00011、00111のいずれかに該当するか否かを検出する。そしていずれかに該当する場合のみ、差動メトリックdMの二乗値を二乗値加算回路97で加算させるようにする。
以上の処理で、差動メトリックdMを用いてSAMジッタが算出される。
【0077】
以上のようなPRML復号装置6によれば、拘束長の長いターゲットレスポンス、例えばPR(1,2,2,2,1)が要求されるようなPRML検出において、PRML復号処理自体は拘束長の短いターゲットレスポンス、例えばPR(1,2,2,1)が用いるが、PR(1,2,2,2,1)で計算した差動メトリックdMの値に基づいてビット修正を行うことで、PRML復号装置の回路規模を増やすことなく精度の高いビット検出を行うことができる。
またこの結果、ディスク90等の記録媒体の高密度化に伴って再生ヘッド、ピックアップの分解能に対するビット長が相対的に減少した場合でも、より拘束長の長いターゲットレスポンスで差動メトリックdMを計算し、PRML検出ビットを修正するという手法を採用して高い精度のビット検出を行うことができる。
さらに、高密度化に対応する際に、PRML復号装置6の回路規模の増大がほとんどないことは、高い精度のビット検出を実現しながら、低消費電力化を同時に実現する。さらに、回路規模が複雑にならないため高密度化にともなう設計の困難さは発生せず、また、処理速度の低減などもおこらない。
これらのことから記録再生システムやデータ伝送システムにおける高密度化、高転送レート化に良好に対応できるものとなる。
【0078】
ところで上記例では、ランレングス規則としてd1規則に従う信号についてのビタビ検出処理を行う場合において、所定の1ビットを変更してもd1規則を満たすビットパタンとして11000、11100、00011、00111の4個の5ビットパタンを用いた例としたが、ビット修正器29において6ビット以上のビットパタンを用いて分類を行っても良い。但し、その場合のビットパタンとしては、11000を含むビットパタン、11100を含むビットパタン、00011を含むビットパタン、00111を含むビットパタンがそれぞれ少なくとも設定される。例えば6ビットのビットパタンを用いる例としては、上記各5ビットに最下位ビットとして0又は1を付加した6ビット、つまり110000、110001、111000、111001、000110、000111、001110、001111の8種類の6ビットパタンで差動メトリックdMの値を分類することが考えられる。
さらに、上記各5ビットに2ビット以上を付加した7ビット以上のビットパタンを用いることも考えられる。
【0079】
また、d1規則に従う信号についてのビタビ検出処理を行う場合において、1つ以上の連続する最短ランレングスのランを含み、最短ランレングスのランを1ビットシフトしてもd1規則を満たすビットパタンとして、7ビット以上のビットパタンを用いる例もある。その場合、複数のビットパタンとしては、0011000を含むビットパタン、0001100を含むビットパタン、1110011を含むビットパタン、1100111を含むビットパタンが設定される。
この場合、差動メトリック計算器27では、最尤検出器21で検出されたビット系列に対応するパスメトリックと、最尤検出器21で検出されたビット系列に含まれる最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分を、ターゲットレスポンスPR(1,2,2,2,1)において求める。
【0080】
ビット修正器29は図11のように分類器91A、比較演算器92A、選択器93A、レジスタ94Aで構成する。この場合のビット修正器29は、最尤検出器21で得られたビット値の7ビット値を用いて、差動メトリック計算器27で得られた差動メトリックdMを分類してユークリッド距離との比較を行い、7ビットのうちの2つのビットの値の修正を行うものとなる。
【0081】
レジスタ94Aは、最尤検出器21から順次検出出力されるビットとしてのビットシーケンスの7ビット(b0〜b6)を保持する。この場合は、ビットb2とビットb4が、選択器93Aから供給される値により修正される。
分類器91Aは、上記した差動メトリック計算器27で算出された差動メトリックdMを4系統の演算テーブルに分類する。分類は、レジスタ94Aに保持された7ビットパタンに基づいて行われる。ここでは0011000、0001100、1110011、1100111の4個の7ビットパタンで差動メトリックdMを分類する。
比較演算器92Aは、上記4個のビットパタンにそれぞれ対応して、4個の演算テーブル92−0、92−1、92−2、92−3を備える。
また選択器93Aはレジスタ94Aに保持された7ビットパタンに基づいて4個の演算テーブル92−0、92−1、92−2、92−3の1つを選択し、選択した演算テーブルの演算結果をレジスタ94Aのビットb2、b4に供給する。
【0082】
このビット修正器29は、7ビットパタンに応じて差動メトリックdMを4個の演算テーブル92−0、92−1、92−2、92−3に分類し、各演算テーブル92−0、92−1、92−2、92−3は、上記図9の場合と同様の演算を行う。そして演算結果、つまり選択器93Aの出力が「0」の場合は、ビットb2,b4の値は反転されず、選択器93Aの出力が「1」の場合は、ビットb2,b4が反転される。
例えばレジスタ94Aに保持された7ビットのパタンが0011000である場合、差動メトリック計算器27から供給される差動メトリックdMは分類器91により演算テーブル92−0に分類される。そして演算テーブル92−0で、
out=(+dM<c)?0:1
の演算によって差動メトリックdMとユークリッド距離cと比較した結果が得られる。このとき演算結果が「0」となった場合は、レジスタ94Aのビットb2,b4の値に「0」が加算されるため、ビットb2,b4の値は変わらない。つまりレジスタ94Aの7ビットは0011000のまま修正されない。一方、演算結果が「1」となった場合は、レジスタ94Aのビットb2,b4の値に「1」が加算されることになり、ビットb2,b4の値は反転する。つまりレジスタ94Aの7ビットは0011000から0001100に修正される。これは即ち、差動メトリックの値が、最短ランレングスのランを1ビットだけシフトさせた2つのビット系列の間のユークリッド距離を越える場合に、修正するものであり、最短ランレングスのランが1ビットシフトしたエラーを修正するものとなる。
レジスタ94Aに保持された7ビットのパタンが0001100、1110011、1100111の各場合も、それぞれ比較演算器92Aでの演算結果に応じて同様に処理が行われる。
但し、レジスタ94Aの7ビットが0011000、0001100、1110011、1100111のいずれでもないときは、差動メトリックdMに対する演算処理は行われず、つまりビットb2、b4の修正は行われない。
なお、ここでは7ビットパタンを用いたが、0011000、0001100、1110011、1100111のそれぞれにnビットを付加した(7+n)ビットのビットパタンを用いても良い。
【0083】
なお、実施の形態では、イコライザ20及び最尤検出器21でのターゲットレスポンスをPR(1,2,2,1)、イコライザ26及び差動メトリック計算器27でのターゲットレスポンスをPR(1,2,2,2,1)としたが、他にも各種例が考えられる。
例えばイコライザ26及び差動メトリック計算器27でのターゲットレスポンスを、PR(1,2,2,2,1)に代えて拘束長6のPR(0,1,2,2,1,0)としてもよい。
また、イコライザ20及び最尤検出器21でのターゲットレスポンスをPR(1,2,1)、イコライザ26及び差動メトリック計算器27でのターゲットレスポンスをPR(1,2,2,1)或いは(1,2,2,2,1)とするなどの例も考えられる。
【図面の簡単な説明】
【0084】
【図1】本発明の実施の形態の再生装置のブロック図である。
【図2】実施の形態のPRML復号装置のブロック図である。
【図3】実施の形態のPRML復号装置におけるイコライザのブロック図である。
【図4】実施の形態のPRML復号装置における最尤検出器のブロック図である。
【図5】実施の形態のPRML復号装置におけるブランチメトリック計算ユニットのブロック図である。
【図6】実施の形態のPRML復号装置におけるパスメトリック更新ユニットのブロック図である。
【図7】実施の形態のPRML復号装置におけるパスメモリ更新ユニットのブロック図である。
【図8】実施の形態のPRML復号装置における差動メトリック計算器のブロック図である。
【図9】実施の形態のPRML復号装置におけるビット修正器のブロック図である。
【図10】実施の形態のPRML復号装置におけるSAMジッタ計算器のブロック図である。
【図11】実施の形態のPRML復号装置における他のビット修正器のブロック図である。
【符号の説明】
【0085】
1 光ピックアップ、2 プリアンプ、3 A/D変換器、4 イコライザ、5 PLL回路、6 PRML復号装置、8 復調器、9 RSデコーダ、10 CPUブロック、20 イコライザ、21 最尤検出器、22 ブランチメトリック計算ユニット、23 パスメトリック更新ユニット、24 パスメモリ更新ユニット、26 イコライザ、27 差動メトリック計算器、29 ビット修正器、30 SAMジッタ計算器、91,91A 分類器、92,92A 比較演算器、93,93A 選択器、94,94A レジスタ
【特許請求の範囲】
【請求項1】
入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出手段と、
上記ビット検出手段で検出されたビット系列における所定の規則に従うビットパタンに対して、上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる差動メトリックを計算する差動メトリック計算手段と、
上記差動メトリック計算手段で得られた差動メトリックと、該差動メトリックに対応するユークリッド距離との比較結果に基づいて、上記ビット検出手段で検出されたビット系列を修正するビット修正手段と、
を備えたことを特徴とするPRML復号装置。
【請求項2】
上記所定の規則に従うビットパタンとは、所定のランレングス規則に従うビットパタンであって、所定の1ビットを変更しても上記ランレングス規則を満たすビットパタンであることを特徴とする請求項1に記載のPRML復号装置。
【請求項3】
上記ビット検出手段が、上記ランレングス規則としてd1規則に従う信号についてのビタビ検出処理を行う場合、
上記所定の規則に従うビットパタンとは、それぞれが5ビット以上のビットパタンであるとともに、複数の上記ビットパタンとして、11000を含むビットパタン、11100を含むビットパタン、00011を含むビットパタン、00111を含むビットパタンが設定されていることを特徴とする請求項2に記載のPRML復号装置。
【請求項4】
上記差動メトリック計算手段で計算する差動メトリックは、
上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記ビット検出手段で検出されたビット系列とは1ビットだけ異なるビット系列に対応するパスメトリックとの間の差分であって、
上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる演算で得られる差動メトリックであることを特徴とする請求項2に記載のPRML復号装置。
【請求項5】
上記ビット修正手段は、
上記差動メトリック計算手段で得られた差動メトリックの値が、1ビット異なる2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビット系列におけるビットパタンの所定のビット値を反転させることを特徴とする請求項2に記載のPRML復号装置。
【請求項6】
上記所定の規則に従うビットパタンとは、所定のランレングス規則に従うビットパタンであって、1つ以上の連続する最短ランレングスのランを含み、上記最短ランレングスのランを1ビットシフトしても上記ランレングス規則を満たすビットパタンであることを特徴とする請求項1に記載のPRML復号装置。
【請求項7】
上記ビット検出手段が、上記ランレングス規則としてd1規則に従う信号についてのビタビ検出処理を行う場合、
上記所定の規則に従うビットパタンとは、それぞれが7ビット以上のビットパタンであるとともに、複数の上記ビットパタンとして、0011000を含むビットパタン、0001100を含むビットパタン、1110011を含むビットパタン、1100111を含むビットパタンが設定されていることを特徴とする請求項6に記載のPRML復号装置。
【請求項8】
上記差動メトリック計算手段で計算する差動メトリックは、
上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記ビット検出手段で検出されたビット系列に含まれる最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分であって、
上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる演算で得られる差動メトリックであることを特徴とする請求項6に記載のPRML復号装置。
【請求項9】
上記ビット修正手段は、
上記差動メトリック計算手段で得られた差動メトリックの値が、最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビット系列におけるビットパタンの所定のビット値を反転させることを特徴とする請求項6に記載のPRML復号装置。
【請求項10】
上記ビット修正手段は、
上記差動メトリック計算手段で得られた差動メトリックの値が、ターゲットレスポンスで決まる最小ユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビット系列におけるビットパタンの所定のビット値を反転させることを特徴とする請求項1に記載のPRML復号装置。
【請求項11】
上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる差動メトリックとは、上記ビット検出手段でのビット検出に用いた差動メトリックを計算するために必要な拘束長よりも長い拘束長を必要とする差動メトリックであることを特徴とする請求項1に記載のPRML復号装置。
【請求項12】
上記ビット検出手段でのビット検出に用いた差動メトリックは、拘束長が4のターゲットレスポンスPR(1,2,2,1)から得られる基準レベルから計算される差動メトリックであって、
上記差動メトリック計算手段で算出する差動メトリックは、拘束長が5のターゲットレスポンスPR(1,2,2,2,1)から得られる基準レベルを用いて計算される差動メトリックであることを特徴とする請求項1に記載のPRML復号装置。
【請求項13】
上記差動メトリック計算手段で算出する差動メトリックは、拘束長が5のターゲットレスポンスPR(1,2,2,2,1)から得られる基準レベルに所定の補正を施した基準レベルを用いて計算される差動メトリックであり、
上記基準レベルの所定の補正とは、各基準レベルに対して、実際に検出された信号のうちその基準レベルに該当するものを選択して、その低周波成分を用いて基準レベルを適応的に修正することである請求項12に記載のPRML復号装置。
【請求項14】
入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出ステップと、
上記ビット検出ステップで検出されたビット系列における所定の規則に従うビットパタンに対して、上記ビット検出ステップでのビット検出に用いた差動メトリックとは異なる差動メトリックを計算する差動メトリック計算ステップと、
上記差動メトリック計算ステップで得られた差動メトリックと、該差動メトリックに対応するユークリッド距離との比較結果に基づいて、上記ビット検出ステップで検出されたビット系列を修正するビット修正ステップと、
を備えたことを特徴とするPRML復号方法。
【請求項1】
入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出手段と、
上記ビット検出手段で検出されたビット系列における所定の規則に従うビットパタンに対して、上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる差動メトリックを計算する差動メトリック計算手段と、
上記差動メトリック計算手段で得られた差動メトリックと、該差動メトリックに対応するユークリッド距離との比較結果に基づいて、上記ビット検出手段で検出されたビット系列を修正するビット修正手段と、
を備えたことを特徴とするPRML復号装置。
【請求項2】
上記所定の規則に従うビットパタンとは、所定のランレングス規則に従うビットパタンであって、所定の1ビットを変更しても上記ランレングス規則を満たすビットパタンであることを特徴とする請求項1に記載のPRML復号装置。
【請求項3】
上記ビット検出手段が、上記ランレングス規則としてd1規則に従う信号についてのビタビ検出処理を行う場合、
上記所定の規則に従うビットパタンとは、それぞれが5ビット以上のビットパタンであるとともに、複数の上記ビットパタンとして、11000を含むビットパタン、11100を含むビットパタン、00011を含むビットパタン、00111を含むビットパタンが設定されていることを特徴とする請求項2に記載のPRML復号装置。
【請求項4】
上記差動メトリック計算手段で計算する差動メトリックは、
上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記ビット検出手段で検出されたビット系列とは1ビットだけ異なるビット系列に対応するパスメトリックとの間の差分であって、
上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる演算で得られる差動メトリックであることを特徴とする請求項2に記載のPRML復号装置。
【請求項5】
上記ビット修正手段は、
上記差動メトリック計算手段で得られた差動メトリックの値が、1ビット異なる2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビット系列におけるビットパタンの所定のビット値を反転させることを特徴とする請求項2に記載のPRML復号装置。
【請求項6】
上記所定の規則に従うビットパタンとは、所定のランレングス規則に従うビットパタンであって、1つ以上の連続する最短ランレングスのランを含み、上記最短ランレングスのランを1ビットシフトしても上記ランレングス規則を満たすビットパタンであることを特徴とする請求項1に記載のPRML復号装置。
【請求項7】
上記ビット検出手段が、上記ランレングス規則としてd1規則に従う信号についてのビタビ検出処理を行う場合、
上記所定の規則に従うビットパタンとは、それぞれが7ビット以上のビットパタンであるとともに、複数の上記ビットパタンとして、0011000を含むビットパタン、0001100を含むビットパタン、1110011を含むビットパタン、1100111を含むビットパタンが設定されていることを特徴とする請求項6に記載のPRML復号装置。
【請求項8】
上記差動メトリック計算手段で計算する差動メトリックは、
上記ビット検出手段で検出されたビット系列に対応するパスメトリックと、上記ビット検出手段で検出されたビット系列に含まれる最短ランレングスのランを1ビットだけシフトさせたビット系列に対応するパスメトリックとの間の差分であって、
上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる演算で得られる差動メトリックであることを特徴とする請求項6に記載のPRML復号装置。
【請求項9】
上記ビット修正手段は、
上記差動メトリック計算手段で得られた差動メトリックの値が、最短ランレングスのランを1ビットシフトさせた関係にある2つのビット系列がなす2つのパーシャルレスポンス系列の間のユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビット系列におけるビットパタンの所定のビット値を反転させることを特徴とする請求項6に記載のPRML復号装置。
【請求項10】
上記ビット修正手段は、
上記差動メトリック計算手段で得られた差動メトリックの値が、ターゲットレスポンスで決まる最小ユークリッド距離を越える場合に、上記ビット検出手段で検出された検出ビット系列におけるビットパタンの所定のビット値を反転させることを特徴とする請求項1に記載のPRML復号装置。
【請求項11】
上記ビット検出手段でのビット検出に用いた差動メトリックとは異なる差動メトリックとは、上記ビット検出手段でのビット検出に用いた差動メトリックを計算するために必要な拘束長よりも長い拘束長を必要とする差動メトリックであることを特徴とする請求項1に記載のPRML復号装置。
【請求項12】
上記ビット検出手段でのビット検出に用いた差動メトリックは、拘束長が4のターゲットレスポンスPR(1,2,2,1)から得られる基準レベルから計算される差動メトリックであって、
上記差動メトリック計算手段で算出する差動メトリックは、拘束長が5のターゲットレスポンスPR(1,2,2,2,1)から得られる基準レベルを用いて計算される差動メトリックであることを特徴とする請求項1に記載のPRML復号装置。
【請求項13】
上記差動メトリック計算手段で算出する差動メトリックは、拘束長が5のターゲットレスポンスPR(1,2,2,2,1)から得られる基準レベルに所定の補正を施した基準レベルを用いて計算される差動メトリックであり、
上記基準レベルの所定の補正とは、各基準レベルに対して、実際に検出された信号のうちその基準レベルに該当するものを選択して、その低周波成分を用いて基準レベルを適応的に修正することである請求項12に記載のPRML復号装置。
【請求項14】
入力信号に対してパーシャルレスポンス等化処理及びビタビ検出処理を行ってビット検出するビット検出ステップと、
上記ビット検出ステップで検出されたビット系列における所定の規則に従うビットパタンに対して、上記ビット検出ステップでのビット検出に用いた差動メトリックとは異なる差動メトリックを計算する差動メトリック計算ステップと、
上記差動メトリック計算ステップで得られた差動メトリックと、該差動メトリックに対応するユークリッド距離との比較結果に基づいて、上記ビット検出ステップで検出されたビット系列を修正するビット修正ステップと、
を備えたことを特徴とするPRML復号方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2006−318547(P2006−318547A)
【公開日】平成18年11月24日(2006.11.24)
【国際特許分類】
【出願番号】特願2005−138421(P2005−138421)
【出願日】平成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 ]