(57)【要約】【課題】ＣＲフィルタを模すためのスムージングにおいて、演算周期の時間変化に追従することができるようにする。【解決手段】エンジンＥＣＵは、元データを順次取り込み（１０５）、取り込む毎に、その時の回転センサからの検出データに基づいて演算周期Δｔを算出し（１３０、１３５）、時間パラメータτを読み出し（１４０）、比Δｔ／τを算出し（１４５）、比Δｔ／τがしきい値未満の場合は、式（Δｔ／τ）（１−０．５（Δｔ／τ））の結果を重み係数Ｋとし（１５５）、比Δｔ／τがしきい値以上の場合は、テーブルから重み係数Ｋを特定する（１６０）。そして、前回算出した加工データの値ｙ（ｉ−１）と、前回取得した元データの値ｕ（ｉ−１）との、重み係数Ｋを用いた重み付き平均値Ｋ｛ｕ（ｉ−１）−ｙ（ｉ−１）｝＋ｙ（ｉ−１）を、今回の加工データの値ｙ（ｉ）とする（１６５）。【選択図】 図２
2006234629.tif 000002
【特許請求の範囲】
【請求項１】
時間的に値が変化する元データを取得する元データ取得手段と、
前記元データ取得手段が取得した前記元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録する加工データ算出記録手段と、を備えたデータ加工装置であって、
前記加工データ算出記録手段は、
前記逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔと時間パラメータτとの比Δｔ／τの値を特定する変数特定手段と、
前記変数特定手段が特定した比Δｔ／τの値がしきい値未満であることに基づいて、前記比Δｔ／τを用い、式−Σ［（−Δｔ／τ）ｎ／（ｎ！）］（ただしΣはｎの１から所定の自然数Ｎまでの総和記号）を算出し、その算出値を重み係数Ｋとして特定する第１重み係数特定手段と、
前記変数特定手段が特定した比Δｔ／τの値が前記しきい値以上であることに基づいて、比Δｔ／τの値と式１−ｅｘｐ［−Δｔ／τ］の値との対応関係を複数個記憶する対応テーブルを用いて、前記変数特定手段が特定した比Δｔ／τの値に対応する式１−ｅｘｐ［−Δｔ／τ］の値を重み係数Ｋとして特定する第２重み係数特定手段と、
前回記録した加工データの値と前記元データの値との、前記第１または第２の重み係数特定手段が特定した前記重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出する算出手段と、を有することを特徴とするデータ加工装置。
【請求項２】
前記変数特定手段は、前記逐次算出の時間間隔Δｔに影響する外部の物理量を検出するセンサからの信号に基づいて、前記時間間隔Δｔを特定することを特徴とする請求項１に記載のデータ加工装置。
【請求項３】
前記変数特定手段は、前記時間パラメータτに影響する外部の物理量を検出するセンサからの信号に基づいて、前記時間パラメータτを特定することを特徴とする請求項１または２に記載のデータ加工装置。
【請求項４】
時間的に値が変化する元データを取得する元データ取得手段と、
前記元データ取得手段が取得した前記元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録する加工データ算出記録手段と、を備えたデータ加工装置であって、
前記加工データ算出記録手段は、
前記逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔに影響する外部の物理量を検出するセンサからの信号に基づいて、前記時間間隔Δｔを特定すると共に、この前記時間間隔Δｔと時間パラメータτとの比Δｔ／τの値を特定する変数特定手段と、
前記変数特定手段が特定した比Δｔ／τを用い、式−Σ［（−Δｔ／τ）ｎ／（ｎ！）］（ただしΣはｎの１から所定の自然数Ｎまでの総和記号）を算出し、その算出値を重み係数Ｋとして特定する重み係数特定手段と、
前回記録した加工データの値と前記元データの値との、前記重み係数特定手段が特定した前記重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出する算出手段と、を有することを特徴とするデータ加工装置。
【請求項５】
時間的に値が変化する元データを取得する元データ取得手段と、
前記元データ取得手段が取得した前記元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録する加工データ算出記録手段と、を備えたデータ加工装置であって、
前記加工データ算出記録手段は、
前記逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔと時間パラメータτとの比Δｔ／τの値を特定する変数特定手段と、
比Δｔ／τの値と式１−ｅｘｐ［−Δｔ／τ］の値との対応関係を複数個記憶する対応テーブルを用いて、前記変数特定手段が特定した比Δｔ／τの値に対応する式１−ｅｘｐ［−Δｔ／τ］の値を重み係数Ｋとして特定する重み係数特定手段と、
前回記録した加工データの値と前記元データの値との、前記重み係数特定手段が特定した前記重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出する算出手段と、を有することを特徴とするデータ加工装置。
【請求項６】
時間的に値が変化する元データを取得する元データ取得手段と、
前記元データ取得手段が取得した前記元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録する加工データ算出記録手段と、を備えたデータ加工装置であって、
前記加工データ算出記録手段は、
前記元データに対する加工データの遅れを特徴付ける時間パラメータτに影響する外部の物理量を検出するセンサからの信号に基づいて、前記時間パラメータτを特定すると共に、前記逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔを前記時間パラメータτで除算した比Δｔ／τの値を特定する変数特定手段と、
前記変数特定手段が特定した比Δｔ／τを用い、式−Σ［（−Δｔ／τ）ｎ／（ｎ！）］（ただしΣはｎの１から所定の自然数Ｎまでの総和記号）を算出し、その算出値を重み係数Ｋとして特定する重み係数特定手段と、
前回記録した加工データの値と前記元データの値との、前記重み係数特定手段が特定した前記重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出する算出手段と、を有することを特徴とするデータ加工装置。
【請求項７】
時間的に値が変化する元データを取得する元データ取得手段と、
前記元データ取得手段が取得した前記元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録する加工データ算出記録手段と、を備えたデータ加工装置であって、
前記加工データ算出記録手段は、
前記元データに対する加工データの遅れを特徴付ける時間パラメータτに影響する外部の物理量を検出するセンサからの信号に基づいて、前記時間パラメータτを特定すると共に、前記逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔを前記時間パラメータτで除算した比Δｔ／τの値を特定する変数特定手段と、
比Δｔ／τの値と式１−ｅｘｐ［−Δｔ／τ］の値との対応関係を複数個記憶する対応テーブルを用いて、前記変数特定手段が特定した比Δｔ／τの値に対応する式１−ｅｘｐ［−Δｔ／τ］の値を重み係数Ｋとして特定する重み係数特定手段と、
前回記録した加工データの値と前記元データの値との、前記重み係数特定手段が特定した前記重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出する算出手段と、を有することを特徴とするデータ加工装置。
【請求項８】
前記加工データ算出記録手段は、前記加工データの算出開始時における前記加工データの値を、前記加工データの算出開始時における前記元データの値と同じ値とする初期値設定手段を有することを特徴とする請求項１ないし７のいずれか１つに記載のデータ加工装置。
【請求項９】
時間的に値が変化する元データを取得する元データ取得手段、および、
前記元データ取得手段が取得した前記元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録する加工データ算出記録手段として、コンピュータを機能させるデータ加工プログラムであって、
前記加工データ算出記録手段は、
前記逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔと時間パラメータτとの比Δｔ／τの値を特定する変数特定手段と、
前記変数特定手段が特定した比Δｔ／τの値が所定のしきい値未満であることに基づいて、前記比Δｔ／τを用い、式−Σ［（Δｔ／τ）ｎ／（ｎ！）］（ただしΣはｎの１から所定の自然数Ｎまでの総和記号）を算出し、その算出値を重み係数Ｋとして特定する第１重み係数特定手段と、
前記変数特定手段が特定した比Δｔ／τの値が前記所定のしきい値以上であることに基づいて、比Δｔ／τの値と式１−ｅｘｐ［Δｔ／τ］の値との対応関係を複数個記憶する対応テーブルを用いて、前記変数特定手段が特定した比Δｔ／τの値に対応する式１−ｅｘｐ［Δｔ／τ］の値を重み係数Ｋとして特定する第２重み係数特定手段と、
前回記録した加工データの値と前記元データの値との、前記第１または第２の重み係数特定手段が特定した前記重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出する算出手段と、を有することを特徴とするデータ加工プログラム。
【請求項１０】
時間的に値が変化する元データを取得する元データ取得手段、および、
前記元データ取得手段が取得した前記元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録する加工データ算出記録手段として、コンピュータを機能させるデータ加工プログラムであって、
前記加工データ算出記録手段は、
前記逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔに影響する外部の物理量を検出するセンサからの信号に基づいて、前記時間間隔Δｔを特定すると共に、この前記時間間隔Δｔと時間パラメータτとの比Δｔ／τの値を特定する変数特定手段と、
前記変数特定手段が特定した比Δｔ／τを用い、式−Σ［（Δｔ／τ）ｎ／（ｎ！）］（ただしΣはｎの１から所定の自然数Ｎまでの総和記号）を算出し、その算出値を重み係数Ｋとして特定する重み係数特定手段と、
前回記録した加工データの値と前記元データの値との、前記重み係数特定手段が特定した前記重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出する算出手段と、を有することを特徴とするデータ加工プログラム。
【請求項１１】
時間的に値が変化する元データを取得する元データ取得手段、および、
前記元データ取得手段が取得した前記元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録する加工データ算出記録手段として、コンピュータを機能させるデータ加工プログラムであって、
前記加工データ算出記録手段は、
前記逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔと時間パラメータτとの比Δｔ／τの値を特定する変数特定手段と、
比Δｔ／τの値と式１−ｅｘｐ［−Δｔ／τ］の値との対応関係を複数個記憶する対応テーブルを用いて、前記変数特定手段が特定した比Δｔ／τの値に対応する式１−ｅｘｐ［−Δｔ／τ］の値を重み係数Ｋとして特定する重み係数特定手段と、
前回記録した加工データの値と前記元データの値との、前記重み係数特定手段が特定した前記重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出する算出手段と、を有することを特徴とするデータ加工プログラム。
【請求項１２】
時間的に値が変化する元データを取得する元データ取得手段、および、
前記元データ取得手段が取得した前記元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録する加工データ算出記録手段として、コンピュータを機能させるデータ加工プログラムであって、
前記加工データ算出記録手段は、
前記元データに対する加工データの遅れを特徴付ける時間パラメータτに影響する外部の物理量を検出するセンサからの信号に基づいて、前記時間パラメータτを特定すると共に、前記逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔを前記時間パラメータτで除算した比Δｔ／τの値を特定する変数特定手段と、
前記変数特定手段が特定した比Δｔ／τを用い、式−Σ［（Δｔ／τ）ｎ／（ｎ！）］（ただしΣはｎの１から所定の自然数Ｎまでの総和記号）を算出し、その算出値を重み係数Ｋとして特定する重み係数特定手段と、
前回記録した加工データの値と前記元データの値との、前記重み係数特定手段が特定した前記重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出する算出手段と、を有することを特徴とするデータ加工プログラム。
【請求項１３】
時間的に値が変化する元データを取得する元データ取得手段、および、
前記元データ取得手段が取得した前記元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録する加工データ算出記録手段として、コンピュータを機能させるデータ加工プログラムであって、
前記加工データ算出記録手段は、
前記元データに対する加工データの遅れを特徴付ける時間パラメータτに影響する外部の物理量を検出するセンサからの信号に基づいて、前記時間パラメータτを特定すると共に、前記逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔを前記時間パラメータτで除算した比Δｔ／τの値を特定する変数特定手段と、
比Δｔ／τの値と式１−ｅｘｐ［−Δｔ／τ］の値との対応関係を複数個記憶する対応テーブルを用いて、前記変数特定手段が特定した比Δｔ／τの値に対応する式１−ｅｘｐ［−Δｔ／τ］の値を重み係数Ｋとして特定する重み係数特定手段と、
前回記録した加工データの値と前記元データの値との、前記重み係数特定手段が特定した前記重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出する算出手段と、を有することを特徴とするデータ加工プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＲフィルタを擬似的に実現するためのデータ加工装置およびデータ加工プログラムに関する。
【背景技術】
【０００２】
従来、センサ出力値等の入力信号に含まれるノイズを除去するＣＲフィルタをマイコン上で模すために、スムージングと呼ばれる処理をマイコンにソフトウェア的に実行させることが行われている。このスムージングの処理は、具体的には、入力信号がデジタル化されることによってできた時系列順のデータ（以下元データと記す）のｉ番目の値をｕ（ｉ）とし、その元データに対してスムージング処理を行った後のデータ（以下加工データと記す）の時系列順のｉ番目の値をｙ（ｉ）とすると、ｙ（ｉ）＝ｕ（ｉ）＋Ｋ＊｛ｙ（ｉ−１）−ｕ（ｉ）｝という漸化式によって加工データが生成される。ここで、Ｋは０以上１以下の重み係数で、1に近いほど、スムージング処理によるフィルタリング効果が大きい。この重み係数Kは、時間的に変化しない固定値とされる場合や、重み係数Ｋに影響するパラメータとの対応関係が複数記載されたテーブルに基づいて特定される場合があった。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、今回の加工データ値ｙ（ｉ）の算出タイミングと、前回の加工データ値ｙ（ｉ−１）の算出タイミングとの間の間隔（以下演算周期と記す）が一定でない場合、従来のような重み係数Ｋを用いたスムージングでは、ＣＲフィルタをうまく模すことができない。
【０００４】
図１０および図１１に、互いに重み係数Ｋが同じで演算周期が異なる２つの場合について、元データ値と加工データ値との間の関係を、時間（横軸）−データ値（縦軸）グラフとして示す。
【０００５】
図１０は、演算周期が０．０１秒、重み係数が０．９９５の場合についてのグラフであり、曲線５１が元データの時間変化を示し、曲線５２が加工データの時間変化を示す。重み係数の調整により、この加工データ５２の値は、時間パラメータ（緩和パラメータともいう）τ＝Ｃ（静電容量）＊Ｒ（抵抗値）＝２秒のＣＲフィルタに元データ５１が入力されたときの出力値と一致するようになっている。
【０００６】
図１１は、重み係数を０．９９５に保ったまま演算周期を０．０２秒に変えた場合についてのグラフであり、曲線５４が図１０の場合と同じ元データ５１に対するスムージング後の加工データの時間変化を示す。また、曲線５３は、時間パラメータτ＝２秒のＣＲフィルタに元データ５１が入力されたときの出力値の時間変化を示す曲線である。この図に示すように、加工データ５４は、時間パラメータτ＝２秒のＣＲフィルタ出力５３を模すことができなくなっている。
【０００７】
このように、従来のスムージングでは、ある演算周期に合わせて重み係数Ｋを調整すると、別の演算周期においてはＣＲフィルタを模すことができなくなるので、演算周期の時間変化に追従することができない。
【０００８】
本発明は上記点に鑑み、ＣＲフィルタを模すためのスムージングにおいて、演算周期の時間変化に追従することができるようにすることを第１の目的とする。
【０００９】
また、ＣＲフィルタは、元データの変化が加工データに遅れて表れるようになっている。マイコンでＣＲフィルタを模すときに、この遅れの程度を時間と共に変化させたい場合にも、従来技術のような方法で用意された重み係数を用いたスムージングでは、うまくマイコンでＣＲフィルタを模すことができない。
【００１０】
本発明は上記点に鑑み、ＣＲフィルタを模すためのスムージングが、加工データの元データに対する遅れ度合いの時間変化に追従することができるようにすることを第２の目的とする。
【課題を解決するための手段】
【００１１】
上記第１および第２の目的を達成するため、本発明は、時間パラメータτのＣＲフィルタの時系列順のｉ番目の出力値をｙ（ｉ）、時系列順の入力データのｉ番目の値をｕ（ｉ）とした場合、ｙ（ｉ）＝（１−ｅｘｐ［−Δｔ／τ］）×｛ｕ（ｉ−１）−ｙ（ｉ−１）｝＋ｙ（ｉ−１）という漸化式によって近似的に算出できるという事実を利用している（ただし、Δｔは演算周期）。
【００１２】
すなわち、上記第１の目的を達成する本発明の第１の特徴は、時間的に値が変化する元データを取得し、取得した元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録するデータ加工装置が、（１）この逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔと時間パラメータτとの比Δｔ／τの値を特定し、（２）この特定した比Δｔ／τの値がしきい値未満であることに基づいて、当該比Δｔ／τを用い、式−Σ［（−Δｔ／τ）ｎ／（ｎ！）］（ただしΣはｎの１から所定の自然数Ｎまでの総和記号）を算出し、その算出値を重み係数Ｋとして特定し、また、（３）当該比Δｔ／τの値が当該しきい値以上であることに基づいて、比Δｔ／τの値と式１−ｅｘｐ［−Δｔ／τ］の値との対応関係を複数個記憶する対応テーブルを用いて、当該特定した比Δｔ／τの値に対応する式１−ｅｘｐ［Δｔ／τ］の値を重み係数Ｋとして特定し、さらに（３）前回記録した加工データの値と元データの値との、上記（２）または（３）の方法で特定した重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出することである。
【００１３】
このように、（２）の方法で特定する重み係数Ｋは、Δｔ／τの関数として算出され、（３）の方法で特定する重み係数Ｋは、Δｔ／τと式１−ｅｘｐ［Δｔ／τ］との対応関係を反映したテーブルを参照することで特定されるので、ＣＲフィルタを模すためのスムージングにおいて、演算周期Δｔの時間変化に追従することができる。
【００１４】
また、（Δｔ／τ）があるしきい値（例えば０．３）以上である場合、（３）の方法を用いて重み係数Ｋを特定するようになっているので、（２）の方法を、式−Σ［（Δｔ／τ）ｎ／（ｎ！）］と式（１−ｅｘｐ［−Δｔ／τ）］との誤差が大きくなるほど（Δｔ／τ）が大きい場合に用いる場合に比べ、重み係数Ｋの特定精度が高まり、より正確にＣＲフィルタを模すことができる。
【００１５】
なお、（２）の方法においては、必ずしも厳密に式−Σ［（Δｔ／τ）ｎ／（ｎ！）］を算出する必要はなく、ＣＲフィルタを近似できるという特徴が維持される程度の変更が、式−Σ［（Δｔ／τ）ｎ／（ｎ！）］に加わった式を算出して重み係数Ｋを特定するようになっていてもよい。
【００１６】
また、（３）の方法においては、各対応テーブルは、必ずしも厳密に式１−ｅｘｐ［Δｔ／τ］のテーブルとなっておらずともよく、ＣＲフィルタを近似できるという特徴が維持される程度の変更が、式１−ｅｘｐ［Δｔ／τ］に加わった式のテーブルとなっていてもよい。
【００１７】
また、データ加工装置は、変数（Δｔ／τ）の特定において、逐次算出の時間間隔Δｔに影響する外部の物理量を検出するセンサからの信号に基づいて、時間間隔Δｔを特定するようになっていてもよい。このようになっていることで、外部の物理量の要請によって演算周期Δｔが変化するような場合にも、その演算周期Δｔの時間変化に追従してＣＲフィルタを模すことができる。
【００１８】
また、データ加工装置は、変数（Δｔ／τ）の特定において、時間パラメータτに影響する外部の物理量を検出するセンサからの信号に基づいて、時間パラメータτを特定するようになっていてもよい。このようになっていることで、外部の物理量の要請によってＣＲフィルタの遅れを特徴づける時間パラメータτが変化するような場合にも、その時間パラメータτの時間変化に追従してＣＲフィルタを模すことができる。
【００１９】
また、上記第１の目的を達成する本発明の第２の特徴は、時間的に値が変化する元データを取得し、取得した元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録するデータ加工装置が、（１）この逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔに影響する外部の物理量を検出するセンサからの信号に基づいて、時間間隔Δｔを特定すると共に、この時間間隔Δｔと時間パラメータτとの比Δｔ／τの値を特定し、（２）特定した比Δｔ／τを用い、式−Σ［（−Δｔ／τ）ｎ／（ｎ！）］（ただしΣはｎの１から所定の自然数Ｎまでの総和記号）を算出し、その算出値を重み係数Ｋとして特定し、（３）前回記録した加工データの値と元データの値との、当該特定した重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出することである。
【００２０】
このように、（２）の方法で特定する重み係数Ｋは、Δｔ／τの関数として算出されるので、ＣＲフィルタを模すためのスムージングにおいて、外部の物理量の要請によって演算周期Δｔが変化するような場合に、演算周期Δｔの時間変化に追従することができる。
【００２１】
また、上記第１の目的を達成する本発明の第３の特徴は、時間的に値が変化する元データを取得し、取得した元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録するデータ加工装置が、（１）この逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔと時間パラメータτとの比Δｔ／τの値を特定し、（２）比Δｔ／τの値と式１−ｅｘｐ［−Δｔ／τ］の値との対応関係を複数個記憶する対応テーブルを用いて、当該特定した比Δｔ／τの値に対応する式１−ｅｘｐ［Δｔ／τ］の値を重み係数Ｋとして特定し、（３）前回記録した加工データの値と元データの値との、当該特定した重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出することである。
【００２２】
このように、（２）の方法で特定する重み係数Ｋは、Δｔ／τと式１−ｅｘｐ［Δｔ／τ］との対応関係を反映したテーブルを参照することで特定されるので、ＣＲフィルタを模すためのスムージングにおいて、演算周期Δｔの時間変化に追従することができる。
【００２３】
また、上記第２の目的を達成する本発明の第４の特徴は、時間的に値が変化する元データを取得し、取得した元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録するデータ加工装置が、（１）元データに対する加工データの遅れを特徴付ける時間パラメータτに影響する外部の物理量を検出するセンサからの信号に基づいて、時間パラメータτを特定すると共に、上述の逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔを当該時間パラメータτで除算した比Δｔ／τの値を特定し、（２）特定した比Δｔ／τを用い、式−Σ［（−Δｔ／τ）ｎ／（ｎ！）］（ただしΣはｎの１から所定の自然数Ｎまでの総和記号）を算出し、その算出値を重み係数Ｋとして特定し、（３）前回記録した加工データの値と元データの値との、当該特定した重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出することである。
【００２４】
このように、（２）の方法で特定する重み係数Ｋは、Δｔ／τの関数として算出されるので、ＣＲフィルタを模すためのスムージングにおいて、外部の物理量の要請によってＣＲフィルタの遅れを特徴づける時間パラメータτが変化するような場合に、その時間パラメータτの時間変化に追従してＣＲフィルタを模すことができる。
【００２５】
また、上記第２の目的を達成する本発明の第５の特徴は、時間的に値が変化する元データを取得し、取得した元データを加工することによって、時間的に値が変化する加工データを時系列順に逐次算出および記録するデータ加工装置が、（１）元データに対する加工データの遅れを特徴付ける時間パラメータτに影響する外部の物理量を検出するセンサからの信号に基づいて、時間パラメータτを特定すると共に、上述の逐次算出における前回の算出時と今回の算出時との間の時間間隔Δｔを当該時間パラメータτで除算した比Δｔ／τの値を特定し、（２）比Δｔ／τの値と式１−ｅｘｐ［−Δｔ／τ］の値との対応関係を複数個記憶する対応テーブルを用いて、当該特定した比Δｔ／τの値に対応する式１−ｅｘｐ［Δｔ／τ］の値を重み係数Ｋとして特定し、（３）前回記録した加工データの値と元データの値との、当該特定した重み係数Ｋを用いた重み付き平均値を、今回の加工データの値として算出することである。
【００２６】
このように、（２）の方法で特定する重み係数Ｋは、Δｔ／τと式１−ｅｘｐ［Δｔ／τ］との対応関係を反映したテーブルを参照することで特定されるので、ＣＲフィルタを模すためのスムージングにおいて、外部の物理量の要請によってＣＲフィルタの遅れを特徴づける時間パラメータτが変化するような場合に、その時間パラメータτの時間変化に追従してＣＲフィルタを模すことができる。
【００２７】
また、上記本発明の第１〜第５の発明に係るデータ加工装置において、加工データの算出開始時における加工データの値を、加工データの算出開始時における元データの値と同じ値とするようになっていてもよい。このようにすることで、加工データの算出開始時における入力データと加工データの初期値のずれによって発生する誤差を低減することができる。
【００２８】
また、上記本発明の第１〜第５の特徴は、データ加工プログラムとしても捉えることができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の一実施形態について説明する。図１に、本実施形態に係る車両用のエンジンＥＣＵ１のハードウェア構成および他の装置との接続関係を示す。本実施形態においては、エンジンＥＣＵ１は、クランク角等のエンジン回転を表す物理量を検出すると共にそれを信号として出力する回転センサ２、エンジンへの空気流入量を検出すると共にそれを信号として出力するエアフローセンサ３、インテークマニホールド内の温度を検出すると共にそれを信号として出力する温度センサ４、インテークマニホールド内の気圧を検出すると共にそれを信号として出力する圧力センサ５等からの検出信号に基づいて、エンジンの点火時期、燃料噴射量等を算出し、その算出結果に基づいて、イグナイタ６およびインジェクタ７等のアクチュエータの制御を行うようになっている。
【００３０】
またエンジンＥＣＵ１は、各種センサ２〜５からの入力データのノイズを低減するために、それら入力データに対して、ＣＲフィルタを模したソフトウェア的なスムージングを行う。またエンジンＥＣＵ１は、各種センサ２〜５からの入力に基づいて算出した噴射量に対して遅延処理を施すために、その噴射量に対して、ＣＲフィルタを模したソフトウェア的なスムージングを行う。
【００３１】
このようなエンジンＥＣＵ１は、Ａ／Ｄコンバータ１１およびマイコン１２を有している。Ａ／Ｄコンバータ１１は、各種センサ２〜５から入力されたアナログ信号をデジタルの検出データに変換してマイコン１２に出力する。
【００３２】
マイコン１２は、ＲＯＭ１３、フラッシュメモリ１４、ＲＡＭ１５、およびＣＰＵ１６等を有している。ＣＰＵ１６は、ＲＯＭ１３またはフラッシュメモリ１４からプログラムを読み出して実行し、そのプログラムに記述された処理内容およびＡ／Ｄコンバータ１１からの検出データの内容に基づいた動作を行い、その動作において、適宜ＲＯＭ１３、フラッシュメモリ１４、ＲＡＭ１７から情報を読み出し、またフラッシュメモリ１４およびＲＡＭ１７に情報を書き込み、イグナイタ６およびインジェクタ７に制御信号を出力する。なお、ＣＰＵ１６がＲＯＭ１３から読み出すデータとしては、例えば後述する対応テーブル１３ａがある。
【００３３】
ＣＰＵ１６の具体的な動作としては、例えば、回転センサ２からの入力信号に基づいてエンジン回転数を特定し、そのエンジン回転に同期したタイミングで、繰り返し燃料噴射および点火のためのプログラムを実行することが挙げられる。
【００３４】
またＣＰＵ１６は、このエンジン回転に同期したタイミングで、エアフローセンサ３からの信号のノイズを除去するための図２に示すフィルタリングプログラム１００、および、燃料噴射量の遅延をシミュレートするための図３に示す遅延化プログラム２００を、繰り返し実行するようになっている。
【００３５】
ＣＰＵ１６は、フィルタリングプログラム１００の実行において、まずステップ１０５で、エアフローセンサ３が出力し、Ａ／Ｄコンバータ１１がデジタル化して現在出力している検出データを取得する。そしてこの取得したデータを配列変数ｕ（ｉ）に代入する。ここで、変数ｕ（ｉ）および変数ｉは、ＲＡＭ１５（またはフラッシュメモリ１４）に記憶されており、フィルタリングプログラム１００の実行開始、実行終了があっても変化しないような変数である。
【００３６】
続いてステップ１１０で、現在ノイズ除去を実行するか否かを判定する。ノイズ除去を実行するか否かは、例えば現在信号にノイズが付加されやすい状況にあるか否か、現在の処理付加が低いか高いか等によって判定する。なお、ノイズが付加されやすい状況としては、例えば車両が急加速している場合がある。ノイズ除去を実行しない場合は、続いてステップ１１５を実行し、実行する場合は、続いてステップ１２０を実行する。
【００３７】
ステップ１１５では、ＲＡＭ１５（またはフラッシュメモリ１４）中の変数ｉの値をゼロに設定し、その後フィルタリングプログラム１００の１回分の実行を終了する。
【００３８】
ステップ１２０では、変数ｉの値がゼロか否かを判定し、ゼロであれば続いてステップ１２５を実行し、ゼロでなければ続いてステップ１３０を実行する。なお、ステップ１１５の処理および後述するステップ１７０の処理に鑑みれば、ｉ＝０である場合とは、前回のフィルタリングプログラム１００の実行時にステップ１１０でノイズ除去を実行しないと判定し、今回のフィルタリングプログラム１００の実行時にステップ１１０でノイズ除去を実行すると判定した場合に相当する。すなわち、ｉ＝０であることは、今回ノイズ除去の開始時であることを意味する。
【００３９】
ステップ１２５では、ｙ（ｉ＝０）の値にｕ（ｉ＝０）の値を代入する。ここで、変数ｙ（ｉ）は、ノイズ除去後の加工データを時系列順に記録するための、ＲＡＭ１５（またはフラッシュメモリ１４）中の配列変数である。したがって、このステップ１２５では、加工データの初期値を、エアフローセンサ３からの検出データ、すなわち元データの初期値と同じにすることになる。なお、変数ｙ（ｉ）は、フィルタリングプログラム１００の実行開始、実行終了があっても変化しないような変数である。ステップ１２５に続いては、ステップ１７０を実行する。
【００４０】
ステップ１３０では、回転センサ２が出力し、Ａ／Ｄコンバータ１１がデジタル化して現在出力している検出データを取得する。
【００４１】
続いてステップ１３５では、演算周期Δｔを算出する。演算周期とは、加工データの値ｙ（ｉ）の前回の算出タイミングと今回の算出タイミングとの間の時間間隔である。また、加工データの値ｙ（ｉ）の算出は、フィルタリングプログラム１００の実行の度に行われるので、演算周期は、フィルタリングプログラム１００の前回の実行タイミングと今回の実行タイミングとの間の時間間隔Δｔであるとも言える。フィルタリングプログラム１００の実行タイミングは、エンジン回転に同期しているので、ステップ１３０によって取り込んだ回転センサ２からの信号に基づいて、この演算周期Δｔを算出することができる。
【００４２】
続いてステップ１４０では、対応テーブル１３ａまたはフラッシュメモリ１４にあらかじめ記憶されている時間パラメータτを読み出す。
【００４３】
続いてステップ１４５では、ステップ１３５の算出結果およびステップ１４５の読み出し結果に基づいて、比Δｔ／τを算出する。
【００４４】
ステップ１５０では、ステップ１４５で算出した比Δｔ／τが所定のしきい値０．３未満であるか否かを判定し、しきい値未満ならば続いてステップ１５５を実行し、しきい値以上ならば続いてステップ１６０を実行する。
【００４５】
ステップ１５５では、式（Δｔ／τ）×（１−０．５×（Δｔ／τ））を演算し、その演算結果を重み係数Ｋとする。なお、式（Δｔ／τ）×（１−０．５×（Δｔ／τ））は、式１−ｅｘｐ［−Δｔ／τ］の比Δｔ／τによるマクローリン展開の２次以下の項から成る式である。
【００４６】
ステップ１６０では、対応テーブル１３ａを検索することで、ステップ１４５で算出した比（Δｔ／τ）に対応する重み係数Ｋの値を特定する。対応テーブル１３ａは、比Δｔ／τの値と式１−ｅｘｐ［−Δｔ／τ］の値との対応関係を複数個記憶するデータである。
【００４７】
ステップ１５５および１６０に続いては、ステップ１６５で、前回のフィルタリングプログラム１００の実行時に算出した加工データの値ｙ（ｉ−１）と、前回のフィルタリングプログラム１００の実行時に取得した元データの値ｕ（ｉ−１）との、重み係数Ｋを用いた重み付き平均値Ｋ×｛ｕ（ｉ−１）−ｙ（ｉ−１）｝＋ｙ（ｉ−１）を、今回の加工データの値ｙ（ｉ）として、ＲＡＭ１５に記録する。ステップ１６５に続いては、ステップ１７０を実行する。
【００４８】
ステップ１７０では、変数ｉの値を１だけ増加させ、その後フィルタリングプログラム１００の実行を終了する。
【００４９】
なお、このようなフィルタリングプログラム１００の実行において、上記の変数ｉは、所定のタイミング（例えばｉ＝１０万となったとき等）で所定数（例えば１０）にリセットしてもよい。
【００５０】
以上のようなフィルタリングプログラム１００をＣＰＵ１６が繰り返し実行することで、エンジンＥＣＵ１は、エアフローセンサ３からの検出データ（元データに相当する）を逐次取り込み（ステップ１０５参照）、取り込む毎に、その時の回転センサ２からの検出データに基づいて演算周期Δｔを算出し（ステップ１３０、１３５参照）、さらに時間パラメータτを読み出し（ステップ１４０参照）、これらに基づいて比Δｔ／τを算出する（ステップ１４５参照）。そして、算出した比Δｔ／τが所定のしきい値未満の場合は、式（Δｔ／τ）（１−０．５（Δｔ／τ））を算出し、その算出値を重み係数Ｋとして特定し（ステップ１５５参照）、算出した比Δｔ／τが所定のしきい値以上の場合は、対応テーブル１３ａから算出した比Δｔ／τに対応する値を探し出し、その探し出した値を重み係数Ｋとする（ステップ１６０参照）。そして、前回のフィルタリングプログラム１００の実行時に算出した加工データの値ｙ（ｉ−１）と、前回のフィルタリングプログラム１００の実行時に取得した元データの値ｕ（ｉ−１）との、重み係数Ｋを用いた重み付き平均値を、今回の加工データの値ｙ（ｉ）とする（ステップ１６５参照）。
【００５１】
このように、比Δｔ／τがしきい値未満の場合の重み係数Ｋは、１−ｅｘｐ［Δｔ／τ］をΔｔ／τでマクローリン展開したΔｔ／τの関数として算出され、比Δｔ／τがしきい値以上の場合の重み係数Ｋは、Δｔ／τと式１−ｅｘｐ［Δｔ／τ］との対応関係を反映した対応テーブル１３ａテーブルを参照することで特定されるので、ＣＲフィルタを模すためのスムージングにおいて、外部の物理的要因や内部的要因による演算周期Δｔの時間変化に追従することができる。
【００５２】
また、時間パラメータτのＣＲフィルタの時系列順のｉ番目の出力値をｙ（ｉ）、時系列順の入力データのｉ番目の値をｕ（ｉ）とした場合、ｙ（ｉ）＝（１−ｅｘｐ［−Δｔ／τ］）｛ｕ（ｉ−１）−ｙ（ｉ−１）｝＋ｙ（ｉ−１）という漸化式によって近似的に算出できるので、（１−ｅｘｐ［−Δｔ／τ］）の近似値を重み係数Ｋとして用いることで、エンジンＥＣＵ１は精度よくＣＲフィルタを模すことができる。
【００５３】
図４に、エンジンＥＣＵ１のノイズ除去処理の、演算周期Δｔの変化に対する追従効果を説明するための、元データおよび加工データ等の時間（横軸）−データ値（縦軸）グラフを示す。図５中、曲線３１がノイズを含んだ元データの時間変化を示している。なお、このグラフの示す期間中においては、演算周期Δｔは、図５の時間（横軸）−演算周期（縦軸）グラフ中の曲線３５に示すように変化する。本実施形態のフィルタリングプログラム１００が実行されることによってエンジンＥＣＵ１が算出した加工データは、曲線３２に示すようなものとなる。この加工データの値は、曲線３４で示す実際のＣＲフィルタの出力値と、ほぼ合致している。一方、上述の重み係数Ｋを演算周期Δｔによらない定数として算出した加工データは、曲線３４のようになり、ＣＲフィルタ出力３４から大きくずれてしまう場合がある。
【００５４】
また、（Δｔ／τ）がしきい値以上である場合、マクローリン展開式ではなく対応テーブル１３ａを用いて重み係数Ｋを特定するようになっているので、式−Σ［（Δｔ／τ）ｎ／（ｎ！）］と式（１−ｅｘｐ［−Δｔ／τ）］との誤差が大きくなるほど比Δｔ／τが大きいときにもマクローリン展開式を用いる場合に比べ、重み係数Ｋの特定精度が高まり、より正確にＣＲフィルタを模すことができる。
【００５５】
図６〜図８に、このようなエンジンＥＣＵ１のノイズ除去処理による効果、すなわち演算周期が長くなっても精度よくＣＲフィルタを模すことができる効果、を説明するための、元データおよび加工データ等の時間（横軸）−データ値（縦軸）グラフを示す。これらの図においては、時間パラメータτは、いずれも２秒である。また、図６中の期間においては、演算周期は０．０１秒に固定されており、図７中の期間においては、演算周期は０．５秒に固定されており、図８中の期間においては、演算周期は１．０秒に固定されている。また、各図においては、曲線３６が元データを示し、曲線３７、３８、４１が本実施形態のエンジンＥＣＵ１の算出による加工データの値を示し、曲線３９、４２が、時間パラメータτが２秒の実際のＣＲフィルタの出力値を示している。
【００５６】
図６および図７の場合は、比Δｔ／τがしきい値よりも小さいので、ステップ１５５に示した多項式を用いて重み係数Ｋが算出される。この場合は比Δｔ／τが十分小さいので、図に示されるように、この多項式を用いた方法で精度よくＣＲフィルタを模すことができる。また、図８に示すように、比Δｔ／τが０．５と大きい場合には、多項式で近似せず対応テーブル１３ａを用いて重み係数Ｋを特定するので、演算周期Δｔが長くなるにつれて実際のＣＲフィルタの出力との乖離が激しくなるということがない。
【００５７】
なお、図７および図８には、参考のため、図６の場合において加工データ３７と一致するように一定の重み係数Ｋを設定した場合の加工データの値を、曲線４０および４３として示す。
【００５８】
またエンジンＥＣＵ１は、フィルタリング実行開始時には（ステップ１２０参照）、上記のステップ１３０〜１６５を実行する代わりに、加工データの初期値ｙ（０）を、元データの初期値ｕ（０）、すなわちその開始時において取得した元データの値と同じにする（ステップ１２５参照）。このようになっているので、加工データの算出開始時における入力データと加工データの初期値のずれによって発生する誤差を低減することができる。
【００５９】
この、初期値のずれによる誤差の低減効果を説明するために、図９に、ノイズ除去実行開始時の元データおよび加工データの時間（横軸）−データ値（縦軸）グラフを示す。こグラフ中の左端の時刻において、ノイズ除去の処理が始まっており、曲線４４が元データの値を示し、曲線４５が本実施形態のエンジンＥＣＵ１の算出による加工データの値を示し、曲線４６が、加工データの初期値ｙ（０）をゼロとする従来の方法による加工データの値を示している。なお、時刻ｔ１以前の時間帯においては、元データ４４および加工データ４５の曲線は一致している。
【００６０】
ノイズ除去開始時には、元データ４４の値が１となっている。このような場合、本実施形態においては、この場合、加工データ４５の初期値も同じく１に設定され、その後元データ４４が変化するまでは元データ４４と全く同じ値をとる。しかし、初期値をゼロとする従来の加工データ４６の場合、ノイズ除去開始時から元データと乖離しているので、従来の加工データ４６は、最初からその元データ４４に値を近づけるようにゆっくり変化してしまう。その結果、ノイズ除去開始当初は、元データ４４と加工データ４６との値やふるまいが大きく異なってしまう。
【００６１】
また、遅延化プログラム２００の実行において、ＣＰＵ１６は、まずステップ２０５で、ＣＰＵ１６の他の処理によって算出され、フラッシュメモリ１４またはＲＡＭ１５に記憶されている燃料噴射量を読み出す。そしてこの取得したデータを配列変数ｕ（ｉ）に代入する。ここで、変数ｕ（ｉ）および変数ｉは、ＲＡＭ１５（またはフラッシュメモリ１４）に記憶されており、遅延化プログラム２００の実行開始、実行終了があっても変化しないような変数である。
【００６２】
続いてステップ２１０で、遅延シミュレーションを行うか否かを判定する。遅延シミュレーションを実行するか否かは、例えば遅延シミュレーションを行う必要があるほど噴射量とエンジン内燃料量との間の遅延が大きいか否か、現在の処理付加が低いか高いか等によって判定する。ノイズ除去を実行しない場合は、続いてステップ２１５を実行し、実行する場合は、続いてステップ２２０を実行する。
【００６３】
ステップ２１５では、ＲＡＭ１５（またはフラッシュメモリ１４）中の変数ｉの値をゼロに設定し、その後遅延化プログラム２００の１回分の実行を終了する。
【００６４】
ステップ２２０では、フィルタリングプログラム１００のステップ１２０と同様、変数ｉの値がゼロか否かを判定し、ゼロであれば続いてステップ２２５を実行し、ゼロでなければ続いてステップ２３０を実行する。
【００６５】
ステップ２２５では、フィルタリングプログラム１００のステップ１２５と同様、ｙ（ｉ＝０）の値にｕ（ｉ＝０）の値を代入する。ステップ２２５に続いては、ステップ２７０を実行する。
【００６６】
ステップ２３０および２３５では、フィルタリングプログラム１００のステップ１３０および１３５と同様、回転センサ２からの検出データを取得し、それに基づいて演算周期Δｔを算出する。
【００６７】
続いてステップ２３８では、温度センサ４および圧力センサ５が出力し、Ａ／Ｄコンバータ１１がデジタル化して現在出力している検出データを取得する。
【００６８】
続いてステップ２４０では、ステップ２３８で取得した検出データ、すなわち、インテークマニホールド内の温度および圧力に基づいて、時間パラメータτを算出する。時間パラメータτが大きくなればなるほど遅延の効果は高くなるので、ここでは、取得したデータの示す温度が高ければ高いほど時間パラメータτが小さくなり、取得したデータの示す圧力が高ければ高いほど時間パラメータτが大きくなるような算出方法で、時間パラメータτを算出する。このように、温度センサ４および圧力センサ５は、時間パラメータτに影響する外部の物理量のセンサとして機能する。
【００６９】
続いてステップ１４５では、ステップ１３５の算出結果およびステップ１４５の読み出し結果に基づいて、比Δｔ／τを算出する。
【００７０】
ステップ２５０、２５５、２６０、２６５、および２７０の処理内容は、それぞれフィルタリングプログラム１００のステップ１５０、１５５、１６０、１６５、および１７０の処理内容と同等である。
【００７１】
なお、このような遅延化プログラム２００の実行において、上記の変数ｉは、所定のタイミング（例えばｉ＝１０万となったとき等）で所定数（例えば１０）にリセットしてもよい。
【００７２】
以上のような遅延化プログラム２００をＣＰＵ１６が繰り返し実行することで、エンジンＥＣＵ１は、燃料噴射量の算出結果のデータ（元データに相当する）を逐次取り込み（ステップ２０５）、取り込む毎に、その時の回転センサ２からの検出データに基づいて演算周期Δｔを算出し（ステップ２３０、２３５参照）、さらにその時の温度センサ４および圧力センサ５からの検出データに基づいて時間パラメータτを読み出し（ステップ２３８、２４０参照）、これらに基づいて比Δｔ／τを算出する（ステップ２４５参照）。そして、算出した比Δｔ／τが所定のしきい値未満の場合は、式（Δｔ／τ）×（１−０．５×（Δｔ／τ））を算出し、その算出値を重み係数Ｋとして特定し（ステップ２５５参照）、算出した比Δｔ／τが所定のしきい値以上の場合は、対応テーブル１３ａから算出した比Δｔ／τに対応する値を探し出し、その探し出した値を重み係数Ｋとする（ステップ２６０参照）。そして、前回の遅延化プログラム２００の実行時に算出した加工データの値ｙ（ｉ−１）と、前回の遅延化プログラム２００の実行時に取得した元データの値ｕ（ｉ−１）との、重み係数Ｋを用いた重み付き平均値を、今回の加工データの値ｙ（ｉ）とする（ステップ２６５参照）。
【００７３】
このようなエンジンＥＣＵ１の作動により、フィルタリングプログラム１００の実行による作動と同様、比Δｔ／τに依存する関数またはテーブルによって重み係数Ｋが特定されるＣＲフィルタを模すためのスムージングにおいて、外部の物理的要因や内部的要因による演算周期Δｔや時間パラメータτの時間変化に追従することができる。
【００７４】
また、フィルタリングプログラム１００の実行による作動と同様、式−Σ［（Δｔ／τ）ｎ／（ｎ！）］と式（１−ｅｘｐ［−Δｔ／τ）］との誤差が大きくなるほど（Δｔ／τ）が大きいときでもマクローリン展開式を用いる場合に比べ、重み係数Ｋの特定精度が高まり、より正確にＣＲフィルタを模すことができる。
【００７５】
またエンジンＥＣＵ１は、フィルタリング実行開始時には（ステップ２２０参照）、上記のステップ２３０〜２６５を実行する代わりに、加工データの初期値ｙ（０）を、元データの初期値ｕ（０）、すなわちその開始時において取得した元データの値と同じにする（ステップ２２５参照）。このようになっているので、加工データの算出開始時における入力データと加工データの初期値のずれによって発生する誤差を低減することができる。
【００７６】
なお、上記の実施形態において、エンジンＥＣＵ１がデータ加工装置に相当する。また、フィルタリングプログラム１００および遅延化プログラム２００が、データ加工プログラムに相当する。
【００７７】
またＣＰＵ１６が、フィルタリングプログラム１００のステップ１０５を実行することで元データ取得手段として機能し、ステップ１１０〜１７０を実行することで加工データ算出記録手段として機能し、ステップ１３０〜１４５を実行することで変数特定手段として機能し、ステップ１５５を実行することで第１重み係数特定手段として機能し、ステップ１６０を実行することで第２重み係数特定手段として機能し、ステップ１６５を実行することで算出手段として機能し、ステップ１５０〜１６０を実行することで重み係数特定手段として機能し、ステップ１２５を実行することで初期値設定手段として機能する。
【００７８】
またＣＰＵ１６が、遅延化プログラム２００のステップ２０５を実行することで元データ取得手段として機能し、ステップ２１０〜２７０を実行することで加工データ算出記録手段として機能し、ステップ２３０〜２４５を実行することで変数特定手段として機能し、ステップ２５５を実行することで第１重み係数特定手段として機能し、ステップ２６０を実行することで第２重み係数特定手段として機能し、ステップ２６５を実行することで算出手段として機能し、ステップ２５０〜２６０を実行することで重み係数特定手段として機能し、ステップ２２５を実行することで初期値設定手段として機能する。
（他の実施形態）
なお、上記の実施形態においては、対応テーブル１３ａがフラッシュメモリ１４内にあってもよいし、エンジンＥＣＵ１外から通信等によって取得するようになっていてもよい。
【００７９】
また、上記実施形態においては、エンジンＥＣＵ１は、比Δｔ／τの値としきい値との比較に基づいて、マクローリン展開式と対応テーブル１３ａを使い分けて重み係数Ｋを特定しているが、必ずしもこのようになっておらずともよい。例えば、比Δｔ／τの値によらず、常に対応テーブル１３ａを用いてもよい。また例えば、比Δｔ／τの値によらず、常にマクローリン展開式を用いてもよい。この場合は、マクローリン展開式のより高次の項を取り入れて重み係数Ｋを算出するようになっていてもよい。マクローリン展開式は、−Σ［（−Δｔ／τ）ｎ／（ｎ！）］（ただしΣはｎの１から所定の自然数Ｎまでの総和記号）のようになっていればよい。
【００８０】
また、ステップ１５０および２５０で比Δｔ／τと比較するしきい値は、変化しなくともよいし、各種条件に基づいて変動するようになっていてもよいし、ある範囲内でランダムに定められてもよい。
【００８１】
また、上実施形態では、演算周期Δｔは回転センサ２からの検出データに基づいて特定しているが、演算周期Δｔに影響する外部の物理量ならどのようなものでもよい。また、上記実施形態では、時間パラメータτは温度センサ４および圧力センサ５からの検出データに基づいて特定しているが、時間パラメータτに影響する外部の物理量ならどのようなものでもよい。
【００８２】
また、ノイズ除去を行う対象のデータとしては、エアフローセンサ３からの検出データである必要はなく、どのようなデータでもよい。また、遅延シミュレーションを行う対象のデータとしては、噴射量である必要はなく、どのようなデータでもよい。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施形態に係るエンジンＥＣＵ１のハードウェア構成および他の装置との接続関係を示す図である。
【図２】ＣＰＵ１６が実行するフィルタリングプログラム１００のフローチャートである。
【図３】ＣＰＵ１６が実行する遅延化プログラム２００のフローチャートである。
【図４】演算周期の変化がある中でのスムージング処理結果を示すグラフである。
【図５】演算周期の変化を示すグラフである。
【図６】演算周期が０．０１秒のときのスムージング処理結果を示すグラフである。
【図７】演算周期が０．５秒のときのスムージング処理結果を示すグラフである。
【図８】演算周期が１．０秒のときのスムージング処理結果を示すグラフである。
【図９】スムージング処理開始時のスムージング処理結果を示すグラフである。
【図１０】従来の方法によるノイズ除去処理結果を示すグラフである。
【図１１】従来の方法によるノイズ除去処理結果を示すグラフである。
【符号の説明】
【００８４】
１…エンジンＥＣＵ、２…回転センサ、３…エアフローセンサ、４…温度センサ、
５…圧力センサ、６…イグナイタ、７…インジェクタ、１１…Ａ／Ｄコンバータ、
１２…マイコン、１３…ＲＯＭ、１３ａ…対応テーブル、１４…フラッシュメモリ、
１５…ＲＡＭ、１６…ＣＰＵ、３１、３６、５１…元データ、
３２、３７、３８、４１、４３、５２、５４…加工データ、
３３、３９、４２、４４、５３…ＣＲフィルタ出力、
３４、４０、４３、４６…従来の加工データ、３５…演算周期データ、
１００…フィルタリングプログラム、２００…遅延化プログラム。
【図１】
2006234629.tif 000003
【図２】
2006234629.tif 000004
【図３】
2006234629.tif 000005
【図４】
2006234629.tif 000006
【図５】
2006234629.tif 000007
【図６】
2006234629.tif 000008
【図７】
2006234629.tif 000009
【図８】
2006234629.tif 000010
【図９】
2006234629.tif 000011
【図１０】
2006234629.tif 000012
【図１１】
2006234629.tif 000013