図1は、本発明の一実施形態に係る適応ノッチフィルタ10の構成を示すブロック図である。適応ノッチフィルタ10は、ノッチフィルタ部12、パラメタ調整部AF、プリフィルタPF、及びノッチフィルタ制御部EVLを含んで構成されている。パラメタ調整部AFは、ノッチフィルタ部12のパラメタを調整するために設けられている。プリフィルタPFは、パラメタ調整部AFに入力される入力信号を前処理するためのフィルタである。ノッチフィルタ制御部EVLは、パラメタ調整部AFによりパラメタが調整されるべきノッチフィルタを選択するためのスイッチSW0を切り替える。ノッチフィルタ制御部EVLは、パラメタ調整部AFへの入力信号uに基づいてスイッチSW0を切り替える。
ノッチフィルタ部12は、直列に接続されている少なくとも2つのノッチフィルタを含む。図示の例では2つのノッチフィルタMNF1、MNF2が直列に配置されている。第3乃至第nのノッチフィルタMNF3乃至MNFnが直列にさらに追加されてもよい。ノッチフィルタは、例えば図2に示される周波数特性を有する公知のフィルタである。ノッチフィルタは、中心周波数ω0において振幅ゲインに最小値を有しており、入力信号から中心周波数ω0及びその近傍の周波数成分を抑制して出力信号を出力する。複数のノッチフィルタの中心周波数はそれぞれ異なる値に設定されており、図示の例においても第1ノッチフィルタMNF1の中心周波数ω10と第2ノッチフィルタMNF2の中心周波数ω20とは異なる。
区分された個々の周波数帯域に1つずつノッチフィルタを対応づけるのではなく、各ノッチフィルタの中心周波数は共通の周波数帯域に設定されることが許容されている。これにより、複数の共振周波数に対応させて柔軟に各ノッチフィルタを調整することが可能となる。この共通の帯域は例えば、制御帯域を除く周波数帯域である。あるいは共通の帯域は所定の周波数よりも高帯域である。この所定の周波数は例えば制御帯域の上限以上の周波数である。なお、この共通の帯域は1つには限られない。複数の周波数帯域を設定し、それぞれの周波数帯域に複数のノッチフィルタの中心周波数が含まれることが許容されていてもよい。
ノッチフィルタ部12への入力信号τ1は例えば、ノッチフィルタ部12が適用される制御対象への制御指令である。入力信号τ1は、当該制御対象からの出力の検出値と所望の目標指令値との誤差に基づき生成されていてもよい。入力信号τ1は目標指令であってもよい。入力信号τ1は、当該制御対象からの観測量(例えば、位置、速度、加速度など)であってもよい。出力信号τ2は、当該制御対象からの出力の検出値として使用されてもよい。ノッチフィルタ部12の出力信号τ2は、当該制御対象への制御入力として使用されてもよい。各ノッチフィルタのフィルタ係数は、当該制御対象の固有振動数成分を入力信号τ1から除去するよう調整されている。そのために、各ノッチフィルタの中心周波数は当該制御対象のいずれかの固有振動数成分に一致するよう調整される。
各ノッチフィルタは、フィルタ機能を有効とする有効状態と無効とする無効状態とを切替可能に設けられている。第1ノッチフィルタMNF1には有効状態と無効状態とを切り替えるための第1ノッチフィルタ切替スイッチSW1が付随して設けられており、第2ノッチフィルタMNF2にも同様に第2ノッチフィルタ切替スイッチSW2が設けられている。第1ノッチフィルタ切替スイッチSW1及び第2ノッチフィルタ切替スイッチSW2はそれぞれ、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2の後段に設けられている。各ノッチフィルタは例えばノッチフィルタ制御部EVLにより有効状態と無効状態とが切り替えられる。
パラメタ調整部AFは、ノッチフィルタ部12の複数のノッチフィルタに共通に設けられており、選択された少なくとも1つのノッチフィルタのパラメタを調整する。パラメタ調整部AFは少なくとも中心周波数を含むパラメタを調整する。図示の実施例ではパラメタ調整部AFは、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2のうち選択されている一方の調整を実行する。調整されるべきノッチフィルタを選択するために、調整対象選択スイッチSW0が適応ノッチフィルタ10には設けられている。選択されたノッチフィルタのパラメタを調整するようにしているので、複数のノッチ周波数を並行して制御する場合に比べて計算量を少なくすることができる。
パラメタ調整部AFは、ノッチフィルタ部12のフィルタ係数を参照信号dに基づいて修正する。図示の例ではパラメタ調整部AFは、参照信号dをプリフィルタPFで処理して得られた入力信号uに基づいてノッチフィルタ部12のフィルタ係数を修正する。参照信号dは、ノッチフィルタ部12が適用される制御対象への制御指令であってもよいし、当該制御対象からの観測量であってもよい。パラメタ調整部AFは、制御対象の振動成分を抽出することのできるいかなる信号を参照信号dとして用いてもよい。
図3は、本発明の一実施形態に係るパラメタ調整部AFの構成を示すブロック図である。パラメタ調整部AFは、位相差フィルタ14と、修正演算部16と、を含んで構成されている。位相差フィルタ14は、プリフィルタPFの出力信号uを入力として、位相差フィルタ出力信号pを出力する。ここで位相差フィルタ14とは、周波数成分に応じた位相シフトを与えるフィルタをいう。位相差フィルタ14の位相特性は、中心周波数ω0を含む局所周波数領域の下限周波数から上限周波数へと入力信号uの周波数が増加するにつれて、出力信号pの位相シフトを第1位相シフトから第2位相シフトへと単調に変化させる。下限周波数よりも低周波数領域においては位相シフトは第1位相シフトに実質的に等しく、上限周波数よりも高周波数領域においては位相シフトは第2位相シフトに実質的に等しい。
中心周波数ω0の修正を、以下に詳しく述べる中心周波数修正量Δω0を用いて行う場合には、位相差フィルタ14の位相特性は、局所周波数領域の下限周波数よりも低周波数領域においては実質的に0度の位相遅れを与え(つまり実質的に位相を遅らせず)、上限周波数よりも高周波数領域においては実質的に180度の位相遅れを与えることが好ましい。位相差フィルタ14の位相特性は、局所周波数領域の下限周波数から上限周波数へと入力信号uの周波数が増加するにつれて、出力信号pの位相遅れが0度から180度へと大きくなっていく。入力信号uの周波数成分が中心周波数ω0に等しいときに、出力信号pの位相遅れは90度に等しくなるよう設定されている。
好ましい一実施例においては、位相差フィルタ14は、上記の位相特性とともに、ゲインピークを中心周波数ω0に有する周波数振幅特性を有するピークフィルタであってもよい。ピークフィルタの周波数振幅特性及び周波数位相特性の一例を図4に示す。図4の周波数位相特性に示されるように、位相差フィルタ14は、中心周波数ω0において基準位相遅れ(例えば90度)をとり、中心周波数ω0の近傍で基準位相遅れよりも十分小さい位相遅れ(例えば0度)から十分大きい位相遅れ(例えば180度)へと変化する位相特性を有する。ピークフィルタがデジタルフィルタである場合には、ピークフィルタの伝達関数GPは次式で表される。ここで、kは中心周波数ω0を決めるパラメータ、lpはピークの減衰を決めるパラメータである。
修正演算部16は、調整対象選択スイッチSW0により選択されているノッチフィルタのフィルタ係数を位相差フィルタ入力信号u及び位相差フィルタ出力信号pに基づいて修正する。また、修正演算部16は、位相差フィルタ入力信号u及び位相差フィルタ出力信号pに基づいて位相差フィルタ14のフィルタ係数を修正する。修正演算部16は、ノッチフィルタ及び位相差フィルタ14の時点nにおけるフィルタ係数を、入力信号u及び出力信号pに基づいて、時点n+1におけるフィルタ係数に更新する。修正演算部16は例えば、次式により中心周波数ω0を時点nの値ω0[n]を時点n+1の値ω0[n+1]に更新する。すなわち、修正演算部16は、中心周波数ω0の現在値ω0[n]に修正量Δω0を加算することにより更新値ω0[n+1]を得る。
式1の右辺第2項が中心周波数ω0の修正量Δω0である。ここで、u[n]及びp[n]はそれぞれ時点nにおける位相差フィルタの入力信号u及び出力信号pを示す。Φp[n]は時点nにおける補正係数である。この補正係数については後述するが、入力信号uの振幅αの影響を緩和するための補正係数である。補正係数Φp[n]は例えば、位相差フィルタ出力信号p[n]の二乗を平滑化したものである。出力信号p[n]は振動成分を含む信号であるから、0または0に近い値をとることがある。よって、補正係数Φp[n]が0または0に近い値となり、中心周波数修正量Δω0が過大となることを避けるためには、平滑化処理をすることが好ましい。平滑化処理は例えばローパスフィルタによるものであってもよい。補正係数は、位相差フィルタ入力信号uの二乗を平滑化したものであってもよいし、入力信号uと出力信号pとの積puの二乗の平方根であってもよい。μは、修正量Δωを調整するための修正ゲインである。
図5は、位相差フィルタ14にピークフィルタを用いたときの中心周波数修正量の平均値E[Δω0]を示す図である。図5に示されるように、修正量平均値E[Δω0]は、中心周波数ω0の近傍だけではなく、ゼロ近傍からナイキスト周波数ωnyq(サンプリング周波数の1/2)の近傍にわたる広範な周波数領域において、中心周波数ω0と入力周波数ωとの偏差に対し直線的に変化していることがわかる。つまり、ナイキスト周波数ωnyq以下の帯域において、中心周波数修正量の平均値E[Δω0]は、中心周波数ω0と入力周波数ωとの偏差に実質的に比例している。
このため、中心周波数ω0と入力周波数ωとの偏差に応じた修正量Δω0を得ることができる。つまり、適応ノッチフィルタ10により抑制すべき周波数ωからノッチ中心周波数ω0が離れているほど更新時の修正量Δω0が大きくなる。よって、少ない更新処理の反復回数で中心周波数ω0を入力信号uの周波数ωへと近づけることができる。また、抑制すべき周波数ωに中心周波数ω0が近づくほど修正量Δω0が小さくなる。よって、入力信号uの周波数ωの近傍で中心周波数ω0を更新するたびに中心周波数ω0が振動的に変化することを防ぐことができる。中心周波数ω0を入力信号uの周波数ωへとすみやかに一致させることができる。
図6は、本発明の一実施形態に係るプリフィルタPFの構成を示すブロック図である。プリフィルタPFは、ノッチフィルタ部12の複数のノッチフィルタの各々に対応して直列に配置されている複数の帯域阻止フィルタを含む。各帯域阻止フィルタは、対応するノッチフィルタの中心周波数を含む阻止帯域を持つ。最終段の帯域阻止フィルタの出力がパラメタ調整部AFへの入力信号uとなる。
選択されたノッチフィルタの調整処理中においては、対応する帯域阻止フィルタが無効状態に設定される。選択されたノッチフィルタの調整処理が完了しそのノッチフィルタが有効状態であるときは、帯域阻止フィルタも有効状態に切り替えられる。例えばノッチフィルタ制御部EVLにより、各帯域阻止フィルタは有効状態と無効状態とが切り替えられる。パラメタ調整部AFは、選択されたノッチフィルタの調整済みのパラメタに基づいて、対応する帯域阻止フィルタを調整する。
帯域阻止フィルタは本実施例ではノッチフィルタである。よって、プリフィルタPFは、直列に接続されている少なくとも2つのノッチフィルタを含む。図示の例では、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2に対応して第1プリノッチフィルタPNF1及び第2プリノッチフィルタPNF2が直列に配置されている。第3乃至第nのノッチフィルタMNF3乃至MNFnが設けられている場合には、同様にして第3乃至第nのプリノッチフィルタPNF3乃至PNFnがプリフィルタPFに追加される。
プリノッチフィルタPNF1、PNF2の中心周波数はそれぞれ対応するノッチフィルタMNF1、MNF2の中心周波数に等しい値に設定される。プリノッチフィルタPNF1、PNF2の他のパラメタ(例えばノッチの幅や深さ)は、対応するノッチフィルタMNF1、MNF2に等しい値に設定されてもよいし、異なる値に設定されてもよい。例えば、プリノッチフィルタPNF1、PNF2の幅を表すパラメタであるQ値は0.5乃至1とし、深さは−∞dBに設定してもよい。一方、ノッチフィルタMNF1、MNF2のQ値は1、深さは−∞dBに設定されてもよい。
各帯域阻止フィルタについてフィルタ機能を有効とする有効状態と無効とする無効状態とを切替可能である。第1プリノッチフィルタPNF1には有効状態と無効状態とを切り替えるための第1プリノッチフィルタ切替スイッチSW11が付随して設けられており、第2プリノッチフィルタPNF2にも同様に第2プリノッチフィルタ切替スイッチSW12が設けられている。第1プリノッチフィルタ切替スイッチSW11及び第2プリノッチフィルタ切替スイッチSW12はそれぞれ、第1プリノッチフィルタPNF1及び第2プリノッチフィルタPNF2の後段に設けられている。各プリノッチフィルタは例えばノッチフィルタ制御部EVLにより有効状態と無効状態とが切り替えられる。
また、プリフィルタPFは、ハイパスフィルタHPFを含む。ハイパスフィルタHPFは第1プリノッチフィルタPNF1の前段に設けられており、プリフィルタPFへの入力信号dを処理して第1プリノッチフィルタPNF1に与える。ハイパスフィルタHPFは制御帯域を制限帯域とする。すなわちハイパスフィルタHPFは制御帯域よりも高帯域を通過帯域とする。あるいはハイパスフィルタHPFは制御帯域より所定量高い帯域を制限帯域とする。すなわちハイパスフィルタHPFは制御帯域よりも所定量高い帯域を通過帯域とする。
ノッチフィルタ制御部EVLは、入力される信号uの振動レベルに応じてノッチフィルタ部12のノッチフィルタを順に制御系に投入していく。すなわち、振動レベルが所定のしきい値よりも小さいと判定される場合には、すべてのノッチフィルタが無効状態に設定されている。信号uの振動が振動レベルしきい値を超えたときに第1ノッチフィルタMNF1が有効状態に切り替えられる。第1ノッチフィルタMNF1はパラメタ調整部AFにより調整される。第1ノッチフィルタMNF1の調整完了後になお信号uの振動が振動レベルしきい値を超えている場合に第2ノッチフィルタMNF2が有効状態に切り替えられ、パラメタ調整部AFにより調整される。同様にして、第2ノッチフィルタMNF2の調整完了後になお信号uの振動が振動レベルしきい値を超えている場合に第3ノッチフィルタMNF3が有効状態に切り替えられる。
一実施例においては、ノッチフィルタ制御部EVLは、指令応答の残留振動を利用して振動レベルを判定してもよい。例えば、指令加速度がゼロとなってから所定時間を評価区間とし、その評価区間における評価対象信号の絶対値の積分値を振動レベルと定義してもよい。あるいは、ノッチフィルタ制御部EVLは、入力信号uの2乗または絶対値にローパスフィルタLPFをかけて得られる信号vに基づいて振動レベルを評価してもよい。このローパスフィルタLPFは制御帯域を通過帯域とすることが好ましい。ノッチフィルタ制御部EVLは、その他公知の適切な手法で振動レベルを評価してもよい。例えば、ノッチフィルタ制御部EVLは、特定の周波数成分の振幅が所定値を超えたか否かによって振動レベルを判定してもよい。
図7は、本発明の一実施形態に係る制御装置100のシステム構成を示すブロック図である。制御装置100は、上述の適応ノッチフィルタ10を備えており、制御対象の共振を抑制するよう構成されている。アクチュエータ20は負荷22を駆動する。アクチュエータ20は例えば、産業用ロボットや射出成型器、建設機械、精密位置決めステージ等の共振により制御特性に制限が生じ得る装置に組み込まれているモータである。検出器24はアクチュエータ20の出力(例えば制御量ω)を測定する。例えばモータの検出速度ωが測定される。パラメタ調整部AFは、検出器24の検出信号ωを参照信号dとして使用し、ノッチフィルタの係数を修正する。
制御装置100の指令生成部(図示せず)は、指令値rを決定する。制御部VCは、指令値rに制御量ωを一致させるよう指令τ1を出力する。ノッチフィルタ部12は、有効状態のノッチフィルタの中心周波数の周波数成分を指令信号τ1から除去して新たな指令信号τ2を出力する。中心周波数はアクチュエータ20及び負荷22を含むシステムの固有振動数ωnの周波数成分に一致している。固有振動数成分が複数ある場合には複数のノッチフィルタが有効状態とされ、各固有振動数成分が抑制される。アクチュエータ制御部TCは指令信号τ2に基づきアクチュエータ20を制御する。
図1及び図7に示す適応ノッチフィルタ10においては、ノッチフィルタ部12から選択され調整されたノッチフィルタの中心周波数が他のノッチフィルタの中心周波数を含む所定の帯域に調整された場合に、他のノッチフィルタの中心周波数が変更されてもよい。選択ノッチフィルタの中心周波数が他のノッチフィルタの中心周波数の近傍に調整された場合に、パラメタ調整部AFは、他のノッチフィルタの中心周波数を選択ノッチフィルタの中心周波数に近づけるように調整する。好ましくは、パラメタ調整部AFは、他のノッチフィルタの中心周波数を選択ノッチフィルタの中心周波数に一致させ、選択ノッチフィルタを無効状態に切り替える。このようにして1つのノッチフィルタの調整結果に基づいて、他のノッチフィルタのパラメタが変更される。
例えば、第2ノッチフィルタMNF2の中心周波数が第1ノッチフィルタMNF1の中心周波数の近傍に調整された場合に、第1ノッチフィルタMNF1の中心周波数が変更される。第1ノッチフィルタMNF1の中心周波数は、第2ノッチフィルタMNF2の中心周波数に近づけるように修正される。好ましくは、第1ノッチフィルタMNF1の中心周波数は第2ノッチフィルタMNF2の中心周波数に一致させるように修正される。この場合、第2ノッチフィルタMNF2は無効状態に切り替えられる。
図8は、本発明の一実施形態に係る中心周波数の調整処理を説明するためのフローチャートである。図8に示す例は、第1ノッチフィルタMNF1が有効状態とされ中心周波数の調整が完了している状態を前提としている。なお、第1ノッチフィルタMNF1の中心周波数は、制御帯域よりも高帯域において最大のゲインを有する共振周波数成分に合うように調整されている。
図8に示されるように、ノッチフィルタ制御部EVLは、振動レベルがしきい値を超えているか否かを判定する(S10)。振動レベルがしきい値に収まっていると判定された場合には(S10のN)、ノッチフィルタ制御部EVLは、この処理を終了し次回の処理まで待機する。振動レベルが低いということは、第1ノッチフィルタMNF1が適切に設定され、振動が有効に抑制されているということである。
振動レベルがしきい値を超えると判定された場合には(S10のY)、ノッチフィルタ制御部EVLは、第2ノッチフィルタMNF2を有効状態とするよう第2ノッチフィルタ切替スイッチSW2を切り替え、調整対象選択スイッチSW0を中立状態から第2ノッチフィルタMNF2に切り替える。また、ノッチフィルタ制御部EVLは、第2プリノッチフィルタPNF2を無効状態とするよう第2プリノッチフィルタ切替スイッチSW12を切り替える。第2プリノッチフィルタPNF2を無効状態とすることにより、調整対象である第2ノッチフィルタMNF2で抑制されている周波数成分がパラメタ調整部AFに入力されることになる。こうして第2ノッチフィルタMNF2の中心周波数ω20の調整が開始される(S12)。なおこのとき第1ノッチフィルタMNF1及び第1プリノッチフィルタPNF1は継続して有効状態とされている。
このとき、第3乃至第nノッチフィルタMNF3乃至MNFnと対応する第3乃至第nプリノッチフィルタPNF3乃至PNFnがある場合には、ノッチフィルタ部12で無効状態となっているノッチフィルタに対応するプリノッチフィルタもまた無効状態にする。第2プリノッチフィルタPNF2およびノッチフィルタ部12で無効状態となっているノッチフィルタに対応するプリノッチフィルタを無効状態とすることにより、調整対象である第2ノッチフィルタMNF2で抑制されている周波数成分がパラメタ調整部AFに入力されることになる。
第2ノッチフィルタMNF2の中心周波数ω20は、第1ノッチフィルタMNF1の中心周波数ω10の近傍(例えばω10の0.5倍乃至2倍の範囲)になるべく含まれないように調整される。そのために第1プリノッチフィルタPNF1は参照信号dから第1ノッチフィルタMNF1で抑制している周波数成分を除去する。さらに例えば、第2ノッチフィルタMNF2の中心周波数ω20を設定するための初期値は第1ノッチフィルタMNF1の中心周波数ω10から離れた値(例えばω10の2倍を超える値)に設定される。このようにして、第2ノッチフィルタMNF2の中心周波数ω20を第1ノッチフィルタMNF1の中心周波数ω10の近傍を避け、かつ制御帯域よりも高帯域において最大のゲインを有する共振周波数成分に合うように調整することが可能となる。上述の更新処理法においては例えばΔω0が十分小さい基準値以下となったときに中心周波数の調整が完了したものとみなされる。
パラメタ調整部AFは、第2プリノッチフィルタPNF2の中心周波数を第2ノッチフィルタMNF2の中心周波数ω20に等しい値に設定する(S14)。ノッチフィルタ制御部EVLは、第2プリノッチフィルタPNF2を有効状態とするよう第2プリノッチフィルタ切替スイッチSW12を切り替える。
なお、このとき、ノッチフィルタ制御部EVLは、第2プリノッチフィルタPNF2を設定する前に、振動レベルを検定してもよい。すなわち、ノッチフィルタ制御部EVLは、第2ノッチフィルタMNF2の調整前に比べて調整後の振動レベルが増大したか否かを判定し、振動レベルが増大した場合に第2ノッチフィルタMNF2を無効状態に戻すようにしてもよい。振動レベルが増大した場合にはノッチフィルタの設定に何らかの異常が想定されるからである。
ノッチフィルタ制御部EVLは、第2ノッチフィルタMNF2の中心周波数ω20が第1ノッチフィルタMNF1の中心周波数ω10を含む所定帯域に含まれるか否かを判定する(S16)。この所定帯域は例えば第1ノッチフィルタMNF1の中心周波数ω10の近傍にあるか否かを判定するための範囲であり、例えば85%乃至115%の範囲である。あるいは、好ましくは第1ノッチフィルタMNF1の中心周波数ω10の95%乃至115%の範囲であってもよい。所定帯域において中心周波数ω10の低帯域側を高帯域側より狭くすることにより、ノッチフィルタによる位相遅れの影響を緩和することができる。
第2ノッチフィルタMNF2の中心周波数ω20が所定帯域に含まれない場合には(S16のN)、ノッチフィルタ制御部EVLは処理を終了する。2つのノッチフィルタはともに有効状態とされる。第2ノッチフィルタMNF2の中心周波数ω20が第1ノッチフィルタMNF1の中心周波数ω10から十分に離れており、2つのノッチフィルタの各々が異なる共振周波数成分に適切に設定されたと考えられる。
一方、第2ノッチフィルタMNF2の中心周波数ω20が所定帯域に含まれる場合には(S16のY)、ノッチフィルタ制御部EVLは、第2ノッチフィルタMNF2を無効状態に切り替えるとともに、第1ノッチフィルタMNF1の中心周波数ω10を第2ノッチフィルタMNF2の中心周波数ω20に一致させるように修正する(S18)。第1ノッチフィルタMNF1の中心周波数ω10が何らかの理由で本来抑制すべき周波数成分から若干乖離していたために、第2ノッチフィルタMNF2の中心周波数ω20が第1ノッチフィルタMNF1の中心周波数ω10の近傍に設定されたと考えられるからである。
ノッチフィルタ制御部EVLは、振動レベルがしきい値を超えているか否かを再度判定し(S10)、振動レベルがしきい値に収まっている場合には(S10のN)、第1ノッチフィルタMNF1のみが有効状態とされる。振動レベルがしきい値を超えると判定された場合には(S10のY)、ノッチフィルタ制御部EVLは、第2ノッチフィルタMNF2の調整を再度行うことになる。第2ノッチフィルタMNF2の調整を再度行う場合には第2ノッチフィルタMNF2の中心周波数ω20が第1ノッチフィルタMNF1の中心周波数ω10を含む所定帯域に含まれるか否かを判定する所定帯域を、最初の調整のときより狭くしてもよいし、第2ノッチフィルタMNF2の中心周波数ω20が第1ノッチフィルタMNF1の中心周波数ω10を含む所定帯域に含まれるか否かを判定する処理を省略してもよい。
図8に示す例は第1ノッチフィルタMNF1のみが有効状態とされている場合から開始しているが、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2が有効状態とされ中心周波数の調整が完了している状態においても同様である。この場合、振動レベルがしきい値を超えると判定された場合には(S10のY)、ノッチフィルタ制御部EVLは、第3ノッチフィルタMNF3の調整を開始することになる。
このようにして、本実施形態によれば、振動レベルに応じて順次ノッチフィルタが追加投入され、各ノッチフィルタはそれぞれ共振周波数を抑制する。複数のノッチフィルタが複数の共振を抑制するよう自動的に調整される。パラメタ調整部は選択されたノッチフィルタの中心周波数を調整するようにしているので、すべてのノッチフィルタの調整を並行して行う必要がなく、計算量を少なくすることができる。また、ノッチフィルタ部12とプリフィルタPFとを対応する直列のフィルタ構成とし、パラメタの調整対象ノッチフィルタに対応するプリノッチフィルタを調整処理中に一時的に無効状態するようにしている。ノッチフィルタ部12において無効となっているノッチフィルタに対応するプリフィルタも調整処理中に一時的に無効状態するようにしている。これにより、調整対象のノッチフィルタにより抑制されるべき周波数帯域を簡易な構成でパラメタ調整部AFに入力することができる。
また、1つのノッチフィルタの調整結果に基づき別のノッチフィルタが調整される。少なくとも一時的にノッチフィルタが追加され、その追加フィルタのパラメタが調整される。各ノッチフィルタの中心周波数は共通の周波数帯域に設定されることが許容されている。追加フィルタの中心周波数が他のノッチフィルタから離れており、他のノッチフィルタにより抑制される共振周波数成分とは別個の共振周波数成分を抑制している場合には、その追加フィルタは継続して使用される。追加フィルタが別個の共振周波数成分を抑制しているとはみなすことができない場合には、既存のノッチフィルタが再調整され、追加フィルタは無効状態に戻される。このようにして、区分された個々の周波数帯域に1つずつノッチフィルタを対応づける場合に比べて、複数の共振周波数に対応させて柔軟に複数のノッチフィルタを調整することが可能となる。
さらに、本発明の一実施形態においては、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2の一方の中心周波数を調整したときに他方のノッチフィルタとの重なり具合に応じて、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2の少なくとも一方のノッチ幅またはノッチ深さが調整されてもよい。
パラメタ調整部AFは、第1ノッチフィルタMNF1と第2ノッチフィルタMNF2との振幅特性及び位相特性の重なりを小さくするように第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2の少なくとも一方のノッチ幅を狭くしてもよい。あるいは、パラメタ調整部AFは、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2の少なくとも一方のノッチ深さを浅くすることにより第1ノッチフィルタMNF1と第2ノッチフィルタMNF2との振幅特性及び位相特性の重なりを小さくしてもよい。パラメタ調整部AFは、ノッチ幅を優先的に調整し、予め設定されているノッチ幅の調整範囲の限界に達したときにノッチ深さの調整を開始するようにしてもよい。
図9は、本発明の一実施形態に係るノッチフィルタの重なりを模式的に示す図である。図9には、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2の周波数振幅特性が示されている。一例として第2ノッチフィルタMNF2のほうが第1ノッチフィルタMNF1よりも低帯域側にある場合を示すが、逆に第1ノッチフィルタMNF1のほうが第2ノッチフィルタMNF2よりも低帯域側にある場合にも第1ノッチフィルタMNF1と第2ノッチフィルタMNF2とを読み替えれば以下の説明は同様に成り立つ。
第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2の幅及び深さの初期値はともに等しい値に設定されているので、図示されるように第1ノッチフィルタMNF1と第2ノッチフィルタMNF2とは同様の山形形状の振幅特性を持つ。ノッチ幅を表すパラメタとして例えば、ゲインがadBより小さくなる帯域幅を用いることができる。この帯域幅は例えば半値幅ωi2−ωi1であり、この場合adBは約−3dBである。ノッチ幅を表すパラメタとしてQ値を用いてもよい。第1ノッチフィルタMNF1のQ値は、Q1=ω10/(ω12−ω11)であり、第2ノッチフィルタMNF2のQ値は、Q2=ω20/(ω22−ω21)である。Q値が大きいほどノッチ幅は狭くなる。本実施例ではQ値の初期値は1に設定されており、ノッチフィルタは比較的幅広である。
図9には、第1ノッチフィルタMNF1の中心周波数ω10よりも低帯域側(図において左側)で振幅ゲインが1/√2(約−3dB)となる周波数ω11と、第2ノッチフィルタMNF2の中心周波数ω20よりも高帯域側(図において右側)で振幅ゲインが1/√2(約−3dB)となる周波数ω22とが等しい場合を示している。この状態を2つのノッチフィルタの重なり具合の判定基準の1つとして用いることができる。つまり、ω11がω22よりも大きい場合には2つのノッチフィルタの重なり具合が小さいと判定し、ω11がω22よりも小さい場合には2つのノッチフィルタの重なり具合が大きいと判定してもよい。
また、ノッチフィルタの深さを表すパラメタとして例えば深さパラメタDを用いてもよい。Dは0乃至1の値をとる。図示されるように、深さパラメタDの対数の20倍(20logD)が中心周波数におけるゲイン値に相当する。深さパラメタDが1に近いほどノッチ深さは浅くなる。本実施例では深さパラメタDの初期値は0に設定され、ノッチフィルタは深く設定されている。
図示されるように、周波数ω11(=ω22)の近傍の帯域では第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2の両方によってゲインが抑制されることになる。しかし、抑制されるべき共振周波数成分は各ノッチフィルタの中心周波数ω10、ω20に実質的に一致しているはずであり、周波数ω11(=ω22)からある程度離れている。周波数ω11(=ω22)の近傍の帯域は必ずしも抑制される必要がない。第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2の重なりを小さくして2つのフィルタを分離することにより、不必要に広い帯域の信号を抑制するのを避けて共振周波数成分をピンポイントに抑制することが可能となる。
また、2つのノッチフィルタの重なりを小さくした結果として新たな振動周波数成分が顕在化された場合には、追加のノッチフィルタを設定してその振動成分を抑制することもできる。この振動成分が第3の共振周波数成分である場合には、第1または第2の共振周波数成分を抑制するための既存のノッチフィルタのいわばすそ野の部分で抑制するよりも、専用のノッチフィルタを新たに割り当てて抑制することが好ましい。
図10は、本発明の一実施形態に係るノッチフィルタの調整処理を説明するためのフローチャートである。図10に示される処理は、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2がともに有効状態とされているときに実行される。例えば、図8に示す実施例において第2ノッチフィルタMNF2が有効に設定されたときに(図8のS16のN)、引き続いて実行されてもよい。
制御帯域として指定されている周波数における振幅ゲインがいずれかのノッチフィルタによって制限されている場合は、図10の調整処理に先立って、制御帯域として指定されている周波数における振幅ゲインがノッチフィルタによって制限されないようにするための前処理を行ってもよい。例えば、最も中心周波数が低く設定されている第iノッチフィルタの中心周波数ωi0よりも低帯域側で振幅ゲインが1/√2となる周波数ωi1が制御帯域として指定されている周波数よりも小さい場合、ωi1が制御帯域として指定されている周波数と等しくなるように第iノッチフィルタのQ値を調整する。
図10に示される処理において、パラメタ調整部AFは、第1ノッチフィルタMNF1と第2ノッチフィルタMNF2との重なり具合が予め設定された基準を超えるか否かを判定する(S20)。本実施例では、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2のそれぞれの振幅特性の半値幅が重なり合う場合に重なり具合が大きいと判定し、半値幅が重なり合わない場合に重なり具合が小さいと判定する。
具体的には、図9に示すように第1ノッチフィルタMNF1の中心周波数ω10のほうが第2ノッチフィルタMNF2の中心周波数ω20よりも大きい場合には、図9を参照して説明した周波数ω11と周波数ω22との大小関係により2つのフィルタの重なり具合が判定される。つまり、周波数ω11が周波数ω22より小さい場合には2つのフィルタが重なっていると判定し、周波数ω11が周波数ω22以上である場合には重なっていないと判定する。逆に、第1ノッチフィルタMNF1の中心周波数ω10のほうが第2ノッチフィルタMNF2の中心周波数ω20よりも小さい場合には、周波数ω12と周波数ω21との大小関係により2つのフィルタの重なり具合が判定される。つまり、周波数ω12が周波数ω21より大きい場合には2つのフィルタが重なっていると判定し、周波数ω12が周波数ω21以下である場合には重なっていないと判定する。
第1ノッチフィルタMNF1と第2ノッチフィルタMNF2との重なり具合が基準以内であり重なりが小さいと判定される場合には(S20のN)、パラメタ調整部AFは、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2のノッチ幅またはノッチ深さの調整を行わない。この場合、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2のノッチ幅及びノッチ深さは初期値のままとされる。
なお、2つのフィルタの重なり具合が基準以内である場合にもノッチ幅またはノッチ深さの調整をするようにしてもよい。重なり具合を小さくするように、または大きくするように調整してもよい。この場合、後述するように、振動レベルを監視しながらノッチ幅またはノッチ深さの調整をしてもよい。調整により振動レベルが増加された場合には、暴露された振動周波数成分を抑制するために追加のノッチフィルタを有効状態に切り替えてもよい。
一方、重なり判定条件が満たされている場合、すなわち第1ノッチフィルタMNF1と第2ノッチフィルタMNF2との重なり具合が大きいと判定された場合には(S20のY)、パラメタ調整部AFは、振動レベルがしきい値を超えているか否かを判定する(S22)。ノッチフィルタ制御部EVLにより振動レベルがしきい値を超えているか否かが判定されてもよい。制御対象への指令に対する応答の振動レベルがしきい値を超えているか否かを判定することが好ましい。この判定しきい値は既述の実施例における振動レベルしきい値と同様に、抑制されるべき振動が十分に小さいか否かを判定するためのしきい値であり、例えば経験的または実験的に適宜設定することができる。
振動レベルがしきい値以内であると判定された場合には(S22のN)、パラメタ調整部AFは、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2のノッチ幅を均等に調整する(S24)。パラメタ調整部AFは、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2のQ値を共通の修正値へと初期値から大きくする。これにより、2つのノッチフィルタは同様に狭くなる。
パラメタ調整部AFは、予め設定されている調整範囲の限界値に達するまで、または2つのノッチフィルタの重なり判定条件が満たされなくなるまで、ノッチ幅を調整する。ノッチ幅を表すパラメタとしてQ値を用いている場合には、Q値の調整範囲の上限値に達したときにQ値の調整をその上限値で終了し、ノッチ深さの調整を開始してもよい。深さパラメタDを第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2について共通に大きく調整することにより、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2のノッチ深さを均等に浅くしてもよい。パラメタ調整部AFは、予め設定されている調整範囲の限界値に達するまで、または2つのノッチフィルタの重なり判定条件が満たされなくなるまでノッチ深さを調整してもよい。
こうして2つのノッチフィルタの重なりを小さくした結果、新たな振動周波数成分が顕在化され振動レベルが基準を超えた場合には、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2以外の無効状態のノッチフィルタを有効状態に切り替えて、その振動周波数成分の抑制に割り当ててもよい。ノッチフィルタ制御部EVLは、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2のみが有効状態である場合には、第3ノッチフィルタMNF3を無効状態から有効状態に切り替える。逆に、新たに有効状態に切り替えられるノッチフィルタが存在しない場合には、パラメタ調整部AFは、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2のノッチ幅またはノッチ深さの調整を行わずに初期値のままとしてもよい。このようにすれば新たな振動周波数成分の暴露を避けられる。
振動レベルがしきい値を超えると判定された場合には(S22のY)、パラメタ調整部AFは、一方のノッチフィルタを他方のノッチフィルタよりも大きく調整する。本実施例においては、一方のノッチフィルタのノッチ幅またはノッチ深さを調整し他方のノッチフィルタのノッチ幅及びノッチ深さは初期値に保たれる(S26)。
大きく調整されるほうのノッチフィルタは、推定される振動周波数成分ωvに応じて選択される。振動周波数成分ωvの推定には、パラメタ調整部AFにおける上述の中心周波数更新処理を利用することができる。更新処理によって得られた中心周波数は、抑制されるべき振動周波数ωvの推定値を表しているからである。
パラメタ調整部AFは、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2の中心周波数ω10、ω20とは実質的に異なる振動周波数成分ωvが基準を超えて存在する場合に、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2のうちより大きな位相遅れを当該振動周波数成分ωvに与えるほうのノッチ幅を狭くする。このようにすれば、ノッチフィルタによる振動周波数成分ωvへの位相遅れの影響を小さくすることができる。
ここで、振動周波数ωvが第1ノッチフィルタMNF1の中心周波数ω10と第2ノッチフィルタMNF2の中心周波数ω20との間にある場合を想定する。そうすると、第1ノッチフィルタMNF1の中心周波数ω10のほうが第2ノッチフィルタMNF2の中心周波数ω20よりも大きい場合には、図2に示すノッチフィルタの位相特性からわかるように、第1ノッチフィルタMNF1が振動周波数ωvにおける位相を遅らせ、第2ノッチフィルタMNF2が位相を進ませることになる。よって、パラメタ調整部AFは、推定振動周波数ωvが中心周波数ω20以上の場合に第1ノッチフィルタMNF1のノッチ幅を狭く調整する。また、パラメタ調整部AFは、推定振動周波数ωvが中心周波数ω20未満の場合には第2ノッチフィルタMNF2のノッチ幅を狭く調整する。
同様に、第1ノッチフィルタMNF1の中心周波数ω10のほうが第2ノッチフィルタMNF2の中心周波数ω20よりも小さい場合には、パラメタ調整部AFは、推定振動周波数ωvが中心周波数ω10以上の場合に第2ノッチフィルタMNF2のノッチ幅を調整する。また、パラメタ調整部AFは、推定振動周波数ωvが中心周波数ω10未満の場合には第1ノッチフィルタMNF1のノッチ幅を調整する。
この場合にも、パラメタ調整部AFは、予め設定されている調整範囲の限界値に達するまで、または2つのノッチフィルタの重なり判定条件が満たされなくなるまで、一方のノッチフィルタのノッチ幅を調整する。ノッチ幅を表すパラメタとしてQ値を用いている場合には、Q値の調整範囲の上限値に達したときにQ値の調整をその上限値で終了し、ノッチ深さの調整を開始してもよい。調整対象のノッチフィルタの深さパラメタDのみを大きく調整し、そのノッチフィルタのノッチ深さを浅くしてもよい。あるいは、深さパラメタDを第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2について共通に大きく調整することにより、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2のノッチ深さを均等に浅くしてもよい。パラメタ調整部AFは、予め設定されている調整範囲の限界値に達するまで、または2つのノッチフィルタの重なり判定条件が満たされなくなるまでノッチ深さを調整してもよい。
こうして、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2の重なり具合が基準以内となるようノッチ幅またはノッチ深さが調整される。なお、同様にしてノッチフィルタの振幅特性と制御帯域との重なり具合を小さくするようにノッチフィルタのノッチ幅またはノッチ深さが調整されてもよい。例えば、第2ノッチフィルタMNF2の中心周波数ω20が第1ノッチフィルタMNF1の中心周波数ω10よりも小さい場合には、制御帯域の上限値よりも周波数ω21が大きくなるようにQ値またはパラメタDを大きくしてもよい。
図11は、本発明の一実施形態に係るノッチフィルタの重なりを模式的に示す図である。図11には、第1ノッチフィルタMNF1及び第2ノッチフィルタMNF2の周波数振幅特性及び周波数位相特性が示されている。図9に示す一例と同様に、第2ノッチフィルタMNF2のほうが第1ノッチフィルタMNF1よりも低帯域側にある場合を示す。図11においては、第1ノッチフィルタMNF1の中心周波数ω10と第2ノッチフィルタMNF2の中心周波数ω20との中間周波数ω012を表示している。
ノッチフィルタは振幅特性が決まれば位相特性が一意に決まる。よって、上述の実施例においては2つのノッチフィルタの振幅特性の重なり具合に着目しているが、本発明はこれに限られない。一実施例においては、位相特性に着目して2つのノッチフィルタの重なりを調整してもよい。このようにしても2つのノッチフィルタの重なりを小さくすることができる。
図示のように第1ノッチフィルタMNF1の中心周波数ω10が第2ノッチフィルタMNF2の中心周波数ω20よりも大きい場合には、パラメタ調整部AFは、中間周波数ω012において第1ノッチフィルタMNF1による位相遅れと第2ノッチフィルタMNF2により位相進みとをそれぞれβdeg以下とするようにQ値を調整してもよい。Q値に代えて、またはQ値とともに、上述の実施例と同様に深さパラメタDを調整してもよい。逆に第1中心周波数ω10が第2中心周波数ω20よりも小さい場合には、パラメタ調整部AFは、中間周波数ω012において第1ノッチフィルタMNF1による位相進みと第2ノッチフィルタMNF2により位相遅れとをそれぞれβdeg以下とするようにQ値または深さパラメタDを調整してもよい。中間周波数ω012は例えば、logω012=(logω10+logω20)/2を満たすように定めてもよい。位相遅れ(または位相進み)βは例えば30度乃至40度であってもよい。