(57)【要約】【課題】ＨＤＤにおいて、アクチュエータの振動を効果的に抑える。【解決手段】本実施形態のＨＤＤにおいて、ＨＤＣ／ＭＰＵ２３は、サーボ・ループ上で動作しているアダプティブ・チェイシング・ノッチ・フィルタ２３３の幅を零にセットする。さらに、幅を０に維持しながら、アダプティブ・チェイシング・ノッチ・フィルタ２３３の内部変数を参照して、アクチュエータ１６の発振周波数の推定とその推定結果に応じた中心周波数の変更を繰り返し行う。ＨＤＣ／ＭＰＵ２３は、発振周波数の推定と中心周波数の変更とが終了した後に、ノッチ・フィルタ２３３の幅を大きくする。【選択図】図４
2011060347.tif 000002
【特許請求の範囲】
【請求項１】
ディスクにアクセスするヘッドと、
前記ヘッドを前記ディスクの半径方向に移動するアクチュエータと、
前記ヘッドが前記ディスクから読み出したサーボ・データにより前記アクチュエータのサーボ制御を行うコントローラと、を有し、
前記コントローラは、
サーボ制御システムにおいてフィルタ演算を行っているアダプティブ・チェイシング・ノッチ・フィルタの幅を規定値以下に維持しながら、前記アダプティブ・チェイシング・ノッチ・フィルタの内部変数を参照して、前記アクチュエータの発振周波数の推定とその推定結果に応じた前記中心周波数の変更を繰り返し行い、
前記中心周波数が前記発振周波数に収束した後に前記幅を大きくする、
ディスク・ドライブ。
【請求項２】
前記規定値は０である、
請求項１に記載のディスク・ドライブ。
【請求項３】
前記コントローラは、
前記推定とその推定結果に応じた前記中心周波数の変更を繰り返し行うことで前記中心周波数を前記発振周波数に徐々に近づけ、
前記中心周波数と前記発振周波数との大小関係が変化すると、前記発振周波数の推定と前記中心周波数の変更とを終了する、
請求項１に記載のディスク・ドライブ。
【請求項４】
前記コントローラは、前記推定とその推定結果に応じた前記中心周波数の変更を繰り返しにおいて、前記中心周波数の同一符号における変更の連続回数に応じて、前記中心周波数の変更量を大きくする、
請求項１に記載のディスク・ドライブ。
【請求項５】
前記中心周波数の変更量の絶対値に対して最大値が規定されている、
請求項４に記載のディスク・ドライブ。
【請求項６】
前記コントローラは、
前記発振周波数の推定の計算における値の大きさと閾値とを比較し、
前記値が前記閾値よりも大きい場合に、前記発振周波数の推定及び前記中心周波数の変更を実行する、
請求項１に記載のディスク・ドライブ。
【請求項７】
前記コントローラは、位置誤差信号を変数とする前記アクチュエータの振動を表わす関数値を使用して前記アクチュエータの発振の停止を判定し、
前記発振が停止する前記幅の値から、前記アダプティブ・チェイシング・ノッチ・フィルタの幅を決定する、
請求項１に記載のディスク・ドライブ。
【請求項８】
前記コントローラは、前記発振が停止する前記幅の値よりも大きい値Ｗｍｉｎを、前記アダプティブ・チェイシング・ノッチ・フィルタの幅に決定する、
請求項７に記載のディスク・ドライブ。
【請求項９】
前記コントローラは、
前記発振の停止の前記判定において、前記関数値と第１の閾値とを比較して前記発振の停止を判定し、
前記関数値が前記第１の閾値よりも小さい第２の閾値と前記第１の閾値との間にあり、さらに、前記幅の値が前記値Ｗｍｉｎよりも小さい場合に、前記幅を大きくする、
請求項８に記載のディスク・ドライブ。
【請求項１０】
前記関数値が、前記第２の閾値以下である第３の閾値よりも小さく、前記幅の値が前期値Ｗｍｉｎよりも大きい場合、前記コントローラは、前記幅を小さくする、
請求項９に記載のディスク・ドライブ。
【請求項１１】
前記幅の上限値が規定されており、
前記コントローラは、前記上限値以下となるように前記幅を決定する、
請求項１に記載のディスク・ドライブ。
【請求項１２】
前記上限値は、前記中心周波数の関数で表わされる、
請求項１１に記載のディスク・ドライブ。
【請求項１３】
前記コントローラは、前記アダプティブ・チェイシング・ノッチ・フィルタの適応化により決定したフィルタ係数を使用して、新たな固定ノッチ・フィルタを設定する、
請求項１に記載のディスク・ドライブ。
【請求項１４】
前記コントローラは、前記内部変数をシングル・サンプリング・レートのタイミングで参照し、
前記アダプティブ・チェイシング・ノッチ・フィルタは、マルチ・サンプリング・レートで動作する、
請求項１に記載のディスク・ドライブ。
【請求項１５】
前記コントローラは、前記周波数推定において、同一内部変数のサンプリング時間が異なる値の差分を算出することによって、その内部変数におけるＤＣ成分を除去する、
請求項１４に記載のディスク・ドライブ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスク・ドライブに関し、特に、ヘッドのサーボ制御におけるアクチュエータの振動抑制技術に関する。
【背景技術】
【０００２】
ディスク・ドライブとして、光ディスク、光磁気ディスク、あるいはフレキシブル磁気ディスクなどの様々な態様のディスクを使用する装置が知られているが、その中で、ハードディスク・ドライブ（ＨＤＤ）は、コンピュータ・システムの他、動画像記録再生装置やカーナビゲーション・システムなど、多くの電子機器において使用されている。
【０００３】
ＨＤＤで使用される磁気ディスクは、同心円状に形成された複数のデータ・トラックと複数のサーボ・トラックとを有している。各サーボ・トラックはアドレス情報を有する複数のサーボ・セクタから構成される。また、各データ・トラックには、ユーザ・データを含む複数のデータ・セクタから構成されている。円周方向に離間するサーボ・セクタの間に、データ・セクタが記録されている。
【０００４】
ＨＤＤは揺動するアクチュエータを有し、そのアクチュエータにヘッド・スライダが支持されている。ＨＤＤは、ヘッド・スライダによってサーボ・セクタのアドレス情報を読み出し、そのアドレス情報に従ってアクチュエータを制御する（サーボ制御）。これにより、ＨＤＤは、ヘッド・スライダを所望の半径位置（ターゲット・データ・トラック）に移動し（シーク）、さらに、その位置に位置決めする（フォロイング）することができる。ターゲット・データ・トラックに位置決めされたヘッド・スライダは、そのトラック内のターゲット・データ・セクタへのデータ書き込みあるいはデータ読み出しを行う。
【０００５】
アクチュエータはボイス・コイル・モータ（ＶＣＭ）によって駆動される。一般に、アクチュエータは、幾つかの機構共振モードを有する。そして、それらによりサーボ系が不安定となり、特定の周波数（共振周波数）で機械的な発振を起こすことがある。
【０００６】
そこで、従来のＨＤＤは、ヘッド・スライダのサーボ制御においてノッチ・フィルタを使用する。ノッチ・フィルタは、ヘッド・スライダのサーボ・ループ内においてコントローラの出力側に挿入されており、アクチュエータの共振周波数と同一の中心周波数を有している。ノッチ・フィルタは、制御信号に含まれる発振周波数のサーボ・ゲインを小さくし、ヘッド・スライダのサーボ制御を安定化させる。
【０００７】
ＨＤＤにおけるＴＰＩの増加に伴い、サーボ帯域を上げることが、ヘッドの位置決め精度を維持するために求められている。サーボ帯域を上げることを阻む要因の一つは、ノッチ・フィルタによる位相遅れによる位相マージンの消費がある。位相マージンの消費を低減することができれば、サーボ帯域を上げることができる。
【０００８】
しかし、既に位相マージンの消費を抑えた上でメカ・パーツのバラツキや温度変化など様々な条件でもサーボ系において発振問題が発生しないようにノッチ・フィルタは設計されており、サーボ系の発振リスクを増やすことなく位相マージンの消費をさらに減らすことは難しい。そのため、メカ・パーツのバラツキを小さくすることや生産現場で個別にサーボ系を最適に設定することが期待される。しかし、共にコスト・アップの原因となるため、より簡便な方法が求められている。
【０００９】
また、一方、システム内でのＨＤＤの固定方法により発振が起きる現象が見つかっている。システム内に実装して初めて起きる発振であるため、製造時の検査やＨＤＤ単体では発振が起きない。そのため、ノッチ・フィルタを予防的に加える対策しか取ることができず、位相マージンの消費を増やし、サーボ帯域を上げることをさらに難しくする。
【００１０】
そこで、発振してもその周波数を推定し、発振を止めるのに必要なノッチ・フィルタを生成する次技術が提案されている（例えば、特許文献１及び非特許文献１を参照）。これにより、発振確率が小さいメカ発振に対して予防的な意味で用いられていたノッチ・フィルタを省略する、あるいはその幅を狭くすることができる。また、位相マージンの消費が抑えられ、結果的にサーボ帯域を上げることができる。
【００１１】
特許文献１及び非特許文献１に開示されている技術は、周波数追従型のピーク・フィルタ（アダプティブ・チェイシング・ノッチ・フィルタ）における技術を利用する。ピーク・フィルタは、主制御部と並列にサーボ・ループ内に配置されており、外部振動によるアクチュエータ（ヘッド・スライダ）の振動を抑制する働きがある。
【００１２】
上記文献に開示されているように、ピーク・フィルタの分母を使用して外部振動の周波数を推定することができる。アダプティブ・チェイシング・ノッチ・フィルタは、このように外部振動周波数を推定し、そのピーク周波数を徐々に外部振動周波数に近づける。ピーク・フィルタの分母は、ノッチ・フィルタの分子と同形である。従って、ノッチ・フィルタの分子を用いても、同様に、外部振動周波数を推定することができる。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００８−２８７８１５号公報
【非特許文献１】"周波数追従型ピーク・フィルタを使った適応ノッチ・フィルタ"（木坂、電気学会研究資料、ＩＩＣ−０６−１３６、２００６）
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかし、ノッチ・フィルタが抑えることを目的とするのは、外部振動によるアクチュエータ振動ではなく、アクチュエータの発振による振動である。この外部振動と発振の相違により、アダプティブ・チェイシング・ノッチ・フィルタの既存の実装方法は、周波数追従型ノッチ・フィルタ（アダプティブ・チェイシング・ノッチ・フィルタ）に、そのまま適用することはできないことが分かった。
【００１５】
上記先行文献に記載されているアダプティブ・チェイシング・ピーク・フィルタは、外部振動の周波数を推定し、その振動の周波数に近づくようにピーク周波数を更新する。この処理を繰り返すことで、アダプティブ・チェイシング・ピーク・フィルタのピーク周波数を外部振動周波数（外部振動によるアクチュエータ振動）に近づけ、最終的に、それらを一致させる。アダプティブ・チェイシング・ピーク・フィルタの抑制対象は、外部振動によるアクチュエータ（ヘッド・スライダ）の振動である。ピーク・フィルタのピーク周波数が外部振動の周波数と一致しても、外部振動によるアクチュエータ振動が完全に停止することはない。従って、ピーク周波数を外部振動周波数に徐々に近づけ、その値に収束させることができる。
【００１６】
一方、アダプティブ・チェイシング・ノッチ・フィルタは、アクチュエータの発振周波数を推定し、ノッチ・フィルタの中心周波数を発振周波数に徐々に近づける。外部振動と異なり、アクチュエータの発振による振動は、発振条件が取り除かれると、消失する。そのため、発振周波数が正しく推定される前に（ノッチ・フィルタの中心周波数が発振周波数と一致する前に）、ノッチ・フィルタの裾野により発振条件が除去されると、発振が止まる。
【００１７】
発振停止後に発振周波数を推定することはできず、最適なノッチ・フィルタを生成することができない。また、発振による振動が存在しないと、より小さい振動に対して周波数推定を行い、ノッチ・フィルタの中心周波数が移動し、発振を繰り返すという問題がある。従って、アクチュエータの発振周波数とノッチ・フィルタの中心周波数との差異を所望範囲内に設定してアクチュエータの振動を効果的に抑えることができるノッチ・フィルタの適応化技術が望まれる。
【課題を解決するための手段】
【００１８】
本発明の一態様のディスク・ドライブは、ディスクにアクセスするヘッドと、前記ヘッドを前記ディスクの半径方向に移動するアクチュエータと、前記ヘッドが前記ディスクから読み出したサーボ・データにより前記アクチュエータのサーボ制御を行うコントローラとを有する。前記コントローラは、サーボ制御システムにおいてフィルタ演算を行っているアダプティブ・チェイシング・ノッチ・フィルタの幅を規定値以下に維持しながら、前記アダプティブ・チェイシング・ノッチ・フィルタの内部変数を参照して、前記アクチュエータの発振周波数の推定とその推定結果に応じた前記中心周波数の変更を繰り返し行う。さらに、前記コントローラは、前記中心周波数が前記発振周波数に収束した後に前記幅を大きくする。これにより、アクチュエータの発振周波数とノッチ・フィルタの中心周波数との差異を所望範囲内に設定してアクチュエータの振動を効果的に抑えることができる。
【００１９】
好ましい構成において、前記規定値は０である。これにより、ノッチ・フィルタの中心周波数をアクチュエータの発振周波数により適切に近づけることができる。
【００２０】
好ましい構成において、前記コントローラは、前記推定とその推定結果に応じた前記中心周波数の変更を繰り返し行うことで前記中心周波数を前記発振周波数に徐々に近づけ、前記中心周波数と前記発振周波数との大小関係が変化すると、前記発振周波数の推定と前記中心周波数の変更とを終了する。これにより、シンプルな構成により、アクチュエータの発振周波数とノッチ・フィルタの中心周波数との差異を所望範囲内に設定することができる。
【００２１】
好ましい構成において、前記コントローラは、前記推定とその推定結果に応じた前記中心周波数の変更を繰り返しにおいて、前記中心周波数の同一符号における変更の連続回数に応じて、前記中心周波数の変更量を大きくする。これにより、中心周波数の収束速度を速めることができる。
【００２２】
好ましい構成において、前記中心周波数の変更量の絶対値に対して最大値が規定されている。これにより、中心周波数が発振周波数を大きく通り過ぎることがない。
【００２３】
好ましい構成において、前記コントローラは、前記発振周波数の推定の計算における値の大きさと閾値とを比較し、前記値が前記閾値よりも大きい場合に、前記発振周波数の推定及び前記中心周波数の変更を実行する。これにより、ノイズによる影響を低減することができる。
【００２４】
好ましい構成において、前記コントローラは、位置誤差信号を変数とする前記アクチュエータの振動を表わす関数値を使用して前記アクチュエータの発振の停止を判定し、前記発振が停止する前記幅の値から、前記アダプティブ・チェイシング・ノッチ・フィルタの幅を決定する。これにより、発振停止する適切な幅を設定することができる。
【００２５】
好ましい構成において、前記コントローラは、前記発振が停止する前記幅の値よりも大きい値Ｗｍｉｎを、前記アダプティブ・チェイシング・ノッチ・フィルタの幅に決定する。これにより、より確実に発振を防ぐことができる。
【００２６】
好ましい構成において、前記コントローラは、前記発振の停止の前記判定において、前記関数値と第１の閾値とを比較して前記発振の停止を判定し、前記関数値が前記第１の閾値よりも小さい第２の閾値と前記第１の閾値との間にあり、さらに、前記幅の値が前記値Ｗｍｉｎよりも小さい場合に、前記幅を大きくする。これにより、ノッチ・フィルタにマージンを持たせることができる。
【００２７】
好ましい構成において、前記関数値が、前記第２の閾値以下である第３の閾値よりも小さく、前記幅の値が前期値Ｗｍｉｎよりも大きい場合、前記コントローラは、前記幅を小さくする。これにより、アクチュエータの発振をより確実に防止する。
【００２８】
好ましい構成において、前記幅の上限値が規定されており、前記コントローラは、前記上限値以下となるように前記幅を決定する。これにより、サーボ・システムが不安定となることを避ける。
【００２９】
好ましい構成において、前記上限値は、前記中心周波数の関数で表わされる。これにより、より確実にサーボ・システムが不安定となることを避けることができる。
【００３０】
好ましい構成において、前記コントローラは、前記アダプティブ・チェイシング・ノッチ・フィルタの適応化により決定したフィルタ係数を使用して、新たな固定ノッチ・フィルタを設定する。これにより、適切に固定ノッチ・フィルタを設定することができる。
【００３１】
好ましい構成において、前記コントローラは、前記内部変数をシングル・サンプリング・レートのタイミングで参照し、前記アダプティブ・チェイシング・ノッチ・フィルタは、マルチ・サンプリング・レートで動作する。これにより、シンプルな構成において、アダプティブ・チェイシング・ノッチ・フィルタにより発振を抑えることができる。
【００３２】
好ましい構成において、前記コントローラは、前記周波数推定において、同一内部変数のサンプリング時間が異なる値の差分を算出することによって、その内部変数におけるＤＣ成分を除去する。これにより、シンプルな構成によって内部変数におけるＤＣ成分を除去し、アクチュエータの発振周波数を適切に推定することができる。
【発明の効果】
【００３３】
本発明によれば、ディスク・ドライブにおいて、アクチュエータの振動を効果的に抑えることができる。
【図面の簡単な説明】
【００３４】
【図１】本実施形態におけるＨＤＤの全体構成を模式的に示すブロック図である。
【図２】本実施形態のＨＤＤにおけるサーボ制御システムをモデル化したブロック図である。
【図３】本実施形態において、アダプティブ・チェイシング・ノッチ・フィルタとその中心周波数の変更量とを表わす関数を示す図である。
【図４】本実施形態において、アダプティブ・チェイシング・ノッチ・フィルタの適応化の処理の流れを示すフローチャートである。
【図５】本実施形態において、アダプティブ・チェイシング・ノッチ・フィルタの中心周波数の調整方法を示すフローチャートである。
【図６】本実施形態において、アダプティブ・チェイシング・ノッチ・フィルタの幅の決定方法を示すフローチャートである。
【発明を実施するための形態】
【００３５】
以下に、本発明を適用した実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。以下においては、ディスク・ドライブの一例であるハードディスク・ドライブ（ＨＤＤ）において、本発明の実施形態を説明する。
【００３６】
本実施形態のＨＤＤは、そのサーボ制御システム（サーボ・ループ）内に、中心周波数可変のノッチ・フィルタを有している。ノッチ・フィルタにおける中心周波数はゲインが最も小さい周波数であり、フィルタ形状は中心周波数において対称あるいは非対称である。ＨＤＤは、アクチュエータの発振周波数を推定し、その周波数にノッチ・フィルタの中心周波数を近づける。ＨＤＤは、この発振周波数の推定と中心周波数の更新を繰り返して、中心周波数を発振周波数から所望範囲内に設定する。このように、本形態のノッチ・フィルタは、周波数追従型の適応ノッチ・フィルタ（アダプティブ・チェイシング・ノッチ・フィルタ）である。
【００３７】
本形態は、アダプティブ・チェイシング・ノッチ・フィルタの制御に特徴を有している。本形態におけるノッチ・フィルタ制御について詳細に説明を行う前に、その制御を行うＨＤＤの全体構成を説明する。図１のブロック図において、ＨＤＤ１は、エンクロージャ１０内に、データを記憶するディスクである磁気ディスク１１を有している。スピンドル・モータ（ＳＰＭ）１４は、磁気ディスク１１を所定の角速度で回転する。磁気ディスク１１の各記録面に対応して、磁気ディスク１１にアクセスするヘッド・スライダ１２が設けられている。アクセスは、リード及びライトの上位の概念である。
【００３８】
各ヘッド・スライダ１２は、磁気ディスク上を飛行するスライダと、スライダに固定され磁気信号と電気信号との間の変換を行うヘッド素子部とを備えている。各ヘッド・スライダ１２はアクチュエータ１６の先端部に固定されている。アクチュエータ１６はボイス・コイル・モータ（ＶＣＭ）１５に連結され、揺動軸を中心に揺動することによって、ヘッド・スライダ１２を回転する磁気ディスク１１上においてその半径方向に移動する。
【００３９】
アクチュエータ１６は、揺動軸を挟んでヘッド・スライダ１２の反対側にボイス・コイルを有しており、そのボイス・コイルはＶＣＭ１５の一部を構成する。磁石による磁界内においてボイス・コイルに駆動電流を流すことで、ボイス・コイルに駆動力を与える。磁気ディスク１１の外周端近くに、ランプ１７がエンクロ−ジャ１０内に固定されている。ＨＤＤ１の電源がＯＦＦのときやアイドル時に、アクチュエータ１６は磁気ディスク１１の外側においてランプ１７上で停止している。典型的に、アクチュエータ１６の先端突起がランプ１７上を摺動する。なお、本発明は、アクチュエータ１６が磁気ディスク１１上の所定領域で着地、停止するＣＳＳ（コンタクト・スタート・アンド・ストップ）方式のＨＤＤにも適用することができる。
【００４０】
エンクロージャ１０の外側に固定された回路基板２０上には、回路素子が実装されている。モータ・ドライバ・ユニット２２は、ＨＤＣ／ＭＰＵ２３からの制御データに従って、ＳＰＭ１４及びＶＣＭ１５を駆動する。ＲＡＭ２４は、リード・データ及びライト・データを一時的に格納するバッファとして機能する。エンクロージャ１０内のアーム電子回路（ＡＥ）１３は、複数のヘッド・スライダ１２の中から磁気ディスク１１へのアクセスを行うヘッド・スライダ１２を選択し、その再生信号を増幅してリード・ライト・チャネル（ＲＷチャネル）２１に送る。また、ＲＷチャネル２１からの記録信号を選択したヘッド・スライダ１２に送る。なお、本発明は一つのヘッド・スライダ１２のみを有するＨＤＤに適用することができる。
【００４１】
ＲＷチャネル２１は、リード処理において、ＡＥ１３から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データとを含む。デコード処理されたリード・ユーザ・データ及びサーボ・データは、ＨＤＣ／ＭＰＵ２３に転送される。また、ＲＷチャネル２１は、ライト処理において、ＨＤＣ／ＭＰＵ２３から転送されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してＡＥ１３に供給する。
【００４２】
コントローラであるＨＤＣ／ＭＰＵ２３は、リード／ライト処理制御、コマンド実行順序の管理、サーボ・データを使用したヘッド・スライダ１２（アクチュエータ１６）のポジショニング制御（サーボ制御）、ホスト５１との間のインターフェース制御、ディフェクト管理、エラーが発生した場合のエラー対応処理など、データ処理に関する必要な処理及びＨＤＤ１の全体制御を実行する。
【００４３】
好ましい構成において、ＨＤＣ／ＭＰＵ２３は、ヘッド・スライダ１２（アクチュエータ１６）のサーボ・システムにおいて、直列に接続された複数のノッチ・フィルタを有している。ＨＤＣ／ＭＰＵ２３は、これらノッチ・フィルタの内の一つもしくは複数のノッチ・フィルタの中心周波数をアクチュエータ１６の発振周波数に応じて適応化する。つまり、中心周波数をアクチュエータ１６の発振周波数に合わせる。これにより、ＨＤＤ１の組み立てバラツキやＨＤＤ１が実装されているシステムによって変化しうるアクチュエータ１６の発振を効果的に抑えることができる。
【００４４】
ＨＤＣ／ＭＰＵ２３は、ホスト５１からリード／ライトのコマンドを取得すると、シークを開始する。ＨＤＣ／ＭＰＵ２３は、現在の半径位置からそのコマンドが示すアドレスのデータ・トラック（ターゲット・データ・トラック）にヘッド・スライダ１２を移動する（シーク）。ＨＤＣ／ＭＰＵ２３は、コマンドの指定アドレスをサーボ・アドレスに変換して、ターゲットの半径位置を特定する。シークが終了すると、ＨＤＣ／ＭＰＵ２３は、ヘッド・スライダ１２をターゲット・データ・トラック上に維持する（フォロイング）。
【００４５】
シーク及びフォロイングにおいて、ＨＤＣ／ＭＰＵ２３は記録面から読み出したサーボ・データを使用して、アクチュエータ１６（ＶＣＭ１５）を制御する。シーク制御は、一般に、サーボ・データを使用した速度制御と位置制御とによりアクチュエータ１６（ＶＣＭ１５）を制御する。フォロイング制御において、ＨＤＣ／ＭＰＵ２３は、ヘッド・スライダ１２の現在半径位置（サーボ・アドレス）とターゲットの半径位置（サーボ・アドレス）と所定範囲内にあるように位置決め制御を行う。
【００４６】
サーボ・セクタは、記録面上において、円周方向に略等間隔で離間して形成されている。従って、ヘッド・スライダ１２は一定の周期（サーボ・サンプリング周期）でサーボ・データを読み出し、ＨＤＣ／ＭＰＵ２３は、そのサーボ・データが示す現在のサーボ・アドレスとターゲットのサーボ・アドレスとの位置誤差を示す位置誤差信号に応じてＶＣＭ１５の駆動電流を制御する。
【００４７】
図２は、本形態のＨＤＤ１におけるサーボ制御システムをモデル化したブロック図である。それぞれのブロックは、伝達関数を示している。図２における制御対象３１はＨＤＣ／ＭＰＵ２３のサーボ制御対象であり、モータ・ドライバ・ユニット２２、ＶＣＭ１５、アクチュエータ１６そしてヘッド・スライダ１２を含む。制御対象３１に対する操作量は、ＨＤＣ／ＭＰＵ２３からモータ・ドライバ・ユニット２２への制御データであって、ＶＣＭ１５の駆動電流値を表す。制御対象３１からのフィードバックは、ヘッド・スライダ１２が読み出したサーボ・データによる現在のヘッド半径位置を示す信号（データ）である。
【００４８】
本構成例において、ＨＤＣ／ＭＰＵ２３内のサーボ制御システムは、主サーボ制御部２３１、固定ノッチ・フィルタ２３２、アダプティブ・チェイシング・ノッチ・フィルタ２３３、アダプティブ・チェイシング・ピーク・フィルタ２３４、そして固定ピーク・フィルタ２３５を有している。ノッチ・フィルタ及びピーク・フィルタの種類及び数は適切に設計される。図２は、本実施形態の説明のために簡略化した構成例を示している。例えば、ＨＤＣ／ＭＰＵ２３は、複数の固定ノッチ・フィルタ、複数のアダプティブ・チェイシング・ノッチ・フィルタ、複数のアダプティブ・チェイシング・ピーク・フィルタ、そして複数の固定ピーク・フィルタを有していてもよい。
【００４９】
あるいは、アダプティブ・チェイシング・ピーク・フィルタを有さず、固定ピーク・フィルタのみを有していてもよい。典型的には、これら機能要素はＨＤＣ／ＭＰＵ２３内のハードウェアで実現されるが、一部機能をＭＰＵによる演算により実現してもよい。好ましい構成においては、上記ノッチ・フィルタ及びピーク・フィルタはハードウェアで構成されており、遅滞ない処理を実現する。
【００５０】
主サーボ制御部２３１は、位置誤差信号に応じてＶＣＭ電流値（を示す制御データ）を算出する。主サーボ制御部２３１による制御は基本的にＰＩＤ制御であるため、制御の安定性を保ちつつヘッド・スライダ１２（アクチュエータ１６）の大きな振動に対応することが難しい。そのため、ＨＤＣ／ＭＰＵ２３は、主サーボ制御部２３１の出力に直列に配置されたノッチ・フィルタ２３２、２３３と、主サーボ制御部２３１に並列に接続されたピーク・フィルタ２３４、２３５とを有している。
【００５１】
ノッチ・フィルタ２３２、２３３は、アクチュエータ１６の発振を抑制する働きをする。主サーボ制御部２３１からの信号においてアクチュエータ１６の発振周波数に対応する成分を小さくすることで、アクチュエータ１６の発振周波数における大きな振動を抑えることができる。典型的に、ノッチ・フィルタの最大ゲインは１．０（０ｄＢ）である。ノッチ・フィルタは、中心周波数において最も小さいゲインを有する。そのゲインは、中心周波数から離れるにつれて増加する。フィルタ波形は、典型的には、中心周波数について対称であるが、非対称であってもよい。
【００５２】
固定ノッチ・フィルタ２３２のフィルタ波形は固定されている（時不変）。具体的には、中心周波数、半値幅そして中心周波数におけるゲインなど、フィルタ波形を規定する値は固定されている。アダプティブ・チェイシング・ノッチ・フィルタ２３３は、フィルタ波形が可変である。本構成例において、ＨＤＣ／ＭＰＵ２３は、中心周波数と幅（典型的には半値幅）とを、アクチュエータ１６の発振に応じて設定することができる。これら以外の値も設定可能であってもよい。ゲインは、半値幅及び／もしくは中心周波数の関数とする、あるいはゲインは一定であってもよい。
【００５３】
アクチュエータ１６の発振周波数（大きな振動を示す周波数）の少なくとも一部は、設計において分かっている。そのため、それら発振周波数に対応する中心周波数を有する固定ノッチ・フィルタを用意することで、シンプルな構成でアクチュエータ１６の振動を効果的に抑えることができる。固定ノッチ・フィルタの実装数は、ＨＤＤ１の設計に従って適切な数が選択される。
【００５４】
アクチュエータ１６の発振は、組み立てバラツキ、温度、あるいはＨＤＤ１が実装されているシステム内での固定状態などの条件によって変化することがある。そこで、アダプティブ・チェイシング・ノッチ・フィルタ２３３をＨＤＤ１に実装する。ＨＤＣ／ＭＰＵ２３は、アダプティブ・チェイシング・ノッチ・フィルタ２３３のフィルタ特性を適切な値に設定することで、それによりアクチュエータ１６の発振を抑える。
【００５５】
ピーク・フィルタ２３４、２３５は、外乱によるヘッド・スライダ１２（アクチュエータ１６）振動を抑圧する働きをする。ここでの外乱は、ディスク偏心によるＲＲＯ（リピータブル・ラン・アウト）を含む。固定ピーク・フィルタ２３５は、ピーク周波数が予め分かっており、その周波数が一定の振動を抑制する働きをする。固定ピーク・フィルタ２３５の中心周波数（ピーク周波数）は固定である。一般に、そのピーク周波数、ゲイン及びフィルタ波形は一定である。固定ピーク・フィルタの実装数は、ＨＤＤ１の設計により適切な値が選択される。
【００５６】
これに対して、アダプティブ・チェイシング・ピーク・フィルタ２３４は、外部振動による周波数が不定の振動を抑圧する働きを有している。固定ピーク・フィルタ、アダプティブ・チェイシング・ピーク・フィルタの実装数は、ＨＤＤ１の設計に従って適切な数が選択される。また、設計上不要であれば、これらの一方もしくは双方を省略してもよい。
【００５７】
制御対象３１に含まれるヘッド・スライダ１２が読み出したサーボ・データから、ＨＤＣ／ＭＰＵ２３はヘッド・スライダ１２の現在半径位置を示すデータ（信号）を生成する。ＨＤＣ／ＭＰＵ２３は、ホスト５１からのコマンドが指定するターゲット半径位置を示すデータを持っている。ＨＤＣ／ＭＰＵ２３は、ターゲット半径位置と現在半径位置との差異である位置誤差信号（データ）を算出する。
【００５８】
主サーボ制御部２３１は、位置誤差信号に対して所定の演算処理を行い、ヘッド・スライダ１２をターゲット半径位置に近づける（位置誤差を抑制する）ためのＶＣＭ電流値を算出する。位置誤差信号は、主サーボ制御部２３１と並列に接続されている複数のピーク・フィルタ２３４、２３５にも入力される。ピーク・フィルタ２３４、２３５のそれぞれは、そのピーク周波数において最大ゲインを有し、そのゲインがピーク周波数から離れるに従って大きく減少するフィルタ波形を有している。このため、位置誤差信号における特定周波数成分がフィルタ出力となる。
【００５９】
ピーク・フィルタ２３４、２３５からの出力は、主サーボ制御部２３１からの出力に加えられ、さらに、その加え合わされた値（信号）がノッチ・フィルタ２３２、２３３に与えられる。ノッチ・フィルタ２３２、２３３のそれぞれは、その中心周波数において最小ゲインを有し、そのゲインと位相特性は系が安定になるように設計されている。そのため、サーボ・ゲインはノッチ・フィルタの中心周波数及びその近傍において小さく、かつ安定となり、アクチュエータ１６の発振を防止する。
【００６０】
本形態ＨＤＣ／ＭＰＵ２３は、アダプティブ・チェイシング・ノッチ・フィルタ２３３の制御に特徴を有している。固定ノッチ・フィルタ２３２は、サーボ・ループにおいて、常時動作している。一方、好ましい構成において、アダプティブ・チェイシング・ノッチ・フィルタ２３３は、発振が起きている場合にサーボ・ループにおいて動作し、発振が起きていない場合にはパス・スルーされる。これにより、不要なノッチ・フィルタをサーボ・ループから除き、不要なノッチ・フィルタによる位相マージンの消費が無くすことでサーボ制御の安定性を上げる。設計によっては、アダプティブ・チェイシング・ノッチ・フィルタ２３３がサーボ制御において常時動作していてもよい。
【００６１】
本形態のＨＤＣ／ＭＰＵ２３は、アダプティブ・チェイシング・ノッチ・フィルタ２３３の内部変数を参照して、発振周波数を推定する。図３は、アダプティブ・チェイシング・ノッチ・フィルタ２３３とその中心周波数の変更量とを表わす関数を示している。ＨＤＣ／ＭＰＵ２３は、内部変数ｘ、ｙを参照する。推定した発振周波数に応じた中心周波数をシフト量（更新量）は、ｄＢであり、内部変数ｘ、ｙの関数である。シフト量ｄＢは中心周波数の増減量を示し、増加において正であり減少において負である。このように、シフト量ｄＢは正負の符号を含む。図３に示すように、ノッチ・フィルタは、以下の式で表すことができる。
｛Ｋ／（１−Ｅｚ−１−Ｆｚ−２）｝×（１＋Ｂｚ−１＋Ｃｚ−２）    （数式１）
【００６２】
ノッチ・フィルタ２３３の中心周波数は、数式１におけるＢにより決まる。つまり、Ｂは、中心周波数を表わす値である。ＨＤＣ／ＭＰＵ２３は、数式１における分子（１＋Ｂｚ−１＋Ｃｚ−２）への入力ｘ及び出力ｙを使用して、発振周波数を推定する。具体的には、ＨＤＣ／ＭＰＵ２３は、内部変数ｘ、ｙによりノッチ・フィルタ２３３の現在の中心周波数と発振周波数の大小関係を判定することで発振周波数を推定する。そして、その推定に応じて中心周波数を変更する。
【００６３】
この周波数推定方法及びフィルタ周波数の変更方法は、アダプティブ・チェイシング・ピーク・フィルタ２３５において使用する方法と同様である。ピーク・フィルタとノッチ・フィルタとは、二次のＩＩＲフィルタとして、同一の一般式で表わすことができる。中心周波数を表す値は、ピーク・フィルタにおいて分母に現れ、ノッチ・フィルタにおいて分子に現れる。ピーク・フィルタの振動への適応処理及びそれ適応処理のノッチ・フィルタへの適用の基本的な手法は、上記特許文献１や非特許文献１に開示されており、本明細書における詳細な説明は省略する。
【００６４】
しかし、サーボ・システムにおいて、ノッチ・フィルタは、ピーク・フィルタと異なる特性を有しているため、ピーク・フィルタにおける周波数適応化の手法を、そのままノッチ・フィルタに適用することができない。一つはノッチ・フィルタとアダプティブ・フィルタとの間におけるサンプリング・レートの相違、他の一つはノッチ・フィルタの入出力におけるＤＣ成分の存在、そして他の一つは振動原因の相違である。以下において、アダプティブ・チェイシング・ピーク・フィルタ２３５の適応化において、ノッチ・フィルタとアダプティブ・フィルタとの間における相違に応じた手法を順に説明する。
【００６５】
サンプリング・レートの相違及びＤＣ成分の存在に対する解決手法から説明する。一般に、ノッチ・フィルタが対象としているアクチュエータ１６の機構共振モードの共振周波数は、サーボ・サンプリング周波数よりも高いものを含む。そのため、典型的なＨＤＤのサーボ・システムにおいて、ノッチ・フィルタの動作周波数は、サーボ・サンプリング周波数よりも高い。具体的には、ノッチ・フィルタの動作周波数は、サーボ・サンプリング周波数の整数倍（２以上の整数）である。
【００６６】
このように、ノッチ・フィルタ２３２、２３３は、マルチ・サンプリング・レートで動作する。一方、サーボ・システムにおいて、主サーボ制御部２３やピーク・フィルタ２３４、２３５など、ノッチ・フィルタと異なる他の要素は、シングル・サンプリング・レートにおいて動作する。そのため、設計によっては、ＨＤＣ／ＭＰＵ２３は、内部変数ｘ、ｙを、シングル・サンプリング・レートでのみ参照することができ、マルチ・サンプリング・レートでは参照できないことがありうる。
【００６７】
また、ノッチ・フィルタ２３２、２３３の入出力は、ＶＣＭ１５の駆動電流を示すデータである。その入力及び出力の値は、ＤＣ成分を含む。アクチュエータ１６にはバイアス力がかかっているため、そのバイアス力に対抗する駆動力をＶＣＭ１５は生成することが必要であるからである。
【００６８】
内部変数ｘ、ｙを使用した発振周波数の推定において、ＨＤＣ／ＭＰＵ２３は、上記ＤＣ成分を除去することが必要である。ＤＣ成分が存在する場合、ＨＤＣ／ＭＰＵ２３は、ＤＣ成分の周波数、つまり、０Ｈｚにおいて発振が起きていると誤認識し、アダプティブ・チェイシング・ノッチ・フィルタ２３３を０Ｈｚにあわせてしまう。
【００６９】
本形態のＨＤＣ／ＭＰＵ２３は、マルチ・サンプリング・レートで動作するアダプティブ・チェイシング・ノッチ・フィルタ２３３の内部変数ｘ、ｙをシングル・サンプリング・レートのタイミングで参照し、その参照した内部変数ｘ、ｙ使用して発振周波数を推定する。さらに、ＨＤＣ／ＭＰＵ２３は、発振周波数の推定における内部変数ｘ、ｙの演算において、上記ＤＣ成分を除去する。ＨＤＣ／ＭＰＵ２３は、シンプルな演算により、シングル・サンプリング・レートでの発振周波数の推定演算と上記ＤＣ成分の除去と行うことが好ましい。
【００７０】
上記先行文献に記載されているように、ＨＤＣ／ＭＰＵ２３は、アダプティブ・チェイシング・ノッチ・フィルタ２３３の中心周波数のシフト量ｄＢ（ｎ）を、次の数式２に従って決定することができる。
ｄＢ（ｎ）＝ΔＢ×ｘ（ｎ−１）×ｙ（ｎ）                  （数式２）
ｎはマルチ・レート・サンプリング・タイムである。ΔＢは定数、または内部変数ｘ、ｙの関数、あるいはその他の変数の関数である。
【００７１】
上記先行文献に説明されているように、ｘ（ｎ−１）×ｙ（ｎ）は、ノッチ・フィルタ２３３の中心周波数と発振周波数の大小関係が逆になると、その符号を変化させる。ＨＤＣ／ＭＰＵ２３は、この特性を利用して、中心周波数が発振周波数と一致するように中心周波数を調整し、発振周波数を同定することができる。
【００７２】
数式２は、マルチ・サンプリング・レートにおける内部変数ｘ、ｙを使用している。従って、ＨＤＣ／ＭＰＵ２３が、シングル・サンプリング・レートにおいてのみ内部変数ｘ、ｙを参照することができる場合、上記数式２の演算を使用することはできない。本構成において、ＨＤＣ／ＭＰＵ２３は、次の数式３に従って決定するシフト量ｄＢ（ｍ）を決定する。
ｄＢ（ｍ）＝ΔＢ×｛（１−ｚ−Ｍ）×ｘ（ｍ−１）｝
×｛（１−ｚ−Ｍ）×ｙ（ｍ）｝              （数式３）
【００７３】
ｍはシングル・レート・サンプリング・タイムである。マルチ・サンプリング・レートがシングル・サンプリング・レートのＭ倍であり、ｍ＝Ｍ×ｎである。Ｍは２以上の整数であり、定数である。ｘ（ｍ−１）における「−１」は、マルチ・サンプリング・レートにおける１サンプリングの遅れを意味する。ｚ−Ｍは（ｚ−１）Ｍであり、ｚ−１はマルチ・サンプリング・レートにおいて、１サンプリング遅らせる演算子である。
【００７４】
ｄＢ（ｍ）は、シングル・サンプリング・レートのタイミングで参照した内部変数ｘ、ｙの値から算出される中心周波数のシフト量を示している。この中心周波数のシフト量ｄＢ（ｍ）は、現在の中心周波数と発振周波数との差分の推定値と見なすことができる。ＨＤＣ／ＭＰＵ２３は、数式３による発振周波数の推定と中心周波数の変更を繰り返して、徐々に中心周波数を発振周波数に近づける。
【００７５】
上記数式３においてｍをＭ×ｎで置き換えると、次の数式４を得ることができる。
ｄＢ（ｍ）＝ΔＢ×｛（１−ｚ−Ｍ）×ｘ（Ｍ×ｎ−１）｝
×｛（１−ｚ−Ｍ）×ｙ（Ｍ×ｎ）｝
＝（１−ｚ−Ｍ）２×ΔＢ×ｘ（Ｍ×ｎ−１）×ｙ（Ｍ×ｎ）  （数式４）
【００７６】
数式４は、次の数式５のように表わすことができる。
ｄＢ（ｎ）＝（１−ｚ−Ｍ）２×ΔＢ×ｘ（ｎ−１）×ｙ（ｎ）  ＩＦ  ｎ＝ｍ
ｄＢ（ｎ）＝０                                            ＩＦ  ｎ≠ｍ
（数式５）
【００７７】
数式５と数式２との違いは、数式５が（１−ｚ−Ｍ）２の項を有していることと、内部変数ｘ、ｙを取得するサンプリング・タイムである。（１−ｚ−Ｍ）２の演算（フィルタ）の結果は正であるので、この数式５は、数式２と同様に、発振周波数の推定に使用することができる。数式５による演算は、シングル・サンプリング・レートのタイミングで参照した内部変数ｘ、ｙの値のみを使用して、中心周波数のシフト量の決定（中心周波数の推定）を可能としている。
【００７８】
アダプティブ・チェイシング・ノッチ・フィルタ２３３は二次のフィルタであるので、ＨＤＣ／ＭＰＵ２３は、シングル・レート・サンプリング・タイムにおいて、一つの出力内部変数ｙ（ｍ）と、二つの入力内部変数ｘ（ｍ）、ｘ（ｍ−１）と、を得ることができる。ｘ（ｍ−１）は、マルチ・サンプリング・レートにおいて、ｘ（ｍ）よりも１サンプリング遅れた内部変数ｘの値である。数式３が示すように、ＨＤＣ／ＭＰＵ２３は、シングル・サンプリング・レートのタイミングで参照する内部変数ｘ（ｍ−１）、ｙ（ｍ）を使用して発振周波数を推定することができる。
【００７９】
数式３は、｛（１−ｚ−Ｍ）×ｘ（ｍ−１）｝と｛（１−ｚ−Ｍ）×ｙ（ｍ）｝との積を算出する。ｚ−Ｍは、マルチ・サンプリング・レートでＭサンプリング遅らせる演算子である。つまり、それは、シングル・サンプリング・レートで１サンプリング遅らせる演算子である。数式３は、サンプリング時間が異なる内部変数ｘの値の差分｛（１−ｚ−Ｍ）×ｘ（ｍ−１）｝と、サンプリング時間が異なる内部変数ｙの値の差分｛（１−ｚ−Ｍ）×ｙ（ｍ）｝と、を算出している。これら減算処理は、内部変数ｘ、ｙからＤＣ成分を除去する。
【００８０】
このように、数式３に従った演算処理により、ＨＤＣ／ＭＰＵ２３は、マルチ・サンプリング・レートで動作するアダプティブ・チェイシング・ノッチ・フィルタ２３３の内部変数をシングル・サンプリング・レートのタイミングで参照して発振周波数の推定（及び中心周波数の変更）を行うことができる。また、数式３に従った演算処理により、ＨＤＣ／ＭＰＵ２３は、内部変数ｘ、ｙからＤＣ成分を除去し、発振周波数を適切に推定することができる。
【００８１】
数式３は、１マルチ・レート・サンプリングずれた内部変数の差分を算出している。ＨＤＣ／ＭＰＵ２３は、２以上のマルチ・レート・サンプリングだけずれた内部変数の差分を使用してもよい。つまり、ｚ−Ｍの代わりにｚ−ｋＭを使用してもよい。ｋは２以上の整数である。しかし、よりシンプルかつ正確な演算のためには、数式３の演算のように、１マルチ・レート・サンプリングずれた内部変数の差分を算出することでＤＣ成分を除去することが好ましい。
【００８２】
このように、数式３の演算により、ＨＤＣ／ＭＰＵ２３は、シンプルな演算（フィルタ構成）により、マルチ・サンプリング・レートで動作するアダプティブ・チェイシング・ノッチ・フィルタ２３３の内部変数をシングル・サンプリング・レートにより参照することで、ＤＣ成分を除去し、発振周波数を推定することができる。
【００８３】
上述のように、アダプティブ・チェイシング・ノッチ・フィルタ２３３の適応化においては、その抑制対象がアクチュエータ１６の発振であることに注意することが重要である。アクチュエータの発振による振動は、発振条件が取り除かれると消失する。アダプティブ・チェイシング・ノッチ・フィルタ２３３が発振周波数に近づくと、フィルタの裾野が発振周波数に重なり、発振が止まる。ＨＤＣ／ＭＰＵ２３は、それ以上、発振周波数の推定を行うことができない。これにより、ノッチ・フィルタ２３３の中心周波数と発振周波数との間のずれが大きくなり、また、そのずれにより、フィルタの幅が必ずしも規定の最小値とならずに広くなる。
【００８４】
図４のフローチャートに示すように、好ましい構成においては、ＨＤＣ／ＭＰＵ２３は、発振が起きている場合に（Ｓ１１におけるＹ）、アダプティブ・チェイシング・ノッチ・フィルタ２３３をサーボ・ループに挿入する（Ｓ１２）。発振が起きていない場合は（Ｓ１１におけるＮ）、ノッチ・フィルタ２３３をパス・スルーにセットする。
【００８５】
ノッチ・フィルタ２３３がパス・スルーされているとき、ノッチ・フィルタ２３３はサーボ・ループに存在していない（フィルタ計算されることなく入力がそのまま出力となる）、あるいは、ノッチ・フィルタ２３３の特性がサーボ・ループに存在していない状態と等価になるような係数が与えられている（入力と出力が等しくなるようなフィルタ計算）。発振の有無の判定は、ＰＥＳを使用して行うことができる。
【００８６】
サーボ・ループ内にアダプティブ・チェイシング・ノッチ・フィルタ２３３を挿入した後、ＨＤＣ／ＭＰＵ２３は、ノッチ・フィルタ２３３の適応化を行う。つまり、発振周波数を推定し、その周波数にノッチ・フィルタ２３３の中心周波数を合わせる。サーボ・ループに挿入されるアダプティブ・チェイシング・ノッチ・フィルタ２３３は、その初期状態において、規定内の幅（半値幅）を有している。好ましい構成において、その幅は零である。幅が零であるとき、ノッチ・フィルタ２３３はサーボ・ループ状でフィルタの働きを示さない。
【００８７】
ＨＤＣ／ＭＰＵ２３は、その幅を規定内に維持しながら（好ましくは零に維持しながら）、ノッチ・フィルタ２３３の発振周波数を推定する（Ｓ１３）。ＨＤＣ／ＭＰＵ２３は、上述のように、ノッチ・フィルタ２３３の内部変数をシングル・サンプリング・レートのタイミングで参照し、ｘ（ｍ−１）×ｙ（ｍ）の演算を使用して発振周波数の推定と中心周波数の変更を繰り返し行う。中心周波数が発振周波数に収束すると（Ｓ１４におけるＹ）、ＨＤＣ／ＭＰＵ２３はノッチ・フィルタ２３３の幅を広げる（Ｓ１５）。発振周波数に収束している中心周波数は、発振周波数から所定範囲内にある。つまり、中心周波数と発振周波数との差異が予め設定された範囲内にある。
【００８８】
このように、アダプティブ・チェイシング・ノッチ・フィルタ２３３の幅を規定値内に維持しながら発振周波数の推定を行い、その推定が完了した後に幅を広げることで、アダプティブ・チェイシング・ノッチ・フィルタ２３３の中心周波数を発振周波数により近づけることができる。
【００８９】
工程Ｓ１３における発振周波数の好ましい推定方法について、図５のフローチャートを参照して具体的に説明する。ＨＤＣ／ＭＰＵ２３は、下の数式６で表わされるｄＳ（ｍ）を使用する。
ｄＳ（ｍ）＝｛（１−ｚ−Ｍ）×ｘ（ｍ−１）｝×｛（１−ｚ−Ｍ）×ｙ（ｍ）｝
（数式６）
数式６の右辺は、数式３における右辺からΔＢを除いたものである。
【００９０】
ＨＤＣ／ＭＰＵ２３は、ｄＳ（ｍ）の絶対値｜ｄＳ（ｍ）｜が規定値ｄＳｍｉｎよりも大きい場合に（Ｓ１３１におけるＹ）、周波数推定及び中心周波数更新の計算を続ける。この条件において、アクチュエータ１６の発振が続いている。｜ｄＳ（ｍ）｜がｄＳｍｉｎ以下の場合は（Ｓ１３１におけるＮ）、周波数推定処理を行わない。次に、ＨＤＣ／ＭＰＵ２３は、ｄＳ（ｍ）の符号を判定する（Ｓ１３２）。ｄＳ（ｍ）が０よりも小さい場合（Ｓ１３２におけるＹ）、発振周波数が中心周波数よりも小さい。反対に、ｄＳ（ｍ）が０よりも大きい場合（Ｓ１３２におけるＮ）、発振周波数は、中心周波数よりも大きい。数式１で表わさされるノッチ・フィルタにおいて、係数Ｂの値が大きいほどその中心周波数が低い。
【００９１】
以下においては、中心周波数が発振周波数よりも小さい場合の例を説明する。つまり、ｄＳ（ｍ）が０よりも小さい場合（Ｓ１３２におけるＹ）である。ＨＤＣ／ＭＰＵ２３は、中心周波数変更量ｄＢを算出し、中心周波数を変更する（Ｓ１３３）。中心周波数変更量ｄＢは、一つ前の変更量にｄＢｉｎｃを加算した値である。ｄＢｉｎｃは正の数であり、定数である。中心周波数変更量ｄＢの初期値は所定値であり、例えば零である。
【００９２】
次に、ＨＤＣ／ＭＰＵ２３は、ｄＢの符号を判定する（Ｓ１３４）。ｄＢが０よりも小さい場合（Ｓ１３４におけるＹ）、ＨＤＣ／ＭＰＵ２３は、ｄＢを０にセットする（Ｓ１３６）。本例では、ｄＢは零以上であるので（Ｓ１３４におけるＮ）、ＨＤＣ／ＭＰＵ２３は、ｄＢとして、工程Ｓ1３３で算出された値を維持する。ＨＤＣ／ＭＰＵ２３は、ｄＢを規定のｄＢｍａｘ以下に維持する（Ｓ１３６、Ｓ１３７）。ｄＢｍａｘは、正の規定値である。
【００９３】
ＨＤＣ／ＭＰＵ２３は、ｄＢが０であるか否かを判定し（Ｓ１３８）、０でない場合（Ｓ１３８におけるＮ）、係数Ｂの更新処理を行う。一連の処理は、シングル・サンプリング・レートで、毎サーボ繰り返す。前回の中心周波数の更新後も、中心周波数が発振周波数よりも小さいものとする（工程Ｓ１３２におけるＹ）。ＨＤＣ／ＭＰＵ２３は、前回の中心周波数変更量にｄＢｉｎｃを加算して、今回の中心周波数変更量を算出する（Ｓ１３３）。このように、中心周波数変更量は、ｄＢの符号が連続した回数に応じて増加する。上述のように、ｄＢはｄＢｍａｘ以下に維持される（Ｓ１３６、Ｓ１３７）。ｄＢは正であるので（Ｓ１３４におけるＮ）、ＨＤＣ／ＭＰＵ２３は、ｄＢとして、工程Ｓ1３３で算出された値を維持する。
【００９４】
次に、ＨＤＣ／ＭＰＵ２３は、ｄＢが０であるか否かを判定する（Ｓ１３８）。０でないので（Ｓ１３８におけるＮ）、ＨＤＣ／ＭＰＵ２３は、係数Ｂの更新処理を行う（Ｓ１４５）。毎サーボ、工程Ｓ１３２〜工程Ｓ１３８を繰り返すことで、中心周波数は発振周波数に近づき、そして、それよりも大きな値となる。そのとき、ｄＳ（ｍ）は０よりも大きい（Ｓ１３２におけるＮ）。ＨＤＣ／ＭＰＵ２３は、前回の中心周波数変更量ｄＢからｄＢｉｎｃを減算して、今回の変更量を決定する（Ｓ１３９）。
【００９５】
ＨＤＣ／ＭＰＵ２３は、ｄＢの符号を判定する（Ｓ１４０）。本処理例においては、ｄＢは０よりも大きいため（Ｓ１４０におけるＹ）、ＨＤＣ／ＭＰＵ２３はｄＢを０にセットする（Ｓ１４１）。ｄＢはｄＢｍｉｎよりも大きいので（Ｓ１４２におけるＮ）、ＨＤＣ／ＭＰＵ２３は、ｄＢを０に維持する（工程Ｓ１４３をパス）。ｄＢｍｉｎは、負の規定値である。
【００９６】
ＨＤＣ／ＭＰＵ２３は、ｄＢが０であるか否かを判定する（Ｓ１３８）。ｄＢが０であるので（Ｓ１３８におけるＹ）、ＨＤＣ／ＭＰＵ２３は、幅Ｗの算出を行う（Ｓ１４４）。上記処理例において、発振周波数よりも小さかった中心周波数は徐々に増加し、最終的に発振周波数を超える。このとき、中心周波数と発振周波数とは、略一致していると見なすことができる（差が所望範囲内にある）。そこで、ＨＤＣ／ＭＰＵ２３は、幅Ｗの算出を行う。中心周波数が発振周波数に略一致すると、ｄＳ（ｍ）の符号は頻繁に変わる。符号が変わる度にｄＢ＝０となり、周波数推定処理の代わりに幅Ｗの算出が頻繁に行われるようになる。つまり、中心周波数が発振周波数に収束して周波数推定処理を終了した後、幅Ｗの算出処理が行われる。
【００９７】
中心周波数の初期値が発振周波数よりも大きい場合、ＨＤＣ／ＭＰＵ２３による処理は、上記の処理とは逆になる。ＨＤＣ／ＭＰＵ２３は、工程Ｓ１３２〜工程Ｓ１４３、工程Ｓ１３８を繰り返して、中心周波数を小さくする（Ｓ１３９）。このときの変更量ｄＢは、ｄＢｍｉｎ以上の範囲に維持される（Ｓ１４２、Ｓ１４３）。中心周波数が発振周波数よりも小さくなると（Ｓ１３２におけるＹ）、その際ｄＢ＝０となり、ＨＤＣ／ＭＰＵ２３は、幅Ｗの算出を行う（Ｓ１４４）。中心周波数が発振周波数に略一致すると、ｄＳ（ｍ）の符号は頻繁に変わり、その度にｄＢ＝０となる。そのため、周波数推定処理の代わりに幅Ｗの算出が頻繁に行われるようになる。つまり、実質的には周波数推定処理が終了後、幅Ｗの算出処理が行われる。
【００９８】
上述のように、ＨＤＣ／ＭＰＵ２３は、｜ｄＳ（ｍ）｜＞ｄＳｍｉｎの場合のみ（工程Ｓ１３１におけるＹ）、アダプティブ・チェイシング・ノッチ・フィルタ２３３の計算を行う。｜ｄＳ（ｍ）｜＜ｄＳｍｉｎの場合、ｄＳ（ｍ）の絶対値が小さいため、ノイズによりｄＳ（ｍ）の符号が容易に変化してしまう。そのため、ＨＤＣ／ＭＰＵ２３は、｜ｄＳ（ｍ）｜が大きい場合のみ、Ｂの更新を行う。また、発振が止まった後、ノイズによりＢの値がずれて発振が再開することを防ぐ。つまり、発振が止まると｜ｄＳ（ｍ）｜＜ｄＳｍｉｎとなり、ノッチ・フィルタ２３３の迷走を防止する。
【００９９】
周波数推定計算において、中心周波数のシフト量ｄＢの絶対値は、ｄＳの符号が連続した回数に応じて大きくなる。このように、ｄＢの絶対値が可変であるので、中心周波数の発振周波数に対する収束性が高まる。また、シフト量ｄＢの可変範囲（シフト量の絶対値の最大値）が、ｄＢｍａｘ、ｄＢｍｉｎにより規定されているため、過大なシフトにより中心周波数が発振周波数から大きくずれることを避けることができる。
【０１００】
上述のように、｜ｄＳ（ｍ）｜＞ｄＳｍｉｎの条件により、ｄＳの値はノイズの影響を受けにくい。そのため、ｄＳが符号を変えるのは発振周波数とノッチ・フィルタ２３３の中心周波数の大小関係が変わったときのみである。このとき、発振周波数と中心周波数の差は所望範囲内の小さい値であって、一致していると見なすことができる。このように、発振周波数を実質的に同定し、推定処理が完了した後に、ＨＤＣ／ＭＰＵ２３は、ノッチ・フィルタ２３３の半値幅Ｗの計算を開始する。
【０１０１】
以下において、ノッチ・フィルタ２３３の半値幅Ｗの好ましい算出方法を、図６のフローチャートを参照して説明する。ＨＤＣ／ＭＰＵ２３は、幅Ｗの値を、周波数推定におけるＷの値から徐々に増加さ、発振を停止させることができる所望の値にセットする。好ましくは、Ｗの初期値は０である。また、好ましい構成において、ＨＤＣ／ＭＰＵ２３は、サーボ・サンプリングにおいて幅Ｗの値を更新する。つまり、ＨＤＣ／ＭＰＵ２３は、サーボ・サンプリングにおいて、現在の幅Ｗに変化量ｄＷを加算する。変化量ｄＷは、正または負の値であり、符号を含む。
【０１０２】
図６に示すように、好ましい本構成において、ＨＤＣ／ＭＰＵ２３は、ＰＥＳを使用して、発振の有無を判定する。本例では、ＨＤＣ／ＭＰＵ２３は、ＰＥＳの分散（ＰＥＳｓｉｇｍａ２）を使用する。具体的には、ＰＥＳｓｉｇｍａ２＞ＰＥＳ２＿ａｃｔｉｖｅであれば（Ｓ４４１におけるＹ）、ＨＤＣ／ＭＰＵ２３は、発振が起きている（止まっていない）と判定する。ＰＥＳ２＿ａｃｔｉｖｅは規定の定数である。
【０１０３】
このとき、ＨＤＣ／ＭＰＵ２３は、幅Ｗの変化量ｄＷにｄＷｉｎｃをセットする（Ｓ４４２）。ｄＷｉｎｃは、正の定数である。Ｗｉｎｃは、何らかの変数の関数であってもよい。そのときも、その値は正の数である。ＨＤＣ／ＭＰＵ２３は、ＰＥＳの分散と異なるＰＥＳの関数値により発振の有無やアクチュエータ振動の大きさを判定してもよい。
【０１０４】
ＰＥＳｓｉｇｍａ２がＰＥＳ２＿ａｃｔｉｖｅ以下であれば（Ｓ４４１におけるＮ）、ＨＤＣ／ＭＰＵ２３は、発振が止まっていると判定する。しかし、ＰＥＳｓｉｇｍａ２がＰＥＳ２＿ａｃｔｉｖｅに近い値である場合、可能な範囲で幅Ｗをさらに大きくして、ノッチ・フィルタにマージンを持たせることが好ましい。
【０１０５】
ＨＤＣ／ＭＰＵ２３は、ＰＥＳｓｉｇｍａ２＞ＰＥＳ２＿Ｗｕｐであるとき（Ｓ４４３におけるＹ）、幅ＷがＷｍｉｎよりも小さければ（Ｓ４４４におけるＹ）、変化量ｄＷにｄＷｉｎｃをセットする（Ｓ４４２）。つまり、ＨＤＣ／ＭＰＵ２３は、幅Ｗを増加させて、Ｗｍｉｎに近づける。Ｗｍｉｎは中心周波数の関数あるいは工程Ｓ４４１の条件を最初に満足した幅Ｗに規定の定数を加算した値とすることができる。このように、幅ＷをＷｍｉｎに近づくように増加させることで、ノッチ・フィルタにマージンを持たせることができる。
【０１０６】
幅ＷがＷｍｉｎ以上である場合（Ｓ４４４におけるＮ）、ＨＤＣ／ＭＰＵ２３は、変化量ｄＷに０をセットする、つまり、幅Ｗを変化させずに維持する（Ｓ４４５）。幅Ｗを徒に大きくすることは、サーボ・システムにおける位相マージンが減りサーボ性能の低下の原因となるからである。
【０１０７】
ＰＥＳ２＿Ｗｕｐ≧ＰＥＳｓｉｇｍａ２であるとき（Ｓ４４３におけるＮ）、発振を防ぐためのマージンは確保されている。従って、ＨＤＣ／ＭＰＵ２３は、幅Ｗを増加させることなく、その値を維持する（Ｓ４４５）、あるいは減少させる（Ｓ４４８）。工程Ｓ４４８におけるｄＷｄｅｃは、負の定数である。ｄＷｄｅｃは、何らかの変数の関数であってもよい。そのときも、その値は負の数である。
【０１０８】
具体的には、ＰＥＳ２＿Ｗｕｐ≧ＰＥＳｓｉｇｍａ２＞ＰＥＳ２＿Ｗｄｏｗｎであるとき（Ｓ４４３におけるＮ、かつ、Ｓ４４６におけるＮ）、ＨＤＣ／ＭＰＵ２３は、ｄＷに０をセットして現状の幅Ｗを維持する（Ｓ４４５）。Ｓ４４６におけるＰＥＳ２＿Ｗｄｏｗｎは、ＰＥＳ２＿Ｗｕｐ以下の正の数であり、ＰＥＳ２＿Ｗｕｐと異なるあるいは同一の数である。
【０１０９】
ＰＥＳ２＿Ｗｕｐ≧ＰＥＳｓｉｇｍａ２であるとき、アクチュエータ１６の発振は抑えられている。しかし、ＰＥＳｓｉｇｍａ２＞ＰＥＳ２＿Ｗｄｏｗｎであるので、ノッチ・フィルタ２３３の幅Ｗを小さくすることは、アクチュエータ１６の発振を引き起こす可能性を大きくする。従って、本構成のように、ＨＤＣ／ＭＰＵ２３は、ｄＷに０をセットして現状の幅Ｗを維持する（Ｓ４４５）ことが好ましい。
【０１１０】
ＰＥＳｓｉｇｍａ２＜ＰＥＳ２＿Ｗｄｏｗｎであり（Ｓ４４６におけるＹ）、かつ、Ｗ＞Ｗｍｉｎであるとき（Ｓ４４７におけるＹ）、ＨＤＣ／ＭＰＵ２３は、ｄＷにｄＷｄｅｃをセットして、幅Ｗを減少させる（Ｓ４４８）。ＰＥＳｓｉｇｍａ２＜ＰＥＳ２＿Ｗｄｏｗｎであるとき、ノッチ・フィルタ２３３の幅Ｗは、十分は大きさを有している。さらに、Ｗ＞Ｗｍｉｎあるとき、ＨＤＣ／ＭＰＵ２３は、幅Ｗを小さくしてＷｍｉｎに近づける。これにより、サーボ・システムにおける位相マージンを増加させ、サーボ・システムをより安定化させることができる。
【０１１１】
ノッチ・フィルタ２３３ＷがＷｍｉｎ以下であるとき（Ｓ４４７におけるＮ）、幅Ｗはサーボ・システムの位相マージン確保のために十分に小さい。そのため、本構成例のように、アクチュエータ１６の発振をより確実に防止するために、ＨＤＣ／ＭＰＵ２３は、ｄＷに０をセットして現状の幅Ｗを維持する（Ｓ４４５）ことが好ましい。
【０１１２】
ノッチ・フィルタ２３３の幅Ｗが大きすぎると、サーボ・システムが不安定となる。従って、幅Ｗには上限値Ｗｍａｘを設定することが好ましい。ＨＤＣ／ＭＰＵ２３は、サーボ・サンプリングで、図６を参照して説明した処理を行い、幅Ｗの変更量を決定する。ＨＤＣ／ＭＰＵ２３は、現在の幅Ｗに変更量ｄＷを加算するが、その値がＷｍａｘよりも大きいときは、幅ＷにＷｍａｘをセットする。
【０１１３】
好ましくは、上限値Ｗｍａｘは、中心周波数の関数である。上限値Ｗｍａｘが中心周波数によらず定数であると、位相遅れ量が中心周波数によって変化する。そのため、サーボ・システムの位相マージンが所定の値より大きくなるようにノッチ・フィルタ２３３を生成することが難しい。上限値Ｗｍａｘが中心周波数の関数であると、ＨＤＣ／ＭＰＵ２３は、生成するノッチ・フィルタ２３３による位相遅れ量に上限を与えることができる。そのため、サーボ・システムの位相マージンを所定の値より大きい範囲に容易に保つことができる。
【０１１４】
次に、アダプティブ・チェイシング・ノッチ・フィルタ２３３の生成方法を説明する。上述の方法により、ノッチ・フィルタ２３３の中心周波数と幅（半値幅）が決まる。ＨＤＣ／ＭＰＵ２３は、これらの値と中心周波数におけるゲインから、ノッチ・フィルタ２３３を生成する。上述のように、ノッチ・フィルタ２３３は、下の数式で表わすことができる。
｛Ｋ／（１−Ｅｚ−１−Ｆｚ−２）｝×（１＋Ｂｚ−１＋Ｃｚ−２）  （数式１）
【０１１５】
ＨＤＣ／ＭＰＵ２３は、中心周波数を表わすＢ、幅Ｗ、そして、深さＤ（中心周波数におけるゲイン）により、ノッチ・フィルタ２３３の係数Ｋ、Ｅ、Ｆ、Ｂ、Ｃのそれぞれを生成する。好ましい例において、深さＤを定数で与える。それぞれの係数は、下の数式により生成することができる。
Ｋ＝１−Ｗ
Ｃ＝１−２×Ｄ
Ｅ＝−Ｋ×Ｂ
Ｆ＝−Ｃ＋２×Ｗ
（数式７）
【０１１６】
深さＤは、ノッチ・フィルタの中心周波数におけるゲインであるので、下の条件を満足する。Ｗが０であるとき、ノッチ・フィルタ２３３の特性はパス・スルーである。
１＞＞Ｄ≧０                                                      （数式８）
また、幅Ｗの上限値Ｗｍａｘが中心周波数の関数で定義されているため、幅Ｗは下の条件を満足する。
１＞＞Ｗｍａｘ（Ｂ）≧Ｗ≧０                                      （数式９）
【０１１７】
ここで、幅Ｗと深さＤの一方が０のとき、他方は０よりも大きい値である。これにより、内部変数までのゲイン特性が無限大になることを防ぐ。
【０１１８】
幅Ｗの好ましい中心周波数の関数（Ｂの関数）例は、以下の関数である。
Ｗｍａｘ（Ｂ）＝ｗ０＋ｗ１×（Ｂ０−Ｂ）  Ｂ＜Ｂ０
Ｗｍａｘ（Ｂ）＝ｗ０                      Ｂ≧Ｂ０
（数式１０）
ただし、１＞＞ｗ０≧０が成立する。ｗ０、ｗ１、Ｂ０は定数である。
【０１１９】
これまでの説明に従って、ＨＤＣ／ＭＰＵ２３は、アクチュエータ１６の発振周波数に応じた適切なアダプティブ・チェイシング・ノッチ・フィルタ２３３を生成することができる。製品としてのＨＤＤ１に実装されたアダプティブ・チェイシング・ノッチ・フィルタ２３３は、それが実装されるシステムの状況や環境変化に応じて発生するアクチュエータ１６の発振を効果的に抑えることができる。
【０１２０】
ＨＤＤ１は、生産工程において、アダプティブ・チェイシング・ノッチ・フィルタ２３３を利用することができる。ＨＤＤ１の生産におけるテスト工程において、ＨＤＣ／ＭＰＵ２３は、アダプティブ・チェイシング・ノッチ・フィルタ２３３を適応化することで、アクチュエータ１６の発振を止める。ＨＤＣ／ＭＰＵ２３は、このアダプティブ・チェイシング・ノッチ・フィルタ２３３の中心周波数と幅とを基に、新たな固定ノッチ・フィルタ（時不変のノッチ・フィルタ）を生成し、サーボ・システムに追加する。これにより、ドライブ毎のバラツキにより必要となるノッチ・フィルタを個別に設定することができる。
【０１２１】
ＨＤＤ１は、例えば、同一設計の全ＨＤＤに共通の一つもしくは複数の固定ノッチ・フィルタと、個別設定用の一つもしくは複数の固定ノッチ・フィルタ、そしてアダプティブ・チェイシング・ノッチ・フィルタ２３３を有する。個別設定用のノッチ・フィルタは、設定前は、パス・スルーされている。上述のように、ＨＤＣ／ＭＰＵ２３は、アクチュエータ１６の発振を止めるアダプティブ・チェイシング・ノッチ・フィルタ２３３の係数を決定する。ＨＤＣ／ＭＰＵ２３は、決定した係数から個別設定用のノッチ・フィルタ用の係数を決定し、それらを個別設定用のノッチ・フィルタにセットする。これにより、この固定ノッチ・フィルタは、サーボ・システムに挿入される。
【０１２２】
好ましい方法において、ＨＤＣ／ＭＰＵ２３は、発振を止めたアダプティブ・チェイシング・ノッチ・フィルタ２３３の幅Ｗよりも大きい幅Ｗを個別設定用のノッチ・フィルタに設定する。これにより、マージンを確保する。また、ゲイン・マージンを確保したい周波数帯においては、ＨＤＣ／ＭＰＵ２３は、発振促進用のフィルタでその周波数帯のゲインを確保したいマージンに相当する分高くする。ＨＤＣ／ＭＰＵ２３は、個別設定用のノッチ・フィルタを設定した後に、発振促進用のフィルタを除く。これにより、確保したいマージンを確実に確保することができる。
【０１２３】
以上、本発明を好ましい実施形態を例として説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。ノッチ・フィルタを追加する領域は、ＨＤＤの設計により変化しうる。本発明は、ＨＤＤ以外のディスク・ドライブに適用することができ、ディスクが筐体内に固定されているか否かを問わない。ノッチ・フィルタの中心周波数は、アクチュエータの発振周波数近傍にあることが重要だが、それに必ずしも一致しているとは限らない。
【符号の説明】
【０１２４】
１  ハードディスク・ドライブ、１０  エンクロージャ、１１  磁気ディスク
１２  ヘッド・スライダ、１６  アクチュエータ、２０  回路基板
２１  リード・ライト・チャネル、２３  モータ・ドライバ・ユニット、３１  制御対象
５１  ホスト、２３１  主サーボ制御部、２３２  固定ノッチ・フィルタ
２３３  アダプティブ・チェイシング・ノッチ・フィルタ
２３４  アダプティブ・チェイシング・ピーク・フィルタ
２３５  固定ピーク・フィルタ
【図１】
2011060347.tif 000003
【図２】
2011060347.tif 000004
【図３】
2011060347.tif 000005
【図４】
2011060347.tif 000006
【図５】
2011060347.tif 000007
【図６】
2011060347.tif 000008