(57)【特許請求の範囲】
【請求項１】
指示に応じて燃料噴射を行う燃料噴射手段を備えた内燃機関の燃料噴射量制御装置において、
現時点より先の時点における前記内燃機関の運転状態量を予測する運転状態量予測手段と、
現時点より前の時点における前記内燃機関の実際の運転状態量を取得する運転状態量取得手段と、
特定の気筒の今回の吸気行程に対する吸気弁閉弁時より前の第１所定時点にて同気筒の今回の吸気行程での吸気弁閉弁時の吸入空気量である予測吸入空気量を前記運転状態量予測手段により予測された同第１所定時点より先の時点における運転状態量と前記内燃機関の吸気系における空気の挙動をモデル化した空気モデルとに基づいて算出する予測吸入空気量算出手段と、
前記第１所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第２所定時点にて前記予測吸入空気量に基づいて前記気筒の今回の吸気行程で同気筒に必要とされる燃料量である予測必要燃料量を算出するとともに、前記内燃機関の吸気系への燃料付着挙動を表す燃料挙動モデルの逆モデルにて使用する付着率と残留率を前記予測吸入空気量に基いて決定し、同決定した付着率と残留率を使用した同逆モデルを使用することにより、同気筒の今回の吸気行程に対し噴射すべき仮の噴射量である補正前燃料噴射量の燃料のうち同気筒の今回の吸気行程において同気筒に吸入される燃料量と同気筒の前回の吸気行程後であって今回の吸気行程前における予測された燃料付着量である予測燃料付着量の燃料のうち同気筒の今回の吸気行程において同気筒に吸入される燃料量との和が、前記算出された予測必要燃料量と等しくなるように同補正前燃料噴射量を算出する補正前燃料噴射量算出手段と、
前記第２所定時点より前の第３所定時点にて、前記燃料挙動モデルにて使用する付着率と残留率を前記気筒の前回の吸気行程に対する予測吸入空気量に基いて決定し、同決定した付着率と残留率を使用した同燃料挙動モデルと、同気筒の前々回の吸気行程後であって前回の吸気行程前における予測燃料付着量と、同気筒の前回の吸気行程に対する補正前燃料噴射量とに基づいて、同気筒の前回の吸気行程後であって今回の吸気行程前における前記予測燃料付着量を算出する予測燃料付着量算出手段と、
前記気筒の前回の吸気行程に対する吸気弁閉弁時より後の時点であって同気筒の今回の吸気行程に対する吸気弁閉弁時より前の第４所定時点にて、同気筒の前回の吸気行程に対する吸気弁閉弁時の実際の吸入空気量である実吸入空気量を前記運転状態取得手段により取得された実際の運転状態量と前記空気モデルとに基づいて算出する実吸入空気量算出手段と、
前記第４所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第５所定時点にて、前記燃料挙動モデルにて使用する付着率と残留率を同気筒の前回の吸気行程に対する吸気弁閉弁時の実吸入空気量に基いて決定し、同決定した付着率と残留率を使用した同燃料挙動モデルと、同気筒の前回の吸気行程に対し実際に噴射された燃料噴射量と、同気筒の前々回の吸気行程後であって前回の吸気行程前における実際の燃料付着量である実燃料付着量とに基づいて、同気筒の前回の吸気行程後であって今回の吸気行程前における実燃料付着量を算出する実燃料付着量算出手段と、
前記第３所定時点、及び前記第５所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第６所定時点にて、前記予測燃料付着量算出手段により算出された同気筒の前回の吸気行程後であって今回の吸気行程前における予測燃料付着量と、前記実燃料付着量算出手段により算出された同気筒の前回の吸気行程後であって今回の吸気行程前における実燃料付着量とに基づいて燃料フィードバック補正量を算出する燃料フィードバック補正量算出手段と、
前記第２所定時点、及び前記第６所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第７所定時点にて、前記算出された同気筒の今回の吸気行程に対し噴射すべき補正前燃料噴射量を前記算出された燃料フィードバック補正量で補正することにより前記燃料噴射手段から前記気筒の今回の吸気行程に対し噴射する正規の燃料噴射量を算出する正規燃料噴射量算出手段と、
前記第７所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第８所定時点にて前記燃料噴射手段に対し前記算出された正規の燃料噴射量の燃料を噴射するように指示を与える燃料噴射指示手段と、
を備えた内燃機関の燃料噴射量制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の燃料噴射量制御装置に係り、特に過渡運転時においても空燃比を略一定に維持することが可能な燃料噴射量制御装置に関する。
【０００２】
【従来の技術】
電子制御燃料噴射式の内燃機関においては、吸気行程直前又は吸気行程中にあって燃料噴射による燃料の供給が必要な気筒（以下、「燃料噴射気筒」と云う。）の同吸気行程における吸入空気量を求め、この求めた吸入空気量に応じた量の燃料を、最も遅くとも同吸気行程に対する吸気弁閉弁時（吸気弁の状態が開状態から閉状態に変化する時点）までに、場合によっては同吸気行程開始前までに、噴射する必要がある。このため、例えば、特開平１０−１６９４６９号公報に開示された内燃機関の制御装置は、同内燃機関の運転状態量の一つであるスロットル弁開度を燃料噴射気筒の吸気弁閉弁時まで前もって予測し、少なくとも同予測したスロットル弁開度と内燃機関の吸気系の空気の挙動をモデル化した空気モデルとに基づいて同燃料噴射気筒の吸気弁閉弁時における吸入空気量を同吸気弁閉弁時よりも前の時点で予測し、その予測した吸入空気量に応じた燃料噴射量の燃料を同気筒に対して噴射するようになっている。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来の制御装置は、例えば、予測したスロットル弁開度と実際のスロットル弁開度とが相違する等の理由により、予測した吸入空気量と実際の吸入空気量との間に差（推定誤差）が生じると、この推定誤差を補償する手段を備えていないので、燃料噴射量が適切な値と異なる値となって空燃比が乱れるという問題がある。従って、本発明の目的は、吸入空気量の推定誤差を迅速に補償し、特に、スロットル弁開度が急変する等の過渡運転時における空燃比を迅速に安定させることが可能な内燃機関の燃料噴射量制御装置を提供することにある。
【０００４】
【発明の概要】
本明細書に開示された燃料噴射量制御方法は、特定の気筒の今回の吸気行程での吸気弁閉弁時における内燃機関の運転状態量を同吸気弁閉弁時より前の時点で予測し、前記予測した運転状態量に応じて前記特定の気筒の今回の吸気行程での吸入空気量を予測し、前記予測した吸入空気量に対して所定の目標空燃比を得るために必要な燃料量を補正前燃料噴射量として算出するとともに、前記算出した補正前燃料噴射量に応じた量の燃料を前記特定の気筒の今回の吸気行程での吸気弁閉弁時よりも前の時点で同気筒に対して噴射する内燃機関の燃料噴射量制御方法であって、前記特定の気筒の前回の吸気行程に対する吸気弁閉弁後の時点で、前記気筒の前回の吸気行程において前記目標空燃比を得るために前記気筒に実際に必要とされていた燃料量である実必要燃料量を既知となった運転状態量に基づいて求めるとともに、前記気筒の前回の吸気行程において前記気筒が実際に吸入した燃料量である実吸入燃料量を少なくとも前記気筒の前回の吸気行程に対し実際に噴射された燃料噴射量に基づいて算出し、前記実必要燃料量と前記実吸入燃料量とに基づいて前記気筒の前回の吸気行程における燃料の過不足分を求め、前記求められた過不足分に応じた補正量で前記補正前燃料噴射量を補正して正規燃料噴射量を算出し、前記算出された正規燃料噴射量の燃料を前記特定の気筒の今回の吸気行程に対して噴射する方法である。
【０００５】
この燃料噴射量制御方法は、特定の気筒（内燃機関の複数気筒のうちの任意の一つの気筒、以下同じ。）の今回の吸気行程における吸気弁閉弁時の吸入空気量を、予測した運転状態量（例えば、スロットル弁開度）に基いて同吸気弁閉弁時よりも前の時点で予測し、予測した吸入空気量に基いて基本噴射量に相当する補正前燃料噴射量を算出する。従って、補正前燃料噴射量は、予測吸入空気量の予測誤差（推定誤差）の影響を受ける。
【０００６】
一方、特定の気筒の前回の吸気行程の吸気弁閉弁後においては、同特定気筒の前回の吸気行程における吸気弁閉弁時点の運転状態量は既知であるから、その既知である運転状態量から同気筒の前回の吸気行程の実際の吸入空気量を求めることができ、従って、同特定気筒の前回の吸気行程で同特定気筒内の混合気の空燃比が目標空燃比となるために実際に必要とされていた燃料量（実必要燃料量）を正確に求めることができる。他方、前回の吸気行程の吸気弁閉弁後においては、同前回の吸気行程に対して実際に噴射された燃料噴射量が既知であるから、その既知である燃料噴射量に少なくとも基いて同気筒の前回の吸気行程の実際の吸入燃料量（実吸入燃料量）を正確に求めることができる。
【０００７】
本燃料噴射量制御方法は、このように実必要燃料量と実吸入燃料量を求め、これら実必要燃料量と実吸入燃料量（との差）に基いて前回の吸気行程における燃料の過不足を算出し、同加不足分を補うための補正量を求めて前記補正前燃料噴射量を補正する。従って、各気筒毎に、且つ吸気行程毎に、前回の吸気行程での燃料の過不足分が少なくとも今回の吸気行程で補償されるので、空燃比を迅速、且つ、精度良く、一定に維持することができる。
【０００８】
また、より具体的態様として本明細書に開示された内燃機関の燃料噴射量制御装置（以下、「第１燃料噴射量制御装置」と称呼する。）は、指示に応じて燃料噴射を行う燃料噴射手段を備えた内燃機関の燃料噴射量制御装置であって、運転状態量予測手段、運転状態量取得手段、予測吸入空気量算出手段、補正前燃料噴射量算出手段、実吸入空気量算出手段、実必要燃料量算出手段、実吸入燃料量算出手段、燃料フィードバック補正量算出手段、正規燃料噴射量算出手段、及び燃料噴射指示手段を備える。以下、各手段の作用について説明する。
【０００９】
運転状態量予測手段は、現時点より先の時点における前記内燃機関の運転状態量を予測する。運転状態量取得手段は、現時点より前の時点における前記内燃機関の実際の運転状態量を取得する。運転状態量の代表例としては、スロットル弁開度が挙げられる。
【００１０】
予測吸入空気量算出手段は、特定の気筒（ある気筒）の今回の吸気行程に対する吸気弁閉弁時より前の第１所定時点にて、同気筒の今回の吸気行程での吸気弁閉弁時の吸入空気量である予測吸入空気量を前記運転状態量予測手段により予測された同第１所定時点より先の時点における運転状態量と前記内燃機関の吸気系における空気の挙動をモデル化した空気モデルとに基づいて算出する。即ち、予測吸入空気量算出手段は、次に吸気行程に入ろうとしている（又は、すでに吸気行程に入っている）気筒の吸気弁がその吸気行程において開弁状態から閉弁状態へと以降する時点（吸気弁閉弁時）より前の第１所定時点で、同吸気弁閉弁時における同気筒の吸入空気量を予測する。
【００１１】
補正前燃料噴射量算出手段は、前記第１所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第２所定時点にて、前記予測吸入空気量に基づいて同気筒の今回の吸気行程に対し噴射すべき仮の噴射量である補正前燃料噴射量を算出する。例えば、補正前燃料噴射量算出手段は、内燃機関の運転状態に応じて別途定められる（或いは一定の）目標空燃比で前記予測吸入空気量を除することにより補正前燃料噴射量を算出することができる。この場合、後述するように、燃料付着量を考慮して補正前燃料噴射量を求めることが好適である。
【００１２】
実吸入空気量算出手段は、前記気筒の前回の吸気行程での吸気弁閉弁時より後の時点であって同気筒の今回の吸気行程に対する吸気弁閉弁時より前の第３所定時点にて、同気筒の前回の吸気行程での吸気弁閉弁時の実際の吸入空気量である実吸入空気量を前記運転状態量取得手段により取得された実際の運転状態量と前記空気モデルとに基づいて算出する。この第３所定時点は、前記気筒の前回の吸気行程での吸気弁閉弁時より後の時点であるから、同気筒の前回の吸気行程での吸気弁閉弁時の実際の吸入空気量を求めるための運転状態量は既知であり、前記運手状態量取得手段により取得される。従って、実吸入空気量は同既知の運転状態量と空気モデルとに基いて正確に求められる。
【００１３】
実必要燃料量算出手段は、前記第３所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第４所定時点にて、前記算出された実吸入空気量に基づいて同気筒の前回の吸気行程において同気筒に実際に必要とされていた燃料量である実必要燃料量を算出する。例えば、実必要燃料算出手段は、前記補正前燃料噴射量算出手段と同様、前記目標空燃比で前記実吸入空気量を除すことにより実必要燃料量を算出することができる。
【００１４】
実吸入燃料量算出手段は、前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第５所定時点にて、同気筒の前回の吸気行程において同気筒が実際に吸入した燃料量である実吸入燃料量を少なくとも同気筒の前回の吸気行程に対し実際に噴射された燃料噴射量に基づいて算出する。この場合、後述するように、実際に噴射された燃料噴射量として正規の燃料噴射量（正規燃料噴射量）を採用することもでき、更に、実際の燃料付着量（実燃料付着量）を考慮して実吸入燃料量を求めることが好適である。
【００１５】
燃料フィードバック補正量算出手段は、前記第４所定時点、及び前記第５所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第６所定時点にて、前記算出された実必要燃料量と前記算出された実吸入燃料量とに基づいて燃料フィードバック補正量を算出する。
【００１６】
例えば、前記算出された実必要燃料量と前記算出された実吸入燃料量との差は、前回の吸気行程における燃料の過不足分を表すから、同実必要燃料量と同実吸入燃料量との差と、この差を入力値とする比例積分制御等のコントローラとを用いることで、同燃料の過不足分を補償する燃料フィードバック補正量が算出される。
【００１７】
正規燃料噴射量算出手段は、前記第２所定時点、及び前記第６所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第７所定時点にて、前記算出された補正前燃料噴射量を前記算出された燃料フィードバック補正量で補正することにより前記燃料噴射手段から同気筒の今回の吸気行程に対し噴射する正規の燃料噴射量を算出する。
【００１８】
そして、燃料噴射指示手段は、前記第７所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第８所定時点にて、前記燃料噴射手段に対し前記算出された正規の燃料噴射量の燃料を噴射するように指示を与え、これにより、正規の燃料噴射量の燃料が燃料噴射手段から噴射される。
【００１９】
第１燃料噴射量制御装置は、以上の処理を各気筒の吸気行程毎に各気筒毎に繰り返し実行し、特定の気筒の前回の吸気行程における燃料の過不足分を同特定の気筒の次回以降の燃料噴射量に直ちに反映する（補償する）ので、空燃比を安定した値に維持することができる。
【００２０】
この場合、上記第１燃料噴射量制御装置は、予測燃料付着量を算出する予測燃料付着量算出手段を備え、前記補正前燃料噴射量算出手段は予測必要燃料量を算出するとともに、この予測必要燃料量が供給されるように、前記算出された予測燃料付着量を考慮しながら燃料挙動モデルの逆モデルを使用して前記補正前燃料噴射量を算出するように構成され、更に、実燃料付着量を算出する実燃料付着量算出手段を備え、この実燃料付着量を考慮しながら燃料挙動モデルの順モデルを使用して前記実吸入燃料量を算出するように構成されることが好適である。
【００２１】
これによれば、機関の運転状態に応じて変化する燃料付着量が考慮されながら燃料噴射量が決定されて行くから、各気筒に対して適切な正規の燃料噴射量が算出され、その結果、空燃比を一層安定化することができる。
【００２２】
より具体的に述べると、予測燃料付着量算出手段は、前記補正前燃料噴射量算出手段により算出される前記気筒の任意の吸気行程に対する補正前燃料噴射量と、同気筒の同任意の吸気行程の一回前の吸気行程後であって同任意の吸気行程前における予測された燃料付着量である予測燃料付着量と、前記内燃機関の吸気系への燃料付着挙動を表す燃料挙動モデルとに基づいて、同気筒の同任意の吸気行程後であって同任意の吸気行程の次の吸気行程前における予測燃料付着量を算出する。
【００２３】
即ち、予測燃料付着量算出手段は、ある吸気行程に対して補正前燃料噴射量の燃料が噴射されたと仮定した場合において、同補正前燃料噴射量の燃料のうちの吸気系に付着する燃料の量と、その吸気行程前に吸気系に付着していたと予測される予測燃料付着量のうちの吸気系に残留する燃料の量とから、新たな（即ち、前記ある吸気行程後の）予測燃料付着量を算出する。
【００２４】
実燃料付着量算出手段は、前記気筒の任意の吸気行程に対し実際に噴射された燃料噴射量と、同気筒の同任意の吸気行程の一回前の吸気行程後であって同任意の吸気行程前における実際の燃料付着量である実燃料付着量と、前記燃料挙動モデルとに基づいて、同気筒の同任意の吸気行程後であって同任意の吸気行程の一回後の吸気行程前における実燃料付着量を算出する。
【００２５】
即ち、実燃料付着量算出手段は、ある吸気行程に対して実際に噴射された燃料噴射量の燃料のうちの吸気系に付着する燃料の量と、その吸気行程前に吸気系に付着していた実燃料付着量のうちの吸気系に残留する燃料の量とから、新たな（前記ある吸気行程後の）実燃料付着量を算出する。
【００２６】
そして、前記補正前燃料噴射量算出手段は、前記予測吸入空気量算出手段により算出された前記気筒の今回の吸気行程に対する吸気弁閉弁時の予測吸入空気量に基づいて同気筒の今回の吸気行程で同気筒に必要とされる燃料量である予測必要燃料量を算出し、且つ、前記燃料挙動モデルの逆モデルに基づいて、前記気筒の今回の吸気行程に対し噴射すべき補正前燃料噴射量の燃料のうち同気筒の今回の吸気行程において同気筒に吸入される燃料量と前記予測燃料付着量算出手段により算出された同気筒の前回の吸気行程後であって今回の吸気行程前における予測燃料付着量の燃料のうち同気筒の今回の吸気行程において同気筒に吸入される燃料量との和が前記算出された予測必要燃料量と等しくなるように同補正前燃料噴射量を算出するように構成される。
【００２７】
即ち、前記補正前燃料噴射量算出手段は、予測された今回の吸気行程に対する吸気弁閉弁時の予測吸入空気量から、同今回の吸気行程で必要とされる燃料量（予測必要燃料量）を算出し、この予測必要燃料量が気筒に吸入されるためには、どれだけの燃料噴射量の燃料を噴射しなければならないかを、同燃料噴射量の燃料のうち吸入系へ付着することなく気筒に吸入される分、及び今回の吸気行程前における予測された予測燃料付着量の燃料のうちの同気筒への吸入される分とを考慮して算出し、そのようにして算出された燃料噴射量を補正前燃料噴射量とする。
【００２８】
また、前記実吸入燃料量算出手段は、前記燃料挙動モデルの順モデルに基づいて、前記気筒の前回の吸気行程に対し実際に噴射された燃料噴射量の燃料のうち同気筒の前回の吸気行程において同気筒に実際に吸入された燃料量、及び、前記実燃料付着量算出手段により算出された同気筒の前々回の吸気行程後であって前回の吸気行程前における実燃料付着量の燃料のうち同気筒の前回の吸気行程において同気筒に実際に吸入された燃料量から、同気筒の前回の吸気行程において同気筒が実際に吸入した前記実吸入燃料量を算出するように構成される。
【００２９】
即ち、前記実吸入燃料量算出手段は、前回の吸気行程に対する実際の燃料噴射量の燃料のうち気筒に吸入される分と、前回の吸気行程前の実際の燃料付着量の燃料のうち気筒に吸入される分との和を、前回の吸気行程において実際に吸入された吸入燃料量として算出する。
【００３０】
このようにすれば、燃料付着量が考慮されて補正前燃料噴射量が算出されるので、吸入空気量の予測誤差がない場合には同補正前燃料噴射量の燃料供給によって実必要燃料量に極めて近しい燃料量の燃料が供給されることになり、各吸気行程毎の空燃比が安定する。更に、燃料付着量が考慮されることで、実吸入燃料量が精度良く求められるので、吸入された燃料の過不足分が正確に求められ、この過不足分がフィードバック補正量に反映されるから、結果として空燃比をより一層安定させることができる。
【００３１】
本発明による内燃機関の燃料噴射量制御装置（以下、「第２燃料噴射量制御装置」と称呼する。）は、ある気筒（特定の気筒）の前回の吸気行程において実際に噴射された既知の燃料噴射量（実燃料噴射量）と、同気筒の前回の吸気行程前の実際の燃料付着量（実燃料付着量）と、燃料挙動モデルとに基づいて今回の吸気行程前における実燃料付着量を求める。このとき、燃料挙動モデルの付着率及び残留率は、前回の吸気行程に対する吸気弁閉弁時後において既知となった運転状態量と空気モデルとに基づいて求められた同前回の吸気行程に対する吸気弁閉弁時の実際の吸入空気量（実吸入空気量）に基いて決定される。これにより、実燃料付着量は、実際の吸入空気量に基いて求められた燃料挙動モデルの付着率と残留率と、実際の燃料噴射量とに基づいて算出されるから、実際の燃料付着量を精度良く表す量となる。
【００３２】
一方、第２燃料噴射量制御装置は、前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の時点で同吸気弁閉弁時の吸入空気量を予測するとともに、その予測された吸入空気量に応じた予測必要燃料量が得られるように、同今回の吸気行程前における予測燃料付着量を考慮しながら補正前燃料噴射量を求める。このとき、第２燃料噴射量制御装置は、燃料挙動モデルにて使用する付着率と残留率とを同気筒の前回の吸気行程に対する（補正前燃料噴射量を算出する基礎となった）予測吸入空気量に基いて決定し、同決定した付着率と残留率を使用した同燃料挙動モデルと、同気筒の前々回の吸気行程後であって同気筒の前回の吸気行程前の予測燃料付着量と、前回の吸気行程に対する補正前燃料噴射量とに基づいて、前記気筒の今回の吸気行程前における予測燃料付着量を予測する。この結果、予測燃料付着量は前回の吸気行程に対する予測吸入空気量が反映された値となる。
【００３３】
そして、第２燃料噴射量制御装置は、今回の吸気行程前における前記実燃料付着量と、同今回の吸気行程前における前記予測燃料付着量と、に基づいて前回の吸気行程における燃料の過不足分に応じた値（即ち、予測吸入空気量の実吸入空気量に対する誤差を反映した値）を求め、その値に応じて今回の吸気行程に対する燃料フィードバック補正量を算出し、同燃料フィードバック補正量によって補正前燃料噴射量を補正する。以上により、空燃比を安定化させることができる。
【００３４】
より具体的に述べると、第２燃料噴射量制御装置は、指示に応じて燃料噴射を行う燃料噴射手段を備えた内燃機関の燃料噴射量制御装置であって、運転状態量予測手段、運転状態量取得手段、予測吸入空気量算出手段、補正前燃料噴射量算出手段、予測燃料付着量算出手段、実吸入空気量算出手段、実燃料付着量算出手段、燃料フィードバック補正量算出手段、正規燃料噴射量算出手段、及び燃料噴射指示手段を備える。以下、各手段の作用について説明する。
【００３５】
運転状態量予測手段は、現時点より先の時点における前記内燃機関の運転状態量を予測する。運転状態量取得手段は、現時点より前の時点における前記内燃機関の実際の運転状態量を取得する。運転状態量の代表例としては、スロットル弁開度が挙げられる。
【００３６】
予測吸入空気量算出手段は、特定の気筒の今回の吸気行程に対する吸気弁閉弁時より前の第１所定時点にて同気筒の今回の吸気行程での吸気弁閉弁時の吸入空気量である予測吸入空気量を前記運転状態量予測手段により予測された同第１所定時点より先の時点における運転状態量と前記内燃機関の吸気系における空気の挙動をモデル化した空気モデルとに基づいて算出する。即ち、予測吸入空気量算出手段は、第１燃料噴射量制御装置のそれと同様に、次に吸気行程に入ろうとしている（又は、すでに吸気行程に入っている）気筒の吸気弁がその吸気行程において開弁状態から閉弁状態へと以降する時点（吸気弁閉弁時）より前の第１所定時点で、同吸気弁閉弁時における同気筒の吸入空気量を予測する。
【００３７】
補正前燃料噴射量算出手段は、前記第１所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第２所定時点にて前記予測吸入空気量に基づいて前記気筒の今回の吸気行程で同気筒に必要とされる燃料量である予測必要燃料量を算出する。例えば、補正前燃料噴射量算出手段は、内燃機関の運転状態に応じて別途定められる（或いは一定の）目標空燃比で前記予測吸入空気量を除することにより予測必要燃料量を算出することができる。
【００３８】
更に、補正前燃料噴射量算出手段は、前記内燃機関の吸気系への燃料付着挙動を表す燃料挙動モデルの逆モデルにて使用する付着率と残留率を前記予測吸入空気量に基いて決定し、同決定した付着率と残留率を使用した同逆モデルを使用することにより、同気筒の今回の吸気行程に対し噴射すべき仮の噴射量である補正前燃料噴射量の燃料のうち同気筒の今回の吸気行程において同気筒に吸入される燃料量と同気筒の前回の吸気行程後であって今回の吸気行程前における予測された燃料付着量である予測燃料付着量の燃料のうち同気筒の今回の吸気行程において同気筒に吸入される燃料量との和が、前記算出された予測必要燃料量と等しくなるように同補正前燃料噴射量を算出する。
【００３９】
予測燃料付着量算出手段は、前記第２所定時点より前の第３所定時点にて、前記燃料挙動モデルにて使用する付着率と残留率を前記気筒の前回の吸気行程に対する予測吸入空気量（即ち、前回の吸気行程に対する吸気弁閉弁時より前の時点で同前回の吸気行程に対する吸気弁閉弁時の吸入空気量として前記予測吸入空気量算出手段が算出した吸入空気量）に基いて決定し、同決定した付着率と残留率を使用した同燃料挙動モデルと、同気筒の前々回の吸気行程後であって前回の吸気行程前における予測燃料付着量と、同気筒の前回の吸気行程に対する補正前燃料噴射量とに基づいて、同気筒の前回の吸気行程後であって今回の吸気行程前における前記予測燃料付着量を算出する。
【００４０】
実吸入空気量算出手段は、前記気筒の前回の吸気行程に対する吸気弁閉弁時より後の時点であって同気筒の今回の吸気行程に対する吸気弁閉弁時より前の第４所定時点にて、同気筒の前回の吸気行程に対する吸気弁閉弁時の実際の吸入空気量である実吸入空気量を前記運転状態取得手段により取得された実際の運転状態量と前記空気モデルとに基づいて算出する。この第４所定時点は、前記気筒の前回の吸気行程での吸気弁閉弁時より後の時点であるから、同気筒の前回の吸気行程での吸気弁閉弁時の実際の吸入空気量を求めるための運転状態量は既知であり、前記運手状態量取得手段により取得される。従って、実吸入空気量は既知の運転状態量と空気モデルとによって正確に求められる。
【００４１】
実燃料付着量算出手段は、前記第４所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第５所定時点にて、前記燃料挙動モデルにて使用する付着率と残留率を同気筒の前回の吸気行程に対する吸気弁閉弁時の実吸入空気量に基いて決定し、同決定した付着率と残留率を使用した同燃料挙動モデルと、同気筒の前回の吸気行程に対し実際に噴射された燃料噴射量と、同気筒の前々回の吸気行程後であって前回の吸気行程前における実際の燃料付着量である実燃料付着量とに基づいて、同気筒の前回の吸気行程後であって今回の吸気行程前における実燃料付着量を算出する。このように実燃料付着量は、実吸入空気量と実燃料噴射量に基づいて算出されるから、同実燃料付着量は真の燃料付着量と極めて近しい量となる。
【００４２】
燃料フィードバック補正量算出手段は、前記第３所定時点、及び前記第５所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第６所定時点にて、前記予測燃料付着量算出手段により算出された同気筒の前回の吸気行程後であって今回の吸気行程前における予測燃料付着量と、前記実燃料付着量算出手段により算出された同気筒の前回の吸気行程後であって今回の吸気行程前における実燃料付着量とに基づいて燃料フィードバック補正量を算出する。
【００４３】
即ち、前記算出された予測燃料付着量は予測吸入空気量を反映した値であり、前記算出された実燃料付着量は実吸入空気量を反映した値であるから、前記予測燃料付着量と前記実燃料付着量との差は、前回の吸気行程における吸入空気量の推定誤差、従って、燃料の過不足分を表す。従って、前記予測燃料付着量と前記実燃料噴射量とが一致するように、例えば、比例積分制御等のコントローラで燃料フィードバック補正量を算出すれば、同燃料フィードバック補正量は燃料の過不足分を補償する値となる。
【００４４】
正規燃料噴射量算出手段は、前記第２所定時点、及び前記第６所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第７所定時点にて、前記算出された同気筒の今回の吸気行程に対し噴射すべき補正前燃料噴射量を前記算出された燃料フィードバック補正量で補正することにより前記燃料噴射手段から前記気筒の今回の吸気行程に対し噴射する正規の燃料噴射量を算出する。
【００４５】
そして、燃料噴射指示手段は、前記第７所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第８所定時点にて前記燃料噴射手段に対し前記算出された正規の燃料噴射量の燃料を噴射するように指示を与え、これにより、正規の燃料噴射量の燃料が燃料噴射手段から噴射される。
【００４６】
第２燃料噴射量制御装置は、以上の処理を各気筒の吸気行程毎に繰り返し実行し、各気筒毎の前回の吸気行程における燃料の過不足分を次回以降の各気等の燃料噴射量に反映し補償するので、空燃比を安定した値に維持することができる。
【００４７】
なお、上記第１、及び第２燃料噴射量制御装置の何れにおいても、上記第８の所定時点は、実際には、燃料噴射に要する時間と、噴射された燃料が気筒内に吸入されるのに要する時間と、の和の時間だけ、吸気弁閉弁時よりも前の時点である必要がある。但し、筒内噴射式の内燃機関の場合、或いは、燃料噴射手段としてのインジェクタの流量が極めて大きい場合等においては、第８の所定時点は吸気弁閉弁時より前の所定時点であればよい。また、第８の所定時間は、燃料噴射開始後であってもよい。
【００４８】
【発明の実施の形態】
以下、本発明による内燃機関の制御装置の各実施形態について図面を参照しつつ説明する。図１は、本発明の第１実施形態に係る燃料噴射量制御装置（第１燃料噴射量制御装置）を火花点火式多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。
【００４９】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０とを含んでいる。
【００５０】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３、及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００５１】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８、及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００５２】
吸気系統４０は、吸気ポート３１に連通し同吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットル弁４３、スロットル弁駆動手段を構成するスロットル弁アクチュエータ４３ａ、スワールコントロールバルブ（以下、「ＳＣＶ」と称呼する。）４４、及びＳＣＶアクチュエータ４４ａを備えている。
【００５３】
ＤＣモータからなるスロットル弁アクチュエータ４３ａは、後述する電子制御装置７０が達成する電子制御スロットル弁ロジックにより目標スロットル弁開度TAtが与えられると、実際のスロットル弁開度TAが目標スロットル弁開度TAtとなるようにスロットル弁４３を駆動するようになっている。
【００５４】
ＤＣモータからなるＳＣＶアクチュエータ４４ａは、電気制御装置７０から駆動信号を受け、前記スロットル弁４３よりも下流で前記インジェクタ３９よりも上流の位置にて前記吸気管４１に対し回動可能に支持され、燃焼室に吸入される空気にスワールを発生させるためのＳＣＶ４４を回転駆動するようになっている。
【００５５】
排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１に接続されたエキゾーストパイプ５２、及びエキゾーストパイプ５２に介装された触媒コンバータ（三元触媒装置）５３を備えている。
【００５６】
一方、このシステムは、熱線式エアフローメータ６１、吸気温センサ６２、大気圧センサ（スロットル弁上流圧力センサ）６３、スロットルポジションセンサ６４、SCV開度センサ６５、カムポジションセンサ６６、クランクポジションセンサ６７、水温センサ６８、空燃比センサ６９、及びアクセル操作量検出手段（の一部）を構成するアクセル開度センサ８１を備えている。
【００５７】
エアフローメータ６１は、概略斜視図である図２に示したように、吸気管４１内を流れる吸入空気の一部をバイパスさせるバイパス通路と、このバイパス通路にバイパスされた吸入空気の質量流量を計測する熱線計量部６１ａと、計測された質量流量に応じた電圧Vgを出力する信号処理部６１ｂとからなっている。熱線計量部６１ａは、その拡大斜視図である図３に示したように、白金熱線からなる吸気温計測用抵抗（ボビン部）６１ａ１と、同吸気温計測用抵抗６１ａ１を前記信号処理部６１ｂに連結して保持するサポート部６１ａ２と、加熱用抵抗（ヒータ）６１ａ３と、同加熱用抵抗６１ａ３を前記信号処理部６１ｂに連結して保持するサポート部６１ａ４とを備えている。信号処理部６１ｂは、吸気温計測用抵抗６１ａ１と加熱用抵抗６１ａ３とで構成されたブリッジ回路を備え、このブリッジ回路により吸気温計測用抵抗６１ａ１と加熱用抵抗６１ａ３との温度差を常に一定に維持するように同加熱用抵抗６１ａ３に供給する電力を調整するとともに、この供給する電力を前記電圧Vgに変換して出力するようになっている。かかるエアフローメータ６１の出力Vgと、計測された吸入空気流量mtAFMとの関係は、例えば図４に示したとおりであり、電気制御装置７０は同図４の関係を利用することにより、計測された吸入空気流量mtAFMの値を取得するようになっている。
【００５８】
吸気温センサ６２は、エアフローメータ６１内に備えられていて、吸入空気の温度（吸気温度）を検出し、吸気温度THAを表す信号を出力するようになっている。大気圧センサ６３は、スロットル弁４３の上流の圧力（即ち、大気圧）を検出し、スロットル弁上流圧力Paを表す信号を出力するようになっている。スロットルポジションセンサ６４は、スロットル弁４３の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。SCV開度センサ６５は、ＳＣＶ４４の開度を検出し、ＳＣＶ開度θivを表す信号を出力するようになっている。カムポジションセンサ６６は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。クランクポジションセンサ６７は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NEを表す。水温センサ６８は、内燃機関１０の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。空燃比センサ６９は、触媒コンバータ５３に流入する排ガス中の酸素濃度を検出することで空燃比を表す信号を出力するようになっている。アクセル開度センサ８１は、運転者によって操作されるアクセルペダル８２の操作量を検出し、同アクセルペダルの操作量Accpを表す信号を出力するようになっている。
【００５９】
電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するプログラム、テーブル（ルックアップテーブル、マップ）、定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、及びＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。インターフェース７５は、前記センサ６１〜６９，８１と接続され、ＣＰＵ７１にセンサ６１〜６９，８１からの信号を供給するとともに、同ＣＰＵ７１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９、スロットル弁アクチュエータ４３ａ、及びＳＣＶアクチュエータ４４ａに駆動信号を送出するようになっている。
【００６０】
次に、上記のように構成された制御装置による物理モデルを用いた燃料噴射量の決定方法について説明する。以下に述べる処理は、ＣＰＵ７１がプログラムを実行することにより行われる。
【００６１】
（燃料噴射量fiの決定方法の概要）
このような燃料噴射量制御装置は、吸気行程にある気筒、又は吸気行程の直前の状態にある気筒（即ち、燃料噴射気筒）の吸気弁３２が、その吸気行程において開弁した状態から閉弁する状態に移行する時点（吸気弁閉弁時）より前の時点にて、同気筒に対して所定量の燃料を噴射する必要がある。そのため、本燃料噴射量制御装置は、吸気弁３２が閉弁状態に移行する時点において同気筒内に吸入されているであろう吸入空気量を前もって予測し、同予測した吸入空気量に応じた燃料量の燃料を同吸気弁３２の閉弁時より前の時点で同気筒に対して噴射する。本例においては、噴射終了時期を、燃料噴射気筒の吸気上死点前７５°クランクアングル（以下、「BTDC７５°CA」と表す。他のクランクアングルについても同様に表す。）と定めている。従って、本制御装置は、噴射に要する時間（インジェクタの開弁時間）、ＣＰＵの計算時間を考慮して、BTDC７５°CAの時点よりも前の時点にて、燃料噴射気筒の吸入空気量を予測する。
【００６２】
一方、吸気弁閉弁時の吸気管圧力（即ち、吸気管内空気圧力）は、吸入空気量と密接な関係にある。また、吸気弁閉弁時の吸気管圧力は、吸気弁閉弁時のスロットル弁開度に依存する。そこで、本制御装置は、吸気弁閉弁時のスロットル弁開度を予測・推定し、そのスロットル弁開度に基づいて燃料噴射気筒の吸入空気量KLfwdを事前に予測し、下記数１に示したように、予測した吸入空気量KLfwdをエンジンの運転状態に応じて別途定められる目標空燃比AbyFrefで除することで仮の燃料噴射量（補正前燃料噴射量）fibを決定するとともに、燃料フィードバック補正量Ffbを別途求め、補正前燃料噴射量Fibを燃料フィードバック補正量Ffbにより補正して正規の燃料噴射量fiを求める。燃料フィードバック補正量Ffbは、後に詳述するように、前回の吸気行程において実際に必要とされた燃料量（実必要燃料量）と同前回の吸気行程において実際に吸入された燃料量（実吸入燃料量）との差に基く値である。以上が、正規燃料噴射量（最終的に噴射される燃料の量）fiを求める方法の概要である。
【００６３】
【数１】
fi ＝ KLfwd／AbyFref ＋ Ffb＝ Fib ＋ Ffb
【００６４】
（具体的構成・作用）
以下、上記数１に示した燃料噴射量fiを求めるための燃料噴射量制御装置の具体的構成、及び作用について説明する。この燃料噴射量制御装置は、機能ブロック図である図５に示したように、電子制御スロットル弁ロジックＡ１、現時点より前の時点（過去〜現在）における実際のスロットル弁開度と実際のアクセル操作量等の内燃機関の運転状態量を取得する運転状態量取得手段Ａ２、現時点より先の時点におけるスロットル弁開度等の内燃機関の運転状態量を予測する運転状態量予測手段Ｍ１、内燃機関の吸気系における空気の挙動をモデル化した空気モデルを含む実吸入空気量算出手段としての第１吸入空気モデルＡ３、同空気モデルを含む予測吸入空気量算出手段としての第２吸入空気モデルＡ４、目標空燃比設定手段Ａ５、及び図６に詳細な機能ブロック図を示した噴射量決定手段Ａ６を含んでいる。以下、個別具体的に、各手段、及びモデル等について説明する。
【００６５】
（電子制御スロットル弁ロジックと電子制御スロットル弁モデル）
先ず、スロットル弁開度を制御するための電子制御スロットル弁ロジックＡ１と、将来における（現時点よりも先の時点における）スロットル弁開度TAestを予測する電子制御スロットル弁モデルＭ１について説明する。
【００６６】
電子制御スロットル弁ロジックＡ１は、先ず、演算周期ΔTt（例えば、８msec）の経過毎にアクセル開度センサ８１の出力値に基づいてアクセル操作量Accpを読込み、読み込んだアクセル操作量Accpと図７のアクセル操作量Accpと目標スロットル弁開度TAaccとの関係を規定したテーブルとに基づいて今回の暫定目標スロットル弁開度TAaccを求め、この暫定目標スロットル弁開度TAaccを図８のタイムチャートに示したように、所定の遅延時間TDだけ遅延し、この遅延した暫定目標スロットル弁開度TAaccを目標スロットル弁開度TAtとして設定してスロットル弁アクチュエータ４３ａに出力する。なお、遅延時間TDは、本例においては一定の時間であるが、内燃機関が所定のクランク角度（例えば、クランク角２７０°CA）だけ回転するのに要する時間T270とする等、エンジン回転速度NEに応じた可変の時間とすることもできる。
【００６７】
ところで、電子制御スロットル弁ロジックＡ１から目標スロットル弁開度TAtがスロットル弁アクチュエータ４３ａに出力された場合であっても、同スロットル弁アクチュエータ４３ａの遅れや、スロットル弁４３の慣性などにより、実際のスロットル弁開度TAは、ある遅れをもって目標スロットル弁開度TAtに追従する。そこで、電子制御スロットル弁モデルＭ１においては、下記数２に基づいて遅延時間TD後におけるスロットル弁開度を予測・推定する（図８を参照）。
【００６８】
【数２】
TAest(k+1)＝TAest(k)＋ΔTt・ｆ（TAt(k)，TAest(k))
【００６９】
数２において、TAest(k+1)は今回の演算タイミングにおいて新たに予測・推定される予測スロットル弁開度TAestであり、TAt(k)は今回の演算タイミングにて新たに得られた目標スロットル弁開度TAtであり、TAest(k)は今回の演算タイミングにおいて既に予測・推定されていた最新の予測スロットル弁開度TAest（即ち、前回の演算タイミングにおいて予測・推定されたスロットル弁開度TAest）である。また、関数ｆ（TAt(k)，TAest(k))は、図９に示したように、TAt(k)とTAest(k)との差ΔTA（＝TAt(k)−TAest(k))が大きい程大きい値をとる関数（ΔTAに関して単調増加する関数ｆ）である。
【００７０】
このように、電子制御スロットル弁モデルＭ１（ＣＰＵ７１）は、今回の演算タイミングにて遅延時間TD後の目標スロットル弁開度TAtを新たに決定するとともに、遅延時間TD後のスロットル弁開度TAestを新たに予測・推定し、現時点から遅延時間TD経過後までの目標スロットル弁開度TAtと予測スロットル弁開度TAestを、現時点からの時間経過に対応させた形でＲＡＭ７３に記憶・格納する。
【００７１】
＜第１吸入空気モデル（実吸入空気量算出手段）Ａ３＞
第１吸入空気モデルＡ３は、内燃機関の吸気系における空気の挙動をモデル化した空気モデルを構成するスロットルモデルＭ２、吸気弁モデルＭ３、吸気管モデルＭ４、及び吸気弁モデルＭ５を備えていて、特定気筒の前回の吸気行程での吸気弁閉弁時より後の時点であって同気筒の今回の吸気行程に対する吸気弁閉弁時より前の時点にて同気筒の前回の吸気行程での吸気弁閉弁時の実際の吸入空気量である実吸入空気量KLactを、前記運転状態量取得手段Ａ２により取得された実際の運転状態量である実際のスロットル弁開度（実スロットル弁開度TAact）に基いて求める。上記スロットルモデルＭ２、吸気弁モデルＭ３、吸気管モデルＭ４、及び吸気弁モデルＭ５の内容については、後に詳述する。
【００７２】
なお、本例では、スロットルモデルＭ２、吸気弁モデルＭ３、吸気管モデルＭ４、及び吸気弁モデルＭ５により実際の吸入空気量KLactを求めるが、これとは別に、燃料噴射気筒の前回の吸気行程における吸気弁閉弁時の実スロットル弁開度TAact、同燃料噴射気筒の前回の吸気行程における吸気弁閉弁時の実エンジン回転速度NE、及びテーブル（スロットル弁開度TAacc、エンジン回転速度NE、及び実吸入空気量KLactの関係を予め規定したテーブル）又は計算式を用いて実際の吸入空気量KLactを求めるものであってもよい。
【００７３】
＜第２吸入空気モデルＡ４＞
第２吸入空気モデルＡ４は、第１吸入空気モデルＡ３が含んでいる空気モデルと同様の空気モデルを構成するスロットルモデルＭ20、吸気弁モデルＭ30、吸気管モデルＭ40、及び吸気弁モデルＭ50を備えていて、少なくとも電子制御スロットル弁モデルＭ１により予測・推定された予測スロットル弁開度TAestに基いて同燃料噴射気筒の今回の吸気行程における吸気弁閉弁時の吸入空気量（予測吸入空気量）KLfwdを予測・推定する。上記スロットルモデルＭ20、吸気弁モデルＭ30、吸気管モデルＭ40、及び吸気弁モデルＭ50については、後に詳述する。
【００７４】
なお、第２吸入空気モデルＡ４は、燃料噴射気筒の今回の吸気行程における吸気弁閉弁時の予測スロットル弁開度TAest、同燃料噴射気筒の今回の吸気行程における吸気弁閉弁時の実エンジン回転速度NE、及びテーブル（スロットル弁開度TA、エンジン回転速度NE、及び吸入空気量との関係を規定したテーブル）を用いて、今回の吸気行程における吸気弁閉弁時の予測吸入空気量KLfwdを求める（予測する）ように構成されていてもよい。
【００７５】
＜目標空燃比設定手段Ａ５＞
目標空燃比設定手段は、内燃機関の運転状態であるエンジン回転速度NE、及び目標スロットル弁開度TAt等に基づいて目標空燃比AbyFrefを決定する手段である。この目標空燃比AbyFrefは、例えば、内燃機関の暖機終了後においては、特殊な場合を除き理論空燃比に設定されてよい。
【００７６】
＜噴射量決定手段Ａ６＞
図５に示した噴射量決定手段Ａ６は、第１吸入空気モデルＡ３により算出された特定気筒の前回の吸気行程における吸気弁閉弁時の実吸入空気量KLact、第２吸入空気モデルＡ４により算出された同特定気筒の今回の吸気行程における吸気弁閉弁時の予測吸入空気量KLfwd、及び目標空燃比設定手段Ａ５により決定された目標空燃比AbyFref等に基いて、同特定気筒の今回の吸気行程に対する正規燃料噴射量fi(k)を決定する手段である。この噴射量決定手段Ａ６は、図６の破線で囲まれた範囲内に詳細を示したように、予測必要燃料量算出手段Ａ51と、補正前燃料噴射量算出手段（燃料挙動逆モデル）Ａ52と、実必要燃料量算出手段Ａ53と、実吸入燃料量算出手段（燃料挙動順モデル）Ａ54と、燃料フィードバック補正量算出手段Ａ55と、燃料噴射量算出手段（正規燃料噴射量算出手段）Ａ56とを備えている。以下、燃料噴射量決定手段Ａ６が備える手段、及びモデルについて、個別に説明を加える。
【００７７】
（予測必要燃料量算出手段Ａ51）
予測必要燃料量算出手段Ａ51は、第２吸入空気モデルＡ４により求められた前記特定気筒の今回の吸気行程における吸気弁閉弁時の予測吸入空気量KLfwdを、目標空燃比設定手段Ａ５により求められた目標空燃比AbyFrefで除する（KLfwd／AbyFref）ことにより、予測必要燃料量Fcfwdを求める手段である。即ち、この予測必要燃料量Fcfwdは、前記特定気筒の今回の吸気行程において吸入される混合気の空燃比を目標空燃比AbyFrefとするために、同特定気筒に吸入されるべき燃料の量である。
【００７８】
（補正前燃料噴射量算出手段（燃料挙動逆モデル）Ａ52）
補正前燃料噴射量算出手段Ａ52は、燃料挙動の逆モデルを用い、噴射した燃料のうち吸気ポートや吸気弁の吸気系に付着することなく筒内に吸入される燃料の量、及び吸気系に付着していた燃料のうち筒内に吸入される燃料の量を考慮して、前記予測必要燃料量Fcfwdの燃料量を燃料噴射気筒に供給するために必要とされる補正前燃料噴射量Fib(k)を算出する手段である。
【００７９】
ここで、前記燃料挙動モデルの逆モデルについて説明すると、特定気筒の前回の吸気行程後であって今回の吸気行程直前において、同気筒の吸気ポートに付着していると予測される予測ポート燃料付着量をfwpi(k)、同気筒の吸気弁に付着していると予測される予測バルブ燃料付着量をfwvi(k)、吸気ポートへの燃料付着率をRpi、吸気弁への燃料付着率をRvi、吸気ポートへの燃料残留率をPpi、吸気弁への燃料残留率をPviとするとき、同気筒の今回の吸気行程に対して補正前燃料噴射量Fib(k)の燃料を噴射したとき、同気筒に吸入される燃料量Finは、下記数３で表される。
【００８０】
【数３】
Fin=(1-Rpi-Rvi)・Fib(k)+(1-Ppi)・fwpi(k)+(1-Pvi)・fwvi(k)
【００８１】
従って、特定気筒の今回の吸気行程において予測必要燃料量Fcfwdが同特定気筒に吸入されるためには、上記燃料量Finを予測必要燃料量Fcfwdと等しいと置いて、補正前燃料噴射量Fib(k)を求めればよく、計算結果は下記数４の通りとなる。この数４が、燃料挙動の逆モデルを数式化したものである。
【００８２】
【数４】
Fib(k)=（Fcfwd-(1-Ppi)・fwpi(k)-(1-Pvi)・fwvi(k)）／(1-Rpi-Rvi)
【００８３】
補正前燃料噴射量算出手段Ａ52は、予測吸入空気量KLfwdの算出に用いた吸気弁閉弁時の予測吸入空気量KLfwd（又は、同吸気弁閉時の予測スロットル弁開度TAest）、吸気弁閉時の予測されるエンジン回転速度NE（但し、短時間内に変化する量が少ないとして予測吸入空気量KLfwd算出時のエンジン回転速度NEを用いても良い。）、及び吸気弁閉時の予測される吸気弁開閉タイミングVT（但し、短時間内に変化する量が少ないとして予測吸入空気量KLfwd算出時の吸気弁開閉タイミングVTを用いても良い。）等に基いて吸気ポートへの燃料付着率Rpi、吸気弁への燃料付着率Rvi、吸気ポートへの燃料残留率Ppi、及び吸気弁への燃料残留率Pviを求め、これらと上記数４とを用いて補正前燃料噴射量Fib(k)を求める。
【００８４】
また、補正前燃料噴射量算出手段Ａ52は、次回のこの特定気筒の吸気行程に対する補正前燃料噴射量Fib(k+1)の演算に備えて、同気筒の今回の吸気行程後であって次回の吸気行程前において同気筒の吸気ポートに付着していると予測される予測ポート燃料付着量をfwpi(k+1)、及び同気筒の今回の吸気行程後であって次回の吸気行程前において同気筒の吸気弁に付着していると予測される予測バルブ燃料付着量をfwvi(k+1)を、下記数５、及び下記数６に基いて求めておく。
【００８５】
【数５】
fwpi(k+1) = Ppi・fwpi(k)+Rpi・Fib(k)
【００８６】
【数６】
fwvi(k+1) = Pvi・fwvi(k)+Rvi・Fib(k)
【００８７】
（実必要燃料量算出手段Ａ53）
実必要燃料量算出手段Ａ53は、第１吸入空気モデルＡ３により求められた前記特定気筒の前回の吸気行程における吸気弁閉弁時の実吸入空気量KLactを、目標空燃比設定手段Ａ５により設定されていた目標空燃比AbyFrefで除する（KLact／AbyFref）ことにより、同特定気筒の前回の吸気行程において空燃比を目標空燃比AbyFrefとするために必要であった燃料量である実必要燃料量Fcactを求める手段である。
【００８８】
（実吸入燃料量算出手段（燃料挙動順モデル）Ａ54）
実吸入燃料量算出手段Ａ54は、燃料挙動の順モデルを用い、特定気筒の前回の吸気行程に対して実際に噴射した燃料、即ち前回の正規の燃料噴射量fi(k-1)の燃料のうち、吸気系に付着することなく同気筒に吸入された燃料の量、及び吸気系に付着していた燃料のうち同気筒の筒内に吸入された燃料の量を考慮して、同気筒の前回の吸気行程において同気筒の筒内に実際に吸入された燃料量である実吸入燃料量Fcestを求める手段である。
【００８９】
ここで、燃料挙動順モデルについて説明すると、特定気筒の前々回の吸気行程後であって前回の吸気行程直前において、同気筒の吸気ポートに付着していたポート燃料付着量をfwp(k-1)、同気筒の吸気弁に付着していたバルブ燃料付着量をfwv(k-1)、吸気ポートへの燃料付着率をRp、吸気弁への燃料付着率をRv、吸気ポートへの燃料残留率をPp、吸気弁への燃料残留率をPvとするとき、同気筒の前回の吸気行程後であって今回の吸気行程直前において、同気筒の吸気ポートに実際に付着していたポート燃料付着量fwp(k)、及び同気筒の吸気弁に実際に付着していたバルブ燃料付着量fwv(k)は、下記数７、及び下記数８により求められる。
【００９０】
【数７】
fwp(k) = Pp・fwp(k-1)+Rp・fi(k-1)
【００９１】
【数８】
fwv(k) = Pv・fwv(k-1)+Rv・fi(k-1)
【００９２】
従って、特定気筒の前回の吸気行程において、同気筒に実際に吸入された実吸入燃料量Fcestは、下記数９により求められる。上記数７〜数９が、燃料挙動の順モデルを表した数式である。
【００９３】
【数９】
Fcest = fi(k-1) −（fwp(k)-fwp(k-1)）−（fwv(k)-fwv(k-1)）
【００９４】
なお、実吸入燃料量算出手段Ａ54は、吸気ポートへの燃料付着率Rp、吸気弁への燃料付着率Rv、吸気ポートへの燃料残留率Pp、及び吸気弁への燃料残留率Pvを、前回の吸気行程での吸気弁閉弁時における実際の吸入空気量KLact（又は、同吸気弁閉時における実際のスロットル弁開度）、同吸気弁閉弁時の実際のエンジン回転速度NE（但し、実吸入空気量KLact算出時のエンジン回転速度NEでも良い。）、及び同吸気弁閉時の実際の吸気弁開閉タイミングVT（但し、実吸入空気量KLact算出時の吸気弁開閉タイミングVTを用いても良い。）等に基いて決定し、この決定した付着率、及び残留率と、上記数７〜上記数９とに基いて、実吸入燃料量Fcestを気筒毎に算出する。
【００９５】
（燃料フィードバック補正量算出手段Ａ55）
燃料フィードバック補正量算出手段Ａ55は、特定気筒の前回の吸気行程における燃料の過不足分を表す「実必要燃料量Fcactと実吸入燃料量Fcestの差」、即ち、吸入燃料量誤差Fcerr(k)に基いて、燃料フィードバック補正量Ffb(k)を求める手段である。燃料フィードバック補正量算出手段Ａ55は、本例においては、ＰＩ（比例・積分）コントローラであり、吸入燃料量誤差Fcerr(k)を下記数１０により求めるとともに、燃料フィードバック補正量Ffb(k)を下記数１１、及び下記数１２により求める。下記数１１、及び下記数１２におけるSumFcerrは吸入燃料量誤差Fcerrの積分値である。係数Kp、及び係数Kiは、それぞれ比例定数、及び積分定数である。
【００９６】
【数１０】
Fcerr(k)＝Fcact−Fcest
【００９７】
【数１１】
Ffb(k)＝Kp・Fcerr(k)＋Ki・SumFcerr(k-1)
【００９８】
【数１２】
SumFcerr(k)＝SumFcerr(k-1)＋Fcerr(k)
【００９９】
（燃料噴射量算出手段Ａ56）
燃料噴射量算出手段Ａ56は、上記のように求めた補正前燃料噴射量Fib(k)を燃料フィードバック補正量Ffb(k)により補正して、特定気筒の今回の正規燃料噴射量fi(k)を求める手段である。具体的には、上記数１と同じ下記数１３に示したように、補正前燃料噴射量Fib(k)に燃料フィードバック補正量Ffb(k)加えた値を正規燃料噴射量fi(k)として求める。
【０１００】
【数１３】
fi(k)＝Fib(k)+Ffb(k)
【０１０１】
ここで、上記噴射量決定手段Ａ６の各手段の計算タイミングについて、特定気筒の各行程と計算タイミングとを図示した図１０を参照しながら説明する。先ず、今回の吸気行程の吸気行程Ａに対する燃料噴射Ａの噴射量fi(k)を決定する場合について考えると、前回の吸気行程Ｂに対する吸気弁閉弁時Ｂよりも後の時点であって今回の吸気行程Ａに対する吸気弁閉弁時Ａよりも前の時点（第３所定時点）にて、第１吸入空気モデルＡ３により実吸入空気量KLactが算出される。今回の吸気行程Ａに対して燃料噴射Ａにより燃料を供給する場合、第３所定時点は同燃料噴射Ａの開始より前の時点であることが好ましい。
【０１０２】
次いで、前記第３所定時点より後の時点であって前記気筒の今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の所定時点である第４所定時点にて、実必要燃料量算出手段Ａ53により算出された実吸入空気量KLactに基づいて同気筒の前回の吸気行程Ｂにおいて同気筒に実際に必要とされていた燃料量である実必要燃料量Fcactが算出される。
【０１０３】
そして、今回の吸気行程Ａに対する吸気弁閉弁時Ａより前であって前回の吸気行程Ｂに対する正規の燃料噴射量が確定した時点（例えば、前回の正規燃料噴射量fi(k-1)算出時点）よりも後の第５所定時点にて、同気筒の前回の吸気行程において同気筒が実際に吸入した燃料量である実吸入燃料量Fcestが同気筒の前回の吸気行程Ｂに対し実際に噴射された燃料噴射量（正規燃料噴射量）fi(k-1)に基づいて算出される。
【０１０４】
この第４所定時点、及び第５所定時点より後の時点であって今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の第６所定時点にて、燃料フィードバック補正量算出手段Ａ55により、前記算出された実必要燃料量Fcactと前記算出された実吸入燃料量Fcestとに基づいて燃料フィードバック補正量Ffb(k)が算出される。
【０１０５】
一方、特定気筒の今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の第１所定時点にて、予測吸入空気量算出手段Ａ４により、同気筒の今回の吸気行程Ａでの吸気弁閉弁時Ａの吸入空気量である予測吸入空気量KLfwdが算出される。第１所定時点は、今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の時点であれば、理論上、いつでもよいが、予測吸入空気量KLfwdの予測精度を高めるためには、できるだけ今回の吸気弁閉弁時Ａに近い時点が好ましい。実際には、第１所定時点は、今回の噴射Ａの開始時点の直前が好適である。
【０１０６】
また、第１所定時点より後の時点であって前記気筒の今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の第２所定時点にて、補正前燃料噴射量算出手段Ａ52により、前記予測吸入空気量KLfwdに基づいて同気筒の今回の吸気行程Ａに対し噴射すべき仮の噴射量である補正前燃料噴射量Fib(k)が算出される。なお、第１所定時点、及び第２所定時点は、第３〜第５所定時点より前の時点であってもよい。
【０１０７】
そして、前記第２所定時点、及び前記第６所定時点より後の時点であって前記気筒の今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の第７所定時点にて、燃料噴射量算出手段Ａ56により、前記算出された補正前燃料噴射量Fib(k)が前記算出された燃料フィードバック補正量Ffb(k)により補正され、同気筒の今回の吸気行程Ａに対し噴射するべき正規の燃料噴射量fi(k)が算出され、同第７所定時点より後の時点であって今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の時点である第８所定時点にて同正規の燃料噴射量fi(k)だけ燃料を噴射するように指示がなされ、これにより燃料噴射Ａが実行される。以上の動作が、一つの気筒の任意の吸気行程と、同一つの気筒の同任意の吸気行程に続く次の吸気行程との間に行われる。
【０１０８】
次に、上述した第１吸入空気モデルＡ３、及び第２吸入空気モデルＡ４について詳細に説明する。図５に示したように、第１吸入空気モデルＡ３はモデルＭ２〜Ｍ５を備えている。第２吸入空気モデルＡ４は、モデルＭ２〜Ｍ５にそれぞれ対応する同一のモデルＭ20〜Ｍ50を含んでいて、第１吸入空気モデルＡ３とは使用する（入力する）パラメータのみが異なる。従って、以下、第１吸入空気モデルＡ３を主として説明し、第２吸入空気モデルＡ４については第１吸入空気モデルＡ３との相違点についてのみ説明する。
【０１０９】
（スロットルモデルＭ２）
スロットルモデルＭ２は、スロットル弁４３を通過した空気流量（スロットル通過空気流量）mtを、エネルギー保存則、運動量保存則、質量保存則、及び状態方程式等の物理法則に基づいて得られた下記数１４に基づいて推定するモデルである。下記数１４において、Ct（θt）はスロットル弁開度θt（＝TA）に応じて変化する流量係数、At（θt）はスロットル弁開度θt（＝TA)に応じて変化するスロットル開口面積（吸気管４１の開口面積）、Paはスロットル弁上流圧力（即ち、大気圧）、Pmは吸気管圧力（吸気管内空気圧力）、Taは吸気温度（大気温度）、Tmは吸気管内空気温度、Rは気体定数、及びκは比熱比（以下、κを一定値として扱う。）である。
【０１１０】
【数１４】
0003985516.tif 000002
【０１１１】
ここで、上記スロットルモデルＭ２を記述した上記数１４の導出過程について説明する。いま、スロットル弁４３の上流の開口断面積をAu、空気密度をρu、空気の流速をvuとし、スロットル弁４３による吸気管４１の開口断面積をAd、そこでの空気密度をρd、スロットル弁４３を通過する空気の流速をvdとすると、スロットル通過空気流量mtは、下記数１５で表される。数１５は質量保存則を記述した式と言える。
【０１１２】
【数１５】
mt＝Ad・ρd・vd＝Au・ρu・vu
【０１１３】
一方、運動エネルギーは、空気の質量をmとすると、スロットル弁４３の上流でm・vu2／２であり、スロットル弁４３を通過する場所でm・vd2／２である。他方、熱エネルギーは、スロットル弁４３の上流でm・Cp・Tuであり、スロットル弁４３を通過する場所でm・Cp・Tdである。従って、エネルギー保存則により、下記数１６が得られる。なお、Tuはスロットルバルブ上流の空気温度、Tdはスロットルバルブ下流の空気温度、Cpは定圧比熱である。
【０１１４】
【数１６】
m・vu2／２＋m・Cp・Tu＝m・vd2／２＋m・Cp・Td
【０１１５】
ところで、状態方程式は下記数１７、比熱比κは下記数１８、マイヤーの関係は下記数１９で示されるから、数１７〜数１９よりCp・Tは下記数２０のように表される。なお、Pは気体の圧力、ρは気体の密度、Tは気体の温度、Rは気体定数、Cvは定容比熱である。
【０１１６】
【数１７】
P＝ρ・R・T
【０１１７】
【数１８】
κ＝Cp／Cv
【０１１８】
【数１９】
Cp＝Cv＋R
【０１１９】
【数２０】
Cp・T＝｛κ/(κ-1)｝・(P／ρ)
【０１２０】
上記数２０の関係を用いて上記エネルギー保存則に基づく数１６を書換えると、下記数２１が得られる。ここで、Puはスロットル弁４３上流の空気圧力、Pdはスロットル弁４３の下流の空気圧力（即ち、吸気管圧力Pm）である。
【０１２１】
【数２１】
vu2／２＋｛κ/(κ-1)｝・(Pu／ρu)＝vd2／２＋｛κ/(κ-1)｝・(Pd／ρd)
【０１２２】
そして、スロットル弁４３の無限上流を考えると、Au＝∞、vu＝０であるから、エネルギー保存則に基づく上記数２１は下記数２２に書き換えられる。
【０１２３】
【数２２】
｛κ/(κ-1)｝・(Pu／ρu)＝vd2／２＋｛κ/(κ-1)｝・(Pd／ρd)
【０１２４】
次に、運動量について記述する。断面積Auの部分に加わる圧力をPu、断面積Adの部分に加わる圧力をPd、断面積Auの部分と断面積Adの部分との間をつなぐ固定された空間の平均圧力をPmeanとすると、下記数２３が得られる。
【０１２５】
【数２３】
ρd・vd2・Ad−ρu・vu2・Au＝Pu・Au−Pd・Ad＋Pmean・（Ad−Au）
【０１２６】
上記数２３で、Au＝∞、vu＝０を考慮すると、下記数２４が得られるので、同数２４と上記数２３とから下記数２５の運動量に関する関係（運動量保存則に基づく関係）が得られる。
【０１２７】
【数２４】
Pmean＝Pｕ
【０１２８】
【数２５】
ρd・vd2＝Pu−Pd
【０１２９】
従って、上記数１５、上記数２２、及び数２５から、下記数２６が得られる。
【０１３０】
【数２６】
0003985516.tif 000003
【０１３１】
上記数２６において、Puはスロットル弁上流圧力Paであり、Pdは吸気管圧力Pmである。また、状態方程式からρu＝M／Vu＝Pu／（R・Tu）を上記数２６に代入するとともに、開口断面積Adを開口面積A(θt)と置きなおし、更に流量係数をCt(θt)を加えて上記数２６を整理すると、上記数１４が得られる。
【０１３２】
次に、スロットルモデルＭ２におけるスロットル通過空気流量mtの求め方を述べると、上記数１４は下記数２７及び下記数２８により表され、k1をCt(θt)・At(θt)・｛Pa/(R・Ta)1/2｝とおき、mtsを吸気弁閉弁時のスロットル通過空気流量とするとき下記数２７は下記数２９に書き換えられる。
【０１３３】
【数２７】
mt＝Ct(θt)・At(θt)・｛Pa/(R・Ta)1/2｝・Φ（Pm/Pa)
【０１３４】
【数２８】
0003985516.tif 000004
【０１３５】
【数２９】
mts＝k1・Φ（Pm/Pa)
【０１３６】
また、数２９において、内燃機関１０が定常状態にある場合（スロットル弁開一定のまま推移して吸気弁閉弁に至る場合）のスロットル通過空気流量をmtsTA、及びそのときの吸気管圧力をPmTAとすると、下記数３０が得られるので、数２９及び数３０から係数k1を消去して下記数３１を得ることができる。
【０１３７】
【数３０】
mtsTA＝k1・Φ（PmTA/Pa）
【０１３８】
【数３１】
mts＝｛mtsTA／Φ（PmTA/Pa）｝・Φ（Pm/Pa）
【０１３９】
上記数３１の右辺における値mtsTAは、スロットル弁開度TAが一定である定常運転状態での吸入空気流量（スロットル通過空気流量）に関する値であり、このような定常運転状態にあってはスロットル通過空気流量mtと筒内吸入空気流量mcとは等しくなる。そこで、スロットルモデルＭ２は、後述する吸気弁モデルＭ３で用いる経験則により得られた式（下記数３２）を用いて現時点から演算周期ΔTtだけ前の時点の筒内吸入空気流量mcを求め、これを値mtsTAとする。なお、この値mtsTA（＝筒内吸入空気流量mc）を求める際の各パラメータ（エンジン回転速度NE、及び吸気弁開閉タイミングVT）は、総べて現時点から演算周期ΔTt前での実際の値を用いる。
【０１４０】
また、スロットルモデルＭ２は、スロットル弁開度TA、エンジン回転速度NE、及び吸気弁の開閉タイミングVTと、吸気管圧力Pmとの関係を規定するテーブルMAPPMをＲＯＭ７２内に記憶していて、現時点から演算周期ΔTt前に検出された実際のスロットル弁開度（実スロットル弁開度）TAact(k-1)、現時点から演算周期ΔTt前の実際のエンジン回転速度NE、及び現時点から演算周期ΔTt前の実際の吸気弁の開閉タイミングVTと、前記テーブルMAPPMとに基づいて上記数３１の右辺における吸気管圧力PmTA（＝MAPPM(TAact(k-1),NE,VT)）を求める。
【０１４１】
更に、スロットルモデルＭ２は、値Pm/Paと値Φ(Pm/Pa)との関係を規定するテーブルMAPΦを記憶していて、前記吸気管圧力PmTAをスロットル弁上流圧力Paで除した値（PmTA/Pa）と、前記テーブルMAPΦとから、上記数３１の右辺における値Φ(PmTA/Pa)（＝MAPΦ(PmTA/Pa)）を求める。同様にして、スロットルモデルＭ２は、後述する吸気管モデルＭ４が既に求めている前回の吸気管圧力Pm(k-1)をスロットル弁上流圧力Paで除した値（Pm(k-1)/Pa）と、前記テーブルMAPΦとから、上記数３１の右辺における値Φ(Pm/Pa)（＝MAPΦ(Pm(k-1)/Pa)）を求める。以上により、上記数３１の右辺の各因数が求められるので、これらを掛け合わせることにより、スロットル通過空気流量mts(＝mt(k-1)）が求められる。
【０１４２】
（吸気弁モデルＭ３）
吸気弁モデルＭ３は、吸気管圧力Pm、吸気管内温度Tm、及び吸気温度THA等から筒内吸入空気流量mcを推定するモデルである。吸気弁閉弁時の気筒内圧力は吸気弁３２の上流の圧力、即ち吸気弁閉弁時の吸気管圧力Pmとみなすことができるので、筒内吸入空気流量mcは吸気弁閉弁時の吸気管圧力Pmに比例する。そこで、吸気弁モデルＭ３は筒内吸入空気流量mcを、経験則に基づく下記数３２にしたがって求める。
【０１４３】
【数３２】
mc＝（THA/Tm）・（c・Pm−d）
【０１４４】
数３２において、値cは比例係数、値dは筒内に残存していた既燃ガス量に対応する量である。吸気弁モデルＭ３は、エンジン回転速度NE、及び吸気弁の開閉タイミングVTと、比例係数c、及び既燃ガス量dとの関係をそれぞれ規定するテーブルMAPC、及びMAPDをＲＯＭ７２内に格納していて、現時点から演算周期ΔTt前の実際のエンジン回転速度NEと、現時点から演算周期ΔTt前の実際の吸気弁の開閉タイミングVTと、前記格納しているテーブルとから比例係数c（＝MAPC(NE,VT)）、及び既燃ガス量d（＝MAPD(NE,VT)）を求める。また、吸気弁モデルＭ３は、演算時点にて、後述する吸気管モデルＭ４により既に推定されている直前（最新）の吸気弁閉弁時の吸気管圧力Pm(＝Pm(k-1))と直前の吸気管内空気温度Tm(＝Tm(k-1))とを上記数３２に適用し、吸気弁閉弁時の筒内吸入空気流量mc（＝mc(k-1)）を推定する。
【０１４５】
（吸気管モデルＭ４）
吸気管モデルＭ４は、質量保存則とエネルギー保存則とにそれぞれ基づいた下記数３３及び下記数３４、スロットル通過空気流量mt、スロットル通過空気温度（即ち、吸入空気温度THA）Ta、及び吸気管から流出する空気流量mc（即ち、筒内吸入空気流量）から、吸気管圧力Pm、及び吸気管内空気温度Tmを求めるモデルである。なお、下記数３３、及び下記数３４において、Vmはスロットル弁４３から吸気弁３２までの吸気管４１（以下、単に「吸気管部」と称呼する。）の容積である。
【０１４６】
【数３３】
d(Pm/Tm）/dt＝(R/Vm)・(mt−mc)
【０１４７】
【数３４】
dPm/dt＝κ・(R/Vm)・(mt・Ta−mc・Tm)
【０１４８】
吸気管モデルＭ４は、上記数３３、及び上記数３４の右辺におけるスロットル通過空気流量mt（＝mt(k-1)）をスロットルモデルＭ２から取得し、筒内吸入空気流量mc（＝mc(k-1)）を吸気弁モデルＭ３から取得する。そして、数３３及び数３４に基づく計算を行って最新の吸気管圧力Pm(＝Pm(k))、及び吸気管内空気温度Tm(＝Tm(k))を推定する。
【０１４９】
ここで、上記吸気管モデルＭ４を記述した数３３及び数３４の導出過程について説明する。いま、吸気管部の総空気量をMとすると、総空気量Mの時間的変化は、吸気管部に流入する空気量に相当するスロットル通過空気流量mtと同吸気管部から流出する空気量に相当する筒内吸入空気流量mcの差であるから、質量保存則に基づく下記数３５が得られる。
【０１５０】
【数３５】
dM／dt＝mt−mc
【０１５１】
また、状態方程式は下記数３６となるから、上記数３５と下記数３６とから総空気量Mを消去することにより、質量保存則に基づく上記数３３が得られる。
【０１５２】
【数３６】
Pm・Vm＝M・R・Tm
【０１５３】
次に、吸気管部に関するエネルギー保存則について検討すると、この場合、吸気管部の容積Vmは変化せず、また、エネルギーの殆どが温度上昇に寄与する（運動エネルギーは無視し得る）と考えられる。従って、吸気管部の空気のエネルギーM・Cv・Tmの時間的変化量は、同吸気管部に流入する空気のエネルギーCp・mt・Taと同吸気管部から流出する空気のエネルギーCp・mc・Tmとの差に等しいので、下記数３７が得られる。
【０１５４】
【数３７】
d(M・Cv・Tm)／dt＝Cp・mt・Ta−Cp・mc・Tm
【０１５５】
この数３７を、上記数１８（κ＝Cp／Cv）と、上記数３６（Pm・Vm＝M・R・Tm）とを用いて変形することにより、上記数３４が得られる。
【０１５６】
（吸気弁モデルＭ５）
吸気弁モデルＭ５は、上記吸気弁モデルＭ３と同様のモデルを含んでいて、ここでは吸気管モデルＭ４が算出した最新の吸気管圧力Pm(＝Pm(k))、及び吸気管内空気温度Tm(＝Tm(k))と、現時点のエンジン回転速度NEと、現時点の吸気弁の開閉タイミングVTと、前記マップMAPCと、前記マップMAPDと、上記経験則に基づく数３２（mc＝（THA/Tm）・（c・Pm−d）とを用いて最新の筒内吸入空気流量mc（＝mc(k)）を求める。そして、吸気弁モデルＭ５は、求めた筒内吸入空気流量mcに、エンジン回転速度NEから算出された前回の吸気行程Ｂにおいて吸気弁３２が開弁してから閉弁するまでの時間）Tintを乗じることにより吸入空気量KLactを求める。なお、吸気弁モデルＭ５は、このような演算を各気筒毎に行うとともに、各気筒別に同各気筒の吸気弁閉弁時直後において求められた吸入空気量KLactを、同各気筒の実際の吸入空気量（実吸入空気量）KLact0として噴射量決定手段Ａ６に出力する。
【０１５７】
以上、説明したように、第１吸入空気モデルＡ３は、特定の気筒の前回の吸気行程Ｂでの吸気弁閉弁時Ｂより後の時点であって同気筒の今回の（次の）吸気行程Ａに対する吸気弁閉弁時Ａより前の第３所定時点（実際には、吸気行程Ｂに対する吸気弁閉弁直後の時点）にて同気筒の前回の吸気行程Ｂでの吸気弁閉弁時Ｂの実際の吸入空気量である実吸入空気量KLactを、運転状態量取得手段Ａ２であるスロットルポジションセンサ７６により取得された実際の運転状態量、即ち実スロットル弁開度TAactとモデルＭ２〜Ｍ５からなる内燃機関の吸気系における空気の挙動をモデル化した空気モデルとに基づいて算出する。
【０１５８】
＜第２吸入空気モデルＡ４＞
第２吸入空気モデル（第２空気モデル）Ａ４は、内燃機関の吸気系における空気の挙動をモデル化した第１吸入空気モデルの空気モデルと同様なモデルであって、スロットルモデルＭ20、吸気弁モデルＭ30、吸気管モデルＭ40、及び吸気弁モデルＭ50を備えている。この第２吸入空気モデルＡ４は、今回の吸気行程Ａの吸気弁閉弁時Ａの吸入空気量KLfwdを予測するため、第１吸入空気モデルＡ３が実スロットル弁開度TAactを入力するのに対し、上述した電子制御スロットル弁モデルＭ１により推定される予測スロットル弁開度TAestを入力する点で、同第１吸入空気モデルＡ３と異なる。
【０１５９】
（スロットルモデルＭ20）
スロットルモデルＭ20は、上記数３１に基き、将来の（所定時間、例えば遅延時間TDだけ後の）時点におけるスロットル通過空気流量mtを予測する。この場合においても、上記数３１の右辺のmtsTAは、筒内吸入空気流量mcと等しいと考えられるので、後述する吸気弁モデルＭ30で用いる上記数３２により同値mtsTAを求める。なお、値mtsTAを求める際の各パラメータ（エンジン回転速度NE、及び吸気弁開閉タイミング）は、便宜上、現時点での値とする。
【０１６０】
また、スロットルモデルＭ20は、燃料噴射開始時期直前（BTDC９０°CA）から吸気弁閉弁時までの時間をエンジン回転速度NEから求め、この時間と略一致する遅延時間後の予測スロットル弁開度TAestをＲＡＭ７２から読み出し、それを予測スロットル弁開度TAest(k-1)とする。そして、この予測スロットル弁開度TAest(k-1)、現時点から演算周期ΔTtだけ前の実際のエンジン回転速度NE、及び現時点から演算周期ΔTt前の実際の吸気弁の開閉タイミングVTと、前記テーブルMAPPMとに基づいて上記数３１の右辺における吸気管圧力PmTA（＝MAPPM(TAest(k-1),NE,VT)）を求める。
【０１６１】
更に、スロットルモデルＭ20は、前記吸気管圧力PmTAをスロットル弁上流圧力Paで除した値（PmTA/Pa）と、前記テーブルMAPΦとから、上記数３１の右辺における値Φ(PmTA/Pa)（＝MAPΦ(PmTA/Pa)）を求める。同様にして、スロットルモデルＭ20は、後述する吸気管モデルＭ40が既に求めている前回の吸気管圧力Pm(k-1)をスロットル弁上流圧力Paで除した値（Pm(k-1)/Pa）と、前記テーブルMAPΦとから、上記数３１の右辺における値Φ(Pm/Pa)（＝MAPΦ(Pm(k-1)/Pa)）を求める。以上により、上記数３１の右辺の各因数が求められるので、これらを掛け合わせることにより、予測スロットル通過空気流量mts(＝mt(k-1)）が求められる。
【０１６２】
（吸気弁モデルＭ30）
吸気弁モデルＭ30は、筒内吸入空気流量mcを上記経験則に基づく数３２にしたがって求める。具体的には、比例係数cを実際のエンジン回転速度NEと、実際の吸気弁の開閉タイミングVTと、MAPC(NE,VT)とから求め、既燃ガス量dを、実際のエンジン回転速度NEと、実際の吸気弁の開閉タイミングVTと、MAPD(NE,VT)とから求める。また、吸気弁モデルＭ30は、演算時点にて、後述する吸気管モデルＭ40により既に推定されている最新の吸気管圧力Pm(＝Pm(k-1))と最新の吸気管内空気温度Tm(＝Tm(k-1))とを上記数３２に適用し、筒内吸入空気流量mc（＝mc(k-1)）を推定する。
【０１６３】
（吸気管モデルＭ40）
吸気管モデルＭ40は、上記数３１及び上記数３２、スロットルモデルＭ20により求められたスロットル通過空気流量mt、実際のスロットル通過空気温度（即ち、吸入空気温度THA）Ta、及び吸気弁モデルＭ30により求められた吸気管から流出する空気流量mc（即ち、筒内吸入空気流量）から、吸気管圧力Pm、及び吸気管内空気温度Tmを求める。
【０１６４】
（吸気弁モデルＭ50）
吸気弁モデルＭ50は、入力するパラメータが異なる点を除き、上記吸気弁モデルＭ30と同様のモデルであり、吸気管モデルＭ40が算出した最新の吸気管圧力Pm(＝Pm(k))、及び吸気管内空気温度Tm(＝Tm(k))と、上記経験則に基づく数３２（mc＝(THA/Tm)・(c・Pm−d)）を用いて筒内吸入空気流量mc（＝mc(k)）を求める。そして、吸気弁モデルＭ50は、求めた筒内吸入空気流量mcに、エンジン回転速度NEから算出される吸気行程に要する時間（吸気弁３２が開弁してから閉弁するまでの時間）Tintを乗じることにより予測吸入空気量KLfwdを求める。吸気弁モデルＭ50は、このような演算を各気筒毎に所定時間の経過毎に行う。
【０１６５】
このように、第２空気モデルＡ４は、予測吸入空気量KLfwdを所定時間の経過毎に更新するが、燃料噴射開始時期直前（BTDC９０°CA）から吸気弁閉弁時までの時間と略一致する遅延時間後の予測スロットル弁開度TAestに基いて予測吸入空気量KLfwdを計算すること、及び同燃料噴射開始時期直前の時点での予測吸入空気量KLfwdに基いて補正前燃料噴射量Fibが計算されことから、同第２空気モデルＡ４は、ある気筒の吸気行程に対する吸気弁閉弁時の予測スロットル弁開度TAestに基いて、吸入空気量を実質的に予測する予測吸入空気量算出手段を構成していることになる。
【０１６６】
即ち、第２吸入空気モデルＡ４は、特定の気筒の今回の吸気行程Ａに対する吸気弁閉弁時Ａより前の第１所定時点（本例においては、同気筒の今回の吸気行程に対する燃料噴射開始（BTDC７５°CA)前の所定のタイミング、具体的にはBTDC９０°CA）にて同気筒の今回の吸気行程Ａでの吸気弁閉弁時Ａの吸入空気量である予測吸入空気量KLfwdを、運転状態量予測手段である電子制御スロットル弁モデルＭ１により予測された同第１所定時点より先の時点における運転状態量、即ち、今回の吸気行程Ａの吸気弁閉弁時Ａ近傍の時点の予測スロットル弁開度TAestとモデルＭ20〜Ｍ50とに基づいて算出するのである。以上、図５及び図６に示した各モデル、及び各手段により、正規燃料噴射量fiが計算される。
【０１６７】
次に、電気制御装置７０の実際の作動について、図１１〜図１８に示したフローチャートを参照しながら説明する。
【０１６８】
（目標スロットル弁開度、及び推定スロットル弁開度の計算）
ＣＰＵ７１は、図１１にフローチャートにより示したルーチンを演算周期ΔTt（ここでは、８msec）の経過毎に実行することにより、上記電子制御スロットル弁ロジックＡ１、及び電子制御スロットル弁モデルＭ１の機能を達成する。具体的に述べると、ＣＰＵ７１は所定のタイミングにてステップ１１００から処理を開始し、ステップ１１０５に進んで変数ｉに「０」を設定し、ステップ１１１０に進んで変数ｉが遅延回数ntdlyと等しいか否かを判定する。この遅延回数ntdlyは、遅延時間TDを演算周期ΔTtで除した値である。
【０１６９】
この時点で変数ｉは「０」であるから、ＣＰＵ７１はステップ１１１０にて「Ｎｏ」と判定し、ステップ１１１５に進んで暫定目標スロットル弁開度TAt(i)に暫定目標スロットル弁開度TAt(i+1)の値を格納するとともに、続くステップ１１２０にて予測スロットル弁開度TAest(i)に予測スロットル弁開度TAest(i+1)の値を格納する。以上の処理により、暫定目標スロットル弁開度TAt(0)に暫定目標スロットル弁開度TAt(1)の値が格納され、予測スロットル弁開度TAest(0)に予測スロットル弁開度TAest(1)の値が格納される。
【０１７０】
次いで、ＣＰＵ７１は、ステップ１１２５にて変数ｉの値を「１」だけ増大してステップ１１１０にもどる。そして変数ｉの値が今回の遅延回数ntdlyより小さければ、再びステップ１１１５〜１１２５を実行する。即ち、ステップ１１１５〜１１２５は、変数ｉの値が遅延回数ntdlyと等しくなるまで繰り返し実行される。これにより、暫定目標スロットル弁開度TAt(i+1)の値が暫定目標スロットル弁開度TAt(i)に順次シフトされ、予測スロットル弁開度TAest(i+1)の値が予測スロットル弁開度TAest(i)に順次シフトされて行く。
【０１７１】
前述のステップ１１２５が繰り返されることにより変数ｉの値が遅延回数ntdlyと等しくなると、ＣＰＵ７１はステップ１１１０にて「Ｙｅｓ」と判定してステップ１１３０に進み、同ステップ１１３０にて現時点の実際のアクセル操作量Accpと、図７に示したテーブルとに基づいて今回の暫定目標スロットル弁開度TAaccを求め、これを暫定目標スロットル弁開度TAt(ntdly)に格納する。
【０１７２】
次に、ＣＰＵ７１はステップ１１３５に進み、同ステップ１１３５にて前回の予測（推定）スロットル弁開度TAest(ntdly)と、今回の暫定目標スロットル弁開度TAaccと、上記数２（の右辺）に基づくステップ１１３５内に記載した式とに応じて今回の予測スロットル弁開度TAest(ntdly)を算出する。そして、ステップ１１４０にて目標スロットル弁開度TAtに暫定目標スロットル弁開度TAt(0)の値を設定するとともに、予測スロットル弁開度TAestに最新の予測スロットル弁開度TAest(ntdly)を格納し、ステップ１１９５に進んで本ルーチンを一旦終了する。
【０１７３】
以上のように、目標スロットル弁開度TAtに関するメモリにおいては、本ルーチンが実行される毎にメモリの内容が一つずつシフトされて行き、暫定目標スロットル弁開度TAt(0)に格納された値が、電子制御スロットル弁ロジックＡ１によってスロットル弁アクチュエータ４３ａに出力される目標スロットル弁開度TAtとして設定される。即ち、今回の本ルーチンの実行により暫定目標スロットル弁開度TAt(ntdly)に格納された値は、今後において本ルーチンが遅延回数ntdlyだけ繰り返されたときにTAt(0)に格納され、目標スロットル弁開度TAtとなる。また、予測スロットル弁開度TAestに関するメモリにおいては、同メモリ内のTAest(m）に現時点から所定時間(m*ΔTt）経過後の予測スロットル弁開度TAestが格納されて行く。この場合の値mは、１〜ntdlyの整数である。
【０１７４】
（予測吸入空気量KLfwdの計算）
ＣＰＵ７１は、所定の演算周期ΔTt（８msec）の経過毎に図１２に示した予測吸入空気量計算ルーチンを実行することで、第２吸入空気モデルＡ４（スロットルモデルＭ20、吸気弁モデルＭ30、吸気管モデルＭ40、及び吸気弁モデルＭ50）の機能を達成するようになっている。具体的に説明すると、所定のタイミングになったとき、ＣＰＵ７１はステップ１２００から処理を開始し、ステップ１２０５に進んで上記スロットルモデルＭ20（上記数３１に基くステップ１２０５内に示した式）によりスロットル通過空気流量mt(k-1)を求めるため、図１３のフローチャートに示したステップ１３００に進む。なお、スロットル通過空気流量mtの括弧内の変数がkではなくk-1となっているのは、このスロットル通過空気流量mt(k-1)が演算周期ΔTt前の各種値を用いて求められた値であることを意味していて、この変数k，k-1の意味は以下に述べる他の値についても同様である。
【０１７５】
ステップ１３００に進んだＣＰＵ７１は、ステップ１３０５に進んで上記数３２の係数c（＝c(k-1)）を、上記テーブルMAPCと、現時点より演算周期ΔTt前のエンジン回転速度NE、及び現時点より演算周期ΔTt前の吸気弁の開閉タイミングVTとから求める。また、同様に値d（＝d(k-1)）を、上記テーブルMAPDと、現時点より演算周期ΔTt前のエンジン回転速度NE、及び現時点より演算周期ΔTt前の吸気弁の開閉タイミングVTとから求める。
【０１７６】
次いで、ＣＰＵ７１はステップ１３１０に進んで燃料噴射開始時期直前（BTDC９０°CA）から吸気弁閉弁時までの時間をエンジン回転速度NEから求め、この時間と略一致する遅延時間後の予測スロットル弁開度TAestをＲＡＭ７３から読み出し、それを予測スロットル弁開度TAest(k-1)とし、その予測スロットル弁開度TAest(k-1)、現時点より演算周期ΔTt前のエンジン回転速度NE、及び現時点より演算周期ΔTt前の吸気弁の開閉タイミングVTと、上記テーブルMAPPMと、から吸気管圧力PmTAを求め、ステップ１３１５に進んで上記数３２に基づき、スロットル通過空気流量mtsTAを求める。なお、ステップ１３１５において用いるスロットル通過空気温度Taは吸入空気温度センサが検出する吸入空気温度THAを用い、吸気管内空気温度Tm(k-1)は、前回の本ルーチン実行時における後述するステップ１２１５にて求められた値を用いる。
【０１７７】
次いで、ＣＰＵ７１はステップ１３２０に進み、同ステップ１３２０にて値Φ(PmTA/Pa)を上記テーブルMAPΦと上記ステップ１３１０にて求めた吸気管圧力PmTAをスロットル弁上流圧力（大気圧センサ６３が検出する大気圧）Paで除した値（PmTA/Pa）とから求める。また、続くステップ１３２５にて、前回の本ルーチン実行時における後述するステップ１２１５にて求められた吸気管圧力Pm(k-1)をスロットル弁上流圧力Paで除した値（Pm(k-1)/Pa）と、上記テーブルMAPΦとから値Φ(Pm/Pa)を求め、続くステップ１３３０にて上記ステップ１３１５，１３２０、及びステップ１３２５にてそれぞれ求めた値と、スロットルモデルを表すステップ１３３０内に示した式とに基づいてスロットル通過空気流量mt(k-1)を求め、ステップ１３９５を経由して図１２のステップ１２１０に進む。
【０１７８】
ＣＰＵ７１は、ステップ１２１０にて上記吸気弁モデルＭ３を表す数３２を用いて筒内吸入空気流量mc(k-1)を求める。このとき、係数c、及び値dとして、上記ステップ１３０５にて求めた値を使用する。また、吸気管圧力Pm(k-1)、及び吸気管内空気温度Tm(k-1)は、前回の本ルーチン実行時における後述するステップ１２１５にて求められた値を用い、スロットル通過空気温度Taは吸入空気温度センサが検出する吸入空気温度THAを用いる。
【０１７９】
次に、ＣＰＵ７１はステップ１２１５に進み、上記吸気管モデルＭ４を表す数３３、及び数３４を離散化したステップ１２１５に示した式（差分方程式）と、上記ステップ１２０５、及びステップ１２１０にてそれぞれ求めたスロットル通過空気流量mt(k-1)、及びmc(k-1)とに基づいて、今回の吸気管圧力Pm(k)と、同吸気管圧力Pm(k)を今回の吸気管内空気温度Tm(k)にて除した値｛Pm/Tm｝(k)とを求める。なお、Δｔは吸気管モデルＭ40で使用される離散間隔を示し、計算時間をΔTt（＝８msec）、前回(k-1)の燃料噴射開始時期から吸気弁閉弁時までの時間をt0、今回(k)の燃料噴射開始時期から吸気弁閉弁時までの時間をt1とするとき、Δｔ＝ΔTt＋（t1−t0）で表される時間である。
【０１８０】
次いで、ＣＰＵ７１はステップ１２２０に進み、同ステップ１２２０に示した上記吸気弁モデルＭ50を表す式に基づいて今回の筒内吸入空気流量mc(k)を求める。具体的に述べると、ＣＰＵ７１はステップ１２２０に進んだとき、図１４に示したステップ１４００に進み、次のステップ１４０５にて係数c(k)をエンジン回転速度NEと吸気弁の開閉タイミングVTとMAPCとにより求め（c(k)＝MAPC(NE,VT)）、続くステップ１４１０にて値d(k)をエンジン回転速度NEと吸気弁の開閉タイミングVTとMAPDとにより求める（d(k)＝MAPD(NE,VT)）。このときのエンジン回転速度NE、及び吸気弁の開閉タイミングVTは、現時点での値を用いる。そして、ＣＰＵ７１は、ステップ１４１５に進んで、上記ステップ１２１５にて求められた今回の吸気管圧力Pm(k)、及び同ステップ１２１５にて求められた今回の吸気管内空気温度Tm(k)、ステップ１４０５にて求められた係数c(K)、及びステップ１４１０にて求められた値d(k)を用いて、今回の筒内吸入空気流量mc(k)を算出し、ステップ１４９５を経由して図１２のステップ１２２５に進む。
【０１８１】
ＣＰＵ７１はステップ１２２５にて、現時点でのエンジン回転速度NEと、インテークカムシャフトのカムプロフィールで決定されている吸気弁開弁角とから吸気弁開弁時間（吸気弁が開弁してから閉弁するまでの時間）Tintを計算し、続くステップ１２３０にて上記今回の筒内吸入空気流量mc(k)に吸気弁開弁時間Tintを乗じて予測吸入空気量KLfwdを算出し、ステップ１２９５に進んで本ルーチンを一旦終了する。以上により、予測吸入空気量KLfwdが求められる。
【０１８２】
（実吸入空気量KLact）
ＣＰＵ７１は、所定の演算周期ΔTt（８msec）の経過毎に図１５に示した実吸入空気量計算ルーチンを実行することで、第１吸入空気モデルＡ３（スロットルモデルＭ２、吸気弁モデルＭ３、吸気管モデルＭ４、及び吸気弁モデルＭ５）の機能を達成するようになっている。このルーチンは、先に説明した図１２の予測吸入空気量計算ルーチンと同様な処理を行って、実吸入空気量KLactを求める。その際、ＣＰＵ７１は、図１３、及び図１４に示したルーチンとそれぞれ同様な処理を行うための図１６、及び図１７に示したルーチンを実行する。なお、スロットル通過空気流量等の各量を図１２〜図１４の各量と区別するため、同各量の名称末尾に文字「ａ」を追加している。
【０１８３】
図１５〜図１７に示したルーチンと、図１２〜図１４に示したルーチンとの主たる相違点を簡単に説明すると、ＣＰＵ７１はステップ１５０５にて上記スロットルモデルＭ２（上記数３１に基くステップ１５０５内に示した式）によりスロットル通過空気流量mta(k-1)を求める。
【０１８４】
このとき、ＣＰＵ７１は図１６に示したルーチンを実行し、ステップ１６０５にて上記数３２の係数c（＝ca(k-1)）を、上記テーブルMAPCと、現時点より演算周期ΔTt前のエンジン回転速度NE、及び現時点より演算周期ΔTt前の吸気弁の開閉タイミングVTとから求める。また、同様に値d（＝da(k-1)）を、上記テーブルMAPDと、現時点より演算周期ΔTt前のエンジン回転速度NE、及び現時点より演算周期ΔTt前の吸気弁の開閉タイミングVTとから求める。
【０１８５】
次いで、ＣＰＵ７１はステップ１６１０に進んで吸気管圧力PmTAaを上記テーブルMAPPMと、現時点から演算周期ΔTt前に検出された実スロットル弁開度TAact(K-1)、現時点より演算周期ΔTt前のエンジン回転速度NE、及び現時点より演算周期ΔTt前の吸気弁の開閉タイミングVTとから求め、ステップ１６１５に進んで上記数３２に基づき、スロットル通過空気流量mtsTAaを求める。なお、ステップ１６１５において用いるスロットル通過空気温度Taは吸入空気温度センサが検出する吸入空気温度THAを用い、吸気管内空気温度Tma(k-1)は、前回の本ルーチン実行時における後述するステップ１５１５にて求められた値を用いる。
【０１８６】
次いで、ＣＰＵ７１はステップ１６２０に進み、同ステップ１６２０にて値Φ(PmTAa/Pa)を上記吸気管圧力PmTAaをスロットル弁上流圧力Paで除した値（PmTAa/Pa）と上記MAPΦとから求める。また、続くステップ１６２５にて、前回の本ルーチン実行時における後述するステップ１５１５にて求められた吸気管圧力Pma(k-1)をスロットル弁上流圧力Paで除した値（Pma(k-1)/Pa）と、上記テーブルMAPΦとから値Φ(Pma/Pa)を求め、続くステップ１６３０にて上記ステップ１６１５，１６２０、及びステップ１６２５にてそれぞれ求めた値と、スロットルモデルを表すステップ１６３０内に示した式とに基づいてスロットル通過空気流量mta(k-1)を求め、ステップ１６９５を経由して図１５のステップ１５１０に進む。
【０１８７】
ＣＰＵ７１は、ステップ１５１０にて上記吸気弁モデルＭ30を表す数３２を用いて筒内吸入空気流量mca(k-1)を求める。このとき、係数ca、及び値daとして、上記ステップ１６０５にて求めた値を使用する。また、吸気管圧力Pma(k-1)、及び吸気管内空気温度Tma(k-1)は前回の本ルーチン実行時における後述するステップ１５１５にて求められた値を用い、スロットル通過空気温度Taは吸入空気温度センサが検出する吸入空気温度THAを用いる。
【０１８８】
次に、ＣＰＵ７１はステップ１５１５に進み、スロットル通過空気流量mta(k-1)、及び筒内吸入空気流量mca(k-1)とに基づいて、今回の吸気管圧力Pma(k)と、同吸気管圧力Pma(k)を今回の吸気管内空気温度Tma(k)にて除した値｛Pma/Tma｝(k)とを求める。次いで、ＣＰＵ７１はステップ１５２０に進み、同ステップ１５２０に示した上記吸気弁モデルＭ50を表す式に基づいて今回の筒内吸入空気流量mca(k)を求める。この場合、ＣＰＵ７１は、図１７に示したステップ１７０５にて係数ca(k)をエンジン回転速度NEと吸気弁の開閉タイミングVTとMAPCとにより求め（ca(k)＝MAPC(NE,VT)）、続くステップ１６１０にて値da(k)をエンジン回転速度NEと吸気弁の開閉タイミングVTとMAPDとにより求める（da(k)＝MAPD(NE,VT)）。ここで使用するエンジン回転速度NE、及び吸気弁の開閉タイミングVTは、現時点での値を用いる。そして、ＣＰＵ７１は、ステップ１７１５に進んで、今回の吸気管圧力Pma(k)、今回の吸気管内空気温度Tma(k)、係数ca(K)、及び値da(k)を用いて、今回の筒内吸入空気流量mca(k)を算出し、ステップ１７９５を経由して図１５のステップ１５２５に進む。
【０１８９】
ＣＰＵ７１はステップ１５２５にて、現時点でのエンジン回転速度NEと、インテークカムシャフトのカムプロフィールで決定されている吸気弁開弁角とから吸気弁開弁時間Tintを計算し、続くステップ１５３０にて上記今回の筒内吸入空気流量mca(k)に吸気弁開弁時間Tintを乗じて実吸入空気量KLactを算出する。次いで、ＣＰＵ７１はステップ１５３５に進み、現時点が吸気弁が開弁状態から閉弁状態に変化した直後であるか否かを判定し、直後であればステップ１５４０にて実吸入空気量KLactを吸気弁閉弁時の実吸入空気量KLact0として格納し、ステップ１５９５に進んで本ルーチンを一旦終了する。また、ＣＰＵ７１は、ステップ１５３５にて「Ｎｏ」と判定されるとき、直接ステップ１５９５に進んで本ルーチンを一旦終了する。以上により、実スロットル弁開度TAactに基いて吸気弁閉弁時の実吸入空気量KLact0が求められる。なお、実吸入空気量KLact0は、各気筒毎に求められ、各気筒に対応付けられた状態でＲＡＭ７３に格納される。
【０１９０】
（噴射実行ルーチン）
次に、電気制御装置７０が、実際に噴射を行うために実行するルーチンについて、同ルーチンをフローチャートにより示した図１８を参照して説明すると、ＣＰＵ７１は各気筒のクランク角度がBTDC９０°ＣＡになる毎に、各気筒毎に同図１８に示したルーチンを実行するようになっている。
【０１９１】
従って、特定の（任意の）気筒のクランク角度がBTDC９０°ＣＡになると、ＣＰＵ７１はステップ１８００から処理を開始し、続くステップ１８０５にて予測吸入空気量KLfwdを目標空燃比AbyFrefで除することにより（Fcfwd=KLfwd/AbyFref）予測必要燃料量Fcfwdを求める。次いで、ＣＰＵ７１は、ステップ１８１０にて、この特定気筒の今回の吸気行程における吸気弁閉時の予測スロットル弁開度TAest、実際のエンジン回転速度NE、及び実際の吸気弁の開閉タイミングVTとに基いて吸気ポートへの燃料付着率Rpi、吸気弁への燃料付着率Rvi、吸気ポートへの燃料残留率Ppi、及び吸気弁への燃料残留率Pviを求めるとともに、上記数４の右辺（ステップ１８１０中に記載した式）で表される燃料挙動の逆モデルにしたがって補正前燃料噴射量Fib(k)を求める。
【０１９２】
次に、ＣＰＵ７１はステップ１８１５に進み、特定気筒の今回の吸気行程に対して前記ステップ１８１０にて求めた補正前燃料噴射量Fib(k)を同特定気筒に対し噴射すると仮定し、同今回の吸気行程後であって次回の吸気行程直前において同気筒の吸気ポートに付着していると予測される予測ポート燃料付着量fwpi(k+1)、及び同気筒の今回の吸気行程後であって次回の吸気行程直前において同気筒の吸気弁に付着していると予測される予測バルブ燃料付着量fwvi(k+1)を、上記数５、及び上記数６（ステップ１８１５中に記載した式）に基いて求める。
【０１９３】
次いで、ＣＰＵ７１はステップ１８２０に進み、同ステップ１８２０にて前記特定気筒の前回の吸気行程における吸気弁閉弁時の実吸入空気量KLact0をＲＡＭ７３から読み出し、同実吸入空気量KLact0を目標空燃比設定手段Ａ５により求められた目標空燃比AbyFrefで除する（KLact0／AbyFref）ことにより、同特定気筒の前回の吸気行程において空燃比を目標空燃比AbyFrefとするために必要であった燃料量である実必要燃料量Fcactを求める。
【０１９４】
次に、ＣＰＵ７１はステップ１８２５にて同ステップ中に記載した上記数５、及び上記数６に類似した式に従って、前回の吸気行程（特定の気筒の任意の吸気行程）に対し実際に噴射された燃料噴射量fi(k-1)、同気筒の前々回の吸気行程（同任意の吸気行程の一回前の吸気行程）後であって前回の吸気行程前（同任意の吸気行程前）における実際のポート燃料付着量（実ポート燃料付着量）fwp(k-1)、及び実際のバルブ燃料付着量（実バルブ燃料付着量）fwv(k-1)に基づいて、同気筒の前回の吸気行程（同任意の吸気行程）後であって今回の吸気行程（同任意の吸気行程の次の（一回後の）吸気行程）前における実ポート燃料付着量fwp(k)、及び実バルブ燃料付着量fwv(k)を算出する。
【０１９５】
次に、ＣＰＵ７１はステップ１８３０に進み、同ステップ中に記載した式に基いて特定気筒の前回の吸気行程における実吸入燃料量Fcestを算出する。なお、ステップ１８３０では、各燃料付着量の増加分を正規燃料噴射量fi(k-1)から減ずることにより、実吸入燃料量Fcestを求めるようにしている。次いで、ＣＰＵ７１はステップ１８３５に進み、前回の吸気行程に対する実必要燃料量Fcactから実吸入燃料量Fcestを減ずることにより、前回の吸気行程における燃料量の過不足分を表す筒内吸入燃料量誤差Fcerr(k)を求め（上記数１０を参照。）、続くステップ１８４０にて同ステップ内に記載した式に基いて燃料フィードバック補正量Ffb(k)を求める（上記数１１を参照）。なお、同ステップ内に記載した式において、SumFcerrは上記数１２に基いて求められる吸入燃料量誤差Fcerrの積分値であり、後述するステップ１８５５にて算出される。係数Kp、及び係数Kiは、それぞれ予め設定されている比例定数、及び積分定数である。即ち、ステップ１８５５は燃料フィードバック補正量Ffbを求めるためのフィードバックコントローラ（比例・積分制御器）の一部を構成している。
【０１９６】
次いで、ＣＰＵ７１はステップ１８４５に進み、今回の吸気行程に対する正規の燃料噴射量（正規燃料噴射量）fi(k)を、前記ステップ１８１０にて求めた補正前燃料噴射量Fib(k)をステップ１８４０にて求めた燃料フィードバック補正量Ffb(k)で補正して（補正前燃料噴射量Fib(k)に燃料フィードバック補正量Ffb(k)を加えて）求め、続くステップ１８５０にて前記特定気筒のインジェクタに対して正規燃料噴射量fi(k)の燃料の噴射を指示する。これにより、正規燃料噴射量fi(k)に応じた量の燃料が前記特定気筒のインジェクタ３９から噴射される。その後、ＣＰＵ７１はステップ１８５５に進み、次回の本ルーチンの演算のために吸入燃料量誤差Fcerrを積分して誤差積分値SumFcerrを更新し、ステップ１８９５にて本ルーチンを一旦終了する。
【０１９７】
以上、説明したように、第１燃料噴射量制御装置によれば、前回の吸気行程に対する実必要燃料量と実吸入燃料量とが求められ、これらの差に基いて同前回の吸気行程に対する燃料量の過不足が算出され、同過不足分が今回以降の燃料噴射量に反映されて補償されて行く。この結果、運転状態量予測手段による予測運転状態量（予測スロットル弁開度、従って、予測吸入空気量）が実際のスロットル弁開度（従って、実際の吸入空気量）と異なることに基く供給燃料量の過不足が直ちに補償されるので、空燃比が略一定に維持され得る。
【０１９８】
次に、本発明の第２実施形態に係る燃料噴射量制御装置の実施形態（第２燃料噴射量制御装置）について説明する。この第２燃料噴射量制御装置は、第１燃料噴射量制御装置に対して、ＣＰＵ７１によって達成される機能のみが異なる。従って、以下においては、機能上の相違点のみについて説明する。
【０１９９】
図１９に機能ブロック図を示した第２燃料噴射量制御装置は、第１燃料噴射量制御装置が備える、運転状態量取得手段Ａ２、第１吸入空気モデルＡ３、燃料挙動順モデルＡ54、電子制御スロットル弁モデルＭ１、第２吸入空気モデルＡ４、目標空燃比設定手段Ａ５、予測必要燃料量算出手段Ａ51、及び補正前燃料噴射量算出手段（燃料挙動逆モデル）Ａ52を備えるとともに、同第１燃料噴射量制御装置の燃料フィードバック補正量算出手段Ａ55に代わる燃料フィードバック補正量算出手段Ａ61、及び燃料噴射量算出手段Ａ62を備えている。第１燃料噴射量制御装置が備えるモデル、及び手段と同一のモデル、及び手段は、同一の機能を達成するので、詳細な説明を省略する。なお、図１９においては図示が省略されているが、第２燃料噴射量制御装置が適用される内燃機関のスロットル弁開度は、第１燃料噴射量制御装置が備える電子制御スロットル弁ロジックＡ１により、アクセル操作量Accpに対して遅延時間TDだけ遅延された目標スロットル弁開度TAtに基いて制御されている。
【０２００】
電子制御スロットル弁モデルＭ１は、第１燃料噴射量制御装置の電子制御スロットル弁モデルＭ１と同一のモデルであって、現時点より先の時点における前記内燃機関の運転状態量であるスロットル弁開度を予測する（予測スロットル弁開度TAestを求める）運転状態量予測手段を構成している。また、運転状態量取得手段Ａ２は、現時点より前の時点における前記内燃機関の実際の運転状態量であるスロットル弁開度TAを取得するようになっている。
【０２０１】
第２吸入空気モデルＡ４は、第１燃料噴射量制御装置の第２吸入空気モデルＡ４と同一のモデルであって、特定の気筒の今回の吸気行程に対する吸気弁閉弁時より前の第１所定時点にて同気筒の今回の吸気行程での吸気弁閉弁時の吸入空気量である予測吸入空気量KLfwdを前記運転状態量予測手段により予測された同第１所定時点より先の時点における運転状態量であるスロットル弁開度TAestと前記内燃機関の吸気系における空気の挙動をモデル化した空気モデルとに基づいて算出する予測吸入空気量算出手段を構成している。
【０２０２】
補正前燃料噴射量算出手段Ａ52は、第１燃料噴射量制御装置の補正前燃料噴射量制御手段Ａ52と同一であって、前記第１所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第２所定時点にて前記予測吸入空気量KLfwdに基づいて前記気筒の今回の吸気行程で同気筒に必要とされる燃料量である予測必要燃料量Fcfwdを算出するとともに、前記内燃機関の吸気系への燃料付着挙動を表す燃料挙動モデルの逆モデルの燃料付着率Rp,Rv、及び燃料残留率Pp,Pvを前記吸気弁閉時の予測吸入空気量KLfwd、実際のエンジン回転速度、及び実際の吸気弁開閉タイミングVTにに基いて決定し、この決定された付着率Rp,Rv、及び残留率Pp,Pvの燃料挙動モデルの逆モデルを使用して、同気筒の今回の吸気行程に対し噴射すべき仮の噴射量である補正前燃料噴射量Fib(k)を算出する手段である。
【０２０３】
より具体的には、補正前燃料噴射量算出手段Ａ52は、補正前燃料噴射量Fib(k)の燃料のうち同気筒の今回の吸気行程において同気筒に吸入される燃料量と同気筒の前回の吸気行程後であって今回の吸気行程前における予測された燃料付着量である予測燃料付着量fwi(k)の燃料のうち同気筒の今回の吸気行程において同気筒に吸入される燃料量との和が、前記算出された予測必要燃料量Fcfwdと等しくなるように（即ち、上記数４に従って）同補正前燃料噴射量Fib(k)を算出するようになっている。
【０２０４】
また、補正前燃料噴射量算出手段Ａ52は、前記第２所定時点より前の第３所定時点にて、前記気筒の前回の吸気行程に対する補正前燃料噴射量を算出する基礎となった予測吸入空気量KLfwdに基いて前記燃料挙動モデルに用いる付着率Rp,Rv、及び残留率Pp,Pvを決定するとともに、同付着率Rp,Rv、及び残留率Pp,Pvの燃料挙動モデルと、同気筒の前々回の吸気行程後であって前回の吸気行程前における予測燃料付着量と、同気筒の前回の吸気行程に対する補正前燃料噴射量とに基づいて、同気筒の前回の吸気行程後であって今回の吸気行程前における前記予測燃料付着量fwi(k)を算出する予測燃料付着量算出手段を包含している。
【０２０５】
一方、第１吸入空気モデルＡ３は、第１燃料噴射量制御装置の第１吸入空気モデルＡ３と同一であって、前記気筒の前回の吸気行程に対する吸気弁閉弁時より後の時点であって同気筒の今回の吸気行程に対する吸気弁閉弁時より前の第４所定時点にて、同気筒の前回の吸気行程に対する吸気弁閉弁時の実際の吸入空気量である実吸入空気量KLactを前記運転状態取得手段Ａ２により取得された実際の運転状態量である実スロットル弁開度TAactと前記空気モデルとに基づいて算出する実吸入空気量算出手段を構成している。
【０２０６】
燃料挙動順モデルＡ54は、第１燃料噴射量制御装置の燃料挙動順モデルＡ54と同様のモデルであり、前記第４所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第５所定時点にて、前記燃料挙動モデルの係数（付着率、残留率）を同気筒の前回の吸気行程に対する吸気弁閉弁時の実吸入空気量KLactに基いて決定するとともに、同付着率及び残留率の燃料挙動モデルと、同気筒の前回の吸気行程に対し実際に噴射された燃料噴射量fi(k-1)と、同気筒の前々回の吸気行程後であって前回の吸気行程前における実際の燃料付着量である実燃料付着量fw(k-1)とに基づいて、同気筒の前回の吸気行程後であって今回の吸気行程前における実燃料付着量fw(k)を算出する実燃料付着量算出手段を構成している。
【０２０７】
燃料フィードバック補正量算出手段Ａ61は、前記第３所定時点、及び前記第５所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第６所定時点にて、前記予測燃料付着量算出手段により算出された同気筒の前回の吸気行程後であって今回の吸気行程前における予測燃料付着量fwi(k)と、前記実燃料付着量算出手段により算出された同気筒の前回の吸気行程後であって今回の吸気行程前における実燃料付着量fw(k)との差である燃料付着量誤差Fwerr(k)に基づいて燃料フィードバック補正量Ffb(k)を算出する。
【０２０８】
より具体的に述べると、燃料フィードバック補正量算出手段Ａ61は、補正前燃料噴射量算出手段Ａ52が算出した特定気筒の前回の吸気行程後であって今回の吸気行程前における予測燃料付着量fwi(k)（この場合、予測ポート燃料付着量fwpi(k)と予測バルブ燃料付着量fwvi(k)との和である。）と、燃料挙動順モデルＡ54が算出した同特定気筒の前回の吸気行程後であって今回の吸気行程前における実際の燃料付着量fw(k)（この場合、実ポート燃料付着量fwp(k)と実バルブ燃料付着量fwv(k)との和である。）との差を、燃料付着量誤差Fwerr(k)として求める。
【０２０９】
即ち、予測燃料付着量fwi(k)は、前回の吸気行程に対する吸気弁閉弁時の予測スロットル弁開度TAest（従って、予測吸入空気量KLfwd）に基いて求められた補正前燃料噴射量Fibと、同予測吸入空気量KLfwdに基いて求められた燃料残留率Ppi,Pvi、及び燃料付着率Rpi,Rviとによって算出された値であるから、前回の吸気行程に対する吸気弁閉弁時の吸入空気量の予測誤差を含んだ値であり、実燃料付着量fw(k)は、実際の正規燃料噴射量fi(k)と、同吸気弁閉弁時の実際のスロットル弁開度TAactに応じて求められた実吸入空気量KLactに基く燃料残留率Pp,Pv、及び燃料付着率Rp,Rvとによって算出された値であるから、吸入空気量の予測誤差を含まない値である。従って、これらの差である燃料付着量誤差Fwerr(k)は、実際の吸入空気量に対する予測吸入空気量の推定誤差を反映した値となる。
【０２１０】
燃料フィードバック補正量算出手段Ａ61は、この付着量誤差fwerr(k)に基いて燃料フィードバック補正量Ffb(k)を求める。この場合、燃料フィードバック補正量算出手段は、上記燃料フィードバック補正量算出手段Ａ55と同様なＰＩコントローラ（比例・積分制御器）であり、燃料フィードバック補正量Ffb(k)を、上記数１０〜上記数１２において吸入燃料量誤差Fcerrを燃料付着量誤差Fwerrに、吸入燃料量誤差積分値SumFcerrを燃料付着量誤差積分値SumFwerrにそれぞれ置換した計算式にしたがって求める。
【０２１１】
正規燃料噴射量算出手段Ａ62は、前記第２所定時点、及び前記第６所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第７所定時点にて、前記算出された同気筒の今回の吸気行程に対し噴射すべき補正前燃料噴射量Fib(k)に前記算出された燃料フィードバック補正量Ffb(k)を加えることで同補正前燃料噴射量Fib(k)を補正し、これにより前記気筒の今回の吸気行程に対し噴射する正規燃料噴射量fi(k)を算出する。
【０２１２】
図１９には図示されていない燃料噴射指示手段は、前記第７所定時点より後の時点であって前記気筒の今回の吸気行程に対する吸気弁閉弁時より前の第８所定時点にて前記燃料噴射手段であるインジェクタ３９に対し前記算出された正規燃料噴射量fi(k)の燃料を噴射するように指示を与える。この結果、前記気筒の今回の吸気行程に対して正規燃料噴射量fi(k)の燃料が噴射される。
【０２１３】
このように、第２燃料噴射量制御装置は、吸入空気量の予測誤差が予測燃料付着量の推定誤差として現われるとの知見に基いて、実際の燃料付着量と予測燃料付着量との差に基づき補正前燃料噴射量を補正する。従って、空燃比が一定に維持される。
【０２１４】
次に、第２燃料噴射量制御装置の変形例について説明する。この変形例は図２０に示したように、上記第２燃料噴射量制御装置の燃料フィードバック補正量算出手段Ａ61に代わる燃料挙動モデル補正量算出手段Ａ71を備え、同燃料挙動モデル補正量算出手段Ａ71により燃料挙動逆モデルＡ52の燃料付着率Rvi,Rpiと燃料残留率Pvi、Ppiとを補正するようになっている点、及び、燃料挙動逆モデルＡ52の算出する噴射量が直ちに正規燃料噴射量fi(k)となる点においてのみ、同第２燃料噴射量制御装置と異なっている。
【０２１５】
即ち、図２０に示した変形例にあっては、燃料挙動モデル補正量算出手段Ａ71は、燃料挙動逆モデルＡ52が算出した特定気筒の前回の吸気行程後であって今回の吸気行程前における予測燃料付着量fwi(k)（この場合、予測ポート燃料付着量fwpi(k)と予測バルブ燃料付着量fwvi(k)との和である。）と、燃料挙動順モデルＡ54が算出した同特定気筒の前回の吸気行程後であって今回の吸気行程前における実際の燃料付着量fw(k)（この場合、実ポート燃料付着量fwp(k)と実バルブ燃料付着量fwv(k)との和である。）との差である燃料付着量誤差Fwerr(k)に基いて、同燃料挙動逆モデルＡ52の燃料付着率Rvi,Rpiと燃料残留率Pvi、Ppiとを補正する。
【０２１６】
より具体的には、燃料挙動モデル補正量算出手段Ａ71は、燃料付着量誤差Fwerr(k)が正の値であれば、燃料付着率Rvi,Rpi、及び燃料残留率Pvi、Ppiをそれぞれ減じるための補正量ΔＲ,ΔＰを、同燃料付着量誤差Fwerr(k)の大きさに応じて求め、これにより燃料挙動逆モデルＡ52が使用する燃料付着率Rvi,Rpi、及び燃料残留率Pvi、PpiをそれぞれΔＲ,ΔＰだけ減少補正する。同様に、燃料付着量誤差Fwerr(k)が負の値であれば、燃料付着率Rvi,Rpi、及び燃料残留率Pvi、Ppiをそれぞれ増大するための補正量ΔＲ,ΔＰを、同燃料付着量誤差Fwerr(k)の絶対値の大きさに応じて求め、これにより燃料挙動逆モデルＡ52が使用する燃料付着率Rvi,Rpi、及び燃料残留率Pvi、PpiをそれぞれΔＲ,ΔＰだけ増大補正する。この結果、予測燃料付着量fwiが順次補正されるので、正規燃料噴射量fi(k)が補正されて、空燃比が一定に維持される。
【０２１７】
以上説明したように、本発明による内燃機関の燃料噴射量制御装置の各実施形態によれば、運転状態量の予測誤差に起因する燃料の過不足分が実際の運転状態量に基づいて精度良く、且つ直ちに補償されて行くので、空燃比を精度良く目標空燃比に維持することができる。
【０２１８】
なお、本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、図２１に示したように、第１燃料噴射量制御装置と第２燃料噴射量制御装置の変形例とを組合せた態様で、燃料噴射量制御装置を構成することもできる。また、上記各実施形態において、内燃機関が定常運転状態にあるとき、今回の吸気行程における吸入空気量がエアフローメータ６１の出力に実質的に基いて決定されるように構成されることが好適である。
【図面の簡単な説明】
【図１】  本発明による燃料噴射量制御装置（第１燃料噴射量制御装置）を火花点火式多気筒内燃機関に適用したシステムの概略構成図である。
【図２】  図１に示したエアフローメータの概略斜視図である。
【図３】  図２に示したエアフローメータの熱線計量部の拡大斜視図である。
【図４】  図１に示したＣＰＵが参照するエアフローメータの出力と吸入空気量（吸入空気流量）との関係を規定したテーブルを表した図である。
【図５】  スロットル弁開度を制御するとともに燃料噴射量を決定するための各種ロジック、及び各種モデルの機能ブロック図でである。
【図６】  図５に示した噴射量決定手段の詳細を示した機能ブロック図である。
【図７】  図１に示したＣＰＵが参照するアクセルペダル操作量と暫定目標スロットル弁開度との関係を規定したテーブルを示した図である。
【図８】  暫定目標スロットル弁開度、目標スロットル弁開度、及び予測スロットル弁開度の変化を示したタイムチャートである。
【図９】  予測スロットル弁開度を算出する際に用いる関数を示したグラフである。
【図１０】  図６に示した噴射量決定手段が備える各機能ブロックによる計算タイミングを示した図である。
【図１１】  図１に示したＣＰＵが実行する目標スロットル弁開度、及び予測スロットル弁開度を演算するためのプログラムを示したフローチャートである。
【図１２】  図１に示したＣＰＵが実行する予測吸入空気量を算出するためのプログラムを示したフローチャートである。
【図１３】  図１に示したＣＰＵが実行する予測スロットル通過空気流量を算出するためのプログラムを示したフローチャートである。
【図１４】  図１に示したＣＰＵが実行する予測筒内吸入空気流量を算出するためのプログラムを示したフローチャートである。
【図１５】  図１に示したＣＰＵが実行する実吸入空気量を算出するためのプログラムを示したフローチャートである。
【図１６】  図１に示したＣＰＵが実行する実スロットル通過空気流量を算出するためのプログラムを示したフローチャートである。
【図１７】  図１に示したＣＰＵが実行する実筒内吸入空気流量を算出するためのプログラムを示したフローチャートである。
【図１８】  図１に示したＣＰＵが実行する燃料噴射実行（正規燃料噴射量計算）のためのプログラムを示したフローチャートである。
【図１９】  本発明による他の燃料噴射量制御装置（第２燃料噴射量制御装置）を示した機能ブロック図である。
【図２０】  図１９に示した第２燃料噴射量制御装置の変形例を示した機能ブロック図である。
【図２１】  第１燃料噴射量制御装置と第２燃料噴射量制御装置の変形例を組合せた本発明による他の燃料噴射量制御装置を示した機能ブロック図である。
【符号の説明】
１０…火花点火式多気筒内燃機関、２０…シリンダブロック部（エンジン本体部）、２５…燃焼室、３１…吸気ポート、３２…吸気弁、３９…インジェクタ、４１…吸気管、４３…スロットル弁、４３ａ…スロットル弁アクチュエータ、７０…電気制御装置、７１…ＣＰＵ。
【図１】
0003985516.tif 000005
【図２】
0003985516.tif 000006
【図３】
0003985516.tif 000007
【図４】
0003985516.tif 000008
【図５】
0003985516.tif 000009
【図６】
0003985516.tif 000010
【図７】
0003985516.tif 000011
【図８】
0003985516.tif 000012
【図９】
0003985516.tif 000013
【図１０】
0003985516.tif 000014
【図１１】
0003985516.tif 000015
【図１２】
0003985516.tif 000016
【図１３】
0003985516.tif 000017
【図１４】
0003985516.tif 000018
【図１５】
0003985516.tif 000019
【図１６】
0003985516.tif 000020
【図１７】
0003985516.tif 000021
【図１８】
0003985516.tif 000022
【図１９】
0003985516.tif 000023
【図２０】
0003985516.tif 000024
【図２１】
0003985516.tif 000025