(57)【要約】  より大きな信号変動に反応しながら、小さな信号変動を最小限に抑えるために、信号を動的にフィルタするための、システム、機器、および方法。このシステム、機器、および方法は、あらかじめ決定された値の一部分および現在決定された値の一部分を含むフィルタされた値を提供することを含んでおり、それらの部分は、あらかじめ決定された値と現在決定された値の間の変化量に依存し、その結果、変化量が小さいときはフィルタされた値があらかじめ決定された値の方にバイアスされ、変化量がより大きいときは現在決定された値の方により大きくバイアスされる。
2007523528.tif 000002
【特許請求の範囲】
【請求項１】
あらかじめ決定された値の一部分と、
現在決定された値の一部分とを含み、前記あらかじめ決定された値および前記現在決定された値の前記部分が、前記あらかじめ決定された値と前記現在決定された値の間の変化量に応じて、前記フィルタされた値が、前記変化量が小さいときは前記あらかじめ決定された値の方によりバイアスされ、前記変化量がより大きいときは前記現在決定された値の方によりバイアスされるように変化する、フィルタされた値。
【請求項２】
前記あらかじめ決定された値が、あらかじめ決定されたフィルタされた値である、請求項１に記載のフィルタされた値。
【請求項３】
前記あらかじめ決定された値が、検出された特性に関係する、請求項１に記載のフィルタされた値。
【請求項４】
前記変化量が、前記あらかじめ決定された値と前記現在決定された値の差を相対値で除算することを含む、請求項１に記載のフィルタされた値。
【請求項５】
前記あらかじめ決定された値と前記現在決定された値の前記差が、前記あらかじめ決定された値と前記現在決定された値の前記差の絶対値である、請求項４に記載のフィルタされた値。
【請求項６】
前記相対値が、前記あらかじめ決定された値、前記現在決定された値、前記あらかじめ決定された値および前記現在決定された値のうちの前記小さい方の値、前記あらかじめ決定された値および前記現在決定された値のうちの前記大きい方の値、所定の値、ならびに前記あらかじめ決定された値および前記現在決定された値が関係するセンサの範囲の少なくとも一部分のうちの、１つを含む、請求項４に記載のフィルタされた値。
【請求項７】
前記変化量の前記重大性が、乗数によって変更される、請求項４に記載のフィルタされた値。
【請求項８】
前記変化量が、フィルタ定数を前記変化量に加算することによる前記フィルタの制限をさらに含む、請求項４に記載のフィルタされた値。
【請求項９】
前記フィルタされた値が、前記あらかじめ決定された値から前記現在決定された値までの前記範囲に制限される、請求項１に記載のフィルタされた値。
【請求項１０】
前記現在決定された値および前記あらかじめ決定された値が、装置およびプロセスのうちの１つの特性に関係する、請求項１に記載のフィルタされた値。
【請求項１１】
前記装置および前記プロセスのうちの１つを制御するために使用される、請求項１０に記載のフィルタされた値。
【請求項１２】
プロセッサに、
現在値を受け取り、
前の値を保持し、
前記現在値の一部分および前記前の値の一部分を含むフィルタされた値を生成するようにさせる命令を実行する前記プロセッサを備えるフィルタであって、前記前の値および前記現在値の前記部分が、前記前の値と前記現在値の間の変化量に応じて、前記変化量が小さいときは前記フィルタされた値が前記前の値の方によりバイアスされ、前記変化量がより大きいときは前記現在値の方によりバイアスされるように変化する、フィルタ。
【請求項１３】
前記前の値が、あらかじめ決定されたフィルタされた値である、請求項１２に記載のフィルタ。
【請求項１４】
前記現在値および前記前の値が、装置およびプロセスのうちの１つから前記プロセッサによって取得される検出された特性と、少なくとも部分的に関連する、請求項１２に記載のフィルタ。
【請求項１５】
前記プロセッサが、前記フィルタされた値を使用して前記装置および前記プロセスのうちの１つの一側面を制御する命令をさらに実行する、請求項１４に記載のフィルタ。
【請求項１６】
前記プロセッサが、前記前の値と前記現在値の差を相対値で除算することにより、前記変化量を少なくとも部分的に決定する、請求項１２に記載のフィルタ。
【請求項１７】
前記相対値が、前記前の値、前記現在値、前記前の値および前記現在値のうちの前記小さい方の値、前記前の値および前記現在値のうちの前記大きい方の値、所定の値、ならびに前記前の値および前記現在値が関係するセンサの範囲の少なくともの一部分のうちの１つを含む、請求項１６に記載のフィルタ。
【請求項１８】
あらかじめ決定された値から現在決定された値への変化量を決定する、変化量モジュールと、
前記変化量を相対値に関連付ける、動的フィルタ変数モジュールと、
前記相対変化量を前記変化量に適用し、その前記結果をフィルタされた値に到達する前記あらかじめ決定された値と組み合わせるフィルタ値モジュールとを備え、前記変化量が小さいときは前記フィルタされた値が前記あらかじめ決定された値の方によりバイアスされ、前記変化量がより大きいときは前記フィルタされた値が前記現在決定された値の方によりバイアスされるフィルタ。
【請求項１９】
前記現在決定された値が、装置およびプロセスのうちの１つの現在検出された特性に関係し、前記あらかじめ決定された値があらかじめ決定されたフィルタ値である、請求項１８に記載のフィルタ。
【請求項２０】
前記現在決定された値が、装置およびプロセスのうちの１つの現在検出された特性に関係し、前記あらかじめ決定された値が、前記装置および前記プロセスのうちの１つの前に検出された特性に関係する、請求項１８に記載のフィルタ。
【請求項２１】
あらかじめ決定された値の一部分を現在決定された値の一部分と結合させるステップを含む、値をフィルタする方法であって、前記あらかじめ決定された値および前記現在決定された値の前記部分が、前記あらかじめ決定された値と前記現在決定された値の間の変化量に応じて、前記変化量が小さいときは前記フィルタされた値が前記あらかじめ決定された値の方によりバイアスされ、前記変化量がより大きいときは前記現在決定された値の方によりバイアスされるように変化する方法。
【請求項２２】
前記あらかじめ決定された値が、あらかじめ決定されたフィルタされた値である、請求項２１に記載の値をフィルタする方法。
【請求項２３】
前記変化量が、前記あらかじめ決定された値と前記現在決定された値の差を相対値で除算することを含む、請求項２１に記載の値をフィルタする方法。
【請求項２４】
前記あらかじめ決定された値と前記現在決定された値の前記差が、前記あらかじめ決定された値と前記現在決定された値の前記差の絶対値である、請求項２３に記載の値をフィルタする方法。
【請求項２５】
前記相対値が、前記あらかじめ決定された値、前記現在決定された値、前記あらかじめ決定された値および前記現在決定された値のうちの前記小さい方の値、前記あらかじめ決定された値および前記現在決定された値のうちの前記大きい方の値、所定の値、ならびに前記あらかじめ決定された値および前記現在決定された値が関係するセンサの範囲の少なくとも一部分のうちの１つを含む、請求項２３に記載の値をフィルタする方法。
【請求項２６】
前記変化量の前記重大性が乗数によって変更される、請求項２３に記載の値をフィルタする方法。
【請求項２７】
前記変化量が、フィルタ定数を前記変化量に加算することによる前記フィルタの制限をさらに含む、請求項２３に記載の値をフィルタする方法。
【請求項２８】
前記フィルタされた値が、前記あらかじめ決定された値から前記現在決定された値までの範囲外とならないように制限される、請求項２１に記載の値をフィルタする方法。
【請求項２９】
前記現在決定された値および前記あらかじめ決定された値が、装置およびプロセスのうちの１つの特性に関連する、請求項２１に記載の値をフィルタする方法。
【請求項３０】
前記フィルタされた値が、前記装置および前記プロセスのうちの１つを制御するために使用される、請求項２９に記載の値をフィルタする方法。
【請求項３１】
プロセッサによって実行されたとき、前記プロセッサに、
現在値を受け取り、
前の値を保持し、
前記現在値の一部分および前記前の値の一部分を含むフィルタされた値を作成するようにさせる、命令を記憶してあるコンピュータが読み取り可能な媒体であって、前記前の値および前記現在値の前記部分が、前記前の値と前記現在値の間の変化量に応じて、前記変化量が小さいときは前記フィルタされた値が前記前の値の方によりバイアスされ、前記変化量がより大きいときは前記現在値の方によりバイアスされるように変化するコンピュータが読み取り可能な媒体。
【請求項３２】
前記前の値が、あらかじめ決定されたフィルタされた値である、請求項３１に記載のコンピュータが読み取り可能な媒体。
【請求項３３】
前記前の値が、前記プロセッサによって検出された装置およびプロセスのうちの１つの特性に関係する、請求項３１に記載のコンピュータが読み取り可能な媒体。
【請求項３４】
前記命令が、前記プロセッサに、前記前の値と前記現在値の差を相対値で除算することによって、前記変化量を少なくとも部分的に決定させる、請求項３１に記載のコンピュータが読み取り可能な媒体。
【請求項３５】
前記相対値が、前記前の値、前記現在値、前記前の値および前記現在値のうちの前記小さい方の値、前記前の値および前記現在値のうちの前記大きい方の値、所定の値、ならびに前記前の値および前記現在値が関係するセンサの範囲の少なくとも一部分のうちの１つを含む、請求項３４に記載のコンピュータが読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに開示する発明は、一般にフィルタに関し、詳細には、より大きな信号変動に迅速に反応しながら、小さな信号変動を最小限に抑えるためのフィルタに関する。
【背景技術】
【０００２】
フィルタは、信号処理技術でその用語が使用される場合、信号上に存在するノイズを抑制することができ、または振動しているもしくは不安定な信号を平均することができ、あるいはその両方を同時に行うことができる。そのようなフィルタは、ソフトウェアに実装することができ、その場合、たとえば、デジタル情報に変換された信号の部分を、プロセッサによって実行される命令によって操作することができる。そのようなフィルタは、代わりに、たとえば、アナログまたはデジタル情報を直接搬送するアナログ信号を操作することのできるハードウェアに実装することもできる。ハードウェアに実装された場合、フィルタされた信号は、ハードウェアフィルタを通過し、それによって操作された後、デジタル情報に変換することができる。
【０００３】
データ収集システムでは、望ましくないノイズはしばしば、実際に検出された値から読み取られた値をゆがめるセンサまたはその配線によって発生する。たとえば、望ましくない信号歪みは、機械式センサの振動、または不安定に動作するシステムによって生じる可能性がある。たとえば、不安定なピストン速度は、一般に、その通常の行程で可変速度で移動するピストンエンジンに関連して、あるいはすべての燃焼事象が互いに異なり、それにより、サイクルごとの、速度またはｒｐｍの何らかの不規則性を伴って動作するエンジン内で起こる。したがって、フィルタをそのような信号に適用して、振動によって生じるばらつきを含めた各種形態の歪みを取り除き、あるいは、不安定な信号を安定した信号に変換することが、しばしば望まれる。しかし、同時にまた、歪みまたは不安定な信号によって生じたのではない信号値の大きな変化が、変化せずに、あるいはその値に最小限の影響しか与えずに、フィルタを通過するようにさせることも望まれる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
したがって、より大きな信号変動に迅速に反応しながら、小さな信号変動を最小限に抑えるためのフィルタ機器および方法が必要とされている。
【課題を解決するための手段】
【０００５】
本発明は、信号で生じる変化量に応じて提供されるフィルタリング量を変える動的フィルタを目指すものである。この動的フィルタは、データ収集ユニットで受け取られた入力信号、あるいはデータ収集ユニットによって受け取られまたは決定された別の値に適用することができる。「決定された値」という語は、現在または前の、生またはフィルタ済みの、未処理または処理済みの、任意の値を含むものであり、たとえば、検出された信号および値、ならびにデータ収集ユニット、エンジン制御ユニット、または別の装置での計算など、その他の方法で決定された値が含まれ得る。この動的フィルタは、より大きな信号変動に迅速に反応しながら、小さな信号変動を最小限に抑える。動作においては、動的フィルタは、フィルタされた値またはセンサからの信号と関連し得る前の決定された値から、センサからの信号と関連し得る現在値への相対変化量を決定し、その相対変化量が大きいときは、現在値により近いフィルタされた値を提供し、変化量がより小さいときは、前のフィルタされた値または前の決定された値により近いフィルタされた値を提供する。
【０００６】
本発明はまた、信号を動的にフィルタする方法を目指すものである。その方法は、信号と関連し得るあらかじめ決定された値の一部分を、信号と関連し得る現在決定された値の一部分と組み合わせるステップを含んでおり、それらの部分は、あらかじめ決定された値と現在決定された値の間の変化量に応じて変化する。
【０００７】
一実施形態では、フィルタされた値が、あらかじめ決定された値の一部分および現在決定された値の一部分を含んでおり、あらかじめ決定された値および現在決定された値のそれらの部分は、あらかじめ決定された値と現在決定された値の間の変化量に応じて、変化量が小さいときはフィルタされた値があらかじめ決定された値の方にバイアスされ、変化量がより大きいときはフィルタされた値が現在決定された値の方によりバイアスされるように変化する。
【０００８】
別の実施形態では、フィルタは、プロセッサに、現在値を受け取り、前の値を保持し、現在値の一部分および前の値の一部分を含むフィルタされた値を生成するようにさせる命令を実行するプロセッサを含む。前の値および現在値のそれらの部分はさらに、前の値と現在値の間の変化量に応じて、変化量が小さいときはフィルタされた値が前の値の方にバイアスされ、変化量がより大きいときはフィルタされた値が現在値の方によりバイアスされるように変化する。
【０００９】
さらに別の実施形態では、フィルタは、あらかじめ決定された値から現在決定された値への変化量を決定する変化量モジュールと、変化量を相対値に関係付ける動的フィルタ変数モジュールと、相対変化量を変化量に適用し、その結果をフィルタされた値に到達するあらかじめ決定された値と組み合わせるフィルタ値モジュールとを含んでおり、変化量が小さいときはフィルタされた値があらかじめ決定された値の方にバイアスされ、変化量がより大きいときはフィルタされた値が現在決定された値の方によりバイアスされる。
【００１０】
値をフィルタする方法の一実施形態は、あらかじめ決定された値の一部分を現在決定された値の一部分と組み合わせるステップを含んでおり、あらかじめ決定された値および現在決定された値のそれらの部分は、あらかじめ決定された値と現在決定された値の間の変化量に応じて、変化量が小さいときはフィルタされた値があらかじめ決定された値の方にバイアスされ、変化量がより大きいときは現在決定された値の方によりバイアスされるように変化する。
【００１１】
一実施形態では、コンピュータが読み取り可能な媒体が、命令をそこに記憶している。プロセッサによって命令が実行されると、その命令によってプロセッサが現在値を受け取り、前の値を保持し、現在値の一部分および前の値の一部分を含むフィルタされた値を生成する。前の値および現在値のそれらの部分はさらに、前の値と現在値の間の変化量に応じて、変化量が小さいときはフィルタされた値が前の値の方にバイアスされ、変化量がより大きいときは現在値の方によりバイアスされるように変化する。
【００１２】
したがって、この動的フィルタは、フィルタされた信号で発生する変化量に応じて提供されるフィルタリング量を変更するための方法および機器を提供する。
したがって、本動的フィルタは、従来のフィルタリング装置の欠点に対する解決策を提供する。したがって、当業者には、好ましい実施形態の以下の詳しい説明において、その他の詳細、特徴、および利点がさらに明らかとなることが容易に理解されよう。
【００１３】
添付の図面は、同じ部品またはステップを指定するのに同じ参照番号を使用しており、動的フィルタのさらなる理解が得られるように含まれ、本明細書に組み込まれてその一部分を構成し、説明と併せて動的フィルタの原理を説明する役割を果たす、動的フィルタの諸実施形態を図示するものである。
【発明を実施するための最良の形態】
【００１４】
次に、より大きな信号変動に迅速に反応しながら、小さな信号変動を最小限に抑えるために信号をフィルタするための、システム、機器、および方法の諸実施形態を参照する。そのようなフィルタの実施形態の例が、添付の図面に図示されている。そうしたフィルタの実施形態の詳細、特徴、および利点は、それらの実施形態の以下の詳しい説明においてさらに明らかとなろう。
【００１５】
本明細書中の「一実施形態」、「ある実施形態」に対する任意の言及、あるいは一実施形態に対する類似の言及は、その実施形態に関して述べられた具体的な特徴、構造、または特性が、本発明の少なくとも１つの実施形態に含まれることを示すものである。本明細書中の様々な箇所でそのような語が登場しても、必ずしもすべて同じ実施形態に言及しているとは限らない。「または（ｏｒ）」に対する言及はさらに包括を意図しており、したがって、「または（ｏｒ）」は、何らかの「または」でつないだ（ｏｒｅｄ）語、あるいは２語以上の「または」でつないだ（ｏｒｅｄ）語を示す可能性がある。
【００１６】
本明細書に含まれる図面および説明は、動的フィルタに特に関連した要素を図示し説明しており、わかりやすいように、動的フィルタとともにしばしば使用される典型的なデータ収集システムに見られる要素を除いてあることを理解されたい。そのような他の要素の構造および実装形態は当技術分野でよく知られており、それらの議論により動的フィルタの理解がより容易になるわけではないので、そうした要素の議論は本明細書では行わない。また、本明細書に記載の動的フィルタの実施形態は、単に例示的なものであり、動的フィルタを実施する方式を網羅するものではないことも理解されたい。たとえば、動的フィルタは、内燃機関の検出用途以外にも、多くの用途でフィルタされた信号を提供するように容易に適合させることができることが、当業者には認識されよう。
【００１７】
ある種のフィルタは、フィルタされた値に到達する複数の値を平均することによって動作する。たとえば、値がフィルタされるが、リアルタイムではないとき、値は、その値の前のいくつかの値と、その値の後の同数の値とで平均することができる。したがって、たとえば、５つの点のフィルタされた平均値は、検出された値を、その検出された値の直前の２つの検出された値およびその検出された値の直後の２つの検出された値に加えた値に等しくてよく、その合計は、合計される検出された値の数、その例では５で割ることができる。
【００１８】
リアルタイムで動作するときは、フィルタされた平均値は、現在値を複数のあらかじめ決定された値に加算した値に等しくてよい。したがって、たとえば、４つの点のリアルタイムフィルタされた平均値は、現在検出された値とその現在検出された値の直前にある決定された３つの検出された値の合計を４で割ったものに等しい。しかし、そのような４つの点のリアルタイムフィルタされた平均は、フィルタが完全に有効になる前に、４つの検出された値を受け取る必要がでてくることを理解されたい。たとえば、自動車用途では、スロットル位置が検出される特性であるが、スロットルをしっかりと保持しても、振動によって検出スロットル位置がわずかに変わり、あるスロットル位置から別のスロットル位置への遷移は、２３％、２２％、２３％、２１％、３５％、３４％、３５％、および３６％の検出されたスロットル位置の値を含み得る。２３％、２２％、２３％、２１％の検出された値は、一定のスロットル位置に対応し得、したがって、振動に起因する変動を最小限に抑えるのにフィルタリングが有益である可能性があり、３５％の検出された値は、エンジンにかかる負荷を変更しようと試みる運転者によるスロットル位置の実際の変化である可能性があり、３４％、３５％、および３６％の検出された値は、約３５％で維持されたスロットル位置に対応する。４つの点のリアルタイムフィルタされた平均をそれらのスロットル位置に適用すると、２１％の位置が検出されたときのフィルタされた値は２３％＋２２％＋２３％＋２１％／４となり、これは２２．２５％に等しい。第１の３５％の位置が検出されたときのフィルタされた値は２２％＋２３％＋２１％＋３５％／４となり、これは２５．２５％に等しい。３４％の位置が検出されたときのフィルタされた値は２３％＋２１％＋３５％＋３４％／４となり、これは２８．２５％に等しい。第２の３５％の位置が検出されたときのフィルタされた値は２１％＋３５％＋３４％＋３５％／４となり、これは３１．２５％に等しい。３６％の位置が検出されたときのフィルタされた値は、３５％＋３４％＋３５％＋３６％／４となり、これは３５％に等しい。その例は、スロットル位置センサに適用される平均化フィルタは、スロットル位置の変化に対する応答が遅いことを示している。２１％から３５％へのスロットル位置の変化により、２５．２５％の最初のフィルタされたスロットル位置が得られ、３５％の所望のフィルタされた値は、３つの追加の検出された値が決定された後、ようやく得られることになる。そのような低い性能では、たとえば、エンジンに供給される燃料量がエンジンに入る気流と合致しなくなることから、エンジン動作および排出制御に影響する可能性がある。
【００１９】
別のタイプのフィルタは、現信号値の一部分を前のフィルタされた信号値の一部分と組み合わせることによって動作する。一実施形態では、現信号値および前のフィルタされた信号値のそれらの部分を、フィルタ定数によって決定することができる。そのようなフィルタは、１つまたは複数の前の値を表す単一の値を使用することができる。単一の前のフィルタされた値を使用して複数の前の値を表す場合、その単一の前のフィルタされた値は、前の値の平均でよく、あるいは所望されるようにそれらの値を重み付けすることができる。前のフィルタされた値を保持することにより、単に１つの過去の値が保持されればよく、前のフィルタされた値は、最近決定された値に対してより大きい重みをもち、それより前に決定された値に対して小さい重みをもつ、いくつかのまたはすべてのあらかじめ決定された値の一部分を含むことができる。そのフィルタされた値はしたがって、最後の検出された値、ならびに、続いてより少ない程度に、最後の検出された値の前の一連の値を表すことができる。
【００２０】
たとえば、式１に示されているように、前のフィルタされた値の一部分および現在値の一部分を含むフィルタされた値は、フィルタ定数に前のフィルタされた値と現入力値の差を掛け、前のフィルタされた値をその結果に加えることによって決定することができる。
【００２１】
定数フィルタ式１
ＦＶｃ＝ＦＶｐ＋ＦＣ（Ｖｃ−ＦＶｐ）
ここで、
ＦＶｃは現フィルタされた値である。
【００２２】
ＦＶｐは前のフィルタされた値である。
ＦＣはフィルタ定数である。
Ｖｃは現在決定された値である。
【００２３】
フィルタ定数は通常、０〜１の範囲内の値が割り当てられ、０の値は前のフィルタされた値に等しい現フィルタされた値を提供し、１の値は現在決定された値に等しい現フィルタされた値を提供する。フィルタ定数に対してそうした限界をもつ式１の結果は、前のフィルタされた値の０〜１の部分、および現在値の０〜１の部分を含み、前のフィルタされた値および現フィルタされた値のそれらの部分の合計が１に等しいことに留意されたい。
【００２４】
したがって、０．５のフィルタ定数値は、前のフィルタされた値と現在決定された値の間の等しい重み付けをもたらし、０．０〜０．５の値では前のフィルタされた値の方により重く重み付けされ、０．５〜１．０の値では現在決定された値の方により重く重み付けされる。
【００２５】
式２に示されているように、式１は、０の値を有するフィルタ定数が現在決定された値を提供し、１の値を有するフィルタ定数が前のフィルタされた値を提供する表現を含めた、様々な方法で表すことができる。
【００２６】
代替の定数フィルタ式２：
ＦＶｃ＝Ｖｃ＋ＦＣ（ＦＶｐ−Ｖｃ）
式１または２のフィルタは一般に、信号における小さな変化の影響を有利に低減する。そうした変化は、たとえば、振動または不安定な動作によって生じることがある。たとえば、自動車用途においてスロットルの位置を測定するとき、車両の運転者は、一定のスロットル位置を維持することができる。しかし、エンジン制御ユニットに送られるときのスロットルの検出位置は、上記の平均化フィルタとともに提供されるスロットル位置の例に関して見られるように、検出されたスロットル位置のほとんどすべてのサンプルにおいて、エンジン制御ユニットで示される変化を伴い、小さな範囲にわたって変化し得る。エンジン制御ユニットがそうしたほとんど連続的に示される位置の変化を使用してエンジン動作のレベルを変化させた場合、信号に転送されるほとんどすべての制御信号で、エンジン動作レベルの上昇および下降が生じることになる。したがって、たとえば、車両の運転者が定常状態のエンジン動作を望んでいるときも、検出スロットル位置の変動のために、エンジンに提供される燃料の量および点火タイミングが、連続的に変化する可能性がある。したがって、ノイズに起因する変動を最小限に抑え、したがって所望の動作を提供するために、スロットル位置などいくつかの検出された信号をフィルタすることが望ましい。また、エンジンを定常動作レベルで維持する例においては、定常状態動作を改善することによって得られ得るエンジン振動の低減を含めた、その他の理由で信号ノイズを最小限に抑えることも有益であることがある。
【００２７】
信号のばらつきは、電磁ノイズを含めた様々な信号変動によって生じることもあることに留意されたい。電磁ノイズは、一般に、電気的に伝送される信号中に存在し、センサ配線を内燃機関の周囲に這わせることを含めた多くの点で発生することがある。そのようなノイズが信号中に存在する場合、本明細書に記載のタイプのフィルタリングに加えて、ローパス、ハイパス、またはバンドパスフィルタなどによって実行される追加のフィルタリングを適用することができる。
【００２８】
しかし、検出された値で大きな変化が生じた場合、変化した値が可能な限り迅速にエンジン制御ユニットなどのデータ収集ユニットに報告され、したがって、新しい要求が可能な限り迅速に満たされることは重要である。しかし、式１および２のフィルタリング技法を使用するようなフィルタは、検出された特性または媒体の変化によって生じる信号レベルの大きな変化を、ノイズによって生じる小さな変化と同じ割合でフィルタする。したがって、そうしたフィルタは、変化する検出された値の認識、ならびにその変化の認識に依存し得る制御の実施を著しく遅らせる可能性がある。
【００２９】
したがって、フィルタされた信号に対する望ましくない信号変動の影響を減らし、また、フィルタされた信号が信号レベルの著しい変化に迅速に反応することも可能にするフィルタを有すれば、有益となる。望ましくない信号変動には、ノイズなど信号レベルの小さな変化、往復動内燃機関のシリンダ内のピストンの変化する速度などの不規則性、および信号レベルのその他の望ましくない変動が含まれる。本動的フィルタの一実施形態では、この動的フィルタは、受け取った信号または値の著しい変化が生じたときは、フィルタから出力される信号または値に対するフィルタの影響を最小限に抑えまたはなくしながら、フィルタから出力される信号または値に対する、ノイズや不規則性などの低レベルの信号変動の影響を低減する。
【００３０】
図１は、信号中の小さな変化に対してはそれに比例して大きなフィルタリング効果を有し、信号中のより大きな変化に対してはそれに比例して小さなフィルタリング効果を有するように使用することのできる動的フィルタ１００の一実施形態を示す。動的フィルタ１００は、変化量モジュール１０２、動的フィルタ変数モジュール１０４、およびフィルタ値モジュール１０６を含む。
【００３１】
変化量モジュール１０２は、値が決定されまたは信号が受け取られた前回以降に値または信号が変化した大きさを計算する。連続する２つの値または信号を受け取る間の時間を、時間間隔と呼ぶ。その信号または値は、センサから処理ユニットに伝送されその処理ユニットで読み取られる信号または値でよく、あるいはその処理ユニットまたは別の装置で計算される値でよい。この変化は、検出された値の現在の読取りと検出された値の最後の読取りの間の差でよい。あるいは、この変化は、現在の読取りと、最後の読取り以外のまたはそれを含めた１つまたは複数の前の読取りとの間の差でよい。変化量の計算は、Ｖｃ−Ｖｐで表すことができ、ここでＶｃは現在値、Ｖｐは前に計算されたフィルタ値などの前の値である。その結果得られる変化量は、たとえば、センサが温度を表す信号または値を検出し送出するところのケルビン度や、スロットル位置センサに関するなどしてセンサ値がパーセントに変換されるところの割合など、検出された値の単位で表すことができる。たとえば、前の値から現在値を引いて変化量を計算するとき、変化量の絶対値をさらに使用して、変化量が正の値となることを保証することができる。
【００３２】
動的フィルタ変数モジュール１０４は、変化量を用いて動的フィルタ変数の値を決定する。動的フィルタ変数は、式１および２で使用されるフィルタ定数に置き換わるものと見なすことができる。動的フィルタ変数には、検出された値の相対変化量で乗算される動的乗数を含めることができる。さらに、フィルタ定数を動的フィルタ変数に加算しまたはそこから減算することができ、その場合、たとえば、現在検出された値の方へのシフト、および前検出された値から離れる方へのシフトが望まれる。
【００３３】
その相対変化量は、変化量の絶対値をとり、それを変化量が関係していることが望まれる値で除算することによって、計算することができる。分母として使用されるその相対値には、たとえば、現在決定された値、あらかじめ決定された値、前のフィルタされた値、現在決定された値およびあらかじめ決定された値のうちの大きい方の値または小さい方の値、現在決定された値および前のフィルタされた値のうちの大きい方の値または小さい方の値、センサによって検出することのできる範囲の値、または対象となる範囲の値を含めることができる。たとえば、検出された値がスロットル位置で、範囲が０〜１００％の場合、相対値を１００％の全範囲にして、変化に対してその範囲にわたって同じ影響を与えるようにさせることができる。たとえば、範囲の上端での変化よりも、範囲の下端での変化により大きい影響を与えることが望まれる場合、範囲の代わりに、現在または前の入力値を相対値として使用することができる。以下の例では、現在検出された入力値および前のフィルタされた値のうちの小さい方の値が相対値として使用される。
【００３４】
分母として使用される相対値が、あらかじめ決定された入力値に設定される一実施形態では、５０％から７５％への変化により５０％（｜７５％−５０％｜／５０％＝５０％）の相対値が得られ、７５％から５０％への変化により３３．３％（｜５０％−７５％｜／７５％＝３３．３％）の相対値が得られることになる。したがって、ある大きさの増大と、それと同じ大きさの減少とでは、異なる結果がもたらされる。
【００３５】
分母として使用される相対値が、前のフィルタ値および現在決定された入力値のうちの小さい方の値に設定される別の実施形態では、５０％から７５％への変化により５０％（｜７５％−５０％｜／５０％＝５０％）の相対値が得られ、７５％から５０％への変化により５０％（｜５０％−７５％｜／５０％＝５０％）の相対値が得られることになる。したがって、その実施形態では、ある大きさの増大と、それと同じ大きさの減少では、同じ結果をもたらす。したがって、その方法を使用するフィルタは、増大している信号と減少している信号に対して、同じ程度のフィルタリングを提供することができる。
【００３６】
さらに別の実施形態では、前のフィルタされた値および現在決定された入力値をどちらも使用する計算を行い、所望されるように、小さい方の商または大きい方の商を選択することができる。
【００３７】
したがって、動的フィルタ変数は、動的乗数を変化量の絶対値で乗算し、相対値の絶対値でよい相対値で除算し、所望するなら定数値をその結果に加算またはそこから減算したものとして表すことができる。以下の例では、動的フィルタ変数は、式３で表される。
【００３８】
動的フィルタ変数式３：
ＤＦ＝［Ｍ（｜Ｖｃ−ＦＶｐ｜／（｜ＦＶｐ｜または｜Ｖｃ｜のうちの小さい方の値）］＋または−ＦＣ
ここで、
ＤＦは、動的フィルタ変数である。
【００３９】
Ｍは、動的乗数であり、以下の例では４．０の値を有するが、所望するなら別の値を有してもよい。
Ｖｃは、現在決定された入力値である。
【００４０】
ＦＶｐは、前のフィルタされた値である。
ＦＣは、所望するなら動的フィルタ変数に到達するために加算または減算することができ、以下の例では０．２の値を有するフィルタ定数値である。
【００４１】
一実施形態では、動的乗数は、動的乗数が１より大きく設定されたときは、前のフィルタされた値と現在決定された入力値の間の変化の重大性を増大させ、動的乗数が１より小さく設定されたときは前のフィルタされた値と現在決定された入力値の間の変化の重大性を減少させるものと、見なすことができる。したがって、重大性の変移を望まない場合、動的乗数を１．０に設定するか、またはそれを使用しないようにすることができる。
【００４２】
一実施形態では、フィルタ定数を、フィルタで生じる可能性のあるフィルタリングの最大量の限界と見なすことができる。したがって、たとえば、動的フィルタ変数が０〜１の値を有し、０の値により、フィルタされた値が前のフィルタされた値またはあらかじめ決定された入力値に等しくなる場合、フィルタ定数を使用して、動的フィルタ変数が０に達するのを回避することができる。そうすることにより、現在決定された入力値は、フィルタされた値の決定において少なくとも何らかの役目を果たすことになる。
【００４３】
現在決定された値が５０％で、前のフィルタされた値が５１％である場合といった、小さな変化が生じた場合のサンプル値を使用すると、動的フィルタ変数は、４．０（｜５０％−５１％｜）／｜５０％｜＋０．２、すなわち０．２８に等しくなる。現在決定された値が５０％で、前のフィルタされた値が６０％である場合といった、中程度の変化が生じた場合、動的フィルタ変数は４．０（｜５０％−６０％｜）／５０％＋０．２、すなわち１．０に等しくなる。現在決定された値が５０％で、前のフィルタされた値が１００％である場合といった、大きな変化が生じた場合、動的フィルタ変数は４．０（｜５０％−１００％｜）／５０％＋０．２、すなわち４．２に等しくなる。
【００４４】
動的フィルタ変数は、さらに、最大、たとえば、１．０に制限して、以下でより詳しく論じるフィルタ値モジュール１０６によって得られるフィルタされた値が、現在決定された入力値を超過するのを防ぎ、それによって、オーバシュートをなくすることができる。
【００４５】
同様に、フィルタ定数が負の場合、動的フィルタ変数は、最小値、たとえば、０．０に制限することができる。それによりさらに、フィルタに、しきい値より小さい入力信号の変化を無視させることができる。
【００４６】
そうした例からわかるように、あらかじめ決定された入力値と現在決定された入力値の間の変化量が増大するにつれて、動的フィルタ変数は増大する。さらに、動的フィルタ変数が増大するにつれて、動的フィルタモジュール１０６によって得られるフィルタ値が、現在決定された入力値の方に、かつ前のフィルタされた値またはあらかじめ決定された入力値から離れる方により重み付けされ、それによって、変化がより大きいときに生じるフィルタリング量が減少する。逆に、動的フィルタ変数が減少するにつれて、フィルタ値が、前のフィルタされた値またはあらかじめ決定された値の方に、かつ現在決定された値から離れる方により重み付けされ、それによって、実施されるフィルタリング量が増大する。
【００４７】
フィルタ値モジュール１０６を使用して、動的フィルタ変数に基づいてフィルタされた値を決定することができる。そのフィルタ値は、さらに、式４に示すように表現することができる。
【００４８】
動的フィルタ式４：
ＦＶｃ＝ＦＶｐ＋ＤＦ（Ｖｃ−ＦＶｐ）
ここで、
ＦＶｃは、現フィルタされた値である。
【００４９】
ＦＶｐは、前のフィルタされた値である。
ＤＦは、式３で計算される動的フィルタ変数である。
Ｖｃは、現在決定された入力値である。
【００５０】
式４中の前のフィルタされた値ＦＶｐの代わりに、あらかじめ決定された入力値Ｖｐを使用することができることに留意されたい。
動的フィルタ変数は、０〜１の範囲の値に制限することができ、その場合、０の値は前のフィルタされた値に等しい現フィルタされた値（ＦＶｃ）をもたらし、１の値は現在決定された入力値に等しいフィルタされた値をもたらし、０〜１のフィルタ変数値は、前のフィルタされた値および現在決定された入力値のそれぞれの一部分であるフィルタされた値をもたらす。したがって、式４で述べた実施形態では、０の動的フィルタ値は、前のフィルタされた値または使用される別の前の値に等しくなり、現在決定された入力値のいずれかの部分を含むことはできない。同様に、式４で述べた実施形態では、１の動的フィルタ値は、現在決定された入力値に等しくなり、前のフィルタされた値または使用されるその他の前の値のいずれかの部分を含むことはできない。
【００５１】
したがって、動的フィルタ変数の限界の一例として、上記の大きな変化の例では、現在決定された値が５０％で、前のフィルタされた値が１００％の場合、動的フィルタ変数が４．２に達するのを許容せずに、１．０の制限または限界を使用して、動的フィルタ変数を１．０に制限することができる。１．０の動的フィルタ変数値により、フィルタリングプロセスの結果得られる現フィルタされた値が現在決定された入力値に等しくなり、その結果、動的フィルタ変数式３を使用し、５０％の現在決定された値、１００％の前のフィルタされた値、および１．０での制限を用いた動的フィルタ１００の出力は５０％となり、これは、その例で現在決定された入力値の５０％と同じである。
【００５２】
前のフィルタされた値ＦＶｐの代わりにあらかじめ決定された入力値Ｖｐを使用する場合、そのような動的フィルタ変数の限界により、０の値では、あらかじめ決定された入力値に等しい現フィルタされた値が提供され、１の値では、現在決定された入力値に等しいフィルタされた値が提供され、０〜１のフィルタ変数値では、あらかじめ決定された入力値および現在決定された入力値のそれぞれの一部分であるフィルタされた値が提供される。
【００５３】
したがって、式４に関連して記述されたプロセスを使用する動的フィルタ１００は、動的フィルタ変数が０および１の、あるいは０〜１の間の値を有する限り、前のフィルタされた値またはあらかじめ決定された入力値と現在決定された入力値の上の、あるいはその間のフィルタされた値を提供する。式１および２のフィルタと著しく異なり、現動的フィルタ値は、前のフィルタされた値またはあらかじめ決定された入力値と現在決定された入力値の間の変化量に応じて、前のフィルタされた値またはあらかじめ決定された入力値と現在決定された入力値の間で変化する。
【００５４】
式４では、０に近づく動的フィルタ変数は、前のフィルタされた値の方に重み付けされたフィルタされた値をもたらし、１に近づく動的フィルタ変数は、現在決定された入力値の方に重み付けされたフィルタされた値をもたらすことに留意できよう。また、相対変化量が増大するにつれて、動的フィルタ変数が増大し、それによって、より多くの重みが現在決定された入力値に置かれ、より少ない重みが前のフィルタされた値に置かれることにも留意できよう。より多くの重みを現在決定された入力値に置き、より少ない重みを前のフィルタされた値に置くことにより、その結果、入力または検出された値がより大きく変化したときに生じるフィルタリング量が低減される。同様に、入力値または検出された値がより小さく変化したときに生じるフィルタリング量が、フィルタ定数値ＦＣの限界まで増やされる。
【００５５】
１のフィルタ定数値が、前のフィルタされた値に等しいフィルタされた値を提供し、０のフィルタされた定数値が、現在決定された入力値に等しいフィルタされた値を提供することが望まれる場合、式４は、式１を入れ替えて式２を作成したのと同様のやり方で再構成することができることを理解されたい。
【００５６】
図２は、値を動的にフィルタする方法１２０の一実施形態を示す。その値は、たとえば、センサから受信され、エンジン制御ユニットで定期的に読み取られる信号でよい。その値は、エンジン制御ユニット内のプロセッサに伝達することができる。プロセッサは次いで、その値をフィルタし、そのフィルタされた値を使用して、１つまたは複数のプロセスの動作を制御することができる。
【００５７】
１２２〜１３０では、値のフィルタリングに使用するために動的フィルタ変数が計算され、この場合、動的フィルタ変数は、式３に関連して記述されるように決定することができる。１２２では、現在決定された入力値と前のフィルタされた値の間の変化量が決定される。前のフィルタされた値は、１つまたは複数の重み付けされた値、重み付けされていない値、あるいは平均値を表すことができる。１２４では、負の値となり得るようなやり方で変化量が計算される場合、変化量の絶対値を計算することができる。１２６では、変化量は、本明細書の上記の値に関係付けられる。１２８では、所望するなら、相対変化量に所定の動的乗数を乗算することができる。１３０では、所望するなら、フィルタ変数にフィルタ定数を加算し、あるいはそこから減算することができる。
【００５８】
式４に関連して記述されたようなフィルタで動的フィルタ値を使用して、前のフィルタされた値またはあらかじめ決定された入力値などの前の値と、現在決定された入力値などの現在値との間でフィルタ値を配分することができ、その場合、０の値を有する動的フィルタ変数は、完全な前の値を提供し現在値は提供せず、１の値を有するフィルタ値は、完全な現在値を提供し前の値は提供せず、０〜１の値を有する動的フィルタ変数は、前の値と現在値の間で配分された結果として得られるフィルタされた値を提供する。１３２では、動的フィルタ変数が、式４に関連して論じられたフィルタなどのフィルタで使用されて、フィルタされた値が決定される。１３４で、フィルタされた値を次いで使用して、１つまたは複数のプロセスを制御することができる。動的フィルタ変数は、０〜１の範囲に制限することができ、また０〜１の範囲外を使用することもできる。
【００５９】
次に、信号を動的にフィルタする方法１２０は、フィルタに入力される各決定された値ごとに繰り返すことができる。
一実施形態では、動的フィルタは、プロセッサによって実行されたとき、本明細書に記載されるように、プロセッサに信号を動的にフィルタさせる命令を記憶してあるコンピュータが読み取り可能な媒体を含む、１個の製品を含むことができる。たとえば、コンピュータが読み取り可能な媒体は、プロセッサに１つまたは複数の値をセンサから受け取らせる命令を含むことができる。プロセッサによって処理されると決定された値は、受け取られるときにフィルタされる一連の値を含むことができ、各現在検出された入力値に対してそれが受け取られるときに作用し、１つまたは複数の前のフィルタされた値またはあらかじめ決定された入力値を保持する。コンピュータが読み取り可能な媒体は、現在決定された入力値の一部分と、前のフィルタされた値またはあらかじめ決定された入力値の一部分とを含むフィルタされた値をプロセッサに生成させる命令をさらに含むことができ、そうした値のそれらの部分は、前の値と現在値の間の変化量に依存する。
【００６０】
図３は、動的フィルタを使用することのできるエンジン制御システム１５０の一実施形態を示す。エンジン制御システム１５０は、シリンダ１７４、およびクランクシャフト１７６を有する内燃機関１７２を含む。シリンダ１７４は、クランクシャフト１７６につながる連接棒１８０を有するピストン１７８を含んでいる。吸気弁１８２、排気弁１８４、および点火プラグ１８６は、シリンダ１７４内に延びている。
【００６１】
空気取入れ口制御装置１８８および燃料供給制御装置２０４は、空気および燃料を吸込み弁１８２およびシリンダ１７４に供給する。空気取入れ口制御装置１８８は、たとえば、エンジン１７２に供給される燃焼空気の量を制御するための、ちょう形弁１９２やゲート弁を含むことができる。エアマスセンサ１９４は、たとえば、空気取入れ口管内に配置することができる。
【００６２】
燃料供給制御装置２０４は、たとえば、燃料噴射器２０６または気化器でよい。燃料噴射器２０６を使用するとき、燃料噴射器２０６は、それに結合され燃料噴射器２０６によって燃料流を制御するためのアクチュエータを含むことができる。パルス幅変調信号などの信号は、エンジン制御ユニット１５０からアクチュエータに伝送させて、燃料噴射器２０６を介して燃料流を提供させることができる。
【００６３】
スロットル位置センサ１９６を取り付けて、エンジン負荷のインジケータとしての、運転者制御１９８またはスロットルちょう形弁１９２の位置を検出することができる。クランクシャフト符号器２００またはその他の装置は、エンジン速度のインジケータとしての、クランクシャフト１７６の回転を検出することができる。電池２０２は、エンジン制御システム１５０のうちの電力を必要とする部分に電力を供給する。
【００６４】
エンジン制御システム１５０の各構成要素は、既知の方式で動作することができ、その間、たとえば、燃料供給装置２０４によって供給される燃料の量の制御を、図１に示されている動的フィルタ１００または図２に示されている値を動的にフィルタする方法１２０を使用するエンジン制御ユニット１５０によって、変化させることができる。たとえば、図３のエンジン制御システム１５０では、動的フィルタの一実施形態は、エンジン制御ユニット１５４内のプロセッサ１５２で実施することができる。その実施形態では、フィルタされる１つまたは複数の入力信号１５６および１５８は、エンジン制御ユニット１５４内の入力ボード１６０で受け取られる。
【００６５】
プロセッサ１５２は、メモリ１６２に結合することができ、メモリ１６２に記憶されたプログラム命令およびプロセス情報を実行することができる。情報は、電気信号、光信号、音響信号など、信号として表すことのできる任意のデータを含むことができる。この文脈での情報の例には、過去および現在の検出された値を含めることができる。
【００６６】
一実施形態では、命令は、メモリ１６２に記憶される。本発明では「プロセッサで実行される」という語句は、機械可読フォーマットで記憶される命令、ならびに、プロセッサ１５２によって実行される前に、コンパイルされ、あるいはインストーラによってインストールされてよい命令を含むものであると意図される。
【００６７】
メモリ１６２には、たとえば、キャッシュ、動的ＲＡＭまたは静的ＲＡＭなどのランダムアクセスメモリ（ＲＡＭ）、プログラマブルＲＯＭ、消去可能プログラマブルＲＯＭ、電子的消去可能プログラマブルＲＯＭなどの読取り専用メモリ（ＲＯＭ）、あるいは磁気ディスクや光学的ディスクなどの大容量記憶装置が含まれ得る。メモリ１６２は、コンピュータプログラム命令および情報を記憶することができる。メモリ１６２はさらに、動的フィルタリングを行うための命令を含めた諸命令を記憶することができるオペレーティングシステムパーティションと、１つまたは複数の前の値などの情報を記憶することができるデータパーティションとを含むセクションに、区分することができる。
【００６８】
図３に示されるエンジン制御システム１５０内では、信号１５６および１５８が、それぞれスロットル位置センサおよびクランクシャフト位置センサから受け取られる。入力ボード１６０は、信号１５６および１５８を受け取り、それをサンプリングし、各信号１５６および１５８上に生じる検出された値に対応する値を、プロセッサ１５２に提供する。プロセッサ１５２は次いで、各信号１５６および１５８上に生じる検出された値に対応する値を、スロットル位置センサ１９６でのパーセントでの位置やエンジン回転速度センサ２００での毎分回転数すなわちｒｐｍなど、検出される特性に適した工学単位を有する値へと、プロセッサに変換させる命令を実行することができる。プロセッサ１５２は次いで、本明細書に記載されるように、そうした変換された検出された値をプロセッサに動的にフィルタさせる命令を実行することができる。プロセッサ１５２はさらに、変換された検出された値の動的フィルタリングから決定される、出力１６６など１つまたは複数の出力を、出力ボード１６４を介して、たとえば、図の燃料噴射器２０６などの燃料供給装置に提供する。
【００６９】
検出されたスロットル位置の例は、ノイズのある信号に関係した問題を例示し説明するために本明細書で使用されていることを理解すべきであり、また、本明細書に記載されるようなフィルタを、任意のノイズのある信号の用途、ならびに、より大きな変動には迅速に反応しながら、信号または一連の値の小さな変動が最小限に抑えられる任意のその他の用途に適用することができることを理解されたい。
【図面の簡単な説明】
【００７０】
【図１】動的フィルタの一実施形態の図である。
【図２】信号を動的にフィルタする方法の一実施形態の図である。
【図３】動的フィルタを使用することのできるエンジン制御システムの一実施形態の図である。
【図１】
2007523528.tif 000003
【図２】
2007523528.tif 000004
【図３】
2007523528.tif 000005
【国際調査報告】
2007523528.tif 000006
2007523528.tif 000007
2007523528.tif 000008