README for Hard Disk Benchmark Problem Written by M.Hirata, T.Hara Ver.1.0, 2005-04-26 Ver.1.1, 2005-05-02 Ver.1.2, 2005-05-10 Ver.1.3, 2005-05-12 Ver.1.4, 2005-05-13 Ver.1.5, 2005-05-16, first release Ver.1.6, 2005-08-30, add evaluation functions Ver.3.X Copyright (c) 2004-2006, MSS benchmark working group ■ 使用方法 main.mを実行してください。制御対象の定義,外乱の定義が行われます。 制御対象と外乱はそれぞれ mainPlantData.mat, main DistData.mat にセーブ されます。 mainPlantData.mat PlantData - フォローイング制御用プラントモデルの構造体 PlantDataSeek - シーク制御用プラントモデルの構造体 PlantData PlantData.Pn - ノミナルモデル PlantData.Pf - フルオーダーモデル PlantData.Pfpert - 変動モデル(多次元配列) 注)制御入力は電流[A],観測出力はトラック[track] mainDistData.mat DistParam Force - 力外乱 Flutter - フラッター外乱 Sensor - センサノイズ RRO - RRO(繰り返し外乱) NoiseDataFD - ノイズデータの構造体(周波数領域) NoiseDataTD - ノイズデータの構造体(時間領域) 本ベンチマーク問題で取り扱うノイズは以下の4種類です。 * トルクノイズ NoiseDataTD.TorqueNoise, NoiseDataFD.TorqueNoise NoiseDataTD.TorqueNoiseAtPes, NoiseDataFD.TorqueNoiseAtPes(出力端換算) * フラッターノイズ(サスペンション起因外乱等も含む) NoiseDataTD.FlutterNoise, NoiseDataFD.FlutterNoise * センサーノイズ NoiseDataTD.SensorNoise, NoiseDataFD.SensorNoise * RRO外乱(時間域のみ) NoiseDataTD.RRONoise 力外乱は,制御対象の入力端(単位[A])および出力端(単位[track])に換算 したものの両方を用意しています。それ以外の外乱はすべて出力端(単位 [track])で定義しています。 RRO外乱に関しては,STW時に混入するRROも模擬しており,その時系列データ をRROSequence.matとして用意しています。このファイル名のmatファイルがカ レントディレクトリに存在するとき,自動的に読み込みます。 ■ モデルパラメータ hdd_param.m hdd_distparam.m ■ モデル定義用関数 SetPlantMode.m - 制御対象の定義 SetDistParam.m - 外乱生成のためのパラメータ定義 SetNoiseFreqDom.m - ノイズデータの生成(周波数領域) SetNoiseTimeDom.m - ノイズデータの生成(時間領域) ■ 補助関数(上記関数から呼び出される) make_plant.m - 制御対象の計算 plot_bode.m - ボード線図の表示 figsize.m - figureのサイズを指定 psdcal.m - whitenoise.m - ■ スクリプトファイル main.m - 制御対象およびノイズデータの表示 ■ データファイル RROSequence.m - RROの時刻歴応答。STW時に書き込まれるRROを模擬。 ■ 結果評価用関数 PESEval.m - PES_FFT.m - PESのパワースペクトラムを計算(ハニング窓,オーバーラップ50%) PES_PlotTD.m - PESの時間応答PLOT(RROとNRROを分離してプロット) ■ TODO LIST * ロングシーク制御系のモデルを作成 ■ 注意 このm-fileおよびsimulinkファイルは matlab ver 6.5.1 の上で動作確認 しています。 ■ 更新履歴 >> Ver.3.X >>Ver.2.0 - 2006-06-06 * 暫定リリース * メカモデルの更新 実機のHDDをベースにしたメカモデルとした。 * 外乱毎にサンプリング周期が変えられる様にした。 * 各サンプリング周期のデフォルトを以下とした。 Ts = Tc = Ty = Tu * 外乱生成コマンドを,外乱別にした。また,外乱のサンプリング周期によっ て外乱のパワーが変化しないようにした。 * SetPlantModelのオプションを指定することで,剛体モードが2重積分器とな るようにした。(シーク問題への対応) >> Ver.1.5, 2005-05-16 (委員会内公開版) * トラックピッチを100kTPIとした SetPlantModel.m * 上記変更に伴う外乱およびループゲインの調整 SetNoiseParam.m, example1.m * 共振モードの変動幅を調整した。 SetPlantModel.m >> Ver.1.4 * RROの時系列データをmatファイルから読むようにした。 SetNoiseParam.m, RROSequence.mat * 共振モードの変動幅を大きくした。 SetPlantModel.m >> Ver.1.3 * 制御対象のゲインを調整 SetPlantModel.m, SetNoiseParam.m * TDParamを廃止し,すべてのパラメータをSetNoseParam.mの中で定義する事とした。 SetNoiseParam.m,SetNoiseTimeDom.m * example1.m の中にノッチフィルターのデータを直接書き込んだ。 >> Ver.1.2 * 外乱の大きさを調整 SetNoiseParam.m SetNoiseFreqDomain.m * 図の背景色をデフォルトに戻す plot_bode.m * PID制御による設計例を追加 example1.m * 変動モデルの定義方法を変更 SetPlantMode.m, plot_bode.m >> Ver.1.1 * bug fix fftgain.m, SetPlantModel.m, SetNoiseTimeDom.m * SetPlantModel.m における変動の取り扱いを変更。 DeltaFn - Fn に対する乗法的な変動値 DeltaZeta - Zeta 〃 DeltaGain - Gain 〃 * SetNoiseParam.m RROSequence の追加 -> ディスク1周分のRROの時系列データ。 FreqRRO, AmpRRO とは別に,RROを直接時系列データとして与えられる。 >> Ver.1.0, リリース EOF of readme.txt