(57)【要約】【課題】内燃機関の気筒間の吸入空気量ばらつき率を精度良く検出する。【解決手段】各気筒の吸気行程毎にエアフローメータ１４の出力波形（吸入空気量）の所定期間の面積を算出し、この面積に基づいて気筒間の吸入空気量ばらつき率を算出した後、この気筒間吸入空気量ばらつき率に基づいて吸気バルブリフト量を補正して、気筒間の吸入空気量のばらつきを補正する。この場合、エアフローメータ１４の出力波形の面積を算出する期間は、吸気脈動の反射波や他気筒の吸気干渉の影響を受けにくい期間、具体的には、吸入空気量の極大値を含む期間に設定したり、吸気バルブの開弁期間に設定したり、或は、吸入空気量が平均値以上となる期間に設定しても良い。尚、吸気バルブの開弁期間に設定する場合は、エアフローメータ１４の検出遅れ時間を考慮して、面積を算出する期間を設定すると良い。【選択図】  図１
2004176644.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を有する内燃機関の吸気管を流れる吸入空気量、吸気管圧力、筒内圧の少なくとも１つを検出する検出手段と、
各気筒の吸気行程毎又は圧縮行程毎に前記検出手段の出力波形の所定期間の面積を算出する面積算出手段と、
各気筒の前記所定期間の面積に基づいて気筒間の吸入空気量ばらつき率又は気筒別吸入空気量を算出する気筒間吸入空気量ばらつき算出手段と
を備えていることを特徴とする内燃機関の気筒別吸入空気量検出装置。
【請求項２】
前記検出手段は、前記吸入空気量又は吸気管圧力を検出し、前記面積算出手段は、前記所定期間を吸気脈動の反射波又は他気筒の吸気干渉の影響を受けにくい期間に設定することを特徴とする請求項１に記載の内燃機関の気筒別吸入空気量検出装置。
【請求項３】
前記面積算出手段は、前記所定期間を吸入空気量の極大値を含む期間又は吸気管圧力の極小値を含む期間に設定することを特徴とする請求項２に記載の内燃機関の気筒別吸入空気量検出装置。
【請求項４】
前記面積算出手段は、前記所定期間を吸気バルブの開弁期間に設定することを特徴とする請求項２又は３に記載の内燃機関の気筒別吸入空気量検出装置。
【請求項５】
前記面積算出手段は、前記所定期間を前記検出手段の検出遅れを考慮して設定することを特徴とする請求項２乃至４のいずれかに記載の内燃機関の気筒別吸入空気量検出装置。
【請求項６】
前記面積算出手段は、前記所定期間を吸入空気量が平均値以上となる期間又は吸気管圧力が平均値以下となる期間に設定することを特徴とする請求項２又は３に記載の内燃機関の気筒別吸入空気量検出装置。
【請求項７】
前記検出手段は、筒内圧を検出し、
前記面積算出手段は、前記所定期間を点火タイミング前に設定することを特徴とする請求項１に記載の内燃機関の気筒別吸入空気量検出装置。
【請求項８】
前記面積算出手段は、燃料カット期間中又はクランキング時に、前記所定期間を筒内圧の極大値を含む期間に設定することを特徴とする請求項７に記載の内燃機関の気筒別吸入空気量検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、気筒間の吸入空気量ばらつき率又は気筒別吸入空気量を検出する内燃機関の気筒別吸入空気量検出装置に関するものである。
【０００２】
【従来の技術】
一般に、複数気筒の内燃機関では、各気筒の吸気マニホールド形状の違いや、吸気バルブのバルブクリアランスのばらつき等によって各気筒の吸入空気量（筒内充填空気量）にばらつきが生じる。このような気筒間の吸入空気量ばらつきは、各気筒のトルクや空燃比にばらつきを生じさせる原因となる。気筒間のトルクばらつきが大きくなると、エンジントルクのサイクル内変動が大きくなって、運転者に不快な振動が発生するおそれがある。また、気筒間の空燃比ばらつきが大きくなると、触媒に流入する排出ガスの空燃比のサイクル内変動が大きくなるため、排出ガスの空燃比の変動幅が触媒の浄化ウインドからはみ出して排出ガス浄化率が低下するおそれがある。
【０００３】
これらの対策として、気筒間のトルクばらつきや空燃比ばらつきを補正する方法が幾つか提案されている。例えば、特許文献１（特開昭６２−１７３４２号公報）に示すように、クランク軸に設けたトルクセンサで各気筒毎にトルクを検出して、各気筒のトルクが全気筒の平均トルクになるように各気筒毎に燃料噴射量を補正するようにしたものがある。
【０００４】
また、特許文献２（特開２０００−２２０４８９号公報）に示すように、排気管に設置した空燃比センサの出力に基づいて各気筒の空燃比を推定し、気筒間の空燃比ばらつきが小さくなるように各気筒毎に燃料噴射量を補正するようにしたものがある。
【０００５】
一般に、吸入空気量の制御はスロットルバルブによって行われるが、最近では、吸気バルブのリフト量を可変する可変吸気バルブ機構を設け、アクセル開度やエンジン運転状態等に応じて吸気バルブのリフト量を可変することで吸入空気量を制御する技術が開発されている。この可変吸気バルブ制御による吸入空気量制御は、吸気バルブのリフト量を小さくすることによって、吸気通路をスロットルバルブで絞ることなく吸入空気量を少なくすることができるので、ポンピングロスを低減して燃費を向上させることができるという利点がある。
【０００６】
しかし、可変吸気バルブ制御による吸入空気量制御では、低負荷時に吸気バルブのリフト量が小さくなるため、各気筒で目標リフト量に対する実リフト量のばらつき（各気筒の部品公差や組付公差によるばらつき）の割合が大きくなって、気筒間の吸入空気量ばらつきが大きくなる傾向がある。このため、気筒間の吸入空気量ばらつきの影響を受けて各気筒のトルクや空燃比が変動し易く、気筒間のトルクばらつきや空燃比ばらつきが大きくなる傾向がある。
【０００７】
【特許文献１】
特開昭６２−１７３４２号公報（第２頁等）
【特許文献２】
特開２０００−２２０４８９号公報（第２頁〜第３頁等）
【０００８】
【発明が解決しようとする課題】
ところで、上記特許文献１、２では、各気筒毎にトルクや空燃比を検出して、その検出結果に基づいて各気筒毎に燃料噴射量を補正することで、各気筒のトルクばらつきや空燃比ばらつきを補正するようにしている。しかし、気筒間の吸入空気量ばらつきが大きくなると、単に燃料噴射量を補正するだけでは、各気筒のトルクばらつきや空燃比ばらつきを十分な精度で補正することは困難である。しかも、気筒間の吸入空気量ばらつきや吸入燃料量ばらつき等の複数の要因が絡み合って気筒間のトルクばらつきや空燃比ばらつきが発生している場合も、十分な精度で補正することは困難である。
【０００９】
従って、気筒のトルクばらつきや空燃比ばらつきを十分な精度で補正するためには、気筒間の吸入空気量ばらつきを補正する機能を持たせることが望ましいが、これを実現するためには、気筒間の吸入空気量ばらつきを精度良く検出する技術を開発する必要がある。
【００１０】
そこで、本発明者らは、吸気管を流れる吸入空気量を検出するエアフローメータや、吸気管圧力を検出する吸気管圧力センサの出力を用いて気筒間の吸入空気量ばらつきを検出する技術を研究しているが、エアフローメータや吸気管圧力センサは、吸気脈動の反射波や他気筒の吸気干渉の影響を受ける吸気管集合部に設置されているため、エアフローメータや吸気管圧力センサの出力波形には、吸気脈動の反射波や他気筒の吸気干渉によるノイズ成分が含まれる。従って、エアフローメータや吸気管圧力センサの出力から気筒間の吸入空気量ばらつきを精度良く検出するためには、吸気脈動の反射波や他気筒の吸気干渉の影響を排除する必要がある。
【００１１】
本発明はこれらの事情を考慮してなされたものであり、従ってその目的は、気筒間の吸入空気量ばらつき率又は気筒別吸入空気量を精度良く検出できる内燃機関の気筒別吸入空気量検出装置を提供することにある。
【００１２】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１の内燃機関の気筒別吸入空気量検出装置は、複数の気筒を有する内燃機関の吸気管を流れる吸入空気量、吸気管圧力、筒内圧の少なくとも１つを検出手段により検出し、各気筒の吸気行程毎又は圧縮行程毎に前記検出手段の出力波形の所定期間の面積を面積算出手段により算出する。そして、気筒の前記所定期間の面積に基づいて気筒間の吸入空気量ばらつき率又は気筒別吸入空気量を気筒間吸入空気量ばらつき算出手段により算出する。
【００１３】
ここで、検出手段の出力波形の面積を算出する理由は、検出手段の出力の瞬時値を用いる場合よりも出力波形の面積を用いた方がノイズ等の影響を少なくできるためである。また、出力波形の面積を算出する期間を“所定期間”に限定する理由は、出力波形の面積を算出する期間を誤差要因の少ない期間に限定するためである。
【００１４】
例えば、吸入空気量又は吸気管圧力を検出する場合は、請求項２のように、検出手段の出力波形の面積を算出する所定期間を、吸気脈動の反射波又は他気筒の吸気干渉の影響を受けにくい期間に設定することが好ましい。このようにすれば、吸入空気量又は吸気管圧力を検出する検出手段が吸気脈動の反射波や他気筒の吸気干渉の影響を受ける吸気管集合部に設置されている場合でも、検出手段の出力波形の面積を吸気脈動の反射波や他気筒の吸気干渉の影響を受けにくい期間についてのみ算出することができ、その面積を用いて気筒間の吸入空気量ばらつき率又は気筒別吸入空気量を精度良く算出することができる。
【００１５】
一般に、吸入空気量が極大となる（吸気管圧力が極小となる）ときに、他気筒の吸気干渉の影響を最も受けにくいため、請求項３のように、前記所定期間を吸入空気量の極大値を含む期間又は吸気管圧力の極小値を含む期間に設定するようにしても良い。このようにすれば、検出手段の出力波形の面積を他気筒の吸気干渉の影響を受けにくい期間についてのみ算出することができる。
【００１６】
また、吸気バルブの開弁期間内に吸入空気量の極大点（吸気管圧力の極小点）が存在することを考慮して、請求項４のように、前記所定期間を吸気バルブの開弁期間に設定するようにしても良い。このようにすれば、設計・開発段階で、運転領域毎に所定期間を設定する必要がなくなり、適合工数を削減することができる利点がある。この場合、前記所定期間を吸気バルブの開弁期間のうち他気筒の吸気干渉波よりも吸入空気量が大きい期間に設定するようにしても良い。このようにすれば、検出手段の出力波形の面積を他気筒の吸気干渉の影響を受けにくい期間についてのみ算出することができる。
【００１７】
また、吸気管内を流れる吸入空気が検出手段の周辺を通過してから実際に気筒内に吸入されるまでに時間的な遅れ（検出手段の検出遅れ）があるため、請求項５のように、前記所定期間を検出手段の検出遅れを考慮して設定するようにすると良い。このようにすれば、検出手段の検出遅れによる精度低下の問題を回避することができる。
【００１８】
また、請求項６のように、前記所定期間を吸入空気量が平均値以上となる期間又は吸気管圧力が平均値以下となる期間に設定するようにしても良い。このようにすれば、前記請求項４の場合と同じく、設計・開発段階で、運転領域毎に所定期間を設定する必要がなくなり、適合工数を削減することができる利点がある。
【００１９】
また、本発明は、筒内圧を検出して、筒内圧の検出波形の所定期間の面積を算出するようにしても良いが、この場合は、請求項７のように、筒内圧の検出波形の面積を算出する所定期間を点火タイミング前に設定することが望ましい。点火前の筒内圧は筒内充填空気の圧縮圧力であるが、点火後の筒内圧は、燃焼圧によって増大するため、点火後の筒内圧から筒内充填空気量の情報を取り出すことは困難である。従って、筒内圧の検出波形の面積を算出する所定期間を点火タイミング前に設定することが望ましく、それによって、筒内圧の検出波形の面積を算出する期間を誤差要因の少ない期間に限定することができる。
【００２０】
この場合、請求項８のように、燃料カット期間中又はクランキング時には前記所定期間を筒内圧の極大値を含む期間に設定すると良い。燃料カット期間中やクランキング時には、筒内で燃焼が発生しておらず、筒内圧の極大値が筒内充填空気の最大圧縮圧力であるため、筒内圧の極大値を含む期間に筒内圧の検出波形の面積を算出すれば、算出精度を向上させることができる。
【００２１】
【発明の実施の形態】
《実施形態（１）》
以下、本発明の実施形態（１）を図１乃至図１４に基づいて説明する。まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関である例えば４気筒のエンジン１１は、第１気筒＃１〜第４気筒＃４の４つの気筒を有し、このエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４（検出手段）が設けられている。このエアフローメータ１４は、吸入空気の逆流も検出可能なエアフローメータが用いられている。エアフローメータ１４の下流側には、ＤＣモータ等によって開度調節されるスロットルバルブ１５とスロットル開度を検出するスロットル開度センサ１６とが設けられている。
【００２２】
更に、スロットルバルブ１５の下流側には、サージタンク１７が設けられ、このサージタンク１７には、吸気管圧力を検出する吸気管圧力センサ１８（検出手段）が設けられている。また、サージタンク１７には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が設けられ、各気筒の吸気マニホールド１９の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２０が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２１が取り付けられ、各点火プラグ２１の火花放電によって筒内の混合気に着火される。
【００２３】
また、エンジン１１の吸気バルブ２８と排気バルブ２９には、それぞれバルブリフト量を可変する可変バルブリフト機構３０，３１が設けられている。更に、吸気バルブ２８と排気バルブ２９に、それぞれバルブタイミング（開閉タイミング）を可変する可変バルブタイミング機構を設けるようにしても良い。尚、排気バルブ２９には、可変バルブリフト機構３１を設けずに、可変バルブタイミング機構のみを設けるようにしても良い。
【００２４】
一方、エンジン１１の排気管２２には、排出ガス中のＣＯ，ＨＣ，ＮＯｘ等を浄化する三元触媒等の触媒２３が設けられ、この触媒２３の上流側に、排出ガスの空燃比を検出する空燃比センサ２４が設けられている。また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２５や、エンジン１１のクランク軸が一定クランク角（例えば３０℃Ａ）回転する毎にパルス信号を出力するクランク角センサ２６が取り付けられている。このクランク角センサ２６の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００２５】
これら各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）２７に入力される。このＥＣＵ２７は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２０の燃料噴射量や点火プラグ２１の点火時期を制御する。
【００２６】
次に、図２に基づいて吸気バルブ２８の可変バルブリフト機構３０の構成を説明する。尚、排気バルブ２９の可変バルブリフト機構３１は、吸気バルブ２８の可変バルブリフト機構３０と実質的に同一構成であるため、説明を省略する。
【００２７】
図２に示すように、吸気バルブ２８を駆動するためのカムシャフト３２とロッカーアーム３３との間に、リンクアーム３４が設けられ、このリンクアーム３４の上方に、ステッピングモータ等のモータ４１で回動駆動されるコントロールシャフト３５が設けられている。コントロールシャフト３５には、偏心カム３６が一体的に回動可能に設けられ、この偏心カム３６の軸心に対して偏心した位置に、リンクアーム３４が支持軸（図示せず）を介して揺動可能に支持されている。このリンクアーム３４の中央部には、揺動カム３８が設けられ、この揺動カム３８の側面が、カムシャフト３２に設けられたカム３７の外周面に当接している。また、リンクアーム３４の下端部には、押圧カム３９が設けられ、この押圧カム３９の下端面が、ロッカーアーム３３の中央部に設けられたローラ４０の上端面に当接している。
【００２８】
これにより、カムシャフト３２の回転によってカム３７が回転すると、そのカム３７の外周面形状に追従してリンクアーム３４の揺動カム３８が左右に移動して、リンクアーム３４が左右に揺動する。リンクアーム３４が左右に揺動すると、押圧カム３９が左右に移動するため、押圧カム３９の下端面形状に応じてロッカーアーム３３のローラ４０が上下に移動して、ロッカーアーム３３が上下に揺動する。このロッカーアーム３３の上下動によって吸気バブル２８が上下動するようになっている。
【００２９】
一方、コントロールシャフト３５の回転によって偏心カム３６が回転すると、リンクアーム３４の支持軸の位置が移動して、リンクアーム３４の押圧カム３９とロッカーアーム３３のローラ４０との初期の接触点位置が変化する。また、リンクアーム３４の押圧カム３９の下端面は、左側部分にロッカーアーム３３の押圧量が０（吸気バルブ２８のバルブリフト量が０）となるような曲率でベース曲面３９ａが形成され、このベース曲面３９ａから右方に向かうに従ってロッカーアーム３３の押圧量が大きくなる（吸気バルブ２８のバルブリフト量が大きくなる）ような曲率で押圧曲面３９ｂが形成されている。
【００３０】
吸気バルブ２８のバルブリフト量を大きくする高リフトモードの場合には、コントロールシャフト３５の回転によってリンクアーム３４の押圧カム３９とロッカーアーム３３のローラ４０との初期の接触点位置を右方に移動させる。これにより、カム３７の回転によって押圧カム３９が左右に移動したときに押圧カム３９の下端面のうちローラ４０に接触する区間が右方に移動するため、ロッカーアーム３３の最大押圧量が大きくなって吸気バルブ２８の最大バルブリフト量が大きくなると共に、ロッカーアーム３３が押圧される期間が長くなって吸気バブル２８の開弁期間が長くなる。
【００３１】
一方、吸気バルブ２８のバルブリフト量を小さくする低リフトモードの場合には、コントロールシャフト３５の回転によってリンクアーム３４の押圧カム３９とロッカーアーム３３のローラ４０との初期の接触点位置を左方に移動させる。これにより、カム３７の回転によって押圧カム３９が左右に移動したときに押圧カム３９の下端面のうちローラ４０に接触する区間が左方に移動するため、ロッカーアーム３３の最大押圧量が小さくなって吸気バルブ２８の最大バルブリフト量が小さくなると共に、ロッカーアーム３３が押圧される期間が短くなって吸気バブル２８の開弁期間が短くなる。
【００３２】
以上説明した可変バルブリフト機構３０では、モータ４１でコントロールシャフト３５を回転させてリンクアーム３４の押圧カム３９とロッカーアーム３３のローラ４０との初期の接触点位置を連続的に移動させれば、全気筒（＃１〜＃４）の吸気バルブ２８の最大バルブリフト量と開弁期間（以下単に「吸気バルブリフト量」という）を一括して連続的に可変することができる。
【００３３】
ＥＣＵ２７は、ＲＯＭに記憶された可変バルブ制御プログラム（図示せず）を実行することで、アクセル開度やエンジン運転状態等に基づいて吸気バルブ２８の可変バルブリフト機構３０を制御して、吸気バルブ２８のバルブリフト量を連続的に可変して吸入空気量を制御する。尚、可変バルブリフト機構３０と可変バルブタイミング機構を併用したシステムの場合には、バルブリフト量とバルブタイミングの両方を連続的に可変して吸入空気量を制御するようにしても良い。
【００３４】
また、ＥＣＵ２７は、後述する気筒間ばらつき補正用の各ルーチンを実行することで、各気筒の吸気行程毎にエアフローメータ１４の出力波形（吸入空気量）の所定期間の面積を算出し、この面積に基づいて気筒間の吸入空気量ばらつき率ＤＥＶ（ｉ）  を算出した後、この気筒間吸入空気量ばらつき率ＤＥＶ（ｉ）  に基づいて吸気バルブリフト量ＶＶＬを補正して、気筒間の吸入空気量のばらつきを補正する。この場合、エアフローメータ１４の出力波形の面積を算出する期間は、吸気脈動の反射波や他気筒の吸気干渉の影響を受けにくい期間、具体的には、吸入空気量の極大値を含む期間に設定されている。
【００３５】
以下、本実施形態（１）でＥＣＵ２７が実行する気筒間ばらつき補正用の各ルーチンの処理内容を説明する。
【００３６】
［気筒間ばらつき補正ルーチン］
図３に示す気筒間ばらつき補正ルーチンは、エンジン運転中に所定周期で実行される。本ルーチンが起動されると、まず、ステップ１０１で、気筒間ばらつき補正実行条件が成立しているか否かを判定する。ここで、気筒間ばらつき補正実行条件は、例えば、次の２つの条件▲１▼、▲２▼を両方とも満たすことである。
▲１▼始動後所定時間以上が経過していること（つまり始動直後の不安定な運転状態でないこと）
▲２▼過渡運転状態でないこと（つまり定常運転状態であること）
【００３７】
これら２つの条件▲１▼、▲２▼を両方とも満たせば、気筒間ばらつき補正実行条件が成立するが、いずれか一方でも満たさない条件があれば、気筒間ばらつき補正実行条件が不成立となる。
もし、気筒間ばらつき補正実行条件が不成立と判定されれば、ステップ１０２以降の気筒間ばらつき補正に関する処理を実行することなく、本ルーチンを終了する。
【００３８】
一方、上記ステップ１０１で、気筒間ばらつき補正実行条件が成立していると判定された場合には、ステップ１０２以降の気筒間ばらつき補正に関する処理を次のようにして実行する。まず、ステップ１０２で、後述する図１１の気筒間吸入空気量ばらつき率算出ルーチンによって算出された気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）を読み込む。
【００３９】
この後、ステップ１０３に進み、各気筒毎に気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）に応じた基本リフト補正量ＦＶＶＬ１（＃ｉ）を図４のマップを用いて算出する。ここで、（＃ｉ）は気筒番号であり、（＃１）〜（＃４）のいずれかを意味する。図４のマップは、気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）がプラス値となる領域では、基本リフト補正量ＦＶＶＬ１（＃ｉ）が減量値（マイナス値）となり、気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）がマイナス値となる領域では、基本リフト補正量ＦＶＶＬ１（＃ｉ）が増量値（プラス値）となる。つまり、ある気筒の吸入空気量が全気筒の平均吸入空気量よりも多くなるほど、基本リフト補正量ＦＶＶＬ１（＃ｉ）による減量補正量が大きくなり、反対に、ある気筒の吸入空気量が全気筒の平均吸入空気量よりも少なくなるほど、基本リフト補正量ＦＶＶＬ１（＃ｉ）による増量補正量が大きくなる。尚、気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）が０付近の所定領域では、基本リフト補正量ＦＶＶＬ１（＃ｉ）＝０に設定され、吸気バルブリフト量ＶＶＬが補正されない。
【００４０】
そして、次のステップ１０４で、エンジン回転速度ＮＥとエアフローメータ１４で検出した吸入空気量ＧＡ（平均空気流量）を読み込んだ後、ステップ１０５に進み、図５に示す補正係数ＦＶＶＬ２のマップを検索して、各気筒毎に現在のエンジン運転条件（例えばエンジン回転速度ＮＥと吸入空気量ＧＡ）に応じた補正係数ＦＶＶＬ２（＃ｉ）を算出する。
【００４１】
一般に、吸入空気量ＧＡが少なくなると（吸気バルブリフト量が小さくなると）、吸気バルブリフト量補正の影響を受けやすくなるため、図５の補正係数ＦＶＶＬ２のマップは、吸入空気量ＧＡが少なくなるほど、補正係数ＦＶＶＬ２が小さくなるように設定されている。
【００４２】
この後、ステップ１０６に進み、各気筒の基本リフト補正量ＦＶＶＬ１（＃ｉ）に補正係数ＦＶＶＬ２（＃ｉ）を乗算して、各気筒のリフト補正量ＦＶＶＬ（＃ｉ）を求める。
ＦＶＶＬ（＃ｉ）＝ＦＶＶＬ１（＃ｉ）×ＦＶＶＬ２（＃ｉ）
【００４３】
この後、ステップ１０７に進み、補正前の全気筒の平均バルブリフト量ＶＶＬに各気筒のリフト補正量ＦＶＶＬ（＃ｉ）を加算して、最終目標バルブリフト量ＶＶＬＭを求める。
【００４４】
この場合、クランク角カウンタＣＣＲＮＫ＝１２〜１７の期間、つまり、第１気筒＃１の吸気行程に対応する期間は、第１気筒＃１のバルブリフト補正量ＦＶＶＬ（＃１）を用いて、最終目標バルブリフト量ＶＶＬＭを次式により算出する。
ＶＶＬＭ＝ＶＶＬ＋ＦＶＶＬ（＃１）
【００４５】
クランク角カウンタＣＣＲＮＫ＝６〜１１の期間、つまり、第２気筒＃２の吸気行程に対応する期間は、第２気筒＃２のバルブリフト補正量ＦＶＶＬ（＃２）を用いて、最終目標バルブリフト量ＶＶＬＭを次式により算出する。
ＶＶＬＭ＝ＶＶＬ＋ＦＶＶＬ（＃２）
【００４６】
クランク角カウンタＣＣＲＮＫ＝１８〜２３の期間、つまり、第３気筒＃３の吸気行程に対応する期間は、第３気筒＃３のバルブリフト補正量ＦＶＶＬ（＃３）を用いて、最終目標バルブリフト量ＶＶＬＭを次式により算出する。
ＶＶＬＭ＝ＶＶＬ＋ＦＶＶＬ（＃３）
【００４７】
クランク角カウンタＣＣＲＮＫ＝０〜５の期間、つまり、第４気筒＃４の吸気行程に対応する期間は、第４気筒＃４のバルブリフト補正量ＦＶＶＬ（＃４）を用いて、最終目標バルブリフト量ＶＶＬＭを次式により算出する。
ＶＶＬＭ＝ＶＶＬ＋ＦＶＶＬ（＃４）
【００４８】
この後、ステップ１０８に進み、各気筒の吸気行程に対応して変化する各気筒の最終目標バルブリフト量ＶＶＬＭに応じて吸気バルブ２８の可変バルブリフト機構３０のモータ４１を高速駆動して、各気筒の吸気行程毎に吸気バルブリフト量を補正して各気筒の吸入空気量を補正する。これにより、気筒間の吸入空気量ばらつきを補正する。
【００４９】
［吸入空気量面積出メインルーチン］
図６に示す吸入空気量面積算出メインルーチンは、エアフローメータ１４の出力電圧のＡ／Ｄ変換タイミング（例えば４ｍｓ周期）で起動される。本ルーチンが起動されると、まずステップ２０１で、前記ステップ１０１と同じ気筒間ばらつき補正実行条件が成立しているか否かを判定し、気筒間ばらつき補正実行条件が成立していなければ、ステップ２０２以降の所定期間の吸入空気量面積の算出に関する処理を実行することなく、本ルーチンを終了する。
【００５０】
一方、上記ステップ２０１で、気筒間ばらつき補正実行条件が成立していると判定されれば、ステップ２０２以降の所定期間の吸入空気量面積の算出に関する処理を次のようにして実行する。まず、ステップ２０２で、エアフローメータ１４のフィルタ処理後の出力電圧ＶＡＦＭを読み込んだ後、ステップ２０３に進み、図７の瞬時空気流量ＧＡＦＭマップを用いて、エアフローメータ１４の出力電圧ＶＡＦＭを、エアフローメータ１４を通過する瞬時空気流量ＧＡＦＭに変換する。尚、図７の瞬時空気流量ＧＡＦＭマップは、エアフローメータ１４が逆流も検出できる場合のマップであり、逆流の場合は、瞬時空気流量ＧＡＦＭがマイナス値となる。
【００５１】
この後、ステップ２０４に進み、クランク角カウンタＣＣＲＮＫのカウント値を読み込む。このクランク角カウンタＣＣＲＮＫは、クランク角センサ２６の出力信号に基づいて例えば３０℃Ａ毎に「１」ずつインクリメントされるため、クランク角カウンタＣＣＲＮＫの２４カウントが１サイクル（７２０℃Ａ）に相当する。尚、クランク角カウンタＣＣＲＮＫは、「２４」になった時点で「０」にリセットされる。また、クランク角カウンタＣＣＲＮＫ＝０のクランク回転位置が、第１気筒＃１の圧縮上死点（圧縮ＴＤＣ）に相当し、クランク角カウンタＣＣＲＮＫ＝６、１２、１８のクランク回転位置が、それぞれ第３気筒＃３、第４気筒＃４、第２気筒＃２の圧縮ＴＤＣに相当するように設定されている。
【００５２】
そして、次のステップ２０５で、図８に示す各気筒の所定期間の吸入空気量面積算出ルーチンを実行して、各気筒の所定期間の吸入空気量（エアフローメータ１４の出力波形）の面積ＧＡＳＵＭ（＃ｉ）を算出する。
【００５３】
［各気筒の所定期間の吸入空気量面積算出ルーチン］
図８に示す各気筒の所定期間の吸入空気量面積算出ルーチンは、図６のステップ２０５で起動されるサブルーチンであり、特許請求の範囲でいう面積算出手段としての役割を果たす。本ルーチンが起動されると、まずステップ２１１で、各気筒の吸入空気量面積（エアフローメータ１４の出力波形の面積）を算出する所定期間Ｐを図９のマップを用いて算出する。ここで、図１０に示すように、所定期間Ｐは、吸気脈動の反射波や他気筒の吸気干渉の影響を受けにくい期間、具体的には、エアフローメータ１４の出力波形（吸入空気量）の極大値を含む期間に設定されている。
【００５４】
図９の所定期間Ｐのマップは、エンジン回転速度ＮＥと吸入空気量ＧＡをパラメータとして所定期間Ｐを算出するマップであり、エンジン回転速度ＮＥが低い領域や、吸入空気量ＧＡが多い領域で、脈動波の振幅が大きくなるほど、所定期間Ｐが長くなるように設定される。
【００５５】
所定期間Ｐの算出後、ステップ２１２に進み、エアフローメータ１４で検出した瞬時空気流量ＧＡＦＭが極大値であるか否かを判定する。この極大値の判定方法は、例えば瞬時空気流量ＧＡＦＭの今回値を前回値と比較して、瞬時空気流量ＧＡＦＭの変化方向が増加から減少に反転したか否かによって判定すれば良い。
【００５６】
このステップ２１２で、瞬時空気流量ＧＡＦＭが極大値でないと判定されれば、以降の処理を行うことなく、本ルーチンを終了する。その後、瞬時空気流量ＧＡＦＭが極大値になった時点で、ステップ２１３に進み、クランク角カウンタＣＣＲＮＫ＝１２〜１７の期間（つまり第１気筒＃１の吸気行程に対応する期間）であるか否かを判定し、ＣＣＲＮＫ＝１２〜１７であれば、ステップ２１４に進み、第１気筒＃１の吸気行程の所定期間Ｐ（極大値となる時点ｔを中心にしてその前後Ｐ／２以内の期間）について瞬時空気流量ＧＡＦＭを積算して第１気筒吸入空気量面積ＧＡＳＵＭ（＃１）を求める。尚、瞬時空気流量ＧＡＦＭのデータは、所定のサンプリング周期（例えば４ｍｓ周期）で検出する毎にＥＣＵ２７のＲＡＭに時系列的に記憶され、所定期間Ｐについて瞬時空気流量ＧＡＦＭの記憶データを積算して吸入空気量面積ＧＡＳＵＭ（＃１）を求めた後に、瞬時空気流量ＧＡＦＭの記憶データがクリアされる。
【００５７】
上記ステップ２１３で「Ｎｏ」と判定されて、ステップ２１５で、クランク角カウンタＣＣＲＮＫ＝６〜１１の期間（つまり第２気筒＃２の吸気行程に対応する期間）であると判定されれば、ステップ２１６に進み、第２気筒＃２の吸気行程の所定期間Ｐについて瞬時空気流量ＧＡＦＭを積算して第２気筒吸入空気量面積ＧＡＳＵＭ（＃２）を求める。
【００５８】
上記ステップ２１３、２１５で「Ｎｏ」と判定されて、ステップ２１７で、クランク角カウンタＣＣＲＮＫ＝１８〜２３の期間（つまり第３気筒＃３の吸気行程に対応する期間）であると判定されれば、ステップ２１８に進み、第３気筒＃３の吸気行程の所定期間Ｐについて瞬時空気流量ＧＡＦＭを積算して第３気筒吸入空気量面積ＧＡＳＵＭ（＃３）を求める。
【００５９】
上記ステップ２１３、２１５、２１７で全て「Ｎｏ」と判定された場合、つまり、クランク角カウンタＣＣＲＮＫ＝０〜５の期間（第４気筒＃４の吸気行程に対応する期間）である場合は、ステップ２１９に進み、第４気筒＃４の吸気行程の所定期間Ｐについて瞬時空気流量ＧＡＦＭを積算して第４気筒吸入空気量面積ＧＡＳＵＭ（＃４）を求める。
【００６０】
［気筒間吸入空気量ばらつき率算出ルーチン］
図１１に示す気筒間吸入空気量ばらつき率算出ルーチンは、サイクル毎（４気筒エンジンの場合は１８０℃Ａ毎）に実行され、特許請求の範囲でいう気筒間吸入空気量ばらつき算出手段としての役割を果たす。本ルーチンが起動されると、まずステップ２２１で、各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を読み込み、次のステップ２２２で、各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を気筒間でなまし処理して、各気筒の吸入空気量面積なまし値ＧＡＳＵＭＳＭ（＃ｉ）を求める。
【００６１】
ＧＡＳＵＭＳＭ（＃ｉ）＝ＧＡＳＵＭＳＭ（＃ｉ−１）＋Ｋ１×｛ＧＡＳＵＭ（＃ｉ）−ＧＡＳＵＭＳＭ（＃ｉ−１）｝
ここで、Ｋ１は、なまし係数であり、ＧＡＳＵＭＳＭ（＃ｉ−１）は、（＃ｉ−１）番の気筒の吸入空気量面積なまし値である。
この後、ステップ２２３に進み、各気筒の気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）を次式により算出する。
【００６２】
【数１】
2004176644.tif 000003
【００６３】
上式の分母は、全気筒の吸入空気量面積なまし値ＧＡＳＵＭＳＭ（＃ｉ）の平均値であり、Ｋ２は、吸入空気量面積のばらつきを吸入空気量のばらつきに変換するための補正係数であり、図１２のマップにより設定される。一般に、各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出する所定期間Ｐが短くなるほど、吸入空気量面積ＧＡＳＵＭ（＃ｉ）のばらつきが小さくなるため、所定期間Ｐが短くなるほど、補正係数Ｋ２が大きくなるように設定される。
【００６４】
上記［数１］式から明らかなように、各気筒の気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）は、各気筒の気筒間吸入空気量ばらつき率なまし値ＧＡＳＵＭＳＭ（＃ｉ）を全気筒の気筒間吸入空気量ばらつき率なまし値の平均値で割り算して、それに補正係数Ｋ２を乗算した値である。
【００６５】
この気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）に、エアフローメータ１４で検出した吸入空気量ＧＡ（平均空気流量）を乗算すれば、気筒別吸入空気量を求めることができる。
【００６６】
以上説明した本実施形態（１）の気筒間ばらつき補正の実行例を図１３及び図１４に示すタイムチャートを用いて説明する。
気筒間ばらつき補正実行条件が成立して気筒間ばらつき補正実行フラグがＯＮされている期間は、図１３に示すように、各気筒の吸気行程毎に、所定期間（瞬時空気流量ＧＡＦＭが極大値となる時点ｔを中心にしてその前後Ｐ／２以内の期間）の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出し、各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を気筒間でなまし処理して、各気筒の吸入空気量面積なまし値ＧＡＳＵＭＳＭ（＃ｉ）を求める。このようにして、全気筒の吸入空気量面積なまし値ＧＡＳＵＭＳＭ（＃ｉ）を求める毎（７２０℃Ａ毎）に、各気筒の吸入空気量面積なまし値ＧＡＳＵＭＳＭ（＃ｉ）を全気筒の吸入空気量面積なまし値の平均値で割り算して、それに補正係数Ｋ２を乗算して各気筒の気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）を求める。
【００６７】
図１４に示すように、各気筒の気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）を算出する毎に、気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）とエンジン運転条件に応じてリフト補正量ＦＶＶＬ（＃ｉ）を算出し、１８０℃Ａ毎に、補正前の全気筒の平均バルブリフト量ＶＶＬに該当気筒のリフト補正量ＦＶＶＬ（＃ｉ）を加算して、最終目標バルブリフト量ＶＶＬＭを求める。
【００６８】
このようにして、各気筒の吸気行程に対応して変化する各気筒の最終目標バルブリフト量ＶＶＬＭに応じて吸気バルブ２８の可変バルブリフト機構３０のモータ４１を高速駆動して、各気筒の吸気行程毎に吸気バルブリフト量を補正して各気筒の吸入空気量を補正する。これにより、気筒間の吸入空気量ばらつきを補正する。
【００６９】
尚、各気筒の吸気バルブ２８を電磁アクチュエータで駆動する構成の可変バルブ機構に本発明を適用する場合には、各気筒の最終目標バルブリフト量ＶＶＬＭに応じて各気筒の電磁アクチュエータの制御量を補正することで、各気筒の吸気バルブリフト量を補正して各気筒の吸入空気量を補正するようにすれば良い。
【００７０】
以上説明した本実施形態（１）によれば、吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出する所定期間Ｐを、瞬時空気流量ＧＡＦＭの極大値を含む期間に設定したので、この所定期間Ｐを吸気脈動の反射波や他気筒の吸気干渉の影響を受けにくい期間に設定することができる。これにより、各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を用いて各気筒の気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）を精度良く算出することができ、この気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）を用いて吸気バルブリフト量を補正することで、気筒間の吸入空気量ばらつきを精度良く補正することができ、それによって、気筒間のトルクばらつきや空燃比ばらつきを両方とも低減することができる。
【００７１】
《実施形態（２）》
上記実施形態（１）では、吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出する所定期間Ｐを瞬時空気流量ＧＡＦＭの極大値を含む期間に設定したが、図１５乃至図１８に示す本発明の実施形態（２）では、吸気バルブ２８の開弁期間内に瞬時空気流量ＧＡＦＭの極大点が存在することを考慮して、吸入空気量面積ＧＡＳＵＭ（＃１）を算出する所定期間を吸気バルブ２８の開弁期間に設定するようにしている（図１７参照）。
【００７２】
この場合、吸気管１２内を流れる吸入空気がエアフローメータ１４の周辺を通過してから実際に気筒内に吸入されるまでに時間的な遅れ（エアフローメータ１４の検出遅れ）があるため、本実施形態（２）では、吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出する所定期間をエアフローメータ１４の検出遅れを考慮して設定するようにしている。
【００７３】
本実施形態（２）では、図１５のルーチンを実行して各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を次のようにして算出する。まず、ステップ３０１で、図１６のマップを用いて、現在の吸気バルブリフト量ＶＶＬとエンジン回転速度ＮＥに応じたエアフローメータ１４の検出遅れ時間ＤＬＹを算出する。図１６のマップは低回転域で吸気バルブリフト量ＶＶＬが大きくなるほど、気筒内に吸入される空気の流速が遅くなることを考慮して、低回転域で吸気バルブリフト量ＶＶＬが大きくなるほど、検出遅れ時間ＤＬＹが大きくなるように設定されている。
【００７４】
検出遅れ時間ＤＬＹの算出後、ステップ３０２に進み、吸気バルブ２８の開弁期間（吸気バルブ開弁フラグのＯＮ期間）に対してエアフローメータ１４の検出遅れ時間ＤＬＹ分遅れた期間であるか否かを判定する。ここで、吸気バルブ２８の開弁期間は、吸気バルブリフト量ＶＶＬを検出するリフトセンサ（図示せず）の出力に基づいて判定したり、或は、開弁期間の制御目標値を用いるようにしても良い。
【００７５】
もし、吸気バルブ２８の開弁期間に対してエアフローメータ１４の検出遅れ時間ＤＬＹ分遅れた期間でなければ、以降の処理を行うことなく、本ルーチンを終了する。その後、吸気バルブ２８の開弁期間に対してエアフローメータ１４の検出遅れ時間ＤＬＹ分遅れた期間になった時点で、ステップ３０３に進み、クランク角カウンタＣＣＲＮＫ＝１２〜１７の期間（つまり第１気筒＃１の吸気行程に対応する期間）であるか否かを判定し、ＣＣＲＮＫ＝１２〜１７であれば、ステップ３０４に進み、前回までの第１気筒吸入空気量面積ＧＡＳＵＭ（＃１）の記憶値に今回の瞬時空気流量ＧＡＦＭを積算して第１気筒吸入空気量面積ＧＡＳＵＭ（＃１）の記憶値を更新する。
【００７６】
上記ステップ３０３で「Ｎｏ」と判定されて、ステップ３０５で、クランク角カウンタＣＣＲＮＫ＝６〜１１の期間（つまり第２気筒＃２の吸気行程に対応する期間）であると判定されれば、ステップ３０６に進み、前回までの第２気筒吸入空気量面積ＧＡＳＵＭ（＃２）の記憶値に今回の瞬時空気流量ＧＡＦＭを積算して第２気筒吸入空気量面積ＧＡＳＵＭ（＃２）の記憶値を更新する。
【００７７】
上記ステップ３０３、３０５で「Ｎｏ」と判定されて、ステップ３０７で、クランク角カウンタＣＣＲＮＫ＝１８〜２３の期間（つまり第３気筒＃３の吸気行程に対応する期間）であると判定されれば、ステップ３０８に進み、前回までの第３気筒吸入空気量面積ＧＡＳＵＭ（＃３）の記憶値に今回の瞬時空気流量ＧＡＦＭを積算して第３気筒吸入空気量面積ＧＡＳＵＭ（＃３）の記憶値を更新する。
【００７８】
上記ステップ３０３、３０５、３０７で全て「Ｎｏ」と判定された場合、つまり、クランク角カウンタＣＣＲＮＫ＝０〜５の期間（第４気筒＃４の吸気行程に対応する期間）である場合は、ステップ３０９に進み、前回までの第４気筒吸入空気量面積ＧＡＳＵＭ（＃４）の記憶値に今回の瞬時空気流量ＧＡＦＭを積算して第４気筒吸入空気量面積ＧＡＳＵＭ（＃４）の記憶値を更新する。
【００７９】
以上説明した本実施形態（２）によれば、図１８に示すように、各気筒の吸気バルブ２８の開弁期間終了タイミング（吸気バルブ開弁フラグのＯＮ期間終了タイミング）からエアフローメータ１４の検出遅れ時間ＤＬＹ経過する毎に、各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を更新する。その他の処理は、前記実施形態（１）と同じである。
【００８０】
本実施形態（２）でも、前記実施形態（１）と同じ効果を得ることができる。しかも、吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出する所定期間を吸気バルブ２８の開弁期間に設定するようにしたので、設計・開発段階で、運転領域毎に所定期間を設定する必要がなくなり、適合工数を削減することができる利点がある。
【００８１】
《実施形態（３）》
図１９乃至図２１に示す本発明の実施形態（３）は、吸入空気量面積ＧＡＳＵＭ（＃１）を算出する所定期間を、瞬時空気流量ＧＡＦＭが平均値以上となる期間に設定したところに特徴がある（図２０参照）。
【００８２】
本実施形態（３）では、図１９のルーチンを実行して各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を次のようにして算出する。まず、ステップ３０１ａで、エアフローメータ１４で検出した平均空気流量ＧＡを読み込む。この後、ステップ３０２ａに進み、瞬時空気流量ＧＡＦＭが平均空気流量ＧＡ以上であるか否かを判定する。
【００８３】
もし、瞬時空気流量ＧＡＦＭが平均空気流量ＧＡ未満であれば、以降の処理を行うことなく、本ルーチンを終了するが、瞬時空気流量ＧＡＦＭが平均空気流量ＧＡ以上であれば、前記実施形態（２）と同じ処理（ステップ３０３〜３０９）によって各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出する。
【００８４】
以上説明した本実施形態（３）によれば、図２１に示すように、各気筒の瞬時空気流量ＧＡＦＭが平均値以上となる期間が終了する毎に、各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を更新する。その他の処理は、前記実施形態（１）と同じである。
【００８５】
本実施形態（３）のように、吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出する所定期間を瞬時空気流量ＧＡＦＭが平均値以上となる期間に設定すれば、前記実施形態（２）と同じく、設計・開発段階で、運転領域毎に所定期間を設定する必要がなくなり、適合工数を削減することができる利点がある。
【００８６】
《実施形態（４）》
上記実施形態（１）〜（３）では、エアフローメータ１４で検出した瞬時空気流量ＧＡＦＭを用いて各気筒の所定期間の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出するようにしたが、図２２乃至図２５に示す本発明の実施形態（４）では、吸気管圧力センサ１８（検出手段）で検出した瞬時吸気管圧力ＰＭＡＰを用いて瞬時空気流量ＧＭＡＰを算出し、この瞬時空気流量ＧＭＡＰを用いて各気筒の所定期間の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出するようにしたところに特徴がある。
【００８７】
エンジン運転中は、図２５に示すように、エアフローメータ１４の出力（瞬時空気流量ＧＡＦＭ）の脈動に同期して吸気管圧力センサ１８の出力（瞬時吸気管圧力ＰＭＡＰ）が脈動し、エアフローメータ１４の出力（瞬時空気流量ＧＡＦＭ）が極大になるときに吸気管圧力センサ１８の出力（瞬時吸気管圧力ＰＭＡＰ）が極小となる。
また、吸気管圧力センサ１８で検出した瞬時吸気管圧力ＰＭＡＰは、次のノズルの式により瞬時空気流量ＧＭＡＰに変換できる。
【００８８】
【数２】
2004176644.tif 000004
【００８９】
従って、吸気管圧力センサ１８の出力（瞬時吸気管圧力ＰＭＡＰ）を上記ノズルの式により瞬時空気流量ＧＭＡＰに変換すれば、前記実施形態（１）〜（３）とほぼ同じ手法で各気筒の所定期間の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出することができる。
【００９０】
本実施形態（４）では、吸気管圧力センサ１８の出力から各気筒の所定期間の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出するために、図２２に示す吸入空気量面積算出メインルーチンを吸気管圧力センサ１８の出力のＡ／Ｄ変換タイミング（例えば４ｍｓ周期）で実行する。本ルーチンが起動されると、まずステップ４０１で、前記図３のステップ１０１と同じ気筒間ばらつき補正実行条件が成立しているか否かを判定し、気筒間ばらつき補正実行条件が成立していなければ、ステップ４０２以降の所定期間の吸入空気量面積の算出に関する処理を実行することなく、本ルーチンを終了する。
【００９１】
一方、上記ステップ４０１で、気筒間ばらつき補正実行条件が成立していると判定されれば、ステップ４０２以降の所定期間の吸入空気量面積の算出に関する処理を次のようにして実行する。まず、ステップ４０２で、吸気管圧力センサ１８のフィルタ処理後の出力電圧ＶＭＡＰを読み込んだ後、ステップ４０３に進み、図２３の瞬時吸気管圧力ＰＭＡＰマップを用いて、吸気管圧力センサ１８の出力電圧ＶＭＡＰを、吸気管圧力センサ１８周辺部の瞬時吸気管圧力ＰＭＡＰに変換する。
【００９２】
この後、ステップ４０４に進み、前記［数２］式を用いて、瞬時吸気管圧力ＰＭＡＰを、吸気管圧力センサ１８を通過する瞬時空気流量ＧＭＡＰに変換する。そして、次のステップ４０５で、クランク角カウンタＣＣＲＮＫのカウント値を読み込んだ後、ステップ４０６に進み、図２４に示す各気筒の所定期間の吸入空気量面積算出ルーチンを実行して、各気筒の所定期間の吸入空気量の面積ＧＡＳＵＭ（＃ｉ）を次のようにして算出する。
【００９３】
まず、ステップ４１１で、各気筒の吸入空気量面積（瞬時空気流量ＧＭＡＰの面積）を算出する所定期間Ｐを前記図９のマップを用いて算出する。ここで、所定期間Ｐは、吸気脈動の反射波や他気筒の吸気干渉の影響を受けにくい期間、具体的には、吸気管圧力センサ１８の出力（瞬時吸気管圧力ＰＭＡＰ）から換算した瞬時空気流量ＧＭＡＰの極大値（瞬時吸気管圧力ＰＭＡＰの極小値）を含む期間に設定されている。
【００９４】
そして、次のステップ４１２で、吸気管圧力センサ１８の出力（瞬時吸気管圧力ＰＭＡＰ）から換算した瞬時空気流量ＧＭＡＰが極大値であるか否かを判定する。この極大値の判定方法は、例えば瞬時空気流量ＧＭＡＰの今回値を前回値と比較して、瞬時空気流量ＧＭＡＰの変化方向が増加から減少に反転したか否かによって判定すれば良い。
【００９５】
もし、瞬時空気流量ＧＭＡＰが極大値でなければ、以降の処理を行うことなく、本ルーチンを終了する。その後、瞬時空気流量ＧＭＡＰが極大値になった時点で、ステップ４１３に進み、クランク角カウンタＣＣＲＮＫ＝１２〜１７の期間（つまり第１気筒＃１の吸気行程に対応する期間）であるか否かを判定し、ＣＣＲＮＫ＝１２〜１７であれば、ステップ４１４に進み、第１気筒＃１の吸気行程の所定期間Ｐ（極大値となる時点ｔを中心にしてその前後Ｐ／２以内の期間）について瞬時空気流量ＧＭＡＰを積算して第１気筒吸入空気量面積ＧＡＳＵＭ（＃１）を求める。
【００９６】
上記ステップ４１３で「Ｎｏ」と判定されて、ステップ４１５で、クランク角カウンタＣＣＲＮＫ＝６〜１１の期間（つまり第２気筒＃２の吸気行程に対応する期間）であると判定されれば、ステップ４１６に進み、第２気筒＃２の吸気行程の所定期間Ｐについて瞬時空気流量ＧＭＡＰを積算して第２気筒吸入空気量面積ＧＡＳＵＭ（＃２）を求める。
【００９７】
上記ステップ４１３、４１５で「Ｎｏ」と判定されて、ステップ４１７で、クランク角カウンタＣＣＲＮＫ＝１８〜２３の期間（つまり第３気筒＃３の吸気行程に対応する期間）であると判定されれば、ステップ４１８に進み、第３気筒＃３の吸気行程の所定期間Ｐについて瞬時空気流量ＧＭＡＰを積算して第３気筒吸入空気量面積ＧＡＳＵＭ（＃３）を求める。
【００９８】
上記ステップ４１３、４１５、４１７で全て「Ｎｏ」と判定された場合、つまり、クランク角カウンタＣＣＲＮＫ＝０〜５の期間（第４気筒＃４の吸気行程に対応する期間）である場合は、ステップ４１９に進み、第４気筒＃４の吸気行程の所定期間Ｐについて瞬時空気流量ＧＭＡＰを積算して第４気筒吸入空気量面積ＧＡＳＵＭ（＃４）を求める。その他の処理は、前記実施形態（１）と同じである。以上説明した本実施形態（４）では、前記実施形態（１）と同じ効果を得ることができる。
【００９９】
《実施形態（５）》
上記実施形態（４）では、吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出する所定期間Ｐを瞬時空気流量ＧＭＡＰの極大値（瞬時吸気管圧力ＰＭＡＰの極小値）を含む期間に設定したが、図２６に示す本発明の実施形態（５）では、前記実施形態（２）と同じように、吸入空気量面積ＧＡＳＵＭ（＃１）を算出する所定期間を、吸気バルブ２８の開弁期間に対して吸気管圧力センサ１８の検出遅れ時間ＤＬＹ分遅れた期間に設定するようにしている。
【０１００】
本実施形態（５）では、図２６のルーチンを実行して各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を次のようにして算出する。まず、ステップ５０１で、前記図１６と同様のマップを用いて、現在の吸気バルブリフト量ＶＶＬとエンジン回転速度ＮＥに応じた吸気管圧力センサ１８の検出遅れ時間ＤＬＹを算出する。
【０１０１】
この後、ステップ５０２に進み、吸気バルブ２８の開弁期間に対して吸気管圧力センサ１８の検出遅れ時間ＤＬＹ分遅れた期間であるか否かを判定し、吸気バルブ２８の開弁期間に対して吸気管圧力センサ１８の検出遅れ時間ＤＬＹ分遅れた期間でなければ、以降の処理を行うことなく、本ルーチンを終了する。
【０１０２】
その後、吸気バルブ２８の開弁期間に対して吸気管圧力センサ１８の検出遅れ時間ＤＬＹ分遅れた期間になった時点で、ステップ５０３に進み、クランク角カウンタＣＣＲＮＫ＝１２〜１７の期間（つまり第１気筒＃１の吸気行程に対応する期間）であるか否かを判定し、ＣＣＲＮＫ＝１２〜１７であれば、ステップ５０４に進み、前回までの第１気筒吸入空気量面積ＧＡＳＵＭ（＃１）の記憶値に今回の瞬時空気流量ＧＭＡＰを積算して第１気筒吸入空気量面積ＧＡＳＵＭ（＃１）の記憶値を更新する。
【０１０３】
上記ステップ５０３で「Ｎｏ」と判定されて、ステップ５０５で、クランク角カウンタＣＣＲＮＫ＝６〜１１の期間（つまり第２気筒＃２の吸気行程に対応する期間）であると判定されれば、ステップ５０６に進み、前回までの第２気筒吸入空気量面積ＧＡＳＵＭ（＃２）の記憶値に今回の瞬時空気流量ＧＭＡＰを積算して第２気筒吸入空気量面積ＧＡＳＵＭ（＃２）の記憶値を更新する。
【０１０４】
上記ステップ５０３、５０５で「Ｎｏ」と判定されて、ステップ５０７で、クランク角カウンタＣＣＲＮＫ＝１８〜２３の期間（つまり第３気筒＃３の吸気行程に対応する期間）であると判定されれば、ステップ５０８に進み、前回までの第３気筒吸入空気量面積ＧＡＳＵＭ（＃３）の記憶値に今回の瞬時空気流量ＧＭＡＰを積算して第３気筒吸入空気量面積ＧＡＳＵＭ（＃３）の記憶値を更新する。
【０１０５】
上記ステップ５０３、５０５、５０７で全て「Ｎｏ」と判定された場合、つまり、クランク角カウンタＣＣＲＮＫ＝０〜５の期間（第４気筒＃４の吸気行程に対応する期間）である場合は、ステップ５０９に進み、前回までの第４気筒吸入空気量面積ＧＡＳＵＭ（＃４）の記憶値に今回の瞬時空気流量ＧＭＡＰを積算して第４気筒吸入空気量面積ＧＡＳＵＭ（＃４）の記憶値を更新する。
以上説明した本実施形態（５）でも、前記実施形態（２）と同じ効果を得ることができる。
【０１０６】
《実施形態（６）》
図２７に示す本発明の実施形態（６）は、前記実施形態（３）と同じく、吸入空気量面積ＧＡＳＵＭ（＃１）を算出する所定期間を、瞬時空気流量ＧＭＡＰが平均値以上となる期間に設定したところに特徴がある。
【０１０７】
本実施形態（６）では、図２７のルーチンを実行して各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を次のようにして算出する。まず、ステップ５０１ａで、エアフローメータ１４で検出した平均空気流量ＧＡを読み込む。この後、ステップ５０２ａに進み、瞬時吸気管圧力ＰＭＡＰから算出した瞬時空気流量ＧＭＡＰが平均空気流量ＧＡ以上であるか否かを判定する。
【０１０８】
もし、瞬時空気流量ＧＭＡＰが平均空気流量ＧＡ未満であれば、以降の処理を行うことなく、本ルーチンを終了するが、瞬時空気流量ＧＭＡＰが平均空気流量ＧＡ以上であれば、前記実施形態（５）と同じ処理（ステップ５０３〜５０９）によって各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出する。その他の処理は、前記実施形態（１）と同じである。
以上説明した本実施形態（６）でも、前記実施形態（３）と同じ効果を得ることができる。
【０１０９】
尚、上記実施形態（４）〜（６）では、吸気管圧力センサ１８の出力（瞬時吸気管圧力ＰＭＡＰ）を瞬時空気流量ＧＭＡＰに換算して、各気筒の所定期間の吸入空気量面積ＧＡＳＵＭ（＃ｉ）を算出し、各気筒の吸入空気量面積ＧＡＳＵＭ（＃ｉ）から各気筒の気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）を算出するようにしたが、吸気管圧力センサ１８のの所定期間の出力（瞬時吸気管圧力ＰＭＡＰ）を積算して、各気筒の所定期間の吸気管圧力の面積を求め、各気筒の吸気管圧力面積から各気筒の気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）を算出するようにしても良い。
【０１１０】
《実施形態（７）》
図２８乃至図３４に示す本発明の実施形態（７）では、気筒内に吸入される吸入空気量が多くなるほど、筒内圧が大きくなるという特性に着目して、各気筒の筒内圧を検出して、この筒内圧の検出波形の所定期間の面積を求めるようにしている。これを実現するために、本実施形態（７）では、各気筒毎に、筒内圧を検出する筒内圧センサ（検出手段）が設けられている。尚、筒内圧センサは、点火プラグ２１に組み込まれたものを用いても良いし、点火プラグ２１とは別に設けても良い。
【０１１１】
一般に、筒内圧の波形は、図３２に示すように、点火前は、筒内充填空気の圧縮に応じて筒内圧が上昇するが、点火後は、燃焼圧によって筒内圧が急上昇するため、点火後の筒内圧の極大値（ピーク値）は、筒内充填空気のみの圧力よりもかなり大きくなる。しかも、筒内充填空気量が同じでも、燃料量や燃焼状態によって点火後の筒内圧の極大値が増減するため、点火後の筒内圧の極大値から筒内充填空気量を推定することは困難である。
【０１１２】
そこで、本実施形態（７）では、筒内圧の検出波形の面積を算出する所定期間を点火タイミング前に設定するようにしている。但し、図３３に示すように、燃料カット期間中やクランキング時（非燃焼時）には、筒内で燃焼が発生しておらず、筒内圧の極大値が筒内充填空気の最大圧縮圧力であるため、筒内圧の極大値を含む期間（圧縮ＴＤＣ前後の期間）に筒内圧の検出波形の面積を算出するようにしている。
【０１１３】
本実施形態（７）では、図２８に示す筒内圧面積算出メインルーチンを筒内圧センサのＡ／Ｄ変換タイミング（例えば４ｍｓ周期）で実行する。本ルーチンが起動されると、まずステップ６０１で、前記図３のステップ１０１と同じ気筒間ばらつき補正実行条件が成立しているか否かを判定し、気筒間ばらつき補正実行条件が成立していなければ、ステップ６０２以降の所定期間の筒内圧面積の算出に関する処理を実行することなく、本ルーチンを終了する。
【０１１４】
一方、上記ステップ６０１で、気筒間ばらつき補正実行条件が成立していると判定されれば、ステップ６０２以降の所定期間の筒内圧面積の算出に関する処理を次のようにして実行する。まず、ステップ６０２で、各気筒の筒内圧センサのフィルタ処理後の出力電圧ＶＣＰＳ（＃ｉ）を読み込んだ後、ステップ６０３に進み、図２９のマップを用いて、筒内圧センサの出力電圧ＶＣＰＳ（＃ｉ）を筒内圧ＣＰＳ（＃ｉ）に変換する。
【０１１５】
この後、ステップ６０４に進み、クランク角カウンタＣＣＲＮＫのカウント値を読み込む。そして、次のステップ６０５で、燃料カット期間中又はクランキング時（非燃焼時）であるか否かを判定し、燃料カット期間中又はクランキング時でなければ、ステップ６０６に進み、後述する図３０に示す燃焼時の各気筒の所定期間の筒内圧面積算出ルーチンを実行し、一方、燃料カット期間中又はクランキング時であれば、ステップ６０７に進み、後述する図３１に示す非燃焼時の各気筒の所定期間の筒内圧面積算出ルーチンを実行する。
【０１１６】
上記ステップ６０６で、図３０に示す燃焼時の各気筒の所定期間の筒内圧面積算出ルーチンが起動されると、まずステップ６１１で、各気筒の筒内圧面積を算出する所定期間Ｐを算出する。燃焼時は、図３２に示すように、所定期間Ｐを点火タイミング前に設定すると共に、所定期間Ｐの長さをエンジン回転速度ＮＥと吸入空気量ＧＡに応じてマップ等により算出する。この際、エンジン回転速度ＮＥが低い領域や、吸入空気量ＧＡが多い領域で、脈動波の振幅が大きくなるほど、所定期間Ｐが長くなるように設定される。
【０１１７】
そして、次のステップ６１２で、点火タイミングであるか否かを判定し、点火タイミングでなければ、以降の処理を行うことなく、本ルーチンを終了する。その後、点火タイミングになった時点で、ステップ６１３に進み、クランク角カウンタＣＣＲＮＫ＝２２〜３の期間（つまり第１気筒＃１の圧縮ＴＤＣの前後９０℃Ａ以内の期間）であるか否かを判定し、ＣＣＲＮＫ＝２２〜３であれば、ステップ６１４に進み、第１気筒＃１の点火前の所定期間Ｐについて第１気筒＃１の筒内圧ＣＰＳ（＃１）の記憶データを積算して第１気筒筒内圧面積ＣＰＳＳＵＭ（＃１）を求める。尚、各気筒の筒内圧ＣＰＳ（＃ｉ）のデータは、所定のサンプリング周期で検出する毎にＥＣＵ２７のＲＡＭに各気筒毎に時系列的に記憶され、各気筒の点火前の所定期間Ｐについて各気筒の筒内圧ＣＰＳ（＃ｉ）の記憶データを積算して各気筒の筒内圧面積ＣＰＳＳＵＭ（＃ｉ）を求めた後に、各気筒の筒内圧ＣＰＳ（＃ｉ）の記憶データがクリアされる。
【０１１８】
上記ステップ６１３で「Ｎｏ」と判定されて、ステップ６１５で、クランク角カウンタＣＣＲＮＫ＝１６〜２１の期間（つまり第２気筒＃２の圧縮ＴＤＣの前後９０℃Ａ以内の期間）であると判定されれば、ステップ６１６に進み、第２気筒＃２の点火前の所定期間Ｐについて第２気筒＃２の筒内圧ＣＰＳ（＃２）を積算して第２気筒筒内圧面積ＣＰＳＳＵＭ（＃２）を求める。
【０１１９】
上記ステップ６１３、６１５で「Ｎｏ」と判定されて、ステップ６１７で、クランク角カウンタＣＣＲＮＫ＝４〜９の期間（つまり第３気筒＃３の圧縮ＴＤＣの前後９０℃Ａ以内の期間）であると判定されれば、ステップ６１８に進み、第３気筒＃３の点火前の所定期間Ｐについて第３気筒＃３の筒内圧ＣＰＳ（＃３）を積算して第３気筒筒内圧面積ＣＰＳＳＵＭ（＃３）を求める。
【０１２０】
上記ステップ６１３、６１５、６１７で全て「Ｎｏ」と判定された場合、つまり、クランク角カウンタＣＣＲＮＫ＝１０〜１５の期間（第４気筒＃４の圧縮ＴＤＣの前後９０℃Ａ以内の期間）である場合は、ステップ６１９に進み、第４気筒＃４の点火前の所定期間Ｐについて第４気筒＃４の筒内圧ＣＰＳ（＃４）を積算して第４気筒筒内圧面積ＣＰＳＳＵＭ（＃４）を求める。
【０１２１】
一方、前記図２８のステップ６０７で、図３１に示す非燃焼時の各気筒の所定期間の筒内圧面積算出ルーチンが起動されると、まずステップ６２１で、非燃焼時（燃料カット期間中又はクランキング時）に各気筒の筒内圧面積を算出する所定期間Ｐを算出する。非燃焼時は、図３３に示すように、所定期間Ｐを極大値を含む期間に設定すると共に、所定期間Ｐの長さをエンジン回転速度ＮＥと吸入空気量ＧＡに応じてマップ等により算出する。この際、エンジン回転速度ＮＥが低い領域や、吸入空気量ＧＡが多い領域で、脈動波の振幅が大きくなるほど、所定期間Ｐが長くなるように設定される。
【０１２２】
そして、次のステップ６２２で、筒内圧センサで検出した筒内圧ＣＰＳ（＃ｉ）がが極大値であるか否かを判定する。この極大値の判定方法は、例えば筒内圧ＣＰＳ（＃ｉ）の今回値を前回値と比較して、筒内圧ＣＰＳ（＃ｉ）の変化方向が増加から減少に反転したか否かによって判定すれば良い。
【０１２３】
もし、筒内圧ＣＰＳ（＃ｉ）が極大値でなければ、以降の処理を行うことなく、本ルーチンを終了する。その後、筒内圧ＣＰＳ（＃ｉ）の極大値になった時点で、ステップ６２３に進み、クランク角カウンタＣＣＲＮＫ＝２２〜３の期間（つまり第１気筒＃１の圧縮ＴＤＣの前後９０℃Ａ以内の期間）であるか否かを判定して、ＣＣＲＮＫ＝２２〜３であれば、ステップ６２４に進み、第１気筒＃１の圧縮ＴＤＣ前後の所定期間Ｐ（極大値となる時点ｔを中心にしてその前後Ｐ／２以内の期間）について第１気筒＃１の筒内圧ＣＰＳ（＃１）を積算して第１気筒筒内圧面積ＣＰＳＳＵＭ（＃１）を求める。
【０１２４】
上記ステップ６２３で「Ｎｏ」と判定されて、ステップ６２５で、クランク角カウンタＣＣＲＮＫ＝１６〜２１の期間（つまり第２気筒＃２の圧縮ＴＤＣの前後９０℃Ａ以内の期間）であると判定されれば、ステップ６２６に進み、第２気筒＃２の圧縮ＴＤＣ前後の所定期間Ｐについて第２気筒＃２の筒内圧ＣＰＳ（＃２）を積算して第２気筒筒内圧面積ＣＰＳＳＵＭ（＃２）を求める。
【０１２５】
上記ステップ６２３、６２５で「Ｎｏ」と判定されて、ステップ６２７で、クランク角カウンタＣＣＲＮＫ＝４〜９の期間（つまり第３気筒＃３の圧縮ＴＤＣの前後９０℃Ａ以内の期間）であると判定されれば、ステップ６２８に進み、第３気筒＃３の圧縮ＴＤＣ前後の所定期間Ｐについて第３気筒＃３の筒内圧ＣＰＳ（＃３）を積算して第３気筒筒内圧面積ＣＰＳＳＵＭ（＃３）を求める。
【０１２６】
上記ステップ６２３、６２５、６２７で全て「Ｎｏ」と判定された場合、つまり、クランク角カウンタＣＣＲＮＫ＝１０〜１５の期間（第４気筒＃４の圧縮ＴＤＣの前後９０℃Ａ以内の期間）である場合は、ステップ６２９に進み、第４気筒＃４の圧縮ＴＤＣ前後の点火前の所定期間Ｐについて第４気筒＃４の筒内圧ＣＰＳ（＃４）を積算して第４気筒筒内圧面積ＣＰＳＳＵＭ（＃４）を求める。
【０１２７】
以上説明した本実施形態（７）の気筒間ばらつき補正の実行例を図３４に示すタイムチャートを用いて説明する。
気筒間ばらつき補正実行条件が成立して気筒間ばらつき補正実行フラグがＯＮされている期間は、各気筒の圧縮行程毎に、各気筒の所定期間の筒内圧面積ＣＰＳＳＵＭ（＃ｉ）を算出した後、前記実施形態（１）と同様の方法で、各気筒の筒内圧面積ＣＰＳＳＵＭ（＃ｉ）を気筒間でなまし処理して、各気筒の筒内圧面積なまし値ＣＰＳＳＵＭＳＭ（＃ｉ）を求める。このようにして、全気筒の筒内圧面積なまし値ＣＰＳＳＵＭＳＭ（＃ｉ）を求める毎（７２０℃Ａ毎）に、各気筒の筒内圧面積なまし値ＣＰＳＳＵＭＳＭ（＃ｉ）を全気筒の筒内圧面積なまし値の平均値で割り算して、それに補正係数Ｋ２を乗算して各気筒の気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）を求める。その他の処理は、前記実施形態（１）と同じである。
以上説明した本実施形態（７）でも、前記実施形態（１）と同じ効果を得ることができる。
【０１２８】
尚、本実施形態（７）では、各気筒の筒内圧センサの出力波形から所定期間の筒内圧面積ＣＰＳＳＵＭ（＃ｉ）を算出して、各気筒の筒内圧面積ＣＰＳＳＵＭ（＃ｉ）から各気筒の気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）を算出するようにしたが、各気筒の筒内圧センサで検出した筒内圧ＣＰＳ（＃ｉ）を瞬時空気流量に換算して、各気筒の所定期間の吸入空気量面積を算出し、各気筒の吸入空気量面積から各気筒の気筒間吸入空気量ばらつき率ＤＥＶ（＃ｉ）を算出するようにしても良い。
【０１２９】
また、上記各実施形態（１）〜（７）では、可変吸気バルブ制御による吸入空気量制御を行うシステムに本発明を適用したが、スロットル制御による吸入空気量制御のみを行うシステムに本発明を適用しても良い。
また、本発明の適用範囲は４気筒のエンジンに限定されず、５気筒以上又は３気筒以下の複数気筒エンジンンに本発明を適用しても良い。
【図面の簡単な説明】
【図１】本発明の実施形態（１）におけるエンジン制御システム全体の概略構成図
【図２】可変バルブリフト機構の正面図
【図３】実施形態（１）の気筒間ばらつき補正ルーチンの処理の流れを示すフローチャート
【図４】基本リフト補正量ＦＶＶＬ１のマップを概念的に示す図
【図５】補正係数ＦＶＶＬ２のマップを概念的に示す図
【図６】実施形態（１）の吸入空気量面積算出メインルーチンの処理の流れを示すフローチャート
【図７】エアフローメータの出力電圧ＶＡＦＭを瞬時空気流量ＧＡＦＭに変換するマップを概念的に示す図
【図８】実施形態（１）の各気筒の所定期間の吸入空気量面積算出ルーチンの処理の流れを示すフローチャート
【図９】実施形態（１）の所定期間Ｐマップを概念的に示す図
【図１０】実施形態（１）の所定期間Ｐの吸入空気量面積を算出する方法を説明するタイムチャート
【図１１】実施形態（１）の気筒間吸入空気量ばらつき率算出ルーチンの処理の流れを示すフローチャート
【図１２】補正係数Ｋ２のマップを概念的に示す図
【図１３】実施形態（１）の気筒間吸入空気量ばらつき率算出処理の一例を説明するタイムチャート
【図１４】実施形態（１）の気筒間ばらつき補正の一例を説明するタイムチャート
【図１５】実施形態（２）の各気筒の所定期間の吸入空気量面積算出ルーチンの処理の流れを示すフローチャート
【図１６】実施形態（２）のエアフローメータの検出遅れ時間ＤＬＹを算出するマップを概念的に示す図
【図１７】実施形態（２）の所定期間の吸入空気量面積を算出する方法を説明するタイムチャート
【図１８】実施形態（２）の気筒間吸入空気量ばらつき率算出処理の一例を説明するタイムチャート
【図１９】実施形態（３）の各気筒の所定期間の吸入空気量面積算出ルーチンの処理の流れを示すフローチャート
【図２０】実施形態（３）の所定期間の吸入空気量面積を算出する方法を説明するタイムチャート
【図２１】実施形態（３）の気筒間吸入空気量ばらつき率算出処理の一例を説明するタイムチャート
【図２２】実施形態（４）の吸入空気量面積算出メインルーチンの処理の流れを示すフローチャート
【図２３】吸気管圧力センサの出力電圧ＶＭＡＰを瞬時吸気管圧力ＰＭＡＰに変換するマップを概念的に示す図
【図２４】実施形態（４）の各気筒の所定期間の吸入空気量面積算出ルーチンの処理の流れを示すフローチャート
【図２５】エアフローメータの出力と吸気管圧力センサの出力との相関関係を説明するタイムチャート
【図２６】実施形態（５）の各気筒の所定期間の吸入空気量面積算出ルーチンの処理の流れを示すフローチャート
【図２７】実施形態（６）の各気筒の所定期間の吸入空気量面積算出ルーチンの処理の流れを示すフローチャート
【図２８】実施形態（７）の筒内圧面積算出メインルーチンの処理の流れを示すフローチャート
【図２９】筒内圧センサの出力電圧ＶＣＰＳ（＃ｉ）を筒内圧ＣＰＳ（＃ｉ）に変換するマップを概念的に示す図
【図３０】実施形態（７）の燃焼時の各気筒の所定期間の筒内圧面積算出ルーチンの処理の流れを示すフローチャート
【図３１】実施形態（７）の非燃焼時の各気筒の所定期間の筒内圧面積算出ルーチンの処理の流れを示すフローチャート
【図３２】燃焼時の筒内圧波形を示すタイムチャート
【図３３】非燃焼時の筒内圧波形を示すタイムチャート
【図３４】実施形態（７）の気筒間吸入空気量ばらつき率算出処理の一例を説明するタイムチャート
【符号の説明】
１１…エンジン（内燃機関）、１２…吸気管、１４…エアフローメータ（検出手段）、１５…スロットルバルブ、１８…吸気管圧力センサ（検出手段）、２０…燃料噴射弁、２１…点火プラグ、２２…排気管、２４…空燃比センサ、２６…クランク角センサ、２７…ＥＣＵ（面積算出手段，気筒間吸入空気量ばらつき算出手段）、２８…吸気バルブ、２９…排気バルブ、３０，３１…可変バルブリフト機構。
【図１】
2004176644.tif 000005
【図２】
2004176644.tif 000006
【図３】
2004176644.tif 000007
【図４】
2004176644.tif 000008
【図５】
2004176644.tif 000009
【図６】
2004176644.tif 000010
【図７】
2004176644.tif 000011
【図８】
2004176644.tif 000012
【図９】
2004176644.tif 000013
【図１０】
2004176644.tif 000014
【図１１】
2004176644.tif 000015
【図１２】
2004176644.tif 000016
【図１３】
2004176644.tif 000017
【図１４】
2004176644.tif 000018
【図１５】
2004176644.tif 000019
【図１６】
2004176644.tif 000020
【図１７】
2004176644.tif 000021
【図１８】
2004176644.tif 000022
【図１９】
2004176644.tif 000023
【図２０】
2004176644.tif 000024
【図２１】
2004176644.tif 000025
【図２２】
2004176644.tif 000026
【図２３】
2004176644.tif 000027
【図２４】
2004176644.tif 000028
【図２５】
2004176644.tif 000029
【図２６】
2004176644.tif 000030
【図２７】
2004176644.tif 000031
【図２８】
2004176644.tif 000032
【図２９】
2004176644.tif 000033
【図３０】
2004176644.tif 000034
【図３１】
2004176644.tif 000035
【図３２】
2004176644.tif 000036
【図３３】
2004176644.tif 000037
【図３４】
2004176644.tif 000038