(57)【特許請求の範囲】
【請求項１】
デイスク媒体の任意のトラック位置に移動するヘッドと、
前記ヘッドによる媒体上のトラックの所定位置を基準とした位置ずれ量に応じた位置信号を検出する位置信号検出部と、
前記位置信号から、前記位置ずれ量を零に抑圧するように前記ヘッドを移動する制御信号を演算するフィードバック制御部と、
前記制御信号に基づき、前記ヘッドを駆動する駆動部と、
周期性外乱に伴う前記デイスク回転１周分の未知の関数を、前記デイスク媒体の回転１周分の時間をＮ分割した各区間の高さで近似推定した近似関数として、学習アルゴリズムによりＮ個のメモリセルを備えたメモリに獲得する学習制御部とを有し、
前記学習制御部は、
前記学習アルゴリズムに従い、前記媒体回転１周分の時間をＮ分割した時間より短いサンプル周期で、前記位置信号に従う信号をサンプルし、前記信号値に応じて、前記サンプル周期に同期して、前記サンプル時刻に対応する1個または複数個の前記メモリセルを更新とともに、
前記媒体回転１周分の時間をＮ分割した時間より短い出力周期で、前記学習アルゴリズムにより更新対象とするメモリセルよりも所定の時間進み量だけ進んだ時刻に割り当てられたセル位置にある２つのメモリセルの値を読み出し、両メモリセルの値を、補間処理して、前記所定の時間進み量だけ進んだ時刻に対応する周期性外乱補償信号を生成する
ことを特徴とするデイスク装置。
【請求項２】
前記学習制御部の前記学習アルゴリズムは、
前記サンプルされた信号に所定あるいは可変とされるゲインを乗じ、その演算結果を更新前のメモリセル値に加算することによって更新後のメモリセル値を算出することを
特徴とする請求項１のデイスク装置。
【請求項３】
前記学習制御部は、
前記位置信号に従う信号をサンプルし、前記サンプル時刻に近い時刻に割り当てられた１つの前記メモリセルの値を学習アルゴリズムにより更新して、前記未知の関数を学習することを
特徴とする請求項１のデイスク装置。
【請求項４】
前記学習制御部は、
前記位置信号に従う信号をサンプルし、前記サンプル時刻に対応する２つのメモリセルを更新対象として選択し、その値を学習アルゴリズムにより更新して、前記未知の関数を学習することを
特徴とする請求項１のデイスク装置。
【請求項５】
デイスク媒体の任意のトラック位置に移動するヘッドの前記デイスク媒体上のトラックの所定位置を基準とした位置ずれ量に応じた位置信号を検出するステップと、
前記位置信号から、前記位置ずれ量を零に抑圧するように前記ヘッドを移動する制御信号を演算するフィードバック制御ステップと、
前記制御信号に基づき、前記ヘッドを駆動する駆動部を駆動するステップと、
前記媒体回転１周分の時間をＮ分割した時間より短いサンプル周期で、前記位置信号に従う信号をサンプルし、前記信号値に応じて、前記サンプル周期に同期して、前記サンプル時刻に対応する1個または複数個の前記メモリセルを更新するとともに、前記媒体回転１周分の時間をＮ分割した時間より短い出力周期で、前記学習アルゴリズムにより更新対象とするメモリセルよりも所定の時間進み量だけ進んだ時刻に割り当てられたセル位置にある２つのメモリセルの値を読み出し、両メモリセルの値を、補間処理して、前記所定の時間進み量だけ進んだ時刻に対応する周期性外乱補償信号を生成するステップとを有することを
特徴とするトラック追従制御方法。
【請求項６】
前記学習制御部の前記学習アルゴリズムは、
前記サンプル時刻に応じて前記２つのメモリセルに対する第１、第２のゲインを変化し、前記サンプルされた信号に各々第１のゲイン、第２のゲインを乗じ、その演算結果を、更新前の前記２つのメモリセルのメモリセル値の各々に加算して、前記更新対象となる２つのメモリセルを更新し、前記２つのメモリセルの更新バランスを調整することを
特徴とする請求項４のデイスク装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、トラックセンタに対するヘッドの位置ずれ量を小さく（殆ど零）とするようにキャリッジの移動位置をフィードバック制御する制御系において、媒体偏心等の周期性外乱の位置ずれを抑圧するための制御信号を学習制御により求めてフィードフォワード制御するトラック追従制御方法及びデイスク装置に関する。
【０００２】
【従来の技術】
磁気デイスク、光デイスク、光磁気デイスク等のデイスクを記憶媒体として利用したデイスク装置は、広く画像、データ、音楽等の記憶装置として利用されている。このようなデイスク装置では、デイスクのトラックのデータを読み取り、書き込むためには、ヘッドがデイスクのトラックに追従する必要があり、このため、ヘッドのトラックからの位置ずれを検出して、ヘッドをトラックセンタに位置制御するトラック追従制御が必要となる。
【０００３】
近年のデイスクの記憶容量の増大により、デイスクのトラックピッチが高密度化されているため、デイスクの回転に伴う周期的外乱を補償する必要があり、このため、周期的外乱を補償するトラック追従制御が要求される。
【０００４】
このような周期的外乱として、デイスクの偏心が一般的であるが、偏心周波数より高い周波数の周期的外乱が存在する。例えば、光ディスク装置では、光ビームの媒体トラックに対する追従性能を高めるために、固定配置されたガイドレールに対し滑り軸受部で支持されたキャリッジを移動するシーク制御用（粗制御用又はコアース制御用ともいう）のキャリッジアクチュエータと、キャリッジ上に搭載された対物レンズの駆動で光ビームをトラックを横切る方向に移動させるトラッキング制御用（精制御又はファイン制御用ともいう）のトラックアクチュエータと構成されるダブル駆動型のヘッド機構が採用されている。
【０００５】
しかし、最近では装置のコストダウンのために、トラックアクチュエータを廃止してキャリッジアクチュエータのみとしたシングル駆動型のヘッド機構も広く普及している。また、シングル駆動型のヘッド機構では、滑り軸受部からボールベアリングを削除し、部品点数の低減とコントダウンを図っている。
【０００６】
このようなデイスク装置の場合、即ち、ヘッド機構をキャリッジアクチュエータのみのシングル駆動型とし、更にキャリッジの滑り軸受からボールベアリングを除去した場合、トラッキングエラー信号に基づいた光ビームのトラックセンタに対する位置決め制御が、キャリッジ軸受部のもつ固体摩擦の影響を強く受けるようになる。
【０００７】
図３０は、シングル駆動型のキャリッジにおける固体摩擦の特性図である。ここで移動速度Ｖ及び摩擦力Ｆは、キャリッジの移動方向に応じてプラス、マイナスの値をもつ。いまキャリッジの移動速度Ｖがマイナスからプラスに変化する場合を考える。キャリッジがマイナスの値をもつ移動速度Ｖで移動中は、移動速度に関わらず略一定の動摩擦力Ｆ１が発生している。キャリッジのガイドレールに対する移動速度Ｖが零となり、次に反対方向に移動を始める際には、静止摩擦力−Ｆ２を越える駆動力が必要となり、その後、略一定の動摩擦力−Ｆ１となる。
【０００８】
このようなキャリッジの移動速度の反転時には、摩擦力のステップ的な力の変化が制御系に外乱として働き、この外乱を十分補償するためには、一般に帯域の高いフィードバック制御系が必要になる。
【０００９】
キャリッジの移動速度の反転は、デイスク媒体の偏心によるトラックの周期的な位置ずれを補償する偏心追従制御で生ずる。即ち、媒体偏心に追従するようにキャリッジを制御すると、キャリッジのガイドレールに対する動きは偏心周期に同期した往復運動となる。このため媒体の１回転に対して少なくとも２回、キャリッジの移動速度が反転し、その都度、摩擦力のステップ的な力の変化による外乱を受けることになる。
【００１０】
図２９は、クーロン摩擦外乱の影響下でのトラック追従における波形図であり、上から順に、トラック追従のためのポジショナ（キャリッジ）の加速度、摩擦外乱の変化、トラック追従に必要となる理想的なポジショナの駆動電流Ｉidealの波形を示す。ただし、デイスクの回転周期は、１３．３３ｍｓであり、デイスク３回転周期分の波形を表示してある。又、説明の簡単のため、静止摩擦係数と動摩擦係数を等しく、μ＝０．４としている。
【００１１】
図から判るように、高精度なトラック追従を実現するには、ポジショナの加速度発生のための駆動信号だけでなく、摩擦外乱をキャンセルするためのステップ的変化をする駆動信号を含む理想的な駆動信号Ｉidealを必要とする。単純なフィードバック制御系では、その制御帯域の制限により、このような急激な変化を含む駆動信号を生成することは困難である。即ち、ポジショナの機械共振の制限のため、充分な制御帯域を達成できず、その結果、大きなトラッキングエラーを生じる。
【００１２】
図３０に示したように、クーロン摩擦外乱は、ポジショナの速度の関数であるため、ポジショナの速度情報を利用して、補償することが考えられる。しかし、光磁気デイスク装置等のデイスク装置では、レールに対するポジショナの変位を計測するセンサを持たないため、レールに対する速度情報が得られないから、このような補償はできない。このため、デイスク回転に同期する周期的外乱であることに着目し、その補償のため、同期外乱補償信号を学習獲得し、フィードフォワード補償することが提案されている。
【００１３】
このような周期的外乱補償のための代表的な手法として、繰り返し制御が知られている。繰り返し制御では、周期外乱の基本周期を、例えば、フィードバック制御系のサンプリング周期で分割し、各分割周期に対応するメモリを用意し、周期外乱の補償を行う。しかし、光磁気デイスク装置等のデイスク装置では、フィードバック制御系のサンプリング周期は比較的短い。このため、デイスクの回転周期を、サンプリング周期で分割すると、メモリ長が大きくなる。例えば、デイスク回転周期７５Ｈｚ（４５００ｒｐｍ）に対し、サンプリングレートは、５５ｋＨｚであり、メモリ長は７３３となる。１メモリ長の分解能を２５６ビットとすると、１８７ｋｂｉｔの容量を必要とする。
【００１４】
メモリ長を短くするには、繰り返し制御系の分割周期を、フィードバック制御系のサンプリング周期の整数倍とし、サンプリング周期で得られるフィードバック情報を間引くことが考えられるが、フィードバック情報を有効に利用していないため、精度良いフィードフォワード補償信号を学習することが困難となる。
【００１５】
このため、本発明者等は、フィードバック制御系のサンプリング周波数と、学習波形の分割周期（学習結果のメモリ長）を独立に設定しても、フィードバック制御系のサンプル点で得られた情報を有効に学習の収束に利用できる学習制御系を提案した（例えば、ＡＳＰＥ（American Society for Precision Engineering) １９９９  meeting,論文「A Precise Track following Control using a Single-stage Tracking Mechanism for Magneto-optical Disk Drive」)。
【００１６】
この従来の提案を、図３１乃至図３３により、説明する。図３１は、従来のトラック追従制御系の構成図であり、周期性外乱に対する位置ずれ量を零とするためのデイスク媒体回転１周分の未知の関数を、近似推定した近似関数として学習アルゴリズムにより獲得して記憶する学習制御部１０１を設けている。学習制御部１０１は、媒体回転に同期した媒体偏心等の周期性外乱に対する位置ずれ量を零とするための媒体回転１周分の未知の関数を、媒体回転１周分の時間をＮ分割した各区間の短冊Ｃ＾ｉの高さ（図３３）で近似推定した近似関数として学習アルゴリズムにより獲得して記憶する。
【００１７】
学習制御部１０１は、フィードバック演算部１００とトラッキング駆動部１０２との間に設けられ、図３２に示すように、媒体回転１周分の時間をＴL とした場合、媒体１回転の開始時間ｔ＝０から終了時間ｔ＝ＴL で繰り返す未知の駆動電流関数Ｉid（ｔ）を、媒体回転１周分の時間ＴL をＮ分割した区間番号ｉ＝０〜（Ｎ−１）をもつ各区間のＣ＾ｉの高さで近似推定した近似関数Ｉ＾id（ｔ）として学習アルゴリズムにより獲得して記憶する。
【００１８】
学習制御部１０１は、近似関数Ｉ＾idの各区間の短冊の高さＣ＾ｉを格納する複数の記憶セルを備える。フィードバック演算部１００から出力される制御信号ＩＦＢをサンプリングし、サンプリングした制御信号ＩFB、所定の学習ゲインＫlearn に基づき、メモリの各記憶セルに格納した近似関数Ｉ＾id(t) の各区間の短冊の高さＣ＾ｉを、計算し、更新する。
【００１９】
そして、学習制御部１０１は、媒体回転の分割周期Ｔに同期してメモリの記憶セルに格納した近似関数Ｉ＾id(t) の各区間の短冊の高さＣｉを学習制御信号ＩFFとして読み出し、フィードバック演算部１００からの制御信号ＩFBに加算して、駆動部１０２に駆動信号ＩＲＥＦを供給する。
【００２０】
この学習制御部によれば、低い学習ゲインによって、学習結果の収束には多少時間がかかったとしても、最終的に得られる学習結果には、キャリッジ移動方向の反転に伴う帯域の高いステップ的な摩擦外乱の補償信号をも含ませることができる。この学習制御信号をフィードフォーワード制御によりフィードバック系統に加えることで、フィードバック制御系からステップ的な摩擦外乱を除外でき、高次共振の存在により限界があり、制御帯域が低くとも、媒体の偏心に対する追従誤差を低減し、オントラック制御の精度を向上できる。
【００２１】
【発明が解決しようとする課題】
従来技術では、関数近似に使用する矩形関数の数（即ち、メモリ長）Ｎを充分に大きくとれば、充分な精度で関数近似が可能である。しかしながら、更に、メモリ長を短くしたいとの要求がある。この場合には、前述の階段状の近似関数を使用するときに、分割数Ｎを減らす必要がある。分割数Ｎを減らすと、階段状の近似出力が無視できなくなり、これをフィードフォワード補償信号に用いるため、階段状出力がかえって外乱になり、トラック追従精度が低下するという問題が生じる。
【００２２】
又、メモリの学習中に、メモリの学習時刻に対応するセルの学習結果をフィードフォワード出力するため、フィードバック制御系の位相遅れのため、かえってトラック追従精度が低下したり、制御系全体が不安定となる。例えば、ステップ状外乱のような比較的高周波な成分を含む外乱が存在する系で学習を行った場合、学習時刻に対応するセルの学習結果をフィードフォワード出力すると、フィードバック制御系の位相遅れにより、学習が不安定となり、フィードフォワードにより、制御系が不安定となるという問題が生じる。
【００２３】
従って、本発明の目的は、デイスクの回転に伴う、周期性外乱の学習精度を向上するためのデイスク装置及びそのトラック追従制御方法を提供するにある。
【００２４】
本発明の他の目的は、学習メモリ長を短縮するためのデイスク装置及びそのトラック追従制御方法を提供するにある。
【００２５】
本発明の更に他の目的は、学習メモリ長を短縮して、学習時間を減らし、且つ高周波ノイズの影響を低減するためのデイスク装置及びそのトラック追従制御方法を提供するにある。
【００２６】
【課題を解決するための手段】
この目的の達成のため、本発明のトラック追従制御システムは、デイスク媒体の任意のトラック位置に移動するヘッドと、前記ヘッドによる媒体上のトラックの所定位置を基準とした位置ずれ量に応じた位置信号を検出する位置信号検出部と、前記位置信号から、前記位置ずれ量を零に抑圧するように前記ヘッドを移動する制御信号を演算するフィードバック制御部と、前記制御信号に基づき、前記ヘッドを駆動する駆動部と、周期性外乱に伴う前記デイスク回転１周分の未知の関数を、前記デイスク媒体の回転１周分の時間をＮ分割した各区間の高さで近似推定した近似関数として学習アルゴリズムによりＮ個のメモリセルを備えたメモリに獲得する学習制御部とを有する。
【００２７】
そして、前記学習制御部は、前記学習アルゴリズムに従い、前記媒体回転１周分の時間をＮ分割した時間以下のサンプル周期で、前記位置信号に従う信号をサンプルし、前記信号値に応じて、前記サンプル周期に同期して、前記サンプル時刻に対応する1個または複数個の前記メモリセルを更新するとともに、前記媒体回転１周分の時間をＮ分割した時間以下の出力周期で、前記出力時刻に対応するセル位置にある２つのメモリセルの値を読み出し、両メモリセルの値を、前記出力時刻に基づいて補間処理して、周期性外乱補償信号を生成する。
【００２８】
本発明では、学習制御部により、高速なメモリ更新レートと、出力レートと、補間処理を組み合わせることで、第１に、階段状出力を回避し、階段状出力によって高周波外乱をフィードフォワードしてしまう不具合を回避して、高精度なトラック追従制御を実現できる。特に、ＭＯなどのリムーバブルメディアでは、ＨＤＤなどに比べて偏心量が比較的大きいのがひとつの特徴だが、偏心量の大きい媒体を使用する場合、周期性外乱の振幅が大きくなり学習結果の階段状出力の不連続性が顕著になる（つまり一段一段の高さの差が顕著になる）ため、線形補間して平滑化する効果が大きい。
【００２９】
また、メモリ長Ｎによるデイスク回転１周分の時間の分割周期（ＴＬ／Ｎ）よりも細かい学習結果出力周期と、上記線形補間処理の組み合わせにより、非常にスムースな周期性外乱補償信号の出力が可能で、大変高精度なトラック追従制御の実現が可能である。
【００３０】
更に、階段状出力を回避しているので、メモリ長（分割数）を削減可能である。即ち、抑圧したい周期性外乱の周波数範囲（一般にはある周波数以下）に応じて、メモリ長を削減したい要求が、従来よりあったが、従来法では、階段状出力の不具合のために、ある分割数以下にはできなかった。そのため、不必要に高周波な周波数範囲まで学習対象としている場合があった。不必要に高周波な周波数成分まで学習対象とした場合、非周期性外乱の平均化効果が薄れ、学習結果がノイジーになってトラック追従精度が損なわれる場合があった。
【００３１】
また特に、媒体上のある特定の半径方向位置で学習動作を行い、その後は学習結果を固定値としてフィードフォワードする方式をとった場合、高周波な周期性外乱は半径方向位置で異なる場合があり、学習した場所では有効な高周波の周期性外乱が、他の場所では外乱になってしまって、かえってトラック追従精度を損なう原因となる場合があった。このような場合に分割数を減らして、学習対象とする周波数範囲を限定する必要がある。本発明では、従来技術に比べて、大幅にメモリ長（分割数）を減らせるため、このような要求にこたえられる。
【００３２】
しかも、分割数を減らした場合の副次的効果として、不要な高周波ノイズの平均効果の向上により、学習波形出力に含まれる高周波ノイズを減らし、より高精度なトラック追従精度が期待できる。また、高周波な非周期性外乱の平均化効果も期待できる。
【００３３】
また、分割数を減らした場合の第２の副次的効果として、学習の収束時間の短縮がはかれる。例えば、メモリ長を半減した場合、同じ学習ゲインの大きさにおいて、学習の収束に必要な収束時間を半減できる。これは、例えば、媒体挿入後のロードシーケンスなどで外乱学習をする場合、デイスク挿入後から、実際にアクセス可能になるまでの立上げ時間の短縮に寄与できる。
【００３４】
又、本発明では、前記学習制御部の前記学習アルゴリズムが、前記サンプルされた信号に所定あるいは可変とされるゲインを乗じ、その演算結果を更新前のメモリセル値に加算することによって更新後のメモリセル値を算出することにより、簡易なアルゴリズムで高精度の学習ができる。
【００３５】
更に、本発明では、前記学習制御部は、前記学習アルゴリズムにより更新対象とするメモリセルよりも所定の時間進み量だけ進んだ時刻に割り当てられた２つのメモリセルの値を読み出し、両メモリセルの値を補間処理して、前記所定の時間進み量だけ進んだ時刻に対応する周期性外乱補償信号を生成することにより、制御対象の位相遅れ等の時間遅れを考慮し、時間的に進んだ学習結果をフィードフォワード出力するため、いわゆる位相進みフィルタ等を使用する必要はない。このように学習結果のフィードフォワード出力について進み補償を行うことにより、進み補償を行っていない場合の応答波形が振動的になってしまうことを防止し、安定した学習結果を得ることができる。
【００３６】
また、本発明では、前記学習制御部は、前記位置信号に従う信号をサンプルし、前記サンプル時刻に対応する２つのメモリセルを更新対象として選択し、その値を学習アルゴリズムにより更新して、前記未知の関数を学習することにより、補間処理の精度を高めた学習が可能となる。
【００３７】
更に、本発明では、前記学習制御部の前記学習アルゴリズムは、更新対象となる２つのメモリセルを更新するとき、前記サンプル時刻に応じて２つのメモリセルに対する更新ゲインを変化させ、２つのメモリセルの更新バランスを調整することにより、より補間処理の精度を高めた学習が可能となる。
【００３８】
更に、本発明では、前記学習制御部は、前記位置信号に従う信号をサンプルし、前記サンプル時刻に近い時刻に割り当てられた１つの前記メモリセルの値を学習アルゴリズムにより更新して、前記未知の関数を学習することにより、メモリ長を短くしても、未知の関数に効率良く学習でき、計算量を少なくできる。
【００３９】
【発明の実施の形態】
以下、本発明の実施の形態をデイスク装置、フィードバック及び学習制御、他の実施の形態の順で説明する。
【００４０】
［デイスク装置］
図１及び図２は、本発明の一実施の形態のデイスクドライブ機構の構成図であり、光磁気デイスクドライブを例にしてある。ドライブ機構には、スピンドルモータ４０が設けられている。スピンドルモータ４０の回転軸のハブに対しインレットドア（図示せず）よりＭＯ（光磁気）カートリッジを挿入することで、カートリッジ内部のＭＯ媒体６４がスピンドルモータ４０の回転軸のハブに装着されるローディングが行われる。
【００４１】
ヘッド機構は、キヤリッジ６８、対物レンズ７０、固定光学系７２及びミラー７４で構成される。ローディングされたＭＯカートリッジのＭＯ媒体６４の下側には、ＶＣＭ５４により媒体のトラックを横切る方向に移動自在なキャリッジ６８が設けられている。
【００４２】
キャリッジ６８上には、対物レンズ７０が搭載されており、固定光学系７２に設けているレーザダイオードからのビームを立上げミラー７４を介して入射し、ＭＯ媒体６６の媒体面にビームスポットを結像する。対物レンズ７０は、フォーカスアクチュエータ５２により光軸方向に移動制御される。またＶＣＭ５４によるキャリッジ６８のリニア駆動で媒体のトラックを横切る半径方向に光ビームを移動することができる。
【００４３】
キャリッジ６８は、ＶＣＭコイル５４が設けられ、固定側には、磁石５８とヨーク５６が設けられる。これにより、キャリッジ６８のＶＣＭ５４を構成する。キャリッジ６８は、固定配置された２本のガイドレール６０に滑り軸受で支持され、ＶＣＭ５４により、粗制御（コアース）として知られた光ビームを任意のトラック位置に移動させるシーク制御と、シークしたトラック位置で光ビームをトラックセンタに追従させる精制御（ファイン制御）として知られたトラッキング制御を同時に行う。
【００４４】
このようなシングル駆動型のヘッド機構としては、例えば特開平９−３１２０２６号、特開平９−５４９６０号等のものも使用できる。
【００４５】
図３は本発明の一実施の形態のデイスク装置におけるヘッド機構のフィードバック制御系のブロック図であり、図４は、その制御系の構成図、図５は、その学習制御部の機能ブロック図である。この実施形態にあっては、フィードバック制御部とキャリッジ駆動部との間に学習制御部を設けている。
【００４６】
図３において、ヘッド機構のフィードバック制御系は、トラッキングエラー検出部７８、フィードバック制御部８０、学習制御部８２、加算器８４、キャリッジ駆動部（ＶＣＭ）５４、キャリッジ６８で構成される。
【００４７】
トラッキングエラー検出部７８は、キャリッジ６８に搭載した対物レンズ７０による媒体６４からの光ビームの戻り光から、トラックセンタに対する位置ずれ量を表わすトラッキングエラー信号ＴＥＳを作成する。このトラッキングエラー検出部７８の入力には、媒体６４の偏心による偏心外乱が加算点７６から加わる。
【００４８】
フィードバック制御部８０は、トラッキングエラー信号ＴＥＳを受け、トラッキングエラー信号ＴＥＳが零となる、即ち光ビームのトラックセンタに対するずれ量をなくすように、キャリッジ駆動部５４によりキャリッジ６８を移動するフィードバック指令値を計算する。
【００４９】
フィードバック制御部８０は、例えばＰＩＤ演算により制御信号ＩFBを計算し、この制御信号ＩFBは、図２に示したＶＣＭを用いたキャリッジ駆動部５４に対するフィードバック電流指令値となる。
【００５０】
学習制御部８２は、フィードバック制御部８０から出力されたフィードバック電流指令値としての制御信号ＩFBを入力し、媒体の偏心回転に伴う周期性の摩擦外乱および偏心外乱などの追従誤差を抑圧するための未知の駆動電流関数Ｉｉｄの近似関数である学習制御信号Ｉ＾ｉｄを学習則により獲得し、学習結果として得られた学習制御信号Ｉ＾ｉｄによるフィードフォワード信号ＩＦＦを媒体回転に同期して出力する。
【００５１】
このフィードフォワード信号ＩＦＦは、加算器８４でフィードバック制御部８０からの制御信号ＩFBに加算され、駆動信号ＩVCM となり、キャリッジ駆動部５４によるキャリッジ６８の駆動が行われる。即ち、フィードフォワード制御をフィードバック制御系に対し行う。キャリッジ６８には、媒体の偏心回転に伴うキャリッジ６８の往復運動による移動速度の反転に伴い、図２９、図３０に示したような、移動速度ゼロの時点で方向が略ステップ的に変化する大きな摩擦外乱が力外乱として周期的に加わっている。
【００５２】
このフィードバック制御部８０、学習制御部８２、加算部８４は、ハードとして、ＤＳＰ１０等のプロセッサでインプリメントされる。図４は、伝達関数の表現で、このフィードバック制御系の構成を示したものである。図４において、IREFは、ポジショナの駆動指令値、Ｘ，XRO,ｅは、それぞれポジショナの位置、追従制御の対象となるトラック位置、トラック追従誤差を示す。学習制御部８２は、フィードバック制御部８０の出力ＩＦＢを入力とし、周期外乱補償信号の近似関数ＩＦＦを生成する。IFFは、フィードフォワード補償信号として、フィードバック制御出力ＩＦＢに重畳される。
【００５３】
図５は、図３の学習制御部８２の機能ブロック図である。図５において、学習制御部８２は、制御部９２、サンプル処理部９４、近似関数演算部９６、リングバッファメモリ９８、及びフィードフォワード出力部（以下「ＦＦ出力部」という）１００を備える。
【００５４】
制御部９２には、クロック信号Ｅ１と媒体の１回転に同期して得られるインデックス信号Ｅ２が入力している。制御部９２は学習制御部８２の動作モードとして、（１）学習モード，（２）学習結果出力モードを設定する。
【００５５】
学習制御系８２内での具体的処理は、関数近似の時間分解能を与える周期Ｔとは独立に、それより短い任意の周期Ts毎に逐次実行される。本実施例では、Tsはフィードバック制御系のサンプル周期と同一周期で実行されるものとする。また本発明の学習制御系８２は、フィードバックループの任意の直進パスに挿入可能であるが、本実施例では、フィードバック制御系８０の直後に挿入する構成についての実施例を示す。
【００５６】
学習モードは、例えば、媒体を挿入した後のロード処理の際に実行され、学習則に従って周期性外乱補償信号の近似関数となる学習制御信号を学習（更新）しながら、逐次最新の学習結果を媒体回転に同期して出力し、フィードバック制御系に対しフィードフォワード出力として加える。学習結果出力モードでは、学習モードによって予め学習獲得された学習制御信号を媒体回転に同期して出力し、フィードバック制御系に対しフィードフォワード出力として加える。
【００５７】
このため、制御部９２は、学習モードにあってはサンプル処理部９４、近似関数演算部９６、リングバッファメモリ９８、ＦＦ出力部１００を動作し、学習結果出力モードにあってはリングバッファメモリ９８とＦＦ出力部１００を動作する。学習モードにおいては、後述する学習則により、近似関数演算部９６の演算結果は、リングバッファメモリ９８の対応するメモリセルで積分され、同時に、ＦＦ出力部１００が同じく対応するリングバッファメモリ９８のメモリセルの演算結果を読み出し、図３の加算器８４により加算してフィードバック制御系に加えるフィードフォワード制御を行っている。
【００５８】
本実施例では、フィードバック制御系８０と学習制御系８２のサンプル周期を同一周期Tsとしているので、図６に示すような一連の処理を、Ts毎に実行することになる。これらの処理は、最近ではすべてディジタル演算によって行われることが一般的であり、例えば固定小数点ＤＳＰ１０上のファームウェアで実現される。
【００５９】
図６に、学習モードにおいて、周期Ｔｓ毎に、学習制御部８２で行われる処理の流れを示す。学習結果出力モードの処理は、図２４で後述する。図６において、フィードバック演算処理は、フィードバック制御系の演算であり、例えば、エラー計算と、ＰＩＤフィルタ処理からなる。
【００６０】
学習処理は、リングメモリ９８の更新処理であり、図５の近似関数演算部９６が、インデックス信号Ｅ２が得られたときの時間ｔ＝０から次にインデックス信号が得られるまでの１回転の周期ＴL 中の時間経過について、学習アルゴリズムにより更新するメモリセル番号（セルアドレスｉ）を算出し、リングバッファメモリ９８内の算出されたメモリアドレスに格納されている値を読み出し、サンプル処理部９４の出力値を用いて前記読み出し値の更新演算を行い、更新結果を再び元のメモリセルに書き込む。
【００６１】
学習結果出力処理は、学習出力対象となるメモリセル番号の選択、学習制御出力値ＩＦＦの演算、出力値の出力を行う。学習モードに従った学習処理が終了すると、学習結果出力モードに移行する。学習結果出力モードは、図２４で説明するように、前記学習モードにおける学習処理を省略して、リングバッファメモリの更新を行わず、出力のみを行うモードである。
【００６２】
学習結果出力モードにあっては、制御部９２はリングバッファメモリ９８とＦＦ出力部１００を動作し、媒体１回転ごとに得られるインデックス信号Ｅ２に同期して、学習モードにおけるサンプリング周期Ｔsと同じ読出周期でリングバッファメモリ９８の各メモリセルに格納されている学習結果としての学習制御信号を読み出し、
ＦＦ出力部１００より出力値を計算し、図４の加算器８４に出力する。加算器８４は、そのときフィードバック制御部８０より得られている制御信号ＩFBに加算し、キャリッジ駆動部８６に駆動電流ＩVCM を流してキャリッジ８８を媒体偏心に伴う周期的な摩擦外乱を抑圧するフィードフォワード制御を行う。
【００６３】
ＦＦ出力部１００は、読み出し信号の線形補間を行い、周期Ｔｓ毎の出力値を演算する。このため、滑らかな出力が得られる。又、学習処理の安定性を保証するため、ＦＦ出力部１００でリングバッファメモリ９８に格納したそのときの学習結果をフィードバック制御系に出力する際に、制御対象の位相遅れ等の時間遅れを考慮し、時間的に進んだ学習結果をフィードフォワード出力する。
【００６４】
この時間的に進んだ学習結果のフィードフォワード出力のために、いわゆる位相進みフィルタ等を使用する必要はない。学習制御部８２では、時間ｔに対応してフィードフォワード出力となる電流パターンを管理しているため、制御対象の位相遅れを考慮した進み時間に対応してメモリセルを選択して、そのときの学習結果を出力すればよい。このように学習結果のフィードフォワード出力について進み補償を行うことにより、進み補償を行っていない場合の応答波形が振動的になってしまうことを防止し、安定した学習結果を得ることができる。
【００６５】
［フィードバック及び学習制御］
次に、フィードバック及び学習制御を説明する。まず、１つのメモリセルを更新対象とする場合について、ＤＳＰ１０の各処理について，図７乃至図１０を用いて、説明する。
【００６６】
［１．１つのメモリセルを更新対象とする場合の処理］
Ａ．フィードバック制御系の演算
ＡＤ変換器（図示せず）により、トラッキングエラー信号（TES）をサンプリングし、例えばＰＩＤ制御系のような従来同様のフィードバック制御演算を行って、フィードバック制御系の出力ＩＦＢを算出する。
【００６７】
Ｂ．学習処理（メモリ更新処理）
▲１▼学習アルゴリズムにより更新する対象メモリセル番号の選択
デイスク回転に同期した時刻ｔ（０≦ｔ＜ＴＬ,ＴＬはデイスク回転周期）に基づいて、学習アルゴリズムにより更新する対象となるメモリセルを選択する。時刻ｔはデイスク１回転毎に初期化されるタイマによって計時され、該タイマを読み出すことによって得る。
【００６８】
学習結果は、図７のような長さＮのリングバッファ９８に格納される。図７は各メモリセルと時刻ｔとの関係を模式的に示している。図のようにＮ個のメモリセルが、デイスク１周期の時間に、等時間間隔Ｔで割り当てられている。○印は、図６に示した一連のフィードバック制御演算および学習制御演算を行うサンプリング周期Tsを示している。
【００６９】
前記タイマより読み出した時刻ｔに基づき、例えば、下記の演算を行うことによって、更新対象となるメモリセル番号ｉｕ（図７ではｃ＾ｉの添え字ｉの番号に相当）を選択する。
【００７０】
ｉｕ＝ｆｌｏｏｒ（ｔ／Ｔ）                            （１）
ただし、ｆｌｏｏｒ（ｘ）関数は、引数ｘと等しいかそれより小さい最大の整数値を示す。例えば（  ）内の引数ｘが（０≦ｘ＜１．０）であった場合には、ｆｌｏｏｒ（ｘ）＝０となる。また（  ）内の引数ｘが（１．０≦ｘ＜２．０）であった場合には、ｆｌｏｏｒ（ｘ）＝１となる。時刻ｔは媒体１回転ごとに得られるインデックス信号によりリセットされ、従って０≦ｔ＜ＴL の値をもつ。
【００７１】
従って、図７に示すように、現在時刻ｔにしたがって、時間Ｔ毎のメモリセルが順次選択される。即ち、（１）式によって選択されたメモリセルに格納されている値ｃ＾ｉｕのみが、次の▲２▼の学習則によって更新される。その他のメモリセルに含まれる値は更新されない。
【００７２】
▲２▼対象メモリセルの更新（学習）
(1)式で選択されたメモリセル番号ｉｕに格納されている値ｃ＾ｉｕを、(2)式のように更新する。
【００７３】
ｃ＾ｉｕ（Ｎ）＝ｃ＾ｉｕ（Ｌ）＋ｋ・Ｔｓ・ＩＦＢ        （２）
ただし、ｃ＾ｉｕ（Ｌ）は，更新する前の値、ｃ＾ｉｕ（Ｎ）は，更新後の値を示し、メモリセル番号ｉｕのメモリセルには、更新後の値ｃ＾ｉｕ（Ｎ）が書き込まれる。また、ｋは学習ゲイン、Tsはサンプル周期である。学習処理は以上である。
【００７４】
Ｃ.学習結果出力処理（メモリ出力処理）
▲１▼出力対象となるメモリセル番号の選択
図８に示すように、先に述べたように学習結果の出力にあたっては、学習の収束の安定性を確保するために進み時間補償Δｔｌを加味して、（３）式のように出力対象セルのメモリセル番号ｉｏを決定する。
ｉｏ＝ｆｌｏｏｒ（（ｔ＋Δｔｌ）／T)                    （３）
次に、線形補間するため、このメモリセルの隣のメモリセルも選択する。Δｔｌを加算しているため、(3)式のｉｏはＮ−１以上になることがある。その場合には、リングバッファ９８の先頭に戻って該当するメモリセルを選択する。
【００７５】
従って、選択される２つのメモリセル番号ｉｏ１，ｉｏ２は、以下の（４）式で表される。
if  ｉｏ≦Ｎ−２  then  ｉｏ１＝ｉｏ，ｉｏ２＝ｉｏ＋１
if  ｉｏ＝Ｎ−１  then  ｉｏ１＝N−１，ｉｏ２＝０
if  ｉｏ≧Ｎ  then  ｉｏ１＝ｉｏ−Ｎ，ｉｏ２＝ｉｏ１＋１  （４）
線形補間することで階段状の出力が回避され、特にメモリ長を少なくした時に効果がある。学習結果の出力において、連続する二つのメモリセルを線形補間することによって、従来法での階段状の出力による不連続出力による不具合を回避できる。
【００７６】
図８は、図７と同一の制御サンプル時刻における出力対象セルの選択を示す模式図である。図７では式（１）に従って学習対象としてｃ＾ｎが選択されているが、図８では進み時間補償Δｔｌを加味しているため、次のセルｃ＾ｎ＋１が選択されている。ただし、Δｔｌ＜Ｔに設計された場合（例えば分割数Ｎを減らした場合には、Ｔはそれに反比例して大きくなる）には、制御サンプルのタイミングによって、学習対象となるセルと出力対象となるセルが同一になる場合もある。
【００７７】
この第１の実施の形態において、Δｔｌを設計する時に、Ｔ／２を差し引いておくことにより、更新対象のメモリセルと出力時のメモリセルとがずれることを防止でき、学習収束の安定を達成できる。即ち、更新メモリセルの選択タイミングと出力メモリセルの選択タイミングの間の時間関係を矛盾なく、更に学習制御対象となるフィードバック制御系の閉ループ特性も考慮した適切な調整が可能となり、学習収束の安定化を実現できる。
【００７８】
▲２▼学習制御系出力値ＩＦＦの算出
時間Ｔ間隔で定義されるふたつのメモリセル値を線形補間する場合、（ΔT, IFF）＝（0, ｃ＾ｉｏ１）と（ΔT, IFF）＝（T, ｃ＾ｉｏ２）を通る直線の式に従って出力すればよい。つまり、次式（５）のような計算で達成される。
0004265874.tif 000002
但し、ΔＴは、（３）式のｉｏを使用し、
ΔＴ＝（ｔ＋Δｔｌ）−ｉｏ×Ｔ
である。
【００７９】
Ｄ．学習制御系出力値とフィードバック制御出力の加算
Ｃ▲２▼で求めたＩＦＦとＡで計算されたＩＦＢを加算合成して、（６）式のようにＶＣＭ駆動信号ＩＶＣＭを得る。
【００８０】
IVCM＝ＩＦＦ＋ＩＦＢ                                    （６）
図９は、媒体１回転の駆動電流関数の説明図である。図９のように媒体１回転の周期ＴＬをＮ分割し、その分割の境界点にＮ個のメモリセルを割り当て、それぞれのメモリセルの値をその時点での近似値とし、それらの間を直線補間して（すなわち折れ線近似）、近似関数を生成する。
【００８１】
ここで、Ｎ分割した各区間の時間幅Ｔは、Ｔ＝ＴＬ／Ｎとなる。別の言い方をすると、メモリセルに保存される値は、折れ線近似の各頂点の高さを表す。図９の電流パターンをＮ点で折れ線近似したそれぞれの頂点の高さは、Ｃ＾i（ただし、ｉ=0,1,…(N-1) ）である。
【００８２】
これらの折れ線近似のそれぞれの頂点の高さＣ＾iは、（１）、（２）式によって、各頂点（メモリセル）に対応する時間区間内のフィードバック制御信号ＩＦＢを、該当する頂点高さに積算していくことにより、学習が進行される。
【００８３】
（１）式に示すように、ｔの値に応じて、ｉを決定し、つまり学習対象とする頂点の高さＣ＾ｉを選択し、その時の制御信号の値ＩＦＢ（ｔ）を入力とした積分演算を行う。この（２）式に従った学習則によれば、学習則の入力であるＩＦＢが略ゼロになるまで、各頂点の高さＣ＾ｉが積分されていくので、学習収束後は、各頂点の高さＣ＾０〜Ｃ＾（Ｎ−１）を直線補間して折れ点近似した近似関数Ｉ＾repeatは、未知の駆動電流関数Ｉrepeatを近似した関数になる。
【００８４】
そして、このような学習処理中において、同時に最新の学習結果Ｉ＾repeatが逐次、学習制御系から出力され、キャリッジ６８を駆動するキャリッジ駆動部５４の駆動電流ＩＶＣＭに直接入れこまれるため、フィードバック制御系からみると周期性外乱が消滅したように見える。
【００８５】
このような学習による周期性外乱補償方法は、学習結果を得るための学習ゲインがローゲインであっても、最終的に得られる学習制御信号は、Ｎ分割した各区間の時間幅Ｔで制限される範囲内で周波数帯域の高い信号、厳密には周期性をもつ繰り返し外乱に対する周波数帯域の高い補償信号を含ませることができる。
【００８６】
例えば、媒体回転数を４５００ｒｐｍとすると、回転周波数は７５Ｈｚであり、１回転の周期ＴＬは、１３．３ｍｓｅｃであり、１周期ＴL を例えばＮ＝１２８分割したとする。この場合、短冊１個当たりの時間幅Ｔは，Ｔ＝ＴL ／Ｎ＝１０４．２μｓｅｃとなる。
【００８７】
したがって、学習制御部８２に対するフィードバック制御部８０からの制御信号ＩＦＢのサンプリング周波数を５５ｋＨｚ、即ちサンプリング周期Ｔｓ＝１８．１８μsecとすると、Ｎ分割した各区間の時間幅Ｔの中で約５回、制御信号ＩＦＢのサンプリングが行われることになる。即ち、媒体１回転あたり、各頂点の高さ（各メモリセルの値）は約５回ずつ、（２）式の学習演算を行うことになる。
【００８８】
図１０は、この学習方法をより具体的に説明する説明図である。図１０では、区間[０≦ｔ< T]について説明しているが、簡単のため、制御系のサンプル周期TsはTの1/4としている。図１０（ａ）はｔ=0の状態を示しており、学習を未だまったく行っていなく、ｃ＾０，ｃ＾１がともに０の場合を示す。
【００８９】
そして、区間[０≦ｔ< T]の間、つまり図１０（ａ）〜(ｄ)の間、ｃ＾１は更新せず、ｃ＾０のみを更新することになる。また、それぞれのサンプル点では、その時刻におけるエラー値ｅ０，ｅ１，ｅ２，ｅ３，ｅ４がそれぞれ学習の積分演算の入力となる。例えば、図１０（ｄ）に示すｔ＝３Ｔｓの場合、エラーｅ３を入力として、ｃ＾０の値を積分演算し、黒丸を白丸に更新する。
【００９０】
このような学習結果を線形補間することで、階段状の出力が回避され、特にメモリ長を少なくした時に効果がある。学習結果の出力において、連続する二つのメモリセルを線形補間することによって、階段状の出力による不連続出力による不具合を回避できる。
【００９１】
さて、図１０の説明では、学習制御系を追加するフィードバック制御系の位相遅れなどを無視できる理想的な状態で説明した。本発明の基本原理は、図１０で示すように、学習誤差信号を周期信号の周期に同期して積分演算を行いながら、未知の周期信号の信号波形を写し取る、周期信号パターンの学習機構である。前述のように、各頂点の高さＣ＾ｉを学習誤差信号の積分演算により更新していき、最終的に学習誤差が略ゼロとなるような近似信号を得るものである。
【００９２】
この図では、学習制御系の出力がまったく遅れなく、学習誤差信号に反映される理想的な場合を示している。しかし、これをディスク装置のトラック追従制御系などに適用した図４のような場合、学習誤差信号は、ＩＦＢになる。このように、ディスク装置などの実際のフィードバック制御系に本発明の学習制御系を適用した場合には、学習結果出力であるＩＦＦがＩＦＢに反映されるまでのパスに、「フィードバック制御系のＩＦＦからＩＦＢまでの閉ループ特性」が存在するため、学習結果出力が即座に学習誤差信号に反映されるようにはならない。この遅れが、学習結果を振動的になってトラック追従制御精度を悪化させる原因になったり、遅れが大きい場合には、学習が不安定になる場合がある。従ってこの遅れを考慮し、この遅れを補償する機能を学習制御系に持たせることによって、遅れのない状態に近い状態にする。
【００９３】
すなわち、ＦＦ出力部１００で、リングバッファメモリ９８に格納したそのときの学習結果をフィードバック制御系に出力する際に、制御対象の位相遅れ等の時間遅れを考慮し、時間的に進んだ学習結果をフィードフォワード出力する。
【００９４】
この時間的に進んだ学習結果のフィードフォワード出力のために、いわゆる位相進みフィルタ等を使用する必要はなく、学習制御部８２では、時間ｔに対応してフィードフォワード出力となる電流パターンを管理しているため、制御対象の位相遅れを考慮した進み時間に対応してメモリセルを選択して、そのときの学習結果を出力する。
【００９５】
このように学習結果のフィードフォワード出力について進み補償を行うことにより、進み補償を行っていない場合の応答波形が振動的になってしまうことを防止し、安定した学習結果を得ることができる。
【００９６】
図１１は、本発明の第２の学習アルゴリズムの説明図、図１２は、その近似関数の説明図、図１３は、学習動作の説明図である。この実施の形態は、図７で説明した更新対象メモリセルの選択方法を改良し、線形補間出力を考慮した学習アルゴリズムに変更することで、効率的学習（効率的メモリ更新）を可能とし、学習時間の短縮を図るものである。特に、学習ゲインを高く設定して高速な学習を狙った時に効果が大きくなる。また、収束後の波形の収束誤差を小さくできる。
【００９７】
前述の第１の実施の形態では、図１０から明らかなように、ｔ=３Tｓの場合、ｃ＾１が割り当てられているｔ=T(=4Ts)のほうにより時間的に近いため、ｃ＾０の値を更新するより、ｃ＾１の値を更新したほうが効率的に目標となる近似直線（未知）に接近できるはずである。
【００９８】
図１３は、図１０と同様、区間[０≦ｔ< T]について、簡単のため、制御系のサンプル周期TsはTの1/4としている。図１３（ａ）はｔ=0の状態を示しており、学習を未だまったく行っていなく、ｃ＾ｏ，ｃ＾１がともに０の場合を示す。
【００９９】
そして、区間[０≦ｔ< Tｓ]の間、つまり図１３（ａ）〜(ｂ)の間、ｃ＾１は更新せず、ｃ＾０のみを更新することになる。区間[２Ｔｓ≦ｔ≦ ４Tｓ]の間、つまり図１３（ｃ）〜(ｅ)の間、ｃ＾０は更新せず、ｃ＾１のみを更新することになる。また、それぞれのサンプル点では、その時刻におけるエラー値ｅ０，ｅ１，ｅ２，ｅ３，ｅ４がそれぞれ学習の積分演算の入力となる。例えば、図１３（ｄ）に示すｔ＝３Ｔｓの場合、エラーｅ３を入力として、ｃ＾１の値を積分演算し、黒丸を白丸に更新する。
【０１００】
即ち、より時間的に近い方のメモリセルを更新するように、メモリセルの選択方式を改善したのが、この第２の方法である。第２の方法の更新対象メモリセル選択方法によれば、現在時刻からより近い方のメモリセル１個を更新対象として選べる。
【０１０１】
図１３では、(ａ),(ｂ)に示すサンプル点では、ｃ＾０がより時間的に近いと判断され、更新対象とされ、(ｃ),(ｄ),(ｅ)ではｃ＾１が更新対象とされる。このようにより近い時刻に割り当てられたメモリセルを更新対象とすることによって、図１３、図１０を見比べても明らかなように、より効率的に収束することが可能となる。
【０１０２】
このため、図１１（Ａ）に示すように、更新対象セル番号ｉｕを（１）式から、下記（８）式に変更する。
【０１０３】
ｉ＝ｆｌｏｏｒ（（ｔ＋Ｔ／２）／Ｔ）
if  ｉ≦Ｎ−１  ｔｈｅｎ  ｉｕ＝ｉ
if  ｉ＝Ｎ    ｔｈｅｎ  ｉｕ＝０                      （８）
この（８）式では、ｆｌｏｏｒ（ｘ）関数（引数ｘの値と等しいか、それより小さい整数に丸める）を使用した表現になっているため、時刻ｔにＴ／２を足した表現になっているが、結局、先に述べたように、時刻ｔに一番近くに割り当てられているメモリセルを選択する処理である。従って、（８）式は、下記（８−１）式と等価であり、図１１（Ａ）は、図１１（Ｂ）によっても表現できる。
【０１０４】
ｉ＝ｒｏｕｎｄ（ｔ／Ｔ）
ｉｆ  ｉ≦Ｎ−１  ｔｈｅｎ  ｉｕ＝ｉ
ｉｆ  ｉ＝Ｎ      ｔｈｅｎ  ｉｕ＝０              （８−１）
但し、ｒｏｕｎｄ（ｘ）関数は、引数ｘに最も近い整数に丸める（所謂、四捨五入する）関数である。
【０１０５】
本発明の線形補間を用いる学習制御系では、図９により説明したように、メモリセルに保存する値は、Ｎ分割された時間領域の境界に位置する各折れ点の高さを示す。図８及び式（３）、（４）、（５）で説明した出力処理における線形補間処理は、この折れ点での値を補間する処理になっている。
【０１０６】
第１の実施の形態におけるメモリ更新方法においては、更新対象とするメモリセルの選択のタイミングは、図７で説明したようになっており、図８に示す出力時のメモリセルと時間スケールとの関係と比較すると、Ｔ／２だけずれた関係になってしまう。このような時間の矛盾が、学習を不安定にさせてしまうことがある。
【０１０７】
一方、第２の実施の形態のメモリ更新方法として示した式（８）或いは式（８−１）の方式では、図１１（Ｂ）に示すようなメモリ更新のタイミングとなる。従って、図８に示される出力時のメモリセルと時間スケールとの対応関係と一致した関係となる。第２の実施の形態では、このように時間スケールとの対応関係の矛盾を解消した上で、図８に示すように、フィードバック制御系の閉ループ特性による位相遅れを補償する時間進み補償Δｔｌを施すので、第１の実施の形態に比べ、より安定に学習を収束することができる。
【０１０８】
尚、前述したように、第１の実施の形態においても、Δｔｌを設計する時に、その値を第２の実施の形態よりもＴ／２小さい値とすることにより（Ｔ／２を差し引くことによって、△Ｔｌが負になることもある。）、同様に、更新対象のメモリセルと出力時のメモリセルとがずれることを防止でき、学習収束の安定を達成できる。即ち、更新メモリセルの選択タイミングと出力メモリセルの選択タイミングの間の時間関係を矛盾なく、更に学習制御対象となるフィードバック制御系の閉ループ特性も考慮した適切な調整が可能となり、学習収束の安定化を実現できる。
【０１０９】
次に、２つのメモリセルを同時に更新する場合について、ＤＳＰ１０の各処理について，図１４乃至図１９を用いて、説明する。
【０１１０】
［２．２つのメモリセルを同時に更新する場合の処理］
次に、２つのメモリセルを同時に更新する第３の実施形態について、説明する。本発明では図９に示したように、メモリセルに保存した各頂点の高さを折れ線近似する方法をとっているが、第３の実施形態では、線形補間による近似の性質を、より正確に考慮して、学習収束の高速化、高精度化をはかっている。以下、第３の実施形態におけるＤＳＰ１０の各処理について、説明する。
【０１１１】
Ａ．フィードバック制御系の演算
前述のメモリセルの更新の場合と同様、ＡＤ変換器（図示せず）により、トラッキングエラー信号（TES）をサンプリングし、例えばＰＩＤ制御系のような従来同様のフィードバック制御演算を行って、フィードバック制御系の出力ＩＦＢを算出する。
【０１１２】
Ｂ．学習処理（メモリ更新処理）
▲１▼学習アルゴリズムにより更新する対象メモリセル番号の選択
デイスク回転に同期した時刻ｔ（０≦ｔ＜ＴＬ,ＴＬはデイスク回転周期）に基づいて、学習アルゴリズムにより更新する対象となるメモリセルを選択する。時刻ｔはデイスク１回転毎に初期化されるタイマによって計時され、該タイマを読み出すことによって得る。
【０１１３】
学習結果は、前述の場合（図７）と同様、図１４のような長さＮのリングバッファ９８に格納される。また○印は図７と同様、図６に示した一連のフィードバック制御演算および学習制御演算を行うサンプリング周期Tsを示している。
【０１１４】
ただし、各メモリセルと時刻ｔとの対応関係は、図７の場合とは異なる。図１２に、隣り合う２つのメモリセルの値C^n、C^(n+1)で表わされる頂点A、Bおよびその直線補間である直線ABを示す。頂点A（nT, C^n）, 頂点B（ (n+1)T, C^(n+1) ）を通る直線の式は、
IFF(t) = C^n + [ ( C^(n+1) - C^n ) / T ] ×ΔT           （９）
ただし、ΔT ＝ t - nTとなる。
【０１１５】
式（９）を変形すると、
IFF(t) =  C^n × （ １ − ΔT／T ） ＋ C^(n+1) × ΔT／T
=   IFF(n) + IFF(n+1)                        （１０）
である。ここで、（１０）式の右辺第一項、第二項は、それぞれ図１２の直線AD、直線BCを示す式になっている。すなわち、頂点A、Bを直線補間した近似直線は、式（１０）より明らかなように、直線AD,直線BCを加算合成したものである。
【０１１６】
以上は、区間 nT <=  t  <  (n+1)Tでの直線近似の説明であるが、他の区間でもまったく同じことになる。したがって、図９のような折れ線近似関数は、結局、図１９に示すように、高さC^iで底辺が２Tの、N個の二等辺三角形関数を、間隔Tで配置し、それらの総和をとった関数と等価になる。すなわち、
【０１１７】
【数１】
0004265874.tif 000003
である。ただしΛi(t) は以下のように定義される高さ１の三角形関数である。まず、図１５（Ａ）に示すような基本三角形関数 Λ(t)を次のように定義する。
【０１１８】
【数２】
0004265874.tif 000004
Λi(t)は次式で示すように、基本三角形関数 Λ(t)を時間方向にＴ間隔で移動したものである。
【０１１９】
【数３】
0004265874.tif 000005
ここで，ＴはＮ個の三角形関数を配置する時間間隔であるので、T = TL / N である。ただし、Λ0(t)はリングバッファの境界に位置するので、例外的に、以下のように定義される。
【０１２０】
【数４】
0004265874.tif 000006
この高さ１で底辺が２Tの三角形関数であるΛ0(t)〜ΛN-1(t)は、それぞれに対応するメモリセルに記憶される頂点の高さC^0〜C^(N-1)が、（１１）式で表わされる直線近似関数I＾repeat(t)に対して、どの程度関与するかを表わす重みを与えている。すなわち（１２）、（１４）式および図１２、図１５（Ａ），（Ｂ）より明らかなように、それぞれのメモリセルの値は、そのメモリセルが割り当てられている頂点位置では、１倍すなわち１００％の影響を与え、頂点位置からの時間距離が±Tを超える範囲では影響を与えない。また、±Tの範囲においては頂点位置から遠ざかるにつれて、線形に重みが減衰する特徴がある。
【０１２１】
第３の実施形態においては、後述するように、線形補間のこの特徴を考慮した学習ゲインを設定し、折れ線近似型の学習における収束の高速化、高精度化を図る。
【０１２２】
そして、図１４に示すように、現在時刻tが含まれる時間範囲の両端の境界点に割り当てられた２つのメモリセルが、学習アルゴリズムによる更新対象メモリセルとして選択される。
【０１２３】
更新対象となるメモリセル番号の決定にあっては、前記タイマより読み出した時刻ｔに基づき、例えば、下記（１５）式の演算を行うことによって、更新対象となる２つのメモリセルに対応するメモリセル番号（ｉｕ１，ｉｕ２）を決定する。
ｉｕ１＝ｆｌｏｏｒ（ｔ／Ｔ）
ｉｕ２＝ｉｕ１＋１    ｉｆ  ｉｕ１＜Ｎ−１
ｉｕ２＝０        ｉｆ  ｉｕ１＝Ｎ−１                  （１５）
ただし，ｆｌｏｏｒ(ｘ)関数は、引数ｘと等しいかそれより小さい最大の整数値を返す。この式（１５）に従って、図１４に示すように、現在時刻tにしたがって、隣り合う２つのメモリセルが順次選択される。ただし、ｉｕ１がN-1となった場合には、（１５）式のようにｉｕ２は０（リングバッファの先頭）となる。
【０１２４】
この場合、（１５）式によって選択された２つのメモリセルに格納されている値ｃ＾ｉｕ１，ｃ＾ｉｕ２のみが、次の▲２▼で学習則によって更新される。その他のメモリセルに含まれる値は更新されない。
【０１２５】
▲２▼対象メモリセルの更新（学習）
▲１▼の(１５)式で選択された２つの値ｃ＾ｉｕ１，ｃ＾ｕｉ２を、下記(１６)式のように同時に更新する。
【０１２６】
0004265874.tif 000007
ただし、λは、同時に更新する２つの値の更新比率を与える重み係数であり、０≦λ＜１である。また、ｋは学習ゲイン、Tsはサンプル周期である。
【０１２７】
λは現在時刻ｔを使用して、以下（１７）式のように決定される。
【０１２８】
λ＝ΔＴ／Ｔ＝（ｔ−ｉｕ１・Ｔ）／Ｔ                 （１７）
この関係を図示すると、図１６のようになる。図１６では、ｉｕ１=ｎ、ｉｕ２=n+1となった場合を示している。λは該当時間区間ｎＴ≦ｔ＜（ｎ＋１）Ｔにおいて、現在時刻ｔと、両端の境界時刻との距離がどのような比率になっているかを与える重み係数である。（１６）式による更新後の値ｃ＾ｉｕ１，ｃ＾ｉｕ２をリングバッファ９８に書き戻す。
【０１２９】
Ｃ.学習結果出力処理（メモリ出力処理）
▲１▼出力対象となるメモリセル番号の選択
先に述べたように学習結果の出力にあたっては、学習の収束の安定性を確保するために進み時間補償Δｔｌを加味して、前述の（３）式のように出力対象セルのメモリセル番号ｉｏを決定する。
【０１３０】
ｉｏ＝ｆｌｏｏｒ（（ｔ＋Δｔｌ）／T)                （３）
次に、線形補間するため、このメモリセルの隣のメモリセルも選択する。Δｔｌを加算しているため、(3)式のｉｏはＮ−１以上になることがある。その場合には、リングバッファ９８の先頭に戻って該当するメモリセルを選択する。
【０１３１】
従って、選択される２つのメモリセル番号ｉｏ１，ｉｏ２は、前述の（４）式で表される。
if  ｉｏ≦Ｎ−２  then  ｉｏ１＝ｉｏ，ｉｏ２＝ｉｏ＋１
if  ｉｏ＝Ｎ−１  then  ｉｏ１＝N−１，ｉｏ２＝０
if  ｉｏ≧Ｎ  then  ｉｏ１＝ｉｏ−Ｎ，ｉｏ２＝ｉｏ１＋１  （４）
線形補間することで階段状の出力が回避され、特にメモリ長を少なくした時に効果がある。学習結果の出力において、連続する二つのメモリセルを線形補間することによって、従来法での階段状の出力による不連続出力による不具合を回避できる。
【０１３２】
出力対象メモリセルの選択にあたっては、進み時間補償Δｔｌを加味しているため、前述の「Ｂ．学習処理」プロセスで選択される更新対象メモリセルと、ここで選択される出力対象メモリセルと異なる場合がある。図８は、図１４と同じ制御サンプルにおける出力対象メモリセルの選択方法を示している。図１４では、更新メモリセルの組として、ｃ＾ｎ、ｃ＾ｎ＋１が選択されるが、図８では、進み時間補償Δｔｌを加味しているため、次のセルの組ｃ＾ｎ＋１、ｃ＾ｎ＋２が選択される例を示している。Δｔｌ＞＝Ｔの場合には、更新されるメモリセルの組と、出力用のメモリセルの組は常時異なる。一方、Δｔｌ＜Ｔに設計された場合には、制御サンプルのタイミングによって、学習対象となるセルの組と出力対象となるセルの組が同一になる場合もある。
【０１３３】
T=TL/Nであり、デイスクの回転周期TLと未知関数を表現する時間分解能を与えるメモリ数Nに依存して決められるが、一方、Δｔｌは対象となる制御系の位相遅れの補償のために導入されるものであるため、この大小関係は適用される対象によって一般に異なる。
【０１３４】
▲２▼学習制御系出力値ＩＦＦの算出
三角形関数を基本関数として近似関数を表現する場合、▲１▼で選択されたメモリセルの値を使用して、下記（１８）式の演算を行い、出力ＩＦＦを計算する。
【０１３５】
ＩＦＦ＝ｃ＾ｉｏ１・（１−λｏ）＋ｃ＾ｉｏ２・λｏ    （１８）
ただし、λｏは、下記（１９）式で求める。
【０１３６】
0004265874.tif 000008
ここで、ｔは現在時刻、Δｔｌは、進み時間補償値である。
【０１３７】
図１７は、図１６と同一のサンプル時刻における出力演算処理を説明しているものである。出力処理においては、進み時間補償値Δｔｌを加味した時刻（t+Δtｌ）を使用して、出力対象とするメモリセルの選択、および出力演算処理を行う。図１６の学習処理では、現在時刻ｔに基づくため、区間ｎT≦ｔ＜（ｎ＋１）Ｔが更新対象となり、セルの組ｃｎ＾，ｃ＾ｎ＋１が更新対象セルとなったが、図１７の出力演算処理の例では、次のセルの組ｃ＾ｎ＋１、ｃ＾ｎ＋２が出力演算処理の対象となる。
【０１３８】
図中に示している三角形関数Λi(t)（これらは高さ１であることに注意）は、それぞれの時間区間でそれぞれのメモリセルの値を補間するための重みを与えていると考えられる。(１９)式の演算は、時刻（t+Δtｌ）におけるその重みの一つλO（＜１）を求める演算であり、(１８)式によって、両メモリセルを線形補間した値を算出する。
【０１３９】
Ｄ．学習制御系出力値とフィードバック制御値の加算
前述と同様、Ｃ▲２▼で求めたＩＦＦとＡで計算されたＩＦＢを加算合成して、前述の（６）式のようにＶＣＭ駆動信号ＩＶＣＭを得る。
【０１４０】
IVCM＝ＩＦＦ＋ＩＦＢ                                    （６）
図１８は、２つのメモリセルを更新する学習動作の説明図である。第２の実施形態（図１１乃至図１３）では、単により近い方のメモリセル値を更新対象に選んでいたにすぎないが、２つのメモリセルを更新したこの実施の形態では、両側のメモリセルの値の更新ゲインを、現在時刻との時間的距離に応じて連続的に変化させるものである。
【０１４１】
つまり、現在時刻での補間値出力における両側のメモリセル値の関与の度合いを考慮して、両側のメモリ値の更新ゲインを変更する。前述したように、線形補間式（１８）に示すように、λｏ（＝ΔＴ／Ｔ）が関与の度合いを示す係数となる。
【０１４２】
学習式（１６）は、このλを考慮して、両側のメモリセルを更新することを示している。図１８の例で説明する。図１８（ａ）では、ΔT＝０なので、λ＝０、すなわち、
ｃ＾０（Ｎ）＝ｃ＾０（Ｌ）＋ｋ・Ｔｓ・１・ｅ０
ｃ＾１（Ｎ）＝ｃ＾１（Ｌ）＋ｋ・Ｔｓ・０・ｅ０
となり、図１８（ａ）のようにｃ＾０だけが更新される。ｃ＾１は明らかに関与しないため、更新されない。
【０１４３】
図１８（ｂ）では、 ΔT＝Ts＝T/4なので、λ=1/4 すなわち、
ｃ＾０（Ｎ）＝ｃ＾０（Ｌ）＋ｋ・Ｔｓ・３／４・ｅ１
ｃ＾１（Ｎ）＝ｃ＾１（Ｌ）＋ｋ・Ｔｓ・１／４・ｅ１
となる。すなわち、エラーの3/4に比例する値がｃ＾０に振り分けられて積算され、残りの１／４に比例する値が、ｃ＾１に振り分けられる。近さの度合いに合せて、積算量を調整している。
【０１４４】
図１８（ｃ）では、 ΔT＝2Ts＝T/2なので、λ=1/2 すなわち、
ｃ＾０（Ｎ）＝ｃ＾０（Ｌ）＋ｋ・Ｔｓ・１／２・ｅ２
ｃ＾１（Ｎ）＝ｃ＾１（Ｌ）＋ｋ・Ｔｓ・１／２・ｅ２
となる。すなわち、エラーの１／２に比例する値がｃ＾０，ｃ＾１に均等に振り分けられる。
【０１４５】
メモリセル両者の丁度中央の時刻であるので、均等に両者を積算するのは理にかなっている。
【０１４６】
図１８（ｄ）では、 ΔT＝３Ts＝３T/４なので、λ=３/４，すなわち、
ｃ＾０（Ｎ）＝ｃ＾０（Ｌ）＋ｋ・Ｔｓ・１／４・ｅ３
ｃ＾１（Ｎ）＝ｃ＾１（Ｌ）＋ｋ・Ｔｓ・３／４・ｅ３
となる。
【０１４７】
すなわち、エラーの1/4に比例する値がｃ＾０に振り分けられ、残りの３／４に比例する値が、ｃ＾１に振り分けられる。
【０１４８】
以上のようにこの実施の形態では、メモリ更新している現在時刻に応じて、線形補間の特性を考慮して、積算量を振り分けているので、より効率的に目標とする未知関数の特性に収束できる。
【０１４９】
図２０は、従来技術と、第１乃至第３の実施の形態を比較するための説明図である。第１乃至第３の実施形態では、従来技術に比し、出力補間処理と進み補償を行うため、フィードフォワード出力が滑らかとなり、且つフィードバック制御系の遅れを補償しているため、メモリ長が短くても、高精度の学習が可能である。又、学習処理を比較すると、線形補間の特性を考慮していない第１の実施の形態では、学習ゲインを適切に選べば、最終的には収束可能であるが、その収束過程においては無駄なプロセスを踏み、その結果、収束過程においては、学習出力があばれて不都合を生じたり、また、収束に至るまでの時間が長くかかったりするおそれがある。
【０１５０】
これに対し、第３の実施の形態では、そのような学習出力の不必要なあばれなどを回避して、すみやかに収束する学習制御系の構築が可能である。また、第２の実施の形態は、その中間に位置し、第３の実施の形態よりはすくない計算量で、比較的効率的な収束が得られる。実用的には、第２の実施の形態も有効性の高い方法といえる。
【０１５１】
図２１乃至図２３は、シュミレーション結果を示す図である。図２１は、フィードバック制御系のみで制御した場合のトラック追従誤差を示す比較例である。この場合、１次偏心を±４０μｍ、２次偏心を±２０μｍを合成して与えている。図２２は、同一条件で、従来技術の学習制御系を付加した場合の比較例であり、図２３は、第３の実施の形態の学習制御系を付加した実施例である。図２２、図２３とも、いずれも、１周を３２分割し、時刻０より学習を開始しており、上段は、トラック追従誤差ＴＥＳ，下段は、学習結果（フィードフォワード信号）ＩＦＦを示す。
【０１５２】
学習ゲインは、両者とも同一としてあるため、学習の進行のトレンドは、ほぼ同様であるが、図２２は、学習結果が階段状となっているため、学習がほぼ収束しても、トラック追従誤差ＴＥＳが振動し、ある程度以上の精度は得られない。一方、図２３の実施例では、学習結果は滑らかであり、学習がほぼ収束すると、トラック追従誤差ＴＥＳの振動は現れない。
【０１５３】
このように学習結果のフィードフォワード出力について、補間処理と進み補償を行うことにより、応答波形が振動的になってしまうことを防止し、安定した学習結果を得ることができる。
［他の実施の形態］
図２４は、本発明の他のフィードバック制御処理の説明図である。図６の例では、学習処理（B）をしながら、フィードフォワード出力処理（C）を同時に行う場合を示したが、図２４では、例えばディスクがドライブに新しく挿入された直後などにあらかじめ、学習処理を行って、リングバッファメモリ９８に学習結果を保存しておき、その後のリード・ライト処理中は、リングバッファ９８の固定値のフィードフォワード処理を行う。即ち、図６、学習処理Bを省略した図２４のような処理を行う。各処理の中身は、前述の処理と同一処理となる。
【０１５４】
本発明では、図６に示す処理をし続けても良いし、特定の時間だけ図６の処理を行って、その後は、リングバッファ中の値を固定値として使用して、図２４のような処理に移行してもよい。
【０１５５】
MOドライブなど、ランダムアクセスが頻繁な装置では、トラック追従制御の間に煩雑にシーク制御が入る。また、スチル状態の時には、トラックジャンプ（キックバック）なども入る。このような実際の装置においては、後者のような運用方法が実現容易である。
【０１５６】
一方、CDやDVDなどのように、比較的大きなファイルを連続して読み出す用途などでは、図６の処理をし続ける方法も実現しやすい。
【０１５７】
また、リングバッファメモリ９８の初期状態についても、いくつかのバリエーションが考えられる。デイスク挿入直後など、始めて学習する場合には、リングバッファメモリ９８の初期値はオールゼロで学習開始するのが基本的と考えられるが、その後は、既に学習された値を格納した状態を初期状態として、学習を開始することによって、学習収束時間の短縮が図れる。
【０１５８】
また、図３のように、学習制御部８２をフィードバック制御部８０とキャリッジ駆動部５４との間に設けた場合には、フィードバック制御部８０から出力されるキャリッジ駆動部５４に対するフィードバック電流そのものを学習対象としているため、フィードバック電流と同じ次元を持つ補償信号の学習結果が得られる。このため、ノイズの少ない波形が学習でき、また学習結果がフィードバック電流そのものであることから、シーク制御、オントラック制御、キックバック制御等の際に、直接フィードバック制御系にフィードフォワード電流として出力して利用できる利点がある。
【０１５９】
図２５は、本発明の記憶装置のヘッドの位置決め制御系の第２の実施形態のブロック図である。この第２実施形態にあっては、学習制御部１０４をトラッキングエラー検出部７８とフィードバック制御部８０との間に設けている。
【０１６０】
トラッキングエラー検出部７８からのトラッキングエラー信号ＴＥＳを学習制御部１０４に入力して学習処理し、学習結果として得られた学習トラッキングエラー信号ＴＥＳ＾repeatを加算点１０６でトラッキングエラー検出部７８からのトラッキングエラー信号ＴＥＳに加え、フィードバック信号ＴＥＳFBとしてフィードバック制御部８０に入力している。
【０１６１】
この学習制御部１０４は、トラッキングエラー信号ＴＥＳを入力して学習し、学習制御信号として学習トラッキングエラー信号ＴＥＳ＾repeatを出力する以外の基本的な構成は、図５の第１実施形態と同じである。
【０１６２】
この図２５の学習制御部１０４による学習アルゴリズムは、図５に示した第１実施形態における周期性のフィードバック電流の代わりに、トラッキングエラー信号ＴＥＳを対象に１周期ごとの時間関数を定義し、同様にＮ分割した各矩形関数、三角形関数の高さＣｉ＾として近似関数ＴＥＳ＾repeat（ｔ）を求めている。
【０１６３】
図２６は、図４の学習制御部８２を備えたデイスク装置における位置決め制御のフローチャートである。まずステップＳ１で装置に媒体をロードすると、ステップＳ２で所定の媒体ロードシーケンスに従った媒体ロード処理が実行される。この媒体ロード処理において、新たに本発明の学習制御部８２によるステップＳ３の学習モードによる処理が実行される。
【０１６４】
この学習モードによる学習処理の終了は、学習回数、学習時間、トラッキングエラー信号ＴＥＳの評価等で学習収束が判断される。例えば、学習の終了判定を時間設定で行う場合、学習開始後のデイスクの回転回数をカウントし、規定回数で終了とする。
【０１６５】
ステップＳ４で学習終了がチェックされると、ステップＳ５に進み、学習結果出力モードの処理に移行する。この学習結果出力モードにあっては、ステップＳ３で獲得された学習結果を固定値としてフィードバック制御系にフィードフォワード出力することになる。
【０１６６】
このため、ステップＳ６以降のシーク制御及びトラッキング制御にあっては、学習結果に基づくフィードフォワード出力によって、媒体の回転に同期した偏心外乱、特に媒体偏心に対応したキャリッジの往復移動に伴う移動速度ゼロのタイミングで起きるピーク的な摩擦外乱が効果的に抑圧され、フィードバック制御系から見ると、周期外乱のない安定した制御環境が得られている。
【０１６７】
ステップＳ５の学習結果出力モード以降の処理にあっては、ステップＳ６でシーク制御があれば、ステップＳ７に進み、キャリッジを目標トラックに向けて速度制御して位置決めするシーク処理いわゆる粗制御（コアース制御）を行い、このシーク制御によってステップＳ８で目標トラックにオントラックすると、ステップＳ９で目標トラックセンタに光ビームを追従させるトラッキング制御を行う。
【０１６８】
このステップＳ５の学習結果出力モードの処理に対応したステップＳ６−Ｓ９のシーク制御またはオントラック制御は、ステップＳ１０で媒体排出が判別されるまで繰り返され、媒体排出があると再びステップＳ１に戻り、次の媒体ロードをもってステップＳ３の学習モードによる学習処理を改めて行うことになる。またステップＳ１１で終了指示があれば一連の処理を終了する。
【０１６９】
ここで学習制御部８２によるステップＳ４の学習モードによる処理は、近似関数の獲得動作時において、デイスク半径方向位置の複数箇所で、それぞれの箇所に対する近似関数の獲得動作を行う。このとき学習制御部８２は、複数箇所での近似関数獲得動作に、既に別の箇所で獲得された近似関数が存在する場合、既に存在している近似関数データを初期値として学習アルゴリズムを適用する。
【０１７０】
また学習制御部８２は、学習後のフィードフォワード時となるステップＳ５の学習結果出力モードの処理にあっては、その時の半径方向位置に応じて使用する近似関数を選択し、フィードフォワードする。
【０１７１】
例えば、デイスクの内周から外周までの間に１５０００本のトラックがある例を考える。まず、中周付近となる７５００本目付近で近似関数獲得動作を行う。次に、内周付近での近似関数獲得のために、２５００本目付近にシーク移動し、２５００本目付近で、別に用意されている内周用の近似関数獲得のためのメモリセルを使用して、近似関数獲得動作を行う。
【０１７２】
次に、外周付近の近似関数獲得のために１２５００本目付近にシーク移動し、１２５００本目付近で、別に用意されている外周用の近似関数獲得のためのメモリセルを使用して、近似関数獲得動作を行う。デイスク回転１００回で、学習が終わるとすると、例えば、７５００本目で行う学習は、７５００本目から７６００本目の間で行われる。
【０１７３】
その後に行われる内周での学習においては、その近似関数は中周で獲得された関数とほぼ等しいものと考えられるので、近似関数の初期値（メモリセルの各値の初期値）をゼロから開始するのではなく、中周での学習結果を、内周のメモリセルにコピーし、それを初期値として学習を開始することにより、学習の短縮ができ、例えば、デイスク回転５０回で終了することができる。外周での学習も、同様に学習時間の短縮が可能になる。
【０１７４】
以上を例えば、媒体ロード時に行う。内周用、中周用、外周用の３つの近似関数が用意される。以後の稼動状態においては、１から５０００本目までのトラックに移動して、リード・ライト動作をする場合には、２５００本目付近で獲得された近似関数をフィードフォワードする。
【０１７５】
また５００１本目から１００００本目までのトラックに移動して、リード・ライト動作をする場合には、７５００本目付近で獲得された近似関数をフィードフォワードする。更に１０００１本目から１５０００本目までのトラックに移動して、リード・ライト動作する場合には、１２５００本目付近で獲得された近似関数をフィードフォワードする。
【０１７６】
以上により、例えば、中周付近１個所で得られた近似関数を、内周から外周までの全域で用いる場合に比べて、デイスクのトラックの真円度が内周と外周で異なっていたり、スピンドル回転に伴う周期外乱の位相や振幅の内外周での差が無視できなかったり、精粗一体型の構造を持つピックアップを使用する場合、内周と外周で摩擦の大きさが異なる場合があっても、より高精度なトラック追従動作が行える。
【０１７７】
図２７は，図５の学習制御部８２における学習モードの際の学習処理のフローチャートである。この学習処理にあっては、まずステップＳ２１で、媒体１回転ごとに得られるインデックスの有無をチェックしており、インデックスが得られるとステップＳ２２に進み、現在時刻ｔをｔ＝０にリセットし、ステップＳ２３でサンプルタイミングか否かチェックする。
【０１７８】
サンプルタイミングであれば、ステップＳ２４で制御信号としての電流指示値ＩFBをサンプリングし、ステップＳ２５でそのときの時刻ｔから前述のように、メモリセルのアドレスｉ（図２０に示した第１、第２の実施の形態では、１つ、第３の実施の形態では、２つ）を計算し、ステップＳ２６でセルアドレスｉの格納値ｃ＾［ｉ］を読み出す。
【０１７９】
続いて，ステップＳ２７で，新たな格納値ｃ＾［ｉ］を算出し、ステップＳ２８でメモリのセルを新たに演算した格納値を記憶して更新する。続いてステップＳ２９で、出力用に算出したセルアドレス，即ち制御時間ΔＴl分だけ先の２つのセルアドレスの格納値を読み出して、それを線形補間して、フィードバック制御系にフィードフォワード出力を行う。このようなステップＳ２１−Ｓ２９の処理を、ステップＳ３０で学習終了条件，例えば予め設定した学習時間に達するまで繰り返す。
【０１８０】
図２８は、図５の学習制御部８２の学習結果出力モードにおけるフィードフォワード出力処理のフローチャートである。このフィードフォワード出力処理にあっては、ステップＳ３１で，媒体１回転ごとに得られるインデックスの有無をチェックしており、インデックスが得られると、ステップＳ３２で現在時刻ｔをｔ＝０にリセットし、ステップＳ３３で出力タイミングか否かチェックする。
【０１８１】
この出力タイミングは、例えば図２７の学習モードの際のサンプリング周期Ｔsと同じ出力周期で決まるタイミングとする。ステップＳ３３で出力タイミングが判別されると、ステップＳ３４で，現在時刻ｔに進み時間Δｔｌを加算した時間に基づくメモリセルのアドレスｉ，ｉ＋１の計算を行い、ステップＳ３５で２つのセルアドレスの格納値を読み出して、線形補間して、フィードバック制御系にフィードフォワード出力を行う。そしてステップＳ３６で媒体排出があるか、あるいはステップＳ３７で装置の終了指示があれば、フィードフォワード出力を終了する。
【０１８２】
尚、上記の実施形態は光学的記憶装置を例にとるものであったが、磁気的記憶装置や他の適宜の記憶方式の装置に適用でき、デイスクは、円盤形状のもののみならず、カード形状のものを含む。また本発明は上記の実施形態に限定されず、その目的と利点を損なわない適宜の変形を含む。また本発明は上記の実施形態の数値による限定は受けない。
【０１８３】
（付記１）デイスク媒体の任意のトラック位置に移動するヘッドと、前記ヘッドによる媒体上のトラックの所定位置を基準とした位置ずれ量に応じた位置信号を検出する位置信号検出部と、前記位置信号から、前記位置ずれ量を零に抑圧するように前記ヘッドを移動する制御信号を演算するフィードバック制御部と、前記制御信号に基づき、前記ヘッドを駆動する駆動部と、周期性外乱に伴う前記デイスク回転１周分の未知の関数を、前記デイスク媒体の回転１周分の時間をＮ分割した各区間の高さで近似推定した近似関数として学習アルゴリズムによりＮ個のメモリセルを備えたメモリに獲得する学習制御部とを有し、前記学習制御部は、前記学習アルゴリズムに従い、前記媒体回転１周分の時間をＮ分割した時間以下のサンプル周期で、前記位置信号に従う信号をサンプルし、前記信号値に応じて、前記サンプル周期に同期して、前記サンプル時刻に対応する1個または複数個の前記メモリセルを更新するとともに、前記媒体回転１周分の時間をＮ分割した時間以下の出力周期で、前記出力時刻に対応するセル位置にある２つのメモリセルの値を読み出し、両メモリセルの値を、前記出力時刻に基づいて補間処理して、周期性外乱補償信号を生成することを特徴とするデイスク装置。
【０１８４】
（付記２）前記学習制御部の前記学習アルゴリズムは、前記サンプルされた信号に所定あるいは可変とされるゲインを乗じ、その演算結果を更新前のメモリセル値に加算することによって更新後のメモリセル値を算出することを特徴とする付記１のデイスク装置。
【０１８５】
（付記３）前記学習制御部は、前記学習アルゴリズムにより更新対象とするメモリセルよりも所定の時間進み量だけ進んだ時刻に割り当てられた２つのメモリセルの値を読み出し、両メモリセルの値を補間処理して、前記所定の時間進み量だけ進んだ時刻に対応する周期性外乱補償信号を生成することを特徴とする付記１のデイスク装置。
【０１８６】
（付記４）前記学習制御部は、前記位置信号に従う信号をサンプルし、前記サンプル時刻に対応する２つのメモリセルを更新対象として選択し、その値を学習アルゴリズムにより更新して、前記未知の関数を学習することを特徴とする付記１のデイスク装置。
【０１８７】
（付記５）前記学習制御部の前記学習アルゴリズムは、更新対象となる２つのメモリセルを更新するとき、前記サンプル時刻に応じて２つのメモリセルに対する更新ゲインを変化させ、２つのメモリセルの更新バランスを調整することを特徴とする付記４のデイスク装置。
【０１８８】
（付記６）前記学習制御部は、前記位置信号に従う信号をサンプルし、前記サンプル時刻に近い時刻に割り当てられた１つの前記メモリセルの値を学習アルゴリズムにより更新して、前記未知の関数を学習することを特徴とする付記１のデイスク装置。
【０１８９】
（付記７）付記１において、前記学習制御部は、装置に対する前記媒体の挿入直後のタイミングで学習制御を行い、学習後のトラッキング制御時に、学習結果を出力して周期性外乱を除去するフィードフォワード制御を行うことを特徴とするデイスク装置。
【０１９０】
（付記８）付記７において、前記学習制御部は、学習後のトラックジャンプ時及びシーク制御時に、学習結果を出力して周期性外乱を除去するフィードフォワード制御を行うことを特徴とするデイスク装置。
【０１９１】
（付記９）付記１において、前記学習制御部は、前記近似関数の獲得動作時において、デイスク半径方向位置の複数箇所で、それぞれの箇所に対する近似関数の獲得動作を行い、前記学習後のフィードフォワード時においては、その時の半径方向位置に応じて、使用する近似関数を選択し、フィードフォワードすることを特徴とするデイスク装置。
【０１９２】
（付記１０）付記９において、前記学習制御部は、複数箇所での近似関数獲得動作に関し、既に別の箇所で獲得された近似関数が存在する場合、既に存在している近似関数データを初期値として学習アルゴリズムを適用することを特徴とするデイスク装置。
【０１９３】
（付記１１）付記１において、前記ヘッドは、媒体のトラックを横切る方向に移動自在なキャリッジ上に対物レンズをフォーカス制御自在に搭載し、前記キャリッジの移動により光ビームをトラックに追従させるトラッキング制御と光ビームを任意のトラック位置に移動するシーク制御の両方を行う精粗一体制御型の構造を備えたことを特徴とするデイスク装置。
【０１９４】
（付記１２）デイスク媒体の任意のトラック位置に移動するヘッドの前記デイスク媒体上のトラックの所定位置を基準とした位置ずれ量に応じた位置信号を検出するステップと、前記位置信号から、前記位置ずれ量を零に抑圧するように前記ヘッドを移動する制御信号を演算するフィードバック制御ステップと、前記制御信号に基づき、前記ヘッドを駆動する駆動部を駆動するステップと、前記媒体回転１周分の時間をＮ分割した時間以下のサンプル周期で、前記位置信号に従う信号をサンプルし、前記信号値に応じて、前記サンプル周期に同期して、前記サンプル時刻に対応する1個または複数個の前記メモリセルを更新するとともに、前記媒体回転１周分の時間をＮ分割した時間以下の出力周期で、前記出力時刻に対応するセル位置にある２つのメモリセルの値を読み出し、両メモリセルの値を、前記出力時刻に基づいて補間処理して、周期性外乱補償信号を生成する学習制御ステップとを有することを特徴とするデイスク装置のトラック追従制御方法。
【０１９５】
（付記１３）付記１２のデイスク装置のトラック追従制御方法において、前記学習制御ステップは、前記位置信号に従う信号をサンプルし、前記サンプル時刻に対応する２つの前記メモリセルの値を更新して、前記未知の関数を学習することを特徴とするデイスク装置のトラック追従制御方法。
【０１９６】
（付記１４）付記１２のデイスク装置のトラック追従制御方法において、前記学習制御ステップは、前記位置信号に従う信号をサンプルし、前記サンプル時刻に近い時刻の前記メモリセルの値を更新して、前記未知の関数を学習することを特徴とするデイスク装置のトラック追従制御方法。
【０１９７】
（付記１５）前記学習制御ステップは、装置に対する前記媒体の挿入直後のタイミングで学習制御を行い、学習後のトラッキング制御時に、学習結果を出力して周期性外乱を除去するフィードフォワード制御を行うことを特徴とする付記１２のデイスク装置のトラック追従制御方法。
【０１９８】
（付記１６）前記学習制御ステップは、学習後のトラックジャンプ時及びシーク制御時に、学習結果を出力して周期性外乱を除去するフィードフォワード制御を行うことを特徴とする付記１５のデイスク装置のトラック追従制御方法。
【０１９９】
（付記１７）前記学習制御ステップは、前記近似関数の獲得動作時において、デイスク半径方向位置の複数箇所で、それぞれの箇所に対する近似関数の獲得動作を行い、前記学習後のフィードフォワード時においては、その時の半径方向位置に応じて、使用する近似関数を選択し、フィードフォワードすることを特徴とする付記１２のデイスク装置のトラック追従制御方法。
【０２００】
（付記１８）付記１２のデイスク装置のトラック追従制御方法において、前記学習制御ステップの更新ステップは、前記サンプルされた信号に所定あるいは可変とされるゲインを乗じ、その演算結果を更新前のメモリセル値に加算することによって更新後のメモリセル値を算出することを特徴とするデイスク装置のトラック追従制御方法。
【０２０１】
（付記１９）付記１２のデイスク装置のトラック追従制御方法において、前記学習制御ステップは、前記学習アルゴリズムにより更新対象とするメモリセルよりも所定の時間進み量だけ進んだ時刻に割り当てられた２つのメモリセルの値を読み出し、両メモリセルの値を補間処理して、前記所定の時間進み量だけ進んだ時刻に対応する周期性外乱補償信号を生成することを特徴とするデイスク装置のトラック追従制御方法。
【０２０２】
（付記２０）付記１２のデイスク装置のトラック追従制御方法において、前記学習制御ステップの更新ステップは、前記位置信号に従う信号をサンプルし、前記サンプル時刻に対応する２つのメモリセルを更新対象として選択し、その値を学習アルゴリズムにより更新して、前記未知の関数を学習することを特徴とするデイスク装置のトラック追従制御方法。
【０２０３】
【発明の効果】
以上説明したように、本発明によれば、学習制御部により、高速なメモリ更新レートと、出力レートと、補間処理を組み合わせることで、第１に、階段状出力を回避し、階段状出力によって高周波外乱をフィードフォワードしてしまう不具合を回避して、高精度なトラック追従制御を実現できる。特に、MOなどのリムーバブルメディアでは、HDDなどに比べて偏心量が比較的大きいのがひとつの特徴だが、偏心量の大きい媒体を使用する場合、周期性外乱の振幅が大きくなり学習結果の階段状出力の不連続性が顕著になる（つまり一段一段の高さの差が顕著になる）ため、線形補間して平滑化する効果が大きい。又、所定の時間進み量だけ進んだ時刻に対応する周期性外乱補償信号を生成することにより、制御対象の位相遅れ等の時間遅れを考慮し、時間的に進んだ学習結果をフィードフォワード出力するため、いわゆる位相進みフィルタ等を使用する必要はない。このように学習結果のフィードフォワード出力について進み補償を行うことにより、進み補償を行っていない場合の応答波形が振動的になってしまうことを防止し、安定した学習結果を得ることができる。
【０２０４】
また、メモリ長Ｎによるデイスク回転１周分の時間の分割周期（ＴＬ／Ｎ）よりも細かい学習結果出力周期と、上記線形補間処理の組み合わせにより、非常にスムースな周期性外乱補償信号の出力が可能で、大変高精度なトラック追従制御の実現が可能である。
【０２０５】
更に、階段状出力を回避しているので、メモリ長（分割数）を削減可能である。即ち、抑圧したい周期性外乱の周波数範囲（一般にはある周波数以下）に応じて、メモリ長を削減したい要求が、従来よりあったが、従来法では、階段状出力の不具合のために、ある分割数以下にはできなかった。そのため、不必要に高周波な周波数範囲まで学習対象としている場合があった。不必要に高周波な周波数成分まで学習対象とした場合、非周期性外乱の平均化効果が薄れ、学習結果がノイジーになってトラック追従精度が損なわれる場合があった。また特に、媒体上のある特定の半径方向位置で学習動作を行い、その後は学習結果を固定値としてフィードフォワードする方式をとった場合、高周波な周期性外乱は半径方向位置で異なる場合があり、学習した場所では有効な高周波の周期性外乱が、他の場所では外乱になってしまって、かえってトラック追従精度を損なう原因となる場合があった。このような場合に分割数を減らして、学習対象とする周波数範囲を限定する必要がある。本発明では、従来技術に比べて、大幅にメモリ長（分割数）を減らせるため、このような要求にこたえられる。
【０２０６】
しかも、分割数を減らした場合の副次的効果として、不要な高周波ノイズの平均効果の向上により、学習波形出力に含まれる高周波ノイズを減らし、より高精度なトラック追従精度が期待できる。また、高周波な非周期性外乱の平均化効果も期待できる。
【０２０７】
また、分割数を減らした場合の第2の副次的効果として、学習の収束時間の短縮がはかれる。例えば、メモリ長を半減した場合、同じ学習ゲインの大きさにおいて、学習の収束に必要な収束時間を半減できる。これは、例えば、媒体挿入後のロードシーケンスなどで外乱学習をする場合、デイスク挿入後から、実際にアクセス可能になるまでの立上げ時間の短縮に寄与できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態のデイスクドライブの斜視図である。
【図２】図１のドライブの断面図である。
【図３】フィードバック制御部と駆動部との間に学習制御部を設けた本発明の第１実施形態のブロック図である。
【図４】図３の制御系の構成図である。
【図５】図４の学習制御部の機能ブロック図である。
【図６】図３の制御系の学習モードにおける処理の説明図である。
【図７】本発明の第１の実施の形態の学習処理の説明図である。
【図８】本発明の第１の実施の形態の学習結果出力処理の説明図である。
【図９】本発明の第１の実施の形態の直線補間による折れ線近似法の説明図である。
【図１０】本発明の第１の実施の形態の学習動作の説明図である。
【図１１】本発明の第２の実施の形態の学習処理の説明図である。
【図１２】本発明の第２の実施の形態の直線補間の説明図である。
【図１３】本発明の第２の実施の形態の学習動作の説明図である。
【図１４】本発明の第３の実施の形態の学習処理の説明図である。
【図１５】本発明の第３の実施の形態の三角形関数による線形補間の説明図である。
【図１６】本発明の第３実施の形態の学習動作の説明図である。
【図１７】本発明の第３の実施の形態の線形補間処理と時間進み補償の関係の説明図である。
【図１８】本発明の第３の実施の形態の学習過程の説明図である。
【図１９】本発明の第３の実施の形態の三角形関数の合成による折れ線近似法の説明図である。
【図２０】従来技術と本発明の各実施の形態の学習処理の比較図である。
【図２１】比較例としてのフィードバック制御系のみのトラッキングエラー信号の波形図である。
【図２２】比較例としての従来の学習制御による学習開始から終了までのトラッキングエラー信号及びフィードフォワード信号の波形図である。
【図２３】本発明の実施例の学習制御による学習開始から終了までのトラッキングエラー信号及びフィードフォワード信号の波形図である。
【図２４】本発明の他の制御系の学習結果出力モードの説明図である。
【図２５】トラッキングエラー検出部とフィードバック制御部との間に学習制御部を設けた本発明の第２の実施形態のブロック図である。
【図２６】図３の媒体処理のフローチャート図である。
【図２７】図２６の学習制御部の学習モード時のフローチャート図である。
【図２８】図２６の学習結果出力モードのフローチャート図である。
【図２９】固定摩擦による周期性外乱を打ち消すための理想的なポジショナ駆動電流の説明図である。
【図３０】シングル駆動型のヘッド機構における移動速度に対する固定摩擦の特性図である。
【図３１】従来の学習制御の構成図である。
【図３２】従来の学習制御の説明図である。
【図３３】従来の学習関数の説明図である。
【符号の説明】
１０：ＤＳＰ
５４：ＶＣＭ（ボイスコイルモータ）
６４：ＭＯ媒体
６８：キャリッジ
７０：対物レンズ
７２：固定光学系
７６：トラッキングエラー検出部（位置信号検出部）
７８，８４，１０５：加算部
８０：フィードバック演算部
８２，１０４：学習制御部
９２：制御部
９４：サンプル処理部
９６：近似関数演算部
９８：リングメモリ
１００：フィードフォワード出力部（ＦＦ出力部）
【図１】
0004265874.tif 000009
【図２】
0004265874.tif 000010
【図３】
0004265874.tif 000011
【図４】
0004265874.tif 000012
【図５】
0004265874.tif 000013
【図６】
0004265874.tif 000014
【図７】
0004265874.tif 000015
【図８】
0004265874.tif 000016
【図９】
0004265874.tif 000017
【図１０】
0004265874.tif 000018
【図１１】
0004265874.tif 000019
【図１２】
0004265874.tif 000020
【図１３】
0004265874.tif 000021
【図１４】
0004265874.tif 000022
【図１５】
0004265874.tif 000023
【図１６】
0004265874.tif 000024
【図１７】
0004265874.tif 000025
【図１８】
0004265874.tif 000026
【図１９】
0004265874.tif 000027
【図２０】
0004265874.tif 000028
【図２１】
0004265874.tif 000029
【図２２】
0004265874.tif 000030
【図２３】
0004265874.tif 000031
【図２４】
0004265874.tif 000032
【図２５】
0004265874.tif 000033
【図２６】
0004265874.tif 000034
【図２７】
0004265874.tif 000035
【図２８】
0004265874.tif 000036
【図２９】
0004265874.tif 000037
【図３０】
0004265874.tif 000038
【図３１】
0004265874.tif 000039
【図３２】
0004265874.tif 000040
【図３３】
0004265874.tif 000041