(57)【要約】【課題】  内燃機関の始動直後等、機関の回転速度が急変する場合でも、筒内吸入空気量等のような機関を制御するために使用される値を精度良く推定すること。【解決手段】  この内燃機関の制御装置は、燃料噴射気筒（#inj気筒）の排気行程開始時点(CA1)が到来すると、#inj気筒の将来の吸気弁閉時(CA4)における予測エンジン回転速度NEfwdを、同排気行程開始時点から同吸気弁閉時までに実行されることになる他の気筒の各膨張行程における機関の図示トルクを予測することで推定する。前記予測エンジン回転速度NEfwdを考慮して、吸気弁閉時におけるエンジン回転速度に大きく依存する値である前記吸気弁閉時における#inj気筒の予測吸入空気量、及び#inj気筒の吸気通路構成部材への燃料付着量を算出する。そして、係る予測吸入空気量、及び燃料付着量に基づいて#inj気筒についての今回の燃料噴射量を計算する。【選択図】  図３
2005337225.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の特定の気筒の吸気弁が閉じる時点である吸気弁閉時よりも前の所定の予測時点にて同特定気筒の吸気弁閉時における同機関の回転速度を予測する回転速度予測手段と、
前記予測時点よりも後の時点であって前記特定気筒の吸気弁閉時よりも前の所定の算出時点にて前記予測された吸気弁閉時における機関の回転速度に基づいて同特定気筒について前記機関を制御するために使用される値を算出する算出手段と、
を備えた内燃機関の制御装置。
【請求項２】
請求項１に記載の内燃機関の制御装置において、
前記算出手段は、
前記機関を制御するために使用される値として、前記特定気筒の吸気行程において同特定気筒内に吸入される筒内吸入空気量、及び前記機関の吸気通路を構成する部材への燃料付着量の少なくとも一つを算出するように構成された内燃機関の制御装置。
【請求項３】
請求項１又は請求項２に記載の内燃機関の制御装置において、
前記回転速度予測手段は、
前記予測時点の直前において実行された前記特定気筒の膨張行程の終了時点近傍での機関の回転速度を取得する回転速度取得手段と、
前記特定気筒の膨張行程の終了時点から前記特定気筒の吸気弁閉時までの間において実行される同特定気筒以外の他の気筒の膨張行程における前記機関の図示トルク関連量を予測図示トルク関連量として予測する図示トルク予測手段と、
を備えるとともに、
前記取得された前記特定気筒の膨張行程の終了時点での機関の回転速度と、前記予測された予測図示トルク関連量とに基づいて同特定気筒の吸気弁閉時における機関の回転速度を予測するように構成された内燃機関の制御装置。
【請求項４】
請求項３に記載の内燃機関の制御装置において、
前記回転速度予測手段は、
前記予測時点の直前において実行された前記特定気筒の膨張行程における前記機関の実際の図示トルク関連量を実図示トルク関連量として取得する図示トルク取得手段と、
前記取得された実図示トルク関連量と、前記特定気筒の膨張行程の燃焼に寄与した燃料量とに基づいて同特定気筒の膨張行程における前記機関の図示熱効率を算出する図示熱効率算出手段と、
を更に備え、
前記図示トルク予測手段は、
前記算出された図示熱効率と、前記他の気筒の膨張行程の燃焼に寄与する燃料量とに基づいて同他の気筒の膨張行程における前記機関の予測図示トルク関連量を予測するように構成された内燃機関の制御装置。
【請求項５】
請求項４に記載の内燃機関の制御装置において、
前記図示トルク予測手段は、
前記機関の始動直後であって前記予測時点が同始動後における最初の燃焼に係わる膨張行程の終了時点よりも前の時点となる場合、前記算出された図示熱効率に代えて予め設定されている図示熱効率を使用して前記他の気筒の膨張行程における前記機関の予測図示トルク関連量を予測するように構成された内燃機関の制御装置。
【請求項６】
請求項３乃至請求項５の何れか一項に記載の内燃機関の制御装置において、
前記回転速度予測手段は、
前記予測時点の直前において実行された前記特定気筒の膨張行程の終了時点から前記特定気筒の吸気弁閉時までの間において実行される前記他の気筒の膨張行程の終了時点のうち前記特定気筒の吸気弁閉時に最も近い終了時点と同特定気筒の吸気弁閉時とのタイミングのずれの程度に応じて回転速度補正量を求め、同求めた回転速度補正量に基づいて前記予測された特定気筒の吸気弁閉時における機関の回転速度を補正する補正手段を更に備えた内燃機関の制御装置。
【請求項７】
請求項１又は請求項２に記載の内燃機関の制御装置において、
前記回転速度予測手段は、
前記機関が所定の運転状態にある場合におけるクランク角度と前記機関の回転速度との関係を規定するデータを予め記憶している記憶手段と、
前記予測時点における前記機関の実際の回転速度と、同予測時点でのクランク角度と前記データとから得られる同機関の回転速度との比較結果に基づいて前記データを補正するデータ補正手段と、
を備えるとともに、
前記特定気筒の吸気弁閉時におけるクランク角度と前記補正されたデータとに基づいて同特定気筒の吸気弁閉時における機関の回転速度を予測するように構成された内燃機関の制御装置。
【請求項８】
請求項７に記載の内燃機関の制御装置において、
前記データ補正手段は、
現在の前記予測時点における比較結果と、過去の前記予測時点における比較結果とに基づいて前記データを補正するように構成された内燃機関の制御装置。
【請求項９】
請求項１乃至請求項８の何れか一項に記載の内燃機関の制御装置において、
前記算出手段は、
前記算出時点における機関の回転速度と、前記回転速度予測手段により予測された前記特定気筒の吸気弁閉時における機関の回転速度とに基づいて同算出時点から同特定気筒の吸気弁閉時までの経過時間を予測する経過時間予測手段を備えるとともに、
前記予測された経過時間に更に基づいて、前記機関を制御するために使用される値としての前記特定気筒の吸気行程において同特定気筒内に吸入される筒内吸入空気量を算出するように構成された内燃機関の制御装置。
【請求項１０】
請求項９に記載の内燃機関の制御装置において、
前記経過時間予測手段は、
前記算出時点と前記特定気筒の吸気弁閉時との間においてクランク角度と前記機関の回転速度に応じた値とが線形関係にあると仮定することを利用して前記経過時間を予測するように構成された内燃機関の制御装置。
【請求項１１】
請求項１乃至請求項１０の何れか一項に記載の内燃機関の制御装置であって、
前記算出手段は、
前記算出時点における機関の回転速度と、前記回転速度予測手段により予測された前記特定気筒の吸気弁閉時における機関の回転速度とに基づいて、前記機関を制御するために使用される値としての前記機関の吸気通路を構成する部材への燃料付着量を少なくとも算出するように構成され、
前記算出された燃料付着量に基づいて前記特定気筒に噴射すべき燃料量を決定する燃料噴射量決定手段を更に備えた内燃機関の制御装置。
【請求項１２】
請求項１乃至請求項１１の何れか一項に記載の内燃機関の制御装置において、
前記算出手段は、
前記回転速度予測手段により予測された前記特定気筒の吸気弁閉時における機関の回転速度に基づいて同特定気筒について前記機関を制御するために使用される値を算出するための条件である算出条件が成立しているか否かを判定する算出条件判定手段を備えるとともに、
前記算出条件が成立していないと判定されている間、前記予測された吸気弁閉時における機関の回転速度に代えて前記算出時点における機関の回転速度に基づいて前記機関を制御するために使用される値を算出するように構成された内燃機関の制御装置。
【請求項１３】
請求項１２に記載の内燃機関の制御装置において、
前記算出条件判定手段は、
前記算出条件が成立していると判定されている場合において前記回転速度予測手段により予測された前記特定気筒の吸気弁閉時における機関の回転速度から現時点における機関の回転速度を減じた値が所定回転速度未満となったとき、以降、前記算出条件が成立していないと判定するように構成された内燃機関の制御装置。
【請求項１４】
請求項１２又は請求項１３に記載の内燃機関の制御装置において、
前記算出条件判定手段は、
前記算出条件が成立していないと判定されている場合においてスロットル弁の開度の増加速度が所定速度を超えたとき、以降、前記算出条件が成立していると判定するように構成された内燃機関の制御装置。
【請求項１５】
請求項１２乃至請求項１４の何れか一項に記載の内燃機関の制御装置において、
前記算出手段は、
前記予測時点の直前において実行された前記特定気筒の膨張行程において悪化燃焼が発生したか否かを判定する悪化燃焼判定手段と、
前記算出条件が成立していると判定されている場合において前記悪化燃焼が発生したと判定されたとき、前記算出条件が成立していないと判定することを禁止する禁止手段とを備えた内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
内燃機関に吸入される混合気の空燃比を所定の目標空燃比（例えば、理論空燃比）とするためには、同機関の吸気行程において気筒内に吸入される空気量（以下、「筒内吸入空気量」と称呼する。）を精度良く求める必要がある。一般に、機関の吸気通路には空気流量センサが備えられ、この空気流量センサの出力値に基づいて筒内吸入空気量が推定される。
【０００３】
ところが、スロットル弁開度が急激に変化する場合等、機関が過渡運転状態にある場合、応答遅れの比較的大きい空気流量センサの出力値から筒内吸入空気量を精度良く求めることは困難である。そこで、近年においては、流体力学等に基づく式により表される吸気系のモデルを用いることにより、筒内吸入空気量を精度良く推定する手法が提案されてきている（例えば、下記特許文献１を参照）。
【特許文献１】特開２００３−１８４６１３号公報
【０００４】
上記文献に記載の吸気系のモデルにおいては、筒内吸入空気量が、吸気弁が閉じる時点（以下、「吸気弁閉時」と称呼する。）に確定し、同吸気弁閉時における筒内の圧力に比例する関係があること、及び、吸気弁閉時における筒内の圧力は吸気弁の上流の圧力、即ち、吸気管内の空気圧力（吸気管圧力）と等しいとみなすことができることが利用されている。即ち、上記文献に記載の装置は、上記吸気弁系のモデルにより吸気弁閉時における吸気管圧力を推定し、同推定した吸気管圧力と、所定の比例係数等とに基づいて筒内吸入空気量を推定するようになっている。
【０００５】
他方、インジェクタから噴射された燃料は、その一部が吸気管の壁面等からなる吸気通路構成部材に不可避的に付着する。従って、噴射された燃料の全量が直ちに筒内に吸入されることはない。よって、上述した手法により精度良く推定された筒内吸入空気量に対して目標空燃比を得るために必要な燃料噴射量を計算し、同計算された燃料噴射量の燃料をインジェクタから噴射しても、機関（筒内）に吸入される混合気の空燃比は同目標空燃比と異なる空燃比となってしまう。換言すれば、機関に吸入される混合気の空燃比を目標空燃比と一致させるためには、筒内吸入空気量に加えて吸気通路構成部材への燃料付着量をも精度良く推定する必要がある。
【０００６】
以上のことから、上記文献に記載の装置は、吸気通路構成部材への燃料付着量を、吸気通路構成部材への燃料付着率と吸気通路構成部材に付着した燃料の燃料残留率（以下、これらを「燃料付着パラメータ」と称呼する。）を使用した燃料付着モデルを用いて推定し、推定した燃料付着量に応じて噴射すべき燃料の量を決定するようになっている。
【０００７】
ところで、筒内吸入空気量の推定に使用される上記比例係数等、及び燃料付着量の推定に使用される上記燃料付着パラメータは、種々の実験等を通して経験則に基づいて決定される値であって、機関の回転速度に応じて変化する値である。従って、上記文献に記載の装置においては、係る比例係数等、及び燃料付着パラメータは、機関の回転速度を引数とする所定のテーブル（マップ）と、機関の回転速度とにより決定されるようになっている。そして、係る機関の回転速度としては、便宜上、現時点（上記比例係数等の算出時点）での値が使用されている。
【０００８】
ところが、筒内吸入空気量、及び燃料付着量は、吸気弁閉時に確定する値であるから、少なくとも吸気弁閉時における機関の回転速度に大きく依存する値である。従って、機関の始動直後、レーシング（空ぶかし）等により機関の回転速度が急変する場合等、現時点（上記比例係数等の算出時点）での機関の回転速度が吸気弁閉時における機関の回転速度と大きく異なる場合、上記文献に記載の装置においては、上記比例係数等、及び燃料付着パラメータが適切な値と大きく異なる値に決定される。よって、筒内吸入空気量、及び燃料付着量が精度良く推定され得ず、この結果、機関に供給される混合気の空燃比を目標空燃比に精度良く維持することができない場合があるという問題がある。
【発明の開示】
【０００９】
本発明は、上記問題に対処するためになされたものであって、その目的は、内燃機関の始動直後等、機関の回転速度が急変する場合においても、筒内吸入空気量等のような機関を制御するために使用される値を精度良く推定できる内燃機関の制御装置を提供することにある。
【００１０】
本発明に係る内燃機関の制御装置は、回転速度予測手段と、算出手段とを備える。回転速度予測手段は、機関の特定の気筒の吸気弁閉時よりも前の所定の予測時点にて同特定気筒の吸気弁閉時における同機関の回転速度を予測する手段である。ここにおいて、「特定の気筒」とは、機関の複数気筒のうちの任意の一つの気筒を意味している。
【００１１】
また、「予測時点」は、特定気筒の吸気弁閉時よりも前の時点であって、例えば、同吸気弁閉時に対応する吸気行程の直前の排気行程の開始時点、或いは、同排気行程中であって、これらに限定されない。「吸気弁閉時」は、一般には、吸気行程終了時点の近傍の時点に設定される。
【００１２】
算出手段は、予測時点よりも後の時点であって特定気筒の吸気弁閉時よりも前の所定の算出時点にて前記予測された吸気弁閉時における機関の回転速度に基づいて同特定気筒について前記機関を制御するために使用される値を算出する手段である。ここにおいて、「算出時点」は、例えば、特定気筒の吸気弁閉時に対応する吸気行程の直前の排気行程中であって上記予測時点より後の時点等である。
【００１３】
また、「前記機関を制御するために使用される値」とは、特定気筒の吸気弁閉時における機関の回転速度に大きく依存する値、例えば、特定気筒の吸気行程において同特定気筒内に吸入される筒内吸入空気量（或いは、筒内吸入空気量を求めるための比例係数等）、前記機関の吸気通路を構成する部材への燃料付着量（或いは、燃料付着量を求めるための燃料付着パラメータ）等であり、更には、吸気弁の開閉時期を表す値（進角量）、カムのリフト量等である。
【００１４】
上記構成によれば、特定気筒の吸気弁閉時よりも前の時点（算出時点）にて、同算出時点より前の時点で予測された吸気弁閉時における機関の回転速度に基づいて同特定気筒について前記機関を制御するために使用される値（例えば、特定気筒の筒内吸入空気量を求めるための比例係数等（従って、特定気筒の筒内吸入空気量）、或いは、燃料付着パラメータ（従って、燃料付着量））が算出される。
【００１５】
従って、機関の始動直後等、機関の回転速度が急変して現時点（即ち、算出時点）での機関の回転速度がその後の吸気弁閉時における機関の回転速度と大きく異なる場合であっても、吸気弁閉時における機関の回転速度に大きく依存する値である筒内吸入空気量、燃料付着量等の機関を制御するために使用される値が精度良く算出され得る。この結果、機関の回転速度が急変する場合であっても、機関に吸入される混合気の空燃比を精度良く目標空燃比に維持することができる。
【００１６】
上記本発明に係る制御装置においては、前記回転速度予測手段は、前記予測時点の直前において実行された前記特定気筒の膨張行程の終了時点（即ち、排気行程の開始時点）での機関の回転速度を取得する回転速度取得手段と、前記特定気筒の膨張行程の終了時点から前記特定気筒の吸気弁閉時までの間において実行される同特定気筒以外の他の気筒の膨張行程における前記機関の図示トルク関連量を予測図示トルク関連量として予測する図示トルク予測手段とを備えるとともに、前記取得された前記特定気筒の膨張行程の終了時点での機関の回転速度と、前記予測された予測図示トルク関連量とに基づいて同特定気筒の吸気弁閉時における機関の回転速度を予測するように構成されることが好適である。
【００１７】
ここにおいて、「図示トルク関連量」とは、例えば、膨張行程における（即ち、膨張上死点から膨張下死点までの間における）図示トルクの平均値（平均図示トルク）、膨張行程における図示仕事等である。なお、「図示トルク」とは、機関の膨張行程における燃焼によってクランク軸に発生するトルクであり、「図示仕事」とは、機関の膨張行程における燃焼によって同機関が行う仕事である。
【００１８】
一般に、多気筒内燃機関においては、特定気筒の膨張行程終了時点から同特定気筒の吸気弁閉時までの間における機関の回転速度の変化の経緯は、その間において特定気筒以外の他の気筒にて順次実行されていく各膨張行程におけるそれぞれの燃焼エネルギー（従って、機関の図示仕事）に強く依存して決定され得る。
【００１９】
従って、特定気筒の膨張行程終了時点（近傍）での機関の回転速度と、同特定気筒の膨張行程終了時点から同特定気筒の吸気弁閉時までの間において実行される上記他の気筒の各膨張行程におけるそれぞれの機関の（予測）図示トルク関連量とを取得できれば、同特定気筒の吸気弁閉時における機関の回転速度を精度良く求めることができる。
【００２０】
以上のことから、上記のように構成すれば、特定気筒の膨張行程終了時点よりも後であって同特定気筒の吸気弁閉時より前の予測時点（同特定気筒の膨張行程終了時点の直後の時点を含む。）において、既知となっている特定気筒の膨張行程終了時点（近傍）での機関の回転速度と、予測された上記他の気筒の各膨張行程におけるそれぞれの機関の予測図示トルク関連量とに基づいて同特定気筒の吸気弁閉時における機関の回転速度を精度良く予測することができる。
【００２１】
この場合、前記回転速度予測手段は、前記予測時点の直前において実行された前記特定気筒の膨張行程における前記機関の実際の図示トルク関連量を実図示トルク関連量として取得する図示トルク取得手段と、前記取得された実図示トルク関連量と、前記特定気筒の膨張行程の燃焼に寄与した燃料量とに基づいて同特定気筒の膨張行程における前記機関の図示熱効率を算出する図示熱効率算出手段とを更に備え、前記図示トルク予測手段は、前記算出された図示熱効率と、前記他の気筒の膨張行程の燃焼に寄与する燃料量とに基づいて同他の気筒の膨張行程における前記機関の予測図示トルク関連量を予測するように構成されることが好適である。
【００２２】
ここにおいて、図示トルク取得手段は、特定気筒の膨張行程における機関の実図示トルク関連量を、筒内圧力センサを用いて直接的に取得するように構成されていても、後述するように、同特定気筒の膨張行程の開始時点及び終了時点でのそれぞれの機関の回転速度（より具体的には、同膨張行程中における機関の平均回転角加速度）と、機関のクランク軸についての回転運動方程式とに基づいて間接的に取得するように構成されていてもよい。
【００２３】
また、「膨張行程の燃焼に寄与する燃料量」は、噴射された燃料量そのものであっても、吸気通路構成部材への燃料付着量を考慮することにより計算され得る筒内に流入する燃料量であってもよい。
【００２４】
一般に、或る気筒の膨張行程における機関の図示熱効率は、同膨張行程における機関の図示仕事、或いは平均図示トルクと、同膨張行程の燃焼に寄与する燃料量とに基づいて求めることができる。換言すれば、或る気筒の膨張行程における機関の図示トルク関連量は、同膨張行程における機関の図示熱効率と、同膨張行程の燃焼に寄与する燃料量とを取得できれば求めることができる。
【００２５】
他方、特定気筒の膨張行程の終了時点から同特定気筒の吸気弁閉時までの短期間の間において実行される他の気筒の各膨張行程における機関の図示熱効率は、同特定気筒の膨張行程における機関の図示熱効率と略等しいと考えることができる。
【００２６】
以上のことから、上記のように構成すれば、特定気筒の膨張行程終了時点よりも後であって同特定気筒の吸気弁閉時より前の予測時点（同特定気筒の膨張行程終了時点の直後の時点を含む。）において、既知となっている同特定気筒の膨張行程における機関の実図示トルク関連量と、既知となっている同特定気筒の膨張行程の燃焼に寄与した燃料量とに基づいて同特定気筒の膨張行程における機関の図示熱効率が取得され得る。
【００２７】
そして、上記取得された特定気筒の膨張行程における機関の図示熱効率と、既知となっている上記他の気筒の各膨張行程の燃焼に寄与するそれぞれの燃料量とに基づいて同他の気筒の各膨張行程における機関の予測図示トルク関連量がそれぞれ予測され得る。
【００２８】
この場合、前記図示トルク予測手段は、前記機関の始動直後であって前記予測時点が同始動後における最初の燃焼に係わる膨張行程の終了時点よりも前の時点となる場合、前記算出された図示熱効率に代えて予め設定されている図示熱効率を使用して前記他の気筒の膨張行程における前記機関の予測図示トルク関連量を予測するように構成されることが好適である。ここで、「予め設定されている図示熱効率」は、例えば、機関の始動後における最初の燃焼に係わる膨張行程以降の幾つかの各膨張行程における機関の図示熱効率を実験等を通して予め調査することで取得することができる。
【００２９】
機関の始動直後であって上記予測時点が同始動後における最初の燃焼に係わる膨張行程の終了時点よりも前の時点となる場合、同予測時点の直前において実行された特定気筒の膨張行程において燃焼（着火）が未だ発生していないから、同特定気筒の膨張行程における機関の図示熱効率を実質的に算出することができず、この結果、上記他の気筒の膨張行程における機関の予測図示トルク関連量を予測することができない。
【００３０】
これに対し、上記のように構成すれば、係る場合であっても予め設定（調査）されている図示熱効率を使用して上記他の気筒の膨張行程における機関の予測図示トルク関連量を予測することができる。従って、機関の始動直後において、より早い段階から特定気筒の吸気弁閉時における機関の回転速度を予測できるようになり、この結果、より早い段階から筒内吸入空気量、燃料付着量等の機関を制御するために使用される値が精度良く算出され得る。
【００３１】
また、上記本発明に係る制御装置において、回転速度予測手段が図示トルク関連量を用いて特定気筒の吸気弁閉時における機関の回転速度を予測するように構成されている場合、同回転速度予測手段は、前記予測時点の直前において実行された前記特定気筒の膨張行程の終了時点から前記特定気筒の吸気弁閉時までの間において実行される前記他の気筒の膨張行程の終了時点のうち前記特定気筒の吸気弁閉時に最も近い終了時点と同特定気筒の吸気弁閉時とのタイミングのずれの程度に応じて回転速度補正量を求め、同求めた回転速度補正量に基づいて前記予測された特定気筒の吸気弁閉時における機関の回転速度を補正する補正手段を更に備えることが好適である。
【００３２】
例えば、内燃機関が４気筒内燃機関である場合、クランク角度が１８０°だけ増加する毎に各膨張行程が順次実行されていくから、各膨張行程が互いにオーバラップすることなく連続的に実行されていく。この場合、実際には、特定気筒の膨張行程の終了時点での機関の回転速度、並びに、同特定気筒の膨張行程に続く同特定気筒の排気行程と同時に実行される他の気筒の膨張行程、及び同特定気筒の排気行程に続く同特定気筒の吸気行程と同時に実行される他の気筒の膨張行程におけるそれぞれの（２つの）機関の予測図示トルク関連量（従って、燃焼エネルギー）に基づいて、同特定気筒の吸気弁閉時における機関の回転速度ではなく同特定気筒の吸気行程の終了時点での機関の回転速度が推定されることになる。
【００３３】
ここで、先に述べたように、一般に、吸気弁閉時は吸気行程終了時点の近傍の時点に設定されるから、上記特定気筒の吸気行程と同時に実行される他の気筒の膨張行程の終了時点が前記「特定気筒の吸気弁閉時に最も近い終了時点」に対応する。
【００３４】
よって、前記「特定気筒の吸気弁閉時に最も近い終了時点」（即ち、４気筒内燃機関の場合、特定気筒の吸気行程終了時点）と同特定気筒の吸気弁閉時とのタイミングのずれが存在する場合、特定気筒の吸気弁閉時における機関の回転速度は同ずれの程度に応じた分だけ同特定気筒の吸気行程終了時点での機関の回転速度と異なる値となる。
【００３５】
以上のことから、上記のように、上記タイミングのずれの程度に応じた回転速度補正量に基づいて前記予測された特定気筒の吸気弁閉時における機関の回転速度（即ち、４気筒内燃機関の場合、実際には、特定気筒の吸気行程終了時点での機関の回転速度）を補正するように構成すれば、同特定気筒の吸気弁閉時における機関の回転速度がより一層精度良く推定され得る。
【００３６】
なお、上記回転速度補正量は、例えば、上記タイミングのずれ量（例えば、クランク角度差）、前記予測された特定気筒の吸気弁閉時における（補正前の）機関の回転速度、特定気筒の吸気弁閉時において実行されている他の気筒の膨張行程の燃焼に寄与する燃料量等に応じて決定され得る。
【００３７】
他方、上記本発明に係る制御装置においては、前記回転速度予測手段は、前記機関が所定の運転状態にある場合におけるクランク角度と前記機関の回転速度との関係を規定するデータを予め記憶している記憶手段と、前記予測時点における前記機関の実際の回転速度と、同予測時点でのクランク角度と前記データとから得られる同機関の回転速度との比較結果に基づいて前記データを補正するデータ補正手段とを備えるとともに、前記特定気筒の吸気弁閉時におけるクランク角度と前記補正されたデータとに基づいて同特定気筒の吸気弁閉時における機関の回転速度を予測するように構成されてもよい。
【００３８】
ここにおいて、前記「機関が所定の運転状態にある場合」としては、例えば、機関が始動直後の状態にある場合等、機関の回転速度が急変する場合を選択することが好適である。例えば、機関の始動直後の所定の短期間内における機関の回転速度の変化の経緯を実験等を通して予め調査することにより、同期間内におけるクランク角度と機関の回転速度（基準回転速度）との関係を規定するデータを予め取得し、同取得したデータをマイクロコンピュータのＲＯＭ等に予め記憶しておくことができる。
【００３９】
しかしながら、機関の始動直後の機関の実際の回転速度の変化の経緯が、始動毎に毎回、上記基準回転速度の変化の経緯と完全に一致するとは限らない。従って、機関の実際の回転速度と上記基準回転速度との誤差を補償する手段が必要である。以上のことから、上記のように、データ補正手段により補正されたデータに基づいて特定気筒の吸気弁閉時における機関の回転速度を予測するように構成すれば、機関の実際の回転速度と上記基準回転速度との誤差が補償され得、予測時点にて、同予測時点よりも後の時点である特定気筒の吸気弁閉時における機関の回転速度を精度良く予測することができる。
【００４０】
この場合、前記データ補正手段は、現在の前記予測時点における比較結果と、過去の前記予測時点における比較結果とに基づいて前記データを補正するように構成されることが好適である。これによれば、現在の予測時点における比較結果（即ち、実際の回転速度と上記基準回転速度との差等）のみならず、過去の予測時点における比較結果が考慮されることで、将来の機関の実際の回転速度と上記基準回転速度との誤差をより一層精度良く予測できるようになる。
【００４１】
従って、将来の機関の実際の回転速度と上記基準回転速度との誤差をより一層精度良く補償することができるように上記データを補正することができる。この結果、予測時点にて、同予測時点よりも後の時点である特定気筒の吸気弁閉時における機関の回転速度を更に一層精度良く予測することができる。
【００４２】
また、上記本発明に係る制御装置においては、前記算出手段は、前記算出時点における機関の回転速度と、前記回転速度予測手段により予測された前記特定気筒の吸気弁閉時における機関の回転速度とに基づいて同算出時点から同特定気筒の吸気弁閉時までの経過時間を予測する経過時間予測手段を備えるとともに、前記予測された経過時間に更に基づいて、前記機関を制御するために使用される値としての前記特定気筒の吸気行程において同特定気筒内に吸入される筒内吸入空気量を算出するように構成されることが好適である。
【００４３】
特定気筒の筒内吸入空気量を精度良く算出するためには、同筒内吸入空気量を求めるための上述した比例係数等を適切な値に決定することに加え、同特定気筒の筒内吸入空気量の算出時点から同特定気筒の吸気弁閉時までの経過時間をも精度良く求めることが必要である（詳細は後述する。）。他方、機関の回転速度が急変する場合においては、係る経過時間は、特定気筒の筒内吸入空気量の算出時点における機関の回転速度のみならず、同特定気筒の吸気弁閉時における機関の回転速度にも大きく依存する。
【００４４】
以上のことから、上記のように構成すれば、機関の回転速度が急変する場合であっても、上記経過時間を精度良く予測することができるから上記算出時点において特定気筒の筒内吸入空気量をより一層精度良く算出することができる。
【００４５】
この場合、前記経過時間予測手段は、前記算出時点と前記特定気筒の吸気弁閉時との間においてクランク角度と前記機関の回転速度に応じた値とが線形関係にあると仮定することを利用して前記経過時間を予測するように構成されることが好適である。ここにおいて、前記「機関の回転速度に応じた値」とは、機関の回転速度（回転角速度）そのもの、或いは、機関の回転速度（回転角速度）の逆数等である。これによれば、上記経過時間を簡易、且つ精度良く計算することができる（詳細は、後述する。）。
【００４６】
また、上記本発明に係る制御装置においては、前記算出手段は、前記算出時点における機関の回転速度と、前記回転速度予測手段により予測された前記特定気筒の吸気弁閉時における機関の回転速度とに基づいて、前記機関を制御するために使用される値としての前記機関の吸気通路を構成する部材への燃料付着量を少なくとも算出するように構成され、前記算出された燃料付着量に基づいて前記特定気筒に噴射すべき燃料量を決定する燃料噴射量決定手段を更に備えることが好適である。
【００４７】
機関の回転速度が急変する場合においては、吸気通路構成部材への燃料付着量を求めるための燃料付着パラメータの値は、同燃料付着量の算出時点における機関の回転速度のみならず、特定気筒の吸気弁閉時における機関の回転速度にも大きく依存する。従って、上記のように構成すれば、機関の回転速度が急変する場合であっても、燃料付着量（即ち、燃料付着パラメータの値）が精度良く算出され得る。この結果、燃料付着量（即ち、燃料付着パラメータの値）に基づいて機関に吸入される混合気の空燃比を目標空燃比と一致させるために特定気筒に噴射すべき燃料量を精度良く決定することができる。
【００４８】
先に述べたように、本発明により予測された吸気弁閉時における機関の回転速度に基づいて筒内吸入空気量などの「機関を制御するために使用される値」を算出することは、機関の始動直後など機関の回転速度が急変（急増）して現時点（即ち、算出時点）での機関の回転速度がその後の吸気弁閉時における機関の回転速度と大きく異なる場合において特に有効である。
【００４９】
一方、機関が定常運転状態に移行した場合など現時点での機関の回転速度がその後の吸気弁閉時における機関の回転速度と大きく異ならない場合、現時点（即ち、算出時点）での機関の回転速度に基づいて「機関を制御するために使用される値」を算出しても「機関を制御するために使用される値」は十分に精度の良い値となり得、この結果、機関に吸入される混合気の空燃比を十分に精度良く目標空燃比に維持し得る。
【００５０】
更には、上記予測された吸気弁閉時における機関の回転速度は、例えば、上記予測図示トルク等を使用して推定される推定値であるから、不可避的に推定誤差を含んだ値となる。従って、現時点での機関の回転速度がその後の吸気弁閉時における機関の回転速度と大きく異ならない場合、現時点（即ち、算出時点）での機関の回転速度に基づいて「機関を制御するために使用される値」を算出することが「機関を制御するために使用される値」を精度良く算出する上でむしろ好ましい。
【００５１】
以上のことから、本発明により予測された吸気弁閉時における機関の回転速度に基づいて「機関を制御するために使用される値」を算出するための条件を設定し、同条件が成立している場合のみ、上記予測された吸気弁閉時における機関の回転速度に基づいて「機関を制御するために使用される値」を算出することが好ましいと考えられる。
【００５２】
係る知見に基づき、上記本発明に係る制御装置においては、前記算出手段は、前記回転速度予測手段により予測された前記特定気筒の吸気弁閉時における機関の回転速度に基づいて同特定気筒について前記機関を制御するために使用される値を算出するための条件である算出条件が成立しているか否かを判定する算出条件判定手段を備えるとともに、前記算出条件が成立していないと判定されている間、前記予測された吸気弁閉時における機関の回転速度に代えて前記算出時点における機関の回転速度に基づいて前記機関を制御するために使用される値を算出するように構成することが好適である。
【００５３】
これによれば、例えば、本発明に係る制御装置は、機関の始動直後、空ぶかし時など、機関の回転速度が急増していく（可能性が高い）特定の過渡運転状態においてのみ上記算出条件が成立するように構成される。これにより、「機関を制御するために使用される値」は、上記特定の過渡運転状態では上記予測された吸気弁閉時における機関の回転速度が考慮されて算出され得、同特定の過渡運転状態以外の状態（例えば、定常運転状態）では算出時点（即ち、現時点）における機関の回転速度に基づいて（上記予測された吸気弁閉時における機関の回転速度が考慮されることなく）算出され得る。
【００５４】
従って、機関の運転状態にかかわらず「機関を制御するために使用される値」が十分に精度の良い値となり得、この結果、機関の運転状態にかかわらず機関に吸入される混合気の空燃比を精度良く目標空燃比に維持し得る。
【００５５】
この場合、前記算出条件判定手段は、前記算出条件が成立していると判定されている場合において前記回転速度予測手段により予測された前記特定気筒の吸気弁閉時における機関の回転速度から現時点（具体的には、前記算出時点、或いは前記予測時点）における機関の回転速度を減じた値（以下、「回転上昇量」と称呼する。）が所定回転速度未満となったとき、以降、前記算出条件が成立していないと判定するように構成されることが好適である。
【００５６】
上記機関の回転速度が急増していく特定の過渡運転状態が終了して定常運転状態へと移行する段階になると、上記回転上昇量が次第に小さくなっていく。換言すれば、回転上昇量が所定回転速度未満となることは、上記特定の過渡運転状態が終了する傾向があることを意味している。
【００５７】
従って、上記構成によれば、簡易、且つ的確に上記特定の過渡運転状態が終了する傾向を検出することができ、この結果、上記算出条件が成立していると判定されている場合において同算出条件が成立していないとの判定が適切なタイミングでなされ得る。従って、「機関を制御するために使用される値」を算出するために使用される機関の回転速度の切り替え（具体的には、上記予測された吸気弁閉時における機関の回転速度から上記算出時点（即ち、現時点）における機関の回転速度への切り替え）も適切なタイミングでなされ得る。
【００５８】
また、この場合、前記算出条件判定手段は、前記算出条件が成立していないと判定されている場合においてスロットル弁の開度の増加速度が所定速度を超えたとき、以降、前記算出条件が成立していると判定するように構成されることが好ましい。
【００５９】
一般に、運転者により空ぶかしが行われる場合、スロットル弁の開度の増加速度が大きくなる。換言すれば、スロットル弁の開度の増加速度が所定速度を超えることは、空ぶかし（従って、上記特定の過渡運転状態）が始まる傾向があることを意味している。
【００６０】
従って、上記構成によれば、簡易、且つ的確に上記特定の過渡運転状態が始まる傾向を検出することができ、この結果、上記算出条件が成立していないと判定されている場合において同算出条件が成立しているとの判定が的確なタイミングでなされ得る。従って、「機関を制御するために使用される値」を算出するために使用される機関の回転速度の切り替え（具体的には、上記算出時点（即ち、現時点）における機関の回転速度から上記予測された吸気弁閉時における機関の回転速度への切り替え）も適切なタイミングでなされ得る。
【００６１】
更には、この場合、前記算出手段は、前記予測時点の直前において実行された前記特定気筒の膨張行程において悪化燃焼が発生したか否かを判定する悪化燃焼判定手段と、前記算出条件が成立していると判定されている場合において前記悪化燃焼が発生したと判定されたとき、前記算出条件が成立していないと判定することを禁止する禁止手段とを備えることが好適である。
【００６２】
ここにおいて、前記悪化燃焼とは、例えば、失火、部分燃焼（噴射された燃料のうちの一部のみが燃焼する現象）を含む。また、悪化燃焼判定手段は、例えば、前記図示熱効率算出手段により算出される前記予測時点の直前において実行された前記特定気筒の膨張行程における機関の（実際の）図示熱効率と、同膨張行程において筒内の燃料が総て完全燃焼したとの仮定のもとで算出される熱効率（基準熱効率）との比較結果に基づいて悪化燃焼が発生したか否かを判定するように構成される。
【００６３】
上記機関の回転速度が急増していく特定の過渡運転状態が継続している間（従って、前記算出条件が成立していると判定されている場合）において悪化燃焼が発生すると、例えば、上記図示トルク予測手段により予測される予測図示トルクが小さめに算出されることで上記回転上昇量が小さめに計算される。
【００６４】
ここで、例えば、上述したように、本発明に係る制御装置が、前記算出条件が成立していると判定されている場合において上記回転上昇量が所定回転速度未満となったときに前記算出条件が成立していないと判定するように構成されている場合について考える。この場合、前記算出条件が成立していると判定されている場合において悪化燃焼が発生すると、前記算出条件が成立していないとの判定がなされ得る。この場合、以降、「機関を制御するために使用される値」は、算出時点（即ち、現時点）における機関の回転速度に基づいて算出される。
【００６５】
しかしながら、悪化燃焼が発生した直後において正常な燃焼により機関の回転速度が再び急増する場合も考えられる。この場合、算出時点（即ち、現時点）における機関の回転速度に基づいて算出される「機関を制御するために使用される値」は精度の良い値となり得ず、この結果、機関に吸入される混合気の空燃比が目標空燃比に精度良く維持され得なくなる。
【００６６】
以上のことから、前記算出条件が成立していると判定されている場合において悪化燃焼が発生した場合、算出条件が成立していないとの判定がなされることを禁止することが好ましいと考えられる。
【００６７】
即ち、上記構成によれば、上記機関の回転速度が急増していく特定の過渡運転状態が継続している間（従って、前記算出条件が成立していると判定されている場合）において、前記算出条件が成立していないとの判定がなされるべきでないにもかかわらず悪化燃焼の発生に起因して前記算出条件が成立していないとの誤った判定がなされることが防止される。
【発明を実施するための最良の形態】
【００６８】
以下、本発明による内燃機関の制御装置の各実施形態について図面を参照しつつ説明する。
【００６９】
（第１実施形態）
図１は、本発明の第１実施形態に係る制御装置を含んだ燃料噴射量制御装置を火花点火式多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０とを含んでいる。
【００７０】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３、及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００７１】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角、従って、吸気弁３２の開閉タイミングの進角量（以下、単に、「進角量」と云う。）を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８、及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００７２】
アクチュエータ３３ａは、後述する電子制御装置７０により目標進角量VVTtが与えられると、実際の進角量VVTが目標進角量VVTtとなるように可変吸気タイミング装置３３を駆動するようになっている。目標進角量VVTtは、エンジン回転速度NEと、機関の負荷（具体的には、後述する予測吸入空気量KLfwd）とに基づいて逐次決定されるようになっている。
【００７３】
吸気系統４０は、吸気ポート３１に連通し同吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットル弁４３、スロットル弁駆動手段を構成するスロットル弁アクチュエータ４３ａ、スワールコントロールバルブ（以下、「ＳＣＶ」と称呼する。）４４、及びＳＣＶアクチュエータ４４ａを備えている。
【００７４】
ＤＣモータからなるスロットル弁アクチュエータ４３ａは、電子制御装置７０が達成する電子制御スロットル弁ロジックにより目標スロットル弁開度TAtが与えられると、実際のスロットル弁開度TAが目標スロットル弁開度TAtとなるようにスロットル弁４３を駆動するようになっている。
【００７５】
排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１に接続されたエキゾーストパイプ５２、及び、エキゾーストパイプ５２に介装された触媒コンバータ（三元触媒装置）５３を備えている。ここで、排気ポート３４、エキゾーストマニホールド５１、及びエキゾーストパイプ５２は、排気通路を構成している。
【００７６】
一方、このシステムは、熱線式エアフローメータ６１、吸気温センサ６２、大気圧センサ（スロットル弁上流圧力センサ）６３、スロットルポジションセンサ６４、SCV開度センサ６５、カムポジションセンサ６６、クランクポジションセンサ６７、水温センサ６８、空燃比センサ６９、及び、アクセル開度センサ８１を備えている。
【００７７】
エアフローメータ６１は、吸気管４１内を流れる吸入空気の質量流量を計測し、同質量流量に応じた電圧Vgを出力するようになっている。大気温センサ６２は、エアフローメータ６１内に備えられていて、吸入空気の温度（従って、大気温度）を検出し、大気温度Taを表す信号を出力するようになっている。大気圧センサ６３は、スロットル弁４３の上流の圧力（即ち、大気圧）を検出し、大気圧Paを表す信号を出力するようになっている。
【００７８】
スロットルポジションセンサ６４は、スロットル弁４３の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。SCV開度センサ６５は、ＳＣＶ４４の開度を検出し、ＳＣＶ開度θivを表す信号を出力するようになっている。カムポジションセンサ６６は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。この信号は、（実際の）進角量VVTを表す。クランクポジションセンサ６７は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NE(rev/min)を表す。
【００７９】
水温センサ６８は、内燃機関１０の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。空燃比センサ６９は、触媒コンバータ５３に流入する排ガス中の酸素濃度を検出することで同排ガスの空燃比を表す信号を出力するようになっている。アクセル開度センサ８１は、運転者によって操作されるアクセルペダルＡＰの操作量を検出し、同アクセルペダルの操作量Accpを表す信号を出力するようになっている。
【００８０】
電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するプログラム、テーブル（ルックアップテーブル、マップ）、定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、及びＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。インターフェース７５は、前記センサ６１〜６９，８１と接続され、ＣＰＵ７１にセンサ６１〜６９，８１からの信号を供給するとともに、同ＣＰＵ７１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９、スロットル弁アクチュエータ４３ａ、及びＳＣＶアクチュエータ４４ａに駆動信号を送出するようになっている。
【００８１】
次に、上記のように構成された制御装置を含んだ燃料噴射量制御装置（以下、「本装置」と云うこともある。）による物理モデルを用いた燃料噴射量の決定方法について説明する。以下に述べる処理は、ＣＰＵ７１がプログラムを実行することにより行われる。
【００８２】
（燃料噴射量fiの決定方法の概要）
このような燃料噴射量制御装置は、吸気行程にある気筒、又は吸気行程の直前の排気行程にある気筒の吸気弁３２が、その吸気行程において開弁した状態から閉弁する状態に移行する時点（即ち、吸気弁閉時）より前の時点にて、同気筒に対して所定量の燃料を噴射する必要がある。そのため、本装置は、吸気弁閉時において同気筒内に吸入されているであろう筒内吸入空気量を前もって予測し、同予測した筒内吸入空気量に応じた燃料量の燃料を吸気弁閉時より前の時点で同気筒に対して噴射する。
【００８３】
本例においては、噴射開始時期を、エンジンの運転状態に応じて別途定められる排気行程中における所定の時期と定めている。よって、本例では、排気行程にある気筒（特定気筒）を燃料噴射気筒（#inj気筒）と呼ぶ。そして、本装置は、#inj気筒の排気行程中における上記所定の噴射開始時期よりも前の時点（算出時点）にて、#inj気筒の筒内吸入空気量（後述する予測吸入空気量KLfwd。即ち、「特定気筒について機関を制御するために使用される値」）を予測・算出する。なお、説明の便宜上、現在#inj気筒となっている気筒以外の残りの３気筒を、その後に燃料噴射されていく（従って、点火されていく）順に、#(inj+1)気筒、#(inj+2)気筒、#(inj+3)気筒と呼ぶことにする。
【００８４】
一方、吸気弁閉時のスロットル弁下流の吸気管内の空気圧力（即ち、吸気管圧力）は、筒内吸入空気量と密接な関係にある。また、吸気弁閉時の吸気管圧力は、吸気弁閉時のスロットル弁開度に依存する。そこで、本装置は、#inj気筒の吸気弁閉時のスロットル弁開度を予測・推定し、そのスロットル弁開度に基づいて上記予測吸入空気量KLfwdを算出する。
【００８５】
また、予測吸入空気量KLfwdは、エンジン回転速度に影響される値であり、且つ吸気弁閉時に確定する値であるから、少なくとも吸気弁閉時におけるエンジン回転速度に大きく依存する値である。そこで、本装置は、予測吸入空気量KLfwdを予測する時点（算出時点）よりも前の#inj気筒の排気行程中の時点（予測時点）にて、#inj気筒の吸気弁閉時におけるエンジン回転速度（予測エンジン回転速度NEfwd）を事前に予測し、その予測エンジン回転速度NEfwdにも基づいて#inj気筒の予測吸入空気量KLfwdを算出する。
【００８６】
そして、本装置は、このように算出された予測吸入空気量KLfwdに応じて燃料噴射量fi（＝fi(k)）を求める。ここで、添え字ｋは今回の演算値であることを示している（以下、他の変数等についても同様。）。以上が、燃料噴射量fiを求める方法の概要である。
【００８７】
（具体的構成・作用）
以下、上記した燃料噴射量fiを求めるための本装置の具体的構成、及び作用について説明する。本装置は、機能ブロック図である図２に示したように、予測エンジン回転速度NEfwdを予測するNE予測モデルＡ１、電子制御スロットル弁ロジックＡ２、電子制御スロットル弁モデルＡ３、内燃機関の吸気系における空気の挙動をモデル化した空気モデルを含む吸入空気モデルＡ４、予測吸入空気量KLfwdを算出するKL予測モデルＡ５、目標空燃比設定手段Ａ６、及び噴射量決定手段Ａ７を含んでいる。以下、個別具体的に、各手段、及びモデル等について説明する。
【００８８】
（NE予測モデル）
先ず、#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdを予測するNE予測モデルＡ１について説明する。図３は、機関１０の始動直後におけるエンジン回転速度NEの変化、並びに、各気筒の噴射期間、吸気弁３２の開弁期間、及び点火タイミングの一例を示した図である。図３に示したように、機関１０においては、#1気筒、#3気筒、#4気筒、#2気筒の順に、排気行程にある気筒（従って、#inj気筒）に対して同排気行程中の所定の噴射開始時期が到来する毎に燃料が繰り返し噴射されていくようになっている。
【００８９】
また、この例では、クランク角度CA0以前にて図示しないスタータモータにより機関が所定の低回転速度にて駆動されるとともに、#1気筒が圧縮行程から膨張行程に移行するタイミング（即ち、#1気筒の膨張上死点が到来する時点）であるクランク角度CA0にて最初の点火（従って、最初の燃焼）が実行されている。以降、各気筒の膨張上死点が到来する毎に（即ち、クランク角度CAが１８０°増加する毎に）同膨張上死点が到来する気筒に対して順次点火が実行されていく。この結果、エンジン回転速度NEは、クランク角度CA0以降、膨張行程における燃焼エネルギーにより急激に増大している。
【００９０】
NE予測モデルＡ１は、各気筒が膨張行程から排気行程に移行するタイミング（即ち、各気筒の膨張下死点）が到来する毎（即ち、クランク角度CAが１８０°増加する毎。図３においては、例えば、クランク角度CA1,CA2,CA3,CA5に対応する。）に、同排気行程に移行した気筒、即ち、新たに#inj気筒となった気筒のその後の吸気弁閉時におけるエンジン回転速度NEfwdを順次予測していく。以下、現時点がクランク角度CA1に対応していて、NE予測モデルＡ１が、現時点（予測時点）にて、将来のクランク角度CA4に対応する#inj気筒（即ち、#1気筒）の吸気弁閉時におけるエンジン回転速度を予測するものとして説明を続ける。
【００９１】
この場合、現時点（クランク角度CA1。#inj気筒の膨張行程終了時点）から、#inj気筒の吸気弁閉時（即ち、クランク角度CA4）までの間におけるエンジン回転速度NEの変化の経緯は、その間において順次実行されていく#(inj+1)気筒（即ち、#3気筒）、及び#(inj+2)気筒(即ち、#4気筒)の各膨張行程（図３において、Ｂ、及びＣに対応する。）におけるそれぞれの燃焼エネルギー（従って、機関の図示仕事）に強く依存して決定される。
【００９２】
また、膨張行程における機関の図示仕事は、同膨張行程中における機関の平均図示トルクを用いて求めることができる。従って、現時点（クランク角度CA1）において、図３におけるＢ、及びＣに対応する#(inj+1)気筒、及び#(inj+2)気筒の各膨張行程におけるそれぞれの機関の平均図示トルクを予測することができれば、#inj気筒の吸気弁閉時（クランク角度CA4）における予測エンジン回転速度NEfwdを予測することができる。
【００９３】
以上の観点に基づき、NE予測モデルＡ１は、図４に示す各手段Ａ１１〜Ａ１７を備えている。以下、個別具体的に、各手段について説明する。
【００９４】
<#inj気筒の図示トルク算出手段Ａ１１>
#inj気筒の図示トルク算出手段Ａ１１は、現時点（予測時点）の直前において既に実行された#inj気筒の膨張行程（図３において、Ａに対応する。）における機関の平均実図示トルクTi#injを、クランク軸２４の回転運動方程式に基づいて得られた下記(1)式に従って算出する手段である。下記(1)式については、特開２００４−９２６０３号公報に記載されているので、ここでは、その詳細な説明を省略する。
【００９５】
Ti#inj＝J・(dω/dt)ave＋Tf#inj  ・・・(1)
【００９６】
上記(1)式において、Jは混合気の燃焼によって駆動されるクランク軸２４を含む駆動系部材全体の慣性モーメントである。(dω/dt)aveはクランク軸２４の回転角速度（従って、エンジン回転角速度）ω(rad/sec)の時間微分値であるエンジン回転角加速度dω/dtの上記#inj気筒の膨張行程における平均値（平均エンジン回転角加速度）である。ここで、J・(dω/dt)aveは、エンジン回転角加速度に起因する動的な損失トルクを表す。Tf#injはシリンダ２１の内壁面とピストン２２の外周面との摩擦等に基づく上記#inj気筒の膨張行程におけるフリクショントルクである。
【００９７】
平均エンジン回転角加速度(dω/dt)aveは、下記(2)式に従って求めることができる。下記(2)式において、ωbdc#injは上記#inj気筒の膨張行程終了時点（即ち、膨張下死点時。図３において、クランク角度CA1に対応する。）におけるエンジン回転角速度である。ωtdcは上記#inj気筒の膨張行程開始時点（即ち、膨張上死点時。図３において、クランク角度CA0に対応する。）におけるエンジン回転角速度である。ΔTは上記#inj気筒の膨張行程に要した時間である。これら２つのエンジン回転角速度は、現時点（クランク角度CA1）において、クランクポジションセンサ６７により得られる過去のエンジン回転速度NEからそれぞれ取得することができる。
【００９８】
(dω/dt)ave＝(ωbdc#inj−ωtdc)/ΔT  ・・・(2)
【００９９】
また、フリクショントルクTf#injは、エンジン回転速度NEと、冷却水温THWに強く依存して決定されると考えられる。従って、エンジン回転速度NE、及び冷却水温THWと、フリクショントルクTf#injとの関係を規定するテーブルを予め実験等を通して作製しておけば、フリクショントルクTf#injは同作製したテーブルMapTf(NE,THW)に従って求めることができる。本例では、テーブルMap(NE,THW)の引数として、上記#inj気筒の膨張行程における平均エンジン回転速度、及び平均冷却水温が使用される。以上により、現時点において、上記(1)式に使用される各変数は総て取得され得、同(1)式に従って#inj気筒の膨張行程（図３において、Ａに対応する。）における機関の平均実図示トルクTi#injを算出することができる。
【０１００】
<#inj気筒の図示熱効率算出手段Ａ１２>
#inj気筒の図示熱効率算出手段Ａ１２は、上記#inj気筒の膨張行程（図３において、Ａに対応する。）における機関の図示熱効率η#injを、下記(3)式に従って算出する手段である。
【０１０１】
【数１】
2005337225.tif 000003
【０１０２】
上記(3)式において、Ti#injは上記(1)式に従って求められる機関の平均実図示トルクである。Huは機関１０が使用する燃料（ガソリン）の低発熱量（本例では、一般的な燃料についての値。一定値）である。mf#inj(k-1)は現時点において既知である後述する#inj気筒についての前回の筒内流入燃料量（即ち、#inj気筒の膨張行程（図３において、Ａに対応する。）の燃焼に寄与した燃料量。図３を参照。）である。なお、添え字k-1は前回の演算値であることを示している（以下、他の変数等についても同様。）。
【０１０３】
上記(3)式において、分母は上記#inj気筒の膨張行程における燃焼により発生し得る燃焼エネルギーの理論値を表し、分子は同膨張行程中（クランク角度πrad分）における機関の図示仕事を表す。以上により、現時点において、上記(3)式に使用される各変数は総て取得され得、同(3)式に従って#inj気筒の膨張行程（図３において、Ａに対応する。）における機関の図示熱効率η#injを算出することができる。
【０１０４】
<#(inj+1)気筒の図示トルク予測手段Ａ１３>
#(inj+1)気筒の図示トルク予測手段Ａ１３は、#(inj+1)気筒の膨張行程（図３において、Ｂに対応する。）における機関の平均予測図示トルクTi#(inj+1)を予測する手段である。上記(3)式と同様に、#(inj+1)気筒の膨張行程における機関の図示熱効率η#(inj+1)は下記(4)式に従って表すことができる。下記(4)式において、mf#(inj+1)(k-1)は現時点において既知である#(inj+1)気筒についての前回の筒内流入燃料量（即ち、#(inj+1)気筒の膨張行程（図３において、Ｂに対応する。）の燃焼に寄与した燃料量。図３を参照。）である。
【０１０５】
【数２】
2005337225.tif 000004
【０１０６】
他方、現時点（クランク角度CA1）から#inj気筒の吸気弁閉時（クランク角度CA4）までの短期間の間において実行される#(inj+1)気筒、及び#(inj+2)気筒の各膨張行程（図３において、Ｂ、及びＣに対応する。）における機関の図示熱効率は、上記(3)式に従って求められる#inj気筒の膨張行程（図３において、Ａに対応する。）における上記機関の図示熱効率η#injと略等しいと考えることができる。
【０１０７】
以上のことから、#(inj+1)気筒の図示トルク予測手段Ａ１３は、上記(4)式においてη#(inj+1)をη#injと置き換えた後の式をTi#(inj+1)について解くことで得られる下記(5)式に従って、#(inj+1)気筒の膨張行程（図３において、Ｂに対応する。）における機関の平均予測図示トルクTi#(inj+1)を予測する。
【０１０８】
【数３】
2005337225.tif 000005
【０１０９】
<#(inj+2)気筒の図示トルク予測手段Ａ１４>
#(inj+2)気筒の図示トルク予測手段Ａ１４は、#(inj+2)気筒の膨張行程（図３において、Ｃに対応する。）における機関の平均予測図示トルクTi#(inj+2)を予測する手段である。#(inj+2)気筒の図示トルク予測手段Ａ１４は、#(inj+1)気筒の図示トルク予測手段Ａ１３と同様、上記(5)式に相当する下記(6)式に従って、上記機関の平均予測図示トルクTi#(inj+2)を予測する。
【０１１０】
【数４】
2005337225.tif 000006
【０１１１】
上記(6)式において、mf#(inj+2)(k-1)は現時点において既知である#(inj+2)気筒についての前回の筒内流入燃料量（即ち、#(inj+2)気筒の膨張行程（図３において、Ｃに対応する。）の燃焼に寄与した燃料量。図３を参照。）である。
【０１１２】
<#(inj+1)気筒の膨張下死点でのNE予測手段Ａ１５>
#(inj+1)気筒の膨張下死点でのNE予測手段Ａ１５は、#(inj+1)気筒の膨張行程（図３において、Ｂに対応する。）の終了時点（クランク角度CA2）におけるエンジン回転角速度ωbdc#(inj+1)（従って、エンジン回転速度NEbdc#(inj+1)）を予測する手段である。
【０１１３】
機関１０のように４気筒内燃機関の場合、図３に示すように、クランク角度CAが１８０°だけ増加する毎に各膨張行程が順次実行されていくから、各膨張行程が互いにオーバラップすることなく連続的に実行されていく。従って、各膨張行程（クランク角度πrad分）において機関が駆動系部材に与えることができる仕事（即ち、正味仕事）は、同膨張行程における同駆動系部材の回転運動エネルギーの増加分と等しくなる。
【０１１４】
他方、膨張行程における機関の正味仕事は、膨張行程における機関の図示仕事からシリンダ２１の内壁面とピストン２２の外周面との摩擦等に基づく膨張行程における摩擦仕事（損失仕事）を減じることで求めることができる。以上のことから、#(inj+1)気筒の膨張行程（図３において、Ｂに対応する。）について下記(7)式が成立する。
【０１１５】
【数５】
2005337225.tif 000007
【０１１６】
上記(7)式において、ωbdc#injは#inj気筒の膨張行程（図３において、Ａに対応する。）の終了時点（クランク角度CA1。即ち、現時点）における既知であるエンジン回転速度NEbdc#injから求められる同時点でのエンジン回転角速度である。Ti#(inj+1)は上記(5)式に従って求められる#(inj+1)気筒の膨張行程における機関の平均予測図示トルクである。Tf#(inj+1)は#(inj+1)気筒の膨張行程におけるフリクショントルクであって、上記テーブルMapTf(NE,THW)に従って求めることができる。ここでは、テーブルMap(NE,THW)の引数として、便宜上、現時点（即ち、#(inj+1)気筒の膨張行程開始時点）におけるエンジン回転速度、及び冷却水温が使用される。
【０１１７】
上記(7)式において、左辺は、#(inj+1)気筒の膨張行程における駆動系部材の回転運動エネルギーの増加分を表す。また、右辺において、「π・Ti#(inj+1)」は#(inj+1)気筒の膨張行程（クランク角度πrad分）における機関の図示仕事を表し、「π・Tf#(inj+1)」は同膨張行程における摩擦仕事を表すから、右辺は、#(inj+1)気筒の膨張行程における機関の正味仕事を表す。上記(7)式をωbdc#(inj+1)について解くと下記(8)式が得られる。
【０１１８】
【数６】
2005337225.tif 000008
【０１１９】
以上により、現時点において、上記(8)式に使用される各変数は総て取得され得、#(inj+1)気筒の膨張下死点でのNE予測手段Ａ１５は、同(8)式に従って#(inj+1)気筒の膨張行程（図３において、Ｂに対応する。）の終了時点（クランク角度CA2）におけるエンジン回転角速度ωbdc#(inj+1)（従って、エンジン回転速度NEbdc#(inj+1)）を予測する。
【０１２０】
<#(inj+2)気筒の膨張下死点でのNE予測手段Ａ１６>
#(inj+2)気筒の膨張下死点でのNE予測手段Ａ１６は、#(inj+2)気筒の膨張行程（図３において、Ｃに対応する。）の終了時点（クランク角度CA3）におけるエンジン回転角速度ωbdc#(inj+2)（従って、エンジン回転速度NEbdc#(inj+2)）を予測する手段である。#(inj+2)気筒の膨張下死点でのNE予測手段Ａ１６は、#(inj+1)気筒の膨張下死点でのNE予測手段Ａ１５と同様、上記(8)式に相当する下記(9)式に従って、上記エンジン回転角速度ωbdc#(inj+2)（従って、エンジン回転速度NEbdc#(inj+2)）を予測する。
【０１２１】
【数７】
2005337225.tif 000009
【０１２２】
上記(9)式において、ωbdc#(inj+1)は上記(8)式に従って求められる#(inj+1)気筒の膨張行程の終了時点におけるエンジン回転角速度である。Ti#(inj+2)は上記(6)式に従って求められる#(inj+2)気筒の膨張行程における機関の平均予測図示トルクである。Tf#(inj+2)は#(inj+2)気筒の膨張行程におけるフリクショントルクであって、上記テーブルMapTf(NE,THW)に従って求めることができる。ここでは、テーブルMap(NE,THW)の引数として、便宜上、#(inj+2)気筒の膨張行程開始時点（即ち、クランク角度CA2）における上記予測されたエンジン回転速度NEbdc#(inj+1)、及び現時点での冷却水温が使用される。
【０１２３】
<#inj気筒の吸気弁閉時NE予測手段Ａ１７>
#inj気筒の吸気弁閉時NE予測手段Ａ１７は、#inj気筒の吸気弁閉時（クランク角度CA4）における予測エンジン回転速度NEfwdを予測する手段である。本装置は、吸気弁閉時を機関の運転状態に応じて、吸気行程終了時点よりも後の時点であって同時点の近傍の時点に設定する。従って、図３に示した例のように、#inj気筒の吸気行程終了時点（即ち、#(inj+2)気筒の膨張行程終了時点。クランク角度C3）と#inj気筒の吸気弁閉時（クランク角度C4）との間にクランク角度差ΔCAlateが存在する場合、#inj気筒の吸気弁閉時におけるエンジン回転速度は、同クランク角度差ΔCAlateに応じた分だけ上記(9)式に従って求められる#(inj+2)気筒の膨張行程終了時点におけるエンジン回転速度NEbdc#(inj+2)と異なる値となる。
【０１２４】
従って、#inj気筒の吸気弁閉時におけるエンジン回転速度を精度良く予測するためには、上記エンジン回転速度NEbdc#(inj+2)を上記クランク角度差ΔCAlateに応じた補正量ΔNEだけ補正する必要がある。ここで、係る補正量ΔNEは、少なくとも、上記クランク角度差ΔCAlateと、上記予測されたエンジン回転速度NEbdc#(inj+2)と、#inj気筒の吸気弁閉時（クランク角度CA4）において実行される#(inj+3)気筒（即ち、#2気筒）の膨張行程（図３において、Ｄに対応する。）の燃焼に寄与する燃料量（即ち、現時点（クランク角度CA1）において既知である#(inj+3)気筒についての前回の筒内流入燃料量mf#(inj+3)(k-1)とに応じて決定されると考えられる。
【０１２５】
従って、補正量ΔNEは予め求められている関数funcΔNEを用いて下記(10)式に従って求めることができる。以上のことから、#inj気筒の吸気弁閉時NE予測手段Ａ１７（補正手段）は、下記(11)式に従って、#inj気筒の吸気弁閉時（クランク角度CA4）における予測エンジン回転速度NEfwdを予測する。
【０１２６】
ΔNE＝funcΔNE(ΔCAlate, NEbdc#(inj+2),
mf#(inj+3)(k-1))  ・・・(10)
【０１２７】
NEfwd＝NEbdc#(inj+2)＋ΔNE  ・・・(11)
【０１２８】
以上のように、NE予測モデルＡ１は、現時点（クランク角度CA1）において、#inj気筒の膨張行程終了時点（即ち、現時点）でのエンジン回転速度NEbdc#injと、#(inj+1)気筒の膨張行程における平均予測図示トルクTi#(inj+1)と、#(inj+2)気筒の膨張行程における平均予測図示トルクTi#(inj+2)とに基づいて、#inj気筒の吸気弁閉時（クランク角度CA4）における予測エンジン回転速度NEfwdを予測する。そして、現時点以降、NE予測モデルＡ１は、各気筒の膨張下死点が到来する毎（即ち、クランク角度CAが１８０°増加する毎）に、新たに#inj気筒となった気筒のその後の吸気弁閉時における新たなエンジン回転速度NEfwdを順次予測していく。
【０１２９】
（電子制御スロットル弁ロジックＡ２と電子制御スロットル弁モデルＡ３）
次に、図２を再び参照しながら、スロットル弁開度を制御するための電子制御スロットル弁ロジックＡ２と、将来における（現時点よりも先の時点における）スロットル弁開度を予測する電子制御スロットル弁モデルＡ３について説明する。
【０１３０】
電子制御スロットル弁ロジックＡ２は、演算周期Δt（例えば、８msec）の経過毎にアクセル開度センサ８１の出力値に基づいてアクセルペダル操作量Accpを読み込み、読み込んだアクセル操作量Accpと図５のアクセル操作量Accpと目標スロットル弁開度TAaccとの関係を規定したテーブルとに基づいて暫定目標スロットル弁開度TAaccを求め、この暫定目標スロットル弁開度TAaccを図６のタイムチャートに示したように、所定の遅延時間TDだけ遅延し、この遅延した暫定目標スロットル弁開度TAaccを目標スロットル弁開度TAtとして設定してスロットル弁アクチュエータ４３ａに出力する。
【０１３１】
そして、電子制御スロットル弁モデルＡ３は、実際のスロットル弁開度TAが将来において目標スロットル弁開度TAtと一致していくものとして、現時点から遅延時間TD経過後までにおけるスロットル弁開度を予測・推定する（図６を参照）。
【０１３２】
このように、電子制御スロットル弁モデルＡ３（ＣＰＵ７１）は、今回の演算タイミングにて遅延時間TD後の目標スロットル弁開度TAtを新たに決定し、現時点から遅延時間TD経過後までの目標スロットル弁開度TAt（即ち、予測スロットル弁開度）を、演算周期Δt毎に現時点からの時間経過に対応させた形で、TAt(0),TAt(1)，・・・,TAt(ntdly)としてＲＡＭ７３に記憶・格納する。なお、ntdlyは遅延時間TDを演算周期Δtで除した値である。
【０１３３】
(吸入空気モデルＡ４)
吸入空気モデルＡ４は、内燃機関の吸気系における空気の挙動をモデル化した空気モデルを構成するスロットルモデルＡ４１、吸気弁モデルＡ４２、及び吸気管モデルＡ４３を備えていて、スロットルポジションセンサ６４から得られる現時点での実際のスロットル弁開度TAに基づいて現時点での、スロットル弁通過空気流量mt(k)、吸気弁通過空気流量mc(k)、吸気管圧力Pm(k)、及び吸気管内の空気温度（吸気管温度Tm(k)）をそれぞれ推定する。上記スロットルモデルＡ４１、吸気弁モデルＡ４２、及び吸気管モデルＡ４３については、後に詳述する。
【０１３４】
（KL予測モデルＡ５）
KL予測モデルＡ５は、吸入空気モデルＡ４から得られる現時点での吸気管圧力Pm(k)(＝Pmc(0))等、電子制御スロットル弁モデルＡ３から得られる将来の予測スロットル弁開度（目標スロットル弁開度）TAt(i)(i＝1,2,・・・)、及び、NE予測モデルＡ１から得られる#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdとに基づいて、#inj気筒の吸気弁閉時における筒内吸入空気量（予測吸入空気量KLfwd）を予測する。このKLfwd予測モデルＡ５についても後に詳述する。
【０１３５】
（目標空燃比設定手段Ａ６）
目標空燃比設定手段Ａ６は、内燃機関の運転状態であるエンジン回転速度NE、及び目標スロットル弁開度TAt等に基づいて目標空燃比AbyFrefを決定する手段である。この目標空燃比AbyFrefは、例えば、内燃機関の暖機終了後においては、特殊な場合を除き理論空燃比に設定されてよい。
【０１３６】
（噴射量決定手段Ａ７）
噴射量決定手段Ａ７は、KL予測モデルＡ５により算出された#inj気筒の吸気弁閉時の予測吸入空気量KLfwd、目標空燃比設定手段Ａ６により決定された目標空燃比AbyFref、及びNE予測モデルＡ１から得られる#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdに基づいて、#inj気筒についての今回の燃料噴射量fi(k)を決定する手段である。この噴射量決定手段Ａ７についても後に詳述する。
【０１３７】
次に、上述した吸入空気モデルＡ４が備える各モデルＡ４１〜Ａ４３について、個別に説明を加える。
【０１３８】
（スロットルモデルＡ４１）
スロットルモデルＡ４１は、現時点においてスロットル弁４３を通過する空気流量（スロットル弁通過空気流量）mtを、エネルギー保存則、運動量保存則、質量保存則、及び状態方程式等の物理法則に基づいて得られた下記(12)式、及び下記(13)式に基づいて推定するモデルである。下記(12)式及び下記(13)式において、Ct（θt）はスロットル弁開度θtに応じて変化する流量係数、At（θt）はスロットル弁開度θtに応じて変化するスロットル開口面積（吸気管４１の開口面積）、νはスロットル弁４３を通過する空気の流速、ρmは大気密度、Paはスロットル弁上流の空気圧力（即ち、大気圧）、Pmは吸気管内の空気圧力（即ち、吸気管圧力）、Taはスロットル弁上流の空気温度（即ち、大気温度）、Rは気体定数、及びκは比熱比である。なお、本例では、空気を酸素原子と窒素原子の２原子にて構成された２原子分子として扱うことにより、比熱比κを1.4（一定値）と仮定する。なお、下記(12)式、及び下記(13)の導出過程については、上記特許文献１にて詳述されているので、ここでは、その詳細な説明を省略する。
【０１３９】
mt＝Ct(θt)・At(θt)・ν・ρm＝Ct(θt)・At(θt)・｛Pa/(R・Ta)1/2｝・Φ（Pm/Pa）・・・(12)
【０１４０】
【数８】
2005337225.tif 000010
【０１４１】
上記(13)式において、値(1/(κ+1))≒0.4167は吸気管圧力Pmが流体力学における臨界圧力(critical
pressure)になっているときに対応している。上記(13)式から理解できるように、吸気管圧力Pmが前記臨界圧力よりも大きいとき（即ち、値(Pm/Pa)＞0.4167のとき）、同吸気管圧力Pmの増加に応じて値Φ（Pm/Pa）（従って、スロットル弁通過空気流量mt）は減少する。他方、吸気管圧力Pmが前記臨界圧力以下のとき（即ち、値(Pm/Pa)≦0.4167のとき）、値Φ（Pm/Pa）（従って、スロットル弁通過空気流量mt）は吸気管圧力Pmに係わらず一定値となる。
【０１４２】
スロットルモデルＡ４１は、スロットル弁開度θtと流量係数Ct(θt)との関係を規定した図７に示すテーブルと、スロットル弁開度θtとを用いて流量係数Ct(θt)を求めるとともに、スロットル弁開度θtと開口面積At(θt)との関係を規定した図８に示すテーブルと、スロットル弁開度θtとを用いて開口面積At(θt)を求める。なお、スロットルモデルＡ４１は、スロットル弁開度θtと、流量係数Ct(θt)と開口面積At(θt)の積値Ct(θt)・At(θt)との関係を規定した図９に示すテーブル、及びスロットル弁開度θtとを用いて積値Ct(θt)・At(θt)を一時に求めるように構成してもよい。
【０１４３】
スロットルモデルＡ４１は、スロットル弁開度θtとしてスロットルポジションセンサ６４から得られる現時点でのスロットル弁開度TAを使用し、大気圧Pa、及び大気温度Taを大気圧センサ６３、及び吸気温センサ６２からそれぞれ取得するとともに、吸気管圧力Pm(＝Pm(k))を後述する吸気管モデルＡ４３から取得する。
【０１４４】
そして、スロットルモデルＡ４１は、演算周期Δt毎に、これらの値を用いて上記(12)式、及び上記(13)式を計算して、現時点でのスロットル弁通過空気流量mt(＝mt(k))を推定していく。以下、説明の便宜上、上記(12)式、及び上記(13)式を、関数funcmtを用いて下記(14)式にて表す。
【０１４５】
mt＝funcmt(Pm,θt)  ・・・(14)
【０１４６】
（吸気弁モデルＡ４２）
吸気弁モデルＡ４２は、吸気管圧力Pm等から吸気弁通過空気流量mcを推定するモデルである。吸気弁閉時の気筒内圧力は吸気弁３２の上流の圧力、即ち吸気弁閉時の吸気管圧力Pmとみなすことができるので、吸気弁通過空気流量mcは吸気弁閉時の吸気管圧力Pmに比例する。そこで、吸気弁モデルＡ４２は吸気弁通過空気流量mcを、経験則に基づく下記(15)式にしたがって求める。
【０１４７】
mc＝a・Pm−b  ・・・(15)
【０１４８】
上記(15)式において、値aは比例係数、値bは筒内に残存していた既燃ガス量に対応する値である。係る比例係数a、及び既燃ガス量bは、エンジン回転速度、及び進角量に応じて変化する値である。吸気弁モデルＡ４２は、エンジン回転速度NE、及び進角量VVTと、比例係数a、及び既燃ガス量bとの関係をそれぞれ規定するテーブルMAPa、及びMAPbをＲＯＭ７２内に格納していて、現時点の実際のエンジン回転速度NEと、現時点の実際の進角量VVTと、前記格納しているテーブルとから比例係数a（＝MAPa(NE,VVT)）、及び既燃ガス量b（＝MAPb(NE,VVT)）を求める。
【０１４９】
また、吸気弁モデルＡ４２は、演算周期Δt毎に、計算時点（現時点）にて後述する吸気管モデルＡ４３により既に推定されている最新の（現時点での）吸気圧力Pm(＝Pm(k))を上記(15)式に適用し、現時点での吸気弁通過空気流量mc（＝mc(k)）を推定していく。
【０１５０】
（吸気管モデルＡ４３）
吸気管モデルＡ４３は、質量保存則とエネルギー保存則とにそれぞれ基づいた下記(16)式及び下記(17)式、スロットル弁通過空気流量mt、スロットル弁通過空気温度（即ち、大気温度）Ta、及び吸気管４１から流出する吸気弁通過空気流量mcから、吸気管圧力Pm、及び吸気管温度Tmを求めるモデルである。下記(16)式、及び下記(17)式において、Vmはスロットル弁下流（スロットル弁４３から吸気弁３２までの）の吸気管４１（以下、単に、「吸気管部」と称呼する。）の容積である。
【０１５１】
d(Pm/Tm)/dt＝(R/Vm)・(mt−mc)  ・・・(16)
【０１５２】
dPm/dt＝κ・(R/Vm)・(mt・Ta−mc・Tm)  ・・・(17)
【０１５３】
吸気管モデルＡ４３は、上記(16)式、及び上記(17)式の右辺におけるスロットル弁通過空気流量mt（＝mt(k-1)）をスロットルモデルＡ４１から取得するとともに、吸気弁通過空気流量mc（＝mc(k-1)）を吸気弁モデルＡ４２から取得する。そして、(16)式及び(17)式に基づく計算を行って最新の（現時点での）吸気管圧力Pm(＝Pm(k))、及び吸気管温度Tm(＝Tm(k))を推定する。
【０１５４】
ここで、上記吸気管モデルＡ４３を記述した(16)式及び(17)式の導出過程について説明する。いま、吸気管部の総空気量（総空気質量）をMとすると、総空気量Mの時間的変化量は、吸気管部に流入する空気量に相当するスロットル弁通過空気流量mtと同吸気管部から流出する空気量に相当する吸気弁通過空気流量mcの差であるから、吸気管部の空気について適用される質量保存則に基づく下記(18)式が得られる。
【０１５５】
dM／dt＝mt−mc  ・・・(18)
【０１５６】
また、吸気管部の空気についての状態方程式は下記(19)式となるから、上記(18)式と下記(19)式とから総空気量Mを消去することにより、吸気管部の空気について適用される質量保存則に基づく上記(16)式が得られる。
【０１５７】
Pm・Vm＝M・R・Tm  ・・・(19)
【０１５８】
次に、吸気管部の空気に関するエネルギー保存則について検討する。この場合、吸気管部の容積Vmは変化せず、また、エネルギーの殆どが温度上昇に寄与する（運動エネルギーは無視し得る）ものと考えられる。そうすると、吸気管部の空気のエネルギーM・Cv・Tmの時間的変化量は、同吸気管部に流入する空気のエネルギーCp・mt・Taと同吸気管部から流出する空気のエネルギーCp・mc・Tmの差に等しいので、下記(20)が得られる。ここにおいて、Cvは定容比熱、Cpは定圧比熱である。
【０１５９】
d(M・Cv・Tm)／dt＝Cp・mt・Ta−Cp・mc・Tm  ・・・(20)
【０１６０】
この上記(20)式を、比熱比κ＝Cp／Cvなる関係と、上記(19)式（Pm・Vm＝M・R・Tm）とを用いて変形することにより、上記(17)式が得られる。
【０１６１】
実際には、吸気管モデルＡ４３は、上記(16)式及び上記(17)式の各々を時間について演算周期Δtをもって離散化した下記(21)式及び下記(22)式に基づいて、同演算周期Δt毎に、現時点での吸気管圧力Pm(k)、及び吸気管温度Tm(k)を求めていく。以上が、吸入空気モデルＡ４が備える各モデルＡ４１〜Ａ４３についての概要である。
【０１６２】
【数９】
2005337225.tif 000011
【０１６３】
（KL予測モデルＡ５）
次に、KL予測モデルＡ５について説明する。KL予測モデルＡ５は、先に述べたように、現時点（算出時点）で#inj気筒となっている気筒の吸気弁閉時における予測吸入空気量KLfwd（「機関を制御するために使用される値」）を予測するモデルである。KL予測モデルＡ５は、予測吸入空気量KLfwdを求めるため、先ず、吸気弁閉時における吸気管圧力（予測吸気管圧力Pmfwd）を予測する。以下、KL予測モデルＡ５による予測吸気管圧力Pmfwdの予測方法について先に説明する。
【０１６４】
<予測吸気管圧力Pmfwdの予測方法>
KL予測モデルＡ５は、図１０に示したように、上記(21)式及び(22)式を利用した上記吸気管モデルＡ４３と同様のモデル（以下、「吸気管モデル相当モデル」と称呼する。）を利用して、現時点にて、現時点から吸気弁閉時までの将来の吸気管圧力、及び吸気管温度を、演算周期Δt毎に現時点からの時間経過に対応させた形でPmc(i)，Tmc(i)(i＝0,1,・・・,nfwd)として予測していく。なお、nfwdは現時点から吸気弁閉時までの遅延時間tfwdを演算周期Δtで除した値（予測回数）である。また、図１０は、機関の始動直後のようにエンジン回転速度NEが急増することに起因して吸気管圧力Pmが現時点以降、遅延時間tfwdの間において減少していく場合を示している。
【０１６５】
また、このように吸気管モデル相当モデルを表す上記(21)式及び(22)式に相当する式を用いて将来の吸気管圧力等を順次予測するため、KL予測モデルＡ５は、上記(14)式を利用したスロットルモデルＡ４１と同様のモデル（以下、「スロットルモデル相当モデル」と称呼する。）、及び、上記(15)式を利用した吸気弁モデルＡ４２と同様のモデル（以下、「吸気弁モデル相当モデル」と称呼する。）を利用する。そして、KL予測モデルＡ５は、現時点にて、現時点から吸気弁閉時までの将来のスロットル弁通過空気流量、及び吸気弁通過空気流量を、演算周期Δt毎に現時点からの時間経過に対応させた形で上記吸気管圧力Pmc(i)を順次用いて、mtc(i)，mcc(i)(i＝0,1,・・・,nfwd)として予測していく。
【０１６６】
その際、KL予測モデルＡ５は、上記(14)式に相当するスロットルモデル相当モデルを表す式の引数であるスロットル弁開度θtとして、前述の電子制御スロットル弁モデルＡ３により予測されＲＡＭ７３に記憶されている上記予測スロットル弁開度TAt(i)(i＝O,1,・・・)を、現時点からの時間経過に対応させて読み出すことで順次使用していく。
【０１６７】
以上のような計算を行う場合、予測回数nfwd（即ち、遅延時間tfwd）をどのように決定するかが問題となる。即ち、吸気弁閉時は同吸気弁閉時に相当するクランク角度CAが決定されることで決定されるため、遅延時間tfwdは現時点から吸気弁閉時までの間のエンジン回転速度NEに応じて変動する。
【０１６８】
従って、機関が定常運転状態にある場合、遅延時間tfwd（従って、予測回数nfwd）は、現時点でのエンジン回転速度NEのみから精度良く決定され得る。一方、図１０に示したエンジン回転速度NEが急増する場合等、機関が過渡運転状態にある場合、遅延時間tfwd（従って、予測回数nfwd）を精度良く決定するためには、現時点でのエンジン回転速度NEのみならず、現時点から吸気弁閉時までのエンジン回転速度NEの変化を考慮する必要がある。
【０１６９】
そこで、KL予測モデルＡ５は、NE予測モデルＡ１が現時点で予測している#inj気筒の吸気弁閉時における上記予測エンジン回転速度NEfwdを利用する。即ち、図１１に示したように、現時点（算出時点）から遅延時間tfwdの間にクランク角度CAが遅延クランク角度ΔCAivcだけ増加し、その間に、エンジン回転速度NE（従って、エンジン回転角速度ω）が、現時点でのエンジン回転速度NEnow（従って、エンジン回転角速度ωnow）から上記予測エンジン回転速度NEfwd（即ち、予測エンジン回転角速度ωfwd）まで変化するものと仮定する（図１１における実線を参照。）。そうすると、遅延時間tfwdは、下記(23)式にて表すことができる。下記(23)式において、t0、及びCA0はそれぞれ、現時点（算出時点）での時刻、及びクランク角度である。
【０１７０】
【数１０】
2005337225.tif 000012
【０１７１】
上記(23)式は、遅延時間tfwdは、クランク角度CAの関数であるエンジン回転角速度ωの逆数である値(1/ω)を、クランク角度CA0からクランク角度(CA0＋ΔCAivc)までについて、クランク角度CAで定積分した値に相当することを表している。ここで、KL予測モデルＡ５は、クランク角度CA0からクランク角度(CA0＋ΔCAivc)までの間において、値（1/ω）が値(1/ωnow)から値(1/ωfwd)まで線形的に変化するものと仮定する。この仮定は十分に精度の高いものである。この結果、遅延時間tfwdは、図１２に斜線で示した、上底を(1/ωfwd)、下底を(1/ωnow)、高さをΔCAivcとする台形の面積に相当する値となる。
【０１７２】
以上のことから、KL予測モデルＡ５は、遅延時間tfwdを、下記(24)式に従って決定する。このように、KL予測モデルＡ５は、現時点から遅延時間tfwdの間において、値(1/ω)、即ち、「機関の回転速度に応じた値」がクランク角度CAと線形関係にあると仮定することを利用して遅延時間tfwd（従って、予測回数nfwd）を決定する。
【０１７３】
【数１１】
2005337225.tif 000013
【０１７４】
他方、吸気弁モデル相当モデルが上記(15)式に相当する式を利用して将来の吸気弁通過空気流量mcc(i)(i＝0,1,・・・,nfwd)を順次予測していく場合、同(15)式に相当する式における比例係数a、及び既燃ガス量bを求める際に使用されるテーブルMAPa(NE,VVT)、及びMAPb(NE,VVT)の引数であるエンジン回転速度NEとして、どのような値を使用するかが問題となる。
【０１７５】
即ち、機関が定常運転状態にある場合、遅延時間tfwd中における上記引数としてのエンジン回転速度として、現時点での値を順次使用していけばよい。一方、機関が過渡運転状態にある場合、遅延時間tfwd中の比例係数a、及び既燃ガス量b（従って、吸気弁通過空気流量mcc(i)(i＝0,1,・・・)）を精度良く順次求めていくためには、現時点から吸気弁閉時までのエンジン回転速度NEの変化の経緯を考慮する必要がある。
【０１７６】
そこで、KL予測モデルＡ５は、図１１に示したように、上記クランク角度ΔCAivc、並びに、上記エンジン回転角速度ωnow、及び上記予測エンジン回転角速度ωfwdから傾きgを求める。そして、KL予測モデルＡ５は、現時点でのクランク角度CA0から吸気弁閉時におけるクランク角度(CA0＋ΔCAivc)までの間において、エンジン回転角速度ωが、クランク角度CAの増加に応じて傾きgをもって線形的に変化（増加）するものと仮定する（図１１における破線を参照。）。
【０１７７】
そうすると、図１３に示したように、現時点（時刻t0）から遅延時間tfwdの間において、一演算周期Δtあたりのエンジン回転角速度ωの増加分Δωは、エンジン回転角速度ωに応じて変化する（具体的には、増加分Δωはエンジン回転角速度ωが大きいほど大きい値となる）。以下、一演算周期Δtあたりのエンジン回転角速度ωの増加分Δωを、同エンジン回転角速度ωの関数として求める手法について説明する。
【０１７８】
いま、一演算周期Δtの間において、クランク角度CAが微小クランク角度Δcaだけ増加するとともにエンジン回転角速度が値ωから値(ω＋Δω)まで変化したものとする。そうすると、上記傾きgを利用して下記(25)式が成立する。
【０１７９】
Δω＝g・Δca  ・・・(25)
【０１８０】
また、このとき、一演算周期Δtは、上述した図１２に示した台形面積を利用して遅延時間tfwdを算出する場合と同様の手法によれば、図１４に斜線で示した、上底を(1/(ω＋Δω))、下底を(1/ω)、高さを微小クランク角度Δcaとする台形の面積に相当する値となる。従って、下記(26)式が成立する。
【０１８１】
【数１２】
2005337225.tif 000014
【０１８２】
上記(25)式と、上記(26)式から微小クランク角度Δcaを消去して増加分Δωについて解くと、一演算周期Δtあたりのエンジン回転角速度ωの増加分Δωをエンジン回転角速度ωの関数として求めるための式である下記(27)式が得られる。これにより、或る時点でのエンジン回転角速度ωが取得できれば、値ωを下記(27)式に適用することで増加分Δωが求められ、この結果、同或る時点から一演算周期Δt後におけるエンジン回転角速度を（ω＋Δω）として予測することができる。
【０１８３】
【数１３】
2005337225.tif 000015
【０１８４】
この手法を用いて、KL予測モデルＡ５は、図１３に示すように、現時点（即ち、時刻t0）でのエンジン回転角速度ωnowの値と上記(27)式とに基づいて、現時点から吸気弁閉時（即ち、時刻(t0＋tfwd)における将来のエンジン回転角速度（従って、エンジン回転速度）の変化の経緯を、演算周期Δt毎に現時点からの時間経過に対応させた形でエンジン回転角速度ωc(i)（従って、エンジン回転速度NEc(i)）(i＝0,1,・・・,nfwd)として順次予測していく。
【０１８５】
そして、KL予測モデルＡ５は、将来の吸気弁通過空気流量mcc(i)(i＝0,1,・・・,nfwd)を順次予測していく際、同(15)式に相当する式における比例係数a、及び既燃ガス量bを求める際に使用されるテーブルMAPa(NE,VVT)、及びMAPb(NE,VVT)の引数であるエンジン回転速度NEとして、上記エンジン回転速度NEc(i)(i＝0,1,・・・,nfwd)の値を順次使用していく。
【０１８６】
なお、この過程において、テーブルMAPa(NE,VVT)、及びMAPb(NE,VVT)の引数である進角量VVTとしては、現時点（算出時点。即ち、時刻t0）においてカムポジションセンサ６６から得られる現時点での実際の進角量VVTの値が使用される。実際の進角量VVTの応答性は比較的低いから、現時点から遅延時間tfwdの短期間においては、実際の進角量VVTの値は一定であると仮定することができるからである。
【０１８７】
以上のようにして、KL予測モデルＡ５は、現時点（算出時点）でのエンジン回転速度NEnowのみならず、現時点にてNE予測モデルＡ１が予測している#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdをも利用して、遅延時間tfwd（従って、予測回数nfwd）、並びに、吸気弁通過空気流量mcc(i)(i＝0,1,・・・,nfwd)を順次予測する際において使用されるテーブルMAPa(NE,VVT)、及びMAPb(NE,VVT)の引数であるエンジン回転速度NEの値を決定する。
【０１８８】
そして、KL予測モデルＡ５は、図１０に示したように、現時点（算出時点。時刻t0）にて、現時点から遅延時間後である吸気弁閉時（時刻(t0＋tfwd)）における吸気管圧力Pmc(nfwd)を計算し、同吸気管圧力Pmc(nfwd)の値を同吸気弁閉時における予測吸気管圧力Pmfwdとして予測する。
【０１８９】
図１５は、図１０に示した場合と同様、機関の始動直後のようにエンジン回転速度NEが急増することに起因して吸気管圧力Pmが現時点（算出時点）から吸気弁閉時までの間において減少していく場合を示している。この場合、上述した従来の装置においては、便宜上、現時点でのエンジン回転速度を使用して遅延時間tfwd’が決定されるため、同決定された遅延時間tfwd’は実際の遅延時間よりも長い時間となる（図１２に示した長方形の面積を参照）。
【０１９０】
更には、上記テーブルMAPa(NE,VVT)、及びMAPb(NE,VVT)の引数である遅延時間tfwd’の間におけるエンジン回転速度NEの値として、現時点での値（一定値）が使用されるため、上記吸気弁通過空気流量mcc(i)(i＝1,2,・・・)が小さめの値に計算されることに起因して、図１０において破線にて示したように、吸気管圧力Pmc(i)(i＝1,2,・・・)は大きめの値として計算されていく。
【０１９１】
従って、このようにエンジン回転速度NEが急増する場合、従来の装置においては、予測回数nfwdが大きめに設定されること、及び吸気管圧力Pmc(i)(i＝1,2,・・・)が大きめの値として計算されることにより、吸気弁閉時における予測吸気管圧力Pmfwd’の値（白い星印を参照）が実際の値と大きく異なる場合がある。
【０１９２】
これに対し、本装置においては、このようにエンジン回転速度NEが急増する場合においても、遅延時間tfwdが実際の遅延時間に近い時間に決定され得るから、予測回数nfwdも適切な値として決定され得る。また、上記吸気弁通過空気流量mcc(i)(i＝1,2,・・・)も適切な値に計算され得るから、吸気管圧力Pmc(i)(i＝1,2,・・・)も適切な値に計算され得る。この結果、予測吸気管圧力Pmfwd（黒い星印を参照）は吸気弁閉時における実際の吸気管圧力に近い精度の値となり得る。以上が、KL予測モデルＡ５による吸気弁閉時における予測吸気管圧力Pmfwdの予測方法である。
【０１９３】
<吸気弁開弁時間Tint、及び予測吸入空気量KLfwdの予測方法>
以上のようにして、#inj気筒の吸気弁閉時における予測吸気管圧力Pmfwdが求められると、上記吸気弁モデル相当モデルは、上記テーブルMAPa(NE,VVT)、及びMAPb(NE,VVT)の引数であるエンジン回転速度NEとして、同吸気弁閉時における上記予測エンジン回転速度NEfwdを使用するとともに、同引数である進角量VVTとして現時点での値を使用して、同吸気弁閉時における比例係数afwd、及び既燃ガス量bfwdを求め、これらの値と、上記(15)式に相当する式とに基づいて、同吸気弁閉時における吸気弁通過空気流量mcfwdを求める。
【０１９４】
そして、#inj気筒の吸気弁閉時における吸気弁通過空気流量mcfwdが求められると、同吸気弁通過空気流量mcfwdに、#inj気筒の吸気弁３２の開弁時間Tintを乗じることにより予測吸入空気量KLfwdを求めることができる。ここで、この開弁時間Tintをどのように決定するかが問題となる。
【０１９５】
即ち、進角量VVTの値にかかわらず吸気弁の開弁時間Tintに相当するクランク角度CAは常に一定となるから、同開弁時間Tintは現時点よりも将来の吸気弁開時から吸気弁閉時までの間のエンジン回転速度NEに応じて変動する。
【０１９６】
従って、機関が定常運転状態にある場合、吸気弁３２の開弁時間Tintは、現時点でのエンジン回転速度NEのみから精度良く決定され得る。一方、図１１に示したエンジン回転速度NEが急増する場合等、機関が過渡運転状態にある場合、開弁時間Tintを精度良く決定するためには、吸気弁開時から吸気弁閉時までのエンジン回転速度NEの変化を考慮する必要がある。
【０１９７】
ここで、図１１に示したように、吸気弁開時におけるエンジン回転角速度ωivoは、現時点から同吸気弁開時までのクランク角度ΔCAivoと、現時点のエンジン回転角速度ωnowと、上記傾きgとに基づいて予測することができる。従って、吸気弁３２の開弁時間Tintの間にクランク角度CAが遅延クランク角度(ΔCAivc−ΔCAivo)だけ増加し、その間に、エンジン回転角速度ωが、吸気弁開時におけるエンジン回転角速度ωivoから上記予測エンジン回転角速度ωfwdまで変化するものと仮定する。
【０１９８】
そうすると、吸気弁３２の開弁時間Tintは、上述した図１２に示した台形面積を利用して遅延時間tfwdを算出する場合等と同様の手法によれば、図１６に斜線で示した、上底を(1/ωfwd)、下底を(1/ωivo)、高さを(ΔCAivc−ΔCAivo)とする台形の面積に相当する値となる。従って、下記(28)式が成立する。KL予測モデルＡ５は、下記(28)式に従って#inj気筒の吸気弁３２の開弁時間Tintを求め、上記吸気弁閉時における吸気弁通過空気流量mcfwdに同求めた開弁時間Tintを乗じることにより予測吸入空気量KLfwdを求める。
【０１９９】
【数１４】
2005337225.tif 000016
【０２００】
KL予測モデルＡ５は、このような予測吸入空気量KLfwdの計算を、上記吸入空気モデルＡ４（具体的には、吸気管モデルＡ４３）が吸気管圧力Pm(k)、及び吸気管温度Tm(k)を求める周期である演算周期Δtに同期して、同演算周期Δt毎に、#inj気筒となっている気筒について、現時点（算出時点）で既にNE予測モデルＡ１により計算されている#inj気筒の吸気弁閉時における最新の予測エンジン回転速度NEfwdに基づいて行う。
【０２０１】
そして、噴射量決定手段Ａ７は、#inj気筒の排気行程中の所定の時点に設定される上述した#inj気筒の噴射開始時期の直前で計算された予測吸入空気量KLfwdに基づいて今回の燃料噴射量fi(k)を決定する。このようにして、KL予測モデルＡ５（算出手段）は、#inj気筒の排気行程開始時点（即ち、予測時点）よりも後であって#inj気筒の吸気弁閉時よりも前の時点（即ち、算出時点）で、今回の燃料噴射量fi(k)の算出に実際に使用される予測吸入空気量KLfwd（従って、「機関を制御するために使用される値」）を上記予測エンジン回転速度NEfwdに基づいて算出する。以上が、KL予測モデルＡ５の概要である。
【０２０２】
（噴射量決定手段）
次に、噴射量決定手段Ａ７について説明する。噴射量決定手段Ａ７は、その機能ブロック図である図１７に示したように、予測必要燃料量算出手段Ａ７１と、燃料挙動逆モデルＡ７２とを備えている。以下、これらについて個別に説明していく。
【０２０３】
（予測必要燃料量算出手段Ａ７１）
予測必要燃料量算出手段Ａ７１は、KL予測モデルＡ５により求められた#inj気筒の吸気弁閉時における予測吸入空気量KLfwd（の最新値）を、目標空燃比設定手段Ａ６により求められた目標空燃比AbyFrefで除することにより、予測必要燃料量fc(k)を求める手段である。即ち、この予測必要燃料量fc(k)は、#inj気筒の吸気行程において吸入される混合気の空燃比を目標空燃比AbyFrefとするために、#inj気筒に吸入されるべき燃料の量である。
【０２０４】
（燃料挙動逆モデルＡ７２）
燃料挙動逆モデルＡ７２は、後述する燃料挙動の逆モデルを用いて、上記予測必要燃料量算出手段Ａ７１により算出された予測必要燃料量fc(k)の燃料を#inj気筒に供給するために必要とされる今回の燃料噴射量fi(k)を算出する手段である。
【０２０５】
図１８に概念的に示したように、#inj気筒の排気行程中において#inj気筒のインジェクタ３９から噴射された燃料は、その一部が吸気管４１の壁面部、及び吸気弁３２等からなる吸気通路構成部材に付着する。ここで、fiをインジェクタ３９から#inj気筒の吸気行程に対して噴射される燃料噴射量、fwを吸気通路構成部材に既に付着している燃料付着量、pを吸気通路構成部材に既に付着している燃料のうち一吸気行程を経た後に同吸気通路構成部材に付着したまま残留している燃料の割合（残留率p）、rをインジェクタ３９から噴射された前記燃料のうち吸気通路構成部材へ付着する燃料の割合（付着率r）とする。
【０２０６】
そうすると、今回噴射された燃料fi(k)のうち吸気通路構成部材に新たに付着する燃料量はr・fi(k)であり、吸気通路構成部材に既に付着していた今回の燃料fw(k)のうち同吸気通路構成部材に残留する燃料量はp・fw(k)であるから、次回の燃料付着量fw(k+1)について下記(29)式が成立する。下記(29)式は、燃料付着量を求めるための燃料付着モデルを記述した式である。
【０２０７】
fw(k+1)＝r・fi(k)＋p・fw(k)  ・・・(29)
【０２０８】
従って、一吸気行程において、今回噴射された燃料のうち吸気通路構成部材に付着せず#inj気筒の筒内に直接吸入される燃料量は(1−r)・fi(k)となり、吸気通路構成部材に付着していた燃料のうち同吸気通路構成部材から離脱して同筒内に吸入される燃料量は(1−p)・fw(k)となる。よって、#inj気筒に対してfi(k)の燃料を噴射したとき、#inj気筒の筒内に流入する筒内流入燃料量finは下記(30)式により表すことができる。
【０２０９】
fin＝(1−r)・fi(k)＋(1−p)・fw(k)  ・・・(30)
【０２１０】
以上のことから、#inj気筒の吸気行程において上記予測必要燃料量fc(k)が#inj気筒に吸入されるために必要な今回の燃料噴射量fi(k)は、上記(30)式において筒内流入燃料量finを予測必要燃料量fc(k)に置き換えた式をfi(k)について解くことにより得られる下記(31)式に従って求めることができる。下記(31)式における燃料付着量fw(k)は、上記(29)式を順次適用することで算出・更新される値である。係る(31)式が燃料挙動逆モデルを記述した式である。
【０２１１】
fi(k)＝(fc(k)−(1-p)・fw(k)) / (1-r)  ・・・(31)
【０２１２】
他方、残留率p、及び付着率rは、エンジン回転速度、予測吸入空気量、及び進角量に応じて変化する値である。噴射量決定手段Ａ７（燃料挙動逆モデルＡ７２）は、エンジン回転速度NE、予測吸入空気量KLfwd、及び進角量VVTと、残留率p、及び付着率rとの関係をそれぞれ規定するテーブルMAPp、及びMAPrをＲＯＭ７２内に格納していて、同テーブルMAPp、及びMAPrに基づいて残留率p（＝MAPp(NE,KLfwd,VVT)）、及び付着率r（＝MAPr(NE,KLfwd,VVT)）を求める。
【０２１３】
そして、噴射量決定手段Ａ７（燃料挙動逆モデルＡ７２）は、#inj気筒の排気行程中における噴射開始時期（の直前の時点）にて、上記(31)式に従って今回の燃料噴射量fi(k)を求める。このとき、上記テーブルMAPp(NE,KLfwd,VVT)、及びMAPr(NE,KLfwd,VVT)の引数であるエンジン回転速度NEとして、どのような値を使用するかが問題となる。
【０２１４】
即ち、図１９に示したように、残留率p、及び付着率rは、エンジン回転速度NEに応じて変動する。加えて、残留率p、及び付着率rは、上記(29)式から理解できるように、今回の燃料噴射量fi(k)と今回の燃料付着量fw(k)とから次回の燃料付着量fw(k+1)を求めるために機能する値であり、次回の燃料付着量fw(k+1)は、#inj気筒の今回の吸気行程における吸気弁閉時に確定する値である。換言すれば、残留率p、及び付着率rは、#inj気筒の今回の吸気行程における吸気弁閉時におけるエンジン回転速度NEfwdに大きく影響される値である。
【０２１５】
以上のことから、機関が定常運転状態にある場合、上記引数としてのエンジン回転速度として、噴射量決定手段Ａ７が今回の燃料噴射量fi(k)を算出する時期である噴射開始時期（算出時点。現時点）におけるエンジン回転速度NEinjを使用すればよい。一方、図１９に示した場合のように、機関が過渡運転状態にある場合、残留率p、及び付着率r（従って、燃料付着量）を精度良く求めるためには、上記引数としてのエンジン回転速度を決定するにあたり、噴射開始時期（算出時点）におけるエンジン回転速度NEinjのみならず、吸気弁閉時におけるエンジン回転速度NEfwdをも考慮する必要がある。
【０２１６】
そこで、噴射量決定手段Ａ７（燃料挙動逆モデルＡ７２）は、上記テーブルMAPp(NE,KLfwd,VVT)、及びMAPr(NE,KLfwd,VVT)の引数であるエンジン回転速度NEとして、噴射開始時期（算出時点）におけるエンジン回転速度NEinjと、NE予測モデルＡ１により同噴射開始時期において予測されている吸気弁閉時におけるエンジン回転速度NEfwd（の最新値）の平均値を使用する。
【０２１７】
また、テーブルMAPp(NE,KLfwd,VVT)、及びMAPr(NE,KLfwd,VVT)の引数である進角量VVTとしては、現時点（算出時点。即ち、噴射開始時期）においてカムポジションセンサ６６から得られる現時点での実際の進角量VVTの値が使用される。実際の進角量VVTの応答性は比較的低いから、噴射開始時期から吸気弁閉時までの短期間においては、実際の進角量VVTの値は一定であると仮定することができるからである。また、上記引数である予測吸入空気量KLfwdとしては、KL予測モデルＡ５により取得される最新値が使用される。
【０２１８】
噴射量決定手段Ａ７は、このような燃料噴射量fi(k)の計算を、#inj気筒となっている気筒について、#inj気筒の噴射開始時期が到来する毎に、現時点（算出時点）で既にNE予測モデルＡ１により計算されている#inj気筒の吸気弁閉時における最新の予測エンジン回転速度NEfwdに基づいて、気筒毎に行う。
【０２１９】
このようにして、噴射量決定手段Ａ７（算出手段）は、#inj気筒の排気行程開始時点（即ち、予測時点）よりも後であって#inj気筒の吸気弁閉時よりも前の時点（即ち、算出時点）で、残留率p、及び付着率r（従って、燃料付着量。即ち、「機関を制御するために使用される値」）を上記予測エンジン回転速度NEfwdに基づいて算出する。以上が、噴射量決定手段Ａ７の概要である。
【０２２０】
以上のように、図２に示した各モデル、及び各手段により#inj気筒についての今回の燃料噴射量fi(k)が計算されていく。その際、#inj気筒の排気行程開始時点（即ち、予測時点）よりも後であって#inj気筒の吸気弁閉時よりも前の時点（即ち、算出時点）にて、NE予測モデルＡ１により既に予測された#inj気筒の吸気弁閉時におけるエンジン回転速度NEfwdに基づいて、「機関を制御するために使用される値」としての、予測吸入空気量KLfwd（具体的には、KLfwdを求めるために必要な比例係数a、及び既燃ガス量b）、及び燃料付着量fw（具体的には、fwを求めるために必要な残留率p、及び付着率r）が算出される。
【０２２１】
次に、電気制御装置７０の実際の作動について、図２０〜図２７に示したフローチャートを参照しながら説明する。
【０２２２】
（予測回転速度の算出）
ＣＰＵ７１は、図２０、及び図２１にフローチャートにより示した一連のルーチンを演算周期Δt（ここでは、８msec）の経過毎に、気筒毎に、実行することにより、上記NE予測モデルＡ１の機能を達成する。具体的に述べると、ＣＰＵ７１は所定のタイミングにてステップ２０００から処理を開始し、ステップ２００２に進んで特定の（任意の）気筒の状態が圧縮行程から膨張行程に移行したか否か（膨張行程開始時点が到来したか否か）をモニタする。
【０２２３】
いま、上記特定気筒の状態が圧縮行程の途中にあるものとすると、ＣＰＵ７１はステップ２００２にて「Ｎｏ」と判定してステップ２０１２に進み、特定気筒の状態が膨張行程から排気行程に移行したか否か（膨張行程終了時点が到来したか否か）をモニタし、ここでも「Ｎｏ」と判定してステップ２０９５に直ちに進んで本ルーチンを一旦終了する。以降、特定気筒の膨張行程開始時点が到来するまで、ＣＰＵ７１はステップ２０００、２００２、２０１２の処理を繰り返し実行する。
【０２２４】
次に、この状態にて特定気筒の膨張行程開始時点が到来したものとすると、ＣＰＵ７１はステップ２００２に進んだとき「Ｙｅｓ」と判定してステップ２００４に進むようになり、同ステップ２００４にて経過時間Tをリセットする。ここで、経過時間Tは電気制御装置７０において各気筒用にそれぞれ内蔵されたタイマにより計測される、特定気筒の膨張行程開始時点からの経過時間を表す。
【０２２５】
次いで、ＣＰＵ７１はステップ２００６に進み、現時点（即ち、膨張行程開始時点）でのエンジン回転速度NEを膨張行程開始時エンジン回転速度NEtdcとして格納し、続くステップ２００８にて同膨張行程開始時エンジン回転速度NEtdcに相当する膨張行程開始時エンジン回転角速度ωtdcを求める。続いて、ＣＰＵ７１はステップ２０１０に進み、現時点（即ち、膨張行程開始時点）での冷却水温THWを膨張行程開始時冷却水温THWtdcとして格納した後、ステップ２０９５に進んで本ルーチンを一旦終了する。以降、ＣＰＵ７１は、特定気筒の膨張行程終了時点が到来するまで、ステップ２０００、２００２、２０１２の処理を繰り返し実行する。
【０２２６】
次に、この状態から特定気筒の膨張行程終了時点が到来したものとすると、ＣＰＵ７１はステップ２０１２に進んだとき「Ｙｅｓ」と判定してステップ２０１４に進むようになり、同ステップ２０１４にて現時点での経過時間T（即ち、特定気筒の膨張行程開始時点から膨張行程終了時点までの時間）を膨張行程経過時間Δtとして格納する。なお、この時点で、この特定気筒が#inj気筒となる。
【０２２７】
続いて、ＣＰＵ７１はステップ２０１６に進んで、現時点（即ち、膨張行程終了時点）でのエンジン回転速度NEを膨張行程終了時エンジン回転速度NEbdc#injとして格納し、続くステップ２０１８にて同膨張行程終了時エンジン回転速度NEbdc#injに相当する膨張行程終了時エンジン回転角速度ωbdc#injを求める。続いて、ＣＰＵ７１はステップ２０２０に進み、現時点（即ち、膨張行程終了時点）での冷却水温THWを膨張行程終了時冷却水温THWbdcとして格納する。
【０２２８】
次に、ＣＰＵ７１はステップ２０２２に進み、上記膨張行程終了時エンジン回転角速度ωbdc#injと、上記膨張行程開始時エンジン回転角速度ωtdcと、上記膨張行程経過時間Δtと、上記(2)式とに基づいて平均エンジン回転角加速度(dω/dt)aveを求める。次いで、ＣＰＵ７１はステップ２０２４に進んで、上記膨張行程開始時エンジン回転速度NEtdcと、上記膨張行程終了時エンジン回転速度NEbdc#injの平均値である平均エンジン回転速度NEaveを求め、続くステップ２０２６にて、上記膨張行程開始時冷却水温THWtdcと、上記膨張行程終了時冷却水温THWbdcの平均値である平均冷却水温THWaveを求める。
【０２２９】
次に、ＣＰＵ７１は、ステップ２０２８に進んで、上記平均エンジン回転速度NEaveと、平均冷却水温THWaveと、テーブルMapTfとに基づいてフリクショントルクTf#injを求める。続いて、ＣＰＵ７１はステップ２０３０に進み、上記平均エンジン回転角加速度(dω/dt)aveと、上記フリクショントルクTf#injと、上記(1)式とに基づいて#inj気筒の膨張行程における機関の平均実図示トルクTi#injを求める。このようにして平均実図示トルクTi#injを算出する手段が#inj気筒の図示トルク算出手段Ａ１１に相当する。
【０２３０】
次いで、ＣＰＵ７１はステップ２０３２に進んで、上記#inj気筒の膨張行程における機関の平均実図示トルクTi#injと、後述する図２７に示すルーチンのステップ２７５０にて格納されている#inj気筒についての前回の筒内流入燃料量mf#inj(k-1)と、上記(3)式とに基づいて#inj気筒の膨張行程における図示熱効率η#injを求める。このようにして図示熱効率η#injを算出する手段が#inj気筒の図示熱効率算出手段Ａ１２に相当する。
【０２３１】
次に、ＣＰＵ７１は、図２１のステップ２０３４に進んで、上記図示熱効率η#injと、後述する図２７に示すルーチンのステップ２７５０にて格納されている#(inj+1)気筒についての前回の筒内流入燃料量mf#(inj+1)(k-1)と、上記(5)式とに基づいて#(inj+1)気筒の膨張行程における機関の平均予測図示トルクTi#(inj+1)を求める。このようにして平均予測図示トルクTi#(inj+1)を算出する手段が#(inj+1)気筒の図示トルク予測手段Ａ１３に相当する。
【０２３２】
続いて、ＣＰＵ７１はステップ２０３６に進んで、上記図示熱効率η#injと、後述する図２７に示すルーチンのステップ２７５０にて格納されている#(inj+2)気筒についての前回の筒内流入燃料量mf#(inj+2)(k-1)と、上記(6)式とに基づいて#(inj+2)気筒の膨張行程における機関の平均予測図示トルクTi#(inj+2)を求める。このようにして平均予測図示トルクTi#(inj+2)を算出する手段が#(inj+2)気筒の図示トルク予測手段Ａ１４に相当する。
【０２３３】
次に、ＣＰＵ７１はステップ２０３８に進み、上記膨張行程終了時エンジン回転速度NEbdc#injと、上記膨張行程終了時冷却水温THWbdcと、テーブルMapTfとに基づいてフリクショントルクTf#(inj+1)を求める。続いて、ＣＰＵ７１はステップ２０４０に進んで、上記平均予測図示トルクTi#(inj+1)と、上記フリクショントルクTf#(inj+1)と、上記膨張行程終了時エンジン回転角速度ωbdc#injと、上記(8)式とに基づいて#(inj+1)気筒の膨張下死点でのエンジン回転角速度ωbdc#(inj+1)を求め、続くステップ２０４２にて同エンジン回転角速度ωbdc#(inj+1)に相当する#(inj+1)気筒の膨張下死点でのエンジン回転速度NEbdc#(inj+1)を求める。このようにしてエンジン回転速度NEbdc#(inj+1)を算出する手段が#(inj+1)気筒の膨張下死点でのNE予測手段Ａ１５に相当する。
【０２３４】
続いて、ＣＰＵ７１はステップ２０４４に進んで、#(inj+1)気筒の膨張下死点でのエンジン回転速度NEbdc#(inj+1)と、上記膨張行程終了時冷却水温THWbdcと、テーブルMapTfとに基づいてフリクショントルクTf#(inj+2)を求める。続いて、ＣＰＵ７１はステップ２０４６に進んで、上記平均予測図示トルクTi#(inj+2)と、上記フリクショントルクTf#(inj+2)と、#(inj+2)気筒の膨張下死点でのエンジン回転角速度ωbdc#(inj+1)と、上記(9)式とに基づいて#(inj+2)気筒の膨張下死点でのエンジン回転角速度ωbdc#(inj+2)を求め、続くステップ２０４８にて同エンジン回転角速度ωbdc#(inj+2)に相当する#(inj+2)気筒の膨張下死点でのエンジン回転速度NEbdc#(inj+2)を求める。このようにしてエンジン回転速度NEbdc#(inj+2)を算出する手段が#(inj+2)気筒の膨張下死点でのNE予測手段Ａ１６に相当する。
【０２３５】
次に、ＣＰＵ７１はステップ２０５０に進んで、#inj気筒の吸気弁閉時のクランク角度から遅角量ΔCAlateを取得し、続くステップ２０５２にて、上記遅角量ΔCAlateと、上記する#(inj+2)気筒の膨張下死点でのエンジン回転速度NEbdc#(inj+2)と、後述する図２７に示すルーチンのステップ２７５０にて格納されている#(inj+3)気筒についての前回の筒内流入燃料量mf#(inj+3)(k-1)と、上記(10)式とに基づいて補正量ΔNEを求める。
【０２３６】
そして、ＣＰＵ７１はステップ２０５４に進んで、上記エンジン回転速度NEbdc#(inj+2)と、上記補正量ΔNEと、上記(11)式とに基づいて#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdを求め、ステップ２０９５に進んで本ルーチンを一旦終了する。
【０２３７】
以降、ＣＰＵ７１は、上記特定気筒の次の膨張行程開始時点が到来するまでの間、ステップ２０００、２００２、２０１２の処理を繰り返し実行する。このようにして、各気筒の膨張行程終了時点が到来する毎に、新たに#inj気筒となった気筒の吸気弁閉時における新たなエンジン回転速度NEfwdが順次計算されていく。
【０２３８】
（目標スロットル弁開度の計算）
また、ＣＰＵ７１は、図２２にフローチャートにより示したルーチンを演算周期Δt（ここでは、８msec）の経過毎に実行することにより、上記電子制御スロットル弁ロジックＡ２、及び電子制御スロットル弁モデルＡ３の機能を達成する。具体的に述べると、ＣＰＵ７１は所定のタイミングにてステップ２２００から処理を開始し、ステップ２２０５に進んで変数ｉに「０」を設定し、ステップ２２１０に進んで変数ｉが前記遅延回数ntdlyと等しいか否かを判定する。
【０２３９】
この時点で変数ｉは「０」であるから、ＣＰＵ７１はステップ２２１０にて「Ｎｏ」と判定し、ステップ２２１５に進んで目標スロットル弁開度（予測スロットル弁開度）TAt(i)に目標スロットル弁開度（予測スロットル弁開度）TAt(i+1)の値を格納する。以上の処理により、目標スロットル弁開度TAt(0)に目標スロットル弁開度TAt(1)の値が格納される。
【０２４０】
次いで、ＣＰＵ７１は、ステップ２２２０にて変数ｉの値を「１」だけ増大してステップ２２１０にもどる。そして変数ｉの値が遅延回数ntdlyより小さければ、再びステップ２２１５〜２２２０を実行する。即ち、ステップ２２１５〜２２２０は、変数ｉの値が遅延回数ntdlyと等しくなるまで繰り返し実行される。これにより、目標スロットル弁開度TAt(i+1)の値が目標スロットル弁開度TAt(i)に順次シフトされていく。
【０２４１】
前述のステップ２２２０が繰り返されることにより変数ｉの値が遅延回数ntdlyと等しくなると、ＣＰＵ７１はステップ２２１０にて「Ｙｅｓ」と判定してステッ２２２５に進み、同ステップ２２２５にて、今回の暫定目標スロットル弁開度TAaccを目標スロットル弁開度（予測スロットル弁開度）TAt(ntdly)として格納する。そして、ステップ２２３０にて目標スロットル弁開度TAtに目標スロットル弁開度TAt(0)の値を設定した後、ステップ２２９５に進んで本ルーチンを一旦終了する。
【０２４２】
以上のように、目標スロットル弁開度TAtに関するメモリにおいては、本ルーチンが実行される毎にメモリの内容が一つずつシフトされて行き、目標スロットル弁開度TAt(0)に格納された値が、電子制御スロットル弁ロジックＡ２によってスロットル弁アクチュエータ４３ａに出力される目標スロットル弁開度TAtとして設定される。即ち、今回の本ルーチンの実行により目標スロットル弁開度TAt(ntdly)に格納された値は、今後において本ルーチンが遅延回数ntdlyだけ繰り返されたときにTAt(0)に格納され、目標スロットル弁開度TAtとなる。
【０２４３】
（予測吸入空気量KLfwdの計算）
ＣＰＵ７１は、上述した図２２のルーチンの演算周期Δtに同期して、同演算周期Δt（８msec）の経過毎に図２３に示した予測吸入空気量計算ルーチンを実行することで、吸入空気モデルＡ４（スロットルモデルＡ４１、吸気弁モデルＡ４２、及び吸気管モデルＡ４３）、並びに、KL予測モデルＡ５の機能を達成するようになっている。
【０２４４】
具体的に説明すると、所定のタイミングになったとき、ＣＰＵ７１はステップ２３００から処理を開始し、ステップ２３０５に進んで、上記吸気管モデルＡ４３を表す上記(21)式、及び(22)式と、前回の本ルーチン実行時における後述するステップ２３２５にて格納されている各種前回値 Pm(k-1)，(Pm/Tm)(k-1)，Tm(k-1)，mt(k-1)，mc(k-1)と、に基づいて、今回の吸気管圧力Pm(k)、今回の吸気管温度(k)、及び今回の値(Pm/Tm)(k)を求める。
【０２４５】
次に、ＣＰＵ７１はステップ２３１０に進み、スロットルモデルＡ４１を表す上記(14)式と、上記求めた今回の吸気管圧力Pm(k)と、スロットルポジションセンサ６４から得られる現時点でのスロットル弁開度TAとに基づいて今回のスロットル弁通過空気流量mt(k)を求める。
【０２４６】
続いて、ＣＰＵ７１は、ステップ２３１５に進んで、現時点でのエンジン回転速度NEと、現時点での進角量VVTと、テーブルMapa及びMapbと、に基づいて今回の比例係数a(k)と、今回の既燃ガス量b(k)とを求め、続くステップ２３２０にて、吸気弁モデルＡ４２を表す上記(25)式と、上記求めた今回の吸気管圧力Pm(k)と、上記今回の比例係数a(k)及び既燃ガス量b(k)とに基づいて今回の吸気弁通過空気流量mc(k)を求める。
【０２４７】
次いで、ＣＰＵ７１はステップ２３２５に進み、次回の計算の準備のため、各種今回値
Pm(k)，(Pm/Tm)(k)，Tm(k)，mt(k)，mc(k)をそれぞれ、各種前回値 Pm(k-1)，(Pm/Tm)(k-1)，Tm(k-1)，mt(k-1)，mc(k-1)として格納する。
【０２４８】
続いて、ＣＰＵ７１はステップ２３３０を経由して、図２４、及び図２５にフローチャートにして示した一連の予測吸気管圧力Pmfwd算出ルーチンの処理をステップ２４００から開始する。ＣＰＵ７１は、ステップ２４００からステップ２４０５に進むと、現時点でのエンジン回転速度NEを現在エンジン回転速度NEnowとして格納する。
【０２４９】
次に、ＣＰＵ７１はステップ２４１０に進み、上記現在エンジン回転速度NEnowに相当する現在エンジン回転角速度ωnowを求めるとともに、先の図２１のステップ２０５４にて既に求めている#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdの最新値に相当する予測エンジン回転角速度ωfwdを求める。
【０２５０】
続いて、ＣＰＵ７１はステップ２４１５に進んで、現時点から#inj気筒の吸気弁閉時までのクランク角度である遅延クランク角度ΔCAivcを取得するとともに、続くステップ２４２０にて現時点から#inj気筒の吸気弁開時までのクランク角度ΔCAivoを取得する。
【０２５１】
次いで、ＣＰＵ７１はステップ２４２５に進んで、上記予測エンジン回転角速度ωfwdと、上記現在エンジン回転角速度ωnowと、上記遅延クランク角度ΔCAivcとから傾きgを求め、続くステップ２４３０にて、上記予測エンジン回転角速度ωfwdと、上記現在エンジン回転角速度ωnowと、上記遅延クランク角度ΔCAivcと、上記(24)式とに基づいて遅延時間tfwdを求める。次に、ＣＰＵ７１はステップ２４３５に進んで、上記遅延時間tfwdを演算周期Δtで除した値を予測回数nfwdとして決定する。
【０２５２】
続いて、ＣＰＵ７１はステップ２４４０に進み、予測吸気管圧力Pmfwdの計算の準備のため、各種今回値
Pm(k)，(Pm/Tm)(k)，Tm(k)，mt(k)，mc(k)、及び上記現在エンジン回転速度NEnowの値をそれぞれ、Pmc(0)，(Pm/Tm)c(0)，Tmc(0)，mtc(0)，mcc(0)，NEc(0)(ωc(0))として格納する。
【０２５３】
次に、ＣＰＵ７１は図２５のステップ２４４５に進んで変数ｉに「０」を設定し、ステップ２４５０に進んで変数ｉが先のステップ２４３５にて求めた予測回数nfwdと等しいか否かを判定する。この時点で変数ｉは「０」であるから、ＣＰＵ７１はステップ２４５０にて「Ｎｏ」と判定し、続くステップ２４５５にて変数ｉの値を「１」だけ増大する。
【０２５４】
続いて、ＣＰＵ７１はステップ２４６０に進み、先のステップ２３０５と同様にして、上記吸気管モデル相当モデルを表す上記(21)式及び(22)式に相当する式と、各種値 Pmc(i-1)，(Pm/Tm)c(i-1)，Tmc(i-1)，mtc(i-1)，mcc(i-1)と、に基づいて、吸気管圧力Pmc(i)、吸気管温度(i)、及び値(Pm/Tm)(i)を求める。以上の処理により、先のステップ２４４０にて格納されている各種値Pmc(0)，(Pm/Tm)c(0)，Tmc(0)，mtc(0)，mcc(0)と、に基づいて、現時点から一演算周期Δt後の将来の予測値である吸気管圧力Pmc(1)、吸気管温度(1)、及び値(Pm/Tm)(1)が求められる。
【０２５５】
次いで、ＣＰＵ７１はステップ２４６５に進んで、先のステップ２３１０と同様にして、上記スロットルモデル相当モデルを表す上記(14)式に相当する式と、吸気管圧力Pmc(i)と、電子制御スロットル弁モデルＡ３が予測している予測スロットル弁開度TAt(i)とに基づいてスロットル弁通過空気流量mtc(i)を求める。これにより、現時点から一演算周期Δt後の将来の予測値である吸気管圧力Pmc(1)と、現時点から一演算周期Δt後の将来の予測値であるスロットル弁開度TAt(1)とに基づいて現時点から一演算周期Δt後の将来の予測値であるスロットル弁通過空気流量mtc(1)が求められる。
【０２５６】
次に、ＣＰＵ７１はステップ２４７０に進み、先のステップ２４２５にて求めた傾きgと、エンジン回転角速度ωc(i-1)と、上記(27)式とに基づいて、現時点から時間「Δt・(i-1)」が経過した時点から、一演算周期Δtが経過する間におけるエンジン回転角速度ωの増加分Δωを求める。これにより、現時点から一演算周期Δtが経過する間における増加分Δωが求められる。
【０２５７】
続いて、ＣＰＵ７１はステップ２４７５に進んで、エンジン回転角速度ωc(i-1)に上記求めた増加分Δωを加えた値をエンジン回転角速度ωc(i)として格納し、続くステップ２４８０にて、エンジン回転角速度ωc(i)に相当するエンジン回転速度NEc(i)を求める。これにより、現時点から一演算周期Δt経過後の将来のエンジン回転角速度ωc(1)、及び同エンジン回転角速度ωc(1)に相当するエンジン回転速度NE(1)が求められる。
【０２５８】
次に、ＣＰＵ７１はステップ２４８５に進み、上記エンジン回転速度NEc(i)と、現時点での進角量VVTと、テーブルMapa及びMapbとに基づいて比例係数ac(i)、及び既燃ガス量bc(i)を求める。続いて、ＣＰＵ７１はステップ２４９０に進んで、上記吸気弁モデル相当モデルを表す上記(15)式に相当する式と、上記吸気管圧力Pmc(i)と、上記比例係数ac(i)及び既燃ガス量bc(i)とに基づいて吸気弁通過空気流量mcc(i)を求める。これにより、現時点から一演算周期Δt後の将来の予測値である吸気管圧力Pmc(1)と、現時点から一演算周期Δt後の将来の予測値であるエンジン回転速度NEc(1)に基づいて決定された比例係数ac(1)及び既燃ガス量bc(1)とに基づいて、現時点から一演算周期Δt後の将来の予測値である吸気弁通過空気流量mcc(1)が求められる。
【０２５９】
そして、ＣＰＵ７１はステップ２４５０にもどり、変数ｉの値が予測回数nfwdより小さければ、再びステップ２４５５〜２４９０を実行する。即ち、ステップ２４５５〜２４９０は、変数ｉの値が予測回数nfwdと等しくなるまで繰り返し実行される。これにより、現時点から時間「Δt・i」が経過した時点における予測値である各種値
Pmc(i)，(Pm/Tm)c(i)，Tmc(i)，mtc(i)，mcc(i)，ωc(i)，NEc(i)，ac(i)，bc(i) (i＝1,2,・・・,nfwd)が順次計算されていく。
【０２６０】
前述のステップ２４５５が繰り返されることにより変数ｉの値が遅延回数nfwdと等しくなると、ＣＰＵ７１は、現時点から時間「Δt・nfwd」が経過した時点（即ち、#inj気筒の吸気弁閉時）における予測値である上記各種値
Pmc(nfwd)等を計算し、その後にステップ２４５０にもどったとき「Ｙｅｓ」と判定してステッ２４９５に進む。
【０２６１】
ＣＰＵ７１はステップ２４９５に進むと、吸気管圧力Pmc(i)（即ち、Pmc(nfwd)）の値を予測吸気管圧力Pmfwdとして設定し、続くステップ２４９９を経由して図２３のステップ２３３５に戻る。これにより、#inj気筒の吸気弁閉時における予測吸気管圧力Pmfwdが求められる。
【０２６２】
ＣＰＵ７１はステップ２３３５に進むと、同ステップ２３３５を経由して、図２６にフローチャートにして示した吸気弁開弁時間Tint算出ルーチンの処理をステップ２６００から開始する。ＣＰＵ７１は、ステップ２６００からステップ２６０５に進むと、先のステップ２４１０にて求めた現在エンジン回転角速度ωnowと、先のステップ２４２５にて求めた傾きgと、現時点から#inj気筒の吸気弁開時までのクランク角度ΔCAivoとに基づいて同吸気弁開時におけるエンジン回転角速度ωivoを求める（図１１を参照）。
【０２６３】
次に、ＣＰＵ７１はステップ２６１０に進んで、上記エンジン回転角速度ωivoと、先のステップ２４１０にて求めた予測エンジン回転角速度ωfwdと、遅延クランク角度(ΔCAivc−ΔCAivo)と、上記(28)式とに基づいて吸気弁開弁時間Tintを求め、ステップ２６９５を経由して図２３のステップ２３４０に戻る。これにより、#inj気筒の吸気弁開弁時間Tintが求められる。
【０２６４】
ＣＰＵ７１はステップ２３４０に進むと、図２１のステップ２０５４にて求められている#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdと、現時点での進角量VVTと、テーブルMapa,Mapbとに基づいて、同予測エンジン回転速度NEfwdに基づいて決定される比例係数afwd、及び既燃ガス量bfwdを求める。
【０２６５】
次に、ＣＰＵ７１はステップ２３４５に進み、上記吸気弁モデル相当モデルを表す上記(15)式に相当する式と、上記比例係数afwd、及び既燃ガス量bfwdと、図２５のステップ２４９５にて格納した#inj気筒の吸気弁閉時における予測吸気管圧力Pmfwdとに基づいて同吸気弁閉時における吸気弁通過空気流量mcfwdを求める。
【０２６６】
そして、ＣＰＵ７１はステップ２３５０に進み、上記吸気弁閉時における吸気弁通過空気流量mcfwdに、図２６のステップ２６１０にて求めた#inj気筒の吸気弁開弁時間Tintを乗じた値を#inj気筒の吸気弁閉時における予測吸入空気量KLfwdとして決定し、ステップ２３９５に進んで本ルーチンを一旦終了する。これにより、#inj気筒の吸気弁閉時における予測吸入空気量KLfwdが求められる。
【０２６７】
（噴射実行ルーチン）
次に、電気制御装置７０が、実際に噴射を行うために実行するルーチンについて、同ルーチンをフローチャートにより示した図２７を参照して説明すると、ＣＰＵ７１は各気筒の排気行程中における噴射開始時期が到来する毎に（即ち、#inj気筒の噴射開始時期が到来する毎に）、各気筒毎に同図２７に示したルーチンを実行するようになっている。
【０２６８】
従って、特定の（任意の）気筒（#inj気筒）の噴射開始時期が到来すると、ＣＰＵ７１はステップ２７００から処理を開始し、ステップ２７０５に進んで、現時点でのエンジン回転速度NEを噴射開始時エンジン回転速度NE#injとして格納し、続くステップ２７１０にて、同噴射開始時エンジン回転速度NE#injと、図２１のステップ２０５４にて求められている#inj気筒（即ち、上記特定気筒）の吸気弁閉時における予測エンジン回転速度NEfwdとの平均値である平均エンジン回転速度NEaveを求める。
【０２６９】
次に、ＣＰＵ７１はステップ２７１５に進み、上記平均エンジン回転速度NEaveと、図２３のステップ２３５０にて求められている最新の#inj気筒の吸気弁閉時における予測吸入空気量KLfwdと、現時点での進角量VVTと、テーブルMappとに基づいて残留率pを求める。続いて、ＣＰＵ７１はステップ２７２０に進んで、ステップ２７１５と同様にして付着率rを求める。
【０２７０】
次いで、ＣＰＵ７１はステップ２７２５に進んで、上記最新の予測吸入空気量KLfwdを、図示しないルーチンにて別途定められている目標空燃比AbyFrefで除することにより特定気筒の予測必要燃料量fc(k)を求める。係る手段が予測必要燃料量算出手段Ａ７１に相当する。
【０２７１】
続いて、ＣＰＵ７１はステップ２７３０に進み、燃料挙動逆モデルＡ７２を表す上記(31)式と、上記特定気筒の予測必要燃料量fc(k)と、上記求めた残留率p及び付着率rと、前回の本ルーチン実行時における後述するステップ２７４０にて格納された燃料付着量fw(k)とに基づいて、特定気筒の今回の燃料噴射量fi(k)を求める。
【０２７２】
次に、ＣＰＵ７１はステップ２７３５に進んで、燃料付着モデルを表す上記(29)式と、上記求めた残留率p及び付着率rと、前回の本ルーチン実行時における後述するステップ２７４０にて格納された燃料付着量fw(k)とに基づいて、特定気筒の次回の燃料付着量fw(k+1)を求め、続くステップ２７４０にて、次回の計算の準備のため、同求めた特定気筒の次回の燃料付着量fw(K+1)を今回の燃料付着量fw(k)として格納しておく。
【０２７３】
次いで、ＣＰＵ７１はステップ２７４５に進んで、特定気筒（即ち、#inj気筒）のインジェクタ３９に対して上記求めた燃料噴射量fi(k)の燃料の噴射を指示する。これにより、燃料噴射量fi(k)に応じた量の燃料が特定気筒のインジェクタ３９から噴射される。そして、ＣＰＵ７１はステップ２７５０に進み、上記求めた特定気筒（即ち、#inj気筒）の予測必要燃料量fc(k)の値を、同特定気筒（即ち、現時点で#inj気筒となっている気筒）についての前回の筒内流入燃料量mf#inj(k-1)として格納した後、ステップ２７９５に進んで本ルーチンを一旦終了する。
【０２７４】
今回格納された上記前回の筒内流入燃料量mf#inj(k-1)の値は、その後において各気筒の膨張行程終了時点が終了する毎（即ち、#inj気筒となる気筒が変更される毎）に順次、図２１のステップ２０５２における#(inj+3)気筒についての前回の筒内流入燃料量mf#(inj+3)(k-1)、ステップ２０３６における#(inj+2)気筒についての前回の筒内流入燃料量mf#(inj+2)(k-1)、ステップ２０３４における#(inj+1)気筒についての前回の筒内流入燃料量mf#(inj+1)(k-1)、図２０のステップ２０３２における#inj気筒についての前回の筒内流入燃料量mf#inj(k-1)として使用されていくことになる。
【０２７５】
以上、説明したように、本発明による内燃機関の制御装置を含んだ燃料噴射量制御装置の上記第１実施形態によれば、各気筒の膨張行程終了時点（排気行程開始時点。予測時点）が到来する毎（例えば、図３において、クランク角度CA1,CA2,CA3,CA5）に、排気行程に移行した気筒である#inj気筒のその後の吸気弁閉時における予測エンジン回転速度NEfwdを順次予測していく。この予測エンジン回転速度NEfwdの推定は、既に実行された#inj気筒の膨張行程における機関の実際の平均実図示トルクTi#inj（従って、図示熱効率η#inj）に基づいて予測され得る#(inj+1)気筒、及び#(inj+2)気筒の各膨張行程における平均予測図示トルクTi#(inj+1)，及びTi#(inj+2)をそれぞれ利用することで行う。
【０２７６】
また、#inj気筒の排気行程開始時点（予測時点）よりも後であって#inj気筒の吸気弁閉時よりも前の時点（算出時点）にて、既に予測されている#inj気筒の吸気弁閉時におけるエンジン回転速度NEfwdが考慮されて、#inj気筒の吸気弁閉時における予測吸入空気量KLfwd（具体的には、予測吸入空気量KLfwdを求めるために必要な比例係数a、及び既燃ガス量b）、及び燃料付着量fw（具体的には、燃料付着量fwを求めるために必要な残留率p、及び付着率r）が算出される。
【０２７７】
そして、係る予測吸入空気量KLfwd、及び燃料付着量fwに基づいて#inj気筒についての今回の燃料噴射量fi(k)が計算される。従って、機関の始動直後、レーシング（空ぶかし）等、エンジン回転速度NEが急変して現時点（即ち、算出時点）でのエンジン回転速度がその後の吸気弁閉時における上記予測エンジン回転速度NEfwdと大きく異なる場合であっても、吸気弁閉時における機関の回転速度に大きく依存する値である予測吸入空気量KLfwd、燃料付着量fwの値が精度良く算出され得る。この結果、エンジン回転速度NEが急変する場合であっても、機関に吸入される混合気の空燃比を精度良く目標空燃比AbyFrefに維持することができる。
【０２７８】
本発明は上記第１実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第１実施形態においては、図２０のステップ２０３２における#inj気筒についての前回の筒内流入燃料量mf#inj(k-1)、並びに、図２１のステップ２０３４における#(inj+1)気筒についての前回の筒内流入燃料量mf#(inj+1)(k-1)、ステップ２０３６における#(inj+2)気筒についての前回の筒内流入燃料量mf#(inj+2)(k-1)、ステップ２０５２における#(inj+3)気筒についての前回の筒内流入燃料量mf#(inj+3)(k-1)として、予測必要燃料量算出手段Ａ７１が算出した各気筒についての予測必要燃料量fc(k)が使用されているが、燃料挙動逆モデルＡ７２が算出した各気筒についての燃料噴射量fi(k)が使用されてもよい。
【０２７９】
また、上記第１実施形態においては、#inj気筒の膨張行程における機関の熱効率η#inj等を算出する際に使用される燃料の低発熱量Huが一般的な燃料についての値（一定値）として扱われているが、燃料の性状を取得する燃料性状取得手段により燃料の低発熱量Huを取得し、同取得した燃料の低発熱量Huを使用して#inj気筒の膨張行程における機関の熱効率η#inj等を算出するように構成してもよい。
【０２８０】
この場合、燃料性状取得手段は、燃料の性状として、例えば、機関が始動する際のエンジン回転速度の上昇勾配等を取得し、係る上昇勾配等から燃料の低発熱量Huを推定するように構成されることが好適である。
【０２８１】
また、上記第１実施形態においては、#inj気筒の排気行程開始時点（即ち、予測時点）が、機関の始動後における最初の燃焼に係わる膨張行程の終了時点（例えば、図３に示した例では、クランク角度CA1）よりも前の時点となる場合、同予測時点の直前において実行された#inj気筒の膨張行程において燃焼（着火）が未だ発生していない。従って、予測時点の直前の#inj気筒の膨張行程における機関の図示熱効率η#injを算出することができず、この結果、他の気筒の膨張行程における機関の予測図示トルクを予測することができない。
【０２８２】
このような場合、inj気筒の膨張行程における機関の図示熱効率η#injとして予め設定されている所定の図示熱効率ηrefを使用して他の気筒の膨張行程における機関の予測図示トルクを予測するように構成されることが好適である。ここで、所定の図示熱効率ηrefは、例えば、機関の始動後における最初の燃焼に係わる膨張行程以降の幾つかの各膨張行程における機関の図示熱効率を実験等を通して予め調査することで取得することができる。
【０２８３】
例えば、図３に示した例においては、予測時点がクランク角度CAaに相当する時点であって同予測時点にて#inj気筒となった#4気筒の吸気弁閉時における予測エンジン回転速度NEfwdを予測する場合、#(inj+2)気筒である#1気筒の膨張行程（図３において、Ａに対応する。）における機関の平均予測図示トルクTi#1は、筒内流入燃料量mf#1と上記図示熱効率ηrefと、上記(6)式に相当する式とにより予測することができる。
【０２８４】
そして、予測時点（即ち、クランク角度CAa）でのエンジン回転速度と、上記平均予測図示トルクTi#1とに基づいて、#(inj+2)気筒である#1気筒の膨張行程終了時点でのエンジン回転速度NEbdc#1（即ち、クランク角度CA1でのエンジン回転速度）を予測することができる。従って、この予測されたエンジン回転速度NEbdc#1と、上記(10)式から得られる補正量ΔNEとにより、#inj気筒である#4気筒の吸気弁閉時における予測エンジン回転速度NEfwdを求めることができる。
【０２８５】
同様に、例えば、図３に示した例において、予測時点がクランク角度CA0に相当する時点であって同予測時点にて#inj気筒となった#2気筒の吸気弁閉時における予測エンジン回転速度NEfwdを予測する場合、#(inj+1)気筒である#1気筒の膨張行程（図３において、Ａに対応する。）における機関の平均予測図示トルクTi#1は、筒内流入燃料量mf#1と上記図示熱効率ηrefと、上記(5)式に相当する式とにより予測することができる。同様に、#(inj+2)気筒である#3気筒の膨張行程（図３において、Ｂに対応する。）における機関の平均予測図示トルクTi#3は、筒内流入燃料量mf#3と上記図示熱効率ηrefと、上記(6)式に相当する式とにより予測することができる。
【０２８６】
そして、予測時点（即ち、クランク角度CA0）でのエンジン回転速度と、上記平均予測図示トルクTi#1と、上記平均予測図示トルクTi#3とに基づいて、#(inj+2)気筒である#3気筒の膨張行程終了時点でのエンジン回転速度NEbdc#3（即ち、クランク角度CA2でのエンジン回転速度）を予測することができる。従って、この予測されたエンジン回転速度NEbdc#3と、上記(10)式から得られる補正量ΔNEとにより、#inj気筒である#2気筒の吸気弁閉時における予測エンジン回転速度NEfwdを求めることができる。
【０２８７】
また、上記第１実施形態においては、#inj気筒の噴射開始時期が#inj気筒の（吸気行程の前の）排気行程中の所定の時点に設定されているため、#(inj+1)気筒と、#(inj+2)気筒の２つの平均予測図示トルクTi#(inj+1),
Ti#(inj+2)を使用して#inj気筒の吸気弁閉時におけるエンジン回転速度NEfwdを予測しなければならない。従って、エンジン回転速度NEfwdを予測するために必要な予測図示トルク値が複数となるから、特に急激な過渡運転状態等において、予測されるエンジン回転速度NEfwdの推定誤差が大きくなる可能性がある。よって、予測吸入空気量KLfwd等の計算誤差が大きくなり、この結果、機関に吸入される混合気の空燃比が乱れる可能性がある。
【０２８８】
以上のことから、機関に供給される混合気の空燃比を高精度に制御する必要がある場合等においては、#inj気筒の噴射開始時期を#inj気筒の吸気行程中の所定の時点に設定することが好適である。これにより、#inj気筒の吸気行程開始時点（即ち、#(inj+1)気筒の膨張行程終了時点。予測時点）にて、同時点における実際のエンジン回転速度NEbdc#(inj+1)と、#(inj+2)気筒の膨張行程における機関の平均予測図示トルクTi#(inj+2)とを使用して#inj気筒の吸気弁閉時におけるエンジン回転速度NEfwdを予測することができる。
【０２８９】
これにより、エンジン回転速度NEfwdを予測するために必要な予測図示トルク値が一つとなるから、予測されるエンジン回転速度NEfwdの推定誤差が小さくなる。この結果、予測吸入空気量KLfwd等の計算誤差が小さくなって機関に吸入される混合気の空燃比がより一層精度良く目標空燃比に維持され得る。
【０２９０】
なお、この場合、#(inj+2)気筒の膨張行程における機関の平均予測図示トルクTi#(inj+2)を予測するにあたり、上記第１実施形態と同様に既に実行された#inj気筒の膨張行程における機関の平均実図示トルク（従って、図示熱効率）を利用してもよいし、既に実行された#(inj+1)気筒の膨張行程における機関の平均実図示トルク（従って、図示熱効率）を利用してもよい。
【０２９１】
また、上記第１実施形態においては、#(inj+2)気筒の膨張行程終了時点におけるエンジン回転速度NEbdc#(inj+2)と、#inj気筒の吸気行程終了時点と#inj気筒の吸気弁閉時との間のクランク角度差ΔCAlateに応じた補正量ΔNEとに基づいて、#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdを予測するように構成されているが（上記(11)式を参照。）、機関が所定の運転状態（例えば、機関の始動直後等）にある場合のみ、NE予測モデルＡ１により予測エンジン回転速度NEfwdを予測するように構成するとともに、機関が上記所定の運転状態にある期間中において、#inj気筒の吸気弁閉時が#(inj+2)気筒の膨張行程終了時点（即ち、#inj気筒の吸気行程終了時点）と一致するように#inj気筒の吸気弁３２の進角量VVTを制御するように構成してもよい。
【０２９２】
これにより、#(inj+2)気筒の膨張行程終了時点におけるエンジン回転速度NEbdc#(inj+2)そのものを予測エンジン回転速度NEfwdとすることができるから、同予測エンジン回転速度NEfwdの推定において上記補正量ΔNEの推定誤差の影響を排除することができる。従って、予測エンジン回転速度NEfwdの推定誤差が小さくなるから、予測吸入空気量KLfwd等の計算誤差が小さくなって機関に吸入される混合気の空燃比がより一層精度良く目標空燃比に維持され得る。
【０２９３】
また、上記第１実施形態においては、#inj気筒の膨張行程における機関の平均実図示トルクTi#inj（実図示トルク関連量）を上記(1)式に基づく計算により取得しているが、筒内圧力を検出可能な筒内圧力センサが総ての気筒に対してそれぞれ設けられている場合、#inj気筒の膨張行程中における各筒内圧力センサの出力に基づいて#inj気筒の膨張行程における機関の実図示トルク関連量（具体的には、実際の図示仕事Wi#inj）を取得するように構成してもよい。
【０２９４】
以下、図２８に示したように、予測時点がクランク角度CA＝３πに相当する時点であって同予測時点にて#inj気筒となった#1気筒の吸気弁閉時における予測エンジン回転速度NEfwdを予測する場合を例にとって説明する。この場合、#inj気筒である#1気筒の膨張行程（クランク角度CA：２π〜３π）における機関の図示仕事Wi#inj（即ち、図示仕事Wi#1）は、同膨張行程における各気筒の仕事の和であるから、下記(32)式に従って取得することができる。
【０２９５】
【数１５】
2005337225.tif 000017
【０２９６】
上記(32)式において、Wi#1exp, Wi#3com,
Wi#4in, Wi#2out はそれぞれ、#inj気筒である#1気筒の膨張行程（クランク角度CA：２π〜３π）における、#1気筒の膨張行程における仕事、#(inj+1)気筒である#3気筒の圧縮行程における仕事、#(inj+2)気筒である#4気筒の吸気行程における仕事、#(inj+3)気筒である#2気筒の排気行程における仕事である（図２８に示した太枠を参照。）。
【０２９７】
P#1(CA)，P#2(CA)，P#3(CA)，P#4(CA)は、各気筒の筒内圧力センサの出力からそれぞれ取得される実際の各筒内圧力（のクランク角度CAに対する変化の経緯）である。また、dV#1(CA)/dCA,
dV#2(CA)/dCA, dV#3(CA)/dCA, dV#4(CA)/dCAは、機関の設計諸元から予め決定される各気筒の筒内容積のクランク角度CAに対する変化率（クランク角度CAの関数）であり、ＲＯＭ７２内に予め記憶されているクランク角度CAを引数とする所定のテーブルから取得される。
【０２９８】
上述のように、上記(32)式に従って、機関の図示仕事Wi#inj、即ち、図示仕事Wi#1が取得されると、#inj気筒である#1気筒の膨張行程（クランク角度CA：２π〜３π）における機関の図示熱効率η#inj（即ち、図示熱効率η#1）は、上記(3)式に代わりに下記(33)式に従って取得することができる。
【０２９９】
【数１６】
2005337225.tif 000018
【０３００】
図示熱効率η#1が取得できると、上記第１実施形態と同様、上記(5)式、及び(6)式に従って、#(inj+1)気筒である#3気筒の膨張行程（クランク角度CA：３π〜４π）における機関の平均予測図示トルクTi#3、及び、#(inj+2)気筒である#4気筒の膨張行程（クランク角度CA：４π〜５π）における機関の平均予測図示トルクTi#4をそれぞれ予測することができる。
【０３０１】
以上、筒内圧力センサが総ての気筒に対してそれぞれ設けられている場合における#inj気筒の膨張行程における機関の実図示トルク関連量（具体的には、実際の図示仕事Wi#inj）の取得方法について説明した。これに対し、複数気筒のうち一部の気筒にのみ筒内圧力センサが設けられている場合、#inj気筒が筒内圧力センサが設けられていない気筒に対応するときは上記第１実施形態と同様に上記(1)式に基づく計算により#inj気筒の膨張行程における機関の実図示トルク関連量を取得するとともに、#inj気筒が筒内圧力センサが設けられている気筒に対応するときは、#inj気筒の膨張行程を含む#inj気筒の一燃焼サイクル中における#inj気筒の筒内圧力センサの出力に基づいて#inj気筒の膨張行程における機関の実図示トルク関連量（具体的には、実際の図示仕事Wi#inj）を取得するように構成してもよい。
【０３０２】
以下、少なくとも#1気筒に筒内圧力センサが設けられていて、図２９に示したように、予測時点がクランク角度CA＝３πに相当する時点であって同予測時点にて#inj気筒となった#1気筒の吸気弁閉時における予測エンジン回転速度NEfwdを予測する場合を例にとって説明する。
【０３０３】
特定気筒の膨張行程中における各気筒の仕事の和（即ち、同特定気筒の膨張行程における機関の図示仕事）は、同特定気筒の膨張行程を含む同特定気筒の一燃焼サイクル中（吸気行程開始から排気行程終了までの間）における同特定気筒の各行程における仕事の和と略等しいと考えることができる。従って、この場合、#inj気筒である#1気筒の膨張行程（クランク角度CA：２π〜３π）における機関の図示仕事Wi#inj（即ち、図示仕事Wi#1）は、下記(34)式に従って取得することができる。
【０３０４】
【数１７】
2005337225.tif 000019
【０３０５】
上記(34)式において、Wi#1in, Wi#1com,
Wi#1exp, Wi#1out はそれぞれ、#inj気筒である#1気筒の吸気行程（クランク角度CA：０〜π）における仕事、#1気筒の圧縮行程（クランク角度CA：π〜２π）における仕事、#1気筒の膨張行程（クランク角度CA：２π〜３π）における仕事、#1気筒の排気行程（クランク角度CA：３π〜４π）における仕事である（図２９に示した太枠を参照。）。
【０３０６】
また、上記(34)式において、P#1(CA)，dV#1(CA)/dCAは、上記(32)式のものと同様、#1気筒の筒内圧力センサの出力から取得される実際の#1気筒の筒内圧力（のクランク角度CAに対する変化の経緯）、#1気筒の筒内容積のクランク角度CAに対する変化率（クランク角度CAの関数）である。
【０３０７】
ここで、予測時点（即ち、現時点）はクランク角度CA＝３πに相当する時点であるから、#1気筒の排気行程（クランク角度CA：３π〜４π）における筒内圧力P#1(CA)を現時点で取得することはできない。他方、一般に、排気行程中における筒内圧力は、同排気行程の開始時点での筒内圧力、或いは大気圧に略等しいと考えることができる。従って、ここでは、#1気筒の筒内圧力センサから得られる現時点での#1気筒の筒内圧力P#1(３π)、或いは大気圧センサ６３から得られる現時点での大気圧Paを、上記(34)式における筒内圧力P#1(CA)(CA：３π〜４π)として使用する。
【０３０８】
上述のように、上記(34)式に従って、機関の図示仕事Wi#inj、即ち、図示仕事Wi#1が取得されると、#inj気筒である#1気筒の膨張行程（クランク角度CA：２π〜３π）における機関の図示熱効率η#inj（即ち、図示熱効率η#1）は、上記(3)式に代わりに上記(33)式に従って取得することができ、図示熱効率η#1が取得できると、上記(5)式、及び(6)式に従って、#(inj+1)気筒である#3気筒の膨張行程（クランク角度CA：３π〜４π）における機関の平均予測図示トルクTi#3、及び、#(inj+2)気筒である#4気筒の膨張行程（クランク角度CA：４π〜５π）における機関の平均予測図示トルクTi#4をそれぞれ予測することができる。
【０３０９】
（第２実施形態）
次に、本発明による第２実施形態に係る制御装置（燃料噴射量制御装置）について説明する。この燃料噴射量制御装置は、#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdを取得する手法においてのみ第１実施形態に係る燃料噴射量制御装置と異なっている。従って、以下、係る相違点についてのみ説明する。
【０３１０】
この装置は、図３０に示したように、機関の始動直後の所定の短期間内における基準エンジン回転速度NEref（従って、基準エンジン回転角速度ωref）の変化の経緯を、所定の時点からの延べクランク角度（以下、「絶対クランク角度CAabs」と称呼する。）の関数funcωref(CAabs)としてＲＯＭ７２に予め記憶している。係る基準エンジン回転角速度ωrefの変化の経緯は、機関を実際に複数回始動させることにより得られる始動直後のエンジン回転角速度ωに係わる複数のデータの平均値を求めること等により予め取得され得る。
【０３１１】
従って、機関の始動直後の所定の短期間内において、原則的には、#inj気筒の吸気弁閉時における絶対クランク角度CAabsfwdと、関数funcωrefとに基づいて同吸気弁閉時における予測エンジン回転角速度ωfwd（従って、予測エンジン回転速度NEfwd）が同吸気弁閉時よりも前の時点にて値funcωref(CAabsfwd)として予測され得る。
【０３１２】
しかしながら、機関の始動直後の実際のエンジン回転角速度ωの変化の経緯が始動毎に毎回、上記基準エンジン回転角速度ωrefの変化の経緯と完全に一致することはないから、実際のエンジン回転角速度ωと上記基準エンジン回転角速度ωrefとの誤差を補償する必要がある。
【０３１３】
そこで、この装置は、上記誤差を補償するための補正係数を求める関数gain(x)を導入する。以下、この関数gain(x)の求め方について図３０を参照しながら説明する。図３０に示したように、現時点（今回のNE予測時点。即ち、現時点で新たに#inj気筒となった気筒の排気行程開始時点）での絶対クランク角度CAabsを今回予測時絶対クランク角度CAabsnowとし、現時点での実際のエンジン回転角速度を今回予測時エンジン回転角速度ωnowとし、前回のNE予測時点（即ち、現時点の直前まで#inj気筒であった気筒の排気行程開始時点）での絶対クランク角度CAabsを前回予測時絶対クランク角度CAabsbとし、前回のNE予測時点での実際のエンジン回転角速度を前回予測時エンジン回転角速度ωnowbとする。
【０３１４】
また、今回予測時比率ratioを下記(35)にて定義し、前回予測時比率ratiobを下記(36)式にて定義する。下記(35)式において、ωrefは現時点（今回のNE予測時点）での基準エンジン回転角速度である。また、下記(36)式において、ωrefbは前回のNE予測時点での基準エンジン回転角速度である。
【０３１５】
ratio＝ωnow / ωref  ・・・(35)
ratiob＝ωnowb / ωrefb  ・・・(36)
【０３１６】
この場合、関数gain(x)は、その引数である変数x＝CAabsbであるときに上記前回予測時比率ratiobの値を採り、且つ、変数x＝CAabsnowであるときに上記今回予測時比率ratioの値を採る直線（即ち、変数xについての一次関数）として、現時点（今回のNE予測時点）にて、下記(37)式に従って求められる。即ち、関数gain(x)は、NE予測時点が新たに到来する毎（従って、絶対クランク角度CAabsが１８０°だけ増加する毎）に、新たに求められる今回予測時比率ratioと、新たに求められる前回予測時比率ratiobとに基づいて順次更新されていく。
【０３１７】
【数１８】
2005337225.tif 000020
【０３１８】
上述のように、今回のNE予測時点（現時点）にて関数gain(x)が求められると、関数gain(x)において変数xを#inj気筒の吸気弁閉時における絶対クランク角度CAabsfwdと置くことで得られる値gain(CAabsfwd)は、同吸気弁閉時における基準エンジン回転角速度である値funcωref(CAabsfwd)に対する同吸気弁閉時における将来の実際のエンジン回転角速度の比率を精度良く表す値となり得る。換言すれば、値gain(CAabsfwd)は、実際のエンジン回転角速度ωと上記基準エンジン回転角速度ωrefとの誤差を補償するための#inj気筒の吸気弁閉時における補正係数となり得る。
【０３１９】
そこで、この装置は、今回のNE予測時点（現時点）にて、#inj気筒の吸気弁閉時における絶対クランク角度CAabsfwdの値を用いて、値funcωref(CAabsfwd)に上記求めた値gain(CAabsfwd)を乗じた値「funcωref(CAabsfwd)・gain(CAabsfwd)」を#inj気筒の吸気弁閉時におけるエンジン回転角速度ωfwd（従って、エンジン回転速度NEfwd）として予測・推定する。
【０３２０】
（第２実施形態の実際の作動）
次に、第２実施形態に係る制御装置（燃料噴射量制御装置）の実際の作動について説明する。この装置のＣＰＵ７１は、第１実施形態のＣＰＵ７１が実行する図２０、及び図２１に示したルーチンに代えて、図３１にフローチャートにより示したルーチンを実行することで#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdを求める。以下、第２実施形態に特有のルーチンである図３１のルーチンについてのみ説明する。
【０３２１】
ＣＰＵ７１は、図３１のルーチンを演算周期Δt（ここでは、８msec）の経過毎に実行することにより、上記NE予測モデルＡ１の機能を達成する。具体的に述べると、ＣＰＵ７１は所定のタイミングにてステップ３１００から処理を開始し、ステップ３１０５に進んで、特定気筒の状態が膨張行程から排気行程に移行したか否か（排気行程開始時点が到来したか否か）を判定し、「Ｎｏ」と判定する場合、ステップ３１９５に直ちに進んで本ルーチンを一旦終了する。以降、特定気筒の排気行程開始時点が到来するまで、ＣＰＵ７１はステップ３１００、３１０５、３１９５の処理を繰り返し実行する。
【０３２２】
次に、この状態にて特定気筒の排気行程開始時点が到来したものとすると、ＣＰＵ７１はステップ３１０５に進んだとき「Ｙｅｓ」と判定してステップ３１１０に進むようになり、同ステップ３１１０にて現時点（即ち、今回のNE予測時点）での絶対クランク角度CAabsの値を今回予測時絶対クランク角度CAabsnowとして格納する。
【０３２３】
次に、ＣＰＵ７１はステップ３１１５に進み、現時点でのエンジン回転速度NEに相当するエンジン回転角速度ωを今回予測時エンジン回転角速度ωnowとして格納する。続いて、ＣＰＵ７１はステップ３１２０に進んで、ＲＯＭ７２に記憶されている関数funcωrefと、上記今回予測時絶対クランク角度CAabsnowとに基づいて得られる値funcωref(CAabsnow)を現時点での基準エンジン回転角速度ωrefとして格納する。
【０３２４】
次いで、ＣＰＵ７１はステップ３１２５に進み、上記今回予測時エンジン回転角速度ωnowを上記現時点での基準エンジン回転角速度ωrefで除した値を今回予測時比率ratioとして格納し、続くステップ３１３０にて、上記今回予測時比率ratioと、上記今回予測時絶対クランク角度CAabsnowと、前回の本ルーチン実行時における後述するステップ３１６５にて格納されている前回予測時比率ratiob及び前回予測時絶対クランク角度CAabsbと、上記(37)式とに基づいて関数gain(x)を求める（更新する）。
【０３２５】
次に、ＣＰＵ７１はステップ３１３５に進み、上記更新された関数gain(x)の引数xを現時点で新たに#inj気筒となった気筒の吸気弁閉時における絶対クランク角度CAabsfwdとしたときに得られる関数値（即ち、#inj気筒の吸気弁閉時における補正係数を表す値）gain(CAabsfwd)が所定の下限値lowerlimit以上であって所定の上限値upperlimit以下であるか否かを判定し、「Ｙｅｓ」と判定する場合、ステップ３１５５に直ちに進む。
【０３２６】
一方、ＣＰＵ７１はステップ３１３５にて「Ｎｏ」と判定する場合、ステップ３１４０に進んで、上記関数値gain(CAabsfwd)が上限値upperlimitよりも大きいか否かを判定し、「Ｙｅｓ」と判定する場合、続くステップ３１４５にて同上限値upperlimitを同関数値gain(CAabsfwd)として再設定する。他方、ＣＰＵ７１はステップ３１４０にて「Ｎｏ」と判定する場合、ステップ３１５０に進んで下限値lowerlimitを関数値gain(CAabsfwd)として再設定する。換言すれば、関数値gain(CAabsfwd)は、上限値upperlimitを超えた場合には同上限値upperlimitに、下限値lowerlimitを下回った場合には同下限値lowerlimitに制限される。
【０３２７】
ＣＰＵ７１はステップ３１５５に進むと、関数funcωrefと、上記吸気弁閉時における絶対クランク角度CAabsfwdとに基づいて得られる同吸気弁閉時における基準エンジン回転角速度funcωref(CAabsfwd)の値に、上記関数値gain(CAabsfwd)を乗じた値を同吸気弁閉時における予測エンジン回転角速度ωfwdとして決定する。
【０３２８】
続いて、ＣＰＵ７１はステップ３１６０に進み、上記吸気弁閉時における予測エンジン回転角速度ωfwdに相当する予測エンジン回転速度NEfwdを求め、続くステップ３１６５にて、次回の計算の準備として、上記求めた今回予測時比率ratioを前回予測時比率ratiobとして格納するとともに、上記今回予測時絶対クランク角度CAabsnowを前回予測時絶対クランク角度CAabsbとして格納した後、ステップ３１９５に進んで本ルーチンを一旦終了する。
【０３２９】
以降、ＣＰＵ７１は、次の排気行程開始時点が到来するまでの間、ステップ３１００、３１０５、３１９５の処理を繰り返し実行する。このようにして、各気筒の排気行程開始時点が到来する毎に、新たに#inj気筒となった気筒の吸気弁閉時における新たなエンジン回転速度NEfwdが順次計算されていく。なお、このルーチンは、機関の始動直後の所定の短期間内においてのみ実行される。
【０３３０】
以上、説明したように、本発明による内燃機関の制御装置を含んだ燃料噴射量制御装置の第２実施形態によれば、機関の始動直後の所定の短期間内における基準エンジン回転速度NEref（従って、基準エンジン回転角速度ωref）の変化の経緯を表す予め取得されている関数funcωref(CAabs)と、機関の実際のエンジン回転速度NEと基準エンジン回転速度NErefとの誤差を補償するための関数gain(x)とに基づいて、現時点（予測時点）よりも後の時点である#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdを精度良く予測することができる。
【０３３１】
本発明は上記第２実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第２実施形態においては、上記関数funcωref(CAabs)と、上記関数gain(x)とを利用することで予測吸入空気量KLfwdを求めるために必要な遅延時間tfwdを第１実施形態よりも精度良く求めることができる。
【０３３２】
より具体的に述べると、上記第１実施形態においては、遅延時間tfwdは、クランク角度CAの関数であるエンジン回転角速度ωの逆数である値(1/ω)を、現時点（算出時点）でのクランク角度CA0(絶対クランク角度CAabs0)から吸気弁閉時のクランク角度(CAabs0＋ΔCAivc)までについて、クランク角度CAで定積分した値に相当することを利用し、且つ、係る定積分した値が図１２に斜線で示した台形の面積として近似できることを利用して、図２４に示したルーチンのステップ２４３０にて、同台形の面積を求めることで遅延時間tfwdを求めている。
【０３３３】
これに対し、上記第２実施形態においては、図３２に示したように、絶対クランク角度CAabsの関数であるエンジン回転角速度ωの逆数である値(1/ω)を、関数funcωref(CAabs)と現時点における最新の関数gain(x)とを用いて絶対クランク角度CAabsの連続的な関数値「1/{funcωref(CAabs)・gain(CAabs)}」として求める。そして、係る絶対クランク角度CAabsの関数値「1/{funcωref(CAabs)・gain(CAabs)}」を、現時点での絶対クランク角度CAabs0から吸気弁閉時のクランク角度(CAabs0＋ΔCAivc)までについて、絶対クランク角度CAabsで定積分した値を遅延時間tfwdとして求めるように構成してもよい（図３２において斜線で示した面積を参照）。これによると、第１実施形態のように、定積分した値を台形の面積で近似することなく遅延時間tfwdがより一層精度良く求められる。
【０３３４】
同様に、上記第２実施形態においては、上記関数funcωref(CAabs)と、上記関数gain(x)とを利用することで、燃料付着量fw（具体的には、残留率p、及び付着率r）を求めるために必要な現時点（噴射開始時期）から#inj気筒の吸気弁閉時までのエンジン回転速度NEの平均値NEaveを第１実施形態よりも精度良く求めることができる。
【０３３５】
より具体的に述べると、上記第１実施形態においては、図２７に示したルーチンのステップ２７１０にて、上記エンジン回転速度NEの平均値NEaveを、現時点（噴射開始時期）でのエンジン回転速度NEinjと、#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdとの２つの値の平均値として求めている。
【０３３６】
これに対し、上記第２実施形態においては、図３３に示したように、絶対クランク角度CAabsの関数であるエンジン回転角速度ωを、関数funcωref(CAabs)と現時点における最新の関数gain(x)とを用いて絶対クランク角度CAabsの連続的な関数値「funcωref(CAabs)・gain(CAabs)」として求める。そして、係る絶対クランク角度CAabsの関数値「funcωref(CAabs)・gain(CAabs)」を、現時点（噴射開始時期）での絶対クランク角度CAabs1から#inj気筒の吸気弁閉時のクランク角度(CAabs1＋ΔCA1)までについて、絶対クランク角度CAabsで定積分した値を積分値sumωとして求める（図３３において斜線で示した面積を参照）。
【０３３７】
そして、この積分値sumωを現時点での絶対クランク角度と#inj気筒の吸気弁閉時の絶対クランク角度とのクランク角度差ΔCA1で除した値を上記エンジン回転速度NEの平均値NEaveに相当するエンジン回転角速度として求めることで、同エンジン回転速度NEの平均値NEaveを求めるように構成してもよい。
【０３３８】
また、上記第２実施形態においては、機関の実際のエンジン回転速度NEと基準エンジン回転速度NErefとの誤差を補償するための関数gain(x)を、今回予測時比率ratioと、前回予測時比率ratiobとに基づいて変数xの一次関数として求めているが、前回よりも更に前の過去の比率をも利用して多項式近似関数、指数関数等として求めるように構成してもよい。
【０３３９】
（第３実施形態）
次に、本発明による第３実施形態に係る制御装置（燃料噴射量制御装置）について説明する。この燃料噴射量制御装置は、特定の過渡運転状態においてのみ#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdを考慮して予測吸入空気量KLfwd、及び燃料付着量fwを算出し、同特定の過渡運転状態以外の状態では予測エンジン回転速度NEfwdを考慮することなく現時点（算出時点）でのエンジン回転速度NEに基づいて予測吸入空気量KLfwd、及び燃料付着量fwを算出する点においてのみ、第１実施形態に係る燃料噴射量制御装置と異なっている。従って、以下、係る相違点についてのみ説明する。
【０３４０】
この装置は、特定の過渡運転状態として、エンジン回転速度NEが急増していく代表的な場合である「機関の始動直後」、及び「空ぶかし時」を想定している。そして、この装置は、予測エンジン回転速度NEfwdを考慮して予測吸入空気量KLfwd等を算出するための条件（以下、「算出条件」と呼ぶ。具体的には、算出開始条件と算出終了条件）を、「機関の始動直後」、及び「空ぶかし時」についてそれぞれ設定している。「算出条件が成立していると判定されている場合」とは、算出開始条件が成立してから算出終了条件が成立するまでの期間に対応する。
【０３４１】
（第３実施形態の実際の作動）
以下、第３実施形態に係る制御装置（燃料噴射量制御装置）の実際の作動について説明する。この装置のＣＰＵ７１は、第１実施形態のＣＰＵ７１が実行する図２０〜図２７に示したルーチンのうち、図２０〜図２２のルーチンを、図示しないイグニッションがＯＦＦ状態からＯＮ状態へと移行した時点以降、所定のタイミング毎に実行する。
【０３４２】
この装置のＣＰＵ７１は、イグニッションがＯＦＦ状態からＯＮ状態へと移行した時点以降、「算出条件が成立していると判定されている場合」、予測エンジン回転速度NEfwdを考慮して予測吸入空気量KLfwd等を算出していくために図２３〜図２７を所定のタイミング毎に実行する。一方、この装置のＣＰＵ７１は、「算出条件が成立していないと判定されている場合」、現時点（算出時点）でのエンジン回転速度NEに基づいて予測吸入空気量KLfwd等を算出していくために図２３〜図２７に代えて、図２３〜図２７にそれぞれ対応する図３６〜図４０に示したルーチンを所定のタイミング毎に実行する。
【０３４３】
更には、この装置のＣＰＵ７１は、図３４、及び図３５に示したルーチンを追加的に実行することで上記「算出条件」が成立しているか否かを判定する。以下、第３実施形態に特有のルーチンである図３４〜図４０のルーチンについてのみ説明する。なお、イグニッションがＯＦＦ状態からＯＮ状態へと移行した時点において、ＣＰＵ７１の演算に使用される初期値設定の必要な各変数にはそれぞれ適切な初期値が設定される。
【０３４４】
ＣＰＵ７１は、図３４のルーチンを演算周期Δt（ここでは、８msec）の経過毎に実行することにより、上記「算出条件」が成立しているか否かを判定する。即ち、予測エンジン回転速度NEfwdと現時点でのエンジン回転速度NEのいずれを使用して予測吸入空気量KLfwd等を算出するかを選択・決定する。本ルーチンは、算出条件判定手段に対応している。
【０３４５】
具体的に述べると、ＣＰＵ７１は所定のタイミングにてステップ３４００から処理を開始し、ステップ３４０２に進んで、イグニッションがＯＦＦ状態からＯＮ状態へと移行した直後か否かを判定する。
【０３４６】
いま、運転者がイグニッションをＯＦＦ状態からＯＮ状態へと移行した直後であるものとすると、ＣＰＵ７１はステップ３４０２にて「Ｙｅｓ」と判定してステップ３４０４に進み、NEfwd選択開始基準気筒を特定する。ここで、NEfwd選択開始基準気筒とは、機関の始動後（イグニッションの「ＳＴＡＲＴ」指示があった後）において予測エンジン回転速度NEfwdを使用して予測吸入空気量KLfwd等を算出すべき最初の気筒である。
【０３４７】
エンジン回転速度NEは、機関の始動後、最初の燃焼（以下、「初爆」と称呼する。）に係わる膨張行程の開始時点（図３に示した例では、クランク角度CA0）以前はスタータモータの回転速度に依存しほぼ一定で推移し、初爆に係わる膨張行程の開始時点以降において急増する。従って、初爆に係わる膨張行程の開始時点近傍（或いは、直後）にて吸気弁閉時が到来する気筒についての予測吸入空気量KLfwd等を算出するタイミング（算出時点。図３に示した例では、クランク角度CAb近傍）までは、前記「回転上昇量」が小さいから、先に述べたように、現時点（算出時点）でのエンジン回転速度NEを使用して予測吸入空気量KLfwd等を算出することが予測吸入空気量KLfwd等を精度良く算出する上で好ましい。
【０３４８】
一方、初爆に係わる膨張行程の終了時点（図３に示した例では、クランク角度CA1）の近傍（或いは、直後）にて吸気弁閉時が到来する気筒についての予測吸入空気量KLfwd等を算出するタイミング（算出時点。図３に示した例では、クランク角度CAa近傍）からは、前記「回転上昇量」が大きくなるから、先に述べたように、予測エンジン回転速度NEfwdを使用して予測吸入空気量KLfwd等を算出することが予測吸入空気量KLfwd等を精度良く算出する上で好ましい。
【０３４９】
以上のことから、上記「NEfwd選択開始基準気筒」は、具体的には、初爆に係わる膨張行程の終了時点（図３に示した例では、クランク角度CA1）の近傍（或いは、直後）にて吸気弁閉時が到来する気筒（図３に示した例では、#4気筒）である。
【０３５０】
次に、ＣＰＵ７１は、ステップ３４０６に進み、フラグＦＷＤの値を「０」に、フラグＩＮＩの値を「１」に初期化する。ここで、フラグＦＷＤは、その値が「０」のとき「算出条件」が成立していないこと（即ち、現時点でのエンジン回転速度NEを使用して予測吸入空気量KLfwd等を算出すること）を示し、その値が「１」のとき「算出条件」が成立していること（即ち、予測エンジン回転速度NEfwdを使用して予測吸入空気量KLfwd等を算出すること）を示す。また、フラグＩＮＩは、その値が「１」のとき特定の過渡運転状態としての「機関の始動直後」が想定されていることを示し、その値が「０」のとき特定の過渡運転状態としての「空ぶかし時」が想定されていることを示す。
【０３５１】
次いで、ＣＰＵ７１はステップ３４０８に進んで、現時点が、図２０、及び図２１のルーチン（具体的には、ステップ２０５４にて）の実行により予測エンジン回転速度NEfwdが算出（更新）された直後であるか否かを判定する。現時点は、運転者がイグニッションをＯＦＦ状態からＯＮ状態へと移行した直後であるから、図２０のステップ２０１２にて「Ｙｅｓ」と判定され得ず、従って、ステップ２０５４が実行され得ない。即ち、ＣＰＵ７１はステップ３４０８にて「Ｎｏ」と判定してステップ３４４２に直ちに進む。
【０３５２】
ＣＰＵ７１は、ステップ３４４２に進むと、フラグＦＷＤの値が「０」であるか否かを判定する。現時点では先のステップ３４０６の実行によりフラグＦＷＤの値が「０」となっている。即ち、「算出条件」が成立していない。この場合、ＣＰＵ７１はステップ３４４２にて「Ｙｅｓ」と判定してステップ３４４４に進む。これにより、図２３〜図２７のルーチンを実行することなく図３６〜図４０のルーチンが所定のタイミング毎に実行される。
【０３５３】
以下、図３６〜図４０のルーチンについて簡単に説明する。図３６〜図４０のルーチンは、図２３〜図２７のルーチンにそれぞれ対応するものであって、図３６〜図４０のルーチンにおいて、対応するルーチンのステップと同一のステップについては同対応するルーチンのステップ番号と同一のステップ番号を付している。以下、図３６〜図４０のルーチンにおける対応するルーチンとの相違点について順に説明する。
【０３５４】
図３６のルーチンは、図２３のルーチンにおいてステップ２３４０をステップ３６０５に代えたものである。ステップ３６０５では、#inj気筒の吸気弁閉時における予測エンジン回転速度NEfwdに代えて現時点（算出時点）でのエンジン回転速度NEを使用して予測吸入空気量KLfwdを算出するための比例係数afwd、及び既燃ガス量bfwdが求められる。
【０３５５】
図３７のルーチンは、図２４のルーチンにおいてステップ２４０５、２４１０、２４２５を削除するとともに、ステップ２４３０をステップ３７０５に代え、ステップ２４４０をステップ３７１０に代えたものである。ステップ３７０５では、上記(24)式に代えて現時点（算出時点）でのエンジン回転速度NEと、ステップ２４１５にて求めた現時点から#inj気筒の吸気弁閉時までのクランク角度である遅延クランク角度ΔCAivcとから遅延時間tfwdが求められる。この遅延時間tfwdは、図１２、及び図１５に示した遅延時間tfwd’に相当する。
【０３５６】
図３８のルーチンは、図２５のルーチンにおいてステップ２４７０〜２４８０を削除するとともに、ステップ２４８５をステップ３７１５に代えたものである。ステップ３７１５では、上記エンジン回転速度NEc(i)に代えて現時点（算出時点）でのエンジン回転速度NEを使用して予測吸入空気量KLfwdを算出するための比例係数ac(i)、及び既燃ガス量bc(i)が求められる。
【０３５７】
図３９のルーチンは、図２６のルーチンにおいてステップ２６０５を削除するとともに、ステップ２６１０をステップ３９０５に代えたものである。ステップ３９０５では、上記(28)式に代えて現時点（算出時点）でのエンジン回転速度NEと、ステップ２４１５にて求めた「現時点から#inj気筒の吸気弁閉時までのクランク角度である遅延クランク角度ΔCAivc」からステップ２４２０にて求めた「現時点から#inj気筒の吸気弁開時までのクランク角度ΔCAivo」を減じた値（ΔCAivc−ΔCAivo）と、から吸気弁開弁時間Tintが求められる。
【０３５８】
図４０のルーチンは、図２７のルーチンにおいてステップ２７０５、２７１０を削除するとともに、ステップ２７１５、２７２０をそれぞれステップ４００５、４０１０に代えたものである。ステップ４００５、４０１０では、予測エンジン回転速度NEfwdが考慮された上記平均エンジン回転速度NEaveに代えて現時点（算出時点）でのエンジン回転速度NEを使用して燃料付着量fwを算出するための残留率p、及び付着率rが求められる。
【０３５９】
このようにして、フラグＦＷＤの値が「０」となっている場合、即ち、「算出条件」が成立していない場合、図３６〜図４０に示したルーチンにより、現時点（算出時点）でのエンジン回転速度NEに基づいて（予測エンジン回転速度NEfwdが考慮されることなく）予測吸入空気量KLfwd、及び燃料付着量fwが所定のタイミング毎に計算されていく。
【０３６０】
即ち、運転者がイグニッションをＯＦＦ状態からＯＮ状態へと移行した時点以降、先ず、現時点（算出時点）でのエンジン回転速度NEに基づいて予測吸入空気量KLfwd、及び燃料付着量fwが計算されていく。そして、ＣＰＵ７１はステップ３４０２、３４０８、３４４２、３４４４の処理を演算周期Δｔ毎に繰り返し実行する。
【０３６１】
その後、運転者がイグニッションの「ＳＴＡＲＴ」指示を行って機関が始動されると、特定気筒の排気行程開始時点が到来する毎に、ＣＰＵ７１は図２０のステップ２０１２にて「Ｙｅｓ」と判定して図２１のステップ２０５４にて予測エンジン回転速度NEfwdを算出・更新していく。
【０３６２】
いま、イグニッションがＯＦＦ状態からＯＮ状態へと移行した時点以降、予測エンジン回転速度NEfwdが最初に算出された直後であるものとすると、図３４のルーチンを繰り返し実行しているＣＰＵ７１はステップ３４０８に進んだとき初めて「Ｙｅｓ」と判定して、ステップ３４１０に進むようになる。
【０３６３】
ＣＰＵ７１はステップ３４１０に進むと、フラグＩＮＩの値が「１」であるか否かを判定する。現時点では、ステップ３４０６の処理によりフラグＩＮＩの値が「１」になっている。従って、ＣＰＵ７１はステップ３４１０にて「Ｙｅｓ」と判定してステップ３４１２に進んで、フラグＦＷＤの値が「０」であるか否かを判定する。現時点では、ステップ３４０６の処理によりフラグＦＷＤの値が「０」になっている。従って、ＣＰＵ７１はステップ３４１２でも「Ｙｅｓ」と判定してステップ３４１４に進む。
【０３６４】
ＣＰＵ７１はステップ３４１４に進むと、現時点（NEfwd予測時点）での#inj気筒（即ち、排気行程の開始時点にある気筒）がステップ３４０４にて特定されたNEfwd選択開始基準気筒に対応しているか否か（図３に示した例では、現時点（NEfwd予測時点）がクランク角度CAaに対応しているか否か）を判定する。このステップ３４１４の条件は、「機関の始動直後」についての「算出開始条件」に対応する。
【０３６５】
現時点は、予測エンジン回転速度NEfwdが最初に算出された直後であって#inj気筒がNEfwd選択開始基準気筒に対応していないから、ＣＰＵ７１はステップ３４１４にて「Ｎｏ」と判定してフラグＦＷＤの値を「０」に維持したままステップ３４４２、３４４４へと進む。これにより、現時点（算出時点）でのエンジン回転速度NEに基づく予測吸入空気量KLfwd、及び燃料付着量fwの計算が継続される。
【０３６６】
以降、#inj気筒がNEfwd選択開始基準気筒に対応するまでの間、図２１のステップ２０５４にて予測エンジン回転速度NEfwdが算出・更新される毎に、ステップ３４０８にて「Ｙｅｓ」と判定されるものの、ステップ３４１４にて「Ｎｏ」と判定され続ける。この結果、フラグＦＷＤの値が「０」に維持される。
【０３６７】
一方、予測エンジン回転速度NEfwdが算出された直後であって#inj気筒がNEfwd選択開始基準気筒に対応するようになると（図３に示した例では、現時点（NEfwd予測時点）がクランク角度CAaに対応すると）（即ち、「機関の始動直後」についての「算出開始条件」が成立すると）、ＣＰＵ７１はステップ３４１４に進んだとき「Ｙｅｓ」と判定してステップ３４１６に進み、フラグＦＷＤの値を「０」から「１」に変更する。
【０３６８】
この結果、ＣＰＵ７１はステップ３４４２にて「Ｎｏ」と判定してステップ３４４６に進むようになる。これにより、所定のタイミング毎に実行されていた図３６〜図４０のルーチンが実行されなくなる一方で、上記第１実施形態と同様、図２３〜図２７のルーチンが所定のタイミング毎に実行される。
【０３６９】
このようにして、フラグＦＷＤの値が「１」となっている場合、即ち、「算出条件」が成立している場合、上記第１実施形態と同様、図２３〜図２７に示したルーチンにより、図２１のステップ２０５４にて算出されている最新の予測エンジン回転速度NEfwdが考慮されて予測吸入空気量KLfwd、及び燃料付着量fwが所定のタイミング毎に計算されていく。
【０３７０】
以降、フラグＦＷＤの値が「１」となっているから、ＣＰＵ７１はステップ３４１２に進んだとき「Ｎｏ」と判定してステップ３４１８に進み、同ステップ３４１８を経由して図３５に示した燃焼悪化判定を行うためのルーチンの処理を実行する。
【０３７１】
即ち、ＣＰＵ７１はステップ３５０５に進むと、現時点が初爆に係わる膨張行程の終了時点（図３に示した例では、クランク角度CA1）以降となっているか否かを判定する。現時点は、#inj気筒がNEfwd選択開始基準気筒に対応するようになった直後（図３に示した例では、クランク角度CAa）であるから、ＣＰＵ７１はステップ３５０５にて「Ｎｏ」と判定してステップ３５１０に進み、フラグＢＡＤの値を「０」に設定した後、ステップ３５９５を経由して図３４のステップ３４２０に戻る。
【０３７２】
ここで、フラグＢＡＤは、その値が「０」のとき#inj気筒において悪化燃焼が発生していないことを示し、その値が「１」のとき#inj気筒において悪化燃焼が発生していることを示す。なお、以降、説明の便宜上、初爆に係わる膨張行程の終了時点以降において悪化燃焼が発生せず、従って、フラグＢＡＤの値は「０」に維持されている（ステップ３５０５で「Ｙｅｓ」と判定されても後述するステップ３５２０で「Ｎｏ」と判定される）ものとして説明を続ける。
【０３７３】
ＣＰＵ７１はステップ３４２０に戻ると、フラグＢＡＤの値が「０」であるか否かを判定し、現時点では「Ｙｅｓ」と判定してステップ３４２２に進み、図２１のステップ２０５４にて算出されている最新の予測エンジン回転速度NEfwdから現時点（NEfwd予測時点）でのエンジン回転速度NEを減じた値（即ち、前記「回転上昇量」）が所定回転速度C1（正の定数）未満であって、且つ同予測エンジン回転速度NEfwdが所定値C2（正の定数）より大きいか否かを判定する。このステップ３４２２の条件は、「機関の始動直後」についての「算出終了条件」に対応する。
【０３７４】
現時点は、#inj気筒がNEfwd選択開始基準気筒に対応するようになった直後であって「回転上昇量」は大きいから、ＣＰＵ７１はステップ３４２２にて「Ｎｏ」と判定して、フラグＦＷＤの値を「１」に維持したままステップ３４４２、３４４６へと進んで、最新の予測エンジン回転速度NEfwdが考慮された予測吸入空気量KLfwd、及び燃料付着量fwの計算が継続される。
【０３７５】
以降、ステップ３４２２の条件（即ち、「機関の始動直後」についての「算出終了条件」）が成立するまでの間、ステップ３４２２にて「Ｎｏ」と判定され続ける。この結果、フラグＦＷＤの値が「１」に維持される。
【０３７６】
一方、所定時間が経過して、エンジン回転速度NEが上記所定値C2を超えるとともに、エンジン回転速度NEの増加速度が小さくなることで「回転上昇量」が所定回転速度C1未満となると、ＣＰＵ７１はステップ３４２２に進んだとき「Ｙｅｓ」と判定してステップ３４２４に進み、フラグＦＷＤの値を「１」から「０」に変更し、続くステップ３４２６にて
フラグＩＮＩの値を「１」から「０」に変更する。
【０３７７】
この結果、ＣＰＵ７１はステップ３４４２にて「Ｙｅｓ」と判定してステップ３４４４に再び進むようになる。これにより、現時点（算出時点）でのエンジン回転速度NEに基づく予測吸入空気量KLfwd、及び燃料付着量fwの計算が再び開始・継続される。
【０３７８】
このようにして、フラグＩＮＩの値が「１」になっている間、即ち、「機関の始動直後」が想定されている間、機関の始動後、ステップ３４１４の条件（「機関の始動直後」についての「算出開始条件」）が成立するまで（即ち、「算出条件」が成立していない場合）は、現時点（算出時点）でのエンジン回転速度NEに基づく予測吸入空気量KLfwd、及び燃料付着量fwの計算が実行され、ステップ３４１４の条件が成立した後ステップ３４２２の条件（「機関の始動直後」についての「算出終了条件」）が成立するまで（即ち、「算出条件」が成立している場合）は、最新の予測エンジン回転速度NEfwdが考慮された予測吸入空気量KLfwd、及び燃料付着量fwの計算が継続される。そして、ステップ３４２２の条件が成立した後（即ち、「算出条件」が成立していない場合）は、現時点（算出時点）でのエンジン回転速度NEに基づく予測吸入空気量KLfwd、及び燃料付着量fwの計算が再び実行されていく。
【０３７９】
一方、以降、フラグＩＮＩの値が「０」になっているから、ＣＰＵ７１はステップ３４１０に進んだとき「Ｎｏ」と判定してステップ３４２８以降に進むようになる。これにより、「空ぶかし時」が想定された処理が開始される。ここで、「空ぶかし時」が想定された処理を行うステップ３４２８〜３４４０は、「機関の始動直後」が想定された処理を行う先のステップ３４１２〜３４２４にそれぞれ対応している。
【０３８０】
即ち、フラグＩＮＩの値が「０」になっている間、上述したステップ３４２２の条件（「機関の始動直後」についての「算出終了条件」）が成立した後、ステップ３４３０の条件（「空ぶかし時」についての「算出開始条件」）が成立するまで（即ち、「算出条件」が成立していない場合）は、現時点（算出時点）でのエンジン回転速度NEに基づく予測吸入空気量KLfwd、及び燃料付着量fwの計算が実行され、ステップ３４３０の条件が成立した後ステップ３４３８の条件（「空ぶかし時」についての「算出終了条件」）が成立するまで（即ち、「算出条件」が成立している場合）は、最新の予測エンジン回転速度NEfwdが考慮された予測吸入空気量KLfwd、及び燃料付着量fwの計算が継続される。そして、ステップ３４３８の条件が成立した後（即ち、「算出条件」が成立していない場合）は、現時点（算出時点）でのエンジン回転速度NEに基づく予測吸入空気量KLfwd、及び燃料付着量fwの計算が再び実行されていく。
【０３８１】
ここで、ステップ３４３０の条件（「空ぶかし時」についての「算出開始条件」）は、運転者がアクセルペダルＡＰを操作して空ぶかしを行うことでスロットル弁開度TAの増加速度d(TA)/dtが所定速度C3を超えた場合に成立する。また、ステップ３４３８の条件（「空ぶかし時」についての「算出終了条件」）は、ステップ３４２２の条件（「機関の始動直後」についての「算出終了条件」）と同様、「回転上昇量」が所定回転速度C4（正の定数）未満となった場合に成立する。
【０３８２】
以上の説明では、フラグＦＷＤの値が「１」になっている間（即ち、「算出条件」が成立している場合）において悪化燃焼が発生しない場合が想定されていた。次に、フラグＦＷＤの値が「１」になっている間（且つ、初爆の膨張行程終了時点以降である場合）において悪化燃焼が発生した場合について説明する。
【０３８３】
図３４のルーチンを繰り返し実行しているＣＰＵ７１は、フラグＦＷＤの値が「１」になっていることでステップ３４１８、又はステップ３４３４を経由して先に述べたように図３５のルーチンを実行する。
【０３８４】
この場合、ＣＰＵ７１はステップ３５０５にて「Ｙｅｓ」と判定してステップ３５１５に進み、図２７のステップ２７５０の処理にて格納されている#inj気筒についての前回の筒内流入燃料量mf#inj(k-1)と、既知である#inj気筒についての前回の点火時期SA#inj(k-1)と、所定の関数或いはマップと、に従って、#inj気筒についての前回の（直前の）膨張行程における基準熱効率ηieを算出する。この基準熱効率ηieは、筒内の燃料が総て完全燃焼したとの仮定のもとで算出される熱効率である。
【０３８５】
次いで、ＣＰＵ７１はステップ３５２０に進み、図２０のステップ２０３２にて求められている#inj気筒についての前回の（直前の）膨張行程における図示熱効率η#injに対する上記求めた基準熱効率ηieの比率が所定値C5未満であるか否かを判定する。ここで、比率が所定値C5未満であることは#inj気筒についての前回の（直前の）膨張行程において悪化燃焼が発生したことに対応する。即ち、ステップ３５２０は、悪化燃焼判定手段に相当する。
【０３８６】
ここで、#inj気筒についての前回の（直前の）膨張行程において悪化燃焼が発生していない場合、ＣＰＵ７１はステップ３５２０で「Ｎｏ」と判定してステップ３５１０に進み、フラグＢＡＤの値を「０」に設定する。一方、現時点では、上記仮定により悪化燃焼が発生しているから、ＣＰＵ７１はステップ３５２０にて「Ｙｅｓ」と判定してステップ３５２５に進んでフラグＢＡＤの値を「１」に設定する。
【０３８７】
この場合、ステップ３５９５を経て図３４のステップ３４２０、又はステップ３４３６に進んだＣＰＵ７１は、「Ｎｏ」と判定してフラグＦＷＤの値を「１」に維持したままステップ３４４２、３４４６へと進む。即ち、ステップ３４２２、又はステップ３４３８の「算出終了条件」が成立しているか否かにかかわらず（ステップ３４２２、又はステップ３４３８の判定を行うことなく）、予測エンジン回転速度NEfwdが考慮された予測吸入空気量KLfwd、及び燃料付着量fwの計算が継続される。
【０３８８】
このようにして、#inj気筒についての前回の（直前の）膨張行程において悪化燃焼が発生した場合、フラグＦＷＤの値が「１」に維持されることで「算出条件」が成立していないと判定することが禁止される。即ち、ステップ３４２０、又はステップ３４３６は禁止手段に相当する。
【０３８９】
以上、説明したように、本発明による内燃機関の制御装置を含んだ燃料噴射量制御装置の第３実施形態によれば、現時点（排気行程中の或る時点、算出時点）とその後の吸気弁閉時とでエンジン回転速度NEが大きく異なることが想定されるエンジン回転速度NEが急増する特定の過渡運転状態（本例では、「機関の始動直後」、及び「空ぶかし時」）においてのみ、予測エンジン回転速度NEfwdを考慮して予測吸入空気量KLfwd等を算出するための条件である「算出条件」が成立するように構成される。
【０３９０】
これにより、燃焼噴射量fiを算出するために使用される予測吸入空気量KLfwd、及び燃料付着量fwは、上記特定の過渡運転状態では予測エンジン回転速度NEfwd（推定値）が考慮されて算出され、同特定の過渡運転状態以外の状態（例えば、定常運転状態）では、推定誤差を含まない現時点（即ち、予測吸入空気量KLfwd、燃料付着量fwを算出する時点）におけるエンジン回転速度NE（検出値）に基づいて算出される。
【０３９１】
従って、機関の運転状態にかかわらず「機関を制御するために使用される値」、即ち、燃料噴射量fiの算出に使用される値（KLfwd、fw）が十分に精度の良い値となり得、この結果、機関の運転状態にかかわらず機関に吸入される混合気の空燃比を精度良く目標空燃比に維持し得る。
【０３９２】
また、機関が上記特定の過渡運転状態にあって「算出条件」が成立している場合において、悪化燃焼が発生した場合、「算出条件」が成立していないとの判定がなされることが禁止される。これにより、「算出条件」が成立していないとの判定がなされるべきでないにもかかわらず悪化燃焼の発生に起因して「算出条件」が成立していないとの誤った判定がなされることが防止される。
【０３９３】
本発明は上記第３実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第３実施形態においては、図３４のステップ３４２２の条件（「機関の始動直後」についての「算出終了条件」）として、「回転上昇量（NEfwd−NE）が所定回転速度C1未満であって、且つ予測エンジン回転速度NEfwdが所定値C2より大きいこと」が採用されているが、「予測エンジン回転速度NEfwdが所定値C2より大きいこと」が省略されてもよい。
【０３９４】
また、上記第３実施形態においては、図３４のステップ３４３０の条件（「空ぶかし時」についての「算出開始条件」）として、「スロットル弁開度TAの増加速度d(TA)/dtが所定速度C3を超えること」が採用されているが、これに「変速用のシフト位置がニュートラル（Ｎ）位置になっていること」を加えてもよい。
【０３９５】
また、図３４のステップ３４２２の条件（「機関の始動直後」についての「算出終了条件」）における所定回転速度C1と、図３４のステップ３４３８の条件（「空ぶかし時」についての「算出終了条件」）における所定回転速度C4とは等しい値であっても異なる値であってもよい。
【０３９６】
また、上記第３実施形態においては、悪化燃焼の発生を判定するために使用される基準熱効率ηie（ステップ３５１５を参照）は、#inj気筒についての前回の筒内流入燃料量mf#inj(k-1)と、既知である#inj気筒についての前回の点火時期SA#inj(k-1)とに基づいて算出されているが、これに加えて#inj気筒についての前回の予測吸入空気量KLfwdにも基づいて算出されるように構成してもよい。
【０３９７】
更には、本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記各実施形態においては、各気筒の排気行程開始時点が到来する毎に、同時点にて、新たに#inj気筒となった気筒の吸気弁閉時における新たなエンジン回転速度NEfwdが順次計算されている。これに対し、例えば、#inj気筒の噴射開始時期の直前に実行される図２２〜図２６、或いは図３６〜図３９に示したルーチンの実行直前の時点が到来する毎に、同時点にて、現時点で#inj気筒となっている気筒の吸気弁閉時における新たなエンジン回転速度NEfwdを順次計算していくように構成してもよい。
【図面の簡単な説明】
【０３９８】
【図１】本発明の第１実施形態に係る制御装置を含んだ燃料噴射量制御装置を火花点火式多気筒内燃機関に適用したシステムの概略構成図である。
【図２】予測エンジン回転速度を決定し、並びに、スロットル弁開度を制御するとともに吸気圧力、吸気温度、予測吸入空気量、及び燃料噴射量を決定するための各種ロジック、及び各種モデルの接続関係を示した機能ブロック図である。
【図３】図１に示した機関の始動直後におけるエンジン回転速度の変化、並びに、各気筒の噴射期間、吸気弁の開弁期間、及び点火タイミングの一例を示した図である。
【図４】図２に示したNE予測モデルを構成する各種手段の接続関係を示した機能ブロック図である。
【図５】図１に示したＣＰＵが参照するアクセルペダル操作量と暫定目標スロットル弁開度との関係を規定したテーブルを示したグラフである。
【図６】暫定目標スロットル弁開度、及び目標（予測）スロットル弁開度の変化を示したタイムチャートである。
【図７】図１に示したＣＰＵが参照するスロットル弁開度と流量係数との関係を規定したテーブルを示したグラフである。
【図８】図１に示したＣＰＵが参照するスロットル弁開度と開口面積との関係を規定したテーブルを示したグラフである。
【図９】図１に示したＣＰＵが参照するスロットル弁開度と、流量係数と開口面積の積値との関係を規定したテーブルを示したグラフである。
【図１０】図２に示したKL予測モデルが、現時点から吸気弁閉時までの将来の吸気管圧力を演算周期毎に予測していく様子を説明するための図である。
【図１１】現時点から吸気弁閉時までの間のエンジン回転角速度の変化をクランク角度に対応させて示した図である。
【図１２】遅延時間に相当する台形の面積を示した図である。
【図１３】現時点から吸気弁閉時までの間のエンジン回転角速度がクランク角度の増加に対して線形的に増加すると仮定した場合における、現時点から吸気弁閉時までの間のエンジン回転角速度の時間に対する変化を示した図である。
【図１４】一演算周期に相当する台形の面積を示した図である。
【図１５】現時点において予測される将来の吸気弁閉時における予測吸気管圧力を、本発明を適用して予測する場合と、従来の装置を適用して予測する場合とで比較しながら示した図である。
【図１６】吸気弁開弁時間に相当する台形の面積を示した図である。
【図１７】図２に示した噴射量決定手段を構成する各種手段等の接続関係を示した機能ブロック図である。
【図１８】図１に示したインジェクタから噴射された燃料量と、吸気通路を構成する部材への燃料付着量、及び筒内に流入する燃料量との関係を説明するための図である。
【図１９】噴射開始時から吸気弁閉時までの間のエンジン回転速度の変化と、燃料付着パラメータである残留率及び付着率の変化との関係を示した図である。
【図２０】図１に示したＣＰＵが実行する予測エンジン回転速度を算出するためのルーチンの前半部を示したフローチャートである。
【図２１】図１に示したＣＰＵが実行する予測エンジン回転速度を算出するためのルーチンの後半部を示したフローチャートである。
【図２２】図１に示したＣＰＵが実行する目標スロットル弁開度を算出するためのルーチンを示したフローチャートである。
【図２３】図１に示したＣＰＵが実行する予測吸入空気量を算出するためのルーチンを示したフローチャートである。
【図２４】図１に示したＣＰＵが実行する予測吸気管圧力を算出するためのルーチンの前半部を示したフローチャートである。
【図２５】図１に示したＣＰＵが実行する予測吸気管圧力を算出するためのルーチンの後半部を示したフローチャートである。
【図２６】図１に示したＣＰＵが実行する吸気弁開弁時間を算出するためのルーチンを示したフローチャートである。
【図２７】図１に示したＣＰＵが実行する燃料噴射実行（燃料噴射量計算）のためのルーチンを示したフローチャートである。
【図２８】筒内圧力センサが総ての気筒に対してそれぞれ設けられている場合において#1気筒の膨張行程における機関の図示仕事を取得する方法を説明するための図である。
【図２９】筒内圧力センサが一部の気筒に対してのみ設けられている場合において#1気筒の膨張行程における機関の図示仕事を取得する方法を説明するための図である。
【図３０】本発明の第２実施形態に係る制御装置を含んだ燃料噴射量制御装置が予測エンジン回転速度を予測するために使用する関数funcωrefと、関数gainとを説明するための図である。
【図３１】本発明の第２実施形態に係る制御装置を含んだ燃料噴射量制御装置のＣＰＵが実行する予測エンジン回転速度を算出するためのルーチンを示したフローチャートである。
【図３２】絶対クランク角度の関数であるエンジン回転角速度の逆数を、関数funcωref、及び関数gainを用いて表した場合において遅延時間に相当する面積を示した図である。
【図３３】絶対クランク角度の関数であるエンジン回転角速度を、関数funcωref、及び関数gainを用いて表した場合において、現時点（噴射開始時期）から吸気弁閉時までのエンジン回転角速度の平均値に相当する面積を示した図である。
【図３４】本発明の第３実施形態に係る制御装置を含んだ燃料噴射量制御装置のＣＰＵが実行する、予測吸入空気量等の算出に使用されるエンジン回転速度として吸気弁閉時での予測エンジン回転速度を考慮するか否かの選択を行うためのルーチンを示したフローチャートである。
【図３５】本発明の第３実施形態に係る制御装置を含んだ燃料噴射量制御装置のＣＰＵが実行する燃焼悪化判定を行うためのルーチンを示したフローチャートである。
【図３６】本発明の第３実施形態に係る制御装置を含んだ燃料噴射量制御装置のＣＰＵが実行する予測吸入空気量を算出するためのルーチンを示したフローチャートである。
【図３７】本発明の第３実施形態に係る制御装置を含んだ燃料噴射量制御装置のＣＰＵが実行する予測吸気管圧力を算出するためのルーチンの前半部を示したフローチャートである。
【図３８】本発明の第３実施形態に係る制御装置を含んだ燃料噴射量制御装置のＣＰＵが実行する予測吸気管圧力を算出するためのルーチンの後半部を示したフローチャートである。
【図３９】本発明の第３実施形態に係る制御装置を含んだ燃料噴射量制御装置のＣＰＵが実行する吸気弁開弁時間を算出するためのルーチンを示したフローチャートである。
【図４０】本発明の第３実施形態に係る制御装置を含んだ燃料噴射量制御装置のＣＰＵが実行する燃料噴射実行（燃料噴射量計算）のためのルーチンを示したフローチャートである。
【符号の説明】
【０３９９】
１０…火花点火式多気筒内燃機関、３２…吸気弁、３３…可変吸気タイミング装置、３３ａ…可変吸気タイミング装置のアクチュエータ、３９…インジェクタ、４１…吸気管、４３…スロットル弁、４３ａ…スロットル弁アクチュエータ、６４…スロットルポジションセンサ、６６…カムポジションセンサ、６７…クランクポジションセンサ、７０…電気制御装置、７１…ＣＰＵ、８１…アクセル開度センサ
【図１】
2005337225.tif 000021
【図２】
2005337225.tif 000022
【図３】
2005337225.tif 000023
【図４】
2005337225.tif 000024
【図５】
2005337225.tif 000025
【図６】
2005337225.tif 000026
【図７】
2005337225.tif 000027
【図８】
2005337225.tif 000028
【図９】
2005337225.tif 000029
【図１０】
2005337225.tif 000030
【図１１】
2005337225.tif 000031
【図１２】
2005337225.tif 000032
【図１３】
2005337225.tif 000033
【図１４】
2005337225.tif 000034
【図１５】
2005337225.tif 000035
【図１６】
2005337225.tif 000036
【図１７】
2005337225.tif 000037
【図１８】
2005337225.tif 000038
【図１９】
2005337225.tif 000039
【図２０】
2005337225.tif 000040
【図２１】
2005337225.tif 000041
【図２２】
2005337225.tif 000042
【図２３】
2005337225.tif 000043
【図２４】
2005337225.tif 000044
【図２５】
2005337225.tif 000045
【図２６】
2005337225.tif 000046
【図２７】
2005337225.tif 000047
【図２８】
2005337225.tif 000048
【図２９】
2005337225.tif 000049
【図３０】
2005337225.tif 000050
【図３１】
2005337225.tif 000051
【図３２】
2005337225.tif 000052
【図３３】
2005337225.tif 000053
【図３４】
2005337225.tif 000054
【図３５】
2005337225.tif 000055
【図３６】
2005337225.tif 000056
【図３７】
2005337225.tif 000057
【図３８】
2005337225.tif 000058
【図３９】
2005337225.tif 000059
【図４０】
2005337225.tif 000060