(57)【要約】【課題】吸気通路を流れる空気量を精度良く算出することができる空気量算出装置を提供すること。【解決手段】ＥＣＵ１０は、エンジンの吸気通路に設けられたエアフロメータ２４から検出信号を入力する。ＥＣＵ１０は、検出信号に含まれる高調波の影響を低減させる補正を行う。ＥＣＵ１０は、補正後の検出信号において極大値と極小値との間である中間範囲内の検出点を用い、空気量算出パラメータを取得する。より詳しくは、ＥＣＵ１０は、検出波形の基本周期の半分の時間間隔ごとに入力される検出信号の値と、基本周期を空気量算出パラメータとして取得する。そして、ＥＣＵ１０は、空気量算出パラメータに基づいて、空気量を算出する。【選択図】      図１
2018168803.tif 000002
【特許請求の範囲】
【請求項１】
エンジン（７０）の吸気通路（３１）に設けられた空気量センサ（２４）から検出信号を入力し、その検出信号に基づいて、前記吸気通路を流れる空気量を算出する空気量算出装置（１０）であって、
前記検出信号において極大値と極小値との間である中間範囲内の検出点を用い、空気量算出パラメータを取得する取得部（１４）と、
前記空気量算出パラメータに基づいて、前記空気量を算出する空気量算出部（１５）と、を備える空気量算出装置。
【請求項２】
前記取得部は、前記検出信号が前記中間範囲内の所定値を跨ぐタイミングを前記検出点とし、前後となる前記検出点の時間間隔を前記空気量算出パラメータとして取得し、
前記空気量算出部は、前記所定値と、前記検出点の時間間隔に基づいて前記空気量を算出する請求項１に記載の空気量算出装置。
【請求項３】
前記中間範囲内の所定値は、前記検出信号の脈動周期の半分の時間間隔で当該検出信号が前記所定値を跨ぐことになる振幅中央値であり、
前記取得部は、前記検出信号が前記振幅中央値を跨ぐタイミングを前記検出点とし、前後となる前記検出点の時間間隔を前記空気量算出パラメータとして取得する請求項２に記載の空気量算出装置。
【請求項４】
前記中間範囲内における中間値で前記検出信号の上昇変化時の検出点と下降変化時の検出点との時間間隔に基づいて、前記振幅中央値を設定する設定部（１０）を備える請求項３に記載の空気量算出装置。
【請求項５】
前記設定部は、前回の空気量算出時に用いた前記振幅中央値を参照して、今回の空気量算出時に用いる前記振幅中央値を設定する請求項４に記載の空気量算出装置。
【請求項６】
前記取得部は、前記中間範囲内において、前記検出信号の傾きが所定の傾きとなるタイミングを前記検出点とし、前後となる前記検出点の時間間隔を前記空気量算出パラメータとして取得し、
前記空気量算出部は、前記検出点における前記検出信号の値と、前記検出点の時間間隔に基づいて空気量を算出する請求項１に記載の空気量算出装置。
【請求項７】
前記取得部は、前記中間範囲内において、前記検出信号の傾きが最大となるタイミングを前記検出点とし、前後となる前記検出点の時間間隔を前記空気量算出パラメータとして取得する請求項６に記載の空気量算出装置。
【請求項８】
前記エンジンの回転数及び前記吸気通路に連結される気筒数に基づき、前記検出信号の基本周期を算出する周期算出部（１２）と、
前記周期算出部により算出された基本周期に基づき、前記検出信号から基本波以外の高調波を低減させる補正を行う補正部（１３）と、を備えた請求項１〜７のうちいずれか１項に記載の空気量算出装置。
【請求項９】
前記補正部は、前記検出信号と、当該検出信号の位相をシフトさせたものとを足し合わせることにより、前記検出信号から高調波を低減させる補正を行うように構成され、
前記シフトさせる位相は、前記基本周期と、低減させる高調波の次数に基づき、算出される請求項８に記載の空気量算出装置。
【請求項１０】
前記補正部は、前記基本波の基本周期に応じて減衰させる減衰周波数が設定されたフィルタを用いることにより、前記検出信号に含まれる高調波を低減させる補正を行う請求項８に記載の空気量算出装置。
【請求項１１】
前記検出信号のうち、所定周波数の成分を減衰させるフィルタ回路（１０）を備えた請求項１〜１０のうちいずれか１項に記載の空気量算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの吸気通路を流れる空気量を算出する空気量算出装置に関するものである。
【背景技術】
【０００２】
従来、エンジンの吸気通路には、吸気通路を流れる空気量（吸気流量）を検出するために空気量センサが配置されている。そして、例えば、空気量センサにより検出された平均空気量等に基づき、エンジン制御を実行していた。ところで、このような空気量センサの検出信号は、吸気脈動等の影響により、波形を示すことが知られている。そこで、特許文献１では、ピーク値に基づき算出される振幅値と平均値に基づき算出された閾値により、検出信号のピーク値をなす山部又は谷部の一部をカットし、カット後の検出信号に基づき吸気流量を算出していた。これにより、吸気流量の算出精度の向上を試みていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−４９１３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、検出信号が示す波形は、脈動等の影響により、基本波のほか、高調波が重畳し、乱れることが多い。特に、ピーク値をなす山部又は谷部において、ノイズが顕著となりやすい。
【０００５】
しかしながら、特許文献１では、ピーク値に基づき算出される振幅値と平均値に基づき、カットするための閾値を設定している。すなわち、誤差が大きくなりやすい振幅値に基づきカットするための閾値を設定することにより、カット後の検出信号も誤差の影響を受けやすくなっている。その結果、当該カット後の検出信号に基づき、吸気流量を算出しても、その算出精度を向上させることが難しかった。
【０００６】
本発明は、上記事情に鑑みてなされたものであり、吸気通路を流れる空気量を精度良く算出することができる空気量算出装置を提供することを主たる目的とするものである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明では、エンジンの吸気通路に設けられた空気量センサから検出信号を入力し、その検出信号に基づいて、前記吸気通路を流れる空気量を算出する空気量算出装置であって、前記検出信号において極大値と極小値との間である中間範囲内の検出点を用い、空気量算出パラメータを取得する取得部と、前記空気量算出パラメータに基づいて、前記空気量を算出する空気量算出部と、を備えることを要旨とする。
【０００８】
エンジンの吸気通路に設けられた空気量センサにおいては、吸気脈動に起因して検出信号が極大値と極小値との間で振幅する。また、空気量センサの検出信号には高調波の信号が重畳し、極大値や極小値においては高調波の信号による算出精度の低下が懸念される。この点、上記構成では、空気量センサの検出信号において極大値と極小値との間である中間範囲内の検出点を用いて空気量算出パラメータが取得され、その空気量算出パラメータに基づいて空気量が算出される。この場合、高調波の信号が重畳しやすい極大値や極小値を用いずに空気量が算出されるため、高調波の信号に起因する算出精度の低下を抑制できる。
【図面の簡単な説明】
【０００９】
【図１】エンジン制御システムの概略構成を説明する図。
【図２】検出信号の検出波形を示す図。
【図３】ＥＣＵの機能ブロックを説明する図。
【図４】算出処理を示すフローチャート。
【図５】（ａ）と（ｂ）は、検出信号の検出波形と検出点を示す図。
【図６】検出信号の検出波形を示す図。
【発明を実施するための形態】
【００１０】
以下、空気量算出装置が設けられるエンジン制御システムを例に、実施形態について説明を行う。なお、以下の実施形態相互において、互いに同一もしくは均等である部分には、図中、同一符号を付しており、同一符号の部分についてはその説明を援用する。
【００１１】
図１に示すエンジン制御システム１００は、エンジン７０と、吸気通路３１と、排気通路３６と、空気量算出装置としてのＥＣＵ１０と、を備えている。エンジン制御システム１００は、吸気通路３１を流れる空気量（以下、吸気流量と示す）に応じて、燃料の噴射量を変化させて、エンジン７０の出力を制御する。また、エンジン制御システム１００は、複数のセンサ群を備えており、各センサ群からの出力に基づいてエンジン７０の駆動を制御する。
【００１２】
エンジン７０は、シリンダヘッド６０と、シリンダブロック６１と、ピストン６２と、クランクシャフト６３と、を備えている。また、シリンダヘッド６０は、シリンダブロック６１の上方に配置されており、その内部には、吸気弁駆動装置５０と、点火プラグ５６と、が配置されている。シリンダブロック６１は、複数（本実施形態では３）のシリンダ６４を備え、各シリンダ６４には吸気ポート６５及び排気ポート６６が連通している。以下では、エンジン７０において、吸気通路３１側を上流とし、排気通路３６側を下流として記載する。吸気ポート６５には、燃料噴射弁５５が配置されている。
【００１３】
吸気弁駆動装置５０は、吸気弁５２を開弁状態と閉弁状態とに切り替え、吸気ポート６５と吸気通路３１との間の開閉を切り替える装置である。
【００１４】
燃料噴射弁５５は、不図示の燃料タンクから供給された燃料を噴射するための装置である。燃料噴射弁５５は、例えば、ソレノイド又は圧電素子等の駆動部により弁の開閉を切り替える。図１において、エンジン７０はポート噴射型であり、燃料噴射弁５５の先端側を吸気ポート６５に向けて配置している。なお、エンジン７０が筒内噴射型である場合、燃料噴射弁５５の燃料が噴射される先端側を、シリンダ６４に向けて配置することとなる。
【００１５】
ピストン６２は、シリンダ６４内に摺動可能に配置されている。また、クランクシャフト６３は、ピストン６２とコンロッドを介して回転可能に連結されており、ピストン６２の摺動に応じて回転する。また、クランクシャフト６３には、このクランクシャフト６３の回転に応じて回転するタイミングロータ６７が連結されている。このタイミングロータ６７の外周には、検出ギアが形成されている。
【００１６】
シリンダブロック６１の外側には、タイミングロータ６７の検出ギアを検出するクランク角センサ２８が取り付けられている。クランク角センサ２８は、タイミングロータ６７の検出ギアの検出に応じて、クランクシャフト６３の回転角を示すクランク角信号ＮＥを出力する。このクランク角信号ＮＥは、エンジン７０のクランク角［°ＣＡ］やエンジン７０の回転数［ｒｐｍ］の検出に使用される。
【００１７】
吸気通路３１は、主として外界から吸気された空気が流れる通路であり、上流側通路３２と、サージタンク３３と、吸気マニホールド３４と、を備えている。上流側通路３２は、上流側で図示しないエアクリーナを介して外界と繋がり、下流側の端でサージタンク３３に連通している。サージタンク３３は、下流側で気筒数に応じた吸気マニホールド３４と連通している。吸気マニホールド３４の下流側は、吸気ポート６５を介してシリンダ６４と連通している。
【００１８】
上流側通路３２には、空気量センサとしてエアフロメータ２４が設けられている。エアフロメータ２４は、吸気流量を物理量として検出し、吸気流量に応じた出力電圧の検出信号を出力する。エアフロメータ２４としては、例えば、熱線式を用いることができるが、これ以外にも、フラップ式やカルマン渦式を用いてもよい。
【００１９】
エアフロメータ２４の下流側には、モータ２５によって開度調節されるスロットルバルブ２６と、このスロットルバルブ２６の開度（スロットル開度）を検出するスロットル開度センサ２７とが設けられている。
【００２０】
排気通路３６は、シリンダ６４から排出される排気が流れる流路である。排気通路３６は、一端が排気ポート６６に連結され、他端が不図示のエキゾートマニホールドに連結されている。
【００２１】
ＥＣＵ１０は、ＣＰＵ等のマイクロコンピュータを主体として構成された電子制御ユニットであり、内蔵されたＲＯＭに記憶されている制御プログラムを用い、各種センサの検出信号に基づいてエンジン制御システム１００の各種制御を実施する。この実施形態では、ＥＣＵ１０は、燃料噴射量の設定や、点火プラグ５６の点火時期の制御を行う。燃料噴射量の設定では、ＥＣＵ１０は、エアフロメータ２４からの検出信号に基づいて、エンジン７０の運転状態に応じた燃料噴射量を算出する。
【００２２】
次に、図２を用いて、エアフロメータ２４の検出信号が示す検出波形について説明する。図２における波形Ｖ１が、エアフロメータ２４の検出信号が示す検出波形である。
【００２３】
エンジン７０の吸気行程では、吸気弁５２が開弁状態となり、また、ピストン６２の位置が上死点（ＴＤＣ）から下死点（ＢＤＣ）に向けて変化する。そのため、吸気通路３１内の空気が吸気ポート６５を介してシリンダ６４に吸気される（吸気流量が増加する）。一方、圧縮行程では、原則として、吸気弁５２が閉弁状態となるため、吸気流量が減少する。このため、吸気通路３１では、吸気脈動が生じることとなる。この吸気脈動により、検出信号は一定の周期を有する検出波形を示すこととなる。
【００２４】
また、吸気脈動は、吸気弁５２の開閉及び各ピストン６２の摺動に応じて周期的に生じるが、各ピストン６２の摺動により生じた吸気脈動が吸気通路３１の上流側（上流側通路３２、サージタンク３３）において時系列で合わさる。これにより、図２に示すようにエアフロメータ２４の検出信号が示す検出波形は、基本波に高調波が重畳した、一定の周期を有する波形を示すこととなる。
【００２５】
したがって、検出波形は、ピーク値（極大値及び極小値）の付近では、高調波の影響で歪みやすい（ノイズの影響を受けやすい）。一方、極大値と極小値との間である中間範囲内の検出信号のうち、振幅中央値（平均流量）を把握することができれば、吸気流量を算出することができる。そこで、検出波形において極大値と極小値との間である中間範囲内の検出信号（検出点）を用いることにより、空気量算出パラメータを取得し、その空気量算出パラメータに基づいて吸気流量（吸気通路３１に流れた空気量）を算出し、吸気流量の算出精度を向上させることとした。以下、詳しく説明する。
【００２６】
まず、図３を用いてＥＣＵ１０の機能ブロックを説明する。ＥＣＵ１０は、入力部１１と、周期算出部１２と、補正部１３と、取得部１４と、空気量算出部１５と、噴射量設定部１６と、を機能的に備えている。図３に示す各機能ブロックは、ＥＣＵ１０のＣＰＵがＲＯＭに記憶されたプログラムを実行することで実現される。
【００２７】
入力部１１は、所定周期ごと（例えば、数μｓｅｃごと）に、エアフロメータ２４の検出信号を入力する。周期算出部１２は、エンジン７０の回転数及び吸気通路３１に連結される気筒数（シリンダ６４の数、本実施形態では３）に基づき、検出信号が示す検出波形に含まれる基本波の周波数（基本周波数）及び基本周期を算出する。
【００２８】
補正部１３は、基本周期などを利用して、エアフロメータ２４の検出信号から、基本波以外の高調波の影響を低減させる補正を行う。取得部１４は、検出信号において極大値と極小値との間である中間範囲内の検出点を用い、空気量算出パラメータを取得する。その際、基本周期などを利用して、適切に中間範囲内の検出点を特定する。また、空気量算出部１５は、空気量算出パラメータに基づいて、吸気流量を算出する。
【００２９】
噴射量設定部１６は、空気量算出部１５により算出された吸気流量に基づいて、燃料噴射量を取得する。燃料噴射量は、燃料噴射弁５５が噴射する燃料量を設定する情報であり、燃料噴射弁５５に出力される。
【００３０】
次に、ＥＣＵ１０がエアフロメータ２４の検出信号に基づいて、吸気流量を算出する算出処理を、図４のフローチャートを用いて説明する。図４のフローチャートで示す算出処理は、例えば、所定周期（例えば、所定時間間隔）で繰り返し行われる処理である。所定周期は、例えば、脈動周期（基本周期）よりも十分に短い周期であり、エンジン７０の回転数及びシリンダ６４の数に基づき設定すればよい。
【００３１】
ステップＳ１１において、ＥＣＵ１０は、エアフロメータ２４の検出信号を入力する。ＥＣＵ１０は、フィルタ回路を備えており、エアフロメータ２４からフィルタ回路を介して検出信号を入力する。フィルタ回路は、具体的には、予め決められたカットオフ周波数の振幅を減衰させるＲＣフィルタである。減衰させるカットオフ周波数は、例えば、検出信号の利用周波数帯域や、サンプリング定理に基づき算出される周波数に応じて設定すればよい。検出信号の利用周波数帯域は、エンジン７０の回転数の上限、吸気通路３１に連結される気筒数（シリンダ６４の数、以下同じ）、及び重畳することが許容される高調波の次数に基づき算出される。なお、バンドパスフィルタを利用してもよい。
【００３２】
また、入力した検出信号を、ＥＣＵ１０に備えられたＲＡＭなどの記憶部に記憶させる。その際、少なくとも基本周期Ｔの１周期分に相当する期間における検出信号を記憶することが望ましい。
【００３３】
ステップＳ１２において、ＥＣＵ１０は、エンジン７０の現在の回転数と、気筒数とに基づき、吸気行程に応じた基本周波数及び基本周期を算出する。例えば、現在のエンジン７０の回転数Ｒ［ｒｐｍ］と気筒数Ｓを以下の数式（１）に適用することにより、基本周期Ｔ［ｓ］を算出する。なお、基本周期Ｔの逆数によって、基本周波数Ｈ［Ｈｚ］を算出する。算出された基本周期Ｔ及び基本周波数Ｈは、ＥＣＵ１０が備えるＲＡＭなどの記憶部に記憶される。
【数１】
2018168803.tif 000003
【００３４】
ステップＳ１３において、ＥＣＵ１０は、吸気流量を前回算出してから所定期間経過したか否かを判定する。なお、吸気流量を算出する処理は、ステップＳ１５以降の処理となるため、前回、ステップＳ１４の判定を肯定してから所定期間経過したか否かを判定しているともいえる。本実施形態における所定期間は、吸気行程の開始から終了までの期間であるが、任意に変更してもよい。例えば、吸気行程の開始から圧縮行程の終了までの期間であってもよいし、基本周期Ｔ又は基本周期Ｔの半分の周期を整数倍した期間であってもよい。また、吸気弁５２の開閉タイミングや、ピストン６２の摺動タイミングに基づき、期間を決定してもよい。前回吸気流量を算出してから所定期間経過した場合、ステップＳ１５に移行し、経過していなかった場合、処理を終了する。
【００３５】
ステップＳ１４において、ＥＣＵ１０は、例えば線形補間により、記憶されている検出信号の補間を行う。
ステップＳ１５において、ＥＣＵ１０は、検出信号から、基本波以外の高調波の影響を低減させる補正を行う。前述したように検出信号が示す検出波形は、基本波とその高調波が重畳した、一定の周期を有する波形（周期波）を示す。そこで、フーリエ変換の考えを応用すると、検出波形は、繰り返し周波数である基本波と、その整数倍の周波数を有する高調波を足し合わせたものといえる。言い換えると、検出波形は、繰り返し周波数である基本波と、その整数倍の周波数を有する高調波に分解することができる。なお、基本波に対する倍数を、高調波の次数（回転次数）と示す。また、検出波形（周期波）の面積（検出された空気量と時間の積）は、検出波形の定常成分の値と時間との積に一致する。つまり、定常成分の値は、平均流量と一致する。
【００３６】
一方、ある周期を有する正弦波と、当該正弦波を位相（τ）だけシフトしたものを足し合わせた場合、三角関数の合成を行うことにより、以下の数式（２）が成り立つ。ただし、数式（２）において、ｔは時間であり、Ｔは基本周期であり、ｎは次数であり、τはシフト時間である。
【００３７】
【数２】
2018168803.tif 000004
特に、シフトさせた位相（τ=Ｔ／２ｎ）であるときには、数式（２）が０となる。これは、位相（τ）が時間（Ｔ／２ｎ）だけずれると、当該正弦波が打ち消されることを示す。
【００３８】
そこで、ＥＣＵ１０は、検出信号と、当該検出信号の位相をシフトさせたものとを足し合わせることにより、検出信号から所定の高調波の影響（高調波の出力成分）を打ち消す補正を行うこととした。シフトさせる位相（τ）は、基本周期Ｔと、低減させる所定の高調波の次数ｎに基づき、算出される。
【００３９】
本実施形態では、次数が「２」の高調波を低減させる場合には、検出信号と、位相（τ）を時間（Ｔ／４）ずらした検出信号とを加算し、加算後の値を２で除算することにより、補正している。なお、定常成分の値を認識する必要があるため、２で除算する。つまり、２で除算するのは、定常成分の値が２倍となるからである。
【００４０】
次数が「３」の高調波を低減させる場合には、検出信号と、位相（τ）を時間（Ｔ／６）ずらした検出信号とを加算し、加算後の値を２で除算することにより、補正している。他の次数の高調波を低減させる場合も同様にして行う。これらの補正を、低減させる高調波の次数ごとに、繰り返し行う。本実施形態では、検出信号から所定（次数＝２，３，４）の高調波を低減させる補正を行うこととしている。
【００４１】
図２において、補正後の検出波形を示す。図２において、波形Ｖ２（破線）は、次数が「２」の高調波を低減させた検出信号の検出波形であり、波形Ｖ３（一点鎖線）は、次数が「２，３」の高調波を低減させた検出信号の検出波形であり、波形Ｖ４（二点鎖線）は、次数が「２，３，４」の高調波を低減させた検出信号の検出波形である。
【００４２】
ステップＳ１６において、ＥＣＵ１０は、補正後の検出信号において極大値と極小値との間である中間範囲内の検出点を用い、空気量算出パラメータを取得する。より詳しくは、検出信号が中間範囲内の所定値を跨ぐタイミングを検出点とし、所定値と、前後となる検出点の時間間隔を空気量算出パラメータとして取得する。本実施形態における所定値は、図５に示すように、検出信号の脈動周期（基本周期Ｔ）の半分の時間間隔（Ｔ／２）で当該検出信号が所定値を跨ぐことになる振幅中央値である。なお、振幅中央値が定常成分の値、すなわち、平均流量に相当する。
【００４３】
ステップＳ１６の処理についてより具体的に説明する。ＥＣＵ１０は、補正後の検出信号において、検出信号の中間範囲内の判定値を設定する。中間範囲とは、入力した検出信号のうち、振幅方向において、その値（電圧値）が、１０％〜９０％の範囲内に相当する値のことである。そして、ＥＣＵ１０は、判定値を検出波形が跨いだタイミングを検出点とする。本実施形態では、振幅中央値を所定値としているため、図５（ａ）に示すように、検出点間の時間間隔が、検出信号の脈動周期（基本周期Ｔ）の半分の時間間隔（Ｔ／２）と一致（又は略一致）した場合、検出信号が所定値を跨いだと判定する。すなわち、判定値を中間範囲内で変化させて得られる検出点間の時間間隔が、基本周期Ｔの半分の時間間隔と一致した場合に、検出信号が所定値を跨いだと判定する。
【００４４】
ステップＳ１６における処理は、上述した方法以外の方法にて行ってもよい。例えば、ステップＳ１６において、ＥＣＵ１０は、まず、２つの検出信号（検出点）の時間間隔が基本周期Ｔの半分の時間間隔（Ｔ／２）となる２つの検出信号の組み合わせをソート（特定）する。そして、ＥＣＵ１０は、特定した組み合わせのうち、組み合わせた検出信号の差（電圧差）が０（又は０付近の値）となった場合、検出信号が所定値を跨いだと判定してもよい。すなわち、基本周期Ｔの半分の時間間隔（Ｔ／２）で、同じ出力電圧の検出信号（検出点）を入力した場合、検出信号が所定値を跨いだと判定してもよい。この場合、同じ出力電圧の検出信号を入力した時点が、検出信号が所定値を跨いだと判定される時点となる。
【００４５】
また、例えば、ＥＣＵ１０は、同じ出力電圧の検出信号（検出点）を入力した時点を特定し、特定した２つの（差がない）検出信号の時間間隔と基本周期Ｔの半分の時間間隔（Ｔ／２）との差が０（又は０付近の値）となった場合、検出信号が所定値を跨いだと判定してもよい。
【００４６】
また、例えば、ＥＣＵ１０は、所定周期（算出処理の周期）ごとに入力した検出信号（検出点）を２つ１組とする。そして、ＥＣＵ１０は、すべて組み合わせ（２つの検出信号の組み合わせ）について、組み合わせごとに検出信号の差（電圧差）及び組み合わせた検出信号の時間間隔（入力した時間間隔）を特定する。そして、すべての組み合わせの中から、時間間隔が基本周期Ｔの半分の時間間隔と一致（又は略一致）し、検出信号の差が０（又は０付近の値）である組み合わせが存在した場合、検出信号が所定値を跨いだと判定してもよい。
【００４７】
基本周期Ｔは、エンジン７０の回転数及気筒数に基づき、精度よく算出可能である。このため、基本周期Ｔに基づき判定した場合、誤差の影響を受けにくくなる。また、基本周期Ｔの半分の時間間隔で、同じ出力電圧の検出信号（検出点）を入力した場合、当該検出信号は振幅中央値である。振幅中央値は、高調波が重畳しにくいため、ピーク値と比較して検出精度が高いと期待される値である。このため、吸気流量の算出精度を向上させることができる。
【００４８】
また、例えば、ＥＣＵ１０は、中間範囲内において、検出信号が示す検出波形の傾きが所定の傾きとなるタイミングを検出点とし、前後となる検出点の時間間隔を空気量算出パラメータとして取得してもよい。より詳しくは、ＥＣＵ１０は、中間範囲内において、検出信号が示す検出波形の傾きαが最大（若しくは最大付近の傾き）となるタイミングを検出点とし、当該タイミングにおける検出信号の値と、前後となる検出点の時間間隔を空気量算出パラメータとして取得してもよい。また、図５（ｂ）に示すように、ＥＣＵ１０は、検出信号が示す検出波形の傾きが最大（若しくは最大付近の傾き）となるタイミングを検出点とし、前後となる検出点の時間間隔が、基本周期Ｔの半分の時間間隔と一致（又はほぼ一致）した場合、検出信号が所定値を跨いだと判定してもよい。
【００４９】
傾き（単位時間当たりの変化量、すなわち、２値以上の値）に基づき判定した場合、所定値となったか否かを判定する場合と比較して、誤差の影響を受けにくい。また、傾きによりピーク値付近以外の検出点を適切に判断することができる。
【００５０】
いずれの場合でも、基本周期Ｔと、検出信号が所定値を跨いだと判定された時点において入力した検出信号の値（出力電圧又は出力電圧に応じた空気量）を空気量算出パラメータとして取得する。所定期間（ステップＳ１４における所定期間）内で、検出信号が所定値を跨いだと判定された時点（検出点）が複数ある場合、検出信号の値は、そのうちで最新の値であってもよいし、複数の値を平均した値であってもよい。また、基本周期Ｔの代わりに、所定期間や基本周期Ｔの半分の時間間隔を、空気量算出パラメータとして取得してもよい。
【００５１】
なお、ＥＣＵ１０は、中間範囲内における中間値で検出信号の上昇変化時（上昇している変化中の期間）の検出点と下降変化時（下降している変化中の期間）の検出点との時間間隔に基づいて、振幅中央値を設定し、当該振幅中央値を検出信号が跨いだか否かに基づき判定してもよい。その際、ＥＣＵ１０は、中間範囲内における中間値で検出信号の上昇変化時の検出点と、下降変化時の検出点との時間間隔が、基本周期Ｔの半分の時間間隔（Ｔ／２）と一致（又はほぼ一致）した場合、当該検出点における検出信号の値を振幅中央値として設定する。そして、基本周期Ｔと、振幅中央値を空気量算出パラメータとして取得してもよい。
【００５２】
ステップＳ１７において、ＥＣＵ１０は、取得した空気量算出パラメータに基づいて、吸気流量を算出する。具体的には、ＥＣＵ１０は、空気量算出パラメータとして取得した基本周期Ｔと、検出信号の値に応じて特定される空気量を乗算することにより、基本周期Ｔにおける吸気流量を算出する。すなわち、基本周期Ｔの半分の時間間隔（Ｔ／２）ごとに繰り返される検出信号の値は、振幅中央値であり、平均流量を特定することができる。このため、基本周期Ｔと、検出信号の値に応じて特定される空気量を乗算することにより、基本周期Ｔにおける吸気流量を算出することができる。なお、本実施形態では、基本周期Ｔにおける吸気流量を算出したが、所定期間（ステップＳ１４における所定期間）や基本周期Ｔの半分の時間間隔における吸気流量を算出してもよい。
【００５３】
ステップＳ１８において、ＥＣＵ１０は、算出された吸気流量に基づいて、燃料噴射量を設定する。例えば、ＥＣＵ１０は、ステップＳ１８で算出された吸気流量と、スロットル開度センサ２７からのスロットル開度とをもとに燃料噴射量を設定する。その後、ＥＣＵ１０は、設定した燃料噴射量に基づいて、燃料噴射弁５５を制御し、エンジン７０のシリンダ６４に燃料を噴射させる。
【００５４】
上記構成により、以下の効果を奏する。
【００５５】
エンジン７０の吸気通路３１に設けられたエアフロメータ２４においては、吸気脈動に起因して検出信号が極大値と極小値との間で振幅する。また、エアフロメータ２４の検出信号には高調波の信号が重畳し、極大値や極小値においては高調波の影響により検出精度の低下が懸念される。この点、上記構成では、エアフロメータ２４の検出信号において極大値と極小値との間である中間範囲内の検出点を用いて空気量算出パラメータが取得され、その空気量算出パラメータに基づいて吸気流量（空気量）が算出される。この場合、高調波の信号が重畳しやすい極大値や極小値を用いずに吸気流量が算出されるため、高調波の影響に起因する検出精度の低下を抑制できる。
【００５６】
エンジン７０においては運転状態が都度変化することから吸気通路３１を流れる吸気流量も都度変化する。この場合、検出信号の振幅中央値が変化するが、検出信号の上昇変化時の検出点と下降変化時の検出点との時間間隔に基づいて、振幅中央値を設定することにより、検出信号の振幅中央値を適正に設定できる。
【００５７】
空気量算出パラメータを取得する際、高調波を低減させる補正を行った後の検出信号に基づき、行うため、吸気流量の算出精度を向上させることができる。
【００５８】
ＥＣＵ１０は、検出信号と、当該検出信号の位相をシフトさせたものとを足し合わせることにより、検出信号から所定の高調波を低減させる補正を行う。所定の高調波のみを打ち消して、低減させることができるため、吸気流量の算出精度を向上させることができる。すなわち、ローパスフィルタを利用する場合、カットオフ周波数の信号成分は、すべて減衰させることとなるが、上記構成では、所定の高調波のみを打ち消すことができる。また、ローパスフィルタを利用する場合、カットオフ周波数の出力成分を減衰させるだけでなくすことはできないが、検出信号の位相をシフトさせたものを足し合わせる場合、所定の高調波の影響をなくすことができる。
【００５９】
ＥＣＵ１０は、所定周波数の成分を減衰させるフィルタ回路を介して入力した検出信号を用いる。これにより、ノイズを減衰させて、吸気流量の算出精度を向上させることができる。
【００６０】
ステップＳ１６において、吸気流量を算出する場合、入力した検出信号のうち、振幅方向におけるピーク値（極値）付近の値をカット（省略）した。中間範囲内における検出信号（検出点）を利用するため、カットしても算出精度に影響がない。また、無駄な計算が少なくなる。
【００６１】
（他の実施形態）
本発明は、上記実施形態に限定されず、例えば以下のように実施してもよい。なお、以下では、各実施形態で互いに同一又は均等である部分には同一符号を付しており、同一符号の部分についてはその説明を援用する。
【００６２】
・ステップＳ１６において、吸気流量を算出する場合、入力した検出信号のうち、振幅方向におけるピーク値（極値）付近の値をカット（省略）したが、カットしなくてもよい。例えば、入力した検出信号のうち、振幅方向におけるすべての値を判定値の対象としてもよい。
【００６３】
・ステップＳ１１において、検出信号を入力する際、フィルタ回路を介して入力したが、フィルタ回路を省略してもよい。
【００６４】
・ステップＳ１４において、検出信号の補間を行ったが、行わなくてもよい。
【００６５】
・ステップＳ１４において、検出信号の補間を行う際、中間範囲のみ補間するなど、一部だけ補間してもよい。
【００６６】
・ステップＳ１５における補正を行わなくてもよい。
【００６７】
・ステップＳ１５において、ＥＣＵ１０は、基本波の基本周期Ｔに応じて減衰させる減衰周波数を設定したフィルタ（例えば、デジタルローパスフィルタ）を用いることにより、検出信号に含まれる高調波を低減させる補正を行ってもよい。この場合、減衰周波数を、基本周波数に基づき算出される高調波の周波数に基づき、設定すればよい。その際、複数の次数の高調波を減衰させる場合、次数ごとに減衰周波数を設定したローパスフィルタを重ね掛けしてもよい。これにより、ローパスフィルタを利用することにより、減衰周波数以降の周波数はすべて減衰させることとなり、図６に示すように、フィルタを欠けるごとに振幅も小さくなる。しかしながら、中間範囲内における値は保たれるため、吸気流量を算出することができる。なお、図６において、波形Ｖ２０（破線）は、次数が「２」の高調波を低減させた検出信号の検出波形であり、波形Ｖ３０（一点鎖線）は、次数が「２，３」の高調波を低減させた検出信号の検出波形であり、波形Ｖ４０（二点鎖線）は、次数が「２，３，４」の高調波を低減させた検出信号の検出波形である。
【００６８】
・ＥＣＵ１０が、入力部１１と、周期算出部１２と、補正部１３と、取得部１４と、空気量算出部１５と、噴射量設定部１６をすべて備えたが、複数の制御装置に機能を分担させてもよい。例えば、エアフロメータ２４に制御装置を設け、当該制御装置に、ＥＣＵ１０の機能の一部又は全部を設けてもよい。
【００６９】
・基本周期及び基本周波数を算出する場合、入力した検出信号の周期性を仮定して、特定してもよい。つまり、同じ値が同じ傾きで繰り返される間隔が、基本周期であるとしてもよい。特に、エンジン回転速度と気筒数が不明である場合に有効となる。
【００７０】
・ステップＳ１２における基本周波数及び基本周期を算出する処理の実行タイミングは、任意に変更してもよい。例えば、ステップＳ１３の判定結果が肯定の場合に、実行してもよく、算出処理が実行されるタイミング以外のタイミングで算出してもよい。
【００７１】
・ステップＳ１１において利用されるフィルタ回路のカットオフ周波数を設定する場合、サンプリング定理に基づき算出されたカットオフ周波数と、検出信号の利用周波数帯域のうち、最小値に基づき設定してもよい。
【００７２】
・エンジン７０の回転数に基づき、基本周期及び基本周波数を算出したが、クランク角信号ＮＥやエンジン７０の回転速度に基づき、基本周期、基本周波数を算出してもよい。
【００７３】
・算出処理が実行される所定周期は、クランク角が所定角度進行するごとに実行してもよい。この場合、検出信号は、所定のクランク角度ごとに入力されることとなる。
【００７４】
・サンプリング定理に基づき、ステップＳ１１において利用されるフィルタ回路のカットオフ周波数を設定する場合、検出信号を所定時間間隔で入力（サンプリング）している場合には、当該所定時間間隔に基づき、カットオフ周波数を設定すればよい。一方、検出信号を所定角度（クランク角度）間隔で入力（サンプリング）している場合には、所定角度間隔に基づき、カットオフ周波数を設定すればよい。なお、所定角度間隔は、エンジン７０の回転数の下限及びエンジン７０の１回転あたりのクランク角度に基づき、最も遅いサンプリング間隔を算出し、当該サンプリング間隔でカットオフ周波数を算出することが望ましい。
【００７５】
・図４のステップＳ１６において、所定値を振幅中央値としたが、所定値は、中間範囲内であれば、任意に変更してもよい。その際、検出信号が中間範囲内の所定値を跨ぐタイミングを検出点とし、前後となる検出点の時間間隔に基づき、吸気流量を算出することとなる。例えば、所定値と、前後となる検出点の時間間隔の割合に基づき、振幅中央値を推定し、吸気流量を算出してもよい。
【００７６】
・ＥＣＵ１０は、前回の空気量算出時に用いた振幅中央値を参照して、今回の空気量算出時に用いる振幅中央値を設定してもよい。例えば、図４のステップＳ１６において、前回の空気量算出時に用いた振幅中央値を所定値として検出点を特定し、前後となる検出点の時間間隔に基づき、今回の空気量算出時に用いる振幅中央値を設定すればよい。具体的には、前後となる検出点の時間間隔の割合に基づき、振幅中央値を調整すればよい。このようにすれば、振幅中央値を算出する場合に、その候補となる値を絞り込むことができ、演算負荷を軽減できる。なお、エンジン７０の回転数が安定している定常状態であることを条件に、前回算出した振幅中央値をそのまま利用してもよい。
【符号の説明】
【００７７】
１０…ＥＣＵ、１４…取得部、１５…空気量算出部、２４…エアフロメータ、３１…吸気通路、７０…エンジン。
【図１】
2018168803.tif 000005
【図２】
2018168803.tif 000006
【図３】
2018168803.tif 000007
【図４】
2018168803.tif 000008
【図５】
2018168803.tif 000009
【図６】
2018168803.tif 000010