(57)【特許請求の範囲】
【請求項１】
エンジンを有する車両に適用され、制御振動または制御音を出力して、評価点における振動または騒音を能動的に抑制する能動型振動騒音抑制装置であって、
振動または騒音の発生源の周波数、適応フィルタとしての振幅フィルタ係数および位相フィルタ係数により構成される正弦波制御信号ｙ(n)を生成する制御信号生成部と、
前記正弦波制御信号ｙ(n)に応じた前記制御振動または制御音を出力する制御振動制御音発生装置と、
前記評価点において前記発生源による振動または騒音と前記制御振動または制御音との干渉による残留信号ｅ(n)を検出する残留信号検出部と、
前回更新された前記振幅フィルタ係数ａ(n)に対して加減算して更新するための振幅更新項Δａ(n+1)を、前記残留信号ｅ(n)が小さくなるように算出する振幅フィルタ係数更新部と、
前回更新された前記位相フィルタ係数φ(n)に対して加減算して更新するための位相更新項Δφ(n+1)を、前記残留信号ｅ(n)が小さくなるように算出する位相フィルタ係数更新部と、
を備え、
前記位相フィルタ係数の初期値φ(0)は、前回収束した時の前記位相フィルタ係数φ(last)に基づき設定され、
前記振幅更新項Δａ(n+1)のステップサイズパラメータは、前回収束した時の前記振幅フィルタ係数ａ(last)を、前記エンジンの駆動トルク変動量trq(last)で除した値の比例値に設定される能動型振動騒音抑制装置。
【請求項２】
請求項１において、
前記位相フィルタ係数の初期値φ(0)は、前回収束した時の前記位相フィルタ係数φ(last)とする能動型振動騒音抑制装置。
【請求項３】
請求項１において、
前記位相フィルタ係数の初期値φ(0)は、前回収束した時の前記位相フィルタ係数φ(last)、前回収束した時の周波数ｆ、および、現在の周波数ｆに基づき設定される能動型振動騒音抑制装置。
【請求項４】
請求項１〜３の何れか一項において、
前記振幅フィルタ係数の初期値ａ(0)は、現在の周波数ｆに基づき設定される能動型振動騒音抑制装置。
【請求項５】
請求項１〜４の何れか一項において、
前記正弦波制御信号ｙ(n)が式（１）にて表される場合に、
前記振幅更新項Δａ(n+1)は、式（２）の項を含み、
前記位相更新項Δφ(n+1)は、式（３）の項を含む能動型振動騒音抑制装置。
【数１】
0005846776.tif 000047
【数２】
0005846776.tif 000048
【数３】
0005846776.tif 000049
【請求項６】
請求項１〜５の何れか一項において、
前記振幅更新項Δａ(n+1)および前記位相更新項Δφ(n+1)は、前記制御信号生成部と前記評価点との間の伝達関数に依存しない更新項である能動型振動騒音抑制装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、適応制御を用いて、能動的に振動や騒音を抑制することができる能動型振動騒音抑制装置に関するものである。
【背景技術】
【０００２】
従来、適応制御を用いて能動的に振動や騒音を抑制する装置として、特許文献１〜３に記載されたものがある。特許文献１〜３には、適応制御アルゴリズムとしてＬＭＳアルゴリズムを適用した制御方法について記載されている。特に、特許文献１，２には、Filtered-X LMSアルゴリズムのうちDXHSアルゴリズムについて記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−４４３７７号公報
【特許文献２】特開平８−２７２３７８号公報
【特許文献３】特開平５−６１４８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、特許文献１，２においては、適応フィルタ係数の更新に際して、制御信号を出力してから評価点までの伝達関数の推定値を用いている。この伝達関数は、振幅と位相により表される。ここで、実際の伝達関数の位相と推定伝達関数の位相とにずれが生じた場合には、振動や騒音が収束せずに発散するおそれがある。
【０００５】
本発明は、このような事情に鑑みてなされたものであり、実際の伝達関数の位相と推定伝達関数の位相とがずれていたとしても適応制御を実行して収束することができる能動型振動騒音抑制装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の能動型振動騒音抑制装置は、エンジンを有する車両に適用され、制御振動または制御音を出力して、評価点における振動または騒音を能動的に抑制する能動型振動騒音抑制装置であって、振動または騒音の発生源の周波数、適応フィルタとしての振幅フィルタ係数および位相フィルタ係数により構成される正弦波制御信号ｙ(n)を生成する制御信号生成部と、前記正弦波制御信号ｙ(n)に応じた前記制御振動または制御音を出力する制御振動制御音発生装置と、前記評価点において前記発生源による振動または騒音と前記制御振動または制御音との干渉による残留信号ｅ(n)を検出する残留信号検出部と、前回更新された前記振幅フィルタ係数ａ(n)に対して加減算して更新するための振幅更新項Δａ(n+1)を、前記残留信号ｅ(n)が小さくなるように算出する振幅フィルタ係数更新部と、前回更新された前記位相フィルタ係数φ(n)に対して加減算して更新するための位相更新項Δφ(n+1)を、前記残留信号ｅ(n)が小さくなるように算出する位相フィルタ係数更新部とを備える。前記位相フィルタ係数の初期値φ(0)は、前回収束した時の前記位相フィルタ係数φ(last)に基づき設定される。さらに、前記振幅更新項Δａ(n+1)のステップサイズパラメータは、前回収束した時の前記振幅フィルタ係数ａ(last)を、前記エンジンの駆動トルク変動量trq(last)で除した値（割った値）の比例値に設定される。
【０００７】
ここで、位相フィルタ係数の初期値φ(0)について説明する。能動型振動騒音抑制装置は、適応フィルタを更新して適応制御を行っている。仮に発生源の振動または騒音が一定である場合には、適応制御を実行することで、徐々に制御が収束する。そうすると、評価点における振動または騒音が小さい状態を維持する。このとき、正弦波制御信号ｙ(n)の適応フィルタも収束した状態となる。ただし、実際の制御においては、適応フィルタは僅かに変動するため、完全な一定値でない場合がある。そこで、適応フィルタが変動誤差を考慮した所定範囲に継続して含まれる状態になった場合に、適応フィルタが収束したと判定できる。
【０００８】
そして、制御の開始においてサンプリング時刻ｎが０になる場合や、演算処理上サンプリング時刻ｎが０となる場合がある。ｎ＝０のときの適応フィルタ係数の初期値を何らかの値として設定する必要がある。ここで、従来では、一般的に、適応フィルタ係数の初期値はゼロとして、徐々に適応させていく処理がされていた。
【０００９】
これに対して、本発明は、上述したように、適応フィルタ係数としての位相フィルタ係数の初期値φ(0)を、単にゼロに設定するのではなく、前回収束した時の位相フィルタ係数φ(last)に基づき設定している。このとき、前回収束した時の位相フィルタ係数φ(last)は、前回収束した時点における伝達関数Ｇの位相を考慮した値となっていると考えられる。つまり、位相フィルタ係数の初期値φ(0)は、現在の伝達関数Ｇの経年変化に追従していると言える。従って、制御が発散することを抑制でき、最終的に制御を収束させることができる。
また、振幅更新項Δａ(n+1)のステップサイズパラメータは、前回収束した時の振幅フィルタ係数ａ(last)に基づき設定される。従来、振幅更新項Δａ(n+1)のステップサイズパラメータは、従来は一定値に設定されることが一般的であった。これに対して、本発明によれば、振幅更新項Δａ(n+1)のステップサイズパラメータを前回収束した時の振幅フィルタ係数ａ(last)に基づいて設定することで、早期に収束させることができる。
また、伝達関数Ｇの振幅も、位相と同様に、経年によって変化することがある。そして、前回収束した時の振幅フィルタ係数ａ(last)は、前回収束した時点における伝達関数Ｇの振幅を考慮した値となっていると考えられる。つまり、振幅更新項Δａ(n+1)のステップサイズパラメータは、現在の伝達関数Ｇの経年変化に追従していると言える。従って、確実に早期に収束させることができる。
特に、本発明は、エンジンを有する車両に適用され、振幅更新項Δａ(n+1)のステップサイズパラメータは、前回収束した時の振幅フィルタ係数ａ(last)を、エンジンの駆動トルク変動量trq(last)で除した値（割った値）の比例値に設定される。ここで、エンジンを振動または騒音の発生源とした場合には、エンジンから評価点に伝達される振動または騒音は、エンジンの駆動トルク変動量trqに比例する。つまり、制御が収束している状態において、制御信号を出力してから評価点までの伝達関数Ｇの振幅は、振幅フィルタ係数ａ(last)を、駆動トルク変動量trq(last)で除した値に対応する。そして、上記したように、振幅更新項Δａ(n+1)のステップサイズパラメータに、前回収束した時の振幅フィルタ係数ａ(last)を前回収束した時の駆動トルク変動量trq(last)で除した値の比例値を設定することで、当該ステップサイズパラメータが、前回収束した時の伝達関数Ｇの振幅に対応する。従って、確実に早期に収束させることができる。
【００１０】
また、前記位相フィルタ係数の初期値φ(0)は、前回収束した時の前記位相フィルタ係数φ(last)とするとよい。これにより、位相フィルタ係数の初期値φ(0)を簡易に決定することができ、上記効果を奏することができる。
【００１１】
また、前記位相フィルタ係数の初期値φ(0)は、前回収束した時の前記位相フィルタ係数φ(last)、前回収束した時の周波数ｆ、および、現在の周波数ｆに基づき設定されるようにしてもよい。これにより、前回収束した時の周波数ｆと現在の周波数ｆが変化した場合であっても、周波数ｆに応じた位相フィルタ係数の初期値φ(0)を設定できる。その結果、早期に収束させることができる。
【００１２】
また、前記振幅フィルタ係数の初期値ａ(0)は、現在の周波数ｆに基づき設定されるようにしてもよい。これにより、早期に収束させることができる。
【００１６】
また、前記正弦波制御信号ｙ(n)が式（１）にて表される場合に、前記振幅更新項Δａ(n+1)は、式（２）の項を含み、前記位相更新項Δφ(n+1)は、式（３）の項を含むようにしてもよい。これにより、確実に上記した効果を奏することができる。
【００１７】
【数１】
0005846776.tif 000002
【００１８】
【数２】
0005846776.tif 000003
【００１９】
【数３】
0005846776.tif 000004
【００２０】
また、前記振幅更新項Δａ(n+1)および前記位相更新項Δφ(n+1)は、前記制御信号生成部と前記評価点との間の伝達関数に依存しない更新項にしてもよい。これにより、伝達関数Ｇの同定処理を行う必要がなくなるため、演算処理の削減ができると共に、制御が伝達関数Ｇの同定精度に影響を受けることがなくなる。ここで、振幅フィルタ係数ａ(n)および位相フィルタ係数φ(n)は、上記のように、現時点の伝達関数Ｇの振幅および位相に対応している。そのため、推定伝達関数Ｇｈを用いなくても、十分に制御を収束させることができる。
【００２１】
なお、前記安定化係数ｍは１より大きな値に設定されるようにしてもよい。つまり、振幅更新項Δａ(n+1)において、位相フィルタ係数φ(n)を１より大きな値である安定化係数ｍにより除している（割っている）。また、位相更新項Δφ(n+1)の位相フィルタ係数φ(n)に対しても同様に上記と同じ安定化係数ｍにより除している。
【００２２】
これらの更新項によって正弦波制御信号ｙ(n)の適応フィルタ係数Ｗを更新することで、正弦波制御信号ｙ(n)が伝達関数Ｇを介して評価点に伝達された場合における当該制御振動または制御音が、振動発生源から評価点に伝達された振動または騒音に対してどのような位相であったとしても、最終的には制御を発散させずに収束させることができる。
【図面の簡単な説明】
【００２３】
【図１】第一実施形態：能動型振動騒音抑制装置を示す制御ブロック図である。
【図２】式（４２）において、ｍ＝ｐ＝３、かつ、（３ΦG−ΦｈG）＝０の場合に、ｎ＝０，１のそれぞれにおける位相フィルタ係数φ(t)の範囲を示す。
【図３】式（４２）において、ｍ＝ｐ＝３の場合に、ｎ＝−１，０，１のときの安定領域および不安定領域を示す。横軸は、（３ΦG−ΦｈG）であり、縦軸は、φである。
【図４】第一伝達関数Ｇの位相成分ΦGと第一推定伝達関数Ｇｈの位相成分ΦｈGの位相差が１５０°の場合の解析結果を示す。（ａ）は残留信号を示し、（ｂ）は正弦波制御信号を示し、（ｃ）は振幅フィルタ係数を示し、（ｄ）は位相フィルタ係数を示す。
【図５】第二実施形態：能動型振動騒音抑制装置を示す制御ブロック図である。
【発明を実施するための形態】
【００２４】
＜第一実施形態＞
（１．能動型振動騒音抑制装置の概要）
能動型振動騒音抑制装置１００の概要について説明する。能動型振動騒音抑制装置１００は、種々の発生源が振動または騒音を発生する場合に、所望の位置（評価点）において抑制対象の振動または騒音を能動的に抑制するために、正弦波制御信号ｙ(n)に応じた制御振動または制御音を発生させる装置である。つまり、抑制対象の振動または騒音に対して制御振動または制御音を合成させることで、所定位置（評価点）において、制御振動または制御音が抑制対象の振動または騒音を打ち消すように作用する。その結果、評価点において、抑制対象の振動または騒音が抑制されることになる。
【００２５】
ここで、自動車を例にあげて説明する。自動車において、エンジン（内燃機関）が振動騒音発生源となり、エンジンによって発生した振動や騒音が車室内に伝達されないようにすることが望まれる。そこで、エンジンによって発生した振動または騒音を能動的に抑制するために、発生装置によって制御振動または制御音を発生させる。なお、以下において、能動型振動騒音抑制装置は、自動車に適用し、エンジンによって発生される振動または騒音を抑制する装置を例に挙げて説明するが、これに限られるものではない。抑制すべき振動や騒音を発生するものであれば、全てに適用できる。
【００２６】
また、能動型振動騒音抑制装置による適応制御アルゴリズムは、適応最小平均自乗フィルタ（Filtered-X LMS）、特にDXHSアルゴリズムを用いる。つまり、当該装置は、適応フィルタ係数Ｗ(n)としての振幅フィルタ係数ａ(n)，位相フィルタ係数φ(n)を算出し、当該フィルタ係数ａ(n)，φ(n)をおよびエンジンの振動または騒音の角周波数ωを用いて正弦波制御信号ｙ(n)を生成し、正弦波制御信号ｙ(n)に応じた制御振動または制御音を出力して、評価点２０における振動または騒音を能動的に抑制する装置である。
【００２７】
（２．能動型振動騒音抑制装置の詳細構成）
能動型振動騒音抑制装置１００の詳細構成について、図１を参照して説明する。能動型振動騒音抑制装置１００は、上述したように、DXHSアルゴリズムを用いた適応制御を適用する。そして、図１に示すように、能動型振動騒音抑制装置１００は、エンジン制御部３０によりエンジン（図１においては、「Ｅ／Ｇ」と記載）１０が駆動されているとき、エンジン１０によって発生される抑制対象の振動または騒音が第二伝達関数Ｈを介して評価点２０に伝達する場合に、評価点２０における振動または騒音を低減するための装置である。
【００２８】
能動型振動騒音抑制装置１００は、周波数算出部１１０と、制御信号生成部１２０と、発生装置１３０と、残留信号検出部１４０と、第一推定伝達関数設定部（以下、「Ｇｈデータ設定部」と称する）１５０と、適応フィルタ係数更新部１６０と、パラメータ設定部１７０とを備えている。なお、数式および図面において、推定値を意味する「＾」を用いるが、明細書の本文においては記載の都合上、推定値「ハット（＾）」は「ｈ」と記載する。以下に、能動型振動騒音抑制装置１００の各構成について説明する。
【００２９】
周波数算出部１１０は、エンジン１０の回転数を検出する回転検出器（図示せず）から周期性のパルス信号を入力し、当該パルス信号に基づいて、エンジン１０が発生する振動または騒音（抑制対象振動等）の主成分の周波数ｆを算出する。なお、この周波数ｆに２πを乗算した値は、角周波数ωとなる。つまり、周波数算出部１１０は、角周波数ωを算出することもできる。
【００３０】
制御信号生成部１２０は、正弦波制御信号ｙ(n)を生成する。正弦波制御信号ｙ(n)は、式（４）のように表される。ここで、添字の(n)は、サンプリング数（時間ステップ）を表す添字である。つまり、式（４）および式（５）より明らかなように、正弦波制御信号ｙ(n)は、角周波数ωと、適応フィルタ係数Ｗ(n)としての振幅フィルタ係数ａ(n)および位相フィルタ係数φ(n)とを構成成分に含む、時刻ｔ(n)における信号である。
【００３１】
【数４】
0005846776.tif 000005
【００３２】
ここで、式（４）における角周波数ωは、周波数算出部１１０により算出された周波数ｆに基づいて算出した値、または、周波数算出部１１０にて算出した値である。従って、正弦波制御信号ｙ(n)は、エンジン１０による振動または騒音の主成分の周波数ｆに応じた値となる。また、式（４）における振幅フィルタ係数ａ(n)および位相フィルタ係数φ(n)は、式（５）に示すように、DXHSアルゴリズムにおける適応フィルタ係数Ｗ(n)であり、適応的に更新される。
【００３３】
【数５】
0005846776.tif 000006
【００３４】
この適応フィルタ係数Ｗ(n)の更新式は、式（６）にて表される。このように、適応フィルタ係数Ｗ(n+1)は、前回値Ｗ(n)に対して更新項ΔＷ(n+1)を加減算して更新される。そして、更新項ΔＷ(n+1)は、後述する適応フィルタ係数更新部１６０によって適応的に決定される。
【００３５】
【数６】
0005846776.tif 000007
【００３６】
この式（６）を、振幅フィルタ係数ａ(n)と位相フィルタ係数φ(n)のそれぞれで表した場合には、式（７）および式（８）のようになる。つまり、式（７）に示すように、振幅フィルタ係数ａ(n+1)は、前回更新された振幅フィルタ係数ａ(n)に対して振幅更新項Δａ(n+1)を加減算して更新される。また、式（８）に示すように、位相フィルタ係数φ(n+1)は、前回更新された位相フィルタ係数φ(n)に対して位相更新項Δφ(n+1)を加減算して更新される。
【００３７】
【数７】
0005846776.tif 000008
【００３８】
【数８】
0005846776.tif 000009
【００３９】
ここで、振幅フィルタ係数の初期値ａ(0)および位相フィルタ係数φ(0)は、後述するパラメータ設定部１７０にて設定される。ここで、サンプリング時刻ｎは、エンジン１０を始動することによりリセットされるようにしてもよい。この場合、サンプリング時刻ｎがゼロ（０）となる場合とは、エンジン１０を始動したときとなる。この他に、演算処理において、ｎが取り得る最大値ｎ(max)に到達したときにも、ｎ＝０となる。
【００４０】
発生装置１３０は、実際に振動や音を発生する装置である。この発生装置１３０は、制御信号生成部１２０によって生成された正弦波制御信号ｙ(n)に基づいて駆動する。例えば、制御振動を発生させる発生装置１３０は、例えば、車両の駆動系に連結されるフレームやサスペンションメンバなどのサブフレームに配置される振動発生装置である。また、制御音を発生させる発生装置１３０は、例えば、車室内に配置されるスピーカー等である。発生装置１３０が例えばソレノイドやボイスコイルなどのように磁力を用いて制御振動や制御音を発生させる装置の場合には、コイル（図示せず）に供給する電流、電圧または電力を、各時刻ｔ(n)における正弦波制御信号ｙ(n)に応じるように駆動することで、発生装置１３０が正弦波制御信号ｙ(n)に応じた制御振動または制御音を発生する。
【００４１】
そうすると、評価点２０においては、発生装置１３０によって発生された制御振動または制御音が伝達系Ｇ１を介して伝達された制御振動または制御音Ｚ(n)が、エンジン１０によって発生された抑制対象の振動または騒音が第二伝達関数Ｈを介して伝達された振動騒音Ｘ(n)に対して干渉する。
【００４２】
そこで、残留信号検出部１４０は、評価点２０に配置されており、評価点２０において干渉による残留振動または残留騒音（本発明における「残留信号」に相当する）ｅ(n)を検出する。この残留信号ｅ(n)は、式（９）で表される。例えば、残留振動を検出する残留信号検出部１４０としては、加速度センサなどを適用できる。また、残留音を検出する残留信号検出部１４０としては、吸音マイクなどを適用できる。残留信号検出部１４０によって検出される残留信号ｅ(n)がゼロになることが理想状態である。
【００４３】
【数９】
0005846776.tif 000010
【００４４】
ここで、第一伝達関数Ｇは、制御信号生成部１２０と評価点２０との間の伝達系の伝達関数である。つまり、第一伝達関数Ｇは、発生装置１３０そのものの伝達関数と、発生装置１３０と評価点２０との間の伝達系Ｇ１の伝達関数とを含む。そして、第一伝達関数Ｇは、周波数ｆに応じた振幅成分ＡGと位相成分ΦGとにより表される。また、第二伝達関数Ｈは、エンジン１０と評価点２０との間の伝達系の伝達関数である。つまり、第二伝達関数Ｈは、振幅成分ＡHと位相成分ΦHとにより表される。そうすると、式（９）は、式（１０）のように表される。
【００４５】
【数１０】
0005846776.tif 000011
【００４６】
Ｇｈデータ設定部１５０には、公知の伝達関数同定処理により算出された第一推定伝達関数Ｇｈ（第一伝達関数Ｇの推定値）が記憶されている。そして、第一伝達関数Ｇは、周波数ｆに応じた振幅成分ＡGと位相成分ΦGとにより表される。そこで、式（１１）に示すように、第一推定伝達関数Ｇｈとしては、周波数ｆに応じた振幅成分ＡｈGと位相成分ΦｈGとにより表される。なお、式（１１）においては、第一推定伝達関数Ｇｈ、振幅成分ＡｈGおよび位相成分ΦｈGは、周波数ｆに応じたものとなるため、ｆの関数であることを明記するために、それぞれＧｈ（ｆ）、ＡｈG（ｆ）およびΦｈG（ｆ）と記載している。
【００４７】
【数１１】
0005846776.tif 000012
【００４８】
そして、Ｇｈデータ設定部１５０は、記憶されている第一推定伝達関数Ｇｈの中から、周波数算出部１１０にて算出された周波数ｆに応じた第一推定伝達関数Ｇｈを選択する。つまり、Ｇｈデータ設定部１５０は、周波数算出部１１０にて算出された周波数ｆに応じた振幅成分ＡｈGおよび位相成分ΦｈGを決定する。
【００４９】
適応フィルタ係数更新部１６０（本発明の「振幅フィルタ係数更新部」および「位相フィルタ係数更新部」に相当する）は、残留信号ｅ(n)が小さくなるように、制御信号生成部１２０にて生成される適応フィルタ係数Ｗ(n)に対して加減算するための更新項ΔＷ(n+1)を算出する。適応フィルタ係数Ｗ(n)は、上述したように、振幅フィルタ係数ａ(n)と位相フィルタ係数φ(n)とにより構成される。つまり、適応フィルタ係数更新部１６０は、振幅フィルタ係数ａ(n)に対して加減算するための振幅更新項Δａ(n+1)、および、位相フィルタ係数φ(n)に対して加減算するための位相更新項Δφ(n+1)を算出する。
【００５０】
この適応フィルタ係数更新部１６０は、残留信号ｅ(n)に基づき設定された評価関数Ｊ(n)を最小とするように適応フィルタ係数Ｗ(n)の更新項ΔＷ(n+1)を算出する。また、DXHSアルゴリズムを適用するため、適応フィルタ係数更新部１６０は、更新項ΔＷ(n+1)の算出に際して、周波数算出部１１０により算出された周波数ｆ（または角周波数ω）、並びに、Ｇｈデータ設定部１５０により決定された第一推定伝達関数Ｇｈの振幅成分ＡｈGおよび位相成分ΦｈGを用いる。
【００５１】
以下に、適応フィルタ係数更新部１６０において、適応フィルタ係数Ｗ(n)の更新項ΔＷ(n+1)の導き方について説明する。評価関数Ｊ(n)を式（１２）のように定義する。つまり、評価関数Ｊ(n)は、残留信号検出部１４０により検出される残留信号ｅ(n)の二乗とする。つまり、評価関数Ｊ(n)が最小となるような正弦波制御信号ｙ(n)を求める。
【００５２】
【数１２】
0005846776.tif 000013
【００５３】
次に、LMSアルゴリズムにおける勾配ベクトル▽(n)を式（１３）に従って算出する。勾配ベクトル▽(n)は、評価関数Ｊ(n)を適応フィルタ係数Ｗ(n)で偏微分して得られる。そうすると、勾配ベクトル▽(n)は、式（１３）の右辺のように表される。
【００５４】
【数１３】
0005846776.tif 000014
【００５５】
そして、式（１４）に示すように、算出した勾配ベクトル▽(n)にステップサイズパラメータμを乗じた項を、更新項ΔＷ(n+1)とする。
【００５６】
【数１４】
0005846776.tif 000015
【００５７】
式（６）と式（１４）より、適応フィルタ係数Ｗ(n)の更新式は、式（１５）のように表される。
【００５８】
【数１５】
0005846776.tif 000016
【００５９】
ここで、適応フィルタ係数Ｗ(n)は、上述したように、振幅フィルタ係数ａ(n)と位相フィルタ係数φ(n)とにより構成される。そして、式（１０）における第一伝達関数Ｇの振幅成分ＡGと位相成分ΦGとのそれぞれを第一推定伝達関数Ｇｈの振幅成分ＡｈGおよび位相成分ΦｈGに置き換えて、式（１５）を演算する。そうすると、振幅フィルタ係数ａ(n)に対する振幅更新項Δａ(n+1)は、式（１６）のように表され、位相フィルタ係数φ(n)に対する位相更新項Δφ(n+1)は、式（１７）のように表される。ここで、式（１６）の（１／ＡｈG）は、振幅フィルタ係数ａ(n)の更新に対して正規化処理を加えたものである。また、本実施形態においては、振幅用ステップサイズパラメータμa1および位相用ステップサイズパラメータμφ1は、予め設定された一定値としている。
【００６０】
【数１６】
0005846776.tif 000017
【００６１】
【数１７】
0005846776.tif 000018
【００６２】
ところで、振幅更新項Δａ(n+1)および位相更新項Δφ(n+1)を式（１６）および式（１７）とした場合には、第一伝達関数Ｇの位相成分ΦGと第一推定伝達関数Ｇｈの位相成分ΦｈGとのずれが、−９０°〜９０°の範囲であれば、制御を収束させることができる。しかし、位相のずれが−９０°〜９０°の範囲を超えると、制御の不安定領域となり、制御が発散するおそれがある。
【００６３】
そこで、式（１６）および式（１７）を式（１８）および式（１９）に置き換える。つまり、それぞれの更新項の式において、前回更新された位相フィルタ係数φ(n)に対して、１より大きな値である安定化係数ｍにより除算する。さらに、それぞれの更新項の式において、第一推定伝達関数Ｇｈの位相成分ΦｈGに対して任意の係数ｐにより除算する。この係数ｐは、１を含み、１以外の数であってもよい。このようにすることで、位相のずれが−９０°〜９０°の範囲を超えた場合にも、制御を収束させることができるようになる。この理論については、後述する。
【００６４】
【数１８】
0005846776.tif 000019
【００６５】
【数１９】
0005846776.tif 000020
【００６６】
そうすると、振幅フィルタ係数ａ(n)の更新式は式（２０）のように表され、位相フィルタ係数φ(n)の更新式は式（２１）のように表される。
【００６７】
【数２０】
0005846776.tif 000021
【００６８】
【数２１】
0005846776.tif 000022
【００６９】
このようにして、適応フィルタ係数更新部１６０は、振幅フィルタ係数ａ(n)に対する振幅更新項Δａ(n+1)、および、位相フィルタ係数φ(n)に対する位相更新項Δφ(n+1)を算出する。つまり、制御信号生成部１２０において、当該更新項Δａ(n+1)、Δφ(n+1)を用いて正弦波制御信号ｙ(n)を適応的に更新することができる。
【００７０】
パラメータ設定部１７０は、制御信号生成部１２０において、正弦波制御信号ｙ(0)の適応フィルタ係数Ｗ(n)としての初期値Ｗ(0)を設定する。具体的には、パラメータ設定部１７０は、振幅フィルタ係数の初期値ａ(0)および位相フィルタ係数の初期値φ(0)を設定する。ここで、初期値ａ(0)，φ(0)におけるサンプリング時刻ｎ＝０のときとは、上述したように、例えば、エンジン１０を始動したときなどとする。この場合、サンプリング時刻ｎは、エンジン１０が始動してからエンジン１０が停止するまでの間増加していく。この他に、演算処理において、ｎが取り得る最大値ｎ(max)に到達したときにも、ｎ＝０となる。
【００７１】
まず、振幅フィルタ係数の初期値ａ(0)は、式（２２）に示すように、０とする。位相フィルタ係数の初期値φ(0)は、式（２３）に示すように、前回収束した時の位相フィルタ係数φ(last)としている。なお、式（２３）では、初期値φ(0)を前回収束した時の位相フィルタ係数φ(last)としているが、当該位相フィルタ係数φ(last)の比例値などとしてもよい。
【００７２】
【数２２】
0005846776.tif 000023
【００７３】
【数２３】
0005846776.tif 000024
【００７４】
ここで、パラメータ設定部１７０は、初期値φ(0)として用いる位相フィルタ係数φ(last)を以下のようにして取得して記憶している。残留信号検出部１４０により検出された残留信号ｅ(n)を常に取得しており、残留信号ｅ(n)の絶対値がゼロに近い設定値以下となるか否かを判定し、制御が収束したか否かを判定する。制御が収束したか否かの判定は、残留信号ｅ(n)の他に、振幅フィルタ係数ａ(n)の振幅更新項Δａ(n+1)または位相フィルタ係数φ(n)の位相更新項Δφ(n+1)の絶対値がゼロに近い設定値以下となるか否かにより判定することもできる。そして、パラメータ設定部１７０は、制御が収束したと判定されたときの位相フィルタ係数φ(last)を制御信号生成部１２０から取得する。パラメータ設定部１７０は、このようにして取得した前回収束した時の位相フィルタ係数φ(last)を記憶している。
【００７５】
ここで、上記式（２２）においては、振幅フィルタ係数の初期値ａ(0)を常に０とした。この他に、振幅フィルタ係数の初期値ａ(0)を周波数ｆに応じた値に設定することもできる。この場合、例えば、パラメータ設定部１７０が、周波数ｆに応じた振幅フィルタ係数の初期値ａ(0)に関するマップを記憶しておき、現在の周波数ｆと当該マップに記憶されている情報とに基づいて振幅フィルタ係数の初期値ａ(0)を設定する。このように現在の周波数ｆに応じた振幅フィルタ係数の初期値ａ(0)を設定することで、早期の収束を実現できる。
【００７６】
また、上記式（２３）においては、位相フィルタ係数の初期値φ(0)は、前回収束した時の位相フィルタ係数φ(last)とした。この他に、位相フィルタ係数の初期値φ(0)は、周波数ｆに応じた値に設定することもできる。この場合、位相フィルタ係数の初期値φ(0)は、前回収束した時の位相フィルタ係数φ(last)と前回収束した時の周波数ｆを記憶しておき、前回収束した時の周波数ｆを現在の周波数ｆに変換するための係数を前回収束した時の位相フィルタ係数φ(last)と乗算した値としてもよい。例えば、パラメータ設定部１７０が、周波数ｆに応じた位相フィルタ係数の変換係数（比例係数）に関するマップを記憶しておき、前回収束した時の位相フィルタ係数φ(last)に当該変換係数を乗算した値を位相フィルタ係数の初期値φ(0)とする。このように現在の周波数ｆに応じた位相フィルタ係数の初期値φ(0)を設定することで、早期の収束を実現できる。
【００７７】
このように、パラメータ設定部１７０が周波数ｆに基づきそれぞれの初期値を設定する場合には、図１において、周波数算出部１１０からパラメータ設定部１７０への情報の伝達が行われる。すなわち、図１において、周波数算出部１１０からパラメータ設定部１７０への破線の矢印により表される。なお、上記したように周波数ｆに応じない初期値を設定する実施形態においては、周波数算出部１１０からパラメータ設定部１７０への情報の伝達は行われないため、図１において破線の矢印にて図示した。
【００７８】
（２．理論説明）
次に、上述したように振幅フィルタ係数ａ(n)に対する振幅更新項Δａ(n+1)、および、位相フィルタ係数φ(n)に対する位相更新項Δφ(n+1)を更新する場合の理論説明を行う。上述したDXHSアルゴリズムの基本式は、式（１０）、式（２０）および式（２１）を連続時間で表記すると、式（２４）のように表される。なお、以下において、（ｔ）は、時刻ｔの関数を表す。
【００７９】
【数２４】
0005846776.tif 000025
【００８０】
ここで、式（２４）において、より簡易的にするために、振幅成分ＡGおよびＡｈGを省略して、更新項da/dtを正規化前に戻す。そうすると、式（２４）は式（２５）のように表される。
【００８１】
【数２５】
0005846776.tif 000026
【００８２】
制御が安定している場合を考えると、ｔ→∞のときにｅ2→０となればよい。つまり、ｔが十分に大きい場合に、式（２６）を満たしていれば、制御が安定保証される。
【００８３】
【数２６】
0005846776.tif 000027
【００８４】
そこで、式（２５）の第一式より、式（２７）のように表される。
【００８５】
【数２７】
0005846776.tif 000028
【００８６】
式（２７）に式（２５）の第二式および第三式を代入して展開すると、式（２８）のようになる。
【００８７】
【数２８】
0005846776.tif 000029
【００８８】
ここで、式（２８）の右辺の第一項に式（２５）の第一式を代入して計算すると、式（２９）のようになる。また、式（２８）の右辺の第三項に式（２５）の第一式を代入して計算すると、式（３０）のようになる。
【００８９】
【数２９】
0005846776.tif 000030
【００９０】
【数３０】
0005846776.tif 000031
【００９１】
そして、式（２９）と式（３０）を加算すると、式（３１）となる。
【００９２】
【数３１】
0005846776.tif 000032
【００９３】
ここで、式（２８）の右辺の第二項を計算すると、式（３２）のようになる。また、式（２８）の右辺の第四項を計算すると、式（３３）のようになる。
【００９４】
【数３２】
0005846776.tif 000033
【００９５】
【数３３】
0005846776.tif 000034
【００９６】
そして、式（３２）と式（３３）を加算すると、式（３４）となる。
【００９７】
【数３４】
0005846776.tif 000035
【００９８】
式（３１）および式（３４）より、式（２８）は、式（３５）のように表される。
【００９９】
【数３５】
0005846776.tif 000036
【０１００】
ここで、式（３５）において、第五項目以外は全て２ωの周期関数となっている。そして、ｔ→∞のときに制御が収束している状態を考えるため、ｔ→∞のときにｅ(t)、ａ(t)、φ(t)が一定値に収束することになる。そうすると、ｔ→∞のときに、式（３５）の第一項から第四項までの周期関数の和が一定値にならなければならない。ただし、一定値は、ゼロとは限らず、ゼロ以外の値であってもよい。
【０１０１】
そして、上記の一定値を導き出すために、それぞれの周期関数の平均値を算出する。式（３５）の第一項から第四項までの周期関数は、全て２ωの関数であり、時間が十分に経過していると仮定すると、それぞれの周期関数の平均値はゼロとなる。このことは、式（３６）より導き出すことができる。ここで、Ｔは周期を表す。
【０１０２】
【数３６】
0005846776.tif 000037
【０１０３】
従って、式（３５）の第一項から第四項までの周期関数の和の収束値は、ゼロと推定できる。そうすると、式（３５）において、第五項のみを検討すれば足りる。そこで、式（２６）および式（３５）の第五項より、制御が安定保証されるためには、少なくとも式（３７）の条件を満たしている必要がある。
【０１０４】
【数３７】
0005846776.tif 000038
【０１０５】
ここで、式（３８）より、式（３９）の条件が必要となる。
【０１０６】
【数３８】
0005846776.tif 000039
【０１０７】
【数３９】
0005846776.tif 000040
【０１０８】
式（３９）より、式（４０）の条件が必要となる。ただし、ｎは整数である。
【０１０９】
【数４０】
0005846776.tif 000041
【０１１０】
そして、現在、ｍ＞１であり、ｐは任意係数であるため、式（４０）は式（４１）のように展開することができる。つまり、ｔ→∞の時に、式（４１）を満たすような位相フィルタ係数φ(t)を設定することで、制御が発散しない。
【０１１１】
【数４１】
0005846776.tif 000042
【０１１２】
ここで、本実施形態とは異なる一般的なDXHSアルゴリズムの場合には、式（３９）においてｍ＝１の場合となる。このとき、実際の第一伝達関数Ｇの位相成分ΦGと第一推定伝達関数Ｇｈの位相成分ΦｈGとの位相ずれが−９０°〜９０°の範囲であれば、ｍ＝１とした式（３９）の条件を満たす。つまり、位相ずれが−９０°〜９０°の範囲のときに安定性が保証される。しかしながら、ｍ＝１の場合には、−９０°〜９０°の範囲外になると、制御が発散する。これに対して、本実施形態においては、ｍ＞１であるため、上述したように、式（４１）を満たせば、制御が収束する。例えば、ｍ＝３とし、ｐ＝３とした場合には、式（４１）は式（４２）となる。
【０１１３】
【数４２】
0005846776.tif 000043
【０１１４】
式（４２）において、伝達関数位相差（３ΦG−ΦｈG）＝０の場合、位相フィルタ係数φ(t)の範囲は、ｎ＝０のときに−１３５°〜＋１３５°となり、ｎ＝１のときに＋４０５°〜＋６７５°、すなわち＋４５°〜−４５°となる。この範囲を−１８０°〜＋１８０°の範囲で示すと図２に示すようになる。つまり、ｎ＝０，１とした場合には、ｎ＝０とｎ＝１の２つの場合におけるトータルの位相フィルタ係数φ(t)は３６０°全範囲を選択することができる。また、ｎ＝−１のときには−６７５°〜−４０５°、すなわち＋４５°〜−４５°となる。つまり、ｎ＝０，−１とした場合にも、上記同様となる。
【０１１５】
次に、伝達関数位相差（３ΦG−ΦｈG）が０以外の場合についても考える。この場合、式（４２）において、ｎ＝−１，０，１とした場合に、それぞれの安定領域と不安定領域は図３に示すようになる。この関係から、位相フィルタ係数φ(t)の範囲をどの範囲で設定可能とすればよいかを検討する。
【０１１６】
ｍ＝ｐ＝３の場合には、ｎ＝０，１の位相フィルタ係数φ(t)は３６０°のどこでも選択でき、かつ、伝達関数位相差−７２０°＜（３ΦG−ΦｈG）＜＋７２０°である。つまり、ｎ＝０、かつ、（３ΦG−ΦｈG）＝−７２０°のときに、＋２２５°＜φ(t)＜＋４９５°となる。ｎ＝１、かつ、（３ΦG−ΦｈG）＝−７２０°のときに、＋７６５°＜φ(t)＜＋１０３５°となる。ｎ＝０、かつ、（３ΦG−ΦｈG）＝＋７２０°のときに、−４９５°＜φ(t)＜−２２５°となる。ｎ＝１、かつ、（３ΦG−ΦｈG）＝＋７２０°のときに、４５°＜φ(t)＜３１５°となる。これらの範囲から、−４９５°＜φ(t)＜＋１０３５°としておけば、制御が発散しない、すなわち制御が収束するようにできる。また、ｍ＝ｐ＝３で、ｎ＝０，−１とした場合には、上記と同様な考え方により、−１０３５°＜φ(t)＜＋４９５°としておけば、制御が発散しない。
【０１１７】
（解析）
次に、上記実施形態について、第一伝達関数Ｇの位相成分ΦGと第一推定伝達関数Ｇｈの位相成分ΦｈGとの位相差が１５０°の場合について解析を行った。この解析結果を図４に示す。図４（ａ）に示すように、残留信号ｅが収束していることが分かる。このときの正弦波制御信号ｙは図４（ｂ）に示すとおりである。なお、図４（ｃ）（ｄ）に示すように、振幅フィルタ係数ａおよび位相フィルタ係数φがそれぞれ収束していることが分かる。
【０１１８】
このように、位相差が１５０°であったとしても、最終的に制御を発散させることなく収束させることができる。従って、第一伝達関数Ｇが温度や経年によって変化することによって第一伝達関数Ｇの位相成分と第一推定伝達関数Ｇｈの位相成分とがずれたとしても、制御を収束させることができる。さらに、第一推定伝達関数Ｇｈを用いることで、第一推定伝達関数Ｇｈの精度が高い場合には、早く収束させることができる。
【０１１９】
また、上述したように、位相フィルタ係数の初期値φ(0)を、単にゼロに設定するのではなく、前回収束した時の位相フィルタ係数φ(last)に基づき設定している。このとき、前回収束した時の位相フィルタ係数φ(last)は、前回収束した時点における伝達関数Ｇの位相を考慮した値となっていると考えられる。つまり、位相フィルタ係数の初期値φ(0)は、現在の伝達関数Ｇの経年変化に追従していると言える。従って、制御が発散することを抑制でき、最終的に制御を収束させることができる。
【０１２０】
＜第二実施形態＞
本実施形態の能動型振動騒音抑制装置２００について、図５を参照して説明する。第一実施形態においては、適応フィルタ係数Ｗの更新式において、第一伝達関数Ｇの推定値Ｇｈを用いた。これに対して、本実施形態の能動型振動騒音抑制装置２００は、適応フィルタ係数Ｗの更新式において、第一伝達関数Ｇの推定値Ｇｈを用いない。
【０１２１】
能動型振動騒音抑制装置２００は、周波数算出部１１０と、制御信号生成部１２０と、発生装置１３０と、残留信号検出部１４０と、適応フィルタ係数更新部２６０と、トルク変動量算出部２８０と、パラメータ設定部２７０を備えている。ここで、第一実施形態と同一構成については、同一符号を付して説明を省略する。つまり、本実施形態の能動型振動騒音抑制装置２００は、第一実施形態に対して、適応フィルタ係数更新部２６０、トルク変動量算出部２８０、パラメータ設定部２７０が相違する。
【０１２２】
適応フィルタ係数更新部２６０（本発明の「振幅フィルタ係数更新部」および「位相フィルタ係数更新部」に相当する）は、第一実施形態と同様に、残留信号ｅ(n)が小さくなるように、制御信号生成部１２０にて生成される適応フィルタ係数Ｗ(n)に対して加減算するための更新項ΔＷ(n+1)を算出する。この適応フィルタ係数更新部２６０は、振幅フィルタ係数ａ(n)に対して加減算するための振幅更新項Δａ(n+1)、および、位相フィルタ係数φ(n)に対して加減算するための位相更新項Δφ(n+1)を算出する。
【０１２３】
ここで、第一実施形態における振幅更新項Δａ(n+1)は式（１８）に示すとおりである。式（１８）において、（μa1／ＡｈG）を第一推定伝達関数Ｇｈの振幅成分ＡｈGに依存しない振幅用ステップサイズパラメータμa2とし、かつ、（ΦｈG／ｐ）をゼロとする。そうすると、振幅更新項Δａ(n+1)は式（４３）のように表される。つまり、式（４３）で表される振幅更新項Δａ(n+1)は、第一推定伝達関数Ｇｈに依存しない更新項となる。ここで、振幅用ステップサイズパラメータμa2は、後述するが、パラメータ設定部２７０により、前回収束した時の振幅フィルタ係数ａ(last)を用いて変更される。
【０１２４】
【数４３】
0005846776.tif 000044
【０１２５】
また、第一実施形態における位相更新項Δφ(n+1)は式（１９）に示すとおりである。式（１９）において、（ΦｈG／ｐ）をゼロとする。そうすると、位相更新項Δφ(n+1)は式（４４）のように表される。つまり、式（４４）で表される位相更新項Δφ(n+1)は、第一推定伝達関数Ｇｈに依存しない更新項となる。
【０１２６】
【数４４】
0005846776.tif 000045
【０１２７】
トルク変動量算出部２８０は、エンジン制御部３０からエンジン１０の駆動トルク変動量trq(n)に関する情報を受け取り、エンジン１０の駆動トルク変動量trq(n)を算出する。例えば、駆動トルク変動量trq(n)に関する情報とは、駆動トルク変動量trq(n)そのもの、アクセル開度やエンジン負荷率などである。
【０１２８】
パラメータ設定部２７０は、第一実施形態と同様に、振幅フィルタ係数の初期値ａ(0)および位相フィルタ係数の初期値φ(0)を、式（２２）（２３）に示すように設定する。さらに、パラメータ設定部２７０は、前回収束した時の振幅フィルタ係数ａ(last)と、前回収束した時の駆動トルク変動量trq(last)とを用いて、式（４５）に従って、振幅用ステップサイズパラメータμa2を設定する。式（４５）に示すように、振幅用ステップサイズパラメータμa2は、前回収束した時の振幅フィルタ係数ａ(last)を、駆動トルク変動量trq(last)で除した値（割った値）に、一定のステップサイズパラメータμa3を乗じた値とする。
【０１２９】
【数４５】
0005846776.tif 000046
【０１３０】
ここで、第一実施形態にて説明したように、位相フィルタ係数φ(n)は、３６０°全範囲を選択したとしても、制御を収束させることができる。そのため、式（１８）（１９）において、周期関数（sin関数またはcos関数）の位相成分において、第一推定伝達関数Ｇｈの位相成分ΦｈGを用いないとしても、位相フィルタ係数φ(n)の値によって制御が発散するということがない。そこで、式（４３）（４４）のように当該位相成分ΦｈGを用いない更新式としたとしても、制御を収束させることができる。
【０１３１】
また、式（４３）において、第一推定伝達関数Ｇｈの振幅成分ＡｈGを用いないが、振幅更新項Δａ(n+1)の振幅用ステップサイズパラメータμa2が、前回収束した時の振幅フィルタ係数ａ(last)に基づいている。ここで、前回収束した時の振幅フィルタ係数ａ(last)は、前回収束した時点における伝達関数Ｇの振幅を考慮した値となっていると考えられる。つまり、振幅更新項Δａ(n+1)の振幅用ステップサイズパラメータμa2は、現在の伝達関数Ｇの経年変化に追従していると言える。
【０１３２】
特に、式（４５）に示すように、振幅用ステップサイズパラメータμa2は、前回収束した時の振幅フィルタ係数ａ(last)を、駆動トルク変動量trq(last)で除した値の比例値に設定するようにしている。ここで、エンジン１０を振動または騒音の発生源とした場合には、エンジン１０から評価点２０に伝達される振動または騒音は、エンジン１０の駆動トルク変動量trqに比例する。つまり、制御が収束している状態において、第一伝達関数Ｇの振幅は、振幅フィルタ係数ａ(last)を駆動トルク変動量trq(last)で除した値に対応する。
【０１３３】
そして、上記したように、振幅更新項Δａ(n+1)の振幅用ステップサイズパラメータμa2に、前回収束した時の振幅フィルタ係数ａ(last)を前回収束した時の駆動トルク変動量trq(last)で除した値の比例値を設定することで、当該振幅用ステップサイズパラメータμa2が、前回収束した時の第一伝達関数Ｇの振幅に対応する。従って、式（４３）を適用したとしても、振幅の追従性能は劣ることなく、確実に早期に収束させることができる。
【０１３４】
このように、第二実施形態のように、第一推定伝達関数Ｇｈを用いずに適応フィルタ係数Ｗを更新したとしても、第一実施形態と同様に確実にかつ早期に制御を収束させることができる。さらに、第一推定伝達関数Ｇｈを用いないため、第一伝達関数Ｇの同定処理を行う必要がなく、かつ、同定精度を追求する必要もない。そのため、演算処理を簡易的にすることができ、かつ、演算処理負荷を低減することができる。
【０１３５】
＜その他＞
上記実施形態において、振幅更新項Δａ(n+1)および位相更新項Δφ(n+1)は、式（１８）（１９）および式（４３）（４４）に示す更新式とした。この他に、振幅更新項Δａ(n+1)および位相更新項Δφ(n+1)は、式（１８）（１９）または式（４３）（４４）に示す項に、収束安定性を高めるためなどに別の項を加減算する式としてもよい。すなわち、少なくとも、振幅更新項Δａ(n+1)および位相更新項Δφ(n+1)は、式（１８）（１９）または式（４３）（４４）に示す項を含む更新式とすれば、上記効果を発揮することができる。
【符号の説明】
【０１３６】
１０：振動騒音発生源（エンジン）、  ２０：評価点
１００，２００：能動型振動騒音抑制装置
１１０：周波数算出部、  １２０：制御信号生成部、  １３０：発生装置
１４０：残留信号検出部、  １５０：第一推定伝達関数設定部
１６０，２６０：適応フィルタ係数更新部、  １７０，２７０：パラメータ設定部
１８０：トルク変動量算出部
【図１】
0005846776.tif 000050
【図２】
0005846776.tif 000051
【図３】
0005846776.tif 000052
【図４】
0005846776.tif 000053
【図５】
0005846776.tif 000054