(57)【要約】【課題】改良された気筒間の出力変動を抑制する手法および該手法を利用した吸気および燃料のずれを見極める手法を提案する。【解決手段】内燃機関の回転速度に応じた回転速度パラメータ（OMG）を検出する。回転速度パラメータの基準値を算出し、気筒毎に、該基準値と、所定のクランク角度毎に検出される該回転速度パラメータとの偏差を相対速度パラメータ（OMGREF）として算出する。気筒毎に、該相対速度パラメータを所定期間にわたって積算して積算値（MFJUD）を算出する。該積算値を全気筒について加算した値（TRQALL）の気筒あたりの平均値（TRQPARM）を算出し、気筒毎に、該気筒の上記積算値と該平均値との偏差を算出する。該気筒について算出された該偏差に応じて、内燃機関の出力を変更する。出力変更のための補正量として、点火時期の補正量が算出され、該補正に基づいて、気筒毎に吸気量および燃料量のずれを見極める。【選択図】図１０
2008215338.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の気筒間の出力変動を抑制する出力変動制御装置であって、
前記内燃機関の出力を変更する出力変更手段と、
前記内燃機関の回転速度に応じた回転速度パラメータを検出する回転速度パラメータ検出手段と、
前記回転速度パラメータの基準値を算出する基準値算出手段と、
前記気筒毎に、前記基準値と、所定のクランク角度毎に検出される前記回転速度パラメータとの偏差を、相対速度パラメータとして算出する相対速度パラメータ算出手段と、
前記気筒毎に、前記相対速度パラメータを所定期間にわたって積算して積算値を算出する積算値算出手段と、
前記積算値を全気筒について加算した値の気筒あたりの平均値を算出する平均値算出手段と、
前記気筒毎に、該気筒の前記積算値と前記平均値の偏差を算出する偏差算出手段と、
前記気筒間の出力変動を抑制するよう、前記気筒毎に、該気筒について算出された前記偏差に応じて前記出力変更手段を制御する制御手段と、
を備える、出力変動制御装置。
【請求項２】
前記内燃機関が所定の運転状態にあるとき、前記気筒毎に、前記積算値を所定期間にわたって平均化して積算平均値を算出する手段を備え、
前記平均値算出手段により算出される平均値は、該積算平均値を全気筒について加算した値の気筒あたりの平均値であり、
前記偏差算出手段により算出される偏差は、前記気筒毎に、該気筒の前記積算平均値と、前記積算平均値を全気筒について加算した値の気筒あたりの前記平均値との偏差である、
請求項１に記載の出力変動制御装置。
【請求項３】
前記出力変更手段は、前記気筒毎に、該気筒に対し燃料を供給する燃料供給装置と、該気筒内で混合気に点火する点火装置を含んでおり、
前記制御手段は、前記内燃機関の運転状態に基づいて、前記燃料供給装置によって供給される燃料の量および前記点火装置によって混合気に点火する点火時期のそれぞれについて補正が許可可能かどうかを判断し、許可可能と判断された燃料供給量および点火時期のいずれかまたは両方を前記気筒毎に補正することにより、前記気筒間の出力変動を抑制する、
請求項１または２に記載の出力変動抑制装置。
【請求項４】
前記出力変更手段は、前記気筒毎に、該気筒に対し燃料を供給する燃料供給装置と、該気筒内で混合気に点火する点火装置と、該気筒の吸気バルブのリフト量を可変に制御可能な可変リフト機構を含んでおり、
前記制御手段は、前記内燃機関の運転状態に基づいて、前記燃料供給装置によって供給される燃料の量、前記点火装置によって混合気に点火する点火時期、および前記可変リフト機構によって制御される吸気バルブのリフト量の補正が許可可能かどうか判断し、許可可能と判断された燃料供給量、点火時期およびリフト量のうちの１つまたは複数を前記気筒毎に補正することにより、前記気筒間の出力変動を抑制する、
請求項１または２に記載の出力変動抑制装置。
【請求項５】
複数の気筒を備える内燃機関の制御装置であって、
前記内燃機関の回転速度に応じて回転速度パラメータを検出する回転速度パラメータ検出手段と、
前記回転速度パラメータの基準値を算出する基準値算出手段と、
前記気筒毎に、前記基準値と、所定のクランク角度毎に検出される前記回転速度パラメータとの偏差を、相対速度パラメータとして算出する相対速度パラメータ算出手段と、
前記気筒毎に、前記相対速度パラメータを所定期間にわたって積算し、積算値を算出する積算値算出手段と、
前記気筒間の出力が平滑化されるよう、該気筒毎に、該気筒の前記積算値に基づいて、点火時期を補正するための点火時期補正量を算出する点火時期補正量算出手段と、
前記気筒間の空燃比が平滑化されるよう、該気筒毎に、燃料量を制御する燃料制御出手段と、
前記気筒毎に、前記点火時期補正量に応じて、第１の所望値に対する該気筒の吸入空気量のずれ量と、第２の所望値に対する、前記燃料制御手段によって制御される該気筒の燃料量のずれ量と、を区別して特定する気筒毎ずれ量特定手段と、を備え、
前記第１の所望値は、前記気筒間に吸入空気量のバラツキが存在しない場合の吸入空気量を示し、前記第２の所望値は、該気筒間の空燃比を平滑化するための燃料量のバラツキが該気筒間に存在しない場合の燃料量を示す、
制御装置。
【請求項６】
前記気筒毎ずれ量特定手段は、前記気筒毎に、前記点火時期補正量に応じて前記吸入空気量のずれ量を求めると共に、該吸入空気量のずれ量に応じて、前記燃料量のずれ量を求める、
請求項５に記載の制御装置。
【請求項７】
すべての気筒の空燃比が所定値に維持されている場合の、点火時期補正量と、前記第１の所望値からの吸入空気量のずれ量との間の相関を定義した第１のテーブルを有しており、
前記気筒毎ずれ量特定手段は、前記気筒毎に、前記点火時期補正量算出手段によって算出された点火時期補正量に基づいて該第１のテーブルを参照することにより、該気筒の前記吸入空気量のずれ量を求める、
請求項５または６に記載の制御装置。
【請求項８】
前記第１の所望値は、前記内燃機関の運転状態に応じて予め決められた所定値である、
請求項５から７のいずれかに記載の制御装置。
【請求項９】
気筒間で空燃比を平滑化するための燃料量のバラツキが該気筒間に存在しない場合の、前記第１の所望値からの吸入空気量のずれ量と、第１の燃料補正量との間の相関を定義した第２のテーブルを有しており、
前記気筒毎ずれ量特定手段は、前記気筒毎に、前記吸入空気量のずれ量に基づいて該第２のテーブルを参照することにより、該気筒の前記第１の燃料補正量を、前記第２の所望値として求める、
請求項５から８のいずれかに記載の制御装置。
【請求項１０】
前記燃料制御手段は、前記気筒毎に、該気筒に供給される燃料の第２の燃料補正量を算出することにより、該気筒への燃料量を制御し、
前記気筒毎ずれ量特定手段は、前記気筒毎に、前記第２の燃料補正量の前記第２の所望値に対するずれ量を、前記燃料量のずれ量として算出する、
請求項９に記載の制御装置。
【請求項１１】
さらに、
前記気筒毎に、該気筒の前記吸入空気量のずれ量が所定値を超えたかどうかを判断し、超えたと判断したときは、該気筒の吸気系に異常があると判断する手段を備える、
請求項５から１０のいずれかに記載の制御装置。
【請求項１２】
さらに、
前記気筒毎に、該気筒の前記燃料量のずれ量が所定値を超えたかどうかを判断し、超えたと判断したときは、該気筒の燃料系に異常があると判断する手段を備える、
請求項５から１１のいずれかに記載の制御装置。
【請求項１３】
前記内燃機関の吸気バルブのリフト量を可変に制御可能なリフト量制御手段と、
前記内燃機関の吸気管の圧力を制御可能な圧力制御手段と、
いずれかの気筒の前記吸入空気量のずれ量が所定値を超えたときは、すべての気筒について、前記リフト量制御手段を介して制御されるリフト量を増やすとともに、前記圧力制御手段を介して制御される圧力を小さくする、
請求項５から１２のいずれかに記載の制御装置。
【請求項１４】
前記気筒毎ずれ量特定手段による処理は、前記内燃機関がアイドル運転状態にあるときに実施される、
請求項５から１３のいずれかに記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内燃機関の制御装置に関し、より具体的には、気筒間の出力変動を抑制するための制御装置、および、気筒毎に、吸気系のずれと燃料系のずれを区別して特定することができる制御装置に関する。
【背景技術】
【０００２】
下記の特許文献１には、内燃機関の気筒間のバラツキを抑制する手法が開示されている。この手法によると、全気筒の筒内圧の合計値から算出された平均値と、気筒毎の筒内圧の平均値との偏差を算出し、その偏差に基づいて燃料供給量および点火時期を調整する。
【特許文献１】特開２０００−６４８９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記手法によれば、燃料供給量や点火時期を制御することによって気筒間の出力の変動（バラツキ）を抑制することができる。しかしながら、この手法によれば、出力の変動を平滑化するのに、筒内圧センサ等の付加的な構成要素を必要とする。
【０００４】
そこで、本願発明の一つの目的は、このような付加的な構成要素を必要とすることなく、より簡単な手法で気筒間の出力の変動を抑制することができる改良された手法を提案することである。
【０００５】
また、気筒間のバラツキは、燃料系と吸気系のそれぞれで生じうる。仮に、気筒間において、燃料量のバラツキが存在しない場合でも、吸入空気量のバラツキが存在すれば、それによって出力にバラツキが生じる。他方、気筒間において、吸入空気量のバラツキが存在しない場合でも、燃料量にバラツキが存在すれば、それによって出力にバラツキが生じる。気筒間の出力を、より良好な精度で平滑化させるために、燃料量と吸入空気量のどちらにどの程度のバラツキが生じているかを見極めることが望ましい。
【課題を解決するための手段】
【０００６】
この発明の一つの側面によると、内燃機関の気筒間の出力変動を抑制する出力変動制御装置は、内燃機関の出力を変更する出力変更手段と、内燃機関の回転速度に応じた回転速度パラメータ（ＯＭＧ）を検出する回転速度パラメータ検出手段と、回転速度パラメータの基準値を算出する基準値算出手段と、気筒毎に、該基準値と、所定のクランク角度毎に検出される該回転速度パラメータとの偏差を、相対速度パラメータ（ＯＭＧＲＥＦ）として算出する相対速度パラメータ算出手段と、気筒毎に、該相対速度パラメータを所定期間にわたって積算して積算値（ＭＦＪＵＤ）を算出する積算値算出手段と、を備える。さらに、該装置は、該積算値を全気筒について加算した値（ＴＲＱＡＬＬ）の気筒あたりの平均値（ＴＲＱＰＡＲＭ）を算出する平均値算出手段と、気筒毎に、該気筒の上記積算値と該平均値との偏差（ＤＴＲＱＰＡＲＭ）を算出する偏差算出手段と、気筒間の出力変動を抑制するよう、気筒毎に、該気筒について算出された該偏差に応じて上記出力変更手段を制御する制御手段と、を備える。
【０００７】
本願発明者は、気筒毎について算出される相対速度パラメータの積算値が、該気筒の出力トルクを表すことを知見した。したがって、この積算値を用いることにより、より簡単な手法で気筒間の出力変動（バラツキ）を抑制することができる。また、相対速度パラメータは、従来より車両に設けられているクランク角センサの出力から得られるので、付加的なセンサを必要としない。したがって、従来からのエンジン構造を変更する必要がなく、出力変動を抑制するのに、コストが増大することを回避することができる。
【０００８】
この発明の一実施例によると、さらに、内燃機関が所定の運転状態にあるとき、気筒毎に、上記積算値を所定期間にわたって平均化して積算平均値を算出する手段を備える。上記の平均値は、該積算平均値を全気筒について加算した値の気筒あたりの平均値となる。上記の偏差は、気筒毎に、該気筒の該積算平均値と、該積算平均値を全気筒について加算した値の気筒あたりの平均値との偏差である。
【０００９】
前述したように、気筒について算出された積算値は該気筒の出力トルクを表しているので、積算値を所定期間にわたって平均した値は、単位期間あたりの該気筒の出力トルクを表し、これを用いても、気筒間の出力変動を検出することができる。また、所定の運転状態にある時に演算を行うので、たとえば内燃機関の出力が安定している時に演算して、より良好な精度で気筒毎の偏差を算出することができる。
【００１０】
この発明の一実施例によると、上記の出力変更手段は、気筒毎に、該気筒に対して燃料を供給する燃料供給装置と、該気筒内で混合気に点火する点火装置を含むことができる。上記の制御手段は、内燃機関の運転状態に基づいて、燃料供給装置によって供給される燃料の量および点火装置によって混合気に点火する点火時期のそれぞれについて補正が許可可能かどうかを判断し、許可可能と判断された燃料供給量および点火時期のいずれかまたは両方を気筒毎に補正することにより、気筒間の出力変動を抑制する。
【００１１】
この発明によれば、燃料供給量および点火時期のいずれかまたは両方を補正することにより、気筒間の出力変動を抑制することができる。また、補正を行う前に補正許可の判断を行うので、補正によって内燃機関の運転状態が不安定になるのを回避することができる。
【００１２】
この発明の一実施例によると、上記の出力変更手段は、気筒毎に、該気筒に対して燃料を供給する燃料供給装置と、該気筒内で混合気に点火する点火装置と、該気筒の吸気バルブのリフト量を可変に制御可能な可変リフト機構を含むことができる。上記の制御手段は、内燃機関の運転状態に基づいて、燃料供給装置によって供給される燃料の量、点火装置によって混合気に点火する点火時期、および可変リフト機構によって制御される吸気バルブのリフト量の補正が許可可能かどうか判断し、許可可能と判断された燃料供給量、点火時期およびリフト量のうちの１つまたは複数を気筒毎に補正することにより、気筒間の出力変動を抑制する。
【００１３】
この発明によれば、燃料供給量および点火時期だけでなく、リフト量によっても、気筒間の出力変動を抑制することができる。また、補正を行う前に補正許可の判断を行うので、補正によって運転状態が不安定になるのを回避することができる。
【００１４】
この発明の他の側面によると、内燃機関の制御装置は、内燃機関の回転速度に応じて回転速度パラメータ（ＯＭＧ）を検出する回転速度パラメータ検出手段と、回転速度パラメータの基準値（ＯＭＧ）を算出する基準値算出手段と、気筒毎に、該基準値と、所定のクランク角度毎に検出される回転速度パラメータとの偏差を、相対速度パラメータ（ＯＭＧＲＥＦ）として算出する相対速度パラメータ算出手段と、気筒毎に、相対速度パラメータを所定期間にわたって積算し、積算値（ＭＦＪＵＤ）を算出する積算値算出手段と、気筒間の出力が平滑化されるよう、気筒毎に、該気筒の積算値に基づいて、点火時期を補正するための点火時期補正量を算出する点火時期補正量算出手段（３０）と、気筒間の空燃比が平滑化されるよう、気筒毎に、燃料量を制御する燃料制御手段（１３１）と、気筒毎に、該点火時期補正量に応じて、第１の所望値に対する該気筒の吸入空気量のずれ量と、第２の所望値に対する、上記燃料制御手段によって算出される該気筒の燃料量のずれ量と、を区別して特定する気筒毎ずれ量特定手段（１３３，１４１，１４２）と、を備える。ここで、第１の所望値は、気筒間に吸入空気量のバラツキが存在しない場合の吸入空気量を示し、第２の所望値は、気筒間の空燃比を平滑化するための燃料量のバラツキが該気筒間に存在しない場合の燃料量を示す。
【００１５】
この発明によれば、気筒間の出力を平滑化するよう算出された点火時期補正量に基づいて、吸入空気量がどの気筒でどの程度ずれているのか、および、燃料量がどの気筒でどの程度ずれているのか、を特定することができる。気筒毎にずれ量を特定できるだけでなく、吸入空気量のずれと燃料量のずれを区別して特定することができるので、吸気系と燃料系のどちらに問題があるのかを気筒毎に明瞭に見極めることができる。
【００１６】
この発明の一実施例によると、上記気筒毎ずれ量特定手段は、気筒毎に、上記点火時期補正量に応じて吸入空気量のずれ量を求めると共に、該吸入空気量のずれ量に応じて該燃料量のずれ量を求める。こうして、点火時期補正量から、吸入空気量と燃料量のそれぞれについて、ずれ量を求めることができる。
【００１７】
この発明の一実施例では、制御装置は、すべての気筒の空燃比が所定値に維持されている場合の、点火時期補正量と、第１の所望値からの吸入空気量のずれ量との間の相関を定義した第１のテーブルを有している。気筒毎に、点火時期補正量に基づいて該第１のテーブルを参照することにより、吸入空気量のずれ量を求める。
【００１８】
点火時期補正量は、気筒間の出力を平滑化するための補正量である。したがって、全気筒が所定の空燃比（たとえば、理論空燃比）に維持されている条件下では、点火時期補正量は、現在の吸入空気量のずれ量に対して相関を有する。したがって、この発明によれば、点火時期補正量に基づいて、吸入空気量がどの程度ずれているかを推定することができる。
【００１９】
この発明の一実施例では、第１の所望値は、運転状態に基づいて予め決められた所定値である。したがって、吸入空気量のずれ量は、該所定値に対する偏差として算出される。
【００２０】
この発明の一実施例によると、制御装置は、気筒間で空燃比を平滑化するための燃料量のバラツキが気筒間に存在しない場合の、第１の所望値からの吸入空気量のずれ量と、第１の燃料補正量との間の相関を定義した第２のテーブルを有している。気筒毎に、吸入空気量のずれ量に基づいて該第２のテーブルを参照することにより、第１の燃料補正量を上記第２の所望値として求める。一実施例では、燃料制御手段は、気筒毎に、該気筒に供給される燃料の第２の燃料補正量を算出することにより、該気筒への燃料量を制御する。該第２の燃料補正量の、上記第２の所望値すなわち第１の燃料補正量に対するずれ量が、燃料量のずれ量として算出される。
【００２１】
気筒間で空燃比を平滑化するための燃料量のバラツキが気筒間に存在しない（すなわち、燃料系にバラツキが存在しない）という条件下では、吸入空気量のずれ量は、燃料補正量に対して相関を有する。したがって、この相関関係を用いて、吸入空気量のずれ量から、第１の燃料補正量を求めることができる。
【００２２】
第１の燃料補正量は、燃料系にバラツキが存在しない場合の燃料補正量である。したがって、燃料制御手段によって算出される第２の燃料補正量と比較することにより、該燃料制御手段によって実現される燃料系の平滑化において、実際にバラツキが生じているかどうかを見極めることができる。
【００２３】
この発明の一実施例によると、気筒毎に、該気筒の吸入空気量のずれ量が所定値を超えたときは、該気筒の吸気系に異常があると判断する。さらに一実施例では、気筒毎に、該気筒の燃料量のずれ量が所定値を超えたときは、該気筒の燃料系に異常があると判断する。こうして、どの気筒のどの系で異常生じているのかを見極めることができる。
【００２４】
この発明の一実施例によると、内燃機関の吸気バルブのリフト量を可変に制御可能なリフト量制御手段と、内燃機関の吸気管の圧力を制御可能な圧力制御手段とを備える。いずれかの気筒の吸入空気量のずれ量が所定値を超えたときは、すべての気筒について、リフト量制御手段を介して制御されるリフト量を増やすとともに、該圧力制御手段を介して制御される圧力を小さくする。
【００２５】
このような制御により、吸入空気量のずれ量が、リフト量に対して相対的に小さな割合となり、よって、該ずれ量を、吸入空気量の平滑化に影響を与えないほどの割合すなわち無視可能な割合にすることができる。目標吸入空気量を維持するため、リフト量の増加に伴い、吸気管の圧力は小さくされる（吸気管の圧力は負圧であるので、該負圧の絶対値が大きくされることとなる）。
【００２６】
この発明の一実施例によると、上記気筒毎ばらつき特定手段による処理は、内燃機関がアイドル運転状態にあるときに実施される。アイドル運転状態においては、内燃機関の運転状態が安定しているので、気筒毎の吸気系および燃料系のずれ量を安定的に判断することができる。
【発明を実施するための最良の形態】
【００２７】
次に図面を参照してこの発明の実施の形態を説明する。図１は、この発明の実施形態に従う、内燃機関（以下、エンジンと呼ぶ）およびその制御装置の全体的な構成図である。
【００２８】
図１（ａ）を参照すると、電子制御ユニット（以下、「ＥＣＵ」）という）１は、中央演算処理装置（ＣＰＵ）およびメモリを備えるコンピュータである。メモリには、車両の様々な制御を実現するためのコンピュータ・プログラムおよび該プログラムの実施に必要なデータおよびマップを格納することができる。ＥＣＵ１は、車両の各部から送られてくるデータを受け取って演算を行い、車両の各部を制御するための制御信号を生成する。
【００２９】
エンジン２は、この実施例では６個の気筒を備えている。エンジン２には、吸気管３および排気管４が備えられている。
【００３０】
ＥＧＲ通路５が、吸気管３と排気管４の間に接続されており、ＥＧＲ通路５を介して、排気管４の排ガスを吸気管３に還流し、各気筒に供給することができる。還流する排ガスの量は、ＥＧＲバルブ６により調整することができる。ＥＧＲバルブ６の開度は、ＥＣＵ１からの制御信号に従って変更される。
【００３１】
吸気管３には、吸気管２を通過する空気量を検出するエアフローメータ（ＡＦＭ）７、吸気管３の温度ＴＡを検出する吸気温センサ８、および吸気管３の圧力ＰＢを検出する吸気管圧力センサ９が設けられている。これらのセンサの検出値は、ＥＣＵ１に送られる。ＥＣＵ１は、吸気管圧力センサ９の検出値から、ゲージ圧（大気圧に対する吸気管圧力の差圧）を算出する。吸気管３は、吸気管圧力センサ９の下流で、各気筒に向かって分岐されている。
【００３２】
エンジン２には、エンジン２の冷却水の温度ＴＷを検出する水温センサ１０、およびクランク角センサ１１が設けられている。クランク角センサ１１は、クランクシャフト２６（図１（ｂ）参照）の回転に従って、ＣＲＫ信号およびＴＤＣ信号をＥＣＵ１に出力する。ＣＲＫ信号は、所定のクランク角毎に出力される。ＥＣＵ１は、ＣＲＫ信号に応じ、エンジン２の回転数ＮＥを算出する。ＴＤＣ信号は、ピストン２５（図１（ｂ）参照）の上死点（ＴＤＣ）位置に関連したクランク角度で出力される。また、大気圧ＰＡを検出するＰＡセンサ１２が、ＥＣＵ１に接続されている。
【００３３】
また、エンジン１の排気管の排ガスを浄化する装置（図示せず）の上流には、空燃比（ＬＡＦ）センサ１３が設けられており、エンジン２のリーンからリッチにわたる領域の空燃比をリニアに検出する。空燃比センサ１３の検出値は、ＥＣＵ１に送られる。
【００３４】
図１（ｂ）を参照すると、エンジン２に搭載された気筒のうちの１つが示されている。気筒の燃焼室１５は、吸気バルブ１６を介して吸気管３に連結され、排気バルブ１７を介して排気管４に連結されている。燃料噴射弁１８が吸気管３に取り付けられている。燃料噴射機構２１は、ＥＣＵ１からの制御信号に従って、燃料噴射弁１８を駆動して燃料を噴射させる。燃料噴射弁１８および燃料噴射機構２１を合わせて燃料供給装置と呼ばれる。
【００３５】
点火プラグ１９が、燃焼室１５に臨むように取り付けられている。点火機構２２は、ＥＣＵ１からの制御信号に従って点火プラグ１９を駆動して火花を飛ばす。該火花により、噴射された燃料と空気の混合気が、燃焼室１５内で燃焼する。点火プラグ１９と点火機構２２を合わせて点火装置と呼ばれる。
【００３６】
燃焼により混合気の体積は増大し、これによりピストン２５を下方に押し下げる。ピストン２５の往復運動は、クランクシャフト２６の回転運動に変換される。
【００３７】
可変リフト機構２３は、ＥＣＵ１からの制御信号に従って、吸気バルブ１６のリフト量を変更する。リフト量により、燃焼室１５内に吸入される空気の量を調整することができる。可変リフト機構２３は、任意の適切な手法で構成されることができる。たとえば、カムのロッカーアームに一対のリンクアームを連結し、一方のリンクアームの一端を無段階に変位させることにより、リフト量を無段階に変更させることのできる可変リフト機構が提案されている（特開２００４―３６５６０号公報）。可変リフト機構２３には、各気筒の吸気バルブ１６のリフト量を検出するリフト量センサ（図示せず）が設けられている。リフト量センサは、任意の適切な手法により（たとえば、ポテンショメータを用いて）実現されることができる。
【００３８】
この実施例では、図１の（ａ）に示すように、可変リフト機構２３に加え、吸気管３にスロットル弁２７が設けられている。スロットル弁２７には、ＥＣＵ１からの制御信号によって該スロットル弁の開度を制御するスロットル機構（図示せず）が接続されている。スロットル弁２７の開度を制御することにより、燃焼室１５内に取り込まれる吸入空気量を制御することができる。以下の実施例では、吸入空気量は、主に可変リフト機構２３によって制御されるが、エンジン２の運転領域（出力や負荷の状態）に応じて、スロットル弁２７の制御を実施することもできる。スロットル弁２７には、スロットル弁の開度を検出するスロットル弁開度（θＴＨ）センサ２８が連結されており、この検出値は、ＥＣＵ１に送られる。
【００３９】
また、図には示していないが、吸気バルブ１６および／または排気バルブ１７の位相を変更可能な可変位相機構を搭載してもよい。また、可変位相機構の有無にかかわらず、吸気バルブ１６および／または排気バルブ１７の位相を検出する位相センサを設けることができる。該位相センサは、任意の適切な手法により実現されることができる。位相センサによって、吸気バルブを開弁するタイミングのクランクシャフトに対する位相（進角量）を検出することにより、吸気バルブと排気バルブの両方が開弁しているオーバーラップ期間を求めることができる。
【００４０】
図２は、本願発明の一実施例に従う、気筒間の出力変動を抑制する制御装置３０の機能ブロック図である。これらの機能ブロックは、ＥＣＵ１において実現される。
【００４１】
許可判定部３１は、気筒間の出力変動を抑制するためのプロセスの実行を許可するかどうか判断する。この実施例では、内燃機関がアイドル運転状態にある時に、該プロセスの実行を許可する。これは、内燃機関の出力が低く、かつ安定している時の方が、より安定的に気筒間の出力の変動（バラツキ）を検出することができるからである。
【００４２】
代替的に、該プロセスの実行を許可するかどうかの判定に、他の条件を用いてもよい。たとえば、アイドル運転状態かどうかに代えて、またはアイドル運転状態に加えて、エンジン負荷（吸気管圧力センサ９（図１）により検出される吸気管圧力ＰＢに基づくことができる）、エフローメータ７から検出可能な吸入空気量、水温センサ１０により検出されるエンジン水温ＴＷ、吸気温センサ８により検出される吸気温ＴＡ、リフト量センサにより検出される吸気バルブ１６のリフト量、吸気バルブと排気バルブのオーバーラップ期間、ＥＧＲバルブ６の開度から検出可能な排気ガス還流量（ＥＧＲ量）等を用いることができる。
【００４３】
トルクパラメータ算出部３２は、気筒毎に、該気筒の出力トルクを表すトルクパラメータを算出する。算出手法についての詳細は後述される。
【００４４】
気筒間出力変動判定部３３は、許可判定部３１により許可されたことに応じて、トルクパラメータ算出部３２により算出されたトルクパラメータを用いて、気筒間の出力トルクの変動（バラツキ）を判定する。この判定手法の詳細は、後述される。
【００４５】
出力補正部３４は、エンジン２の運転状態に基づいて、エンジン２の出力トルクを変更可能な運転パラメータのうち、どの運転パラメータの補正が許可可能かどうかを判断することにより、今回補正すべき運転パラメータを決定する。このような許可可能判断を行うことにより、運転パラメータの補正によってエンジン２の運転状態が不安定になることを防ぐことができる。出力補正部３４は、気筒間の出力変動を抑制するよう、上記の判定結果に基づいて、気筒毎に、決定された運転パラメータに対する補正を行う。このような運転パラメータとして、この実施例では、内燃機関に供給される燃料の量、点火時期、および吸入空気量を用いる。
【００４６】
代替的に、エンジン２の出力トルクを変更可能な他の運転パラメータを用いてもよい。たとえば、吸気バルブの開弁時期（位相）を、このような運転パラメータに含めることができる。
【００４７】
出力変動制御部３５は、補正された運転パラメータに従う制御信号を気筒毎に生成し、該制御信号を、対応する機構に送る。たとえば運転パラメータが燃料供給量の場合には、補正された燃料供給量を示す制御信号が気筒毎に生成される。燃料噴射機構２１は、該補正された燃料供給量が、対応する気筒に対して供給されるように、受取った制御信号に従って該気筒の燃料噴射弁１８を駆動する。運転パラメータが点火時期の場合には、補正された点火時期を示す制御信号が気筒毎に生成される。点火機構２２は、補正された点火時期を、対応する気筒で実現するように、受取った制御信号に従って該気筒の点火プラグ１９を駆動する。運転パラメータが吸入空気量である場合には、補正された吸入空気量を示す制御信号が生成される。可変リフト機構２３は、補正された吸入空気量が、対応する気筒に供給されるように、受取った制御信号に従って該気筒の吸気バルブ１６のリフト量を制御する。こうして、気筒毎に、補正された運転パラメータに従って出力トルクが補正され、気筒間の出力変動を抑制することができる。
【００４８】
図３を参照すると、本願発明の一実施形態に従う、ＥＣＵ１のＣＰＵにより実行され、より具体的には、図２のトルクパラメータ算出部３２により実行されるプロセスの一例が示されている。このプロセスを、図４〜図６を参照しながら説明する。該プロセスは、ＴＤＣパルスの発生に同期して実行される。
【００４９】
この実施例では、クランク角センサ１１からのＣＲＫパルスは、クランク角度６度毎に取得される。ＣＲＫパルスの発生時間間隔を示す時間パラメータＣＲＭＥ（ｉ）については、クランク角度７２０度分のデータ（ｉ＝０〜ＮＤ−１，データ数ＮＤは１２０個）がＥＣＵ１のメモリに格納される。また、点火順の気筒識別番号をｋ（＝１〜６）とし、１ＴＤＣ期間内のデータ数をＮＴＤＣ（この例では、２０）とすると、このプロセスの１回の実行で、パラメータｉが（ｋ−１）ＮＴＤＣから（ｋＮＴＤＣ−１）までの演算が行われる。たとえば今回の処理が１番目の気筒（ｋ＝１）に対応する演算を行うときは、パラメータｉは０から（ＮＴＤＣ−１）までの値をとり、５番目の気筒（ｋ＝５）に対応する演算を行うときは、パラメータｉは４ＮＴＤＣから（５ＮＴＤＣ−１）までの値をとる。
【００５０】
ステップＳ１１において、回転速度ＯＭＧ（ｉ）(rad/s)を、式（１）に従って算出する。回転速度ＯＭＧは、ＣＲＫパルスの発生時間間隔を角速度に変換したものであり、クランクシャフト２６の回転する速度を表している。ここで、Ｄθは、時間パラメータＣＲＭＥを計測する角度間隔４π／ＮＤであり、この実施例では、π／３０（rad）である。
ＯＭＧ(i)＝Dθ／ＣＲＭＥ(i)      （１）
【００５１】
図４（ａ）には、エンジン回転数ＮＥが上昇していく時の時間パラメータＣＲＭＥの推移の一例が示されており、図４（ｂ）には、それに対応する回転速度ＯＭＧが示されている。
【００５２】
ステップＳ１２において、式（２）に従って７２０度フィルタ処理を実行し、フィルタ処理後回転速度ＯＭＧＲ（ｉ）を算出する。
OMGR(i)=OMG(i)−(OMG(ND)−OMG(0))×Dθ×i/4π      （２）
【００５３】
７２０度フィルタ処理は、１サイクル期間（クランク角度７２０度）における線形変化分をキャンセルし、比較的周期の短い変動を抽出する。この処理は、エンジンの負荷側からエンジンに加わるトルク（エンジンにより駆動される車両のタイヤや補機から加わるトルク、エンジンの摺動部品の摩擦によるトルク等）に起因する回転変動成分を除くために行われる。図４（ｃ）には、図４（ｂ）に基づいて算出されたＯＭＧＲの推移が示されている。
【００５４】
ステップＳ１３において、式（３）に従って、相対回転速度ＯＭＧＲＥＦを算出する。
OMGREF(i)=OMGR(i)−OMGR((k-1)NTDC)      （３）
【００５５】
ここで、ＯＭＧＲ（（ｋ−１）ＮＴＤＣ）は基準回転速度であり、対象となる気筒の圧縮上死点（ＴＤＣ）におけるフィルタ処理後回転速度に相当する。
【００５６】
ここで図５を参照すると、クランク角度が０〜７２０度の間の相対回転速度の挙動の一例が示されている。＃１〜＃６は、点火順に６つの気筒を識別するのに付された気筒識別番号である。相対回転速度ＯＭＧＲＥＦは、圧縮上死点後、燃料と空気の混合気の燃焼により一旦上昇した後、減少する。なお、失火が発生すると、相対回転速度は、圧縮上死点後、上昇することなく下降することとなる。
【００５７】
相対回転速度ＯＭＧＲＥＦで囲まれた面積Ｓ（網掛けされた部分）は、燃焼によって発生するトルクを表している。したがって、気筒ごとに、相対回転速度ＯＭＧＲＥＦを１ＴＤＣ期間（この実施例では、クランク角度１２０度の期間）にわたって積算することにより得られる積算値を、その気筒で発生するトルクを表すトルクパラメータとして用いることができる。
【００５８】
好ましくは、上記の積算値を算出する前に、ステップＳ１４およびＳ１５を実施して、慣性トルクの影響を相対回転速度から除去する。慣性トルクは、エンジン２の往復運動部品（ピストンおよびコンロッド）の質量、コンロッドの長さ、クランク半径、クランクプーリ、トルクコンバータ、ロックアップクラッチ等のエンジンの負荷側の回転部品の慣性力に基づくトルクである。相対回転速度には、慣性力に基づく成分が含まれているが、慣性トルクは、燃焼により生成される出力トルクに寄与するものではないので、これを除去するのが好ましい。
【００５９】
ステップＳ１４において、式（４）に従い、各気筒の圧縮上死点における慣性力回転速度ＯＭＧＩ（ｋ）を算出する。
ＯＭＧＩ(k)＝Ｋ・ＯＭＧ（(k−1)NTDC）／３I      （４）
【００６０】
ここで、Kは比例定数であり、Iは、クランクプーリ、トルクコンバータなどの回転部品の慣性モーメントを示す。式（４）の根拠については、後述される。なお、自動変速機（図示せず）のロックアップクラッチが係合しているか否かに応じて、慣性モーメントＩの値を変更することが好ましい。これにより、ロックアップクラッチの係合／非係合にかかわらず、より正確なトルクパラメータの算出を行うことができる。
【００６１】
図６（ａ）は、各気筒の圧縮上死点近傍において、基準回転速度の算出と同じタイミングで算出される慣性力回転速度ＯＭＧＩの推移の一例を示す。
【００６２】
ステップＳ１５において、式（５）に従い、修正相対回転速度ＯＭＧＲＥＦＭ（ｉ）を算出する。修正相対回転速度は、慣性トルクの影響が除去された相対回転速度である。
ＯＭＧＲＥＦＭ(i)＝ＯＭＧＲＥＦ(i)＋ＯＭＧＩ(k)      （５）
【００６３】
図６（ｂ）は、各気筒の修正相対回転速度の推移の一例を示す。
【００６４】
ステップＳ１６において、式（６）に従い、修正相対回転速度ＯＭＧＲＥＦＭを積算して、トルクパラメータＭＦＪＵＤ（ｋ）を算出する。
【数１】
2008215338.tif 000003
【００６５】
図６（ｃ）は、１ＴＤＣ期間にわたって修正相対回転速度を積算することにより算出される各気筒のトルクパラメータＭＦＪＵＤの推移の一例を示す。
【００６６】
ステップＳ１７において、気筒識別番号ｋが気筒数Ｎと等しいか否かを判断する。その答えがＮｏであるときは、気筒識別番号ｋを１だけインクリメントし（Ｓ１８）、答えがＹｅｓであるときは、気筒識別番号ｋを１に戻す（Ｓ１９）。
【００６７】
こうして、ＴＤＣパルスの発生に同期して、気筒毎に、該気筒の出力トルクを表すトルクパラメータＭＦＪＵＤが算出される。
【００６８】
ここで、慣性力回転速度ＯＭＧＩを算出するより詳細な手法を説明する。１つの気筒で発生する慣性力によるトルク（単一気筒慣性トルクと呼ぶ）ＴＩ１は、図７に示すようにコンロッド長をL、クランク半径をＲ、オフセットをｅ、クランク軸２６の回転角速度をω、ピストン２５及びコンロッドの合計質量をｍとし、角度θおよびφを図のように定義すると、式（７）で与えられる。以下の式中の角度の単位はラジアン（ｒａｄ）が用いられる。
【数２】
2008215338.tif 000004
【００６９】
図８（ａ）は、式（７）により算出される単一気筒慣性トルクＴＩ１を、クランク角度θの関数として示す。単一気筒慣性トルクＴＩ１の位相を１２０度ずらして６気筒分を加算した合成慣性トルクＴＩは、図８（ｂ）のように推移し、式（８）で近似することができる。
ＴＩ＝−Ａｓｉｎ３θ      （８）
ここで、Ａは、回転角速度ω（ｒａｄ／ｓ）の２乗に比例する係数である。
【００７０】
一方、前述したようにＩを慣性モーメントとすると、合成慣性トルクＴＩは、式（９）で与えられる。
ＴＩ＝Ｉ×（ｄω／ｄｔ）      （９）
【００７１】
式（８）および（９）から式（１０）が得られ、これを回転角速度ωについて解くと、合成トルクＴＩに対応する慣性力回転速度ωＩは、式（１１）で与えられる。
―Ａｓｉｎ３θ＝Ｉ×（ｄω／ｄｔ）            （１０）
ωＩ＝（Ａｃｏｓ３θ×ｄｔ／ｄθ）／３Ｉ      （１１）
【００７２】
図８（ｃ）は、慣性力回転速度ωＩの推移を示す。
【００７３】
よって、圧縮上死点での慣性力回転速度ＯＭＧＩは、式（１１）のθをゼロとして、式（１２）により算出することができる。
ＯＭＧＩ＝（Ａ／３Ｉ）（１／ＯＭＧ）      （１２）
【００７４】
係数Ａは、回転速度ＯＭＧの2乗に比例するので、比例定数をＫとすると、式（１２）は、式（１３）のように変形することができる。
ＯＭＧＩ＝Ｋ・ＯＭＧ／３Ｉ      （１３）
【００７５】
したがって、各気筒の圧縮上死点における慣性力回転速度ＯＭＧＩは、前述した式（４）のように表されることができる。
【００７６】
図８（ｃ）に示すように、圧縮上死点（θ＝０、１２０、２４０、・・・）での慣性力回転速度ＯＭＧＩは最大の値となるので、相対回転速度ＯＭＧＲＥＦに慣性力回転速度ＯＭＧＩを加算すること（これは、基準回転速度から慣性力回転速度ＯＭＧＩを減算することと等価である）により、慣性力回転速度ωＩの影響を除去した修正相対回転速度ＯＭＧＲＥＦＭを得ることができる。なお、図８（ｃ）に示す慣性力回転速度ωＩの周期変動成分は、修正相対回転速度ＯＭＧＲＥＦＭを１ＴＤＣ期間（この実施例では、１２０度）にわたって積算することによりキャンセルされる。
【００７７】
図９は、或る運転状態におけるトルクパラメータＭＦＪＵＤの値を示す。（ａ）は、気筒間のトルクパラメータのバラツキがほとんど無い状態を示し、（ｂ）は、気筒＃１が、他の気筒に比べて、トルクパラメータの偏差が大きい状態を示す。本願発明の目的は、（ｂ）のような状態を、（ａ）のような状態にすることである。
【００７８】
図１０は、この発明の一実施例に従う、ＥＣＵ１のＣＰＵにより実行され、より具体的には、図２の許可判定部３１、出力変動判定部３３、出力補正部３４、および出力変動制御部３５により実行されるプロセスのフローである。
【００７９】
ステップＳ１０１において、エンジンがアイドル運転状態かどうかを判断する。アイドル運転状態ならば、出力変動抑制プロセスを許可し、ステップＳ１０２に進む。
【００８０】
ステップＳ１０２において、式（１４）に従い、気筒ごとに、図３のプロセスによって算出されたトルクパラメータＭＦＪＵＤを所定期間にわたって平均する。ｋは、気筒識別番号を示す。前述したように、トルクパラメータＭＦＪＵＤは、１ＴＤＣ期間にわたって積算された修正相対回転速度ＯＭＧＲＥＦＭである。トルクパラメータＭＦＪＵＤを、１ＴＤＣ期間（この例では、クランク角度１２０度である）にわたって平均することにより、クランク角度あたりのトルクパラメータが算出される。トルクパラメータＭＦＪＵＤが、１ＴＤＣ期間（この実施例では、１２０度）にわたって生成されるトルクを表しているので、その平均値は、クランク角度あたりに生成されるトルクを表す。
ＴＲＱＰＡＲＭ（ｋ）＝ＭＤＪＵＤ（ｋ）／１ＴＤＣ期間    （１４）
【００８１】
ステップＳ１０３において、各気筒のトルクパラメータ平均値ＴＲＱＰＡＲＭを用い、式（１５）に従って、全気筒の平均値ＴＲＱＡＬＬを算出する。ここで、括弧内の数字は、気筒識別番号である。この実施例では、全気筒平均値ＴＲＱＡＬＬが、基準値として用いられる。
ＴＲＱＡＬＬ＝（ＴＲＱＰＡＲＭ(1)＋ＴＲＱＰＡＲＭ(2)＋ＴＲＱＰＡＲＭ(3)＋ＴＲＱＰＡＲＭ(4)＋ＴＲＱＰＡＲＭ(5)＋ＴＲＱＰＡＲＭ(6)）／６    
（１５）
【００８２】
ステップS１０４において、式（１６）に従い、気筒ごとに、全気筒平均値ＴＲＱＡＬＬと、該気筒のトルクパラメータ平均値ＴＲＱＰＡＲＭとの偏差ＤＴＲＱＰＡＲＭを算出する。
ＤＴＲＱＰＡＲＭ（ｋ）＝ＴＲＱＰＡＲＭ（ｋ）−ＴＲＱＡＬＬ
（１６）
【００８３】
ステップＳ１０５において、出力トルクを変更可能な運転パラメータのうち、どの運転パラメータを補正するか、エンジンの運転状態に従って決定するプロセス（図１３〜図１５を参照して後述される）を実行する。この実施例では、前述したように、運転パラメータとして燃料供給量、点火時期および吸入空気量が用いられ、これらのうちの１または複数が、補正すべき運転パラメータとして決定される。
【００８４】
目的は、各気筒のトルクパラメータ平均値ＴＲＱＰＡＲＭが全気筒平均値ＴＲＱＡＬＬになるよう、各気筒の出力を制御することである。したがって、ステップＳ１０６において、ステップＳ１０５で決定された運転パラメータについて、気筒ごとに、該気筒の該偏差ＤＴＲＱＰＡＲＭを解消するための補正係数（点火時期の場合は「補正項」であり、以下同様）Ｃを算出する。
【００８５】
ここで図１１（ａ）を参照すると、燃料量補正マップの一例が示され、図１１（ｂ）を参照すると、点火時期補正マップの一例が示され、図１１の（ｃ）を参照すると、リフト量補正マップの一例が示されている。これらのマップは、ＥＣＵ１のメモリに記憶されることができる。
【００８６】
いずれのマップにおいても、偏差ＤＴＲＱＰＡＲＭがゼロである時は、補正係数Ｃも０であり、よって補正は行われない。偏差ＤＴＲＱＰＡＲＭがゼロより大きくなるにつれ、該気筒のトルクパラメータ平均値が全気筒平均値よりも大きいことを示す。したがって、該気筒のトルクパラメータ平均値を全気筒平均値にまで減らすよう、ゼロより小さい補正係数Ｃが割り当てられる。偏差ＤＴＲＱＰＡＲＭがゼロより小さくなるにつれ、該気筒のトルクパラメータ平均値が、全気筒平均値よりも小さいことを示す。したがって、該気筒のトルクパラメータ平均値を全気筒平均値にまで増やすよう、ゼロより大きい補正係数Ｃが割り当てられる。
【００８７】
補正すべき運転パラメータが燃料供給量であるとき、算出された偏差ＤＴＲＱＰＡＲＭに基づいて図１１（ａ）のようなマップを参照し、該偏差に対応する補正係数Ｃを算出する。補正すべき運転パラメータが点火時期であるとき、算出された偏差ＤＴＲＱＰＡＲＭに基づいて図１１（ｂ）のようなマップを参照し、該偏差に対応する補正項Ｃを算出する。補正すべき運転パラメータがリフト量であるとき、算出された偏差ＤＴＲＱＰＡＲＭに基づいて図１１（ｃ）のようなマップを参照し、該偏差に対応する補正係数Ｃを算出する。
【００８８】
運転パラメータの値は、エンジン２の運転状態に基づいて、任意の適切な手法により算出されている。たとえば、所定の時間間隔で実行される適切な制御プロセスにより、運転パラメータの今回値を算出することができる。ステップＳ１０７では、こうして決定された運転パラメータの今回値を、気筒ごとに、該気筒についてステップＳ１０６で求めた補正係数Ｃに従って補正する。運転パラメータが燃料供給量およびリフト量の場合には、以下の式（１７−１）に従って補正され、運転パラメータが点火時期の場合には、以下の式（１７−２）に従って補正される。補正係数Ｃがゼロであるとき、運転パラメータは補正されない。こうして、補正係数Ｃが大きくなるにつれ、出力トルクが増加するよう運転パラメータは補正される。
補正済み運転パラメータ＝運転パラメータの値×（１＋補正係数Ｃ）
（１７―１）
補正済み運転パラメータ＝運転パラメータの値＋補正項Ｃ
（１７−２）
【００８９】
ステップＳ１０８において、補正済み運転パラメータに従って作動するよう、対応する機構に指示が送られる。たとえば、運転パラメータが燃料供給量であるとき、各気筒について算出された補正済み燃料供給量に基づく制御信号が、燃料噴射機構２１に送られる。燃料噴射機構２１は、各気筒の燃料噴射弁１８を、受け取った制御信号に従って駆動する。こうして、各気筒に、該気筒に対応して算出された補正済み燃料供給量が供給されるようにする。点火時期およびリフト量についても、同様である。
【００９０】
代替的に、ステップＳ１０２のトルクパラメータＭＦＪＵＤの所定期間にわたる平均化は、他の手法を用いてもよい。たとえば、重み付け係数を用いて平滑化を行ってもよいし、移動平均を用いてもよい。
【００９１】
また、図１０に示す実施例では、クランク角あたりのトルクパラメータについて、各気筒と全気筒平均とを比較して偏差を算出したが、代替的に、トルクパラメータ（積算値）ＭＦＪＵＤについて、各気筒と全気筒平均とを比較してもよい。この場合、たとえば図１２のようなプロセスとして実現されることができる。
【００９２】
ステップＳ２０１は、図１０のステップＳ１０１と同じである。ステップＳ２０２において、トルクパラメータＭＦＪＵＤについて、全気筒の平均値を式（１８）により算出する。括弧内の数字は気筒識別番号を示す。
ＴＲＱＡＬＬ＝（ＭＦＪＵＤ(1)＋ＭＦＪＵＤ(2)＋ＭＦＪＵＤ(3)＋ＭＦＪＵＤ(4)＋ＭＦＪＵＤ(5)＋ＭＦＪＵＤ(6)）／６        （１８）
【００９３】
ステップＳ２０３において、式（１９）に従い、それぞれの気筒について、全気筒平均値ＴＲＱＡＬＬと、該気筒のトルクパラメータＭＦＪＵＤの偏差ＤＴＲＱＰＡＲＭを算出する。
ＤＴＲＱＰＡＲＭ（ｋ）＝ＭＦＪＵＤ（ｋ）−ＴＲＱＡＬＬ
（１９）
【００９４】
ステップＳ２０４は、図１０のステップＳ１０５と同じである。ステップＳ２０５において、ステップＳ２０４において決定された運転パラメータについて、該偏差ＤＴＲＱＰＡＲＭを解消するための補正係数Ｃを気筒ごとに算出する。図１１と同様のマップを予め用意してＥＣＵ１のメモリに記憶することができる。偏差に基づいて該マップを参照することにより、補正係数Ｃを求めることができる。ステップＳ２０６およびステップＳ２０７は、図１０のステップＳ１０７およびＳ１０８と同じである。
【００９５】
図１０および図１２に示される実施例では、全気筒平均値に対する各気筒のトルクパラメータの偏差に基づいて補正係数Ｃを求めているが、代替的に、各気筒のトルクパラメータと全気筒平均値との間の比を求め、該比に基づいて補正係数を求めるようにしてもよい。
【００９６】
また、補正係数Ｃを用いて運転パラメータを補正するステップＳ１０７およびＳ２０６に先立ち、該補正を実際に行うことを許可するかどうかの判断ステップを設けてもよい。たとえば、補正すべき運転パラメータとしてリフト量が決定されたが、リフト量を補正によって実際に変更する際に運転状態が急変した（たとえば、エンジン回転数が高くなった）場合には、補正が良好に反映されないことがあるので、このような場合には、リフト量の補正を抑制することができる。
【００９７】
図１３〜図１５は、図１０のステップＳ１０５または図１２のステップＳ２０４で実行される、補正すべき運転パラメータを決定するためのプロセスである。図１３〜図１５のプロセスは、並列に実行されることができる。
【００９８】
図１３は、燃料供給量についてのプロセスを示す。このプロセスでは、エンジン２の運転状態を調べることにより、燃料量の補正を許可するかどうかを判断している。
【００９９】
ステップＳ１１１において、クランク角センサ１１（図１）から検出されるエンジン回転数が、所定値（たとえば、２０００ｒｐｍ）より大きいかどうかを判断する。ステップＳ１１２において、吸気管圧力センサ９から検出される吸気管圧力が、所定値（たとえば、３００ｍｍＨｇ（約４０ｋＰａ））より小さいかどうかを判断する。ステップＳ１１３において、エアフローメータ７により検出される吸入空気量が、所定値（たとえば、０．２ｇ）より大きいかどうかを判断する。ステップＳ１１４において、吸気温センサ８により検出される吸気温ＴＡが所定値（たとえば、７０度）より大きいかどうかを判断する。ステップＳ１１５において、エンジン水温センサ１０により検出されるエンジン水温ＴＷが所定値（たとえば、１００度）より小さいかどうかを判断する。ステップＳ１１６において、大気圧センサ１２により検出される大気圧ＰＡが所定値（たとえば、５５０ｍｍＨｇ（約７３ｋＰａ））より大きいかどうかを判断する。
【０１００】
ステップＳ１１７において、リフト量センサにより検出される吸気バルブのリフト量が所定値（たとえば、０．２ｍｍ）より小さいかどうかを判断する。ステップＳ１１８において、吸排気バルブのオーバーラップ期間が所定値（たとえば、クランク角度２５度）より小さいかどうかを判断する。ステップＳ１１９において、ＥＧＲ率が所定値（たとえば、２０％）より大きいかどうかを判断する。ＥＧＲ率は、還流排ガス量／（還流排ガス量＋新気量）により求められることができる。還流排ガス量は、ＥＧＲバルブ６の開度に基づいて求められることができ、新気量は、エアフローメータ７により検出されることができる。ステップＳ１２０において、エンジン２がアイドル運転状態かどうかを判断する。
【０１０１】
ステップＳ１１１〜Ｓ１２０の判断のすべてがＹｅｓであるならば、燃料供給量の補正を許可し（Ｓ１２１）、よって、燃料供給量が、補正すべき運転パラメータとして決定される。ステップＳ１１１〜Ｓ１２０の判断のいずれかがＮｏであるならば、燃料供給量の補正を不許可とする（Ｓ１２２）。
【０１０２】
図１４は、点火時期の補正を許可するかどうかを判断するプロセスであり、ステップＳ１３９以外は図１３と同様であるので、説明を省略する。ステップＳ１３９では、ＥＧＲ率が所定値（たとえば、２０％）より小さいかどうかを判断する。このステップＥＧＲ率の判断が、燃料供給量（図１３）および以下に示すリフト量（図１５）におけるＥＧＲ率の判断と異なるのは、ＥＧＲ率が高くなるほど、不活性ガスにより燃焼時間が長くなって点火時期が遅角し、その結果、点火時期を用いたトルク制御の安定性が低下するおそれがあるためである。したがって、点火時期については、ＥＧＲ率が所定値より小さいときに補正を許可している。
【０１０３】
図１５は、リフト量の補正を許可するかどうかを判断するプロセスであり、図１３と同様であるので説明を省略する。
【０１０４】
このように、燃料供給量、点火時期およびリフト量からなる運転パラメータのうち、エンジン２の運転状態に基づいて許可可能と判断された運転パラメータが、補正すべき運転パラメータとして決定される。運転状態に基づいて補正の許可可能性を判断しているので、運転パラメータの補正に起因して、エンジン２の運転状態が不安定になることを回避することができる。
【０１０５】
図１３〜図１５に示される判断ステップは一例であり、様々な形態が考えられる。たとえば、これらの判断ステップのすべてを必ずしも実行する必要はなく、また、他の判断を含めてもよい。さらに、エンジンの運転状態だけでなく、エンジンの特性（ストイキエンジンかリーンバーンエンジンか等）を考慮してもよい。この例では、すべての判断の答えがＹｅｓである場合（ＡＮＤ条件）に補正を許可しているが、或る１つまたは複数の判断の答えがＹｅｓであるか、または、他の１つまたは複数の判断の答えがＹｅｓであるときに（ＯＲ条件）、補正を許可するようにしてもよい。
【０１０６】
以下は、図３のトルクパラメータ算出部３２により実行されるトルクパラメータを算出する手法の代替形態の説明である。
【０１０７】
図１６は、図３に示すプロセス（第１の実施形態）の変形例を示し、ステップＳ１５およびＳ１６を、ステップＳ１６ａ、Ｓ１６ｂおよびＳ１６ｃに変更したものである。
【０１０８】
ステップＳ１６ａでは、式（２０）に従い、相対回転速度ＯＭＧＲＥＦ（ｉ）の積算値として、トルクパラメータＭＦＪＵＤａ（ｋ）を算出する。
【数３】
2008215338.tif 000005
【０１０９】
ステップＳ１６ｂでは、式（２１）に従い、慣性力回転速度ＯＭＧＩの積算値ＭＦＴＨ（ｋ）を算出する。
ＭＦＴＨ（ｋ）＝−ＮＴＤＣ×ＯＭＧＩ（ｋ）    （２１）
【０１１０】
ステップＳ１６ｃでは、式（２２）に従い、トルクパラメータＭＦＪＵＤを算出する。
ＭＦＪＵＤ（ｋ）＝ＭＦＪＵＤａ（ｋ）―ＭＦＴＨ（ｋ）    （２２）
【０１１１】
このように、この変形例では、修正相対回転速度を積算することに代えて、相対回転速度を積算した値と慣性力回転速度を積算した値とを用いてトルクパラメータＭＦＪＵＤを算出する。
【０１１２】
図１７は、トルクパラメータを算出するプロセスの第２の実施形態のフローを示す。図３および図１６を参照して説明した第１の実施形態では、時間パラメータＣＲＭＥを回転速度ＯＭＧに変換したが、この形態では、時間パラメータＣＲＭＥを速度パラメータとして使用する。以下のプロセス中で算出される相対時間パラメータＣＲＭＥＲＥＦの積算値は、図５に一例として示された相対回転速度ＯＭＧＲＥＦの積算値と同様の変化を呈するので、トルクを表すパラメータとして用いることができる。なお、以下に説明する点以外は、第１の実施形態と同じである。
【０１１３】
ステップＳ３２において、式（２３）に従って７２０度フィルタ処理を実行し、フィルタ処理後時間パラメータＣＲＭＥＲ（ｉ）を算出する。
CRMER(i)＝CRME(i)―(CRME(0)−CRME(ND)）×Dθ×i/4π      （２３）
【０１１４】
ステップＳ３３において、式（２４）に従い、相対時間パラメータＣＲＭＥＲＥＦ（ｉ）を算出する。ここで、ＣＲＭＥＲ（（ｋ−１）ＮＴＤＣ）は基準時間パラメータであり、対象となる気筒の圧縮上死点におけるフィルタ処理後時間パラメータに相当する。
CRMEREF(i)＝CRMER((ｋ−１)NTDC）−CRMER(i)    （２４）
【０１１５】
ステップＳ３４において、式（２５）に従い、慣性力時間パラメータＣＲＭＥＩ（ｋ）を算出する。
ＣＲＭＥＩ（ｋ）＝３Ｉ・ＣＲＭＥ((ｋ−１)ＮＴＤＣ）／Ｋ    （２５）
【０１１６】
ステップＳ３５において、式（２６）に従い、修正相対時間パラメータＣＲＭＥＲＥＦＭ（ｉ）を算出する。
ＣＲＭＥＲＥＦＭ(i)＝ＣＲＭＥＲＥＦ(i)―ＣＲＭＥＩ(k)    （２６）
【０１１７】
ステップＳ３６において、式（２７）に従い、修正相対時間パラメータＣＲＭＥＲＥＦＭの積算値を算出することにより、トルクを表すトルクパラメータＭＦＪＵＤ（ｋ）を算出する。
【数４】
2008215338.tif 000006
【０１１８】
ステップＳ３７では、気筒識別番号ｋが気筒数Ｎと等しいか否かを判断する。答えがＮｏであるときは、気筒識別番号ｋを１だけインクリメントし（Ｓ３８）、答えがＹｅｓであるときは、気筒識別番号ｋを１に戻す（Ｓ３９）。
【０１１９】
このトルクパラメータＭＦＪＵＤを用いて、前述した図１０または図１２のプロセスにより、気筒間の出力変動を制御することができる。
【０１２０】
図１８は、図１７に示すプロセスの変形例を示し、ステップＳ３６を、ステップＳ３６ａ、Ｓ３６ｂおよびＳ３６ｃに変更したものである。
【０１２１】
ステップＳ３６ａでは、式（２８）により、相対時間パラメータの積算値ＭＦＪＵＤｃ（ｋ）を算出する。
【数５】
2008215338.tif 000007
【０１２２】
ステップＳ３６ｂでは、式（２９）に従い、ＣＲＭＥＩの積算値ＭＦＴＨａ（ｋ）を算出する。
ＭＦＴＨａ(k)＝ＮＴＤＣ×ＣＲＭＥＩ(k)    （２９）
【０１２３】
ステップＳ３６ｃにおいて、式（３０）に従い、トルクパラメータＭＦＪＵＤを算出する。
ＭＦＪＵＤ(k)＝ＭＦＪＵＤｃ−ＭＦＴＨａ(k)    （３０）
【０１２４】
この変形例では、修正相対時間パラメータＣＲＭＥＲＥＦＭを積算することに代えて、相対時間パラメータＣＲＭＥＲＥＦの積算値と慣性力時間パラメータＣＲＭＥＩの積算値とを用いて、トルクパラメータＭＦＪＵＤを算出する。
【０１２５】
トルクパラメータの算出は、様々な変形が可能である。たとえば、時間パラメータＣＲＭＥ（ｉ）を式（１）に適用して回転速度ＯＭＧを算出したが、高回転時に算出精度が低下しないようにするため、式（３１）により算出される５個の時間パラメータＣＲＭＥの積算値ＣＲＭＥ３０（ｉ）を用いて回転速度ＯＭＧを算出するようにしてもよい。
【数６】
2008215338.tif 000008
【０１２６】
この場合、回転速度ＯＭＧ（ｉ）は、式（３２）により算出される。ただし、回転速度の算出位相がずれるので、その分の位相補正を行うのが良い。
ＯＭＧ(i)＝５Ｄθ／ＣＲＭＥ３０(i)    （３２）
【０１２７】
また、上記の基準回転速度および基準時間パラメータは、圧縮上死点における回転速度および時間パラメータを用いたが、圧縮上死点近傍（例えば、±７．５度の範囲内）でもよい。ここで、７．５度は、回転速度パラメータのサンプリング周期が１５度の場合に対応しており、一般的にサンプリング周期をθＳＰＬとすると、±θＳＰＬ／２の範囲内でサンプリングされた回転速度パラメータを用いるのが良い。
【０１２８】
また、７２０度フィルタ処理は、上記の式（２）に代えて、下記の式（３３）により行ってもよい。この式は、クランク角７２０度の期間の回転速度ＯＭＧの移動平均値ＯＭＧＡＶＥ（ｍ）を用いて線形変化分をキャンセルするものである。ここで、ｍは、クランク角度７２０度の周期に対応する離散化時刻である。
ＯＭＧＲ(i)＝ＯＭＧ(i)
―（ＯＭＧＡＶＥ(m)―ＯＭＧＡＶＥ(m-1)）×Dθ×ｉ／４π    （３３）
【０１２９】
次に、図３のトルクパラメータ算出部３２により実行される、トルクパラメータを算出する手法の第３の実施形態について説明する。この形態では、クランク軸の捩れやクランク角センサによる時間パラメータＣＲＭＥの検出誤差等に起因する外乱の影響を排除することができる。
【０１３０】
図１９（ａ）は、修正相対回転速度ＯＭＧＲＥＦＭの実測値の一例を示しており、点線で囲んだ部分が、このような外乱の影響を受けた部分である。このような外乱の影響があると、トルクパラメータの算出に誤差が生じるおそれがある。
【０１３１】
そこで、この実施形態では、正常燃焼が行われ、かつクランク角センサの検出に影響を与える外乱がない場合の回転速度変化を近似する燃焼相関関数ＦＣＲを修正相対回転速度ＯＭＧＲＥＦＭに乗算することにより、外乱の影響を排除する。図１９（ｂ）は、（ａ）に示す修正相対回転速度ＯＭＧＲＥＦＭに関数ＦＣＲを乗算することにより算出したＯＭＧＲＥＦＭｂを示しており、外乱が抑制されていることがわかる。
【０１３２】
図２０は、相関関数ＦＣＲの一例を示し、式（３４）で定義される。ここで、Ｎは気筒数であり、θは、特定気筒のピストンが上死点に位置する角度を基準としたクランク角度である（図７を参照）。なお、図２０は、６気筒エンジンに対応する相関関数ＦＣＲを示している。
ＦＣＲ＝｛１−２ｃｏｓ（Ｎ・θ／２）｝／２    （３４）
【０１３３】
相関関数ＦＣＲは、例えばエンジンの暖機後の定常運転状態において、正常燃焼時の各気筒の筒内圧を計測し、計測した気筒毎の筒内圧を加算することにより合成の筒内圧変化を算出し、その合成筒内圧変化を回転速度の変化に換算することにより、求めてもよい。図２１は、そのようにして求めた関数ＦＣＲを示す。この関数ＦＣＲは、正常燃焼状態における回転速度変化波形を、最小値が０で最大値が１となるように正規化されている。
【０１３４】
図２２（ａ）は、燃焼相関関数ＦＣＲによる相対回転速度の補正を行わない場合のトルクパラメータＭＦＪＵＤのばらつきの範囲の例を示し、図２２（ｂ）は、この第３の実施形態におけるトルクパラメータＭＦＪＵＤのばらつき範囲の例を示す。これらの図から明らかなように、相関関数ＦＣＲを用いた補正を行うことにより、トルクパラメータの算出精度が高まり、ばらつき範囲を減少させることができる（図の例では、約４０％減少）。
【０１３５】
図２３は、この第３の実施形態に従う、トルクパラメータを算出するプロセスのフローを示す。
【０１３６】
ステップＳ５１〜５３は、第１の実施形態に従う図３のステップＳ１１〜Ｓ１３と同じであるので、説明を省略する。
【０１３７】
ステップＳ５４において、式（４）により算出される慣性力回転速度ＯＭＧＩ（ｋ）を下記の式（３５）に適用し、慣性力回転速度ＯＭＧＩａ（Ｉ）を算出する。第１の実施形態では、圧縮上死点での慣性力回転速度ＯＭＧＩ（ｋ）をそのまま式（５）に適用して修正相対回転速度ＯＭＧＲＥＦＭを算出したが、この実施形態では、各サンプリングタイミングにおける慣性力回転速度ＯＭＧＩａ（ｉ）を算出して、相対回転速度ＯＭＧＲＥＦの修正を行う。
ＯＭＧＩａ(i)＝ＯＭＧＩ(k)×｛ｃｏｓ（Ｎ・Ｄθ・ｉ／２）―１｝  （３５）
【０１３８】
ステップＳ５５では、式（３６）に、ステップＳ５４で算出した慣性力回転速度ＯＭＧＩａ（ｉ）を適用し、第１修正相対回転速度ＯＭＧＲＥＦＭａ（ｉ）を算出する。
ＯＭＧＲＥＦＭａ(i)＝ＯＭＧＲＥＦ(i)−ＯＭＧＩａ(i)      （３６）
【０１３９】
ステップＳ５６では、ステップＳ５５で算出した第１修正相対回転速度ＯＭＧＲＥＦＭａ（ｉ）および式（３７）により算出される相関関数ＦＣＲ（ｉ）を式（３８）に適用し、第２修正相対回転速度ＯＭＧＲＥＦＭｂ（ｉ）を算出する。式（３７）は、式（３４）のθを、（Ｄθ・ｉ）に置換したものである。
ＦＣＲ(i)＝｛１−２ｃｏｓ（Ｎ・Ｄθ・ｉ／２）｝／２    （３７）
ＯＭＧＲＥＦＭｂ(i)＝ＯＭＧＲＥＦＭａ(i)×ＦＣＲ(i)      （３８）
【０１４０】
ステップＳ５７では、式（３９）に従ってトルクパラメータＭＦＪＵＤを算出する。
【数７】
2008215338.tif 000009
【０１４１】
こうして、燃焼関数を用いることにより、クランク角センサの検出値に影響を与えうる外乱の影響を排除しつつトルクパラメータを算出することができる。また、式（３７）に示す燃焼相関関数を用いることにより、燃焼相関関数値算出用のテーブル設定のための実験が不要となり、比較的簡単な演算でトルクパラメータの算出補正を行うことができる。
【０１４２】
代替的に、図２１に示す実測データに基づく相関関数を用いる場合には、図２１に示す１周期分の関数値ＦＣＲ（ｉ）をパラメータｉに応じて検索するＦＣＲテーブルを予めメモリに格納しておき、ステップＳ５６において、式（３７）による演算に代えて、ＦＣＲテーブル検索を行う。実測データに基づく燃焼相関関数を用いることにより、燃焼相関関数に内燃機関の特性を反映するようトルクパラメータの算出を補正することができる。
【０１４３】
また、式（３８）の演算も、コサイン関数を予めテーブルとしてメモリに記憶しておき、そのテーブルを検索することにより、相関関数値ＦＣＲ（ｉ）を算出するようにしてもよい。ＦＣＲを用いた補正は、第２の実施形態にも適用可能である。
【０１４４】
次に、この発明の一実施形態に従う、これまで述べてきた出力変動抑制のための制御装置３０（図２、出力変動抑制装置と呼ぶ）を用いて、気筒間の燃料系および吸気系のバラツキを判断する制御手法について説明する。
【０１４５】
気筒間で空燃比を平滑化するため、気筒毎に供給される燃料量を制御する燃料制御装置が提案されている。しかしながら、燃料制御装置によって各気筒の空燃比が平滑化されるよう燃料制御が行われても、吸入空気量のバラツキによって空燃比がずれるおそれがある。空燃比のずれの大きさによっては、燃料補正量が過大となり、よって燃料制御装置を介した燃料系に何らかの異常が生じたと誤判定されるおそれがある。
【０１４６】
したがって、吸入空気量がずれているのか、燃料量がずれているのかについて、気筒毎に見極めるのが望ましい。このような見極めができれば、燃料制御装置によって気筒毎に算出される燃料補正量が適切かどうかを判断することができると共に、気筒間で吸入空気量が平滑化されるよう、気筒毎に吸入空気量をより適切に補正することができる。さらに、燃料系および吸気系のどちらに異常があるかを、気筒毎に見極めることができる。
【０１４７】
そこで、この実施形態では、図２４に示すように、出力変動抑制装置３０（図２）に加え、上記のような気筒間の空燃比が所定の空燃比（この実施例では、理論空燃比）に平滑化されるように気筒毎に燃料制御を行う燃料制御装置１３１が搭載されているエンジンにおいて、上記のような見極めが可能となる制御装置を提案する。
【０１４８】
ここで、エンジンは、図１を参照して述べたのと同様の構成を有している。出力変動抑制装置３０は、図２と同様の構成を有しており、この実施例では、出力変動抑制のために補正すべき運転パラメータとして点火時期が選択され、該点火時期についての補正量（図１１（ｂ）および式（１７−２）の補正項Ｃ）が算出される。この点火時期補正量に従って、出力変動制御部３５により、点火時期が制御される。
【０１４９】
他方、燃料制御装置１３１は、気筒間の空燃比を平滑化するための燃料噴射量の補正量（第２の燃料補正量）を算出する。この実施例では、燃料制御装置１３１は、すべての気筒の空燃比が所定の空燃比（この実施例では、理論空燃比（ストイキ））に維持されるよう、各気筒について、第２の燃料補正量を算出する。
【０１５０】
許可判定部１３２は、吸入空気量および燃料量のずれを見極めるためのプロセスの実行を許可するかどうかを判断する。この実施例では、内燃機関がアイドル運転状態にある時に、該プロセスの実行を許可する。これは、内燃機関の出力が低く、かつ安定している時の方が、より安定的な見極めを行うことができるからである。
【０１５１】
吸入空気ずれ量算出部１３３は、各気筒について、出力変動抑制装置３０から受け取った点火時期補正量に基づいて、吸入空気のずれ量を算出する。具体的には、吸入空気ずれ量算出部１３３は、各気筒の点火時期補正量に応じて、可変リフト機構２３（図１）によって制御される該気筒の吸気バルブの現在のリフト量が、目標リフト量に対してどれほどずれているか（以下、リフトずれ量と呼ぶ）を算出する。ここで、目標リフト量は、吸入空気量のバラツキが気筒間に存在しない場合の所望値である。この実施例では、目標リフト量は、運転状態に応じて予め決められた全気筒に共通の値であり、たとえばアイドル運転状態用の所定値に設定される。
【０１５２】
前述したように、各気筒の点火時期補正量は、該気筒の出力のずれを表しているので、空燃比が一定であるときには、リフトずれ量と相関関係を有している。したがって、一実施例では、すべての気筒が所定の空燃比（燃料制御装置１３１が平滑化の目標とする空燃比であり、この実施例では、ストイキ）に維持されているという条件の下で、点火時期補正量とリフトずれ量の間の相関関係が予め生成される。吸入空気ずれ量算出部１３３は、各気筒について、出力変動抑制装置３０から受け取った点火時期補正量に基づいて該相関関係を参照し、該気筒のリフトずれ量を求める。
【０１５３】
吸気系判定部１３４は、各気筒について、リフトずれ量が第１の所定値より小さければ、気筒間の出力トルクの平滑化にほとんど影響しないので、目標リフト量を現在の値に維持する。吸気系判定部１３４は、各気筒について、リフトずれ量が、第２の所定値（＞第１の所定値）より大きければ、該気筒の吸気系（該気筒の吸気を実現するための系であり、可変リフト機構２３、吸気バルブ１６等を含む）に故障等の何らかの異常があると判断する。異常があると判断された場合には、たとえば警告灯を点灯する等の任意の適切な手段によって、運転者に知らせることができる。
【０１５４】
吸気系判定部１３４は、各気筒について、リフトずれ量が、第１と第２の所定値の間にある場合には、リフトずれ量を解消するための制御を行う。具体的には、吸気系判定部１３４は、目標リフト量を増加する。これは、現在のリフトずれ量の目標リフト量に対する割合を小さくするためである。リフトずれ量の割合が小さくなれば、気筒間の出力トルクの平滑化の観点からは、リフトずれ量が無視可能な誤差とみなすことができる。さらに、目標吸入空気量を維持するために、吸気系判定部１３４は、該目標リフト量の増加に伴い、目標ゲージ圧を小さくする。吸気系判定部１３４は、増加した目標リフト量に従う制御信号を生成し、該制御信号を可変リフト機構２３に送ると共に、小さくした目標ゲージ圧に従う制御信号を生成し、該制御信号を、スロットル弁２７を駆動するスロットル機構（図示せず）に送る。これにより、可変リフト機構２３は、目標リフト量に達するよう、全気筒の吸気バルブのリフト量を制御し、スロットル機構は、目標ゲージ圧に達するよう、スロットル弁２７の開度を制御する。こうして、各気筒のリフトずれ量を無視可能な状態にすることで、気筒間の吸入空気量のバラツキを解消する。
【０１５５】
第１の燃料補正量算出部１４１は、各気筒について、吸入空気ずれ量算出部１３３により算出されたリフトずれ量に応じて、第１の燃料補正量を算出する。
【０１５６】
空燃比を所定値に平滑化するための燃料量が各気筒に供給されているとき、各気筒のリフトずれ量は、該気筒の燃料補正量と相関関係を有している。したがって、一実施例では、すべての気筒を所定の空燃比（燃料制御装置１３１が平滑化の目標とする空燃比であり、この実施例では、ストイキ）にするのに要する燃料量が各気筒に供給されているという条件の下で、リフトずれ量と燃料補正量（第１の燃料補正量）との間の相関関係が予め生成される。第１の燃料補正量算出部１４１は、各気筒について、吸入空気量ずれ算出部１３３から受け取ったリフトずれ量に基づいて該相関関係を参照し、該気筒の第１の燃料補正量を求める。
【０１５７】
燃料ずれ量算出部１４２は、各気筒について、燃料制御装置１３１から出力された第２の燃料補正量と、上記第１の燃料補正量との差を、燃料ずれ量として算出する。前述したように、第１の燃料補正量は、燃料量のバラツキが気筒間で生じていない場合（すなわち、気筒間の空燃比が所定値に平滑化されるよう燃料量が各気筒に供給されている場合）に、リフトずれ量に対して補正すべき燃料量を示している。したがって、燃料制御装置１３１による制御によって該バラツキが解消されていれば、第２の燃料補正量は第１の燃料補正量にほぼ一致すべきである。第１および第２の燃料補正量の差が大きいということは、該気筒の燃料系（該気筒への燃料供給を実現するための系であり、燃料噴射機構２１、燃料噴射弁１８等を含む）に故障等の何らかの異常が生じている可能性があることを示す。したがって、燃料系判定部１４３は、該第１および第２の燃料補正量の差が所定値より大きければ、このような異常があると判断する。異常があると判断された場合には、たとえば警告灯を点灯する等の任意の適切な手段によって、運転者に知らせることができる。
【０１５８】
異常があると判定されなかった場合には、燃料系判定部１４３は、燃料制御装置１３１によって算出された第２の燃料補正量に従って、燃料噴射機構を駆動する。異常があると判定された場合には、異常の通知と共に、第１の燃料補正量に従って燃料噴射機構を駆動するようにしてもよい。
【０１５９】
こうして、出力変動抑制装置３０によって算出された点火時期補正量に基づいて、吸入空気のずれ量および燃料のずれ量のそれぞれについて、気筒毎に特定することができる。さらに、これらのずれ量の大きさに基づいて、どの気筒の吸気系および／または燃料系に異常があるかどうかを判断することができる。このような異常箇所の切り分けにより、たとえばこれらの系を構成する要素の故障原因、修理、取り替え等の対応がしやすくなる。
【０１６０】
燃料制御装置１３１は、任意の適切な手段で構成されることができる。一例として、図２５に燃料制御装置１３１の構成を示し、これについて簡単に説明する。詳細は、特開２００６−１６１５７７号公報に示されている。
【０１６１】
ＬＡＦセンサ１３（図１）において排ガスの空燃比に対応する出力ＫＡＣＴが計測される。他方、基準信号生成部１１２は、各気筒の排気ガスの排出挙動を模した基準信号Ｆｃｒ＃１〜＃６を、クランク信号ＣＲＫに同期して生成する。
【０１６２】
相関関数算出部１１１は、ＬＡＦセンサ出力ＫＡＣＴと基準信号Ｆｃｒとの有限区間の相関関数Ｃｒを、式（４０）に従って算出する。
【数８】
2008215338.tif 000010
【０１６３】
ここで、ｉは気筒番号（６気筒の場合ｉ＝１〜６）であり、Ｎは１燃焼サイクル当りのＣＲＫ信号のパルス数である。ＣＲＫ信号が３０度毎に発せられるとすると、Ｎ＝２４である。また、ｋは時間ステップである。
【０１６４】
ここで、ＬＡＦセンサ出力ＫＡＣＴと基準信号Ｆｃｒ＃ｉについて、図２６および図２７を参照して説明する。図２６は、ＬＡＦセンサ出力ＫＡＣＴの概略図である。この図では、ＫＡＣＴと目標空燃比ＫＣＭＤは当量比で表される。ストイキ（理論空燃比であり、例えば１４．７）を実現している場合、１の値を示す。一方、ストイキよりリッチの場合、１以上の値を示し、リーンの場合１以下の値を示す。図では気筒＃４がリッチ、気筒＃５がリーンの状態のＬＡＦセンサ出力ＫＡＣＴを示している。また、各気筒の燃料噴射タイミングによって排気タイミングも決まるので、ある気筒がリッチまたはリーンの場合、ＬＡＦセンサ出力ＫＡＣＴは周期的な変動を示す。
【０１６５】
このようなＬＡＦセンサ出力ＫＡＣＴの特徴に注目して基準信号Ｆｃｒ＃ｉは生成される。図２７は基準信号Ｆｃｒ＃ｉの概略図である。基準信号Ｆｃｒ＃ｉは、１燃焼サイクルのうち各気筒の排気ガスの排出挙動に対応するように気筒別に生成されており、各気筒の基準信号は対象となる気筒の排気タイミングの範囲のみにサイン波状の信号を有する。これらの基準信号を用いることで、相関関数Ｃｒ＃ｉは、対応する気筒ｉの空燃比がリッチなほど大きな値をとり、リーンなほど小さい値をとる。例えば図２６のＬＡＦセンサ出力ＫＡＣＴとの相関関数を考えると、気筒＃４の基準信号Ｆｃｒ＃４との相関関数Ｃｒ＃４が最大値をとり、気筒＃５の基準信号Ｆｃｒ＃５との相関関数Ｃｒ＃５が最小値をとる。
【０１６６】
ここで基準信号Ｆｃｒは、エンジンの１燃焼サイクルを１周期とする周期信号である。一般に、周期信号の相互相関は、周期信号の周期の整数倍以外の有限区間で算出すると周期的挙動を示し、周期信号の周期の整数倍の有限区間で算出すると一定値を示すという特徴がある。また、制御系の共振の発生を防ぐためにも、制御系内の内部変数は、周期的な挙動を持つものとしない方が良い。したがって、相関関数Ｃｒ＃ｉが周期的な挙動を持たないようにするため、積分区間を基準信号の周期と同じにした。
【０１６７】
次に、平滑化目標値算出部１１３は、各気筒の空燃比を平滑化するための平滑化目標値Ｃｒ＿ｃｍｄを算出する。ここで相関関数Ｃｒ＃ｉと各気筒の空燃比との関係に着目すると、各気筒の空燃比が一致するということは、各気筒の相関関数Ｃｒ＃ｉが一致することになる。したがって、この実施形態では、各気筒の相関関数Ｃｒ＃ｉを収束させるための平滑化目標値Ｃｒ＿ｃｍｄを、次式（４１）のように各相関関数の平均値で定義する。ここで、ｍは気筒数であり、本実施形態ではｍ＝６である。
【数９】
2008215338.tif 000011
【０１６８】
気筒別制御器１１４は、各気筒の相関関数Ｃｒ＃ｉを平滑化目標値Ｃｒ＿ｃｍｄに収束するように、各気筒への燃料噴射量を調整するための気筒別平滑化係数Ｋｃｒ＃ｉを算出する。この気筒別平滑化係数の生成には、以下に詳述する２自由度応答指定型制御が用いられる。この制御手法を用いるメリットは、平滑化目標値Ｃｒ＿ｃｍｄが急変したときや、相関関数Ｃｒ＃ｉが大きく変化して平滑化目標値Ｃｒ＿ｃｍｄに対して大きく離間してしまったときに、オーバーシュートや振動的挙動を生じずに安定的に気筒間の空燃比のばらつきを補正でき、エミッションやドライバビリティの低下を防止できる点にある。しかしながら、他の制御手法（たとえば、ＰＩＤ制御等）を用いてもよい。
【０１６９】
気筒別制御器１１４では、式（４２）に示されるように、まず目標値応答指定パラメータＲｃｒを用いて、平滑化目標値Ｃｒ＿ｃｍｄにローパスフィルタリングを施す。この処理により、ステップ状に変動する目標値波形を平滑化して、目標値に漸近収束する曲線に変換する。
Cr_cmd_f(k) = −Rcr・Cr_cmd_f(k-1) + (1+Rcr)Cr_cmd(k)    （４２）
【０１７０】
ここで、Ｃｒ＿ｃｍｄ＿ｆはフィルタ処理後の目標値であり、ｋは時間ステップである。応答指定パラメータは、好ましくは−1 < Ｒｃｒ < ０であるよう設定される。
【０１７１】
式（４２）に示されるように、目標値応答指定パラメータＲｃｒにより、フィルタ処理後の目標値Ｃｒ＿ｃｍｄ＿ｆの軌道が規定される。目標値をどのような軌道に設定するかにより、相関関数Ｃｒ＃ｉの目標値Ｃｒ＿ｃｍｄへの追従速度を指定することが可能となる。こうして設定された目標値Ｃｒ＿ｃｍｄ＿ｆに相関関数Ｃｒ＃ｉが収束するように、気筒別制御器１１４は、気筒別平滑化係数Ｋｃｒ＃ｉを算出する。
【０１７２】
そのため、式（４３）に示されるように、相関関数Ｃｒ＃ｉと目標値Ｃｒ＿ｃｍｄ＿ｆとの偏差Ｅｃｒ＃ｉを求める。
Ecr#i(k) = Cr#i(k) − Cr_cmd_f(k)           （４３）
【０１７３】
式（４４）に示されるように、切り替え関数σｃｒ＃ｉを定義する。切り替え関数σｃｒ＃ｉは、偏差Ｅｃｒ＃ｉの収束挙動を規定する。Ｓｃｒは、外乱抑制応答指定パラメータであり、外乱が印加された時の偏差Ｅｃｒ＃ｉの収束速度を指定する。外乱抑制応答指定パラメータＳｃｒは、好ましくは、−1 < Ｓｃｒ < ０を満たすように設定される。
σcr#i(k) = Ecr#i(k) + Scr・Ecr#i(k-1)        （４４）
【０１７４】
式（４５）に示されるように、気筒別平滑化係数Ｋｃｒ＃ｉを算出する。ここで、Ｋｒｃｈ＿ｃｒおよびＫａｄｐ＿ｃｒはフィードバックゲインである。式（４５）の右辺の第一項は比例項であり、第二項は積分項である。したがって、式（４５）は、入力を切り替え関数σｃｒ＃ｉとしたＰＩ制御のフィードバック量を計算していることと等価である。
【数１０】
2008215338.tif 000012
【０１７５】
このように算出された気筒別平滑化係数Ｋｃｒ＃ｉは、相関関数Ｃｒ＃ｉを平滑化目標値Ｃｒ＿ｃｍｄに収束させるための補正入力である。この係数Ｋｃｒ＃ｉは、ＬＡＦセンサ出力ＫＡＣＴを目標空燃比ＫＣＭＤに制御するための制御量ではない。むしろ、気筒別平滑化係数Ｋｃｒ＃ｉは、平滑化目標値Ｃｒ＿ｃｍｄが目標空燃比ＫＣＭＤと一致する場合を除いて、ＬＡＦセンサ出力ＫＡＣＴと目標空燃比ＫＣＭＤとの間に定常偏差を生じさせるおそれがある。
【０１７６】
このため、気筒別制御器１１４に加え、ＬＡＦセンサ出力ＫＡＣＴを目標空燃比ＫＣＭＤに収束させるための集合部制御器１１５を設けるのが好ましい。集合部制御器１１５のアルゴリズムは、ＰＩＤ制御、適応制御、または最適制御などでも実現可能であるが、この実施形態では、気筒別制御器１１４と同様に２自由度応答指定型制御を用いる。
【０１７７】
このとき、集合部制御器１１５の目標値応答および外乱抑制の応答指定パラメータを、気筒別制御器１１４のものよりも速く設定することにより、定常偏差を速やかに高精度に補償できる。
【０１７８】
集合部制御器１１５は、式（４６）に示されるように、目標値応答指定パラメータＲを用いて、目標空燃比ＫＣＭＤにローパスフィルタリングを施す。この処理によりステップ状に変動する目標値波形を平滑化して、目標値に漸近収束する曲線に変換する。
KCMD_f(k) = −R・KCMD_f(k-1) + (1+R)KCMD(k)    （４６）
【０１７９】
ここで、ＫＣＭＤ＿ｆはフィルタ処理後の目標値であり、ｋは時間ステップである。また、応答指定パラメータの範囲は、気筒別制御器１１４より高速化するため、−1 ＜ Ｒｃｒ ＜ Ｒ ＜ 0を満たすよう設定されるのがよい。
【０１８０】
式（４７）に示されるように、ＬＡＦセンサ出力ＫＡＣＴと目標値ＫＣＭＤ＿ｆとの偏差Ｅを求める。
E(k) = KACT(k) − KCMD_f(k)           （４７）
【０１８１】
式（４８）に示されるように、切り替え関数σを定義する。Ｓは外乱抑制応答指定パラメータであり、外乱が印加された時の偏差Eの収束速度を規定する。外乱抑制応答指定パラメータＳは、気筒別制御器１１４より高速化するために、−1 ＜ Ｓｃｒ ＜ Ｓ ＜ 0を満たすように設定されるのがよい。
σ(k) = E(k) + S・E(k-1)        （４８）
【０１８２】
式（４９）に示されるように、空燃比補正係数ＫＡＦを算出する。ここで、ＫｒｃｈおよびＫａｄｐはフィードバックゲインである。
【数１１】
2008215338.tif 000013
【０１８３】
なお、式（４９）は式（４５）と比べて右辺第一項に「１」が追加されている。これは、制御開始時に、右辺第二項、第三項の初期値が０なので、補正係数が０となって燃料噴射量が０になるのを防ぐためである。なお、積分項である第三項の初期値を１とし、第一項の「１」を使用しない手法を用いてもよい。
【０１８４】
最後に、燃料制御装置１３１は、式（５０）のように気筒別平滑化係数Ｋｃｒ＃ｉに空燃比補正係数ＫＡＦを加算して、気筒別空燃比補正係数ＫＡＦ＃ｉを算出する。
KAF#i(k) = Kcr#i(k) + KAF(k)                 （５０）
【０１８５】
この気筒別空燃比補正係数ＫＡＦ＃ｉによって、該気筒の燃料噴射弁１８の燃料噴射量が調整され、各気筒の空燃比が平滑化される。
【０１８６】
上記補正係数ＫＡＦ＃ｉが、図２４を参照して説明した各気筒の第２の燃料補正量を表している。
【０１８７】
なお、出力変動抑制装置３０について説明した図３から図９、図１４、図１６から図２３に示されるプロセスおよびそれに関連する各種パラメータの挙動は、図２４に示される出力変動抑制装置３０においても、同様に適用可能であり、該プロセスは同様に実施されることができる。したがって、ここでの説明は省略する。
【０１８８】
また、この実施形態では、図１０のステップＳ１０５および図１２のステップＳ２０４において、補正すべき運転パラメータは点火時期と決定され、図１１の（ｂ）のようなマップ（テーブル）を参照して、各気筒につき、トルクの偏差ＤＴＲＱＰＡＲＭに基づいて、点火時期の補正項（補正量）Ｃを算出する。前述した式（１７−２）に示すように、点火時期補正量Ｃで、現在の点火時期が補正される。以下に説明するプロセスでは、この点火時期補正量Ｃが用いられる。
【０１８９】
図２８は、この発明の一実施例に従う、吸気量および燃料量のずれを見極めるプロセスのフローである。このプロセスは、所定の時間間隔で、ＥＣＵ１のＣＰＵにより実行され、より具体的には、吸入空気ずれ量算出部１３３、第１の燃料補正量算出部１４１、および燃料ずれ量算出部１４２によって実行される。
【０１９０】
ステップＳ３０１において、エンジンがアイドル運転状態かどうかを判断する。アイドル運転状態ならば、当該プロセスの実行を許可し、ステップＳ３０２に進む。
【０１９１】
ステップＳ３０２において、各気筒について、図１０のステップＳ１０６または図１２のステップＳ２０５で決定された点火時期補正量Ｃに基づいて、図２９の（ａ）のようなマップ（テーブル）を参照し、リフトずれ量を算出する。ここで、該マップは、前述したように、全気筒がストイキで燃焼している場合の、点火時期補正量とリフトずれ量との間の相関を定義したものであり、点火時期補正量に対し、吸気バルブのリフト量が目標リフト量からどれくらいずれているかを示すマップである。このようなマップは、シミュレーション等に基づいて予め作成され、ＥＣＵ１のメモリ（たとえば、不揮発性メモリ）に記憶されることができる。前述したように、この実施例での目標リフト量は、アイドル運転用に設定された所定値である。なお、図１１の（ｂ）には、点火時期補正量として±３０度の範囲が示されているが、この例では、そのうちの±５度の範囲の点火時期補正量について示している。
【０１９２】
該マップに示されるように、点火時期補正量が正方向に大きくなるほど、低い側にリフトずれ量が大きくなる。これは、点火時期補正量が大きくなる（点火時期が進角になる）ということは、出力変動抑制装置３０が出力トルクを増やすために吸入空気量を増やそうとしていることを示す。したがって、現在の吸入空気量は、足りない方向にずれていることを示す。こうして、気筒毎に、吸入空気量のずれが算出される。
【０１９３】
ステップＳ３０３において、各気筒について、ステップＳ３０２で算出されたリフトずれ量に基づいて、図２９の（ｂ）のようなマップ（テーブル）を参照し、第１の燃料補正量を算出する。ここで、該マップは、前述したように、すべての気筒をストイキにするのに要する燃料量が各気筒に供給されている場合の、リフトずれ量と第１の燃料補正量（補正係数で表される）との間の相関を定義したものであり、リフトずれ量に対し、第１の燃料補正量がどの程度であれば、各気筒の空燃比をストイキにすることができるか、を示している。このようなマップは、シミュレーション等に基づいて予め作成され、ＥＣＵ１のメモリ（たとえば、不揮発性メモリ）に記憶されることができる。
【０１９４】
該マップに示されるように、リフトずれ量が正方向に大きくなるほど、第１の燃料補正量は大きくなる。これは、リフトずれ量が正方向に大きくなるにつれ、空燃比をストイキにするために燃料補正量が多くなる、ということを示す。
【０１９５】
ステップＳ３０４において、各気筒について、燃料制御装置１３１から出力される第２の燃料補正量から、ステップＳ３０３で算出された第１の燃料補正量を減算することにより、第１および第２の燃料補正量の差、すなわち燃料ずれ量を算出する。
【０１９６】
図２９の（ｂ）に示すように、燃料量のバラツキが気筒間に無い場合には、リフトずれ量に対する燃料補正量は、ライン２０１上に存在すべきである。しかしながら、図２９の（ｃ）（これは、ライン２０２が追加で示されている以外は、図２９（ｂ）と同じである）に示すように、燃料制御装置１３１によって算出された第２の燃料補正量が、ライン２０１上ではなくライン２０２上に存在するということは、該第２の燃料補正量にずれ２０３が生じていることを示す。したがって、第１の燃料補正量に対する第２の燃料補正量の差２０３を、燃料ずれ量として算出する。こうして、気筒毎に、燃料量のずれが算出される。
【０１９７】
図３０は、吸入空気量のずれに基づく対応を判定するためのプロセスであり、所定の時間間隔で気筒毎に実施される。該プロセスは、ＥＣＵ１のＣＰＵにより実行され、より具体的には図２４の吸気系判定部１３４により実行される。
【０１９８】
ステップＳ３１１において、図２８のステップＳ３０２で算出されたリフトずれ量の絶対値が、第１の所定値より大きいかどうかを判断する。この判断がＮｏならば、リフトずれ量が小さく、気筒間の出力トルクの平滑化に対する影響はほとんど無いと判断し、そのまま当該プロセスを抜ける。ステップＳ３１１の判断がＹｅｓならば、ステップＳ３１２において、リフトずれ量が、第２の所定値（これは、第１の所定値より大きい）より大きいかどうかを判断する。この判断がＹｅｓならば、リフトずれ量が大きく、よって、ステップＳ３１３において、該気筒の吸気系に何らかの異常がある判断する。この場合、任意の適切な手段で、警告灯を点灯したり等の通知を行うことができる。
【０１９９】
ステップＳ３１２の判断がＮｏの場合には、リフトずれ量が、第１の所定値と第２の所定値との間にあることを示す。この場合には、ステップＳ３１４において、リフトずれ量が、気筒間の出力トルクの平滑化に影響しないよう、目標リフト量を増やす（たとえば、現在の目標リフト量を１０％増やす）。これにより、目標リフト量に対するリフトずれ量の割合が小さくなるので、リフトずれ量を、出力トルクの平滑化に影響しない程度の許容範囲内とすることができる。目標吸入空気量を維持するために、目標リフト量の増加に伴い、目標ゲージ圧を小さくする。
【０２００】
ここで、図３１を参照すると、目標吸入空気量を維持するための目標リフト量と目標ゲージ圧との間の関係が示されている。ここで、目標リフト量は、運転状態に応じて決められており、この実施例では、アイドル運転状態のための値に設定されている。目標吸入空気量を一定に維持するため、目標リフト量が増えるほど、目標ゲージ圧は小さくなる。すなわち、リフト量が増える方向に制御されるほど、スロットル弁は、閉じる方向に制御される。この図のマップに従うように、ステップＳ３１４において、目標リフト量の増大および目標ゲージ圧の減少は実行される。
【０２０１】
図３２を参照すると、一例として、目標吸入空気量の変化に対し、目標リフト量と目標ゲージ圧がどのように変化するかが示されている。目標リフト量と目標ゲージ圧を可変リフト機構およびスロットル機構を介してそれぞれ実現することにより、目標吸入空気量が達成される。
【０２０２】
目標吸入空気量が小さい所定領域が、アイドル運転領域に相当する。アイドル運転領域では、主にゲージ圧によって吸入空気量が調整され、所定の目標吸入空気量までは、目標リフト量はほぼ一定に維持される。アイドル運転領域を超えて目標吸入空気量が増加するにつれ、主にリフト量によって吸入空気量が調整され、ゲージ圧はほぼ一定に維持される。
【０２０３】
アイドル運転領域に着目すると、符号２１１に示すような目標リフト量で全気筒の吸気バルブが制御されると共に、符号２１０に示すような目標ゲージ圧でスロットル弁が制御される。図３０のステップＳ３１４の制御を行うときには、目標リフト量を、符号２１３に示すようなラインに増加すると共に、目標ゲージ圧を、符号２１２に示されるようなラインに減少させる。こうして、ステップＳ３１４の制御にかかわらず、目標吸入空気量を達成するようにする。
【０２０４】
図３３は、燃料ずれ量に基づく対応を判定するためのプロセスであり、所定の時間間隔で気筒毎に実施される。該プロセスは、ＥＣＵ１のＣＰＵによって実行され、より具体的には、燃料系判定部１４３によって実行される。
【０２０５】
ステップＳ３２１において、図２８のステップＳ３０４で算出した燃料ずれ量の絶対値が所定値より大きいかどうかを判断する。この判断がＹｅｓの場合には、前述したように、燃料制御装置１３１によって算出された第２の燃料補正量が、第１の燃料補正量に対して大きくずれており、ステップＳ３２２において、該気筒の燃料系に何らかの異常が生じたと判断する。この場合、任意の適切な手段で、警告灯を点灯したり等の通知を行うことができる。
【０２０６】
上述した実施形態では、６気筒エンジンを例に説明したが、本願発明は、任意の数の気筒を有するエンジンに適用可能である。また、本願発明は、直接噴射式のエンジン、ディーゼルエンジン等のエンジンにも適用可能である。
【０２０７】
さらに、本発明は、汎用の（例えば、船外機等の）内燃機関に適用可能である。
【図面の簡単な説明】
【０２０８】
【図１】この発明の一実施例に従う、エンジンおよびその制御装置を概略的に示す図。
【図２】この発明の一実施例に従う、出力変動抑制装置の機能ブロック図。
【図３】この発明の第１の実施例に従う、トルクパラメータを算出する処理のフローチャート。
【図４】この発明の一実施例に従う、トルクパラメータ算出のために用いられるパラメータの推移を示す図。
【図５】この発明の一実施例に従う、トルクパラメータ算出のために用いられるパラメータの推移を示す図。
【図６】この発明の一実施例に従う、トルクパラメータ算出のために用いられるパラメータの推移を示す図。
【図７】この発明の一実施例に従う、エンジンの往復運動部品の作動に起因する慣性力トルクの算出手法を説明するための図。
【図８】この発明の一実施例に従う、単一気筒慣性力トルク、合成慣性トルク、および慣性力回転速度を示す図。
【図９】この発明の一実施例に従う、気筒間のトルクパラメータを示す図。
【図１０】この発明の一実施例に従う、出力変動を抑制するプロセスのフローチャート。
【図１１】この発明の一実施例に従う、出力を補正する補正係数を求めるためのマップ。
【図１２】この発明の他の実施例に従う、出力変動を抑制するプロセスのフローチャート。
【図１３】この発明の他の実施例に従う、燃料量について補正を許可するかどうかを判断するプロセスのフローチャート。
【図１４】この発明の他の実施例に従う、点火時期について補正を許可するかどうかを判断するプロセスのフローチャート。
【図１５】この発明の他の実施例に従う、リフト量について補正を許可するかどうかを判断するプロセスのフローチャート。
【図１６】この発明の第１の実施形態の変形例に従うトルクパラメータを算出するプロセスのフローチャート。
【図１７】この発明の第２の実施形態に従うトルクパラメータを算出するプロセスのフローチャート。
【図１８】この発明の第２の実施形態の変形例に従うトルクパラメータを算出するプロセスのフローチャート。
【図１９】クランク角センサ出力に含まれる外乱の影響を説明するための図。
【図２０】この発明の一実施例に従う、燃焼相関関数の例を示す図。
【図２１】この発明の一実施例に従う、燃焼相関関数の他の例を示す図。
【図２２】この発明の一実施例に従う、トルクパラメータの実測値のばらつきを示す図。
【図２３】この発明の第３の実施形態に従うトルクパラメータを算出するプロセスのフローチャート。
【図２４】この発明の一実施例に従う、出力変動抑制装置および燃料制御装置を含む制御装置の機能ブロック図。
【図２５】この発明の一実施例に従う、燃料制御装置の概略的な構成図。
【図２６】この発明の一実施例に従う、ＬＡＦセンサの出力ＫＡＣＴを概略的に示す図。
【図２７】この発明の一実施例に従う、燃料制御装置で用いる基準信号を概略的に示す図。
【図２８】この発明の一実施例に従う、吸入空気ずれ量（リフトずれ量）および燃料ずれ量を求めるプロセスのフローチャート。
【図２９】この発明の一実施例に従う、（ａ）点火時期補正量とリフトずれ量の相関を示すテーブル、（ｂ）リフトずれ量と第１の燃料補正量の相関を示すテーブル、および（ｃ）燃料ずれ量の一例を示す図。
【図３０】この発明の一実施例に従う、リフトずれ量に基づく対応を判定するプロセスのフローチャート。
【図３１】この発明の一実施例に従う、目標リフト量と目標ゲージ圧との関係を示す図。
【図３２】この発明の一実施例に従う、目標リフト量の増大と目標ゲージ圧の減少の制御を概略的に示す図。
【図３３】この発明の一実施例に従う、燃料ずれ量に基づく対応を判定するプロセスのフローチャート。
【符号の説明】
【０２０９】
１  ＥＣＵ
２  エンジン
１１  クランク角センサ
１３  空燃比センサ
１６  吸気バルブ
３０  出力変動抑制装置
１３１  燃料制御装置  
【図１】
2008215338.tif 000014
【図２】
2008215338.tif 000015
【図３】
2008215338.tif 000016
【図４】
2008215338.tif 000017
【図５】
2008215338.tif 000018
【図６】
2008215338.tif 000019
【図７】
2008215338.tif 000020
【図８】
2008215338.tif 000021
【図９】
2008215338.tif 000022
【図１０】
2008215338.tif 000023
【図１１】
2008215338.tif 000024
【図１２】
2008215338.tif 000025
【図１３】
2008215338.tif 000026
【図１４】
2008215338.tif 000027
【図１５】
2008215338.tif 000028
【図１６】
2008215338.tif 000029
【図１７】
2008215338.tif 000030
【図１８】
2008215338.tif 000031
【図１９】
2008215338.tif 000032
【図２０】
2008215338.tif 000033
【図２１】
2008215338.tif 000034
【図２２】
2008215338.tif 000035
【図２３】
2008215338.tif 000036
【図２４】
2008215338.tif 000037
【図２５】
2008215338.tif 000038
【図２６】
2008215338.tif 000039
【図２７】
2008215338.tif 000040
【図２８】
2008215338.tif 000041
【図２９】
2008215338.tif 000042
【図３０】
2008215338.tif 000043
【図３１】
2008215338.tif 000044
【図３２】
2008215338.tif 000045
【図３３】
2008215338.tif 000046