(57)【特許請求の範囲】
【請求項１】
記憶媒体上に位置づけられたリードヘッドからのアナログリード信号をサンプリングすることによって生成された離散時間サンプル値のシーケンスからデータを読み出すサンプリングされた振幅リードチャネルであって、
（ａ）該アナログリード信号をサンプリングすることによって、該離散時間サンプル値を生成するサンプリングデバイスと、
（ｂ）剰余数方式ＦＩＲフィルタを含む等化器であって、該離散時間サンプル値に応答して、ターゲットの応答に従って等化されたサンプル値を生成する等化器と、
（ｃ）該等化されたサンプル値に応答して、同期サンプル値を生成するタイミングリカバリと、
（ｄ）該同期サンプル値から該データを検出する離散時間シーケンス検出器と
を備え、
該剰余数方式ＦＩＲフィルタが、「ワンホット」符号化を含む、サンプリングされた振幅リードチャネル。
【請求項２】
（ａ）前記離散時間サンプル値を２進表現から剰余数方式表現に変換する２進／剰余数方式変換器と、
（ｂ）前記等化されたサンプル値を剰余数方式表現から２進表現に変換する剰余数方式／２進変換器と
をさらに備えている、請求項１に記載のサンプリングされた振幅リードチャネル。
【請求項３】
前記タイミングリカバリが、剰余数方式に従って実施される補間ＦＩＲフィルタを備えている、請求項１に記載のサンプリングされた振幅リードチャネル。
【請求項４】
前記補間ＦＩＲフィルタが「ワンホット」符号化を含む、請求項３に記載のサンプリングされた振幅リードチャネル。
【請求項５】
前記等化器が適応型である、請求項１に記載のサンプリングされた振幅リードチャネル。
【請求項６】
前記剰余数方式ＦＩＲフィルタが、所定の周波数に制約されたスペクトルを含む、請求項５に記載のサンプリングされた振幅リードチャネル。
【請求項７】
前記剰余数方式ＦＩＲフィルタの前記スペクトルを制約する直交射影演算子をさらに含んでいる、請求項６に記載のサンプリングされた振幅リードチャネル。
【請求項８】
前記剰余数方式ＦＩＲフィルタが、複数の剰余数方式係数を含み、前記サンプリングされた振幅リードチャネルは、
（ａ）更新された２進係数を計算する係数アダプタと、
（ｂ）該更新された２進係数を更新された剰余数方式係数に変換する２進／剰余数方式変換器と
をさらに備えている、請求項５に記載のサンプリングされた振幅リードチャネル。
【請求項９】
記憶媒体上に位置づけられたリードヘッドからのアナログリード信号をサンプリングすることによって生成された離散時間サンプル値のシーケンスからデータを読み出すサンプリングされた振幅リードチャネルであって、
（ａ）該アナログリード信号をサンプリングすることによって、該離散時間サンプル値を生成するサンプリングデバイスと、
（ｂ）該離散時間サンプル値に応答して、ターゲットの応答に従って等化されたサンプル値を生成する等化器と、
（ｃ）剰余数方式ＦＩＲフィルタを含む補間されたタイミングリカバリであって、同期サンプル値を生成する補間されたタイミングリカバリと、
（ｄ）該同期サンプル値から該データを検出する離散時間シーケンス検出器と
を備え、
該剰余数方式ＦＩＲフィルタが、「ワンホット」符号化を含む、サンプリングされた振幅リードチャネル。
【請求項１０】
前記補間されたタイミングリカバリが、
（ａ）入力サンプル値を２進表現から剰余数方式表現に変換する２進／剰余数方式変換器と、
（ｂ）出力サンプル値を剰余数方式表現から２進表現に変換する剰余数方式／２進変換器と
をさらに備えている、請求項９に記載のサンプリングされた振幅リードチャネル。
【請求項１１】
前記等化器が、剰余数方式に従って実施される等化ＦＩＲフィルタを備えている、請求項９に記載のサンプリングされた振幅リードチャネル。
【請求項１２】
前記等化ＦＩＲフィルタが「ワンホット」符号化を含む、請求項１１に記載のサンプリングされた振幅リードチャネル。
【請求項１３】
前記等化器が適応型である、請求項９に記載のサンプリングされた振幅リードチャネル。
【請求項１４】
前記等化ＦＩＲフィルタが、所定の周波数に制約されたスペクトルを含む、請求項１３に記載のサンプリングされた振幅リードチャネル。
【請求項１５】
前記等化ＦＩＲフィルタの前記スペクトルを制約する直交射影演算子をさらに含んでいる、請求項９に記載のサンプリングされた振幅リードチャネル。
【請求項１６】
前記等化ＦＩＲフィルタが、複数の剰余数方式係数を含み、前記サンプリングされた振幅リードチャネルは、
（ａ）更新された２進係数を計算する係数アダプタと、
（ｂ）該更新された２進係数を更新された剰余数方式係数に変換する２進／剰余数方式変換器と
をさらに備えている、請求項１３に記載のサンプリングされた振幅リードチャネル。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタルコンピュータ用のディスク記憶システムの制御に関し、特に剰余数方式（ＲＮＳ）ＦＩＲフィルタを用いるサンプリングされた振幅リードチャネルに関する。
【０００２】
【従来の技術】
コンピュータ記憶システム（例えば、光学システム、磁気システムなど）は、記憶媒体（典型的には、回転する磁気ディスクまたは光ディスクのかたちをとる）の表面上に、ディスクの表面特性を変化させることによりディジタルデータを記録する。ディジタルデータは、半径方向に複数の同心円状トラックまたは螺旋状トラックのかたちで２進データをディスク上へと記録するライトトランスデューサ（ライトヘッド）の動作を変調するようにはたらく。例えば、磁気記録システムでは、ディジタルデータは、一連の磁束の遷移を磁化可能なディスクの表面上に記録するために、ライトコイル中の電流を変調する。また、例えば、光学記録システムでは、ディジタルデータは、一連の「ピット」を光ディスクの表面上へと記録するために、レーザビームの強度を変調する。この記録されたデータをリードする時には、回転するディスクの近傍に位置づけられたリードトランスデューサ（リードヘッド）は、媒体上の変化を検出し、対応するパルスのシーケンスをアナログリード信号に発生する。これらのパルスは、それからリードチャネル回路により検出、復号化されてディジタルシーケンスを再生する。
【０００３】
パルスをディジタルシーケンスに検出・復号化することは、従来のアナログリードチャネルでは簡単なピーク検出器によっておこなわれてきた。また、もっと最近の設計では、サンプリングされた振幅リードチャネルにおける離散時間シーケンス検出器によっておこなわれている。離散時間シーケンス検出器のほうが、簡単なアナログパルス検出器よりも好ましい。なぜなら、離散時間シーケンス検出器は、符号間干渉（ＩＳＩ）を補償することができるので、チャネルノイズの影響を受けにくいからである。その結果、離散時間シーケンス検出器は、記憶システムの容量を増大させ、その信頼性を高めることができる。公知の離散時間シーケンス検出方法としては、離散時間パルス検出（ＤＰＤ）、ビタビ検出を用いたパーシャルレスポンス（ＰＲ）、最尤シーケンス検出（ＭＬＳＤ）、判定帰還等化（ＤＦＥ）、改善された判定帰還等化（ＥＤＦＥ）、および判定帰還を用いた固定遅延ツリー検索（ＦＤＴＳ／ＤＦ）などが挙げられる。
【０００４】
従来のピーク検出スキームにおいて、アナログ回路は、閾値のクロスに関する情報あるいは微分情報に応答して、リードヘッドにより発生された連続時間アナログ信号におけるピークを検出する。このアナログリード信号は、複数のビットセル期間に「セグメント化」され、これらの時間セグメントの間で解釈される。あるビットセル期間内にピークが存在すると、「１」ビットとして検出され、一方、そのビットセル期間内にピークが存在しない時には、「０」ビットとして検出される。検出時に最も誤差が発生しやすいのは、これらのビットセルがアナログパルスデータと正しく一致していないときである。そこで、このような検出誤差を最小限にとどめるために、ピークが平均的にビットセルの中心に発生するように、タイミングリカバリを用いてこれらのビットセル期間を調整する。タイミング情報が得られるのはピークが検出された時だけなので、入力されたデータストリームは通常、ランレングス制限（ＲＬＬ）され、連続する「０」ビットの数を制限する。
【０００５】
データの密度を高めようとして同心状の複数のデータトラック上に複数のパルスを緊密にパックしても、符号間干渉や、間隔が狭くなって互いにオーバーラップするパルスによってリード信号にもたらされる歪みが原因で、検出誤差はやはり発生する。この干渉がもとで、ビットセルのピークがそのセル内からシフトしたり、そのピークの大きさが低下したりするので、検出誤差が結果として起こってしまう。ＩＳＩの影響は、データ密度を低くすることによって、または、「１」ビットと「１」ビットとの間の「０」ビットの数が確実に最小となるような符号化スキームを用いることによって抑えることができる。例えば、ランレングス制限（ＲＬＬ）された符号（ｄ、ｋ）は、「１」ビットと「１」ビットとの間の「０」ビットの最小数をｄに制約し、連続する「０」ビットの最大数をｋに制約する。典型的な（１、７）ＲＬＬ  ２／３レートの符号は、８ビットのデータワードを１２ビットのコードワードに符号化し、（１、７）制約を満たしている。
【０００６】
ビタビ検出を用いたパーシャルレスポンス（ＰＲ）のようなサンプリングされた振幅検出は、符号間干渉およびチャネルノイズの影響を補償することによってデータ密度を高めることを可能にする。従来のピーク検出システムとは異なり、サンプリングされた振幅による記録は、パルスデータの実際の値を離散した時間点において解釈することによってディジタルデータを検出する。この目的のために、リードチャネルは、アナログリード信号をサンプリングするサンプリングデバイスと、サンプルをボーレート（符号ビットレート）に同期させるタイミングリカバリ回路とを備えている。これらのパルスをサンプリングする前に、可変利得増幅器が、リード信号の振幅を定格値に調整し、ローパスアナログフィルタが、リード信号をフィルタリングすることによって、エイリアシングノイズを減衰させる。サンプリングの後、ディジタル等化器フィルタが、所望のパーシャルレスポンスに従ってサンプル値を等化し、ビタビ検出器のような離散時間シーケンス検出器が、それらの等化されたサンプル値を文脈に従って解釈することによって、そのディジタルデータについて最尤（most likely）のシーケンスを決める（すなわち、最尤シーケンス検出（ＭＬＳＤ）をおこなう）。ＭＬＳＤは、検出アルゴリズムにおいて、ＩＳＩおよびチャネルノイズの影響を考慮に入れ、検出誤差が発生する可能性を低くする。これによって、従来のアナログピーク検出リードチャネルに比べて、有効な信号対雑音比を増大させることができ、また、ある与えられた（ｄ、ｋ）制約に対して、はるかに高いデータ密度を実現することができる。
【０００７】
サンプリングされた振幅技術をディジタル通信チャネルに適用した例は、既に多くの文献に記載されている。例えば、Y. KabalおよびS. Pasupathyの「パーシャルレスポンス信号化」、IEEE Trans. Commun. Tech.、第COM-23巻、第921〜934頁、1975年９月、Edward A. LeeおよびDavid G. Messerschmittの「ディジタル通信」、Kluwer Academic Publishers、Boston、1990年、およびG.D. Forney, Jr.の「ビタビアルゴリズム」、Proc. IEEE、第61巻、第268〜278頁、1973年３月などを参照のこと。
【０００８】
サンプリングされた振幅技術を磁気記憶システムに適用した例も、既に多くの文献に記載されている。例えば、Roy D. Cideciyan、Francois Dolivo、Walter HirtおよびWolfgang Schottの「ディジタル磁気記録用ＰＲＭＬシステム」、IEEE Journal on Selected Areas in Communications、第10巻、第１号、1992年１月、第38〜56頁、Woodらの「磁気記録チャネル上のクラスＩＶパーシャルレスポンスのビタビ検出」、IEEE Trans. Commun.、第Com-34巻、第５号、第454〜461頁、1986年５月、Cokerらの「リジッドディスクドライブにおけるＰＲＭＬの実施」、IEEE Trans. on Magnetics、第27巻、第６号、1991年11月、Carleyらの「ＦＤＴＳ／ＤＦシーケンス検出を後におこなう適応連続時間等化」、Digest of The Magnetic Recording Conference、1994年８月15〜17日、第C3頁、Moonらの「判定帰還を用いた固定遅延ツリー検索用の複雑さの制限された等化器設計」、IEEE Trans. on Magnetics、第30巻、第５号、1994年９月、Abbottらの「磁気記憶チャネルの適応判定帰還等化用のタイミングリカバリ」、Globecom '90 IEEE Global Telecommunications Conference 1990、 San Diego、CA、1990年11月、第1794〜1799頁、Abbottらの「等化およびオフトラック干渉を用いたディジタル磁気記録の性能」、IEEE Transactions on Magnetics、第27巻、第１号、1991年１月、Cioffiらの「磁気ディスク記憶チャネルにおける適応等化」、IEEE Communication Magazine、1990年２月、およびRoger Woodの「改善された判定帰還等化」、Intermag '90などを参照のこと。
【０００９】
従来のピーク検出システムと同様に、サンプリングされた振幅検出においても、ディジタルシーケンスを正確に抽出するためには、タイミングリカバリが必要である。ピーク検出システムにおいておこなわれているように、各ピークがビットセル期間のそれぞれの中心に一致するように連続的な信号処理をおこなうのではなく、サンプリングされた振幅システムは、複数のパルスサンプルをボーレートに同期させる。従来のサンプリングされた振幅リードチャネルにおいて、タイミングリカバリは、信号サンプル値と、推定されたサンプル値との間の誤差を最小化することによって、サンプリングクロックを同期させる。パルス検出器、つまりスライサは、リード信号サンプルから推定されたサンプル値を決める。たとえＩＳＩが存在していても、これらのサンプル値は推定可能であり、また、これらのサンプル値は、信号サンプル値を併用することによって、判定により向きの決められた帰還システムでアナログパルスのサンプリングの同期をとることにも用いることができる。
【００１０】
通常、位相同期ループ（ＰＬＬ）を用いることによって、タイミングリカバリを用いた、判定により向きの決められた帰還システムを実現することができる。ＰＬＬは、推定されたサンプルと、リード信号サンプルとの間の差に基づいて位相誤差を発生する位相検出器を備えている。ＰＬＬのループフィルタは、この位相誤差をフィルタリングする。そして、フィルタリングされた位相誤差は、チャネルサンプルをボーレートに同期させるように作用する。従来は、この位相誤差によって、典型的には可変周波数発振器（ＶＦＯ）の出力である、サンプリングクロックの周波数を調節していた。ＶＦＯの出力により、アナログ・ディジタル（Ａ／Ｄ）変換器のようなサンプリングデバイスを制御することによって、サンプリングをボーレートに同期させることができる。
【００１１】
前述したように、サンプリングされた振幅リードチャネルはまた、シーケンス検出以前にサンプル値を所望のパーシャルレスポンス（ＰＲ４、ＥＰＲ４、ＥＥＰＲ４など）に等化させるために離散時間等化器フィルタを用いるのが普通である。このことを目的として、記録システムにおいてディスク半径にわたって発生するパラメータ変化をリアルタイムで補償するために、適応アルゴリズムが適用されてきている。例えば、「ＰＲＭＬサンプリングデータ検出チャネル内でのディジタル有限インパルス応答フィルタの適応およびトレーニング」と題された米国特許第5,381,359号は、よく知られている最小平均２乗（ＬＭＳ）アルゴリズム、すなわち、
Ｗk+1＝Ｗk−μ・ｅk・Ｘk
（ここで、Ｗkはフィルタ係数のベクトルを表しており、μはプログラム可能な利得であり、ｅkはフィルタの実際の出力と所望の出力との間のサンプル誤差を表しており、Ｘkはフィルタ入力からのサンプル値のベクトルを表している）に従って動作する適応等化器フィルタを開示している。換言すれば、ＬＭＳ適応等化器フィルタは、フィルタの実際の出力と所望の出力との間の平均２乗誤差を、フィルタの係数を連続的に調整することによって最小化し、それにより最適な周波数応答を実現しようとする閉ループフィードバックシステムである。
【００１２】
【発明が解決しようとする課題】
サンプリングされた振幅リードチャネルにおける適応等化器フィルタに関わる問題は、タイミングリカバリと利得制御ループとが適応フィードバックループに干渉して、適応等化器フィルタが最適の状態に収束できないようにしていることである。この非収束性は、タイミングおよび利得制御ループと競合関係にあるフィルタの位相および利得応答のドリフトによって明らかになる。 J.D. Cokerらによる「リジッドディスクドライブにおけるＰＲＭＬの実施」と題された論文（IEEE Transactions on Magnetics、第27巻、第６号、1991年11月）は、固定された群遅延については別にして、等化器フィルタの位相応答を制約するために、固定された中心タップと、対称的に配置された２つのサイドタップとを有する３タップのトランスバーサルフィルタを提案している。しかし、このように適応等化器の位相応答を制約することは、タイミングリカバリおよび利得制御ループからの干渉を減衰させる方法としては、とても最適とは言えない方法である。さらには、これにより、適応フィルタの位相応答に対して及ぼされる制御が非常に弱くなるので、位相を補償する負担をアナログ等化器に負わせることになってしまう。
【００１３】
従来の適応等化器フィルタに伴う別の問題としては、そのオーダー（つまり、係数の個数）には本質的に制限があることである。適応等化器はタイミングリカバリフィードバックループの内側に存在しているので、それに伴う伝達遅延を最小化するためには、そのオーダーを制限しなければならない。離散時間等化器の欠陥を補償するためには、タイミングリカバリループよりも前により高いオーダーのアナログ等化器を用いてアナログリード信号をフィルタリングすることが必要になるが、これは望ましいことではない。
【００１４】
従来技術によるサンプリングされた振幅リードチャネルにおいて、本発明により処理されるべきさらに別の局面は、リードチャネルの構成要素、特にＦＩＲフィルタの全体的な計算速度および電力消費に関わる。２進数システムに従って動作する従来のＦＩＲフィルタは、信号を離散した時間間隔でフィルタリングするのに必要な計算集約的乗算および加算演算をおこなうのに、より長い時間とより大きな電力とを必要とする。スループットを最大化しつつ電力消費を最小化することが、特に携帯アプリケーションおよび／または高いデータ転送レートを必要とするアプリケーションでは、重要な設計上の問題であった。
【００１５】
本発明は、上記課題を解決するためになされたものであり、その目的とするところは、適応等化およびタイミングリカバリに関わる問題を克服することができ、より高速でより電力効率の高いサンプリングされた振幅リードチャネルを提供することにある。
【００１６】
【課題を解決するための手段】
本発明による、記憶媒体上に位置づけられたリードヘッドからのアナログリード信号をサンプリングすることによって発生された離散時間サンプル値のシーケンスからデータを読み出すサンプリングされた振幅リードチャネルは、（ａ）該アナログリード信号をサンプリングすることによって、該離散時間サンプル値を発生するサンプリングデバイスと、（ｂ）該離散時間サンプル値に応答して、ターゲットの応答に従って等化されたサンプル値を発生する、剰余数方式ＦＩＲフィルタを含む、等化器と、（ｃ）該等化されたサンプル値に応答して、同期サンプル値を発生するタイミングリカバリと、（ｄ）該同期サンプル値から該データを検出する離散時間シーケンス検出器と、を備えており、そのことにより上記目的が達成される。
【００１７】
サンプリングされた振幅リードチャネルは、（ａ）前記離散時間サンプル値を２進表現から剰余数方式表現へと変換する、２進／剰余数方式変換器と、  （ｂ）前記等化されたサンプル値を剰余数方式表現から２進表現へと変換する、剰余数方式／２進変換器とをさらに備えていてもよい。
【００１８】
前記剰余数方式ＦＩＲフィルタが、「ワンホット」符号化を含んでいてもよい。
【００１９】
前記タイミングリカバリが、剰余数方式に従って実施される補間ＦＩＲフィルタを備えていてもよい。
【００２０】
前記補間ＦＩＲフィルタが「ワンホット」符号化を含んでいてもよい。
【００２１】
前記等化器が適応型であってもよい。
【００２２】
前記剰余数方式ＦＩＲフィルタが、所定の周波数に制約されたスペクトルを含んでいてもよい。
【００２３】
サンプリングされた振幅リードチャネルが、前記剰余数方式ＦＩＲフィルタの前記スペクトルを制約する直交射影演算子をさらに含んでいてもよい。
【００２４】
前記剰余数方式ＦＩＲフィルタが複数の前記剰余数方式係数を含んでいる、サンプリングされた振幅リードチャネルが、（ａ）更新された２進係数を計算する係数アダプタと、（ｂ）該更新された２進係数を更新された剰余数方式係数に変換する、２進／剰余数方式変換器と、をさらに備えていてもよい。
【００２５】
前記憶媒体上に位置づけられたリードヘッドからのアナログリード信号をサンプリングすることによって発生された離散時間サンプル値のシーケンスからデータを読み出すサンプリングされた振幅リードチャネルが、（ａ）該アナログリード信号をサンプリングすることによって、該離散時間サンプル値を発生するサンプリングデバイスと、（ｂ）該離散時間サンプル値に応答して、ターゲットの応答に従って等化されたサンプル値を発生する、等化器と、（ｃ）同期サンプル値を発生する、剰余数方式ＦＩＲフィルタを含む、補間されたタイミングリカバリと、（ｄ）該同期サンプル値から該データを検出する離散時間シーケンス検出器と、を備えていてもよい。
【００２６】
前記補間されたタイミングリカバリが、（ａ）入力サンプル値を２進表現から剰余数方式表現へと変換する、２進／剰余数方式変換器と、（ｂ）出力サンプル値を剰余数方式表現から２進表現へと変換する、剰余数方式／２進変換器と、
をさらに備えていてもよい。
【００２７】
前記剰余数方式ＦＩＲフィルタが、「ワンホット」符号化を含んでいてもよい。
【００２８】
前記等化器が、剰余数方式に従って実施される等化ＦＩＲフィルタを備えていれもよい。
【００２９】
前記等化ＦＩＲフィルタが「ワンホット」符号化を含んでいてもよい。
【００３０】
前記等化器が適応型であってもよい。
【００３１】
前記等化ＦＩＲフィルタが、所定の周波数に制約されたスペクトルを含んでいてもよい。
【００３２】
前記等化ＦＩＲフィルタの前記スペクトルを制約する直交射影演算子をさらに含んでいてもよい。
【００３３】
前記等化ＦＩＲフィルタが、複数の前記剰余数方式係数を含んでいるサンプリングされた振幅リードチャネルが、（ａ）更新された２進係数を計算する係数アダプタと、（ｂ）該更新された２進係数を更新された剰余数方式係数に変換する、２進／剰余数方式変換器と、をさらに備えていてもよい。
【００３４】
以下に作用を説明する。
【００３５】
本発明の一つの局面において、等化器および補間器におけるＦＩＲフィルタは、剰余数方式に従って実現されるので、リードチャネルの速度を増すことができる。また、このように剰余数方式を用いてＦＩＲフィルタを実現する際に「ワンホット」符号化を用いることで、電力消費を低くする。
【００３６】
【発明の実施の形態】
本願は、「磁気記録用のサンプリングされた振幅リードチャネルにおける適応等化および補間されたタイミングリカバリ」と題された同時係属中の米国特許出願第08/640,351号に関連している。
【００３７】
本発明の上記局面および利点、ならびにその他の局面および利点は、添付の図面を参照しながら以下に述べる本発明の詳細な説明を読めば、よりよく理解できるであろう。
【００３８】
（従来のサンプリングされた振幅リードチャネル）
図１をここで参照すれば、従来のサンプリングされた振幅リードチャネルの詳細なブロック図が示されている。書き込み動作のあいだ、ユーザデータ２またはデータ発生器４からのプリアンブルデータ（例えば２Ｔのプリアンブルデータ）が、媒体上に書き込まれる。ＲＬＬ符号化器６は、ＲＬＬ制約条件にしたがって、ユーザデータ２を２進シーケンスｂ（ｎ）８に符号化する。プリコーダ１０は、記録チャネル１８および等化器フィルタの伝達関数を補償し、プリコードされたシーケンス〜ｂ（ｎ）１２をつくるために、２進シーケンスｂ（ｎ）８をプリコードする。プリコードされたシーケンス〜ｂ（ｎ）１２は、〜ｂ（Ｎ）＝０をａ（Ｎ）＝−１に、かつ〜ｂ（Ｎ）＝１をａ（Ｎ）＝＋１に翻訳すること（１４）によって、シンボルａ（ｎ）１６に変換される。ライト回路９は、シンボルａ（ｎ）１６に応答して、ボーレート１／Ｔで記録ヘッドコイル中の電流を変調することによって、２進シーケンスを媒体上に記録する。周波数シンセサイザ５２は、ボーレートライトクロック５４をライト回路９に供給する。また、周波数シンセサイザ５２は、記録ヘッドがその上に位置しているゾーンに従ってチャネルデータレート信号（ＣＤＲ）３０により調整される。
【００３９】
記録された２進シーケンスを媒体から読み出すとき、タイミングリカバリ２８は、まず、リードチャネルへの入力としてマルチプレクサ６０を通したライトクロック５４を選択することによって、書き込み周波数にロックする。いったん書き込み周波数にロックされると、マルチプレクサ６０は、記録されたユーザデータよりも前にディスク上に記録されたアクイジションプリアンブルを得るために、リードヘッドからの信号１９をリードチャネルへの入力として選択する。可変利得増幅器２２は、アナログリード信号５８の振幅を調整し、アナログフィルタ２０は、エイリアシングノイズを減衰させるのと同時に、所望の応答を得るために初期等化をおこなう。サンプリングデバイス２４は、アナログフィルタ２０からのアナログリード信号６２をサンプリングし、離散時間等化器フィルタ２６は、所望の応答を得るためにサンプル値２５をさらに等化する。パーシャルレスポンス記録においては、所望の応答は、例えば、しばしば表１から選択される。
【００４０】
【表１】
0003948801.tif 000002
【００４１】
離散等化器フィルタ２６は、ディスクの半径（すなわちゾーン）、ディスクの角度、および温度のドリフトのような環境条件に対するパラメータの変化を補償するリアルタイムの適応フィルタとして実現されうる。この目的のために、フィルタ２６は、タイミングリカバリ回路２８により発生された推定されたサンプル値を受け取る。ここで、推定されたサンプル値は、適応フィードバックループへと入力され、サンプル誤差を発生するために用いられる。従来、適応フィードバックループは、サンプル誤差を最小にできるまでフィルタ係数を適応化する（つまり、フィルタの周波数および位相応答を適応づける）最小平均２乗（ＬＭＳ）アルゴリズムを用いてきた。従来の適応等化器フィルタの動作について、以下にさらに詳しく説明する。
【００４２】
等化の後、リード信号５８の振幅と、サンプリングデバイス２４の周波数および位相とをそれぞれ調整するために、等化されたサンプル値３２は、判定により向きの決められた利得制御５０と、タイミングリカバリ回路２８とに与えられる。等化されたサンプル３２をボーレートに同期させるために、タイミングリカバリは、ライン２３を介してサンプリングデバイス２４の周波数を調整する。温度、電圧およびプロセスのばらつきに対してタイミングリカバリ周波数を所定の値に揃えるために、周波数シンセサイザ５２は、センタ周波数の粗い設定値をライン６４を介してタイミングリカバリ回路２８に与える。チャネルデータレート（ＣＤＲ）信号３０は、シンセサイザ５２の周波数範囲を、現在のゾーンについてのデータレートにしたがって調整する。利得制御５０は、チャネルの周波数応答の大きさを所望のパーシャルレスポンスに一致させるために、ライン２１を介して可変利得増幅器２２の利得を調整する。
【００４３】
等化されたサンプルＹ（ｎ）３２は、最尤（ＭＬ）ビタビシーケンス検出器のような離散時間シーケンス検出器３４にも送られる。離散時間シーケンス検出器３４は、サンプル値から推定された２進シーケンス＾ｂ（ｎ）３３を検出する。ＲＬＬ復号化器３６は、シーケンス検出器３４からの推定された２進シーケンス＾ｂ（ｎ）３３を、推定されたユーザデータ３７に復号化する。データシンク検出器６６は、ＲＬＬ復号化器３６の動作をフレームに同期させるために、データセクタ１５の中のシンクマーク７０（図２Ｂに示す）を検出する。誤差がなければ、推定された２進シーケンス＾ｂ（ｎ）３３は、記録された２進シーケンスｂ（ｎ）８と一致し、復号化されたユーザデータ３７は、記録されたユーザデータ２と一致する。
【００４４】
（データフォーマット）
図２Ａは、１連の同心円状データトラック１３を備えた磁気媒体のデータフォーマットの１例を示す。ここで、それぞれのデータトラック１３は、サーボウェッジ１７の埋め込まれた複数のセクタ１５を有している。サーボコントローラ（不図示）が、サーボウェッジ１７におけるサーボデータを処理し、そのサーボデータに応答して、リード／ライトヘッドを所望のトラック上に位置づける。また、サーボコントローラは、サーボウェッジ１７内のサーボバーストを処理することによって、データを書き込んだり、読み出したりしながら、所望のトラックのセンタライン上にヘッドを位置合わせし続ける。サーボウェッジ１７は、簡単な離散時間パルス検出器によっても、あるいは離散時間シーケンス検出器３４によっても検出されうる。サーボウェッジ１７のフォーマットは、ユーザデータセクタ１５と同様に、プリアンブルと、シンクマークとを含む。
【００４５】
図２Ｂは、アクイジションプリアンブル６８、シンクマーク７０およびユーザデータ７２を備えたユーザデータセクタ１５のフォーマットを示す。タイミングリカバリは、アクイジションプリアンブル６８を用いて、正しいサンプリング周波数および位相を、ユーザデータ７２を読み出す前に得ており、シンクマーク７０は、ユーザデータ７２の始まりを区切る（「同期パーシャルレスポンス記録のための改善されたタイミングリカバリ」と題された同時係属中の米国特許出願第08/313,491号を参照のこと）。
【００４６】
記憶密度の全体を増加させるために、ディスクは、１トラック当たり１４個のデータセクタを有する外側のゾーン１１と、１トラック当たり７個のデータセクタを有する内側のゾーン２７とに区分される。実用時には、ディスクは、実際には、ゾーン当たりのセクタ数が互いに異なる複数のゾーンに区分される。その場合、データは、それぞれ異なるデータレートで各ゾーンに記録され、また、そこから検出されることになる。
【００４７】
（改善されたサンプリングされた振幅リードチャネル）
図３は、本発明による改善されたサンプリングされた振幅リードチャネルを示している。図３では、図１の従来のサンプリングされたタイミングリカバリ２８は、補間されたタイミングリカバリ（ＩＴＲ）Ｂ１００に置き換えられており、図１の従来の離散等化器フィルタ２６は、その速度および電力効率を大幅に増加させるために、剰余数方式（ＲＮＳ）等化器フィルタＣ１０３に置き換えられている。ＲＮＳ等化器フィルタＣ１０３は、また、ＩＴＲ  Ｂ１００から補間されたサンプル値Ｂ１０２と、推定されたサンプル値Ｂ１４３とを受け取る、リアルタイムの適応型フィルタでもある。これらのサンプル値は、本発明により、フィルタの利得および位相応答を制約する改良された最小平均２乗（ＬＭＳ）アルゴリズムにおいて用いられる。このアルゴリズムの詳細については、後述に譲る。
【００４８】
また、書き込み周波数シンセサイザ５２は、ライト回路９に与えられるボーレートライトクロック５４を発生し、サンプリングデバイス２４と、ＲＮＳ等化器フィルタＣ１０３と、ＩＴＲ  Ｂ１００とを、現在のゾーンに対する周波数（ＣＤＲ３０）でクロック合わせする非同期リードクロック５４を発生する。別の実施形態では、第１の周波数シンセサイザがライトクロックを発生し、第２の周波数シンセサイザがリードクロックを発生する。
【００４９】
ＲＮＳ設計を簡単にするために、Ａ／Ｄ  ２４により出力されたサンプル値２５は、２進表現からＲＮＳ表現へと変換される（Ｄ１００）。これらのＲＮＳサンプル値Ｄ１０２は、ＲＮＳ等化器フィルタＣ１０３によりフィルタリングされ、ＲＮＳスケーラＤ１０４が、ＲＮＳサンプル値Ｄ１０３を再びスケーリングすることによって、オーバーフローを防止する。再スケーリングされたＲＮＳサンプル値Ｄ１０６は、ＩＴＲ  Ｂ１００へと入力される。ＩＴＲ  Ｂ１００は、現在のゾーンのボーレートと実質的に同期のとられた補間されたＲＮＳサンプル値Ｄ１０８を発生する。ＲＮＳ等化器フィルタＣ１０３と同様に、ＩＴＲ  Ｂ１００もまた、やはり速度および電力効率を増すためにＲＮＳで実現されるＦＩＲフィルタを備えている。補間されたサンプル値Ｄ１０８は、再スケーリングされ（Ｄ１１０）、２進表現Ｂ１０２に再び変換された（Ｄ１１２）後、リードチャネルによりさらに処理される。
【００５０】
離散時間シーケンス検出器３４は、補間されたサンプル値Ｂ１０２から、ユーザデータを表現する推定された２進シーケンス３３を検出する。ＩＴＲ  Ｂ１００は、利得制御５０、離散時間シーケンス検出器３４、シンクマーク検出器６６およびＲＬＬ復号化器３６の動作をクロック合わせする、同期データクロックＢ１０４を発生する。
【００５１】
（従来のタイミングリカバリ）
図１の従来のサンプリングタイミングリカバリ２８の全体図が、図４Ａに示されている。可変周波数発振器（ＶＦＯ）Ｂ１６４の出力２３は、典型的にはディジタルリードチャネルにおけるアナログ・ディジタル変換器（Ａ／Ｄ）であるサンプリングデバイス２４のサンプリングクロックを制御する。マルチプレクサＢ１５９は、アクイジションのあいだは等化されていないサンプル値２５を選択し、トラッキングのあいだは等化されたサンプル値３２を選択することによって、付随するレイテンシを避けるために、アクイジションのあいだ、離散等化器フィルタ２６をタイミングループから除く。位相誤差検出器Ｂ１５５は、ラインＢ１４９を介して受け取られたサンプル値と、ラインＢ１４３上の、ｄ＝０のＰＲ４リードチャネルにおけるスライサのようなサンプル値推定器Ｂ１４１からの推定されたサンプル値〜Ｙkとに応答して、位相誤差を発生する。ループフィルタＢ１６０は、位相誤差をフィルタリングすることによって、サンプリングクロック２３と、ボーレートとの間の周波数差に比例した値に落ちつく周波数オフセットΔｆ Ｂ１６７を発生する。周波数オフセットΔｆ Ｂ１６７は、周波数シンセサイザ５２からのセンタ周波数制御信号６４とともに、サンプリングクロック２３をＶＦＯ Ｂ１６４の出力において調整することによって、サンプリングをボーレートに同期させる。
【００５２】
ゼロ位相再スタート（ＺＰＲ）回路Ｂ１６２は、ＶＦＯ １６４の動作をアクイジションの始めに停止させることによって、サンプリングクロック２３と、リード信号６２との間の初期位相誤差を最小にする。これは、ＶＦＯ Ｂ１６４をディセーブルし、アナログリード信号６２におけるゼロクロスを検出し、検出されたゼロクロスと第１のボーレートサンプルとの間の所定の遅延の後にＶＦＯ  Ｂ１６４を再びイネーブルすることによっておこなわれる。
【００５３】
スライサＢ１４１の出力における推定されたサンプル値Ｂ１４３もまた、図１の離散時間等化器フィルタ２６へと入力され、後でさらに詳しく説明するように、従来の最小平均２乗（ＬＭＳ）適応づけアルゴリズムにおいて用いられる。
【００５４】
（補間されたタイミングリカバリ）
本発明による補間されたタイミングリカバリＢ１００は、図４Ｂに示されている。図４Ａの従来のタイミングリカバリにおけるＶＦＯ Ｂ１６４は、モジュロＴｓアキュムレータＢ１２０および補間器Ｂ１２２に置き換えられている。さらに予期されたサンプル値発生器Ｂ１５１は、位相誤差検出器Ｂ１５５によって用いられる予期されたサンプルＹk+τを発生することによって、アクイジションのあいだの位相誤差を計算する。マルチプレクサＢ１５３は、スライサＢ１４１からの推定されたサンプル値〜Ｙk+τを選択し、トラッキングのあいだに位相誤差検出器Ｂ１５５によって使えるようにする。後で詳しく述べるように、データクロックＢ１０４は、サンプリングクロック５４と、モジュロＴｓアキュムレータＢ１２０からのマスク信号Ｂ１２４とに応答して、ＡＮＤゲートＢ１２６の出力において発生される。位相誤差検出器Ｂ１５５およびスライサＢ１４１は、図４Ａの離散等化器フィルタ２６の出力におけるチャネルサンプル値３２の代わりに、補間器Ｂ１２２の出力における補間されたサンプル値Ｂ１０２を処理する。ＰＩＤループフィルタＢ１６１は、図４ＡのループフィルタＢ１６０に似た閉ループ周波数応答を制御し、周波数オフセット信号Ｂ１６７を発生する。周波数オフセットが、モジュロＴｓアキュムレータＢ１２０によりアキュムレートされることによって、補間されたＲＮＳサンプル値Ｄ１０８を計算する際に補間器Ｂ１２２により用いられる補間間隔τ  Ｂ１２８を発生する。補間されたＲＮＳサンプル値Ｄ１０８は、再スケーリングされた（Ｄ１１０）後、２進表現Ｙk+τＢ１０２に再変換される（Ｄ１１２）。
【００５５】
補間された２進サンプル値Ｙk+τＢ１０２、および、スライサＢ１４１からの推定されたサンプル値〜Ｙk+τは、図３の適応型離散等化器フィルタＣ１０３に入力され、改良された最小平均２乗（ＬＭＳ）アルゴリズムで用いられる。このアルゴリズムの詳細については、後述に譲る。
【００５６】
本発明による補間されたタイミングリカバリにおいて、プリアンブルを獲得する前に、ＶＦＯを参照周波数にロックさせることはもはや必要ではなく、（図１のように）ライトクロック５４をアナログ受信フィルタ２０にマルチプレクシングすること（６０）は、必要ではない。さらにサンプリングデバイス２４および離散等化器フィルタ２６は、それらに付随する遅延とともに、タイミングループから除かれている。アクイジションおよびトラッキングのあいだに等化器フィルタ２６の周辺でマルチプレクスすること（Ｂ１５９）は、必要ではない。しかしユーザデータ７２をトラッキングする前にプリアンブル６８を獲得することはやはり必要である。この目的のために、図４ＡのＺＰＲ  Ｂ１６２と同様に、アクイジションの始めに、ゼロ位相再スタート（ＺＰＲ）Ｂ１６３は、補間されたサンプル値と、ボーレートとの間の初期位相誤差を最小化する。しかしサンプリングＶＦＯ Ｂ１６４の動作を停止させる代わりに、補間されたタイミングリカバリのためのＺＰＲ  Ｂ１６３は、Ａ／Ｄ２４のサンプル値２５からの初期位相誤差τを計算し、ラインＢ１２７を介してこの初期位相誤差をモジュロＴｓアキュムレータＢ１２０にロードする。また、ＺＰＲ  Ｂ１６３は、予期されたサンプル発生器Ｂ１５１の開始状態を初期化する信号Ｂ１２５も発生する。
【００５７】
後で詳しく説明する補間器Ｂ１２２は、補間されたサンプル値を計算するための、補間間隔τ  Ｂ１２８に応答する時間可変ＦＩＲフィルタを備えている。ＰＩＤループフィルタＢ１６１、位相誤差検出器Ｂ１５５、予期されたサンプル発生器Ｂ１５１およびスライサＢ１４１に関するより詳細な説明については、「サンプル推定等化、欠陥スキャニング、チャネル品質、ディジタルサーボ復調、タイミングリカバリのためのＰＩＤフィルタおよびＤＣオフセット制御を含むサンプリングされた振幅リードチャネル」と題された同時係属中の米国特許出願第08/341,251号および「同期パーシャルレスポンス記録のための改善されたタイミングリカバリ」と題された米国特許出願第08/313,491号を参照のこと。モジュロＴｓアキュムレータＢ１２０、データクロックＢ１０４、および補間器Ｂ１２２については、以下に詳細に説明する。
【００５８】
（補間器）
図４Ｂの補間器Ｂ１２２は、サンプリングされた２Ｔのアクイジションプリアンブル信号Ｂ２００を示す図５を参照すれば理解できるだろう。ターゲット同期サンプル値Ｂ１０２は、黒丸として示されており、非同期チャネルサンプル値Ｄ１０６は、垂直の矢印として示されている。サンプリングされたプリアンブル信号の下にあるのは、サンプリングクロック５４、データクロックＢ１０４およびマスク信号Ｂ１２４の対応するタイミング信号を表すタイミングチャートである。図５に示すように、プリアンブル信号Ｂ２００は、ボーレート（ターゲット値のレート）よりもわずかに速くサンプリングされている。
【００５９】
補間器の機能は、チャネルサンプル値を補間することによってターゲットサンプル値を推定することである。例示を目的として、簡単な推定アルゴリズムである線形補間を考える。
【００６０】
【数１】
0003948801.tif 000003
【００６１】
ここでｘ（Ｎ−１）およびｘ（Ｎ）は、ターゲットサンプルのまわりにあるチャネルサンプルであり、τは、チャネルサンプル値ｘ（Ｎ−１）と、ターゲットサンプル値との間の時間差に比例する補間間隔である。補間間隔τは、ＰＩＤループフィルタＢ１６１の出力において周波数オフセット信号Δｆ Ｂ１６７をアキュムレートするモジュロＴｓアキュムレータＢ１２０の出力において発生される。
【００６２】
【数２】
0003948801.tif 000004
【００６３】
ここで、Ｔｓはサンプリングクロック５４のサンプリング周期である。サンプリングクロック５４は、アナログリード信号６２をボーレートよりもわずかに速くサンプリングするので、アキュムレートされた周波数オフセットΔｆ、つまりＴｓによって割られた整数が１だけ増加するときにはいつも、データクロックをマスクする必要がある。データクロックＢ１０４およびモジュロＴｓアキュムレータＢ１２０によって発生されるマスク信号Ｂ１２４の動作は、図５のタイミングチャートを参照すれば理解できよう。
【００６４】
補間器が上述の簡単な線形方程式である数１を実現するとすれば、チャネルサンプル値Ｂ２０２およびＢ２０４は、ターゲットサンプル値Ｂ２０６に対応する補間されたサンプル値を発生するのに用いられる。補間間隔τ Ｂ２０８は、数２にしたがって発生される。次のターゲット値Ｂ２１０に対応する次の補間されたサンプル値は、チャネルサンプル値Ｂ２０４およびＢ２１２から計算される。このプロセスは、周囲を「包みこみ」、実際にτ Ｂ２１６となる（すなわちアキュムレートされた周波数オフセットΔｆ、Ｔｓによって割られた整数が１だけ増加することによって、マスク信号Ｂ１２４をアクティベートする）とき以外は、補間間隔τ Ｂ２１４がＴｓよりも大きくなるまで続く。ターゲットサンプル値Ｂ２２０に対応する補間されたサンプル値が、チャネルサンプル値Ｂ２１８およびＢ２２２からではなく、チャネルサンプル値Ｂ２２２およびＢ２２４から計算されるように、この時点において、データクロックＢ１０４は、マスク信号Ｂ１２４によってマスクされる。
【００６５】
数１の簡単な線形補間は、アナログリード信号がボーレートよりもずっと高い周波数でサンプリングされるときにしかうまくはたらかない。より高い周波数でチャネルを動作させることは、その複雑さとコストとを増すことになるので望ましくない。よって、好ましい実施の形態では、補間器Ｂ１２２は、２つよりも多くのチャネルサンプルに応答して、補間されたサンプル値を計算するフィルタとして実現される。
【００６６】
理想的な離散時間位相補間フィルタは、大きさの応答が平坦であり、τの群遅延が一定である。
【００６７】
【数３】
0003948801.tif 000005
【００６８】
これは、理想的なインパルス応答をもつ。
【００６９】
【数４】
0003948801.tif 000006
【００７０】
残念ながら、上述の非因果的な無限インパルス応答である数４は実現できない。よって、補間フィルタのインパルス応答は、理想インパルス応答である数４に最もよく一致する近似になるように設計される。これは、実際の補間フィルタの周波数応答と、理想補間フィルタである数３の周波数応答との間の平均２乗誤差を最小にすることによって得られる。この近似は、入力信号のスペクトルを考慮に入れることによって改善されうる。つまり実際の補間スペクトルによって乗算された入力スペクトルと、理想補間スペクトルによって乗算された入力スペクトルとの間の平均２乗誤差を最小にすることによって以下のようになる。
【００７１】
【数５】
0003948801.tif 000007
【００７２】
ここで￣Ｃτ（ｅjω）は、実際の補間フィルタのスペクトルであり、またＸ（ｅjω）は、入力信号のスペクトルである。数５から、平均２乗誤差は、以下の数６により表される。
【００７３】
【数６】
0003948801.tif 000008
【００７４】
ここでＸ（ｅjω）は、リードチャネルのスペクトル（例えば、表１のＰＲ４、ＥＰＲ４、ＥＥＰＲ４や他のパーシャルレスポンススペクトル）である。
【００７５】
実際には、上述の平均２乗誤差方程式である数６は、入力信号のスペクトルがある所定の定数０≦ω≦απに帯域制限されると特定することによって以下のように書き直すことができる。ここで０＜α＜１である。つまり
｜ｘ（ｅjω）｜＝０、ただし｜ω｜≧απ
である。すると数６は、以下のようになる。
【００７６】
【数７】
0003948801.tif 000009
【００７７】
この数７の最小化問題に対する解決策としては、例えば、実際の補間フィルタをその係数によって表現し、かつ伝統的な平均２乗の観点から誤差を最小化できる係数の解を求める方法が挙げられる。
【００７８】
実際の補間フィルタは、ＦＩＲ多項式として以下の数８のように表現することができる。
【００７９】
【数８】
0003948801.tif 000010
【００８０】
ここで、２Ｒは各補間フィルタにおけるタップの個数であり、また、サンプル周期Ｔｓは１に正規化されている。係数の個数が偶数である補間フィルタに対する数学的微分法について以下に説明する。係数の個数が奇数である補間フィルタを微分できるように、以下の演算法を改変することは当業者の技量内で十分に可能であろう。
【００８１】
数８を数７に代入すると、係数Ｃτ（ｎ）によって所望の数式を得ることができる。
【００８２】
【数９】
0003948801.tif 000011
【００８３】
次のステップは、係数Ｃτ（ｎ）について数９の導関数をとり、かつそれらを０に初期化することである。
【００８４】
【数１０】
0003948801.tif 000012
【００８５】
慎重に変形すれば、数１０により以下の数１１が導かれる。
【００８６】
【数１１】
0003948801.tif 000013
【００８７】
φ（ｒ）を以下の数１２のように規定し、
【００８８】
【数１２】
0003948801.tif 000014
【００８９】
また数１２を数１１に代入すると、以下の数１３のようになる。
【００９０】
【数１３】
0003948801.tif 000015
【００９１】
数１３は、係数Ｃτ（ｎ）によって１セットの２Ｒ線形方程式を規定している。数１３は、より簡潔に行列形式で以下のように表記することができる。
【００９２】
【数１４】
0003948801.tif 000016
【００９３】
ここで、Ｃτは以下の形式の列ベクトルである。
【００９４】
Ｃτ＝［ｃτ（−Ｒ）,..., ｃτ（０）,..., ｃτ（Ｒ−１）］t
ΦTは、以下の形式のテープリッツ行列である。
【００９５】
【数１５】
0003948801.tif 000017
【００９６】
また、Φτは以下の形式の列ベクトルである。
【００９７】
【数１６】
0003948801.tif 000018
【００９８】
数１６の解は、以下の数１７のようになる。
【００９９】
【数１７】
0003948801.tif 000019
【０１００】
ここで、ΦT-1は公知の方法を用いて解を求めることができる逆行列である。
【０１０１】
表２は、２Ｒ＝６、α＝０．８およびｘ（ｅjω）＝ＰＲ４であるときの数１７から計算される係数Ｃτ（ｎ）の例を示している。
【０１０２】
【表２】
0003948801.tif 000020
【０１０３】
また、図６には、６つのタップを有するＦＩＲフィルタの実施形態を示している。シフトレジスタＢ２５０は、サンプリングクロックレート５４でチャネルサンプルＤ１０６を受け取る。フィルタ係数Ｃτ（ｎ）は、係数レジスタファイルＢ２５２に格納され、τ Ｂ１２８の現在の値に従って対応する乗算器に与えられる。これらの係数は、シフトレジスタＢ２５０に格納されているチャネルサンプルＤ１０６によって乗算される。その結果得られた積の和がとられ（Ｂ２５４）、その和は遅延レジスタＢ２５６に格納される。ＲＮＳ係数レジスタファイルＢ２５２および遅延レジスタＢ２５６は、上述したマスキング機能を実現するデータクロックＢ１０４によってクロックが合わせられる。
【０１０４】
図示しない別の実施形態においては、τの互いに異なる値に対応する係数を有する複数のスタティックＦＩＲが、シフトレジスタＢ２５０におけるサンプル値をフィルタリングする。各フィルタは補間値を出力し、補間間隔の現在の値τ Ｂ１２８は、対応するフィルタの出力を補間器Ｂ１２２の出力Ｄ１０８として選択する。図６では、１つのフィルタの係数は一定の間隔で更新されないので、このように多数のフィルタを用いる実施の形態によれば、補間器Ｂ１２２の速度を増すことができ、またリードチャネル全体のスループットを高めることができる。
【０１０５】
別の実施の形態では、補間フィルタのすべての係数をメモリに格納するのではなく、フィルタ係数Ｃτ（ｎ）をτの関数としてリアルタイムで計算する。フィルタ係数Ｃτ（ｎ）は、例えば、τにおける所定の多項式に従ってリアルタイムで計算することができる（例えば、Farrowに付与された「連続的な可変ディジタル遅延回路」と題された米国特許第4,866,647号を参照のこと。この特許の開示については本願も参考として援用している）。
【０１０６】
しかし、フィルタ係数をリアルタイムで計算するための好ましい実施の形態においては、ランクを低くした行列表現を用いる。係数レジスタファイルＢ２５２に格納されているフィルタ係数のバンクが、Ｍ×Ｎ行列ＡM×Nとして表現されうる場合を考える。ここで、Ｎは補間フィルタの深さ（つまり、数１７に従って計算されたインパルス応答における係数Ｃτ（ｎ）の個数）であり、またＭは補間間隔の個数（すなわち、τ間隔の個数）である。ＡM×N行列の全体をメモリに格納するのではなく、ＡM×N行列の因数分解および特異値分解（ＳＶＤ）を用いて、ランクを低くした行列を格納する。
【０１０７】
ＡM×N行列をＦM×N行列およびＧN×N行列に因数分解できる場合を考える。
【０１０８】
【数１８】
0003948801.tif 000021
【０１０９】
こうすると、ＮをＬで置換（ここで、Ｌ＜Ｎであり、より好ましくはＬ＜＜Ｎである）してＦMxN行列およびＧNxN行列の大きさを小さくすることによって、ＡMxN行列のランクを低くした近似値をつくることができる。言い換えれば、掛け合わせるとその積がＡMxN行列に最も近似するＦMxL行列とＧLxN行列とを見つければよい。
【０１１０】
【数１９】
0003948801.tif 000022
【０１１１】
次に、図７に示すように、（以下の説明を読めばさらに明らかになるように）チャネルサンプル値３２を受け取るように接続されたＦＩＲフィルタＢ２６０のバンクとしてＧLxN行列を実現し、かつτ Ｂ１２８を指数とするルックアップテーブルＢ２６２としてＦMxL行列を実現することによって、補間フィルタのたたみ込み処理をおこなうことができる。別の実施形態においては、ＡMxN行列を３つの以上の行列（すなわち、Ａ≒ＦＧＨ...）に因数分解できることは、当業者には理解できよう。
【０１１２】
ＦMxL行列とＧLxN行列とを見出すための好ましい方法は、以下の数２０によって得られる、２乗誤差の和を最小化することである。
【０１１３】
【数２０】
0003948801.tif 000023
【０１１４】
数２０の解は、ＡMxN行列を特異値分解することによって得られる。この特異値分解は以下のステップを含んでいる。
【０１１５】
１．（Ｍ≧Ｎであると仮定すると）以下に示す素因子分解をおこなうことができるＳＶＤをＡMxN行列に対しておこなうステップであって、
【０１１６】
【数２１】
0003948801.tif 000024
【０１１７】
ここで、ＵMxNは、Ｍ×Ｎユニタリ行列であり、
ＤNxNは、Ｎ×Ｎ対角行列であり｛σ1、σ2、...σN｝（ここで、σiはＡMxNの特異値であり、かつσ1≧σ2...≧σN≧０である）、
ＶNXNはＮ×Ｎユニタリ行列である、ステップと、
２．所定の数であるＬ個の最大特異値σを選択することによって、大きさの小さくなった対角行列ＤL×Lを生成するステップと、
【０１１８】
【数２２】
0003948801.tif 000025
【０１１９】
３．ＵMxN行列から第１のＬ列を抽出することによって、大きさの小さくなったＵMXL行列を形成するステップと、
【０１２０】
【数２３】
0003948801.tif 000026
【０１２１】
４．ＶNxN行列から第１のＬ行を抽出することによって、大きさの小さくなったＶLXN行列を形成するステップと、
【０１２２】
【数２４】
0003948801.tif 000027
【０１２３】
５．ＦMxL行列とＧLxN行列とを以下の関係を満たすように規定するステップと、
【０１２４】
【数２５】
0003948801.tif 000028
【０１２５】
（例えば、ＦMxL＝ＵMxL・ＤLxLおよびＧLxN＝ＶLxNとする）
を含んでいる。
【０１２６】
上述したように、多項式とランクの低くされた行列とを用いてコストの低減された実施形態において、補間フィルタ係数Ｃτ（ｎ）は、τの関数としてリアルタイムで計算される。すなわち、フィルタのインパルス応答ｈ（ｎ）は以下の数２６に従って近似される。
【０１２７】
【数２６】
0003948801.tif 000029
【０１２８】
ここで、ｆ（ｉ、τ）はτにおける所定の関数（例えば、τにおける多項式、つまりτは上記ＦMxL行列の指数となる）であり、Ｌは近似の正確さを決める度合い（例えば、多項式の次数または上記ＦMxL行列の列の幅）であり、かつＧi（ｎ）は所定の行列（例えば、多項式つまり上記ＧLxN行列の係数）である。Ｌが増大するにつれて、数２６の近似されたフィルタ係数Ｃτ（ｎ）は、数１７により得られる理想の係数に近づく傾向にある。数２６から、補間フィルタの出力Ｙ（ｘ）の出力は、以下のように表現されることになる。
【０１２９】
【数２７】
0003948801.tif 000030
【０１３０】
ここで、Ｕ（ｘ）はチャネルサンプル値Ｄ１０６であり、Ｎは補間フィルタ係数Ｃτ（ｎ）の個数である。
【０１３１】
ここで再び図６を参照すると、係数レジスタファイルは、数２６に従って補間フィルタ係数Ｃτ（ｎ）を計算した後、これらの係数Ｃτ（ｎ）をチャネルサンプルＵ（ｘ）Ｄ１０６とたたみ込むことによって、ボーレートと同期のとられた、補間されたサンプル値Ｄ１０８を発生することができる。しかし、数２７を整理することによって、補間フィルタのより効率の高い実現形態を以下の数２８のように実現することができる。
【０１３２】
【数２８】
0003948801.tif 000031
【０１３３】
図７は、数２８による補間フィルタの好ましい実施の形態を示す。多項式を用いる実施の形態において、τの関数はτにおける多項式であり、また、行列Ｇi（ｎ）はこの多項式の係数である。またランクの低くされた行列を用いる実施の形態において、τの関数は上記ＦMxL行列Ｂ２６２の指数となり、数２８における第２の和は、
【０１３４】
【数２９】
0003948801.tif 000032
【０１３５】
図７に示すように、ＦＩＲフィルタＢ２６０のバンクとして実現される。数２８においても、Ｌは近似関数ｆ（ｉ、τ）の深さ（例えば、多項式の次数、つまり上記ＦMxL行列の列の幅）であり、また、Ｎは補間フィルタのインパルス応答の深さ（つまり、インパルス応答における係数の個数）である。Ｎ＝８であり、かつＬ＝３の場合に最良のパフォーマンス／コストバランスが得られることが判明している。しかし、今後、ＩＣ技術が進歩して、ゲート当たりのコストの低下が進むにつれて、これらの値を大きくすることができよう。
【０１３６】
（従来の適応等化器）
図８Ａは、以下に示す公知の最小平均２乗（ＬＭＳ）アルゴリズム
【０１３７】
【数３０】
0003948801.tif 000033
【０１３８】
（ここで、ＷkはＦＩＲフィルタ係数のベクトルを表しており、μはプログラム可能な利得であり、ｅkはＦＩＲフィルタの実際の出力と、所望の出力との間のサンプル誤差（つまり、サンプル誤差ｅkのベクトル）であり、Ｘkは、ＦＩＲフィルタ入力からのサンプル値のベクトル（つまり、スカラーＸk）を表している）に従って動作する、従来技術による適応型離散時間等化器を図示している。本発明の動作がよりよく理解できるように、上記ＬＭＳアルゴリズムの第２表現を、以下の開示の全体を通して用いるものとする。
【０１３９】
所望のフィルタ出力は、スライサＢ１４１の出力における推定されたサンプル値〜Ｙkである。推定されたサンプル値〜Ｙkが、ＦＩＲフィルタの出力Ｙkから減算されることによって、サンプル誤差ｅkを発生する。ＬＭＳアルゴリズムは、ＦＩＲフィルタ係数を適応づけることによって、最小平均２乗の観点からサンプル誤差を最小化しようとする。すなわち、このアルゴリズムは、ＦＩＲフィルタの利得および位相応答を調整することによって、チャネル応答の全体が、所望のパーシャルレスポンス（例えば、ＰＲ４、ＥＰＲ４、ＥＥＰＲ４など）を適切にトラッキングするようにする。
【０１４０】
前述したように、図１のタイミングリカバリ２８および利得制御５０ループからの干渉によって、適応型離散時間等化器２６の最適な状態への収束が妨害されることもある。例えば、適応フィルタ２６における位相調整が、タイミングリカバリ２８に対するサンプリング位相誤差に影響を与えることがある。タイミングリカバリ２８は、そのサンプリング位相を調整することによって、フィルタの位相調整を補償する。この調整の結果、適応等化器２６によるさらに別の位相調整が生じる。よって、適応等化器の位相応答は、決して収束することがない。同様に、利得制御ループ５０が、適応フィルタ２６の利得応答に干渉して、その収束を阻むこともある。
【０１４１】
（制約された適応等化器）
図８Ｂは、本発明のある局面による適応型剰余数方式（ＲＮＳ）等化器フィルタＣ１０３（図３を参照のこと）の動作を図示している。ＲＮＳ  ＦＩＲフィルタＣ１００、ＲＮＳ変換器、およびＲＮＳスケーラの実施の形態の詳細については、後述に譲る。適応アルゴリズムは、以下のように作用する。
【０１４２】
Ａ／Ｄ変換器２４により出力されたサンプル値は、２進／ＲＮＳ変換器Ｄ１００によりＲＮＳ表現Ｄ１０２に変換される（図３を参照のこと）。ＲＮＳサンプル値Ｄ１０２は、その後、所定数の係数を有する離散時間ＲＮＳ  ＦＩＲフィルタＣ１００に入力される。これらの係数の値が、フィルタの利得および位相応答を決めることになる。ＲＮＳ  ＦＩＲフィルタＣ１００は、補間されたタイミングリカバリループＢ１００よりも前にサンプル値を処理するので、タイミングリカバリのレイテンシーに悪影響を与えることなく、そのオーダーを従来技術に比べて大きくする（つまり、フィルタ係数の個数を増やす）ことができる。
【０１４３】
等化の後、ＲＮＳ  ＦＩＲフィルタＣ１００の出力ＹkＤ１０３は、オーバーフローを避けるために、ＲＮＳスケーラＤ１０４によりスケーリングされる。スケーリングされたＲＮＳサンプル値Ｄ１０６は、実質的にボーレートに同期の取られた補間されたＲＮＳサンプル値Ｄ１０８を発生するタイミングリカバリ補間器Ｂ１２２に入力される。補間されたＲＮＳサンプル値Ｄ１０８は、ＲＮＳスケーラＤ１１０により再スケーリングされ、再スケーリングされたＲＮＳサンプル値は、２進表現に再変換される（Ｄ１１２）。補間された２進サンプルＢ１０２は、その後、推定されたサンプル値〜Ｙk+τＢ１４３を発生するスライサＢ１４１（図４Ｂ）に入力される。加算器Ｃ１０２で、推定されたサンプル値〜Ｙk+τＢ１４３が補間されたサンプル値Ｙk+τＢ１０２から減算されることによって、サンプルレートではなくボーレートと同期のとられたサンプル誤差値ｅk+τＣ１０４を発生する。ＬＭＳアルゴリズムは、サンプルレートでサンプル値Ｘkを処理するので、誤差値ｅk+τＣ１０４を、サンプルレートと同期した誤差値ｅkＣ１１２に変換する必要がある。これは、ボーレート誤差値ｅk+τＣ１０４から補間された誤差値ｅkＣ１１２を計算する補間回路Ｃ１０６により実現される。好ましくは、誤差値補間回路Ｃ１０６は、一次線形補間として実現されるが、上述したように、簡単なゼロ次ホールドまたはもっと複雑な補間フィルタでもよい。
【０１４４】
図８Ｃは、誤差値ｅkを発生する別の実施の形態を示している。図示されているように、スライサＢ１４１からの推定された理想のサンプル値〜Ｙk+τが、補間回路Ｃ１０６により補間されることによって、推定された理想のサンプル値〜ＹkＣ１２０を発生する。推定された理想のサンプル値〜ＹkＣ１２０が、（スケーリングＤ１１８し、ＲＮＳサンプルを２進表現に変換したＤ１２０後）等化されたサンプル値Ｙkから減算される（Ｃ１０２）ことによって、誤差値ｅkを発生する。
【０１４５】
図８Ｂおよび図８Ｃの両方の実施形態において、誤差値ｅkＣ１１２は、改良されたＬＭＳ回路Ｃ１１４に入力される。改良されたＬＭＳ回路Ｃ１１４は、以下の数３１に従って更新されたフィルタ係数ＷkＣ１１６を計算する。
【０１４６】
【数３１】
0003948801.tif 000034
【０１４７】
ここで、演算Ｐｖ1ｖ2⊥は、利得およびタイミングループからの干渉を減衰させるために、ＲＮＳ  ＦＩＲフィルタＣ１００の利得および位相応答を制約する直交射影演算である。
【０１４８】
ＬＭＳ回路Ｃ１１４は、２進表現に従って動作する。すなわち、この回路は、Ａ／Ｄ２４により出力された２進サンプル値２５と、計算され、更新された２進係数Ｗk+1Ｃ１１６に対する２進誤差値ｅkＣ１１２とを用いる。レジスタＤ１１４は、更新演算時にラインＣ１１７を介してＬＭＳ回路Ｃ１１４にロードされる２進係数Ｗk+1Ｃ１１７に対する電流値を保持する。更新された２進フィルタ係数Ｗk+1Ｃ１１６は、ＲＮＳ  ＦＩＲフィルタＣ１００により用いられるＲＮＳ表現に変換され（Ｄ１１６）、やはりレジスタＤ１１４に再び格納されて、次の更新演算で用いられる。
【０１４９】
ＦＩＲフィルタＣ１００の利得および位相応答に関して、直交射影演算Ｐｖ1ｖ2⊥を以下に説明する。図９Ａおよび図９Ｂは、本発明によるＦＩＲフィルタＣ１００の利得応答および位相応答の一例をそれぞれ図示している。利得応答および位相応答は、フィルタが記録システムにおけるパラメータ変化に適応していくにつれて、時間の経過とともに変化する。すなわち、フィルタは、チャネルの全体的な周波数応答が、所望のパーシャルレスポンス（ＰＲ４、ＥＰＲ４、ＥＥＰＲ４など）にできるだけ一致するように、その周波数応答を調整する。本発明では、タイミングリカバリおよび利得制御ループからの干渉は、所定の周波数において、直交射影演算Ｐｖ1ｖ2⊥を用いて、ＦＩＲフィルタＣ１００の利得および位相応答を制約することによって減衰させられる。
【０１５０】
図９Ａを参照すると、ＦＩＲフィルタＣ１００の利得（大きさ）応答は、正規化周波数０．５（１／４Ｔｓ）において所定の値（ｇで示されている）に制約されている。同様に、ＦＩＲフィルタＣ１００の位相応答は、図９Ｂに示されているように、正規化周波数０．５においてｋπに制約されている。実際、このように制約しても、利得および位相は、正規化周波数０．５を除くすべての周波数で変化（適応）することができる。これにより、利得およびタイミングループからの干渉を減衰させるように、フィルタの周波数応答を制約することができる。利得制約ｇは、相対的には任意である。ただし、この値は、フィルタ係数のダイナミックレンジを最適化するように選択される。しかし、フィルタの応答を正規化周波数０．５で制約し、位相制約ｋπを選択すると、直交射影演算Ｐｖ1ｖ2⊥の複雑さが緩和され、ゼロ位相スタート回路Ｂ１６３（図４Ｂ）およびシンクマーク検出器６６（図１）の実施の形態が簡略化される。
【０１５１】
前述したように、ゼロ位相スタート回路Ｂ１６３（図４Ｂ）は、Ａ／Ｄ２４のサンプル値２５から初期位相誤差τを計算して、その初期位相誤差をモジュロＴｓアキュムレータＢ１２０にロードすることによって、アクイジションの始めに、補間されたサンプル値と、ボーレートとの間の初期位相誤差を最小化する。初期位相誤差τを計算するためには、ゼロ位相スタート回路Ｂ１６３は、適応等化器フィルタＣ１０３の位相遅延を考慮に入れなければならない。なぜなら、補間されたタイミングリカバリＢ１００は、Ａ／Ｄ２４のサンプル２５ではなく、等化されたサンプルＤ１０６を対象として動作するからである。アクイジションプリアンブル６８（図２Ｂ）が、周波数１／４Ｔ（つまり、正規化された０．５）をもつとき、適応等化器Ｃ１０３の位相応答をプリアンブル周波数（１／４Ｔｓ）において制約すると、アクイジションのあいだは等化器Ｃ１０３の位相遅延は固定される。これにより、ゼロ位相スタート回路Ｂ１６３が、初期位相誤差τを正確に計算できるようになる。さらに、プリアンブル周波数における位相制約は、ｋπに固定されているので、等化器Ｂ１０３の位相遅延は、ゼロまたは１８０゜となる（つまり、初期位相誤差の調整は、必要なくなるか、または符号が変わる）。
【０１５２】
プリアンブル周波数において、適応等化器Ｃ１０３の位相応答をｋπに制約することにより、補間されたタイミングリカバリＢ１００（図４Ｂ）ではなく、従来の同期サンプリングタイミングリカバリ２８（図４Ａ）を用いるサンプリングされた振幅リードチャネルにおいても、シンクマーク検出器６６（図１）の実現形態を簡略化することができる。シンクマーク検出器６６の動作は、「サンプリングされた振幅磁気記録用の改善された欠陥許容シンクマーク検出器」と題された米国特許出願第08/533,797号に詳細に記載されている。この特許出願に記載されているように、シンクマーク検出器６６は、アクイジションプリアンブル６８の終わりと一致するように、かつＡ／Ｄ２４の出力からシンクマーク検出器６６への伝達遅延に比例するようにイネーブルされる。適応等化器の場合、フィルタの位相応答を、例えば本発明による直交射影演算Ｐｖ1ｖ2⊥を用いることによって、アクイジションプリアンブル周波数に制約するようにしなければ、伝達遅延は変化する。
【０１５３】
さて、次に直交射影演算Ｐｖ1ｖ2⊥の詳細な実現形態を説明する。等化器の周波数応答は、以下の数３２のように表される。
【０１５４】
【数３２】
0003948801.tif 000035
【０１５５】
ここで、Ｃkは、等化器のインパルス応答の係数である。プリアンブル周波数（１／４Ｔ）において、等化器の周波数応答は、以下の数３３のように表される。
【０１５６】
【数３３】
0003948801.tif 000036
【０１５７】
ここで、サンプリング周期は、Ｔ＝１に正規化されている。行列形式では、プリアンブル周波数における等化器の周波数応答は、以下の数３４のようになる。
【０１５８】
【数３４】
0003948801.tif 000037
【０１５９】
時間基準をシフトさせると、プリアンブル周波数では、互いに異なるが、機能的には等価である４つの周波数応答（すなわち、［１，−ｊ，−１，ｊ,...］Ｃ、［−ｊ，−１，ｊ，１,...］Ｃ、［−１，ｊ，１，−ｊ,...］Ｃおよび［ｊ，１，−ｊ，−１,...］Ｃ）が得られることは当業者には理解できるだろう。プリアンブル周波数（１／４Ｔ）において等化器Ｃ１０３の位相応答をπの整数倍に制約することは、その周波数応答の虚数成分がゼロであることを意味する。
【０１６０】
【数３５】
0003948801.tif 000038
【０１６１】
もし上述したように周波数応答の虚数成分をゼロに制約すれば、プリアンブル周波数（１／４Ｔ）における等化器の大きさをｇに制約することは、周波数応答の実数成分がｇに等しいことを意味する。
【０１６２】
【数３６】
0003948801.tif 000039
【０１６３】
したがって、等化器の係数Ｃkは、以下の２つの条件を満たすように制約されなければならない。
【０１６４】
【数３７】
0003948801.tif 000040
【０１６５】
これらの制約条件は、改良されたＬＭＳアルゴリズムＣ１１４の一部として、計算された勾配Ｘk・ｅkを直交射影演算Ｐｖ1ｖ2⊥により乗算することにより実現される。
【０１６６】
直交射影演算がどのように作用するかを理解するために、２つの係数（例えば、図１０に示すＣ0およびＣ1）しかもたない等化器を考える。位相制約条件ＣT・Ｖ1＝０は、フィルタ係数のベクトルＣTがＶ1に対して直交しなければならないことを意味している。改良されていないＬＭＳアルゴリズムを用いてフィルタ係数を更新するときには、図１０に示すように、この直交制約は必ずしも満たされない。しかし、本発明では、勾配値Ｘk・ｅkを射影演算Ｐｖ1⊥により乗算することによりＶ1に直交する部分空間＜Ｃ＞にフィルタ係数を制約する。ここで、射影演算Ｐｖ1⊥の零空間は、＜Ｃ＞に直交している。更新された係数は、図１０に示すように、改良されていないＬＭＳアルゴリズムから得られた係数に最も近い直交部分空間＜Ｃ＞上の一点に対応している。
【０１６７】
位相制約射影演算Ｐｖ1⊥と同様に、第２の直交射影演算Ｐｖ2⊥もまた、係数ベクトルＣTが上記利得制約ＣT・Ｖ2＝ｇを満たすように、フィルタ係数を制約する。組み合わされた直交射影演算Ｐｖ1ｖ2⊥は、Ｎ次元部分空間（ここで、Ｎはフィルタ係数の個数である）における２度の自由度を排除する（すなわち、直交射影演算Ｐｖ1ｖ2⊥は、ランクがＮ−２である）。
【０１６８】
Ｖ1およびＶ2についての直交射影演算は、以下のように計算されうる。
【０１６９】
【数３８】
0003948801.tif 000041
【０１７０】
ここで、Ｐｖ1ｖ2⊥＝Ｐｖ1⊥・Ｐｖ2⊥である。なぜなら、Ｖ1はＶ2に直交するからである。１０個のフィルタ係数を含む等化器について上記方程式を用いて計算された直交射影演算Ｐｖ1ｖ2⊥は、以下の行列となる。
【０１７１】
【数３９】
0003948801.tif 000042
【０１７２】
上記行列Ｐｖ1ｖ2⊥は、５によりスケーリングされた（５により乗算された）直交射影行列である。よって、この行列は、整数値の因数を含んでいる。これにより、ＬＭＳ更新演算におけるＸk・ｅkによる乗算を簡単にすることができる。
【０１７３】
【数４０】
0003948801.tif 000043
【０１７４】
スケーリングファクタは、利得値μを選択する際に考慮に入れられる。正規化周波数０．５において利得をｇに制約し、位相をｋπに制約することによって、直交射影行列Ｐｖ1ｖ2⊥をより簡単に実施することができる。なぜなら、全因数の半分はゼロであり、残りの半分は、＋１、−１あるいは＋４のいずれかであるからである。よって、射影行列Ｐｖ1ｖ2⊥に勾配値Ｘk・ｅkを乗算するためには、シフトレジスタと加算器とが必要になるだけである。
【０１７５】
図８Ｂに示されているＡＣＱ／ＴＲＫ信号は、アクイジションのあいだ（つまり、図２Ｂに示すアクイジションプリアンブル６８を獲得するあいだ）ＦＩＲフィルタの適応づけをディセーブルする。よって、適応等化器Ｃ１０３は、アクイジションプリアンブル６８を獲得した後になってはじめてＬＭＳ適応づけアルゴリズムを実行する。
【０１７６】
（コストの低減された直交制約行列）
上記直交射影行列Ｐｖ1ｖ2⊥は、その半分の因数がゼロであるという簡単な構造を有してはいるものの、Ｐｖ1ｖ2⊥・（Ｘk・ｅk）を計算するのに必要なシフト演算および加算演算の回数が膨大なものになるので、それをそのまま実施することは、コスト的には有利ではない。コストを下げ、複雑さを緩和するために、本発明の別の実施の形態では、図１１Ａ、図１１Ｂ、図１１Ｃおよび図１１Ｄに図示されているように、改良されたＬＭＳ適応づけアルゴリズムＣ１１４を間引きする。
【０１７７】
詳細な動作を説明する前に、図１１Ａの回路に関する数学的原理について述べる。数３８を再び参照すれば、
【０１７８】
【数４１】
0003948801.tif 000044
【０１７９】
上記Ｖ1およびＶ2ベクトルをＮ×２行列と組み合わせることによって、
【０１８０】
【数４２】
0003948801.tif 000045
【０１８１】
（時間基準をシフトすれば、Ｖ行列に対して４つの選択可能な行列ができることは当業者には理解できるだろう）、数３８の演算（ＶxTＶx）-1は、
【０１８２】
【数４３】
0003948801.tif 000046
【０１８３】
となる。よって、数３８は、
【０１８４】
【数４４】
0003948801.tif 000047
【０１８５】
のように解かれる。数４４の両辺に５を乗算すると、
【０１８６】
【数４５】
0003948801.tif 000048
【０１８７】
となる。ここで、再び数４０を参照すると、
【０１８８】
【数４６】
0003948801.tif 000049
【０１８９】
Ｘk・ｅk＝ｇkとすることにより、数４０は、
【０１９０】
【数４７】
0003948801.tif 000050
【０１９１】
のように解かれる。δ＝ｖT・ｇkと規定すると、
【０１９２】
【数４８】
0003948801.tif 000051
【０１９３】
すなわち、δ0＝ｇ0−ｇ2＋...およびδ1＝−ｇ1＋ｇ3−...とすると、ｖｖT・ｇkを計算し
【０１９４】
【数４９】
0003948801.tif 000052
【０１９５】
かつ５・ｇk−ｖｖT・ｇkを計算すれば、
【０１９６】
【数５０】
0003948801.tif 000053
【０１９７】
となる。
【０１９８】
図１１Ａは、上記数４８、数４９、数５０そして最後に数４０を実行することによって、本発明による改良されたＬＭＳ適応づけアルゴリズムに従って等化器フィルタＣ１００の係数を更新する。実施コストをさらに低くするために、図１１Ａの回路は、適応アルゴリズムをフィルタ係数の個数（ここで説明されている例では１０）で間引きする。すなわち、適応づけアルゴリズムは、１個１個のサンプル値を処理するのではなく、１０番目ごとのサンプル値だけを対象として処理し、１クロック周期につき１個のフィルタ係数だけを更新する。このことは、数４７を展開すれば説明される。
【０１９９】
【数５１】
0003948801.tif 000054
【０２００】
ここで、ｋ＋ｉはクロック周期であり、かつ、ｇ(i)j＝Ｘi-j・ｅiである。よって、それぞれのクロック周期において、次の勾配値ｇ(i)jは、１０番目のクロックサイクルごとにラッチされたサンプル値に次の誤差値ｅiを乗算することにより計算される。そして、新しい勾配ｇ(i)jは、数５１の対応するフィルタ係数Ｗ(i)jを更新するために用いられる。
【０２０１】
さて図１１Ａに示されている回路を参照すると、サンプル値Ｘkは、離散時間等化器フィルタＣ１００に入力され、等化されたサンプル値は、図８Ｂに示すものと同様の補間器Ｂ１２２に入力される。シリアル／パラレル回路Ｃ１４０は、補間されたサンプル値Ｙk+τを偶数および奇数のサブシーケンスＹ2k+τおよびＹ(2k-1)+τに変換する。ここで、表記２ｋは、２つの新たに補間されたサンプル値が、１つおきのサンプル周期においてシリアル／パラレル回路Ｃ１４０から出力されることを示す。スライサＣ１４２は、対応する偶数および奇数の推定されたシーケンス〜Ｙ2k+τおよび〜Ｙ(2k-1)+τを発生する。これらのシーケンスが、それぞれの加算器（Ｃ１４４1、Ｃ１４４2）において、補間されたサンプル値から減算されることによって、偶数および奇数のサンプル誤差シーケンスｅ2k+τおよびｅ(2k-1)+τをつくる。誤差値補間回路Ｃ１４６は、図８Ｂの回路と同様に、Ａ／Ｄのサンプルレートと同期のとられた偶数および奇数のサンプル誤差シーケンスｅ2kおよびｅ(2k-1)を発生する。
【０２０２】
前述したように、図１１Ａの回路は、本発明の適応づけアルゴリズムを、等化器フィルタＣ１００の係数の個数で間引きする。ここで説明されている例では、等化器フィルタＣ１００は、１０個のフィルタ係数を有している。よって、１０／１に間引く回路Ｃ１４８は、１０番目のサンプル周期ごとにサンプル値を遅延レジスタＣ１５０にロードする。その後、遅延レジスタＣ１５０の出力は、Ｘ2k-2j-1と表される。ここで、１つおきのサンプル周期ごとに２すづインクリメントされるｊ＝１→５である。遅延レジスタＣ１５０の出力Ｘ2k-2j-1が、乗算器（Ｃ１５２1、Ｃ１５２2）においてサンプル誤差ｅ2kおよびｅ(2k-1)によりそれぞれ乗算されることによって、数４７で用いられる勾配値ｇ2jおよびｇ2j-1をつくる。
【０２０３】
勾配値ｇ2jおよびｇ2j-1は、それから、シフトレジスタ（Ｃ１５４1、Ｃ１５４2）にそれぞれシフトされる。数５０を実施するために、勾配値ｇ2jおよびｇ2j-1は、それぞれ交互に±１で乗算され（Ｃ１５６1、Ｃ１５６2）、アキュムレータ（Ｃ１５８1、Ｃ１５８2）にそれぞれアキュムレートされる。各アキュムレータ（Ｃ１５８1、Ｃ１５８2）に５つの勾配値をアキュムレートした後、これらのアキュムレータの出力は（数４５のδ0およびδ1を表す）は、１／５に間引く回路（Ｃ１６０1、Ｃ１６０2）によりそれぞれラッチされ、アキュムレータ（Ｃ１５８1、Ｃ１５８2）はリセットされる。その後、値δ0およびδ1は、それぞれ交互に±１で乗算され（Ｃ１６２1、Ｃ１６２2）、数４９を実施する。シフトレジスタ（Ｃ１５４1、Ｃ１５４2）の出力における勾配値ｇ2jおよびｇ2j-1が５で乗算され（Ｃ１６４1、Ｃ１６４2）、値δ0およびδ1が加算器（Ｃ１６６1、Ｃ１６６2）においてそこから減算されることによって、数５０を実施する。
【０２０４】
適応更新アルゴリズムを終了する（つまり、数５１を実施する）ために、加算器（Ｃ１６６1、Ｃ１６６2）の出力は、利得係数μでスケーリングされる（Ｃ１６８1、Ｃ１６８2）。利得係数μは、アップスケーリングされた射影演算子を表現する（account for）ために、５分の１に減らされる。利得係数μの出力（Ｃ１６８1、Ｃ１６８2）は、加算器（Ｃ１７０1、Ｃ１７０2）において、レジスタのバンク（Ｃ１７４1、Ｃ１７４2）からマルチプレクサ（Ｃ１７２1、Ｃ１７２2）により選択された対応するフィルタ係数（Ｗ2j-1、Ｗ2j）から減算される。ＡＤＡＰＴ2j信号は、更新するためにレジスタのバンク（Ｃ１７４1、Ｃ１７４2）から２ｊ番目の係数を選択する。更新値を減算した後、更新されたフィルタ係数（Ｃ１７６1、Ｃ１７６2）は、レジスタのバンク（Ｃ１７４1、Ｃ１７４2）へと復元され、次のクロック周期のあいだ、等化器フィルタＣ１００によって、その更新されたスペクトルに従ってサンプル値を等化するのに用いられる。
【０２０５】
図１１Ａに示すように、更新アルゴリズムをフィルタ係数の個数で間引きすることによって、実施の複雑さを緩和することはできるが、等化器フィルタＣ１００が最適な設定値に収束するのが遅くなるという代償を払わなければならない。これは、間引きされた更新アルゴリズムが、勾配ｇjの計算にすべてのサンプル値を用いるわけではないからである。図１１Ｂおよび図１１Ｃは、本発明による間引きされた更新アルゴリズムの別の実施の形態を示している。この実施の形態では、勾配ｇjを計算するのに、もっと多くのサンプル値が用いられる。これにより複雑さは増してしまうが、等化器フィルタＣ１００の収束が速くなるので、パフォーマンスは改善される。
【０２０６】
図１１Ｂの回路は、いくつかのサンプル値にわたって平均された勾配ｇ2j-1およびｇ2jをそれぞれ計算する勾配平均化回路（Ｃ１７６1、Ｃ１７６2）を追加して設けることを別にすれば、上述した図１１Ａの回路と同様に動作する。
【０２０７】
【数５２】
0003948801.tif 000055
【０２０８】
ここで、Ｎは、等化器フィルタのタップ数から選択されたサンプル値の所定の数である。ある実施の形態では、すべてのサンプル値を用いることができる（すなわち、サンプル値の個数は、フィルタタップの個数に等しくなる）。別の実施の形態では、複雑さおよびコストを低減するために、間引きされた個数のサンプル値を用いることができる。
【０２０９】
図１１Ｃは、サンプル値の個数が１／２に間引きされる、勾配平均化回路（Ｃ１７６1、Ｃ１７６2）の実施形態を示している。すなわち、１０個の等化器フィルタタップに対応する１０個のサンプル値のうち５個のサンプル値が、平均された勾配ｇ2j-1およびｇ2jを計算するのに用いられる。
【０２１０】
動作時には、図１１Ｂの１／２に間引く回路Ｃ１７８は、遅延レジスタＣ１５０に１つおきのサンプル値を格納する。遅延レジスタＣ１５０の出力は、誤差値ｅ2kおよび誤差値の遅延されたバージョンであるｅ2k-nにより乗算され（Ｃ１８０1〜Ｃ１８０5）、その結果はアキュムレータ（Ｃ１８２1〜Ｃ１８２5）にアキュムレートされる。５つの勾配をアキュムレートした後、アキュムレータ（Ｃ１８２1〜Ｃ１８２5）の内容は、レジスタ（Ｃ１８４1〜Ｃ１８４5）に転送され、アキュムレータ（Ｃ１８２1〜Ｃ１８２5）はクリアされる。そして、１つおきのサンプル周期ごとに、レジスタ（Ｃ１８４1〜Ｃ１８４5）の内容は、左から右にシフトされる（つまり、Ｃ１８４5＝Ｃ１８４4、Ｃ１８４4＝Ｃ１８４3など）。すると、レジスタＣ１８４5の出力は、勾配平均化回路（Ｃ１７６1、Ｃ１７６2）により出力される平均された勾配ｇ2jとなる。平均された勾配ｇ2およびｇ2j-1（Ｃ１８６1、Ｃ１８６2）は、それから、図１１Ａを参照して説明したのと同様に回路Ｃ１８８を用いて等化器フィルタＣ１００の係数を更新するのに用いられる。
【０２１１】
図１１Ｄは、本発明によるさらに別の実施の形態を図示している。この実施の形態では、偶数および奇数のフィルタ係数をシーケンシャルに更新することによって、図１１Ａの場合と比べて、コストおよび複雑さをさらに低減することができる。すなわち、最初のＮ周期のあいだ（ここで、Ｎは、フィルタ係数の個数である）、図１１Ｄの回路は、偶数フィルタ係数（Ｗ0、Ｗ2、Ｗ4、...）について数５２の係数更新値を計算する。その後、次のＮサンプル周期のあいだ、この回路は、奇数フィルタ係数（Ｗ1、Ｗ3、Ｗ5、...）について更新値を計算する。間引き回路Ｃ１９０は、誤差値ｅkを１／２に間引きする。よって、更新値の計算には、図１１Ａの回路のおよそ半分が用いられることになる。１／２に間引く回路Ｃ１９０の出力は、実際にはあいだがとばされる。すなわち、この回路は、まずｋ＝０、ｋ＝２、ｋ＝４、ｋ＝６、ｋ＝８に対応する誤差値を出力した後、ｋ＝９、ｋ＝１１、ｋ＝１３、ｋ＝１５、ｋ＝１７に対応する誤差値を出力する（ただし、適応フィルタＣ１００は、１０個のフィルタタップを有するものとする）。図１１Ｄは、図８Ｂおよび図８ＣのＲＮＳ／２進変換器Ｄ１１６と、ＲＮＳＦＩＲフィルタＣ１００により用いられるＲＮＳフィルタ係数を格納するレジスタＤ１２２とを図示している。
【０２１２】
数学的には、図１１Ｄの更新回路の動作は、以下の数５３のように記述される。
【０２１３】
【数５３】
0003948801.tif 000056
【０２１４】
ここで、適応フィルタＣ１００は、１０個のフィルタタップを有するものとする。
【０２１５】
図１１Ｄの実施形態では、収束速度が低下するので、適応フィルタＣ１００のパフォーマンスも低下するのは明らかである。しかし、図１１Ｃの勾配平均化回路は、図１１Ｂの実施形態と同様に、図１１Ｄの回路のパフォーマンスを改善するのにも用いることができる。よって、図１１Ａ〜図１１Ｄの実施形態では、パフォーマンスと、コストおよび複雑さとの間の関係は可変である。つまり、ユーザの要求に応じて、好ましい構成が選択されることになる。
【０２１６】
（剰余数方式）
図１に示す従来のサンプリングされた振幅リードチャネルの等化器２６内で用いられるＦＩＲフィルタは、従来の２進記数方式によって動作する。図３に示す本発明において、適応等化器Ｃ１０３内のＬＭＳ  ＦＩＲフィルタおよび補間されたタイミングリカバリＢ１００内の時間変化ＦＩＲフィルタは、上記したように、剰余数方式ＲＮＳ（以下、ＲＮＳと呼ぶ）に従って実行される。ＲＮＳは、２進記数方式とは対照的に、演算を行うために桁間のキャリーが不要であるため、乗算、加算および減算の速度を大幅に上昇させる。さらに本発明は、電力消費を最小にするためにＲＮＳ方式において「ワンホット」符号化を採用している。
【０２１７】
ＲＮＳ表現の場合、ある数Ｘは、以下のように、それぞれ範囲が限定された複数の桁によって表される。
【０２１８】
【数５４】
0003948801.tif 000057
【０２１９】
但し、
Ｘ＝整数
であり、ｘma、ｘmb、．．．、ｘmNは、整数ＸをＲＮＳ表現した場合のそれぞれの桁である。また、
ｘma＝Ｘｍｏｄ（ｍa）＝（Ｘをｍaで割った余り）
であり、この余りはｍaよりも小さい。また、
ｘmb＝Ｘｍｏｄ（ｍb）＝（Ｘをｍbで割った余り）
である（Ｘmc以降も同様）。さらに、ｍa、ｍb、．．．、ｍNは、整数ＸをＲＮＳ表現したときの各桁に関連するモジュラス(整数)であり、各モジュラスの値は異なる。
【０２２０】
これらのモジュラスが互いに素である場合、即ち、どのモジュラスでも割り切れる最小の数が全モジュラスの積に等しい場合、任意のＲＮＳ形式Ｘ＝ｘma、ｘmb、．．．、ｘmNで個別に表現できる数の範囲はｍa＊ｍb＊．．．＊ｍNである。ここでは、１つのモジュラスが繰り返して用いられることはないものとしている。但し、偶数や完全平方の可能性を排除するものではない。例えば、３、４、５の場合、４は偶数且つ完全平方であるが、３、４、５の全てで割り切れる最小の数は６０であるから、３、４、５は互いに素である。
【０２２１】
上記方法の一例として、表３に示されるＲＮＳの例について考察を行う。この例では、各整数は３つのＲＮＳ桁ｘ3、ｘ5、ｘ7によってＲＮＳ表現される。各桁の添字は関連するモジュラスの値である。この３、５、７ＲＮＳでは、３＊５＊７＝１０５個の個別の整数を区別することができる。表３から分かるように、０〜１０４の範囲内ではＲＮＳ表現の繰り返しはないが、この範囲を１０５以上に拡張する場合には、このシーケンス全体が繰り返される。
【０２２２】
【表３】
0003948801.tif 000058
【０２２３】
ＲＮＳ方式の動作の例として、整数１４を考える。ｘ3桁は、１４ｍｏｄ（３）＝余り２（即ち、１４／３＝４余り２）、ｘ5桁は、１４ｍｏｄ（５）＝余り４（即ち、１４／５＝２余り４）、ｘ7桁は、１４ｍｏｄ（７）＝余り０（即ち、１４／７＝２余り０）である。ＲＮＳ表現においては、どの桁も他の桁を参照せずに決定される。
【０２２４】
この３、５、７ＲＮＳ表現を用いて１０５〜２０９の数を個別に表すこともできる。しかし、１０５〜２０９の範囲の中の任意の２数の加算、減算および乗算の結果はいずれも１０５〜２０９の範囲外の値になってしまう。そのような場合、本発明のスキームをデジタル信号処理に使用できなくなる。しかし、デジタル信号処理に関して特に注目すべきことは、負の数の導入である。負の数を導入する際には、ＲＮＳ方式で表現可能な数の範囲を制限して、正と負の数が同数あるいは実質的に同数になる様に選択し、処理されるほとんどの信号の平均値が実質的に０となるようにあるいは０にできるようにする。このような３、５、７ＲＮＳ方式の割り付けの一例を表４に示す。このＲＮＳによっても、−５２〜＋５２の１０５個の数が個別に表現できる。但し、５３以上および−５３以下では、表現が繰り返される。また、ＲＮＳにおいては、数の正負に応じて別の符号を付けるのではなく、ＲＮＳの方式および範囲を選択した時点で、それらの桁自身によって符号が決まる。最後に、ある整数をＲＮＳ形式で表した場合、その整数に対するＲＮＳ表現の桁が１つでも欠けていれば、その整数の符号さえも決定できなくなる。
【０２２５】
【表４】
0003948801.tif 000059
【０２２６】
ＲＮＳ加算を行う場合、２つのＲＮＳ数の対応するＲＮＳ桁同士を加算し、それぞれの和に適切なモジュロ演算を行う。
【０２２７】
【表５】
0003948801.tif 000060
【０２２８】
ここで、３ｍｏｄ（３）＝０且つ７ｍｏｄ（５）＝２である。よって、和３７５の（当該ＲＮＳ方式による）ＲＮＳ数は０２５となる。これは、整数１２を表している（表４参照）。
【０２２９】
減算についても同じ手順で行うが、「残差」にモジュラスを加えて「残差」を０〜（各モジュラス−１）の範囲内の値にする必要がある。
【０２３０】
【表６】
0003948801.tif 000061
【０２３１】
ここで、適切なモジュラス７を−５に加えると、「残差」は２となる。よって、＋８から＋１３を引いた（当該ＲＮＳ方式による）ＲＮＳ数は１０２となる。これは、整数−５を表している（表４参照）。
【０２３２】
負の数を扱う加算の場合も、正の数の加算と同様の手順で行う。
【０２３３】
【表７】
0003948801.tif 000062
【０２３４】
ここで、４ｍｏｄ（３）＝１且つ５ｍｏｄ（５）＝０である。よって、＋８に−１３を加えた（当該ＲＮＳ方式による）ＲＮＳ数は１０２となる。これも、整数−５を表している（表４参照）。
【０２３５】
最後に、乗算を行う場合について、以下の例を考える。
【０２３６】
【表８】
0003948801.tif 000063
【０２３７】
ここで、１２ｍｏｄ（７）＝５である。よって、（−３）＊（−４）の（当該ＲＮＳ方式による）ＲＮＳ数は０２５となる。これも、整数１２を表している（表４参照）。
【０２３８】
上記のように、あるＲＮＳ方式を用いて、そのＲＮＳ形式で表現された正負の数に対して加算、減算および乗算を行うことが可能であることが分かる。ここで最も注目すべき点は、他のＲＮＳ桁の演算結果を参照することなく、各ＲＮＳ桁について演算が独立して行われることである。ＲＮＳ計算の高速性は、演算の際に「キャリーが不要」である性質に起因する。一方、従来の計算方法で乗算、加算あるいは減算を行う場合、ある桁の演算結果は、それより下位の桁の演算結果が出るまで最終決定できない。
【０２３９】
また、ある限定条件の下に、ＲＮＳ方式を用いて除算を行うことも可能である。以下に、ＲＮＳ方式による除算の原則を説明する。ある整数ＸをＲＮＳ表現した場合の１つの桁ｘについて、
【０２４０】
【数５５】
0003948801.tif 000064
【０２４１】
但し、
ｍ＝当該桁のモジュラス（正の整数）、
Ｎ＝整数（Ｘが負の場合、負の整数となる）、
ｘ＝当該ＲＮＳ桁の値（Ｘからｍ＊Ｎを引いた余りであり、０≦ｘ≦ｍ−１）
である。
【０２４２】
すべての独立ＲＮＳ桁について、その桁自身の値であるｘだけが分かっている。１つの桁だけのｘが分かっていても、その桁のＸあるいはＮは分からない。
【０２４３】
Ｘについての上記等式は、以下に示すように多様な書き方ができる。
【０２４４】
【数５６】
0003948801.tif 000065
【０２４５】
但し、ｎ＝任意の正の整数である。
【０２４６】
以下に示す２つの条件が満たされる場合には、各ＲＮＳ桁毎の除算を行うことができる。（この２つの条件を満たすかどうかについては、以下で、場合に応じて説明する）。
【０２４７】
１）Ｘが整数の除数ｄによっても割り切れること（余り＝０）。この場合、明らかにＸ／ｄは整数であり、Ｘと同じＲＮＳ方式を用いてＲＮＳ形式で表現できる。
【０２４８】
２）除数および各ＲＮＳ桁のモジュラスは互いに素であること。
【０２４９】
Ｘについての上記の等式を用いれば、以下の等式のいずれかによってＸ／ｄを従来の記数方式で表現することが可能である。
【０２５０】
【数５７】
0003948801.tif 000066
【０２５１】
ここで、もし、（ｘ＋ｎ＊ｍ）／ｄが整数となるようなｎの値が存在するならば、Ｘ／ｄも整数であるから、ｍ＊（Ｎ−ｎ）／ｄは整数である。よって、ｍ＊（Ｎ−ｎ）は因数ｄを必ず含む。ｍはｄに対して素であると仮定しているので、（Ｎ−ｎ）は因数ｄを必ず含み、よって、（Ｎ−ｎ）／ｄも同様に整数である。
【０２５２】
さらに、唯一の値ｎについて（ｘ＋ｎ＊ｍ）／ｄが０〜（ｍ−１）の範囲の整数であれば、Ｘ／ｄ＝ｍ＊（Ｎ−ｎ）／ｄ＋（ｘ＋ｎ＊ｍ）／ｄは以下の等式の形をとる。
【０２５３】
【数５８】
0003948801.tif 000067
【０２５４】
但し、Ｎd＝（（Ｘ／ｄ）／ｍの整数値）＝（Ｎ−ｎ）／ｄ、
ｘd＝（ｘ＋ｎ＊ｍ）／ｄ＝（Ｘ／ｄのＲＮＳ表現における当該ＲＮＳ桁の値）
である。
【０２５５】
ｍ、ｄが互いに素であれば、証明を行わなくとも、（ｘ＋ｎ＊ｍ）／ｄが０〜（ｍ−１）の範囲の整数となるような唯一の値ｎが存在すると言える。
【０２５６】
以下に例を示して、ｄで割り切れる数ＸをＲＮＳ表現したときのモジュラスが５である桁（以下、「モジュラス５ＲＮＳ桁」）について考える。まず、５６÷７＝８の場合を考える。５６のモジュラス５ＲＮＳ桁ｘの値は１であり、８のモジュラス５ＲＮＳ桁ｘdの値は３である。よって、ｘ＝１であり、ｘdは３となるはずである。ｘからは分からないが、Ｎ＝（５６／５の整数値）＝１１である。ｎ＝０〜４の範囲においてｘd＝（ｘ＋ｎ＊ｍ）／ｄがとり得る値、およびＮd＝（Ｎ−ｎ）／ｄがとり得る値を以下の表９に示す。
【０２５７】
【表９】
0003948801.tif 000068
【０２５８】
上記の例では、５６を７で割る場合のみを示したが、数Ｘが７で割り切れ且つそのモジュラス５ＲＮＳ桁が１である場合、いかなる数Ｘについても表９の第２欄および第３欄は同じである。モジュラス５ＲＮＳ桁を持つどのＲＮＳ方式においても、７で割り切れる数ＸをＲＮＳ表現した場合のモジュラス５ＲＮＳ桁の値が１である場合、Ｘ÷７の演算結果をＲＮＳ表現したときのモジュラス５ＲＮＳ桁の値は常に３である。Ｘのモジュラス５ＲＮＳ桁の値が他の値、０、２、３、４（それぞれｘd＝０、１、４、２に対応）のいずれかである場合も、同じ手順で、Ｘ／７のモジュラス５ＲＮＳ桁の値を求めることができる。
【０２５９】
無論、除数と各桁のモジュラスとが互いに素であり且つＸ／ｄが整数であることが分かっている場合、一般の除算にも、この方法を容易に拡張できる。また、この方法は負の数についても適用可能である。例えば、−４９÷７の場合を考える。−４９のモジュラス５ＲＮＳ桁も１である。よって、前記と同様に、演算結果をＲＮＳ表現したときのモジュラス５ＲＮＳ桁の値は３である。これは、−７をＲＮＳ表現したときのモジュラス５ＲＮＳ桁と同じである。
【０２６０】
以下に示すように、ｄの「乗法的逆数(multiplicative inverse)」と呼ばれる数をｘに掛けるＲＮＳ乗算を用いてｘdを直接求めることも可能である。（ｘ＋ｎ＊ｍ）／ｄ＝ｘdであるので、
【０２６１】
【数５９】
0003948801.tif 000069
【０２６２】
となり、この等式の両辺にある整数Ｉdmをかけると、
【０２６３】
【数６０】
0003948801.tif 000070
【０２６４】
となる。ここで、両辺のｍｏｄ（ｍ）をとると、
【０２６５】
【数６１】
0003948801.tif 000071
【０２６６】
となる。
【０２６７】
上記等式の左辺のｎ＊ｍ＊Ｉdm項はモジュラスｍの整数倍であるので、このｎ＊ｍ＊Ｉdm項を落とすことができる。さらに、右辺に対してさらにｍｏｄ（ｍ）演算を行っても結果は変わらないので、
【０２６８】
【数６２】
0003948801.tif 000072
【０２６９】
となる。
【０２７０】
もし、
【０２７１】
【数６３】
0003948801.tif 000073
【０２７２】
となるような整数Ｉdmを求めることができれば、
【０２７３】
【数６４】
0003948801.tif 000074
【０２７４】
となる。
【０２７５】
この場合、Ｉdmは、モジュラスｍについてのｄの乗法的逆数である。ｄがｍに対して素であれば、乗法的逆数（以下、ｄm-1と表記する）が存在する（ここでは証明は行わない）。
【０２７６】
モジュラスｍについてのｄの乗法的逆数ｄm-1を求める際に、下記に示す整数ｄm-1を全整数から検索する必要はない。
【０２７７】
【数６５】
0003948801.tif 000075
【０２７８】
もし、ｄm-1が存在するならば、
【０２７９】
【数６６】
0003948801.tif 000076
【０２８０】
もまた真である。
【０２８１】
ｄｍｏｄ（ｍ）が与えられれば、１〜（ｍ−１）の範囲を検索するだけでモジュラスｍについてのｄの逆数（逆数は０ではあり得ない）を求めることができる。
【０２８２】
ｄｍｏｄ（ｍ）＝０である場合、乗法的逆数は求められない。無論、ｄｍｏｄ（ｍ）＝０の場合、ｄとｍとは互いに素ではなくなり、上記除法の２条件の一方は満たされていない。
【０２８３】
上述の通り、あるｄという数によって除算を行う代わりに、ｄの乗法的逆数であるｄm-1を用いて乗算を行うことが可能である。乗法的逆数について説明するために、あるＲＮＳ数のモジュラス５桁について、１３による除算を考える。モジュラス５桁の値は０、１、２、３あるいは４である。１３による除算を行う前記第１の方法を用いて、当該ＲＮＳ桁の値にモジュラス５を繰り返し加えて１３で割り切れる和を得ることが可能である。この観点から、以下の表１０に示される様にさらに１３で割り切れて０、１、２、３あるいは４の結果を生じるような数は１つしかない。
【０２８４】
【表１０】
0003948801.tif 000077
【０２８５】
しかしながら、モジュラス５桁の値を２倍しても同じ結果となる。よって、モジュラス５桁に関して、１３による除算は２による乗算と同じである。等式
【０２８６】
【数６７】
0003948801.tif 000078
【０２８７】
である。
【０２８８】
ＲＮＳ方式の加算、減算および乗算については、キャリーが不要であるため簡単且つ高速に実行できる。しかし、２進記数方式では簡単且つ高速に行えるのにＲＮＳ方式では面倒になる演算もある。例えば、２進方式による打ち切り(truncation)は、打ち切る数の最下位桁（最小重み桁）を単に落とすだけの演算であるのに、ＲＮＳ方式の各桁は相対的な重みを持たないため、打ち切りを行う際には問題が伴う。
【０２８９】
その他、除算、スケーリング(scaling)（固定因数による除算）、符号検出、比較およびダイナミックレンジの拡張(dynamic range extension)等もＲＮＳ記数方式では困難な演算である。これらは２進数を用いれば簡単な演算であるので、ＲＮＳ形式の数を２進数に一旦変換し、その２進数に対して演算を行い、その後必要に応じてＲＮＳ形式の数に再変換するという方法が、原理的には可能である。（比較および符号検出はその結果もそれら自身となるため、演算を行ったＲＮＳ数をＲＮＳ形式で保存しておいて後で用いてもよい。）しかし、ＲＮＳ表現された数を変換する場合、２進表現よりも、関連混合基数(Associated Mixed Radix)（以下、ＡＭＲ）表現の方が、対応する数がより自然に求められる。
【０２９０】
２進数あるいは１０進数と同様に、混合基数方式による数は、相対的に重みが異なる桁によって表現される。しかし、２進数あるいは１０進数と異なる点は、ある桁の重みが１つ下位の桁の重みの固定倍数（「基数」）ではないことである。
【０２９１】
１０進数の基数は１０である。最下位桁は０〜９の範囲の値を取る。１つ上位の桁も０〜９の値を取るが、この桁の重みは１０である。もう１つ上位の桁の重みは１００となり、１つ下位の桁の重みの１０倍である（以降の桁についても同様）。２進数の基数は２である。最下位の２進桁は０〜１の値を取る。１つ上位の２進桁も０〜１の値を取るが、この桁の重みは２である。もう１つ上位の桁の重みは４となり、１つ下位の桁の重みの２倍である（以降の桁についても同様）。
【０２９２】
混合基数方式の場合、基数が桁毎に異なる。まず、正の数のみを考えると、最下位桁は０〜（ｐ−１）の値を取る。その１つ上位の桁の重みは「ｐ」であるが、この桁は０〜（ｑ−１）の値を取る（ただし、一般に、「ｑ」は「ｐ」に等しくない）。次の桁における重みは、この桁の重み＊「ｑ」（即ち、「ｐ」＊「ｑ」）であり、そのとり得る値の範囲は、０〜「また別の最大値」、となる。
【０２９３】
ここで、整数Ｘを混合基数表現したときの基数と、整数ＸをＲＮＳ表現したときのモジュラスｍ1、ｍ2、．．．とを等しくした場合（即ち、「関連」させた混合基数表現）に注目したい。最下位桁がとり得る値の範囲は０〜（ｍ1−１）（但し、ｍ1はＲＮＳモジュラスの１つ）である。尚、以下の記載において、表現方法が変わっていることに留意されたい。以下、添字は、モジュラスの値を示すものではなく、単に、ＲＮＳ表現の桁を区別するだけのものである。次のＡＭＲ桁の重みはｍ1であり、その値の範囲は０〜（ｍ2−１）である（以降の桁についても同様）。よって、整数ＸをＡＭＲ形式で表現すると以下のようになる。
【０２９４】
【数６８】
0003948801.tif 000079
【０２９５】
但し、ａ1、ａ2、．．．は各ＡＭＲ桁の値である。ここで、ＡＭＲ表現によって表現される数Ｘの範囲は、ＲＮＳ表現によって表現される数Ｘの範囲と同じである。例えば、４つのＡＭＲ桁（ａ1、ａ2、ａ3、ａ4）を想定した場合、Ｘの範囲は、０〜Ｘmaxとなる。但し、
【０２９６】
【数６９】
0003948801.tif 000080
【０２９７】
である。
【０２９８】
ＡＭＲ桁ａ1、ａ2、．．．の値は、以下の方法を用いて、ＸのＲＮＳ表現から得ることができる。
【０２９９】
ここで、モジュラスｍ1、ｍ2、．．．、ｍNに対してｘ1、ｘ2、．．．、ｘNとＲＮＳ表現される整数Ｘを考えると、Ｘは、
【０３００】
【数７０】
0003948801.tif 000081
【０３０１】
とも表現される。但し、ａ1、ａ2、．．．はｘ1、ｘ2、．．．の関数である。
【０３０２】
上記等式の両辺のｍｏｄ（ｍ1）をとると、
【０３０３】
【数７１】
0003948801.tif 000082
【０３０４】
となる。
【０３０５】
すると、上記等式の左辺は、単に、ｘ1となる。またｍ1は上記等式の右辺の第１項を除く全ての項の因数であるので、第１項を除くこれら全ての項を落とすことができる。よって、
【０３０６】
【数７２】
0003948801.tif 000083
【０３０７】
である。
【０３０８】
ここで、ＲＮＳ減算によってＸからａ1を引いて、ＲＮＳ除算によってその減算の結果をｍ1で割ると、その結果Ｘ’はＲＮＳ形式で以下のように表される。
【０３０９】
【数７３】
0003948801.tif 000084
【０３１０】
Ｘからａ1を引くことによって、ＸのＲＮＳ表現に使用したｘ1桁の値が０になる。これは、演算結果Ｘ−ａ1がｍ1でさらに割り切れることを意味する。よって、Ｘ’はＲＮＳ形式で表現可能な整数である。また、除数ｍ1はそれ以外の全てのモジュラスに対して素である。従って、有効なＲＮＳ除算のための上記２条件は第１の桁を除く全ＲＮＳ桁について満たされたことになる。幸いなことに、第１の桁が割り切れなくても問題はない。なぜなら、演算結果のとり得る値の範囲は縮減されるので、残りの桁だけで個別に表現可能となるからである。
【０３１１】
ここで、Ｘ’のｍｏｄ（ｍ2）を取ると、
【０３１２】
【数７４】
0003948801.tif 000085
【０３１３】
となり、結果的に、
【０３１４】
【数７５】
0003948801.tif 000086
【０３１５】
となる。但し、ｘ2’は、ａ1による減算とｍ1による除算とを行った後の第２ＲＮＳ桁の値である。必要に応じて、上記処理を繰り返すと、
【０３１６】
【数７６】
0003948801.tif 000087
【０３１７】
となる。
【０３１８】
上記方法の一例として、表３に示した３、５、７ＲＮＳ方式で表現された整数４１を考える。整数４１は、ＲＮＳでは２１６である。よって、
【０３１９】
【数７７】
0003948801.tif 000088
【０３２０】
となる。よって、
ａ1＝２、ａ2＝３、ａ3＝２
である。以下に検算を示す。
【０３２１】
【数７８】
0003948801.tif 000089
【０３２２】
次に、表４において３、５、７ＲＮＳで表現した正負の数をＡＭＲ表現することを考える。ここで、数Ｘのとり得る値の範囲は−５２〜＋５２である。再び、数ＸをＡＭＲ表現すると、
【０３２３】
【数７９】
0003948801.tif 000090
【０３２４】
である。
【０３２５】
モジュラスｍ1、ｍ2、ｍ3は正の値である必要があるが、ａ1、ａ2、ａ3の値はそれ程限定されない。但し、ａ1、ａ2、ａ3の各値の範囲はそれぞれｍ1、ｍ2、ｍ3の範囲に限定される。従って、もし、
【０３２６】
【数８０】
0003948801.tif 000091
【０３２７】
であれば、Ｘの範囲は、表４に示されるように、−１＋（−２＊３）＋（−３＊３＊５）＝−５２〜＋１＋（＋２＊３）＋（＋３＊３＊５）＝＋５２となる。
【０３２８】
上記方法の一例として、再び、表４において３、５、７ＲＮＳで表現した整数４１を考える。整数４１は、ＲＮＳでは２１６である。よって、
【０３２９】
【数８１】
0003948801.tif 000092
【０３３０】
であり、ここで
ｘ1＝ａ1ｍｏｄ（３）＝２且つ−１≦ａ1≦＋１であるから、ａ1は必ず−１となる。さらに、
【０３３１】
【数８２】
0003948801.tif 000093
【０３３２】
であるので、
ａ1＝−１、ａ2＝−１、ａ3＝３
となる。以下に検算を示す。
【０３３３】
【数８３】
0003948801.tif 000094
【０３３４】
負の数を範囲に含む上記の例では、モジュラスは全て奇数（即ち、３、５、７）であり、ＡＭＲ形式で表現可能な数の範囲は−５２〜＋５２であった。モジュラスが２、５、１１のような別の方式の場合、正負の数を含む表現可能な数の範囲は、−５５〜＋５４である。より一般化すれば、ＡＭＲ形式で表現可能な合計範囲はＭ＝ｍ1＊ｍ2＊．．．（即ち、全モジュラスの積）である。０および正の数のみを考える場合は０≦Ｘ≦Ｍ−１である。負の数も含む場合、興味深い２つの場合があり得る。モジュラスの内いずれか１つが偶数であればＭは偶数となり、そうでない場合にはＭは奇数である。よって、正負両方の数を含む場合の２つの可能な範囲は以下のように特定される。
【０３３５】
【数８４】
0003948801.tif 000095
【０３３６】
独立ＡＭＲ桁がとり得る値の範囲は、上記２つの可能な範囲のうちどちらが適用されるかによって決まる。全てのモジュラスが奇数である場合、Ｍは奇数であり、合計範囲は０に関して対称的になる。従って、全てのＡＭＲ桁の範囲が、それぞれ、０に関して対称的でなければならない。モジュラス「ｍ」に関連付けられている全てのＡＭＲ桁「ａ」に対し、全ＡＭＲ桁について（Ｍが奇数の場合）、
−（ｍ−１）／２≦ａ≦（ｍ−１）／２
となる。これは、上記３、５、７方式の説明で例示した通りである。
【０３３７】
モジュラスの１つが偶数であり、そのために、Ｍが偶数である場合、正負の数を含む表現可能な数の範囲は、０に関して対称的にはならず、ＡＭＲ桁の値の範囲の決定はより複雑なものとなる。第１に、偶数のモジュラスは１つだけしかあり得ない。さもなくば、そのＲＮＳ方式の各モジュラスが互いに素ではなくなるからである（全ての偶数のモジュラスは、共通の因子２を有している）。ＡＭＲ桁の値の範囲は、偶数モジュラスに関連付けられた桁の位置（重み）に依存する。
【０３３８】
【数８５】
0003948801.tif 000096
【０３３９】
上記構成(arrangement)を理解するために、Ｍが偶数の場合、全体的な範囲が０に関して僅かに非対称になるので、対称的な範囲をとり得る最上位桁の範囲も同様に僅かに非対称でなければならないことに留意されたい。偶数桁の範囲は、負の方向に僅かに偏った非対称でなければならない。また、偶数桁が最下位桁でない場合、その偶数桁の範囲の非対称性が僅かであったとしても、合計範囲においては、負の方向に過度に偏った非対称性となるため、下位の奇数桁には正の値のみを与えて、この非対称性を補償する必要がある。
【０３４０】
例えば、先に簡単に触れた２、５、１１ＲＮＳ方式を用いても−５５〜＋５４の範囲の整数を表現することが可能である。最上位から最下位までのＡＭＲ桁が、それぞれ、１１、２、５のモジュラスに関連付けられているＡＭＲ表現の場合、これらの桁の範囲は、
【０３４１】
【数８６】
0003948801.tif 000097
【０３４２】
となる。次のように検算を行う。ＡＭＲ形式によって表現可能な最小の整数Ｘminは、
【０３４３】
【数８７】
0003948801.tif 000098
【０３４４】
であり、最大の整数Ｘmaxは、
【０３４５】
【数８８】
0003948801.tif 000099
【０３４６】
である。
【０３４７】
数値のＡＭＲ表現の用途は様々であり、例えば、ＡＭＲ表現を利用して追加ＲＮＳ桁を生成することによりその数値の拡張ＲＮＳ表現を行うことなどができる。以下のように、モジュラスｍN+1の追加ＲＮＳ桁ｘN+1を生成する。
【０３４８】
【数８９】
0003948801.tif 000100
【０３４９】
例として、再び、３、５、７ＲＮＳ数２１６と表現される整数４１の場合のモジュラス１１の追加ＲＮＳ桁の生成を考える。まず、正の数のみを表す表３のＲＮＳ表現について考える。ａ1＝２、ａ2＝３、ａ3＝２は既に求められている。この場合、
【０３５０】
【数９０】
0003948801.tif 000101
【０３５１】
となる。
【０３５２】
４１ｍｏｄ（１１）＝８であるので、上記は明らかに正しい。このように、整数４１は、３、５、７ＲＮＳでは２１６ＲＮＳと表現され、３、５、７、１１ＲＮＳでは２１６８ＲＮＳと表現される。整数４１の場合は、追加ＲＮＳ桁は冗長であるが、１桁追加した４桁３、５、７、１１ＲＮＳで表現可能な整数の範囲は、３桁の３、５、７ＲＮＳに比べて１１倍である。また、Ｘ＝４１という実際の数を決定する必要はなく、単にＲＮＳ桁とＡＭＲ桁とによってＸN+1が決まる。上記の方法は、「基数拡張(Base Extension)」と呼ばれる。
【０３５３】
表４の３、５、７正負ＲＮＳ表現で表した整数４１について、モジュラス１１の追加ＲＮＳ桁の生成を考える。正負の数を含む範囲を扱う方式において、ａ1＝−１、ａ2＝−１、ａ3＝３は既に求められている。この場合、
【０３５４】
【数９１】
0003948801.tif 000102
【０３５５】
よって、
【０３５６】
【数９２】
0003948801.tif 000103
【０３５７】
となる。
【０３５８】
電子回路に用いられ、桁の値を表現する様々な符号化スキームが公知である。まず、２進数による従来の符号化では、各桁が１つの信号あるいは１つの「ライン」によって表される。電圧が「ハイ（ｈｉｇｈ）」であるラインが２進数の「１」を表し、電圧が「ロー（ｌｏｗ）」であるラインが「０」を表す。また、２進化１０進数による従来の符号化の場合、１０進数の各桁は４本のラインによって表され、各ラインに印加されている電圧レベルによって、その１０進数桁の値が決まる。一般に用いられているデジタル信号処理の方法および装置では、整数を表現できるこれら２つの表現方法の内のいずれかが用いられている。最も一般的なのは、２進数による符号化である。一方、１つの桁を１／Ｎ桁形式に復号(Decoding of a digit to a 1 of N form)する方法も一般的ではあるが、この方法は、むしろ、装置のアドレッシングまたは制御の目的で一般的に用いられているものであって、デジタル処理においては一般的ではなかった。
【０３５９】
本発明においては、数（信号、因数等）のＲＮＳ表現と、「ワンホット」符号化スキームとが組み合わされる。ワンホットスキームにおいては、１つの桁がとり得る値のそれぞれに信号ラインが１本ずつ関連付けられる。ある桁が特定の値を取ると、その値に関連付けられたラインがハイとなる。このラインがハイの間は、その他のラインは全てローである。「ワンホット」という用語は、このスキームにおける、「どの時点においても、信号ラインは１桁につき１本のみハイである」という特徴を表現するものである。例えば、３、５、７ＲＮＳの場合、第１の桁を表現するのに３本、第２の桁を表現するのに５本、そして、第３の桁を表現するのに７本のラインを使用する。このＲＮＳの場合、第１から第３の桁は、それぞれ、０〜２、０〜４、０〜６の範囲の値を取る。従って、各桁に関連する桁ラインの番号についても同様に、それぞれ、０〜２、０〜４、０〜６とするのが最も都合が良い。−５２〜＋５２の範囲を用いて、２２１ＲＮＳと表現される−１３という整数は、３＋５＋７＝１５本のラインによって表される。この１５本のラインの内３本がハイ電圧（またはハイ状態）であり、その間、他のラインは全てローである。その状態が桁を表すこれらのラインの番号は、以下の表１１に示すように０から始まる。
【０３６０】
【表１１】
0003948801.tif 000104
【０３６１】
以下に示される本発明の例示的な記載においては、特に示されない限り、３、５、７ＲＮＳを用いているものとする。しかし、実際には、正確さを高める目的で、および／または、演算結果のスケーリングおよび／または打ち切りを行うまで演算結果を保持しておく目的で、より大きな値のモジュラスおよび／またはより多くのモジュラスを用いる場合もよくある。また、当業者にとっては、このような目的のために、必要に応じて、本発明の方法および回路が拡張可能であることは、以下の記載から理解できる。
【０３６２】
また、本明細書中に記載される回路において、回路図の簡略化のために、２方向性スイッチ記号を用いている。この記号は図１２Ａに示されており、２方向性スイッチの実際のＭＯＳ回路が図１２Ｂに示されている。ＭＯＳ回路は、並列に接続されたｎチャネル素子およびｐチャネル素子を備えている。このｎチャネル素子およびｐチャネル素子は、それぞれスイッチング信号ＢおよびＢバー（図中ではＢの上部に横線を付して示す）によって制御される。Ｂバーは信号Ｂを反転した信号である。あるスイッチにおいてＢがハイの間は、そのスイッチの出力ＯＵＴはＡに接続される。Ｂがハイでない間は、Ａの状態に関係なく、そのスイッチの出力は電気的に浮いている。
【０３６３】
まず、本発明の方式における加算を考える。ある２数のｘ3桁を加算する場合、特定の演算結果を生じる加算の組み合わせは３通りしかない。例えば、０の結果が得られる加算は、０＋０、１＋２、または２＋１、１の結果が得られる加算は、０＋１、１＋０、または２＋２、そして、２の結果が得られる加算は、１＋１、０＋２、または２＋０である。加算を行う２数のｘ3桁に対して加算を行う回路を図１３に示す。この図において、スイッチの入力Ａとして、加数Ａのライン０、１および２が設けられている（図１２ＡおよびＢ参照）。図に示されるように、加数Ｂのライン上の信号は反転器によって反転される。これにより、好適な実施形態において使用されるスイッチに必要な、加数Ｂのライン上の信号およびその反転信号の両方が利用できるようになる。このスイッチは、論理的に、３つ（この桁のモジュラスが加算される）のスイッチ群に分割され、各スイッチ群はそれぞれ３つ（ここでも、この桁のモジュラスが加算される）のスイッチからなる。第１の３つのスイッチＳＷ１、ＳＷ２およびＳＷ３の出力によって、ＳＵＭのライン０の状態がハイ（ｈｉｇｈ）であるのかロー（ｌｏｗ）であるのかが決定される。同様に、第２の３つのスイッチＳＷ４、ＳＷ５およびＳＷ６の出力によって、ＳＵＭのライン１の状態、第３の３つのスイッチＳＷ７、ＳＷ８およびＳＷ９の出力によって、ＳＵＭのライン２の状態がハイであるのかローであるのかが決定される。
【０３６４】
図１３の回路の動作を説明するために、２つの例を考える。まず、加数Ａとしての整数４（１４４ＲＮＳ）と、加数Ｂとしての整数８（２３１ＲＮＳ）とを加算して和１２（０２５ＲＮＳ）を得る場合について考える。図１３の回路では、これら２数の第１のＲＮＳ桁のみの加算を行っており、加数Ａの入力は１であり、加数Ｂの入力は２である。つまり、加数Ａのライン１および加数Ｂのライン２の電圧信号がそれぞれハイであり、加数ＡおよびＢのその他のラインの電圧信号はローである。加数Ｂのライン２の電圧によって、スイッチＳＷ２、ＳＷ６およびＳＷ７はオンとなる。その他のスイッチＳＷ１、ＳＷ３、ＳＷ４、ＳＷ５、ＳＷ８およびＳＷ９はオフである。スイッチＳＷ２がオンなので、加数Ａのライン１の電圧（ハイ）がＳＵＭのライン０に接続される。スイッチＳＷ６がオンなので、加数Ａのライン２の電圧（ロー）がＳＵＭのライン１に接続される。また、スイッチＳＷ７がオンなので、加数Ａのライン０の電圧（ロー）がＳＵＭのライン２に接続される。よって、ＳＵＭのｘ3のライン０、１、２の中で、ライン０のみがハイとなり、和１２（０２５ＲＮＳ）に対応する状態となっている。
【０３６５】
次に、加数を反対にして、同じ和について考える。つまり、今度は、整数４（１４４ＲＮＳ）を加数Ｂ、整数８（２３１ＲＮＳ）を加数Ａとして、これらを加算して、再び、和１２（０２５ＲＮＳ）を得る。同様に、図１３の回路では、これら２数の第１のＲＮＳ桁のみの加算を行っており、加数Ａの入力は２であり、加数Ｂの入力は１である。つまり、加数Ａのライン２および加数Ｂのライン１の電圧信号がそれぞれハイであり、加数ＡおよびＢのその他のラインの電圧信号はローである。加数Ｂのライン１の電圧によって、スイッチＳＷ３、ＳＷ４およびＳＷ８はオンとなる。その他のスイッチＳＷ１、ＳＷ２、ＳＷ５、ＳＷ６、ＳＷ７およびＳＷ９はオフである。スイッチＳＷ３がオンなので、加数Ａのライン２の電圧（ハイ）がＳＵＭのライン０に接続される。スイッチＳＷ４がオンなので、加数Ａのライン０の電圧（ロー）がＳＵＭのライン１に接続される。また、スイッチＳＷ８がオンなので、加数Ａのライン１の電圧（ロー）がＳＵＭのライン２に接続される。再び、ＳＵＭのｘ3のライン０、１、２の中で、ライン０のみがハイとなり、和１２（０２５ＲＮＳ）に対応する状態となっている。
【０３６６】
２つのＲＮＳ数のｘ5桁同士およびｘ7桁同士の加算についても同じ回路形式が適用できることは、上記記載から理解できる。例えば、ｘ5桁同士の加算を行う場合、決定しなければならない出力ラインは５本ある。従って、２５個のスイッチを、論理的に、それぞれ５個のスイッチを含む５個のスイッチ群に分割したものを用いることができる。以下の表１２に示すように、加数入力の５通りの組み合わせによって、上記５本の出力ラインのそれぞれをハイに駆動できる。
【０３６７】
【表１２】
0003948801.tif 000105
【０３６８】
同様に、ｘ7桁同士の加算の場合、決定しなければならない出力ラインは７本ある。従って、４９個のスイッチを、論理的に、それぞれ７個のスイッチを含む７個のスイッチ群に分割したものを用いることができる。加数入力の７通りの組み合わせによって、上記７本の出力ラインのそれぞれをハイに駆動できる。
【０３６９】
次に、本発明の方式による減算を考える。ある２数のｘ3桁についての減算を行う場合も、特定の演算結果を生じる加算の組み合わせは、３通りしかない。例えば、０の結果が得られる減算は、０−０、１−１、または２−２、１の結果が得られる減算は、１−０、２−１、または０−２、そして、２の結果が得られる減算は、２−０、０−１、または１−２である。２数のｘ3桁についての減算を行う回路を図１４に示す。この図において、スイッチ（図１２Ａおよび図１２Ｂ参照）の入力Ａとして、被減数Ａのライン０、１、および２が設けられている。図に示されるように、減数Ｂのライン上の信号は反転器によって反転される。これにより、好適な実施形態において使用されるスイッチに必要な、減数Ｂのライン上の信号およびその反転信号の両方が利用できるようになる。回路の構成要素は加算用回路と同じであるが、構成要素の相互接続が異なっている。再び、このスイッチは、論理的に、３つ（この桁のモジュラスが加算される）のスイッチ群に分割され、各スイッチ群はそれぞれ３つ（ここでも、この桁のモジュラスが加算される）のスイッチからなる。第１の３つのスイッチの出力によって、ＤＩＦＦＥＲＥＮＣＥ（残差）のライン０の状態がハイであるのかローであるのかが決定される。同様に、第２の３つのスイッチの出力によって、ＤＩＦＦＥＲＥＮＣＥのライン１の状態、第３の３つのスイッチの出力によって、ＤＩＦＦＥＲＥＮＣＥのライン２の状態がハイであるのかローであるのかが決定される。
【０３７０】
乗算についても、モジュラスが素数の場合（素数でない場合については後述）、どちらも０でない桁同士については加算および減算と同様である。しかし、乗数側または被乗数側のいずれかの桁が０（ライン０がハイ）である場合、乗算の結果は０（ライン０がハイ）となる。再び、ｘ3桁について考えると、１＊１＝１、２＊１＝２、１＊２＝２、および２＊２＝４ｍｏｄ（３）＝１。この４つの乗算については、加算用回路および減算用回路におけるスイッチ接続によって計算できる。これは、図１５において、４つのスイッチ接続によって示されている。しかし、乗数または被乗数のいずれかが０の場合、積が０（ライン０がハイ）にならなければならない。これを行うために、図１５には、ＯＲゲートが設けられている。このＯＲゲートは、乗数Ａのライン０または被乗数Ｂのライン０のいずれかがハイであれば、ＰＲＯＤＵＣＴ（積）のライン０をハイにする。しかし、被乗数Ｂのライン０がハイである場合、スイッチＳＷ１、ＳＷ２、ＳＷ３およびＳＷ４はいずれもオンにならない。その結果、ＰＲＯＤＵＣＴのライン１および２は電気的に浮くことになる。被乗数Ｂのライン０がハイであるときにこれらのラインを積極的にローに引き下げるために、被乗数Ｂのライン０によって駆動する２つのｎチャネル素子が設けられている。被乗数Ｂのライン０がハイの場合、このｎチャネル素子をオンにして、ライン１および２をローに引き下げる。
【０３７１】
次に、モジュラスが素数でないＲＮＳ桁同士の乗算を考える。この場合、１でもなくモジュラスでもない少なくとも２つの整数の積として、モジュラスを表すことができる。例として、モジュラスが６である２つのＲＮＳ桁に対して乗算を行う場合を考える。このＲＮＳ桁は、それぞれ、０、１、２、３、４、５のいずれかの値を取ることができる。前記同様、０に対して、他のいかなる桁の値を掛けても結果は０である。しかし、今度は、２＊３および３＊２のＲＮＳ乗算も０となる。また、３＊４および４＊３も同様に０となる。これに対応するためには、ワンホットＲＮＳ入力のどちらか（あるいは両方）が０であることを検出し、それに応答して、ワンホットライン０をハイに駆動し且つ結果的に浮いているラインを、図１５の場合のように、ローに駆動しなければならず、さらに、これと同じことを、入力が、２と３、３と２、３と４、４と３である場合にも行わなければならない。これを行うには、１）乗数Ａのワンホットライン２と被乗数Ｂのワンホットライン３との論理積をとり、２）乗数Ａのワンホットライン３と被乗数Ｂのワンホットライン２との論理積をとり、３）乗数Ａのワンホットライン３と被乗数Ｂのワンホットライン４との論理積をとり、４）乗数Ａのワンホットライン４と被乗数Ｂのワンホットライン３との論理積をとり、そして、５）上記４つの論理積演算の結果と、乗数Ａのワンホットライン０と、被乗数Ｂのワンホットライン０との論理和をとる。ここで、この論理和演算の結果が真である場合、ＰＲＯＤＵＣＴのライン０をハイに駆動し、図１５の２つのｎチャネルトランジスタのようなｎチャネルトランジスタを用いる等の方法で、電気的に浮いている他のラインをローに駆動する。上記あるいはそれ以外の同様な煩雑さが生じるため、素数でないモジュラスを用いるのは避けることが好ましい。
【０３７２】
整数／ＲＮＳ数変換およびＲＮＳ数に対する他の演算について考える前に、加算、減算および乗算において、その演算を行う２数の一方が固定された数である場合を考える。固定された係数による乗算は、デジタル信号処理、フィルタ処理、信号検出および／または復調、およびその他多数の処理において特に一般的である。無論、それぞれ図１３、図１４および図１５に示した加算回路、減算回路および乗算回路の入力ＡまたはＢのどちらかが固定入力であっても良い。固定数を回路の入力Ｂとして与えるものとすると、固定値の付与によって回路のスイッチは永久にある状態にセットされることになる。したがって、このようなスイッチを削除でき、これらのスイッチのために必要であった接続を（ＩＣの形態に）固定配線(hardwiring)する必要もなくなる。例として、整数１０（上記例のＲＮＳ方式では１０３ＲＮＳ）による加算、減算および乗算を考える。図１６は、整数１０のＲＮＳ等価値（１０３）を任意のワンホットＲＮＳ入力に加算する場合を示す。ｘ3桁がいかなる値であろうと、１を加えた場合その値が１増加することは明らかである。従って、入力側のライン０は、出力側のライン１に直接接続され、入力側のライン１は出力側のライン２に直接接続される。和（２＋１）ｍｏｄ（３）＝０であるので、入力側のライン２は出力側のライン０に接続される。ｘ7桁の接続も同様に決定されるが、ライン同士の相互接続部におけるラップ・アラウンド(wrap around)が１つから３つに増えている。ｘ5桁は０であり、入力側と出力側とで変化が全くないので、これらの入力と出力とは直接接続される。しかし、最終的に得られる効果を考えると、定数の加算による和は、大ざっぱに言えば、入力ライン番号の再表記(renumbering)（および、ラインの再配線）に過ぎない。
【０３７３】
図１７に示すように、整数１０のＲＮＳ等価値（１０３）を任意のワンホットＲＮＳ入力から引く動作は、（回路の相互接続は同一ではないが）上記加算の動作に良く似ている。定数を用いた減算による差もまた、大ざっぱに言えば、入力ライン番号の再表記に過ぎない。実際、加算回路の入力と出力を反対にすれば、この減算回路は加算回路と同一である。もっとも、Ｘ＋１０−１０＝Ｘであることを考えればこれは当然のことである。このことは、本発明のもう１つの注目すべき点を示している。つまり、定数を用いた演算を連続して行う操作は、これらの演算を連結することにより、１回の「番号再表記」操作になる。これについては、以下に開示される定数による乗算および数の符号の反転（−１による乗算）の後に考察を行う。
【０３７４】
１０による乗算を行う回路を図１８に示す。どんな整数でも１０を掛ければ、５で割り切れる数になるため、ｘ5桁のライン０は、入力に関係なく常にハイになる。同様に、−１による乗算を行う回路を図１８に示す。ここで、０に何を掛けても０であり、−１＊（ｍｏｄ（ｍ）の任意のＲＮＳ桁）＝ｍ−（元のＲＮＳ桁）である。
【０３７５】
「入力から１０を引き、その結果に１０を掛けて、その結果に−１を掛けて、その符号を反転させる」という演算を例にとって、連結について考える。次の表１３に、この演算動作をステップ毎に示す。
【０３７６】
【表１３】
0003948801.tif 000106
【０３７７】
表１３の第１欄および第２欄は、図１７に示した整数１０による減算における入力から出力へのマッピングを表している。第３欄は、第２欄に示されるラインが図１８に示した乗算回路の出力に接続されているか否かを示している。第４欄は、第２欄に関連しており、図１８に示される整数１０を用いた乗算における入力から出力へのマッピングを表している。最後の第５欄は、第４欄に関連しており、図１９に示される、前の演算の結果に−１を掛けることによりその符号を反転させる動作における入力から出力へのマッピングを表している。しかし、この演算の組み合わせは、１つの回路として表すことができる。これは、入力リードおよび出力リードについての１回の「番号再表記」に相当し、表１３の内容をそのまま抜き出した次の表１４に示されている。
【０３７８】
【表１４】
0003948801.tif 000107
【０３７９】
上記の動作は、図２０において回路として示されている。例として、整数１４（２４０ＲＮＳ）を入力する場合を考えると、（１４−１０）＊１０＊（−１）＝−（４＊１０）＝−４０となる。整数−４０を３、５、７ＲＮＳ表現すると、−４０ｍｏｄ（３）、−４０ｍｏｄ（５）、−４０ｍｏｄ（７）＝２０２ＲＮＳである。よって、入力整数１４（２４０ＲＮＳ）により、モジュラス３桁のライン２、モジュラス５桁のライン４、およびモジュラス７桁のライン０がそれぞれハイとなり、その他のラインは全てローとなる。このとき、入力リード２、７および８がハイとなり、その他の入力リードは全てローとなる。入力リード２によって出力リード２がハイに、入力リード８によって出力リード１０がハイになる。そして、出力リード３〜７は固定接続されているので、この中のどれがハイであるかに関わらず出力リード３がハイになる。出力リード２、３および１０に対応する桁リード２、０および２がハイであるので、ＲＮＳ表現は２０２となる。これは、整数−４０であり、期待通りの結果が得られたことになる。
【０３８０】
次に、２進数からＲＮＳ数への変換操作を考える。０〜１０４の範囲の整数を表現可能な３、５、７ＲＮＳ方式を用いる。７ビットの２進数を利用する場合、注意すべきことは、合計範囲が１２８まである７ビットの２進数が、３、５、７ＲＮＳ表現の合計範囲１０５を越えないようにすることである。６ビットの２進数のみを変換する場合、ＲＮＳ数の定義域ではなく、２進数の定義域において範囲限定を行えば良い。この性質を考慮して、この例では、６ビットの２進数を想定する。従って、最下位ビットによって０または１が加算され、次のビットによって０または２が加算され、その次のビットによって０または４が加算される（以降のビットについても同様）。このように、その２進ビットの重みモジュラス（即ち、それぞれのモジュラス）に応じて各ビットが加算される。これを行う回路のブロック図を図３２に示す。また、図３３には、この回路をｘ3桁およびｘ5桁についてさらに詳細に示す。図３２の回路において、中に「Ｒ」と表記された四角は、固定乗算回路を表している。これは、即ち、各入力「ｂ」の番号再表記（および再配線）を表すものである。ワンホット形式の信号「ｂ」それぞれについて、ハイになり得るラインは２本ずつ（ライン１および０）しかないことに留意されたい。伝統的な２進符号化スキームに基づいて各ラインｂnをワンホットライン１に接続し、その反転信号ｂnバーをワンホットライン０に接続すれば、これら２本のラインを容易に得られる。その他のワンホットラインは実効的にローに接続される(effectively tied low)。また、図３２における中に「＋」のある円、および図３３における中に「ＡＤＤ」と表記された四角は、図１３の加算器に対応する加算器回路である。
【０３８１】
以下、図３２および図３３、特に図３３を参照して、２進／ＲＮＳ変換器のｘ3桁ワンホットライン３本を形成する加算器列を説明する。各加算器への入力信号ｂ0は、その加算器のｘ3桁入力ライン１に接続され、その反転信号ｂ0バーはその加算器のライン０を形成する。また、加算器への入力信号ｂ0は、信号ｂ0がローまたはハイのいずれであるかによって、それぞれ、０または１を表すだけなので、この加算器入力への入力ライン２はローに接続される。各加算器への入力信号ｂ1は、その加算器のｘ3桁入力ライン２に接続され、その反転信号ｂ1バーはその加算器のライン０を形成する。信号ｂ1がローまたはハイのいずれであるかによって、それぞれ、０または２を表すだけなので、この加算器入力への入力ライン１はローに接続される。次の加算器への入力信号ｂ2はｘ3桁入力ライン１（４ｍｏｄ（３）＝１）に接続され、その反転信号ｂ2バーはその加算器のライン０を形成する。信号ｂ2がローまたはハイのいずれであるかによって、それぞれ、０または４を表すだけなので、この加算器への入力ライン２はローに接続される（以降信号についても同様）。
【０３８２】
再び図２１および図２２を参照して、６ビット２進表現から３、５、７ＲＮＳ表現への変換を行うために、それぞれ５個の加算器からなる加算器列が３列用いられることに留意されたい。各加算器列において、第１の加算器はｂ0＋ｂ1の加算を行い、第２の加算器は、その和＋ｂ2の加算を行う（以降の加算器についても同様）。この構成では、リプル通過時間遅延(ripple-through time delay)が生じる。また、リプル通過の間に生じ得る様々な状態の変化のために、多少の電力損失がある。図２３に示される代替例においては、各加算器列において、第１、第２および第３の各加算器を用いて、それぞれ、ｂ0＋ｂ1、ｂ2＋ｂ3およびｂ4＋ｂ5の加算を同時に行う。そして、２個の加算器からなる加算器列を用いて、（ｂ0＋ｂ1）＋（ｂ2＋ｂ3）の加算と（その結果）＋（ｂ4＋ｂ5）の加算を行う。必要となる加算器の数は同じであるが、加算器の連鎖数は、５連鎖から３連鎖へと低減される。これにより、リプル通過時間が短くなり、リプル通過による状態変化も低減される。
【０３８３】
本発明のワンホット方式による特定の計算においては、汎用回路が簡略化される。例えば、定数を扱う加算、減算および乗算を行う場合、図１３、図１４および図１５に示される汎用回路において、定数を入力「Ｂ」として与えれば、スイッチが永久に固定される。従って、スイッチが常に開いているラインには接続が不要になり、また、スイッチが常に閉じているラインは固定配線とすることができる。これにより、トランジスタを全く用いずに、単にライン番号の再表記によって、加算、減算および乗算を行うことが可能になる。また別の例として、図３３に示した２進／ＲＮＳ変換器のｘ3ＲＮＳ桁用の第１の加算器（即ち、図３３の左上の加算器）を考える。汎用ｘ3加算器として図１３の回路を参照する。加数Ｂのライン１は常にローである（図３３の左上の加算器を参照）。つまり、スイッチＳＷ３、ＳＷ４およびＳＷ８は常にオフである。従って、これらのスイッチおよび関連するラインを排除して、図２４に示すような構成とすることができる。また、加数Ｂの入力は０または２を表す１ビットの２進数であり、ライン０はライン２の反転信号且つライン２はライン０の反転信号であるので、ライン２およびその反転信号のみが必要である。同様に、加数Ａの入力もまた、０または１を表す１ビットの２進数であり、ライン１およびその反転信号のみが必要である。これも、図２４に示されている。
【０３８４】
図２１および図２２の回路は、基本的に、最下位ビットから順に変換を行うタイプの２進／ＲＮＳ変換回路である。図２５のブロック図に示されている回路は、最上位ビットから順に変換を行うタイプの、本発明による２進／ＲＮＳ変換回路である。この回路では、１つ下位のビットの値を加える前に、各段階の和の値が２倍される。図２１および図２２に示した回路と結果は同じであるが、図２５の回路の場合、固定乗数が繰り返し用いられるので、回路配列に関する利点が得られる。
【０３８５】
上記の例では、２進からワンホットＲＮＳ表現への変換を負の数であるという可能性を考慮せずに、また、負の数をどのように２進表現するかを考慮せずに行った。本発明のワンホットＲＮＳ表現へと変換される数の２進表現は、通常、２の補数の形式である。この２の補数の形式では、最上位ビットは符号用ビットであり、０が正、１が負を表す。最上位ビットが０の場合、残りのビットは数Ｘの絶対値を２進形式で表している。また、最上位ビットが１の場合、残りのビットを反転して１を加えたものが、負の数Ｘの絶対値を２進形式で表したものとなる。つまり、最上位ビットが１の場合、残りのビットが表す値は−（２N-1）より大きい値となる。
【０３８６】
図３２および図１１、あるいは図２５のような回路を用いて、正の数を表す２の補数の２進からワンホットＲＮＳ表現への変換（最上位ビット＝０）を行うことができる。図２６は、負の数を含むＸを２の補数の２進で表現したものをワンホットＲＮＳ表現に変換する回路を示す。これは、最上位ビットが０の場合、残りのビットが数Ｘの絶対値を２進形式で表し、最上位ビットが１の場合、残りのビットが表す値が−（２N-1）より大きくなるように−（２N-1）を加える、前記方法をそのまま実現するものである。
【０３８７】
先にも述べたように、ＲＮＳ方式では困難な演算がある。そのような演算を行う場合、従来の技術で説明した関連混合基数（ＡＭＲ）変換が有用である。例えば、正負の数を表すＲＮＳ方式において、ＡＭＲ表現を用いて数Ｘの符号を検出することができる。具体的には、数ＸをＡＭＲ表現したときのＡＭＲ桁ａ1、ａ2、．．．ａN-1、ａNについて、ｍN＝２の場合を考えると、Ｘについての等式は、
【０３８８】
【数９３】
0003948801.tif 000108
【０３８９】
但し、ａN＝０または−１、ａ1〜ａN-1は０または正の数である。
【０３９０】
ａN＝０の場合、Ｘの範囲は、０〜（（ｍ1＊ｍ2＊．．．＊ｍN-2＊ｍN-1）−１）である。
【０３９１】
ａN＝−１の場合、Ｘの範囲は、−（ｍ1＊ｍ2＊．．．＊ｍN-2＊ｍN-1）〜−１である。
【０３９２】
Ｘの符号は、ａNの値によって示され、ａN＝０は正、ａN＝−１は負を示す。（Ｘ＝０は正とみなす。Ｘ＝０を検出する場合、ワンホットＲＮＳ桁全てのライン０の論理積を取ることによって検出を行えば良い。）つまり、正負ＲＮＳ表現で表現された数Ｘの符号を以下のように検出できる。
【０３９３】
１．その数、あるいは処理されている数の最初のワンホット表現に、モジュラス２のワンホットＲＮＳ桁が含まれていなければならない。
【０３９４】
２．モジュラス２の桁が最後のＲＮＳ桁であり且つ最上位ＡＭＲ桁ａNに関連付けられるように、ＲＮＳ桁を並べる。
【０３９５】
３．数ＸのＲＮＳ表現をＸのＡＭＲ表現等価値に変換する。
【０３９６】
４．Ｘの符号を決定する値ａNを決める（０ならば正、−１ならば負）。（モジュラス２桁の代わりに、２よりも大きい偶数モジュラスを用いても良い。その場合、ａNが０または正であるときＸの符号は＋、ａNが負であるときＸの符号は−となる。）
図２７Ａに示す回路は、ＡＭＲ表現（ワンホット形式）を行い、モジュラス２ＲＮＳ桁を持つワンホットＲＮＳ方式の一例によって表現される数Ｘの符号を決定する回路である。この回路には合計１０個の加算器／減算器が含まれる。１番上の列の減算回路Ｄ３０、Ｄ３２、Ｄ３４およびＤ３６はＸ−ａ1を生成する。ａ1は、ｍｏｄ（１３）に関連付けられた第１のＡＭＲ桁であり、ＲＮＳ数のｘ1に等しい。このワンホット方式において、ｘ1入力は１３ライン入力（ｘ1ライン０〜１２）、ｘ2入力は５ライン入力（ｘ2ライン０〜４）、ｘ3入力は７ライン入力（ｘ3ライン０〜６）、ｘ4入力は１１ライン入力（ｘ4ライン０〜１０）、そしてｘ5入力は２ライン入力（ｘ5ライン０〜１）である。減算回路Ｄ３０、Ｄ３２、Ｄ３４およびＤ３６は、それぞれ、モジュラス５、モジュラス７、モジュラス１１およびモジュラス２の減算回路である。従って、ａ1の範囲は０〜１２であるが、ａ1ｍｏｄ（５）、ａ1ｍｏｄ（７）、ａ1ｍｏｄ（１１）およびａ1ｍｏｄ（２）が決定される。これは、以下の表９に示されるような、ラインの再マッピングである。
【０３９７】
【表１５】
0003948801.tif 000109
【０３９８】
図２８は、図２７Ａに示す減算器Ｄ３０の５個の入力を決定するための専用回路を示し、図２９は、減算器Ｄ３６の２個の入力を決定するための専用回路を示す。他の加算器／減算器の入力に対しても、ＯＲゲートまたはその等価物を用いた同様の専用回路を表Ｄ９を参考にして容易に構成することできる。あるモジュラスのワンホットＲＮＳ信号から、より小さなモジュラスのワンホットＲＮＳ信号への変換を行うこの一般型の回路は、図２７Ａにおいて、図２７Ｂに示す記号を用いて表記されている。減算器Ｄ３０、Ｄ３２、Ｄ３４およびＤ３６の出力は、ワンホットＲＮＳ形式のＸ−ａ1である。このＲＮＳ数からｘ1桁の値を引くことによって、そのＲＮＳ桁の値は０に減少する。これは、この時点で、ＲＮＳ数の値が１３で割り切れるようになっていることを意味している。ｘ1桁は、次の除算において落とされる。なぜなら、従来の技術において述べたように、この除算を行った後は、ｘ1桁の値は分からないからである。
【０３９９】
図２８の回路および図２９の回路は、所望のモジュラス変換を実現するものではあるが、スイッチング（ゲーティング）遅延を生じる。また、モジュラス変換の直後に続く減算器も同様に遅延を生じる。この２つの遅延の一方は、これら２つの機能を組み合わせることによって排除できる。例えば、ｘ2−ａ1ｍｏｄ（５）の出力ライン０について図３０Ａおよび図３０Ｂに示され、また、ｘ2−ａ1ｍｏｄ（５）の出力ライン１について図３０Ａおよび図３０Ｃに示されるように、図２８の回路を減算器と組み合わせることが可能である。減算器Ｄ３０の入力として、ｍｏｄ（１３）信号の１３本全てのラインが使用され、１３個のスイッチの出力が合わされてｍｏｄ（５）の結果が出る。
【０４００】
Ｘ’＝（Ｘ−ａ1）／ｍ1を求めるには、ｍ1による除算あるいはｍ1の乗法的逆数による乗算を行う必要がある。図２７Ａにおいて使用される乗法的逆数を以下の表Ｄ１０に示す。
【０４０１】
【表１６】
0003948801.tif 000110
【０４０２】
先にも述べたように、乗法的逆数を含む定数を用いた乗算は単なるライン番号の再表記（通常再配線を含む）である。これは、図２７Ａに示される乗算（再表記あるいは再配線）回路Ｄ３８、Ｄ４０、Ｄ４２およびＤ４４（並びにその他の四角で表された乗算回路）に示されている。これで、Ｘ’が分かるので、ａ2＝ｘ2’である。
【０４０３】
Ｘ”＝（Ｘ’−ａ2）／ｍ2を求めるべく、２番目の列の減算器Ｄ４６、Ｄ４８およびＤ５０は、残っている３つのＲＮＳ桁からａ2を値を引く。ｘ2桁のモジュラスは次の２桁のモジュラスよりも小さいので、以下の表Ｄ１１に示すように、余分なラインを全て接地（ロー接続）すれば、ＲＮＳ減算器によって次の２桁からａ2を直接引くことができる。あるモジュラスのワンホットＲＮＳ信号から、より大きなモジュラスのワンホットＲＮＳ信号への変換を行うこの汎用回路も、図２７Ａにおいて、図２７Ｂに示す記号を用いて表記されている。
【０４０４】
【表１７】
0003948801.tif 000111
【０４０５】
さてここで、減算器へのある入力の複数のラインは常にローであることに留意されたい。これらの入力を減算器への入力Ｂとして用いた場合（図１４参照）、減算器回路を実質的に簡略化できる。なぜなら、これらの減算器に対応するスイッチは常にオフなので、これらのスイッチおよび関連するラインの全てを排除できるからである。
【０４０６】
ここで、減算器Ｄ４６、Ｄ４８、Ｄ５０の出力は、必要に応じて切り捨てを行い、１３による除算を行い、さらに切り捨てを行って整数５で割り切れるようにした状態での整数ＸのＲＮＳ表現のｘ3桁、ｘ4桁、ｘ5桁にそれぞれ対応する。残りのワンホットＲＮＳ桁からａ2の値を引いたことにより、ｘ2ＲＮＳ桁の値は０に減少している。ここでまた、ｘ2桁を落とす。５による除算は、乗算器Ｄ５２、Ｄ５４およびＤ５６のライン番号を再表記して５の乗法的逆数（即ち、５-1）による乗算を行うことにより行われる。
【０４０７】
以下に示すように、他の２つのＲＮＳ桁からａ3を引いて、その後７-1を掛けることによって、ａ4が求められる。ａ3のモジュラス（７）はａ4のモジュラス（１１）よりも小さいので、加算器／減算器Ｄ５８の入力ａ3の後方部分の入力ラインをローにした状態で、ａ3の７本のラインを加算器／減算器Ｄ５８に直接付与できる。加算器／減算器Ｄ６０への対応する入力については、まず、図２９に示される方法でａ3のワンホットライン０〜６に対して論理和をとって、この７本のラインをｍｏｄ（２）信号（２本のライン）とするか、あるいは、論理的に等価な、加算スイッチをその加算器／減算器に追加することによって得られる。次に、乗算器Ｄ６２およびＤ６４によって、この減算の結果に乗法的逆数７-1を掛けてａ4を得る。このａ4をモジュラス２に変換し、加算器／減算器Ｄ６６によって乗算器Ｄ６４の出力からその変換値を引き、そして、乗算器Ｄ６８によって乗法的逆数１１ー1を掛けてａ5を得る。ここで、ｘ5の範囲は０〜１であるが、ａ5の範囲は−１〜０である。従って、ａ5のワンホットライン０はワンホット０ラインであり、第２番目のａ5ラインは実際はａ5の−１ワンホットラインである。
【０４０８】
本発明によって実現される図２７Ａの回路およびその他の回路は、演算が順次行われるために、好ましくない遅延を生じる場合がある。これは、クロック速度が遅い場合には許容可能であるが、速いクロック速度が要求される場合には、限界がある。従って、図２７Ａの回路およびその他の回路については、１つ以上のレベルのパイプライン方式を用いて、非常に高速なクロック速度において演算が行えるようにすることが望ましい。
【０４０９】
次に、本発明のＲＮＳワンホット方式におけるスケーリングの問題を考える。スケーリングでは、定数を用いた数Ｘの除算が行われる。本発明の好適な実施形態よるスケーリングは、扱う数をＡＭＲ表現して行われる。上記のように、ある数のＡＭＲ表現におけるＡＭＲ桁をその数のワンホットＲＮＳ表現を利用して決定する場合、各項を、それぞれのモジュラスで（ワンホットＲＮＳ方式）除算する（Ｘ’＝（Ｘ−ａ1）／ｍ1、Ｘ”＝（Ｘ’−ａ2）／ｍ2、．．．）。本発明のワンホットＲＮＳ方式による除算は前述の通りである。
【０４１０】
スケーリングに用いられる因数としては２通りの可能性がある。つまり、各ＲＮＳ方式におけるモジュラスの１つ（または２つ以上のモジュラスの積）に等しい因数か、そうでない因数かである。因数がモジュラスの１つ（または２つ以上のモジュラスの積）に等しくない場合、スケーリングを行うＲＮＳ数に対してどれだけ切り捨てを行えばスケーリング因数で割り切れるようになるのかを、事前に知ることはできない。従って、切り捨て因数を決定するために、１つ（あるいは２つ以上）のモジュラスをスケーリング因数に等しくしておかなければならない。例えば、４によってスケーリングダウン(scale down)（除算）を行いたい場合、まず、整数ｍｏｄ（４）（新しいＲＮＳ桁）を求め、剰余（新しい桁の値）０、１、２または３を各ＲＮＳ桁から引くことにより、その整数を４の整数倍の数にする。
【０４１１】
スケーリング因数が、残っているモジュラスの中の１つに等しい場合、切り捨て因数が分かる。切り捨て後は、切り捨て因数に等しいＲＮＳ桁の値は０になる。除算後は、この桁は消去される。切り捨て因数に等しいＲＮＳ桁の値が０になり、実質的に消去されても、他のモジュラスに対する除算を行って、正しい唯一の解を得ることができる。これは、ダイナミックレンジがスケーリング因数によって減少しても、スケーリングされた数のダイナミックレンジも同じだけ減少しており、このＲＮＳ方式の新しい範囲に適合するからである。ここで、消去されたモジュラスを再生することにより、元のダイナミックレンジを復元できる。
【０４１２】
上記いずれの場合も、除算の問題に関して重要なのは、残っているＲＮＳ桁を用いて別のＲＮＳ桁を生成することである。つまり、（１）除数と消去された１つモジュラス（または２つ以上のモジュラスの積）とが等しくない場合には、被除数が除数で割り切れるようにその整数に対して切り捨て／切り上げを行うことができるように、除算の前に別のＲＮＳ桁の生成を行い、（２）除数と消去された１つモジュラス（または２つ以上のモジュラスの積）とが等しい場合には、除算の後に別のＲＮＳ桁を生成して、その除算で失われたモジュラスを再生する。これは、従来の技術で説明した「基数拡張」と呼ばれる方法によって行われる。この方法自体はもはや一般的なものであるが、本発明のワンホットＲＮＳ方式と組み合わせることによって独自の特徴を呈する。
【０４１３】
図３１は、１３、５、７、１１、２ＲＮＳ方式に基づくスケーラの回路を示すブロック図である。ここでは、スケーリング因数は５＊１３＝６５である。図３１の回路では、モジュラス５桁およびモジュラス１３桁が一旦消去されるが、これらの桁は後に再生されて１３、５、７、１１、２ＲＮＳ方式の完全な範囲が再構築される。残された３つのＲＮＳ桁は、乗算器Ｄ５２、Ｄ５４およびＤ５６出力として得られる。この図３１の回路は図２７Ａに示した回路に類似であり、ＡＭＲ表現の数のａ1〜ａ5を求めるために用いられる。
【０４１４】
ａ3、ａ4およびａ5が得られたところで、上記の等式を用いてスケーリングで失われたｘ1／６５およびｘ2／６５を再生する。
【０４１５】
【数９４】
0003948801.tif 000112
【０４１６】
加算器／減算器Ｄ７４の一方の入力は、ワンホット形式のａ3ｍｏｄ（１３）であり、加算器／減算器Ｄ７４の他方の入力は、ａ4ｍｏｄ（１３）に７を掛けたものである。ａ4のとり得るワンホットＲＮＳ値の範囲は０〜１０であり、７を掛けると、０〜７０の範囲のｍｏｄ（１３）値が得られ、これが加算器／減算器Ｄ７４の入力となる。この加算器／減算器Ｄ７４への入力の残りのワンホットラインはローに接続される。加算器／減算器Ｄ７６への各入力は、（ａ4＊７）ｍｏｄ（５）＝（ａ4＊５）ｍｏｄ（５）＋（ａ4＊２）ｍｏｄ（５）＝（ａ4＊２）ｍｏｄ（５）である。このように、乗算器Ｄ７２によってａ4に２が掛けられる。また、図２８および図２９に類似の回路を用いて、ｍｏｄ（１１）ワンホットＲＮＳ信号からｍｏｄ（５）ワンホットＲＮＳ信号へのａ4の変換を行うこともできる。
【０４１７】
加算器／減算器Ｄ７４およびＤ７６の出力（それぞれ、（ａ3）ｍｏｄ（１３）＋（ａ4＊７）ｍｏｄ（１３）および（ａ3）ｍｏｄ（５）＋（ａ4＊７）ｍｏｄ（５））は、それぞれ、加算器／減算器Ｄ８２およびＤ８４の第１の入力に接続される。さらに、（ａ5＊７＊１１）ｍｏｄ（１３）および（ａ5＊７＊１１）ｍｏｄ（５）は、加算器／減算器８２および８４の第２の入力に接続される。これにより、６５による除算で失われたＲＮＳ桁の再生が完了する。Ｘの値の範囲に応じて、ａ5が正しく解釈されるように注意しなければならない。第１の解釈では（Ｘの範囲が正のみの場合）、ａ5は０または＋１の値をとり得る。ここで、ａ5ｍｏｄ（５）およびａ5ｍｏｄ（１３）は共にａ5に等しい（即ち、０または＋１）。第２の解釈では（Ｘの範囲が正および負の場合）、ａ5は０または−１の値をとり得る。ここで、ａ5が０である場合、ａ5ｍｏｄ（５）およびａ5ｍｏｄ（１３）は０であるが、ａ5が−１である場合、ａ5ｍｏｄ（５）は４、ａ5ｍｏｄ（１３）は１２である。よって、ａ5の２本のワンホットＲＮＳラインを乗算器Ｄ７８およびＤ８０に入力する前の、これらのラインの再表記は、Ｘの範囲が正のみである場合と、正および負の場合とで異なったものとなる。
【０４１８】
最後に、（ａ5＊７＊１１）ｍｏｄ（１３）＝（ａ5＊７７）ｍｏｄ（１３）＝（ａ5＊６５）ｍｏｄ（１３）＋（ａ5＊１２）ｍｏｄ（１３）＝（ａ5＊１２）ｍｏｄ（１３）であり、（ａ5＊７＊１１）ｍｏｄ（５）＝（ａ5＊７７）ｍｏｄ（５）＝（ａ5＊７５）ｍｏｄ（５）＋（ａ5＊２）ｍｏｄ（５）＝（ａ5＊２）ｍｏｄ（５）であるので、乗算器Ｄ７８およびＤ８０によって掛ける値には、１２および２を用いることができる。このようにして、加算器／減算器Ｄ８２およびＤ８４の出力は、既に、モジュラス１３およびモジュラス５になっており、それぞれ、ｘ1／６５およびｘ2／６５である。
【０４１９】
ここまで、本発明のワンホットＲＮＳ方式における様々な基本演算を説明したが、上記の演算を組み合わせればその他の演算も可能であることは明らかである。例えば、ワンホットＲＮＳ形式で表現された数Ｘの絶対値を求める場合、まず、上記の方法によってＸが正か負かを決定し、Ｘが負の場合、ワンホットＲＮＳ形式でＸに−１を掛ければ良い。同様に、ワンホットＲＮＳ形式の２数ＸおよびＹを比較する場合、ワンホットＲＮＳ形式によってＸ−Ｙの減算を行い、上記の方法によってその差（Ｘ−Ｙ）の符号を決定する、および／または、その差が０であることを検出すれば良い。差「０」の検出は、減算結果をワンホットＲＮＳ表現したときの「０」ラインが全てハイであることを検出して行えば良い。
【０４２０】
本発明のワンホットＲＮＳ方式から２進への変換を行う場合、数ＸのワンホットＲＮＳ表現を用いて、ＸをＡＭＲ表現したときのａn値を（ワンホット方式に基づいて）決定する。
【０４２１】
【数９５】
0003948801.tif 000113
【０４２２】
但し、各ａnの値は変数であるが、その全モジュラスは所定の（既知の）値である。よって、Ｘについての上記の等式は、
【０４２３】
【数９６】
0003948801.tif 000114
【０４２４】
但し、ｃ1、ｃ2、．．．は、所定の（既知の）定数である。
【０４２５】
ワンホットＲＮＳ表現された数を用いて、ワンホット形式の各ａnの値を決定する方法については、図２７Ａを参照して先に説明した通りである。ワンホット形式のａnの様々な値が与えられたとき、それらの値は、ａnの２進表現の完全に復号された値に等しい。これをふまえて、２進への最終的な変換を行う非常に簡便な方法として、ワンホット形式のａnの各値を復号アドレスとして（ＲＯＭ等の）チップ上にある関連したルックアップテーブル（以下、ＬＵＴ）に格納する方法がある。このルックアップテーブルは、それぞれ、ａnでアドレスされたとき、２進形式でａn＊ｃn-1を出力するようにプログラムされている。これらの出力を標準的な２進加算器を用いて加算する。これは、図３２に示されている。
【０４２６】
図３２および関連する等式について、各ルックアップテーブル（ＬＵＴ）に必要なエントリ（アドレス）の数は、ＸをワンホットＲＮＳ表現したときのモジュラスに関連する値に依存するが、いずれの場合も、各ルックアップテーブルは比較的小さい。また、最小の定数はｃ0＝１であり、最大の定数はｃN-1である。変数ａ1〜ａNのそれぞれがとり得る最大値は、そのワンホットＲＮＳ方式の各モジュラスに依存するが、ａN＊ｃN-1はａ1よりもずっと大きくなる。従って、ａN＊ｃN-1に対するルックアップテーブルの出力はａ1に対する出力よりもずっと幅広（多ビット）になる。それでも、その２進加算器（あるいは、カスケードされた加算器）に対して必要とされる幅同様、最も幅広のルックアップテーブル出力に対して必要な出力の幅は適当なものである。従って、２進加算器の出力は、ビットシリアルまたはバイトシリアル形式等の完全並列形式(full parallel form)以外の形式で読み出される場合があるものの、高速性の観点から、全幅ルックアップテーブルおよび２進加算器が好まれる。例えば、図２７Ａの説明の際に用いられた１３、５、７、１１、２ＲＮＳ方式の場合、その合計範囲は１３＊５＊７＊１１＊２＝１０,０１０（１０進）である。この範囲は、幅１３ビット＋キャリービットの加算器で２進表現できる。正のみの範囲を考えると、Ｎ番目のルックアップテーブルが２進形式で収容する必要がある出力は、１３＊５＊７＊１１＝５００５である。この出力に対して必要な２進出力幅は１３ビットとなるが、エントリは、０および＋５００５（２進表記：１００１１１０００１１０１）の２つで済む。正負の数を含む範囲を考えた場合、Ｎ番目のルックアップテーブルは、０および−５００５（１４ビットの２の補数２進表記：１０１１０００１１１００１１）を収容する必要がある。
【０４２７】
ＲＮＳから２進に変換する場合、得られる結果は過剰であり得る。この場合、変換は切り捨てられ得る。よって、Ｘを、
【０４２８】
【数９７】
0003948801.tif 000115
【０４２９】
のようにＡＭＲ表現形式で表すと、ＸのＡＭＲ表現におけるｎ＞１である値の項のみをＸの２進表現への変換に含めればよいことになる。
【０４３０】
上述したように、図３に示す適応等価器Ｃ１０３および補間されたタイミングリカバリＢ１００は、ＲＮＳサンプル値をフィルタするＲＮＳ ＦＩＲフィルタを有する。適応等価器Ｃ１０３内のＲＮＳ ＦＩＲフィルタは、好ましくは、図３３に示す転置された(transposed)直接形式に従って実行される。図３３は、２進入力および２進出力を有するが、内部にワンホットＲＮＳを有する４−タップＲＮＳ ＦＩＲフィルタを示す。図３３の右下に、この図において用いられている構成要素の名称が書かれている。各ＲＮＳ桁毎の処理の縦列は、どれも同じ構成となっている（フィルタ入力および係数用の２進／ワンホットＲＮＳ変換器、乗算器および加算器）。しかし、これらの縦列はそれぞれ別のワンホットＲＮＳ桁、即ち、別のモジュラス（ワンホットラインの数が異なる）に対応しており、その詳細なワンホットＲＮＳ回路はそれぞれ異なる。図３３に示されるフィルタの応答についての等式は、
【０４３１】
【数９８】
0003948801.tif 000116
【０４３２】
図３３は、例示するＲＮＳ ＦＩＲフィルタの出力が２進形式に変換し直されることを示す。しかし、本発明のサンプリングされた振幅リードチャネルにおいて、適応等価器Ｃ１０３の出力におけるＲＮＳフォーマットは保持され、図３に示す補間されたタイミングリカバリＢ１００内のＲＮＳ ＦＩＲフィルタによってさらに処理される。
【０４３３】
補間されたタイミングリカバリＲＮＳ ＦＩＲフィルタは、経時的に変化する（即ち、係数は、補間インターバルγの値によって変化する）ため、このＦＩＲフィルタは、好ましくは、図６に示す直接形式か、または図７に示す因数分解直接形式で実行される。図３３に示すＦＩＲフィルタと同様に、図３４に示すように、乗算器および加算器は、ＲＮＳサンプル値およびＲＮＳフィルタ係数の個別の桁に対して作用する。さらに図３４に示すように、多重入力加算器（例えば、図６に示す加算器Ｂ２５４）は、加算器ツリーを用いて実行される。適応等価器Ｃ１０３とは対照的に、タイミングリカバリＲＮＳフィルタの係数は、２進からＲＮＳに変換されずに、ＲＮＳ表現（例えば、図６に示すＲＮＳ係数レジスタファイルＢ２５２）で直接格納され得る。図７に示すＦＩＲフィルタの因数分解直接形式は、ＲＮＳ数が乗算する度に再スケールされなければならない（即ち、各乗算器の出力にスケーラ回路を必要とする）ことに留意されたい。
【０４３４】
ＲＮＳ ＦＩＲフィルタは、最小の電力消失で実行される。これは、所定の計算に対する信号転移数が非常に限定されていることと、加算、減算、および乗算を行う場合に２進加算器内の「リップルスルー（ripple through）」に関連する多数の転移がないことに起因する。特定のラインに沿った１つ以上のロケーションにおいてラインドライバが必要または所望され得ること、および／またはあるレベルのパイプライニングが、ライン容量および他の源の遅延を分割し、それによって必要に応じてより高いクロック速度を可能にするために好適であり得ることに留意されたい。
【０４３５】
ワンホットＲＮＳシステムの欠点は、チップ面積の観点からの非効率であるが、このようなスキーム下での動作ブロックが単純であるため、ラインのロードが小さくなり、場合によっては、全くロードがなくなる。この結果、電力消失が最小になり、速度が最大になる。また、本発明の好ましい実施態様は、各桁のワンホット物理的表現におけるマルチ桁ＲＮＳ番号システムを用いるが、当然のことながら、代わりにワンコールドシステムを用いてもよい。具体的には、各桁の各ラインが、それ自身の状態定義を有してもよい。しかし、論理状態割当てとしては、本願に記載するワンホット配置が好ましい。
【０４３６】
本発明の補間されたタイミングリカバリおよび適応等価器を、ｄ＝０ ＰＲ４リードチャネルに関連して開示したが、本願に開示する原理は、ｄ＝１ ＥＰＲ４またはＥＥＲＰ４リードチャネルを含む他のタイプのサンプリングされた振幅リードチャネルにも同様に適用できる。ｄ＝１リードチャネルにおいて、例えば、図４ＡのスライサＢ１４１は、「Ｄｉｇｉｔａｌ  Ｐｕｌｓｅ  Ｄｅｔｅｃｔｏｒ」という名称の米国特許第５、３２９、５５４号において記載されるパルス検出器に置き換えられる。
【０４３７】
さらに、開示する実施態様において用いられる特定の制約周波数１／４Ｔｓには限定されない。他の制約周波数も、本発明の範囲から逸脱せずに用いられ得る。例えば、３Ｔプリアンブルが用いられるが、この場合、制約周波数は、（プリアンブル周波数に制約すると）１／６Ｔｓである。
【０４３８】
さらに、当業者には言うまでもなく、本願に開示する適応等式には、多くの明らかな改変が可能である。例えば、時間ベースでのシフトは、制約周波数におけるＦＩＲフィルタの大きさおよび位相応答を変更する。これは、結果として、異なるＶ1およびＶ2の行列を生じる。また、改変されたＬＭＳアルゴリズム
【０４３９】
【数９９】
0003948801.tif 000117
【０４４０】
は、以下のように項を再配置した後に実行され得る。
【０４４１】
【数１００】
0003948801.tif 000118
【０４４２】
これらの改変および同様の改変は、本発明の範囲内である。
【０４４３】
本発明の目的は、本願に開示する実施態様によって完全に達成される。当業者には言うまでもなく、本発明の種々の局面は、本質的な作用から逸脱しないで異なる実施態様によっても成し遂げられ得る。開示する特定の実施態様は、例示を目的とし、以下の請求の範囲から適切に理解されるように、本発明の範囲を限定するものではない。
【０４４４】
【発明の効果】
本発明によれば、アナログリード信号を非同期的にサンプリングし、結果として得られた離散時間サンプル値を、ターゲットのパーシャルレスポンスに従って適応等化し、補間されたタイミングリカバリを介して同期サンプル値を抽出した後、ビタビシーケンス検出器を用いて同期サンプル値からディジタルデータを検出する、ディスク記憶システム用のサンプリングされた振幅リードチャネルが提供される。本発明のサンプリングされた振幅リードチャネルは、リードチャネルの速度を増すために、等化器および補間器におけるＦＩＲフィルタが、剰余数方式（ＲＮＳ）に従って実現される。また、このように剰余数方式を用いてＦＩＲフィルタを実現する際に、「ワンホット」符号化を用いることで電力消費を低くする。
【図面の簡単な説明】
【図１】従来のサンプリングされた振幅記録チャネルのブロック図である。
【図２Ａ】複数のユーザデータセクタおよび複数の埋め込みサーボデータウェッジから構成される複数の同心円状トラックを有する磁気ディスクのデータフォーマットの一例を示す図である。
【図２Ｂ】ユーザデータセクタのフォーマットの一例を示す図である。
【図３】共にＲＮＳ  ＦＩＲフィルタを有する補間されたタイミングリカバリおよび適応等化器を有する、本発明による改善されたサンプリングされた振幅リードチャネルのブロック図である。
【図４Ａ】ボーレートに同期のとられたサンプリングＶＦＯを有する従来技術によるサンプリングタイミングリカバリの詳細ブロック図である。
【図４Ｂ】ボーレートに実質的に同期のとられた補間されたサンプル値を計算する補間器を有する本発明による補間されたタイミングリカバリの詳細ブロック図である。
【図５】アクイジションプリアンブル用の補間されたボーレートサンプルに関連するチャネルサンプルを示す図である。
【図６】タイミングリカバリ補間器用の剰余数方式ＦＩＲフィルタの実現形態を示す図である。
【図７】タイミングリカバリ補間器用のコストの低減された実現形態を示す図である。
【図８Ａ】サンプリングされた振幅リードチャネルにおける従来の適応型離散時間等化器フィルタのブロック図である。
【図８Ｂ】剰余数方式表現に従って実現された、本発明による適応型離散時間等化器を示す図である。
【図８Ｃ】本発明による適応型離散時間等化器の別の実施の形態を示す図である。
【図９Ａ】正規化周波数１／４Ｔにおいて制約される、本発明による適応フィルタの利得応答を示す図である。
【図９Ｂ】正規化周波数１／４Ｔにおいて制約される、本発明による適応フィルタの利得応答を示す図である。
【図１０】適応フィルタの利得および位相応答を制約する本発明による直交射影演算の作用を説明する図である。
【図１１Ａ】コストの低減された直交射影演算の実現形態を示す図である。
【図１１Ｂ】コストの低減された直交射影演算の別の実現形態を示す図である。
【図１１Ｃ】図１１Ｂのコストの低減された直交射影演算において用いられる勾配平均化回路の実現形態を示す図である。
【図１１Ｄ】本発明によるコストの低減された直交射影演算のさらに別の実施の形態を示す図である。
【図１２Ａ】説明されるいくつかの回路図を簡単にするために用いられる左右対称スイッチシンボルを示す図である。
【図１２Ｂ】図１２Ａのスイッチシンボルについて実際のＭＯＳ回路を示す図である。
【図１３】ワンホットＲＮＳシステムにおいて２つの数のモジュロ３桁を加算するための回路図の一例である。
【図１４】ワンホットＲＮＳシステムにおいて２つの数のモジュロ３桁を減算するための回路図の一例である。
【図１５】ワンホットＲＮＳシステムにおいて２つの数のモジュロ３桁を乗算するための回路図の一例である。
【図１６】３、５、７ワンホットＲＮＳシステムにおいて任意のワンホットＲＮＳ入力に整数１０（定数）のＲＮＳ等価表現（１０３）を加算するための回路図の一例である。
【図１７】３、５、７ワンホットＲＮＳシステムにおいて任意のワンホットＲＮＳ入力から整数１０（定数）のＲＮＳ等価表現（１０３）を減算するための回路図の一例である。
【図１８】３、５、７ワンホットＲＮＳシステムにおいて１０を掛けるための回路図の一例である。
【図１９】３、５、７ワンホットＲＮＳシステムにおいて符号を変える（−１を掛ける）ための回路図の一例である。
【図２０】ワンホットＲＮＳシステムにおいて、いくつかの演算を連鎖させるための回路図の一例である。
【図２１】符号のついていない２進数を３、５、７ワンホットＲＮＳシステム表現へと変換する回路のブロック図である。
【図２２】符号のついていない２進数をワンホットＲＮＳシステムのモジュロ３桁およびモジュロ５桁へと変換するための回路の図である。
【図２３】符号のついていない２進数をワンホットＲＮＳシステムのモジュロ３桁へと変換するための別の回路の図である。
【図２４】特定のワンホットＲＮＳ入力ラインの状態が予め決まっている時の、利用可能な回路簡略化（この場合は、加算器の簡略化）を図示する回路図である。
【図２５】最上位ビット第１タイプ回路を用いて、符号のついていない２進数を３、５、７ワンホットＲＮＳ表現へと変換する回路のブロック図である。
【図２６】２の補数である２進数を、その数のワンホットＲＮＳ表現へと変換するためのブロック図である。
【図２７Ａ】１３、５、７、１１、２ワンホットＲＮＳ形式で表現される数Ｘの符号を決めるためのブロック図である。
【図２７Ｂ】ある値のモジュラス（ライン数）の変化を示すために図２７Ａにおいて用いられるシンボルの図である。
【図２８】図２７Ａの減算器Ｄ３０のためにモジュラスを１３から５へと変えるための回路の図である。
【図２９】図２７Ａの減算器Ｄ３６への２つの入力からなる１セットについてモジュラスを１３から２へと変えるための回路の図である。
【図３０Ａ】図２８の回路と図２７Ａの減算器Ｄ３０とのライン０に対する連鎖を図示しており、ライン１は、ｘ２〜ａ１  ｍｏｄ（５）である図である。
【図３０Ｂ】図２８の回路と図２７Ａの減算器Ｄ３０とのライン０に対する連鎖を図示する図である。
【図３０Ｃ】図２８の回路と図２７Ａの減算器Ｄ３０とのライン０に対する連鎖を図示しており、ライン１は、ｘ２〜ａ１  ｍｏｄ（５）である図である。
【図３１】スケーラと、ワンホットＲＮＳシステムにおけるスケーリングの際に失われたＲＮＳ桁の再現とを示すブロック図である。
【図３２】ワンホットＲＮＳ形式で表現された数Ｘを数Ｘの２進表現へと変換する回路の一例を示すブロック図である。
【図３３】２進入力および２進出力を用い、内部でワンホットＲＮＳを用いる転置された直接形式で実施される４タップ有限インパルス応答（ＦＩＲ）フィルタを図示する図である。
【図３４】直接形式でＲＮＳ  ＦＩＲフィルタを実施するのに用いられる加算器のツリーの一部を示す図である。
【符号の説明】
６  ＲＬＬ符号化器
９  ライト回路
１０  プリコーダ
１８  磁気記録チャネル
２０  アナログ受信フィルタ
２２  ＶＧＡ
２４  Ａ／Ｄ変換器
３４  離散時間シーケンス検出器
３６  ＲＬＬ復号化器
５０  利得制御
５２  周波数シンセサイザ
６６  データＳＹＮＣ検出器
Ｂ１００  補間されたタイミングリカバリ
Ｂ１０２  サンプル値
Ｂ１４３  推定されたサンプル値
Ｃ１０３  ＲＮＳ等化器フィルタ
Ｄ１００  ２進／ＲＮＳ変換器
Ｄ１０３  ＲＮＳサンプル値
Ｄ１０４  ＲＮＳスケーラ
Ｄ１１０  ＲＮＳスケーラ
【図１】
0003948801.tif 000119
【図２Ａ】
0003948801.tif 000120
【図２Ｂ】
0003948801.tif 000121
【図３】
0003948801.tif 000122
【図４Ａ】
0003948801.tif 000123
【図４Ｂ】
0003948801.tif 000124
【図５】
0003948801.tif 000125
【図６】
0003948801.tif 000126
【図７】
0003948801.tif 000127
【図８Ａ】
0003948801.tif 000128
【図８Ｂ】
0003948801.tif 000129
【図８Ｃ】
0003948801.tif 000130
【図９Ａ】
0003948801.tif 000131
【図９Ｂ】
0003948801.tif 000132
【図１０】
0003948801.tif 000133
【図１１Ａ】
0003948801.tif 000134
【図１１Ｂ】
0003948801.tif 000135
【図１１Ｃ】
0003948801.tif 000136
【図１１Ｄ】
0003948801.tif 000137
【図１２Ａ】
0003948801.tif 000138
【図１２Ｂ】
0003948801.tif 000139
【図１３】
0003948801.tif 000140
【図１４】
0003948801.tif 000141
【図１５】
0003948801.tif 000142
【図１６】
0003948801.tif 000143
【図１７】
0003948801.tif 000144
【図１８】
0003948801.tif 000145
【図１９】
0003948801.tif 000146
【図２０】
0003948801.tif 000147
【図２１】
0003948801.tif 000148
【図２２】
0003948801.tif 000149
【図２３】
0003948801.tif 000150
【図２４】
0003948801.tif 000151
【図２５】
0003948801.tif 000152
【図２６】
0003948801.tif 000153
【図２７Ａ】
0003948801.tif 000154
【図２７Ｂ】
0003948801.tif 000155
【図２８】
0003948801.tif 000156
【図２９】
0003948801.tif 000157
【図３０Ａ】
0003948801.tif 000158
【図３０Ｂ】
0003948801.tif 000159
【図３０Ｃ】
0003948801.tif 000160
【図３１】
0003948801.tif 000161
【図３２】
0003948801.tif 000162
【図３３】
0003948801.tif 000163
【図３４】
0003948801.tif 000164