(57)【要約】【課題】  下流側フィードバック補正値が変化しても合成空燃比に基づく上流側フィードバック補正値の変化を抑制することができる内燃機関の空燃比制御装置を提供すること。【解決手段】  この空燃比制御装置は、下流側空燃比センサ６７の出力値Voxsに基づく下流側フィードバック補正値Vafsfb(k)と上流側空燃比センサ６６の出力値Vabyfsとから合成空燃比abyfsを求め、この合成空燃比abyfsに基づいて上流側フィードバック補正値DFiを求める。燃料噴射量Fiは、制御用基本燃料噴射量Fbasec（＝基本燃料噴射量Fbase・係数Ksub）に上流側フィードバック補正値DFiを加えた値に決定される。ここで、係数Ksubは、上流側空燃比センサ６６の出力値Vabyfsが下流側フィードバック補正値Vafsfb(k)の変化を打ち消す方向に変化するように制御用基本燃料噴射量Fbasec（従って、燃料噴射量Fi）が決定されるよう、下流側フィードバック補正値Vafsfb(k)に基づいて決定される。【選択図】  図４
2007146661.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気通路に配設された触媒と、
前記触媒よりも上流の前記排気通路に配設された上流側空燃比センサと、
前記触媒よりも下流の前記排気通路に配設された下流側空燃比センサと、
指示に応じて燃料を噴射する燃料噴射手段と、
を備えた内燃機関に適用される内燃機関の空燃比制御装置であって、
前記内燃機関の運転状態に基づいて目標空燃比を得るための燃料の量である基本燃料噴射量を取得する基本燃料噴射量取得手段と、
前記下流側空燃比センサの出力値に基づいて前記内燃機関に供給される混合気の空燃比をフィードバック制御するためのフィードバック補正値である下流側フィードバック補正値を算出する下流側フィードバック補正値算出手段と、
前記取得された基本燃料噴射量と、前記算出された下流側フィードバック補正値とに基づいて、前記内燃機関に供給される混合気の空燃比をフィードバック制御するための基本燃料噴射量である制御用基本燃料噴射量を取得する制御用基本燃料噴射量取得手段と、
前記上流側空燃比センサの出力値と、前記算出された下流側フィードバック補正値とに基づいて前記内燃機関に供給される混合気の空燃比をフィードバック制御するための空燃比に相当する値である合成空燃比相当値を取得する合成空燃比取得手段と、
前記取得された合成空燃比相当値に基づいて前記内燃機関に供給される混合気の空燃比をフィードバック制御するためのフィードバック補正値である上流側フィードバック補正値を算出する上流側フィードバック補正値算出手段と、
前記取得された制御用基本燃料噴射量と、前記算出された上流側フィードバック補正値とに基づいて燃料噴射量を算出する燃料噴射量算出手段と、
前記算出された燃料噴射量の燃料の噴射指示を前記燃料噴射手段に対して行うことで前記内燃機関に供給される混合気の空燃比をフィードバック制御する空燃比制御手段と、
を備えた内燃機関の空燃比制御装置。
【請求項２】
請求項１に記載の内燃機関の空燃比制御装置において、
前記制御用基本燃料噴射量取得手段は、
前記取得された基本燃料噴射量に、前記算出された下流側フィードバック補正値に所定の係数を乗じた値に１を加えた値を乗じて前記制御用基本燃料噴射量を取得するように構成された内燃機関の空燃比制御装置。
【請求項３】
請求項１又は請求項２に記載の内燃機関の空燃比制御装置において、
前記合成空燃比取得手段は、
前記合成空燃比相当値を取得する際、前記下流側フィードバック補正値に遅延処理を施した値を使用するように構成された内燃機関の空燃比制御装置。
【請求項４】
請求項３に記載の内燃機関の空燃比制御装置であって、
燃料の噴射指示から、前記燃料の燃焼に基づく排ガスが前記上流側空燃比センサに到達するまでの時間である無駄時間を取得する無駄時間取得手段を更に備え、
前記合成空燃比取得手段は、前記下流側フィードバック補正値に遅延処理を施した値として、
前記無駄時間だけ前の時点で算出されていた下流側フィードバック補正値を使用するように構成された内燃機関の空燃比制御装置。
【請求項５】
請求項４に記載の内燃機関の空燃比制御装置において、
前記無駄時間取得手段は、
前記内燃機関の運転状態に応じて前記無駄時間を変更するように構成された内燃機関の空燃比制御装置。
【請求項６】
請求項３乃至請求項５の何れか一項に記載の内燃機関の空燃比制御装置であって、
前記下流側フィードバック補正値にローパスフィルタ処理を施すローパスフィルタ処理手段を更に備え、
前記合成空燃比取得手段は、前記下流側フィードバック補正値に遅延処理を施した値として、
前記下流側フィードバック補正値に前記ローパスフィルタ処理を施した値を使用するように構成された内燃機関の空燃比制御装置。
【請求項７】
請求項６に記載の内燃機関の空燃比制御装置において、
前記ローパスフィルタ処理手段は、
前記内燃機関の運転状態に応じて前記ローパスフィルタ処理の応答性に関するパラメータを変更するように構成された内燃機関の空燃比制御装置。
【請求項８】
請求項１乃至請求項７の何れか一項に記載の内燃機関の空燃比制御装置において、
前記上流側フィードバック補正値算出手段は、
前記目標空燃比に相当する値と前記取得された合成空燃比相当値との差に少なくとも積分処理を施した値に基づいて前記上流側フィードバック補正値を算出するように構成された内燃機関の空燃比制御装置。
【請求項９】
請求項１乃至請求項７の何れか一項に記載の内燃機関の空燃比制御装置であって、
前記基本燃料噴射量の燃料の噴射指示を受けたと仮定した場合において前記燃料噴射手段が実際に噴射する燃料の量が前記内燃機関に供給される混合気の実際の空燃比を前記目標空燃比とするために必要な量となるように同基本燃料噴射量を補正する基本燃料噴射量補正手段を更に備えた内燃機関の空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排気通路に配設された触媒（三元触媒）の上流側及び下流側の排気通路にそれぞれ空燃比センサを備えた内燃機関に適用され、各空燃比センサの出力値に基づいて内燃機関に供給される混合気の空燃比（以下、「空燃比」と称呼する。）をフィードバック制御する内燃機関の空燃比制御装置に関する。
【背景技術】
【０００２】
従来より、この種の空燃比制御装置として、例えば特許文献１に開示された技術が知られている。この内燃機関（以下、単に「機関」と称呼することもある。）の空燃比制御装置においては、下流側空燃比センサの出力値とこの出力値の目標値との偏差に基づいて（偏差を比例・積分・微分処理（ＰＩＤ処理）して）算出される下流側フィードバック補正値と上流側空燃比センサの出力値との和に基づく値である合成空燃比が取得される。この合成空燃比と目標空燃比との偏差に相当する値（筒内吸入空気量を合成空燃比で除した値である筒内燃料供給量と筒内吸入空気量を目標空燃比で除した値である目標筒内燃料供給量との偏差）に基づいて（偏差を比例・積分処理（ＰＩ処理）して）上流側フィードバック補正値が算出されるようになっている。そして、上流側フィードバック補正値と、機関の運転状態に基づいて取得される目標空燃比を得るための燃料の量である基本燃料噴射量とに基づいて燃料噴射量が算出され、燃料噴射量の燃料の噴射指示がインジェクタに対して行われることで、空燃比がフィードバック制御されるようになっている。
【特許文献１】特開２００４−１８３５８５号公報
【０００３】
ところで、外乱等の影響により下流側フィードバック補正値に荒れが発生する場合がある。この場合、図１７に示すように、下流側フィードバック補正値に発生した荒れが下流側フィードバック補正値に基づいて取得される合成空燃比の荒れとして伝達され、この合成空燃比の荒れが上流側フィードバック補正値に伝達される。
【０００４】
上流側フィードバック補正値に荒れが伝達されると、上流側フィードバック補正値に基づいて算出される燃料噴射量にも荒れが伝達される。燃料噴射量に荒れが伝達されると燃料噴射量に基づく空燃比（即ち、排ガスの空燃比）にも荒れが伝達される。従って、上流側センサの出力値、及び下流側センサの出力値に荒れが伝達される。この結果、下流側空燃比センサの出力値に基づく下流側フィードバック補正値に荒れが伝達される。このように荒れが伝達されていく一連の流れを「荒れの伝達ループ」と称呼する。
【０００５】
ここで、上述したように、合成空燃比は、上流側空燃比センサの出力値と下流側フィードバック補正値との和に基づく値であるから、合成空燃比の荒れは、上流側空燃比センサの出力値の荒れよりも大きくなり得る。従って、上記「荒れの伝達ループ」が繰り返されると、次第に合成空燃比に基づいて算出される上流側フィードバック補正値に発生する荒れが大きくなっていき、その結果、空燃比の荒れが増大していくという問題がある。
【発明の開示】
【０００６】
従って、本発明の目的は、合成空燃比に基づく上流側フィードバック補正値に基づいて燃料噴射量を算出することで空燃比をフィードバック制御する装置において、上記「荒れの伝達ループ」の繰り返しによる空燃比の荒れの増大を抑制することができる内燃機関の空燃比制御装置を提供することにある。
【０００７】
本発明に係る空燃比制御装置は、触媒と、上流側空燃比センサと、下流側空燃比センサと、指示に応じて燃料を噴射する燃料噴射手段（例えば、インジェクタ）とを備えた内燃機関に適用される。
【０００８】
本発明に係る空燃比制御装置の特徴は、前記基本燃料噴射量を取得する基本燃料噴射量取得手段と、前記下流側フィードバック補正値を算出する下流側フィードバック補正値算出手段と、前記取得された基本燃料噴射量と、前記算出された下流側フィードバック補正値とに基づいて前記空燃比をフィードバック制御するための基本燃料噴射量である制御用基本燃料噴射量を取得する制御用基本燃料噴射量取得手段と、前記上流側空燃比センサの出力値と、前記算出された下流側フィードバック補正値とに基づいて合成空燃比相当値を取得する合成空燃比取得手段と、前記取得された合成空燃比相当値に基づいて前記上流側フィードバック補正値を算出する上流側フィードバック補正値算出手段と、前記取得された制御用基本燃料噴射量と、前記算出された上流側フィードバック補正値とに基づいて燃料噴射量を算出する燃料噴射量算出手段と、前記算出された燃料噴射量の燃料の噴射指示を前記燃料噴射手段に対して行うことで前記空燃比をフィードバック制御する空燃比制御手段とを備えたことにある。
【０００９】
ここにおいて、合成空燃比相当値は、例えば、上流側空燃比センサの出力値と下流側フィードバック補正値との和、上流側空燃比センサの出力値と下流側フィードバック補正値との和に相当する空燃比である合成空燃比、筒内吸入空気量を合成空燃比で除した値である筒内燃料供給量であって、これらに限定されない。
【００１０】
これによれば、燃料噴射量は、制御用基本燃料噴射量に基づいて算出されるから、上流側空燃比センサの出力値は、制御用基本燃料噴射量を用いて積極的に調整され得る。また、制御用基本燃料噴射量は、下流側フィードバック補正値に基づいて取得される。従って、上流側空燃比センサの出力値が下流側フィードバック補正値の変化を打ち消す方向に変化するように制御用基本燃料噴射量を決定することができる。
【００１１】
これにより、下流側フィードバック補正値が変化しても合成空燃比の変化を抑制することができる。従って、上記「荒れの伝達ループ」が繰り返されても、合成空燃比に基づく上流側フィードバック補正値の荒れが次第に大きくなることが抑制され、空燃比の荒れが増大することを抑制することができる。
【００１２】
前記制御用基本燃料噴射量取得手段は、前記取得された基本燃料噴射量に、前記算出された下流側フィードバック補正値に所定の係数を乗じた値に１を加えた値を乗じて前記制御用基本燃料噴射量を取得するように構成されることが好適である。
【００１３】
一般に、下流側フィードバック補正値は、「０」を基準として変動するように設定される。基本燃料噴射量に下流側フィードバック補正値に応じて変化する値を乗じることで制御用基本燃料噴射量を取得する場合、上記値の変動の基準値を「０」から「１」に変更する必要がある。従って、この場合、上記のように構成すれば、簡易な計算により、上流側空燃比センサの出力値が下流側フィードバック補正値の変化を打ち消す方向に変化するように制御用基本燃料噴射量を決定することができる。
【００１４】
前記合成空燃比取得手段は、前記合成空燃比相当値を取得する際、（上流側空燃比センサの出力値そのものを使用するとともに）前記下流側フィードバック補正値に遅延処理を施した値を使用するように構成されると好適である。
【００１５】
一般に、燃料の噴射（噴射指示）は、吸気行程中（或いは吸気行程よりも前の時点）にて実行され、噴射された燃料は、その後に到来する圧縮上死点近傍の時点で燃焼室内にて着火（燃焼）する。この結果、発生する排ガスは、排気弁を介して燃焼室から排気通路へと排出され、その後、排気通路内を移動していくことで上流側空燃比センサ（の検出部）に到達する。更に、上流側空燃比センサの検出部に到達した排ガスの空燃比の変化が同センサの出力値の変化として現れるまでには所定の時間を要する。
【００１６】
以上のことから、燃料の噴射指示から、この噴射指示により噴射された燃料の燃焼に基づく排ガスの空燃比が前記上流側空燃比センサの出力値として現れるまでには、燃焼行程に係わる遅れ（行程遅れ）、排気通路内での排ガスの移動に係わる遅れ（輸送遅れ）、及び上流側空燃比センサの応答に係わる遅れ（応答遅れ）による遅れ時間が必要である。
【００１７】
従って、下流側フィードバック補正値が変化すると、上流側空燃比センサの出力値がその下流側フィードバック補正値の変化を打ち消す方向に変化するように制御用基本燃料噴射量を変化させても、制御用基本燃料噴射量に基づく燃料噴射量の燃料の噴射指示に基づいて発生した排ガスの空燃比の変化は、上記行程遅れ、輸送遅れ、及び応答遅れによる遅れ時間だけ遅れて上流側空燃比センサの出力値の変化として現れる。
【００１８】
換言すれば、下流側フィードバック補正値が変化すると、この下流側フィードバック補正値の変化を打ち消すための上流側空燃比センサの出力値の変化は上記行程遅れ、輸送遅れ、及び応答遅れによる遅れ時間だけ遅れて現れる。よって、合成空燃比を取得する際、下流側フィードバック補正値そのものを使用すると、下流側フィードバック補正値の変化を効果的に打ち消すことができず合成空燃比の変化（従って、上流側フィードバック補正値の変化）が効果的に抑制され得ない。
【００１９】
これに対し、上記構成のように、合成空燃比を取得する際、下流側フィードバック補正値に遅延処理を施した値を使用すると、下流側フィードバック補正値の変化を打ち消すための上流側空燃比センサの出力値の変化の遅れに合わせて、合成空燃比を取得する際に使用される下流側フィードバック補正値の変化を遅らせることができる。この結果、下流側フィードバック補正値の変化を効果的に打ち消すことができるから、合成空燃比の変化（従って、上流側フィードバック補正値の変化）を効果的に抑制することができる。
【００２０】
また、上記本発明に係る空燃比制御装置は、燃料の噴射指示から、前記燃料の燃焼に基づく排ガスが前記上流側空燃比センサに到達するまでの時間である無駄時間を取得する無駄時間取得手段を更に備え、前記合成空燃比取得手段は、前記下流側フィードバック補正値に遅延処理を施した値として、前記無駄時間だけ前の時点で算出されていた下流側フィードバック補正値を使用するように構成されることが好適である。
【００２１】
ここにおいて、前記無駄時間は、上記行程遅れに係る時間と輸送遅れに係る時間との和に相当する。上記構成によれば、上流側空燃比センサの出力値の変化のタイミングと下流側フィードバック補正値の変化のタイミングとを一致させることができる。この結果、下流側フィードバック補正値の変化を効果的に打ち消すことができる。
【００２２】
ここで、前記無駄時間取得手段は、前記内燃機関の運転状態に応じて前記無駄時間を変更するように構成されることが好適である。前記無駄時間は、例えば、運転速度、筒内吸入空気量等、機関の運転状態に応じて変化する。従って、上記構成により、機関の運転状態にかかわらず前記無駄時間を正確に取得することができる。
【００２３】
また、上記本発明に係る空燃比制御装置は、前記下流側フィードバック補正値にローパスフィルタ処理を施すローパスフィルタ処理手段を更に備え、前記合成空燃比取得手段は、前記下流側フィードバック補正値に遅延処理を施した値として、前記下流側フィードバック補正値に前記ローパスフィルタ処理を施した値を使用するように構成されることが好適である。
【００２４】
これによれば、ローパスフィルタ処理による下流側フィードバック補正値の変化の遅れの程度を上述した上流側空燃比センサの出力値の変化の応答遅れの程度と一致させることで、仮に下流側フィードバック補正値が急激に変化する場合（例えば、ステップ状に変化する場合）であっても、下流側フィードバック補正値の変化を効果的に打ち消すことができる。
【００２５】
ここで、前記ローパスフィルタ処理手段は、前記内燃機関の運転状態に応じて前記ローパスフィルタ処理の応答性に関するパラメータを変更するように構成されることが好適である。これによれば、ローパスフィルタ処理の応答性に関するパラメータ（例えば、ローパスフィルタ処理の時定数）が、例えば、運転速度、筒内吸入空気量等、機関の運転状態に応じて変更される。この結果、機関の運転状態にかかわらず、ローパスフィルタ処理が施される下流側フィードバック補正値の変化の遅れの程度と、上記上流側空燃比センサの出力値の変化の応答遅れの程度とを一致させることができる。
【００２６】
ところで、一般に、基本燃料噴射量を取得するために使用されるエアフローメータにより計測される吸気通路における空気流量と実際の空気流量との差、燃料を噴射するインジェクタに噴射指示される燃料噴射量と実際の燃料噴射量の差（以下、これらを「基本燃料噴射量の誤差」と総称する。）が不可避的に発生する。係る基本燃料噴射量の誤差を補償しつつ空燃比を目標空燃比に収束させるためには、例えば、上流側フィードバック制御において、目標空燃比に相当する値と合成空燃比相当値との差の時間積分値に基づいて上流側フィードバック補正値を算出する処理（即ち、積分処理（Ｉ処理））が実行されればよい。
【００２７】
従って、係る知見に基づき、前記上流側フィードバック補正値算出手段は、前記目標空燃比に相当する値と前記取得された合成空燃比相当値との差に少なくとも積分処理を施した値に基づいて前記上流側フィードバック補正値を算出するように構成されると好適である。
【００２８】
これによれば、上記積分処理により、目標空燃比に相当する値と合成空燃比相当値との差の時間積分値が繰り返し更新されて上流側フィードバック補正値が決定されていく。この結果、基本燃料噴射量の誤差を補償しつつ空燃比を目標空燃比に収束させることができる。
【００２９】
なお、「前記目標空燃比に相当する値と前記取得された合成空燃比相当値との差」は、例えば、目標空燃比に相当する上流側空燃比センサの出力値と、上流側空燃比センサの出力値と下流側フィードバック補正値との和、との差、目標空燃比と上記合成空燃比との差、筒内吸入空気量を目標空燃比で除した値である目標筒内燃料供給量と筒内吸入空気量を上記合成空燃比で除した値である筒内燃料供給量との差であって、これらに限定されない。
【００３０】
また、上記本発明に係る空燃比制御装置は、前記基本燃料噴射量の燃料の噴射指示を受けたと仮定した場合において前記燃料噴射手段が実際に噴射する燃料の量が前記内燃機関に供給される混合気の実際の空燃比を前記目標空燃比とするために必要な量となるように同基本燃料噴射量を補正する基本燃料噴射量補正手段を更に備えることが好適である。
【００３１】
基本燃料噴射量の誤差が急に増大する場合、基本燃料噴射量の誤差を補償するための上流側フィードバック補正値が上記時間積分値の繰り返し更新により決定される上記積分処理では基本燃料噴射量の誤差を直ちに補償することができず、一時的にエミッションの排出量が増大する可能性がある。
【００３２】
これに対し、上記構成によれば、基本燃料噴射量補正手段により、基本燃料噴射量が基本燃料噴射量の誤差を適切に補償するための値に直ちに決定され得るから、上流側フィードバック制御において上記積分処理を行うことなく基本燃料噴射量の誤差が直ちに補償され得る。この結果、基本燃料噴射量の誤差の増大による一時的なエミッションの排出量の増大を抑制することができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明による内燃機関の空燃比制御装置の各実施形態について図面を参照しつつ説明する。
【００３４】
（第１実施形態）
図１は、第１実施形態による空燃比制御装置を火花点火式多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排気ガスを外部に放出するための排気系統５０とを含んでいる。
【００３５】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３、及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これによりクランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００３６】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともにインテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８、及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００３７】
吸気系統４０は、吸気ポート３１に連通し吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットル弁４３、及びスロットル弁駆動手段を構成するＤＣモータからなるスロットル弁アクチュエータ４３ａを備えている。
【００３８】
排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１（実際には、各排気ポート３４に連通した各々のエキゾーストマニホールド５１が集合した集合部）に接続されたエキゾーストパイプ（排気管）５２、エキゾーストパイプ５２に配設（介装）された上流側の三元触媒５３（上流側触媒コンバータ、又はスタート・キャタリティック・コンバータとも云うが、以下「第１触媒５３」と称呼する。）、及びこの第１触媒５３の下流のエキゾーストパイプ５２に配設（介装）された下流側の三元触媒５４（車両のフロア下方に配設されるため、アンダ・フロア・キャタリティック・コンバータとも云うが、以下「第２触媒５４」と称呼する。）を備えている。排気ポート３４、エキゾーストマニホールド５１、及びエキゾーストパイプ５２は、排気通路を構成している。
【００３９】
一方、このシステムは、熱線式エアフローメータ６１、スロットルポジションセンサ６２、カムポジションセンサ６３、クランクポジションセンサ６４、水温センサ６５、第１触媒５３の上流の排気通路（本例では、上記各々のエキゾーストマニホールド５１が集合した集合部）に配設された空燃比センサ６６（以下、「上流側空燃比センサ６６」と称呼する。）、第１触媒５３の下流であって第２触媒５４の上流の排気通路に配設された空燃比センサ６７（以下、「下流側空燃比センサ６７」と称呼する。）、及びアクセル開度センサ６８を備えている。
【００４０】
熱線式エアフローメータ６１は、吸気管４１内を流れる吸入空気の単位時間あたりの質量流量を検出し、質量流量Gaを表す信号を出力するようになっている。スロットルポジションセンサ６２は、スロットル弁４３の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。カムポジションセンサ６３は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。クランクポジションセンサ６４は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともにクランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、運転速度NEを表す。水温センサ６５は、内燃機関１０の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
【００４１】
上流側空燃比センサ６６は、限界電流式の酸素濃度センサであり、図２に示したように、空燃比Ａ／Ｆに応じた電流を出力し、この電流に応じた電圧である出力値Vabyfsを出力するようになっていて、特に、空燃比が理論空燃比であるときには出力値Vabyfsは上流側目標値Vstoichになる。図２から明らかなように、上流側空燃比センサ６６によれば、広範囲にわたる空燃比Ａ／Ｆを精度良く検出することができる。
【００４２】
下流側空燃比センサ６７は、起電力式（濃淡電池式）の酸素濃度センサであり、図３に示したように、理論空燃比近傍において急変する電圧である出力値Voxsを出力するようになっている。より具体的に述べると、下流側空燃比センサ６７は、空燃比が理論空燃比よりもリーンのときは略０．１（Ｖ）、空燃比が理論空燃比よりもリッチのときは略０．９（Ｖ）、及び空燃比が理論空燃比のときは０．５（Ｖ）の電圧を出力するようになっている。アクセル開度センサ６８は、運転者によって操作されるアクセルペダル８１の操作量を検出し、アクセルペダル８１の操作量Accpを表す信号を出力するようになっている。
【００４３】
電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するルーチン（プログラム）、テーブル（ルックアップテーブル、マップ）、及び定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、並びにＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。インターフェース７５は、前記センサ６１〜６８と接続され、ＣＰＵ７１にセンサ６１〜６８からの信号を供給するとともに、ＣＰＵ７１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９、及びスロットル弁アクチュエータ４３ａに駆動信号を送出するようになっている。
【００４４】
（空燃比フィードバック制御の概要）
次に、上記のように構成された空燃比制御装置が行う空燃比のフィードバック制御の概要について説明する。
【００４５】
この空燃比制御装置は、下流側空燃比センサ６７の出力値が理論空燃比に対応する下流側目標値Voxsref（＝０．５（Ｖ））となるように、上流側空燃比センサ６６の出力値Vabyfs（即ち、第１触媒５３上流の空燃比）、及び下流側空燃比センサ６７の出力値Voxs（即ち、第１触媒５３下流の空燃比）に応じて空燃比を制御する。
【００４６】
より具体的に述べると、この空燃比制御装置（以下、「本装置」と云うこともある。）は、機能ブロック図である図４に示したように、Ａ１〜Ａ１８の各機能ブロックを含んで構成されている。以下、図４を参照しながら各機能ブロックについて説明していく。
【００４７】
<制御用基本燃料噴射量の算出>
先ず、筒内吸入空気量算出手段Ａ１は、エアフローメータ６１が計測している吸入空気流量Gaと、クランクポジションセンサ６４の出力に基づいて得られる運転速度NEと、ＲＯＭ７２が記憶しているテーブルMapMcとに基づき、吸気行程を迎える気筒の今回の吸入空気量である筒内吸入空気量Mc(k)を求める。ここで、添え字の（k）は、今回の吸気行程に対する値であることを示している（以下、他の物理量についても同様。）。筒内吸入空気量Mcは、各気筒の吸気行程に対応されながらＲＡＭ７３に記憶されていく。
【００４８】
上流側目標空燃比設定手段Ａ２は、内燃機関１０の運転状態である運転速度NE、及びスロットル弁開度TA等に基づいて上流側目標空燃比abyfr(k)を決定する。この上流側目標空燃比abyfr(k)は、例えば、内燃機関１０の暖機終了後においては、特殊な場合を除き理論空燃比に設定されている。また、上流側目標空燃比abyfrは、各気筒の吸気行程に対応されながらＲＡＭ７３に記憶されていく。
【００４９】
基本燃料噴射量算出手段Ａ３は、筒内吸入空気量算出手段Ａ１により求められた筒内吸入空気量Mc(k)を上流側目標空燃比設定手段Ａ２により設定された上流側目標空燃比abyfr(k)で除することにより、空燃比を上流側目標空燃比abyfr(k)とするための今回の吸気行程に対する目標筒内燃料供給量Fcr(k)（即ち、基本燃料噴射量Fbase）を求める。目標筒内燃料供給量Fcrは、各気筒の吸気行程に対応されながらＲＡＭ７３に記憶されていく。この基本燃料噴射量算出手段Ａ３は、基本燃料噴射量取得手段に相当する。
【００５０】
制御用基本燃料噴射量算出手段Ａ４は、基本燃料噴射量算出手段Ａ３により求められた基本燃料噴射量Fbaseに、後述する係数算出手段Ａ１６により求められた制御用基本燃料噴射量算出係数Ksubを乗じることで、下記(1)式に基づいて制御用基本燃料噴射量Fbasecを求める。係数算出手段Ａ１６については後に詳述する。この制御用基本燃料噴射量算出手段Ａ４は、制御用基本燃料噴射量取得手段に相当する。
Fbasec＝Ksub・Fbase  ・・・(1)
【００５１】
このようにして、本装置は、筒内吸入空気量算出手段Ａ１、上流側目標空燃比設定手段Ａ２、基本燃料噴射量算出手段Ａ３、制御用基本燃料噴射量算出手段Ａ４、及び係数算出手段Ａ１６を利用して、制御用基本燃料噴射量Fbasecを求める。
【００５２】
<燃料噴射量の算出>
燃料噴射量算出手段Ａ５は、制御用基本燃料噴射量算出手段Ａ４により求められた制御用基本燃料噴射量Fbasecに、後述する上流側フィードバック補正値DFiを加えることで、下記(2)式に基づいて燃料噴射量Fiを求める。この燃料噴射量算出手段Ａ５は、燃料噴射量算出手段に相当する。
Fi＝Fbasec＋DFi  ・・・(2)
【００５３】
このようにして、本装置は、燃料噴射量算出手段Ａ５により、制御用基本燃料噴射量Fbasecを上流側フィードバック補正値DFiに基づいて補正することにより得られる燃料噴射量Fiの燃料の噴射指示を今回の吸気行程を迎える気筒についてのインジェクタ３９に対して行う。このように燃料の噴射指示を行う手段が空燃比制御手段に相当する。
【００５４】
<下流側フィードバック補正値の算出>
先ず、下流側目標値設定手段Ａ６は、上述した上流側目標空燃比設定手段Ａ２と同様、内燃機関１０の運転状態である運転速度NE、及びスロットル弁開度TA等に基づいて下流側目標値Voxsrefを決定する。この下流側目標値Voxsrefは、例えば、内燃機関１０の暖機終了後においては、特殊な場合を除き理論空燃比に対応する値である０．５（Ｖ）に設定されている（図３を参照。）。また、本例では、下流側目標値Voxsrefは、下流側目標値Voxsrefに対応する空燃比が上述した上流側目標空燃比abyfr(k)と常時一致するように設定される。
【００５５】
出力偏差量算出手段Ａ７は、下記(3)式に基づいて、下流側目標値設定手段Ａ６により設定されている現時点（具体的には、今回のFiの噴射指示開始時点）での下流側目標値Voxsrefから現時点での下流側空燃比センサ６７の出力値Voxsを減じることにより、出力偏差量DVoxsを求める。
DVoxs＝Voxsref−Voxs  ・・・(3)
【００５６】
ＰＩＤコントローラＡ８は、出力偏差量DVoxsを比例・積分・微分処理（ＰＩＤ処理）することで、下記(4)式に基づいて下流側フィードバック補正値Vafsfb(k)を求める。下流側フィードバック補正値Vafsfbは、各気筒の吸気行程に対応されながらＲＡＭ７３に記憶されていく。
Vafsfb(k)＝Kp・DVoxs＋Ki・SDVoxs＋Kd・DDVoxs  ・・・(4)
【００５７】
上記(4)式において、Kpは予め設定された比例ゲイン（比例定数）、Kiは予め設定された積分ゲイン（積分定数）、Kdは予め設定された微分ゲイン（微分定数）である。また、SDVoxsは出力偏差量DVoxsの時間積分値であり、DDVoxsは出力偏差量DVoxsの時間微分値である。ここで、ＰＩＤコントローラＡ８は積分項Ki・SDVoxsを含んでいるので、定常状態では出力偏差量DVoxsがゼロになることが保証される。換言すれば、下流側目標値Voxsrefと下流側空燃比センサ６７の出力値Voxsとの定常偏差がゼロになる。
【００５８】
このようにして、本装置は、下流側目標値Voxsrefと下流側空燃比センサ６７の出力値Voxsとの定常偏差がゼロになるように出力値Voxsに基づいて、下流側フィードバック補正値Vafsfb(k)を求める。この下流側フィードバック補正値Vafsfb(k)は、後述するように制御用基本燃料噴射量算出係数Ksubの算出、及び合成空燃比abyfsの取得に用いられる。ここで、下流側目標値設定手段Ａ６、出力偏差量算出手段Ａ７、及びＰＩＤコントローラＡ８が下流側フィードバック補正値算出手段に相当する。
【００５９】
<合成空燃比の取得>
合成空燃比相当出力値算出手段Ａ９は、現時点での上流側空燃比センサ６６の出力値Vabyfsに、ローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)を加えることで、合成空燃比相当出力値(Vabyfs+Vafsfblow(k-N))を求める。ローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)は、下流側フィードバック補正値Vafsfb(k)に対して、後述する下流側フィードバック補正値遅延手段Ａ１７、及びローパスフィルタＡ１８を用いて遅延処理を施した値である。
【００６０】
テーブル変換手段Ａ１０は、合成空燃比相当出力値算出手段Ａ９により算出された合成空燃比相当出力値(Vabyfs+Vafsfblow(k-N))と、先に説明した図２にグラフにより示した上流側空燃比センサの出力値Vabyfsと空燃比Ａ／Ｆとの関係を規定したテーブルMapabyfsとに基づいて、現時点における合成空燃比abyfsを求める。
【００６１】
このようにして、本装置は、下流側フィードバック補正値遅延手段Ａ１７、ローパスフィルタＡ１８、合成空燃比相当出力値算出手段Ａ９、テーブル変換手段Ａ１０を利用して、合成空燃比abyfsを求める。ここで、下流側フィードバック補正値遅延手段Ａ１７、ローパスフィルタＡ１８、合成空燃比相当出力値算出手段Ａ９、及びテーブル変換手段Ａ１０が合成空燃比取得手段に相当する。
【００６２】
<上流側フィードバック補正値の算出>
筒内吸入空気量遅延手段Ａ１１は、筒内吸入空気量算出手段Ａ１により吸気行程毎に求められＲＡＭ７３に記憶されている筒内吸入空気量Mcのうち、現時点からＮストローク前に吸気行程を迎えた気筒の筒内吸入空気量Mc(k-N)をＲＡＭ７３から読み出す。ここで、ストローク数Ｎは、上記行程遅れに係る時間と輸送遅れに係る時間との和（以下、「無駄時間Ｌ」と称呼する。）に相当するストローク数である。
【００６３】
この無駄時間Ｌのうち、行程遅れに係る時間は、運転速度NEの増加に応じて短くなるとともに、輸送遅れに係る時間は、運転速度NEの増加、及び筒内吸入空気量Mc(k)の増加に応じて短くなる。即ち、無駄時間Ｌは、運転速度NEの増加、及び筒内吸入空気量Mc(k)の増加に応じて短くなる。従って、上記無駄時間Ｌ（従って、ストローク数Ｎ）は、筒内吸入空気量Mc(k)と、運転速度NEと、図５にグラフにより示した筒内吸入空気量Mc(k)及び運転速度NEとストローク数Ｎとの関係を規定するテーブルMapＮ(Mc(k),NE)とに基づいて求めることができる。
【００６４】
筒内燃料供給量算出手段Ａ１２は、筒内吸入空気量遅延手段Ａ１１により求められた現時点からＮストローク前の筒内吸入空気量Mc(k-N)をテーブル変換手段Ａ１０により求められた今回の合成空燃比abyfsで除することで、現時点からＮストローク前の制御用筒内燃料供給量Fc(k-N)を求める。
【００６５】
このように、現時点からＮストローク前の制御用筒内燃料供給量Fc(k-N)を求めるために、現時点からＮストローク前の筒内吸入吸気量Mc(k-N)を今回の合成空燃比abyfsで除するのは、燃料の噴射指示から燃焼室２５内での燃焼に基づく排ガスが上流側空燃比センサ６６に到達するまでには、Ｎストロークに相当する無駄時間Ｌを要しているからである。
【００６６】
目標筒内燃料供給量遅延手段Ａ１３は、基本燃料噴射量算出手段Ａ３により吸気行程毎に求められＲＡＭ７３に記憶されている目標筒内燃料供給量Fcrのうち、現時点からＮストローク前の目標筒内燃料供給量Fcr(k-N)をＲＡＭ７３から読み出す。
【００６７】
筒内燃料供給量偏差算出手段Ａ１４は、下記(5)式に基づいて、目標筒内燃料供給量遅延手段Ａ１３により設定された現時点からＮストローク前の目標筒内燃料供給量Fcr(k-N)から筒内燃料供給量算出手段Ａ１２により求められた現時点からＮストローク前の制御用筒内燃料供給量Fc(k-N)を減じることにより、筒内燃料供給量偏差DFcを求める。この筒内燃料供給量偏差DFcは、Ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
DFc＝Fcr(k-N)-Fc(k-N)  ・・・(5)
【００６８】
ＰＩコントローラＡ１５は、筒内燃料供給量偏差算出手段Ａ１４により算出された筒内燃料供給量偏差DFcを比例・積分処理（ＰＩ処理）することで、下記(6)式に基づいてＮストローク前の燃料供給量の過不足を補償するための上流側フィードバック補正値DFiを求める。
DFi＝(Gp・DFc+Gi・SDFc)・KFB  ・・・(6)
【００６９】
上記(6)式において、Gpは予め設定された比例ゲイン（比例定数）、Giは予め設定された積分ゲイン（積分定数）である。SDFcは筒内燃料供給量偏差DFcの時間積分値である。また、係数KFBは、運転速度NE、及び筒内吸入空気量Mc等により可変とすることが好適であるが、本例では「１」としている。係る上流側フィードバック補正値DFiは、先に述べたように燃料噴射量算出手段Ａ５により燃料噴射量Fiを求める際に使用される。
【００７０】
ここで、ＰＩコントローラＡ１５は積分項Gi・SDFcを含んでいるので、定常状態では筒内燃料供給量偏差DFcがゼロになることが保証される。換言すれば、現時点からＮストローク前の目標筒内燃料供給量Fcr(k-N)と現時点からＮストローク前の制御用筒内燃料供給量Fc(k-N)との定常偏差がゼロになる（上流側目標空燃比abyfrと合成空燃比abyfsとの定常偏差がゼロになる）。このことは、定常状態において、合成空燃比abyfsが上流側目標空燃比abyfrに一致すること、従って、第１触媒５３の上下流の空燃比が上流側目標空燃比abyfrに一致することが保証されることを意味する。また、定常状態では、筒内燃料供給量偏差DFcがゼロになることで比例項Gp・DFcがゼロとなるから、上流側フィードバック補正値DFiは積分項Gi・SDFcの値と等しくなる。この積分項Gi・SDFcの値は、上述した基本燃料噴射量Fbaseの誤差に応じた値になる。これにより、基本燃料噴射量Fbaseの誤差を補償することができる。
【００７１】
このように、本装置は、現時点からＮストローク前の目標筒内燃料供給量Fcr(k-N)と現時点からＮストローク前の制御用筒内燃料供給量Fc(k-N)とが一致するように上流側空燃比センサ６６の出力値Vabyfsに基づいて空燃比をフィードバックする。換言すれば、上記現時点での合成空燃比が（現時点からＮストローク前の）上流側目標空燃比abyfrと一致するように空燃比がフィードバックされる。
【００７２】
加えて、合成空燃比abyfsは、上流側空燃比センサ６６の出力値Vabyfsから得られる空燃比に対して、ローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)（従って、下流側フィードバック補正値Vafsfb(k)）に相当する分だけ異なる空燃比であるから、下流側空燃比センサ６７の出力値Voxsの下流側目標値Voxsrefからの出力偏差量DVoxsにも応じて変化する。この結果、本装置により、下流側空燃比センサ６７の出力値Voxsが下流側目標値Voxsrefに一致するようにも空燃比がフィードバック制御される。
【００７３】
筒内吸入空気量遅延手段Ａ１１、筒内燃料供給量算出手段Ａ１２、目標筒内燃料供給量遅延手段Ａ１３、筒内燃料供給量偏差算出手段Ａ１４、及びＰＩコントローラＡ１５が上流側フィードバック補正値算出手段に相当する。以上が、上記のように構成された空燃比制御装置が行う空燃比のフィードバック制御の概要である。
【００７４】
（空燃比の荒れの増大の抑制）
次に、係数算出手段Ａ１６、下流側フィードバック補正値遅延手段Ａ１７、及びローパスフィルタＡ１８について詳述する。本装置は、係数算出手段Ａ１６、下流側フィードバック補正値遅延手段Ａ１７、及びローパスフィルタＡ１８が備えられていることにより、下流側フィードバック補正値Vafsfb(k)が荒れても、上記「荒れの伝達ループ」の繰り返しにより上流側フィードバック補正値DFiの荒れが次第に大きくなることが抑制され得、空燃比の荒れが増大することを抑制することができる。
【００７５】
これらの作用・効果を説明するために、先ず、図６に機能ブロック図を示した装置（以下、「従来装置」と称呼する。）を考える。この従来装置は、図４に機能ブロック図を示した本装置に対して、係数算出手段Ａ１６（及び制御用基本燃料噴射量算出手段Ａ４）、下流側フィードバック補正値遅延手段Ａ１７、及びローパスフィルタＡ１８が備えられていない点で異なる。即ち、従来装置は、基本燃料噴射量Fbaseそのものに上流側フィードバック補正値DFiを加えることで燃料噴射量Fiが計算され、上流側空燃比センサ６６の出力値Vabyfsに下流側フィードバック補正値Vafsfb(k)そのものを加えることで合成空燃比相当出力値(Vabyfs＋Vafsfb(k))が計算される。
【００７６】
図７は、従来装置が内燃機関１０に適用された場合における各種変数等の変化の一例を示したタイムチャートである。この例では、説明を簡易とするために、筒内吸入空気量Mc(k)、及び運転速度NEが一定（即ち、（Ｅ）に示すように基本燃料噴射量Fbaseが一定）の場合において、単純に下流側フィードバック補正値Vafsfb(k)が仮にステップ状に一回だけ変化した場合における各種変数等の変化を説明する。
【００７７】
この例では、下流側フィードバック補正値Vafsfb(k)が変化する時刻ｔ１以前において、（Ａ）に示すように下流側フィードバック補正値Vafsfb(k)が「０」に、（Ｂ）に示すように上流側空燃比センサ６６の出力値Vabyfsが理論空燃比に相当する上流側目標値Vstoich（図２を参照）に、（Ｃ）に示すように合成空燃比相当出力値(Vabyfs+Vafsfb(k))が上流側目標値Vstoichに、（Ｄ）に示すように上流側フィードバック補正値DFiが「０」にそれぞれ維持されている。即ち、時刻ｔ１以前において排ガスの空燃比は、理論空燃比に維持されている。
【００７８】
時刻ｔ１において、（Ａ）に示すように下流側フィードバック補正値Vafsfb(k)が正の値Vafsfb1にステップ状に変化すると、（Ｃ）に示すように合成空燃比相当出力値(Vabyfs+Vafsfb(k))は上流側目標値Vstoichより値Vafsfb1だけ大きな値に変化する。従って、上記筒内燃料供給量偏差算出手段Ａ１４により求められる筒内燃料供給量偏差DFcが正の値に変化するから、（Ｄ）に示すように上流側フィードバック補正値DFiが正の値に変化する。この結果、時刻ｔ１以降、新たに発生する排ガスの空燃比は、理論空燃比よりも上流側フィードバック補正値DFiに相当する分だけリッチな空燃比に変化する。
【００７９】
一方、時刻ｔ１以降における係る排ガスの空燃比のリッチ方向への変化は、時刻ｔ１から無駄時間Ｌが経過した時点である時刻ｔ２以降において上流側空燃比センサ６６の出力値Vabyfsの変化として現れる。従って、（Ｂ）に示すように上流側空燃比センサ６６の出力値Vabyfsは、時刻ｔ２まで上流側目標値Vstoichに維持され、時刻ｔ２以降、上流側空燃比センサ６６の応答遅れを伴いながら値Vabyfs1（＝Vstoich-Vafsfb1）に向かって減少していき、時刻ｔ３において値Vabyfs1に収束する。
【００８０】
これに伴い、（Ｃ）に示すように合成空燃比相当出力値(Vabyfs＋Vafsfb(k))は、時刻ｔ１から時刻ｔ２まで上流側目標値Vstoichよりも値Vafsfb1だけ大きい値に維持され、時刻ｔ２以降、上流側空燃比センサ６６の応答遅れを伴いながら上流側目標値Vstoichに向かって減少していき、時刻ｔ３において上流側目標値Vstoichに収束する。
【００８１】
このように、時刻ｔ１から時刻ｔ３までの間、合成空燃比相当出力値（Vabyfs＋Vafsfb(k)）は上流側目標値Vstoichよりも大きい値に維持される。従って、上記筒内燃料供給量偏差DFcは、時刻ｔ１から時刻ｔ３までの間において正の値に維持され、時刻ｔ３以降においては「０」に維持される。これにより、筒内燃料供給量偏差DFcの時間積分値SDFcは、時刻ｔ１から時刻ｔ３までの間において「０」から次第に増大していき、時刻ｔ３以降において時刻ｔ３での値（正の値）に維持される。
【００８２】
これにより、上記(6)式に基づいて算出される上流側フィードバック補正値DFiは、（Ｄ）に示すように、時刻ｔ１から時刻ｔ３までの間「０」から次第に増大していき、時刻ｔ３において、時刻ｔ１における値である「０」と大きく異なる正の値に収束する。なお、この値は、上記(6)式における積分項Gi・SDFcの値と等しい。
【００８３】
以上のように、下流側フィードバック補正値Vafsfb(k)がステップ状に変化すると、上流側フィードバック補正値DFiは、下流側フィードバック補正値Vafsfb(k)が変化する前の時点での値と大きく異なる値に収束する。このことは、下流側フィードバック補正値Vafsfb(k)に荒れが発生する場合、上記「荒れの伝達ループ」の繰り返しにより上流側フィードバック補正値DFiの荒れが次第に大きくなり、空燃比の荒れが増大することを意味する。
【００８４】
<係数算出手段Ａ１６の作用・効果>
次に、図６に機能ブロック図を示した上記従来装置に係数算出手段Ａ１６（及び制御用基本燃料噴射量算出手段Ａ４）を加えた装置（即ち、図４に機能ブロック図を示した本装置に対して下流側フィードバック補正値遅延手段Ａ１７、及びローパスフィルタＡ１８が省略された装置（以下、「第１装置」と称呼する。））を考える。
【００８５】
係数算出手段Ａ１６は、下記(7)式に示すように、ＰＩＤコントローラＡ８により求められたれた下流側フィードバック補正値Vafsfb(k)を上流側目標空燃比設定手段Ａ２により設定された上流側目標空燃比abyfr(k)で除した値に所定の係数Kを乗じた値に「１」を加えることにより制御用基本燃料噴射量算出係数Ksubを求める。この係数Kは、値（Vafsfb(k)/abyfr(k)）を無次元化するための単位変換係数である。
Ksub＝(Vafsfb(k)/abyfr(k))・K＋1  ・・・(7)
【００８６】
ここで、下流側フィードバック補正値Vafsfb(k)は、先に述べたように「０」を基準として変動する値である。従って、上記(7)式から容易に理解できるように、制御用基本燃料噴射量算出係数Ksubは、下流側フィードバック補正値Vafsfb(k)に応じて「１」を基準として変動する値となる。
【００８７】
この制御用基本燃料噴射量算出係数Ksubは、先に述べたように制御用基本燃料噴射量算出手段Ａ４により、基本燃料噴射量Fbaseに乗じられ、この結果、上記(2)式による燃料噴射量Fiの計算に使用される制御用基本燃料噴射量Fbasecが算出される（上記(1)式を参照）。
【００８８】
図８は上記第１装置が内燃機関１０に適用された場合における各種変数等の変化の一例を示した図７に対応するタイムチャートである。図８における時刻ｔ１,ｔ２,ｔ３は、図７における時刻ｔ１,ｔ２,ｔ３にそれぞれ対応している（後述する図９、図１０についても同様）。この場合、図７に示した場合と同様、時刻ｔ１において、（Ａ）に示すように下流側フィードバック補正値Vafsfb(k)が「０」から値Vafsfb1にステップ状に変化すると、制御用基本燃料噴射量算出係数Ksubが「１」から「１」より大きい値にステップ状に変化するから、（Ｅ）に示すように制御用基本燃料噴射量Fbasecが基本燃料噴射量Fbaseから基本燃料噴射量Fbaseより大きい値にステップ状に変化する（上記(1),(7)式を参照）。
【００８９】
この結果、時刻ｔ１以降、新たに発生する排ガスの空燃比は、理論空燃比よりも、（Ｄ）に示すように時刻ｔ１にて正の値に変化した上流側フィードバック補正値DFiに相当する分に加えて、値（Fbasec−Fbase）に相当する分だけリッチな空燃比に変化する。換言すれば、図７の時刻ｔ１以降において新たに発生する空燃比よりも値（Fbasec−Fbase）に相当する分だけより一層リッチな空燃比に変化する。
【００９０】
一方、図７（Ｂ）に示した場合と同様、（Ｂ）に示すように上流側空燃比センサ６６の出力値Vabyfsは時刻ｔ２まで上流側目標値Vstoichに維持されるから、（Ｃ）,（Ｄ）に示すように合成空燃比相当出力値（Vabyfs＋Vafsfb(k)）、及び上流側フィードバック補正値DFiは、時刻ｔ１から時刻ｔ２までの間、図７の（Ｃ）,（Ｄ）に示した場合と全く同じように変化する。
【００９１】
時刻ｔ２以降、上述した「より一層リッチな空燃比」の排ガスが上流側空燃比センサ６６に到達するから、（Ｂ）に示すように上流側空燃比センサ６６の出力値Vabyfsは、図７（Ｂ）に示した場合よりも急激に上流側目標値Vstoichから減少していき、時刻ｔ３にて値Vabyfs1に到達するとともに、時刻ｔ３以降においてもなお値Vabyfs1から減少していく。
【００９２】
これにより、（Ｃ）に示すように合成空燃比相当出力値（Vabyfs＋Vafsfb(k)）は、時刻ｔ２から時刻ｔ３までは上流側目標値Vstoichよりも大きい値に維持される一方、時刻ｔ３以降は上流側目標値Vstoichよりも小さい値となる。この結果、（Ｄ）に示すように上流側フィードバック補正値DFiは、時刻ｔ２から時刻ｔ３までは上昇していく一方で、時刻ｔ３以降は減少していく。
【００９３】
このように、時刻ｔ３以降において上流側フィードバック補正値DFiが減少していくと、新たに発生する排ガスの空燃比はリーン方向に変化していく。この排ガスの空燃比のリーン方向の変化は、無駄時間Ｌだけ遅れて上流側空燃比センサ６６の出力値Vabyfsの変化として現れる。この結果、（Ｂ）に示すように時刻ｔ３以降において減少していた上流側空燃比センサ６６の出力値Vabyfsは、その後上昇していき、時刻ｔ４にて値Vabyfs1に収束する。
【００９４】
即ち、時刻ｔ３から時刻ｔ４まで、（Ｃ）に示すように合成空燃比相当出力値（Vabyfs＋Vafsfb(k)）は上流側目標値Vstoichよりも小さい値に維持され、時刻ｔ４において、上流側目標値Vstoichに収束する。この結果、時刻ｔ３から時刻ｔ４まで（Ｄ）に示すように上流側フィードバック補正値DFiは減少し続け、時刻ｔ４において、時刻ｔ１における値である「０」に収束する。
【００９５】
以上のように、下流側フィードバック補正値Vafsfb(k)がステップ状に変化すると、上流側空燃比センサ６６の出力値Vabyfsが下流側フィードバック補正値Vafsfb(k)の変化を打ち消す方向に変化するように制御用基本燃料噴射量算出係数Ksub（従って、制御用基本燃料噴射量Fbasec）がステップ状に変化する。これにより、上流側フィードバック補正値DFiは、下流側フィードバック補正値Vafsfb(k)が変化する前の時点での値に収束し得る。
【００９６】
このことは、下流側フィードバック補正値Vafsfb(k)に荒れが発生する場合、係数算出手段Ａ１６の作用により、上記「荒れの伝達ループ」の繰り返しにより上流側フィードバック補正値DFiの荒れが次第に大きくなることが抑制され得、空燃比の荒れが増大することを抑制することができることを意味する。
【００９７】
なお、この例では、下流側フィードバック補正値Vafsfb(k)が「０」から偏移した場合、制御用基本燃料噴射量Fbasecが、その偏移量と等しい分だけその偏移を打ち消す方向に上流側目標値Vstoichから偏移した上流側空燃比センサ６６の出力値Vabyfsに対応する空燃比を得るための燃料の量と一致するように、制御用基本燃料噴射量算出係数Ksubが計算されるようになっている。換言すれば、このような関係が成立するように上記(7)式における係数Kが設定されている。
【００９８】
<下流側フィードバック補正値遅延手段Ａ１７の作用・効果>
図８（Ｄ）に示すように、上記第１装置では、時刻ｔ１から時刻ｔ４までの間における上流側フィードバック補正値DFiの変化が比較的大きい。上述した上流側フィードバック補正値DFiの荒れの増大を効果的に抑制する上では、上流側フィードバック補正値DFiの変化をより一層小さくすることが好ましい。
【００９９】
第１装置において上流側フィードバック補正値DFiの変化が比較的大きいのは、時刻ｔ１から時刻ｔ２の間、合成空燃比相当出力値（Vabyfs＋Vafsfb(k))が上流側目標値Vstoichよりも大きい値に維持されることで上流側フィードバック補正値DFiが上昇し続けることに起因する。
【０１００】
時刻ｔ１から時刻ｔ２の間において合成空燃比相当出力値(Vabyfs＋Vafsfb(k)）が上流側目標値Vstoichよりも大きい値に維持されるのは、下流側フィードバック補正値Vafsfb(k)の変化に対して無駄時間Ｌだけ遅れてその変化を打ち消す方向に変化する上流側空燃比センサ６６の出力値Vabyfsに、下流側フィードバック補正値Vafsfb(k)そのものが加えられて、合成空燃比相当出力値(Vabyfs＋Vafsfb(k))が計算されていることに基づく。
【０１０１】
即ち、時刻ｔ１から時刻ｔ２の間において合成空燃比相当出力値を上流側目標値Vstoichに維持させて上流側フィードバック補正値DFiの上昇を防止するためには、合成空燃比相当出力値を計算する際に上流側空燃比センサ６６の出力値Vabyfsに加えられる値として、下流側フィードバック補正値Vafsfb(k)そのものに代えて現時点から無駄時間Ｌだけ前の下流側フィードバック補正値Vafsfb(k-N)を使用すればよい。
【０１０２】
そこで、上記第１装置に下流側フィードバック補正値遅延手段Ａ１７を加えた装置（即ち、図４に機能ブロック図を示した本装置に対してローパスフィルタＡ１８が省略された装置（以下、「第２装置」と称呼する。））を考える。
【０１０３】
下流側フィードバック補正値遅延手段Ａ１７は、ＰＩＤコントローラＡ８により吸気行程毎に求められＲＡＭ７３に記憶されている下流側フィードバック補正値Vafsfbのうち、現時点から上記無駄時間Ｌに相当するＮストローク（Ｎ回の吸気行程）前の下流側フィードバック補正値Vafsfb(k-N)をＲＡＭ７３から読み出す。
【０１０４】
従って、上記第２装置においては、合成空燃比相当出力値算出手段Ａ９により上流側空燃比センサ６６の出力値VabyfsにＮストローク前の下流側フィードバック補正値Vafsfb(k-N)が加えるられることで合成空燃比相当出力値(Vabyfs＋Vafsfb(k-N))が計算される。
【０１０５】
図９は第２装置が内燃機関１０に適用された場合における各種変数等の変化の一例を示した図８に対応するタイムチャートである。この場合、図８に示した場合と同様、時刻ｔ１において、（Ａ）に示すように下流側フィードバック補正値Vafsfb(k)が「０」から値Vafsfb1にステップ状に変化すると、（Ａ’）に示すようにＮストローク前の下流側フィードバック補正値Vafsfb(k-N)は、時刻ｔ１から時刻ｔ２まで「０」に維持され、時刻ｔ２において「０」から値Vafsfb1にステップ状に変化する。これにより、Ｎストローク前の下流側フィードバック補正値Vafsfb(k-N)の変化のタイミングと上流側空燃比センサ６６の出力値Vabyfsの変化のタイミングが時刻ｔ２において一致する。
【０１０６】
従って、時刻ｔ１から時刻ｔ２まで、（Ｃ）に示すように合成空燃比相当出力値(Vabyfs＋Vafsfb(k-N))は、上流側目標値Vstoichに維持される。また、時刻ｔ２において、Ｎストローク前の下流側フィードバック補正値Vafsfb(k-N)がステップ状に変化するのに対し、上流側空燃比センサ６６の出力値Vabyfsは上流側空燃比センサ６６の応答遅れを伴って減少し始める。これにより、（Ｃ）に示すように合成空燃比相当出力値(Vabyfs＋Vafsfb(k-N))は、時刻ｔ２において上流側目標値Vstoichより大きい値にステップ状に増大し、時刻ｔ２以降減少していき、時刻ｔ３にて減少しながら上流側目標値Vstoichを通過する。換言すれば、時刻ｔ２から時刻ｔ３までの期間のみ合成空燃比相当出力値(Vabyfs＋Vafsfb(k-N))は、上流側目標値Vstoichより大きい値となる。
【０１０７】
これに伴い、（Ｄ）に示すように、上流側フィードバック補正値DFiは、時刻ｔ１から時刻ｔ２まで「０」に維持され、時刻ｔ２から時刻ｔ３までの期間のみ増大する。この結果、時刻ｔ１から時刻ｔ３に亘って上流側フィードバック補正値DFiが増大する上記第１装置に比して上流側フィードバック補正値DFiが増大する期間が短くなるから、第１装置に比して上流側フィードバック補正値DFiの変化がより一層小さくなる。即ち、第２装置では、下流側フィードバック補正値遅延手段Ａ１７の作用により、上流側フィードバック補正値DFiの荒れの増大（従って、空燃比の荒れの増大）をより一層効果的に抑制することができる。
【０１０８】
<ローパスフィルタＡ１８の作用・効果>
図９（Ｃ）,（Ｄ）に示すように、上記第２装置では、時刻ｔ２において合成空燃比相当出力値(Vabyfs＋Vafsfb(k-N))がステップ状に増大することで、時刻ｔ２から時刻ｔ３までの間における上流側フィードバック補正値DFiの変化がなお比較的大きい。これは、上述したように、時刻ｔ２において、下流側フィードバック補正値Vafsfb(k-N)がステップ状に増大するのに対して上流側空燃比センサ６６の出力値Vabyfsが上流側空燃比センサ６６の応答遅れを伴って減少し始めることに基づく。
【０１０９】
即ち、時刻ｔ２から時刻ｔ３までの間における上流側フィードバック補正値DFiの変化をより一層小さくするためには、合成空燃比相当出力値を計算する際に上流側空燃比センサ６６の出力値Vabyfsに加えられる値として、無駄時間Ｌだけ前の下流側フィードバック補正値Vafsfb(k-N)に上流側空燃比センサ６６の応答遅れに相当する時定数と等しい時定数τを有するローパスフィルタ処理を施した値（以下、「ローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)」と称呼する。）を使用すればよい。そこで、上記第２装置にローパスフィルタＡ１８を加えた装置（即ち、本装置）を考える。
【０１１０】
ローパスフィルタＡ１８は、その特性をラプラス演算子sを用いて表した下記(8)式に示すように、一次のフィルタである。下記(8)式において、τは時定数（応答性に関するパラメータ）である。ローパスフィルタＡ１８は、周波数（１／τ）以上の高周波数成分が通過することを実質的に禁止する。ローパスフィルタＡ１８は、下流側フィードバック補正値遅延手段Ａ１７により求められた現時点からＮストローク前の下流側フィードバック補正値Vafsfb(k-N)を入力するとともに、下記(8)式に従ってローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)を出力する。
１／（１＋τ・s）  ・・・(8)
【０１１１】
ここで、上流側空燃比センサ６６の応答遅れの程度は、筒内吸入空気量Mc(k)の増加に応じて小さくなるとともに、運転速度NEの上昇に応じて小さくなる傾向がある。従って、時定数τは、筒内吸入空気量Mc(k)と、運転速度NEと、図１０にグラフにより示した筒内吸入空気量Mc(k)及び運転速度NEと時定数τとの関係を規定するテーブルMapτ(Mc(k),NE)とに基づいて求めることができる。これにより、ローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)の変化の遅れの程度を上流側空燃比センサ６６の応答遅れの程度に近づけることができる。
【０１１２】
従って、本装置においては、上述したように、合成空燃比相当出力値算出手段Ａ９により上流側空燃比センサ６６の出力値Vabyfsにローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)が加えられることで合成空燃比相当出力値(Vabyfs＋Vafsfblow(k-N))が計算される。
【０１１３】
図１１は本装置が内燃機関１０に適用された場合における各種変数等の変化の一例を示した図９に対応するタイムチャートである。この場合、図９に示した場合と同様、（Ａ）に示すように下流側フィードバック補正値Vafsfb(k)が時刻ｔ１において「０」から値Vafsfb1にステップ状に変化すると、（Ａ’）に示すようにローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)が時刻ｔ２以降において「０」から値Vafsfb1に向かって時定数τに応じた応答遅れを伴って変化する。
【０１１４】
これにより、ローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)が変化するタイミングと上流側空燃比センサ６６の出力値Vabyfsが変化するタイミングが一致するとともに、ローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)の変化の遅れの程度が上流側空燃比センサ６６の出力値Vabyfsの変化の応答遅れの程度に近づく。
【０１１５】
従って、（Ｃ）に示すように合成空燃比相当出力値(Vabyfs＋Vafsfblow(k-N))は、時刻ｔ２においてステップ状に大きく増大することなく、時刻ｔ２から時刻ｔ３の間において、上流側目標値Vstoichから僅かに増大するのみである。この増大量は、時定数τと、上流側空燃比センサ６６の応答遅れに相当する時定数との誤差に応じた量である。
【０１１６】
この結果、（Ｄ）に示すように時刻ｔ２から時刻ｔ３の間における上流側フィードバック補正値DFiの変化が上記第２装置に比してより一層小さくなる。即ち、本装置では、ローパスフィルタＡ１８の作用により、上流側フィードバック補正値DFiの荒れの増大（従って、空燃比の荒れの増大）を更に一層効果的に抑制することができる。
【０１１７】
（実際の作動）
次に、前記空燃比制御装置の実際の作動について説明する。以下、説明の便宜上、「MapX(a1,a2,…)」は、a1,a2,…を引数とする値Xを求めるためのテーブルを表すものとする。また、引数の値がセンサの検出値である場合、現在値が使用される。
【０１１８】
<空燃比フィードバック制御>
ＣＰＵ７１は、図１２にフローチャートにより示した燃料噴射量Fiの計算、及び燃料噴射の指示を行うルーチンを、各気筒のクランク角が各吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ９０°ＣＡ）となる毎に、繰り返し実行するようになっている。従って、任意の気筒のクランク角度が上記所定クランク角度になると、ＣＰＵ７１はステップ１２００から処理を開始してステップ１２０５に進み、テーブルMapMc(NE,Ga)に基づいて今回の吸気行程を迎える気筒（以下、「燃料噴射気筒」と云うこともある。）に吸入された今回の筒内吸入空気量Mc(k)を推定・決定する。
【０１１９】
次に、ＣＰＵ７１はステップ１２１０に進んで、上記筒内吸入空気量Mc(k)を今回の目標空燃比abyfr(k)で除することにより、基本燃料噴射量Fbaseを決定する。次いで、ＣＰＵ７１はステップ１２１５に進み、上記(7)式に基づくステップ１２１５内に示した式に従って制御用基本燃料噴射量算出係数Ksubを求める。ここで、下流側フィードバック補正値Vafsfb(k)としては、後述するルーチンにて（前回の燃料噴射時点にて）求められている最新の値を用いる。
【０１２０】
続いて、ＣＰＵ７１はステップ１２２０に進んで、上記(1)式に従って上記基本燃料噴射量Fbaseに上記制御用基本燃料噴射量算出係数Ksubを乗じることにより制御用基本燃料噴射量Fbasecを決定する。次に、ＣＰＵ７１はステップ１２２５に進んで、上記(2)式に従って上記制御用基本燃料噴射量Fbasecに後述するルーチンにて（前回の燃料噴射時点にて）求められている最新の上流側フィードバック補正値DFiを加えることにより燃料噴射量Fiを決定する。
【０１２１】
そして、ＣＰＵ７１はステップ１２３０に進んで、上記燃料噴射量Fiの燃料の噴射指示を行った後、ＣＰＵ７１はステップ１２９５に進んで本ルーチンを一旦終了する。以上により、制御用基本燃料噴射量Fbasecが下流側フィードバック補正値Vafsfb(k)に基づいて計算され、制御用基本燃料噴射量Fbasecがフィードバック補正された後の燃料噴射量Fiの燃料の噴射指示が燃料噴射気筒に対してなされる。
【０１２２】
<上流側フィードバック補正値の計算>
次に、上流側フィードバック補正値DFiを算出する際の作動について説明すると、ＣＰＵ７１は図１３にフローチャートにより示したルーチンを、燃料噴射気筒について燃料噴射開始時期（燃料噴射開始時点）が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、ＣＰＵ７１はステップ１３００から処理を開始し、ステップ１３０５に進んで上流側フィードバック条件が成立しているか否かを判定する。ここで、上流側フィードバック条件は、例えば、機関の冷却水温THWが第１所定温度以上であって、上流側空燃比センサ６６が正常（活性状態となっていることを含む）であって、機関の一回転当りの吸入空気量（負荷）が所定値以下であるときに成立する。
【０１２３】
いま、上流側フィードバック条件が成立しているものとして説明を続けると、ＣＰＵ７１はステップ１３０５にて「Ｙｅｓ」と判定してステップ１３１０に進み、テーブルMapＮ(Mc(k),NE)に基づいてストローク数Ｎを決定する（図５を参照）。次に、ＣＰＵ７１はステップ１３１５に進んで、現時点の上流側空燃比センサ６６の出力値Vabyfsと後述するルーチンにて求められているＮストローク前のローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)との和である合成空燃比相当出力値(Vabyfs+Vafsfblow(k-N))をテーブルMapabyfs(Vabyfs+Vafsfblow(k-N))に基づいて変換することにより、現時点における合成空燃比abyfsを求める（図２を参照）。
【０１２４】
次いで、ＣＰＵ７１はステップ１３２０に進み、現時点からＮストローク（Ｎ回の吸気行程）前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Mc(k-N)を上記合成空燃比abyfsで除することにより、現時点からＮストローク前の実際の筒内燃料供給量Fc(k-N)を求める。
【０１２５】
続いて、ＣＰＵ７１はステップ１３２５に進んで、現時点からＮストローク前の筒内吸入空気量Mc(k-N)を現時点からＮストローク前の目標空燃比abyfr(k-N)で除することにより、現時点からＮストローク前の目標筒内燃料供給量Fcr(k-N)を求める。
【０１２６】
次に、ＣＰＵ７１はステップ１３３０に進んで、上記(5)式に従って、上記目標筒内燃料供給量Fcr(k-N)から前記筒内燃料供給量Fc(k-N)を減じることにより筒内燃料供給量偏差DFcを求める。つまり、筒内燃料供給量偏差DFcは、Ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
【０１２７】
次いで、ＣＰＵ７１はステップ１３３５に進み、上記(6)式に基づくステップ１３３５内に示した式に従って上流側フィードバック補正値DFiを求め、続くステップ１３４０にてその時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ１３３０にて求めた筒内燃料供給量偏差DFcを加えて、新たな筒内燃料供給量偏差の積分値SDFcを求めた後、ステップ１３９５に進んで本ルーチンを一旦終了する。
【０１２８】
以上により、上流側フィードバック補正値DFiが求められ、この上流側フィードバック補正値DFiが前述した図１２のステップ１２２５により燃料噴射量Fiに反映されることで空燃比フィードバック制御が実行される。
【０１２９】
一方、ステップ１３０５の判定時において、上流側フィードバック条件が不成立であると、ＣＰＵ７１はステップ１３０５にて「Ｎｏ」と判定してステップ１３４５に進んで上流側フィードバック補正値DFiの値を「０」に設定し、その後ステップ１３９５に進んで本ルーチンを一旦終了する。このように、上流側フィードバック条件が不成立であるときは、上流側フィードバック補正値DFiを「０」として空燃比の補正を行わない。
【０１３０】
<下流側フィードバック補正量の計算>
次に、下流側フィードバック補正値Vafsfb(k)を算出する際の作動について説明すると、ＣＰＵ７１は図１４にフローチャートにより示したルーチンを、燃料噴射気筒について燃料噴射開始時期（燃料噴射開始時点）が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、ＣＰＵ７１はステップ１４００から処理を開始し、ステップ１４０５に進んで下流側フィードバック条件が成立しているか否かを判定する。下流側フィードバック条件は、例えば、前述したステップ１３０５での上流側フィードバック条件に加え、機関の冷却水温THWが前記第１所定温度よりも高い第２所定温度以上のときに成立する。
【０１３１】
いま、下流側フィードバック条件が成立しているものとして説明を続けると、ＣＰＵ７１はステップ１４０５にて「Ｙｅｓ」と判定してステップ１４１０に進み、上記(3)式に従って、下流側目標値Voxsrefから現時点の下流側空燃比センサ６７の出力値Voxsを減じることにより、出力偏差量DVoxsを求める。次に、ＣＰＵ７１はステップ１４１５に進んで、下記(9)式に基づき出力偏差量DVoxsの微分値DDVoxsを求める。
DDVoxs＝(DVoxs−DVoxs1)／Δt  ・・・(9)
【０１３２】
上記(9)式において、DVoxs1は前回の本ルーチン実行時において後述するステップ１４２５にて設定（更新）された出力偏差量DVoxsの前回値である。また、Δtは本ルーチンが前回実行された時点から今回実行された時点までの時間である。
【０１３３】
次いで、ＣＰＵ７１はステップ１４２０に進み、上記(4)式に基づくステップ１４２０内に示した式に従って今回の下流側フィードバック補正値Vafsfb(k)を求める。この下流側フィードバック補正値Vafsfb(k)は、前述した図１２のルーチンの次回の実行時においてステップ１２１５にて制御用基本燃料噴射量算出係数Ksubを求めるのに用いられる。
【０１３４】
続いて、ＣＰＵ７１はステップ１４２５に進んで、その時点における出力偏差量の積分値SDVoxsに上記ステップ１４１０にて求めた出力偏差量DVoxsを加えて、新たな出力偏差量の積分値SDVoxsを求め、続くステップ１４３０にて、出力偏差量DVoxsの前回値DVoxs1を上記ステップ１４１０にて求めた出力偏差量DVoxsに設定する。
【０１３５】
次に、ＣＰＵ７１はステップ１４３５に進んで、テーブルMapＮ(Mc(k),NE)に基づいてストローク数Ｎを決定し（図５を参照）、続くステップ１４４０にて、テーブルMapτ(Mc(k),NE)に基づいて次のステップ１４４５にて行われるローパスフィルタ処理の時定数τを決定する（図１０を参照）。
【０１３６】
次いで、ＣＰＵ７１はステップ１４４５に進んで、現時点からＮストローク前の下流側フィードバック補正値Vafsfb(k-N)をローパスフィルタＡ１８により上記時定数τをもってローパスフィルタ処理してローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)を取得した後、ステップ１４９５に進んで本ルーチンを一旦終了する。このローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)は、前述した図１３のルーチンの次回の実行時においてステップ１３１５にて合成空燃比abyfsを求めるのに用いられる。
【０１３７】
一方、ステップ１４０５の判定時において、下流側フィードバック条件が不成立であると、ＣＰＵ７１はステップ１４０５にて「Ｎｏ」と判定してステップ１４５０に進んで下流側フィードバック補正値Vafsfb(k)の値を「０」に設定し、続くステップ１４５５にてＮストローク前のローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)の値を「０」に設定した後、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０１３８】
このように、下流側フィードバック条件が不成立であるときは、下流側フィードバック補正値Vafsfb(k)が「０」に設定されるから、前述した図１２のステップ１２１５にて制御用基本燃料噴射量算出係数Ksubが「１」に設定され、この結果、ステップ１２２０にて制御用基本燃料噴射量Fbasecが基本燃料噴射量Fbaseと等しい値に設定される。また、Ｎストローク前のローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)の値が「０」に設定されるから、上記合成空燃比相当出力値が上流側空燃比センサ６６の出力値Vabyfsと等しくなり、この結果、図１３のステップ１３１０にて合成空燃比abyfsが上流側空燃比センサ６６により検出される空燃比と等しくなる。
【０１３９】
以上、説明したように、本発明による内燃機関の空燃比制御装置の第１実施形態によれば、第１触媒５３下流の下流側空燃比センサ６７の出力値Voxsに基づく下流側フィードバック補正値Vafsfb(k)と第１触媒５３上流の上流側空燃比センサ６６の出力値Vabyfsとから合成空燃比abyfsが求められ、この合成空燃比abyfsに基づいて上流側フィードバック補正値DFiが求められる。燃料噴射量Fiは、制御用基本燃料噴射量Fbasec（＝基本燃料噴射量Fbase・制御用基本燃料噴射量算出係数Ksub）に上流側フィードバック補正値DFiを加えた値に決定される。
【０１４０】
ここで、制御用基本燃料噴射量算出係数Ksubは、上流側空燃比センサ６６の出力値Vabyfsが下流側フィードバック補正値Vafsfb(k)の変化を打ち消す方向に変化するように制御用基本燃料噴射量Fbasec（従って、燃料噴射量Fi）が決定されるよう、下流側フィードバック補正値Vafsfb(k)に基づいて決定される（上記(7)式を参照）。これにより、下流側フィードバック補正値Vafsfb(k)が変化しても合成空燃比abyfsの変化（従って、上流側フィードバック補正値DFiの変化）を抑制することができる。
【０１４１】
従って、下流側フィードバック補正値Vafsfb(k)が荒れて上記「荒れの伝達ループ」が繰り返されても、合成空燃比abyfsに基づく上流側フィードバック補正値DFiの荒れが次第に大きくなることが抑制され、空燃比の荒れが増大することを抑制することができる。
【０１４２】
また、合成空燃比abyfsが求められる際、下流側フィードバック補正値Vafsfb(k)に対して下流側フィードバック補正値遅延手段Ａ１７、及びローパスフィルタＡ１８による遅延処理が施された値であるローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)が変化するタイミングと上流側空燃比センサ６６の出力値Vabyfsが変化するタイミングが一致するとともに、ローパスフィルタ通過後下流側フィードバック補正値Vafsfblow(k-N)の変化の遅れの程度が上流側空燃比センサ６６の出力値Vabyfsの変化の応答遅れの程度に近づく。この結果、上流側フィードバック補正値DFiの荒れの増大（従って、空燃比の荒れの増大）を更に一層効果的に抑制することができる。
【０１４３】
（第２実施形態）
次に、本発明の第２実施形態に係る空燃比制御装置について説明する。この第２実施形態は、その機能ブロック図である図１５に示すように、ＰＩコントローラＡ１５に代えて、ＰコントローラＡ１９を使用する点、基本燃料噴射量補正係数設定手段Ａ２０、及び補正前基本燃料噴射量補正手段Ａ２１を更に加える点で、図４に機能ブロック図が示される第１実施形態と異なる。以下、係る相違点を中心として説明する。
【０１４４】
ＰコントローラＡ１９は、筒内燃料供給量偏差算出手段Ａ１４により算出された筒内燃料供給量偏差DFcを比例処理（Ｐ処理）することで、下記(10)式に基づいてＮストローク前の燃料供給量の過不足を補償するための上流側フィードバック補正値DFiを求める。下記(10)式において、Gpは予め設定された比例ゲイン（比例定数）である。
DFi＝Gp・DFc  ・・・(10)
【０１４５】
ＰコントローラＡ１９は、第１実施形態のＰＩコントローラＡ１５と異なり積分項を含んでいないので、上記基本燃料噴射量の誤差が補償され得ない。従って、ＰコントローラＡ１９（従って、上流側フィードバック補正）による補正とは別に、基本燃料噴射量の誤差が補償される必要がある。このためには、例えば、基本燃料噴射量算出手段Ａ３により算出される基本燃料噴射量Fbaseそのものを補正された値である補正後基本燃料噴射量Fbaseが、実際の空燃比を目標空燃比abyfrとするために吸気行程を迎える気筒のインジェクタ３９に噴射指示すべき燃料の量（以下、「目標基本燃料噴射量Fbaset」と称呼する。）と一致する（近づく）ように補正する必要がある。以下、基本燃料噴射量算出手段Ａ３により算出される基本燃料噴射量を「補正前基本燃料噴射量Fbaseb(k)」と称呼する。
【０１４６】
そこで、第２実施形態では、図１５に示すように、基本燃料噴射量補正係数KF(k)を導入し、補正前基本燃料噴射量補正手段Ａ２１により、補正前基本燃料噴射量Fbaseb(k)に基本燃料噴射量補正係数設定手段Ａ２０により設定される基本燃料噴射量補正係数KF(k)を乗じた値（以下、「補正後基本燃料噴射量Fbase」と称呼する。）が、上記目標基本燃料噴射量Fbasetと一致する（近づく）ように基本燃料噴射量補正係数KF(k)が設定される。そして、この補正後基本燃料噴射量Fbaseが制御用基本燃料噴射量算出手段Ａ４による制御用基本燃料噴射量Fbasecの算出に使用される。以下、基本燃料噴射量補正係数設定手段Ａ２０、及び補正後基本燃料噴射量算出手段Ａ２１を説明する。
【０１４７】
一般に、燃焼室内に吸入される筒内吸入空気量が一定であるという仮定のもとでは、燃料噴射量と、空燃比（従って、排気ガスの空燃比）の積は一定となる。従って、係る仮定のもとでは、一般に、現時点（具体的には、今回の燃料噴射量Fi(k)の噴射指示開始時点）から無駄時間Ｌに相当するＮストローク（Ｎ回の吸気行程）前に実行された燃料の噴射指示に係わる燃料噴射量である現時点からＮストローク前の燃料噴射量Fi(k−N)と上流側空燃比センサ６６により得られる現時点での空燃比（以下、「検出空燃比abyfd(k)」と称呼する。）の積は、燃焼室に供給される混合気の実際の空燃比を今回の目標空燃比abyfr(k)とするために必要な上記目標基本燃料噴射量Fbasetと今回の目標空燃比abyfr(k)の積に等しい、という関係が成立する。従って、目標基本燃料噴射量Fbasetは、一般に、下記(11)式に従って表すことができる。
Fbaset＝(abyfd(k)／abyfr(k))・Fi(k−N)  ・・・(11)
【０１４８】
このように、目標基本燃料噴射量Fbasetが計算される際、検出空燃比abyfdとして今回の検出空燃比abyfd(k)が使用される一方で、燃料噴射量Fiとしては、Ｎストローク前の燃料噴射量Fi(k−N)が使用される。これは、燃料の噴射指示から燃焼室２５内での燃焼に基づく排ガスが上流側空燃比センサ６６に到達するまでには、Ｎストロークに相当する無駄時間Ｌを要しているからである。
【０１４９】
係る知見に基づいて、基本燃料噴射量補正係数設定手段Ａ２０は、上記(11)式を利用して基本燃料噴射量補正係数KF(k)を設定する。加えて、機関が過渡運転状態にある場合、検出空燃比abyfd、燃料噴射量Fi、及び補正前基本燃料噴射量Fbasebが別個独立に所定の周波数以上の高周波数で大きく変動し得る。このような場合、上記(11)式に示した関係が維持され得なくなる可能性がある。従って、安定した基本燃料噴射量の補正を実現するためにローパスフィルタ処理を用いることが好ましい。
【０１５０】
以上のことから、基本燃料噴射量補正係数設定手段Ａ２０は、その機能ブロック図である図１６に示したようにＡ２０ａ〜Ａ２０ｄの各機能ブロックを含んで構成されている。即ち、燃料噴射量遅延手段Ａ２０ａは、燃料噴射量算出手段Ａ５により吸気行程毎に求められＲＡＭ７３に記憶されている燃料噴射量Fiのうち、現時点からＮストローク前の燃料噴射量Fi(k−N)をＲＡＭ７３から読み出す。
【０１５１】
目標基本燃料噴射量算出手段Ａ２０ｂは、上記(11)式に従って、今回の検出空燃比abyfd(k)の値を今回の目標空燃比abyfr(k)で除することで得られる値に、燃料噴射量遅延手段Ａ２０ａにより読み出されたＮストローク前の燃料噴射量Fi(k−N)の値を乗じることで目標基本燃料噴射量Fbasetを求める。
【０１５２】
基本燃料噴射量補正係数設定手段Ａ２０ｃは、下記(12)式に従って、目標基本燃料噴射量算出手段Ａ２０ｂにより求められた目標基本燃料噴射量Fbasetを補正前基本燃料噴射量Fbaseb(k)で除することで、ローパスフィルタ処理前基本燃料噴射量補正係数KFbを求める。
KFb＝Fbaset／Fbaseb(k)  ・・・（12）
【０１５３】
ローパスフィルタＡ２０ｄは、ラプラス演算子sを用いてその特性を表した下記(13)式に示すように、一次のフィルタである。下記(13)式において、Ｔは時定数である。ローパスフィルタＡ２０ｄは、基本燃料噴射量補正係数設定手段Ａ２０ｃにより求められたローパスフィルタ処理前基本燃料噴射量補正係数KFbの値を入力とし、下記(13)式に従って、上記ローパスフィルタ処理前基本燃料噴射量補正係数KFbの値をローパスフィルタ処理した後の値である基本燃料噴射量補正係数KF(k)を出力する。
１／（１＋Ｔ・s）  ・・・(13)
【０１５４】
そして、補正前基本燃料噴射量補正手段Ａ２１は、基本燃料噴射量算出手段Ａ３により求められた補正前基本燃料噴射量Fbaseb(k)に、基本燃料噴射量補正係数設定手段Ａ２０により設定された基本燃料噴射量補正係数KF(k)を乗じることで、下記(14)式に基づいて補正後基本燃料噴射量Fbaseを求める。このように求められた補正後基本燃料噴射量Fbaseに、第１実施形態に係る空燃比制御装置と同様、制御用基本燃料噴射量算出係数Ksubが乗じられ制御用基本燃料噴射量Fbasecが求められていく。
Fbase＝KF(k)・Fbaseb(k)  ・・・(14)
【０１５５】
以上が基本燃料噴射量補正係数の設定方法であり、基本燃料噴射量補正係数設定手段Ａ２０、及び補正前基本燃料噴射量補正手段Ａ２１が基本燃料噴射量補正手段に相当する。
【０１５６】
以上、説明したように、本発明による内燃機関の空燃比制御装置の第２実施形態によれば、補正後基本燃料噴射量Fbaseが、空燃比を目標空燃比abyfrとするために噴射指示すべき燃料の量と一致する（近づく）ように決定されていく。この結果、第１実施形態に係る空燃比制御装置と同様、空燃比の荒れの増大を抑制できるとともに、上流側フィードバック制御において上記積分処理を行うことなく基本燃料噴射量の誤差が直ちに補償され得、基本燃料噴射量の誤差の増大による一時的なエミッションの排出量の増大を抑制することができる。
【０１５７】
本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第２実施形態においては、図１６に示すように、ローパスフィルタＡ２０ｄは、検出空燃比abyfd(k)、燃料噴射量Fi(k−N)、及び補正前基本燃料噴射量Fbaseb(k)の各値そのものからローパスフィルタ処理前基本燃料噴射量補正係数KFb(＝(abyfd(k)・Fi(k−N))／(abyfr(k)・Fbaseb(k)))を求め、ローパスフィルタ処理前基本燃料噴射量補正係数KFbをローパスフィルタＡ２０ｄによりローパスフィルタ処理することで基本燃料噴射量補正係数KF(k)を求めるように構成したが、これに代えて、検出空燃比abyfd(k)、燃料噴射量Fi(k−N)、及び補正前基本燃料噴射量Fbaseb(k)をそれぞれ各別にローパスフィルタ処理した後に、このローパスフィルタ処理後の各値を用いて基本燃料噴射量補正係数KF(k)を求めるようにしてもよい。
【０１５８】
また、上記第２実施形態においては、図１６に示すように、今回の検出空燃比abyfd(k)、現時点からＮストローク前の燃料噴射量Fi(k−N)、今回の目標空燃比abyfr(k)、及び今回の補正前基本燃料噴射量Fbaseb(k)に基づいて基本燃料噴射量補正係数KF(k)を求めているが、今回の検出空燃比abyfd(k)、現時点からＮストローク前の燃料噴射量Fi(k−N)、現時点からＮストローク前の目標空燃比abyfr(k−N)、及び現時点からＮストローク前の補正前基本燃料噴射量Fbaseb(k−N)に基づいて基本燃料噴射量補正係数KFを求めるように構成してもよい。
【０１５９】
また、上記第２実施形態においては、上記(11)式に基づいて目標基本燃料噴射量Fbasetを求めているが、これに代えて、上記(11)式において検出空燃比abyfd(k)を合成空燃比abyfsに置き換えた式を利用して目標基本燃料噴射量Fbasetを求めるように構成してもよい。この構成は、上流側空燃比センサ６６の検出空燃比abyfdに誤差が生じている場合に有効である。
【０１６０】
また、上記各実施形態においては、基本燃料噴射量Fbaseに制御用基本燃料噴射量算出係数Ksubを乗じることで制御用基本燃料噴射量Fbasecを求めるように構成したが、これに代えて、基本燃料噴射量Fbaseに制御用基本燃料噴射量算出定数Dsubを加えることで、下記(15)式に基づいて制御用基本燃料噴射量Fbasecを求めるようにしてもよい。この制御用基本燃料噴射量算出定数Dsubは、ＰＩＤコントローラＡ８により求められたれた下流側フィードバック補正値Vafsfb(k)に所定の係数K1を乗じることで、下記(16)式に基づいて求められる。
Fbasec＝Fbase＋Dsub  ・・・(15)
Dsub＝K1・Vafsfb(k)  ・・・(16)
【０１６１】
この場合、下流側フィードバック補正値Vafsfb(k)が「０」から偏移した場合、制御用基本燃料噴射量Fbasecが、その偏移量と等しい分だけその偏移を打ち消す方向に上流側目標値Vstoichから偏移した上流側空燃比センサ６６の出力値Vabyfsに対応する空燃比を得るための燃料の量と一致するように、制御用基本燃料噴射量算出定数Dsubが計算されることが好適である。換言すれば、このような関係が成立するように上記(16)式における係数K1が設定されることが好適である。
【０１６２】
また、上記各実施形態においては、下流側フィードバック補正値Vafsfb(k)に遅延処理を施すために下流側フィードバック補正値遅延手段Ａ１７、及びローパスフィルタＡ１８を備えるように構成したが、どちらか一方のみを備えるように構成してもよいし、両方とも備えることなく構成されてもよい。
【０１６３】
加えて、上記各実施形態においては、上流側フィードバック制御において、現時点からＮストローク前の目標筒内燃料供給量Fcr(k-N)から現時点からＮストローク前の制御用筒内燃料供給量Fc(k-N)を減じた値である筒内供給量偏差DFcに基づいて上流側フィードバック補正値DFiを求めているが、今回の合成空燃比abyfs(k)から現時点からＮストローク前の目標空燃比abyfr(k−N)を減じた値に基づいて上流側フィードバック補正値DFiを求めるように構成してもよい。
【図面の簡単な説明】
【０１６４】
【図１】本発明の第１実施形態に係る空燃比制御装置を適用した内燃機関の概略図である。
【図２】図１に示した上流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図３】図１に示した下流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図４】図１に示した空燃比制御装置が空燃比フィードバック制御を実行する際の機能ブロック図である。
【図５】図１に示したＣＰＵが参照する、筒内吸入空気量及び運転速度と、無駄時間に相当するストローク数との関係を規定するテーブルを示したグラフである。
【図６】従来装置が空燃比フィードバック制御を実行する際の機能ブロック図である。
【図７】従来装置が空燃比フィードバック制御を実行する際の各種変数等の変化の一例を示したタイムチャートである。
【図８】第１装置が空燃比フィードバック制御を実行する際の各種変数等の変化の一例を示したタイムチャートである。
【図９】第２装置が空燃比フィードバック制御を実行する際の各種変数等の変化の一例を示したタイムチャートである。
【図１０】図１に示したＣＰＵが参照する、筒内吸入空気量及び運転速度と、ローパスフィルタ処理の時定数との関係を規定するテーブルを示したグラフである。
【図１１】図１に示した空燃比制御装置が空燃比フィードバック制御を実行する際の各種変数等の変化の一例を示したタイムチャートである。
【図１２】図１に示したＣＰＵが実行する燃料噴射量の計算、及び噴射指示を行うためのルーチンを示したフローチャートである。
【図１３】図１に示したＣＰＵが実行する上流側フィードバック補正値を計算するためのルーチンを示したフローチャートである。
【図１４】図１に示したＣＰＵが実行する下流側フィードバック補正値を計算するためのルーチンを示したフローチャートである。
【図１５】本発明の第２実施形態に係る空燃比制御装置が空燃比フィードバック制御を実行する際の機能ブロック図である。
【図１６】図１５に示した基本燃料噴射量補正係数設定手段が基本燃料噴射量補正係数を設定する際の機能ブロック図である。
【図１７】荒れの伝達ループを説明するための図である。
【符号の説明】
【０１６５】
１０…内燃機関、２５…燃焼室、３９…インジェクタ、５２…エキゾーストパイプ（排気管）、５３…三元触媒（第１触媒）、６６…上流側空燃比センサ、６７…下流側空燃比センサ、７０…電気制御装置、７１…ＣＰＵ
【図１】
2007146661.tif 000003
【図２】
2007146661.tif 000004
【図３】
2007146661.tif 000005
【図４】
2007146661.tif 000006
【図５】
2007146661.tif 000007
【図６】
2007146661.tif 000008
【図７】
2007146661.tif 000009
【図８】
2007146661.tif 000010
【図９】
2007146661.tif 000011
【図１０】
2007146661.tif 000012
【図１１】
2007146661.tif 000013
【図１２】
2007146661.tif 000014
【図１３】
2007146661.tif 000015
【図１４】
2007146661.tif 000016
【図１５】
2007146661.tif 000017
【図１６】
2007146661.tif 000018
【図１７】
2007146661.tif 000019