以下、この発明に係る能動型騒音・振動制御装置の一実施の形態を説明する。なお、以下に参照する図面において図19〜図21に示したものと対応するものには同一の符号を付ける。
以下、A.可変サンプリング技術が適用された能動型騒音制御装置、B.固定サンプリング技術が適用された能動型騒音制御装置、C.可変サンプリング技術又は固定サンプリング技術が適用された能動型振動制御装置の順に説明する。
A.可変サンプリング技術が適用された能動型騒音制御装置
図1はこの発明の一実施の形態に係る能動型騒音制御装置10の構成を示すブロック図である。
この能動型騒音制御装置10では、車室内の主騒音であるエンジンのこもり音を含む騒音を打消制御する場合を例に説明する。
図2は、車両41に対して図1例の能動型騒音制御装置10を適用した例を模式的に示す説明図である。
図2から分かるように、スピーカ104は車両41の後部座席背後の所定位置に設け、マイクロホン105は車両41の車室中央の車室天井部に設けてある。なお、車室天井部に代わってインスツルメントパネル内部に設けてもよい。
能動型騒音制御装置10は、騒音源であるエンジン42から発生する騒音を制御音源であるスピーカ104から出力される制御音により打ち消して制音する機能を有する。
能動型騒音制御装置10の主要部は、図示しないCPUを含むマイクロコンピュータ210で構成されている。マイクロコンピュータ210のCPUは、図示しないメモリに記憶されたプログラムを実行することで基準信号生成器22等の各種機能手段として動作する。
能動型騒音制御装置10は、基本的には、騒音源であるエンジン42の回転数を表すエンジンパルスEp(クランク軸パルスでもよい。)に対応する騒音周期の調波の周期360゜の三角関数信号としての基準信号x(xa、xb)を生成する基準信号生成器(基準信号生成手段)22と、基準信号xが供給され、可変サンプリングのサンプリング周期毎にスピーカ104に供給する制音制御信号y(ya、yb)を更新して生成する適応ノッチフィルタ102(102a、102b)と、適応ノッチフィルタ102のフィルタ係数を更新するフィルタ係数算出器106(106a、106b)(フィルタ係数算出手段)と、スピーカ104から出力される制御音と騒音源であるエンジン42から出力される騒音の合成音から誤差信号(残留誤差信号)eを検出する誤差信号検出器としてのマイクロホン105と、適応ノッチフィルタ102の出力からフィルタ係数算出器106の入力までの伝達特性(電気音響周波数応答特性であって、振幅特性と位相特性からなる。)に基準信号x(xa、xb)を供給して参照信号r(ra、rb)を生成する参照信号生成器(参照信号生成手段)28とから構成される。フィルタ係数算出器106は、フィルタ係数を更新するので、フィルタ係数更新器とも言われる。
能動型騒音制御装置10では、エンジン出力軸の回転をホール素子等により、例えば、上死点パルス等のエンジンパルスEpとして検出し、検出したエンジンパルスEpを周波数検出回路11に供給し、周波数検出回路11は、エンジンパルスEpからエンジン回転数に対し調波の制御対象周波数である制御周波数f及び(又は)制御周期Tf(Tf=1/f)を生成する。
すなわち、周波数検出回路11は、エンジンパルスEpの周波数よりも非常に高い周波数でエンジンパルスEpを監視し、エンジンパルスEpの極性が変化するタイミングを検出し、極性変化点の時間的間隔を計測してエンジンパルスEpの周波数をエンジン出力軸の回転数として検出し、該検出周波数に基づきエンジン出力軸の回転に同期した制御周波数f及び(又は)制御周期Tfの信号を出力する。なお、制御周波数fは、前記の基準信号xの周波数と同一周波数である。
ここで、エンジンこもり音はエンジン42の回転によって発生した加振力が車体フレームに伝達されて発生する振動放射音であることから、エンジン42の回転数に同期した顕著な周期性を有する騒音であり、例えば、4サイクル4気筒エンジンであれば、エンジン出力軸の1/2回転ごとに起こるガス燃焼によるトルク変動によりエンジンを基点とした加振振動が発生し、これが原因で車室内に騒音が発生する。
したがって、4サイクル4気筒エンジンであれば、エンジン出力軸の回転数の2倍の周波数を有する回転2次成分と称される騒音が多く発生するため、周波数検出回路11は、検出周波数の2倍の周波数を制御周波数fとする信号を出力する。制御周波数fは、打ち消すべき騒音の周波数である。
周波数検出回路11の出力である制御周期Tfは、サンプリング周期・分割数算出器(サンプリング周期算出手段と分割数算出手段)12に入力される。サンプリング周期・分割数算出器12は、マイクロコンピュータ210で利用されるサンプリング周期ts(標本化周期)を有するサンプリングパルス(タイミング信号)も発生し、マイクロコンピュータ210はサンプリングパルスに基づいて後述するLMSアルゴリズム等の演算処理を含む更新処理を行う。分割数mの算出の仕方については後述する。
メモリ(この実施形態ではROM)である波形データテーブル19は、図3A及び図3Bに模式的に示すように、正弦波1周期(360゜=πラジアン)分の波形を位相軸(時間軸)方向に所定の離散数(N)等分して離散化したときの各瞬時値を表すように、各瞬時値データを位相に対応するアドレス毎に波形データとして記憶している。なお、アドレス(i)は0からN−1(離散数−1)までの整数(i=0、1、2、…、N−1)であり、図3A及び図3Bに記載される振幅Aは1又は任意の正の実数である。
したがって、アドレスiの波形データは、Asin(360°×i/N)で算出される。波形データテーブル19は、1サイクルの正弦波を、位相方向、すなわち、時間方向に所定数N分割して標本化(離散化)し、各標本化点を順次波形データテーブル19のアドレスとし、各標本化点における正弦波の瞬時値を量子化したデータを波形データとして、対応するアドレス位置に格納したメモリである。
図1において、第1アドレス変換回路(第1アドレス算出指定手段)20は、周波数検出回路11から出力される信号を受けて、制御周期Tfに基づいたアドレスを、波形データテーブル19に対する読み出しアドレスとして算出し指定する。第2アドレス変換回路(第2アドレス算出指定手段)21は、第1アドレス変換回路20で指定されたアドレスに対し1/4周期分だけシフトしたアドレスを波形データテーブル19に対する読み出しアドレスとして算出し指定する。
周波数検出回路11、波形データテーブル19、第1アドレス変換回路20、第2アドレス変換回路21で基準信号生成器22を構成している。
図4A〜図4Cは、基準信号生成器22が基準信号xを生成する仕方を模式的に示す説明図である。図4A〜図4Cを参照しながら、基準信号生成器22が基準信号xである基準余弦波信号xa及び基準正弦波信号xbを生成する仕方を説明する。
ここで、nを0以上の正の整数であって、前記サンプリングパルスの計数値(タイミング信号計数値)とする。図4Aは波形データテーブル19のアドレスと波形データの関係を模式的に示し、図4Bは基準正弦波信号xbの生成を模式的に示し、図4Cは基準余弦波信号xaの生成を模式的に示している。
ここで、この実施形態の理解を容易化するために、まず、従来技術に係る可変サンプリング技術(同期サンプリング技術)をより具体的に説明する。
この場合、周波数検出回路11からエンジンの出力軸回転数(エンジン回転数)に同期したサンプリング周期でサンプリングパルスが出力される。所定数Nは、N=40と仮定している。したがって、アドレスはi=0、1、2、…、N−1=0、1、2、…、39となり、4分の1周期(360゜/4)分のアドレスシフト量はN/4=10となる。
同期サンプリング技術の場合には、エンジン回転数に応じて(同期して)サンプリング間隔が変化する。サンプリング周期・分割数算出器12は、周波数検出回路11から出力された制御周期Tf(制御周波数fの逆数)に応じて下記の(1)式に基づいたサンプリング周期(間隔、時間)tsでサンプリングパルスを出力する。
ts=Tf/N=1/(f×N)=1/(f×40)[s]…(1)
第1アドレス変換回路20は、サンプリング周期・分割数算出器12から出力されるサンプリングパルス毎に、下記の式で示されるように、アドレスを1ずつ加算して読み出しアドレスi(n)を指定する。したがって、あるタイミングのアドレスi(n)は、
i(n)=i(n−1)+1となる。
なお、i(n)>39(=N−1)のときは、
i(n)=i(n−1)+1−40
となる。
したがって、基準信号生成器22は、サンプリング周期・分割数算出器12が発生するサンプリングパルス毎に、アドレスを1つずつ加算しながら波形データテーブル19の波形データを順次読み出すことにより基準正弦波信号xb(n)を生成する。例えば、制御周波数fがf=20[Hz]の場合には、制御が開始されると、サンプリング周期ts=1/(f×N)=1/(20×40)=1/800[s]間隔で発生するサンプリングパルス毎に、i(n)=0、1、2、3、…、39、0、…のアドレスに相当する波形データが順次読み出されることにより20[Hz]の基準正弦波信号xb(n)が生成される。また、制御周波数が25[Hz]の場合には、制御が開始されると、サンプリング周期ts=1/1000[s]間隔で発生するサンプリングパルス毎に、i(n)=0、1、2、3、…、36、0、…のアドレスに相当する波形データが順次読み出されることにより25[Hz]の基準正弦波信号xb(n)が生成される。
また、第2アドレス変換回路21は、第1アドレス変換回路20から出力される(第1アドレス変換回路20で指定された)基準正弦波信号xb(n)の読み出しアドレスi(n)に対して、下記の式で示すように、4分の1周期分だけシフト(加算)したアドレスを、読み出しアドレスi′(n)として指定する。
i′(n)=i(n)+N/4=i(n)+10
なお、i′(n)>39(=N−1)のときは、
i′(n)=i(n)+10−40
となる。
したがって、基準信号生成器22は、読み出し開始アドレスを4分の1周期分だけ位相シフトしたアドレスから、サンプリング周期・分割数算出器12が発生するサンプリングパルス毎に、制御周波数に相当するアドレス間隔で波形データテーブル19の波形データを順次読み出すことにより基準余弦波信号xa(n)を生成する。
例えば、制御周波数が20[Hz]の場合には、制御が開始されると、1/800[秒]間隔で発生するサンプリングパルス毎に、i′(n)=10、11、12、13、…、9、10、…のアドレスに相当する波形データが順次読み出されることにより20[Hz]の基準余弦波信号xaが生成される。また、制御周波数が25[Hz]の場合には、制御が開始されると、1/1000[秒]間隔で発生するサンプリングパルス毎に、i′(n)=10、11、12、13、…、9、10、…のアドレスに相当する波形データが順次読み出されることにより25Hzの基準余弦波信号xa(n)が生成される。
すなわち、同期サンプリング方式の場合には、制御周波数に応じて、波形データの読み出し時間間隔を変化させることにより基準信号xを生成する。
このようにして、制御周期Tfの調波に応じた基準正弦波信号xbと基準余弦波信号xaとからなる基準信号xが波形データテーブル19を利用して同時に生成される。
なお、上記した例においては、波形データテーブル19に正弦波1周期分の波形を時間軸(位相軸)方向に所定数N等分したときの各瞬時値を記憶させた場合について述べたが、余弦波1周期分の波形を時間軸方向に所定数N等分したときの各瞬時値を記憶させた場合も同様である。
この場合には、通常、基準余弦波信号の読み出しアドレスi′(n)に対する基準正弦波信号の読み出しアドレスi(n)は、cos(θ−π/2)=sin(θ)より、4分の1周期分だけ減算したアドレスとして指定される。
このようにして生成された基準余弦波信号xb及び基準正弦波信号xaは、上述したように、エンジン出力軸回転周波数の調波周波数(制御周期Tf)の基準信号xであり、前記の打ち消すべき騒音の周波数を有する。
図1において、基準余弦波信号xaは第1適応ノッチフィルタ102aに供給され、第1適応ノッチフィルタ102aのフィルタ係数はLMSアルゴリズム器(LMSアルゴリズム演算手段)等のフィルタ係数算出器106aにより適応処理されてサンプリングパルス毎に更新制御される。基準正弦波信号xbは第2適応ノッチフィルタ102bに供給され、第2適応ノッチフィルタ102bのフィルタ係数はLMSアルゴリズム器(LMSアルゴリズム演算手段)等のフィルタ係数算出器106bにより適応処理されてサンプリングパルス毎に更新制御される。
第1適応ノッチフィルタ102aからの出力信号で制音制御信号yaと第2適応ノッチフィルタ102bからの出力信号である制音制御信号ybは加算回路16に供給されて加算され制音制御信号yとされ、D/A変換器112によりD/A変換のうえ低域通過フィルタ114と増幅器(AMP)116を介しスピーカ104から制御音(打消音)として出力される。
すなわち、加算回路16による加算出力(騒音打消信号)は車室内に設けられて打消音を発生させるためのスピーカ104に供給され、加算回路16の出力である制音制御信号yによってスピーカ104が駆動される。一方、車室内には車室内の残留騒音を検出し誤差信号(残留騒音信号)eとして出力するマイクロホン105が設けられている。
マイクロホン105から出力される信号は、増幅器(AMP)118、帯域通過フィルタ(BFP)120を経てA/D変換器122に供給されて、デジタルデータに変換のうえ誤差信号eとしてフィルタ係数算出器106a、106bに入力される。
能動型騒音制御装置10には、フィルタ係数算出器106に供給される誤差信号eとタイミングの一致した参照信号rx、ryを出力するために、各制御周波数fに対してスピーカ104とマイクロホン105との間の空間の伝達特性(伝達関数)を含むD/A変換器112からA/D変換器122までの伝達特性(伝達関数)中の位相遅れに基づく補正値であるアドレスシフト値、すなわち、波形データテーブル19のアドレスに対するアドレスシフト値(位相シフトデータ)を制御周波数(周波数データ)fに対して記憶させたメモリ23(補正データ記憶手段)と、周波数検出回路11からの出力信号に応じた制御周波数fに基づいてメモリ23のアドレス指定がされて該アドレスに格納されているアドレスシフト値が読み出されて、読み出されたアドレスシフト値と第1アドレス変換回路20から出力されたアドレスデータ(基準正弦波信号xbを生成するためのアドレスデータ)と加算して加算値によって波形データテーブル19のアドレス指定を行う加算回路25と、読み出されたアドレスシフト値と第2アドレス変換回路21から出力されたアドレスデータ(基準余弦波信号xaを生成するためのアドレスデータ)と加算して加算値によって波形データテーブル19のアドレス指定を行う加算回路24と、加算回路24及び25からの出力によって指定された波形データテーブル19のアドレスから読み出された波形データに対して、各制御周波数に対してスピーカ104とマイクロホン105との間の信号伝達特性中のゲイン変化に基づく補正値であるゲイン倍の設定をするためのゲイン設定器26及び27と、サンプリング周期・分割数算出器12により算出される可変サンプリングのサンプリング周期tsの算出時毎に、分割数mに応じた位相遅延Cdを算出する位相遅延算出器(遅延位相算出手段)30と、算出した前記位相遅延Cd分、参照信号r(ra、rb)を遅延させた参照信号r(rx、ry)を出力する位相遅延付与器51、52(位相遅延器、デジタル遅延付与手段)とが含まれる。
ここで、波形データテーブル19、メモリ23、加算回路24及び加算回路25、ゲイン設定器26、27、位相遅延算出器30、位相遅延付与器51、52は、基準信号xから参照信号r(rx、ry)を生成する参照信号生成器28を構成している。
制御周波数fに応じたアドレスシフト値がメモリ23から読み出され、該アドレスシフト値と第2アドレス変換回路21から出力されたアドレスデータとが加算された加算値に基づく波形データテーブル19のアドレスから波形データが読み出され、ゲイン設定器26によりゲイン倍されて参照余弦波信号ra(第1参照信号)として出力される。
また、前記アドレスシフト値と第1アドレス変換回路20から出力されたアドレスデータとが加算された加算値に基づく波形データテーブル19のアドレスから波形データが読み出され、ゲイン設定器27によりゲイン倍されて参照正弦波信号rb(第2参照信号)として出力される。波形データテーブル19からゲイン設定器26、27に供給される参照余弦波信号ra´と参照正弦波信号rb´は、それぞれ基準余弦波信号xa及び基準正弦波信号xbに対して制御周期Tf及び振幅が等しく、アドレスシフト値に基づく値だけ位相が補正された信号である。
ゲイン設定器26から出力される参照余弦波信号ra及びゲイン設定器27から出力される参照正弦波信号rbに対し、可変サンプリングのサンプリング周期ts決定時毎に、後述する分割数mに応じて位相遅延算出器30で次の(2)式により算出した位相遅延Cdが位相遅延付与器51、52により付与されて遅延された参照余弦波信号rxと参照正弦波信号ryがそれぞれフィルタ係数算出器106a、106bに供給される。
Cd=−360[゜]/m(mは、分割数) …(2)
フィルタ係数算出器106aは、参照余弦波信号raと誤差信号eによりLMSアルゴリズム演算し、フィルタ係数算出器106aからの出力に基づいて誤差信号eが最小になるように第1適応ノッチフィルタ102aのフィルタ係数がサンプリングパルス(サンプリング周期)毎に更新制御される。一方、フィルタ係数算出器106bは、参照正弦波信号rbと誤差信号eによりLMSアルゴリズム演算し、フィルタ係数算出器106bからの出力に基づいて誤差信号eが最小になるように第1適応ノッチフィルタ102aのフィルタ係数がサンプリングパルス(サンプリング周期)毎に更新制御される。
ところで、同期サンプリング技術の場合には、図19、図20を参照して説明したように、所定数Nに決定すると、サンプリング周期tsは、制御周期Tfからts=Tf/Nとして求めることができるが、制御周期Tfが小さくなるにつれて、サンプリング周期tsが小さくなるので、マイクロコンピュータ等のCPUの処理能力の限界(=最短サンプリング周期=処理能力限界サンプリング周期)と制御範囲とがトレードオフになってしまうという問題がある。すなわち、制御範囲を制御周期Tfの短い側である高周波側に広げようとすると、図20に示したような処理能力限界の高い高速・高性能のCPUを有するマイクロコンピュータが必要となる。
そこで、以下に、制御範囲の設計の自由度が広がり、CPUの処理能力限界の制限を大幅に緩やかにして、広い制御範囲を確保することを可能とするこの実施形態に係る可変サンプリング技術を適用した能動型騒音制御装置10について説明する。
なお、この能動型騒音制御装置10は、騒音源の振動騒音に応じて生成された基準信号xの制御周期が変動成分を有している場合においても、滑らかな消音効果を得る制御、換言すれば、効果的な消音制御を可能とする。
[第1実施例]
基準信号xの1周期、すなわち制御周期Tfでの更新回数を分割数m=m1とする。
この第1実施例では、分割数m1は、図5に示すある制御範囲Tca1の最長制御周期TU1を消音能力限界サンプリング周期tmaxで除算した値とする次の(3)式で決定する。なお、ある制御範囲Tca1は、制御範囲Ttotal内の所定範囲(特定範囲)を意味している。
m1=TU1/tmax …(3)
ここで、分割数m1は、正の実数である。上述した従来の同期サンプリング技術では、分割数は、所定数Nに等しく自然数である。
この場合、第1最長制御周期TU1は、制御範囲中の最も長い周期ではなく、より短い特定制御周期に決定することもできる。
次に、制御周期Tfの制御範囲Tca1の短い方である第1同一分割数最短制御周期TL1は、(3)式で求めた分割数m1に、CPUの処理能力限界周期tminを乗算した次の(4)式で決定される。
TL1=m1×tmin …(4)
このように、分割数m1を実数に決めることで、設計の自由度を上げることができる。
また、ある制御範囲Tca1の第1最長制御周期TU1に相当する制御周波数f(制御周期Tfの逆数)の騒音は、消音能力限界サンプリング周期tmaxで更新されるので消音効果が保証され、最短制御周期TL1は処理能力限界周期tminを下回らないため確実に消音される。
この第1実施例において、ある制御範囲Tca1では、図5の太線で示したサンプリング周期特性C1(C1=1/m1)により、制御周期Tfに対応するサンプリング周期tsが決定される。
例えば、エンジンパルスEpから周波数検出回路11で検出された制御周期Tfが、図5に示す、制御周期Tf=Txとして検出されたものとする。
このとき、サンプリング周期・分割数算出器12から出力されるサンプリング周期(サンプリングパルスの周期)ts=txは、検出された基準周期Txと上記(2)式で求めた分割数m1から次の(5)式で求めることができる。
tx=Tx/m1 …(5)
ここで、上記(1)式の所定数Nとは異なり、分割数m1を実数に決めたことから波形データテーブル19からの波形データの読出には工夫を要する。それを、次に説明する。
第1アドレス変換回路20では、サンプリング周期ts毎に、換言すれば、サンプリングパルス到来毎にステップ数(アドレスステップ数)Pが計算される。このステップ数Pは、次のようにして決める。
すなわち、分割数m1は、ある制御範囲Tca1の最長制御周期TU1を、消音性能を確保するための消音能力限界サンプリング周期tmaxで除算した値である。言い換えれば、分割数m1は、最長制御周期TU1に相当する制御周波数の基準信号xの1周期の間の更新回数(=演算回数=フィルタ係数更新回数=消音処理回数)に相当する。
また、ある制御範囲Tca1のサンプリング周期txは、(5)式で示されることから、分割数m1は、ある制御範囲Tca1に含まれる制御周波数の基準信号xの1周期の更新回数となる。
よって、基準信号xの1周期でm1回の更新を行うためには、波形データをサンプリング周期毎にある間隔(ステップ数P)で読み出さなければならない。
したがって、波形データの総数である所定数Nを上記(3)式で求めた分割数m1で除算した値の整数の値(=商)、又は、除算した値の小数部を切り上げた値(=商+1)を、ステップ数Pとする。結局、ステップ数Pは、所定数Nを分割数m1で除算した場合の商、又はこの商に1を加算した数のいずれかの数になる。
そうすると、制御周期Tfが第1最長基準周期TU1と同一分割数最短基準周期TL1との間の制御範囲Tca1内にあるとき、周波数検出回路11で検出した制御周期Tfを分割数m1で除算した値に応じたサンプリング周期ts(ts=Tf/m1)で、ステップ数P毎に波形データテーブル19から波形データを読み出して、基準信号x(基準余弦波信号xaと基準正弦波信号xb)を生成でき、この基準信号xから参照余弦波信号raと参照正弦波信号rbを生成することができる。
具体的には、図6に示すように、制御周期TfがTf=50[ms]で、分割数m1が、m1=13.3であるとき、ステップ数Pは、N/m1=40/13.3は、商が3であり、余りが0.1であるので、小数部を切り捨て、ステップ数P=3が計算される。
このとき、アドレス「0、3、6、…、36、39」の黒丸で示す波形データ「0、Asin(360゜×3/40)、Asin(360゜×6/40)、…Asin(360゜×39/40)が読み出され、基準正弦波信号xbが生成される。なお、制御周期Tfに変動が発生していない場合、波形の連続性を保持するために、前記アドレス「0、3、6、…、36、39」の次の基準信号xの生成用のアドレスは、ステップ数P=3を考慮して、アドレス「2、5、8、…、35、38」の波形データを読み出せばよいことが分かる。
この場合の位相遅延Cdは、分割数mがm1=13.3であるから位相遅延算出器30によりCd=Cd1=−360/13.3=27.06[゜](図5参照)として算出される。
なお、図5及び(3)式で示したように、分割数m1は、同一制御範囲Tca1では、m1=Tx/tx=TU1/tmaxで算出され、変化しないので、分割数m1が同じ同一制御範囲Tca1では、位相遅延Cd1の値も同一である。
例えば、制御周期TfがTf=0.02[s](制御周波数f=50[Hz])でのサンプリング周波数fsは、fs=50×13.3=665[Hz]で、サンプリング周期tsは、ts=1/665=0.0015[s]となり、位相遅延Cd1は、Cd1=−360/m1=−360/(Tf/ts)=−360×ts/Tf=−360×0.0015/0.02=−27.06[゜]となる。
制御周期Tfが変化し、Tf=0.01818[s](制御周波数f=55[Hz])となったときのサンプリング周波数fsは、fs=55×13.3=731.5[Hz]となり、サンプリング周期tsは、ts=1/731.5=0.001367[s]となるが、位相遅延Cd1は、Cd1=−360/m1=−360/(Tf/ts)=−360×ts/Tf=−360×0.001367/0.01818=−27.06[゜]となり、位相遅延Cdの値は、分割数m1が同一である限り同一であることが分かる。
ゲインの調整された参照余弦波信号raと参照正弦波信号rbにこの位相遅延Cd1が位相遅延付与器51、52で付与されて参照信号rx、ryが生成される。
以上説明したように上述した第1実施例では、エンジン等の騒音源から騒音が伝達される空間に制御音源であるスピーカ104からの制御音を発生して制音する能動型騒音制御装置10において、前記騒音源の騒音周期の調波の基準信号として周期360゜の三角関数信号である基準余弦波信号xaと基準余弦波信号xbを生成する基準信号生成器22と、基準信号x(xa、xb)が供給され、可変サンプリングのサンプリング周期ts毎にスピーカ104に供給する制音制御信号ya、ybを更新して生成する適応ノッチフィルタ102(102a、102b)と、スピーカ104と前記騒音源とから出力される音の合成音から誤差信号eを検出する誤差信号検出器としてのマイクロホン105と、基準信号x(xa、xb)を、適応ノッチフィルタ102の出力からスピーカ104とマイクロホン105とを含みフィルタ係数算出器106の入力までの伝達経路の伝達特性で変換し、参照信号r(ra、rb)を生成する参照信号生成器28と、制御範囲Tca1内の特定制御信号の制御周期Tfを最長制御周期TU1とし、該最長制御周期TU1を最長サンプリング周期tmaxで除算した値である分割数m1を算出するサンプリング周期・分割数算出器12と、分割数m1に応じて位相遅延Cd1(Cd1=−360゜/m1)を算出する位相遅延算出器30と、算出された位相遅延Cd分、参照信号r(ra、rb)を遅延させる位相遅延付与器51、52と、遅延した参照信号rx、ryと誤差信号eとから誤差信号eが最小となるように適応ノッチフィルタ102のフィルタ係数を更新するフィルタ係数算出器106とを備える。
この第1実施例によれば、位相遅延算出器30により、分割数m1に応じて位相遅延Cd1を算出し(Cd1=−360/m1)、算出した位相遅延Cd1分、参照信号r(ra、rb)を位相遅延付与器51、52により遅延し、遅延した参照信号r(rx、ry)と誤差信号eとから誤差信号eが最小となるように適応ノッチフィルタ102のフィルタ係数を更新するようにしているので、可変サンプリング技術おける位相遅延Cdの補償が考慮され、可変サンプリング技術における適応ノッチフィルタ102の騒音制御に係る追従性を向上させることができる。
より具体的には、可変サンプリング技術における位相遅延を補償する構成としているので、電気音響周波数応答特性モデルと実際の応答特性とのずれ(誤差)が低減され制御性能が向上するという効果が達成される。
この場合、基準信号生成器22は、周期360゜の三角関数信号を所定数Nに離散化した波形データとして記憶する波形データテーブル19を有し、所定数Nを分割数m1で除算した商又は前記商に1を加算した値をステップ数Pとし、サンプリング周期tsでステップ数P毎に波形データテーブル19から前記波形データを読み出して基準信号x(xa、xb)を生成することができる。
この第1実施例によれば、波形データを離散的に読み出すためのステップ数Pを、波形データの総数である所定数Nを分割数m1で除算した商又は商+1としているので、可変サンプリング技術で用いられる分割数m1が、従来技術のように自然数のみではなく、実数でよくなり、制御範囲の設計の自由度を高めることができる。換言すれば、分割数m1として実数を用いることで、消音能力限界サンプリング周期tmax又は処理能力限界サンプリング周期tminを必要最小限のサンプリング周期tsに設定することができる。
この場合、特定の制御信号の制御周期Tfである最長制御周期TU1を、制御範囲Tca1内の最長制御周期としてもよく、それより短い周期としてもよい。
[第2実施例]
次に、検出された制御周期Tfが、図5に示した、ある制御範囲Tca1の下限である第1同一分割数最短制御周期TL1よりも短い周期(より高いエンジン回転数)となる場合の構成作用について説明する。この第2実施例では、同一のCPU(同一の処理能力限界を有するCPU)で、換言すれば、処理能力限界サンプリング周期tminをより短い値にすることなく、広い制御範囲Ttotaを制御できるようにする。
なお、以下の理解を容易にするために、図5に示した同一分割数最短制御周期TL1を第2最長制御周期TU2ともいう。
この第2実施例においても、上記(3)式と同様にして、第2最長制御周期TU2を消音能力限界サンプリング周期tmaxで除算した値を第2分割数m2(実数)とする。
そして、図7に示すように、第2同一分割数最短制御周期TL2を、上記(4)式と同様に、TL2=m2×tminで決定する。
この第2実施例において、図7の太線で示したサンプリング周期特性C2により、第2の制御範囲Tca2に含まれる第2最長制御周期TU2より短い制御周期Tf=Tx2に対応するサンプリング周期ts=tx2を、上記(5)式と同様に、tx2=Tx2/m2で決定することができる。
上述した第2実施例では、制御範囲が、最長制御周期TU1と同一分割数最短制御周期TL1とで定まる範囲より大きい場合に、サンプリング周期・分割数算出器12は、同一分割数最短制御周期TL1を第2最長制御周期TU2とし、第2最長制御周期TU2を最長サンプリング周期tmaxで除算した値である第2分割数m2を決定し、最短サンプリング周期tminに第2分割数m2を乗算した周期を第2同一分割数最短制御周期TL2とするとともに、制御周期Tfが第2最長制御周期TU2と第2同一分割数最短制御周期TL2との範囲内の制御周期Tx2であれば、制御周期Tfを第2分割数m2で除算した値を第2サンプリング周期tx2として出力する。
この場合、基準信号生成器22は、所定数Nを第2分割数m2で除算した商又は前記商に1を加算した値を第2ステップ数P2とし、制御周期Tfが第2最長制御周期TU2と第2同一分割数最短制御周期TL2との第2範囲内であれば、第2サンプリング周期tx2で第2ステップ数P2毎に波形データテーブル19から波形データを読み出して基準信号xを生成する。
この第2実施例によれば、図5及び図6を参照すれば明らかなように、CPUの処理能力限界に対応する処理能力限界サンプリング周期tminを変更することなく、制御周期Tfの制御範囲を制御範囲Tca1に制御範囲Tca2を合わせた広い制御範囲Ttotalとすることができる。
上述したように、このサンプリング周期特性C2上でのステップ数Pは、波形データの総数である所定数Nを分割数m2で除算し、割り切れた場合の商、又は商+1とする。
そうすると、制御周期Tfが第2最長制御周期TU2と第2同一分割数最短制御周期TL2との制御範囲Tca2内にあるとき、検出した制御周期Tfを分割数m2で除算した値に応じたサンプリング周期ts=Tf/m2)で、ステップ数P(所定数Nを分割数m2で除算した商、又は商+1)毎に波形データテーブル19から波形データを読み出して、基準信号x(基準余弦波信号xaと基準正弦波信号xb)と、第1及び第2参照信号rx、ryを生成することができる。
具体的に、図8に示すように、制御周期Tfが30[ms]で、分割数m2が、m2=6.8であるとき、ステップ数Pは、N/m2=40/6.8は、商が5であり、小数部0.882…を切り上げて、ステップ数P=6(商+1)が計算される。
このとき、アドレス「0、6、12、…、30、36」の黒丸で示す波形データ「0、Asin(360゜×6/40)、Asin(360゜×12/40)、…Asin(360゜×36/40)が読み出される。なお、制御周期Tfの変動が発生していない場合、波形の連続性を保持するために、次の基準信号xの生成用のアドレスは、ステップ数P=6を考慮して、アドレス「2、8、14、…、32、38」の波形データが読み出される。
この場合の位相遅延Cdは、分割数mがm2=6.8であるから位相遅延算出器30によりCd=Cd2=−360/6.8=52.9[゜]として算出される(図7参照)。
なお、図5及び(3)式で示したように、分割数m2は、同一制御範囲Tca2では、m2=Tx/tx=TU2/tmaxで算出され、変化しないので、図7に示すように、分割数m2が同じ同一制御範囲Tca2では、位相遅延Cd2の値も同一である。
例えば、制御周期TfがTf=0.0025[s](制御周波数f=400[Hz])でのサンプリング周波数fsは、fs=400×6.8=2720[Hz]で、サンプリング周期tsは、ts=1/2720=0.0003676[s]となり、位相遅延Cd2は、Cd2=−360/m2=−360/(Tf/ts)=−360×ts/Tf=−360×0.0003676/0.0025=−52.9[゜]となる。
制御周期Tfが変化し、Tf=0.00227[s](制御周波数f=440[Hz])となったときのサンプリング周波数fsは、fs=440×6.8=2992[Hz]となり、サンプリング周期tsは、ts=1/2992=0.000334[s]となるが、位相遅延Cd2は、Cd2=−360/m2=−360/(Tf/ts)=−360×ts/Tf=−360×0.000334/0.00227=−52.9[゜]となり、位相遅延Cd2の値は、分割数m2が同一である限り同一であることが分かる。
[第3実施例]
実際上、エンジン回転数には、クルーズコントロール(定速制御)中であっても、エンジンの燃焼のばらつきにより、例えば、2000[rpm]といっても、±10[rpm]程度の変動がある。また、クルーズコントロール中でなくても、定速走行を行おうとするときのユーザの無意識の微小なアクセル操作によりエンジン回転数が変動する。
したがって、検出した制御周期Tfが、図7中、第2最長制御周期TU2近傍の値である場合、サンプリング周期特性C1とサンプリング周期特性C2が切り替えられるが、分割数mが分割数m1と分割数m2との間で切り替わることになるので、能動制御の更新回数が変化し制御が安定しない。すなわち、消音効果が微妙に変化するおそれがある。
この第3実施例では、CPUの処理能力限界の制限を大幅に緩やかにして、広い制御範囲を確保することを可能とするとともに、制御周期Tfが変動する場合においても、滑らかな消音効果を得る制御、換言すれば、効果的な消音制御が行えるようにする。
そこで、図9に示すように、基準信号生成器22は、第1最長制御周期TU1と、第2最長制御周期TU2との間の特定周期を第3最長制御周期TU3する。
また、上記(3)式と同様にして、この第3最長制御周期TU3を、消音能力限界サンプリング周期tmaxで除算した値を第3分割数m3(実数)とする。
さらに、上記(4)式と同様に、この第3分割数m3に、CPUの処理能力限界サンプリング周期tminを乗算した値を、制御範囲Ttotal中、第3同一分割数最短制御周期TL3(TL3=m3×tmin)とする。
この第3実施例において、図9の太線で示したサンプリング周期特性C3により、第3制御範囲Tca3に含まれる制御周期Tf=Tx3に対応するサンプリング周期ts=tx3を、上記(5)式と同様に、tx3=Tx3/m3で決定することができる。
このサンプリング周期特性C3上でのステップ数Pは、波形データの総数である所定数Nを分割数m3で除算し、割り切れた場合の商、又は商+1とする。
具体的に、図10に示すように、例えば、制御周期Tfが40[ms]で、分割数mが、m=m3=9.75であるとき、ステップ数Pは、N/m3=40/9.75は、商が4であり、小数部0.102…を切り捨て、ステップ数P=4(結局、N/m1=40/9.75の商に等しい。)が計算される。
このとき、アドレス「0、4、8、…、32、36」の黒丸で示す波形データ「0、Asin(360゜×4/40)、Asin(360゜×8/40)、…Asin(360゜×36/40)が読み出される。なお、制御周期Tfの変動が発生していない場合、波形の連続性を保持するために、次の基準信号xの生成用のアドレスは、ステップ数P=4を考慮して、アドレス「0、4、8、…、32、36」の波形データが読み出される。
この場合の位相遅延Cdは、分割数mがm3=9.75であるから位相遅延算出器30によりCd=Cd3=−360/9.75=−36.9[゜]として算出される。
なお、分割数m3は、同一制御範囲Tca3では、m3=Tx/tx=TU2/tmaxで算出され変化しないので、分割数m3が同じ同一制御範囲Tca3では、位相遅延Cd3の値も同一であり変化しない。
例えば、制御周期TfがTf=0.0111[s](制御周波数f=90[Hz])でのサンプリング周波数fsは、fs=90×9.75=877.5[Hz]で、サンプリング周期tsは、ts=1/877.5=0.001396[s]となり、位相遅延Cd2は、Cd3=−360/m3=−360/(Tf/ts)=−360×ts/Tf=−360×0.001396/0.0111=−36.9[゜]となる。
制御周期Tfが変化し、Tf=0.01[s](制御周波数f=100[Hz])となったときのサンプリング周波数fsは、fs=100×9.75=975[Hz]となり、サンプリング周期tsは、ts=1/100=0.01[s]となるが、位相遅延Cd2は、Cd3=−360/m3=−360/(Tf/ts)=−360×ts/Tf=−360×0.0010256/0.01=−36.9[゜]となり、位相遅延Cd3の値は、分割数m3が同一である限り同一であることが分かる。
次に、図9のサンプリング周期特性C1、C2、C3を利用した場合の、いわゆるヒステリシス制御を利用したフィルタ係数の更新制御動作及び位相遅延Cd1、Cd2、Cd3の持替制御動作について、図11のフローチャートを参照して説明する。このフローチャートは、マイクロコンピュータ1(基準信号生成器22)により実行されるサンプリング周期tsを決定するためのプログラムである。
ステップS1で、周波数検出回路11により今回の制御周期Tfが検出されると、ステップS2において、検出された制御周期Tfに対して、前回にサンプリング周期tsを算出するために使用したサンプリング周期特性C(C1〜C3の中のいずれか)又は分割数m(m1〜m3のいずれか)を参照し、上記(5)式により、今回の制御に使用予定のサンプリング周期ts(ts=Tf/m)を求める。なお、制御開始時に、分割数mは、m=m1に設定されている。
ここでは、理解の容易化のために、前回に使用したサンプリング周期特性Cがサンプリング周期特性C3(分割数m3)及び位相遅延CdがCd3であったものとする。
次に、ステップS3において、このステップS2で算出した今回使用予定のサンプリング周期tsと消音能力限界サンプリング周期tmaxと比較し、今回使用予定のサンプリング周期tsが消音能力限界サンプリング周期tmaxを上回る値になっていないかどうかを判定する(ts≧tmax?)。
例えば、減速中であって、つまり制御周期Tfが、サンプリング周期特性C3による制御範囲(第1同一分割数最短制御周期TL3〜第3最長制御周期TU3の範囲)中、長くなる方に増加中であって、前回サンプリング周期tsを算出したときに比較して、今回検出した制御周期Tfが、第3最長制御周期TU3を上回る値となっていた場合には、サンプリング周期特性C3の範囲を超えるので、このステップS3の判断が成立し、この場合には、ステップS4において、分割数mを持ち替えることでサンプリング周期特性Cをより最長制御周期側の特性に変更する。
ここでは、制御周期Tfが第3最長制御周期TU3を上回る値となっていた場合の持ち替えであるので、分割数mを、分割数m3から分割数m1に持ち替え、サンプリング周期特性C3からサンプリング周期特性C1に変更する。同時に位相遅延Cdが位相遅延算出器30で算出され、位相遅延Cd3から位相遅延Cd1に持ち替えられる。
なお、前回の制御周期Tfが第2最長制御周期TU2を下回る値であって、今回の制御周期Tfが第2最長制御周期TU2を上回る値となっていた場合には、分割数m2から分割数m3に持ち替え、サンプリング周期特性C2からサンプリング周期特性C3に変更する。同時に位相遅延Cdを位相遅延Cd2から位相遅延Cd3に持ち替える。
次いで、ステップS5において、持ち替えた分割数m1で、今回使用予定のサンプリング周期ts(この例では、ts=Tf/m1)を再度算出する。
このように分割数mを分割数m3から分割数m1を持ち替えてサンプリング周期tsを計算することで、分割数m1〜m3には、図8から分かるように、m2<m3<m1の関係があるので、サンプリング周期tsが短くなり、ステップS1で検出した制御周期Tfが制御範囲Ttotal(図9参照)の間であれば、次のステップS6におけるts≦tmaxの判定が成立する。
判定が成立したとき、ステップS7において、ステップS6で算出した今回使用予定のサンプリング周期tsが、今回使用するサンプリング周期tsに決定され、同時にステップS4で算出された位相遅延Cdが位相遅延付与器51、52に設定され、以降、上述したように、基準信号生成器22、参照信号生成器28及び制振制御信号生成器32により、第1適応ノッチフィルタ102a及び第2適応ノッチフィルタ102bのフィルタ係数の更新処理が行われる。
一方、ステップS3において、ステップS2で算出した今回使用予定のサンプリング周期tsと消音能力限界サンプリング周期tmaxと比較した結果、今回使用予定のサンプリング周期tsが消音能力限界サンプリング周期tmaxより小さな値である場合には、ステップS3の判定が否定的となる。
なお、ここでも、理解の容易化のために、前回に使用したサンプリング周期特性Cがサンプリング周期特性C3(分割数m3)であったものとする。
ステップS3の判定が否定的となった場合には、ステップS8において、ステップS2で算出した今回使用予定のサンプリング周期tsが、処理能力限界サンプリング周期tminを下回る値になっていないかどうかを判断する。
下回る値となっていない場合には、サンプリング周期tsは、消音能力限界サンプリング周期tmaxと処理能力限界サンプリング周期tminとの間にあるので、サンプリング周期特性C3(分割数m3)を変更することなく、位相遅延Cd3も変更することなく、ステップS7において、ステップS2で算出した今回使用予定のサンプリング周期ts(ここでは、ts=Tf/m3)が、今回使用するサンプリング周期tsに決定され、以降、上述したように、基準信号生成器22、参照信号生成器28及び制振制御信号生成器32により、第1適応ノッチフィルタ102a及び第2適応ノッチフィルタ102bのフィルタ係数の更新処理が行われる。
その一方、ステップS8の判定において、ステップS2で算出した今回使用予定のサンプリング周期ts(ここでは、Tf/m3)が、処理能力限界サンプリング周期tminを下回る値になっていた場合、例えば、加速中であって、つまり制御周期Tfが短くなる方に減少中であって、前回サンプリング周期tsを算出したときに比較して、今回検出した制御周期Tfが、第3同一分割数最短制御周期TL3を下回る値となっていた場合には、サンプリング周期特性C3の範囲を超えるので、このステップS8の判定が成立し、この場合には、ステップS9において、分割数mを持ち替えることでサンプリング周期特性Cをより最長制御周期側の特性に変更する。
ここでは、制御周期Tfが第3同一分割数最短制御周期TL3を下回る値となっていた場合の持ち替えであるので、分割数mを、分割数m3から分割数m2に持ち替え、サンプリング周期特性C3からサンプリング周期特性C2に変更する。同時に位相遅延Cdが位相遅延算出器30で算出され、位相遅延Cd3から位相遅延Cd2に持ち替えられる。
同様に、サンプリング周期特性C1上で分割数m1で制御中に、制御周期Tfが短くなり、制御周期Tfが第2最長制御周期TU2を下回る値なった場合には、分割数m1から分割数m3に持ち替え、サンプリング周期特性C1からサンプリング周期特性C3に変更する。同時に位相遅延Cdを位相遅延Cd1から位相遅延Cd3に持ち替える。
次いで、ステップS10において、持ち替えた分割数m2で、今回使用予定のサンプリング周期ts(ts=Tf/m2)を算出する。
このように分割数mを分割数m3から分割数m2を持ち替えてサンプリング周期tsを計算することで、分割数m2、m3には、m2<m3の関係があるので、サンプリング周期tsが長くなり、ステップS1で検出した制御周期Tfが制御範囲Ttotal(図9参照)の間であれば、次のステップS11におけるts≧tminの判定が成立する。
次いで、ステップS7において、ステップS10で算出した今回使用予定のサンプリング周期tsが、今回使用するサンプリング周期Tsに決定され、同時に位相遅延Cdが設定され、以降、上述したように、基準信号生成器22、参照信号生成器28及び制振制御信号生成器32により、第1適応ノッチフィルタ102a及び第2適応ノッチフィルタ102bのフィルタ係数の更新処理が行われる。
以上説明した、図11に示すフローチャートの処理を図12の特性図を参照して説明する。
ステップS1からS6の処理は、前回のサンプリング周期tsが例えば、黒点で示す動作点q1(分割数m3、位相遅延Cd3)にあって、減速操作がなされ、今回算出したサンプリング周期tsが消音能力限界サンプリング周期tmaxを上回る値となっていた場合には、動作点q1が、サンプリング周期特性C3からサンプリング周期特性C1上の動作点q2(分割数m1、位相遅延Cd1)に移る処理である。この状態で、さらに減速された場合には、サンプリング周期特性C1上、動作点q2が動作点q3の方向に移る。
一方、ステップS8〜S11の処理は、前回の動作点qが、動作点q3にあって、加速操作がなされて、制御周期Tfが第3最長制御周期TU3を下回る値となった場合には、動作点qは、同一サンプリング周期特性C1上の動作点q4に移る。
このように制御することにより、動作点q1から動作点q2に移った際に、エンジンの燃焼のばらつきにより制御周期Tfの変動、すなわちエンジン回転数の変動があっても、動作点q1にもどることなくサンプリング周期特性C1上で動作点qが移動することになるので、分割数mが変動することなく、滑らかな消音制御を行うことができる。また、位相遅延Cdも変化しないので消音追従性能が低下することがない。
以下、図12のヒステリシス動作について、残りの部分について、簡単に説明する。動作点q4にあるときに加速操作がなされ、制御周期Tfが第2最長制御周期TU2を下回る場合には、動作点q6に移る。動作点q6に移ったときに減速操作されると動作点q8に移り、さらに加速操作が継続されると動作点q7に移る。動作点q7にあるときにさらに加速操作がなされると、制御周期Tfが第3同一分割数最短制御周期TL3を下回るときに、動作点q8に移り、さらに加速操作が継続されると動作点q9に移る。減速操作がなされると、動作点q9から動作点q10に移り、さらに減速操作がなされると動作点q10から動作点q8に移る。
上述した第3実施例によれば、上記第2実施例の能動型騒音制御装置10において、サンプリング周期・分割数算出器12は、図9に示すように、最長制御周期TU1と同一分割数最短制御周期TL1との間の特定の基準信号の制御周期Tfを第3最長制御周期TU3とし、第3最長制御周期TU3を上限サンプリング周期tmaxで除算した値である第3分割数m3を決定し、下限サンプリング周期tminに第3分割数m3を乗算した周期を第3同一分割数最短制御周期TL3とするとともに、基準信号の制御周期Tfが第3最長制御周期TU3と第3同一分割数最短制御周期TL3との範囲内であれば、基準信号の基準周期Tx3を第3分割数m3で除算した値を第3サンプリング周期tx3として出力する。
この場合、基準信号生成器22は、所定数Nを第3分割数m3で除算した商又は前記商に1を加算した値を第3ステップ数P3とし、基準信号の制御周期Tfが第3最長制御周期TU3と第3同一分割数最短制御周期TL3との第3範囲内であれば、第3サンプリング周期tx3で第3ステップ数P3毎に波形データテーブル19から波形データを読み出して基準信号xを生成する。
サンプリング周期・分割数算出器12は、制御周期Tfが小さくなる加速時には、制御周期Tfが同一分割数最短制御周期TL1より小さくなるとサンプリング周期txから切替えて第3サンプリング周期tx3を、制御周期Tfが第3同一分割数最短制御周期TL3より小さくなると第3サンプリング周期TX3から切替えて第2サンプリング周期tx2を出力し、かつ、制御周期Tfが大きくなる減速時には、制御周期Tfが第2最長制御周期TU2より大きくなると第2サンプリング周期tx2から切替えて第3サンプリング周期tx3を、制御周期Tfが第3最長制御周期TU3より大きくなると第3サンプリング周期tx3から切替えてサンプリング周期txを出力する。
この場合、第2分割数m2より第3分割数m3が大きな値となっており、第3分割数m3より前記第1分割数m1が大きい値になっている(m2<m3<m1)ことから、今回検出した制御周期Tfから更新前の前回の分割数mで算出した所定サンプリング周期tsが、消音能力限界サンプリング周期tmaxを上回る値となった場合には、前回の分割数mを1つ大きな値の分割数mに持ち替えて今回の所定サンプリング周期tsを算出する一方、今回検出した制御周期Tfから更新前の前回の分割数mで算出した所定サンプリング周期tsが、処理能力限界サンプリング周期tminを下回る値となった場合には、前回の分割数mを1つ小さな値の分割数mに持ち替えて今回の所定サンプリング周期tsを算出する。
そして、サンプリング周期tsを算出した際に、同時に位相遅延Cdが位相遅延算出器30で算出され、対応する位相遅延Cdが位相遅延付与器51、52設定される。
この第3実施例によれば、騒音に応じて検出された制御周期Tfが変動成分を有している場合においても、分割数m及び位相遅延Cdを切り替える際に、ヒステリシスを持たせるようにしているので、滑らかかつ追従性のよい騒音制御を継続することが可能となる。
すなわち、この第3実施例によれば、例えば、減速中に、動作点が動作点q1から動作点q2に移った場合において、ヒステリシスを持たせるようにしているので、騒音に応じて検出された制御周期Tfが変動成分を有している場合においても、滑らかな騒音制御が可能となる。また、分割数m1〜m3を実数としているので、設計の自由度が広がる。結果として、CPUの処理能力限界の制限を大幅に緩やかにして、広い制御範囲Ttotalを確保することができる。
[第4実施例]
なお、図13に示すように、サンプリング周期tsが、消音能力限界サンプリング周期tmaxと処理能力限界サンプリング周期tminとの間で、さらに、制御周期Tfの制御範囲Ttotalを広げたい場合には、制御範囲Ttotalの最長制御周期Tmaxの第4最長制御周期TU4と、第4同一分割数最短制御周期TL4で分割数m4のサンプリング周期特性C4を導入するとともに、最長制御周期TU5、第5同一分割数最短制御周期TL5で分割数m5のサンプリング周期特性C5を導入するようにすればよい(m5<m2<m3<m1<m4)。
同様に、位相遅延Cd1〜Cd5(|Cd5|>|Cd2|>|Cd3|>|Cd1|>|Cd4|)が算出される。
このようにすれば、図21のCPUの従来技術に係る処理能力限界サンプリング周期(PRIOR ART)tminを書き入れた図13を参照すれば明らかなように、処理能力限界サンプリング周期timinを長くすることができるので、CPUの処理能力を下げることができ、CPUの処理能力を下げても、換言すれば、処理能力の低い、コストの廉価なCPUを採用しても同一の制御範囲Ttotalで騒音制御を行うことができる。
第2実施例と第3実施例に関連する変形例
第2実施例に係わる図7と、第3実施例に係わる図9を参照すれば、図14に示す変形例もこの発明に含まれることが容易に分かる。
すなわち、制御範囲Ttotalが、最長制御周期TU1と同一分割数最短制御周期TL1とで定まる範囲より広く同一分割数最短制御周期TL1を下回っている場合は、サンプリング周期・分割数算出器12は、サンプリング周期特性C1の最長制御周期TU1より短く同一分割数最短制御周期TL1より長い特定の基準信号の制御周期Tfを第2最長制御周期TU2´とし、第2最長制御周期TU2´を上限サンプリング周期tmaxで除算した値である第2分割数m2´を決定し、下限サンプリング周期TL1に第2分割数m2´を乗算した周期を第2同一分割数最短制御周期TL2´とするとともに、基準信号xの制御周期Tfが第2最長制御周期TU2´と第2同一分割数最短制御周期TL2´との範囲内のサンプリング特性C2´に対応する範囲であれば、基準信号xの基準周期Tx2を第2分割数m2´で除算した値を第2サンプリング周期tx2´として出力する。
基準信号生成器22は、所定数Nを第2分割数m2´で除算した商又は前記商に1を加算した値を第2ステップ数P2´とし、基準信号xの制御周期Tfが第2最長制御周期TU2´と第2同一分割数最短制御周期TL2´との第2範囲内であれば、第2サンプリング周期tx2´で第2ステップ数P2´毎に波形データテーブル19から波形データを読み出して基準信号xを生成する。
同時に、位相遅延Cdも位相遅延Cd1と位相遅延Cd2´との間で持ち替えるようにする。
このようにすれば、処理能力限界サンプリング周期tminを短くすることなく、制御範囲を広げることができる。
この場合においても、サンプリング周期・分割数算出器12は、基準信号xの制御周期Tfが短くなるように変化する時には、基準信号xの制御周期Tfが同一分割数最短制御周期TL1より短くなるとサンプリング周期tx(サンプリング特性C1)から切替えて第2サンプリング周期tx2´(サンプリング特性C2´)を出力し、かつ、基準信号xの制御周期Tfが長くなるように変化する時には、基準信号xの制御周期Tfが第2最長制御周期TU2´より長くなると第2サンプリング周期tx2´から切替えてサンプリング周期txを出力する。
この変形例によれば、騒音に応じて生成された基準信号xの制御周期Tfが変動成分を有している場合においても、分割数m1、m2´及び位相遅延Cd1、Cd2´を切り替える際に、ヒステリシスを持たせるようにしているので、滑らかで追従性のよい消音効果を達成できる騒音制御が可能となる。
B.固定サンプリング技術が適用された能動型騒音制御装置
上述した実施形態においては、分割数mが実数である場合の可変サンプリング技術について説明しているが、位相遅延の付与は、サンプリング周期が固定である固定サンプリング技術が適用された能動型騒音制御装置に適用することで、制御性能(追従性)を向上させることができる。固定サンプリング技術においても、制御周波数fが高くなるにつれて、位相遅延が大きくなり、制御性能(追従性)が低下するからである。
ただし、位相遅延の値は、可変サンプリングの場合と変える必要があり、以下に説明する。
固定サンプリング技術においては、各サンプリング時点で、制御周期Tf(Tf=1/f)と固定サンプリング周期Tfixとを考慮した次の(6)式に示す位相遅延Cdを考慮して、参照信号rを生成する必要がある。
Cd=−360[゜]×(Tfix/Tf) …(6)
図15に、(6)式に基づく位相遅延Cdの変化特性を示す。
例えば、固定サンプリング周波数ffix=4000[Hz]とすると、固定サンプリング周期Tfixは、Tfix=1/4000=0.00025[s]となる。
制御周波数fがf=50[Hz](Tf=1/50=0.02[s])、f=100[Hz](Tf=1/50=0.02[s])、f=200[Hz](Tf=1/50=0.02[s])、f=400[Hz](Tf=1/50=0.02[s])と変化するとき、位相遅延Cdは、それぞれ、Cd=−360×(Tfix/Tf)=−360×0.00025/0.02=−4.5[゜]、Cd=−9[゜]、Cd=−18[゜]、Cd=−36[゜]と線形(リニア)に変化する。
図16に、図19に対応した固定サンプリング技術に係るこの位相遅延Cdを補償するために、参照信号生成器103と直列に位相遅延付与器124を挿入した能動型騒音制御装置101Aのブロック図を示す。
また、図17に、固定サンプリング技術に係るこの遅延位相Cdを補償するために図1の構成要素を固定サンプリング技術用にアレンジした能動型騒音制御装置10Aのブロック図を示す。図17例の能動型騒音制御装置10Aでは、サンプリング周期が固定であるので、図1に示したサンプリング周期・分割数算出器12は不要となり、位相遅延算出器30Aが、上記(6)式の演算を行い、算出した位相遅延Cdを位相遅延付与器51、52に設定する構成とされる。波形データテーブル19Aの波形データ数は波形データテーブル19の波形データ数に比較して大きい数とされている。
このように、固定サンプリング技術では、制御周期Tfに対する固定サンプリング周期Tfixの比に応じて位相遅延Cdを補償することで騒音に対する制音制御の制御性能(追従性)を向上させることができる。
C.可変サンプリング技術又は固定サンプリング技術が適用された能動型振動制御装置
上述した実施形態においては、車両に搭載された能動型騒音制御装置へのこの発明の適用例について説明しているが、この発明は車両に搭載された能動型振動制御装置についても適用することができる。
具体的には、車体フレーム上にアクチュエータ(アクティブエンジンマウント)を介して振動源であるエンジンを支持し、前記エンジンから前記フレームに伝達される振動を前記アクチュエータにより制振する能動型制振制御装置に適用される。
例えば、図18に示すように、能動型振動制御装置300を車両241に適用した場合について説明する。
図18はエンジンマウント253を利用して、振動源であるエンジンによる発生振動騒音を打ち消す(吸収する)場合の構成例を模式的に示している。
この例では、スピーカ104に代替して車両241のエンジン42を車体フレーム(不図示)上にアクチュエータである自己伸縮型のエンジンマウント253を用いて支持し、マイクロホン105に代替してエンジンマウント253近傍に設けられた加速度センサあるいは荷重センサ等の振動検出センサ254を用いる。実際上、エンジンマウント253は、液封マウントの下部に内蔵されたリニアソレノイドアクチュエータを、振動制御信号yによりエンジン42の振動を吸収するように動作する。
図18において能動型振動制御装置300は、例えば8ビットのマイクロコンピュータで構成し、前記と同様に基準信号生成器22と適応ノッチフィルタ102a及び102bで代表して、簡略化して示してある。
車両241のエンジン42を制御するエンジン制御器257から出力されるエンジンパルスを、エンジンマウント253及び振動検出センサ254と協働する能動型振動制御装置300に入力し、振動検出センサ254からの出力、すなわち誤差信号が最小となるように、フィルタ係数が適応制御された適応ノッチフィルタ102a、102bの出力でエンジンマウント253を各別に駆動制御して、エンジン42の振動を吸収して、車体振動を抑制する。振動の打ち消し作用、遅延位相の付与については図1、図16、図17の能動型騒音制御装置10、101A、10Aについて説明した通りである。