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