(57)【特許請求の範囲】
【請求項１】
1つまたは複数の処理デバイスにおいて、アクティブノイズキャンセレーションシステム内に配設されている適応フィルタの現在の係数の集合を表す第1の複数の値を受け取るステップと、
前記1つまたは複数の処理デバイスによって、第2の複数の値を計算するステップであって、その各々が前記適応フィルタの現在の係数と対応する先行する係数との間の瞬間的な差を表す、ステップと、
前記第2の複数の値に基づき、前記アクティブノイズキャンセレーションシステムの二次経路の効果を表す伝達関数の1つまたは複数の瞬間的な大きさを推定するステップと、
前記1つまたは複数の瞬間的な大きさの推定値に基づき前記第1の複数の値を更新して前記適応フィルタに対する更新された係数の集合を生成するステップと、
前記適応フィルタのオペレーションに影響を及ぼすように更新された係数の前記集合で前記適応フィルタをプログラムするステップと
を含み、
前記1つまたは複数の瞬間的な大きさは、時間の経過に伴って前記適応フィルタの前記係数の瞬間的な差が変化する変化率に基づき推定される、コンピュータ実装方法。
【請求項２】
前記伝達関数の前記1つまたは複数の瞬間的な大きさを決定するステップは、
デジタルフィルタを前記第2の複数の値に適用するステップと、
前記デジタルフィルタの出力に基づき前記伝達関数の前記1つまたは複数の瞬間的な大きさを決定するステップと
を含む、請求項1に記載の方法。
【請求項３】
前記伝達関数の1つまたは複数の瞬間的な大きさを推定するステップは、
前記変化率の値の逆数を決定するステップと、
前記変化率の前記値の前記逆数に基づき前記伝達関数の前記1つまたは複数の瞬間的な大きさを推定するステップと
をさらに含む、請求項1に記載の方法。
【請求項４】
前記1つまたは複数の処理デバイスにおいて、前記伝達関数に関連付けられている瞬時位相値の1つまたは複数の推定値を受け取るステップと、
瞬時位相値の前記1つまたは複数の推定値にも基づき前記第1の複数の値を更新するステップと
をさらに含む、請求項3に記載の方法。
【請求項５】
瞬時位相値の前記1つまたは複数の推定値は、前記適応フィルタのオペレーションにおいて解析的に、前記二次経路の前のモデルから独立して生成される、請求項4に記載の方法。
【請求項６】
瞬時位相値の前記1つまたは複数の推定値は、教師なし学習プロセスを使用して生成される、請求項4に記載の方法。
【請求項７】
前記アクティブノイズキャンセレーションシステムは、ノイズ信号を打ち消すためのアンチノイズ信号を発生するための1つまたは複数の音響トランスデューサと、前記アンチノイズ信号による前記ノイズ信号の少なくとも部分的な打ち消しの結果生じる残留ノイズを感知するための1つまたは複数のマイクロフォンとを備える、請求項1に記載の方法。
【請求項８】
前記伝達関数を行列として表すステップをさらに含み、前記行列の所与の要素は、前記1つまたは複数のマイクロフォンのうちの特定の1つのマイクロフォンと前記1つまたは複数の音響トランスデューサのうちの特定の1つの音響トランスデューサとの間の二次経路を表す、請求項7に記載の方法。
【請求項９】
アクティブノイズキャンセレーションシステム内に配設されている適応フィルタの現在の係数の集合を表す第1の複数の値を受け取り、
第2の複数の値を計算し、その各々は前記適応フィルタの現在の係数と対応する先行する係数との間の瞬間的な差を表し、
前記第2の複数の値に基づき、前記アクティブノイズキャンセレーションシステムの二次経路の効果を表す伝達関数の1つまたは複数の瞬間的な大きさを推定し、
前記1つまたは複数の瞬間的な大きさの推定値に基づき前記第1の複数の値を更新して前記適応フィルタに対する更新された係数の集合を生成し、
前記適応フィルタのオペレーションに影響を及ぼすように更新された係数の前記集合で前記適応フィルタをプログラムする
ように構成されている1つまたは複数の処理デバイスを備えるアクティブノイズコントロールエンジン
を備え、
前記1つまたは複数の瞬間的な大きさは、時間の経過に伴って前記適応フィルタの前記係数の瞬間的な差が変化する変化率に基づき推定される、システム。
【請求項１０】
前記伝達関数の前記1つまたは複数の瞬間的な大きさを決定するステップは、
デジタルフィルタを前記第2の複数の値に適用するステップと、
前記デジタルフィルタの出力に基づき前記伝達関数の前記1つまたは複数の瞬間的な大きさを決定するステップと
を含む、請求項9に記載のシステム。
【請求項１１】
前記伝達関数の1つまたは複数の瞬間的な大きさを推定するステップは、
前記変化率の値の逆数を決定するステップと、
前記変化率の前記値の前記逆数に基づき前記伝達関数の前記1つまたは複数の瞬間的な大きさを推定するステップと
をさらに含む、請求項9に記載のシステム。
【請求項１２】
前記アクティブノイズコントロールエンジンは、
前記伝達関数に関連付けられている瞬時位相値の1つまたは複数の推定値を受け取り、
瞬時位相値の前記1つまたは複数の推定値にも基づき前記第1の複数の値を更新する
ように構成される、請求項11に記載のシステム。
【請求項１３】
瞬時位相値の前記1つまたは複数の推定値は、前記適応フィルタのオペレーションにおいて解析的に、前記二次経路の前のモデルから独立して生成される、請求項12に記載のシステム。
【請求項１４】
1つまたは複数のプロセッサにオペレーションを実行させるためのコンピュータ可読命令を符号化した1つまたは複数のマシン可読記憶デバイスであって、前記オペレーションは
アクティブノイズキャンセレーションシステム内に配設されている適応フィルタの現在の係数の集合を表す第1の複数の値を受け取るステップと、
第2の複数の値を計算するステップであって、その各々は前記適応フィルタの現在の係数と対応する先行する係数との間の瞬間的な差を表す、ステップと、
前記第2の複数の値に基づき、前記アクティブノイズキャンセレーションシステムの二次経路の効果を表す伝達関数の1つまたは複数の瞬間的な大きさを推定するステップと、
前記1つまたは複数の瞬間的な大きさの推定値に基づき前記第1の複数の値を更新して前記適応フィルタに対する更新された係数の集合を生成するステップと、
前記適応フィルタのオペレーションに影響を及ぼすように更新された係数の前記集合で前記適応フィルタをプログラムするステップと
を含み、
前記1つまたは複数の瞬間的な大きさは、時間の経過に伴って前記適応フィルタの前記係数の瞬間的な差が変化する変化率に基づき推定される、1つまたは複数のマシン可読記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、アクティブノイズコントロール(active noise control)に関するものである。
【背景技術】
【０００２】
アクティブノイズコントロールは、アンチノイズと称されることも多い実質的に正反対の信号を発生させることによって望ましくないノイズを打ち消すことを伴う。
【発明の概要】
【課題を解決するための手段】
【０００３】
一態様において、本明細書は、1つまたは複数の処理デバイスにおいて、アクティブノイズキャンセレーションシステム(active noise cancellation system)内に配設された適応フィルタの現在の係数の集合を表す第1の複数の値を受け取るステップを含むコンピュータ実装方法を特徴付ける。方法は、また、1つまたは複数の処理デバイスによって、第2の複数の値を計算するステップであって、その各々が適応フィルタの現在の係数と対応する先行する係数との間の瞬間的な差を表す、ステップと、第2の複数の値に基づき、アクティブノイズキャンセレーションシステムの二次経路の効果を表す伝達関数の1つまたは複数の瞬間的な大きさを推定するステップとを含む。方法は、1つまたは複数の瞬間的な大きさの推定値に基づき第1の複数の値を更新して適応フィルタに対する更新された係数の集合を生成するステップと、適応フィルタのオペレーションに影響を及ぼすように更新された係数の集合で適応フィルタをプログラムするステップとをさらに含む。
【０００４】
別の態様において、本明細書は、1つまたは複数の処理デバイスを備えるアクティブノイズコントロールエンジン(active noise control engine)を特徴付ける。アクティブノイズコントロールエンジンは、アクティブノイズキャンセレーションシステム内に配設されている適応フィルタの現在の係数の集合を表す第1の複数の値を受け取るように構成され得る。アクティブノイズコントロールエンジンは、また、第2の複数の値を計算し、その各々は適応フィルタの現在の係数と対応する先行する係数との間の瞬間的な差を表し、第2の複数の値に基づき、アクティブノイズキャンセレーションシステムの二次経路の効果を表す伝達関数の1つまたは複数の瞬間的な大きさを推定するように構成される。アクティブノイズコントロールエンジンは、1つまたは複数の瞬間的な大きさの推定値に基づき第1の複数の値を更新して適応フィルタに対する更新された係数の集合を生成し、適応フィルタのオペレーションに影響を及ぼすように更新された係数の集合で適応フィルタをプログラムするようにさらに構成される。
【０００５】
別の態様において、本明細書では、1つまたは複数のプロセッサに様々なオペレーションを実行させるためのコンピュータ可読命令を符号化した1つまたは複数のマシン可読記憶デバイスを特徴付ける。これらのオペレーションは、アクティブノイズキャンセレーションシステム内に配設されている適応フィルタの現在の係数の集合を表す第1の複数の値を受け取るステップを含む。これらのオペレーションは、また、第2の複数の値を計算するステップであって、その各々は適応フィルタの現在の係数と対応する先行する係数との間の瞬間的な差を表す、ステップと、第2の複数の値に基づき、アクティブノイズキャンセレーションシステムの二次経路の効果を表す伝達関数の1つまたは複数の瞬間的な大きさを推定するステップとを含む。これらのオペレーションは、1つまたは複数の瞬間的な大きさの推定値に基づき第1の複数の値を更新して適応フィルタに対する更新された係数の集合を生成するステップと、適応フィルタのオペレーションに影響を及ぼすように更新された係数の集合で適応フィルタをプログラムするステップとをさらに含む。
【０００６】
上記の態様の実装形態は、次の特徴のうちの1つまたは複数を含むことができる。
【０００７】
1つまたは複数の瞬間的な大きさは、時間の経過に伴って適応フィルタの係数が変化する変化率に基づき推定され得る。伝達関数の1つまたは複数の瞬間的な大きさを決定するステップは、デジタルフィルタを第2の複数の値に適用するステップと、デジタルフィルタの出力に基づき伝達関数の1つまたは複数の瞬間的な大きさを決定するステップとを含むことができる。伝達関数の1つまたは複数の瞬間的な大きさを推定するステップは、時間の経過に伴って適応フィルタの係数が変化する変化率の値の逆数を決定するステップと、変化率の値の逆数に基づき伝達関数の1つまたは複数の瞬間的な大きさを推定するステップとをさらに含むことができる。伝達関数に関連付けられている瞬時位相値の1つまたは複数の推定値は、処理デバイスで受信されるものとしてよく、第1の複数の値は、瞬時位相値の1つまたは複数の推定値にも基づき更新され得る。瞬時位相値の1つまたは複数の推定値は、適応フィルタのオペレーションにおいて解析的に、二次経路の前のモデルから独立して、生成され得る。瞬時位相値の1つまたは複数の推定値は、教師なし学習プロセスを使用して生成され得る。制御信号が適応フィルタの出力に基づき生成されるものとしてよく、制御信号は、ノイズ信号の効果を低減するように構成されているアンチノイズ信号を発生させる。ノイズ信号は、車両エンジンから発生し得る。第1の複数の値は、アンチノイズ信号によるノイズ信号の少なくとも部分的な打ち消しの結果生じる残留ノイズに基づき生成されるエラー信号にも基づき更新され得る。アクティブノイズキャンセレーションシステムは、ノイズ信号を打ち消すためのアンチノイズ信号を発生するための1つまたは複数の音響トランスデューサと、アンチノイズ信号によるノイズ信号の少なくとも部分的な打ち消しの結果生じる残留ノイズを感知するための1つまたは複数のマイクロフォンとを備えることができる。伝達関数は、行列として表されるものとしてよく、行列の所与の要素は、1つまたは複数のマイクロフォンのうちの特定の1つのマイクロフォンと1つまたは複数の音響トランスデューサのうちの特定の1つの音響トランスデューサとの間の二次経路を表す。
【０００８】
本明細書において説明されている様々な実装形態が、次の利点のうちの1つまたは複数をもたらし得る。本明細書で説明されている技術を使用することによって、適応フィルタは、アクティブノイズキャンセレーション(ANC)システムの1つまたは複数の二次経路伝達関数における位相および/または大きさの変化を考慮するように構成され得る。いくつかの実装形態において、フィルタは、1つまたは複数の二次経路伝達関数における位相と大きさの両方の変化に関して適応させることができ、次いで、これにより、適応フィルタの精度および収束速度が改善され得る。場合によっては、これは、二次経路をモデル化するために測定を行わずに実行され得る。場合によっては、これは、ANCシステムの生産時間および/またはコストの節減をもたらし得る。たとえば、本明細書において説明されている技術は、車両内に配備されたANCシステムに関連付けられている二次経路をモデル化するために必要になり得る時間のかかる測定を行う必要性をなくし得るか、または減じ得る。これは、測定を実行するのに十分な時間にわたって車両を調達することが多くの場合に困難であり、および/または費用がかかるときに生産前段階の車両に特に有利であり得る。1つまたは複数の二次経路伝達関数を適応的におよび実行時に特徴付けることを可能にすることによって、環境(たとえば車両内など、窓を開けたり、または大きな物品を車内に置いたりすると、音響環境に影響を及ぼし得る場所)の動的変化に関してANCシステムに自己調節機能を持たせることができる。
【０００９】
発明の概要の節で説明されているものを含む、本開示で説明されている特徴のうちの2つ以上を組み合わせることで、本明細書では具体的に説明されていない実装形態を形成することができる。
【００１０】
1つまたは複数の実装形態の詳細は、添付図面と以下の説明とで述べられる。他の特徴、目的、および利点は、説明と図面、さらには特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】アクティブノイズコントロール(ANC)システムの一例を示す図である。
【図２】ANCシステムの原理を例示するプロットである。
【図３】例示的なANCシステムのブロック図である。
【図４Ａ】ANCシステム内の例示的な適応フィルタのブロック図である。
【図４Ｂ】ANCシステム内の例示的な適応フィルタのブロック図である。
【図５】ノイズ回復力(noise resilience)を実装するために使用される機能の一例の図である。
【図６】1つまたは複数の二次経路の位相変化を考慮する例示的なANCシステムのブロック図である。
【図７Ａ】二次経路位相変化を考慮する効果を示すプロットである。
【図７Ｂ】二次経路位相変化を考慮する効果を示すプロットである。
【図８Ａ】ANCシステムの文脈における、優決定系の例を示す図である。
【図８Ｂ】ANCシステムの文脈における、劣決定系の例を示す図である。
【図９Ａ】ANCシステムの代替的表現の一例のブロック図である。
【図９Ｂ】ANCシステムの代替的表現の一例のブロック図である。
【図１０Ａ】二次経路の大きさ変化を推定する効果を示すプロットである。
【図１０Ｂ】二次経路の大きさ変化を推定する効果を示すプロットである。
【図１０Ｃ】二次経路の大きさ変化を推定する効果を示すプロットである。
【図１０Ｄ】二次経路の大きさ変化を推定する効果を示すプロットである。
【図１１】フィルタ係数の変化率を二次経路伝達関数の様々な大きさに対するステップサイズの関数として示すプロットである。
【図１２】二次経路の大きさへの変化に従ってステップサイズを適応的に調整するプロセスを例示する追加の注釈を含む、図11のプロットの拡大部分を示す図である。
【図１３Ａ】本明細書で説明されている技術を使用することによる適応フィルタの収束率の改善を示す例示的なプロットである。
【図１３Ｂ】本明細書で説明されている技術を使用することによる適応フィルタの収束率の改善を示す例示的なプロットである。
【図１３Ｃ】本明細書で説明されている技術を使用することによる適応フィルタの収束率の改善を示す例示的なプロットである。
【図１３Ｄ】本明細書で説明されている技術を使用することによる適応フィルタの収束率の改善を示す例示的なプロットである。
【図１４】ANCシステムの二次経路における位相変化に基づき適応フィルタをプログラムするための例示的なプロセスを示すフローチャートである。
【図１５】ANCシステムの二次経路における大きさの変化に基づき適応フィルタをプログラムするための例示的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【００１２】
本出願は、アクティブノイズコントロール(ANC)システムを実装するための技術を説明する。
【００１３】
アクティブノイズコントロールシステムは、エンジン、送風機、ファン、トランス、およびコンプレッサなどの機器から発生する望ましくない、または不快なノイズを打ち消すか、または低減するために使用される。アクティブノイズコントロールは、また、たとえば、機械的振動またはエンジン高調波によって発生する望ましくないノイズを打ち消すか、または減衰させるために自動車または他の輸送システム(たとえば、自動車、トラック、バス、航空機、ボート、または他の車両)においても使用される。
【００１４】
場合によっては、アクティブノイズコントロール(ANC)システムは、望ましくないノイズを減衰させるか、または打ち消すために使用され得る。場合によっては、ANCシステムは、重ね合わせの原理に基づき望ましくないノイズ(一次ノイズと称されることが多い)の少なくとも一部を打ち消すように構成され得る電気音響または電気機械システムを含むことができる。これは、一次ノイズの振幅および位相を識別し、ほぼ等しい振幅および逆位相の別の信号(アンチノイズと称されることが多い)を発生することによって行うことができる。適切なアンチノイズは一次ノイズと組み合わさって、両方とも実質的に打ち消される(たとえば、指定または許容される公差の範囲内になるように打ち消される)。この点で、本明細書で説明されている例示的な実装形態において、ノイズを「打ち消す」ステップは、「打ち消された」ノイズを指定されたレベルに、または許容される公差の範囲内に低減するステップを含んでいてもよく、すべてのノイズの完全な打ち消しを必要としない。ANCシステムは、パッシブノイズコントロールシステムを使用したのでは容易に減衰させられ得ない低周波ノイズを含む、広い範囲のノイズ信号を減衰させる際に使用され得る。場合によっては、ANCシステムは、サイズ、重量、体積、およびコストに関して実現可能なノイズコントロールメカニズムを実現する。
【００１５】
図1は、ノイズ源105によって発生するノイズを打ち消すためのアクティブノイズコントロールシステム100の一例を示す。このノイズは、一次ノイズと称されてよい。システム100は、ノイズ源105からのノイズを検出し、信号をANCエンジン120に(たとえば、デジタル信号x(n)として)供給する基準センサ110を備える。ANCエンジン120は、二次源125に供給されるアンチノイズ信号(たとえば、デジタル信号y(n))を発生する。二次源125は、一次ノイズの効果を打ち消すか、または低減する信号を発生する。たとえば、一次ノイズが音響信号であるときに、二次源125は、音響一次ノイズの効果を打ち消すか、または低減する音響アンチノイズを発生するように構成され得る。キャンセレーションエラーは、エラーセンサ115によって検出され得る。エラーセンサ115は、ANCエンジンがエラーを低減するか、または排除するためにアンチノイズ発生プロセスをしかるべく修正できるように信号を(たとえば、デジタル信号e(n)として)ANCエンジン120に供給する。
【００１６】
ノイズ源105とエラーセンサ115との間にあるコンポーネントは、一次経路130と総称されることが多く、二次源125とエラーセンサ115との間のコンポーネントは、二次経路135と総称されることが多い。たとえば、音響ノイズを打ち消すためのANCシステムにおいて、一次経路は、ノイズ源とエラー感知マイクロフォンとの間の音響距離を含むものとしてよく、二次経路は、音響アンチノイズ発生スピーカとエラー感知マイクロフォンとの間の音響距離を含むものとしてよい。一次経路130および/または二次経路135は、ANCシステムのコンポーネントなどの追加のコンポーネントまたはANCシステムが配備される環境も含み得る。たとえば、二次経路は、ANCエンジン120、二次源125、および/またはエラーセンサ115のうちの1つまたは複数のコンポーネントを含み得る。いくつかの実装形態において、二次経路は、1つまたは複数のデジタルフィルタ、増幅器、デジタル/アナログ(D/A)コンバータ、アナログ/デジタル(A/D)コンバータ、およびデジタルシグナルプロセッサなどの、ANCエンジン120および/または二次源125の電子コンポーネントを備えることができる。いくつかの実装形態において、二次経路は、二次源125に関連付けられている電気音響応答、二次源125に関連付けられている音響経路、およびエラーセンサ115に関連付けられているダイナミクスも含み得る。上記のコンポーネントのうちの1つまたは複数への動的変化は、二次経路のモデルに影響を及ぼすことができ、次いで、ANCシステムの性能に影響を及ぼし得る。
【００１７】
ANCエンジン120は、適応フィルタを備えることができ、その係数は、一次ノイズの変動に基づき適応的に変化し得る。フィルタ係数の変動は、N次元空間で表されるものとしてよく、Nは、適応フィルタに関連付けられている係数の個数である。たとえば、2タップフィルタ(たとえば、2つの係数を有するフィルタ)の係数変動は、2次元平面上で表現され得る。対応する空間内のフィルタ係数の時間変動経路は、適応フィルタに関連付けられているフィルタ係数軌跡と称され得る。適応フィルタの時間変化係数は、たとえば、適応フィルタに関連付けられている伝達関数に基づき生成され得る。伝達関数は、場合によっては、時間とともに変動することはない二次経路の特性に基づき生成され得る。しかしながら、いくつかの状況において、二次経路135の電気音響特性は、時間の関数として変動し得る。本明細書で説明されている例示的な実装形態では、フィルタ係数軌跡に基づき二次経路135のモデルを動的に更新し、それにより、ノイズの少なくとも一部を打ち消すようにできる。
【００１８】
ノイズ源105は、様々なタイプのものがあり得る。たとえば、ノイズ源105は、自動車、航空機、船舶もしくはボート、または鉄道機関車に関連する車両エンジンであり得る。いくつかの実装形態において、ノイズ源105は、暖房、換気、および空調(HVAC)システム、冷蔵庫、換気扇、洗濯機、芝刈り機、掃除機、加湿器、または除湿器などの電気器具を含み得る。ノイズ源105は、工業用ファン、空気ダクト、煙突、トランス、発電機、送風機、コンプレッサ、ポンプ、チェーンソー、風洞、騒音の大きい工場または事務所などの工業ノイズ源も含み得る。それに対応して、一次経路130は、ノイズ源105と基準センサ110が配設される場所との間の音響経路を含む。たとえば、HVACシステムから生じるノイズを低減するために、基準センサ110が空気ダクト内に配設されてよく、それにより、対応する一次ノイズを検出することができる。ノイズ源105によって発生する一次ノイズは、高調波ノイズを含み得る。
【００１９】
基準センサ110は、一次のノイズのタイプに基づき選択され得る。たとえば、一次ノイズが音響であるときには、基準センサ110は、マイクロフォンであってよい。一次ノイズが音源以外の源によって発生する実装形態において、基準センサ110は、しかるべく選択され得る。たとえば、一次ノイズがエンジンからの高調波ノイズであるときには、基準センサ110は、タコメータであり得る。したがって、本明細書において説明されている例示的なANC技術は、適切な基準センサ110および二次源を使用して異なる種類のノイズの効果を打ち消すか、または低減するために適用され得る。たとえば、構造振動を制御するために、基準センサ110は、モーションセンサ(たとえば、加速度計)または圧電センサであってよく、二次源125は、適切な振動アンチノイズを発生するように構成され得る機械的アクチュエータであってよい。
【００２０】
いくつかの実装形態において、二次源125は、二次源125によって発生する音響信号が一次ノイズの効果を低減するように位置決めされ得る。たとえば、システム100が、自動車の車内のエンジンの騒音の効果を低減するように配備される場合、二次源125は、車内に配備される。この例では、二次源125は、ターゲット環境内の一次ノイズの効果を打ち消すか、または低減する音響信号を発生するように構成される。これは、図2に示されている例とともに示されている。図2において、目標は、波205によって表される音響信号の効果を打ち消すか、または低減することである。そのような場合において、二次源125は、波205によって表される信号の効果を打ち消すか、または低減するために波210によって表される音響信号を発生するように構成され得る。波210によって表される信号の振幅および位相は、2つの信号の重ね合わせが互いの効果を実質的に打ち消すように構成され得る。音響信号は縦波であり、例示することを目的として横波205および210を使用して表されることに留意されたい。
【００２１】
場合によっては、一次ノイズの特性は時間とともに変化し得る。そのような場合、二次源125によって発生する音響信号は、一次ノイズを所望のレベルまですぐに低減しないことがある。場合によっては、これは、エラーセンサ115によって検出された残留ノイズを引き起こし得る。したがって、エラーセンサ115は、信号(たとえば、デジタル信号e(n))をANCエンジン120に供給し、残留ノイズが低減されるような仕方で二次源に供給される出力(たとえば、y(n))を調整する。したがって、エラーセンサ115は、いくつかの実装形態においてターゲット環境内に配備される。たとえば、ANCシステムが自動車の車内のエンジンの騒音を低減するように配備されるときに、エラーセンサ115は、残留ノイズを効果的に検出するであろう車内の位置に配備することができる。
【００２２】
ANCエンジン120は、基準センサ110およびエラーセンサ115によって検出された信号を処理して、二次源125に供給される信号を発生させるように構成され得る。ANCエンジン120は、様々なタイプのものがあり得る。いくつかの実装形態において、ANCエンジン120は、フィードフォワード制御に基づいており、そこでは、一次ノイズは、ノイズが二次源125などの二次源に到達する前に基準センサ110によって感知される。いくつかの実装形態において、ANCエンジン120は、フィードバック制御に基づくものとしてよく、ANCエンジン120は、エラーセンサ115によって検出された残留ノイズに基づき、基準センサ110を利用せずに、一次ノイズを打ち消すことを試みる。
【００２３】
ANCエンジン120は、様々な周波数帯域におけるノイズを制御するように構成され得る。いくつかの実装形態において、ANCエンジン120は、ホワイトノイズなどの広帯域ノイズを制御するように構成され得る。いくつかの実装形態において、ANCエンジン120は、車両エンジンからの高調波ノイズなどの狭帯域ノイズを制御するように構成され得る。いくつかの実装形態において、ANCエンジン120は、適応デジタルフィルタを備え、その係数は、たとえば、一次ノイズの変動に基づき調整され得る。いくつかの実装形態において、ANCシステムは、デジタルシステムであり、基準センサおよびエラーセンサ(たとえば、電気音響または電気機械トランスデューサ)からの信号は、デジタルシグナルプロセッサ(DSP)、マイクロコントローラ、またはマイクロプロセッサなどの処理デバイスを使用してサンプリングされ処理される。そのような処理デバイスは、ANCエンジン120によって使用される適応信号処理プロセスを実装するために使用され得る。
【００２４】
図3は、例示的なANCシステム300の実装詳細を示すブロック図である。ANCシステム300は、z領域内でP(z)によって表される未知環境305に適応する適応フィルタを備える。本明細書では、周波数領域関数は、z領域表現に関して表されるものとしてよく、対応する時間領域(またはサンプル領域)表現はnの関数である。本発明の例では、一次経路は、基準センサとエラーセンサとの間の音響経路を含む。また、この例では、二次経路315の伝達関数は、S(z)として表される。適応フィルタ310(W(z)として表される)は、環境305の時間変動を追跡するように構成され得る。いくつかの実装形態において、適応フィルタ310は、残留エラー信号e(n)を低減する(たとえば、実質的に最小にする)ように構成され得る。したがって、適応フィルタ310は、適応フィルタ310のターゲット出力y(n)が、二次経路によって処理されるように、実質的に一次ノイズd(n)に等しくなるように構成される。出力は、二次経路によって処理されたときに、y'(n)によって表され得る。一次ノイズd(n)は、この例では、未知環境305によって処理されるような源信号x(n)である。したがって、図3を自動車内に配備されているANCシステム100の例と比較すると、二次経路315は、二次源125、および/または二次源125とエラーセンサ115との間の音響経路を含み得る。d(n)およびy(n)が組み合わされると、残留エラーe(n)は、完全な打ち消しに対しては実質的にゼロに等しく、不完全な打ち消しに対しては非ゼロである。
【００２５】
いくつかの実装形態において、適応フィルタ310のフィルタ係数は、アクティブノイズコントロールエンジン320を使用して実装される適応プロセスに基づき更新され得る。アクティブノイズコントロールエンジン320は、DSP、マイクロコントローラ、またはマイクロプロセッサなどの1つまたは複数の処理デバイスを使用して実装されてよく、またエラー信号e(n)および/または源信号x(n)に基づき適応フィルタ310の係数を更新するように構成され得る。いくつかの実装形態において、アクティブノイズコントロールエンジン320は、車両内のエンジンノイズ(たとえば、高調波ノイズ)を低減するために適応プロセスを実行するように構成され得る。
【００２６】
適応フィルタ310は、複数の調整可能係数を備え得る。いくつかの実装形態において、調整可能係数(一般に、ベクトルwで表される)は、所与の目的関数(費用関数とも称される)J[n]を最適化することによって決定され得る。たとえば、目的関数は、
【００２７】
【数１】
0006724135.tif 000002
【００２８】
によって与えられるものとしてよく、ここで、
e[n]=d[n]+y[n]  (2)
である。次いで、目的関数を最適化するために反復最適化プロセスが使用され得る。たとえば、wで有限インパルス応答(FIR)フィルタの係数を表すと仮定すると、適応フィルタは
w[n]=w[n-1]-μ・∇wJ[n]  (3)
として表すことができ、反復最小化プロセス(最急降下)が、
minwJ[n]
について解くために使用できる。ここで、μは、ステップサイズのスカラー量、すなわち、反復ごとに宛先に向けて係数がどれだけ調整されるかを制御する変数を表し、∇wは勾配演算子を表す。上記の解は、基礎となる関数の凸性により有限かつ一意的であり得る。対照的に、適応フィルタを
w[n]=w[n-1]+μ・∇wJ[n]  (4)
として表すことができる場合、反復最大化プロセス(最急上昇)は、
maxwJ[n]
について解く必要があり、ただし、有限の解が存在していない場合がある。
【００２９】
例示することを目的として、以下の説明では、係数w0およびw1を有する2タップフィルタの例を使用する。高次フィルタは、本明細書で説明されている技術を使用しても実装され得る。2タップフィルタでは、時間変動係数w0およびw1は、
【００３０】
【数２】
0006724135.tif 000003
【００３１】
として表されるものとしてよく、ここで
【００３２】
【数３】
0006724135.tif 000004
【００３３】
は、二次経路インパルス応答s[n]によって処理されるような、x(n)に対する直交基底関数を表し、μは、ステップサイズに対するスカラー量、すなわち、各反復において宛先へ向けて係数がどれだけ調整されるかを制御する変数を表す。特に、x[n]の同相および直角位相成分は
xi[n]=Aref・cos(ω0n)  (9)
および
xq[n]=Aref・sin(ω0n)  (10)
によってそれぞれ与えられ、ω0はx(n)の周波数(たとえば、車両のエンジンが発生するノイズの周波数)である。
【００３４】
いくつかの実装形態において、二次経路の特性が未知である場合に、s[n]の推定バージョン(
【００３５】
【数４】
0006724135.tif 000005
【００３６】
で表される)も使用され得る。そのような信号は、時間および周波数領域において
【００３７】
【数５】
0006724135.tif 000006
【００３８】
として表されるものとしてよく、ここで、
【００３９】
【数６】
0006724135.tif 000007
【００４０】
は対応するz領域表現である。そのような場合に、入力信号の同相および直角成分は、
【００４１】
【数７】
0006724135.tif 000008
【００４２】
および
【００４３】
【数８】
0006724135.tif 000009
【００４４】
としてそれぞれ表すことができる。これは、図4Aに表されており、2タップ適応フィルタ405を有するANCシステム400を示している。アクティブノイズコントロールエンジン420(図3のアクティブノイズコントロールエンジン320と同じまたは実質的に類似するものとしてよい)は、二次経路415における大きさおよび位相の変化に従って適応フィルタ405のフィルタタップを更新するために使用できる。これは、たとえば、二次経路伝達関数の推定値425を決定することによって行われ得る。システム400の出力は、
y[n]=w0[n-1]・xi[n]+w1[n-1]・xq[n]  (13)
として表すことができ、残留エラーは、
e[n]=d[n]+y[n]*s[n]  (14)
によって与えられる。
【００４５】
いくつかの実装形態において、二次経路S(z)の伝達関数が推定された
【００４６】
【数９】
0006724135.tif 000010
【００４７】
から著しく変動する場合(たとえば、大きさおよび位相の一方または両方において)、フィルタシステムは不安定になり得る。たとえば、位相不整合が閾値条件を超える場合(たとえば、±90°)、システムは、不安定になる。そのような不整合は、時間の経過に伴って、たとえば、音響経路内の温度の変化、音響エンクロージャ、物体の配置または除去などにより生じ得る。二次経路伝達関数の大きさ/位相に影響を及ぼす様々な異なる条件を考慮する一方法は、様々な可能な条件の下で測定を行い、そのような測定結果を使用して伝達関数を推定することである。しかしながら、場合によっては、教師あり学習プロセスでそのような測定を実行するステップは、時間がかかると同時に費用もかかり得る。たとえば、新しい自動車(たとえば、まだ市販されていないモデル)用にANCシステムを設計するときに、上で説明されている教師ありプロセスは、車両メーカーから生産前モデルを調達することを必要とし得る。メーカーが、そのような生産前モデルを限られた数だけ有する場合、そのような調達は、費用がかかることがある。そのような生産前モデルが調達される場合であっても、ANCシステム設計者は、様々な異なる条件に対する測定を設計者が行えるように十分に長い時間期間の間そのモデルを保持することができないことがある。場合によっては、ANCシステム内の二次経路伝達関数に影響を及ぼし得るすべての異なる条件をシミュレートすることも可能でないことがある。
【００４８】
いくつかの実装形態において、教師あり学習プロセスは、教師なし学習プロセスを介して適応フィルタのフィルタ係数を決定することによって回避され得る。たとえば、1つまたは複数の二次経路内の位相および/または大きさの変化は、実行時測定結果のみに基づき推定され、それによって二次経路伝達関数をモデル化するための先験的測定の必要性をなくすか、または少なくとも減らすことができる。これは、図4Bに示されており、ANCシステム430内の適応フィルタの別の例を示している。図4Bに示されているように、2タップフィルタは各々(それぞれ435および440と表されている)、入力信号の同相成分および直角位相成分(それぞれ、xi[n]およびxq[n]と表されている)を処理する。二次経路の効果(定常状態における)は、たとえば、回転および利得(それぞれ、二次経路伝達関数の位相および大きさを表す)を介して、表され得る。そのようなANCシステムは、システムが未知の二次経路伝達関数を測定するために追加のノイズを混入させないという意味で非侵襲的である。
【００４９】
いくつかの実装形態において、回転は、たとえば回転行列を実装するように構成されている回路445を介して実装され、利得は、たとえば乗算器450を使用して、導入され得る。回転行列は、たとえば、瞬時位相角度θの関数として
【００５０】
【数１０】
0006724135.tif 000011
【００５１】
と表すことができる。したがって、出力は、
【００５２】
【数１１】
0006724135.tif 000012
【００５３】
として表すことができ、ここで、φ[n-1]は、二次経路の未知の位相を表す。回転行列回路への入力は、
yi[n]=w0[n-1]・xi[n]+w1[n-1]・xq[n]  (17)
および
yq[n]=w0[n-1]・xq[n]-w1[n-1]・xi[n]  (18)
によって与えられ、ただし、
【００５４】
【数１２】
0006724135.tif 000013
【００５５】
であり、ここで
【００５６】
【数１３】
0006724135.tif 000014
【００５７】
は、定常状態における二次経路の効果を表す。
【００５８】
いくつかの実装形態において、量φ[n-1]は、たとえば、
θ[n-1]=φ[n-1]  (22)
という仮定に基づき、推定され得る。したがって、式(3)の勾配関数内の偏導関数は、
【００５９】
【数１４】
0006724135.tif 000015
【００６０】
として計算され得る。したがって、式(23)および(24)を使用することによって、適応フィルタ係数の更新は、二次経路伝達関数の位相φの実測ではなくむしろθ[n-1]の関数として推定できる。θに関する偏導関数は、
【００６１】
【数１５】
0006724135.tif 000016
【００６２】
として測定されるものとしてよく、ここで、
【００６３】
【数１６】
0006724135.tif 000017
【００６４】
である。上で説明されている式を使用して、2タップフィルタのフィルタタップは、
【００６５】
【数１７】
0006724135.tif 000018
【００６６】
として更新され得る。瞬時位相も、
【００６７】
【数１８】
0006724135.tif 000019
【００６８】
として更新される。式(27)〜(29)は、フィルタタップは最急降下プロセスを使用して更新され、瞬時位相は最急上昇プロセスを使用して更新されることを示している。しながら、瞬時位相が最急降下プロセスを使用して更新される場合を含む、他の種類の更新も、本開示の範囲内にある。
【００６９】
いくつかの実装形態において、瞬時位相を更新するステップは、非線形関数を使用して更新された瞬時位相を処理するステップを含み得る。そのような関数は、1つまたは複数の成分を含み得る。たとえば、瞬時関数は、
【００７０】
【数１９】
0006724135.tif 000020
【００７１】
によって与えられるものとしてよい。この例では、第1の成分(たとえば、関数f(・))は、所定の範囲(たとえば、[-π,+π])内の瞬時位相値をラップし、関数g(・)などの第2の成分は、たとえば、符号類似関数を実装するために使用できる。このような関数g(・)の一例は、図5に示されている。関数は、デッドゾーン510(図5に、閾値+deadと-deadとの間のゾーンとして表されている)を含むものとしてよく、出力はそのゾーン内の入力値に対して変化しない。これは、たとえば、ノイズ回復力を円滑にし、瞬時位相の小さい量の変化について適応フィルタタップが変化するのを防ぐために使用できる。閾値(たとえば、+deadおよび-dead)および/またはデッドゾーンの外の出力利得の量は、たとえば、実験的に、またはシステム性能に関するこれまでの知識に基づき決定され得る。位相適応に対する他の関数も使用され得る。たとえば、g(x)=sign(x)*x^2が、図5に示されている関数の代わりに使用できる。
【００７２】
図6は、上で説明されている位相更新プロセスに従って例示的なANCシステム600を示している。システム600は、適応フィルタ605を備え、そのタップは、入力信号、および推定された瞬時位相θ[n-1]の1つまたは複数の前の値に基づきアクティブノイズコントロールエンジン620によって更新される。いくつかの実装形態において、システム600は、回転行列R(θ[n-1])を実装する回路625を備える。回路625は、入力信号の同相成分および直角位相成分を処理して、値
【００７３】
【数２０】
0006724135.tif 000021
【００７４】
および
【００７５】
【数２１】
0006724135.tif 000022
【００７６】
をアクティブノイズコントロールエンジン620に供給するようにする。いくつかの実装形態において、システム600は、別の回転行列
【００７７】
【数２２】
0006724135.tif 000023
【００７８】
を実装する回路630をさらに備え、適応フィルタ605の出力の同相成分および直角成分を処理する。いくつかの実装形態において、回路625および630は、同じ回転行列を実装するように構成され得る。アクティブノイズコントロールエンジン620は、回路625および630によってもたらされる出力、さらにはエラー信号e[n]に基づき、フィルタ係数と瞬時位相の推定値とを更新するように構成され得る。いくつかの実装形態において、アクティブノイズコントロールエンジン620は、式(27)〜(29)に基づきフィルタ係数および瞬時位相を更新する。
【００７９】
いくつかの実装形態において、システム600は、瞬時位相への更新なしで動作させることもできる。たとえば、二次経路伝達関数が著しく変化することのない音響環境内で動作するときに、位相更新は、θ[n]=0と初期化することによってバイパスされ得る。別の例では、二次経路伝達関数が著しく変化することのない音響環境内で動作するときに、位相更新プロセスは、瞬時位相が複数の更新にわたって一定のままであるように更新され得る。したがって、本明細書で説明されている瞬時位相更新プロセスは、場合によっては必要に応じて、既存の適応フィルタと併せて動作させられ得る。たとえば、アクティブノイズコントロールエンジン620は、二次経路伝達関数の位相の変化が閾値を超える(不安定であることを示し得る)と決定した後にのみフィルタ係数を更新する際に瞬時位相更新を使用するように構成され得る。
【００８０】
図6の例は、単一の二次経路および単一の周波数ω0に対する更新を示しているが、システムは、複数の周波数についてスケーリングされ得る。たとえば、θ[n]は、様々な周波数(たとえば、複数のエンジン高調波)に対する測定のために、たとえば、配列で記憶され、適応フィルタに対応する更新において使用され得る。
【００８１】
上で説明されている位相更新プロセスは、二次経路伝達関数の大きさへの更新あり、または更新なしで使用され得る。たとえば、上で説明されている位相更新プロセスは、以下で説明されている大きさ更新プロセスと併せて使用され得る。位相更新プロセスは、伝達関数の瞬時大きさへの更新なしでも使用され得る。たとえば、大きさの変化が閾値量よりも小さい(たとえば、約20dB以下)であるときに、上で説明されている位相更新プロセスは、ANCシステムにおいて効果的に使用され得る。いくつかの実装形態において、プロセスは、二次経路伝達関数の大きさ応答の近似的推定値を使用し得る。
【００８２】
図7Aおよび図7Bは、上で説明されている技術を使用して二次経路位相変化に対するフィルタ係数を更新する効果を示すプロットである。特に、図7Aは、位相更新を使用しないシステムに対する時間の経過に伴うθ[n]の変動を示している。図7Bは、位相更新を使用するシステムに対する時間の経過に伴うθ[n]の変動を示している。図7Aおよび図7Bから明らかなように、θ[n]における変動は、位相更新を使用することによって著しく低減される。
【００８３】
上で説明されているシステムは、もっぱら単一の二次経路とともに例を使用して示されている。そのようなシステムは、単一入力単一出力(SISO)システムと称され得る。しかしながら、この技術は、また、複数の二次源125(図1で説明されている)および/または複数のエラーセンサ115(図1で説明されている)の間に形成され得る複数の二次経路を含むシステムにおいて使用するようにスケーリングされ得る。そのような場合において、システムは、多入力多出力(MIMO)システムとして特徴付けられ得る。このようなシステムの例は、図8Aおよび図8Bに示されている。特に、図8Aは、優決定系、すなわち、エラーセンサ815の数(M)が二次源825の数(L)よりも多い系の一例を示している。図8Aの例では、M=2およびL=1である。この例では、対応する時間依存位相θ[n]によって各々特徴付けられる2つの別個の二次経路がある。一般に、エラーセンサiと二次源jとの間の二次経路は、時間依存位相θij[n]によって特徴付けられ得る。この表現に従って、図8Aの例では、式(1)は
【００８４】
【数２３】
0006724135.tif 000024
【００８５】
として表されるものとしてよく、ここで、β1,2∈[0,1],β1+β2=1である。この例に対するフィルタタップ更新は
【００８６】
【数２４】
0006724135.tif 000025
【００８７】
によって与えられる。二次経路に対する位相更新は、
【００８８】
【数２５】
0006724135.tif 000026
【００８９】
となるように導出され得る。
【００９０】
M個のエラーセンサとL=1の二次源またはスピーカを有するより一般的な優決定系では、更新式は、式
【００９１】
【数２６】
0006724135.tif 000027
【００９２】
を使用して導出され得る。
【００９３】
図8Bは、劣決定系、たとえば、エラーセンサ815の数(M)が二次源825の数(L)よりも小さい系の一例を示している。図8Bの例では、M=1およびL=2である。この例でも、対応する時間依存位相θ[n]によって各々特徴付けられる2つの別個の二次経路がある。いくつかの実装形態において、各二次源またはスピーカデバイスは、対応する適応フィルタに関連付けられ得る。2タップフィルタの例を使用すると、二次源kに関連付けられているフィルタタップは、
【００９４】
【数２７】
0006724135.tif 000028
【００９５】
と表すことができる。この表現に従って、図8Bの例では、式(1)は
【００９６】
【数２８】
0006724135.tif 000029
【００９７】
として表されるものとしてよい。この場合に対する更新式は、
【００９８】
【数２９】
0006724135.tif 000030
【００９９】
となるように導出され得る。
【０１００】
M=1個のエラーセンサとL個の二次源またはスピーカを有するより一般的な劣決定系では、更新式は、式
【０１０１】
【数３０】
0006724135.tif 000031
【０１０２】
を使用して導出され得る。
【０１０３】
M個のエラーセンサおよびL個の二次源の一般的な場合については、合計(2×L+L×M)個の更新式が必要である。これらは
【０１０４】
【数３１】
0006724135.tif 000032
【０１０５】
となるように導出され得る。
【０１０６】
上で説明されているANCシステムは、二次経路伝達関数の1つまたは複数の位相推定値を適応的に更新することに基づき機能する。いくつかの実装形態において、二次経路伝達関数の大きさの推定値が更新され得、次いで、それにより、ノイズキャンセレーション性能が改善され、および/または収束速度が改善され得る。たとえば、MIMOシステムにおいて、二次経路の大きさの相対的バランスは、システムの固有値の広がり(条件付け)に影響を及ぼし、したがって性能に影響を及ぼし得る。いくつかの実装形態において、モデル化された二次経路伝達関数の大きさも、ステップサイズ変数としても機能し、したがって、収束速度に影響を及ぼし得る。たとえば、上で説明されている位相更新技術と併せて使用されるときに、大きさ更新技術は、場合によっては、対応するANCシステムの収束速度を改善し得る。
【０１０７】
大きさ更新技術は、上で説明されている位相更新技術と併せて、または位相更新技術とは無関係に、使用できる。たとえば、二次経路伝達関数位相が著しく変化することがない、または位相変化の近似的特徴付けが利用可能である状況では、大きさ更新技術は、位相更新なしで使用され得る。
【０１０８】
図9は、ANCシステムの代替的表現900の一例のブロック図を示している。表現900は、対応するシステムの安定性および収束速度に関する固有値解析に使用することができる。図9の例では、二次経路905を表す伝達関数は、Gとして示されるものとしてよく、アクティブノイズコントロールエンジン910は、二次経路伝達関数を
【０１０９】
【数３２】
0006724135.tif 000033
【０１１０】
としてモデル化する。この例では、二次経路905は、MIMOシステムにおける二次経路の集まりを表し、したがって、行列で示される。二次経路伝達関数Gは、たとえば特異分解を使用して、
G=RΣQH  (69)
のように直交化されるものとしてよく、ここで、Rは実または複素ユニタリ行列であり、Σは対角上に非負実数を有する矩形対角行列であり、QH(Qのエルミート行列、またはQが実の場合に単にQの転置行列)は実または複素ユニタリ行列である。この表現は、図9Bで示されている。Σの対角成分Σm,mは、Gの特異値と称される。完全にモデル化されたシステムの固有値は、行列Σの平方の特異値であり
λm=(Σ(m,m))2  (70)
で与えられる。いくつかの実装形態において、固有値の近似は、行列Gおよび
【０１１１】
【数３３】
0006724135.tif 000034
【０１１２】
から、
【０１１３】
【数３４】
0006724135.tif 000035
【０１１４】
として算出され得る。外乱ベクトルdは、主成分空間内に
p=RHd  (72)
として投影されるものとしてよく、ベクトルp内の各エントリ(pmで表される)は、特定の外乱モードを表す。式(69)〜(71)を使用して、式(1)は
【０１１５】
【数３５】
0006724135.tif 000036
【０１１６】
に簡約されるものとしてよく、ここで、Jminはシステム内のノイズの最小量を表し、αはモーダルステップサイズを表す。式(73)は、固有値λmが外乱の各モードpmに対する打ち消し速度を制御する。
【０１１７】
ANCシステムにおける適応フィルタの収束は、固有値の広がりに依存し得る。たとえば、固有値の広がりが広ければ広いほど、結果として、定常状態エラーの方への収束が遅くなり得る。いくつかの実装形態において、二次経路伝達関数を知ることで、固有値の広がりを低減することができる。いくつかの実装形態において、二次経路伝達関数に関する事前の知識が利用可能でない場合、各二次源(たとえば、スピーカデバイス)に対する相対的な二次経路大きさは、対応する適応フィルタのフィルタ係数の変化率に基づき推論され得る。たとえば、フィルタタップがすべて等しくなるように初期化された場合、二次経路の大きさについて事前に知らなくても、大半を変化させる二次経路は、フィルタ係数の最大の変化を引き起こし得る。したがって、適応フィルタ係数の変化を測定することによって、対応する二次経路伝達関数における大きさの変化が推定されるものとしてよく、そのような推定値は、適応フィルタに対する将来の重みを決定する際に使用され得る。
【０１１８】
いくつかの実装形態において、フィルタ重みの時間依存の瞬間的な差は
δ(n)=abs[w(n)-w(n-1)]  (74)
として測定されるものとしてよく、ここで、w(n)は特定の時刻におけるフィルタ重みのベクトルを表す。L個の二次源および各二次源に対する2タップフィルタについて、δおよびwは次元[L*2,1]を有する。特に、δおよびwは、
【０１１９】
【数３６】
0006724135.tif 000037
【０１２０】
として表され得る。いくつかの実装形態において、瞬間的な差は、デジタルフィルタを使用して平滑化され得る。たとえば、単極フィルタは、
ζ(n)=η*ζ(n)+(1-η)*ζ(n-1)  (77)
として瞬間的な差を平滑化するために使用されてよく、ここで、ηは小さな値(たとえば、0.01)であり、これはたとえば経験的に決定され得る。いくつかの実装形態において、時間依存の差は
【０１２１】
【数３７】
0006724135.tif 000038
【０１２２】
と逆数にされるものとしてよく、ここで、εは、潜在的なゼロ除算を回避するために分母に加算される小さい数(たとえば、10-6)である。いくつかの実装形態において、この差の逆数は
【０１２３】
【数３８】
0006724135.tif 000039
【０１２４】
のように正規化され得る。いくつかの実装形態において、各フィルタタップに対する正規化された量Ξ(または非正規化量ξ)が平均され、それにより、各適応フィルタに対する平均量を取得することができる。各フィルタタップに対する別の値も使用され得る。2タップ適応フィルタおよびL個の二次源について、平均量は、
【０１２５】
【数３９】
0006724135.tif 000040
【０１２６】
として表すことができる。次いで、モデル化された二次経路伝達関数
【０１２７】
【数４０】
0006724135.tif 000041
【０１２８】
の大きさが、
【０１２９】
【数４１】
0006724135.tif 000042
【０１３０】
の値に基づき推定され得る。たとえば、
【０１３１】
【数４２】
0006724135.tif 000043
【０１３２】
からの行がマイクロフォン上で複製され、それにより、モデル化された二次経路伝達関数
【０１３３】
【数４３】
0006724135.tif 000044
【０１３４】
の推定される大きさを
【０１３５】
【数４４】
0006724135.tif 000045
【０１３６】
として求めることができる。
【０１３７】
いくつかの実装形態において、二次経路伝達関数の推定される大きさは、対応する二次経路伝達関数に対する位相推定値と併せて使用され得る。たとえば、モデル化された二次経路伝達関数
【０１３８】
【数４５】
0006724135.tif 000046
【０１３９】
は、大きさと位相推定値の両方に関して
【０１４０】
【数４６】
0006724135.tif 000047
【０１４１】
として表されるものとしてよく、ここで、
【０１４２】
【数４７】
0006724135.tif 000048
【０１４３】
は、要素ごとの乗算であり、Θ(n)は、
【０１４４】
【数４８】
0006724135.tif 000049
【０１４５】
によって与えられる。したがって、フィルタ更新式は、
【０１４６】
【数４９】
0006724135.tif 000050
【０１４７】
として表すことができる。
【０１４８】
図10A〜図10Dは、上で説明されている大きさ更新技術を使用する効果の例を示している。特に、図10Aは、大きさ更新が使用されなかったときの4個のスピーカ、2個のマイクロフォン、MIMO ANCシステムにおいて2個のマイクロフォン(すなわち、エラーセンサ)からのエラー信号の時間差異を表す。図10Bは、複素平面上の固有値の対応する分布を示している。図10Cおよび図10Dは、上記の説明による位相および大きさの両方の更新が使用されたときに、それぞれ、同じプロットを表す。図10Bは、大きさ更新が使用されなかったときに、固有値の実部の広がり1015が適度の大きさを有していたこと、およびいくつかの固有値について、実部が負であったことを示しており、それによって、不安定の程度を示す。位相更新を使用することで、安定性を改善し(図10Dで負の実部を有している固有値の数が少ないことによって示される)、大きさ更新を使用することで、固有値の実部における広がり1030を縮小した(図10Bにおける広がり1015と比較して)。広がりが縮小した結果、図10Cに示されているように収束が速くなった。
【０１４９】
場合によっては、収束した後であってもフィルタ係数は変化し続け得る。これは、たとえば、ANCシステムがその周波数(または複数の周波数)の範囲を外れたエネルギーがANCシステムによって打ち消されることによって影響を受ける場合に起こり得る。たとえば、実用的なANCシステムでは、エラーセンサによって取り込まれる低周波成分は、フィルタが収束した後であっても適応フィルタ係数への変更を引き起こし得る。式(3)を参照すると、ステップサイズμに対する値が高い結果、残留エラーが増え、したがってフィルタ係数における瞬間的変化が高くなり得る。いくつかの実装形態において、ステップサイズμは、たとえば、適応フィルタ係数の変化、したがって大きさ更新の変化も制御するように適応的に変化させられ得る。
【０１５０】
図11は、適応フィルタ係数wの瞬間的な差の変化率、ステップサイズμ、およびこの例では|S|として表される、二次経路伝達関数の大きさの間の関係を示す例示的なプロット1100を示している。プロット1100における各曲線は、フィルタ係数における瞬間的な差の変化率が固定された二次経路の大きさに対するμの関数としてどのように変化するかを示している。曲線の一部分1105によって示されているように、率の差は、μの低い値に対するすべての二次経路の大きさについて実質的に同じである。各曲線の上方境界1110は、対応するシステムが不安定になる点を表す。黒色アスタリスク1115は、対応する二次経路の大きさに対するμの実質的に最適な値を表す。最適値は、たとえば、1の大きさ正規化ステップサイズとともにワンタイムステップで完全に打ち消すために使用され得る理論上のステップサイズを表すことができる。二次経路の大きさを増やす方向は、矢印1120を使用して示されている。
【０１５１】
図12は、プロット1100の拡大部分1200を示している。したがって、図12の例は、二次経路の大きさの変化に従ってステップサイズを適応的に調整するプロセスを示している。この例では、初期の二次経路の大きさは|S|=.853である。これは曲線1205に対応する。μに対する初期値は、その二次経路の大きさに対する最適値1210(約1.2)であり、これはフィルタ係数の瞬間的な差wdiff=0.25に対応する。この例では、|S|が1.61に増大すると、μの無変化の値について、wdiff=10となる。このことから、フィルタ係数の瞬間的な差の変化率は変化が大きくなり得る。しかしながら、実質的に同じwdiffを維持するために(線1220によって表されているように)、対応するアクティブノイズコントロールエンジンはμを調整するように構成されてよく、それによりμ=0.85(点1225によって表される)となる。
【０１５２】
いくつかの実装形態において、ステップサイズへの上記の調整は、MIMOシステムに対して実行することもできる。たとえば、再び式(77)を参照すると、wdiffに対するターゲット値ζ、およびマージンυ(この周りでは変化がない)が設定され、ζのターゲット値(たとえば、max(ζ(n)))に基づき調整され得る。これは、たとえば、次のように実装され得る。
max(ζ(n))<τ-υならば、μ(n)=μ(n-1)*κ
max(ζ(n))≧τ-υ AND max(ζ(n))≦τ+υならば、μ(n)=μ(n-1)
max(ζ(n))>τ+υならば、μ(n)=μ(n-1)/κ
ここで、κは乗数であり、[κ,τ,υ]は公称的に、たとえば、[1.01,.01,3dB]として初期化される。
【０１５３】
図13A〜図13Dは、上で述べたようにステップサイズ調整大きさ更新を使用して達成され得る効果の例を示している。図13Aは、位相調整により高い伝達関数の大きさに対するステップサイズ調整大きさ更新がない場合の時間依存エラー信号を示している。この例は、2マイクロフォンの場合に対するものである。図13Aから明らかなように、両方のマイクロフォンに対するエラーは高く、収束するように見えない。対照的に、ステップサイズ調整大きさ更新が使用されるときには(図13B)、両方のマイクロフォンについてゼロに近いエラーに速く収束することが観察される。図13Cは、比較的低い伝達関数の大きさに対するステップサイズ調整大きさ更新がない場合の時間依存エラー信号を示している。この場合も、両方のマイクロフォンに対するエラーは高く、観察される時間枠内で収束するように見えない。対照的に、ステップサイズ調整大きさ更新が使用されるときには(図13D)、両方のマイクロフォンについてゼロに近いエラーに速く収束することが観察される。
【０１５４】
図14は、ANCシステムの二次経路における位相変化に基づき適応フィルタをプログラムするための例示的なプロセス1400に対するフローチャートを示している。いくつかの実装形態において、プロセス1400の少なくとも一部は、たとえば、上で説明されているANCシステムのアクティブノイズコントロールエンジンによって実行され得る。プロセス1400の例示的なオペレーションは、ANCシステム内に配設されている適応フィルタの係数の集合を表す第1の複数の値を受け取るステップ(1410)を含む。たとえば、第1の複数の値は、特定の時刻における適応フィルタの係数の集合を表すことができる。いくつかの実装形態において、ANCシステムは、エンジン(たとえば、車両エンジン)によって生成されるノイズ信号を打ち消すように構成される。たとえば、適応フィルタは、車両エンジンによって発生する高調波ノイズを打ち消すためのANCシステムなどのANCシステム内に配備され得る。適応フィルタは、上で説明されている適応フィルタ310、405、435、440、または605と同じであるか、または実質的に類似しているものとしてよい。いくつかの実装形態において、ANCシステムは、ノイズ信号を打ち消すためのアンチノイズ信号を発生するための1つまたは複数の音響トランスデューサと、アンチノイズ信号によるノイズ信号の少なくとも部分的な打ち消しの結果生じる残留ノイズを感知するための1つまたは複数のマイクロフォンとを備える。
【０１５５】
これらのオペレーションは、また、アクティブノイズキャンセレーションシステムの二次経路の効果を表す伝達関数に関連付けられている瞬時位相値の1つまたは複数の推定値にアクセスするステップ(1420)も含む。いくつかの実装形態において、二次経路は、たとえば、アンチノイズ信号を発生する1つまたは複数のトランスデューサ、ノイズ信号とアンチノイズ信号との間の相互作用の結果として発生するエラー信号を測定する1つまたは複数のエラーセンサ、および1つまたは複数のトランスデューサと1つまたは複数のエラーセンサとの間に配設される音響経路を含み得る。音響経路は、自動車の内側の一部を含むことができる。いくつかの実装形態では、伝達関数は、行列として表されるものとしてよく、行列の所与の要素は、1つまたは複数のマイクロフォンのうちの特定の1つのマイクロフォンと1つまたは複数の音響トランスデューサのうちの特定の1つの音響トランスデューサとの間の二次経路を表す。
【０１５６】
瞬時位相値の1つまたは複数の推定値は、解析的に、たとえば適応フィルタのオペレーションにおいて、および二次経路の所定のモデルから独立して、生成され得る。いくつかの実装形態において、瞬時位相値の1つまたは複数の推定値は、教師なし学習プロセスを使用して生成され得る。いくつかの実装形態において、瞬時位相値の1つまたは複数の推定値は、更新され、更新された推定値は、その後の反復に対する瞬時位相値の1つまたは複数の推定値として利用可能にされる。いくつかの実装形態において、瞬時位相値の推定値は、たとえば、図6を参照しつつ上で説明されているように、生成され得る。
【０１５７】
プロセス1400のオペレーションは、また、瞬時位相値の1つまたは複数の推定値に基づき第1の複数の値を更新して適応フィルタに対する更新された係数の集合を生成するステップ(1430)を含む。これは、たとえば、アクティブノイズキャンセレーションシステムにおいて基準信号として使用される信号を表す第2の複数の値を受信するステップと、第2の複数の値にも基づき第1の複数の値を更新するステップとを含み得る。いくつかの実装形態において、第2の複数の値は、各々、基準信号の同相成分を表す1つの値、および基準信号の直角位相成分を表す1つの値を含むことができる。基準信号は、たとえば、エンジン(たとえば、車両エンジン)によって発生するノイズ信号に基づくものとしてよい。
【０１５８】
いくつかの実装形態において、第2の複数の値に基づき第1の複数の値を更新するステップは、伝達関数に関連付けられている瞬時位相値の1つまたは複数の推定値に基づき基準信号を位相シフトするステップと、位相シフトされた基準信号に基づき第1の複数の値を更新するステップとを含むことができる。第1の複数の値を更新するステップは、また、二次経路の効果を表す伝達関数に関連付けられている瞬時位相値の1つまたは複数の推定値に基づき適応フィルタの出力を位相シフトするステップと、適応フィルタの位相シフトされた出力にも基づき第1の複数の値を更新するステップとを含むこともできる。いくつかの実装形態において、第1の複数の値は、二次経路の効果を表す伝達関数に関連付けられている瞬間的な大きさの1つまたは複数の値にも基づき更新され得る。いくつかの実装形態において、瞬間的な大きさは、時間の経過に伴って適応フィルタの係数が変化する変化率に基づき決定され得る。
【０１５９】
プロセス1400のオペレーションは、適応フィルタのオペレーションに影響を及ぼすように更新された係数の集合で適応フィルタをプログラムするステップ(1440)も含む。適応フィルタは、アクティブノイズキャンセレーションシステムがエンジン(たとえば、車両エンジン)によって発生するノイズ信号を打ち消すようにプログラムされ得る。これは、たとえば、適応フィルタの出力に基づき制御信号を生成することによって行われるものとしてよく、制御信号は、ノイズ信号を打ち消すためのアンチノイズ信号を発生させる。アンチノイズ信号の位相および大きさは、アンチノイズ信号がノイズ信号の効果を低減するような位相および大きさである。いくつかの実装形態において、制御信号は、二次経路の効果を表す伝達関数に関連付けられている瞬時位相値の1つまたは複数の推定値に基づき適応フィルタの出力を位相シフトすることによって生成され得る。
【０１６０】
図15は、ANCシステムの二次経路における大きさの変化に基づき適応フィルタをプログラムするための例示的なプロセス1500に対するフローチャートを示している。いくつかの実装形態において、プロセス1500の少なくとも一部は、たとえば、上で説明されているANCシステムのアクティブノイズコントロールエンジンによって実行され得る。プロセス1500の例示的なオペレーションは、ANCシステム内に配設されている適応フィルタの現在の係数の集合を表す第1の複数の値を受け取るステップ(1510)を含む。ANCシステムおよび/または適応フィルタは、図14に関して説明されているものと同じであるか、または実質的に類似するものとしてよい。いくつかの実装形態において、ANCシステムは、ノイズ信号を打ち消すためのアンチノイズ信号を発生するための1つまたは複数の音響トランスデューサと、アンチノイズ信号によるノイズ信号の少なくとも部分的な打ち消しの結果生じる残留ノイズを感知するための1つまたは複数のマイクロフォンとを備える。
【０１６１】
プロセス1500のオペレーションは、第2の複数の値を計算するステップも含み、その各々は、現在の係数と適応フィルタの対応する先行する係数との間の瞬間的な差を表す(1520)。いくつかの実装形態において、これは、たとえば、上で説明されている式(74)を使用して行われ得る。
【０１６２】
プロセス1500のオペレーションは、第2の複数の値に基づき、ANCシステムの二次経路の効果を表す伝達関数の1つまたは複数の瞬間的な大きさを推定するステップ(1530)をさらに含む。いくつかの実装形態では、伝達関数は、行列として表されるものとしてよく、行列の所与の要素は、1つまたは複数のマイクロフォンのうちの特定の1つのマイクロフォンと1つまたは複数の音響トランスデューサのうちの特定の1つの音響トランスデューサとの間の二次経路を表す。
【０１６３】
いくつかの実装形態において、1つまたは複数の瞬間的な大きさは、時間の経過に伴って適応フィルタの係数が変化する変化率に基づき推定され得る。いくつかの実装形態において、伝達関数の1つまたは複数の瞬間的な大きさを決定するステップは、デジタルフィルタを第2の複数の値に適用するステップと、デジタルフィルタの出力に基づき伝達関数の1つまたは複数の瞬間的な大きさを決定するステップとを含むことができる。いくつかの実装形態において、これは、1つまたは複数のプロセスを実行して上で説明されている式(77)〜(81)を実装することによって行われ得る。たとえば、伝達関数の1つまたは複数の瞬間的な大きさを推定するステップは、時間の経過に伴って適応フィルタの係数が変化する変化率の値の逆数を決定するステップと、値の逆数に基づき伝達関数の1つまたは複数の瞬間的な大きさを推定するステップとを含むことができる。
【０１６４】
プロセス1500のオペレーションは、また、1つまたは複数の瞬間的な大きさの推定値に基づき第1の複数の値を更新して適応フィルタに対する更新された係数の集合を生成するステップ(1540)も含む。いくつかの実装形態において、これは、伝達関数に関連付けられている瞬時位相値の1つまたは複数の推定値を受信するか、または決定するステップと、瞬時位相値の1つまたは複数の推定値にも基づき第1の複数の値を更新するステップとを含み得る。いくつかの実装形態において、瞬時位相値は、上で説明されているプロセス1400に基づき計算され得る。
【０１６５】
プロセス1500のオペレーションは、適応フィルタのオペレーションに影響を及ぼすように更新された係数の集合で適応フィルタをプログラムするステップ(1550)も含む。適応フィルタは、アクティブノイズキャンセレーションシステムがエンジン(たとえば、車両エンジン)によって発生するノイズ信号を打ち消すようにプログラムされ得る。これは、たとえば、適応フィルタの出力に基づき制御信号を生成することによって行われるものとしてよく、制御信号は、ノイズ信号を打ち消すためのアンチノイズ信号を発生させる。アンチノイズ信号の位相および大きさは、アンチノイズ信号がノイズ信号の効果を低減するような位相および大きさである。
【０１６６】
本明細書で説明されている機能、またはその部分、およびその様々な修正形態(これ以降、「機能」)は、少なくとも一部は、コンピュータプログラム製品、たとえば、1つまたは複数のデータ処理装置、たとえば、プログラム可能プロセッサ、コンピュータ、複数のコンピュータ、および/またはプログラム可能論理コンポーネントによる実行のためまたはそれらの動作を制御するための、1つまたは複数の非一時的機械可読媒体または記憶装置デバイスなどの、情報担体内に有形に具現化されたコンピュータプログラムを介して、実装され得る。
【０１６７】
コンピュータプログラムは、コンパイル言語またはインタプリタ言語を含む、任意の形態のプログラミング言語で書かれてよく、スタンドアロンプログラム、またはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境において使用するのに適している他のユニットを含む、任意の形態で配備され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトにあるか、もしくは複数のサイトにまたがって分散され、ネットワークによって相互接続されている複数のコンピュータ上で実行されるように配備され得る。
【０１６８】
機能のすべてまたは一部を実装することに関連する動作は、1つまたは複数のコンピュータプログラムを実行して較正プロセスの機能を実行する1つまたは複数のプログラム可能なプロセッサによって実行され得る。これらの機能のすべてまたは一部は、専用論理回路、たとえば、FPGA、および/またはASIC(特定用途向け集積回路)として実装され得る。
【０１６９】
コンピュータプログラムの実行に適しているプロセッサは、たとえば、汎用マイクロプロセッサ、専用マイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受け取る。コンピュータのコンポーネントは、命令を実行するためのプロセッサならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスを含む。
【０１７０】
本明細書で特に説明されていない他の実施形態も、以下の請求項の範囲内に収まる。本明細書で説明されている異なる実装形態の要素は、特に上で述べていない他の実施形態を形成するように組み合わせられ得る。要素は、その動作に悪影響を及ぼすことなく本明細書で説明されている構造から外してもよい。さらに、様々な別々の要素が、本明細書で説明されている機能を実行するために1つまたは複数の個別の要素に組み合わせられ得る。
【符号の説明】
【０１７１】
100  アクティブノイズコントロールシステム
105  ノイズ源
110  基準センサ
115  エラーセンサ
120  ANCエンジン
125  二次源
130  一次経路
135  二次経路
205  波
210  波
300  ANCシステム
305  未知環境
310  適応フィルタ
315  二次経路
320  アクティブノイズコントロールエンジン
400  ANCシステム
405  2タップ適応フィルタ
415  二次経路
420  アクティブノイズコントロールエンジン
425  推定値
430  ANCシステム
435  2タップフィルタ
440  2タップフィルタ
445  回路
450  乗算器
510  デッドゾーン
600  ANCシステム
605  適応フィルタ
620  アクティブノイズコントロールエンジン
625  回路
630  回路
815  エラーセンサ
825  二次源
900  表現
905  二次経路
910  アクティブノイズコントロールエンジン
1015  広がり
1030  広がり
1100  プロット
1110  上方境界
1115  黒色アスタリスク
1120  矢印
1200  拡大部分
1205  曲線
1210  最適値
1220  線
1225  点
1400  プロセス
1500  プロセス
【図１】
0006724135.tif 000051
【図２】
0006724135.tif 000052
【図３】
0006724135.tif 000053
【図４Ａ】
0006724135.tif 000054
【図４Ｂ】
0006724135.tif 000055
【図５】
0006724135.tif 000056
【図６】
0006724135.tif 000057
【図７Ａ】
0006724135.tif 000058
【図７Ｂ】
0006724135.tif 000059
【図８Ａ】
0006724135.tif 000060
【図８Ｂ】
0006724135.tif 000061
【図９Ａ】
0006724135.tif 000062
【図９Ｂ】
0006724135.tif 000063
【図１０Ａ】
0006724135.tif 000064
【図１０Ｂ】
0006724135.tif 000065
【図１０Ｃ】
0006724135.tif 000066
【図１０Ｄ】
0006724135.tif 000067
【図１１】
0006724135.tif 000068
【図１２】
0006724135.tif 000069
【図１３Ａ】
0006724135.tif 000070
【図１３Ｂ】
0006724135.tif 000071
【図１３Ｃ】
0006724135.tif 000072
【図１３Ｄ】
0006724135.tif 000073
【図１４】
0006724135.tif 000074
【図１５】
0006724135.tif 000075