(57)【特許請求の範囲】
【請求項１】
周期的な騒音又は振動と干渉する制御音又は制御振動を発生可能な制御音源又は制御振動源と、前記制御音源又は制御振動源を駆動する駆動信号を生成し出力する制御手段と、を備え、
前記制御手段は、前記騒音又は振動の一周期内に前記駆動信号として出力される駆動信号用数列を生成する駆動信号用数列生成手段と、前記駆動信号用数列の各要素を前記騒音又は振動の一周期内に順次出力する駆動信号出力手段と、を備えるとともに、前記駆動信号用数列を構成する要素の個数は可変であり、
前記駆動信号出力手段は、前記駆動信号用数列の一の要素の出力を開始してからその次の要素の出力を開始するまでの中間の時点を前記騒音又は振動の一周期に対する位置として表現した場合、前記駆動信号用数列を構成する要素の個数を変更しても同一の要素については前記位置が変化しないように、前記駆動信号用数列の各要素を出力するようになっていることを特徴とする能動型騒音振動制御装置。
【請求項２】
前記制御音又は制御振動を所定時間間隔で離散値化した複数個の要素からなる基本数列を記憶する記憶手段を備え、前記駆動信号用数列生成手段は、前記基本数列に基づいて前記駆動信号用数列を生成するようになっている請求項１記載の能動型騒音振動制御装置。
【請求項３】
前記駆動信号用数列を構成する要素の個数をＤ、前記基本数列を構成する要素の個数をＤ１  とした場合に、
前記駆動信号用数列生成手段は、正の整数ｋを用いて、Ｄ＝Ｄ１  ／ｋが成り立つ場合には、前記基本数列の各要素を第一番目からｋ−１個おきに抜き出して前記駆動信号用数列を生成するようになっている請求項２記載の能動型騒音振動制御装置。
【請求項４】
前記駆動信号用数列を構成する要素の個数をＤ、前記基本数列を構成する要素の個数をＤ１  とした場合に、
前記駆動信号用数列生成手段は、正の整数ｋを用いて、Ｄ＝Ｄ１  ／ｋが成り立たない場合には、前記基本数列の要素を用いた補間演算を行って前記駆動信号用数列を生成するようになっている請求項２又は請求項３記載の能動型騒音振動制御装置。
【請求項５】
前記駆動信号用数列生成手段は、前記駆動信号用数列を構成する要素の個数が変化する場合、その変化前の要素に基づいて変化後の要素を生成するようになっている請求項１記載の能動型騒音振動制御装置。
【請求項６】
前記騒音又は振動の周期をＴ、前記駆動信号用数列を構成する要素の個数をＤとした場合に、
前記駆動信号出力手段は、前記駆動信号用数列の第一番目の要素はＴ／Ｄ／２の時間出力し、前記駆動信号用数列の第二番目以降の要素はＴ／Ｄの周期で出力するようになっている請求項２乃至請求項５のいずれかに記載の能動型騒音振動制御装置。
【請求項７】
前記騒音又は振動の周期をＴ、前記駆動信号用数列を構成する要素の個数をＤ、前記駆動信号用数列を構成する要素の基準となる個数をＤ０  とした場合に、
前記駆動信号出力手段は、Ｄ＝Ｄ０  の場合には、前記駆動信号用数列の各要素をＴ／Ｄの周期で出力し、Ｄ＜Ｄ０  の場合には、最初に前記駆動信号用数列の第一番目の要素をＴ（Ｄ＋Ｄ０  ）／（２ＤＤ０  ）の時間出力し、その後は前記駆動信号用数列の第二番目以降の要素をＴ／Ｄの周期で出力するようになっている請求項２乃至請求項５のいずれかに記載の能動型騒音振動制御装置。
【請求項８】
前記騒音又は振動の周期をＴ、前記駆動信号用数列を構成する要素の個数をＤ、前記駆動信号用数列を構成する要素の基準となる個数をＤ０  とした場合に、
前記駆動信号出力手段は、Ｄ＝Ｄ０  の場合には、前記駆動信号用数列の各要素をＴ／Ｄの周期で出力し、Ｄ＞Ｄ０  の場合には、最初に前記駆動信号用数列の第Ｄ番目の要素をＴ（Ｄ−Ｄ０  ）／（２ＤＤ０  ）の時間出力し、その後は前記駆動信号用数列の第一番目以降の要素をＴ／Ｄの周期で出力するようになっている請求項２乃至請求項５のいずれかに記載の能動型騒音振動制御装置。
【請求項９】
前記干渉後の残留騒音又は残留振動を検出し残留騒音信号又は残留振動信号として出力する残留騒音検出手段又は残留振動検出手段と、前記残留騒音信号又は残留振動信号に基づき且つ適応アルゴリズムに従って前記駆動信号用数列の要素を更新する更新手段と、を備える請求項１乃至請求項８のいずれかに記載の能動型騒音振動制御装置。
【請求項１０】
前記干渉後の残留騒音又は残留振動を検出し残留騒音信号又は残留振動信号として出力する残留騒音検出手段又は残留振動検出手段と、前記残留騒音信号又は残留振動信号に基づき且つ適応アルゴリズムに従って前記基本数列の要素を更新する更新手段と、を備える請求項２乃至請求項４又は請求項６乃至請求項８のいずれかに記載の能動型騒音振動制御装置。
【請求項１１】
前記駆動信号用数列の各要素の大きさを調整する駆動信号ゲイン調整手段を備える請求項１乃至請求項１０のいずれかに記載の能動型騒音振動制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、周期的な騒音又は振動に制御音又は制御振動を干渉させることにより騒音レベル又は振動レベルの低減を図る能動型騒音振動制御装置に関し、特に、ディジタル信号列である駆動信号によってラウドスピーカや制御振動発生装置を駆動させることにより制御音や制御振動を発生させるようになっており、しかも、騒音又は振動の一周期内に生成される駆動信号としてのディジタル信号列の要素の個数が例えば騒音又は振動の周期に応じて可変になっているものにおいて、その駆動信号としてのディジタル信号列を構成する要素の個数の変化に伴う制御特性の劣化を軽減できるようにしたものである。
【０００２】
【従来の技術】
この種の従来の技術としては、騒音低減制御に関するものであるが、例えば特開平８−３３９１９２号公報に記載された能動型騒音制御装置がある。即ち、かかる従来の装置にあっては、エンジン回転騒音のような周期的な騒音を相殺できる制御音を、逐次更新型の適応アルゴリズムであるＬＭＳアルゴリズムに従って生成するようになっている。そして、その一実施例では、騒音の一周期内に出力する制御音のパルス数を、４パルス又は８パルスのいずれかにするようになっていて、そのパルス数の切り換えを、騒音周波数の２００Ｈｚを境界として行うようになっている。
【０００３】
つまり、騒音の周波数が高い（周期が短い）状況で、騒音の一周期内に出力する制御音のパルス数が多いと、各パルスの出力に同期して実行されるフィルタ係数の更新処理や割り込み処理として実行されるＤ／Ａ変換処理等に費やせる時間が短くなって、処理を実行するマイクロプロセッサの能力によっては演算が間に合わない場合があるし、逆に、騒音の周波数が低い（周期が長い）状況で、騒音の一周期内に出力する制御音のパルス数が少ないと、同じパルス信号の出力時間が長くなり、実際にラウドスピーカから発せられる制御音の滑らかさが失われて騒音低減効果が低くなってしまう場合がある、という問題点がある。そこで、上記従来の装置にあっては、騒音の一周期内に出力する制御音のパルス数を固定ではなく可変にして、上記問題点に対処することとしているのである。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来の装置では、騒音の一周期内に出力する制御音のパルス数を騒音周波数に応じて単に切り換える構成であるため、そのパルス数を切り換える際に騒音低減制御の悪化を招くという問題点がある。
【０００５】
つまり、上記従来の装置にあっては、各パルス信号の出力間隔（サンプリング・クロック）は、常に騒音の周期Ｔをパルス数Ｄで割ったＴ／Ｄであり、そのときのパルス数が４、８のいずれであっても、騒音の一周期に同期した信号（タコパルス信号）の立ち上がり検知後直ちに第一番目のパルスの出力を開始し、それからＴ／Ｄ経過後に第二番目のパルスの出力を開始し、それからさらにＴ／Ｄ経過後に第三番目のパルスの出力を開始し…、という具合であったので、それら４パルス時と８パルス時とで同じパルス信号が存在する場合、その同じパルス信号の中間時点（パルス信号の出力を開始してから次のパルス信号の出力を開始するまでの中間の時点）を騒音の一周期に対する位置として表現すると、４パルス時と８パルス時とで異なってしまい、その分位相特性が変化して、適応演算が収束するまでの間は騒音低減制御が悪化してしまうのである。
【０００６】
換言すれば、適応処理を行うようになっている上記従来の装置にあっては、騒音の一周期内に出力する制御音のパルス数を切り換える際に、その制御音となるパルス信号列の相対的な精度低下が必ず生じてしまい、適応演算によってパルス信号列の各数値が最適値に収束するまでの間、騒音レベルの悪化を余儀なくされていたのである。
【０００７】
このような問題点は、適応処理を実行する形式ではなく、騒音を低減可能なディジタル信号列を予め生成し記憶しておき、そのディジタル信号列の各要素を適宜間引く或いは補間することにより所定個数の駆動信号用数列を生成し、その駆動信号用数列を順次出力するようになっている装置であっても同様に生じるものであるし、騒音ではなく振動を低減するようになっている同様の装置においてもやはり生じるものである。
【０００８】
本発明は、このような従来の技術が有する未解決の課題に着目してなされたものであって、駆動信号として出力されるディジタル信号列の一周期内の個数が変化しても、騒音・振動の低減効果が大きく低下することを防止できる能動型騒音振動制御装置を提供することを目的としている。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、請求項１に係る発明である能動型騒音振動制御装置は、周期的な騒音又は振動と干渉する制御音又は制御振動を発生可能な制御音源又は制御振動源と、前記制御音源又は制御振動源を駆動する駆動信号を生成し出力する制御手段と、を備え、前記制御手段は、前記騒音又は振動の一周期内に前記駆動信号として出力される駆動信号用数列を生成する駆動信号用数列生成手段と、前記駆動信号用数列の各要素を前記騒音又は振動の一周期内に順次出力する駆動信号出力手段と、を備えるとともに、前記駆動信号用数列を構成する要素の個数は可変であり、前記駆動信号出力手段は、前記駆動信号用数列の一の要素の出力を開始してからその次の要素の出力を開始するまでの中間の時点を前記騒音又は振動の一周期に対する位置として表現した場合、前記駆動信号用数列を構成する要素の個数を変更しても同一の要素については前記位置が変化しないように、前記駆動信号用数列の各要素を出力するようにした。
【００１０】
また、請求項２に係る発明は、上記請求項１に係る発明である能動型騒音振動制御装置において、前記制御音又は制御振動を所定時間間隔で離散値化した複数個の要素からなる基本数列を記憶する記憶手段を備え、前記駆動信号用数列生成手段は、前記基本数列に基づいて前記駆動信号用数列を生成するようにした。
【００１１】
そして、請求項３に係る発明は、上記請求項２に係る発明である能動型騒音振動制御装置において、前記駆動信号用数列を構成する要素の個数をＤ、前記基本数列を構成する要素の個数をＤ１  とした場合に、前記駆動信号用数列生成手段は、正の整数ｋを用いて、Ｄ＝Ｄ１  ／ｋが成り立つ場合には、前記基本数列の各要素を第一番目からｋ−１個おきに抜き出して前記駆動信号用数列を生成するようにした。
【００１２】
さらに、請求項４に係る発明は、上記請求項２又は請求項３に係る発明である能動型騒音振動制御装置において、前記駆動信号用数列を構成する要素の個数をＤ、前記基本数列を構成する要素の個数をＤ１  とした場合に、前記駆動信号用数列生成手段は、正の整数ｋを用いて、Ｄ＝Ｄ１  ／ｋが成り立たない場合には、前記基本数列の要素を用いた補間演算を行って前記駆動信号用数列を生成するようにした。
【００１３】
また、請求項５に係る発明は、上記請求項１に係る発明である能動型騒音振動制御装置において、前記駆動信号用数列生成手段は、前記駆動信号用数列を構成する要素の個数が変化する場合、その変化前の要素に基づいて変化後の要素を生成するようにした。
【００１４】
そして、請求項６に係る発明は、上記請求項２〜請求項５に係る発明である能動型騒音振動制御装置において、前記騒音又は振動の周期をＴ、前記駆動信号用数列を構成する要素の個数をＤとした場合に、前記駆動信号出力手段は、前記駆動信号用数列の第一番目の要素はＴ／Ｄ／２の時間出力し、前記駆動信号用数列の第二番目以降の要素はＴ／Ｄの周期で出力するようにした。
【００１５】
これに対し、請求項７に係る発明は、上記請求項２〜請求項５に係る発明である能動型騒音振動制御装置において、前記騒音又は振動の周期をＴ、前記駆動信号用数列を構成する要素の個数をＤ、前記駆動信号用数列を構成する要素の基準となる個数をＤ０  とした場合に、前記駆動信号出力手段は、Ｄ＝Ｄ０  の場合には、前記駆動信号用数列の各要素をＴ／Ｄの周期で出力し、Ｄ＜Ｄ０  の場合には、最初に前記駆動信号用数列の第一番目の要素をＴ（Ｄ＋Ｄ０  ）／（２ＤＤ０  ）の時間出力し、その後は前記駆動信号用数列の第二番目以降の要素をＴ／Ｄの周期で出力するようにした。
【００１６】
さらに、請求項８に係る発明は、上記請求項２〜請求項５に係る発明である能動型騒音振動制御装置において、前記騒音又は振動の周期をＴ、前記駆動信号用数列を構成する要素の個数をＤ、前記駆動信号用数列を構成する要素の基準となる個数をＤ０  とした場合に、前記駆動信号出力手段は、Ｄ＝Ｄ０  の場合には、前記駆動信号用数列の各要素をＴ／Ｄの周期で出力し、Ｄ＞Ｄ０  の場合には、最初に前記駆動信号用数列の第Ｄ番目の要素をＴ（Ｄ−Ｄ０  ）／（２ＤＤ０  ）の時間出力し、その後は前記駆動信号用数列の第一番目以降の要素をＴ／Ｄの周期で出力するようにした。
【００１７】
また、請求項９に係る発明は、上記請求項１〜請求項８に係る発明である能動型騒音振動制御装置において、前記干渉後の残留騒音又は残留振動を検出し残留騒音信号又は残留振動信号として出力する残留騒音検出手段又は残留振動検出手段と、前記残留騒音信号又は残留振動信号に基づき且つ適応アルゴリズムに従って前記駆動信号用数列の要素を更新する更新手段と、を備えた。
【００１８】
そして、請求項１０に係る発明は、上記請求項１〜請求項４又は請求項６〜請求項８に係る発明である能動型騒音振動制御装置において、前記干渉後の残留騒音又は残留振動を検出し残留騒音信号又は残留振動信号として出力する残留騒音検出手段又は残留振動検出手段と、前記残留騒音信号又は残留振動信号に基づき且つ適応アルゴリズムに従って前記基本数列の要素を更新する更新手段と、を備えた。
【００１９】
さらに、請求項１１に係る発明は、上記請求項１〜請求項１０に係る発明である能動型騒音振動制御装置において、前記駆動信号用数列の各要素の大きさを調整する駆動信号ゲイン調整手段を備えた。
【００２０】
ここで、請求項１に係る発明にあっては、駆動信号出力手段が、例えば請求項６〜８に係る発明のように騒音又は振動の周期Ｔや駆動信号用数列を構成する要素の個数Ｄ、或いは個数Ｄの任意の基準となる個数Ｄ０  に応じて駆動信号用数列の各要素の出力間隔を調整することにより、個数Ｄが変更しても、同一の要素については、その中間時点の騒音又は振動の一周期に対する位置（中間時点の対周期位置）が変化しないようにしているから、個数Ｄの変更に伴って位相特性が変化し制御音源又は制御振動源から発せられる実際の制御音又は制御振動の精度の悪化代を、大幅に小さくできるのである。
【００２１】
これを詳述すると、例えば、騒音又は振動の一周期内に出力される駆動信号用数列が、余弦関数で表されるとする、つまり、個数Ｄを正の整数として、駆動信号用数列の各要素を仮にｙ（ｉ）（ｉ＝０，１，２，…，Ｄ−１）とし、その要素ｙ（ｉ）が下記の（１）式で表現されるものとする。
【００２２】
ｙ（ｉ）＝ｃｏｓ（２ｉπ／Ｄ）              ……（１）
この駆動信号用数列の各要素ｙ（ｉ）を、その中間時点が２ｉπ／ω／Ｄとなるように出力した場合、つまり角周波数がωの駆動信号用数列となるように出力した場合の、角周波数ωにおける周波数応答関数をＦ１  とする。Ｄ＝２４とした場合の駆動信号用数列の要素ｙ（ｉ）の出力の様子を示すと、図１（ａ）のようになる。そして、周波数応答関数Ｆ１  は下記の（２）式に従って求められる。
【００２３】
【数１】
0003562303.tif 000002
【００２４】
……（２）
式の展開は省略し結果のみを示すと、周波数応答関数Ｆ１  は、下記の（３）式のようになる。
【００２５】
Ｆ１  ＝（Ｄ／ω）ｓｉｎ（π／Ｄ）            ……（３）
このように、周波数応答関数Ｆ１  は個数Ｄに関わらず実部のみとなるから、位相特性が個数Ｄによっては変化しないことが分かる。
【００２６】
また、ある角度ｘ（ｒａｄ）  が十分小さいとき、その正弦関数ｓｉｎ（ｘ）の値はｘで近似することができる。つまり、個数Ｄが比較的大きいとき、上記（３）式の右辺の「Ｄ・ｓｉｎ（π／Ｄ）」は略πとなり、周波数応答関数Ｆ１  のゲイン特性は略一定である。例えば、Ｄ＝２４、１２、８とした場合の周波数応答関数Ｆ１  の値はそれぞれ  ０．９９７π／ω、  ０．９８９π／ω、  ０．９７４π／ωである。
【００２７】
次に、同じ駆動信号用数列の要素ｙ（ｉ）を、時刻０から次々と出力した場合を考える。この場合に、Ｄ＝２４としたときの駆動信号用数列の要素ｙ（ｉ）の出力の様子を示すと図１（ｂ）のようになる。このときの周波数応答関数をＦ２  とすると、その周波数応答関数Ｆ２  は下記の（４）式に従って求められる。
【００２８】
【数２】
0003562303.tif 000003
【００２９】
……（４）
式の展開は省略し結果のみを示すと、周波数応答関数Ｆ２  は、下記の（５）式のようになる。
【００３０】
Ｆ２  ＝（Ｄ／２ω）ｓｉｎ（２π／Ｄ）＋ｊ（Ｄ／２ω）｛ｃｏｓ（２π／Ｄ）−１｝……（５）
なお、上記（５）式中のｊは虚数である。即ち、周波数応答関数Ｆ２  は複素数となり、位相特性が個数Ｄによって変化することが判る。例えばＤ＝２４、１２、８のときの周波数応答関数Ｆ２  の位相特性は、−π／２４（ｒａｄ）  、−π／１２（ｒａｄ）  、−π／８（ｒａｄ）  である。
【００３１】
ゲイン特性については、同じ駆動信号用数列を異なるタイミングで出力しているだけなので、周波数応答関数Ｆ１  及びＦ２  で同じである。
このように、駆動信号用数列の要素ｙ（ｉ）は同じであっても、その出力タイミングを異ならせるだけで、位相特性が大きく変わってしまうのであり、これが騒音又は振動の低減効果に影響を与えるのである。よって、請求項１に係る発明であれば、その位相特性の変化を招かないで済むから、それだけ良好な騒音又は振動低減制御が可能となるのである。
【００３２】
請求項２〜５に係る発明は、駆動信号用数列を生成する駆動信号用数列生成手段の具体的な構成例を示すものであり、例えば請求項２に係る発明では、記憶手段に記憶されている基本数列に基づいて、駆動信号用数列を生成する。そして、基本数列を構成する要素の個数Ｄ１  と、駆動信号用数列を構成する要素の個数Ｄとの関係によって、適宜駆動信号用数列を生成することが可能である。
【００３３】
例えば、Ｄ＝Ｄ１  の場合には、基本数列をそのまま駆動信号用数列とすればよい。
これに対し、Ｄ＝Ｄ１  ／ｋが成り立つ場合、つまり個数Ｄが個数Ｄ１  の約数である場合には、請求項３に係る発明のように、基本数列の各要素を第一番目からｋ−１個おきに抜き出すだけで駆動信号用数列を生成することができる。
【００３４】
しかし、Ｄ＝Ｄ１  ／ｋが成り立たない場合、つまり個数Ｄが個数Ｄ１  の約数でない場合、若しくは個数Ｄが個数Ｄ１  よりも大きい場合には、請求項３に係る発明のように基本数列を間引くだけでは駆動信号用数列を生成することはできないから、請求項４に係る発明のように補間演算を行って駆動信号用数列を生成することが望ましい。
【００３５】
むしろ、常に請求項３に係る発明で十分なように、個数Ｄや個数Ｄ１  、並びに個数Ｄの切り換え回数Ｍを選定することが望ましい。例えば、基本数列を構成する要素の個数Ｄ１  を、
Ｄ１  ＝２Ｍ  
とする、或いは、個数Ｄの最小値が極端に小さくならないようにするために、３以上の整数Ｎを用いて、基本数列を構成する要素の個数Ｄ１  を、
Ｄ１  ＝Ｎ・２Ｍ  
とすれば、個数ＤをＭ段階に変化させても、いずれの個数Ｄの場合にも請求項３に係る発明のように基本数列を適宜間引くだけで駆動信号用数列を生成することができるから、その駆動信号用数列を生成する際の演算負荷を大幅に軽減できるのである。
【００３６】
請求項６〜８に係る発明は、駆動信号出力手段の具体的な構成例を示すものであり、例えば請求項６に係る発明にあっては、駆動信号用数列の第一番目の要素の出力間隔を、本来の出力周期（Ｔ／Ｄ）の半分（Ｔ／Ｄ／２）の時間とし、第二番目以降の要素の出力間隔を、本来の出力周期（Ｔ／Ｄ）とすることにより、個数Ｄが変化しても、同一の要素については中間時点の位置が変化しないようにしている。
【００３７】
また、請求項７又は８に係る発明では、個数Ｄと個数Ｄ０  との大小関係に基づいて場合分けして出力周期を適宜選定することにより、個数Ｄが変化しても、同一の要素については中間時点の位置が変化しないようにしている。
【００３８】
そして、請求項９又は１０に係る発明は、適応アルゴリズムを利用することにより、駆動信号用数列の精度がより高くなるようにしている。つまり、請求項９に係る発明では駆動信号用数列の要素を、請求項１０に係る発明では基本数列の要素を、それぞれ適応アルゴリズムに従って更新するようになっているから、駆動信号として出力される駆動信号用数列の各要素の精度が確保される。
【００３９】
さらに、請求項１１に係る発明では、駆動信号用数列の各要素の大きさを調整する駆動信号ゲイン調整手段を備えているが、これは、上記周波数応答関数Ｆ１  のゲイン特性が多少ではあるが個数Ｄの変更に伴って変化することに対処するためである。例えば、上記のように周波数応答関数Ｆ１  の値が  ０．９９７π／ω、  ０．９８９π／ω、  ０．９７４π／ωとなるのであれば、それら各値の逆数を駆動信号用数列の各要素に乗じて各要素の大きさを調整してやれば、結果としてゲイン特性が一定になったことと等価であるから、さらに駆動信号用数列の精度が向上したことになり、それだけ騒音又は振動の低減効果が向上するようになる。
【００４０】
【発明の効果】
本発明によれば、駆動信号出力手段によって、駆動信号用数列の要素の中間時点を騒音又は振動の一周期に対する位置として表現した場合、駆動信号用数列を構成する要素の個数を変更しても同一の要素については前記位置が変化しないように駆動信号用数列の各要素を出力するようにしたため、騒音又は振動の一周期内に出力する駆動信号用数列の個数を変更しても、それに伴って位相特性が変化し騒音又は振動の低減効果が大幅に低下することを防止できる、という効果がある。
【００４１】
特に、請求項９又は請求項１０に係る発明のように、適応アルゴリズムに従って更新演算を行うようになっている装置においては、騒音又は振動の一周期内に出力する駆動信号用数列の個数を変更した直後に、更新演算が収束するまでの間騒音又は振動の低減効果が低下することを回避でき、それだけ良好な騒音又は振動の低減制御を実行できるという効果がある。
【００４２】
【発明の実施の形態】
以下、この発明の実施の形態を図面に基づいて説明する。
図２乃至図６は本発明の第１の実施の形態を示す図であって、図２は本発明に係る能動型騒音振動制御装置の一実施形態である能動型振動制御装置を適用した車両の概略側面図である。
【００４３】
先ず、構成を説明すると、エンジン３０が駆動信号に応じた能動的な支持力を発生可能な能動型エンジンマウント１を介して、サスペンションメンバ等から構成される車体３５に支持されている。なお、実際には、エンジン３０及び車体３５間には、能動型エンジンマウント１の他に、エンジン３０及び車体３５間の相対変位に応じた受動的な支持力を発生する複数のエンジンマウントも介在している。受動的なエンジンマウントとしては、例えばゴム状の弾性体で荷重を支持する通常のエンジンマウントや、ゴム状の弾性体内部に減衰力発生可能に流体を封入してなる公知の流体封入式のマウントインシュレータ等が適用できる。
【００４４】
一方、能動型エンジンマウント１は、例えば、図３に示すように構成されている。即ち、この実施の形態における能動型エンジンマウント１は、エンジン３０への取付け用のボルト２ａを上部に一体に備え且つ内部が空洞で下部が開口したキャップ２を有し、このキャップ２の下部外面には、軸が上下方向を向く内筒３の上端部がかしめ止めされている。
【００４５】
内筒３は、下端側の方が縮径した形状となっていて、その下端部が内側に水平に折り曲げられて、ここに円形の開口部３ａが形成されている。そして、内筒３の内側には、キャップ２及び内筒３内部の空間を上下に二分するように、キャップ２及び内筒３のかしめ止め部分に一緒に挟み込まれてダイアフラム４が配設されている。ダイアフラム４の上側の空間は、キャップ２の側面に孔を開けることにより大気圧に通じている。
【００４６】
さらに、内筒３の内側にはオリフィス構成体５が配設され、このオリフィス構成体５は、内筒３の内部空間に整合して略円柱形に形成されていて、その上面には円形の凹部５ａが形成されている。そして、その凹部５ａと底面の開口部３ａに対向する部分との間が、オリフィス５ｂを介して連通するようになっている。オリフィス５ｂは、例えば、オリフィス構成体５の外周面に沿って螺旋状に延びる溝と、その溝の一端部を凹部５ａに連通させる流路と、その溝の他端部を開口部３ａに連通させる流路とで構成される。
【００４７】
一方、内筒３の外周面には、内周面側が若干上方に盛り上がった肉厚円筒状の支持弾性体６の内周面が加硫接着されていて、その支持弾性体６の外周面は、上端側が拡径した円筒部材としての外筒７の内周面上部に加硫接着されている。
【００４８】
そして、外筒７の下端部は上面が開口した円筒形のアクチュエータケース８の上端部にかしめ止めされていて、そのアクチュエータケース８の下端面からは、車体３５側への取付け用の取付けボルト９が突出している。取付けボルト９は、その頭部９ａが、アクチュエータケース８の内底面に張り付いた状態で配設された平板部材８ａの中央の空洞部８ｂに収容されている。
【００４９】
さらに、アクチュエータケース８の内側には、円筒形の鉄製のヨーク１０Ａと、このヨーク１０Ａの中央部に軸を上下に向けて巻き付けられた励磁コイル１０Ｂと、ヨーク１０Ａの励磁コイル１０Ｂに包囲された部分の上面に極を上下に向けて固定された永久磁石１０Ｃと、から構成される電磁アクチュエータ１０が配設されている。
【００５０】
また、アクチュエータケース８の上端部はフランジ状に形成されたフランジ部８Ａとなっていて、そのフランジ部８Ａに外筒７の下端部がかしめられて両者が一体となっているのであるが、そのかしめ止め部分には、円形の金属製の板ばね１１の周縁部（端部）が挟み込まれていて、その板ばね１１の中央部の電磁アクチュエータ１０側には、リベット１１ａによって磁化可能な磁路部材１２が固定されている。なお、磁路部材１２はヨーク１０Ａよりも若干小径の鉄製の円板であって、その底面が電磁アクチュエータ１０に近接するような厚みに形成されている。
【００５１】
さらに、上記かしめ止め部分には、フランジ部８Ａと板ばね１１とに挟まれるように、リング状の薄膜弾性体１３と、力伝達部材１４のフランジ部１４ａとが支持されている。具体的には、アクチュエータケース８のフランジ部８Ａ上に、薄膜弾性体１３と、力伝達部材１４のフランジ部１４ａと、板ばね１１とをこの順序で重ね合わせるとともに、その重なり合った全体を外筒７の下端部をかしめて一体としている。
【００５２】
力伝達部材１４は、磁路部材１２を包囲する短い円筒形の部材であって、その上端部がフランジ部１４ａとなっており、その下端部は電磁アクチュエータ１０のヨーク１０Ａの上面に結合している。具体的には、ヨーク１０Ａの上端面周縁部に形成された円形の溝に、力伝達部材１４の下端部が嵌合して両者が結合されている。また、力伝達部材１４の弾性変形時のばね定数は、薄膜弾性体１３のばね定数よりも大きい値に設定されている。
【００５３】
ここで、本実施の形態では、支持弾性体６の下面及び板ばね１１の上面によって画成された部分に流体室１５が形成され、ダイアフラム４及び凹部５ａによって画成された部分に副流体室１６が形成されていて、これら流体室１５及び副流体室１６間が、オリフィス構成体５に形成されたオリフィス５ｂを介して連通している。なお、これら流体室１５，副流体室１６及びオリフィス５ｂ内には、エチレングリコール等の流体が封入されている。
【００５４】
かかるオリフィス５ｂの流路形状等で決まる流体マウントとしての特性は、走行中のエンジンシェイク発生時、つまり５〜１５Ｈｚで能動型エンジンマウント１が加振された場合に高動ばね定数、高減衰力を示すように調整されている。
【００５５】
そして、電磁アクチュエータ１０の励磁コイル１０Ｂは、コントローラ２５からハーネス２３ａを通じて供給される電流である駆動信号Ｙに応じて所定の電磁力を発生するようになっている。コントローラ２５は、マイクロコンピュータ，必要なインタフェース回路，Ａ／Ｄ変換器，Ｄ／Ａ変換器，アンプ等を含んで構成され、エンジンシェイクよりも高周波の振動であるアイドル振動やこもり音振動・加速時振動が車体３５に入力されている場合には、その振動を低減できる能動的な支持力が能動型エンジンマウント１に発生するように、能動型エンジンマウント１に対して駆動信号Ｙを出力するようになっている。
【００５６】
ここで、アイドル振動やこもり音振動は、例えばレシプロ４気筒エンジンの場合、エンジン回転２次成分のエンジン振動が車体３５に伝達されることが主な原因であるから、そのエンジン回転２次成分に同期して駆動信号Ｙを生成し出力すれば、車体側低減が可能となる。そこで、本実施の形態では、燃焼タイミングに同期するように、エンジン３０のクランク軸の回転に同期した（例えば、レシプロ４気筒エンジンの場合には、クランク軸が１８０度回転する度に一つの）インパルス信号を生成し基準信号Ｘとして出力するパルス信号生成器２６を設けていて、その基準信号Ｘが、エンジン３０における振動の発生状態を表す信号としてコントローラ２５に供給されるようになっている。
【００５７】
なお、図３では、電磁アクチュエータ１０のヨーク１０Ａの下端面と、アクチュエータケース８の底面を形成する平板部材８ａの上面との間に挟み込まれるように、エンジン３０から支持弾性体６を通じて伝達する加振力を検出する荷重センサ２２を配設し、その荷重センサ２２の検出結果がハーネス２３ｂを通じて残留振動信号としてコントローラ２５に供給可能にしているが、本実施の形態では、コントローラ２５内で残留振動信号を用いた制御は実行されないため、荷重センサ２２及びハーネス２３ｂは省略してもよい。荷重センサ２２としては、具体的には、圧電素子，磁歪素子，歪ゲージ等が適用可能である。
【００５８】
そして、コントローラ２５は、実際にはマイクロコンピュータやインタフェース回路等で構成されており、種々の処理プログラムを所定の割り込み間隔で実質的に並列に実行するようになっているが、本実施の形態に必要な部分の機能構成をブロック図で表すと、図４に示すようになる。
【００５９】
即ち、本実施の形態のコントローラ２５は、基準信号Ｘが供給される周期演算部４０を有していて、この周期演算部４０は、最新及びその直前の二つの基準信号Ｘの入力間隔に基づいて、エンジン３０で発生している周期的な振動としてのアイドル振動やこもり音振動の周期Ｔを演算するようになっていて、その演算された周期Ｔは、個数決定部４１に供給されるようになっている。個数決定部４１は、周期Ｔに基づいて、振動の一周期内に生成する駆動信号Ｙの個数Ｄを決定するようになっていて、具体的には、周期Ｔの長さを所定のしきい値に基づいて三段階（長、中、短）に分類し、周期Ｔが長い場合にはＤ＝２４、周期Ｔが中程度の場合にはＤ＝１２、周期Ｔが短い場合にはＤ＝８とするようになっている。
【００６０】
そして、コントローラ２５は、個数Ｄの最大値である２４に対応して、図５に示すような２４（＝Ｄ１  ）個の要素ｙ（ｉ）（ｉ＝０、１、２、…、２３）からなる基本数列を記憶した基本数列記憶部４２を有している。基本数列は、後述するように最終的には駆動信号Ｙとして出力される駆動信号用数列の元となるものであって、エンジン３０から能動型エンジンマウント１を介して車体３５側に伝搬される周期的な振動と干渉しこれを低減できる理想的な制御振動を発生させられる駆動信号Ｙを、振動の一周期分だけディジタル信号に変換して生成されるものであり、予め行ったシミュレーション等の結果に基づいて生成され、コントローラ２５内のＲＯＭ等の記憶装置内に記憶されているものである。
【００６１】
また、基本数列を構成する各要素ｙ（ｉ）の全てが常に駆動信号Ｙになるのではなく、そのうちのＤ個の要素だけが駆動信号用数列として選択されるようになっている。つまり、コントローラ２５は駆動信号用数列生成部４３を有し、その駆動信号用数列生成部４３には、個数決定部４１で決定された個数Ｄが供給されるようになっている。
【００６２】
駆動信号用数列生成部４３は、個数Ｄ（＝２４、１２又は８）に基づいて、基本数列の各要素ｙ（ｉ）からＤ個の要素を選択し、これを駆動信号用数列とするようになっている。具体的には、Ｄ＝２４の場合には、Ｄ＝Ｄ１  であるから、基本数列をそのまま駆動信号用数列とする。つまり、この場合には、駆動信号用数列は、
ｙ（０）、ｙ（１）、ｙ（２）、…、ｙ（２２）、ｙ（２３）
となる。
【００６３】
これに対し、Ｄ＝１２の場合には、ｋ＝Ｄ１  ／Ｄ＝２であるから、ｋ−１（＝１）個おきに基本数列の各要素ｙ（ｉ）を選択し、これを駆動信号用数列にするようになっている。つまり、この場合には、駆動信号用数列は、
ｙ（０）、ｙ（２）、ｙ（４）、…、ｙ（２０）、ｙ（２２）
となる。
【００６４】
そして、Ｄ＝８の場合には、ｋ＝Ｄ１  ／Ｄ＝３であるから、ｋ−１（＝２）個おきに基本数列の各要素ｙ（ｉ）を選択し、これを駆動信号用数列にするようになっている。つまり、この場合には、駆動信号用数列は、
ｙ（０）、ｙ（３）、ｙ（６）、…、ｙ（１８）、ｙ（２１）
となる。
【００６５】
駆動信号用数列生成部４３で生成された駆動信号用数列は、駆動信号出力部４４を介して能動型エンジンマウント１の電磁アクチュエータ１０に駆動信号Ｙとして出力されるようになっている。駆動信号出力部４４には、基準信号Ｘと、個数Ｄと、周期Ｔとが供給されるようになっていて、駆動信出力部３５は、周期Ｔを個数Ｄで割る（Ｔ／Ｄ）を演算し、これを基本的な出力周期として記憶するとともに、その基本的な出力周期をさらに半分の時間（Ｔ／Ｄ／２）を、第一番目の駆動信号Ｙのみに対応した出力周期として記憶するようになっている。
【００６６】
そして、駆動信号出力部４４は、基準信号Ｘの立ち上がりに同期して、第一番目の駆動信号Ｙ（０）（＝ｙ（０））の出力を開始し、その出力を開始してから（Ｔ／Ｄ／２）の時間が経過したら第二番目の駆動信号Ｙ（１）（＝ｙ（ｋ））の出力を開始し、それ以降は出力周期（Ｔ／Ｄ）の間隔で順次駆動信号Ｙ（＝ｙ（２ｋ）、ｙ（３ｋ）、…、ｙ（Ｄ０  −ｋ））を出力するようになっている。
【００６７】
さらに、駆動信号出力部４４は、駆動信号用数列の最後の要素ｙ（Ｄ０  −ｋ）を駆動信号Ｙ（Ｄ０  ／ｋ−１）として出力したら、その出力を開始してから（Ｔ／Ｄ）だけ経過した後に、再び第一番目の駆動信号Ｙ（０）を出力し、その駆動信号Ｙ（０）の出力は次の基準信号Ｘが入力されるまで継続されるようになっている。この場合、周期演算部４０が演算する周期Ｔは、厳密には現時点の一周期前の振動の周期であるから、その駆動信号Ｙ（０）の出力を開始してから次の基準信号Ｘが入力されるまでの時間は、周期Ｔが変化している際（エンジン３０の回転数が変化している際）には、厳密には（Ｔ／Ｄ／２）に一致しない場合もある。しかし、エンジン回転数が変化している状況であっても、連続する二つの周期Ｔの差は極僅かであるから、上記駆動信号Ｙ（０）の出力を開始してから次の基準信号Ｘが入力されるまでの時間は、略（Ｔ／Ｄ／２）となる。
【００６８】
次に、本実施の形態の動作を説明する。
即ち、エンジンシェイク発生時には、オリフィス５ａの流路形状等を適宜選定している結果、この能動型エンジンマウント１は高動ばね定数，高減衰力の支持装置として機能するため、エンジン３０側で発生したエンジンシェイクが能動型エンジンマウント１によって減衰され、車体３５側の振動レベルが低減される。なお、エンジンシェイクに対しては、特に可動板１２を積極的に変位させる必要はない。
【００６９】
一方、オリフィス５ａ内の流体がスティック状態となり流体室１５及び副流体室１６間での流体の移動が不可能になるアイドル振動周波数以上の周波数の振動が入力された場合には、コントローラ２５は、所定の演算処理を実行し、電磁アクチュエータ１０に駆動信号Ｙを出力し、能動型エンジンマウント１に振動を低減し得る能動的な支持力を発生させる。
【００７０】
つまり、駆動信号Ｙが出力されると、励磁コイル１０Ｂに駆動信号Ｙに応じた磁力が発生するが、磁路部材１２には、既に永久磁石１０Ｃによる一定の磁力が付与されているから、その励磁コイル１０Ｂによる磁力は永久磁石１０Ｃの磁力を強める又は弱めるように作用すると考えることができる。つまり、励磁コイル１０Ｂに駆動信号Ｙが供給されていない状態では、磁路部材１２は、板ばね１１による支持力と、永久磁石１０Ｃの磁力との釣り合った中立の位置に変位することになる。そして、この中立の状態で励磁コイル１０Ｂに駆動信号Ｙが供給されると、その駆動信号Ｙによって励磁コイル１０Ｂに発生する磁力が永久磁石１０Ｃの磁力と逆方向であれば、磁路部材１２は電磁アクチュエータ１０とのクリアランスが増大する方向に変位する。逆に、励磁コイル１０Ｂに発生する磁力が永久磁石１０Ｃの磁力と同じ方向であれば、磁路部材１２は電磁アクチュエータ１０とのクリアランスが減少する方向に変位する。
【００７１】
このように磁路部材１２は正逆両方向に変位可能であり、磁路部材１２が変位すれば主流体室１５の容積が変化し、その容積変化によって支持弾性体６の拡張ばねが変形するから、この能動型エンジンマウント１に正逆両方向の能動的な支持力が発生するのである。
【００７２】
そして、本実施の形態にあっては、基準信号Ｘの一周期内に出力する駆動信号Ｙの個数Ｄを上記のように三段階に切り換えるようにしているが、コントローラ２５内の駆動信号出力部４４において駆動信号Ｙの出力周期を適宜設定しているため、その個数Ｄを切り換えても振動低減効果が大幅に低下するようなことが防止できるのである。
【００７３】
図６（ａ）〜（ｃ）は、基準信号Ｘの入力状況と駆動信号Ｙの出力状況とを示す波形図であって、同（ａ）はＤ＝２４（周期Ｔが長）の場合、同（ｂ）はＤ＝１２（周期Ｔが中）の場合、同（ｃ）はＤ＝８（周期Ｔが短）の場合をそれぞれ示している。なお、それぞれの場合を比較できるように、周期Ｔを図６（ａ）〜（ｃ）のいずれにおいても同じ長さで表しているが、実際には、図６（ａ）→図６（ｂ）→図６（ｃ）という順で周期Ｔは徐々に短くなっている。
【００７４】
即ち、コントローラ２５内では、先ず基準信号Ｘの入力間隔に基づいて周期演算部４０が周期Ｔを演算し、その周期Ｔに基づいて個数決定部４１が個数Ｄを決定する。そして、駆動信号用数列生成部４３が、個数Ｄに基づいて基本数列記憶部４２に記憶されている基本数列の各要素ｙ（ｉ）を適宜選択することにより、駆動信号用数列ｙ（０）、ｙ（ｋ）、ｙ（２ｋ）、…、ｙ（Ｄ０  −ｋ）を生成する。この駆動信号用数列ｙ（０）、ｙ（ｋ）、ｙ（２ｋ）、…、ｙ（Ｄ０  −ｋ）が、駆動信号Ｙ（０）、Ｙ（１）、Ｙ（２）、…、Ｙ（Ｄ−１）となる。
【００７５】
そして、コントローラ２５の駆動信号出力部４４が、基準信号Ｘの立ち上がりに同期して、第一番目の駆動信号Ｙ（０）を出力するが、その出力間隔は、本来の周期（Ｔ／Ｄ）ではなく、その半分の時間（Ｔ／Ｄ／２）であり、第二番目以降の駆動信号Ｙ（１）、Ｙ（２）、…、Ｙ（Ｄ−１）の出力周期は、本来の周期（Ｔ／Ｄ）となる。さらに、駆動信号Ｙ（Ｄ−１）に続いて、駆動信号Ｙ（０）が、次の基準信号Ｘが入力されるまでの間出力されるが、次の基準信号Ｘが入力されると、再び駆動信号出力部４４は、第一番目の駆動信号Ｙ（０）を出力するが、その出力は次の基準信号Ｘが入力されるまでの間であり、その時間は略（Ｔ／Ｄ／２）である。よって、図６（ａ）〜（ｃ）のそれぞれに示すように、連続的には、駆動信号Ｙ（Ｄ−１）に続いて駆動信号Ｙ（０）が本来の周期（Ｔ／Ｄ）に略等しい時間出力される。
【００７６】
すると、Ｄ＝２４、１２、８のいずれの場合にも駆動信号用数列に含まれる基本数列の要素ｙ（０）に着目し、その要素ｙ（０）の中間時点を基準信号Ｘの一周期の位置として表現してみると、いずれの場合にも基準信号Ｘの立ち上がり時点にあることが判る。また、Ｄ＝１２の場合の駆動信号用数列の全ての要素は、Ｄ＝２４の場合の駆動信号用数列に含まれるが、そのＤ＝１２の場合の駆動信号用数列の全ての要素ｙ（０）、ｙ（２）、…、ｙ（２２）の中間時点を基準信号Ｘの一周期の位置として表現してみても、Ｄ＝２４の場合の駆動信号用数列の一つおきの要素ｙ（０）、ｙ（２）、…、ｙ（２２）の中間時点を基準信号Ｘの一周期の位置として表現したものに一致する。
【００７７】
同様に、Ｄ＝８の場合の駆動信号用数列の全ての要素は、Ｄ＝２４の場合の駆動信号用数列に含まれるが、そのＤ＝８の場合の駆動信号用数列の全ての要素ｙ（０）、ｙ（３）、…、ｙ（２１）の中間時点を基準信号Ｘの一周期の位置として表現してみても、Ｄ＝２４の場合の駆動信号用数列の二つおきの要素ｙ（０）、ｙ（３）、…、ｙ（２１）の中間時点を基準信号Ｘの一周期の位置として表現したものに一致する。
【００７８】
このため、上記（１）〜（５）式を伴って説明したように、基準信号Ｘの一周期内に出力する駆動信号Ｙの個数Ｄを変化させても、位相特性の変化を招かずに済むから、それだけ良好な振動低減制御が実行されるのである。
【００７９】
本実施の形態による効果を具体的な数値で示す。即ち、余弦関数ｃｏｓ（ｘ）の自乗を、０から２π（ｒａｄ）  まで積分したものと、ｃｏｓ（ｘ）に大きさと位相がわずかに異なるＡ・ｃｏｓ（ｘ＋φ）を重ねあわせたもの、
ｃｏｓ（ｘ）−Ａ・ｃｏｓ（ｘ＋φ）        ……（６）
の自乗を同じく０から２π（ｒａｄ）  まで積分したものを比べる。前者の積分結果はπである。後者の積分結果はπ（１−２Ａ・ｃｏｓ（φ）＋Ａ２  ）となる。これを誤差積分値と称する。
【００８０】
本実施の形態で、Ｄ＝２４のときに誤差積分値が０になるように大きさを調整したとすると、Ｄ＝１２のときには、
Ａ＝０．９８９／０．９９７＝０．９９１・・・φ＝０であるから、誤差積分値は０．００００７３２πとなる。Ｄ＝８のときには、
Ａ＝０．９８９／０．９７４＝０．９７７・・・φ＝０であるから、誤差積分値は０．０００５１６πとなる。
【００８１】
これに対し、駆動信号出力部４４において基準信号Ｘの立ち上がり検出後、第一番目の駆動信号Ｙから全て周期（Ｔ／Ｄ）で出力した場合、同様にＤ＝２４で誤差積分値が０になるようにしたとすると、Ｄ＝１２の場合には、
Ａ＝０．９９１・・・
φ＝π／２４
となり、誤差積分値は０．０１７０πとなる。Ｄ＝８の場合には、
Ａ＝０．９７７・・・
φ＝π／１２
となり、誤差積分値は０．０６７１πとなる。
【００８２】
誤差積分値を比較すれば、本実施の形態の方が良好な振動低減制御が実行できること明らかである。
ここで、本実施の形態では、能動型エンジンマウント１が制御振動源に対応し、コントローラ２５が制御手段に対応し、駆動信号用数列生成部４３が駆動信号用数列生成手段に対応し、駆動信号出力部４４が駆動信号出力手段に対応し、基本数列記憶部４２が記憶手段に対応する。
【００８３】
図７は本発明の第２の実施の形態を示す図であって、上記第１の実施の形態の図４と同様にコントローラ２５の機能構成を示すブロック図である。なお、全体的な構成は上記第１の実施の形態と同様であるため、その図示及び説明は省略するとともに、上記第１の実施の形態と同様の構成には同じ符号を付し、その重複する説明は省略する。
【００８４】
即ち、本実施の形態にあっては、駆動信号用数列生成部４３と駆動信号出力部４４との間にゲイン調整部４５を設けていて、駆動信号用数列生成部４３から駆動信号出力部４４に供給される駆動信号用数列の各要素ｙ（ｉ）の大きさを任意の率で調整するようになっている。そして、ゲイン調整部４５には、個数決定部４１で決定された個数Ｄが供給されるようになっていて、ゲイン調整部４５はその個数Ｄに基づいて増幅率を決定するようになっている。
【００８５】
そして、上記第１の実施の形態の最後に説明したように、Ｄ＝２４のときに誤差積分値を０にしても、駆動信号Ｙの出力間隔を上述のようにすればＤ＝１２、８となっても位相特性には影響がないのであるが、ゲイン特性には、Ｄ＝１２のときには、Ａ＝０．９８９／０．９９７という誤差があり、Ｄ＝８のときには、Ａ＝０．９８９／０．９７４という誤差がある。
【００８６】
そこで、本実施の形態では、ゲイン特性の誤差が個数Ｄに応じて決まることから、その誤差の逆数（１／Ａ）を駆動信号用数列の各要素ｙ（ｉ）に乗じることにより、さらに高精度の駆動信号Ｙを出力できて良好な振動低減制御が実行できるようにしているのである。
【００８７】
ここで、本実施の形態では、ゲイン調整部４５によってゲイン調整手段が構成される。
図８は本発明の第３の実施の形態を示す図であって、上記第１の実施の形態の図６と同様に個数Ｄ＝２４、１２、８のそれぞれの場合における駆動信号Ｙの出力状態を示す波形図である。なお、全体的な構成は上記第１の実施の形態と同様であるため、その図示及び説明は省略する。
【００８８】
即ち、本実施の形態にあっては、コントローラ２５の駆動信号出力部４４で実行される駆動信号Ｙの出力周期が上記第１の実施の形態と異なっている。具体的には、本実施の形態では、駆動信号用数列を構成する要素の基準となる個数Ｄ０  を、基本数列の要素の個数Ｄ１  （＝２４）に設定しており、駆動信号出力部４４は、Ｄ＝２４（＝Ｄ０  ）の場合には、図８（ａ）に示すように、基準信号Ｘの立ち上がり直後に第一番目の駆動信号Ｙ（０）（＝ｙ（０））の出力を開始し、それ以降は本来の出力周期（Ｔ／Ｄ）の間隔で第二番目、第三番目、…の駆動信号Ｙを出力するようになっている。
【００８９】
これに対し、Ｄ＝１２の場合には、基準信号Ｘの立ち上がり直後に第一番目の駆動信号Ｙ（０）（＝ｙ（０））の出力を開始し、その出力を開始してからＴ／１６の時間経過した後に第二番目の駆動信号Ｙ（＝ｙ（２））の出力を開始し、それ以降は本来の出力周期（Ｔ／Ｄ）の間隔で第三番目、第四番目、…の駆動信号Ｙを出力するようになっている。
【００９０】
また、Ｄ＝８の場合には、基準信号Ｘの立ち上がり直後に第一番目の駆動信号Ｙ（０）（＝ｙ（０））の出力を開始し、その出力を開始してからＴ／１２の時間経過した後に第二番目の駆動信号Ｙ（＝ｙ（３））の出力を開始し、それ以降は本来の出力周期（Ｔ／Ｄ）の間隔で第三番目、第四番目、…の駆動信号Ｙを出力するようになっている。
【００９１】
つまり、Ｄ＝Ｄ０  の場合には、特に出力周期を調整することなく、全ての駆動信号Ｙを本来の出力周期（Ｔ／Ｄ）で出力するようになっている。そして、Ｄ＜Ｄ０  の場合には、第一番目の駆動信号ＹはＴ（Ｄ＋Ｄ０  ）／（２ＤＤ０  ）の時間出力し、第二番目以降の駆動信号Ｙは本来の出力周期（Ｔ／Ｄ）で出力するようになっている。
【００９２】
このような制御を実行しても、上記第１の実施の形態と同様に、各駆動信号Ｙの中間時点を基準信号Ｘの一周期に対する位置として表現した場合、その位置は個数Ｄが変化しても同一の駆動信号Ｙに関しては同一の位置になる。よって、本実施の形態にあっても、上記第１の実施の形態と同様の作用効果が得られるのである。
【００９３】
図９は本発明の第４の実施の形態を示す図であって、上記第１の実施の形態の図６と同様に個数Ｄ＝２４、１２、８のそれぞれの場合における駆動信号Ｙの出力状態を示す波形図である。なお、全体的な構成は上記第１の実施の形態と同様であるため、その図示及び説明は省略する。
【００９４】
即ち、本実施の形態にあっては、コントローラ２５の基本数列記憶部４２に記憶されている基本数列を、要素の個数Ｄ０  が１２個の数列としていて、駆動信号用数列生成手段は、Ｄ＝１２の場合にはその基本数列の要素ｙ（ｉ）（ｉ＝０、１、２、…１１）の全てをそのまま駆動信号用数列の要素とするが、Ｄ＝２４又は８の場合には、基本数列の各要素ｙ（ｉ）に基づいて適宜補間演算を行って駆動信号用数列の各要素を生成するようになっている。
【００９５】
具体的には、Ｄ＝２４の場合であれば、第一番目の駆動信号Ｙ（０）には基本数列の第一番目の要素ｙ（０）を代入し、第二番目の駆動信号Ｙ（１）には第一番の要素ｙ（０）と第二番目の要素ｙ（１）とを用いた補間演算により得られる値を代入し、第三番目の駆動信号Ｙ（２）には第二番目の要素ｙ（１）を代入し、…という具合に、基本数列の要素ｙ（ｉ）を駆動信号Ｙ（ｉ／２）に代入する処理と、二つの要素ｙ（ｉ）及びｙ（ｉ＋１）（但し、ｉ＋１＝Ｄの場合には、二つ目の要素ｙ（ｉ＋１）はｙ（０）とする。）を用いた補間演算により駆動信号Ｙ（２ｉ＋１）を生成する処理と、を交互に行うことにより、駆動信号Ｙを生成するようになっている。
【００９６】
なお、要素ｙ（ｉ）及びｙ（ｉ＋１）を用いた補間演算は、それら各要素の単純平均を求める演算でもよいが、本実施の形態のように駆動信号Ｙが単一周期的の正弦波である場合には要素ｙ（ｉ）及びｙ（ｉ＋１）の和に０．５／ｃｏｓ（π／１２）を乗じるようにすれば、より正確な補間演算が行える。
【００９７】
また、Ｄ＝８の場合には、第一番目の駆動信号Ｙ（０）には基本数列の第一番目の要素ｙ（０）を代入し、第二番目の駆動信号Ｙ（１）には第二番の要素ｙ（１）と第三番目の要素ｙ（２）とを用いた補間演算により得られる値を代入し、第三番目の駆動信号Ｙ（２）には第四番目の要素ｙ（３）を代入し、…という具合に、基本数列の要素ｙ（ｉ）を駆動信号Ｙ（２ｉ／３）に代入する処理と、二つの要素ｙ（ｉ）（ｉ＝１、４、７、１０）及びｙ（ｉ＋１）を用いた補間演算により駆動信号Ｙ（（２ｉ＋１）／３）を生成する処理と、を交互に行うことにより、駆動信号Ｙを生成するようになっている。補間演算については、Ｄ＝２４の場合と同様に、単純平均でもよいし、より正確な補間演算でもよい。
【００９８】
そして、本実施の形態にあっては、コントローラ２５の駆動信号出力部４４で実行される駆動信号Ｙの出力周期も上記第１の実施の形態と異なっている。
具体的には、本実施の形態では、駆動信号用数列を構成する要素の基準となる個数Ｄ０  を、基本数列の要素の個数Ｄ１  （＝８）に設定しており、駆動信号出力部４４は、Ｄ＝８（＝Ｄ０  ）の場合には、図９（ｂ）に示すように、基準信号Ｘの立ち上がり直後に第一番目の駆動信号Ｙ（０）（＝ｙ（０））の出力を開始し、それ以降は本来の出力周期（Ｔ／Ｄ）の間隔で第二番目、第三番目、…の駆動信号Ｙを出力するようになっている。
【００９９】
これに対し、Ｄ＝２４の場合には、基準信号Ｘの立ち上がり直後に第二四番目の駆動信号Ｙ（２３）（＝ｙ（１１／０）；但し、ｙ（ｍ／ｎ  ）は、基本数列の二つの要素ｙ（ｍ）とｙ（ｎ）とを用いた補間演算により得られる値であることを表している。）の出力を開始し、その出力を開始してからＴ／４８の時間経過した後に第一番目の駆動信号Ｙ（＝ｙ（０））の出力を開始し、それ以降は本来の出力周期（Ｔ／Ｄ）の間隔で第二番目、第三番目、…の駆動信号Ｙを出力するようになっている。
【０１００】
また、Ｄ＝８の場合には、基準信号Ｘの立ち上がり直後に第一番目の駆動信号Ｙ（０）（＝ｙ（０））の出力を開始し、その出力を開始してから５Ｔ／４８の時間経過した後に第二番目の駆動信号Ｙ（＝ｙ（１／２  ））の出力を開始し、それ以降は本来の出力周期（Ｔ／Ｄ）の間隔で第三番目、第四番目、…の駆動信号Ｙを出力するようになっている。
【０１０１】
つまり、Ｄ＝Ｄ０  の場合には、特に出力周期を調整することなく、全ての駆動信号Ｙを本来の出力周期（Ｔ／Ｄ）で出力するようになっている。そして、Ｄ＞Ｄ０  の場合には、基準信号Ｘの立ち上がりに同期してＤ番目の駆動信号Ｙ（Ｄ−１）をＴ（Ｄ−Ｄ０  ）／（２ＤＤ０  ）の時間出力し、その後、第一番目以降の駆動信号Ｙ（０）、（１）、…を本来の出力周期（Ｔ／Ｄ）で出力するようになっている。なお、Ｄ＜Ｄ０  の場合には、上記第３の実施の形態と同様に、第一番目の駆動信号ＹはＴ（Ｄ＋Ｄ０  ）／（２ＤＤ０  ）の時間出力し、第二番目以降の駆動信号Ｙは本来の出力周期（Ｔ／Ｄ）で出力するようになっている。
【０１０２】
このような制御を実行しても、上記第１の実施の形態と同様に、各駆動信号Ｙの中間時点を基準信号Ｘの一周期に対する位置として表現した場合、その位置は個数Ｄが変化しても同一の駆動信号Ｙに関しては同一の位置になる。よって、本実施の形態にあっても、上記第１の実施の形態と同様の作用効果が得られるのである。
【０１０３】
図１０は本発明の第５の実施の形態を示す図であって、上記第１の実施の形態の図６と同様に個数Ｄ＝２４、１２、８のそれぞれの場合における駆動信号Ｙの出力状態を示す波形図である。なお、全体的な構成は上記第１の実施の形態と同様であるため、その図示及び説明は省略する。
【０１０４】
即ち、本実施の形態は、基本的には上記第１の実施の形態と同様であるが、異なるのは、基本数列に基づいてＤ＝１２及び８の場合の駆動信号用数列を生成する際に、上記第１の実施の形態では基本数列の第一番目の要素ｙ（０）を必ず選択していたのに対し、本実施の形態では第二番目の要素ｙ（１）を選択し、第一番目の要素ｙ（０）は選択しないようになっている点である。
【０１０５】
つまり、Ｄ＝１２の場合であれば、駆動信号用数列は、上記第１の実施の形態では、ｙ（０）、ｙ（２）、ｙ（４）、…、ｙ（２２）であったが、本実施の形態では、ｙ（１）、ｙ（３）、ｙ（５）、…、ｙ（２３）となる。同様に、Ｄ＝８の場合、駆動信号用数列は、上記第１の実施の形態では、ｙ（０）、ｙ（３）、ｙ（６）、…、ｙ（２１）であったが、本実施の形態では、ｙ（１）、ｙ（４）、ｙ（７）、…、ｙ（２２）となる。
【０１０６】
そして、駆動信号出力部４４は、駆動信号用数列を構成する要素の基準となる個数Ｄ０  と現時点の個数Ｄとに基づき、Ｄ＝Ｄ０  （＝２４）の場合には、図１０（ａ）に示すように、基準信号Ｘの立ち上がりに同期して第一番目の駆動信号Ｙ（０）（＝ｙ（０））を出力し、それから本来の出力周期Ｔ／Ｄ経過した後に第二番目の駆動信号Ｙ（１）を出力し、それ以降も出力周期Ｔ／Ｄの間隔で第三番目以降の駆動信号Ｙ（２）、Ｙ（３）、…、Ｙ（２３）を出力する。
【０１０７】
これに対し、Ｄ＜Ｄ０  の場合には、駆動信号出力部４４は、例えば図１０（ｂ）にＤ＝１２の場合を示すように、基準信号Ｘの立ち上がりに同期して、先ずは最後の駆動信号Ｙ（Ｄ−１）（＝Ｙ（１１）＝ｙ（２３））を出力し、その出力を開始してからＴ（３Ｄ−Ｄ０  ）／（２ＤＤ０  ）時間経過後に、第一番目の駆動信号Ｙ（０）（＝ｙ（１））の出力を開始し、それ以降は本来の出力周期Ｔ／Ｄの間隔で第二番目以降の駆動信号Ｙ（１）、Ｙ（２）、…を出力する。
【０１０８】
なお、本実施の形態では、Ｄ＝８において
Ｔ（３Ｄ−Ｄ０  ）／（２ＤＤ０  ）＝０
となるから、その場合には、図１０（ｃ）に示すように、基準信号Ｘの立ち上がりに同期して第一番目の駆動信号Ｙ（０）（＝ｙ（１））を出力し、それから本来の出力周期Ｔ／Ｄ経過した後に第二番目の駆動信号Ｙ（２）（＝ｙ（４））を出力し、それ以降も出力周期Ｔ／Ｄの間隔で第三番目以降の駆動信号Ｙ（２）、Ｙ（３）、…、Ｙ（７）を出力する。
【０１０９】
このような構成であっても、上記第１の実施の形態と同様に、各駆動信号Ｙの中間時点を基準信号Ｘの一周期に対する位置として表現した場合、その位置は個数Ｄが変化しても同一の駆動信号Ｙに関しては同一の位置になる。よって、本実施の形態にあっても、上記第１の実施の形態と同様の作用効果が得られるのである。
【０１１０】
図１１乃至図１３は本発明の第６の実施の形態を示す図であって、この実施の形態は、本発明に係る能動型騒音振動制御装置を、車両の車室５０内のこもり音を低減する能動型騒音制御装置に適用したものである。なお、上記各実施の形態と同様の構成には同じ符号を付し、その重複する説明は省略する。
【０１１１】
即ち、本実施の形態にあっても、コントローラ２５にはパルス信号生成器２６から基準信号Ｘが入力されるようになっている。さらに、車室５０内の前部座席及び後部座席の直上部にはマイクロフォン５１，５２が配設されていて、各マイクロフォン５２が測定した音圧信号でなる残留騒音信号ｅ０  ，ｅ１  もコントローラ２５に供給されるようになっている。そして、前部座席の足元位置にはラウドスピーカ５３が配設されていて、そのラウドスピーカ５３がコントローラ２５から供給される駆動信号Ｙによって駆動して車室５０内に制御音を発生可能となっている。
【０１１２】
本実施の形態のコントローラ２５は、適応アルゴリズムとしての同期式Ｆｉｌｔｅｒｅｄ−Ｘ  ＬＭＳアルゴリズム（ＳＦＸアルゴリズム）を変形したアルゴリズムに基づいてラウドスピーカ５３を駆動するための駆動信号Ｙを生成するようになっている。そして、コントローラ２５は、上記他の実施の形態と同様にマイクロコンピュータや必要なインタフェース回路等から構成され、その機能構成は図１２に示すようになっていて、基準信号Ｘに基づいて周期Ｔを演算する周期演算部４０と、周期Ｔに基づいて個数Ｄを決定する個数決定部４１と、を備えている。
【０１１３】
周期演算部４０は、二つの基準信号Ｘの立ち上がり時点間を図示しないＣＰＵ動作クロックでカウントすることにより、周期Ｔを演算するようになっている。例えば、エンジン回転速度が１５００ｒｐｍ、ＣＵＰ動作クロックが１マイクロ秒とすると、周期Ｔはエンジン回転２次成分の周期２０ミリ秒を１マイクロ秒でカウントした２００００となる。
【０１１４】
基準信号Ｘ及び周期Ｔは、サンプリング・クロック生成部５５にも供給されていて、サンプリング・クロック生成部５５は、基準信号Ｘの立ち上がりを検出後直ちにサンプリング・クロックＳＣの第一番目のパルスを生成し、それから本来の周期の半分の時間（Ｔ／Ｄ／２）の時間経過後のサンプリング・クロックＳＣの第二番目のパルスを生成し、それ以降は、本来の周期（Ｔ／Ｄ）の間隔でサンプリング・クロックのパルスを順次生成するようになっている。
【０１１５】
サンプリング・クロックＳＣは、駆動信号出力部４４に供給されるようになっており、駆動信号出力部４４は、サンプリング・クロックＳＣの各パルスに同期して駆動信号用数列の各要素を、順番に駆動信号Ｙとして出力するようになっている。
また、周期Ｔは、位相テーブル５６及び収束係数テーブル５７にも供給され、位相テーブル５６は周期Ｔに応じて位相情報θ０  、θ１  を生成し、収束係数テーブル５７は周期Ｔに応じて収束係数αを生成するようになっている。
【０１１６】
位相情報θ０  は、ラウドスピーカ５３とマイクロフォン５１との間の伝達関数の位相特性を表し、位相情報θ１  は、ラウドスピーカ５３とマイクロフォン５２との間の伝達関数の位相特性を表すものであって、いずれも０から２Ｄ０  −１の間の整数値をとる。例えば、θ０  ＝０であれば、そのときのエンジン回転２次成分相当の周波数におけるラウドスピーカ５３及びマイクロフォン５１間の伝達関数の位相特性は０（ｒａｄ  ）であり、θ０  ＝Ｄ０  であれば、ラウドスピーカ５３及びマイクロフォン５１間の伝達関数の位相特性はπ（ｒａｄ  ）である。因みに、０から２Ｄ０  −１の間の整数をｄとすれば、θ０  ＝ｄのときのラウドスピーカ５３及びマイクロフォン５１間の伝達関数の位相特性は、ｄπ／Ｄ０  （ｒａｄ  ）を中心とした幅π／Ｄ０  （ｒａｄ  ）の領域にある。
【０１１７】
収束係数αは、Ｆｉｌｔｅｒｅｄ−Ｘ  ＬＭＳアルゴリズムにおいて適応ディジタルフィルタの更新量に乗じられてそフィルタ係数の収束速度を調整するための係数であって、基本数列更新部５８に供給されるようになっている。
【０１１８】
そして、基本数列更新部５８には、収束係数α、残留騒音信号ｅ０  、ｅ１  及び後述する正弦波テーブル６０から信号列Ｒ０  、Ｒ１  が供給されるようになっていて、基本数列更新部５８は、それら供給される各値に基づき、上述したアルゴリズムに従って基本数列記憶部６１に記憶されている基本数列Ｗの各要素ｗ（０）〜ｗ（Ｄ０  −１）を逐次更新するようになっている。
【０１１９】
一方、基準信号Ｘ及びサンプリング・クロックＳＣは、位相カウンタ５９にも供給され、位相カウンタ５９は、それら基準信号Ｘ及びサンプリング・クロックＳＣに基づいて、現在の位相値φを生成するようになっている。位相値φは、周期Ｔを２Ｄ０  当分したときに、現時点がどの位置にあるかを表すものであって、０から２Ｄ０  −１の間の整数値をとる。但し、位相値φ＝０の時点は、第一番目の駆動信号Ｙ（０）（＝ｗ（０））の出力を開始するタイミングであり、基準信号Ｘの立ち上がりを検出してから（Ｔ／Ｄ／２）の時間が経過して第二番目の駆動信号Ｙ（１）が出力されるタイミングでφ＝２となる。Ｄ＝２４の場合の基準信号Ｘ、サンプリング・クロックＳＣ、位相値φ、駆動信号Ｙ（ｉ）の番号ｉの関係を示すと、図１３のようになる。
【０１２０】
そして、位相値φは、駆動信号出力部４４に供給され、駆動信号出力部４４は位相値φに基づいてこれから出力する駆動信号Ｙ（ｉ）を選択するようになっている。
【０１２１】
さらに、コントローラ２５は、Ｆｉｌｔｅｒｅｄ−Ｘ  ＬＭＳアルゴリズムにおけるリファレンス信号に相当する更新演算用の信号列Ｒ０  、Ｒ１  を生成するための正弦波テーブル６０を備えていて、この正弦波テーブル６０には、位相情報θ０  、θ１  、個数Ｄ及び位相値φが供給され、正弦波テーブル６０は、それら各値に基づいて信号列Ｒ０  、Ｒ１  を生成するようになっている。
【０１２２】
信号列Ｒ０  、Ｒ１  は、下記式に従って求められる。
Ｒ０  ＝［ＲＢＡＳＥ（φ＋θ０  ），ＲＢＡＳＥ（φ＋θ０  −２ｋ），ＲＢＡＳＥ（φ＋θ０  −４ｋ），…，ＲＢＡＳＥ（φ＋θ０  −２（Ｄ−１）ｋ）］……（７）
Ｒ１  ＝［ＲＢＡＳＥ（φ＋θ１  ），ＲＢＡＳＥ（φ＋θ１  −２ｋ），ＲＢＡＳＥ（φ＋θ１  −４ｋ），…，ＲＢＡＳＥ（φ＋θ１  −２（Ｄ−１）ｋ）］……（８）
但し、
ＲＢＡＳＥ（ｉ）＝ｃｏｓ（ｉπ／Ｄ０  ）；ｉ＝０、１、２、…、２Ｄ０  −１
であり、ｋは、
Ｄ＝Ｄ０  ／２ｋ        ……（９）
を満足する整数である。
【０１２３】
即ち、信号列Ｒ０  の最初の要素ＲＢＡＳＥ（φ＋θ０  ）は、基準信号Ｘの立ち上がりに同期して周期Ｔの余弦関数を位相θ０  π／Ｄ０  から出力したときの現時点における値である。信号列Ｒ０  の第二番目の要素ＲＢＡＳＥ（φ＋θ０  −２ｋ）は、基準信号Ｘの立ち上がりに同期して周期Ｔの余弦関数を位相θ０  π／Ｄ０  から出力したときの一つ前のサンプリングタイミングにおける値である。これらは、Ｆｉｌｔｅｒｅｄ−Ｘ  ＬＭＳアルゴリズムにおけるＦｉｌｔｅｒｅｄ−Ｘ信号（いわゆるリファレンス信号）から周期Ｔの正弦波成分のみを取り出し、時刻をさかのぼったものに相当する。信号列Ｒ１  についても同様である。
【０１２４】
なお、位相情報θ０  にはｋの情報が含まれているため、所定の補正演算が必要である。つまり、上記第１の実施の形態において説明したように、サンプリング周波数が変化すると実質的な位相遅れがサンプリング・クロックＳＣの幅に比例して増大するので、個数ＤがＤ０  のときの位相情報θ０  に対して、個数Ｄが上記（９）式のように表されるときの位相情報θ０  は、
θ０  ＝θ０  −２ｋ  ＋１      ……（１０）
として補正されなければならない。位相情報θ１  についても同様である。
【０１２５】
また、ＲＢＡＳＥ（ｉ）は、ｉ＝０、１、２、…、２Ｄ０  −１の範囲でのみ定義された値（テーブル）であるから、上記（１０）式による補正も含めて上記（７）式や（８）式でその範囲を逸脱しないように、２Ｄ０  の整数倍を適宜加減する必要がある。
【０１２６】
そして、基本数列更新部５８は、収束係数α、残留騒音信号ｅ０  、ｅ１  及び信号列Ｒ０  、Ｒ１  に基づき、基本数列Ｗの各要素ｗ（０）〜ｗ（Ｄ０  −１）を下記式に従って更新するようになっている。
【０１２７】
ｗ（ｉ）＝ｗ（ｉ）−α｛ｅ０  Ｒ０  （ｉ）＋ｅ１  Ｒ１  （ｉ）｝；ｉ＝０、２ｋ  、２・２ｋ  、３・２ｋ  、…、（Ｄ−１）２ｋ  ……（１１）
但し、０からＤ−１までの間の整数をｊとすれば、Ｒ０  （ｊ）は、上記（７）式に示す数列Ｒ０  のｊ番目の要素である。
【０１２８】
なお、基本数列更新部５８における残留騒音信号ｅ０  、ｅ１  は、サンプリング・クロックＳＣの各パルスに同期して読み込まれるが、基準信号Ｘの立ち上がり直後のサンプリング・クロックＳＣのパルス生成時には残留騒音信号ｅ０  、ｅ１  の読み込みは不要である。
【０１２９】
ここで、駆動信号用数列生成部４３は、基本数列記憶部６１に記憶されている基本数列ＷのＤ０  個の要素ｗ（ｉ）から、そのときの個数Ｄに応じてＤ個の要素を選択して、駆動信号用数列Ｙ（０）〜Ｙ（Ｄ−１）を生成するようになっている。そして、本実施の形態では、個数Ｄ、Ｄ０  を上記（９）式のような関係としているため、例えばＤ０  ＝２４であれば、周期Ｔが短くなるに従って（つまり、エンジン回転数が高くなるに従って）、個数Ｄは、２４→１２→６→３という具合に変化することになる。
【０１３０】
駆動信号用数列生成部４３は、Ｄ＝Ｄ０  の場合には、駆動信号用数列の各要素Ｙ（０）〜Ｙ（Ｄ−１）は、そのときの基本数列Ｗの各要素ｗ（０）〜ｗ（Ｄ０  −１）をそのまま代入したものとし、Ｄ＜Ｄ０  の場合には、下記式に従って駆動信号用数列の要素Ｙ（ｉ）を生成するようになっている。
【０１３１】
Ｙ（ｉ）＝ｗ（２ｋ  ｉ）      ……（１２）
つまり、基本数列Ｗの各要素ｗ（０）〜ｗ（Ｄ０  −１）からｋ−１個おきに駆動信号用数列の要素Ｙ（ｉ）に代入されるのである。
【０１３２】
そして、駆動信号出力部４４は、サンプリング・クロックＳＣに同期して、位相カウンタ５９から供給される位相値φに基づいて選択される駆動信号Ｙ（ｉ）をラウドスピーカ５３に出力する。
【０１３３】
すると、ラウドスピーカ５３からその駆動信号Ｙ（ｉ）に応じた制御音が発生しこれが車室５０内を伝搬するが、駆動信号Ｙ（ｉ）の元になっている基本数列Ｗが、上記のようにＳＦＸアルゴリズムを変形したアルゴリズムに従って適宜更新されるため、マイクロフォン５１、５２の配設位置においてこもり音の低減が図られるのである。つまり、ＳＦＸアルゴリズムにあっては、基準信号Ｘがこもり音の基本周期に同期したパルス列であると考えれば、基準信号Ｘと基本数列Ｗ（適応ディジタルフィルタＷ）との畳込みの結果は、その基本数列Ｗの各要素ｗ（ｉ）そのものであるので、個数Ｄ＝Ｄ０  のときには全ての要素ｗ（ｉ）を、個数Ｄ＝Ｄ０  ／２ｋ  のときにはｋ−１個おきに要素ｗ（ｉ）を駆動信号Ｙとして出力することにより、基準信号Ｘに同期して発生する周期騒音としてのこもり音を低減することができるのである。
【０１３４】
そして、本実施の形態にあっては、サンプリング・クロック生成部５５が生成したサンプリング・クロックＳＣに同期して駆動信号出力部４４が駆動信号Ｙ（ｉ）を出力するのであるが、図１３にＤ＝２４の場合を示すように、サンプリング・クロックＳＣの周期は、基準信号Ｘの立ち上がり検出直後は本来の周期の半分の時間（Ｔ／４８）であり、それ以降は本来の周期（Ｔ／２４）となる。さらに、駆動信号出力部４４は、最後の駆動信号Ｙ（２３）を出力した後には、再び第一番目の駆動信号Ｙ（０）を出力し、次の基準信号Ｘの立ち上がりが検出されるまでの間はその駆動信Ｙ（０）を出力し続けるが、次の基準信号Ｘの立ち上がりが検出された直後にも第一番目の駆動信号Ｙ（０）を出力する。
【０１３５】
よって、上記第１の実施の形態と同様に、駆動信号Ｙ（０）の中間時点を基準信号Ｘの一周期に対する位置として表現した場合、その位置は、基準信号Ｘの立ち上がり時点となる。そして、個数Ｄ＝２４、１２、６、３のいずれの場合においても、その駆動信号Ｙ（０）の中間時点の基準信号Ｘの一周期に対する位置は常に基準信号Ｘの立ち上がり時点となるし、例えばＤ＝１２の場合の各駆動信号となる基本数列ｗ（０）、ｗ（２）、…、ｗ（２ｉ）、…、ｗ（２２）の中間時点の基準信号Ｘの一周期に対する位置も、Ｄ＝２４の場合の偶数番号の駆動信号となる基本数列ｗ（０）、ｗ（２）、…、ｗ（２ｉ）、…、ｗ（２２）の中間時点の基準信号Ｘの一周期に対する位置に一致する。その他の個数Ｄについても同様である。
【０１３６】
このため、上記第１の実施の形態と同様に、例えば個数Ｄ＝２４の場合に誤差積分値が０になるようにした場合、個数Ｄ＝１２、６、３に変化しても位相特性がずれることがなく、個数Ｄが変化した直後に駆動信号Ｙ（ｉ）の位相特性のずれに伴ってその駆動信号Ｙ（ｉ）の精度が低下して車室５０内騒音レベルが悪化することを防止できるのである。
【０１３７】
つまり、本実施の形態のような適応処理を実行する構成であれば、仮に駆動信号Ｙ（ｉ）の位相特性がずれたとしても、それを補うように基本数列Ｗの各要素ｗ（ｉ）が更新され、ある程度の時間が経過すれば騒音レベルの悪化は解消されるのから、騒音レベルの悪化現象は個数Ｄが変化した直後に発生する現象であって、さほど長い時間に渡って騒音レベルを悪化させるものではないが、乗員の感覚ではときたま生じる騒音悪化現象であっても不快感を増大させるものであり、従って、本実施の形態のように駆動信号Ｙ（ｉ）の出力タイミングを適宜制御して個数Ｄが変化した直後の騒音レベルの悪化現象をも解消することは、乗員に与える不快感低減にとって極めて有益なのである。
【０１３８】
ここで、本実施の形態にあっては、エンジン３０が騒音源に対応し、ラウドスピーカ５３が制御音源に対応し、マイクロフォン５１、５２が残留騒音検出手段に対応し、位相テーブル５６、収束係数テーブル５７、正弦波テーブル６０及び基本数列更新部５８によって更新手段が構成され、基本数列記憶部６１が記憶手段に対応する。
【０１３９】
なお、上記第６の実施の形態にあっては、上記（１１）式に示したように、駆動信号Ｙとして出力されることが予定されている番号ｉの要素ｗ（ｉ）、つまり駆動信号用数列を構成する要素のみが更新されるようになっているが、エンジン回転速度が下がりつつあり、個数Ｄが大きい方に切り替わりそうなときには、切り替わった後に駆動信号用数列となる要素ｗ（ｉ）も更新演算の対象とすることが望ましい。
【０１４０】
つまり、現在の個数Ｄでは駆動信号Ｙとして出力されない要素ｗ（ｉ）も、上記（１１）式に従って更新するのであるが、周期Ｔが短いときに更新演算に費やせる時間も限られているから、駆動信号Ｙとして出力される要素ｗ（ｉ）の更新演算を優先的に行い、残った時間内で他の要素ｗ（ｉ）の更新演算を行うようにすればよい。その際、各要素ｗ（ｉ）に対する更新演算の頻度に大きな差がないように、例えば、駆動信号Ｙとして出力されない要素ｗ（ｉ）の更新を行った場合にはその番号ｉを記憶し、次に駆動信号Ｙとして出力されない要素ｗ（ｉ）の更新を行う場合には記憶されていない番号の要素ｗ（ｉ）の更新演算を行うようにすればよい。
【０１４１】
また、上記第６の実施の形態では、常に基本数列Ｗの要素ｗ（ｉ）に基づいて駆動信号用数列を生成するようにしているが、例えば、個数Ｄが増加方向に変化する場合には、新たな駆動信号用数列を、その時点の駆動信号用数列に基づいて補間演算を行って生成するようにしてもよい。その補間演算も、上記実施の形態のようにエンジン回転２次成分のみを制御対象としている場合には１次補間で十分である。例えば、Ｄ＝１２からＤ＝２４に変化する場合であれば、Ｄ＝１２における駆動信号Ｙ（０）（＝ｗ（０））と駆動信号Ｙ（１）＝（ｗ（２））とに基づいて、Ｄ＝２４における駆動信号Ｙ（１）（＝ｗ（１））を生成するのであって、具体的には、
ｗ（１）＝｛ｗ（０）＋ｗ（２）｝／ｃｏｓ（π／Ｄ０  ）２
とすればよい。一般的に、現在の個数Ｄと整数ｋに基づき、
ｗ（２ｋ  ｉ＋２ｋ−１  ）＝｛ｗ（２ｋ  ｉ）＋ｗ（２ｋ  ｉ＋２ｋ  ）｝／ｃｏｓ（π／２Ｄ）２……（１３）
とすればよい。このような補間演算を行って新たな駆動信号用数列を生成するようにすれば、駆動信号Ｙとして出力されない要素ｗ（ｉ）の更新演算が行えない場合における駆動信号用数列の精度低下を抑えることができる。
【０１４２】
さらに、上記第６の実施の形態では、エンジン回転２次成分だけを騒音低減処理の対象としているが、エンジン回転４次成分やエンジン回転６次成分等の高調波成分も周期的な騒音であるから、それら高調波成分をも低減可能な制御を実行できる構成としてもよい。
【０１４３】
具体的には、図１２に示した構成において、位相テーブル５６及び収束係数テーブル５７を、エンジン回転２次成分の位相情報θ２０、θ２１（図１２及び上記説明の位相情報θ０  、θ１  ）、収束係数α２  （図１２及び上記説明の収束係数α）だけではなく、エンジン回転４次成分のθ４０、θ４１、収束係数α４  や、エンジン回転６次成分のθ６０、θ６１、収束係数α６  をも生成可能にするとともに、正弦波テーブル６０が生成する信号列Ｒも、エンジン回転次数成分ごとに生成するように構成する。
【０１４４】
ここで、エンジン回転２次成分用の信号列Ｒ０  、Ｒ１  をＲ２０、Ｒ２１、エンジン回転４次成分用の信号列Ｒ０  、Ｒ１  をＲ４０、Ｒ４１、エンジン回転６次成分用の信号列Ｒ０  、Ｒ１  をＲ６０、Ｒ６１とすれば、各信号列は下記式により求められる。
【０１４５】
Ｒ２０＝［Ｒ２ＢＡＳＥ  （φ＋θ２０），Ｒ２ＢＡＳＥ  （φ＋θ２０−２ｋ），Ｒ２ＢＡＳＥ  （φ＋θ２０−４ｋ），…，Ｒ２ＢＡＳＥ  （φ＋θ２０−２（Ｄ−１）ｋ）］……（１４）
Ｒ２１＝［Ｒ２ＢＡＳＥ  （φ＋θ２１），Ｒ２ＢＡＳＥ  （φ＋θ２１−２ｋ），Ｒ２ＢＡＳＥ  （φ＋θ２１−４ｋ），…，Ｒ２ＢＡＳＥ  （φ＋θ２１−２（Ｄ−１）ｋ）］……（１５）
Ｒ４０＝［Ｒ４ＢＡＳＥ  （φ＋θ４０），Ｒ４ＢＡＳＥ  （φ＋θ４０−２ｋ），Ｒ４ＢＡＳＥ  （φ＋θ４０−４ｋ），…，Ｒ４ＢＡＳＥ  （φ＋θ４０−２（Ｄ−１）ｋ）］……（１６）
Ｒ４１＝［Ｒ４ＢＡＳＥ  （φ＋θ４１），Ｒ４ＢＡＳＥ  （φ＋θ４１−２ｋ），Ｒ４ＢＡＳＥ  （φ＋θ４１−４ｋ），…，Ｒ４ＢＡＳＥ  （φ＋θ４１−２（Ｄ−１）ｋ）］……（１７）
Ｒ６０＝［Ｒ６ＢＡＳＥ  （φ＋θ６０），Ｒ６ＢＡＳＥ  （φ＋θ６０−２ｋ），Ｒ６ＢＡＳＥ  （φ＋θ６０−４ｋ），…，Ｒ６ＢＡＳＥ  （φ＋θ６０−２（Ｄ−１）ｋ）］……（１８）
Ｒ６１＝［Ｒ６ＢＡＳＥ  （φ＋θ６１），Ｒ６ＢＡＳＥ  （φ＋θ６１−２ｋ），Ｒ６ＢＡＳＥ  （φ＋θ６１−４ｋ），…，Ｒ６ＢＡＳＥ  （φ＋θ６１−２（Ｄ−１）ｋ）］……（１９）
但し、
Ｒ２ＢＡＳＥ  （ｉ）＝ｃｏｓ（ｉπ／Ｄ０  ）；ｉ＝０、１、２、…、２Ｄ０  −１
Ｒ４ＢＡＳＥ  （ｉ）＝ｃｏｓ（２ｉπ／Ｄ０  ）；ｉ＝０、１、２、…、２Ｄ０  −１
Ｒ６ＢＡＳＥ  （ｉ）＝ｃｏｓ（３ｉπ／Ｄ０  ）；ｉ＝０、１、２、…、２Ｄ０  −１
である。
【０１４６】
そして、基本数列Ｗも、エンジン回転２次成分用の基本数列Ｗ２  と、エンジン回転４次成分用の基本数列Ｗ４  と、エンジン回転６次成分用の基本数列Ｗ６  と、を備え、各基本数列の要素ｗ２  （ｉ）、ｗ４  （ｉ）、ｗ６  （ｉ）の更新式は、下記のようになる。
【０１４７】
ｗ２  （ｉ）＝ｗ２  （ｉ）−α２  ｛ｅ０  Ｒ２０（ｉ）＋ｅ１  Ｒ２１（ｉ）｝；ｉ＝０、２ｋ  、２・２ｋ  、３・２ｋ  、…、（Ｄ−１）２ｋ  ……（２０）
ｗ４  （ｉ）＝ｗ４  （ｉ）−α４  ｛ｅ０  Ｒ４０（ｉ）＋ｅ１  Ｒ４１（ｉ）｝；ｉ＝０、２ｋ  、２・２ｋ  、３・２ｋ  、…、（Ｄ−１）２ｋ  ……（２１）
ｗ６  （ｉ）＝ｗ６  （ｉ）−α６  ｛ｅ０  Ｒ６０（ｉ）＋ｅ１  Ｒ６１（ｉ）｝；ｉ＝０、２ｋ  、２・２ｋ  、３・２ｋ  、…、（Ｄ−１）２ｋ  ……（２２）
そして、駆動信号用数列のｉ番目の要素Ｙ（ｉ）は、上記基本数列の要素ｗ２  （ｉ）、ｗ４  （ｉ）、ｗ６  （ｉ）から、下記式により求められる。
【０１４８】
Ｙ（ｉ）＝ｗ２  （２ｋ  ｉ）＋ｗ４  （２ｋ  ｉ）＋ｗ６  （２ｋ  ｉ）……（２３）
個数Ｄが増加方向に変化したときに、上記（２０）〜（２２）式で示す更新演算を行って余った時間内で他の要素をも更新する方が望ましいことや、上記（１３）式に示すような補間演算によって個数Ｄ変更後の新たな駆動信号用数列を生成するのが望ましいことは上記第６の実施の形態と同様である。ただしエンジン回転４次成分、同６次成分に対応する補間係数は、同２次成分用の補間係数とは異なるので、２次成分の式も含めて表すと、以下のようになる。
【０１４９】
ｗ２  （２ｋ  ｉ＋２ｋ−１  ）＝｛ｗ２  （２ｋ  ｉ）＋ｗ２  （２ｋ  ｉ＋２ｋ  ）｝／ｃｏｓ（π／２Ｄ）２……（２４）
ｗ４  （２ｋ  ｉ＋２ｋ−１  ）＝｛ｗ４  （２ｋ  ｉ）＋ｗ４  （２ｋ  ｉ＋２ｋ  ）｝／ｃｏｓ（π／Ｄ）２……（２５）
ｗ６  （２ｋ  ｉ＋２ｋ−１  ）＝｛ｗ６  （２ｋ  ｉ）＋ｗ６  （２ｋ  ｉ＋２ｋ  ）｝／ｃｏｓ（３π／２Ｄ）２……（２６）
なお、上記のようにエンジン回転次数成分毎に基本数列Ｗを設定するのではなく、上記（１１）式を用いて駆動信号用数列の各要素Ｙ（ｉ）を生成し、しかも更新式を下記式のようにすることにより、駆動信号Ｙとして出力しない要素を高次の補間により求めるようにしてもよい。
【０１５０】
ｗ（ｉ）＝ｗ（ｉ）−ｅ０  ｛α２  Ｒ２０（ｉ）＋α４  Ｒ４０（ｉ）＋α６  Ｒ６０（ｉ）｝−ｅ１  ｛α２  Ｒ２１（ｉ）＋α４  Ｒ４１（ｉ）＋α６  Ｒ６１（ｉ）｝……（２７）
さらに、上記第６の実施の形態にあっては、サンプリング・クロック生成部５５が生成するサンプリング・クロックＳＣの間隔を、基準信号Ｘの立ち上がりを検出した直後には本来の半分の長さとし、それ以降は本来の長さとすることにより、駆動信号Ｙの出力間隔に関しては上記第１の実施の形態と同様の作用が得られるようにし、もって駆動信号Ｙの個数Ｄが変化しても位相ずれが生じないようにしているが、これに限定されるものではなく、例えば、上記第３の実施の形態と同様の作用が得られるようにサンプリング・クロックＳＣを生成してもよいし、或いは、上記第４の実施の形態と同様の作用が得られるようにサンプリング・クロックを生成してもよい。即ち、図１４は、Ｄ０  ＝２４、Ｄ＝２８、２４、２０とした場合における基準信号Ｘ、サンプリング・クロックＳＣ、位相値φ、駆動信号Ｙ（ｉ）の番号ｉの関係を示す波形図であり、個数Ｄ＝２４（＝Ｄ０  ）の場合には、基準信号Ｘの立ち上がりに検出後直ちに第一番目のサンプリング・クロックＳＣのパルスを生成し、それから本来の周期Ｔ／Ｄ毎にサンプリング・クロックＳＣのパルスを生成する。個数Ｄ＝２０（＜Ｄ０  ）の場合には、基準信号Ｘの立ち上がりに検出後直ちに第一番目のサンプリング・クロックＳＣのパルスを生成し、それから本来の周期よりも短いＴ（Ｄ＋Ｄ０  ）／（２ＤＤ０  ）時間経過後に、第二番目のサンプリング・クロックＳＣのパルスを生成し、それ以降は本来の周期Ｔ／の間隔でサンプリング・クロックＳＣのパルスを生成する。そして、個数Ｄ＝２８（＞Ｄ０  ）の場合には、基準信号Ｘの立ち上がりに検出後直ちに第一番目のサンプリング・クロックＳＣのパルスを生成するとともに、それを受けた駆動信号出力部４４からは最後の駆動信号Ｙ（Ｄ−１）を出力し、それから本来の周期よりも短いＴ（Ｄ−Ｄ０  ）／（２ＤＤ０  ）時間経過後に、第二番目のサンプリング・クロックＳＣのパルスを生成し、それ以降は本来の周期Ｔ／の間隔でサンプリング・クロックＳＣのパルスを生成する。なお、現在の位相値φについては、そのタイミングで出力される駆動信号Ｙ（ｉ）の番号ｉに対して、ｉＤ０  ／Ｄを四捨五入して整数化したものとする。また、更新式は上記（１１）式と同様であるが、上記（１０）式に示すような位相情報θに対する補正は、個数ＤとＤ０  との比がほぼ１：１なので省略する。
【０１５１】
また、上記第６の実施の形態では、サンプリング・クロックＳＣの第二番目以降のパルスに同期してＴ／Ｄの間隔で残留騒音信号ｅ０  、ｅ１  を読み込み、これをそのサンプリング・クロックＳＣのパルスに同期した更新演算に用いるようにしているが、これに限定されるものではなく、例えば、基準信号Ｘの立ち上がり検出後のサンプリング・クロックＳＣの第一番目のパルスに同期して残留騒音信号ｅ０  、ｅ１  を読み込み、それ以降もＴ／Ｄの間隔つまりサンプリング・クロックＳＣの第二番目以降のパルス同士の中間時点において残留騒音信号ｅ０  、ｅ１  を読み込み、各残留騒音信号ｅ０  、ｅ１  は、それを読み込んだ次のサンプリング・クロックＳＣに同期して実行される更新演算に用いるようにしてもよい。
【０１５２】
つまり、サンプリング・クロックＳＣとして、駆動信号Ｙの出力に用いられる出力用サンプリング・クロックと、その出力用サンプリング・クロックに対して１８０度ずれた入力用（残留騒音信号読み込み用の）サンプリング・クロックを生成し、それら各サンプリング・クロックに同期して駆動信号Ｙの出力処理や残留騒音信号ｅ０  、ｅ１  の読み込み処理を実行するようにしてもよいのである。
【０１５３】
因みに、出力用サンプリング・クロック及び入力用サンプリング・クロックの両方を利用する場合における、基準信号Ｘの立ち上がり検出直後の処理の概要は次のようになる。
【０１５４】
即ち、基準信号Ｘの立ち上がりが検出されると、先ず、周期測定用タイマのカウント値を周期Ｔとして記憶し、その周期測定用タイマをゼロリセットする。次いで、周期Ｔに従って記憶テーブルを参照して、個数Ｄを読み出す。そして、基本数列Ｗの各要素ｗのうち駆動信号Ｙとして最初に出力される要素を、駆動信号出力用のバッファに書き込み、次いで、第一番目の出力サンプリング・クロックを生成し、その出力サンプリング・クロックに同期して、バッファに書き込まれていた駆動信号Ｙを出力する。そして、出力サンプリング・クロック発生用タイマのクロック発生カウント設定値をＴ／Ｄ／２に設定し、その出力サンプリング・クロック発生用タイマをゼロリセットするとともに、入力サンプリング・クロック発生用タイマのクロック発生カウント設定値をＴ／Ｄ／２に設定し、その入力サンプリング・クロック発生用タイマをゼロリセットする。なお、入力サンプリング・クロックと出力サンプリング・クロックとを上述のように１８０度ずらす場合には、ここで入力サンプリング・クロック発生用タイマの設定値をＴ／Ｄに設定すればよい。次いで、位相値φをゼロに設定し、周期Ｔに従って記憶テーブルを参照して位相情報θを読み出し、周期Ｔに従って記憶テーブルを参照して収束係数αを読み出す。これで、基準信号Ｘの立ち上がり検出直後の処理は終了する。
【０１５５】
そして、次の出力サンプリング・クロックが生成され、第二番目の駆動信号Ｙが出力されたら、出力サンプリング・クロック発生用タイマのクロック発生カウント設定値をＴ／Ｄに設定し、その出力サンプリング・クロック発生用タイマをゼロリセットするとともに、入力サンプリング・クロック発生用タイマのクロック発生カウント設定値をＴ／Ｄに設定し、その入力サンプリング・クロック発生用タイマをゼロリセットする。但し、入力サンプリング・クロックと出力サンプリング・クロックとを上述のように１８０度ずらす場合には、入力サンプリング・クロック発生用タイマの設定値は当初からＴ／Ｄであるから、ここで特に設定値を変更する必要はない。
【０１５６】
また、上記各実施の形態では、個数Ｄを周期Ｔに基づいて設定、つまり周期Ｔが短くなると個数Ｄが少なくなる傾向で設定するようにしているが、例えば、コントローラ２５が振動・騒音低減制御以外の制御、例えばエンジンの点火時期制御や駆動力制御等を実行するようになっている場合には、それら振動・騒音低減制御以外の制御の演算負荷の軽重変化に応じて、個数Ｄを設定するようにしてもよい。つまり、振動・騒音低減制御よりも優先度の高い制御の演算負荷が大きくなると、振動・騒音低減制御用の演算時間を割いてでもその優先度の高い制御に演算時間を割り当てる方が車両全体として望ましい場合があるからである。
【０１５７】
また、上記第１〜５の実施の形態のように、予め生成された基本数列を読み出して駆動信号を生成する構成であれば、その基本数列等の更新演算は不要であるから、周期Ｔが短くなっても個数Ｄを減少させる必要がないのではという見解もあるかも知れない。しかし、現実には、ディジタル信号を出力する場合に必要なＤ／Ａ変換処理は、通常は主力タイミングを正確にするために割り込み処理として実行されるため、コントローラ２５内のマイクロプロセッサは、それまで実行していた処理を一旦中断してＤ／Ａ変換処理を行い、その後、中断していた処理を再開する。その再開の際、処理を速やかに継続できるように、マイクロプロセッサは、中断直前の状態を保存する必要があるため、Ｄ／Ａ変換処理の頻度が高くなると、本来不要な演算量が増えることになる。よって、上記第１〜５の実施の形態のように、予め生成された基本数列を読み出して駆動信号を生成する構成であっても、個数Ｄを可変とすることは極めて有益なのである。
【０１５８】
さらに、上記のように振動・騒音低減制御以外の制御の演算負荷の軽重変化に応じて個数Ｄを設定するように構成した場合には、望ましくは、エンジン回転数を複数の段階に（例えば、１０ｒｐｍピッチで）分け、それら各段階ごとに基本数列を生成し、駆動信号用数列を生成する際には、エンジン回転数毎に読み出す基本数列を異ならせるようにすることが望ましい。すると、記憶する基本数列は各段階ごとに必要となるが、上記第１〜５の実施の形態であれば、個数Ｄに応じて駆動信号の出力タイミングを適宜調整することにより位相ズレが防止しているから、その段階と同じ数の基本数列を記憶するだけで済む。これが、個数Ｄに応じて駆動信号の出力タイミングを適宜調整するのではなく、位相ズレをも考慮して、エンジン回転数毎に且つ個数Ｄ毎に駆動信号用数列を記憶するような構成としてしまうと、その駆動信号用数列の記憶のために記憶容量が数倍になってしまい、極めて不経済なのである。
【０１５９】
また、上記第４の実施の形態のように補間演算によって駆動信号用数列を生成する場合、或いは、上記第５の実施の形態において個数Ｄが変化する場合にはその変化前の駆動信号用数列を補間して変化後の駆動信号用数列を生成するような場合、各個数Ｄを共通の約数を有するように選定すれば、補間演算を一部省略できるという利点がある。例えば、Ｄ＝２４、２０を選定した場合、２４＝４×６であり、２０＝４×５であるから、共通の約数４があり、Ｄ＝２０における駆動信号Ｙ（５）やＹ（１０）は、Ｄ＝２０における駆動信号Ｙ（６）やＹ（１２）に等しい。よって、個数Ｄが２４から２０に変化する場合、又はその逆に２０から２４に変化する場合、補間演算の一部が単なる代入で行えるようになるから、それだけ演算負荷を軽減できるのである。
【０１６０】
そして、上記第２の実施の形態のような駆動信号Ｙの大きさを調整するゲイン調整部４５を設ける構成は、上記第３〜６の実施の形態であっても適用可能である。
【０１６１】
そして、上記第１〜５の実施の形態では、エンジン３０から車体３５に伝達される振動を低減する車両用の能動型振動制御装置に適用した場合について説明したが、かかる発明の適用対象はこれに限定されるものではなく、例えば第６の実施の形態のような騒音を低減する装置であってもよい。逆に、上記第６の実施の形態では、本発明に係る能動型騒音振動制御装置のうち、更新演算を実行するようになっている発明を、エンジン３０から車室５０内に伝搬されるこもり音を低減する車両用の能動型騒音制御装置に適用した場合について説明したが、かかる発明の適用対象はこれに限定されるものではなく、例えば第１〜５の実施の形態のような振動を低減する装置であってもよい。
【０１６２】
さらに、本発明の適用対象は車両に限定されるものではなく、エンジン３０以外で発生する周期的な振動や騒音を低減するための能動型振動制御装置，能動型騒音制御装置であっても本発明は適用可能であり、適用対象に関係なく上記各実施の形態と同等の作用効果を奏することができる。例えば、工作機械からフロアや室内に伝達される振動や騒音を低減する装置等であっても、本発明は適用可能である。
【０１６３】
また、上記各実施の形態では、適応アルゴリズムとして同期式Ｆｉｌｔｅｒｅｄ−Ｘ  ＬＭＳアルゴリズムを適用した場合について説明したが、適用可能な適応アルゴリズムはこれに限定されるものではなく、例えば、通常のＦｉｌｔｅｒｅｄ−Ｘ  ＬＭＳアルゴリズム等であってもよい。
【図面の簡単な説明】
【図１】本発明の基本的な考え方を示す波形図である。
【図２】第１の実施の形態を示す車両の概略側面図である。
【図３】能動型エンジンマウントの一例を示す断面図である。
【図４】コントローラの機能構成を示すブロック図である。
【図５】基本数列の一例を示す波形図である。
【図６】第１の実施の形態の動作を説明する駆動信号の波形図である。
【図７】第２の実施の形態のコントローラの機能構成を示すブロック図である。
【図８】第３の実施の形態の動作を説明する駆動信号の波形図である。
【図９】第４の実施の形態の動作を説明する駆動信号の波形図である。
【図１０】第５の実施の形態の動作を説明する駆動信号の波形図である。
【図１１】第６の実施の形態を示す車両の概略側面図である。
【図１２】第６の実施の形態のコントローラの機能構成を示すブロック図である。
【図１３】第６の実施の形態の動作を説明する波形図である。
【図１４】第６の実施の形態の変形例の動作を説明する波形図である。
【符号の説明】
１          能動型エンジンマウント（制御振動源）
２５        コントローラ
３０        エンジン（振動源、騒音源）
４０        周期演算部
４１        個数決定部
４２        基本数列記憶部（記憶手段）
４３        駆動信号用数列生成部（駆動信号用数列生成手段）
４４        駆動信号出力部（駆動信号出力手段）
４５        ゲイン調整部（駆動信号ゲイン調整手段）
５１、５２  マイクロフォン（残留騒音検出手段）
５３        ラウドスピーカ（制御音源）
５５        サンプリング・クロック生成部
５６        位相テーブル
５７        収束係数テーブル
５８        基本数列更新部
５９        位相カウンタ
６０        正弦波テーブル
６１        基本数列記憶部（記憶手段）
【図１】
0003562303.tif 000004
【図２】
0003562303.tif 000005
【図３】
0003562303.tif 000006
【図４】
0003562303.tif 000007
【図５】
0003562303.tif 000008
【図６】
0003562303.tif 000009
【図７】
0003562303.tif 000010
【図８】
0003562303.tif 000011
【図９】
0003562303.tif 000012
【図１０】
0003562303.tif 000013
【図１１】
0003562303.tif 000014
【図１２】
0003562303.tif 000015
【図１３】
0003562303.tif 000016
【図１４】
0003562303.tif 000017