(57)【要約】【課題】  目標空燃比と上流側空燃比センサの出力値に基づいて空燃比をフィードバック制御する空燃比制御装置において、フィードバック制御開始後に空燃比を目標空燃比に迅速に収束させること。【解決手段】  この装置は、上流側空燃比フィードバック制御条件が成立しているか否かに関わらず、燃料の噴射指示からその燃料の燃焼に基づく排ガスが上流側空燃比センサ６６に到達するまでの時間である無駄時間だけ前の目標空燃比abyfrに相当する値に対してローパスフィルタ処理を施した値をフィードバック用目標値（Fcrlow(k−N)）として算出する。そして、この装置は、上流側空燃比フィードバック制御条件の成立時、フィードバック用目標値（Fcrlow(k−N)）と現時点の上流側空燃比センサ６６の出力値Vabyfsに相当する値（Fc(k−N)）とに基づいて空燃比のフィードバック補正値DFiを求める。【選択図】  図１３
2008095577.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気通路に配設され同排気通路を流れる排ガスの空燃比を検出する空燃比センサと、
噴射指示に応じて燃料を噴射する燃料噴射手段と、
前記機関の運転状態に基づいて目標空燃比を決定する目標空燃比決定手段と、
前記機関に供給される混合気の空燃比を前記決定された目標空燃比と一致させるための燃料の量であるフィードフォワード噴射量を同機関の吸入空気量に基づいて取得するフィードフォワード噴射量取得手段と、
所定の空燃比フィードバック制御条件が成立しているか否かに関わらず、前記燃料噴射手段に対する燃料の噴射指示から同噴射指示に基いて噴射された燃料が燃焼することにより生成された排ガスが前記空燃比センサに到達するまでの時間である無駄時間だけ前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値である無駄時間前値に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値を算出するフィードバック用目標値算出手段と、
前記空燃比フィードバック制御条件が成立しているとき前記フィードバック用目標値と前記空燃比センサの出力値に相当する値とに基づいて前記機関に供給される混合気の空燃比をフィードバック制御するためのフィードバック補正値を更新するフィードバック補正値算出手段と、
前記空燃比フィードバック制御条件が成立しているとき前記フィードフォワード噴射量を前記フィードバック補正値を用いて補正することにより燃料噴射量を算出し、且つ、前記空燃比フィードバック制御条件が成立していないとき前記フィードフォワード噴射量に基いて燃料噴射量を算出する燃料噴射量算出手段と、
前記算出された燃料噴射量の燃料を前記燃料噴射手段から噴射させるための噴射指示を同燃料噴射手段に対して行う燃料噴射指示手段と、
を備えた内燃機関の空燃比制御装置。
【請求項２】
内燃機関の排気通路に配設され同排気通路を流れる排ガスの空燃比を検出する空燃比センサと、
噴射指示に応じて燃料を噴射する燃料噴射手段と、
前記機関の運転状態に基づいて目標空燃比を決定する目標空燃比決定手段と、
前記機関に供給される混合気の空燃比を前記決定された目標空燃比と一致させるための燃料の量であるフィードフォワード噴射量を同機関の吸入空気量に基づいて取得するフィードフォワード噴射量取得手段と、
所定の空燃比フィードバック制御条件が成立しているとき、前記燃料噴射手段に対する燃料の噴射指示から同噴射指示に基いて噴射された燃料が燃焼することにより生成された排ガスが前記空燃比センサに到達するまでの時間である無駄時間だけ前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値である無駄時間前値に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値を算出するフィードバック用目標値算出手段と、
前記機関の運転状態が前記所定の空燃比フィードバック制御条件が成立していない状態から成立した状態へと変化した時点から同空燃比フィードバック制御条件が所定時間以上に亘り継続して成立しているというフィードバック実行条件が成立しているとき、前記フィードバック用目標値と前記空燃比センサの出力値に相当する値とに基づいて前記機関に供給される混合気の空燃比をフィードバック制御するためのフィードバック補正値を更新するフィードバック補正値算出手段と、
前記フィードバック実行条件が成立しているとき前記フィードフォワード噴射量を前記フィードバック補正値を用いて補正することにより燃料噴射量を算出し、且つ、前記フィードバック実行条件が成立していないとき前記フィードフォワード噴射量に基いて燃料噴射量を算出する燃料噴射量算出手段と、
前記算出された燃料噴射量の燃料を前記燃料噴射手段から噴射させるための噴射指示を同燃料噴射手段に対して行う燃料噴射指示手段と、
を備えた内燃機関の空燃比制御装置。
【請求項３】
内燃機関の排気通路に配設され同排気通路を流れる排ガスの空燃比を検出する空燃比センサと、
噴射指示に応じて燃料を噴射する燃料噴射手段と、
前記機関の運転状態に基づいて目標空燃比を決定する目標空燃比決定手段と、
前記機関に供給される混合気の空燃比を前記決定された目標空燃比と一致させるための燃料の量であるフィードフォワード噴射量を同機関の吸入空気量に基づいて取得するフィードフォワード噴射量取得手段と、
所定の空燃比フィードバック制御条件が成立しているとき、前記燃料噴射手段に対する燃料の噴射指示から同噴射指示に基いて噴射された燃料が燃焼することにより生成された排ガスが前記空燃比センサに到達するまでの時間である無駄時間だけ前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値である無駄時間前値に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値を算出するフィードバック用目標値算出手段と、
前記空燃比フィードバック制御条件が成立しているとき前記フィードバック用目標値と前記空燃比センサの出力値に相当する値とに基づいて前記機関に供給される混合気の空燃比をフィードバック制御するためのフィードバック補正値を更新するフィードバック補正値算出手段と、
前記空燃比フィードバック制御条件が成立しているとき前記フィードフォワード噴射量を前記フィードバック補正値を用いて補正することにより燃料噴射量を算出し、且つ、前記空燃比フィードバック制御条件が成立していないとき前記フィードフォワード噴射量に基いて燃料噴射量を算出する燃料噴射量算出手段と、
前記算出された燃料噴射量の燃料を前記燃料噴射手段から噴射させるための噴射指示を同燃料噴射手段に対して行う燃料噴射指示手段と、
を備え、
前記フィードバック用目標値算出手段は、
前記機関の運転状態が前記空燃比フィードバック制御条件が成立していない状態から成立した状態へと変化したフィードバック制御条件成立時点から前記無駄時間が経過するまでの期間、前記フィードバック用目標値の算出に用いる前記無駄時間前値として同空燃比フィードバック制御条件成立時点の直前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値を使用するように構成された空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の排気通路に配設された空燃比センサの出力値に基づいて同機関に供給される混合気の空燃比（以下、「機関の空燃比」と称呼する。）をフィードバック制御する空燃比制御装置に関する。
【背景技術】
【０００２】
この種の空燃比制御装置は、内燃機関（機関）の運転状態に基づいて機関の空燃比の目標値（以下、「目標空燃比」と称呼する。）を決定するとともに、機関の空燃比を決定された目標空燃比と一致させるためのフィードフォワード噴射量を決定する。フィードフォワード噴射量は、例えば、別途取得された筒内吸入空気量を目標空燃比によって除することにより求められる。更に、空燃比制御装置は、空燃比センサの出力値に基いて得られる空燃比（以下、「検出空燃比」と称呼する。）と決定された目標空燃比との偏差に相当する値に基づいてフィードバック補正値を算出する。そして、空燃比制御装置は、決定したフィードフォワード噴射量を算出したフィードバック補正値によって補正して最終的な燃料噴射量（以下、「最終燃料噴射量」と称呼する。）を求め、その最終燃料噴射量の燃料が機関に供給されるようにインジェクタに対して燃料噴射の指示を行う。以上により、機関の空燃比が空燃比センサの出力値に基づいてフィードバック制御される（例えば、特許文献１を参照。）。
【特許文献１】特開２００４−１８３５８５号公報
【０００３】
ところで、目標空燃比が変化するとフィードフォワード噴射量が変化することに伴って最終燃料噴射量が変化する。一方、燃料の噴射指示がなされた時点から、その噴射指示によって噴射された燃料の燃焼に基づく排ガスが空燃比センサに到達する時点までには所定の時間（以下、「無駄時間」と称呼する。）が必要である。即ち、目標空燃比の変化に伴う最終燃料噴射量の変化は、無駄時間だけ遅れて検出空燃比に現れる。従って、上記フィードバック補正値を算出する際の基礎となる「検出空燃比と目標空燃比との偏差に相当する値」として、ある時点ｔの検出空燃比とその時点ｔにおけるにおける目標空燃比との偏差に相当する値を用いると、その偏差はその時点の目標空燃比に対する最終燃料噴射量の過不足分を正確に表していないので、フィードバック補正値が一時的に過大又は過小となる場合がある。この結果、特に、目標空燃比が変化した直後において、最終燃料噴射量が過大又は過小となって、機関の空燃比が比較的大きく変動するという問題が生じる。
【０００４】
そこで、上記特許文献１に記載された空燃比制御装置は、上記フィードバック補正値を算出するにあたり、「目標空燃比と検出空燃比との偏差に相当する値」として、ある時点ｔの検出空燃比とその時点ｔから無駄時間Ｌだけ前の時点（ｔ−Ｌ）の目標空燃比との差に相当する値を用いるようになっている。
【０００５】
即ち、上記従来の空燃比制御装置は、図２５に示したように、時刻ｔ１において目標空燃比が変化した場合、フィードバック用目標空燃比aftgtを時刻ｔ１にて変化させるのではなく、時刻ｔ１から無駄時間Ｌが経過した後の時刻ｔ２にて変化させるようになっている。更に、空燃比制御装置は、検出空燃比abyfsとフィードバック用目標空燃比aftgtとの差に基いて空燃比フィードバック補正値を計算するようになっている。これにより、無駄時間に起因する空燃比の変動を小さくすることができる。
【０００６】
このように、従来の空燃比制御装置においては、目標空燃比が急激に変化（例えば、ステップ状に変化）すると、フィードバック用目標空燃比は目標空燃比が急激に変化した時刻から無駄時間Ｌだけ後に急激に変化する。一方、空燃比センサは、その空燃比センサに到達しているガスの空燃比が急変しても出力値が徐々に変化するという検出応答遅れ特性を有する。この結果、図２５の時刻ｔ２〜ｔ３に示したように、フィードバック用目標空燃比aftgtは目標空燃比が急激に変化した時刻ｔ１から無駄時間Ｌ経過後の時刻ｔ２以降において急激に変化するのに対し、検出空燃比abyfsは時刻ｔ２以降において徐々に変化する。このため、時刻ｔ２以降において、フィードバック補正値がなお一時的に過大又は過小となる場合があるので、機関の空燃比を目標空燃比に短時間内に収束させることが困難であるという問題があった。
【発明の開示】
【０００７】
そこで、本出願人は、図２６に示したように、目標空燃比を無駄時間Ｌだけ遅延させるとともに、その遅延した目標空燃比に対してローパスフィルタ処理を施すことにより、前記フィードバック用目標空燃比aftgtを求める空燃比制御装置を開発している。これによれば、フィードバック用目標空燃比aftgtが、無駄時間Ｌだけ前の目標空燃比の変化に応じるとともに、空燃比センサの応答遅れ特性を反映した態様にて変化するから、フィードバック補正値が過大又は過小となることを回避し得る。
【０００８】
しかしながら、上記空燃比制御装置によると、空燃比フィードバック制御条件が成立していない状態から成立した状態へと変化することにより空燃比フィードバック制御を開始した直後において、機関の空燃比が乱れるという問題が発生し得る。以下、この点について図２７を参照しながら具体的に説明する。
【０００９】
図２７は、次に述べる状態における各値（目標空燃比、フィードフォワード噴射量、フィードバック用目標空燃比、検出空燃比及びフィードバック補正値）を示したタイムチャートである。
・時刻ｔ１１に至るまでの期間、目標空燃比は理論空燃比よりもリッチな空燃比をとりながら徐々に増大する（徐々にリーン側の空燃比となって理論空燃比に近づく）。
・時刻ｔ１１に至るまでの期間、空燃比フィードバック制御条件は成立していない。従って、空燃比フィードバック制御は行われていない（オープンループ制御が実行されている。）。空燃比フィードバック制御とは、フィードバック補正値の更新及び更新されたフィードバック補正値によるフィードフォワード噴射量の補正を行うことを意味する。
・時刻ｔ１１にて空燃比フィードバック制御条件が成立する。従って、空燃比フィードバック制御が時刻ｔ１１にて開始される。
・目標空燃比は、空燃比フィードバック制御開始時の時刻ｔ１１の直前において理論空燃比よりもリッチな空燃比に設定されていて、時刻ｔ１１及び時刻ｔ１１以降において理論空燃比に設定される。
【００１０】
この図２７に示したように、上記空燃比制御装置は、時刻ｔ１１に至るまでの期間において空燃比フィードバック制御を行わないので、フィードバック用目標空燃比aftgtを算出していない。換言すると、上記空燃比制御装置は、空燃比フィードバック制御開始時の時刻ｔ１１からフィードバック用目標空燃比aftgtの算出を開始する。このとき、上記空燃比制御装置は、時刻ｔ１１から無駄時間Ｌだけ経過する時刻ｔ１２までの期間内において、所定の微小時間毎に到来するフィードバック用目標空燃比の各算出時点から無駄時間Ｌだけ前の目標空燃比を記憶（保持）していない。そこで、上記空燃比制御装置は、時刻ｔ１１から時刻ｔ１２までのフィードバック用目標空燃比の各算出時点において、各算出時点から無駄時間Ｌだけ前の目標空燃比として時刻ｔ１１における目標空燃比を使用することにより、フィードバック用目標空燃比を算出するようになっている。この結果、フィードバック用目標空燃比aftgtは時刻ｔ１１以降において理論空燃比に相当する一定値となる。
【００１１】
一方、検出空燃比abyfsは、時刻ｔ１１から無駄時間Ｌが経過した時刻ｔ１２以降において、目標空燃比の時刻ｔ１１における急変に伴うフィードフォワード噴射量の急変を反映して変化する。しかしながら、フィードバック用目標空燃比aftgtは無駄時間Ｌ及び空燃比センサの検出応答遅れを反映した値ではないので、仮に機関の空燃比が目標空燃比に一致していたとしても、時刻ｔ１１以降においてフィードバック用目標空燃比aftgtと検出空燃比abyfsとの差は非常に大きくなってしまう。その結果、フィードバック補正値が過小となり、それによって空燃比が大きく乱れてしまうという問題が発生する。
【００１２】
本発明は、このような課題に対処するために為されたものであって、その目的は、フィードバック用目標空燃比の算出の仕方を改良することにより、空燃比フィードバック制御開始直後において空燃比を目標空燃比に迅速に収束させることができる空燃比制御装置を提供することにある。
【００１３】
本発明による第１の内燃機関の空燃比制御装置は、空燃比センサと、燃料噴射手段と、目標空燃比決定手段と、フィードフォワード噴射量取得手段と、フィードバック用目標値算出手段と、フィードバック補正値算出手段と、燃料噴射量算出手段と、燃料噴射指示手段と、を備える。
【００１４】
空燃比センサは、前記機関の排気通路に配設され、且つ、排気通路を流れる排ガスの空燃比を検出する。機関の排気通路に触媒コンバータが配設されている場合、この空燃比センサは、触媒コンバータよりも上流の排気通路に配設される上流側空燃比センサである。一般に、このような空燃比センサ出力値は、検出応答遅れ特性を有する。具体的には、空燃比センサに到達しているガスの空燃比の値を入力信号とし、空燃比センサの出力値に基いて求められる空燃比の値を出力信号とするとき、出力信号は入力信号に対してローパスフィルタ処理（例えば、所謂「なまし処理」を含む一次遅れ処理及び二次遅れ処理等）を施した信号と極めて似た信号となる。
燃料噴射手段は、噴射指示に応じて燃料を噴射する。燃料噴射手段は、例えば、インジェクタである。
【００１５】
目標空燃比決定手段は、例えば、前記機関の回転速度（エンジン回転速度）、前記機関の負荷としての吸入空気量及び前記機関の冷却水の温度等により表される「前記機関の運転状態（機関の運転状態を表すパラメータ）」に基づいて目標空燃比を決定する。
【００１６】
フィードフォワード噴射量取得手段は、前記機関に供給される混合気の空燃比を前記決定された目標空燃比と一致させるための燃料の量であるフィードフォワード噴射量を少なくとも同機関の吸入空気量（ある気筒の一の燃焼サイクルにおいて燃焼室に吸入された空気量である筒内吸入空気量、又は、単位時間あたりの吸入空気量）に基づいて取得する。この吸入空気量は、エアフローメータによって実測された値又は同実測された値に基いて推定された値でもよく、所定の物理モデルを用いて推定された値であってもよい。
【００１７】
フィードバック用目標値算出手段は、所定の空燃比フィードバック制御条件が成立しているか否かに関わらず、無駄時間だけ前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値である無駄時間前値に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値を算出する。ここで、「無駄時間」は、前記燃料噴射手段に対する燃料の噴射指示から同噴射指示に基いて噴射された燃料が燃焼することにより生成された排ガスが前記空燃比センサに到達するまでの時間である。
【００１８】
また、前記「目標空燃比に相当する値」は、例えば、目標空燃比そのもの、目標空燃比を空燃比センサの出力値に相当する値に変換した値、及び、筒内吸入空気量を目標空燃比で除した値（目標筒内燃料供給量）等であり、これらに限定されない。前記「ローパスフィルタ処理を施した値に基づいてフィードバック用目標値を算出する」ことには、ローパスフィルタ処理を施した値そのものをフィードバック用目標値として採用すること、及び、ローパスフィルタ処理を施した値に基いて一義的に定まる「他の値」に変換した値をフィードバック用目標値として採用することを含み、これらに限定されない。
【００１９】
フィードバック補正値算出手段は、前記所定の空燃比フィードバック制御条件が成立しているとき前記フィードバック用目標値と前記空燃比センサの出力値に相当する値とに基づいて前記機関に供給される混合気の空燃比をフィードバック制御するためのフィードバック補正値を更新する。一方、フィードバック補正値算出手段は、空燃比フィードバック制御条件が成立していないときフィードバック補正値を更新しない。この「フィードバック補正値を更新しない」ことには、フィードバック補正値の便宜上の更新は行うが、そのフィードバック補正値を実質的に燃料噴射量に反映させない場合も含む。
【００２０】
例えば、このフィードバック補正値の更新には、「フィードバック用目標値」と「空燃比センサの出力値に相当する値」との偏差を比例・積分制御等により更新することが含まれ、これに限定されない。また、例えば、フィードバック用目標値が空燃比を表す値であれば、「空燃比センサの出力値に相当する値」はその空燃比センサの出力値により示される空燃比であってもよい。フィードバック用目標値が空燃比を空燃比センサの出力値に相当する値に変換した値（例えば、電圧）であれば、「空燃比センサの出力値に相当する値」はその空燃比センサの出力値（電圧）であってもよい。また、フィードバック用目標値が筒内吸入空気量を目標空燃比で除した値に応じた値（目標筒内燃料供給量）であれば、「空燃比センサの出力値に相当する値」は筒内吸入空気量を空燃比センサの出力値により示された空燃比で除した値（検出筒内燃料供給量）であってもよい。
【００２１】
燃料噴射量算出手段は、前記空燃比フィードバック制御条件が成立しているとき前記取得されたフィードフォワード噴射量を前記更新されたフィードバック補正値を用いて補正することにより燃料噴射量を算出し、且つ、前記空燃比フィードバック制御条件が成立していないとき前記フィードフォワード噴射量に基いて（フィードバック補正値による補正を行うことなく）燃料噴射量を算出する。この第１の空燃比制御装置においては、前記フィードバック補正値が更新されているときと、前記所定の空燃比フィードバック制御条件が成立しているときと、は同義である。
【００２２】
燃料噴射指示手段は、前記算出された燃料噴射量の燃料を前記燃料噴射手段から噴射させるための噴射指示を同燃料噴射手段に対して行う。
【００２３】
上記構成によれば、フィードバック補正値の算出に、フィードバック用目標値算出手段により算出されたフィードバック用目標値（例えば、目標筒内燃料供給量）と空燃比センサの出力値に相当する値（例えば、検出筒内燃料供給量）とが使用される。このフィードバック用目標値は、無駄時間だけ前の目標空燃比に相当する値にローパスフィルタ処理が施された値である。
【００２４】
従って、図２８に示したように、目標空燃比が時刻ｔ１１において変化したことに起因する空燃比センサの出力値に相当する値（例えば、検出空燃比abyfs）が変化を開始するタイミングと、フィードバック用目標値aftgtが変化を開始するタイミングとが略一致する（図２８の時刻ｔ１２を参照。）。加えて、フィードバック用目標値aftgtは、ローパスフィルタ処理によって空燃比センサの応答遅れ特性を模擬するような値を取ることができる（図２８の時刻ｔ１２〜ｔ１３を参照。）。即ち、フィードバック用目標値は、機関の空燃比が目標空燃比に一致していて空燃比センサに望ましい空燃比の排ガスが到達している場合における同空燃比センサの出力値に相当する値となる。従って、取得されたフィードバック用目標値と空燃比センサの出力値に相当する値とに基いて求められるフィードバック補正値が適切な値となるので、目標空燃比が急激に変化した場合（例えば、ステップ状に変化した場合）であっても、機関の空燃比を目標空燃比に迅速に収束させることができる。
【００２５】
更に、前記フィードバック用目標値算出手段は、空燃比フィードバック制御条件が成立しているか否かに関わらず、前記フィードバック用目標値を算出するように構成されている。換言すると、前記フィードバック用目標値算出手段は、空燃比フィードバック制御条件が成立していない場合にも前記フィードバック用目標値を算出するように構成されている。従って、空燃比フィードバック制御条件が成立することによりフィードバック補正値の更新を開始する時点（空燃比フィードバック制御の開始時点である図２８の時刻ｔ１１）の当初から、フィードバック用目標値は空燃比センサの出力値に相当する値がとるべき値に極めて近似した値となる。この結果、空燃比フィードバック制御開始直後においても、機関に供給される混合気の空燃比を目標空燃比に迅速に収束させることができる。
【００２６】
本発明による第２の空燃比制御装置は、上記第１の空燃比制御装置と同一の空燃比センサ、燃料噴射手段、目標空燃比決定手段、フィードフォワード噴射量取得手段及び燃料噴射指示手段を備える。更に、第２の空燃比制御装置は、第１の空燃比制御装置とは相違するフィードバック用目標値算出手段、フィードバック補正値算出手段及び燃料噴射量算出手段を備える。
【００２７】
即ち、第２の空燃比制御装置が備えるフィードバック用目標値算出手段は、
所定の空燃比フィードバック制御条件が成立しているとき前記燃料噴射手段に対する燃料の噴射指示から同噴射指示に基いて噴射された燃料が燃焼することにより生成された排ガスが前記空燃比センサに到達するまでの時間である無駄時間だけ前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値である無駄時間前値に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値を算出する。このことは、フィードバック用目標値算出手段は、空燃比フィードバック制御条件が成立していない場合、フィードバック用目標値の算出を実質的に行わないことを含む。
【００２８】
更に、第２の空燃比制御装置が備えるフィードバック補正値算出手段は、
前記機関の運転状態が前記所定の空燃比フィードバック制御条件が成立していない状態から成立した状態へと変化した時点から同空燃比フィードバック制御条件が所定時間以上に亘り継続して成立しているというフィードバック実行条件が成立しているとき前記フィードバック用目標値と前記空燃比センサの出力値に相当する値とに基づいて前記機関に供給される混合気の空燃比をフィードバック制御するためのフィードバック補正値を更新する。一方、フィードバック補正値算出手段は、前記フィードバック実行条件が成立していないとき、前記フィードバック補正値を更新しない。この「フィードバック補正値を更新しない」ことには、フィードバック補正値の便宜上の更新は行うが、そのフィードバック補正値を実質的に燃料噴射量に反映させないことを含む。
【００２９】
更に、燃料噴射量算出手段は、
前記フィードバック実行条件が成立しているとき前記フィードフォワード噴射量を前記フィードバック補正値を用いて補正することにより燃料噴射量を算出し、且つ、前記フィードバック実行条件が成立していないとき前記フィードフォワード噴射量に基いて（フィードバック補正値による補正を行うことなく）燃料噴射量を算出する。
【００３０】
これによれば、フィードバック用目標値算出手段は、空燃比フィードバック制御条件が成立しているときにフィードバック用目標値を算出する。従って、フィードバック用目標値算出手段は、フィードバック制御条件成立時点から直ちにフィードバック用目標値の算出を開始する。
【００３１】
一方、フィードバック補正値算出手段は、フィードバック制御条件成立時点から直ちにフィードバック補正値の更新を開始せず、フィードバック制御条件成立時点から同空燃比フィードバック制御条件が所定時間（フィードバック開始待ち時間Ｔｅ）以上に亘り継続して成立した時点以降において（即ち、フィードバック実行条件成立時に）、フィードバック用目標値と空燃比センサの出力値に相当する値とに基づいてフィードバック補正値を更新する。
【００３２】
従って、フィードバック制御条件成立時点からフィードバック補正値算出手段がフィードバック補正値の更新を開始する時点までの間に、フィードバック用目標値は空燃比センサの出力値に相当する値が取るべき値に近い値となる。この結果、空燃比フィードバック制御開始後（フィードバック補正値の更新及び同更新されたフィードバック補正値によりフィードフォワード噴射量の補正の開始後）において、フィードバック補正値が過大又は過小にならないので、機関に供給される混合気の空燃比が比較的大きく変動するという事態が発生することを回避することができる。
【００３３】
本発明による第３の空燃比制御装置は、上記第１の空燃比制御装置と同一の空燃比センサ、燃料噴射手段、目標空燃比決定手段、フィードフォワード噴射量取得手段、燃料噴射量算出手段、燃料噴射指示手段及びフィードバック補正値算出手段を備える。更に、第３の空燃比制御装置は、第１の空燃比制御装置とは相違するフィードバック用目標値算出手段を備える。
【００３４】
即ち、第３の空燃比制御装置が備えるフィードバック用目標値算出手段は、
所定の空燃比フィードバック制御条件が成立しているとき、前記燃料噴射手段に対する燃料の噴射指示から同噴射指示に基いて噴射された燃料が燃焼することにより生成された排ガスが前記空燃比センサに到達するまでの時間である無駄時間だけ前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値である無駄時間前値に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値を算出する。
【００３５】
更に、このフィードバック用目標値算出手段は、
前記機関の運転状態が前記所定の空燃比フィードバック制御条件が成立していない状態から成立した状態へと変化したフィードバック制御条件成立時点から前記無駄時間が経過するまでの期間、前記フィードバック用目標値の算出に用いる前記無駄時間前値として同フィードバック制御条件成立時点の直前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値を使用するように構成されている。
【００３６】
これによれば、フィードバック用目標値算出手段は、空燃比フィードバック制御条件が成立しているときにフィードバック用目標値を算出する。従って、フィードバック用目標値算出手段は、空燃比フィードバック制御条件成立時点から直ちにフィードバック用目標値の算出を開始する。
【００３７】
但し、フィードバック用目標値算出手段は、空燃比フィードバック制御条件成立時点から無駄時間が経過するまでの期間、前記フィードバック用目標値の算出に用いる前記無駄時間前値として同空燃比フィードバック制御条件成立時点の直前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値を使用する。
【００３８】
実際の内燃機関においては、空燃比フィードバック制御条件成立時点の前後において目標空燃比が急変することが多い。一方、空燃比フィードバック制御条件成立時点よりも無駄時間だけ前の時点から同空燃比フィードバック制御条件成立時点までの期間において、目標空燃比は急変しないことが多い。従って、空燃比フィードバック制御条件成立時点から無駄時間が経過するまでの期間において、「所定の微小時間毎に到来するフィードバック用目標値の各算出時点から無駄時間だけ前の目標空燃比」と「フィードバック制御条件成立時点の直前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比」とは大きく乖離していないことが多い。
【００３９】
そこで、上記構成のように、空燃比フィードバック制御条件成立時点から無駄時間が経過するまでの期間、前記フィードバック用目標値の算出に用いる前記無駄時間前値として同フィードバック制御条件成立時点の直前の時点にて決定されていた目標空燃比に相当する値を使用しながら前記フィードバック用目標値を算出すれば、そのフィードバック用目標値は空燃比センサの出力値に相当する値が取るべき値に近い値となる。この結果、空燃比フィードバック制御開始後において、機関に供給される混合気の空燃比が比較的大きく変動するという事態が発生することを回避することができる。
【００４０】
なお、本願に係る第１乃至第３の空燃比制御装置に共通する技術的特徴は、フィードバック用目標値算出手段が、「前記燃料噴射手段に対する燃料の噴射指示から同噴射指示に基いて噴射された燃料が燃焼することにより生成された排ガスが前記空燃比センサに到達するまでの時間である無駄時間だけ前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値である無駄時間前値に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値を算出する」ように構成されていることにある。
【００４１】
また、上記第１乃至第３の空燃比制御装置は、以下のような態様を採用することができる。
（１）上記第１乃至第３の空燃比制御装置の何れかにおいて、
前記フィードバック用目標値算出手段は、
前記内燃機関の運転状態を表すパラメータに応じて前記無駄時間を変更するように構成された内燃機関の空燃比制御装置。
【００４２】
一般に、無駄時間は、機関の運転状態に応じて変化する。従って、上記構成によれば、機関の運転状態にかかわらず無駄時間を正確に取得することができる。その結果、目標空燃比が変化したことに起因する空燃比センサの出力値に相当する値が変化を開始するタイミングと、フィードバック用目標値が変化を開始するタイミングと、を精度良く一致させることができる。
【００４３】
（２）上記（１）に記載の内燃機関の空燃比制御装置において、
前記フィードバック用目標値算出手段は、
前記内燃機関の運転状態を表すパラメータとして、
前記内燃機関の回転速度と、前記内燃機関の燃焼室に吸入された空気量（例えば、筒内吸入空気量）とを使用するように構成された内燃機関の空燃比制御装置。
【００４４】
機関の運転状態の中で上記無駄時間に大きく影響を与える因子として、機関の回転速度及び筒内吸入空気量が挙げられる。無駄時間は、機関の回転速度が大きくなるにつれて短くなり、筒内吸入空気流量が大きくなるにつれて短くなる。従って、上記構成によれば、無駄時間をより精度良く取得することができる。
【００４５】
（３）上記第１乃至第３の空燃比制御装置の何れかにおいて、
前記フィードバック用目標値算出手段は、
前記無駄時間だけ前の時点として、
前記無駄時間に相当する燃料噴射指示の回数だけ前における燃料噴射指示の時点を使用するとともに、
前記内燃機関の運転状態を表すパラメータのうち機関回転速度を除くパラメータに応じて前記燃料噴射指示の回数を変更するように構成された内燃機関の空燃比制御装置。
【００４６】
上述したように、無駄時間は、機関の回転速度が大きくなるにつれて短くなり、筒内吸入空気流量が大きくなるにつれて短くなる。ところが、単位時間あたりの燃料噴射指示の回数（燃料噴射の回数、ストローク数、燃焼回数）は、機関の回転速度が大きくなるにつれて多くなる。従って、筒内空気流量が一定であるとの仮定の下において、低回転時に相対的に長くなる無駄時間内の燃料噴射指示回数と、高回転時に相対的に短くなる無駄時間内の燃料噴射指示回数と、はそれほど相違しない。つまり、無駄時間の間に亘る燃料噴射指示の回数は、筒内吸入空気量には大きく影響を受けるものの機関の回転速度には殆ど影響されない。従って、上記構成によれば、無駄時間前値に含まれる機関回転速度に起因する誤差を小さくすることができる。
【００４７】
（４）上記（３）に記載の空燃比制御装置の何れかにおいて、
前記フィードバック用目標値算出手段は、
前記燃料噴射指示の回数を決定する前記内燃機関の運転状態を表すパラメータとして前記内燃機関の燃焼室に吸入された空気量のみを用いるように構成された内燃機関の空燃比制御装置。
【００４８】
これによれば、無駄時間に相当する燃料噴射指示の回数に大きく影響を与える単一の因子（即ち、筒内吸入空気量）を引数とする同回数を決定するためのテーブル（マップ）等を作製できる。従って、上記テーブル等の作製に要する労力を軽減することができるとともに、同テーブル等の検索に要するＣＰＵの負荷を小さくすることができる。
【００４９】
（５）上記何れかの内燃機関の空燃比制御装置において、
前記フィードバック用目標値算出手段は、
前記内燃機関の運転状態に基づいて前記ローパスフィルタ処理の応答性に関するパラメータ（例えば、ローパスフィルタ処理の時定数）を変更するように構成された内燃機関の空燃比制御装置。
【００５０】
空燃比センサの応答遅れ特性は、機関の運転状態に応じても変化する。従って、上記構成によれば、機関の運転状態にかかわらず、ローパスフィルタ処理による応答遅れの程度を空燃比センサの応答遅れの程度に合わすことができる。この結果、フィードバック用目標値は、空燃比センサの応答遅れ特性をより精度良く模擬するような値を取ることができるので、空燃比センサに望ましい空燃比の排ガスが到達している場合における同空燃比センサの出力値に相当する値が取るべき値となる。この結果、空燃比センサの出力値に相当する値が変化を開始すべきタイミング以降におけるフィードバック補正値がより適切な値となる。
【００５１】
（６）上記（５）の内燃機関の空燃比制御装置において、
前記フィードバック用目標値算出手段は、
前記ローパスフィルタ処理の応答性に関するパラメータを変更するための前記内燃機関の運転状態として、
前記内燃機関の回転速度と、前記内燃機関の燃焼室に吸入された空気量（例えば、筒内吸入空気量）と、を使用するように構成された内燃機関の空燃比制御装置。
【００５２】
空燃比センサの出力値の変化の応答遅れの程度は、筒内吸入空気量に大きく影響を受けるとともに、機関の回転速度にも影響を強く受ける。従って、上記構成によれば、フィードバック用目標値を、空燃比センサに望ましい空燃比の排ガスが到達している場合における同空燃比センサの出力値に相当する値が取るべき値により近づけることができる。
【００５３】
（７）上記（５）の内燃機関の空燃比制御装置において、
前記フィードバック用目標値算出手段は、
前記ローパスフィルタ処理の応答性に関するパラメータを変更するための前記内燃機関の運転状態として、
前記内燃機関の燃焼室に吸入された空気量（例えば、筒内吸入空気量）のみを使用するように構成された内燃機関の空燃比制御装置。
【００５４】
これによれば、上流側空燃比センサの応答遅れの程度に非常に大きく影響を与える単一の因子（筒内吸入空気量）を引数とするローパスフィルタ処理の応答性に関するパラメータを決定するためのテーブル（マップ）等を作製できる。従って、上記テーブル等の作製に要する労力を軽減するとともに、同テーブル等の検索に要するＣＰＵの負荷を小さくしながら、フィードバック用目標値を、空燃比センサに望ましい空燃比の排ガスが到達している場合における同空燃比センサの出力値に相当する値が取るべき値により近づけることができる。
【００５５】
（８）上記何れかの空燃比制御装置において、前記ローパスフィルタ処理は、１次遅れ処理又は２次遅れ処理である空燃比制御装置。
【００５６】
前記ローパスフィルタ処理として、２次遅れ処理を使用した場合、フィードバック用目標値を空燃比センサに望ましい空燃比の排ガスが到達している場合における同空燃比センサの出力値に相当する値が取るべき値により近づけることができる。
【００５７】
他方、前記ローパスフィルタ処理として、１次遅れ処理を使用した場合、適合を要するローパスフィルタ処理の応答性に関するパラメータの数が、２次遅れ処理を使用する場合より減少する。従って、上記パラメータの適合の労力が軽減されるとともに、上記パラメータの値の決定に要するＣＰＵの負荷を小さくすることができる。
【発明を実施するための最良の形態】
【００５８】
以下、本発明による内燃機関の空燃比制御装置の各実施形態について図面を参照しつつ説明する。
【００５９】
（第１実施形態）
図１は、本発明の第１実施形態に係る空燃比制御装置（第１の空燃比制御装置）を火花点火式多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排気ガスを外部に放出するための排気系統５０とを含んでいる。
【００６０】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これによりクランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００６１】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともにインテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。後述するように、燃料噴射手段としてのインジェクタは、噴射指示に応じて噴射指示に含まれる量の燃料を噴射するようになっている。
【００６２】
吸気系統４０は、吸気ポート３１に連通し吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットル弁４３及びスロットル弁駆動手段を構成するＤＣモータからなるスロットル弁アクチュエータ４３ａを備えている。
【００６３】
排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１（実際には、各排気ポート３４に連通した各々のエキゾーストマニホールド５１が集合した集合部）に接続されたエキゾーストパイプ（排気管）５２、上流側の三元触媒５３及び下流側の三元触媒５４を備えている。上流側の三元触媒５３は、エキゾーストパイプ５２に配設（介装）されている。上流側の三元触媒５３は、上流側触媒コンバータ、スタート・キャタリティック・コンバータとも称呼される。上流側の三元触媒５３は、以下、「第１触媒５３」と称呼する。下流側の三元触媒５４は、第１触媒５３の下流のエキゾーストパイプ５２に配設（介装）されている。下流側の三元触媒５４は、車両のフロア下方に配設されるため、アンダ・フロア・キャタリティック・コンバータとも称呼される。下流側の三元触媒５４は、以下「第２触媒５４」と称呼する。排気ポート３４、エキゾーストマニホールド５１及びエキゾーストパイプ５２は、排気通路を構成している。
【００６４】
一方、このシステムは、熱線式エアフローメータ６１、スロットルポジションセンサ６２、カムポジションセンサ６３、クランクポジションセンサ６４、水温センサ６５、第１触媒５３の上流の排気通路（本例では、上記各々のエキゾーストマニホールド５１が集合した集合部）に配設された空燃比センサ６６（以下、「上流側空燃比センサ６６」と称呼する。）、第１触媒５３の下流であって第２触媒５４の上流の排気通路に配設された酸素濃度センサ６７（以下、「下流側酸素濃度センサ６７」と称呼する。）及びアクセル開度センサ６８を備えている。
【００６５】
熱線式エアフローメータ６１は、吸気管４１内を流れる吸入空気の単位時間あたりの質量流量を検出し、質量流量Gaを表す信号を出力するようになっている。スロットルポジションセンサ６２は、スロットル弁４３の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。カムポジションセンサ６３は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。クランクポジションセンサ６４は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともにクランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、機関回転速度NEを表す。水温センサ６５は、内燃機関１０の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
【００６６】
上流側空燃比センサ６６は、限界電流式の酸素濃度センサであり、図２に示したように、配設された部分の排気通路を通過するガス（排ガス）の空燃比Ａ／Ｆに応じた電流を出力し、この電流に応じた電圧である出力値Vabyfsを出力するようになっている。出力値Vabyfsは、空燃比が理論空燃比であるときに値Vstoichになる。図２から明らかなように、上流側空燃比センサ６６によれば、広範囲にわたる空燃比Ａ／Ｆを精度良く検出することができる。
【００６７】
上流側空燃比センサ６６は、上流側空燃比センサ６６に到達しているガスの空燃比がステップ状にしても出力値が徐々に変化するという検出応答遅れ特性を有する。より具体的に述べると、上流側空燃比センサ６６に到達しているガスの空燃比の値を入力信号とし、上流側空燃比センサ６６の出力値Vabyfsに基いて求められる空燃比の値を出力信号とするとき、出力信号は入力信号に対してローパスフィルタ処理（例えば、所謂「なまし処理」を含む一次遅れ処理及び二次遅れ処理等）を施した信号と極めて似た信号となる。
【００６８】
下流側酸素濃度センサ６７は、起電力式（濃淡電池式）の酸素濃度センサである。下流側酸素濃度センサ６７は、配設された部分の排気通路を通過するガス（排ガス）に含まれる酸素濃度に応じた値を出力するようになっている。より具体的に述べると、下流側酸素濃度センサ６７は、図３に示したように、理論空燃比近傍において急変する電圧である出力値Voxsを出力する。即ち、下流側酸素濃度センサ６７は、空燃比が理論空燃比よりもリーンのときは略０．１（Ｖ）、空燃比が理論空燃比よりもリッチのときは略０．９（Ｖ）、空燃比が理論空燃比のときは０．５（Ｖ）の電圧を出力するようになっている。アクセル開度センサ６８は、運転者によって操作されるアクセルペダル８１の操作量を検出し、アクセルペダル８１の操作量Accpを表す信号を出力するようになっている。
【００６９】
電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するルーチン（プログラム）、テーブル（ルックアップテーブル、マップ）及び定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、並びに、ＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。インターフェース７５は、前記センサ６１〜６８と接続され、ＣＰＵ７１にセンサ６１〜６８からの信号を供給するとともに、ＣＰＵ７１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９及びスロットル弁アクチュエータ４３ａに駆動信号（指示信号）を送出するようになっている。
【００７０】
（空燃比フィードバック制御の概要）
次に、上記のように構成された空燃比制御装置が行う空燃比のフィードバック制御の概要について説明する。
【００７１】
この空燃比制御装置は、上流側空燃比センサ６６の出力値Vabyfsを下流側酸素濃度センサ６７の出力値Voxsにより修正し、その修正した値に基いて制御用筒内燃料供給量Fc(k−N)を求める。そして、空燃比制御装置は、制御用筒内燃料供給量Fc(k−N)が別途算出したフィードバック用目標値（ローパスフィルタ通過後目標筒内燃料供給量）Fcrlow(k−N)に一致するように燃料噴射量を修正することにより、機関の空燃比をフィードバック制御する。
【００７２】
より具体的に述べると、この空燃比制御装置（以下、「本装置」と云うこともある。）は、機能ブロック図である図４に示したように、Ａ１〜Ａ１７の各機能ブロックを含んで構成されている。以下、図４を参照しながら各機能ブロックについて説明していく。
【００７３】
＜フィードフォワード噴射量の算出＞
先ず、筒内吸入空気量算出手段Ａ１は、エアフローメータ６１が計測している吸入空気流量Gaと、クランクポジションセンサ６４の出力に基づいて得られる機関回転速度NEと、ＲＯＭ７２が記憶しているテーブルMapMcとに基づき、吸気行程を迎える気筒の今回の吸入空気量である筒内吸入空気量Mc(k)を求める。ここで、添え字の（k）は、今回の吸気行程に対する値であることを示している（以下、他の物理量についても同様。）。筒内吸入空気量Mcは、各気筒の吸気行程に対応されながらＲＡＭ７３に記憶されていく。
【００７４】
目標空燃比決定手段Ａ２は、内燃機関１０の運転状態である機関回転速度NE、スロットル弁開度TA（内燃機関１０の負荷及び回転速度）及び冷却水温THW等に基づいて目標空燃比abyfr(k)を決定する。この目標空燃比abyfr(k)は、例えば、以下のように決定される。なお、目標空燃比abyfr(k)は、各気筒の吸気行程に対応されながらＲＡＭ７３に記憶されていく。
【００７５】
・目標空燃比abyfr(k)は、内燃機関１０の暖機終了前（機関の冷却水温THWが第１所定温度THW1thより低い場合）において、理論空燃比よりもリッチな空燃比の範囲内であって、冷却水温THWが増大するにつれて次第に理論空燃比に近づくように徐々にリーンとなる空燃比に設定される。
・目標空燃比abyfr(k)は、内燃機関１０の暖機終了後において、燃焼室２５への燃料供給の停止（いわゆる、フューエルカット）が解除された時点から所定の時間が経過する時点まで、第１触媒５３及び第２触媒５４の酸素吸蔵量を迅速に減少させるために、理論空燃比よりもリッチな空燃比（フューエルカット復帰後増量空燃比）に設定される。
【００７６】
・例えば、特開平５−１３３２６４号広報等に記載されているように、第１触媒５３及び第２触媒５４の最大酸素吸蔵量を取得するために空燃比を理論空燃比よりリッチな空燃比及びリーンな空燃比に交互に変動させる場合（アクティブ空燃比制御を行う場合）、目標空燃比abyfr(k)は理論空燃比よりもリッチな空燃比及びリーンな空燃比に交互に変化する値に設定される。
・目標空燃比abyfr(k)は出力増量（又は第１触媒５３及び第２触媒５４の過熱防止増量）を行う場合、理論空燃比よりもリッチな空燃比に設定される。
・目標空燃比abyfr(k)は、上記特殊な場合等を除き理論空燃比に設定される。
【００７７】
フィードフォワード噴射量取得手段Ａ３は、筒内吸入空気量算出手段Ａ１により求められた筒内吸入空気量Mc(k)を目標空燃比決定手段Ａ２により設定された目標空燃比abyfr(k)で除することにより、空燃比を目標空燃比abyfr(k)とするための今回の吸気行程に対する目標筒内燃料供給量Fcr(k)（即ち、フィードフォワード噴射量Fbase）を求める。目標筒内燃料供給量Fcrは、各気筒の吸気行程に対応されながらＲＡＭ７３に記憶されていく。なお、目標筒内燃料供給量Fcr(k)は、機関１０に供給される混合気の空燃比を決定された目標空燃比abyfr(k)と一致させるための燃料の量であり、基本噴射量とも称呼される。このように、フィードフォワード噴射量取得手段Ａ３は、機関１０に供給される混合気の空燃比を前記決定された目標空燃比abyfr(k)と一致させるための燃料の量であるフィードフォワード噴射量Fcr(k)＝Fbaseを機関１０の吸入空気流量Ga等に基づいて取得する手段を構成している。
【００７８】
＜燃料噴射量の算出＞
上流側空燃比フィードバック制御条件成立判定手段Ａ４は、所定の空燃比フィードバック制御条件（上流側空燃比フィードバック制御条件）が成立しているか否かを判定し、空燃比フィードバック条件が成立しているとき燃料噴射量算出手段Ａ５に後述するフィードバック補正値DFiを供給する。空燃比フィードバック制御条件は、ここでは、機関の冷却水温THWが第１所定温度THW1thより低い場合及びフューエルカットが実行されている場合を除いて成立する。
【００７９】
燃料噴射量算出手段Ａ５は、空燃比フィードバック制御条件が成立しているとき、下記（１）式に従い、フィードフォワード噴射量取得手段Ａ３により求められたフィードフォワード噴射量Fbaseに後述するフィードバック補正値DFiを加えることによって燃料噴射量Fiを求める。燃料噴射量Fiは、最終的にインジェクタ３９から噴射される燃料噴射量であるので、場合により最終燃料噴射量Fiとも称呼される。
Fi＝Fbase＋DFi  ・・・（１）
【００８０】
一方、燃料噴射量算出手段Ａ５は、空燃比フィードバック制御条件が成立していないとき、燃料噴射量Fiをフィードフォワード噴射量Fbaseに設定する。即ち、燃料噴射量算出手段Ａ５は、空燃比フィードバック制御条件が成立していないとき、フィードフォワード噴射量Fbaseをフィードバック補正値DFiによって補正することなく、フィードフォワード噴射量Fbaseに基いて燃料噴射量Fiを求める。なお、後述するように、空燃比フィードバック制御条件が成立していないとき、フィードバック補正値DFiは「０」に設定されるから、燃料噴射量算出手段Ａ５は空燃比フィードバック制御条件が成立していないときにおいても上記（１）式に従って燃料噴射量Fiを求めているということができる。
【００８１】
更に、燃料噴射量算出手段Ａ５は、燃料噴射量Fiの燃料が今回の吸気行程を迎える気筒に対して供給されるように、その気筒のインジェクタ３９に対して噴射指示を出力する。即ち、燃料噴射量算出手段Ａ５は、前記算出された燃料噴射量Fiの燃料を燃料噴射手段であるインジェクタ３９から噴射させるための噴射指示を同燃料噴射手段に対して行う燃料噴射指示手段を含んでいる。
【００８２】
＜下流側フィードバック補正量の算出＞
先ず、下流側目標値設定手段Ａ６は、上述した目標空燃比決定手段Ａ２と同様、内燃機関１０の運転状態である機関回転速度NE及びスロットル弁開度TA等に基づいて下流側目標値Voxsrefを決定する。この下流側目標値Voxsrefは、本例においては、下流側目標値Voxsrefに対応する空燃比が上述した目標空燃比abyfr(k)と常時一致するように設定される。
【００８３】
出力偏差量算出手段Ａ７は、下記（２）式に基づいて、下流側目標値設定手段Ａ６により設定されている現時点（具体的には、今回のFiの噴射指示開始時点）での下流側目標値Voxsrefから現時点での下流側酸素濃度センサ６７の出力値Voxsを減じることにより、出力偏差量DVoxsを求める。
DVoxs＝Voxsref−Voxs  ・・・（２）
【００８４】
ＰＩＤコントローラＡ８は、下記（３）式に従って出力偏差量DVoxsを比例・積分・微分処理（ＰＩＤ処理）することにより下流側フィードバック補正量Vafsfbを求める。
Vafsfb＝Kp・DVoxs＋Ki・SDVoxs＋Kd・DDVoxs  ・・・（３）
【００８５】
上記（３）式において、Kpは予め設定された比例ゲイン（比例定数）、Kiは予め設定された積分ゲイン（積分定数）、Kdは予め設定された微分ゲイン（微分定数）である。また、SDVoxsは出力偏差量DVoxsの時間積分値であり、DDVoxsは出力偏差量DVoxsの時間微分値である。下流側フィードバック補正量Vafsfbは、下流側目標値Voxsrefと下流側酸素濃度センサ６７の出力値Voxsとの定常偏差をゼロにするための値である。この下流側フィードバック補正量Vafsfbは、後述するように制御用空燃比abyfsを算出する際に用いられる。
【００８６】
＜上流側フィードバック補正値の算出＞
下流側空燃比フィードバック制御条件成立判定手段Ａ９は、所定の下流側空燃比フィードバック実行条件が成立しているか否かを判定し、下流側空燃比フィードバック実行条件が成立しているとき制御用空燃比相当出力値算出手段Ａ１０に下流側フィードバック補正量Vafsfbを供給する。下流側空燃比フィードバック実行条件は、ここでは、上記空燃比フィードバック制御条件（上流側空燃比フィードバック制御条件）が成立し、且つ、機関の冷却水温THWが第１所定温度THW1thより高い第２所定温度THW2th以上である場合に成立する。
【００８７】
制御用空燃比相当出力値算出手段Ａ１０は、下流側空燃比フィードバック実行条件が成立しているとき、上流側空燃比センサ６６の出力値Vabyfsに下流側フィードバック補正量Vafsfbを加えることにより制御用空燃比相当出力値(Vabyfs+Vafsfb)を求める。
【００８８】
一方、制御用空燃比相当出力値算出手段Ａ１０は、下流側空燃比フィードバック実行条件が成立していないとき、制御用空燃比相当出力値を上流側空燃比センサ６６の出力値Vabyfsに設定する。なお、後述するように、下流側空燃比フィードバック実行条件が成立していないとき、下流側フィードバック補正量Vafsfbは「０」に設定されるから、制御用空燃比相当出力値算出手段Ａ１０は下流側空燃比フィードバック実行条件が成立していないときにおいても上流側空燃比センサ６６の出力値Vabyfsに下流側フィードバック補正量Vafsfbを加えることにより制御用空燃比相当出力値(Vabyfs+Vafsfb)を求めているということができる。
【００８９】
テーブル変換手段Ａ１１は、制御用空燃比相当出力値算出手段Ａ１０により算出された制御用空燃比相当出力値(Vabyfs+Vafsfb)と、図２に示した上流側空燃比センサの出力値Vabyfsと空燃比Ａ／Ｆとの関係を規定したテーブルMapabyfsとに基づいて、現時点における制御用空燃比abyfsを求める。このように、制御用空燃比abyfsは、上流側空燃比センサ６６の出力値Vabyfsに対応する空燃比に対して下流側フィードバック補正量Vafsfbに相当する分だけ異なる空燃比である。なお、下流側フィードバック補正量Vafsfbは、あくまで上流側空燃比センサ６６の出力値Vabyfsの僅かな補正を行うものであるので、制御用空燃比相当出力値(Vabyfs+Vafsfb)に基いて得られる制御用空燃比abyfsは、実質的に、空燃比センサ（上流側空燃比センサ６６）の出力値に基いて得られる空燃比（検出空燃比）であるということができる。
【００９０】
一方、筒内吸入空気量遅延手段Ａ１２は、筒内吸入空気量算出手段Ａ１により吸気行程毎に求められＲＡＭ７３に記憶されている筒内吸入空気量Mcのうち、現時点からＮストローク前に吸気行程を迎えた気筒の筒内吸入空気量Mc(k−N)をＲＡＭ７３から読み出す。ここで、燃料の噴射指示からその燃料の燃焼室２５内での燃焼に基づく排ガスが上流側空燃比センサ６６に到達するまでの時間を無駄時間Ｌと称呼するものとすると、ストローク数Ｎは、無駄時間Ｌに相当するストローク回数である。ここで、一ストロークはある気筒のピストンが上死点から下死点（又は、その逆）に移動すること、即ち、クランク角が１８０度変化することに相当する。本例での内燃機関１０は４気筒内燃機関であるから、燃料噴射指示はクランク角が１８０度変化する毎に一回だけ行われる。従って、本例では、ストローク数Ｎは、無駄時間Ｌに相当する燃料噴射指示の回数に等しくなる。
【００９１】
無駄時間Ｌは、燃焼行程に係わる遅れ（行程遅れ）による時間と排気通路での排ガスの移動に係わる遅れ（輸送遅れ）による時間との和として表される。行程遅れによる時間は、機関回転速度NEの増加に応じて短くなる。輸送遅れに係る時間は、機関回転速度NEの増加及び筒内吸入空気量Mc(k)の増加に応じて短くなる。即ち、図５に示したように、無駄時間Ｌは、機関回転速度NEの増加及び筒内吸入空気量Mc(k)の増加に応じて短くなる。
【００９２】
一方、図６に示すようにストローク数Ｎ（無駄時間Ｌに相当するストローク回数）は、筒内吸入空気量Mc(k)の増加に応じて小さくなるものの機関回転速度NEには殆ど影響されない。これは、単位時間あたりのストローク回数が機関回転速度NEに比例することに基づく。即ち、例えば、ある機関回転速度NE１における無駄時間がL1であるとすると、機関回転速度NE１よりも大きい機関回転速度NE２における無駄時間L2は無駄時間L1よりも短くなる。その一方、機関回転速度NE２における単位時間あたりのストローク回数N2は、機関回転速度NE１における単位時間あたりのストローク回数N1より大きくなる。その結果、相対的に短い無駄時間L2内におけるストローク回数は、相対的に長い無駄時間L1内におけるストローク回数と非常に近くなる。
【００９３】
そこで、筒内吸入空気量遅延手段Ａ１２は、ストローク数Ｎを、図７のグラフに示した筒内吸入空気量Mcとストローク数Ｎとの関係を規定するテーブルMapＮに実際の筒内吸入空気量Mc(k)を適用することにより求める。これにより、ストローク数Ｎは、筒内吸入空気量Mc(k)が大きいほどより小さい値に決定される。このように、本装置は、引数が１つのテーブルMapＮを使用してストローク数Ｎを求めるように構成されているので、ストローク数Ｎを求めるためのテーブルの作製に要する労力が軽減され、且つ、ストローク数Ｎを求めるためのテーブル検索に要するＣＰＵ７１の負荷が小さくなる。
【００９４】
再び、図４を参照すると、制御用筒内燃料供給量算出手段Ａ１３は、筒内吸入空気量遅延手段Ａ１２により求められた現時点からＮストローク前の筒内吸入空気量Mc(k−N)をテーブル変換手段Ａ１１により求められた今回の制御用空燃比abyfsで除することにより、現時点からＮストローク前の制御用筒内燃料供給量Fc(k−N)を求める。なお、制御用筒内燃料供給量Fc(k−N)は、制御用空燃比abyfsに基いて得られる値であるので、実質的に、空燃比センサ（上流側空燃比センサ６６）の出力値に基いて得られる空燃比（検出空燃比）に相当する値であるということができる。
【００９５】
このように、現時点からＮストローク前の制御用筒内燃料供給量Fc(k−N)を求めるために、現時点からＮストローク前の筒内吸入吸気量Mc(k−N)を今回の制御用空燃比abyfsで除するのは、上流側空燃比センサ６６の現時点での出力値Vabyfsが、無駄時間Ｌに相当するＮストローク前の吸気行程にて吸入された混合気の燃焼に基づく排ガスの空燃比を表しているからである。
【００９６】
目標筒内燃料供給量遅延手段Ａ１４は、フィードフォワード噴射量取得手段Ａ３により吸気行程毎に求められＲＡＭ７３に記憶されている目標筒内燃料供給量Fcrのうち、現時点からＮストローク前の目標筒内燃料供給量Fcr(k−N)をＲＡＭ７３から読み出す。この目標筒内燃料供給量遅延手段Ａ１４は、燃料の噴射指示から無駄時間Ｌだけ前の時点にて決定されていた目標空燃比abyfr(k-N)に相当する値である無駄時間前値Fcr(k−N)(＝Mc(k−N)／abyfr(k−N)）を取得する第１遅延処理手段に相当する。従って、現時点からＮストローク前の目標筒内燃料供給量Fcr(k−N)は、「第１遅延処理手段により取得された無駄時間前値」に対応する。
【００９７】
目標筒内燃料供給量遅延手段Ａ１４は、求めたＮストローク前の目標筒内燃料供給量Fcr(k−N)を、後に詳述するローパスフィルタＡ１７（第２遅延処理手段）に供給する。そして、ローパスフィルタＡ１７は、目標筒内燃料供給量Fcr(k−N)に対してローパスフィルタ処理を施したフィードバック用目標値Fcrlow(k−N)を出力する。これら目標筒内燃料供給量遅延手段Ａ１４及びローパスフィルタＡ１７は、上流側空燃比フィードバック制御条件成立判定手段Ａ４によって成立・不成立が判定される空燃比フィードバック制御条件（上流側空燃比フィードバック制御条件）が成立しているか否かに関わらず、フィードバック用目標値Fcrlow(k−N)を算出するようになっている。換言すると、フィードバック用目標値Fcrlow(k−N)は、空燃比フィードバック制御条件が成立しておらず、後述する筒内燃料供給量偏差DFc及びフィードバック補正値DFiが更新されていない場合であっても、常に算出・更新されている。
【００９８】
筒内燃料供給量偏差算出手段Ａ１５は、下記（４）式に基づいて、上記フィードバック用目標値Fcrlow(k−N)から制御用筒内燃料供給量算出手段Ａ１３により求められた現時点からＮストローク前の制御用筒内燃料供給量Fc(k−N)を減じることにより、筒内燃料供給量偏差DFcを求める。この筒内燃料供給量偏差DFcは、Ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
DFc＝Fcrlow(k−N)−Fc(k−N)  ・・・（４）
【００９９】
ＰＩコントローラＡ１６は、筒内燃料供給量偏差算出手段Ａ１５により算出された筒内燃料供給量偏差DFcを下記（５）式に基づいて比例・積分処理（ＰＩ処理）することにより、Ｎストローク前の燃料供給量の過不足を補償するためのフィードバック補正値DFiを求める。
DFi＝(Gp・DFc＋Gi・SDFc)・KFB  ・・・（５）
【０１００】
上記（５）式において、Gpは予め設定された比例ゲイン（比例定数）、Giは予め設定された積分ゲイン（積分定数）である。SDFcは筒内燃料供給量偏差DFcの時間積分値である。また、係数KFBは、機関回転速度NE及び筒内吸入空気量Mc等により可変とすることが好適であるが、本例では「１」としている。係るフィードバック補正値DFiは、先に述べたように燃料噴射量算出手段Ａ５により燃料噴射量Fiを求める際に使用される。
【０１０１】
このように、本装置は、フィードバック用目標値Fcrlow(k−N)と現時点からＮストローク前の制御用筒内燃料供給量Fc(k−N)とが一致するように上流側空燃比センサ６６の出力値Vabyfs（又は、上流側空燃比センサ６６の出力値Vabyfsと下流側フィードバック補正量Vafsfbとの和）に基づいて空燃比をフィードバック制御する。
【０１０２】
（フィードバック用目標値Fcrlow(k−N)の算出）
ローパスフィルタＡ１７は、その伝達特性Ｆ（ｓ）をラプラス演算子sを用いて表した下記（６）式に示すように、一次のディジタルフィルタである。下記（６）式において、τは時定数（応答性に関するパラメータ）であり、周波数（１／τ）以上の高周波数成分の通過が実質的に禁止される。
Ｆ（ｓ）＝１／（１＋τ・s）  ・・・（６）
【０１０３】
ところで、上流側空燃比センサ６６の応答遅れの程度（応答遅れ特性）は、筒内吸入空気量Mc(k)に大きく影響を受けるとともに機関回転速度NEにも影響を受ける。しかしながら、実際には、図８に示すように、上流側空燃比センサ６６の応答遅れに相当する時定数は、筒内吸入空気量Mc(k)の増加に応じて小さくなるものの機関回転速度NEには殆ど影響されない。
【０１０４】
そこで、本装置は、時定数τを、図９にグラフにより示した筒内吸入空気量Mcと時定数τとの関係を規定するテーブルMapτに対して実際の筒内吸入空気量Mc(k)を適用することにより求める。これにより、時定数τは、筒内吸入空気量Mc(k)が大きいほどより小さい値に決定される。このように、引数が１つのテーブルを使用することにより、時定数τを求めるためのテーブルの作製に要する労力が軽減され、時定数τを求めるためのテーブル検索に要するＣＰＵ７１の負荷が小さくなる。
【０１０５】
ローパスフィルタＡ１７は、目標筒内燃料供給量遅延手段Ａ１４により求められた目標筒内燃料供給量Fcr(k−N)を入力するとともに、フィードバック用目標値Fcrlow(k−N)を筒内燃料供給量偏差算出手段Ａ１５へ出力する。このローパスフィルタＡ１７は、無駄時間だけ前の時点にて目標空燃比決定手段Ａ２により決定されていた目標空燃比abyfr(k-N)に相当する値である無駄時間前値Fcr(k−N)に対してローパスフィルタ処理を施す第２遅延処理手段に相当する。
【０１０６】
この結果、フィードバック用目標値Fcrlow(k−N)は、上流側空燃比センサ６６に目標空燃比abyfr(k−N）に応じた望ましい空燃比の排ガスが到達しているときに実際に上流側空燃比センサ６６が出力するであろう出力値に基いて算出される理想の筒内燃料供給量を示す値となる。従って、筒内燃料供給量偏差算出手段Ａ１５により算出されるフィードバック用目標値Fcrlow(k−N)と制御用筒内燃料供給量Fc(k−N)との偏差である筒内燃料供給量偏差DFcは燃料供給量の実際の過不足を精度良く表す。この結果、目標空燃比abyfr(k)が例えばステップ状に変化した場合であっても、空燃比の変動を小さくすることができる。
【０１０７】
この本装置による利点について図１０を参照して説明する。図１０は、上流側空燃比フィードバック制御が継続して実行され、目標空燃比が時刻ｔ１においてリーン側空燃比からリッチ側空燃比へとステップ状に急変し、且つ、目標空燃比を得るために必要な量と略一致した量の燃料が機関１０に供給されていた場合における、各値を示したタイムチャートである。
【０１０８】
この例において、従来の装置によれば、目標筒内燃料供給量Fcr(k−N)から制御用筒内燃料供給量Fc(k−N)を減じることにより筒内燃料供給量偏差DFcが求めれ、この筒内燃料供給量偏差DFcが「０」になるようにフィードバック補正値DFiが求められていた。目標筒内燃料供給量Fcr(k−N)は、図１０の（Ｃ）において二点鎖線により示したように、時刻ｔ１から無駄時間Ｌが経過した時刻ｔ２においてステップ状に変化していた。従って、機関１０には目標空燃比を得るために必要な量と略一致した量の燃料が供給されていたにも関わらず、時刻ｔ２以降において筒内燃料供給量偏差DFcが誤差errを含み、その結果、フィードバック補正値DFiが過大となって機関の空燃比が乱れていた。
【０１０９】
これに対し、本装置によれば、目標筒内燃料供給量Fcr(k−N)をローパスフィルタ処理することにより得られるフィードバック用目標値Fcrlow(k−N)から制御用筒内燃料供給量Fc(k−N)を減じることにより筒内燃料供給量偏差DFcが求めれ、この筒内燃料供給量偏差DFcが「０」になるようにフィードバック補正値DFiが求められる。フィードバック用目標値Fcrlow(k−N)は、時刻ｔ２以降において上流側空燃比センサ６６の応答遅れ特性を反映するように徐々に増大する。従って、筒内燃料供給量偏差DFcの絶対値は大きくならず、その結果、フィードバック補正値DFiの絶対値の不適切な増大に起因する空燃比の比較的大きな荒れの発生を抑制することができる。この結果、迅速に空燃比を目標空燃比に収束させることができる。
【０１１０】
この本装置による他の利点について図１１を参照して説明する。図１１は、以下の総ての条件を満たした場合の本装置にて使用される各値を示したタイムチャートである。
・時刻ｔ１１まで機関の冷却水温THWが第１所定温度THW1thより低いことにより上流側空燃比フィードバック制御条件が不成立であって、上流側空燃比フィードバック制御が実行されていない（即ち、筒内燃料供給量偏差DFc及びフィードバック補正値DFiの継続的な更新がなされていないオープンループ制御状態にある。）。
・時刻ｔ１１にて機関の冷却水温THWが第１所定温度THW1thに到達することにより上流側空燃比フィードバック制御条件が成立する。従って、時刻ｔ１１以降において上流側空燃比フィードバック制御が実行される。
・目標空燃比は、時刻ｔ１１に至るまで理論空燃比よりもリッチな空燃比であり、且つ、理論空燃比に向けて徐々に増大するする（リーン側の空燃比となる）。
・目標空燃比は、時刻ｔ１１にて同時刻ｔ１１における理論空燃比よりもリッチな空燃比から理論空燃比へとステップ状に急変する。
・機関１０には目標空燃比を得るために必要な量と略一致した量の燃料が供給されている。
【０１１１】
この例において、従来の装置によれば、時刻ｔ１１以前においてフィードバック用目標値Fcrlow(k−N)が算出されておらず、時刻ｔ１１からフィードバック用目標値Fcrlow(k−N)の算出が開始されていた。そのため、フィードバック用目標値Fcrlow(k−N)は、図１０の（Ｃ）において二点鎖線により示したように、時刻ｔ１１から理論空燃比に対応した値となっていた。従って、機関１０には目標空燃比を得るために必要な量と略一致した量の燃料が供給されていたにも関わらず、時刻ｔ１１以降において筒内燃料供給量偏差DFcが誤差errを含み、その結果、機関の空燃比が乱れていた。
【０１１２】
これに対し、本装置によれば、フィードバック用目標値Fcrlow(k−N)が時刻ｔ１１以前（上流側空燃比フィードバック制御が実行されていない期間）においても算出され続けている。従って、時刻ｔ１１以降において、フィードバック用目標値Fcrlow(k−N)が図１０の（Ｃ）において実線により示したように無駄時間Ｌ及び上流側空燃比センサ６６の応答遅れ特性を反映するように変化する。これにより、筒内燃料供給量偏差DFcの絶対値は大きくならないので、フィードバック補正値DFiの絶対値の不適切な増大に起因する空燃比の比較的大きな荒れの発生を抑制することができる。この結果、迅速に空燃比を目標空燃比に収束させることができる。
【０１１３】
（実際の作動）
次に、本装置の実際の作動について説明する。以下、説明の便宜上、「MapX(a1,a2,…)」は、a1,a2,…を引数とする値Xを求めるためのテーブルを表すものとする。また、引数の値がセンサの検出値である場合、その引数の値には現在値が適用される。
【０１１４】
＜空燃比フィードバック制御＞
ＣＰＵ７１は、図１２にフローチャートにより示した燃料噴射量Fiの計算及び噴射指示を行うルーチンを、各気筒のクランク角が各吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ９０°ＣＡ）となる毎に、繰り返し実行するようになっている。従って、任意の気筒のクランク角度が上記所定クランク角度になると、ＣＰＵ７１はステップ１２００から処理を開始して以下に記載したステップ１２０５乃至ステップ１２３０の処理を順に行い、ステップ１２９５に進んで本ルーチンを一旦終了する。
【０１１５】
ステップ１２０５：ＣＰＵ７１は、テーブルMapMc(NE,Ga)に基づいて今回の吸気行程を迎える気筒（以下、「燃料噴射気筒」と云うこともある。）に吸入される今回の筒内吸入空気量Mc(k)を推定・決定する。
ステップ１２１０：ＣＰＵ７１は、機関回転速度NE、スロットル弁開度TA及び冷却水温THW等に基づいて今回の目標空燃比abyfr(k)を取得する。なお、別のルーチンにより目標空燃比abyfrが決定されている場合、ＣＰＵ７１は、このステップ１２１０にて、その決定されている目標空燃比abyfrの最新値を今回の目標空燃比abyfr(k)として取得する。
ステップ１２１５：ＣＰＵ７１は、上記筒内吸入空気量Mc(k)を上記目標空燃比abyfr(k)で除することにより、フィードフォワード噴射量Fbaseを決定する。
【０１１６】
ステップ１２２０：ＣＰＵ７１は、今回の目標筒内燃料供給量Fcr(k)に上記フィードフォワード噴射量Fbaseを格納する。この目標筒内燃料供給量Fcr(k)は、後述するルーチンにてフィードバック用目標値Fcrlow(k−N)を求めるのに用いられる。
ステップ１２２５：ＣＰＵ７１は、上記（１）式に従い、フィードフォワード噴射量Fbaseに後述するルーチンにて求められている最新のフィードバック補正値DFiを加えることにより燃料噴射量Fiを決定する。
ステップ１２３０：ＣＰＵ７１は、燃料噴射量Fiの燃料が燃料噴射気筒に対するインジェクタ３９から噴射されるように、そのインジェクタ３９に対して噴射指示を行う。
【０１１７】
以上により、フィードフォワード噴射量Fbaseが運転状態に応じて変化する目標空燃比abyfr(k)と今回の筒内吸入空気量Mc(k)とに基づいて取得され、そのフィードフォワード噴射量Fbaseがフィードバック補正値DFiにより補正されることにより最終的な燃料噴射量（最終燃料噴射量）Fiが求められ、その燃料噴射量Fiの燃料の噴射指示が燃料噴射気筒のインジェクタ３９に対してなされる。
【０１１８】
＜上流側フィードバック補正値の計算＞
次に、フィードバック補正値DFiを算出する際の作動について説明する。ＣＰＵ７１は図１３にフローチャートにより示したルーチンを実行周期Δｔ１（一定）の経過毎に繰り返し実行するようになっている。従って、所定のタイミングにてＣＰＵ７１はステップ１３００から処理を開始し、以下に記載したステップ１３０５乃至ステップ１３３０の処理を順に行う。なお、この実行周期Δｔ１は、例えば、機関回転速度NEが想定される最大の機関回転速度である場合における連続する二つの噴射指示の発生時間間隔より短い時間に設定されている。
【０１１９】
ステップ１３０５：ＣＰＵ７１は、図９に示したテーブルMapτ(Mc(k))に基づいてローパスフィルタ処理の時定数τを決定する。
ステップ１３１０：ＣＰＵ７１は、図７に示したテーブルMapＮ(Mc(k))に基づいてストローク数Ｎを決定する。
ステップ１３１５：ＣＰＵ７１は、上記時定数τと上記実行周期Δｔ１とに基づいて鈍し処理定数ｎ（≧１）を取得する。この鈍し処理定数ｎは、後述のステップ１３２５にて実行されるローパスフィルタ処理において用いられる。この鈍し処理定数ｎと実行周期Δｔ１との積は時定数τに比例するから、時定数τが大きいほど鈍し処理定数ｎはより大きい値に設定される。
【０１２０】
ステップ１３２０：ＣＰＵ７１は、現時点からＮストローク前（無駄時間Ｌ前）に吸気行程を迎えた気筒の筒内吸入空気量Mc(k−N)を現時点からＮストローク前の時点の目標空燃比abyfr(k-N)で除することにより、現時点からＮストローク前（無駄時間Ｌ前）の目標筒内燃料供給量Fcr(k−N)を算出する。
ステップ１３２５：ＣＰＵ７１は、上記鈍し処理定数ｎと、フィードバック用目標値Fcrlow(k−N)の前回値Fcrlow1と、現時点からＮストローク前の目標筒内燃料供給量Fcr(k−N)と、ステップ１３２５内に示した式とに基づいてフィードバック用目標値Fcrlow(k−N)を更新する。ステップ１３２５内に示した式は、ローパスフィルタ処理を簡易的に行うための式である。前回値Fcrlow1は、前回の本ルーチン実行時において後述するステップ１３３０にて設定されるフィードバック用目標値Fcrlow(k−N)の最新値である。
ステップ１３３０：ＣＰＵ７１は、フィードバック用目標値Fcrlow(k−N)の前回値Fcrlow1に上記ステップ１３２５にて求めた最新のフィードバック用目標値Fcrlow(k−N)を格納する。以上により、上述した空燃比フィードバック制御条件（上流側空燃比フィードバック制御条件）が成立しているか否かに関わらず、フィードバック用目標値Fcrlow(k−N)が実行周期Δｔ１経過する毎に算出・更新される。
【０１２１】
次に、ＣＰＵ７１はステップ１３３５に進み、上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。いま、上流側空燃比フィードバック制御条件が成立していない（不成立である）として説明を続けると、ＣＰＵ７１はステップ１３３５にて「Ｎｏ」と判定してステップ１３４０に進み、フィードバック補正値DFiを「０」に設定し、続くステップ１３４５にて筒内燃料供給量偏差の積分値SDFcを「０」に設定した後、ステップ１３９５に進んで本ルーチンを一旦終了する。
【０１２２】
一方、上記ステップ１３３５の判定時において、上流側空燃比フィードバック制御条件が成立していると、ＣＰＵ７１はステップ１３３５にて「Ｙｅｓ」と判定し、以下に記載したステップ１３５０乃至ステップ１３７０の処理を順に行った後、ステップ１３９５に進んで本ルーチンを一旦終了する。
【０１２３】
ステップ１３５０：ＣＰＵ７１は、現時点の上流側空燃比センサ６６の出力値Vabyfsと後述するルーチンにて求められている下流側フィードバック補正量Vafsfbとの和である制御用空燃比相当出力値(Vabyfs+Vafsfb)を図２に示したテーブルMapabyfs(Vabyfs+Vafsfb)に基づいて変換することにより、現時点における制御用空燃比abyfsを求める。
ステップ１３５５：ＣＰＵ７１は、現時点からＮストローク（Ｎ回の吸気行程、無駄時間Ｌ）前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Mc(k−N)を上記制御用空燃比abyfsで除することにより、現時点からＮストローク前の制御用筒内燃料供給量Fc(k−N)を求める。
【０１２４】
ステップ１３６０：ＣＰＵ７１は、上記（４）式に従って、フィードバック用目標値Fcrlow(k−N)から上記制御用筒内燃料供給量Fc(k−N)を減じることにより筒内燃料供給量偏差DFcを求める。
ステップ１３６５：ＣＰＵ７１は、上記（５）式に基づくステップ１３６５内に示した式に従ってフィードバック補正値DFiを求める。
ステップ１３７０：ＣＰＵ７１は、その時点における筒内燃料供給量偏差の積分値SDFcに上記ステップ１３６０にて求めた筒内燃料供給量偏差DFcを加えて、新たな筒内燃料供給量偏差の積分値SDFcを求める。
【０１２５】
以上により、フィードバック用目標値Fcrlow(k−N)と制御用筒内燃料供給量Fc(k−N)との差DFcに基づいてフィードバック補正値DFiが求められる。このフィードバック補正値DFiが前述した図１２のステップ１２２５にて燃料噴射量Fiに反映されることにより空燃比フィードバック制御が実行される。
【０１２６】
＜下流側フィードバック補正量の計算＞
次に、下流側フィードバック補正量Vafsfbを算出するための作動について説明する。ＣＰＵ７１は図１４にフローチャートにより示したルーチンを、所定時間が経過する毎に繰り返し実行するようになっている。従って、所定のタイミングになるとＣＰＵ７１はステップ１４００から処理を開始し、ステップ１４０５に進んで上述した下流側フィードバック条件が成立しているか否かを判定する。
【０１２７】
いま、下流側フィードバック条件が成立しているものとして説明を続ける。この場合、ＣＰＵ７１は以下に記載したステップ１４１０乃至ステップ１４３０の処理を順に行い、ステップ１４９５に進んで本ルーチンを一旦終了する。
ステップ１４１０：ＣＰＵ７１は、上記（２）式に従って、下流側目標値Voxsrefから現時点の下流側酸素濃度センサ６７の出力値Voxsを減じることにより、出力偏差量DVoxsを求める。
【０１２８】
ステップ１４１５：ＣＰＵ７１は、下記（７）式に基づき出力偏差量の微分値DDVoxsを求める。（７）式において、DVoxs1は前回の本ルーチン実行時において後述するステップ１４３０にて設定（更新）された出力偏差量DVoxsの前回値である。また、Δtは本ルーチンが前回実行された時点から今回実行された時点までの時間である。
DDVoxs＝(DVoxs−DVoxs1)／Δt  ・・・（７）
ステップ１４２０：ＣＰＵ７１は、上記（３）式に基づくステップ１４２０内に示した式に従って下流側フィードバック補正量Vafsfbを求める。
ステップ１４２５：ＣＰＵ７１は、その時点における出力偏差量の積分値SDVoxsに上記ステップ１４１０にて求めた出力偏差量DVoxsを加えて、新たな出力偏差量の積分値SDVoxsを求める。
ステップ１４３０：ＣＰＵ７１は、出力偏差量DVoxsの前回値DVoxs1に上記ステップ１４１０にて求めた出力偏差量DVoxsを格納する。
【０１２９】
一方、ステップ１４０５の判定時において、下流側フィードバック条件が不成立であると、ＣＰＵ７１はステップ１４０５にて「Ｎｏ」と判定してステップ１４３５に進み、下流側フィードバック補正量Vafsfbを「０」に設定し、続くステップ１４４０にて出力偏差量の積分値SDVoxsを「０」に設定した後、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０１３０】
このように、下流側フィードバック条件が不成立であるときは、下流側フィードバック補正量Vafsfbが「０」に設定されるから、図１３のルーチンのステップ１３５０における制御用空燃比相当出力値(Vabyfs+Vafsfb)が上流側空燃比センサ６６の出力値Vabyfsと等しくなる。即ち、下流側酸素濃度センサ６７の出力値Voxsに応じた空燃比のフィードバック制御は行われない。
【０１３１】
以上、説明したように、第１実施形態に係る内燃機関の空燃比制御装置によれば、現時点からＮストローク前（従って、無駄時間Ｌだけ前）の無駄時間前値である目標空燃比abyfr(k−N)に相当する目標筒内燃料供給量Fcr(k−N)に時定数をτとするローパスフィルタ処理を施したフィードバック用目標値Fcrlow(k−N)と、現時点の上流側空燃比センサ６６の出力値Vabyfsに基づく制御用空燃比abyfsに相当する現時点からＮストローク前の制御用筒内燃料供給量Fc(k−N)との差に基づいてフィードバック補正値DFiが求められ、このフィードバック補正値DFiが燃料噴射量Fiに反映されることで空燃比フィードバック制御が実行される。
【０１３２】
これにより、目標空燃比abyfr(k)が変化した場合において、フィードバック補正値DFiの算出に使用されるフィードバック用目標値Fcrlow(k−N)と現時点からＮストローク前の制御用筒内燃料供給量Fc(k−N)の変化のタイミングが一致し得る。加えて、上記ローパスフィルタ処理の時定数τは、上流側空燃比センサ６６の応答遅れ特性に相当する値に設定されている。従って、上記変化のタイミング以降におけるフィードバック用目標値Fcrlow(k−N)の変化の遅れの程度と制御用筒内燃料供給量Fc(k−N)の変化の遅れの程度とが略一致する。この結果、目標空燃比abyfr(k)が急激に変化する場合であっても、フィードバック補正値DFiの絶対値が一時的に大きくなることを抑制し得、この結果、迅速に空燃比を目標空燃比に収束させることができる。
【０１３３】
更に、本装置によれば、フィードバック用目標値Fcrlow(k−N)が上流側空燃比フィードバック制御が実行されていない期間（空燃比フィードバック制御条件不成立時）においても算出され続けている。従って、上流側空燃比センサ６６の出力値Vabyfsに基く空燃比のフィードバック制御の開始直後の時点から、フィードバック用目標値Fcrlow(k−N)は無駄時間Ｌ及び上流側空燃比センサ６６の応答遅れ特性を反映するように変化する。これにより、筒内燃料供給量偏差DFcの絶対値は大きくならないので、フィードバック補正値DFiの絶対値の不適切な増大に起因する空燃比の比較的大きな荒れの発生を抑制することができる。この結果、迅速に空燃比を目標空燃比に収束させることができる。
【０１３４】
＜第２実施形態＞
次に、本発明の第２実施形態に係る内燃機関の空燃比制御装置（第２の空燃比制御装置）について説明する。第２実施形態に係る空燃比制御装置は、以下の２点において主として第１実施形態に係る空燃比制御装置と相違する。
【０１３５】
（相違点１）
第２実施形態に係る空燃比制御装置は、フィードバック用目標値Fcrlow(k−N)の算出を上流側空燃比フィードバック制御条件（空燃比フィードバック制御条件）が成立した時点から開始する。換言すると、第２実施形態に係る空燃比制御装置は、空燃比フィードバック制御条件が不成立であって空燃比フィードバック制御が実行されていない期間において、目標空燃比abyfr(k)及び筒内吸入空気量Mc(k)の最新値のみを保持し、それらの最新値より過去の値を保持せず、且つ、目標筒内燃料供給量Fcr(k)を算出しない。従って、第２実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が不成立であって空燃比フィードバック制御が実行されていない期間において、フィードバック用目標値Fcrlow(k)を算出しない。
【０１３６】
また、第２実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が成立している場合、目標空燃比abyfr(k)、筒内吸入空気量Mc(k)及び目標筒内燃料供給量Fcr(k)のデータを無駄時間Ｌよりも長い時間にわたって保持し、且つ、それらのデータに基いてフィードバック用目標値Fcrlow(k−N)を算出する。
【０１３７】
但し、上流側空燃比フィードバック制御条件が成立した時点から無駄時間Ｌが経過するまでの期間において、ＣＰＵ７１は、フィードバック用目標値Fcrlow(k−N)の算出に用いる現時点より無駄時間Ｌだけ前の時点における目標筒内燃料供給量Fcr(k)を保持していない。従って、第２実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が成立した時点から無駄時間Ｌが経過した時点以降において、フィードバック用目標値Fcrlow(k−N)の更新を実質的に開始する。
【０１３８】
（相違点２）
更に、第２実施形態に係る空燃比制御装置は、空燃比フィードバック制御を上流側空燃比フィードバック制御条件が成立した時点から直ちには開始せず、その上流側空燃比フィードバック制御条件成立時点から所定時間（フィードバック開始待ち時間）Ｔｅが経過した後に空燃比フィードバック制御の実行を開始する。
【０１３９】
この所定時間Ｔｅは、上流側空燃比フィードバック制御条件成立時点から算出され始めたフィードバック用目標値Fcrlow(k−N)が、目標空燃比（特に、上流側空燃比フィードバック制御条件成立時点以降における目標空燃比）の変化を反映した値に実質的に等しくなるまでの時間に相当する。換言すると、所定時間Ｔｅは、フィードバック用目標値Fcrlow(k−N)の計算を適当な値から開始した場合であっても、フィードバック用目標値Fcrlow(k−N)が正規の値（第１実施形態のように、フィードバック用目標値Fcrlow(k−N)を常に計算し続けている場合に得られているであろうフィードバック用目標値Fcrlow(k−N)）に十分に近い値となるまでの時間より長い時間のうちの最短の時間に設定されることが好ましい。従って、所定時間Ｔｅは無駄時間Ｌよりも長い時間である。
【０１４０】
以下、主としてこれらの相違点１及び相違点２について図１５乃至図１９を参照しながら説明する。なお、図１５乃至図１８に示したフローチャートにおいて、先に説明したステップと同一のステップには必要に応じて同一の符号を付し、それらについての詳細な説明を省略する。また、以下の説明を簡素に行うために、時定数τ（従って、鈍し処理定数ｎ）及び無駄時間Ｌ（ストローク数Ｎ）は一定値とする。
【０１４１】
＜上流側フィードバック補正値の計算＞
第２実施形態に係る制御装置のＣＰＵ７１は、図１２及び図１４に示したルーチンを実行するとともに、図１３に代わる図１５にフローチャートにより示したルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングにてＣＰＵ７１はステップ１５００から処理を開始してステップ１５０５に進み、上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。
【０１４２】
このとき、上流側空燃比フィードバック制御条件が成立していなければ、ＣＰＵ７１はステップ１５０５にて「Ｎｏ」と判定して上述したステップ１３４０及びステップ１３４５の処理を実行し、ステップ１５９５に進んで本ルーチンを一旦終了する。これにより、フィードバック補正値DFiが「０」に設定されるので、上流側空燃比センサ６６の出力値Vabyfsに基く空燃比フィードバック制御は実行されない。
【０１４３】
一方、ステップ１５０５の判定時において、上流側空燃比フィードバック制御条件が成立していると、ＣＰＵ７１はステップ１５０５にて「Ｙｅｓ」と判定してステップ１５１０に進み、上流側空燃比フィードバック制御条件が成立してから上記所定時間Ｔｅ以上が経過しているか否かを判定する。
【０１４４】
このとき、上流側空燃比フィードバック制御条件は成立しているが、その上流側空燃比フィードバック制御条件が成立してから上記所定時間Ｔｅ以上が経過していなければ、ＣＰＵ７１はステップ１５１０にて「Ｎｏ」と判定して上述したステップ１３４０及びステップ１３４５の処理を実行し、ステップ１５９５に進んで本ルーチンを一旦終了する。従って、上流側空燃比フィードバック制御条件が成立しても、その時点から上記所定時間Ｔｅ以上が経過していなければ、フィードバック補正値DFiが「０」に設定されるので、上流側空燃比センサ６６の出力値Vabyfsに基く空燃比フィードバック制御は実行されない。
【０１４５】
他方、上流側空燃比フィードバック制御条件が成立していて、且つ、その上流側空燃比フィードバック制御条件が成立してから上記所定時間Ｔｅ以上が経過していると、ＣＰＵ７１はステップ１５０５及びステップ１５１０の両ステップにて「Ｙｅｓ」と判定し、上述したステップ１３５０乃至ステップ１３７０の処理を順に行った後、ステップ１５９５に進んで本ルーチンを一旦終了する。これにより、上流側空燃比フィードバック制御条件は成立していて、且つ、その上流側空燃比フィードバック制御条件が成立してから上記所定時間Ｔｅ以上が経過しているとき、上流側空燃比センサ６６の出力値Vabyfsに基く空燃比フィードバック制御が実行される。
【０１４６】
なお、本明細書においては、上流側空燃比フィードバック制御条件が成立していて、且つ、上流側空燃比フィードバック制御条件が成立してから上記所定時間Ｔｅ以上が経過しているとき、「フィードバック実行条件」が成立しているという。従って、上流側空燃比フィードバック制御条件が成立してないときはフィードバック実行条件は不成立である。また、上流側空燃比フィードバック制御条件は成立していても、その上流側空燃比フィードバック制御条件が成立してから上記所定時間Ｔｅ以上が経過していないときは、フィードバック実行条件は不成立である。
【０１４７】
＜目標空燃比の設定＞
第２実施形態に係る制御装置のＣＰＵ７１は、更に、図１６に示した目標空燃比決定ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、ＣＰＵ７１は所定のタイミングにてステップ１６００から処理を開始し、ステップ１６０５に進んで上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。
【０１４８】
いま、機関の冷却水温THWが第１所定温度THW1thより低いことのみにより、上述した上流側空燃比フィードバック制御条件は成立していないと仮定する。この場合、ＣＰＵ７１はステップ１６０５にて「Ｎｏ」と判定してステップ１６１０に進み、同ステップ１６１０中に示したテーブルMapabyfr(THW)に基いて目標空燃比abyfrを決定する。テーブルMapabyfr(THW)によれば、目標空燃比abyfrは理論空燃比stoichよりもリッチ側の空燃比であって、冷却水温THWが増大するにつれて理論空燃比stoichに向けて増大するように求められる。その後、ＣＰＵ７１はステップ１６９５に進み、本ルーチンを一旦終了する。
【０１４９】
その後、機関１０の運転が継続されることにより冷却水温THWが第１所定温度THW1thより高くなったと仮定する。この場合、上流側空燃比フィードバック制御条件は成立するので、ＣＰＵ７１はステップ１６０５にて「Ｙｅｓ」と判定してステップ１６１５に進み、上流側空燃比フィードバック制御条件が成立してから上記所定時間Ｔｅ以上が経過しているか否かを判定する。
【０１５０】
このとき、上流側空燃比フィードバック制御条件は成立しているが、その上流側空燃比フィードバック制御条件が成立してから上記所定時間Ｔｅ以上が経過していなければ、ＣＰＵ７１はステップ１６１５にて「Ｎｏ」と判定して上述したステップ１６１０の処理を実行し、ステップ１６９５に進んで本ルーチンを一旦終了する。従って、上流側空燃比フィードバック制御条件が成立しても、その時点から上記所定時間Ｔｅ以上が経過していなければ、目標空燃比abyfrは理論空燃比stoichよりもリッチ側の空燃比に設定される。
【０１５１】
更に、機関１０の運転が継続されることにより、上流側空燃比フィードバック制御条件が成立してから上記所定時間Ｔｅ以上が経過したと仮定する。この場合、ＣＰＵ７１はステップ１６０５及びステップ１６１５の両ステップにて「Ｙｅｓ」と判定し、ステップ１６２０に進んで目標空燃比abyfrを理論空燃比stoich（又は、機関の運転状態に基づいて定まる他の空燃比）に設定する。このとき、目標空燃比abyfrが理論空燃比stoichに変更されれば、目標空燃比abyfrは、この時点において理論空燃比stoichよりもリッチな空燃比から理論空燃比stoichへとステップ状に急変（増大）する。
【０１５２】
＜フィードバック用目標値の初期値取得＞
第２実施形態に係る制御装置のＣＰＵ７１は、更に、図１７に示したルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、ＣＰＵ７１は所定のタイミングにてステップ１７００から処理を開始し、ステップ１７０５に進んで上述した上流側空燃比フィードバック制御条件が成立した直後であるか否かを判定する。
【０１５３】
いま、機関の冷却水温THWが第１所定温度THW1thより低いことのみにより、上述した上流側空燃比フィードバック制御条件は成立していないと仮定する。この場合、ＣＰＵ７１はステップ１７０５にて「Ｎｏ」と判定してステップ１７９５に進み、本ルーチンを一旦終了する。
【０１５４】
その後、機関１０の運転が継続されることにより冷却水温THWが第１所定温度THW1thより高くなったことにより、上流側空燃比フィードバック制御条件が成立したと仮定する。この場合、ＣＰＵ７１はステップ１７０５にて「Ｙｅｓ」と判定してステップ１７１０に進み、その時点の筒内吸入空気量Mc(k)を理論空燃比stoich（又は、理論空燃比以外の適当な空燃比）により除した値をフィードバック用目標値Fcrlow(k−N)の前回値Fcrlow1として格納する。ここで前回値Fcrlow1に格納された値は、フィードバック用目標値Fcrlow(k−N)の算出を開始するための初期値として後述する図１８のステップ１３２５にて使用される。次いで、ＣＰＵ７１はステップ１７９５に進んで本ルーチンを一旦終了する。
【０１５５】
＜フィードバック用目標値Fcrlow(k−N)の算出＞
第２実施形態に係る制御装置のＣＰＵ７１は、更に、図１８に示したルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、ＣＰＵ７１は所定のタイミングにてステップ１８００から処理を開始し、ステップ１８０５に進んで上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。いま、機関の冷却水温THWが第１所定温度THW1thより低いことのみにより、上述した上流側空燃比フィードバック制御条件は成立していないと仮定する。この場合、ＣＰＵ７１はステップ１８０５にて「Ｎｏ」と判定し、ステップ１８９５に進んで本ルーチンを一旦終了する。従って、上流側空燃比フィードバック制御条件が成立していない場合、フィードバック用目標値Fcrlow(k−N)は算出されない。
【０１５６】
その後、機関１０の運転が継続されることにより冷却水温THWが第１所定温度THW1thより高くなったと仮定する。この場合、上流側空燃比フィードバック制御条件は成立するので、ＣＰＵ７１はステップ１８０５にて「Ｙｅｓ」と判定してステップ１８１０に進み、現時点は、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Ｌが経過した後の時点であるか否かを判定する。
【０１５７】
現時点は、上流側空燃比フィードバック制御条件が成立した直後であるので、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Ｌが経過した後の時点ではない。従って、ＣＰＵ７１はステップ１８１０にて「Ｎｏ」と判定し、ステップ１８９５に進んで本ルーチンを一旦終了する。
【０１５８】
更に、機関１０の運転が継続されることにより、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Ｌが経過したと仮定する。この場合、ＣＰＵ７１はステップ１８０５及びステップ１８１０の両ステップにて「Ｙｅｓ」と判定し、上述したステップ１３２０乃至ステップ１３３０の処理を順に行った後、ステップ１８９５に進んで本ルーチンを一旦終了する。
【０１５９】
なお、本実施形態において、値Fcr(k-N)は現時点から無駄時間Ｌだけ前の時点の目標筒内燃料供給量Fcr、値Mc(k-N)は現時点から無駄時間Ｌだけ前の時点の筒内吸入空気量Mc、値abyfr(k-N)は現時点から無駄時間Ｌだけ前の時点の目標空燃比abyfrである。この点は、後述する第３実施形態においても同様に適用される。
【０１６０】
以上により、フィードバック用目標値Fcrlow(k−N)の更新が実質的に開始され、その後は、上流側空燃比フィードバック制御条件が成立している限り、所定時間の経過毎にフィードバック用目標値Fcrlow(k−N)が更新されて行く。そして、前述したように、上流側空燃比フィードバック制御条件が成立してから所定時間（フィードバック開始待ち時間）Ｔｅが経過すると空燃比フィードバック制御が開始され始める（図１５を参照。）。
【０１６１】
従って、図１９のタイムチャートに示したように、時刻ｔ２１にて上流側空燃比フィードバック制御条件が成立すると、フィードバック用目標値Fcrlow(k−N)が上述した初期値から更新され始める。但し、フィードバック用目標値Fcrlow(k−N)は、時刻ｔ２１から無駄時間Ｌが経過した時刻ｔ２２から実質的な変化を開始する。そして、フィードバック用目標値Fcrlow(k−N)は、時刻ｔ２１から所定時間（フィードバック開始待ち時間）Ｔｅが経過した時刻ｔ２３より僅かに前の時点にて上述した正規の値に近づく。また、時刻ｔ２３になると、空燃比フィードバック制御が開始される。
【０１６２】
この結果、時刻ｔ２３以降においてフィードバック用目標値Fcrlow(k−N)は無駄時間Ｌ及び上流側空燃比センサ６６の応答遅れ特性を反映するように変化する。従って、筒内燃料供給量偏差DFcの絶対値は過大にならないので、フィードバック補正値DFiの絶対値の不適切な増大に起因する空燃比の比較的大きな荒れの発生を抑制することができる。この結果、迅速に空燃比を目標空燃比に収束させることができる。
【０１６３】
なお、図１７のステップ１７１０にて決定されるフィードバック用目標値Fcrlow1の初期値（上流側空燃比フィードバック制御条件成立後において初めてステップ１３２５のフィルタ処理の計算を行う際に用いるフィードバック用目標値の前回値Fcrlow1）は、予め設定されたデフォルト値としてもよく、ステップ１７１０が実行される時点における筒内吸入空気量Mcを同時点における目標空燃比abyfrで除した値としてもよい。
【０１６４】
以上、説明したように、第２実施形態に係る空燃比制御装置は、
所定の空燃比フィードバック制御条件（上流側空燃比フィードバック制御条件）が成立しているとき、前記燃料噴射手段に対する燃料の噴射指示から同噴射指示に基いて噴射された燃料が燃焼することにより生成された排ガスが前記空燃比センサに到達するまでの時間である無駄時間Ｌだけ前の時点にて前記目標空燃比決定手段（図１６のルーチン）により決定されていた目標空燃比abyfrに相当する値である無駄時間前値Fcr(k-N)に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値Fcrlow(k-N)を算出するフィードバック用目標値算出手段（図１８のルーチン）と、
前記機関の運転状態が前記所定の空燃比フィードバック制御条件が成立していない状態から成立した状態へと変化した時点から同空燃比フィードバック制御条件が所定時間Ｔｅ以上に亘り継続して成立しているというフィードバック実行条件が成立しているとき、前記フィードバック用目標値Fcrlow(k-N)と前記空燃比センサの出力値Vabyfsに相当する値Fc(k-N)とに基づいて前記機関に供給される混合気の空燃比をフィードバック制御するためのフィードバック補正値DFiを更新するフィードバック補正値算出手段（図１５のルーチン）と、を備えている。
【０１６５】
この結果、空燃比フィードバック制御開始後（フィードバック補正値DFiの更新及び同更新されたフィードバック補正値DFiによりフィードフォワード噴射量Fbaseの補正の開始後）において、フィードバック補正値DFiが過大又は過小にならないので、機関に供給される混合気の空燃比が比較的大きく変動するという事態が発生することを回避することができる。また、空燃比フィードバック制御を行っていないとき、フィードバック用目標値Fcrlow(k-N)を算出しないので、第１実施形態に係る空燃比制御装置に比較してＣＰＵ７１の負荷を軽減することもできる。
【０１６６】
なお、上記第２実施形態においては、空燃比フィードバック制御条件が成立してから無駄時間Ｌが経過した後にフィードバック用目標値Fcrlow(k-N)の更新が実質的に始まるが、それは、ＣＰＵ７１が空燃比フィードバック制御条件が成立してから無駄時間Ｌが経過するのを待っているだけのことである。従って、この空燃比制御装置は、空燃比フィードバック条件成立後にフィードバック用目標値Fcrlow(k-N)の事実上の計算を開始しているということができる。
【０１６７】
＜第３実施形態＞
次に、本発明の第３実施形態に係る内燃機関の空燃比制御装置（第３の空燃比制御装置）について説明する。第３実施形態に係る空燃比制御装置は、以下の２点において主として第１実施形態に係る空燃比制御装置と相違する。
【０１６８】
（相違点１）
第３実施形態に係る空燃比制御装置は、フィードバック用目標値Fcrlow(k−N)の算出を上流側空燃比フィードバック制御条件（空燃比フィードバック制御条件）が成立した時点から開始する。より具体的に述べると、第３実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が不成立であって空燃比フィードバック制御が実行されていない期間において、目標空燃比abyfr(k)及び筒内吸入空気量Mc(k)の最新値と前回値（最新値に更新される直前の値）のみを保持し、前回値を除いて最新値から無駄時間Ｌまで前の期間における目標空燃比abyfr(k)及び筒内吸入空気量Mc(k)を保持せず、且つ、目標筒内燃料供給量Fcr(k)を算出しない。従って、第３実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が不成立であって空燃比フィードバック制御が実行されていない期間において、フィードバック用目標値Fcrlow(k)を算出しない。
【０１６９】
また、第３実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が成立している場合、目標空燃比abyfr(k)、筒内吸入空気量Mc(k)及び目標筒内燃料供給量Fcr(k)のデータを無駄時間Ｌよりも長い時間にわたって保持し、且つ、それらのデータに基いてフィードバック用目標値Fcrlow(k−N)を算出する。
【０１７０】
（相違点２）
但し、ＣＰＵ７１は、上流側空燃比フィードバック制御条件が成立した時点から無駄時間Ｌが経過するまでの期間において、フィードバック用目標値Fcrlow(k−N)の算出に用いる現時点より無駄時間Ｌだけ前の時点における目標筒内燃料供給量Fcr(k−N)を保持していない。そこで、第３実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が成立した時点から無駄時間Ｌが経過するまでの期間において、前記フィードバック用目標値Fcrlow(k−N)の算出に用いる無駄時間Ｌだけ前の目標筒内燃料供給量Fcr(k−N)に代えて、上流側空燃比フィードバック制御条件が成立する直前の時点における目標空燃比abyfr（＝abyfrint）に相当する値を使用することによりフィードバック用目標値Fcrlow(k−N)の更新を行う。
【０１７１】
この「上流側空燃比フィードバック制御条件が成立する直前の時点における目標空燃比abyfr（＝abyfrint）に相当する値」とは、上流側空燃比フィードバック制御条件が成立する直前の時点における筒内吸入空気量Mc（＝Mcint）を同じ時点における目標空燃比abyfr（＝abyfrint）により除した値Fcrint（＝Mcint／abyfrint)である。なお、第３実施形態に係る空燃比制御装置は、第１実施形態と同様、空燃比フィードバック制御を上流側空燃比フィードバック制御条件が成立した時点から直ちに開始する。
【０１７２】
以下、主としてこれらの相違点１及び相違点２について図２０乃至図２４を参照しながら説明する。なお、図２０乃至図２３において、先に説明したステップと同一のステップには必要に応じて同一の符号を付し、それらについての詳細な説明を省略する。また、以下の説明を簡素に行うために、時定数τ（従って、鈍し処理定数ｎ）及び無駄時間Ｌ（ストローク数Ｎ）は一定値とする。
【０１７３】
＜上流側フィードバック補正値の計算＞
第３実施形態に係る制御装置のＣＰＵ７１は、図１２及び図１４に示したルーチンを実行するとともに、図１３に代わる図２０にフローチャートにより示したルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングにてＣＰＵ７１はステップ２０００から処理を開始してステップ２００５に進み、上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。
【０１７４】
このとき、上流側空燃比フィードバック制御条件が成立していなければ、ＣＰＵ７１はステップ２００５にて「Ｎｏ」と判定して上述したステップ１３４０及びステップ１３４５の処理を実行し、ステップ２０９５に進んで本ルーチンを一旦終了する。これにより、フィードバック補正値DFiが「０」に設定されるので、上流側空燃比センサ６６の出力値Vabyfsに基く空燃比フィードバック制御は実行されない。
【０１７５】
一方、上流側空燃比フィードバック制御条件が成立していると、ＣＰＵ７１はステップ２００５にて「Ｙｅｓ」と判定し、上述したステップ１３５０乃至ステップ１３７０の処理を順に行った後、ステップ２０９５に進んで本ルーチンを一旦終了する。これにより、上流側空燃比センサ６６の出力値Vabyfsに基く空燃比フィードバック制御が実行される。
【０１７６】
＜目標空燃比の設定＞
第３実施形態に係る制御装置のＣＰＵ７１は、更に、図２１に示した目標空燃比決定ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、ＣＰＵ７１は所定のタイミングにてステップ２１００から処理を開始してステップ２１０５に進み、上述した上流側空燃比フィードバック制御条件が不成立であるか否かを判定する。
【０１７７】
いま、機関の冷却水温THWが第１所定温度THW1thより低いことのみにより、上述した上流側空燃比フィードバック制御条件が成立していないと仮定する。この場合、ＣＰＵ７１はステップ２１０５にて「Ｙｅｓ」と判定してステップ２１１０に進み、本ルーチンを前回実行したときに処理した後述するステップ２１２５において格納しておいた目標空燃比abyfrの最新値abyfr1を目標空燃比の前回値abyfroldとして格納する。次に、ＣＰＵ７１はステップ２１１５に進んで、本ルーチンを前回実行したときに処理した後述するステップ２１３０において格納しておいた筒内吸入空気量Mcの値Mc1を前回値Mcoldとして格納する。従って、この前回値Mcoldは、前回値abyfroldを決定した時点における筒内吸入空気量となる。次いで、ＣＰＵ７１は、ステップ２１２０に進んで上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。
【０１７８】
前述の仮定に従えば、上流側空燃比フィードバック制御条件は成立していない。従って、ＣＰＵ７１はステップ２１２０にて「Ｎｏ」と判定し、ステップ１６１０に進んでテーブルMapabyfr(THW)に基いて目標空燃比abyfrを決定する。次いで、ＣＰＵ７１はステップ２１２５に進み、決定された目標空燃比abyfrを目標空燃比の最新値abyfr1として格納する。次に、ＣＰＵ７１はステップ２１３０に進み、目標空燃比の最新値abyfr1を得た時点（現時点）における筒内吸入空気量Mcを値Mc1として格納する。その後、ＣＰＵ７１はステップ２１９５に進み、本ルーチンを一旦終了する。
【０１７９】
その後、機関１０の運転が継続されることにより冷却水温THWが第１所定温度THW1thより高くなったと仮定する。この場合、上流側空燃比フィードバック制御条件は成立するので、ＣＰＵ７１はステップ２１０５にて「Ｎｏ」と判定して直接ステップ２１２０に進む。そして、ＣＰＵ７１は、ステップ２１２０にて「Ｙｅｓ」と判定してステップ１６２０に進み、目標空燃比abyfrを理論空燃比stoich（又は、機関の運転状態に基づいて定まる他の空燃比）に設定する。このとき、目標空燃比abyfrが理論空燃比stoichに変更されれば、目標空燃比abyfrは、上流側空燃比フィードバック制御条件が成立した時点において理論空燃比stoichよりもリッチな空燃比から理論空燃比stoichへとステップ状に急変（増大）する。その後、ＣＰＵ７１はステップ２１９５に進み、本ルーチンを一旦終了する。
【０１８０】
以上により、目標空燃比abyfrが決定されるとともに、目標空燃比の前回値abyfold及び筒内吸入空気量の前回値Mcoldは、それぞれ上流側空燃比フィードバック制御条件が成立した時点の直前の時点における目標空燃比及び筒内吸入空気量となる。
【０１８１】
＜フィードバック用目標値の初期値等の取得＞
第３実施形態に係る制御装置のＣＰＵ７１は、更に、図２２に示したルーチンを図２１に示したルーチンに続いて実行するようになっている。従って、ＣＰＵ７１は図２１のステップ２１９５の処理を実行後に図２２のステップ２２００から処理を開始し、ステップ２２０５に進んで上述した上流側空燃比フィードバック制御条件が成立した直後であるか否かを判定する。
【０１８２】
いま、機関の冷却水温THWが第１所定温度THW1thより低いことのみにより、上述した上流側空燃比フィードバック制御条件は成立していないと仮定する。この場合、ＣＰＵ７１はステップ２２０５にて「Ｎｏ」と判定して直接ステップ２２９５に進み、本ルーチンを一旦終了する。
【０１８３】
その後、機関１０の運転が継続されることにより冷却水温THWが第１所定温度THW1thより高くなったことにより、上流側空燃比フィードバック制御条件が成立したと仮定する。この場合、ＣＰＵ７１はステップ２２０５にて「Ｙｅｓ」と判定し、以下に記載したステップ２２１０乃至ステップ２２２０の処理を順に行い、ステップ２２９５に進んで本ルーチンを一旦終了する。
【０１８４】
ステップ２２１０：ＣＰＵ７１は、図２１のステップ２１１０にて格納した目標空燃比の前回値abyfroldを目標空燃比初期値abyfrintに格納する。これにより、目標空燃比初期値abyfrintは、上流側空燃比フィードバック制御条件が成立した時点の直前の時点における目標空燃比となる。
ステップ２２１５：ＣＰＵ７１は、図２１のステップ２１１５にて格納した筒内吸入空気量の前回値Mcoldを筒内吸入空気量初期値Mcintに格納する。これにより、筒内吸入空気量初期値Mcintは、上流側空燃比フィードバック制御条件が成立した直前の時点における筒内吸入空気量となる。
ステップ２２２０：ＣＰＵ７１は、筒内吸入空気量初期値Mcintを目標空燃比初期値abyfrintにより除した値をフィードバック用目標値Fcrlow(k−N)の前回値Fcrlow1として格納する。ここで前回値Fcrlow1に格納された値は、フィードバック用目標値Fcrlow(k−N)の算出を開始するための初期値として後述する図２３のステップ１３２５にて使用される。
【０１８５】
＜フィードバック用目標値Fcrlow(k−N)の算出＞
第３実施形態に係る制御装置のＣＰＵ７１は、更に、図２３に示したルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、ＣＰＵ７１は所定のタイミングにてステップ２３００から処理を開始し、ステップ２３０５に進んで上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。いま、機関の冷却水温THWが第１所定温度THW1thより低いことのみにより、上述した上流側空燃比フィードバック制御条件は成立していないと仮定する。この場合、ＣＰＵ７１はステップ２３０５にて「Ｎｏ」と判定し、ステップ２３９５に進んで本ルーチンを一旦終了する。従って、上流側空燃比フィードバック制御条件が成立していない場合、フィードバック用目標値Fcrlow(k−N)は算出されない。
【０１８６】
その後、機関１０の運転が継続されることにより冷却水温THWが第１所定温度THW1thより高くなったと仮定する。この場合、上流側空燃比フィードバック制御条件は成立するので、ＣＰＵ７１はステップ２３０５にて「Ｙｅｓ」と判定してステップ２３１０に進み、現時点は、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Ｌが経過する前の時点であるか否かを判定する。
【０１８７】
現時点は、上流側空燃比フィードバック制御条件が成立した直後であるから、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Ｌが経過する前の時点である。従って、ＣＰＵ７１はステップ２３１０にて「Ｙｅｓ」と判定してステップ２３１５に進み、現時点から無駄時間Ｌ前の目標筒内燃料供給量Fcr(k−N)に、筒内吸入空気量Mcintを目標空燃比abyfrintにて除した値（Mcint／abyfint）を格納する。
【０１８８】
そして、ＣＰＵ７１はステップ１３２５及びステップ１３３０に進んでフィードバック用目標値Fcrlow(k−N)を更新するとともに、フィードバック用目標値Fcrlow(k−N)の前回値Fcrlow1を更新し、ステップ２３９５に進んで本ルーチンを一旦終了する。このような処理は、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Ｌが経過し、ステップ２３１０にて「Ｎｏ」と判定されるまで所定時間の経過毎に繰り返される。
【０１８９】
その後、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Ｌが経過すると、ＣＰＵ７１はステップ２３１０にて「Ｎｏ」と判定してステップ１３２０に進み、
現時点から無駄時間Ｌ前に吸気行程を迎えた気筒の筒内吸入空気量Mc(k−N)を現時点から無駄時間Ｌ前の時点の目標空燃比abyfr(k-N)で除することにより、現時点から無駄時間Ｌ前の目標筒内燃料供給量Fcr(k−N)を算出する。そして、ＣＰＵ７１はステップ１３２５及びステップ１３３０に進んでフィードバック用目標値Fcrlow(k−N)を更新するとともに、フィードバック用目標値Fcrlow(k−N)の前回値Fcrlow1を更新し、ステップ２３９５に進んで本ルーチンを一旦終了する。なお、ＣＰＵ７１は、上流側空燃比フィードバック制御条件が成立している場合にのみ、目標空燃比abyfr(k)及び筒内吸入空気量Mc(k)を、各気筒の吸気行程に対応しながらＲＡＭ７３に記憶しておくようになっている。
【０１９０】
以上の作動により、図２４のタイムチャートに示したように、時刻ｔ２１にて上流側空燃比フィードバック制御条件が成立すると、フィードバック用目標値Fcrlow(k−N)は、上述した初期値Fcrlow1（＝Mcint／abyfrint）から更新され始める。そして、フィードバック用目標値Fcrlow(k−N)は、時刻ｔ２１から無駄時間Ｌが経過する時刻ｔ２２までの間、一定値（＝Mcint／abyfrint）となる。更に、フィードバック用目標値Fcrlow(k−N)は、時刻ｔ２２から僅かな時間が経過すると正規の値（第１実施形態のように、フィードバック用目標値Fcrlow(k−N)を常に計算し続けている場合に得られているであろうフィードバック用目標値Fcrlow(k−N)）と略等しくなる。
【０１９１】
これにより、時刻ｔ２１にて空燃比フィードバック制御が開始され、その結果、目標空燃比がステップ状に急変した場合であっても、時刻ｔ２２以降においてフィードバック用目標値Fcrlow(k−N)は無駄時間Ｌ及び上流側空燃比センサ６６の応答遅れ特性を反映するように変化する。従って、筒内燃料供給量偏差DFcの絶対値は過大にならないので、フィードバック補正値DFiの絶対値の不適切な増大に起因する空燃比の比較的大きな荒れの発生を抑制することができる。この結果、迅速に空燃比を目標空燃比に収束させることができる。
【０１９２】
以上、説明したように、第３実施形態に係る空燃比制御装置は、
所定の空燃比フィードバック制御条件（上流側空燃比フィードバック制御条件）が成立しているとき、前記無駄時間Ｌだけ前の時点にて前記目標空燃比決定手段（図２１のルーチン）により決定されていた目標空燃比abyfr(k-N)に相当する値である無駄時間前値Fcr(k-N)に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値Fcrlow(k-N)を算出するフィードバック用目標値算出手段（図２３のルーチン）と、
前記空燃比フィードバック制御条件が成立しているとき前記フィードバック用目標値Fcrlow(k-N)と前記空燃比センサの出力値Vabyfsに相当する値Fc(k-N)とに基づいて前記機関に供給される混合気の空燃比をフィードバック制御するためのフィードバック補正値DFiを更新するフィードバック補正値算出手段（図２０のルーチン）と、
前記空燃比フィードバック制御条件が成立しているとき前記フィードフォワード噴射量Fbaseを前記フィードバック補正値DFiを用いて補正することにより燃料噴射量Fiを算出し、且つ、前記空燃比フィードバック制御条件が成立していないとき前記フィードフォワード噴射量Fbaseに基いて燃料噴射量Fiを算出する燃料噴射量算出手段（図１２のルーチン等）と、を備えている。
【０１９３】
更に、前記フィードバック用目標値算出手段は、
前記機関の運転状態が前記空燃比フィードバック制御条件が成立していない状態から成立した状態へと変化したフィードバック制御条件成立時点から前記無駄時間Ｌが経過するまでの期間、前記フィードバック用目標値Fcrlow(k-N)の算出に用いる前記無駄時間前値Fcr(k-N)として同空燃比フィードバック制御条件成立時点の直前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比abyfrintに相当する値（Mcint/abyfrint）を使用するように構成されている（図２３のステップ２３１０及びステップ２３１５を参照。）。
【０１９４】
この結果、空燃比フィードバック制御開始後において、フィードバック補正値DFiの絶対値が過大とならないので、機関に供給される混合気の空燃比を目標空燃比に迅速に収束させることができる。また、空燃比フィードバック制御を行っていないとき、フィードバック用目標値Fcrlow(k-N)を算出しないので、第１実施形態に係る空燃比制御装置に比較してＣＰＵ７１の負荷を軽減することもできる。
【０１９５】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第１実施形態においては、筒内吸入空気量Mc(k)と、テーブルMapＮとに基づいてストローク数Ｎを求めているが、ストローク数Ｎ、機関回転速度NE及び筒内吸入空気量Mcの関係を規定するテーブルに、実際の機関回転速度NEと実際の筒内吸入空気量Mc(k)とを適用することによりストローク数Ｎを求めるように構成してもよい。この場合、図１３のルーチンのステップ１３１０にて、MapＮ(Mc(k))に基づいてストローク数Ｎを決定するのに代えて、MapＮ(NE,Mc(k))に基づいてストローク数Ｎを決定すればよい。
【０１９６】
また、上記第１実施形態においては、現時点からＮストローク前の筒内吸入空気量Mc(k−N)及び目標筒内燃料供給量Fcr(k−N)を求める際、無駄時間Ｌに相当する燃料噴射指示の回数としてストローク数Ｎを用いているが、無駄時間Ｌそのものを用いるように構成してもよい。この場合、図１３のルーチンのステップ１３１０にて、MapＮ(Mc(k))に基づいてストローク数Ｎを決定するのに代えて、無駄時間Ｌ、機関回転速度NE及び筒内吸入空気量Mcの関係を規定するテーブルMapL(NE,Mc(k))に、実際の機関回転速度NEと実際の筒内吸入空気量Mc(k)とを適用することにより無駄時間Ｌを決定すればよい。
【０１９７】
更に、この場合、図１３のルーチン等において、現時点からＮストローク前の筒内吸入空気量Mc(k−N)及び目標筒内燃料供給量Fcr(k−N)を用いるのに代えて、現時点から無駄時間Ｌだけ前の時点で決定されていた筒内吸入空気量Mcの最新値及び目標筒内燃料供給量Fcrの最新値を用いて、制御用筒内燃料供給量Fc及びローパスフィルタ通過後目標筒内燃料供給量Fcrlowを求めればよい。
【０１９８】
また、上記第１実施形態においては、筒内吸入空気量Mc(k)とテーブルMapτとに基づいてローパスフィルタ処理の時定数τを求めているが、時定数τと機関回転速度NE及び筒内吸入空気量Mcとの関係を規定するテーブルに、実際の機関回転速度NEと実際の筒内吸入空気量Mc(k)とを適用することにより時定数τを求めるように構成してもよい。この場合、図１３のルーチンのステップ１３０５にて、Mapτ(Mc(k))に基づいてローパスフィルタ処理の時定数τを決定するのに代えて、Mapτ(NE,Mc(k))に基づいてローパスフィルタ処理の時定数τを決定すればよい。
【０１９９】
また、上記第１実施形態においては、筒内吸入空気量Mc(k)とテーブルMapτとに基づいてローパスフィルタ処理の時定数τを求めているが、ローパスフィルタ処理の時定数τを求めるためのテーブルの引数として筒内吸入空気量Mc(k)のみを用いるのに代えて、筒内吸入空気量Mc(k)、吸気弁３２の開閉タイミングVT、点火時期CAig及び目標空燃比abyfr(k)のうち少なくとも一つを用いるように構成してもよい。
【０２００】
更に、上記第２及び第３実施形態において、時定数τ（鈍し処理定数ｎ）及び無駄時間Ｌを運転状態を表すパラメータにより可変としてもよい。また、第２実施形態において、所定時間Ｔｅを運転状態を表すパラメータにより可変としてもよい。
【０２０１】
また、上記各実施形態においては、ローパスフィルタ処理の応答性に関するパラメータの数を少なくするため、ローパスフィルタＡ１７として一次のフィルタ（一次遅れ処理）を用いているが（上記（６）式及び図１３のルーチンのステップ１３２５を参照。）、ローパスフィルタＡ１７として二次のフィルタ（二次遅れ処理）を用いてもよい。これによれば、フィードバック用目標値Fcrlow(k−N)の変化の遅れの特性を、目標空燃比abyfr(k)が変化した場合における上流側空燃比センサ６６の出力値Vabyfsの変化の遅れの特性に精度良く近づけることができる。
【０２０２】
これは、吸気通路を構成する部材（吸気管４１の壁面、及び吸気弁３２の表面等）に付着する燃料の量（燃料付着量）が目標空燃比abyfr(k)の変化に基いて変化するので、燃焼室２５内に実際に供給される燃料の量の変化が燃料噴射量Fiの変化に対して遅れ、その結果、上流側空燃比センサ６６の出力値Vabyfsの変化の遅れの特性も変化することを、フィードバック用目標値Fcrlow(k−N)に反映できることによるものと推定される。
【０２０３】
加えて、上記各実施形態においては、フィードバック用目標値Fcrlow(k−N)から現時点からＮストローク前の制御用筒内燃料供給量Fc(k−N)を減じた値である筒内燃料供給量偏差DFcに基づいてフィードバック補正値DFiを求めているが、現時点からＮストローク前のabyfr(k−N)にローパスフィルタ処理を施した値（フィードバック用目標値）と、今回の制御用空燃比abyfs(k)と、の偏差に基づいてフィードバック補正値DFiを求めるように構成してもよい。
【０２０４】
同様に、フィードバック用目標値は、無駄時間前の目標空燃比そのものにローパスフィルタ処理を施した値、無駄時間前の目標空燃比を上流側空燃比センサの出力値に相当する値に変換した値にローパスフィルタ処理を施した値であってもよい。
【図面の簡単な説明】
【０２０５】
【図１】本発明の第１実施形態に係る空燃比制御装置を適用した内燃機関の概略図である。
【図２】図１に示した上流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図３】図１に示した下流側酸素濃度センサの出力電圧と空燃比との関係を示したグラフである。
【図４】図１に示した空燃比制御装置が空燃比フィードバック制御を実行する際の機能ブロック図である。
【図５】無駄時間と、機関回転速度及び筒内吸入空気量との関係を示したグラフである。
【図６】無駄時間に相当するストローク数と、機関回転速度及び筒内吸入空気量との関係を示したグラフである。
【図７】図１に示したＣＰＵが参照する筒内吸入空気量とストローク数との関係を規定するテーブルを示したグラフである。
【図８】図１に示した上流側空燃比センサの応答遅れに相当する時定数と、機関回転速度及び筒内吸入空気量との関係を示したグラフである。
【図９】図１に示したＣＰＵが参照する、ローパスフィルタ処理の時定数と筒内吸入空気量との関係を規定するテーブルを示したグラフである。
【図１０】図１に示した空燃比制御装置が空燃比フィードバック制御を実行する際の各種変数等の変化の一例を示したタイムチャートである。
【図１１】図１に示した空燃比制御装置が空燃比フィードバック制御を開始する前後の各種変数等の変化の一例を示したタイムチャートである。
【図１２】図１に示したＣＰＵが実行する燃料噴射量の計算及び噴射指示を行うためのルーチンを示したフローチャートである。
【図１３】図１に示したＣＰＵが実行する、フィードバック用目標値と上流側フィードバック補正値とを計算するためのルーチンを示したフローチャートである。
【図１４】図１に示したＣＰＵが実行する下流側フィードバック補正量を計算するためのルーチンを示したフローチャートである。
【図１５】本発明の第２実施形態に係るＣＰＵが実行する上流側フィードバック補正値を計算するためのルーチンを示したフローチャートである。
【図１６】本発明の第２実施形態に係るＣＰＵが実行する上流側目標空燃比を決定するためのルーチンを示したフローチャートである。
【図１７】本発明の第２実施形態に係るＣＰＵが実行するフィードバック用目標値の初期値を取得するためのルーチンを示したフローチャートである。
【図１８】本発明の第２実施形態に係るＣＰＵが実行するフィードバック用目標値を計算するためのルーチンを示したフローチャートである。
【図１９】本発明の第２実施形態に係る空燃比制御装置が空燃比フィードバック制御を開始する前後の各種変数等の変化の一例を示したタイムチャートである。
【図２０】本発明の第３実施形態に係るＣＰＵが実行する上流側フィードバック補正値を計算するためのルーチンを示したフローチャートである。
【図２１】本発明の第３実施形態に係るＣＰＵが実行する上流側目標空燃比を決定するためのルーチンを示したフローチャートである。
【図２２】本発明の第３実施形態に係るＣＰＵが実行するフィードバック用目標値の初期値を取得するためのルーチンを示したフローチャートである。
【図２３】本発明の第３実施形態に係るＣＰＵが実行するフィードバック用目標値を計算するためのルーチンを示したフローチャートである。
【図２４】本発明の第３実施形態に係る空燃比制御装置が空燃比フィードバック制御を開始する前後の各種変数等の変化の一例を示したタイムチャートである。
【図２５】従来の空燃比制御装置が空燃比フィードバック制御を実行する際の各種変数等の変化の一例を示したタイムチャートである。
【図２６】本出願人が開発している空燃比制御装置が空燃比フィードバック制御を実行する際の各種変数等の変化の一例を示したタイムチャートである。
【図２７】本出願人が開発している空燃比制御装置が空燃比フィードバック制御を開始する前後の各種変数等の変化の一例を示したタイムチャートである。
【図２８】本発明による空燃比制御装置が空燃比フィードバック制御を開始する前後の各種変数等の変化の一例を示したタイムチャートである。
【符号の説明】
【０２０６】
１０…内燃機関、２５…燃焼室、３９…インジェクタ（燃料噴射手段）、５３…上流側三元触媒、６６…上流側空燃比センサ（空燃比センサ）、７０…電気制御装置、７１…ＣＰＵ。
【図１】
2008095577.tif 000003
【図２】
2008095577.tif 000004
【図３】
2008095577.tif 000005
【図４】
2008095577.tif 000006
【図５】
2008095577.tif 000007
【図６】
2008095577.tif 000008
【図７】
2008095577.tif 000009
【図８】
2008095577.tif 000010
【図９】
2008095577.tif 000011
【図１０】
2008095577.tif 000012
【図１１】
2008095577.tif 000013
【図１２】
2008095577.tif 000014
【図１３】
2008095577.tif 000015
【図１４】
2008095577.tif 000016
【図１５】
2008095577.tif 000017
【図１６】
2008095577.tif 000018
【図１７】
2008095577.tif 000019
【図１８】
2008095577.tif 000020
【図１９】
2008095577.tif 000021
【図２０】
2008095577.tif 000022
【図２１】
2008095577.tif 000023
【図２２】
2008095577.tif 000024
【図２３】
2008095577.tif 000025
【図２４】
2008095577.tif 000026
【図２５】
2008095577.tif 000027
【図２６】
2008095577.tif 000028
【図２７】
2008095577.tif 000029
【図２８】
2008095577.tif 000030