(実施の形態1)
図1は本発明の実施の形態1における第1の例の能動騒音低減装置4を用いた能動騒音低減システム101のブロック図である。図1において、従来の能動騒音低減システム901と同じものには、同じ符号を用い、その説明は簡略化している。図2は、本実施の形態1における能動騒音低減装置4の記憶部9に格納された第1の例のテーブルを示す図である。
本実施の形態における能動騒音低減装置4は、参照信号入力端子41と、出力端子42と、誤差信号入力端子43と、装置情報入力端子44と、適応フィルタブロック(以下、ADFブロック105)と、模擬音響伝達特性データフィルタ部(以下、Chat部6)と、最小二乗平均演算部(以下、LMS演算部7)と、制御ブロック8と、記憶部9とを含んで構成されている。
参照信号入力端子41には、騒音N0と相関のある参照信号x(i)が入力される。
ADFブロック105は、少なくとも1個の適応フィルタ部(以下、ADF部5)と、調整部10を含み、参照信号x(i)に基づいてキャンセル信号y(i)を出力する。
ADF部5は、参照信号x(i)が入力され、入力された参照信号x(i)とフィルタ係数w(k,i)とをフィルタリング演算することによって、キャンセル信号y(i)を出力する。
出力端子42は、ADFブロック105から出力されたキャンセル信号y(i)を出力する。出力端子42から出力されたキャンセル信号y(i)は、キャンセル音源2によって、キャンセル信号y(i)に対応するキャンセル音N1として空間S1へ放出される。
キャンセル音源2から出力されたキャンセル音N1と騒音N0との干渉による残留音である誤差信号e(i)は、誤差信号入力端子43へ入力される。
Chat部6は、模擬音響伝達特性データC^によって、参照信号x(i)を補正して、濾波参照信号r(i)をLMS演算部7へ出力する。なお、模擬音響伝達特性データC^は、ADFブロック105からキャンセル信号y(i)が出力されてから、誤差信号e(i)としてLMS演算部7へ到達するまでの間の伝達経路の音響伝達特性Cを模擬したデータである。
装置情報入力端子44には、装置情報検出部11によって検出された装置情報s(i)が入力される。制御ブロック8には、装置情報s(i)が供給される。記憶部9には、図2に示すように、あらかじめ定められた複数の装置情報データSd(l)が記憶されたテーブル91が格納されている。そして図1に示す制御ブロック8は、装置情報s(i)に基づいた装置情報データSd(j,i)として、図2に示すテーブル91から2個以上の装置情報データSd(l)を選択する。ここでjはフィルタ係数Wjに対応するJ個の装置情報データであることを示し、(j=0,1,・・・,J−1)である。
次に図1に示すLMS演算部7は、現時点であるn番目のステップの誤差信号e(n)と濾波参照信号R(n)、およびステップサイズパラメータμとを用いて、選択した2個以上の装置情報データSd(j,n)に対応して、少なくとも2個の次回のフィルタ係数Wj(n+1)を生成する。
制御ブロック8は、装置情報s(n)と選択された2個以上の装置情報データSd(j,n)に基づいて、キャンセル信号y(n)における前記2個のフィルタ係数の寄与割合aj(n)を生成し、調整部10へ出力する。
調整部10は、LMS演算部7における前回(n−1回目のステップ)の演算によって生成された今回(n回目のステップ)のフィルタ係数Wj(n)が入力される。そして、制御ブロック8によって決定した寄与割合aj(n)に基づいて、キャンセル信号y(n)における今回のフィルタ係数Wj(n)の寄与度を調整する。その結果、ADFブロック105は、調整部10によって調整された寄与度に基づいてキャンセル信号y(n)を出力する。
以上の構成により、装置情報s(i)と選択された2個以上の装置情報データSd(j,i)に基づいて決定された寄与割合aj(i)に基づいて、キャンセル信号y(i)におけるフィルタ係数の寄与度を調整するので、装置情報s(i)が変化した場合にも、騒音N0を良好に低減できる能動騒音低減装置4を得ることができる。なお、ここで選択する装置情報データSd(j,i)、フィルタ係数Wj(i)、寄与割合aj(i)の個数は同数(J個)としているが、それぞれ異なっても構わない。
また、装置情報s(i)が変化した場合、寄与割合aj(i)を変化させることによって、キャンセル信号y(i)を素早く最適な値へと変化させることができる。その結果、キャンセル信号y(i)を素早く最適な値へと変化させることができるので、誤差信号e(i)も素早く小さくなる。したがって、ADFブロック105のフィルタ係数W(i)も素早く安定するので、素早く騒音N0を低減できる能動騒音低減装置4を得ることができる。
さらに、装置情報s(i)と選択された2個以上の装置情報データSd(j,i)に基づいて寄与割合aj(i)を決定し、この寄与割合aj(i)に応じてキャンセル信号y(i)を出力するので、記憶部9内にあらかじめ多くの装置情報データSd(l)を準備する必要がない。したがって、記憶部9に記憶しておく装置情報データSd(l)の個数Lを少なくできるので、記憶部9のメモリ容量を削減できる。その結果、能動騒音低減装置4の小型化や、低価格化も実現できる。
次に、本実施の形態における能動騒音低減装置4の構成について、詳細に説明する。図3は、実施の形態1における能動騒音低減装置4を用いた能動騒音低減システム101を搭載した移動体装置の概略図である。なお、これらの図面において、図1および図2と同じものには、同じ符号を用いており、その説明は簡略化している。
本実施の形態において能動騒音低減装置4は能動騒音低減システム101の一部として移動体装置へ搭載されて使用される。移動体装置は、装置本体と、空間S1と、参照信号源1とキャンセル音源2と誤差信号源3と、装置情報検出部11と、能動騒音低減装置4を含んでいる。空間S1は、装置本体内に設けられた部屋などの内に形成され、この部屋には人が入室する。
以下、移動体装置の一例として自動車102を用いて説明する。本例において空間S1は、自動車102のボディ103(装置本体)内に設けられており、人が搭乗する車室である。そして、車室へ搭乗する人には、運転者や搭乗者が含まれる。なお、運転者は装置を操縦する操作者の一例として用いている。また、搭乗者は装置を利用する使用者の一例として用いている。なお、操作者と使用者とが同一であっても構わない。
図1、図3において、参照信号源1は、能動騒音低減装置4の参照信号入力端子41と接続され、騒音N0と相関のある参照信号x(i)を出力するトランスデューサである。たとえば、参照信号源1は、自動車102のシャーシなどに固定されている。また、参照信号源1は、エンジン、車軸、ボディ、タイヤ、タイヤハウス、ナックル、アーム、サブフレーム、外装部、内装部など騒音N0の騒音源あるいは騒音伝達経路に設置されてもよい。参照信号源1には、振動や音を検出する加速度センサやマイクフォン等を用いることができる。また参照信号源1には、エンジンに対するタコパルスなどのように、騒音源の動作に関連する信号を用いてもよい。
キャンセル音源2はキャンセル信号y(i)に対応したキャンセル音N1を発生させるトランスデューサである。たとえば、キャンセル音源2には、スピーカを用いることができる。このキャンセル音源2は、空間S1内にキャンセル音N1を放出できるように、ボディ103内へ設置されている。なお、キャンセル音源2には、カーオーディオのスピーカや、アンプなどを流用しても良い。この場合、別途専用にキャンセル音源2を用いる必要がない。また、キャンセル音源2には、自動車102のルーフ等の構造物に設置したアクチュエータ等を用いることもできる。この場合アクチュエータの出力によって加振された構造物から放射されることによって、キャンセル音N1が放出される。
また、キャンセル音源2は一般的にキャンセル信号y(i)を増幅する電力増幅部を有するか、外部に設けた電力増幅器によって増幅されたキャンセル信号y(i)によって駆動されることが多い。実施の形態1における電力増幅部は、キャンセル音源2に含まれるが、これは実施の形態を制限するものではない。さらにキャンセル音源2は、低域通過フィルタ等のフィルタ部やキャンセル信号y(i)の信号の振幅や位相を調整する信号調整器などを含んでもよい。なお、これらの中の少なくともいずれかひとつをADFブロック105側へ設けても構わない。
誤差信号源3は、空間S1における騒音N0とキャンセル音N1とが干渉した残留音を検出し、残留音に対応する誤差信号e(i)を出力する。誤差信号源3は、トランスデューサであり、マイクロフォン等を用いることができる。なお誤差信号源3は、ボディ103内において、空間S1の残留音を集音可能となるように設置される。したがって、誤差信号源3は、騒音N0を低減すべき空間S1内に設置されることが望ましい。たとえば、誤差信号源3は、座席のヘッドレストや、搭乗者が座る座席の頭上近くのルーフなどの位置に設置する。すなわち、搭乗者の耳に近い位置に誤差信号源3を設置することにより、搭乗者が聞く騒音N0と相関性の良い誤差信号e(i)を検知できる。
装置情報検出部11は、能動騒音低減装置4の装置情報入力端子44と接続され、検出した装置情報s(i)を制御ブロック8へと供給する。
本実施の形態において、能動騒音低減装置4は信号処理装置(マイコンやDSP)内で構成されており、ADFブロック105やChat部6やLMS演算部7等は、サンプリング周期Tsの離散時間の間隔で動作している。なお、本実施の形態において、ADFブロック105、Chat部6やLMS演算部7の処理は、ソフトウェアによって行われているが、これに限らずそれぞれに専用の回路を構成しても構わない。また、信号処理装置内には、装置情報s(i)から参照信号x(i)を生成し、参照信号入力端子41に出力するブロックを設けても構わない。
能動騒音低減装置4は、参照信号x(i)と誤差信号e(i)とに応じたキャンセル信号y(i)を出力端子42から出力する。キャンセル音源2は、キャンセル信号y(i)に対応するキャンセル音N1を空間S1内に発生させ、このキャンセル音N1を空間S1内の騒音N0と干渉させることによって空間S1の騒音N0を低減する。
以下、実施の形態1における能動騒音低減装置4の動作を、制御ブロック8が選択する装置情報データSd(j,i)の数Jが3個(j=0,1,2)の場合で説明する。ただし、これらの数は3個に限らず、2個あるいは4個以上としてもよく、実施の形態を制限するものではない。
一般的に、自動車102の走行中に発生する騒音には、エンジン回転によるこもり音や、タイヤが原因となる音、さらには車軸、タイヤハウス、ナックル、アーム、サブフレーム、ボディなどの振動によって発生する雑音などがある。特に本例のような自動車102においては、走行時に発生する騒音N0の発生要因は非常に多い。したがって、生じる騒音の周波数帯域は広い。
そこで、このような広い周波数の騒音N0を低減するために、ADF部5はフィルタードX−LMS(以下、FxLMS)アルゴリズムによりサンプリング周期Tsごとに値が更新されるN個のフィルタ係数w(k)、(k=0,1,…,N−1)からなる有限インパルス応答(以下、FIR)フィルタで構成される。すなわち、ADF部5は、N個のタップを有する構成となる。
そして、ADF部5では、(数4)に示すようにして、現時点n・Ts(n番目のステップ)におけるキャンセル信号y(n)が、求められる。すなわち、キャンセル信号y(n)はフィルタ係数w(k,n)と参照信号x(i)をフィルタリング演算すなわち畳み込み演算することにより求められる。
Chat部6はキャンセル信号y(i)の信号伝達経路の音響伝達特性Cを模擬した模擬音響伝達特性データC^が、記憶されている。なお、信号伝達経路は、ADFブロック105からLMS演算部7までの間の信号経路である。本実施の形態における信号伝達経路は、キャンセル信号y(i)がADFブロック105から出力されてから、誤差信号e(i)としてLMS演算部7へ到達するまでの間の経路である。そして、音響伝達特性Cは、この信号伝達経路でのキャンセル信号y(i)の遅延時間(位相変化量)や、ゲイン変化量などの特性を含んでいる。
信号伝達経路にはキャンセル音源2、誤差信号源3、空間S1に加え、フィルタや、ディジタルアナログ(以下、D/A)変換器、アナログディジタル(以下、A/D)変換器などを含んでも良い。本例の能動騒音低減装置4における出力端子42には、D/A変換器を含み、キャンセル音源2にはフィルタを含んでいる。一方、誤差信号源3にはフィルタを含み、誤差信号入力端子43には、A/D変換器を含んでいる。つまり、音響伝達特性Cには、ADFブロック105からLMS演算部7の間でのキャンセル音源2の特性や空間S1の音響特性に加えて、信号伝達経路に含まれるフィルタの特性やD/A変換およびA/D変換による信号の遅延などを内包してもよい。
本実施例において模擬音響伝達特性データC^は、(数5)に示すように、Nc個の時不変なFIRフィルタ係数c^(kc)、(kc=0,1,…,Nc−1)によるNc行1列のベクトルとして表現される。なお、模擬音響伝達特性データC^は、更新あるいは補正して用いることもできる。また、模擬音響伝達特性データC^は時間により変化する時変なフィルタ係数c^(kc,n)としてもよい。
Chat部6は、(数5)に示す模擬音響伝達特性データC^と、参照信号X(n)とを(数6)に示すフィルタリング演算すなわち畳み込み演算して、現時点(n番目のステップ)での濾波参照信号r(n)を作成する。
ここで参照信号X(n)は、(数7)に示すように、現時点のn番目のステップからNc−1ステップ分過去までのNc個の参照信号x(i)によるNc行1列のベクトルである。
LMS演算部7には、(数6)で示される現時点(n番目のステップ)での濾波参照信号r(n)が入力され、濾波参照信号R(n)を生成する。そのために記憶部9には、前回((n−1)番目のステップ)から、現在から(N−1)ステップ分過去までの(N−1)個の濾波参照信号r(n−1)・・・r(n−(N−1))が記憶されている。そして、LMS演算部7は、(数8)に示すように、これらのN個の濾波参照信号r(i)を用いて、N行1列のベクトルである濾波参照信号R(n)を準備する。
さらにLMS演算部7は、2個以上のフィルタ係数Wj(n+1)と、2個以上のフィルタ係数データWDj(n)を生成し、記憶部9へ格納する。なお、本実施の形態においては、3個のフィルタ係数Wj(n+1)、(j=0,1,2)と、フィルタ係数データWDj(n)を生成する。
現時点(n番目のステップ)におけるフィルタ係数Wj(n)は、(数9)に示すように、それぞれN個のフィルタ係数wj(k,n)、(k=0,1,…,N−1)によるN行1列のベクトル行列として表される。
また、フィルタ係数データWDj(n)は(数9)と同様に、N個のフィルタ係数wdj(k,n)によって、(数10)で表される。
LMS演算部7は、(数11)に示すように、現時点(n番目のステップ)での誤差信号e(n)と濾波参照信号R(n)とステップサイズパラメータμ、およびフィルタ係数データWDj(n)とを用いて、次回(n+1番目のステップ)におけるフィルタ係数Wj(n+1)を算出する。
さらに、現時点での誤差信号e(n)と濾波参照信号R(n)とステップサイズパラメータμとフィルタ係数データWDj(n)に加え、制御ブロック8で生成される補正値bj(n)を用いて、(数12)に示すように次回におけるフィルタ係数データWDj(n+1)を算出する。
ADFブロック105には、ADF部5と、調整部10とを含む。調整部10には、LMS演算部7で算出された現時点であるn番目のステップでのフィルタ係数Wj(n)と制御ブロック8で算出された寄与割合aj(n)が入力される。なお、本実施の形態の場合には、選択する装置情報データSd(j,i)、フィルタ係数Wj(i)、寄与割合aj(i)、補正値bj(i)の数は同数であり、3個としている(j=0,1,2)。そして調整部10は、(数13)に示すように、フィルタ係数Wj(n)を寄与割合aj(n)に基づいて加算(合成)し、今回のステップにおいてADF部5で用いるフィルタ係数W(n)を算出する。
以上のように、能動騒音低減装置4において、ADF部5は、サンプリング周期Tsごとに、LMS演算部7で算出されたフィルタ係数Wj(i)と、制御ブロック8で算出された寄与割合aj(i)、補正値bj(i)に応じたフィルタ係数W(i)へと更新される。その結果、ADF部5は、順次適応制御が行われる。したがって、誤差信号源3の位置において騒音N0を打ち消すための適切なキャンセル信号y(i)を(数4)によって生成でき、空間S1内で騒音N0を低減することができる。
なお、本例における調整部10は、演算(乗算と加算)によってフィルタ係数W(i)を得た。しかし、調整部10はこれに限らず、乗算の代わりとして、フィルタ係数Wj(i)を寄与割合aj(i)に応じて増幅する可変利得増幅器を用いても良い。この場合、可変利得増幅器の増幅度は、寄与割合aj(i)と等しくなるように調整される。また、加算の代わりとして、フィルタ係数Wj(i)を合成する合成器を用いても良い。
以上の構成により、LMS演算部7では、次回のフィルタ係数Wj(n+1)が、フィルタ係数データWDj(n)に基づいて生成される。さらに調整部10では、フィルタ係数Wj(n+1)に基づいてフィルタ係数W(n+1)を算出するので、ADF部5は適応制御が継続される。
また、ADFブロック105では、寄与割合aj(i)に基づいて、フィルタ係数W(i)が算出される。すなわち、フィルタ係数W(i)は、フィルタ係数Wj(i)と、それらの寄与割合aj(i)に基づいて決定される。これにより、ADFブロック105は、寄与割合aj(i)に応じて調整されたフィルタ係数W(i)によって、キャンセル信号y(i)を出力する。その結果、キャンセル信号y(i)におけるフィルタ係数Wj(i)の寄与度が、寄与割合aj(i)によって調整される。
なお、本例では(数13)で示すように寄与割合aj(i)の合計は1であり、LMS演算部7に入力される補正値bj(i)の値と、調整部に入力される寄与割合aj(i)の値は等しくしている。すなわち、(n−1)番目のステップのキャンセル信号y(n−1)からn番目のステップのキャンセル信号y(n)までの間でのトータルのステップサイズパラメータの値は、μとなる。したがって、補正値bj(i)あるいは寄与割合aj(i)の値によらず、ステップサイズパラメータμの値は、一定とできるので、安定した適応制御が可能となる。
以下に制御ブロック8の動作に関して詳しく説明する。制御ブロック8には、装置情報検出部11で検出された装置情報s(i)が入力され、記憶部9に格納された装置情報データSd(l)を参照することで、寄与割合aj(i)を決定する。
自動車102のような移動体において、騒音N0と関連を有する情報には、種々の情報がある。たとえば走行状態に関連した情報、タイヤに関連した情報、道路に関する情報、自動車102の状態に関する情報や、環境に関する情報などが挙げられる。なお、装置情報s(i)は、このような情報のうちで、自動車102に装着された装置情報検出部11によって検出可能な情報である。
走行状態に関連した情報としては、たとえば車速(加速度)や、エンジン回転数などがある。タイヤに関連した情報としては、たとえばタイヤの空気圧、タイヤの材質、タイヤのトレッドパターン、タイヤ溝深さ、タイヤの扁平率や、タイヤ温度などがある。道路に関する情報としては、たとえば路面状態(凸凹の度合い、あるいは乾燥状態・濡れ状態・積雪状態・凍結状態、もしくは路面摩擦抵抗値)や、道路の表面温度などがある。また、自動車102の状態の情報としては、たとえば重量(自動車102自身の重量、乗車者の人数による重量、積載物の重量、ガソリンによる重量なども含む)や窓の開閉度合いや、サスペンションの硬さなどがある。さらに、環境に関する情報としては、たとえば天候や気温などがある。
また、自動車102で踏み切りを通過するときに、線路などの段差上を通過することによる騒音N0が発生する。また、トンネル中などにおいて、タイヤなどで発生した騒音が、トンネル壁面で反射し、反射音として空間S1内へ入り込むこともある。そこで、上記以外に、自動車102に搭載されたカーナビやスマートホンを装置情報検出部11として用い、これらの機器より、踏み切りやトンネルなどに近づいたという情報、あるいは通過中であるという情報を装置情報s(i)として入手しても良い。
図4は、本例における記憶部9内に格納された対応テーブル109を示す図である。図1、図4において、本例の記憶部9には、複数個の装置情報データSd(l)を含んでいる。そして、この装置情報データSd(l)に対応させて、フィルタ係数の設定値Ws(l)が格納されている。なお、本例では、装置情報s(i)として車速v(i)、装置情報データSd(l)として速度情報データvd(l)を用いて説明する。対応テーブル109には、速度情報データvdに対応してフィルタ係数の設定値Wv(l)が記憶されている。
制御ブロック8は、対応テーブル109の中から、現時点(n番目のステップ)の車速v(n)に対応した、2個以上の速度情報データvd(j,n)を選択する。なお、本実施の形態では、3個の速度情報データvd(j,n)を選択する。この場合、制御ブロック8は、速度情報データvd(l)の中から、連続した速度情報データvd(l)を選択する。
さらに、制御ブロック8は、現時点(n回目のステップ)の車速v(n)と対応テーブル109の中の速度情報データvd(l)とを順次比較する。たとえば、速度情報データvd(o)≦現時点の車速v(n)<速度情報データvd(o+p)である場合、第o番目の速度情報データvd(o)と第(o+p)番目の速度情報データvd(o+p)の間にあると判定する。そして、制御ブロック8は、少なくとも速度情報データvd(o)、vd(o+p)を選択する。
なお、本実施の形態では、3個の連続した速度情報データvd(j,n)を選択するので、vd(o+p+q)または、vd(o−p)のいずれかも選択する。つまり、3個以上の速度情報データvd(l)を選択する場合、車速v(n)に対応する速度情報データvd(o)とvd(o+p)は必ず選択され、それに加えて、速度情報データvd(o−p)や、速度情報データvd(o+p+q)などのように、速度情報データvd(o)とvd(o+p)に連続して対応テーブル109に記憶された速度情報データvd(l)が選択される。
たとえば速度情報データが5km/h間隔であり、車速v(n)が17km/hである場合、速度情報データvd(15)とvd(20)と、vd(25)またはvd(10)とを選択する。
車速v(n)が速度情報データvd(o)と等しい場合、等しい速度情報データvd(o)と、これを挟む2個の速度情報データvd(o−p)、vd(o+p)を選択している。たとえば、車速v(n)が15km/hである場合、速度情報データvd(15)の1個は必ず選択される。さらに、速度情報データvd(10)、vd(20)も選択される。なお、本実施の形態では、等しい速度情報データvd(o)を挟む2個の速度情報データvd(o−p)、vd(o+p)を選択したが、これに限らない。すなわち、制御ブロック8は、少なくとも速度情報データvd(o)を含んで、この速度情報データvd(o)に連続した速度情報データvd(l)を選択すればよい。
次に、制御ブロック8は、速度情報データvd(o)≦車速v(n)<速度情報データvd(o+p)である場合、たとえば(数14)に示すように、車速v(n)と選択した速度情報データvd(o)とvd(o+p)とを用いて、寄与割合a0(n)、a1(n)を算出する。
なお、寄与割合a0(n)は、キャンセル信号y(n)におけるフィルタ係数W0(n)の寄与度であり、寄与割合a1(n)は、キャンセル信号y(n)におけるフィルタ係数W1(n)の寄与度である。すなわち、本例の場合、寄与割合a0(n)は、フィルタ係数W(n)におけるフィルタ係数W0(n)の寄与度であり、寄与割合a1(n)は、フィルタ係数W(n)におけるフィルタ係数W1(n)の寄与度である。なお、本例のようにフィルタ係数が3個以上である場合、フィルタ係数W0(n)、フィルタ係数W1(n)以外のフィルタ係数Wj(n)、(j≧2)の寄与割合aj(n)は0としている。
本例において、寄与割合aj(i)、補正値bj(i)は、装置情報s(i)の変化に対して、線形として算出している。したがって、制御ブロック8における寄与割合aj(i)の算出は容易であり、短時間の間に寄与割合aj(i)と補正値bj(i)を算出できる。したがって、サンプリング周期Tsの高速化を促進できるので、素早く騒音N0を低減できる。また、他の処理との並列処理などの増加を抑制できるので、信号処理装置の回路規模の増大を抑制できる。したがって、信号処理装置の大きさを小さくできる。また、信号処理装置の価格も低減することができる。
なお本例において、寄与割合aj(i)と補正値bj(i)は装置情報s(i)の変化に対して線形としたが、装置情報s(i)の変化に対して非線形な数式によって算出しても良い。この場合、さらに装置情報s(i)に対応して緻密にキャンセル音N1を変化させることができるので、さらに良好に騒音N0を低減できる能動騒音低減装置4を実現できる。
なお本例では、寄与割合aj(i)と補正値bj(i)とは等しくしているが、これは許容可能な範囲内で補正して使用してもかまわない。
車速v(n)が速度情報データvd(o)と等しい場合、(数14)によれば、車速v(n)と対応したフィルタ係数の寄与割合aj(n)は1となる。したがって、速度情報データvd(o)としては、車速v(n)と対応した速度情報データvd(l)を選択すればよく、それ以外はいずれの速度情報データvd(l)を選択しても構わない。
あるいは、制御ブロック8において、車速v(n)が速度情報データvd(o)と等しいと判定した場合に、速度情報データvd(o)1個のみを選択し、上記演算を行わず一義的に車速v(n)と対応したフィルタ係数Wj(n)の寄与割合aj(n)を1と判定するようにしても構わない。
また、車速v(n)が、対応テーブル109に記憶された速度情報データvd(l)の範囲を超えている場合には、少なくとも車速v(n)と最も近い1個の速度情報データvd(l)が選択される。たとえば、車速v(n)が速度情報データvd(l)の中の最も大きな速度情報データvd(max)よりも大きい場合、速度情報データvd(max)が読み出される。逆に、車速v(n)が、速度情報データvd(l)の中の最も小さな速度情報データvd(min)よりも小さい場合、速度情報データvd(min)が読み出される。そして、選択された速度情報データvd(max)、あるいはvd(min)に対応するフィルタ係数Wj(n)の寄与割合aj(n)は、いずれの場合も1とする。
以上の構成により、制御ブロック8は、装置情報s(i)に基づいて、あらかじめ定められた装置情報データSd(l)の中から2個以上の装置情報データSd(j,i)を選択し、この選択された装置情報データSd(j,i)、(j=0,1,・・・,J−1)と装置情報s(i)に基づいて、寄与割合aj(i)と補正値bj(i)を決定する。
なお、本例では数多くの装置情報データSd(l)を準備したが、これは最大値と最小値の2個のみとしても良い。
以上の構成により、装置情報s(i)によって、キャンセル信号y(i)におけるフィルタ係数の寄与割合aj(i)や補正値bj(i)が変化するので、装置情報s(i)が変化しても、騒音N0を良好に低減できる能動騒音低減装置4を得ることができる。
また、装置情報s(i)が変化した場合に、寄与割合aj(i)を変化させることによって、キャンセル信号y(i)を出力するので、キャンセル信号y(i)を素早く最適な値へと変化させることができる。加えて、キャンセル信号y(i)を素早く最適な値へと変化させることができるので、誤差信号e(i)も素早く小さくなる。その結果、ADF部5のフィルタ係数W(i)は素早く安定する。従って、素早く騒音N0を低減できる能動騒音低減装置4を得ることができる。
さらに、装置情報s(i)が、対応テーブル109に記憶された装置情報データSd(l)のいずれとも一致していない場合でも、装置情報s(i)に対して適したフィルタ係数Wj(i)を生成できる。したがって、あらかじめ多くの装置情報データSd(l)を準備する必要がないので、あらかじめ記憶部9に記憶しておく装置情報データSd(l)や設定値Ws(l)の個数を少なくできる。したがって、記憶部9のメモリ容量を削減できるので、能動騒音低減装置4の小型化や、低価格化も実現できる。
次に、車速v(i)が変化した場合について説明する。たとえば、前回の車速v(n−1)が、速度情報データvd(o−p)とvd(o)の間であり、現在の車速v(n)が、速度情報データvd(o)を超えて(またいで)、速度情報データvd(o)とvd(o+p)の間となった場合について説明する。なお、本例においてo、pは正の整数値である。
制御ブロック8は、上記変化を検知した場合、対応テーブル109の中から、少なくとも現在の車速v(n)と対応する速度情報データvd(o)とvd(o+p)とを選択する。なお本例では、さらにデータvd(o+p+q)も選択している。そして、制御ブロック8は、速度情報データvd(o)とvd(o+p)に基づいて、寄与割合aj(n)と補正値bj(n)を算出し、それぞれ調整部10とLMS演算部7へ出力する。なお、本例においてqも正の整数値である。
車速v(i)が変化した場合、さらに制御ブロック8は、さらに超えられた速度情報データvd(o)以外の速度情報データvd(l)に対応したフィルタ係数Wj(i)の設定値Wv(l)を読み出す。本例の場合、制御ブロック8は、3つの速度情報データvd(o−p)、vd(o)、vd(o+p)が選択された状態から、vd(o)、vd(o+p)、vd(o+p+q)が選択された状態になる。したがって制御ブロック8は、速度情報データvd(o+p+q)に対応する設定値Wv(o+p+q)を読み出す。そして、記憶部9においてフィルタ係数Wj(n)やフィルタ係数データWDj(n)を記憶している記憶領域のうちで、速度情報データvd(o−p)に対応して記憶されていたフィルタ係数Wj(n)、フィルタ係数データWDj(n)の記憶領域へ設定値Wv(o+p+q)を出力する。
本例において、前回((n−1)番目のステップ)でフィルタ係数W0(n−1)、フィルタ係数データWD0(n−1)、および寄与割合a0(n−1)、補正値b0(n−1)が速度情報データvd(o)に対応し、フィルタ係数W1(n−1)、フィルタ係数データWD1(n−1)、および寄与割合a1(n−1)、補正値b1(n−1)が速度情報データvd(o+p)に対応し、フィルタ係数W2(n−1)、フィルタ係数データWD2(n−1)、および寄与割合a2(n−1)、補正値b2(n−1)が速度情報データvd(o−p)に対応している。
したがって本例において、前回速度情報データvd(o−p)とvd(o)の間であった車速v(n−1)が、現時点でvd(o)とvd(o+p)の間の車速v(n)に変化した場合には、速度情報データvd(o−p)に対応したフィルタ係数データWD2(n)は、速度情報データvd(o+p+q)に対応する設定値Wv(o+p+q)へと置き換えられる。
たとえば、図4に示すように、対応テーブル109には、5km/hから10km/h、15km/hと5km/h刻みに速度情報データvd(l)が記憶されている。
前々回((n−2)番目のステップ)の車速v(n−2)が12km/hである場合、フィルタ係数W0(n−2)、フィルタ係数データWD0(n−2)は速度情報データvd(10)に対応しており、フィルタ係数W1(n−2)、フィルタ係数データWD1(n−2)は速度情報データvd(15)に対応し、フィルタ係数W2(n−2)、フィルタ係数データWD2(n−2)は速度情報データvd(5)に対応している。つまり、前々回では、速度情報データvd(5)、vd(10)、vd(15)が選択されていた。なお、寄与割合aj(n−2)、補正値bj(n−2)をたとえば(数14)を用いて算出する場合、寄与割合a0(n−2)と補正値b0(n−2)とは共に0.6であり、寄与割合a1(n−2)と補正値b1(n−2)とは共に0.4であり、寄与割合a2(n−2)と補正値b2(n−2)とは0となる。
次に前回((n−1)番目のステップ)の車速v(n−1)が13km/hであった場合について説明する。この場合、車速v(n−1)から車速v(n)への変化の際、車速v(n)が速度情報データvd(l)を超えた変化がないことから、前回でも選択される速度情報データはvd(5)、vd(10)、vd(15)である。この場合、制御ブロック8は、フィルタ係数の設定値Wv(l)を読み出さない。その結果、LMS演算部7では、(数12)を用いて、フィルタ係数データWDj(n−2)に基づき算出されたフィルタ係数WDj(n−1)が用いられる。そして、寄与割合aj(n−1)、補正値bj(n−1)をたとえば(数14)を用いて算出する場合、寄与割合a0(n−1)と補正値b0(n−1)とは共に0.4となり、寄与割合a1(n−1)と補正値b1(n−1)とは共に0.6となり、寄与割合a2(n−1)と補正値b2(n−1)とはともに0となる。そして制御ブロック8は、これらの値をLMS演算部7と調整部10へ出力する。
つまり、LMS演算部7において、フィルタ係数データWDj(n−1)は(数15)のように更新され、フィルタ係数Wj(n−1)は(数11)で算出される。その結果ADF部5は、(数16)に示すように算出されたフィルタ係数W(n−1)によって、キャンセル信号y(n−1)を生成していた。
次に、前回13km/hであった車速v(n−1)が、今回(n番目のステップで)17km/hへと変化した場合、制御ブロック8は、速度情報データvd(10)、vd(15)、vd(20)を選択する。この場合、車速v(n−1)から車速v(n)への変化の際に、速度情報データvd(15)をまたいで変化しているので、制御ブロック8は、対応テーブル109から速度情報データvd(20)と対応した設定値Wv(20)を読み出す。そして制御ブロック8は、前回速度情報データvd(5)に対応していたフィルタ係数データWD2(n)の値を、設定値Wv(20)へ置き換える。またそして、寄与割合aj(n)、補正値bj(n)をたとえば(数14)を用いて算出する場合、寄与割合a0(n)と補正値b0(n)とは共に0となり、寄与割合a1(n)と補正値b1(n)とはともに0.6となり、寄与割合a2(n)と補正値b2(n)とはともに0.4となる。そして制御ブロック8は、これらの値をLMS演算部7と調整部10へ出力する。
これによりフィルタ係数データWDj(n−1)は(数17)のようになる。
一方、LMS演算部7において、フィルタ係数W(n)は(数11)に示すようにして算出される。その結果ADF部5は、(数18)に示すようにして算出されたフィルタ係数W(n)によって、キャンセル信号y(n)を生成する。
以上の構成により、速度情報データvd(o)≦車速v(i)<速度情報データvd(o+p)である間、車速v(i)を挟む2個の速度情報データvd(o)、vd(o+p)に対応する2個のフィルタ係数W0(n)、W1(n)は、車速v(i)に応じて変化するだけである。したがって、キャンセル信号y(i)を素早く最適な値へと変化させることができる。また、フィルタ係数W0(i)とW1(i)は、適応制御が継続されるので、良好に騒音N0を低減できる。
なお、本例では、o番目の速度情報データvd(o)と(o+p)番目の速度情報データvd(o+p)との間の速度差(pの値)は、一定としている。この場合、pの値は、車速v(i)が変化した場合でも、速度情報データvd(o)に対応する寄与割合a0(i)が、速度情報データvd(o+p)に対応する寄与割合a1(i)も大きくなるような値としておく。このようにしておくことにより、またがれた場合に、またがれた側の速度情報データvd(l)に対応するフィルタ係数Wj(i)の寄与割合aj(i)は大きくなる。その結果、適応制御が継続されていない側のフィルタ係数W1(i)が、設定値Ws(i)へと変更されることによる影響は小さくなるので、騒音N0を良好に低減できる。
本例では、pの値や、速度情報データvd(o)と速度情報データvd(o+p)との間の間隔はともに固定値としている。本例におけるpの値は1であり、速度情報データvd(o)と速度情報データvd(o+p)との間の間隔は5km/hとしている。この場合、制御ブロック8は、車速v(i)が速度情報データvd(l)の中のいずれの値とも等しくないと判定した場合、車速v(i)の上下を挟むように、2個の速度情報データvd(l)を選択する。その結果、速度情報データvd(l)を容易に決定できるので、短時間に車速v(i)に応じた速度情報データvd(l)を選択できる。
なお、本例においてpの値は1としている。しかし、pの値は2以上としてもよく、pの値は1に制限されない。本実施の形態では、すべての速度情報データvd(l)に対応して、設定値Wv(l)を準備しておく。このようにすることによって、すばやく設定値Wv(l)を決定できる。
なお、設定値Wv(l)は必ずしもすべての速度情報データvd(l)に対応して準備する必要はない。たとえば、速度v(i)に対し、速度情報データvd(o)と速度情報データvd(o+p)が選択された場合、速度情報データvd(o)に対応した設定値Wv(o)と、速度情報データvd(o+p+q)に対応した設定値Wv(o+p+q)に対応した初期値Wv(o+p+q)によって、設定値Wv(o+p)を算出しても良い。そして、算出された設定値Wv(o+p)は、速度情報データvd(o+p)と対応させて、対応テーブル109に記憶させる。
本例のようにpの値が固定である場合、車速v(i)が瞬間的に大きく変化したような場合に、車速v(i)が速度情報データvd(o)だけでなく、速度情報データvd(o+p)を超えてしまう場合がある。あるいは、車速v(i)が速度情報データvd(o)と速度情報データvd(o+p)の間でありながら、またがれた側の速度情報データvd(l)に対応する寄与割合aj(i)の方が、小さくなる場合も発生する。そこでこのような場合には、次のステップでは、車速v(i)に対応した2個の速度情報データvd(l)を新たに選択しなおす構成としても良い。
あるいは、速度情報データvd(o)またはvd(o+p)のいずれか一方の選択は継続し、現時点からβ回目のステップ(n+β回目)において、n回目において選択が継続されなった側の速度情報データvd(n+β)を車速v(n+β)に対応した速度情報データvd(l)を選択しなおす構成としても良い。βは正の整数値であり、βの値は1ステップの間に変化可能な車速vの最大値や、速度情報データvd(o)と速度情報データvd(o+p)との間隔などに応じて、適宜設定すればよい。たとえば、1ステップの間に変化可能な車速vの最大値が小さく、かつ速度情報データvd(o)と速度情報データvd(o+p)との間隔も小さい場合、βの値は小さくしても良い。ただし、速度情報βの値は速度情報データvd(o)またはvd(o+p)のうちで継続が選択された側の適応制御が安定する程度の回数としておくと良い。
なお、本例のようにpの値が固定である場合、車速v(i)が頻繁に変化する範囲に対して、pの値や、速度情報データvd(o)と速度情報データvd(o+p)との間隔を大きくすると良い。たとえば、高速道路走行時に比べ、市街地や郊外などでの走行では、速度が頻繁にかつ大きく変化する。そこで、たとえば40km/h以下の範囲において、通常pの値あるいは、速度情報データvd(o)と速度情報データvd(o+p)との間隔を大きくしておく。一方、40km/hを超えた範囲において、pの値あるいは速度情報データvd(o)と速度情報データvd(o+p)との間隔を徐々に小さくしておく。
以上のような構成とすることにより、車速v(i)が瞬間的に大きく変化したような場合においても、車速v(i)に適した2個の速度情報データvd(l)が選択できる。したがって、車速v(i)が瞬間的に大きく変化したような場合においても、良好に騒音N0を低減できる。
なお、pの値を可変とした場合、pの値は適応制御が継続されるフィルタ係数Wj(i)側の寄与割合aj(i)が大きくなるような値とする。
ところがこの場合、車速v(i)が瞬時に大きく変化すると、pの値が大きくなり、速度情報データvd(o)とvd(o+p)との間の間隔が大きくなる。その結果、車速v(i)が速度情報データvd(o)あるいは、速度情報データvd(o+p)から大きく離れてしまう場合が生じる。
そこで、pの値を変更したステップからβ回後のステップでは、車速v(i)に対応した2個の速度情報データvd(l)を新たに選択するようにしておいても良い。たとえば、車速v(i)を挟む2個の速度情報データvd(l)を選択する。あるいは、pの値を変更したステップのβ回後のステップにおいて、車速v(i)に対応して、速度情報データvd(o+p)はそのままとし、速度情報データvd(o)を車速v(i)に対応した速度情報データvd(o+p+q)へと変更しても良い。
以上の構成により、常に通常キャンセル信号y(i)は、適応制御が継続されるフィルタ係数Wj(i)側の寄与度が大きくなり、置き換えられる設定値Wv(l)による影響が小さくなる。したがって、速度情報データvd(o+p)に対応するフィルタ係数Wj(i)での適応制御が進むまでの間においても、良好に騒音N0を低減できる。また、現在(n番目のステップ)から次回(n+1番目)のステップの間で、車速v(i)が大きく変化しても、良好に騒音N0を低減できる。したがって、サンプリング周期Tsを長くすることも可能となる。その結果、能動騒音低減装置4が動作する間隔が長くすることも可能となり、消費電力も小さくすることができる。
たとえば、通常pの値は5とし、速度情報データvd(o)と速度情報データvd(o+1)との間の間隔は1km/hとしておく。車速v(i)が12km/hから16km/hに変化した場合、速度情報データvd(15)をまたいだので、速度情報データvd(15)と速度情報データvd(20)が選択される。ところが、車速v(i)が12km/hから18km/hである場合に、速度情報データvd(15)と速度情報データvd(20)を選択すると、設定値Wv(20)が設定される速度情報データvd(20)側の寄与割合aj(n)が大きくなる。そこで、pの値を変化させて、速度情報データvd(22)以上を選択する。
なおこの場合、pの値を大きくすれば、速度情報データvd(o)側の寄与割合aj(i)は大きくできる。しかし、車速v(i)と速度情報データvd(o+p)との間が離れてしまう。そこで、pの値は速度情報データvd(o)側の寄与割合aj(i)がたとえば0.5から0.7の範囲となるような値としておく。
また、制御ブロック8において、速度v(i)に対して選択した2個の速度情報データvd(o)と速度情報データvd(o+p)と、速度v(i)とによって、速度v(i)に適した仮想的な速度情報データvd^(o+α)を選定しても良い(ただしα<p)。この場合、速度情報データvd(o)と速度情報データvd(o+p)と仮想的な速度情報データvd^(o+α)との比率と、速度情報データvd(o)と速度情報データvd(o+p)に対応する設定値Wv(o)とWv(o+p)によって、仮想的な設定値Wv^(o+α)を算出する。この場合、速度情報データvd(o)、vd(o+p)のいずれか一方と、仮想的な速度情報データvd^(o+α)が選択される。たとえば、仮想的な速度情報データvd^(o+α)が速度v(i)よりも小さい場合、速度情報データvd(o+p)が選択される。逆に仮想的な速度情報データvd^(o+α)が速度v(i)よりも大きい場合、速度情報データvd(o)が選択される。そして、寄与割合aj(i)は、算出された仮想的な速度情報データvd^(o+α)と選択された2個の速度情報データvd(j,i)のうちの選ばれた一方の速度情報データvd(j,i)とによって決定される。その結果、記憶部9に記憶する速度情報データvd(l)や、設定値Wv(l)の数量を少なくできるので、記憶部9の容量を小さくすることができる。
たとえば、速度情報データvd(l)の間隔が20km/hであり、速度v(i)が速度情報データvd(10)をまたいで、21km/hとなった場合、速度情報データvd(10)と速度情報データvd(30)が選択される。ところがこの状態では、速度v(i)と速度情報データvd(10)との間が大きく離れている。
そこでこの場合、2個の速度情報データvd(j,i)のうちの一方として、仮想的な速度情報データvd^(20)を選択する。そして、速度情報データvd(10)に対応する設定値Wv(10)と速度情報データvd(30)に対応する設定値Wv(30)と、選択した仮想的な速度情報データvd^(20)との比率とによって、仮想的な速度情報データvd^(20)に対する仮想的な設定値Wv^(20)を算出しても良い。その結果、ADF部5には、速度情報データvd(10)に対するフィルタ係数データWD0(n−1)に代えて、仮想的に選択された速度情報データvd^(20)に対応する仮想的な設定値Wv^(20)が設定される。この場合寄与割合aj(i)は、仮想的に選択された速度情報データvd^(20)と速度情報データvd(30)とによって算出される。そして、設定値Wv(20)を速度情報データvd(20)と対応させて、一時的、あるいは恒久的に記憶部9あるいは、対応テーブル109へと記憶させても良い。
上記の場合、フィルタ係数Wj(i)は全て設定値Ws(l),Ws^(l)が設定される。そこで、寄与割合aj(i)が小さな方のフィルタ係数Wj(i)の設定値Ws(l),Ws^(l)への変更は、次回以降としても良い。たとえば、現時点での速度v(n)が速度情報データvd(10)をまたいで、21km/hとなった場合、現時点(n)では速度情報データvd(10)と速度情報データvd(30)を選択する。そして次回(n+1)、速度情報データvd(10)に代えて、仮想的な速度情報データvd^(20)を選択する。
速度情報データvd(o)と速度情報データvd(o+p)の間隔は、小さいほうが、精度良く騒音N0を低減できる。ところが、速度情報データvd(o)と速度情報データvd(o+p)の間隔が小さい場合、車速v(i)の変化が、さほど大きな変化でなくとも、速度情報データvd(o+p)を超える場合も発生する。そこで、本実施の形態において速度情報データvd(o)と速度情報データvd(o+p)の間隔は、自動車102の加減速によっても、車速v(i)がいきなり2個以上の速度情報データvd(l)をまたがないような間隔としてある。
このように自動車102の加減速によっても、車速v(i)が2個以上の速度情報データvd(l)をまたがないようにしてあるので、自動車102の加速が小さい場合、車速v(n)と速度情報データvd(o+p)との間は離れてしまう。そこで、前回の車速v(n−1)と今回の車速v(n)との差が非常に小さい場合には、pの値を変更するような構成としても良い。
たとえば、通常の状態におけるpの値は4とし、速度情報データvd(o)と速度情報データvd(o+1)との間隔は5km/hとしておく。そしてたとえば、前回の車速v(n−1)が19km/hであり、今回の車速v(n)が21km/hである場合、通常であれば、速度情報データvd(20)と速度情報データvd(40)とが選択される。ところが、前回の車速v(n−1)と今回の車速v(n)との差が2km/hであるので、変化量が非常に小さい。このような場合に制御ブロック8は、定速走行状態であると判定し、pの値を1へ変更する。その結果、速度情報データvd(o)として、速度情報データvd(20)が選択され、速度情報データvd(o+1)として、速度情報データvd(25)が選択される。
あるいは制御ブロック8において、加速が小さいと判定された場合に、仮想的な速度情報データvd^(o+α)を選択しても良い。すなわち車速v(i)が速度情報データvd(o)をまたいで変化するときの、車速v(n−1)から車速v(n)までの間の変化量が、あらかじめ定められた閾値よりも小さい場合に、速度情報データvd(o)と速度情報データvd(o+α)を選択し、さらに仮想的な速度情報データvd^(o+α)に対応する仮想的な設定値Wv^(o+α)を設定する。なお、この場合、速度情報データvd(o)側の寄与割合aj(n)が、仮想的な速度情報データvd^(o+α)側の寄与割合aj(n)と等しいか、あるいは若干大きくする。たとえば、速度情報データvd(o)側の寄与割合aj(n)が0.5から0.8の範囲となるような値としておく。
このような構成とすることにより、変化が小さく安定している場合に、精度良く騒音N0を低減できる。
なお、以上の説明において、oは正の整数値である。一方、pは0以外の整数値であればよく、正の値でも、負の値でもかまわない。また、αは0以外の値であれば良く、正の値でも負の値でもかまわない。さらに、整数でなくとも良い。
一方で、車速v(i)が自動的に一定値となるような制御が行われている場合、速度による騒音N0の変化は少ない。そこで、本例の制御ブロック8は、速度が継続的に一定に保たれていることを検知した場合、サンプリング周期Tsを長くする。その結果、能動騒音低減装置4が動作する間隔が長くなり、消費電力を小さくすることができる。
また、本例において、速度情報データvd(l)において隣接した速度情報データvd(l)同士の間隔は、一定としている。しかし、隣接した装置情報データSd(l)同士の間隔はこれに限らず、騒音N0の特性などを考慮して、適宜変化するように設定しても良い。たとえば、高速で走行中における騒音N0の変化は、速度の変化に対する変化度合いが小さくなる傾向がある。そこで、速度が大きな領域では、速度情報データvd(l)間の間隔を大きくするように設定しても良い。
本実施の形態における制御ブロック8において、装置情報s(i)が装置情報データSd(l)と等しいと判定した場合、1個のフィルタ係数の寄与割合aj(i)は1となる。つまり、それ以外のフィルタ係数の寄与割合aj(i)は0であるので、どのようなフィルタ係数であっても問題ない。そこで、過去の寄与割合aj(n−i)の変化傾向によって、次回選択される装置情報データSd(j,n+1)を推測し、その推測した次回の装置情報データSd〜(j,n+1)に対応する設定値Ws〜(j)を設定しておいても良い。
そして、次回の装置情報s(n+1)に対応する装置情報データSd(l)が、推測した装置情報データSd〜(j,n+1)と等しい場合、推測した次回の装置情報データSd〜(j,n+1)に対応する設定値Ws〜(j)がそのまま使用される。しかし、次回の装置情報s(n+1)に対応する装置情報データSd(l)が、推測した装置情報データSd〜(j,n+1)とは異なる場合、次回の装置情報s(n+1)に対応した正しい装置情報データSd(l)を用い、装置情報データSd(l)に対応する設定値Ws(l)を使用する。
なお、本実施の形態における制御ブロック8では、装置情報s(n)が装置情報データSd(l)と等しいと判定した場合、一方の寄与割合aj(n)を1としているが、これに限らず、寄与割合aj(n)の合計が1となるようにさえすれば良いことは言うまでもない。ただし、この場合、寄与割合aj(n)が0ではないフィルタ係数データWDj(n)は、すべて同じ値とする。さらにフィルタ係数Wj(n)もすべて同じ値とする。
また、本実施の形態における設定値Ws(l)は常に規定値であるが、これに限定されない。たとえば、装置情報s(n)が装置情報データSd(l)と等しいか、あるいは近い状態である場合、制御ブロック8は、設定値Ws(l)の値をLMS演算部7で算出されたフィルタ係数データWDj(n)の値へと変更するようにしても良い。なお、この本実施の形態の場合、制御ブロック8は、寄与割合aj(n)と上側閾値および、下側閾値を比較する。そして寄与割合aj(n)が上側閾値以上である場合と、下側閾値以下である場合、装置情報s(n)が装置情報データSd(j,n)と近いと判定する。
さらにまた、本実施の形態において寄与割合aj(n)や補正値bj(n)は、現時点における値である。これらに代えて過去の寄与割合aj(n−i)や補正値bj(n−i)を含む寄与割合aj(k,n)や補正値bj(k,n)を用いても良い。この場合、記憶部9には、寄与割合aj(n−1)からaj(n−(N−1))や、補正値bj(n−1)からbj(n−(N−1))が記憶される。
この構成により、過去のフィルタ係数WDj(n−1)からWDj(n−(n−1))は、その時点での寄与割合aj(k,n)や補正値bj(k,n)が補正されるので、過去に出力された騒音N0をさらに精度良く低減できる。
以下、本実施の形態における能動騒音低減装置4において、騒音N0を低減するための手順と動作について図面を用いて説明する。図5は、本例の能動騒音低減装置4の制御フローチャートである。図6は、LMS演算部7の制御フローチャートである。図7は、ADFブロック105の制御フローチャートである。図8は、制御ブロック8の制御フローチャートである。
図5に示した制御フローチャートは、本例の能動騒音低減装置4において騒音N0を低減するための能動騒音低減装置4のメインルーチンである。このメインルーチンには、起動ステップ501と、初期設定ステップ502と、入力ステップ503と、Chat生成ステップ504と、LMS演算ステップ505と、ADFステップ506とを含んでいる。
なお、Chat生成ステップ504は、Chat部6において実行されている。LMS演算ステップ505はLMS演算部7において実行されている。ADFステップ506は、ADFブロック105にて実行されている。
起動ステップ501では、電源が投入されて、能動騒音低減装置4の動作が開始する。初期設定ステップ502では、記憶部9に記憶されたフィルタ係数データWDj(i)の初期値WDj(0)と、模擬音響伝達特性データC^などを読み出す。そして、ADF部5に設定するフィルタ係数の初期値W(0)には、フィルタ係数データの初期値WDj(0)を用いる。たとえば、WD0(0)には速度情報データvd(l)の中の最小値であるvd(min)に対応する設定値Wv(min)を用い、WD1(0)、WD2(0)はともに0としている。本例においては、vd(5)に対応する設定値Wv(5)を用いる。
入力ステップ503では、参照信号x(n)や誤差信号e(n)を取得する。
Chat生成ステップ504では、入力された参照信号x(n)から参照信号X(n)を準備し、参照信号X(n)を模擬音響伝達特性データC^によって補正することによって、濾波参照信号r(n)を生成する。本例において、Chat生成ステップ504は、メインフローの中で実行しているが、これに限らず、サブルーチンとして実行しても良い。このように、Chat生成のルーチンを並列処理すれば、短時間に演算を行えるので、サンプリング周期Tsも短くできる。したがって、精度良くかつ、すばやく騒音N0を低減できる。
LMS演算ステップ505では、入力された濾波参照信号r(n)から濾波参照信号R(n)を準備する。さらに、入力された誤差信号e(n)と、濾波参照信号R(n)および、現在のフィルタ係数データWDj(n)と、ステップサイズパラメータμ、補正値bj(n)を用いて、(数11)、(数12)に示したように、次回のフィルタ係数データWDj(n+1)および、次回のフィルタ係数Wj(n+1)を算出する。なお、補正値bj(n)が寄与割合aj(n)と同じである場合、補正値bj(n)に代えて後述する制御ステップ510で算出された寄与割合aj(n)を用いても良い。
ADFステップ506は、LMS演算ステップ505において算出されたフィルタ係数Wj(n)と、寄与割合aj(n)からフィルタ係数W(n)を生成する。そして、このフィルタ係数W(n)と参照信号X(n)に基づいて、(数4)を用いてキャンセル信号y(n)を生成し、出力する。そして、このADFステップ506の後で、入力ステップ503へ戻ることによって、適応制御が行われる。
LMS演算ステップ505について詳細に説明する。図5、図6において、LMS演算ステップ505には、入力ステップ505aと、フィルタ係数算出ステップ505bと、出力ステップ505cを含んでいる。
入力ステップ505aでは、濾波参照信号r(n)や補正値bj(n)、を入力し、濾波参照信号R(n)を生成する。さらにフィルタ係数データWDj(n)を記憶部9から読み込む。なお、フィルタ係数データWDj(n)は、前回(n−1ステップ目)のステップにおいてLMS演算ステップ505で算出されたフィルタ係数データである。
フィルタ係数算出ステップ505bは、入力された誤差信号e(n)と、濾波参照信号R(n)および、前回LMS演算ステップ505で生成された今回のフィルタ係数データWDj(n)に基づいて、ステップサイズパラメータμや、補正値bj(n)を用いて、(数11)、(数12)に示したように、次回のフィルタ係数データWDj(n+1)および、次回のフィルタ係数Wj(n+1)を算出する。
そして、出力ステップ505cにおいて、フィルタ係数Wj(n+1)と、フィルタ係数データWDj(n+1)を記憶部9へ格納する。
図5、図7において、ADFステップ506は、入力ステップ506aと、調整ステップ506bと、キャンセル信号生成ステップ506cを含む。
入力ステップ506aでは、記憶部9よりフィルタ係数Wj(n)と寄与割合の値aj(n)を読み込む。調整ステップ506bでは、フィルタ係数Wj(n)と、寄与割合aj(n)とを用い、(数13)によって、現時点(n回目)のステップにおいて使用するADF部5のフィルタ係数W(n)を生成する。
キャンセル信号生成ステップ506cでは、調整ステップ506bによって算出されたフィルタ係数W(n)を用い、入力ステップ503で入力された参照信号x(n)に基づいてキャンセル信号y(n)を生成し、出力する。
図8に示す制御ステップ510は、図5に示した騒音N0を低減するためのメインルーチンとは別個のルーチンとして実行されている。なお、制御ステップ510は制御ブロック8において実行されている。本例において制御ステップ510は、騒音N0を低減するためのメインルーチンと並列に処理されている。ただし、制御ステップ510は、LMS演算ステップ505よりも前に実行される。
制御ステップ510には、装置情報入力ステップ511と、装置情報データ選択ステップ512と、寄与割合決定ステップ513と、寄与割合出力ステップ514と、設定値出力ステップ515とを含んでいる。
装置情報入力ステップ511では、装置情報検出部11(図1に示す)で検出された現時点の車速v(n)を入力する。なお、本例において、車速v(n)は装置情報入力ステップ511において入力したが、これに限らず、たとえば入力ステップ503において入力し、記憶部9へ格納しておいてもかまわない。
装置情報データ選択ステップ512では、入力した車速v(n)と速度情報データvd(l)とを比較し、車速v(n)に対応した2個以上の速度情報データvd(j,n)を選択する。さらに、車速v(n)が速度情報データvd(j,n−1)を超えて変化している場合、対応テーブル109から設定値Wv(j)を読み出す。
寄与割合決定ステップ513では、選択された2個以上の速度情報データvd(j,n)の中の車速v(n)に対応する2個の速度情報データvd(j,n)と、車速v(n)とに基づいて、寄与割合aj(n)と補正値bj(n)を算出する。なお、本例において、寄与割合aj(n)と補正値bj(n)は、(数14)に示すようにして算出している。
そして、寄与割合出力ステップ514では、寄与割合決定ステップ514で算出された寄与割合aj(n)と補正値bj(n)をRAMなどの記憶部9へ出力している。なお、車速v(n)が速度情報データvd(j,n−1)を超えて変化していない場合、装置情報入力ステップ511へと戻る。一方、車速v(n)が速度情報データvd(j,n−1)を超えて変化している場合、設定値出力ステップ515へと進む。
設定値出力ステップ515では、装置情報データ選択ステップ512において読み込まれた設定値Ws(j)を記憶部9へと出力する。このようにすることによって、現時点のフィルタ係数Wj(n)や現時点のフィルタ係数データWDj(n)は、読み出された設定値Ws(j)へと書き換えられて、その後に装置情報入力ステップ511へと戻る。
たとえば、車速v(n)が、速度情報データvd(o−p)と速度情報データvd(o)の間から、速度情報データvd(o)をまたいで、速度情報データvd(o)と速度情報データvd(o+p)との間に変化した場合について説明する。
このような場合、前回の装置情報データ選択ステップ512では、車速v(n−1)に対応し、速度情報データvd(o−p)、vd(o)、vd(o+p)が選択されている。そして、今回のステップにおける装置情報データ選択ステップ512では、車速v(n)に対応する速度情報データvd(o)、vd(o+p)、vd(o+p+q)が選択される。さらに、装置情報データ選択ステップ512は、速度情報データvd(o+p+q)に対応した設定値Wv(o+p+q)を読み込む。
寄与割合決定ステップ513では、車速v(n)に対応した2個の速度情報データvd(o)、vd(o+p)と車速v(n)によって、キャンセル信号y(n)におけるフィルタ係数W0(n)、W1(n)の寄与割合a0(n)、a1(n)が算出される。本例では、たとえばフィルタ係数W0(n)が速度情報データvd(o)に対応し、フィルタ係数W1(n)が速度情報データvd(o+p)に対応し、フィルタ係数W2(n)が速度情報データvd(o+p+q)に対応している。
以上の構成により、ADF部5において、フィルタ係数W0(n)、W1(n)は、速度情報データvd(o)、vd(o+p)によって適応制御が継続される。そして、前回のステップにおいて、速度情報データ(o−p)に対応していたフィルタ係数W2(n)は、設定値Wv(o+p+q)へと変更される。
なお、本例における装置情報データ選択ステップ512では、必ず2個以上の速度情報データvd(j,n)を選択しているが、装置情報データ選択ステップ512において車速v(n)が速度情報データvd(l)のいずれかと等しいと判定した場合、車速v(n)と等しい1個の速度情報データvd(l)のみを選択し、速度情報データvd(j,n)に対応するフィルタ係数の寄与割合aj(n)を1としても良い。ただし、この場合には、寄与割合決定ステップ513を飛ばして、寄与割合出力ステップ514へと進む。
次に、第2の例のADFブロック125について説明する。図9は、第2の例におけるADFブロック125のブロック図である。本例におけるADFブロック125には、複数(G個)のADF部5g、(g=0,1,・・・,G−1)を含む。さらにADFブロック125は調整部129に加え、合成部126を含んでいる。合成部126は、ADF部5gの出力信号を合成する。
ADF部5gの数Gと、LMS演算部7において算出されるフィルタ係数Wj(n)の数Jとが等しい場合、調整部129では、(数19)の(1)式に示すように、入力したフィルタ係数Wg(n)に対してそれぞれの寄与割合ag(n)を乗じる。そして、調整部129は、フィルタ係数Wg(n)に基づいて、ADF部5gで用いるフィルタ係数Wg(n)を生成する。
なお、本例においてADF部5gは、ADF部50〜52の3個としたが、これに限らず2個あるいは4個以上としても構わない。たとえばG個のADF部5gを用いる場合、この中の2個のフィルタ係数(たとえばW0(i)、W1(i))は、上記と同じような手順で処理される。そして、それ以外のADF部5gのフィルタ係数Wg(i)には制御ステップ510で決定された設定値Ws(l)が格納される。なお、その場合、たとえばADF部50、ADF部51以外の寄与割合aj(i)は、すべて0とする。
この場合、ADF部5gのそれぞれにおいて、畳み込み計算が行われるので演算が多くなる。そこで本例の場合、並列処理が可能なCPUやDSPなどを使用すると良い。その結果、サンプリング周期Tsも長くなることを抑制できる。
次に、ADF部5gの数Gが、LMS演算部7において算出されるフィルタ係数Wj(n)の数J=hgより小さい場合、調整部129では、図1に示す前例の調整部10と同様に、複数個のフィルタ係数Wj(n)と、寄与割合aj(n)を用いて、フィルタ係数Wg(n)を算出する。すなわち、(数19)の(2)式に示すように、連続する2個以上のフィルタ係数Wj(n)を、寄与割合aj(n)によって重み付け加算し、hg個のフィルタ係数Wj(n)から、G個のフィルタ係数Wg(n)を生成する。
たとえば、ADFブロック125が、3個のADF部50、51、52で構成されており、制御ブロック8では、4個の速度情報データvd(j,i)を選択する場合について説明する。車速v(i)が、17km/hである場合、ADF部50のフィルタ係数W0(i)は、速度情報データvd(15)と寄与割合a0(i)によって決定する。一方、ADF部51のフィルタ係数W1(i)は、速度情報データvd(20)、vd(25)を、寄与割合a1(i)、a2(i)、によって重み付け加算して算出する。さらに、ADF部52のフィルタ係数W2(i)は、速度情報データvd(30)と寄与割合a3(i)によって決定する。
本例では、フィルタ係数W1(i)を2個の速度情報データvd(i)によって算出しているが、いずれのフィルタ係数Wg(i)を複数個の速度情報データvd(i)によって算出してもかまわない。また、フィルタ係数Wg(i)を3個以上の速度情報データvd(i)によって算出してもかまわない。
以上の構成により、ADF部5gのそれぞれには、参照信号x(i)が入力される。その結果、ADF部5gは、フィルタ係数Wg(i)によって、フィルタ出力信号yg(i)を出力する。そして、合成部126は、ADF部5gから出力されたフィルタ出力信号yg(i)を加算(合成)し、キャンセル信号y(i)を出力する。
次に、本例におけるADFブロック125における処理の手順を説明する。調整ステップ506bでは、(数19)によって、フィルタ係数Wg(i)を算出する。
キャンセル信号生成ステップ506cでは、参照信号x(i)とフィルタ係数Wg(i)によって、フィルタ出力信号yg(i)を算出し、これらフィルタ出力信号yg(i)を加算して、キャンセル信号y(i)を生成している。
次に、本実施の形態における第3の例のADFブロック135について説明する。図10は、第3の例におけるADFブロック135のブロック図である。第3例のADFブロック135は、複数の(J個の)ADF部5jを有し、これらすべてのADF部5jに対して参照信号x(i)が入力される。なお、本例の場合、これらのADF部5jに対しては、フィルタ係数Wj(i)がそのまま供給される。
そして、本例における調整部139は、ADF部5jと図1に示す出力端子42との間に設けられる。そして、調整部139は、(数20)に基づいて、ADF部5jの出力を寄与割合aj(i)に応じて加算(合成)し、キャンセル信号y(i)を出力する。そのために、調整部139には、制御ブロック8で算出した寄与割合aj(i)が入力される。
本例におけるADF部5jでは、フィルタ係数Wj(i)をそのままフィルタ係数として用いている。したがって、第1の例や第2の例に比べて、記憶部9の容量を小さくできる。
なお、本例においてADF部5jは3個としたが、これに限らず2個あるいは4個以上としても構わない。
次に、本例におけるADFブロック135における処理の手順を説明する。本例におけるADFステップ506における調整ステップ506bは、キャンセル信号生成ステップ506cの後に行われる。なお、本例における入力ステップ506aでは、フィルタ係数Wj(i)および寄与割合aj(i)を取得する。
キャンセル信号生成ステップ506cでは、参照信号x(i)とフィルタ係数Wj(i)によってフィルタ出力信号yj(i)を生成する。そして、調整ステップ506bでは、(数20)に示したように、フィルタ出力信号yj(i)を、それぞれの寄与割合aj(i)に応じて重み付けして加算し、キャンセル信号y(i)を生成する。
次に、本実施の形態における他の例のLMS演算部147について説明する。なお本例におけるADFブロック145には、本実施の形態におけるいずれの例のADFブロック105、125、135を用いてもかまわない。
図1において、本例のLMS演算部147では、(数21)に示すように、準備した濾波参照信号R(n)と、現時点(n番目のステップ)での誤差信号e(n)とステップサイズパラメータμと、前回のLMS演算部147で算出されたフィルタ係数Wj(n)および、補正値bj(n)によって、次回のステップのフィルタ係数Wj(n+1)を生成する。本例の場合、フィルタ係数データWDj(i)は使用しないので、算出不要である。またこの場合、設定値Ws(l)でフィルタ係数データWDj(i)を書き換える動作は、直接Wj(n)を書き換える。
以下、本例におけるLMS演算部147の手順と動作について説明する。図5、図6において、本例におけるLMS演算ステップ505は、次回のADFステップ506で用いるフィルタ係数Wj(n+1)を算出し、現時点のADFステップ506で用いたフィルタ係数Wj(n)をLMS演算ステップ505で算出された新たなフィルタ係数Wj(n+1)へと更新する。そのために、本例ではWj(n+1)のみが出力され、記憶部9へ記憶される。フィルタ係数演算ステップ505bでは、現時点での誤差信号e(n)と、Chat生成ステップ504で算出された濾波参照信号R(n)とステップサイズパラメータμとを用いて、(数21)に示すように、次回のADFステップ506で用いるフィルタ係数Wj(n+1)を算出する。
(実施の形態2)
次に実施の形態2における能動騒音低減装置204について説明する。図11は、本発明の実施の形態2における能動騒音低減装置204を用いた能動騒音低減システム201のブロック図である。なお、図11において、図1と同じものには、同じ符号を用いており、その説明は簡略化している。
本実施の形態における能動騒音低減装置204は、複数種の装置情報s(i)、操作者入力情報sm(i)や、非対応装置情報sn(i)による騒音N0の変化にも対応する。そのために、本実施の形態における能動騒音低減装置204には、複数種の装置情報sθ(i)、操作者入力情報smφ(i)や、非対応装置情報snψ(i)が入力され、それらに対応してフィルタ係数W(i)を決定する。ここで,添え字θ,φ,ψはそれぞれの情報の入力数を示す。
操作者入力情報smφ(i)は、自動車102に搭載された装置情報検出部11によって検出できない情報である。この操作者入力情報smφ(i)は、操作者が直接、操作者入力部12を操作することによって、制御ブロック8へ入力される。なお、操作者入力情報smφ(i)は、操作者入力情報端子45を介して制御ブロック208へ供給される。
自動車102などの騒音N0には、たとえばタイヤのトレッドパターンや、扁平率や、サスペンションの弾性などによっても変化する。たとえば、タイヤやサスペンションを交換した場合にも、騒音N0の特性が変化する。ところが、これらのような情報を自動車102によって検知することは困難である。そこで、操作者入力情報smφ(i)は,操作者が操作者入力部12を操作することによって、能動騒音低減装置204へ入力される。なお本例では、フィルタ係数の補正値b’φ(lmφ)が、操作者入力情報smφ(i)と対応させて、記憶部9に格納されている。なお、補正値b’φ(lmφ)>0であり、初期値は1である。
非対応装置情報snψ(i)は、装置情報s(i)と同様に、装置情報検出部11において検出される情報であるが、走行途中での変化が小さい情報である。装置情報検出部11では、たとえば重量やタイヤの空気圧などの情報を検出し、非対応装置情報snψ(i)として扱っている。そして、非対応装置情報snψ(i)と対応した装置情報データSd(l)や設定値Ws(l)は準備せず、フィルタ係数の補正値b^ψ(lnψ)が、非対応装置情報snψ(i)と対応させて、記憶部9に記憶されている。なお、補正値b^ψ(lnψ)>0であり、初期値は1である。
自動車102においては、数多くの装置情報sθ(i)が存在するが、ここでは3つの装置情報sθ(i)、(θ=1,2,3)を用いた場合の例について説明する。なお、装置情報sθ(i)の中で、最も騒音N0に対する影響度合いが大きいものを第1装置情報s1(i)とする。
操作者入力情報smφ(i)や非対応装置情報snψ(i)は走行途中での変化が小さいため、それぞれの情報の特徴に応じて、補正値b’φ(i),b^ψ(i)を加算、積算し、補正を行う。しかし、後述する装置情報sθ(i)の様に,対応テーブルを作成して補正値を決定しても良く、装置情報データの対応テーブルシートの一つとして組み込んでもよい。
図12は、実施の形態2における能動騒音低減装置204の記憶部9内に格納された対応テーブル209を示す図である。本例の記憶部9には、第3装置情報s3(i)に対する第3装置情報データSd3(l3)に対応して、複数枚の対応テーブルシート209cが準備されている。これら複数枚の対応テーブルシート209cのそれぞれには、複数の装置情報sθ(i)のうちの第1装置情報s1(i)に対応した第1装置情報データ群209aと、第2装置情報s2(i)に対応した第2装置情報データ群209bとが記憶されている。
ここで、第1装置情報データ群209aには、複数個の第1装置情報データSd1(l1)を含んでいる。一方、第2装置情報データ群209bには、複数個の第2装置情報データSd2(l2)を含んでいる。したがって、それぞれの対応テーブルシート209cでは、第1装置情報データ群209aと第2装置情報データ群209bのいずれか一方を縦軸とし、他方を横軸としたテーブルとなる。さらに、それぞれの対応テーブルシート209cには、第1装置情報データSd1(l1)と、第2装置情報データSd2(l2)のそれぞれに対応させて、フィルタ係数の設定値Ws(l1,l2,l3)が記憶されている。このように本実施の形態では、対応テーブル209の中から、選択した第1装置情報データSd1(l1)と第2装置情報データSd2(l2)と第3装置情報データSd3(l3)に対応する設定値Ws(l1,l2,l3)を読み出すだけでよい。したがって、補正計算などが不要となるので、処理を早くすることができる。
以下、第1装置情報データ群209aが縦軸であり、第2装置情報データ群209bが横軸である対応テーブルシート209cを用いた場合を例に説明する。なお、本実施の形態において縦軸は、第1装置情報データ群209aとしているが、第2装置情報データ群209bあるいは第3装置情報データ群としても良い。また、本実施の形態において横軸は、第2装置情報データ群209bとしているが、第1装置情報データ群209aあるいは第3装置情報データ群としても良い。さらに、本実施の形態においてシートごとに第3装置情報データを設定しているが、第1装置情報データあるいは第2装置情報データとしても良い。
対応テーブル209において、設定値Ws(o1,o2,o3)は、第3装置情報データSd3(l3)に対応するo3番目の対応テーブルシート209cの第1装置情報データ群209aにおける第o1番目の第1装置情報データSd1(o1)と、第2装置情報データ群209bにおける第o2番目の第2装置情報データSd2(o2)に対応している。
なお、本実施の形態におけるADFブロック205には、実施の形態1におけるいずれのADFブロック105、125、135を用いても構わない。また、本実施の形態における調整部210には、実施の形態1におけるいずれの調整部10、129、139を用いてもかまわない。さらに、本実施の形態におけるLMS演算部207には、実施の形態1におけるLMS演算部7、147のいずれを用いても構わない。
本実施の形態における制御ブロック208は、対応テーブル209の中から、第3装置情報s3(i)に対応する第3装置情報データSd3(l3)の対応テーブルシート209cを選択する。また、制御ブロック208は、この選択された対応テーブルシート209cの中から、装置情報データSd123(l1,l2,l3)に対応したフィルタ係数の設定値Ws(l1,l2,l3)を選択する列として、第2装置情報s2(i)に対応する第2装置情報データSd2(l2)の列を選択する。
さらに、制御ブロック208は、第1装置情報データ群209aの中から、第1装置情報s1(i)に対応する2個以上の第1装置情報データSd1(l1)を選択する。つまり、2個以上の装置情報データSd123(l1,l2,l3)が選択される。たとえば、第3装置情報s3(i)が第o3番目の第3装置情報データSd3(o3)に対応し、第2装置情報s2(i)が第o2番目の第2装置情報データSd2(o2)に対応し、第1装置情報s1(i)が第o1番目の第1装置情報データSd1(o1)以上であり、かつ第(o1+p1)番目の第1装置情報データSd1(o1+p1)未満である場合、第1装置情報データSd1(o1)とSd1(o1+p1)との2個が少なくとも選択される。つまり、装置情報データSd123(o1,o2,o3)とSd123(o1+p1,o2,o3)が少なくとも選択される。
そして、寄与割合aj(i)は、たとえば(数22)のようにして算出される。すなわち、寄与割合aj(i)は、選択された装置情報データSd123(j,o2,o3,i)に対応する2個以上の第1装置情報データSd1(j,i)の中の任意の2個の第1装置情報データSd1(j,i)と、第1装置情報s1(i)によって算出される。
本実施の形態では、選択された2個の第1装置情報データSd1(j,i)によって、寄与割合aj(i)を算出しているが、2個の第2装置情報データSd2(j,i)と第2装置情報s2(i)によって算出しても良い。あるいは、2個の第3装置情報データSd3(j,i)と第3装置情報s3(i)によって算出しても良い。
なお実施の形態1のように、3個の第1装置情報データSd1(j,i)を選択する場合、第1装置情報データSd1(o1+p1+q1)あるいはSd1(o1−p1)が選択される。そして、これらのフィルタ係数Wj(i)に対応している寄与割合aj(i)は0とする。すなわち、本実施の形態では、実施の形態1と同じく、第1装置情報s1(i)に対応した2個の装置情報データSd1(j,i)以外のフィルタ係数Wj(i)に対応している寄与割合は0となる。
本例において、第1装置情報データ群209aにおける隣接した第1装置情報データSd1(l1)同士の間隔は、一定としている。また、隣接した各第2装置情報データSd2(l2)同士、第3装置情報データSd3(l3)同士の間隔も一定の間隔で設定されている。しかし、これらの隣接した装置情報データ同士の間隔はこれに限らず、騒音N0の特性などを考慮して、適宜変化するように設定しても良い。また、たとえば窓の開閉などのように、装置情報が状態の違いを表すような情報は、第1装置情報以外の装置情報に設定する。
次に、第2装置情報s2(i)や第3装置情報s3(i)が変化した場合の動作について、第1装置情報s1(n)が、第1装置情報データSd1(o1)とSd1(o1+p1)の間である場合において説明する。制御ブロック208は、第2装置情報s2(n−1)が第2装置情報s2(n)へ変化したことを検出した場合、今回のフィルタ係数データWDj(n)を選択した装置情報データSd123(o1,l2,l3,n)に対応した設定値Ws(o1,l2,l3)、または装置情報データSd123(o1+p1,l2,l3,n)に対応した設定値Ws(o1+p1,l2,l3)へと置き換える。
また、制御ブロック208は、第3装置情報s3(n−1)が、第3装置情報s3(n)へ変化したことを検知した場合、今回のフィルタ係数データWDj(n)を選択した装置情報データSd123(o1,l2,l3,n)に対応した設定値Ws(o1,l2,l3)、または装置情報データSd123(o1+p1,l2,l3,n)に対応した設定値Ws(o1+p1,l2,l3)へと置き換える。
ただし、本例では、フィルタ係数データWDj(n)のうちで、現時点における寄与割合aj(n)が小さい側のみを変更している。その結果、寄与割合aj(n)が大きい側のフィルタ係数Wj(n)は適応制御が継続されるので、精度良く騒音N0を低減できる。
たとえば、第1装置情報s1(n)と第1装置情報データSd1(j,n)から算出される寄与割合a0(n)が0.3、寄与割合a1(n)が0.7であり、第2装置情報s2(i)が、第2装置情報データSd2(o2)からSd2(o2+p2)へと変化した場合、今回のフィルタ係数データWD0(n)を設定値Ws(o1,o2+p2,o3)へと書き換える。なお、寄与割合a0(n)とa1(n)とが共に0.5である場合、過去の寄与割合の変化傾向によって、どちらのフィルタ係数を変更するか決定している。たとえば、a1(i)側が増加する傾向であれば、今回のフィルタ係数データWD0(n)をWs(o1,o2+p2,o3)へと書き換える。
次に、第1装置情報s1(i)が、ある第1装置情報データSd1(j,n−1)を超えて(またいで)変化し、かつ第2装置情報s2(i)あるいは第3装置情報s3(i)も変化したことを検知した場合について2個のフィルタ係数W0(i),W1(i)を有する場合で説明する。ただし、実施の形態1同様に、3個以上のフィルタ係数Wj(i)を有する場合を制限するものではない。このような場合、実施の形態1では、1つの装置情報s(i)によってのみ決められた設定値Ws(l)へ変更したが、本実施の形態では、複数の装置情報sθ(i)によって定められた設定値Ws(lθ)へと変更する。
たとえば、第1装置情報s1(n)が、第1装置情報データSd1(o1)を超えて(またいで)、第1装置情報データSd1(o1)とSd1(o1+p1)の間へと変化し、かつ第2の装置情報s2(n)が第2装置情報データSd2(o2)から第2装置情報データSd2(o2+p2)へと変化した場合、前回装置情報データSd123(o1−p1,o2,o3)に対応していた今回のフィルタ係数データWD0(n)を装置情報データSd123(o1+p1,o2+p2,o3)に対応する設定値Ws(o1+p1,o2+p2,o3)へと書き換える。その結果、装置情報データSd123(o1,o2,o3)に対応するフィルタ係数W1(n)は適応制御が継続されるので、精度良く騒音N0を低減できる。
なおこの場合、現時点からβ回目のステップ(n+β回目)では、装置情報データSd123(o1,o2+p2,o3)が選択され、少なくとも装置情報データSd123(o1,o2,o3)に対応するフィルタ係数データWD1(n)が、設定値Ws(o1,o2+p2,o3)へと書き換えられる構成としてもよい。
ただし、第2装置情報s2(i)あるいは第3装置情報s3(i)が非常に大きく変化したような場合、変化後の第2装置情報データSd2(l2)や、第3装置情報データSd3(l3)が選択される。その結果、すべてのフィルタ係数データWDj(n)が、変化後の2個の装置情報データSd123(j,l2,l3,i)に対応する変化後の2個の設定値Ws(j,l2,l3)へと書き換えられる構成としても良い。そのために、制御ブロック208は、第2装置情報s2(i)や、第3装置情報s3(i)の変化量を検出している。なお、本例における制御ブロック208では、第2装置情報s2(i)や、第3装置情報s3(i)の変化量が規定値より大きいと判定した場合に、第2装置情報s2(i)あるいは第3装置情報s3(i)が大きく変化したと判定している。
次に、変化後の第2装置情報s2(i)(あるいは第3装置情報s3(i))が、第2装置情報データSd2(l2)(あるいは、第3装置情報データSd3(l3))のいずれとも等しくない場合について第2装置情報の変化を例に説明する。第2装置情報s2(i)が変化した場合、制御ブロック208は、変化前の第2装置情報s2(n−1)から選択した第2装置情報データSd2(l2,n−1)と、変化後の第2装置情報s2(n)から選択した第2装置情報データSd2(l2,n)および、第2装置情報s2(n)に基づいて、補正値bθj(n)(θ=2)を記憶部9へ出力する。そしてLMS演算部207では、算出された補正値bθj(n)によって、変化前の第2装置情報s2(n−1)に対応した設定値Ws(l1,l2,l3)あるいは変化後の第2装置情報s2(i)に対応した設定値Ws(l1,l2,l3)のいずれか一方を補正してフィルタ係数データWDj(n)として出力する。ここでは、第2装置情報s2(i)が変化した場合を例に説明したが、これに限定されず、第θ装置情報sθ(i)が変化した場合も、上記と同様な動作によって、フィルタ係数データWDj(n)を生成する。
なお、本実施の形態では、LMS演算部207において、補正値bθj(n)による補正を行っているが、これはADFブロック205における調整部210において実行することもできる。さらに、制御ブロック208において補正しておくことも可能である。
ここで、補正値bθj(i)は第θ装置情報データSdθ(lθ)に基づきフィルタ係数データWDj(i)や設定値Ws(lθ)を補正する補正値であるが、フィルタ係数Wj(i)の個数Jは第1装置情報データSd1(l1)に関連するため,それ以外の装置情報データSdθ(lθ)に基づく補正値bθ1(i)や補正値bθ2(i)は同じ値とできる。
以上のような構成としたことにより、記憶部9に記憶させる第2装置情報データSd2(l2)や第3装置情報データSd3(l3)の個数、さらには設定値Ws(l)の数を少なくできる。したがって、メモリサイズが増加することを抑制できる。さらに、このように第2装置情報データSd2(l2)や第3装置情報データSd3(l3)の個数を少なくしても、第2装置情報s2(i)や第3装置情報s3(i)の変化に対して良好に騒音N0を低減できる。
なお、対応テーブル209に代えて、実施の形態1における対応テーブル109を用いても良い。この場合設定値Ws(l)に対する第θ装置情報データSdθ(lθ)と対応する補正値bθj(lθ)を対応テーブル109に記憶させておく。ただし、第1装置情報データSd1(l1)以外の装置情報データSdθj(lθ)に対応して、補正値bθj(lθ)が格納される。そしてこの場合、制御ブロック208では、変化後の第θ装置情報sθ(i)に対応する補正値bθj(lθ)を記憶部9から読み出す。本実施の形態における、LMS演算部207では、設定値Ws(l)へ補正値bθj(n)を乗じる。その結果、設定値Ws(l)が変化後の第2装置情報s2(n)、あるいは第3装置情報s3(n)に対応するように、補正値bθj(n)によって補正され、今回のフィルタ係数データWDj(n)として出力される。この場合、演算が簡単であるので、サンプリング周期Tsを早くすることも可能となる。また、補正値bθj(lθ)を記憶させるだけでよいので、記憶部9の記憶領域の容量を小さくできる。
なお、本例では、設定値Ws(l)に補正値b2j(n)を乗じて、今回のフィルタ係数データWDj(n)を得ている。しかし、第1装置情報s1(i)と第2装置情報s2(i)とによって決定される補正値b2j(i)と、第2装置情報s2(i)と第3装置情報s3(i)あるいは、第1装置情報s1(i)と第3装置情報s3(i)とによって決定される補正値bθj(i)によって、設定値Ws(l)を補正し、フィルタ係数Wj(i)やフィルタ係数データWDj(i)を得ても良い。なおこの場合、たとえば設定値Ws(l)に補正値bθj(i)を乗じるか、あるいは加減算する。
あるいは、対応テーブル209において、第1装置情報データSd1(l1)と第2装置情報データSd2(l2)と第3装置情報データSd3(l3)に対応する装置情報データSd123(l1,l2,l3)とさせて、設定値Ws(l1,l2,l3)の代わりに、設定値Ws(l1,l2,l3)の補正値b123(l1,l2,l3)を記憶させておいても良い。
なおこの場合、対応テーブルシート209cにおいて、基準となるシート(第3装置情報データSd3(l3))における規準列(第2装置情報データSd2(l2))を決定し、この規準列に対してのみ、第1装置情報データSd1(l1)に対応して設定値Ws(l1,l2,l3)を記憶しておいても良い。そして、規準列における設定値Ws(l1,l2,l3)の補正値b123(l1,l2,l3)は1とする。
あるいは、第1装置情報s1(i)と、第2装置情報s2(i)と第3装置情報s3(i)のうちの2つの装置情報sθ(i)に対応して設定値Ws(i)を記憶し、残りの1個の装置情報sθ(i)に対しては設定値bθj(lθ)を記憶させておく構成としても良い。
本実施の形態において、上記補正はLMS演算部207において行っているが、ADFブロック205における調整部210において補正しても良い。あるいは、制御ブロック208において補正を行うことも可能である。
以上の構成により、第2、第3装置情報が変わったときに、選択するシートや列を変えて、その位置の補正値b123(l1,l2,l3)を読み取り、設定値Ws(l1,l2,l3.)に読み取った現時点の補正値b123(n)を乗じて、今回のフィルタ係数Wj(n)やフィルタ係数データWDj(n)を算出する方法もある。このような場合補正値b123(l1,l2,l3)を記憶させるだけでよいので、記憶部9の記憶領域の容量を小さくできる。
次に、非対応装置情報snψ(i)について説明する。記憶部9には、非対応装置情報snψ(i)と対応させて補正値b^ψ(lnψ)が格納されている。そして、制御ブロック208は、非対応装置情報snψ(i)を検知し、検知した非対応装置情報snψ(i)に対応する補正値b^ψ(lnψ)を記憶部9から読み出し、読み出した補正値b^ψ(i)をLMS演算部207へ出力している。そして、LMS演算部207は、フィルタ係数Wj(i)へ補正値b^ψ(i)を乗じる。その結果、フィルタ係数Wj(i)は、非対応装置情報snψ(i)に対応するように補正される。
この補正値b^ψ(i)は、装置情報検出部11によって、非対応装置情報snψ(i)が変化したことを検知されるまでの間、同じ補正値b^ψ(lnψ)が使用される。このような構成により、非対応装置情報snψ(i)に対しても、最適なフィルタ係数W(i)を設定できる。さらに、メモリサイズも小さくできる。
ここで、たとえば、タイヤの空気圧や重量のような非対応装置情報snψ(i)は、走行途中での変化が小さいので、走行開始直前に検知しておく。なお、本例の場合、重量の検知は、ドアの開閉動作があった場合に行っている。
次に、操作者入力情報smφ(i)について説明する。フィルタ係数Wj(i)の補正値b’φ(lmφ)が、この操作者入力情報smφ(i)と対応させて、記憶部9に格納されている。そして、制御ブロック208は、操作者入力情報smφ(i)を検知し、検知された操作者入力情報smφ(i)に対応する補正値b’φ(lmφ)を記憶部9から読み出して、読み出した補正値b’φ(i)をLMS演算部207へと出力する。そして、LMS演算部207では、フィルタ係数Wj(i)へ補正値b’φ(i)を乗じる。その結果、フィルタ係数Wj(i)は、操作者入力情報smφ(i)に対応するように補正される。
なお、自動車102の車種やグレードによっては、装置情報検出部11が装着されておらず、装置情報sθ(i)あるいは非対応装置情報snψ(i)として使用できない情報もある。たとえば、タイヤの空気圧センサなどは、多くの自動車102には搭載されていない。そこで、そのような場合には、装置情報sθ(i)としてではなく、操作者入力情報smφ(i)として扱う。
そのため、本例における能動騒音低減装置204では、一部の自動車102において検出できない可能性のあるような装置情報sθ(i)や非対応装置情報snψ(i)に対して、別途テーブルを用意している。このテーブルは、記憶部9内に格納され、装置情報sθ(i)や非対応装置情報snψ(i)と対応させてフィルタ係数の補正値b^ψ(lθ,lnψ)が記憶されている。このような構成において、装置情報sθ(i)や非対応装置情報snψ(i)が、操作者入力部12によって操作者入力情報smφ(i)として入力された場合、テーブルから装置情報sθ(i)や非対応装置情報snψ(i)と対応した補正値b^ψ(lθ,lnψ)を読み出し、読み出した補正値b^ψ(i)をLMS演算部207へと出力する。そして、LMS演算部207では、フィルタ係数Wj(i)へ補正値b^ψ(i)を乗じる。その結果、フィルタ係数Wj(i)は装置情報sθ(i)や非対応装置情報snψ(i)に対応するように補正される。
なお、本例では、LMS演算部207において、補正値b’φ(i),b^ψ(i)によるフィルタ係数Wj(i)の補正を行ったが、これは調整部210において補正しても構わない。
次に、本例の能動騒音低減装置204において、騒音N0を低減する手順と処理について説明する。図13は、本実施の形態における制御ブロック208の制御フローチャートである。なお、図13において、図5から図8に示すフローチャートと同じステップには同じ番号を用いており、その説明は簡略化している。
本例における制御ブロック208では、第1起動ステップ501aと、初期情報検知ステップ521と、車速判定ステップ522と、第2起動ステップ501bと、装置情報入力ステップ511と、装置情報データ選択ステップ512と、寄与割合決定ステップ513と、寄与割合出力ステップ514および、設定値出力ステップ515を含む。
操作者の駆動開始の動作によって、自動車102の各機器や、図1に示す装置情報検出部11や、操作者入力部12および、能動騒音低減装置204に電源が投入される。このとき、図13において、能動騒音低減装置204における第1起動ステップ501aでは、図11に示す制御ブロック208のみ動作させている。これは、走行が開始される前での騒音N0は、単にエンジンのアイドリングによる騒音N0だけであるので、騒音N0は小さく、本能動騒音低減装置204によって騒音低減動作を行う必要性が小さいためである。したがって、非走行状態(速度V=0)における能動騒音低減装置204の使用電力を抑制できる。もちろん、第1起動ステップ501aにおいて、全てのブロックあるいは一部を除いたブロックの動作を開始するなどとしても良い。
本実施の形態の場合、本能動騒音低減装置204は走行が開始される前の状態での騒音低減動作を行わないので、エンジン音を低減するための装置を別途設けておくと良い。この構成とすることによって、走行が開始される前の状態において、エンジン音を低減するための装置を動作させることにより、エンジンによって発生する騒音も低減できる。
初期情報検知ステップ521は、第1起動ステップ501aの後で、装置情報sθ(i)や、非対応装置情報snψ(i)、さらには操作者入力情報smφ(i)を入力し、検知する。なお、装置情報sθ(i)には車速v(i)の情報を含んでいる。
車速判定ステップ522では、初期情報検知ステップ521で検出した車速v(i)を判定する。そのために、車速判定ステップ522には、第1の車速判定ステップ522aと、第2の車速判定ステップ522bとを含んでいる。
第1の車速判定ステップ522aでは、車速v(i)が0か否か(動いてないか)を判定する。そしてこのステップにおいて、車速v(i)が0であると判定された場合には、非対応装置情報snψ(i)や、操作者入力情報smφ(i)に基づいて、補正値b’φ(lmφ)やb^ψ(lnψ)を読み出し、初期情報検知ステップ521へと戻る。一方、第1の車速判定ステップ522aにおいて、車速v(i)が0でないと判定された場合には、第2の車速判定ステップ522bへと進む。これにより、補正値b’φ(i)やb^ψ(i)は、自動車102が走行を開始する直前の非対応装置情報snψ(i)や操作者入力情報smφ(i)に基づいた値となる。
たとえば、乗車人数などに関連する自動車102の重量や、タイヤの空気圧などの非対応装置情報snψ(i)は走行によって大きく変化しない情報である。そこで、非対応装置情報snψ(i)を走行開始直前の値とすることにより、正確に非対応装置情報snψ(i)を検知し、最適な補正値b^ψ(i)を確定できる。
また、操作者入力情報smφ(i)も、走行開始前に取得される。すなわち、走行中に操作者が操作者入力部12を操作しても操作者入力情報smφ(i)は変化しない。したがって、運転中に操作者が操作者入力部12を操作するという危険な行動を避けることができる。なお、操作者入力情報smφ(i)は、次回操作者が新たな操作者入力情報smφ(i)を入力するまで、同じ値が維持される。
なお、タイヤの空気圧を非対応装置情報snψ(i)とした場合、もしタイヤがパンクすることによって、移動中にタイヤの空気圧が変化した場合でも、非対応装置情報snψ(i)は変化しない。したがって、運転者はタイヤのパンクによる騒音N0の変化によって、タイヤのパンクを察知することも可能となる。
また、走行中でもタイヤの空気圧は検知し続けておくと良い。そして制御ブロック208が、タイヤの空気圧があらかじめ定められた値以下となった場合、能動騒音低減装置204を停止する。その結果、運転者は、さらに自動車102の異常を感知することができる。
第2の車速判定ステップ522bでは、車速v(i)が規定速度以上(v(i)>vlim)であるか否かを判定する。車速v(i)が非常に遅い場合、騒音N0は非常に小さい。騒音N0が非常に小さい場合に、騒音低減動作を行うと、参照信号源1のノイズが騒音N0であるとして動作し、異音が発生する場合がある。そこで、本実施の形態では、車速v(i)が規定速度vlimより小さい場合には、何もせずに第2の車速判定ステップ522bが繰り返される。そして第2の車速判定ステップ522bにおいて、車速v(i)が規定速度vlim以上であると判定された場合に、第2起動ステップ501bが実行される。ただし、車速v(i)が規定速度vlimより小さい場合でも、前述のエンジン音を低減する装置は、動作させておくと良い。
この第2起動ステップ501bでは、制御ブロック208以外のブロックの動作が開始される。第2起動ステップ501bの後で、装置情報入力ステップ511が行われる。この装置情報入力ステップ511では、装置情報検出部11から装置情報sθ(i)を入力する。本例の場合、3つの装置情報s1(i)〜s3(i)を入力する。
装置情報データ選択ステップ512では、対応テーブル209の中から、入力された装置情報sθ(i)に対応する1個または2個以上の装置情報データSdθ(lθ)を選択する。
装置情報データ選択ステップ512では、装置情報変化判定ステップ512aと、第2、第3装置情報変化判定ステップ512bと、第2、第3装置情報データ選択ステップ512cと、第1装置情報変化判定ステップ512dと、下限比較ステップ512eと、上限比較ステップ512fと、装置情報データ比較ステップ512gを含む。
装置情報データ選択ステップ512では、最初に、装置情報変化判定ステップ512aが行われる。装置情報変化判定ステップ512aでは、第θ装置情報sθ(i)に対して、前回((n−1)番目のステップ)から今回(n番目のステップ)での変化量を算出する。そして、装置情報変化判定ステップ512aにおいて、全ての装置情報sθ(n)が前回より変化していないと判定した場合、装置情報入力ステップ511へ戻る。一方、装置情報変化判定ステップ512aにおいて、装置情報sθ(n)のいずれかが変化したと判定された場合、第2、第3装置情報変化判定ステップ512bへと進む。
第2、第3装置情報変化判定ステップ512bでは、第2装置情報s2(n)、および第3装置情報s3(n)に対し、前回からの変化量を算出する。そして、第2、第3装置情報変化判定ステップ512bにおいて、第2装置情報s2(n)と第3装置情報s3(n)のいずれもが、前回より変化していないと判定した場合、下限比較ステップ512eへ進む。一方、第2、第3装置情報変化判定ステップ512bにおいて、第2装置情報s2(n)と第3装置情報s3(n)のいずれかが変化したと判定された場合、第2、第3装置情報データ選択ステップ512cへ進む。
第2、第3装置情報データ選択ステップ512cでは、対応テーブル209の中から、第2装置情報s2(n)に対応する第2装置情報データSd2(l2)と、第3装置情報s3(n)に対応する第3装置情報データSd3(l3)を選択し、第1装置情報変化判定ステップ512dへと進む。
第1装置情報変化判定ステップ512dは、第1装置情報s1(n)に対し、前回からの変化量を算出する。第1装置情報変化判定ステップ512dにおいて、第1装置情報s1(n)が前回より変化したと判定した場合、下限比較ステップ512eステップへ進む。
本例における第1装置情報変化判定ステップ512dでは、第1装置情報s1(n)が前回より変化していないと判定した場合、新たな装置情報データSd123(l1,l2,l3)に対応する設定値Ws(l1,l2,l3)を読み込み、設定値出力ステップ515へと進む。
あるいは、対応テーブル209にフィルタ係数Wj(n)に対する補正値bθj(lθ)が記憶されている構成では、第1装置情報変化判定ステップ512dにおいて、第1装置情報s1(n)が前回より変化していないと判定した場合に、現時点のフィルタ係数Wj(n)を読み込む。さらに、対応テーブル209から第2装置情報データSd2(l2)と第3装置情報データSd3(l3)に対応する補正値bθj(lθ)を選択し、設定値出力ステップ515へと進む。
下限比較ステップ512eは、第1装置情報s1(n)が、第1装置情報データ群209aの中の最も小さな第1装置情報データSd1(min)以下であるかを判定する。そして、第1装置情報s1(n)が、第1装置情報データSd1(min)以下であると判定した場合には、第1装置情報データSd1(min)を選択する。そしてこの場合、寄与割合aj(n)のいずれかを1とする。さらに下限比較ステップ512eでは、第2装置情報データSd2(l2)、第3装置情報データSd3(l3)やSd1(min)などによって、設定値Ws(l1,l2,l3)または設定値Ws(l1,l2,l3)と補正値bθj(lθ)を決定し、寄与割合出力ステップ514へと進む。
下限比較ステップ512eにおいて、第1装置情報s1(n)が下限値Sd1(min)よりも大きいと判定した場合に、上限比較ステップ512fが行われる。この上限比較ステップ512fでは、第1装置情報s1(n)が、第1装置情報データ群209aの中の最も大きな第1装置情報データSd1(max)よりも大きいかを判定する。そして、第1装置情報s1(n)が、第1装置情報データSd1(max)よりも大きいと判定した場合には、第1装置情報データSd1(max)が選択される。そしてこの場合、寄与割合aj(n)のいずれかを1とする。さらに、上限比較ステップ512fでは、第2装置情報データSd2(l2)、第3装置情報データSd3(l3)、第1装置情報データSd3(max)などによって、設定値Ws(l1,l2,l3)または、設定値Ws(l1,l2,l3)と補正値bθj(lθ)を決定し、寄与割合出力ステップ514へと進む。
上限比較ステップ512fにおいて、第1装置情報s1(n)が、第1装置情報データSd1(max)よりも小さいと判断された場合に、装置情報データ比較ステップ512gが行われる。このステップでは、入力した第1装置情報s1(n)と、第1装置情報データ群209aの中の第1装置情報データSd1(l1)とを順に比較してゆく。そして、第1装置情報s1(n)が、第1装置情報データSd1(l1)のいずれかと等しいか、あるいは第1装置情報s1(n)が第1装置情報データSd1(o1)と第1装置情報データSd1(o1+p1)の間にあるか、あるいは、第1装置情報s1(n)が第1装置情報データSd1(o1)をまたいで変化したか、さらに第1装置情報s1(n)が前回の第1装置情報s1(n−1)より大幅に変化したかを判定する。
この比較の結果、第1装置情報s1(n)が第1装置情報データSd1(o1)と等しいと判定した場合、寄与割合aj(n)のいずれかは1とする。さらに、第2装置情報データSd2(l2)、第3装置情報データSd3(l3)、第1装置情報データSd1(l1)によって、1個のフィルタ係数の設定値Ws(l1,l2,l3)または、1個の設定値Ws(l1,l2,l3)と補正値bθj(lθ)を決定し、寄与割合出力ステップ514へと進む。
一方、第1装置情報s1(n)が前回選択した2個の第1装置情報データSd1(o1)とSd1(o1+p1)の範囲から変化していないと判定した場合、その2個の第1装置情報データSd1(o1)、Sd1(o1+p1)は維持され、寄与割合決定ステップ513へと進む。
この場合、寄与割合決定ステップ513では、第1装置情報s1(n)と選択された2個の第1装置情報データSd1(o1)、Sd1(o1+p1)に基づいて、寄与割合aj(n)を算出する。なお本例の場合、個数Jは3であるが、2以上の値であればよい。さらに、第θ装置情報データSdθ(lθ)などによって、フィルタ係数の設定値Ws(l1,l2,l3)、または設定値Ws(l1,l2,l3)と補正値bθj(lθ)を決定し、寄与割合出力ステップ514へと進む。
装置情報データ比較ステップ512gにおいて、第1装置情報s1(n)が、第1装置情報データSd1(o1)をまたいで変化したと判定した場合、対応テーブル209の第1装置情報データ群209aの中から、第1装置情報データSd1(o1)と第1装置情報データSd1(o1+p1)を選択し、寄与割合決定ステップ513へと進む。
この場合、寄与割合決定ステップ513では、第1装置情報データSd1(o1)と第1装置情報データSd1(o1+p1)および、第1装置情報s1(n)によって寄与割合aj(n)を決定する。さらに、第θ装置情報データSdθ(lθ)や寄与割合aj(n)などによって、設定値Ws(l1,l2,l3)あるいは、設定値Ws(l1,l2,l3)と補正値bθj(lθ)を決定し、寄与割合出力ステップ514へと進む。
ただし、第1装置情報s1(n)が前回より大幅に変化したと判定した場合には、今回の第1装置情報s1(n)に対応した2個の新たな第1装置情報データSd1(l1)を選択し、寄与割合決定ステップ513へと進む。そのために、装置情報データ比較ステップ512gでは、前回の第1装置情報s1(n−1)と今回の第1装置情報s1(n)とを比較し、その変化量が規定値を超えていると判定した場合に、第1装置情報が前回より大幅に変化したと判定している。
この場合、寄与割合決定ステップ513では、新たに選択した2個の第1装置情報データSd1(l1)と第1装置情報s1(n)によって寄与割合aj(n)を決定する。さらに、新たに選択した第θ装置情報データSdθ(lθ)や寄与割合aj(n)などによって、設定値Ws(l1,l2,l3)あるいは、設定値Ws(l1,l2,l3)と補正値bθj(lθ)を決定し、寄与割合出力ステップ514へと進む。
本例における寄与割合出力ステップ514では、装置情報データ選択ステップ512や、寄与割合決定ステップ513で決定した寄与割合aj(n)を記憶部9(RAM)の寄与割合aj(n)を記憶する領域へ書き込み、設定値出力ステップ515へ進む。
設定値出力ステップ515は、上記ステップで決定された設定値Ws(l1,l2,l3)を、記憶部9(RAM)上のフィルタ係数データWDj(n)を記憶する領域へ書き込み、車速判定ステップ522へと戻る。なお、本実施の形態では、非対応装置情報snφ(n)に基づく補正値b’φ(lnφ)や、操作者入力情報smψ(n)に基づく補正値b^ψ(lmψ)などの値も設定値出力ステップ515において記憶部9へと記憶させている。
そして、本実施の形態におけるLMS演算ステップ505では、非対応装置情報snφ(n)に基づく補正値b’φ(n)や、操作者入力情報smψ(n)に基づく補正値b^ψ(n)や、補正値bθj(n)などが設定されている場合、上記ステップで決定されたフィルタ係数Wj(n)やフィルタ係数データWDj(n)に上記補正値を乗じることによって補正して、記憶部9(RAM)へ書き込む。
なお、本実施の形態において、上記補正は、LMS演算部207におけるLMS演算ステップ505にて実行されているが、制御ブロック208において実施してもかまわない。あるいは、上記補正は、ADFブロック205における調整ステップ506bにおいて行っても良い。たとえば、ADFブロック205にADFブロック125を用いた場合、調整ステップ506bでは、フィルタ係数Wj(n)と寄与割合aj(n)と上記補正値bθj(n)、b’φ(n)、b^ψ(n)とによって、フィルタ係数W(n)やWg(n)を生成する。一方、ADFブロック205にADFブロック135を用いた場合、調整ステップ506bでは、キャンセル信号yj(n)と、寄与割合aj(n)と上記補正値bθj(n)、b’φ(n)、b^ψ(n)とによって、キャンセル信号y(i)を生成する。
図14は、本実施の形態における第2の例の対応テーブル219を示す図である。本例における対応テーブル219は、記憶部9内に格納されている。対応テーブル219には、非対応装置情報テーブル219aと、操作者入力情報テーブル219bとを含んでいる。非対応装置情報テーブル219aは、装置情報データSd(l)と非対応装置情報データSndψ(lnψ)のそれぞれに対応させて、設定値Ws(l,lnψ)が格納されている。一方、操作者入力情報テーブル219bは、装置情報データSd(l)と操作者入力データSmdφ(lmφ)とに対応させて、設定値Ws(l,lmφ)が格納されている。
この例の能動騒音低減装置204では、1個の装置情報のみしか使用していない。したがって、本例の能動騒音低減装置204は、複数の装置情報検出部18が装備されていないような自動車901でも使用することができる。したがって新車のみならず、中古車などへも搭載することができる。
なお、この場合非対応装置情報データSndψ(i)に対応して設定値Ws(l,lnψ)の補正値b’ψ(l,lnψ)を格納したテーブルも設けておく。さらに、操作者入力データSmdφ(i)に対応して、設定値Ws(l,lmφ)の補正値b^φ(l,lmφ)を格納したテーブルも設けておく。そして、LMS演算部207あるいはADFブロック205における調整部10、129、139において、フィルタ係数Wj(i)に上記補正値から非対応装置情報データSndψ(n)に対応して選択した補正値b’ψ(n)、b^φ(n)を乗じて、補正する。
たとえば、装置情報Sd(i)として車速v(i)を使用し、かつ車速v(i)をGPSデータなどから算出するようにし、操作者入力情報テーブル219bのみを用いて処理する場合、自動車102側からの情報が不要とできる。したがって、容易に中古車などへも搭載し、騒音N0を低減できる。
そしてこの場合、対応テーブル219のデータ量は小さくなるので、記憶部9のメモリサイズも小さくて良い。
(実施の形態3)
図15は本発明の実施の形態3におけるマルチチャンネル能動騒音低減システム301のブロック図である。図16はマルチチャンネル能動騒音低減システム301が搭載された装置302の概略図である。図15と図16において、図1と図2に示す実施の形態1における能動騒音低減システム101や自動車102と同じ部分には同じ参照番号を付す。
実施の形態1における能動騒音低減システム101は1つの参照信号源1と1つのキャンセル音源2と1つの誤差信号源3と能動騒音低減装置4を備える。一方、本実施の形態におけるマルチチャンネル能動騒音低減システム301はマルチチャンネル能動騒音低減装置304を用い、1つ以上の参照信号源1ξと1つ以上のキャンセル音源2ηと1つ以上の誤差信号源3ζとを用いて、空間S1の騒音を低減する。ここで、ξは参照信号源1の数、ηはキャンセル音源の数、ζは誤差信号源の数をそれぞれ表しており、以下これらの添え字が付される場合には、それぞれの信号源と関連していることを示している。
以下、4つの参照信号源10〜13と、4つのキャンセル音源20〜23と、4つの誤差信号源30〜33とを備えたマルチチャンネル能動騒音低減システム301を例にとって説明する。
本例のマルチチャンネル能動騒音低減システム301のマルチチャンネル能動騒音低減装置304は、4つのマルチチャンネル能動騒音低減部3040〜3043を備える。また、マルチチャンネル能動騒音低減部304ηには、4つの能動騒音低減部3040η〜3043ηと、これらの能動騒音低減部304ξηからの出力信号を加算して得られた信号yη(i)を出力する信号加算部313ηをさらに備えている。
なお、ここでは参照信号源1ξとキャンセル音源2ηと誤差信号源3ζの数は4個としているが、この数は4個に限らず、互いに異なっていてもよい。
キャンセル音源2ηはマルチチャンネル能動騒音低減部304ηから出力されたキャンセル信号yη(i)をキャンセル音N1ηとして空間S1に放射する。
まず、キャンセル音源2ηからキャンセル音N1ηを放射させるマルチチャンネル能動騒音低減装部304ηの動作を説明する。マルチチャンネル能動騒音低減部304ηを構成する能動騒音低減部304ξηには、実施の形態1あるいは実施の形態2におけるいずれのADFブロックを用いても構わない。
能動騒音低減部3040η〜3043ηは、参照信号源10〜13から出力される参照信号x0(i)〜x3(i)が入力されて、キャンセル信号y0η(i)〜y3η(i)を出力する。
信号加算器313ηは、これら4つのキャンセル信号yξη(i)を加算し、キャンセル信号yη(i)を出力する。そして、マルチチャンネル能動騒音低減部304ηから出力されたキャンセル信号yη(i)が、キャンセル音源2ηへと供給されることによって、キャンセル音源2ηからキャンセル音N1ηが放射される。
能動騒音低減部304ξηにおけるADFブロック305ξηでは、LMS演算部307ξηで算出されたフィルタ係数Wξη j(n)と、制御ブロック308ξηで算出された寄与割合aξη j(n)および、参照信号xξ(n)を用いて、現時点のn番目のステップでのキャンセル信号yξη(n)を求める。すなわち、ADFブロック305ξηでは、実施の形態1あるいは2におけるフィルタ係数Wj(n)に代えて、フィルタ係数Wξη j(n)が用いられて、キャンセル信号yξη(n)を生成する。
能動騒音低減部304ξηにおけるLMS演算部307ξηでは、次回のフィルタ係数Wξη j(n+1)や次回のフィルタ係数データWDξη j(n+1)を算出する。
実施の形態1では、模擬音響伝達特性データC^は、ADFブロック105からキャンセル信号y(i)が出力されてから、誤差信号e(i)としてLMS演算部7へ到達するまでの間の伝達経路の音響伝達特性を模擬した模擬音響伝達特性データC^を用いた。一方、本実施の形態では、(数23)に示すような16個の模擬音響伝達特性データC^ηζを用いる。この模擬音響伝達特性データC^ηζは実施の形態1や実施の形態2と同様に時間で変動する値としても良い。
模擬音響伝達特性データC^ηζは、ADFブロック305ξηからLMS演算部307ξηまでの間の伝達特性を模擬した音響伝達特性である。
ここで、現時点のn番目のステップから(Nc−1)ステップ分過去までのNc個の参照信号xξ(i)をNc行1列のベクトルである参照信号Xξ(n)として(数24)で表す。
Chat部6ξηζは、参照信号源1ξに接続され、(数25)に示すように、参照信号Xξ(n)を入力されて濾波参照信号rξηζ(n)を出力する。
濾波参照信号Rξηζ(n)は、(数26)に示すように、現時点から(N−1)個のステップ分の過去までのN個の濾波参照信号rξηζ(n)が、N行1列のベクトルとして表される。
誤差信号源3ζは空間S1で取得した残留音に対応する誤差信号eζ(n)を出力する。LMS演算部307ξηでは、(数27)に示すように、現時点のn番目のステップで誤差信号源3ζの出力する誤差信号eζ(n)と、濾波参照信号rξηζ(n)と、ステップサイズパラメータμξηζによって、フィルタ係数Wξη j(n+1)と、フィルタ係数データWDξη j(n+1)を生成する。
ADFブロック305ξηでは、LMS演算部307ξηで生成したフィルタ係数Wξη j(n+1)と制御ブロック308ξηで算出した寄与割合aξη j(n)によってフィルタ係数Wξη(n)を(数28)のように算出する。
さらにADFブロック305ξηでは、参照信号Xξ(n)に基づいて、(数29)に示されるように、キャンセル信号yξη(n)を生成する。
信号加算部313ηは(数29)で得られたキャンセル信号yξη(n)を(数30)で示すように合計し、キャンセル信号yη(n)を生成する。
次に本実施の形態における制御ブロック308ξηについて説明する。本実施の形態において、制御ブロック308ξηは、能動騒音低減部304ξηのそれぞれに設けている。なお、制御ブロック308ξηは、能動騒音低減部304ξηのそれぞれに設けなくてもよく、制御ブロック308は1個とし、全ての能動騒音低減部304ξηを同じ寄与割合aj(n)によって、制御しても良い。
また、本実施の形態における制御ブロック308ξηにおいて、実施の形態2と同様に、補正値bθj(i)やb’φ(i)、b^ψ(i)などを生成しても良い。さらに、記憶部309に記憶される対応テーブルは実施の形態2におけるいずれのテーブルを用いてもかまわない。なお、図15において、記憶部309は、能動騒音低減部304ξηのそれぞれに設けているが、記憶部309は能動騒音低減部304ξηのいずれかに設けても良い。あるいは、記憶部309は、能動騒音低減装置304の中であり、かつ能動騒音低減部304ξηの外に設けても良い。
以上のように、マルチチャンネル能動騒音低減システム301は(数27)に基づいてサンプリング周期TsごとにADFブロック305ξηのフィルタ係数Wj ξη(i)を更新することで、誤差信号源3ζの位置で騒音N0を打ち消す最適なキャンセル信号yη(i)を求めることができる。その結果、空間S1内での騒音N0を低減することができる。