(57)【要約】【課題】予測吸入空気量の推定誤差に基く供給燃料量の過不足分を迅速且つ正確に補償し、空燃比を一定に維持可能とすること。【解決手段】この燃料噴射量制御装置は、予測スロットル弁開度に基いて特定気筒の今回の吸気行程に対する吸入空気量ＫＬｆｗｄを予測し、これに基いて補正前予測必要燃料量Ｆｃｆｗｄｂ（ｋ）を求める。一方、本装置は、前回の吸気行程に対する実スロットル弁開度に基いて実際の吸入空気量ＫＬａｃｔを算出し、これに基いて実必要燃料量Ｆｃａｃｔを求めると共に、前回の吸気行程に対する実際の燃料噴射量ｆｉ（ｋ−１）と燃料挙動順モデルとにより実吸入燃料量Ｆｃｅｓｔを求め、実必要燃料量Ｆｃａｃｔと実吸入燃料量Ｆｃｅｓｔとの差Ｆｃｅｒｒ（ｋ）に応じて補正前予測必要燃料量Ｆｃｆｗｄｂ（ｋ）を補正して正規予測必要燃料量Ｆｃｆｗｄ（ｋ）を求め、正規予測必要燃料量Ｆｃｆｗｄ（ｋ）の燃料が吸入されるよう燃料挙動逆モデルにより今回の燃料噴射量ｆｉ（ｋ）を求める。【選択図】  図６
2004176638.tif 000002
【特許請求の範囲】
【請求項１】
今回の吸気行程での吸気弁閉弁時における内燃機関の運転状態量を同吸気弁閉弁時より前の時点で予測し、
前記予測した運転状態量に応じて前記今回の吸気行程での吸入空気量を予測し、
前記予測した吸入空気量に対して所定の目標空燃比を得るために必要とすべき仮の燃料量を補正前予測必要燃料量として算出し、
前回の吸気行程に対する吸気弁閉弁後の時点で、同前回の吸気行程において前記目標空燃比を得るために実際に必要とされていた燃料量である実必要燃料量を既知となった運転状態量に基いて算出し、
前記前回の吸気行程において実際に吸入された燃料量である実吸入燃料量を少なくとも同前回の吸気行程に対し実際に噴射された燃料噴射量に基いて算出し、
前記算出した実必要燃料量と前記算出した実吸入燃料量とに基いて前記前回の吸気行程における燃料の過不足分を求めるとともに、前記求められた過不足分に応じた燃料フィードバック補正量を算出し、
前記算出した燃料フィードバック補正量で前記補正前予測必要燃料量を補正して正規予測必要燃料量を算出し、
少なくとも前記算出した正規予測必要燃料量に基いて燃料噴射量を算出し、
前記算出した燃料噴射量の燃料を前記今回の吸気行程での吸気弁閉弁時よりも前の時点で同今回の吸気行程に対して噴射する内燃機関の燃料噴射量制御方法。
【請求項２】
指示に応じて燃料噴射を行う燃料噴射手段を備えた内燃機関の燃料噴射量制御装置において、
現時点より先の時点における前記内燃機関の運転状態量を予測する運転状態量予測手段と、
現時点より前の時点における前記内燃機関の実際の運転状態量を取得する運転状態量取得手段と、
今回の吸気行程に対する吸気弁閉弁時より前の第１所定時点にて同今回の吸気行程での吸気弁閉弁時の吸入空気量である予測吸入空気量を前記運転状態量予測手段により予測された同第１所定時点より先の時点における運転状態量と前記内燃機関の吸気系における空気の挙動をモデル化した空気モデルとに基いて算出する予測吸入空気量算出手段と、
前記第１所定時点より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第２所定時点にて前記予測吸入空気量に基いて同今回の吸気行程で必要とされるべき仮の燃料量である補正前予測必要燃料量を算出する補正前予測必要燃料量算出手段と、
前回の吸気行程での吸気弁閉弁時より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第３所定時点にて同前回の吸気行程での吸気弁閉弁時の実際の吸入空気量である実吸入空気量を前記運転状態量取得手段により取得された実際の運転状態量と前記空気モデルとに基いて算出する実吸入空気量算出手段と、
前記第３所定時点より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第４所定時点にて前記算出された実吸入空気量に基いて前記前回の吸気行程において実際に必要とされていた燃料量である実必要燃料量を算出する実必要燃料量算出手段と、
前記今回の吸気行程に対する吸気弁閉弁時より前の第５所定時点にて前記前回の吸気行程において実際に吸入された燃料量である実吸入燃料量を少なくとも同前回の吸気行程に対し実際に噴射された燃料噴射量に基いて算出する実吸入燃料量算出手段と、
前記第４所定時点、及び前記第５所定時点より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第６所定時点にて前記算出された実必要燃料量と前記算出された実吸入燃料量とに基いて燃料フィードバック補正量を算出する燃料フィードバック補正量算出手段と、
前記第２所定時点、及び前記第６所定時点より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第７所定時点にて前記算出された補正前予測必要燃料量を前記算出された燃料フィードバック補正量で補正することにより同今回の吸気行程で必要とされる正規燃料量である正規予測必要燃料量を算出する正規予測必要燃料量算出手段と、
前記第７所定時点より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第８所定時点にて少なくとも前記算出された正規予測必要燃料量に基いて前記燃料噴射手段から同今回の吸気行程に対し噴射される燃料噴射量を算出する燃料噴射量算出手段と、
前記第８所定時点より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第９所定時点にて前記燃料噴射手段に対し前記算出された燃料噴射量の燃料を噴射するように指示を与える燃料噴射指示手段と、
を備えた内燃機関の燃料噴射量制御装置。
【請求項３】
請求項２に記載の内燃機関の燃料噴射量制御装置であって、
任意の吸気行程に対し実際に噴射された燃料噴射量と、同任意の吸気行程の一回前の吸気行程後であって同任意の吸気行程前における実際の燃料付着量である実燃料付着量と、前記内燃機関の吸気系への燃料付着挙動を表す燃料挙動モデルとに基いて、同任意の吸気行程後であって同任意の吸気行程の次の吸気行程前における実燃料付着量を算出する実燃料付着量算出手段を備えるとともに、
前記実吸入燃料量算出手段は、
前記燃料挙動モデルの順モデルに基いて、前記前回の吸気行程に対し実際に噴射された燃料噴射量の燃料のうち同前回の吸気行程において実際に吸入された燃料量と前記実燃料付着量算出手段により算出された前々回の吸気行程後であって前記前回の吸気行程前における実燃料付着量の燃料のうち同前回の吸気行程において実際に吸入された燃料量とから、同前回の吸気行程において実際に吸入された前記実吸入燃料量を算出するように構成され、
前記燃料噴射量算出手段は、
前記燃料挙動モデルの逆モデルに基いて、前記今回の吸気行程に対し噴射されるべき燃料噴射量の燃料のうち同今回の吸気行程において吸入される燃料量と前記実燃料付着量算出手段により算出された前記前回の吸気行程後であって同今回の吸気行程前における実燃料付着量の燃料のうち同今回の吸気行程において吸入される燃料量との和が前記算出された正規予測必要燃料量と等しくなるように同燃料噴射量を算出するように構成された内燃機関の燃料噴射量制御装置。
【請求項４】
請求項３に記載の内燃機関の燃料噴射量制御装置において、
前記実吸入燃料量算出手段は、前記燃料挙動モデルの順モデルにて使用する付着率と残留率を前記前回の吸気行程に対する吸気弁閉弁時の実吸入空気量に基いて決定し、同決定した付着率と残留率を使用した同燃料挙動モデルの順モデルに基いて前記実吸入燃料量を算出するように構成され、
前記燃料噴射量算出手段は、前記燃料挙動モデルの逆モデルにて使用する付着率と残留率を前記予測吸入空気量に基いて決定し、同決定した付着率と残留率を使用した同燃料挙動モデルの逆モデルに基いて前記燃料噴射量を算出するように構成された内燃機関の燃料噴射量制御装置。
【請求項５】
請求項２乃至請求項４のいずれか一項に記載の内燃機関の燃料噴射量制御装置において、
前記燃料フィードバック補正量算出手段は、少なくとも前記算出された実必要燃料量と前記算出された実吸入燃料量との差の時間積分値に基いて燃料フィードバック補正量を算出するように構成され、
前記予測吸入空気量算出手段と前記実吸入空気量算出手段は、前記内燃機関の運転状態が定常運転状態にあるとき、同予測吸入空気量算出手段により算出される前記予測吸入空気量と同実吸入空気量算出手段により算出される前記実吸入空気量とが等しくなるように構成された内燃機関の燃料噴射量制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の燃料噴射量制御装置に係り、特に過渡運転時においても空燃比を略一定に維持することが可能な燃料噴射量制御方法、及び燃料噴射量制御装置に関する。
【０００２】
【従来の技術】
電子制御燃料噴射式の内燃機関においては、吸気行程直前又は吸気行程中にあって燃料噴射による燃料の供給が必要な気筒（以下、「燃料噴射気筒」と云う。）の同吸気行程における吸入空気量を求め、この求めた吸入空気量に応じた量の燃料を、最も遅くとも同吸気行程に対する吸気弁閉弁時（吸気弁の状態が開状態から閉状態に変化する時点）までに、場合によっては同吸気行程開始前までに、噴射する必要がある。このため、例えば、下記特許文献１に開示された内燃機関の制御装置は、同内燃機関の運転状態量の一つであるスロットル弁開度を燃料噴射気筒の吸気弁閉弁時まで前もって予測し、少なくとも同予測したスロットル弁開度と内燃機関の吸気系の空気の挙動をモデル化した空気モデルとに基づいて同燃料噴射気筒の吸気弁閉弁時における吸入空気量を同吸気弁閉弁時よりも前の時点で予測し、その予測した吸入空気量に応じた燃料噴射量の燃料を同気筒に対して噴射するようになっている。
【０００３】
【特許文献１】
特開平１０−１６９４６９号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来の制御装置は、例えば、予測したスロットル弁開度と実際のスロットル弁開度とが相違する等の理由により、予測した吸入空気量と実際の吸入空気量との間に差（推定誤差）が生じると、この推定誤差を補償する手段を備えていないので、同従来の制御装置においては、燃料噴射量が適切な値と異なる値となって空燃比が乱れるという問題がある。
【０００５】
一方、前記推定誤差を補償するために上記従来の制御装置に一般的なフィードバックコントローラを付加してフィードバック制御を行う場合においては、時々刻々と変化する内燃機関の運転状態（例えば、内燃機関の回転速度、温度等）に応じて同コントローラが使用する比例ゲイン、積分ゲイン等のフィードバック制御定数を頻繁に変更する必要がないようにフィードバック制御系を構成し、同コントローラを簡易な構成とすることが要求される。
【０００６】
従って、本発明の目的は、簡易な構成のフィードバックコントローラを使用して吸入空気量の推定誤差を迅速に補償し、特に、スロットル弁開度が急変する等の過渡運転時における空燃比を迅速に安定させることが可能な内燃機関の燃料噴射量制御方法、及び燃料噴射量制御装置を提供することにある。
【０００７】
【発明の概要】
本発明の燃料噴射量制御方法は、今回の吸気行程での吸気弁閉弁時における内燃機関の運転状態量を同吸気弁閉弁時より前の時点で予測し、前記予測した運転状態量に応じて前記今回の吸気行程での吸入空気量を予測し、前記予測した吸入空気量に対して所定の目標空燃比を得るために必要とすべき仮の燃料量を補正前予測必要燃料量として算出し、前回の吸気行程に対する吸気弁閉弁後の時点で、同前回の吸気行程において前記目標空燃比を得るために実際に必要とされていた燃料量である実必要燃料量を既知となった運転状態量に基いて算出し、前記前回の吸気行程において実際に吸入された燃料量である実吸入燃料量を少なくとも同前回の吸気行程に対し実際に噴射された燃料噴射量に基いて算出し、前記算出した実必要燃料量と前記算出した実吸入燃料量とに基いて前記前回の吸気行程における燃料の過不足分を求めるとともに、前記求められた過不足分に応じた燃料フィードバック補正量を算出し、前記算出した燃料フィードバック補正量で前記補正前予測必要燃料量を補正して正規予測必要燃料量を算出し、少なくとも前記算出した正規予測必要燃料量に基いて燃料噴射量を算出し、前記算出した燃料噴射量の燃料を前記今回の吸気行程での吸気弁閉弁時よりも前の時点で同今回の吸気行程に対して噴射する方法である。
【０００８】
本発明において、「今回の吸気行程」、「前回の吸気行程」（、及び「前々回の吸気行程」）は、それぞれ、特定の気筒（内燃機関の複数気筒のうちの任意の一つの気筒、以下同じ。）に着目した場合における同特定の気筒に対する今回、前回（、及び前々回）の吸気行程であっても、内燃機関の複数気筒のうちで順次移動していく不特定の上記燃料噴射気筒に対する今回、前回（、及び前々回）の吸気行程であってもよい。
【０００９】
この燃料噴射量制御方法は、今回の吸気行程における吸気弁閉弁時の吸入空気量を、予測した運転状態量（例えば、スロットル弁開度）に基いて同吸気弁閉弁時よりも前の時点で予測し、予測した吸入空気量に対して所定の目標空燃比（例えば、理論空燃比）を得るために必要とすべき仮の燃料量である補正前予測必要燃料量を算出する。従って、補正前予測必要燃料量は、予測吸入空気量の予測誤差（推定誤差）の影響を受ける。
【００１０】
一方、前回の吸気行程の吸気弁閉弁後においては、同前回の吸気行程における吸気弁閉弁時点の運転状態量は既知であるから、その既知である運転状態量から同前回の吸気行程の実際の吸入空気量を求めることができ、従って、同前回の吸気行程で気筒内の混合気の空燃比が目標空燃比となるために実際に必要とされていた燃料量（実必要燃料量）を正確に求めることができる。他方、前回の吸気行程の吸気弁閉弁後においては、同前回の吸気行程に対して実際に噴射された燃料噴射量が既知であるから、その既知である燃料噴射量に少なくとも基いて同前回の吸気行程の実際の吸入燃料量（実吸入燃料量）を正確に求めることができる。
【００１１】
本燃料噴射量制御方法は、このように実必要燃料量と実吸入燃料量を求め、これら実必要燃料量と実吸入燃料量（との差）に基いて前回の吸気行程における燃料の過不足を算出し、同過不足分を補うための燃料フィードバック補正量を求める。そして、本燃料噴射量制御方法は、この燃料フィードバック補正量で前記補正前予測必要燃料量を補正することにより正規予測必要燃料量を求め、少なくともこの正規予測必要燃料量に基いて燃料噴射量を算出する。従って、吸気行程毎に、前回の吸気行程での燃料の過不足分が少なくとも今回の吸気行程で補償されるので、空燃比を迅速、且つ、精度良く、一定に維持することができる。
【００１２】
また、燃料フィードバック補正量で補正された後の正規予測必要燃料量に基いて燃料噴射量が算出される。従って、例えば、後述するように、内燃機関の運転状態に応じて変化する（実際の）燃料付着量を考慮して正規予測必要燃料量に基いて燃料噴射量が算出される場合等、算出される燃料噴射量が正規予測必要燃料量に対して内燃機関の運転状態に応じた異なる量となる場合であっても、前記算出された燃料噴射量の燃料を噴射すれば、内燃機関の運転状態に拘わらず、前記燃料フィードバック補正量が確実に反映された所望の前記正規予測必要燃料量の燃料が正確に燃料噴射気筒内に吸入され得る。この結果、前記燃料フィードバック補正量を算出するためのフィードバックコントローラが使用する比例ゲイン等のフィードバック制御定数を時々刻々と変化する内燃機関の運転状態に応じて変更する必要がないので、フィードバックコントローラを簡易な構成とすることができる。
【００１３】
また、より具体的態様としての本発明の内燃機関の燃料噴射量制御装置は、指示に応じて燃料噴射を行う燃料噴射手段を備えた内燃機関の燃料噴射量制御装置であって、運転状態量予測手段、運転状態量取得手段、予測吸入空気量算出手段、補正前予測必要燃料量算出手段、実吸入空気量算出手段、実必要燃料量算出手段、実吸入燃料量算出手段、燃料フィードバック補正量算出手段、正規予測必要燃料量算出手段、燃料噴射量算出手段、及び燃料噴射指示手段を備える。以下、各手段の作用について説明する。
【００１４】
運転状態量予測手段は、現時点より先の時点における前記内燃機関の運転状態量を予測する。運転状態量取得手段は、現時点より前の時点における前記内燃機関の実際の運転状態量を取得する。運転状態量の代表例としては、スロットル弁開度が挙げられる。
【００１５】
予測吸入空気量算出手段は、今回の吸気行程に対する吸気弁閉弁時より前の第１所定時点にて、同今回の吸気行程での吸気弁閉弁時の吸入空気量である予測吸入空気量を前記運転状態量予測手段により予測された同第１所定時点より先の時点における運転状態量と前記内燃機関の吸気系における空気の挙動をモデル化した空気モデルとに基いて算出する。即ち、予測吸入空気量算出手段は、次に吸気行程に入ろうとしている（又は、すでに吸気行程に入っている）気筒の吸気弁がその吸気行程において開弁状態から閉弁状態へと以降する時点（吸気弁閉弁時）より前の第１所定時点で、同吸気弁閉弁時における同気筒の吸入空気量を予測する。
【００１６】
補正前予測必要燃料量算出手段は、前記第１所定時点より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第２所定時点にて、前記予測吸入空気量に基づいて同今回の吸気行程で必要とされるべき仮の燃料量である補正前予測必要燃料量を算出する。例えば、補正前予測必要燃料量算出手段は、内燃機関の運転状態に応じて別途定められる（或いは一定の）目標空燃比で前記予測吸入空気量を除することにより補正前予測必要燃料量を算出することができる。
【００１７】
実吸入空気量算出手段は、前回の吸気行程での吸気弁閉弁時より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第３所定時点にて、同前回の吸気行程での吸気弁閉弁時の実際の吸入空気量である実吸入空気量を前記運転状態量取得手段により取得された実際の運転状態量と前記空気モデルとに基いて算出する。この第３所定時点は、前記前回の吸気行程での吸気弁閉弁時より後の時点であるから、同前回の吸気行程での吸気弁閉弁時の実際の吸入空気量を求めるための運転状態量は既知であり、前記運転状態量取得手段により取得される。従って、実吸入空気量は同既知の運転状態量と空気モデルとに基いて正確に求められる。
【００１８】
実必要燃料量算出手段は、前記第３所定時点より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第４所定時点にて、前記算出された実吸入空気量に基いて前記前回の吸気行程において実際に必要とされていた燃料量である実必要燃料量を算出する。例えば、実必要燃料量算出手段は、前記補正前予測必要燃料量算出手段と同様、前記目標空燃比で前記実吸入空気量を除すことにより実必要燃料量を算出することができる。
【００１９】
実吸入燃料量算出手段は、前記今回の吸気行程に対する吸気弁閉弁時より前の第５所定時点にて、前記前回の吸気行程において実際に吸入された燃料量である実吸入燃料量を少なくとも同前回の吸気行程に対し実際に噴射された燃料噴射量に基いて算出する。この場合、後述するように、実際の燃料付着量（実燃料付着量）を考慮して実吸入燃料量を求めることが好適である。
【００２０】
燃料フィードバック補正量算出手段は、前記第４所定時点、及び前記第５所定時点より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第６所定時点にて、前記算出された実必要燃料量と前記算出された実吸入燃料量とに基いて燃料フィードバック補正量を算出する。
【００２１】
例えば、前記算出された実必要燃料量と前記算出された実吸入燃料量との差は、前回の吸気行程における燃料の過不足分を表すから、同実必要燃料量と同実吸入燃料量との差と、この差を入力値とする比例積分制御等のコントローラとを用いることで、同燃料の過不足分を補償する燃料フィードバック補正量が算出される。
【００２２】
正規予測必要燃料量算出手段は、前記第２所定時点、及び前記第６所定時点より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第７所定時点にて、前記算出された補正前予測必要燃料量を前記算出された燃料フィードバック補正量で補正することにより同今回の吸気行程で必要とされる正規燃料量である正規予測必要燃料量を算出する。
【００２３】
燃料噴射量算出手段は、前記第７所定時点より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第８所定時点にて、少なくとも前記算出された正規予測必要燃料量に基いて前記燃料噴射手段から同今回の吸気行程に対し噴射される燃料噴射量を算出する。この場合、燃料噴射量算出手段は、前記燃料噴射量の燃料を噴射すれば前記正規予測必要燃料量の燃料が前記今回の吸気行程に対する気筒（燃料噴射気筒）内に吸入されるように同燃料噴射量を算出するように構成されることが好適である。更には、後述するように、実際の燃料付着量（実燃料付着量）を考慮して燃料噴射量を求めることが好適である。
【００２４】
そして、燃料噴射指示手段は、前記第８所定時点より後の時点であって前記今回の吸気行程に対する吸気弁閉弁時より前の第９所定時点にて、前記燃料噴射手段に対し前記算出された燃料噴射量の燃料を噴射するように指示を与え、これにより、同燃料噴射量の燃料が燃料噴射手段から噴射される。
【００２５】
本発明による燃料噴射量制御装置は、以上の処理を吸気行程毎に（各気筒毎に）繰り返し実行し、前回の吸気行程における燃料の過不足分を次回以降の燃料噴射量に直ちに反映する（補償する）ので、空燃比を安定した値に維持することができる。また、前記算出された燃料噴射量の燃料を噴射すれば、内燃機関の運転状態に拘わらず、前記燃料フィードバック補正量が確実に反映された所望の前記正規予測必要燃料量の燃料が燃料噴射気筒内に正確に吸入され得るので、前記燃料フィードバック補正量を算出するためのフィードバック制御定数を時々刻々と変化する内燃機関の運転状態に応じて変更する必要がなく、この結果、燃料フィードバック補正量を算出するためのフィードバックコントローラを簡易な構成とすることができる。
【００２６】
この場合、上記燃料噴射量制御装置は、実燃料付着量を算出する実燃料付着量算出手段を備え、前記実吸入燃料量算出手段は、この実燃料付着量を考慮しながら燃料挙動モデルの順モデルを使用して前記実吸入燃料量を算出するように構成され、前記燃料噴射量算出手段は、前記正規予測必要燃料量が吸入されるように、前記算出された実燃料付着量を考慮しながら燃料挙動モデルの逆モデルを使用して前記燃料噴射量を算出するように構成されることが好適である。
【００２７】
これによれば、内燃機関の運転状態に応じて変化する燃料付着量が考慮されながら燃料噴射量が決定されて行くから、燃料噴射気筒に対して適切な燃料噴射量が算出され、その結果、空燃比を一層安定化することができる。
【００２８】
より具体的に述べると、実燃料付着量算出手段は、任意の吸気行程に対し実際に噴射された燃料噴射量と、同任意の吸気行程の一回前の吸気行程後であって同任意の吸気行程前における実際の燃料付着量である実燃料付着量と、前記燃料挙動モデルとに基いて、同任意の吸気行程後であって同任意の吸気行程の一回後の吸気行程前における実燃料付着量を算出する。
【００２９】
即ち、実燃料付着量算出手段は、ある吸気行程に対して実際に噴射された燃料噴射量の燃料のうちの吸気系に付着する燃料の量と、その吸気行程前に吸気系に付着していた実燃料付着量のうちの吸気系に残留する燃料の量とから、新たな（前記ある吸気行程後の）実燃料付着量を算出する。
【００３０】
また、前記実吸入燃料量算出手段は、前記燃料挙動モデルの順モデルに基いて、前記前回の吸気行程に対し実際に噴射された燃料噴射量の燃料のうち同前回の吸気行程において同気筒に実際に吸入された燃料量、及び、前記実燃料付着量算出手段により算出された前々回の吸気行程後であって同前回の吸気行程前における実燃料付着量の燃料のうち同前回の吸気行程において実際に吸入された燃料量とから、同前回の吸気行程において実際に吸入された前記実吸入燃料量を算出するように構成される。
【００３１】
即ち、前記実吸入燃料量算出手段は、前回の吸気行程に対する実際の燃料噴射量の燃料のうち燃料噴射気筒に吸入される分と、前回の吸気行程前の実際の燃料付着量の燃料のうち燃料噴射気筒に吸入される分との和を、前回の吸気行程において実際に吸入された吸入燃料量として算出する。
【００３２】
そして、前記燃料噴射量算出手段は、前記燃料挙動モデルの逆モデルに基いて、前記今回の吸気行程に対し噴射されるべき燃料噴射量の燃料のうち同今回の吸気行程において吸入される燃料量と前記実燃料付着量算出手段により算出された前記前回の吸気行程後であって同今回の吸気行程前における実燃料付着量の燃料のうち同今回の吸気行程において吸入される燃料量との和が前記算出された正規予測必要燃料量と等しくなるように同燃料噴射量を算出するように構成される。
【００３３】
即ち、前記燃料噴射量算出手段は、正規予測必要燃料量が燃料噴射気筒に吸入されるためには、どれだけの燃料噴射量の燃料を噴射しなければならないかを、同燃料噴射量の燃料のうち吸入系へ付着することなく同気筒に吸入される分、及び今回の吸気行程前における前記実燃料付着量の燃料のうちの同気筒への吸入される分とを考慮して算出し、そのようにして算出された噴射量を燃料噴射量とする。
【００３４】
このようにすれば、実際の燃料噴射量に基いて算出される精度の良い実燃料付着量が考慮されることで、実吸入燃料量が精度良く求められるので、吸入された燃料の過不足分が正確に求められ、この過不足分がフィードバック補正量に反映されるから、結果として空燃比を安定させることができる。また、このように精度の良い実燃料付着量が考慮されて燃料噴射量が算出されるので、吸入空気量の予測誤差がない場合（燃料フィードバック補正量がない場合）には同燃料噴射量の燃料の噴射によって実必要燃料量に極めて近しい燃料量の燃料（即ち、補正前予測必要燃料量、又は正規予測必要燃料量）が燃料噴射気筒に供給されることになり、これによっても各吸気行程毎の空燃比が安定する。
【００３５】
また、上記のように、前記実吸入燃料量算出手段が前記実燃料付着量を考慮しながら燃料挙動モデルの順モデルを使用して同実吸入燃料量を算出するように構成され、前記燃料噴射量算出手段が同実燃料付着量を考慮しながら燃料挙動モデルの逆モデルを使用して前記燃料噴射量を算出するように構成される場合、前記実吸入燃料量算出手段は、前記燃料挙動モデルの順モデルにて使用する付着率と残留率を前記前回の吸気行程に対する吸気弁閉弁時の実吸入空気量に基いて決定し、前記燃料噴射量算出手段は、前記燃料挙動モデルの逆モデルにて使用する付着率と残留率を前記予測吸入空気量に基いて決定するように構成されることが好適である。
【００３６】
これによれば、実吸入燃料量算出手段が燃料挙動モデルの順モデルにて使用する付着率と残留率は、前回の吸気行程に対する吸気弁閉弁時後において既知となった運転状態量と空気モデルとに基いて求められた同前回の吸気行程に対する吸気弁閉弁時の実際の吸入空気量（実吸入空気量）に基いて決定されることになり、機関の吸気系における実際の燃料の挙動を精度良く表す量となる。従って、実吸入燃料量がより一層正確に算出される。
【００３７】
また、燃料噴射量算出手段が燃料挙動モデルの逆モデルにて使用する付着率と残留率は、運転状態量予測手段により予測された運転状態量と空気モデルとに基いて求められた今回の吸気行程に対する吸気弁閉弁時の予測された吸入空気量（予測吸入空気量）に基いて決定されることになり、今回の吸気行程に対する吸気弁閉弁時において予測される機関の吸気系における燃料の挙動を精度良く表す量となる。従って、正規予測必要燃料量の燃料を燃料噴射気筒に吸入させるための燃料噴射量がより一層正確に算出される。
【００３８】
上記何れかの燃料噴射量制御装置においては、前記燃料フィードバック補正量算出手段は、少なくとも前記算出された実必要燃料量と前記算出された実吸入燃料量との差の時間積分値に基いて燃料フィードバック補正量を算出するように構成され、前記予測吸入空気量算出手段と前記実吸入空気量算出手段は、前記内燃機関の運転状態が定常運転状態にあるとき、同予測吸入空気量算出手段により算出される前記予測吸入空気量と同実吸入空気量算出手段により算出される前記実吸入空気量とが等しくなるように構成されることが好適である。
【００３９】
これによれば、内燃機関の運転状態が定常運転状態にあるとき、前記予測吸入空気量と前記実吸入空気量とが等しくなるから、同予測吸入空気量に基いて算出される補正前予測必要燃料量と同実吸入空気量に基いて算出される実必要燃料量とも等しくなり得る。従って、内燃機関の運転状態が所定時間以上定常運転状態に維持される毎に、前記算出された実必要燃料量と前記算出された実吸入燃料量との差の前記時間積分値がゼロになることが保証され得る。
【００４０】
一方、前記差の時間積分値は燃料の過不足分の時間積分値に相当する値である。よって、内燃機関の運転状態が定常運転状態から燃料の過不足分が発生し易い過渡運転状態に移行した後、再び定常運転状態に復帰する毎に、燃料の過不足分の時間積分値がゼロになることが保証され得ることになる。この結果、内燃機関の運転状態が定常運転状態から一旦過渡運転状態に移行してから再び定常運転状態に復帰するまでの期間における平均的な空燃比（（同期間内の総吸入空気量）／（同期間内の総燃料（噴射）量））を所定の目標空燃比（例えば、理論空燃比）と等しくすることができる。
【００４１】
ところで、一般に、内燃機関の排気系には、理論空燃比から或る程度偏移した空燃比を有する排気ガスをも浄化するため、所謂酸素吸蔵・放出機能を備えた三元触媒が介装されることが多い。この三元触媒が有する酸素吸蔵・放出機能は、同触媒の酸素吸蔵量が所定の量（例えば、同触媒の最大酸素吸蔵量の半分程度の量）近傍に維持されているときに効率良く発揮される。一方、三元触媒の酸素吸蔵量は、同触媒に流入する排気ガスの空燃比がリッチ空燃比のとき減少し、同排気ガスの空燃比がリーン空燃比のとき増加する。従って、上記期間内における平均的な空燃比が前記目標空燃比（例えば、理論空燃比）と等しければ、同期間の前後において三元触媒の酸素吸蔵量は変化することなく、この結果、同触媒の酸素吸蔵量が前記所定の量近傍に維持され得る。
【００４２】
以上のことから、上記のように構成すれば、内燃機関の排気系に所謂酸素吸蔵・放出機能を備えた三元触媒が介装される場合、内燃機関の運転状態が定常運転状態から一旦過渡運転状態に移行してから再び定常運転状態に復帰した場合においても、同三元触媒の酸素吸蔵・放出機能が低下することがなく、排気ガスのエミッションの排出量が増大することを防止することができる。
【００４３】
なお、上記燃料噴射量制御装置において、上記第９の所定時点は、実際には、燃料噴射に要する時間と、噴射された燃料が気筒内に吸入されるのに要する時間と、の和の時間だけ、吸気弁閉弁時よりも前の時点である必要がある。但し、筒内噴射式の内燃機関の場合、或いは、燃料噴射手段としてのインジェクタの流量が極めて大きい場合等においては、第９の所定時点は吸気弁閉弁時より前の所定時点であればよい。また、第９の所定時点は、燃料噴射開始後であってもよい。
【００４４】
【発明の実施の形態】
以下、本発明による内燃機関の制御装置の各実施形態について図面を参照しつつ説明する。図１は、本発明の第１実施形態に係る燃料噴射量制御装置を火花点火式多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。
【００４５】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０とを含んでいる。
【００４６】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３、及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００４７】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８、及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００４８】
吸気系統４０は、吸気ポート３１に連通し同吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットル弁４３、スロットル弁駆動手段を構成するスロットル弁アクチュエータ４３ａ、スワールコントロールバルブ（以下、「ＳＣＶ」と称呼する。）４４、及びＳＣＶアクチュエータ４４ａを備えている。
【００４９】
ＤＣモータからなるスロットル弁アクチュエータ４３ａは、後述する電子制御装置７０が達成する電子制御スロットル弁ロジックにより目標スロットル弁開度ＴＡｔが与えられると、実際のスロットル弁開度ＴＡが目標スロットル弁開度ＴＡｔとなるようにスロットル弁４３を駆動するようになっている。
【００５０】
ＤＣモータからなるＳＣＶアクチュエータ４４ａは、電気制御装置７０から駆動信号を受け、前記スロットル弁４３よりも下流で前記インジェクタ３９よりも上流の位置にて前記吸気管４１に対し回動可能に支持され、燃焼室に吸入される空気にスワールを発生させるためのＳＣＶ４４を回転駆動するようになっている。
【００５１】
排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１に接続されたエキゾーストパイプ５２、及びエキゾーストパイプ５２に介装された所謂酸素吸蔵・放出機能を備えた触媒コンバータ（三元触媒装置）５３を備えている。
【００５２】
一方、このシステムは、熱線式エアフローメータ６１、吸気温センサ６２、大気圧センサ（スロットル弁上流圧力センサ）６３、スロットルポジションセンサ６４、ＳＣＶ開度センサ６５、カムポジションセンサ６６、クランクポジションセンサ６７、水温センサ６８、空燃比センサ６９、及びアクセル操作量検出手段（の一部）を構成するアクセル開度センサ８１を備えている。
【００５３】
エアフローメータ６１は、概略斜視図である図２に示したように、吸気管４１内を流れる吸入空気の一部をバイパスさせるバイパス通路と、このバイパス通路にバイパスされた吸入空気の質量流量を計測する熱線計量部６１ａと、計測された質量流量に応じた電圧Ｖｇを出力する信号処理部６１ｂとからなっている。熱線計量部６１ａは、その拡大斜視図である図３に示したように、白金熱線からなる吸気温計測用抵抗（ボビン部）６１ａ１と、同吸気温計測用抵抗６１ａ１を前記信号処理部６１ｂに連結して保持するサポート部６１ａ２と、加熱用抵抗（ヒータ）６１ａ３と、同加熱用抵抗６１ａ３を前記信号処理部６１ｂに連結して保持するサポート部６１ａ４とを備えている。信号処理部６１ｂは、吸気温計測用抵抗６１ａ１と加熱用抵抗６１ａ３とで構成されたブリッジ回路を備え、このブリッジ回路により吸気温計測用抵抗６１ａ１と加熱用抵抗６１ａ３との温度差を常に一定に維持するように同加熱用抵抗６１ａ３に供給する電力を調整するとともに、この供給する電力を前記電圧Ｖｇに変換して出力するようになっている。かかるエアフローメータ６１の出力Ｖｇと、計測された吸入空気流量ｍｔＡＦＭとの関係は、例えば図４に示したとおりであり、電気制御装置７０は同図４の関係を利用することにより、計測された吸入空気流量ｍｔＡＦＭの値を取得するようになっている。
【００５４】
吸気温センサ６２は、エアフローメータ６１内に備えられていて、吸入空気の温度（吸気温度）を検出し、吸気温度ＴＨＡを表す信号を出力するようになっている。大気圧センサ６３は、スロットル弁４３の上流の圧力（即ち、大気圧）を検出し、スロットル弁上流圧力Ｐａを表す信号を出力するようになっている。スロットルポジションセンサ６４は、スロットル弁４３の開度を検出し、スロットル弁開度ＴＡを表す信号を出力するようになっている。ＳＣＶ開度センサ６５は、ＳＣＶ４４の開度を検出し、ＳＣＶ開度θｉｖを表す信号を出力するようになっている。カムポジションセンサ６６は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。クランクポジションセンサ６７は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度ＮＥを表す。水温センサ６８は、内燃機関１０の冷却水の温度を検出し、冷却水温ＴＨＷを表す信号を出力するようになっている。空燃比センサ６９は、触媒コンバータ５３に流入する排ガス中の酸素濃度を検出することで空燃比を表す信号を出力するようになっている。アクセル開度センサ８１は、運転者によって操作されるアクセルペダル８２の操作量を検出し、同アクセルペダルの操作量Ａｃｃｐを表す信号を出力するようになっている。
【００５５】
電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するプログラム、テーブル（ルックアップテーブル、マップ）、定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、及びＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。インターフェース７５は、前記センサ６１〜６９，８１と接続され、ＣＰＵ７１にセンサ６１〜６９，８１からの信号を供給するとともに、同ＣＰＵ７１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９、スロットル弁アクチュエータ４３ａ、及びＳＣＶアクチュエータ４４ａに駆動信号を送出するようになっている。
【００５６】
次に、上記のように構成された制御装置による物理モデルを用いた燃料噴射量の決定方法について説明する。以下に述べる処理は、ＣＰＵ７１がプログラムを実行することにより行われる。
【００５７】
（燃料噴射量ｆｉの決定方法の概要）
このような燃料噴射量制御装置は、吸気行程にある気筒、又は吸気行程の直前の状態にある気筒（即ち、燃料噴射気筒）の吸気弁３２が、その吸気行程において開弁した状態から閉弁する状態に移行する時点（吸気弁閉弁時）より前の時点にて、同気筒に対して所定量の燃料を噴射する必要がある。そのため、本燃料噴射量制御装置は、吸気弁３２が閉弁状態に移行する時点において同気筒内に吸入されているであろう吸入空気量を前もって予測し、同予測した吸入空気量に応じた燃料量の燃料を同吸気弁３２の閉弁時より前の時点で同気筒に対して噴射する。本例においては、噴射終了時期を、燃料噴射気筒の吸気上死点前７５°クランクアングル（以下、「ＢＴＤＣ７５°ＣＡ」と表す。他のクランクアングルについても同様に表す。）と定めている。従って、本制御装置は、噴射に要する時間（インジェクタの開弁時間）、ＣＰＵの計算時間を考慮して、ＢＴＤＣ７５°ＣＡの時点よりも前の時点にて、燃料噴射気筒の吸入空気量を予測する。
【００５８】
一方、吸気弁閉弁時の吸気管圧力（即ち、吸気管内空気圧力）は、吸入空気量と密接な関係にある。また、吸気弁閉弁時の吸気管圧力は、吸気弁閉弁時のスロットル弁開度に依存する。そこで、本制御装置は、吸気弁閉弁時のスロットル弁開度を予測・推定し、そのスロットル弁開度に基づいて燃料噴射気筒の吸入空気量ＫＬｆｗｄを事前に予測し、下記数１に示したように、予測した吸入空気量ＫＬｆｗｄをエンジンの運転状態に応じて別途定められる目標空燃比ＡｂｙＦｒｅｆで除することで仮の必要燃料量（補正前予測必要燃料量）Ｆｃｆｗｄｂを決定するとともに、燃料フィードバック補正量Ｆｆｂを別途求め、補正前予測必要燃料量Ｆｃｆｗｄｂを燃料フィードバック補正量Ｆｆｂにより補正して正規の予測必要燃料量Ｆｃｆｗｄを求める。燃料フィードバック補正量Ｆｆｂは、後に詳述するように、前回の吸気行程において実際に必要とされた燃料量（実必要燃料量）と同前回の吸気行程において実際に吸入された燃料量（実吸入燃料量）との差に基く値である。そして、本制御装置は、燃料噴射量ｆｉの燃料を噴射すれば前記求めた正規予測必要燃料量Ｆｃｆｗｄの燃料が燃料噴射気筒に吸入されるように、同正規予測必要燃料量Ｆｃｆｗｄに基いて前記燃料噴射量ｆｉを求める。以上が、燃料噴射量（最終的に噴射される燃料の量）ｆｉを求める方法の概要である。
【００５９】
【数１】
Ｆｃｆｗｄ  ＝  ＫＬｆｗｄ／ＡｂｙＦｒｅｆ  ＋  Ｆｆｂ＝  Ｆｃｆｗｄｂ  ＋  Ｆｆｂ
【００６０】
（具体的構成・作用）
以下、上記した燃料噴射量ｆｉを求めるための燃料噴射量制御装置の具体的構成、及び作用について説明する。この燃料噴射量制御装置は、機能ブロック図である図５に示したように、電子制御スロットル弁ロジックＡ１、現時点より前の時点（過去〜現在）における実際のスロットル弁開度と実際のアクセル操作量等の内燃機関の運転状態量を取得する運転状態量取得手段Ａ２、現時点より先の時点におけるスロットル弁開度等の内燃機関の運転状態量を予測する運転状態量予測手段Ｍ１、内燃機関の吸気系における空気の挙動をモデル化した空気モデルを含む実吸入空気量算出手段としての第１吸入空気モデルＡ３、同空気モデルを含む予測吸入空気量算出手段としての第２吸入空気モデルＡ４、目標空燃比設定手段Ａ５、及び図６に詳細な機能ブロック図を示した噴射量決定手段Ａ６を含んでいる。以下、個別具体的に、各手段、及びモデル等について説明する。
【００６１】
（電子制御スロットル弁ロジックと電子制御スロットル弁モデル）
先ず、スロットル弁開度を制御するための電子制御スロットル弁ロジックＡ１と、将来における（現時点よりも先の時点における）スロットル弁開度ＴＡｅｓｔを予測する電子制御スロットル弁モデルＭ１について説明する。
【００６２】
電子制御スロットル弁ロジックＡ１は、先ず、演算周期ΔＴｔ（例えば、８ｍｓｅｃ）の経過毎にアクセル開度センサ８１の出力値に基づいてアクセル操作量Ａｃｃｐを読込み、読み込んだアクセル操作量Ａｃｃｐと図７のアクセル操作量Ａｃｃｐと目標スロットル弁開度ＴＡａｃｃとの関係を規定したテーブルとに基づいて今回の暫定目標スロットル弁開度ＴＡａｃｃを求め、この暫定目標スロットル弁開度ＴＡａｃｃを図８のタイムチャートに示したように、所定の遅延時間ＴＤだけ遅延し、この遅延した暫定目標スロットル弁開度ＴＡａｃｃを目標スロットル弁開度ＴＡｔとして設定してスロットル弁アクチュエータ４３ａに出力する。なお、遅延時間ＴＤは、本例においては一定の時間であるが、内燃機関が所定のクランク角度（例えば、クランク角２７０°ＣＡ）だけ回転するのに要する時間Ｔ２７０とする等、エンジン回転速度ＮＥに応じた可変の時間とすることもできる。
【００６３】
ところで、電子制御スロットル弁ロジックＡ１から目標スロットル弁開度ＴＡｔがスロットル弁アクチュエータ４３ａに出力された場合であっても、同スロットル弁アクチュエータ４３ａの遅れや、スロットル弁４３の慣性などにより、実際のスロットル弁開度ＴＡは、ある遅れをもって目標スロットル弁開度ＴＡｔに追従する。そこで、電子制御スロットル弁モデルＭ１においては、下記数２に基いて遅延時間ＴＤ後におけるスロットル弁開度を予測・推定する（図８を参照）。
【００６４】
【数２】
ＴＡｅｓｔ（ｋ＋１）＝ＴＡｅｓｔ（ｋ）＋ΔＴｔ・ｆ（ＴＡｔ（ｋ），ＴＡｅｓｔ（ｋ））
【００６５】
数２において、ＴＡｅｓｔ（ｋ＋１）は今回の演算タイミングにおいて新たに予測・推定される予測スロットル弁開度ＴＡｅｓｔであり、ＴＡｔ（ｋ）は今回の演算タイミングにて新たに得られた目標スロットル弁開度ＴＡｔであり、ＴＡｅｓｔ（ｋ）は今回の演算タイミングにおいて既に予測・推定されていた最新の予測スロットル弁開度ＴＡｅｓｔ（即ち、前回の演算タイミングにおいて予測・推定されたスロットル弁開度ＴＡｅｓｔ）である。また、関数ｆ（ＴＡｔ（ｋ），ＴＡｅｓｔ（ｋ））は、図９に示したように、ＴＡｔ（ｋ）とＴＡｅｓｔ（ｋ）との差ΔＴＡ（＝ＴＡｔ（ｋ）−ＴＡｅｓｔ（ｋ））が大きい程大きい値をとる関数（ΔＴＡに関して単調増加する関数ｆ）である。
【００６６】
このように、電子制御スロットル弁モデルＭ１（ＣＰＵ７１）は、今回の演算タイミングにて遅延時間ＴＤ後の目標スロットル弁開度ＴＡｔを新たに決定するとともに、遅延時間ＴＤ後のスロットル弁開度ＴＡｅｓｔを新たに予測・推定し、現時点から遅延時間ＴＤ経過後までの目標スロットル弁開度ＴＡｔと予測スロットル弁開度ＴＡｅｓｔを、現時点からの時間経過に対応させた形でＲＡＭ７３に記憶・格納する。
【００６７】
＜第１吸入空気モデル（実吸入空気量算出手段）Ａ３＞
第１吸入空気モデルＡ３は、内燃機関の吸気系における空気の挙動をモデル化した空気モデルを構成するスロットルモデルＭ２、吸気弁モデルＭ３、吸気管モデルＭ４、及び吸気弁モデルＭ５を備えていて、特定気筒の前回の吸気行程での吸気弁閉弁時より後の時点であって同気筒の今回の吸気行程に対する吸気弁閉弁時より前の時点にて同気筒の前回の吸気行程での吸気弁閉弁時の実際の吸入空気量である実吸入空気量ＫＬａｃｔを、前記運転状態量取得手段Ａ２により取得された実際の運転状態量である実際のスロットル弁開度（実スロットル弁開度ＴＡａｃｔ）に基いて求める。上記スロットルモデルＭ２、吸気弁モデルＭ３、吸気管モデルＭ４、及び吸気弁モデルＭ５の内容については、後に詳述する。
【００６８】
なお、本例では、スロットルモデルＭ２、吸気弁モデルＭ３、吸気管モデルＭ４、及び吸気弁モデルＭ５により実際の吸入空気量ＫＬａｃｔを求めるが、これとは別に、燃料噴射気筒の前回の吸気行程における吸気弁閉弁時の実スロットル弁開度ＴＡａｃｔ、同燃料噴射気筒の前回の吸気行程における吸気弁閉弁時の実エンジン回転速度ＮＥ、及びテーブル（スロットル弁開度ＴＡａｃｃ、エンジン回転速度ＮＥ、及び実吸入空気量ＫＬａｃｔの関係を予め規定したテーブル）又は計算式を用いて実際の吸入空気量ＫＬａｃｔを求めるものであってもよい。
【００６９】
＜第２吸入空気モデルＡ４＞
第２吸入空気モデルＡ４は、第１吸入空気モデルＡ３が含んでいる空気モデルと同様の空気モデルを構成するスロットルモデルＭ２０、吸気弁モデルＭ３０、吸気管モデルＭ４０、及び吸気弁モデルＭ５０を備えていて、少なくとも電子制御スロットル弁モデルＭ１により予測・推定された予測スロットル弁開度ＴＡｅｓｔに基いて同燃料噴射気筒の今回の吸気行程における吸気弁閉弁時の吸入空気量（予測吸入空気量）ＫＬｆｗｄを予測・推定する。上記スロットルモデルＭ２０、吸気弁モデルＭ３０、吸気管モデルＭ４０、及び吸気弁モデルＭ５０については、後に詳述する。
【００７０】
なお、第２空気モデルＡ４は、燃料噴射気筒の今回の吸気行程における吸気弁閉弁時の予測スロットル弁開度ＴＡｅｓｔ、同燃料噴射気筒の今回の吸気行程における吸気弁閉弁時の実エンジン回転速度ＮＥ、及びテーブル（スロットル弁開度ＴＡ、エンジン回転速度ＮＥ、及び吸入空気量との関係を規定したテーブル）を用いて、今回の吸気行程における吸気弁閉弁時の予測吸入空気量ＫＬｆｗｄを求める（予測する）ように構成されていてもよい。
【００７１】
＜目標空燃比設定手段Ａ５＞
目標空燃比設定手段は、内燃機関の運転状態であるエンジン回転速度ＮＥ、及び目標スロットル弁開度ＴＡｔ等に基いて目標空燃比ＡｂｙＦｒｅｆを決定する手段である。この目標空燃比ＡｂｙＦｒｅｆは、例えば、内燃機関の暖機終了後においては、特殊な場合を除き理論空燃比に設定されてよい。
【００７２】
＜噴射量決定手段Ａ６＞
図５に示した噴射量決定手段Ａ６は、第１吸入空気モデルＡ３により算出された特定気筒の前回の吸気行程における吸気弁閉弁時の実吸入空気量ＫＬａｃｔ、第２吸入空気モデルＡ４により算出された同特定気筒の今回の吸気行程における吸気弁閉弁時の予測吸入空気量ＫＬｆｗｄ、及び目標空燃比設定手段Ａ５により決定された目標空燃比ＡｂｙＦｒｅｆ等に基いて、同特定気筒の今回の吸気行程に対する燃料噴射量ｆｉ（ｋ）を決定する手段である。この噴射量決定手段Ａ６は、図６の破線で囲まれた範囲内に詳細を示したように、補正前予測必要燃料量算出手段Ａ５１と、実必要燃料量算出手段Ａ５２と、実吸入燃料量算出手段（燃料挙動順モデル）Ａ５３と、燃料フィードバック補正量算出手段Ａ５４と、正規予測必要燃料量算出手段Ａ５５と、燃料噴射量算出手段（燃料挙動逆モデル）Ａ５６とを備えている。以下、燃料噴射量決定手段Ａ６が備える手段、及びモデルについて、個別に説明を加える。
【００７３】
（補正前予測必要燃料量算出手段Ａ５１）
補正前予測必要燃料量算出手段Ａ５１は、第２吸入空気モデルＡ４により求められた前記特定気筒の今回の吸気行程における吸気弁閉弁時の予測吸入空気量ＫＬｆｗｄを、目標空燃比設定手段Ａ５により求められた目標空燃比ＡｂｙＦｒｅｆで除する（ＫＬｆｗｄ／ＡｂｙＦｒｅｆ）ことにより、補正前予測必要燃料量Ｆｃｆｗｄｂを求める手段である。即ち、この補正前予測必要燃料量Ｆｃｆｗｄｂは、前記特定気筒の今回の吸気行程において吸入される混合気の空燃比を目標空燃比ＡｂｙＦｒｅｆとするために必要とすべき燃料の量である。
【００７４】
（実必要燃料量算出手段Ａ５２）
実必要燃料量算出手段Ａ５２は、第１吸入空気モデルＡ３により求められた前記特定気筒の前回の吸気行程における吸気弁閉弁時の実吸入空気量ＫＬａｃｔを、目標空燃比設定手段Ａ５により設定されていた目標空燃比ＡｂｙＦｒｅｆで除する（ＫＬａｃｔ／ＡｂｙＦｒｅｆ）ことにより、同特定気筒の前回の吸気行程において空燃比を目標空燃比ＡｂｙＦｒｅｆとするために必要であった燃料量である実必要燃料量Ｆｃａｃｔを求める手段である。
【００７５】
（実吸入燃料量算出手段（燃料挙動順モデル）Ａ５３）
実吸入燃料量算出手段Ａ５３は、燃料挙動の順モデルを用い、特定気筒の前回の吸気行程に対して実際に噴射した燃料、即ち前回の燃料噴射量ｆｉ（ｋ−１）の燃料のうち、吸気系に付着することなく同気筒に吸入された燃料の量、及び吸気系に付着していた燃料のうち同気筒の筒内に吸入された燃料の量を考慮して、同気筒の前回の吸気行程において同気筒の筒内に実際に吸入された燃料量である実吸入燃料量Ｆｃｅｓｔを求める手段である。
【００７６】
ここで、燃料挙動順モデルについて説明すると、特定気筒の前々回の吸気行程後であって前回の吸気行程直前において、同気筒の吸気ポートに付着していたポート燃料付着量をｆｗｐ（ｋ−１）、同気筒の吸気弁に付着していたバルブ燃料付着量をｆｗｖ（ｋ−１）、吸気ポートへの燃料付着率をＲｐ、吸気弁への燃料付着率をＲｖ、吸気ポートへの燃料残留率をＰｐ、吸気弁への燃料残留率をＰｖとするとき、同気筒の前回の吸気行程後であって今回の吸気行程直前において、同気筒の吸気ポートに実際に付着していたポート燃料付着量ｆｗｐ（ｋ）、及び同気筒の吸気弁に実際に付着していたバルブ燃料付着量ｆｗｖ（ｋ）は、下記数３、及び下記数４により求められる。下記数３、及び下記数４が実燃料付着量算出手段に相当する。
【００７７】
【数３】
ｆｗｐ（ｋ）  ＝  Ｐｐ・ｆｗｐ（ｋ−１）＋Ｒｐ・ｆｉ（ｋ−１）
【００７８】
【数４】
ｆｗｖ（ｋ）  ＝  Ｐｖ・ｆｗｖ（ｋ−１）＋Ｒｖ・ｆｉ（ｋ−１）
【００７９】
また、特定気筒の前回の吸気行程において、同気筒に実際に吸入された実吸入燃料量Ｆｃｅｓｔは、下記数５により求められる。下記数５が、燃料挙動の順モデルを表した数式である。
【００８０】
【数５】
Ｆｃｅｓｔ  ＝  （１−Ｐｐ）・ｆｗｐ（ｋ−１）＋（１−Ｐｖ）・ｆｗｖ（ｋ−１）＋（１−Ｒｐ−Ｒｖ）・ｆｉ（ｋ−１）
【００８１】
なお、実吸入燃料量算出手段Ａ５３は、吸気ポートへの燃料付着率Ｒｐ、吸気弁への燃料付着率Ｒｖ、吸気ポートへの燃料残留率Ｐｐ、及び吸気弁への燃料残留率Ｐｖを、前回の吸気行程での吸気弁閉弁時における実際の吸入空気量ＫＬａｃｔ（又は、同吸気弁閉時における実際のスロットル弁開度）、同吸気弁閉弁時の実際のエンジン回転速度ＮＥ（但し、実吸入空気量ＫＬａｃｔ算出時のエンジン回転速度ＮＥでも良い。）、及び同吸気弁閉時の実際の吸気弁開閉タイミングＶＴ（但し、実吸入空気量ＫＬａｃｔ算出時の吸気弁開閉タイミングＶＴを用いても良い。）等に基いて決定し、この決定した付着率、及び残留率と、上記数３〜上記数５とに基いて、実吸入燃料量Ｆｃｅｓｔを気筒毎に算出する。
【００８２】
（燃料フィードバック補正量算出手段Ａ５４）
燃料フィードバック補正量算出手段Ａ５４は、特定気筒の前回の吸気行程における燃料の過不足分を表す「実必要燃料量Ｆｃａｃｔと実吸入燃料量Ｆｃｅｓｔの差」、即ち、吸入燃料量誤差Ｆｃｅｒｒ（ｋ）に基いて、燃料フィードバック補正量Ｆｆｂ（ｋ）を求める手段である。燃料フィードバック補正量算出手段Ａ５４は、本例においては、ＰＩ（比例・積分）コントローラであり、吸入燃料量誤差Ｆｃｅｒｒ（ｋ）を下記数６により求めるとともに、燃料フィードバック補正量Ｆｆｂ（ｋ）を下記数７、及び下記数８により求める。下記数７、及び下記数８におけるＳｕｍＦｃｅｒｒは吸入燃料量誤差Ｆｃｅｒｒの積分値である。係数Ｋｐ、及び係数Ｋｉは、それぞれ比例定数、及び積分定数であって、前記ＰＩコントローラの設計段階にて一旦決定された後は変更される必要がない値である。
【００８３】
【数６】
Ｆｃｅｒｒ（ｋ）＝Ｆｃａｃｔ−Ｆｃｅｓｔ
【００８４】
【数７】
Ｆｆｂ（ｋ）＝Ｋｐ・Ｆｃｅｒｒ（ｋ）＋Ｋｉ・ＳｕｍＦｃｅｒｒ（ｋ−１）
【００８５】
【数８】
ＳｕｍＦｃｅｒｒ（ｋ）＝ＳｕｍＦｃｅｒｒ（ｋ−１）＋Ｆｃｅｒｒ（ｋ）
【００８６】
（正規予測必要燃料量算出手段Ａ５５）
正規予測必要燃料量算出手段Ａ５５は、上記のように求めた補正前予測必要燃料量Ｆｃｆｗｄｂ（ｋ）を燃料フィードバック補正量Ｆｆｂ（ｋ）により補正して、特定気筒の正規予測必要燃料量Ｆｃｆｗｄ（ｋ）を求める手段である。具体的には、上記数１と同じ下記数９に示したように、補正前予測必要燃料量Ｆｃｆｗｄｂ（ｋ）に燃料フィードバック補正量Ｆｆｂ（ｋ）加えた値を正規予測必要燃料量Ｆｃｆｗｄ（ｋ）として求める。
【００８７】
【数９】
Ｆｃｆｗｄ（ｋ）＝Ｆｃｆｗｄｂ（ｋ）＋Ｆｆｂ（ｋ）
【００８８】
（燃料噴射量算出手段（燃料挙動逆モデル）Ａ５６）
燃料噴射量算出手段Ａ５６は、燃料挙動の逆モデルを用い、噴射した燃料のうち吸気ポートや吸気弁の吸気系に付着することなく筒内に吸入される燃料の量、及び吸気系に付着していた燃料のうち筒内に吸入される燃料の量を考慮して、前記正規予測必要燃料量Ｆｃｆｗｄ（ｋ）の燃料を燃料噴射気筒に供給するために必要とされる今回の燃料噴射量ｆｉ（ｋ）を算出する手段である。
【００８９】
ここで、前記燃料挙動モデルの逆モデルについて説明すると、上記実吸入燃料量算出手段（燃料挙動順モデル）Ａ５３により使用される上記式３、及び上記式４により既に求められている、特定気筒の前回の吸気行程後であって今回の吸気行程直前における同気筒の吸気ポートに実際に付着しているポート燃料付着量ｆｗｐ（ｋ）、及び同気筒の吸気弁に実際に付着しているバルブ燃料付着量ｆｗｖ（ｋ）（実燃料付着量）を使用し、且つ、吸気ポートへの燃料付着率をＲｐｆ、吸気弁への燃料付着率をＲｖｆ、吸気ポートへの燃料残留率をＰｐｆ、吸気弁への燃料残留率をＰｖｆとするとき、同気筒の今回の吸気行程に対して燃料噴射量ｆｉ（ｋ）の燃料を噴射したと仮定した場合に同気筒に吸入される燃料量Ｆｉｎは、下記数１０で表される。
【００９０】
【数１０】
Ｆｉｎ＝（１−Ｒｐｆ−Ｒｖｆ）・ｆｉ（ｋ）＋（１−Ｐｐｆ）・ｆｗｐ（ｋ）＋（１−Ｐｖｆ）・ｆｗｖ（ｋ）
【００９１】
従って、特定気筒の今回の吸気行程において正規予測必要燃料量Ｆｃｆｗｄ（ｋ）が同特定気筒に吸入されるためには、上記燃料量Ｆｉｎを正規予測必要燃料量Ｆｃｆｗｄ（ｋ）と等しいと置いて、燃料噴射量ｆｉ（ｋ）を求めればよく、計算結果は下記数１１の通りとなる。この数１１が、燃料挙動の逆モデルを数式化したものである。
【００９２】
【数１１】
ｆｉ（ｋ）＝（Ｆｃｆｗｄ（ｋ）−（１−Ｐｐｆ）・ｆｗｐ（ｋ）−（１−Ｐｖｆ）・ｆｗｖ（ｋ））／（１−Ｒｐｆ−Ｒｖｆ）
【００９３】
燃料噴射量算出手段Ａ５６は、予測吸入空気量ＫＬｆｗｄの算出に用いた吸気弁閉弁時の予測吸入空気量ＫＬｆｗｄ（又は、同吸気弁閉時の予測スロットル弁開度ＴＡｅｓｔ）、吸気弁閉時の予測されるエンジン回転速度ＮＥ（但し、短時間内に変化する量が少ないとして予測吸入空気量ＫＬｆｗｄ算出時のエンジン回転速度ＮＥを用いても良い。）、及び吸気弁閉時の予測される吸気弁開閉タイミングＶＴ（但し、短時間内に変化する量が少ないとして予測吸入空気量ＫＬｆｗｄ算出時の吸気弁開閉タイミングＶＴを用いても良い。）等に基いて吸気ポートへの燃料付着率Ｒｐｆ、吸気弁への燃料付着率Ｒｖｆ、吸気ポートへの燃料残留率Ｐｐｆ、及び吸気弁への燃料残留率Ｐｖｆを求め、これらと上記数１１とを用いて燃料噴射量ｆｉ（ｋ）を求める。
【００９４】
ここで、上記噴射量決定手段Ａ６の各手段の計算タイミングについて、特定気筒の各行程と計算タイミングとを図示した図１０を参照しながら説明する。先ず、今回の吸気行程の吸気行程Ａに対する燃料噴射Ａの噴射量ｆｉ（ｋ）を決定する場合について考えると、前回の吸気行程Ｂに対する吸気弁閉弁時Ｂよりも後の時点であって今回の吸気行程Ａに対する吸気弁閉弁時Ａよりも前の時点（第３所定時点）にて、第１吸入空気モデルＡ３により実吸入空気量ＫＬａｃｔが算出される。今回の吸気行程Ａに対して燃料噴射Ａにより燃料を供給する場合、第３所定時点は同燃料噴射Ａの開始より前の時点であることが好ましい。
【００９５】
次いで、前記第３所定時点より後の時点であって前記気筒の今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の所定時点である第４所定時点にて、実必要燃料量算出手段Ａ５２により前記算出された実吸入空気量ＫＬａｃｔに基づいて同気筒の前回の吸気行程Ｂにおいて同気筒に実際に必要とされていた燃料量である実必要燃料量Ｆｃａｃｔが算出される。
【００９６】
そして、今回の吸気行程Ａに対する吸気弁閉弁時Ａより前であって前回の吸気行程Ｂに対する燃料噴射量が確定した時点（例えば、前回の燃料噴射量ｆｉ（ｋ−１）算出時点）よりも後の第５所定時点にて、同気筒の前回の吸気行程において同気筒が実際に吸入した燃料量である実吸入燃料量Ｆｃｅｓｔが同気筒の前回の吸気行程Ｂに対し実際に噴射された燃料噴射量（燃料噴射量）ｆｉ（ｋ−１）に基いて算出される。
【００９７】
この第４所定時点、及び第５所定時点より後の時点であって今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の第６所定時点にて、燃料フィードバック補正量算出手段Ａ５４により、前記算出された実必要燃料量Ｆｃａｃｔと前記算出された実吸入燃料量Ｆｃｅｓｔとに基いて燃料フィードバック補正量Ｆｆｂ（ｋ）が算出される。
【００９８】
一方、特定気筒の今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の第１所定時点にて、予測吸入空気量算出手段Ａ４により、同気筒の今回の吸気行程Ａでの吸気弁閉弁時Ａの吸入空気量である予測吸入空気量ＫＬｆｗｄが算出される。第１所定時点は、今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の時点であれば、理論上、いつでもよいが、予測吸入空気量ＫＬｆｗｄの予測精度を高めるためには、できるだけ今回の吸気弁閉弁時Ａに近い時点が好ましい。実際には、第１所定時点は、今回の噴射Ａの開始時点の直前が好適である。
【００９９】
また、第１所定時点より後の時点であって前記気筒の今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の第２所定時点にて、補正前予測必要燃料量算出手段Ａ５１により、前記予測吸入空気量ＫＬｆｗｄに基いて同気筒の今回の吸気行程Ａに対し同気筒に吸入されるべき仮の燃料量である補正前予測必要燃料量Ｆｃｆｗｄｂ（ｋ）が算出される。なお、第１所定時点、及び第２所定時点は、第３〜第５所定時点より前の時点であってもよい。
【０１００】
次いで、前記第２所定時点、及び前記第６所定時点より後の時点であって前記気筒の今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の第７所定時点にて、正規予測必要燃料量算出手段Ａ５５により、前記算出された補正前予測必要燃料量Ｆｃｆｗｄｂ（ｋ）が前記算出された燃料フィードバック補正量Ｆｆｂ（ｋ）により補正され、同気筒の今回の吸気行程Ａに対し同気筒に吸入されるべき正規の予測必要燃料量Ｆｃｆｗｄ（ｋ）が算出される。
【０１０１】
そして、前記第７所定時点より後の時点であって今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の時点である第８所定時点にて前記気筒の今回の吸気行程に対して噴射すべき燃料噴射量ｆｉ（ｋ）が前記算出された正規予測必要燃料量Ｆｃｆｗｄ（ｋ）に基いて算出され、同第８所定時点より後の時点であって今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の時点である第９所定時点にて同燃料噴射量ｆｉ（ｋ）だけ燃料を噴射するように指示がなされ、これにより燃料噴射Ａが実行される。以上の動作が、一つの気筒の任意の吸気行程と、同一つの気筒の同任意の吸気行程に続く次の吸気行程との間に行われる。
【０１０２】
次に、上述した第１吸入空気モデルＡ３、及び第２吸入空気モデルＡ４について詳細に説明する。図５に示したように、第１吸入空気モデルＡ３はモデルＭ２〜Ｍ５を備えている。第２吸入空気モデルＡ４は、モデルＭ２〜Ｍ５にそれぞれ対応する同一のモデルＭ２０〜Ｍ５０を含んでいて、第１吸入空気モデルＡ３とは使用する（入力する）パラメータのみが異なる。従って、以下、第１吸入空気モデルＡ３を主として説明し、第２吸入空気モデルＡ４については第１吸入空気モデルＡ３との相違点についてのみ説明する。
【０１０３】
（スロットルモデルＭ２）
スロットルモデルＭ２は、スロットル弁４３を通過した空気流量（スロットル通過空気流量）ｍｔを、エネルギー保存則、運動量保存則、質量保存則、及び状態方程式等の物理法則に基づいて得られた下記数１２に基づいて推定するモデルである。下記数１２において、Ｃｔ（θｔ）はスロットル弁開度θｔ（＝ＴＡ）に応じて変化する流量係数、Ａｔ（θｔ）はスロットル弁開度θｔ（＝ＴＡ）に応じて変化するスロットル開口面積（吸気管４１の開口面積）、Ｐａはスロットル弁上流圧力（即ち、大気圧）、Ｐｍは吸気管圧力（吸気管内空気圧力）、Ｔａは吸気温度（大気温度）、Ｔｍは吸気管内空気温度、Ｒは気体定数、及びκは比熱比（以下、κを一定値として扱う。）である。
【０１０４】
【数１２】
2004176638.tif 000003
【０１０５】
ここで、上記スロットルモデルＭ２を記述した上記数１２の導出過程について説明する。いま、スロットル弁４３の上流の開口断面積をＡｕ、空気密度をρｕ、空気の流速をｖｕとし、スロットル弁４３による吸気管４１の開口断面積をＡｄ、そこでの空気密度をρｄ、スロットル弁４３を通過する空気の流速をｖｄとすると、スロットル通過空気流量ｍｔは、下記数１３で表される。数１３は質量保存則を記述した式と言える。
【０１０６】
【数１３】
ｍｔ＝Ａｄ・ρｄ・ｖｄ＝Ａｕ・ρｕ・ｖｕ
【０１０７】
一方、運動エネルギーは、空気の質量をｍとすると、スロットル弁４３の上流でｍ・ｖｕ２／２であり、スロットル弁４３を通過する場所でｍ・ｖｄ２／２である。他方、熱エネルギーは、スロットル弁４３の上流でｍ・Ｃｐ・Ｔｕであり、スロットル弁４３を通過する場所でｍ・Ｃｐ・Ｔｄである。従って、エネルギー保存則により、下記数１４が得られる。なお、Ｔｕはスロットルバルブ上流の空気温度、Ｔｄはスロットルバルブ下流の空気温度、Ｃｐは定圧比熱である。
【０１０８】
【数１４】
ｍ・ｖｕ２／２＋ｍ・Ｃｐ・Ｔｕ＝ｍ・ｖｄ２／２＋ｍ・Ｃｐ・Ｔｄ
【０１０９】
ところで、状態方程式は下記数１５、比熱比κは下記数１６、マイヤーの関係は下記数１７で示されるから、数１５〜数１７よりＣｐ・Ｔは下記数１８のように表される。なお、Ｐは気体の圧力、ρは気体の密度、Ｔは気体の温度、Ｒは気体定数、Ｃｖは定容比熱である。
【０１１０】
【数１５】
Ｐ＝ρ・Ｒ・Ｔ
【０１１１】
【数１６】
κ＝Ｃｐ／Ｃｖ
【０１１２】
【数１７】
Ｃｐ＝Ｃｖ＋Ｒ
【０１１３】
【数１８】
Ｃｐ・Ｔ＝｛κ／（κ−１）｝・（Ｐ／ρ）
【０１１４】
上記数１８の関係を用いて上記エネルギー保存則に基づく数１４を書換えると、下記数１９が得られる。ここで、Ｐｕはスロットル弁４３上流の空気圧力、Ｐｄはスロットル弁４３の下流の空気圧力（即ち、吸気管圧力Ｐｍ）である。
【０１１５】
【数１９】
ｖｕ２／２＋｛κ／（κ−１）｝・（Ｐｕ／ρｕ）＝ｖｄ２／２＋｛κ／（κ−１）｝・（Ｐｄ／ρｄ）
【０１１６】
そして、スロットル弁４３の無限上流を考えると、Ａｕ＝∞、ｖｕ＝０であるから、エネルギー保存則に基づく上記数１９は下記数２０に書き換えられる。
【０１１７】
【数２０】
｛κ／（κ−１）｝・（Ｐｕ／ρｕ）＝ｖｄ２／２＋｛κ／（κ−１）｝・（Ｐｄ／ρｄ）
【０１１８】
次に、運動量について記述する。断面積Ａｕの部分に加わる圧力をＰｕ、断面積Ａｄの部分に加わる圧力をＰｄ、断面積Ａｕの部分と断面積Ａｄの部分との間をつなぐ固定された空間の平均圧力をＰｍｅａｎとすると、下記数２１が得られる。
【０１１９】
【数２１】
ρｄ・ｖｄ２・Ａｄ−ρｕ・ｖｕ２・Ａｕ＝Ｐｕ・Ａｕ−Ｐｄ・Ａｄ＋Ｐｍｅａｎ・（Ａｄ−Ａｕ）
【０１２０】
上記数２１で、Ａｕ＝∞、ｖｕ＝０を考慮すると、下記数２２が得られるので、同数２２と上記数２１とから下記数２３の運動量に関する関係（運動量保存則に基づく関係）が得られる。
【０１２１】
【数２２】
Ｐｍｅａｎ＝Ｐｕ
【０１２２】
【数２３】
ρｄ・ｖｄ２＝Ｐｕ−Ｐｄ
【０１２３】
従って、上記数１３、上記数２０、及び数２３から、下記数２４が得られる。
【０１２４】
【数２４】
2004176638.tif 000004
【０１２５】
上記数２４において、Ｐｕはスロットル弁上流圧力Ｐａであり、Ｐｄは吸気管圧力Ｐｍである。また、状態方程式からρｕ＝Ｍ／Ｖｕ＝Ｐｕ／（Ｒ・Ｔｕ）を上記数２４に代入するとともに、開口断面積Ａｄを開口面積Ａ（θｔ）と置きなおし、更に流量係数をＣｔ（θｔ）を加えて上記数２４を整理すると、上記数１２が得られる。
【０１２６】
次に、スロットルモデルＭ２におけるスロットル通過空気流量ｍｔの求め方を述べると、上記数１２は下記数２５及び下記数２６により表され、ｋ１をＣｔ（θｔ）・Ａｔ（θｔ）・｛Ｐａ／（Ｒ・Ｔａ）１／２｝とおき、ｍｔｓを吸気弁閉弁時のスロットル通過空気流量とするとき下記数２５は下記数２７に書き換えられる。
【０１２７】
【数２５】
ｍｔ＝Ｃｔ（θｔ）・Ａｔ（θｔ）・｛Ｐａ／（Ｒ・Ｔａ）１／２｝・Φ（Ｐｍ／Ｐａ）
【０１２８】
【数２６】
2004176638.tif 000005
【０１２９】
【数２７】
ｍｔｓ＝ｋ１・Φ（Ｐｍ／Ｐａ）
【０１３０】
また、数２７において、内燃機関１０が定常状態にある場合（スロットル弁開一定のまま推移して吸気弁閉弁に至る場合）のスロットル通過空気流量をｍｔｓＴＡ、及びそのときの吸気管圧力をＰｍＴＡとすると、下記数２８が得られるので、数２７及び数２８から係数ｋ１を消去して下記数２９を得ることができる。
【０１３１】
【数２８】
ｍｔｓＴＡ＝ｋ１・Φ（ＰｍＴＡ／Ｐａ）
【０１３２】
【数２９】
ｍｔｓ＝｛ｍｔｓＴＡ／Φ（ＰｍＴＡ／Ｐａ）｝・Φ（Ｐｍ／Ｐａ）
【０１３３】
上記数２９の右辺における値ｍｔｓＴＡは、スロットル弁開度ＴＡが一定である定常運転状態での吸入空気流量（スロットル通過空気流量）に関する値であり、このような定常運転状態にあってはスロットル通過空気流量ｍｔと筒内吸入空気流量ｍｃとは等しくなる。そこで、スロットルモデルＭ２は、後述する吸気弁モデルＭ３で用いる経験則により得られた式（下記数３０）を用いて現時点から演算周期ΔＴｔだけ前の時点の筒内吸入空気流量ｍｃを求め、これを値ｍｔｓＴＡとする。なお、この値ｍｔｓＴＡ（＝筒内吸入空気流量ｍｃ）を求める際の各パラメータ（エンジン回転速度ＮＥ、及び吸気弁開閉タイミングＶＴ）は、総べて現時点から演算周期ΔＴｔ前での実際の値を用いる。
【０１３４】
また、スロットルモデルＭ２は、スロットル弁開度ＴＡ、エンジン回転速度ＮＥ、及び吸気弁の開閉タイミングＶＴと、吸気管圧力Ｐｍとの関係を規定するテーブルＭＡＰＰＭをＲＯＭ７２内に記憶していて、現時点から演算周期ΔＴｔ前に検出された実際のスロットル弁開度（実スロットル弁開度）ＴＡａｃｔ（ｋ−１）、現時点から演算周期ΔＴｔ前の実際のエンジン回転速度ＮＥ、及び現時点から演算周期ΔＴｔ前の実際の吸気弁の開閉タイミングＶＴと、前記テーブルＭＡＰＰＭとに基づいて上記数２９の右辺における吸気管圧力ＰｍＴＡ（＝ＭＡＰＰＭ（ＴＡａｃｔ（ｋ−１），ＮＥ，ＶＴ））を求める。
【０１３５】
更に、スロットルモデルＭ２は、値Ｐｍ／Ｐａと値Φ（Ｐｍ／Ｐａ）との関係を規定するテーブルＭＡＰΦを記憶していて、前記吸気管圧力ＰｍＴＡをスロットル弁上流圧力Ｐａで除した値（ＰｍＴＡ／Ｐａ）と、前記テーブルＭＡＰΦとから、上記数２９の右辺における値Φ（ＰｍＴＡ／Ｐａ）（＝ＭＡＰΦ（ＰｍＴＡ／Ｐａ））を求める。同様にして、スロットルモデルＭ２は、後述する吸気管モデルＭ４が既に求めている前回の吸気管圧力Ｐｍ（ｋ−１）をスロットル弁上流圧力Ｐａで除した値（Ｐｍ（ｋ−１）／Ｐａ）と、前記テーブルＭＡＰΦとから、上記数２９の右辺における値Φ（Ｐｍ／Ｐａ）（＝ＭＡＰΦ（Ｐｍ（ｋ−１）／Ｐａ））を求める。以上により、上記数２９の右辺の各因数が求められるので、これらを掛け合わせることにより、スロットル通過空気流量ｍｔｓ（＝ｍｔ（ｋ−１））が求められる。
【０１３６】
（吸気弁モデルＭ３）
吸気弁モデルＭ３は、吸気管圧力Ｐｍ、吸気管内温度Ｔｍ、及び吸気温度ＴＨＡ等から筒内吸入空気流量ｍｃを推定するモデルである。吸気弁閉弁時の気筒内圧力は吸気弁３２の上流の圧力、即ち吸気弁閉弁時の吸気管圧力Ｐｍとみなすことができるので、筒内吸入空気流量ｍｃは吸気弁閉弁時の吸気管圧力Ｐｍに比例する。そこで、吸気弁モデルＭ３は筒内吸入空気流量ｍｃを、経験則に基づく下記数３０にしたがって求める。
【０１３７】
【数３０】
ｍｃ＝（ＴＨＡ／Ｔｍ）・（ｃ・Ｐｍ−ｄ）
【０１３８】
数３０において、値ｃは比例係数、値ｄは筒内に残存していた既燃ガス量に対応する量である。吸気弁モデルＭ３は、エンジン回転速度ＮＥ、及び吸気弁の開閉タイミングＶＴと、比例係数ｃ、及び既燃ガス量ｄとの関係をそれぞれ規定するテーブルＭＡＰＣ、及びＭＡＰＤをＲＯＭ７２内に格納していて、現時点から演算周期ΔＴｔ前の実際のエンジン回転速度ＮＥと、現時点から演算周期ΔＴｔ前の実際の吸気弁の開閉タイミングＶＴと、前記格納しているテーブルとから比例係数ｃ（＝ＭＡＰＣ（ＮＥ，ＶＴ））、及び既燃ガス量ｄ（＝ＭＡＰＤ（ＮＥ，ＶＴ））を求める。また、吸気弁モデルＭ３は、演算時点にて、後述する吸気管モデルＭ４により既に推定されている直前（最新）の吸気弁閉弁時の吸気管圧力Ｐｍ（＝Ｐｍ（ｋ−１））と直前の吸気管内空気温度Ｔｍ（＝Ｔｍ（ｋ−１））とを上記数３０に適用し、吸気弁閉弁時の筒内吸入空気流量ｍｃ（＝ｍｃ（ｋ−１））を推定する。
【０１３９】
（吸気管モデルＭ４）
吸気管モデルＭ４は、質量保存則とエネルギー保存則とにそれぞれ基づいた下記数３１及び下記数３２、スロットル通過空気流量ｍｔ、スロットル通過空気温度（即ち、吸入空気温度ＴＨＡ）Ｔａ、及び吸気管から流出する空気流量ｍｃ（即ち、筒内吸入空気流量）から、吸気管圧力Ｐｍ、及び吸気管内空気温度Ｔｍを求めるモデルである。なお、下記数３１、及び下記数３２において、Ｖｍはスロットル弁４３から吸気弁３２までの吸気管４１（以下、単に「吸気管部」と称呼する。）の容積である。
【０１４０】
【数３１】
ｄ（Ｐｍ／Ｔｍ）／ｄｔ＝（Ｒ／Ｖｍ）・（ｍｔ−ｍｃ）
【０１４１】
【数３２】
ｄＰｍ／ｄｔ＝κ・（Ｒ／Ｖｍ）・（ｍｔ・Ｔａ−ｍｃ・Ｔｍ）
【０１４２】
吸気管モデルＭ４は、上記数３１、及び上記数３２の右辺におけるスロットル通過空気流量ｍｔ（＝ｍｔ（ｋ−１））をスロットルモデルＭ２から取得し、筒内吸入空気流量ｍｃ（＝ｍｃ（ｋ−１））を吸気弁モデルＭ３から取得する。そして、数３１及び数３２に基づく計算を行って最新の吸気管圧力Ｐｍ（＝Ｐｍ（ｋ））、及び吸気管内空気温度Ｔｍ（＝Ｔｍ（ｋ））を推定する。
【０１４３】
ここで、上記吸気管モデルＭ４を記述した数３１及び数３２の導出過程について説明する。いま、吸気管部の総空気量をＭとすると、総空気量Ｍの時間的変化は、吸気管部に流入する空気量に相当するスロットル通過空気流量ｍｔと同吸気管部から流出する空気量に相当する筒内吸入空気流量ｍｃの差であるから、質量保存則に基づく下記数３３が得られる。
【０１４４】
【数３３】
ｄＭ／ｄｔ＝ｍｔ−ｍｃ
【０１４５】
また、状態方程式は下記数３４となるから、上記数３３と下記数３４とから総空気量Ｍを消去することにより、質量保存則に基づく上記数３１が得られる。
【０１４６】
【数３４】
Ｐｍ・Ｖｍ＝Ｍ・Ｒ・Ｔｍ
【０１４７】
次に、吸気管部に関するエネルギー保存則について検討すると、この場合、吸気管部の容積Ｖｍは変化せず、また、エネルギーの殆どが温度上昇に寄与する（運動エネルギーは無視し得る）と考えられる。従って、吸気管部の空気のエネルギーＭ・Ｃｖ・Ｔｍの時間的変化量は、同吸気管部に流入する空気のエネルギーＣｐ・ｍｔ・Ｔａと同吸気管部から流出する空気のエネルギーＣｐ・ｍｃ・Ｔｍとの差に等しいので、下記数３５が得られる。
【０１４８】
【数３５】
ｄ（Ｍ・Ｃｖ・Ｔｍ）／ｄｔ＝Ｃｐ・ｍｔ・Ｔａ−Ｃｐ・ｍｃ・Ｔｍ
【０１４９】
この数３５を、上記数１６（κ＝Ｃｐ／Ｃｖ）と、上記数３４（Ｐｍ・Ｖｍ＝Ｍ・Ｒ・Ｔｍ）とを用いて変形することにより、上記数３２が得られる。
【０１５０】
（吸気弁モデルＭ５）
吸気弁モデルＭ５は、上記吸気弁モデルＭ３と同様のモデルを含んでいて、ここでは吸気管モデルＭ４が算出した最新の吸気管圧力Ｐｍ（＝Ｐｍ（ｋ））、及び吸気管内空気温度Ｔｍ（＝Ｔｍ（ｋ））と、現時点のエンジン回転速度ＮＥと、現時点の吸気弁の開閉タイミングＶＴと、前記マップＭＡＰＣと、前記マップＭＡＰＤと、上記経験則に基づく数３０（ｍｃ＝（ＴＨＡ／Ｔｍ）・（ｃ・Ｐｍ−ｄ）とを用いて最新の筒内吸入空気流量ｍｃ（＝ｍｃ（ｋ））を求める。そして、吸気弁モデルＭ５は、前記求めた筒内吸入空気流量ｍｃに、エンジン回転速度ＮＥから算出された前回の吸気行程Ｂにおいて吸気弁３２が開弁してから閉弁するまでの時間Ｔｉｎｔを乗じることにより吸入空気量ＫＬａｃｔを求める。なお、吸気弁モデルＭ５は、このような演算を各気筒毎に行うとともに、各気筒別に同各気筒の吸気弁閉弁時直後において求められた吸入空気量ＫＬａｃｔを、同各気筒の実際の吸入空気量（実吸入空気量）ＫＬａｃｔ０として噴射量決定手段Ａ６に出力する。
【０１５１】
以上、説明したように、第１吸入空気モデルＡ３は、特定の気筒の前回の吸気行程Ｂでの吸気弁閉弁時Ｂより後の時点であって同気筒の今回の（次の）吸気行程Ａに対する吸気弁閉弁時Ａより前の第３所定時点（実際には、吸気行程Ｂに対する吸気弁閉弁直後の時点）にて同気筒の前回の吸気行程Ｂでの吸気弁閉弁時Ｂの実際の吸入空気量である実吸入空気量ＫＬａｃｔを、運転状態量取得手段Ａ２であるスロットルポジションセンサ６４により取得された実際の運転状態量、即ち実スロットル弁開度ＴＡａｃｔとモデルＭ２〜Ｍ５からなる内燃機関の吸気系における空気の挙動をモデル化した空気モデルとに基づいて算出する。
【０１５２】
＜第２吸入空気モデルＡ４＞
第２吸入空気モデル（第２空気モデル）Ａ４は、内燃機関の吸気系における空気の挙動をモデル化した第１吸入空気モデルの空気モデルと同様なモデルであって、スロットルモデルＭ２０、吸気弁モデルＭ３０、吸気管モデルＭ４０、及び吸気弁モデルＭ５０を備えている。この第２吸入空気モデルＡ４は、今回の吸気行程Ａの吸気弁閉弁時Ａの吸入空気量ＫＬｆｗｄを予測するため、第１吸入空気モデルＡ３が実スロットル弁開度ＴＡａｃｔを入力するのに対し、上述した電子制御スロットル弁モデルＭ１により推定される予測スロットル弁開度ＴＡｅｓｔを入力する点で、同第１吸入空気モデルＡ３と異なる。
【０１５３】
（スロットルモデルＭ２０）
スロットルモデルＭ２０は、上記数２９に基き、将来の（所定時間、例えば遅延時間ＴＤだけ後の）時点におけるスロットル通過空気流量ｍｔを予測する。この場合においても、上記数２９の右辺のｍｔｓＴＡは、筒内吸入空気流量ｍｃと等しいと考えられるので、後述する吸気弁モデルＭ３０で用いる上記数３０により同値ｍｔｓＴＡを求める。なお、値ｍｔｓＴＡを求める際の各パラメータ（エンジン回転速度ＮＥ、及び吸気弁開閉タイミング）は、便宜上、現時点での値とする。
【０１５４】
また、スロットルモデルＭ２０は、燃料噴射開始時期直前（ＢＴＤＣ９０°ＣＡ）から吸気弁閉弁時までの時間をエンジン回転速度ＮＥから求め、この時間と略一致する遅延時間後の予測スロットル弁開度ＴＡｅｓｔをＲＡＭ７２から読み出し、それを予測スロットル弁開度ＴＡｅｓｔ（ｋ−１）とする。そして、この予測スロットル弁開度ＴＡｅｓｔ（ｋ−１）、現時点から演算周期ΔＴｔだけ前の実際のエンジン回転速度ＮＥ、及び現時点から演算周期ΔＴｔ前の実際の吸気弁の開閉タイミングＶＴと、前記テーブルＭＡＰＰＭとに基いて上記数２９の右辺における吸気管圧力ＰｍＴＡ（＝ＭＡＰＰＭ（ＴＡｅｓｔ（ｋ−１），ＮＥ，ＶＴ））を求める。
【０１５５】
更に、スロットルモデルＭ２０は、前記吸気管圧力ＰｍＴＡをスロットル弁上流圧力Ｐａで除した値（ＰｍＴＡ／Ｐａ）と、前記テーブルＭＡＰΦとから、上記数２９の右辺における値Φ（ＰｍＴＡ／Ｐａ）（＝ＭＡＰΦ（ＰｍＴＡ／Ｐａ））を求める。同様にして、スロットルモデルＭ２０は、後述する吸気管モデルＭ４０が既に求めている前回の吸気管圧力Ｐｍ（ｋ−１）をスロットル弁上流圧力Ｐａで除した値（Ｐｍ（ｋ−１）／Ｐａ）と、前記テーブルＭＡＰΦとから、上記数２９の右辺における値Φ（Ｐｍ／Ｐａ）（＝ＭＡＰΦ（Ｐｍ（ｋ−１）／Ｐａ））を求める。以上により、上記数２９の右辺の各因数が求められるので、これらを掛け合わせることにより、予測スロットル通過空気流量ｍｔｓ（＝ｍｔ（ｋ−１））が求められる。
【０１５６】
（吸気弁モデルＭ３０）
吸気弁モデルＭ３０は、筒内吸入空気流量ｍｃを上記経験則に基づく数３０にしたがって求める。具体的には、比例係数ｃを実際のエンジン回転速度ＮＥと、実際の吸気弁の開閉タイミングＶＴと、ＭＡＰＣ（ＮＥ，ＶＴ）とから求め、既燃ガス量ｄを、実際のエンジン回転速度ＮＥと、実際の吸気弁の開閉タイミングＶＴと、ＭＡＰＤ（ＮＥ，ＶＴ）とから求める。また、吸気弁モデルＭ３０は、演算時点にて、後述する吸気管モデルＭ４０により既に推定されている最新の吸気管圧力Ｐｍ（＝Ｐｍ（ｋ−１））と最新の吸気管内空気温度Ｔｍ（＝Ｔｍ（ｋ−１））とを上記数３０に適用し、筒内吸入空気流量ｍｃ（＝ｍｃ（ｋ−１））を推定する。
【０１５７】
（吸気管モデルＭ４０）
吸気管モデルＭ４０は、上記数３１及び上記数３２、スロットルモデルＭ２０により求められたスロットル通過空気流量ｍｔ、実際のスロットル通過空気温度（即ち、吸入空気温度ＴＨＡ）Ｔａ、及び吸気弁モデルＭ３０により求められた吸気管から流出する空気流量ｍｃ（即ち、筒内吸入空気流量）から、吸気管圧力Ｐｍ、及び吸気管内空気温度Ｔｍを求める。
【０１５８】
（吸気弁モデルＭ５０）
吸気弁モデルＭ５０は、入力するパラメータが異なる点を除き、上記吸気弁モデルＭ３０と同様のモデルであり、吸気管モデルＭ４０が算出した最新の吸気管圧力Ｐｍ（＝Ｐｍ（ｋ））、及び吸気管内空気温度Ｔｍ（＝Ｔｍ（ｋ））と、上記経験則に基づく数３０（ｍｃ＝（ＴＨＡ／Ｔｍ）・（ｃ・Ｐｍ−ｄ））を用いて筒内吸入空気流量ｍｃ（＝ｍｃ（ｋ））を求める。そして、吸気弁モデルＭ５０は、前記求めた筒内吸入空気流量ｍｃに、エンジン回転速度ＮＥから算出される吸気行程に要する時間（吸気弁３２が開弁してから閉弁するまでの時間）Ｔｉｎｔを乗じることにより予測吸入空気量ＫＬｆｗｄを求める。吸気弁モデルＭ５０は、このような演算を各気筒毎に所定時間の経過毎に行う。
【０１５９】
このように、第２空気モデルＡ４は、予測吸入空気量ＫＬｆｗｄを所定時間の経過毎に更新するが、燃料噴射開始時期直前（ＢＴＤＣ９０°ＣＡ）から吸気弁閉弁時までの時間と略一致する遅延時間後の予測スロットル弁開度ＴＡｅｓｔに基いて予測吸入空気量ＫＬｆｗｄを計算すること、及び同燃料噴射開始時期直前の時点での予測吸入空気量ＫＬｆｗｄに基いて補正前予測必要燃料量Ｆｃｆｗｄｂが計算されことから、同第２空気モデルＡ４は、ある気筒の吸気行程に対する吸気弁閉弁時の予測スロットル弁開度ＴＡｅｓｔに基いて、吸入空気量を実質的に予測する予測吸入空気量算出手段を構成していることになる。
【０１６０】
即ち、第２吸入空気モデルＡ４は、特定の気筒の今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の第１所定時点（本例においては、同気筒の今回の吸気行程に対する燃料噴射開始（ＢＴＤＣ７５°ＣＡ）前の所定のタイミング、具体的にはＢＴＤＣ９０°ＣＡ）にて同気筒の今回の吸気行程Ａでの吸気弁閉弁時Ａの吸入空気量である予測吸入空気量ＫＬｆｗｄを、運転状態量予測手段である電子制御スロットル弁モデルＭ１により予測された同第１所定時点より先の時点における運転状態量、即ち、今回の吸気行程Ａの吸気弁閉弁時Ａ近傍の時点の予測スロットル弁開度ＴＡｅｓｔとモデルＭ２０〜Ｍ５０とに基づいて算出するのである。以上、図５及び図６に示した各モデル、及び各手段により、燃料噴射量ｆｉが計算される。
【０１６１】
また、先に述べたように、第２吸入空気モデルＡ４は、第１吸入空気モデルＡ３が実スロットル弁開度ＴＡａｃｔを入力するのに対し、予測スロットル弁開度ＴＡｅｓｔを入力する点でのみ、同第１吸入空気モデルＡ３と異なる。従って、内燃機関１０が所定時間以上継続して定常運転状態にあるときには、上記数２、並びに、図８及び図９から理解できるように、予測スロットル弁開度ＴＡｅｓｔは、実スロットル弁開度ＴＡａｃｔ（、及び目標スロットル弁開度ＴＡｔ）と等しくなる。よって、第２吸入空気モデルＡ４により算出される予測吸入空気量ＫＬｆｗｄは第１吸入空気モデルＡ３により算出される実吸入空気量ＫＬａｃｔと等しくなって、同予測吸入空気量ＫＬｆｗｄと目標空燃比ＡｂｙＦｒｅｆとに基いて算出される補正前予測必要燃料量Ｆｃｆｗｄｂも、同実吸入空気量ＫＬａｃｔと同目標空燃比ＡｂｙＦｒｅｆとに基いて算出される実必要燃料量Ｆｃａｃｔと等しくなる。
【０１６２】
他方、内燃機関１０が所定時間以上継続して定常運転状態にあるときには、正規予測必要燃料量Ｆｃｆｗｄが燃料噴射量ｆｉ及び実吸入燃料量Ｆｃｅｓｔと等しくなり、且つ、ＰＩコントローラの入力値である吸入燃料量誤差Ｆｃｅｒｒが「０」となって実必要燃料量Ｆｃａｃｔが実吸入燃料量Ｆｃｅｓｔと等しくなる。この結果、補正前予測必要燃料量Ｆｃｆｗｄｂが正規予測必要燃料量Ｆｃｆｗｄと等しくなることから燃料フィードバック補正量Ｆｆｂも「０」となる必要がある。よって、このとき、吸入燃料量誤差Ｆｃｅｒｒの積分値ＳｕｍＦｃｅｒｒも「０」となる。
【０１６３】
以上のことから、内燃機関１０の運転状態が所定時間以上定常運転状態に維持される毎に、実必要燃料量Ｆｃａｃｔと実吸入燃料量Ｆｃｅｓｔの差である吸入燃料量誤差Ｆｃｅｒｒの積分値ＳｕｍＦｃｅｒｒが「０」となることが保証されることになる。他方、前記積分値ＳｕｍＦｃｅｒｒは燃料の過不足分の時間積分値に相当する値である。よって、内燃機関１０の運転状態が定常運転状態から燃料の過不足分が発生し易い過渡運転状態に移行した後、再び定常運転状態に復帰する毎に、燃料の過不足分の時間積分値がゼロになることが保証されることにもなる。この結果、内燃機関１０の運転状態が定常運転状態から一旦過渡運転状態に移行してから再び定常運転状態に復帰するまでの期間における平均的な空燃比（（同期間内の総吸入空気量）／（同期間内の総燃料（噴射）量））が前記目標空燃比ＡｂｙＦｒｅｆと等しくなる。
【０１６４】
次に、電気制御装置７０の実際の作動について、図１１〜図１８に示したフローチャートを参照しながら説明する。
【０１６５】
（目標スロットル弁開度、及び推定スロットル弁開度の計算）
ＣＰＵ７１は、図１１にフローチャートにより示したルーチンを演算周期ΔＴｔ（ここでは、８ｍｓｅｃ）の経過毎に実行することにより、上記電子制御スロットル弁ロジックＡ１、及び電子制御スロットル弁モデルＭ１の機能を達成する。具体的に述べると、ＣＰＵ７１は所定のタイミングにてステップ１１００から処理を開始し、ステップ１１０５に進んで変数ｉに「０」を設定し、ステップ１１１０に進んで変数ｉが遅延回数ｎｔｄｌｙと等しいか否かを判定する。この遅延回数ｎｔｄｌｙは、遅延時間ＴＤを演算周期ΔＴｔで除した値である。
【０１６６】
この時点で変数ｉは「０」であるから、ＣＰＵ７１はステップ１１１０にて「Ｎｏ」と判定し、ステップ１１１５に進んで暫定目標スロットル弁開度ＴＡｔ（ｉ）に暫定目標スロットル弁開度ＴＡｔ（ｉ＋１）の値を格納するとともに、続くステップ１１２０にて予測スロットル弁開度ＴＡｅｓｔ（ｉ）に予測スロットル弁開度ＴＡｅｓｔ（ｉ＋１）の値を格納する。以上の処理により、暫定目標スロットル弁開度ＴＡｔ（０）に暫定目標スロットル弁開度ＴＡｔ（１）の値が格納され、予測スロットル弁開度ＴＡｅｓｔ（０）に予測スロットル弁開度ＴＡｅｓｔ（１）の値が格納される。
【０１６７】
次いで、ＣＰＵ７１は、ステップ１１２５にて変数ｉの値を「１」だけ増大してステップ１１１０にもどる。そして変数ｉの値が今回の遅延回数ｎｔｄｌｙより小さければ、再びステップ１１１５〜１１２５を実行する。即ち、ステップ１１１５〜１１２５は、変数ｉの値が遅延回数ｎｔｄｌｙと等しくなるまで繰り返し実行される。これにより、暫定目標スロットル弁開度ＴＡｔ（ｉ＋１）の値が暫定目標スロットル弁開度ＴＡｔ（ｉ）に順次シフトされ、予測スロットル弁開度ＴＡｅｓｔ（ｉ＋１）の値が予測スロットル弁開度ＴＡｅｓｔ（ｉ）に順次シフトされて行く。
【０１６８】
前述のステップ１１２５が繰り返されることにより変数ｉの値が遅延回数ｎｔｄｌｙと等しくなると、ＣＰＵ７１はステップ１１１０にて「Ｙｅｓ」と判定してステップ１１３０に進み、同ステップ１１３０にて現時点の実際のアクセル操作量Ａｃｃｐと、図７に示したテーブルとに基づいて今回の暫定目標スロットル弁開度ＴＡａｃｃを求め、これを暫定目標スロットル弁開度ＴＡｔ（ｎｔｄｌｙ）に格納する。
【０１６９】
次に、ＣＰＵ７１はステップ１１３５に進み、同ステップ１１３５にて前回の予測（推定）スロットル弁開度ＴＡｅｓｔ（ｎｔｄｌｙ）と、今回の暫定目標スロットル弁開度ＴＡａｃｃと、上記数２（の右辺）に基づくステップ１１３５内に記載した式とに応じて今回の予測スロットル弁開度ＴＡｅｓｔ（ｎｔｄｌｙ）を算出する。そして、ステップ１１４０にて目標スロットル弁開度ＴＡｔに暫定目標スロットル弁開度ＴＡｔ（０）の値を設定するとともに、予測スロットル弁開度ＴＡｅｓｔに最新の予測スロットル弁開度ＴＡｅｓｔ（ｎｔｄｌｙ）を格納し、ステップ１１９５に進んで本ルーチンを一旦終了する。
【０１７０】
以上のように、目標スロットル弁開度ＴＡｔに関するメモリにおいては、本ルーチンが実行される毎にメモリの内容が一つずつシフトされて行き、暫定目標スロットル弁開度ＴＡｔ（０）に格納された値が、電子制御スロットル弁ロジックＡ１によってスロットル弁アクチュエータ４３ａに出力される目標スロットル弁開度ＴＡｔとして設定される。即ち、今回の本ルーチンの実行により暫定目標スロットル弁開度ＴＡｔ（ｎｔｄｌｙ）に格納された値は、今後において本ルーチンが遅延回数ｎｔｄｌｙだけ繰り返されたときにＴＡｔ（０）に格納され、目標スロットル弁開度ＴＡｔとなる。また、予測スロットル弁開度ＴＡｅｓｔに関するメモリにおいては、同メモリ内のＴＡｅｓｔ（ｍ）に現時点から所定時間（ｍ＊ΔＴｔ）経過後の予測スロットル弁開度ＴＡｅｓｔが格納されて行く。この場合の値ｍは、１〜ｎｔｄｌｙの整数である。
【０１７１】
（予測吸入空気量ＫＬｆｗｄの計算）
ＣＰＵ７１は、所定の演算周期ΔＴｔ（８ｍｓｅｃ）の経過毎に図１２に示した予測吸入空気量計算ルーチンを実行することで、第２吸入空気モデルＡ４（スロットルモデルＭ２０、吸気弁モデルＭ３０、吸気管モデルＭ４０、及び吸気弁モデルＭ５０）の機能を達成するようになっている。具体的に説明すると、所定のタイミングになったとき、ＣＰＵ７１はステップ１２００から処理を開始し、ステップ１２０５に進んで上記スロットルモデルＭ２０（上記数２９に基くステップ１２０５内に示した式）によりスロットル通過空気流量ｍｔ（ｋ−１）を求めるため、図１３のフローチャートに示したステップ１３００に進む。なお、スロットル通過空気流量ｍｔの括弧内の変数がｋではなくｋ−１となっているのは、このスロットル通過空気流量ｍｔ（ｋ−１）が演算周期ΔＴｔ前の各種値を用いて求められた値であることを意味していて、この変数ｋ，ｋ−１の意味は以下に述べる他の値についても同様である。
【０１７２】
ステップ１３００に進んだＣＰＵ７１は、ステップ１３０５に進んで上記数３０の係数ｃ（＝ｃ（ｋ−１））を、上記テーブルＭＡＰＣと、現時点より演算周期ΔＴｔ前のエンジン回転速度ＮＥ、及び現時点より演算周期ΔＴｔ前の吸気弁の開閉タイミングＶＴとから求める。また、同様に値ｄ（＝ｄ（ｋ−１））を、上記テーブルＭＡＰＤと、現時点より演算周期ΔＴｔ前のエンジン回転速度ＮＥ、及び現時点より演算周期ΔＴｔ前の吸気弁の開閉タイミングＶＴとから求める。
【０１７３】
次いで、ＣＰＵ７１はステップ１３１０に進んで燃料噴射開始時期直前（ＢＴＤＣ９０°ＣＡ）から吸気弁閉弁時までの時間をエンジン回転速度ＮＥから求め、この時間と略一致する遅延時間後の予測スロットル弁開度ＴＡｅｓｔをＲＡＭ７３から読み出し、それを予測スロットル弁開度ＴＡｅｓｔ（ｋ−１）とし、その予測スロットル弁開度ＴＡｅｓｔ（ｋ−１）、現時点より演算周期ΔＴｔ前のエンジン回転速度ＮＥ、及び現時点より演算周期ΔＴｔ前の吸気弁の開閉タイミングＶＴと、上記テーブルＭＡＰＰＭと、から吸気管圧力ＰｍＴＡを求め、ステップ１３１５に進んで上記数３０に基づき、スロットル通過空気流量ｍｔｓＴＡを求める。なお、ステップ１３１５において用いるスロットル通過空気温度Ｔａは吸入空気温度センサが検出する吸入空気温度ＴＨＡを用い、吸気管内空気温度Ｔｍ（ｋ−１）は、前回の本ルーチン実行時における後述するステップ１２１５にて求められた値を用いる。
【０１７４】
次いで、ＣＰＵ７１はステップ１３２０に進み、同ステップ１３２０にて値Φ（ＰｍＴＡ／Ｐａ）を上記テーブルＭＡＰΦと上記ステップ１３１０にて求めた吸気管圧力ＰｍＴＡをスロットル弁上流圧力（大気圧センサ６３が検出する大気圧）Ｐａで除した値（ＰｍＴＡ／Ｐａ）とから求める。また、続くステップ１３２５にて、前回の本ルーチン実行時における後述するステップ１２１５にて求められた吸気管圧力Ｐｍ（ｋ−１）をスロットル弁上流圧力Ｐａで除した値（Ｐｍ（ｋ−１）／Ｐａ）と、上記テーブルＭＡＰΦとから値Φ（Ｐｍ／Ｐａ）を求め、続くステップ１３３０にて上記ステップ１３１５，１３２０、及びステップ１３２５にてそれぞれ求めた値と、スロットルモデルを表すステップ１３３０内に示した式とに基いてスロットル通過空気流量ｍｔ（ｋ−１）を求め、ステップ１３９５を経由して図１２のステップ１２１０に進む。
【０１７５】
ＣＰＵ７１は、ステップ１２１０にて上記吸気弁モデルＭ３を表す数３０を用いて筒内吸入空気流量ｍｃ（ｋ−１）を求める。このとき、係数ｃ、及び値ｄとして、上記ステップ１３０５にて求めた値を使用する。また、吸気管圧力Ｐｍ（ｋ−１）、及び吸気管内空気温度Ｔｍ（ｋ−１）は、前回の本ルーチン実行時における後述するステップ１２１５にて求められた値を用い、スロットル通過空気温度Ｔａは吸入空気温度センサが検出する吸入空気温度ＴＨＡを用いる。
【０１７６】
次に、ＣＰＵ７１はステップ１２１５に進み、上記吸気管モデルＭ４を表す数３１、及び数３２を離散化したステップ１２１５に示した式（差分方程式）と、上記ステップ１２０５、及びステップ１２１０にてそれぞれ求めたスロットル通過空気流量ｍｔ（ｋ−１）、及びｍｃ（ｋ−１）とに基いて、今回の吸気管圧力Ｐｍ（ｋ）と、同吸気管圧力Ｐｍ（ｋ）を今回の吸気管内空気温度Ｔｍ（ｋ）にて除した値｛Ｐｍ／Ｔｍ｝（ｋ）とを求める。なお、Δｔは吸気管モデルＭ４０で使用される離散間隔を示し、計算時間をΔＴｔ（＝８ｍｓｅｃ）、前回（ｋ−１）の燃料噴射開始時期から吸気弁閉弁時までの時間をｔ０、今回（ｋ）の燃料噴射開始時期から吸気弁閉弁時までの時間をｔ１とするとき、Δｔ＝ΔＴｔ＋（ｔ１−ｔ０）で表される時間である。
【０１７７】
次いで、ＣＰＵ７１はステップ１２２０に進み、同ステップ１２２０に示した上記吸気弁モデルＭ５０を表す式に基いて今回の筒内吸入空気流量ｍｃ（ｋ）を求める。具体的に述べると、ＣＰＵ７１はステップ１２２０に進んだとき、図１４に示したステップ１４００に進み、次のステップ１４０５にて係数ｃ（ｋ）をエンジン回転速度ＮＥと吸気弁の開閉タイミングＶＴとＭＡＰＣとにより求め（ｃ（ｋ）＝ＭＡＰＣ（ＮＥ，ＶＴ））、続くステップ１４１０にて値ｄ（ｋ）をエンジン回転速度ＮＥと吸気弁の開閉タイミングＶＴとＭＡＰＤとにより求める（ｄ（ｋ）＝ＭＡＰＤ（ＮＥ，ＶＴ））。このときのエンジン回転速度ＮＥ、及び吸気弁の開閉タイミングＶＴは、現時点での値を用いる。そして、ＣＰＵ７１は、ステップ１４１５に進んで、上記ステップ１２１５にて求められた今回の吸気管圧力Ｐｍ（ｋ）、及び同ステップ１２１５にて求められた今回の吸気管内空気温度Ｔｍ（ｋ）、ステップ１４０５にて求められた係数ｃ（Ｋ）、及びステップ１４１０にて求められた値ｄ（ｋ）を用いて、今回の筒内吸入空気流量ｍｃ（ｋ）を算出し、ステップ１４９５を経由して図１２のステップ１２２５に進む。
【０１７８】
ＣＰＵ７１はステップ１２２５にて、現時点でのエンジン回転速度ＮＥと、インテークカムシャフトのカムプロフィールで決定されている吸気弁開弁角とから吸気弁開弁時間（吸気弁が開弁してから閉弁するまでの時間）Ｔｉｎｔを計算し、続くステップ１２３０にて上記今回の筒内吸入空気流量ｍｃ（ｋ）に吸気弁開弁時間Ｔｉｎｔを乗じて予測吸入空気量ＫＬｆｗｄを算出し、ステップ１２９５に進んで本ルーチンを一旦終了する。以上により、予測吸入空気量ＫＬｆｗｄが求められる。
【０１７９】
（実吸入空気量ＫＬａｃｔ）
ＣＰＵ７１は、所定の演算周期ΔＴｔ（８ｍｓｅｃ）の経過毎に図１５に示した実吸入空気量計算ルーチンを実行することで、第１吸入空気モデルＡ３（スロットルモデルＭ２、吸気弁モデルＭ３、吸気管モデルＭ４、及び吸気弁モデルＭ５）の機能を達成するようになっている。このルーチンは、先に説明した図１２の予測吸入空気量計算ルーチンと同様な処理を行って、実吸入空気量ＫＬａｃｔを求める。その際、ＣＰＵ７１は、図１３、及び図１４に示したルーチンとそれぞれ同様な処理を行うための図１６、及び図１７に示したルーチンを実行する。なお、スロットル通過空気流量等の各量を図１２〜図１４の各量と区別するため、同各量の名称末尾に文字「ａ」を追加している。
【０１８０】
図１５〜図１７に示したルーチンと、図１２〜図１４に示したルーチンとの主たる相違点を簡単に説明すると、ＣＰＵ７１はステップ１５０５にて上記スロットルモデルＭ２（上記数２９に基くステップ１５０５内に示した式）によりスロットル通過空気流量ｍｔａ（ｋ−１）を求める。
【０１８１】
このとき、ＣＰＵ７１は図１６に示したルーチンを実行し、ステップ１６０５にて上記数３０の係数ｃ（＝ｃａ（ｋ−１））を、上記テーブルＭＡＰＣと、現時点より演算周期ΔＴｔ前のエンジン回転速度ＮＥ、及び現時点より演算周期ΔＴｔ前の吸気弁の開閉タイミングＶＴとから求める。また、同様に値ｄ（＝ｄａ（ｋ−１））を、上記テーブルＭＡＰＤと、現時点より演算周期ΔＴｔ前のエンジン回転速度ＮＥ、及び現時点より演算周期ΔＴｔ前の吸気弁の開閉タイミングＶＴとから求める。
【０１８２】
次いで、ＣＰＵ７１はステップ１６１０に進んで吸気管圧力ＰｍＴＡａを上記テーブルＭＡＰＰＭと、現時点から演算周期ΔＴｔ前に検出された実スロットル弁開度ＴＡａｃｔ（Ｋ−１）、現時点より演算周期ΔＴｔ前のエンジン回転速度ＮＥ、及び現時点より演算周期ΔＴｔ前の吸気弁の開閉タイミングＶＴとから求め、ステップ１６１５に進んで上記数３０に基き、スロットル通過空気流量ｍｔｓＴＡａを求める。なお、ステップ１６１５において用いるスロットル通過空気温度Ｔａは吸入空気温度センサが検出する吸入空気温度ＴＨＡを用い、吸気管内空気温度Ｔｍａ（ｋ−１）は、前回の本ルーチン実行時における後述するステップ１５１５にて求められた値を用いる。
【０１８３】
次いで、ＣＰＵ７１はステップ１６２０に進み、同ステップ１６２０にて値Φ（ＰｍＴＡａ／Ｐａ）を上記吸気管圧力ＰｍＴＡａをスロットル弁上流圧力Ｐａで除した値（ＰｍＴＡａ／Ｐａ）と上記ＭＡＰΦとから求める。また、続くステップ１６２５にて、前回の本ルーチン実行時における後述するステップ１５１５にて求められた吸気管圧力Ｐｍａ（ｋ−１）をスロットル弁上流圧力Ｐａで除した値（Ｐｍａ（ｋ−１）／Ｐａ）と、上記テーブルＭＡＰΦとから値Φ（Ｐｍａ／Ｐａ）を求め、続くステップ１６３０にて上記ステップ１６１５，１６２０、及びステップ１６２５にてそれぞれ求めた値と、スロットルモデルを表すステップ１６３０内に示した式とに基いてスロットル通過空気流量ｍｔａ（ｋ−１）を求め、ステップ１６９５を経由して図１５のステップ１５１０に進む。
【０１８４】
ＣＰＵ７１は、ステップ１５１０にて上記吸気弁モデルＭ３０を表す数３０を用いて筒内吸入空気流量ｍｃａ（ｋ−１）を求める。このとき、係数ｃａ、及び値ｄａとして、上記ステップ１６０５にて求めた値を使用する。また、吸気管圧力Ｐｍａ（ｋ−１）、及び吸気管内空気温度Ｔｍａ（ｋ−１）は前回の本ルーチン実行時における後述するステップ１５１５にて求められた値を用い、スロットル通過空気温度Ｔａは吸入空気温度センサが検出する吸入空気温度ＴＨＡを用いる。
【０１８５】
次に、ＣＰＵ７１はステップ１５１５に進み、スロットル通過空気流量ｍｔａ（ｋ−１）、及び筒内吸入空気流量ｍｃａ（ｋ−１）とに基いて、今回の吸気管圧力Ｐｍａ（ｋ）と、同吸気管圧力Ｐｍａ（ｋ）を今回の吸気管内空気温度Ｔｍａ（ｋ）にて除した値｛Ｐｍａ／Ｔｍａ｝（ｋ）とを求める。次いで、ＣＰＵ７１はステップ１５２０に進み、同ステップ１５２０に示した上記吸気弁モデルＭ５０を表す式に基いて今回の筒内吸入空気流量ｍｃａ（ｋ）を求める。この場合、ＣＰＵ７１は、図１７に示したステップ１７０５にて係数ｃａ（ｋ）をエンジン回転速度ＮＥと吸気弁の開閉タイミングＶＴとＭＡＰＣとにより求め（ｃａ（ｋ）＝ＭＡＰＣ（ＮＥ，ＶＴ））、続くステップ１７１０にて値ｄａ（ｋ）をエンジン回転速度ＮＥと吸気弁の開閉タイミングＶＴとＭＡＰＤとにより求める（ｄａ（ｋ）＝ＭＡＰＤ（ＮＥ，ＶＴ））。ここで使用するエンジン回転速度ＮＥ、及び吸気弁の開閉タイミングＶＴは、現時点での値を用いる。そして、ＣＰＵ７１は、ステップ１７１５に進んで、今回の吸気管圧力Ｐｍａ（ｋ）、今回の吸気管内空気温度Ｔｍａ（ｋ）、係数ｃａ（Ｋ）、及び値ｄａ（ｋ）を用いて、今回の筒内吸入空気流量ｍｃａ（ｋ）を算出し、ステップ１７９５を経由して図１５のステップ１５２５に進む。
【０１８６】
ＣＰＵ７１はステップ１５２５にて、現時点でのエンジン回転速度ＮＥと、インテークカムシャフトのカムプロフィールで決定されている吸気弁開弁角とから吸気弁開弁時間Ｔｉｎｔを計算し、続くステップ１５３０にて上記今回の筒内吸入空気流量ｍｃａ（ｋ）に吸気弁開弁時間Ｔｉｎｔを乗じて実吸入空気量ＫＬａｃｔを算出する。次いで、ＣＰＵ７１はステップ１５３５に進み、現時点が吸気弁が開弁状態から閉弁状態に変化した直後であるか否かを判定し、直後であればステップ１５４０にて実吸入空気量ＫＬａｃｔを吸気弁閉弁時の実吸入空気量ＫＬａｃｔ０として格納し、ステップ１５９５に進んで本ルーチンを一旦終了する。また、ＣＰＵ７１は、ステップ１５３５にて「Ｎｏ」と判定されるとき、直接ステップ１５９５に進んで本ルーチンを一旦終了する。以上により、実スロットル弁開度ＴＡａｃｔに基いて吸気弁閉弁時の実吸入空気量ＫＬａｃｔ０が求められる。なお、実吸入空気量ＫＬａｃｔ０は、各気筒毎に求められ、各気筒に対応付けられた状態でＲＡＭ７３に格納される。
【０１８７】
（噴射実行ルーチン）
次に、電気制御装置７０が、実際に噴射を行うために実行するルーチンについて、同ルーチンをフローチャートにより示した図１８を参照して説明すると、ＣＰＵ７１は各気筒のクランク角度がＢＴＤＣ９０°ＣＡになる毎に、各気筒毎に同図１８に示したルーチンを実行するようになっている。
【０１８８】
従って、特定の（任意の）気筒のクランク角度がＢＴＤＣ９０°ＣＡになると、ＣＰＵ７１はステップ１８００から処理を開始し、続くステップ１８０５にて予測吸入空気量ＫＬｆｗｄを目標空燃比ＡｂｙＦｒｅｆで除することにより（Ｆｃｆｗｄｂ＝ＫＬｆｗｄ／ＡｂｙＦｒｅｆ）補正前予測必要燃料量Ｆｃｆｗｄｂ（ｋ）を求める。
【０１８９】
次に、ＣＰＵ７１は、ステップ１８１０にて、同ステップ１８１０にて前記特定気筒の前回の吸気行程における吸気弁閉弁時の実吸入空気量ＫＬａｃｔ０をＲＡＭ７３から読み出し、同実吸入空気量ＫＬａｃｔ０を目標空燃比設定手段Ａ５により求められた目標空燃比ＡｂｙＦｒｅｆで除する（ＫＬａｃｔ０／ＡｂｙＦｒｅｆ）ことにより、同特定気筒の前回の吸気行程において空燃比を目標空燃比ＡｂｙＦｒｅｆとするために必要であった燃料量である実必要燃料量Ｆｃａｃｔを求める。
【０１９０】
次いで、ＣＰＵ７１はステップ１８１５に進み、前記特定気筒の前回の吸気行程における吸気弁閉弁時の実スロットル弁開度ＴＡａｃｔ、同吸気弁閉弁時の実際のエンジン回転速度ＮＥ、及び同吸気弁閉弁時の実際の吸気弁３２の開閉タイミングＶＴとに基いて吸気ポートへの燃料付着率Ｒｐ、吸気弁への燃料付着率Ｒｖ、吸気ポートへの燃料残留率Ｐｐ、及び吸気弁への燃料残留率Ｐｖを求めるとともに、前回の吸気行程（特定の気筒の任意の吸気行程）に対し実際に噴射された燃料噴射量ｆｉ（ｋ−１）、同気筒の前々回の吸気行程（同任意の吸気行程の一回前の吸気行程）後であって前回の吸気行程前（同任意の吸気行程前）における実際のポート燃料付着量（実ポート燃料付着量）ｆｗｐ（ｋ−１）、実際のバルブ燃料付着量（実バルブ燃料付着量）ｆｗｖ（ｋ−１）、及び、上記数５（の右辺）に相当する同ステップ中に記載した式に基いて同気筒の前回の吸気行程における実吸入燃料量Ｆｃｅｓｔを算出する。
【０１９１】
次に、ＣＰＵ７１はステップ１８２０に進み、同ステップ中に記載した上記数３、及び上記数４に相当する式に従って、ステップ１８１５にて使用した燃料噴射量ｆｉ（ｋ−１）、実ポート燃料付着量ｆｗｐ（ｋ−１）、実バルブ燃料付着量ｆｗｖ（ｋ−１）、並びに、燃料付着率Ｒｐ、吸気弁への燃料付着率Ｒｖ、吸気ポートへの燃料残留率Ｐｐ、及び吸気弁への燃料残留率Ｐｖに基いて、前記特定気筒の前回の吸気行程（同任意の吸気行程）後であって今回の吸気行程（同任意の吸気行程の次の（一回後の）吸気行程）前における実ポート燃料付着量ｆｗｐ（ｋ）、及び実バルブ燃料付着量ｆｗｖ（ｋ）を算出する。
【０１９２】
次いで、ＣＰＵ７１はステップ１８２５に進んで、ステップ１８１０にて算出した前回の吸気行程に対する実必要燃料量Ｆｃａｃｔからステップ１８１５にて算出した実吸入燃料量Ｆｃｅｓｔを減ずることにより、前回の吸気行程における燃料量の過不足分を表す吸入燃料量誤差Ｆｃｅｒｒ（ｋ）を求め（上記数６を参照。）、続くステップ１８３０にて同ステップ内に記載した式に基いて燃料フィードバック補正量Ｆｆｂ（ｋ）を求める（上記数７を参照）。なお、同ステップ内に記載した式において、ＳｕｍＦｃｅｒｒは上記数８に基いて求められる吸入燃料量誤差Ｆｃｅｒｒの積分値であり、後述するステップ１８５０にて算出される。係数Ｋｐ、及び係数Ｋｉは、それぞれ予め設定されている比例定数、及び積分定数である。即ち、ステップ１８５０は燃料フィードバック補正量Ｆｆｂを求めるためのフィードバックコントローラ（比例・積分制御器）の一部を構成している。
【０１９３】
次に、ＣＰＵ７１はステップ１８３５に進み、今回の吸気行程に対する正規の予測必要燃料量（正規予測必要燃料量）Ｆｃｆｗｄ（ｋ）を、前記ステップ１８０５にて求めた補正前予測必要燃料量Ｆｃｆｗｄｂ（ｋ）をステップ１８３０にて求めた燃料フィードバック補正量Ｆｆｂ（ｋ）で補正して（補正前予測必要燃料量Ｆｃｆｗｄｂ（ｋ）に燃料フィードバック補正量Ｆｆｂ（ｋ）を加えて）求める。
【０１９４】
次いで、ＣＰＵ７１はステップ１８４０に進み、前記特定気筒の今回の吸気行程における吸気弁閉弁時の予測スロットル弁開度ＴＡｅｓｔ、実際のエンジン回転速度ＮＥ、及び実際の吸気弁の開閉タイミングＶＴとに基いて吸気ポートへの燃料付着率Ｒｐｆ、吸気弁への燃料付着率Ｒｖｆ、吸気ポートへの燃料残留率Ｐｐｆ、及び吸気弁への燃料残留率Ｐｖｆを求めるとともに、ステップ１８２０にて算出した同特定気筒の前回の吸気行程後であって今回の吸気行程前における実ポート燃料付着量ｆｗｐ（ｋ）及び実バルブ燃料付着量ｆｗｖ（ｋ）と、上記数１１の右辺（ステップ１８４０中に記載した式）で表される燃料挙動の逆モデルとにしたがって燃料噴射量ｆｉ（ｋ）を求める。
【０１９５】
次に、ＣＰＵ７１はステップ１８４５に進んで、前記特定気筒のインジェクタ３９に対して前記燃料噴射量ｆｉ（ｋ）の燃料の噴射を指示する。これにより、燃料噴射量ｆｉ（ｋ）に応じた量の燃料が前記特定気筒のインジェクタ３９から噴射される。その後、ＣＰＵ７１はステップ１８５０に進み、次回の本ルーチンの演算のために吸入燃料量誤差Ｆｃｅｒｒを積分して誤差積分値ＳｕｍＦｃｅｒｒを更新し、ステップ１８９５にて本ルーチンを一旦終了する。
【０１９６】
以上、説明したように、本発明による内燃機関の燃料噴射量制御装置の上記実施形態によれば、前回の吸気行程に対する実必要燃料量と実吸入燃料量とが求められ、これらの差に基いて同前回の吸気行程に対する燃料量の過不足が算出され、同過不足分が今回以降の予測必要燃料量に反映されて補償されて行く。この結果、運転状態量予測手段による予測運転状態量（予測スロットル弁開度、従って、予測吸入空気量）が実際のスロットル弁開度（従って、実際の吸入空気量）と異なることに基く供給燃料量の過不足が直ちに補償されるので、空燃比を略一定に維持することができた。
【０１９７】
また、上記実施形態によれば、燃料フィードバック補正量で補正された後の正規予測必要燃料量に基いて燃料噴射量が算出される。従って、内燃機関の運転状態に拘わらず、前記燃料フィードバック補正量が確実に反映された所望の前記正規予測必要燃料量の燃料が正確に燃料噴射気筒内に吸入され得る。この結果、前記燃料フィードバック補正量を算出するためのフィードバックコントローラ（ＰＩコントローラ）が使用する比例ゲイン等のフィードバック制御定数を時々刻々と変化する内燃機関の運転状態に応じて変更する必要がないので、フィードバックコントローラを簡易な構成とすることができた。
【０１９８】
また、上記実施形態によれば、内燃機関の運転状態が定常運転状態にあるとき、予測吸入空気量と実吸入空気量とが等しくなる。従って、内燃機関の運転状態が所定時間以上定常運転状態に維持される毎に、ＰＩコントローラが使用する吸入燃料量誤差の時間積分値がゼロになることが保証される。そうすると、吸入燃料量誤差の時間積分値は燃料の過不足分の時間積分値に相当する値であるから、内燃機関の運転状態が定常運転状態から燃料の過不足分が発生し易い過渡運転状態に移行した後、再び定常運転状態に復帰する毎に、燃料の過不足分の時間積分値がゼロになることが保証され、この結果、内燃機関の運転状態が定常運転状態から一旦過渡運転状態に移行してから再び定常運転状態に復帰するまでの期間における平均的な空燃比を所定の目標空燃比と等しくすることができる。よって、三元触媒の酸素吸蔵量が適切な量に維持され得、その結果、同三元触媒の酸素吸蔵・放出機能が低下しないことから、排気ガスのエミッションの排出量が増大することを防止できた。
【０１９９】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記実施形態において、内燃機関が定常運転状態にあるとき、今回の吸気行程における吸入空気量がエアフローメータ６１の出力に実質的に基いて決定されるように構成されることが好適である。
【０２００】
また、上記実施形態においては、内燃機関の各気筒の吸気行程毎に、且つ、各気筒毎（特定気筒毎）に、図５及び図６に示した各モデル、及び各手段により燃料噴射量が計算されているが、内燃機関の各気筒の吸気行程毎に、気筒の区別をすることなく順次移動していく不特定の燃料噴射気筒に対して、図５及び図６に示した各モデル、及び各手段により燃料噴射量を計算していくように構成してもよい。
【０２０１】
また、上記実施形態においては、燃料噴射量算出手段（燃料挙動モデルの逆モデル）は、実燃料付着量算出手段（燃料挙動モデルの順モデル）により算出された前回の吸気行程後であって今回の吸気行程前における実燃料付着量に基いて燃料付着量を算出しているが、燃料噴射量算出手段は、前記実燃料付着量算出手段とは別に予測燃料付着量算出手段を備え、同予測燃料付着量算出手段により算出された前回の吸気行程後であって今回の吸気行程前における予測燃料付着量に基いて燃料付着量を算出するように構成されてもよい。
【０２０２】
即ち、燃料噴射量算出手段は、前記燃料挙動モデルの逆モデルに基いて、今回の吸気行程に対し噴射されるべき燃料噴射量の燃料のうち同今回の吸気行程において吸入される燃料量と予測燃料付着量算出手段により算出された前回の吸気行程後であって同今回の吸気行程前における予測燃料付着量の燃料のうち同今回の吸気行程において吸入される燃料量との和が前記算出された正規予測必要燃料量と等しくなるように同燃料噴射量を算出するように構成されてもよい。この場合、予測燃料付着量算出手段は、前記燃料挙動モデルにて使用する付着率と残留率を前回の吸気行程に対する予測吸入空気量（即ち、前回の吸気行程に対する吸気弁閉弁時より前の時点で同前回の吸気行程に対する吸気弁閉弁時の吸入空気量として前記予測吸入空気量算出手段が算出した吸入空気量）に基いて決定し、同決定した付着率と残留率を使用した同燃料挙動モデルと、前々回の吸気行程後であって同前回の吸気行程前における予測燃料付着量と、同前回の吸気行程に対する実際の燃料噴射量とに基いて、同前回の吸気行程後であって今回の吸気行程前における前記予測燃料付着量を算出するように構成すればよい。
【図面の簡単な説明】
【図１】本発明による燃料噴射量制御装置（燃料噴射量制御装置）を火花点火式多気筒内燃機関に適用したシステムの概略構成図である。
【図２】図１に示したエアフローメータの概略斜視図である。
【図３】図２に示したエアフローメータの熱線計量部の拡大斜視図である。
【図４】図１に示したＣＰＵが参照するエアフローメータの出力と吸入空気量（吸入空気流量）との関係を規定したテーブルを表した図である。
【図５】スロットル弁開度を制御するとともに燃料噴射量を決定するための各種ロジック、及び各種モデルの機能ブロック図でである。
【図６】図５に示した噴射量決定手段の詳細を示した機能ブロック図である。
【図７】図１に示したＣＰＵが参照するアクセルペダル操作量と暫定目標スロットル弁開度との関係を規定したテーブルを示した図である。
【図８】暫定目標スロットル弁開度、目標スロットル弁開度、及び予測スロットル弁開度の変化を示したタイムチャートである。
【図９】予測スロットル弁開度を算出する際に用いる関数を示したグラフである。
【図１０】図６に示した噴射量決定手段が備える各機能ブロックによる計算タイミングを示した図である。
【図１１】図１に示したＣＰＵが実行する目標スロットル弁開度、及び予測スロットル弁開度を演算するためのプログラムを示したフローチャートである。
【図１２】図１に示したＣＰＵが実行する予測吸入空気量を算出するためのプログラムを示したフローチャートである。
【図１３】図１に示したＣＰＵが実行する予測スロットル通過空気流量を算出するためのプログラムを示したフローチャートである。
【図１４】図１に示したＣＰＵが実行する予測筒内吸入空気流量を算出するためのプログラムを示したフローチャートである。
【図１５】図１に示したＣＰＵが実行する実吸入空気量を算出するためのプログラムを示したフローチャートである。
【図１６】図１に示したＣＰＵが実行する実スロットル通過空気流量を算出するためのプログラムを示したフローチャートである。
【図１７】図１に示したＣＰＵが実行する実筒内吸入空気流量を算出するためのプログラムを示したフローチャートである。
【図１８】図１に示したＣＰＵが実行する燃料噴射実行（燃料噴射量計算）のためのプログラムを示したフローチャートである。
【符号の説明】
１０…火花点火式多気筒内燃機関、２０…シリンダブロック部（エンジン本体部）、２５…燃焼室、３１…吸気ポート、３２…吸気弁、３９…インジェクタ、４１…吸気管、４３…スロットル弁、４３ａ…スロットル弁アクチュエータ、７０…電気制御装置、７１…ＣＰＵ
【図１】
2004176638.tif 000006
【図２】
2004176638.tif 000007
【図３】
2004176638.tif 000008
【図４】
2004176638.tif 000009
【図５】
2004176638.tif 000010
【図６】
2004176638.tif 000011
【図７】
2004176638.tif 000012
【図８】
2004176638.tif 000013
【図９】
2004176638.tif 000014
【図１０】
2004176638.tif 000015
【図１１】
2004176638.tif 000016
【図１２】
2004176638.tif 000017
【図１３】
2004176638.tif 000018
【図１４】
2004176638.tif 000019
【図１５】
2004176638.tif 000020
【図１６】
2004176638.tif 000021
【図１７】
2004176638.tif 000022
【図１８】
2004176638.tif 000023