(57)【要約】本発明による空燃比制御装置の実施形態（制御装置）は、三元触媒４３の下流に配設された下流側空燃比センサ５６の出力値Voxsに基づいて、リッチ要求とリーン要求との何れの空燃比要求が発生しているかを判定する。制御装置は、リッチ要求が発生している場合には各気筒の空燃比（気筒別空燃比）をリッチ空燃比に設定し、リーン要求が発生している場合には気筒別空燃比をリーン空燃比に設定する。制御装置は、特定の気筒の気筒別空燃比を他の気筒の気筒別空燃比と相違させ、その際の下流側空燃比センサ５６の出力値Voxsの変動の様子を示す変動周期相関値を取得し、その変動周期相関値に基づいて複数の気筒のそれぞれから排出される排ガスの下流側空燃比センサの出力値への影響度合いを判定する。更に、制御装置は、その影響の度合いに応じて、各気筒の空燃比を制御する。
2012039064.tif 000002
【特許請求の範囲】
【請求項１】
多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、
前記排気通路の前記三元触媒よりも下流側の位置に配設されるとともに同配設された位置を通過する排ガスの空燃比に応じて変化する出力値を出力する下流側空燃比センサと、
前記複数の気筒のそれぞれの燃焼室に混合気を供給するとともに同それぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比を前記複数の気筒間において互いに独立して調整することが可能に構成された気筒別混合気供給手段と、
前記触媒に流入する排ガスである触媒流入ガスの空燃比を理論空燃比よりも小さいリッチ空燃比に設定する要求であるリッチ要求と前記触媒流入ガスの空燃比を理論空燃比よりも大きいリーン空燃比に設定する要求であるリーン要求との何れの空燃比要求が発生しているかを前記下流側空燃比センサの出力値に基いて決定するとともに、前記複数の気筒の気筒別空燃比のそれぞれが前記決定された空燃比要求に応じた空燃比となるように同複数の気筒の気筒別空燃比を制御する気筒別空燃比制御手段と、
を備える内燃機関の空燃比制御装置において、
前記気筒別空燃比制御手段は、
前記複数の気筒のうちの一つの気筒を選択気筒として選択し且つ前記選択気筒の気筒別空燃比が前記複数の気筒のうちの残りの気筒である非選択気筒の気筒別空燃比と相違するように前記複数の気筒のそれぞれの気筒別空燃比を変更するとともに前記下流側空燃比センサの出力値の変動周期に相関を有する値を前記選択気筒に対応する変動周期相関値として取得する動作を、総ての気筒のそれぞれが前記選択気筒として選択されるまで繰り返し実行する変動周期相関値取得手段と、
前記複数の気筒のそれぞれに対応する前記取得された変動周期相関値に基づいて、前記複数の気筒のそれぞれから排出される排ガスの前記下流側空燃比センサの出力値への影響度合いを判定するガス当り度合い判定手段と、
を含む空燃比制御装置。
【請求項２】
請求項１に記載の内燃機関の空燃比制御装置において、
前記ガス当り度合い判定手段は、
前記複数の気筒のそれぞれに対応する前記取得された変動周期相関値に基づいて、前記複数の気筒のそれぞれから排出される排ガスの前記下流側空燃比センサの出力値への影響度合いを示す気筒別影響度指標値を前記複数の気筒のそれぞれに対して取得する気筒別影響度指標値取得手段を含み、
前記気筒別空燃比制御手段は、
前記リッチ要求が発生している期間において、前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合いが第１の値である気筒の気筒別空燃比が前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合いが前記第１の値よりも小さい第２の値である気筒の気筒別空燃比よりも小さくなるように前記複数の気筒の気筒別空燃比のそれぞれを補正するフィードバック周期短縮化制御を実行する気筒別空燃比補正手段を含む、
空燃比制御装置。
【請求項３】
請求項１に記載の内燃機関の空燃比制御装置において、
前記ガス当り度合い判定手段は、
前記複数の気筒のそれぞれに対応する前記取得された変動周期相関値に基づいて、前記複数の気筒のそれぞれから排出される排ガスの前記下流側空燃比センサの出力値への影響度合いを示す気筒別影響度指標値を前記複数の気筒のそれぞれに対して取得する気筒別影響度指標値取得手段を含み、
前記気筒別空燃比制御手段は、
前記リーン要求が発生している期間において、前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合いが第１の値である気筒の気筒別空燃比が前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合いが前記第１の値よりも小さい第２の値である気筒の気筒別空燃比よりも大きくなるように前記複数の気筒の気筒別空燃比のそれぞれを補正するフィードバック周期短縮化制御を実行する気筒別空燃比補正手段を含む、
空燃比制御装置。
【請求項４】
請求項１に記載の内燃機関の空燃比制御装置において、
前記ガス当り度合い判定手段は、
前記複数の気筒のそれぞれに対して取得された前記変動周期相関値に基いて、前記複数の気筒のうちで前記下流側空燃比センサの出力値に最も大きい影響を与える排ガスを排出している気筒をガス当り最良気筒として特定するガス当り最良気筒特定手段を含み、
前記気筒別空燃比制御手段は、
前記リッチ要求が発生している期間において前記特定されたガス当り最良気筒の気筒別空燃比が前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比よりも小さい空燃比となるように前記複数の気筒の気筒別空燃比のそれぞれを補正するフィードバック周期短縮化制御を実行する気筒別空燃比補正手段を含む、
空燃比制御装置。
【請求項５】
請求項１に記載の内燃機関の空燃比制御装置において、
前記ガス当り度合い判定手段は、
前記複数の気筒のそれぞれに対して取得された前記変動周期相関値に基いて、前記複数の気筒のうちで前記下流側空燃比センサの出力値に最も大きい影響を与える排ガスを排出している気筒をガス当り最良気筒として特定するガス当り最良気筒特定手段を含み、
前記気筒別空燃比制御手段は、
前記リーン要求が発生している期間において前記特定されたガス当り最良気筒の気筒別空燃比が前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比よりも大きい空燃比となるように前記複数の気筒の気筒別空燃比のそれぞれを補正するフィードバック周期短縮化制御を実行する気筒別空燃比補正手段を含む、
空燃比制御装置。
【請求項６】
請求項２乃至請求項５の何れか一項に記載の内燃機関の空燃比制御装置において、
前記気筒別空燃比補正手段は、
前記フィードバック周期短縮化制御を、前記機関の吸入空気量が第１閾値吸入空気量以上である場合、及び、前記機関の吸入空気量が前記第１閾値吸入空気量よりも小さい第２閾値吸入空気量以下である場合、の少なくとも一方の場合に実行するように構成された、空燃比制御装置。
【請求項７】
請求項１に記載の内燃機関の空燃比制御装置において、
前記気筒別混合気供給手段は、
所定のフューエルカット開始条件が成立したとき前記複数の気筒の総ての燃焼室への混合気の供給を停止するフューエルカット運転を行い且つ同フューエルカット運転中に所定のフューエルカット終了条件が成立したとき同フューエルカット運転を終了して前記複数の気筒の総ての燃焼室への混合気の供給を再開するフューエルカット手段を含み、
前記ガス当り度合い判定手段は、
前記複数の気筒のそれぞれに対応する前記取得された変動周期相関値に基づいて、前記複数の気筒のそれぞれから排出される排ガスの前記下流側空燃比センサの出力値への影響度合いを示す気筒別影響度指標値を前記複数の気筒のそれぞれに対して取得する気筒別影響度指標値取得手段を含み、
前記気筒別空燃比制御手段は、
前記フューエルカット運転の終了時点以降に前記下流側空燃比センサの出力値に基いて前記三元触媒の下流に未燃物が流出し始めたか否かを判定するとともに、前記フューエルカット運転の終了時点から前記三元触媒の下流に未燃物が流出し始めたと判定される時点までのフューエルカット終了後期間において、前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合いが第１の値である気筒の気筒別空燃比が前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合いが前記第１の値よりも小さい第２の値である気筒の気筒別空燃比よりも大きく且つ理論空燃比よりは小さい空燃比になるように、前記気筒別空燃比を補正するフューエルカット終了後制御を実行する気筒別空燃比補正手段を含む、
空燃比制御装置。
【請求項８】
請求項１に記載の内燃機関の空燃比制御装置において、
前記気筒別混合気供給手段は、
所定のフューエルカット開始条件が成立したとき前記複数の気筒の総ての燃焼室への混合気の供給を停止するフューエルカット運転を行い且つ同フューエルカット運転中に所定のフューエルカット終了条件が成立したとき同フューエルカット運転を終了して前記複数の気筒の総ての燃焼室への混合気の供給を再開するフューエルカット手段を含み、
前記ガス当り度合い判定手段は、
前記複数の気筒のそれぞれに対して取得された前記変動周期相関値に基いて、前記複数の気筒のうちで前記下流側空燃比センサの出力値に最も大きい影響を与える排ガスを排出している気筒をガス当り最良気筒として特定するガス当り最良気筒特定手段を含み、
前記気筒別空燃比制御手段は、
前記フューエルカット運転の終了時点以降に前記下流側空燃比センサの出力値に基いて前記三元触媒の下流に未燃物が流出し始めたか否かを判定するとともに、前記フューエルカット運転の終了時点から前記三元触媒の下流に未燃物が流出し始めたと判定される時点までのフューエルカット終了後期間において、前記特定されたガス当り最良気筒の気筒別空燃比が前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比よりも大きく且つ理論空燃比よりは小さい空燃比になるように、前記気筒別空燃比を補正するフューエルカット終了後制御を実行する気筒別空燃比補正手段を含む、
空燃比制御装置。
【請求項９】
請求項７又は請求項８に記載の内燃機関の空燃比制御装置において、
前記気筒別空燃比補正手段は、
前記フューエルカット終了後期間における前記複数の気筒の気筒別空燃比の平均値が、前記フューエルカット終了後期間の経過後において前記リッチ要求が発生している場合における前記複数の気筒の気筒別空燃比の平均値よりも小さくなるように、前記気筒別空燃比を補正するように構成された、空燃比制御装置。
【請求項１０】
請求項１に記載の内燃機関の空燃比制御装置において、
前記ガス当り度合い判定手段は、
前記複数の気筒のそれぞれに対応する前記取得された変動周期相関値に基づいて、前記複数の気筒のそれぞれから排出される排ガスの前記下流側空燃比センサの出力値への影響度合いを示す気筒別影響度指標値を前記複数の気筒のそれぞれに対して取得する気筒別影響度指標値取得手段を含み、
前記気筒別空燃比制御手段は、
前記三元触媒の最大酸素吸蔵量を取得する最大酸素吸蔵量取得手段と、
前記リッチ要求が発生している期間において、前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合いが第１の値である気筒の気筒別空燃比が前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合いが前記第１の値よりも小さい第２の値である気筒の気筒別空燃比よりも大きく且つ理論空燃比よりも小さい空燃比であって更に前記取得された最大酸素吸蔵量が小さくなるほど理論空燃比により近い空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する制御ハンチング防止制御を実行する気筒別空燃比補正手段と、を含む、
空燃比制御装置。
【請求項１１】
請求項１に記載の内燃機関の空燃比制御装置において、
前記ガス当り度合い判定手段は、
前記複数の気筒のそれぞれに対応する前記取得された変動周期相関値に基づいて、前記複数の気筒のそれぞれから排出される排ガスの前記下流側空燃比センサの出力値への影響度合いを示す気筒別影響度指標値を前記複数の気筒のそれぞれに対して取得する気筒別影響度指標値取得手段を含み、
前記気筒別空燃比制御手段は、
前記三元触媒の最大酸素吸蔵量を取得する最大酸素吸蔵量取得手段と、
前記リーン要求が発生している期間において、前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合いが第１の値である気筒の気筒別空燃比が前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合いが前記第１の値よりも小さい第２の値である気筒の気筒別空燃比よりも小さく且つ理論空燃比よりも大きい空燃比であって更に前記取得された最大酸素吸蔵量が小さくなるほど理論空燃比により近い空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する制御ハンチング防止制御を実行する気筒別空燃比補正手段と、を含む、
空燃比制御装置。
【請求項１２】
請求項１に記載の内燃機関の空燃比制御装置において、
前記ガス当り度合い判定手段は、
前記複数の気筒のそれぞれに対して取得された前記変動周期相関値に基いて、前記複数の気筒のうちで前記下流側空燃比センサの出力値に最も大きい影響を与える排ガスを排出している気筒をガス当り最良気筒として特定するガス当り最良気筒特定手段を含み、
前記気筒別空燃比制御手段は、
前記三元触媒の最大酸素吸蔵量を取得する最大酸素吸蔵量取得手段と、
前記リッチ要求が発生している期間において、前記特定されたガス当り最良気筒の気筒別空燃比が前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比よりも大きく且つ理論空燃比よりも小さい空燃比であって更に前記取得された最大酸素吸蔵量が小さくなるほど理論空燃比により近い空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する制御ハンチング防止制御を実行する気筒別空燃比補正手段と、を含む、
空燃比制御装置。
【請求項１３】
請求項１に記載の内燃機関の空燃比制御装置において、
前記ガス当り度合い判定手段は、
前記複数の気筒のそれぞれに対して取得された前記変動周期相関値に基いて、前記複数の気筒のうちで前記下流側空燃比センサの出力値に最も大きい影響を与える排ガスを排出している気筒をガス当り最良気筒として特定するガス当り最良気筒特定手段を含み、
前記気筒別空燃比制御手段は、
前記三元触媒の最大酸素吸蔵量を取得する最大酸素吸蔵量取得手段と、
前記リーン要求が発生している期間において、前記特定されたガス当り最良気筒の気筒別空燃比が前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比よりも小さく且つ理論空燃比よりも大きい空燃比であって更に前記取得された最大酸素吸蔵量が小さくなるほど理論空燃比により近い空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する制御ハンチング防止制御を実行する気筒別空燃比補正手段と、を含む、
空燃比制御装置。
【請求項１４】
請求項１乃至請求項１３の何れか一項に記載の内燃機関の空燃比制御装置において、
前記変動周期相関値取得手段は、
前記下流側空燃比センサの出力値の軌跡長、
前記下流側空燃比センサの出力値が理論空燃比よりもリッチな空燃比に相当する値へと変化した時点から理論空燃比よりもリーンな空燃比に相当する値へと変化し更にその後再び理論空燃比よりもリッチな空燃比に相当する値へと変化する時点までの時間に対応する反転周期、
前記下流側空燃比センサの出力値が理論空燃比よりもリッチな空燃比に相当する値となってから理論空燃比よりもリーンな空燃比に相当する値となるまでの期間における前記三元触媒に流入する過剰な酸素の総量に応じた同三元触媒の吸蔵酸素量、及び、
前記下流側空燃比センサの出力値が理論空燃比よりもリーンな空燃比に相当する値となってから理論空燃比よりもリッチな空燃比に相当する値となるまでの期間における前記三元触媒に流入する過剰な未燃物の総量に応じた同三元触媒の放出酸素量、
の少なくとも何れか一つを、基本パラメータとして取得し、
前記取得された基本パラメータに相関する値を前記変動周期相関値として取得するように構成された空燃比制御装置。
【請求項１５】
多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、
前記排気通路の前記三元触媒よりも下流側の位置に配設されるとともに同配設された位置を通過する排ガスの空燃比に応じて変化する出力値を出力する下流側空燃比センサと、
前記複数の気筒のそれぞれの燃焼室に混合気を供給するとともに同それぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比を前記複数の気筒間において互いに独立して調整することが可能に構成された気筒別混合気供給手段と、
前記触媒に流入する排ガスである触媒流入ガスの空燃比を理論空燃比よりも小さいリッチ空燃比に設定する要求であるリッチ要求と前記触媒流入ガスの空燃比を理論空燃比よりも大きいリーン空燃比に設定する要求であるリーン要求との何れの空燃比要求が発生しているかを前記下流側空燃比センサの出力値に基いて決定するとともに、前記複数の気筒の気筒別空燃比のそれぞれが前記決定された空燃比要求に応じた空燃比となるように同複数の気筒の気筒別空燃比を制御する気筒別空燃比制御手段と、
を備え、前記複数の気筒のそれぞれから排出された排ガスの前記下流側空燃比センサへの当り方の程度が同複数の気筒間において均一でなく同複数の気筒のそれぞれから排出された排ガスの同下流側空燃比センサの出力値への影響度合いが同複数の気筒間において相違する内燃機関の空燃比制御装置において、
前記気筒別空燃比制御手段は、
前記機関の運転状態が所定の気筒別空燃比制御条件を満たしているか否かを判定するとともに同機関の運転状態が同気筒別空燃比制御条件を満たしていると判定している場合、前記複数の気筒のうちで前記下流側空燃比センサの出力値に最も大きい影響を与える排ガスを排出している気筒であるガス当り最良気筒の気筒別空燃比が前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比と相違するように前記複数の気筒の気筒別空燃比のそれぞれを補正する気筒別空燃比補正手段を含む、
空燃比制御装置。
【請求項１６】
請求項１５に記載された内燃機関の空燃比制御装置において、
前記気筒別空燃比補正手段は、
前記機関の吸入空気量が第１閾値吸入空気量以上である場合、及び、前記機関の吸入空気量が前記第１閾値吸入空気量よりも小さい第２閾値吸入空気量以下である場合、の少なくとも一方の場合に、前記気筒別空燃比制御条件が満たされていると判定するように構成され、且つ、
前記リッチ要求が発生している期間において、前記ガス当り最良気筒の気筒別空燃比が前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比よりも小さくなるように前記複数の気筒の気筒別空燃比のそれぞれを補正するフィードバック周期短縮化制御を実行するように構成された空燃比制御装置。
【請求項１７】
請求項１５に記載された内燃機関の空燃比制御装置において、
前記気筒別空燃比補正手段は、
前記機関の吸入空気量が第１閾値吸入空気量以上である場合、及び、前記機関の吸入空気量が前記第１閾値吸入空気量よりも小さい第２閾値吸入空気量以下である場合、の少なくとも一方の場合に、前記気筒別空燃比制御条件が満たされていると判定するように構成され、且つ、
前記リーン要求が発生している期間において、前記ガス当り最良気筒の気筒別空燃比が前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比よりも大きくなるように前記複数の気筒の気筒別空燃比のそれぞれを補正するフィードバック周期短縮化制御を実行するように構成された空燃比制御装置。
【請求項１８】
請求項１５に記載された内燃機関の空燃比制御装置において、
前記気筒別混合気供給手段は、
所定のフューエルカット開始条件が成立したとき前記複数の気筒の総ての燃焼室への混合気の供給を停止するフューエルカット運転を行い且つ同フューエルカット運転中に所定のフューエルカット終了条件が成立したとき同フューエルカット運転を終了して前記複数の気筒の総ての燃焼室への混合気の供給を再開するフューエルカット手段を含み、
前記気筒別空燃比補正手段は、
前記フューエルカット運転の終了時点以降に前記下流側空燃比センサの出力値に基いて前記三元触媒の下流に未燃物が流出し始めたか否かを判定するとともに、前記フューエルカット運転の終了時点から前記三元触媒の下流に未燃物が流出し始めたと判定される時点までのフューエルカット終了後期間において前記気筒別空燃比制御条件が満たされていると判定するように構成され、且つ、
前記フューエルカット終了後期間において前記ガス当り最良気筒の気筒別空燃比が前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比よりも大きく且つ理論空燃比よりは小さい空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正するフューエルカット終了後制御を実行するように構成された空燃比制御装置。
【請求項１９】
請求項１５に記載された内燃機関の空燃比制御装置において、
前記気筒別空燃比補正手段は、
前記三元触媒の最大酸素吸蔵量を取得するとともに前記取得された最大酸素吸蔵量が所定の閾値最大酸素吸蔵量よりも小さいか否かを判定し、前記取得された最大酸素吸蔵量が所定の閾値最大酸素吸蔵量よりも小さいと判定した場合に前記気筒別空燃比制御条件が満たされていると判定するように構成され、且つ、
前記リッチ要求が発生している期間において、前記ガス当り最良気筒の気筒別空燃比が前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比よりも大きく且つ理論空燃比よりも小さい空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する制御ハンチング防止制御を実行するように構成された空燃比制御装置。
【請求項２０】
請求項１５に記載された内燃機関の空燃比制御装置において、
前記三元触媒の最大酸素吸蔵量を取得するとともに前記取得された最大酸素吸蔵量が所定の閾値最大酸素吸蔵量よりも小さいか否かを判定し、前記取得された最大酸素吸蔵量が所定の閾値最大酸素吸蔵量よりも小さいと判定した場合に前記気筒別空燃比制御条件が満たされていると判定するように構成され、且つ、
前記リーン要求が発生している期間において、前記ガス当り最良気筒の気筒別空燃比が前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比よりも小さく且つ理論空燃比よりも大きい空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する制御ハンチング防止制御を実行するように構成された空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排気通路に三元触媒を備えた内燃機関の空燃比制御装置に関する。
【背景技術】
【０００２】
従来より、多気筒内燃機関から排出される排ガスを浄化するために同機関の排気通路に三元触媒（触媒コンバータ）が配設されている。三元触媒は、周知のように、その三元触媒に流入するガスの成分に応じて酸素を吸蔵及び放出する「酸素吸蔵機能（酸素吸蔵放出機能）」を有する。以下、三元触媒は単に「触媒」とも称呼され、触媒に流入するガスは触媒流入ガスとも称呼され、更に、触媒から流出するガスは触媒流出ガスとも称呼される。【０００３】
従来の空燃比制御装置（従来装置）の一つは、前記機関の排気通路であって前記触媒の上流に配設された上流側空燃比センサと、前記機関の排気通路であって前記触媒の下流に配設された下流側空燃比センサと、を備える。その従来装置は、機関に吸入される空気の量に基づいて「機関に供給される混合気の空燃比（機関の空燃比）を理論空燃比に一致させるための基本燃料噴射量」を求め、その基本燃料噴射量を上流側空燃比センサの出力値及び下流側空燃比センサの出力値に基づいてフィードバック補正するようになっている（例えば、特許文献１を参照。）。更に、この従来装置は、下流側空燃比センサの出力値が理論空燃比よりもリッチ空燃比又はリーン空燃比に相当する値からリーン空燃比又はリッチ空燃比に相当する値へと変化する期間（反転周期に対応する時間であって前記触媒の酸素吸蔵能力に応じて変化する変数）に基いて前記フィードバック補正の補正量を変更している。これにより、従来装置は、触媒の酸素吸蔵能力に応じた空燃比制御を行うことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−１５８９１５号公報
【発明の概要】
【０００５】
ところで、上流側空燃比センサは、前記排気通路の排ガス集合部に配設されるとはいえ、各気筒の排気ポートからの距離が相対的に短い位置に配設される。このため、上流側空燃比センサには、特定気筒からの排ガスが他の気筒からの排ガスよりも強く当たる。即ち、各気筒からの排ガスの流量が一定であっても、特定気筒から排出される排ガスは特定気筒以外の気筒から排出される排ガスに比較して「より多量」に上流側空燃比センサ近傍を通過する。従って、上流側空燃比センサの出力値は、特定気筒に供給された混合気の空燃比の影響を強く受ける。換言すると、上流側空燃比センサの「特定気筒からの排ガスの空燃比」に対する感度は、上流側空燃比センサの「特定気筒以外の気筒からの排ガスの空燃比」に対する感度よりも高い。
【０００６】
これに対し、触媒の下流に配設された下流側空燃比センサには、各気筒から排出された排ガスが互いに同程度の強さで当たると考えられている。即ち、下流側空燃比センサの「ある気筒からの排ガスの空燃比」に対する感度と、下流側空燃比センサの「前記ある気筒以外の気筒からの排ガスの空燃比」に対する感度と、は略等しいと考えられている。
【０００７】
しかしながら、図１に例示したように、エキゾーストマニホールド４１の形状及び下流側空燃比センサ５６の配設位置等によっては、特定気筒（図１に示した例においては第１気筒＃１）から排出された排ガスが下流側空燃比センサ５６に相対的に強く当り、そのために、下流側空燃比センサ５６の「特定気筒からの排ガスの空燃比」に対する感度が、下流側空燃比センサ５６の「特定気筒以外の気筒からの排ガスの空燃比」に対する感度よりも高くなる場合があることが判明した。換言すると、発明者は「下流側空燃比センサ５６の出力値は、特定気筒から排出された排ガスの空燃比（従って、その特定気筒に供給された混合気の空燃比）の影響を、他の気筒から排出された排ガスの空燃比に比較して、より強く受けて変化することがある。」との知見を得た。
【０００８】
しかしながら、従来装置は、下流側空燃比センサ５６の出力値が特定気筒の排ガスの空燃比の影響を他の気筒の排ガスに比較してより強く受けることを考慮しておらず、下流側空燃比センサ５６の出力値に基づいて総ての気筒の空燃比を一律に制御している。それ故、従来装置にはエミッションを改善する余地が残されている。更に、下流側空燃比センサ５６の出力値が特定気筒からの排ガスの空燃比の影響を相対的に強く受けることを積極的に利用した空燃比制御を行うためには、その特定気筒がどの気筒であるのかを決定する必要がある。
【０００９】
本発明は上記課題に対処するために為されたものである。本発明による内燃機関の空燃比制御装置の第１の態様（以下、単に「第１発明装置」とも称呼する。）の目的は、各気筒に供給される混合気の空燃比を適切に設定することにより、各気筒から排出される排ガスの「下流側空燃比センサの出力値への影響度合い」を判定（決定・特定）することができる内燃機関の空燃比制御装置を提供することにある。第１発明装置は、この「下流側空燃比センサの出力値への影響度合い（即ち、下流側空燃比センサの「各気筒からの排ガスの空燃比」に対する感度）」を判定することができるので、その判定結果に基づいて各気筒の空燃比を運転状態等に応じて適切に制御することが可能である。
【００１０】
より具体的に述べると、第１発明装置は、多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、下流側空燃比センサと、気筒別混合気供給手段と、気筒別空燃比制御手段と、を備える内燃機関の空燃比制御装置である。但し、第１発明装置は、上流側空燃比センサを更に備え、その上流側空燃比センサの出力値を用いて空燃比制御を行ってもよい。
【００１１】
前記下流側空燃比センサは、前記排気通路の前記三元触媒よりも下流側の位置に配設される。前記下流側空燃比センサは、それが配設された位置を通過する排ガスの空燃比に応じて変化する出力値を出力する。
【００１２】
前記気筒別混合気供給手段は、前記複数の気筒のそれぞれの燃焼室に混合気を供給する。更に、前記気筒別混合気供給手段は、それぞれの燃焼室に供給される混合気の空燃比（即ち、気筒別空燃比）を、前記複数の気筒間において互いに独立して調整することが可能となるように構成されている。例えば、前記気筒別混合気供給手段は、複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁、を含むことができる。
【００１３】
前記気筒別空燃比制御手段は、リッチ要求が発生しているか、リーン要求が発生しているか、を下流側空燃比センサの出力値に基いて決定する。
リッチ要求は、触媒流入ガスの空燃比を理論空燃比よりも小さい空燃比（即ち、リッチ空燃比）に設定する要求である。
リーン要求は、触媒流入ガスの空燃比を理論空燃比よりも大きい空燃比（即ち、リーン空燃比）に設定する要求である。
【００１４】
リッチ要求及びリーン要求の何れの空燃比要求が発生しているかの判定手法は、特に限定されない。例えば、前記気筒別空燃比制御手段は、下流側空燃比センサの出力値が理論空燃比よりもリッチな空燃比（理論空燃比よりも小さい空燃比）に相当する値である場合にリーン要求が発生していると判定し、下流側空燃比センサの出力値が理論空燃比よりもリーンな空燃比（理論空燃比よりも大きい空燃比）に相当する値である場合にリッチ要求が発生していると判定することができる。勿論、前記気筒別空燃比制御手段は、複数の閾値と下流側空燃比センサの出力値とを比較すること、及び、下流側空燃比センサの出力値の時間微分値を利用すること、等により、リッチ要求及びリーン要求の何れの空燃比要求が発生しているかを判定してもよい。
【００１５】
更に、前記気筒別空燃比制御手段は、前記複数の気筒の気筒別空燃比のそれぞれが「前記決定された空燃比要求（リッチ要求であるかリーン要求であるか）」に応じた空燃比となるように、その複数の気筒の気筒別空燃比を制御する。即ち、前記気筒別空燃比制御手段は、前記決定された空燃比要求がリッチ要求であれば気筒別空燃比を理論空燃比よりも小さい空燃比（リッチ空燃比）に設定し、前記決定された空燃比要求がリーン要求であれば気筒別空燃比を理論空燃比よりも大きい空燃比（リーン空燃比）に設定する。
【００１６】
なお、前記気筒別空燃比制御手段は、下流側空燃比センサの出力値と所定の下流側目標値との偏差をなくすように、比例積分微分（ＰＩＤ）制御又は比例積分（ＰＩ）制御等に基いて前記複数の気筒の気筒別空燃比を制御してもよい。この場合においても、前記気筒別空燃比制御手段は、下流側空燃比センサの出力値に基いて「リッチ要求及びリーン要求」の何れの空燃比要求が発生しているのかを自動的且つ実質的に判定し、その空燃比要求に応じて複数の気筒の気筒別空燃比を制御していると言うことができる。
【００１７】
加えて、前記気筒別空燃比制御手段は、変動周期相関値取得手段と、ガス当り度合い判定手段と、を含む。
【００１８】
前記変動周期相関値取得手段は、
前記複数の気筒のうちの一つの気筒を選択気筒として選択し且つ「前記選択気筒の気筒別空燃比」が「前記複数の気筒のうちの残りの気筒（即ち、非選択気筒）の気筒別空燃比」と相違するように、前記複数の気筒のそれぞれの気筒別空燃比を変更するとともに、「前記下流側空燃比センサの出力値の変動周期に相関を有する値」を「前記選択気筒に対応する変動周期相関値」として取得する動作を、総ての気筒のそれぞれが前記選択気筒として選択されるまで繰り返し実行する。
【００１９】
例えば、リッチ要求が発生している期間において、他の気筒から排出される排ガスに比べて下流側空燃比センサに相対的に強く当たる排ガスを排出している気筒（以下、「ガス当りの強い気筒」、「ガス当りの程度が高い気筒」又は「ガス当りの良い気筒」とも云う。）に供給される混合気の空燃比が、他の気筒に供給される混合気の空燃比よりも小さい（よりリッチな）空燃比に設定されると、そのガス当りの強い気筒からの排ガスに含まれている未燃物が触媒にて浄化されることなく触媒から流出したとき、その未燃物の量が相対的に僅かであったとしても下流側空燃比センサの出力値は理論空燃比よりもリッチな空燃比に相当する値へと変化する。その結果、下流側空燃比センサの出力値の変動周期（後述する、反転周期に相関する周期）は短くなる（図６の曲線Ｃ４を参照。）。
【００２０】
これに対し、リッチ要求が発生している期間において、他の気筒から排出される排ガスに比べて下流側空燃比センサに相対的に弱く当たる排ガスを排出している気筒（以下、「ガス当りの弱い気筒」、「ガス当りの程度が低い気筒」又は「ガス当りの悪い気筒」とも云う。）に供給される混合気の空燃比が、他の気筒に供給される混合気の空燃比よりも小さい（よりリッチな）空燃比に設定された場合において、そのガス当りの弱い気筒からの排ガスに含まれている未燃物が触媒にて浄化されることなく触媒から流出したとしても、その未燃物の量が相対的に多くならない限り下流側空燃比センサの出力値は理論空燃比よりもリッチな空燃比に相当する値へと変化しない。その結果、下流側空燃比センサの出力値の変動周期（後述する、反転周期に相関する周期）は長くなる（図６の曲線Ｃ１を参照。）。
【００２１】
同様に、例えば、リーン要求が発生している期間において、ガス当りの強い気筒に供給される混合気の空燃比が、他の気筒に供給される混合気の空燃比よりも大きい（よりリーンな）空燃比に設定されると、そのガス当りの強い気筒からの排ガスに含まれている過剰な酸素が触媒に吸蔵されることなく触媒から流出したとき、その酸素の量が相対的に僅かであったとしても下流側空燃比センサの出力値は理論空燃比よりもリーンな空燃比に相当する値へと変化する。その結果、下流側空燃比センサの出力値の変動周期（後述する、反転周期に相関する周期）は短くなる。
【００２２】
これに対し、リーン要求が発生している期間において、ガス当りの弱い気筒に供給される混合気の空燃比が、他の気筒に供給される混合気の空燃比よりも大きい（よりリーンな）空燃比に設定された場合において、そのガス当りの弱い気筒からの排ガスに含まれている過剰な酸素が触媒に吸蔵されることなく触媒から流出したとしても、その酸素の量が相対的に多くならない限り下流側空燃比センサの出力値は理論空燃比よりもリーンな空燃比に相当する値へと変化しない。その結果、下流側空燃比センサの出力値の変動周期（後述する、反転周期に相関する周期）は長くなる。
【００２３】
以上から理解されるように、前記取得される変動周期相関値は、前記選択気筒からの排ガスの空燃比に対する下流側空燃比センサ感度（即ち、各気筒からの排ガスの「下流側空燃比センサへのガス当りの程度」であり、且つ、各気筒からの排ガスの空燃比の下流側空燃比センサの出力値への影響度合い）に応じて変化する。
【００２４】
そこで、前記ガス当り度合い判定手段は、前記複数の気筒のそれぞれに対応する「前記取得された変動周期相関値」に基づいて、前記複数の気筒のそれぞれから排出される排ガスの前記下流側空燃比センサの出力値への影響度合いを判定する。
【００２５】
このように、第１発明装置によれば、各気筒からの排ガスの下流側空燃比センサの出力値への影響度合いを取得することができる。よって、各気筒からの排ガスの下流側空燃比センサの出力値への影響度合いを利用して気筒別空燃比を制御することが可能になるから、エミッションを改善することが可能な空燃比制御装置が提供され得る。
【００２６】
第１発明装置において、前記ガス当り度合い判定手段は、
前記複数の気筒のそれぞれに対応する「前記取得された変動周期相関値」に基づいて、「前記複数の気筒のそれぞれから排出される排ガス」の「前記下流側空燃比センサの出力値への影響度合い（即ち、「気筒別影響度指標値」）」を、前記複数の気筒のそれぞれに対して取得する気筒別影響度指標値取得手段を含むことができる。
【００２７】
更に、前記気筒別空燃比制御手段は、
前記リッチ要求が発生している期間において、「前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合い」が「第１の値」である気筒の気筒別空燃比が、「前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合い」が「前記第１の値よりも小さい第２の値」である気筒の気筒別空燃比よりも小さくなるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する気筒別空燃比補正手段を含むことができる。この気筒別空燃比補正手段による気筒別空燃比の補正は、フィードバック周期短縮化制御とも称呼される。
【００２８】
これによれば、リッチ要求が発生している場合、「ガス当りが相対的に強い気筒の空燃比」が「ガス当りの相対的に弱い気筒の空燃比」よりも「よりリッチな（小さい）空燃比」に設定される。従って、下流側空燃比センサの出力値が、理論空燃比よりもリッチな空燃比に相当する値へと早期に変化する。これにより、排ガスが燃焼室から下流側空燃比センサまで移動する時間（排ガスの輸送遅れ時間）が大きい場合、及び、排ガスの流量が比較的大きいためにリーン要求が発生したことを迅速に判定しなければならない場合（換言すると、下流側空燃比センサ自体の空燃比変化に対する応答遅れ時間が空燃比制御上無視できないようになる場合）、等において、リーン要求が発生したとの判定を早期に行うことができる。この結果、触媒に多量の未燃物が流入しないように触媒流入ガスの空燃比を適切に制御することができる。従って、エミッションを改善することができる。
【００２９】
第１発明装置において、前記ガス当り度合い判定手段が前記気筒別影響度指標値取得手段を含む場合、前記気筒別空燃比制御手段は、
前記リーン要求が発生している期間において、「前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合い」が「第１の値」である気筒の気筒別空燃比が、「前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合い」が「前記第１の値よりも小さい第２の値」である気筒の気筒別空燃比よりも大きくなるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する気筒別空燃比補正手段を含むことができる。この気筒別空燃比補正手段による気筒別空燃比の補正も、フィードバック周期短縮化制御と称呼される。
【００３０】
これによれば、リーン要求が発生している場合、「ガス当りが相対的に強い気筒の空燃比」が「ガス当りの相対的に弱い気筒の空燃比」よりも「よりリーンな（大きい）空燃比」に設定される。従って、下流側空燃比センサの出力値が、理論空燃比よりもリーンな空燃比に相当する値へと早期に変化する。これにより、排ガスの輸送遅れ時間が大きい場合、及び、排ガスの流量が比較的大きいために下流側空燃比センサ自体の空燃比変化に対する応答遅れ時間が空燃比制御上無視できないようになる場合、等において、リッチ要求が発生したとの判定を早期に行うことができる。この結果、触媒に多量のＮＯｘが流入しないように触媒流入ガスの空燃比を適切に制御することができる。従って、エミッションを改善することができる。
【００３１】
更に、第１発明装置において、
前記ガス当り度合い判定手段は、
前記複数の気筒のそれぞれに対して取得された前記変動周期相関値に基いて、前記複数の気筒のうちで「前記下流側空燃比センサの出力値に最も大きい影響を与える排ガスを排出している気筒」を「ガス当り最良気筒」として特定するガス当り最良気筒特定手段を含むことができる。
【００３２】
この場合、前記気筒別空燃比制御手段は、
前記リッチ要求が発生している期間において「前記特定されたガス当り最良気筒の気筒別空燃比」が「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比」よりも小さい空燃比となるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する制御（フィードバック周期短縮化制御）を実行する気筒別空燃比補正手段を含むことができる。
【００３３】
これによれば、リッチ要求が発生している期間において、「ガス当り最良気筒の気筒別空燃比」が「ガス当り最良気筒以外の気筒の気筒別空燃比」よりも小さい（よりリッチな）空燃比に設定される。従って、下流側空燃比センサの出力値が、理論空燃比よりもリッチな空燃比に相当する値へと早期に変化するので、リーン要求が発生したとの判定を早期に行うことができる。この結果、触媒に多量の未燃物が流入しないように触媒流入ガスの空燃比を適切に制御することができる。従って、第１発明装置は、エミッションを改善することができる。
【００３４】
第１発明装置において、前記ガス当り度合い判定手段が前記ガス当り最良気筒特定手段を含む場合、前記気筒別空燃比制御手段は、
前記リーン要求が発生している期間において、「前記特定されたガス当り最良気筒の気筒別空燃比」が「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比」よりも大きい空燃比となるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する制御（フィードバック周期短縮化制御）を実行する気筒別空燃比補正手段を含むことができる。
【００３５】
これによれば、リーン要求が発生している期間において、「ガス当り最良気筒の気筒別空燃比」が「ガス当り最良気筒以外の気筒の気筒別空燃比」よりも大きい（よりリーンな）空燃比に設定される。従って、下流側空燃比センサの出力値が、理論空燃比よりもリーンな空燃比に相当する値へと早期に変化するので、リッチ要求が発生したとの判定を早期に行うことができる。この結果、触媒に多量のＮＯｘが流入しないように触媒流入ガスの空燃比を適切に制御することができる。従って、第１発明装置は、エミッションを改善することができる。
【００３６】
上述した気筒別空燃比補正手段は、
前記フィードバック周期短縮化制御を、前記機関の吸入空気量が第１閾値吸入空気量以上である場合、及び、前記機関の吸入空気量が前記第１閾値吸入空気量よりも小さい第２閾値吸入空気量以下である場合、の少なくとも一方の場合に実行するように構成され得る。
【００３７】
この構成によれば、排ガスの流量が大量であるためにリーン要求が発生したことを迅速に判定しなければならない場合（換言すると、下流側空燃比センサ自体の空燃比変化に対する応答遅れ時間が空燃比制御上無視できないようになる場合）、及び／又は、排ガスの流量が微量であるために排ガスが燃焼室から下流側空燃比センサまで移動する時間（排ガスの輸送遅れ時間）が大きい場合において、前記フィードバック周期短縮化制御が実行される。従って、触媒に過大な量の「酸素及び／又は未燃物」が流入することを回避することができる。従って、エミッションが改善され得る。
【００３８】
ところで、機関が所定の運転条件（例えば、減速運転）にあるとき、所謂「フューエルカット運転」が実行される。即ち、前記気筒別混合気供給手段は、所定のフューエルカット開始条件が成立したとき前記複数の気筒の総ての燃焼室への混合気の供給を停止するフューエルカット運転を行い、且つ、そのフューエルカット運転中に所定のフューエルカット終了条件が成立したときそのフューエルカット運転を終了して前記複数の気筒の総ての燃焼室への混合気の供給を再開するフューエルカット手段を含むことができる。
【００３９】
この場合、前記ガス当り度合い判定手段は、前述した気筒別影響度指標値取得手段を含むことができる。
【００４０】
更に、前記気筒別空燃比制御手段は、
（１）前記フューエルカット運転の終了時点以降に前記下流側空燃比センサの出力値に基いて前記三元触媒の下流に未燃物が流出し始めたか否かを判定するとともに、
（２）「前記フューエルカット運転の終了時点」から「前記三元触媒の下流に未燃物が流出し始めたと判定される時点」までの期間（即ち、フューエルカット終了後期間）において、「前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合いが第１の値である気筒」の気筒別空燃比が、「前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合いが前記第１の値よりも小さい第２の値である気筒」の気筒別空燃比よりも大きく、且つ、理論空燃比よりは小さい空燃比、になるように、前記気筒別空燃比を補正するフューエルカット終了後制御を実行する気筒別空燃比補正手段を含むことができる。
【００４１】
フューエルカット運転中においては多量の酸素が触媒に流入するので、触媒の酸素吸蔵量は最大酸素吸蔵量に到達する。そのため、フューエルカット終了後期間における空燃比要求はリッチ要求であり、触媒にはリッチ空燃比の排ガスが供給される。よって、フューエルカット終了時点から所定の時間が経過すると、触媒の下流に未燃物が流出し始めるので、空燃比要求はリーン要求へと変化する。
【００４２】
この時点（触媒の下流に未燃物が流出し始める時点）においては、触媒に担持されている酸素吸蔵材は酸素を十分に放出していて還元状態となっているが、「触媒物質である貴金属（特に、ロジウム等）」は充分に還元状態に至っていない。即ち、貴金属はフューエルカット運転中の多量の酸素によって酸化された状態にあり、貴金属がこの状態を脱するためには、酸素吸蔵材から「フューエルカット運転中に吸蔵した過剰な酸素」を放出させるのに必要な未燃物よりも「より多くの未燃物（還元剤）」が必要である。
【００４３】
そこで、上記気筒別空燃比補正手段のように、フューエルカット終了後期間において、「下流側空燃比センサの出力値への影響度合いが第１の値である気筒（ガス当りの相対的に強い気筒）」の空燃比を、「前記下流側空燃比センサの出力値への影響度合いが前記第１の値よりも小さい第２の値である気筒（ガス当りの相対的に弱い気筒）」の空燃比よりも大きい空燃比（但し、理論空燃比よりは小さいリッチ空燃比）に設定する。
【００４４】
これにより、下流側空燃比センサの出力値が理論空燃比よりもリッチな空燃比に相当する値へと変化するタイミング（即ち、前記三元触媒の下流に未燃物が流出し始めたと判定される時点）を従来装置よりも遅らせることができるので、フューエルカット終了後期間において触媒の貴金属を還元させるのに十分な未燃物を触媒に流入させることができる。この結果、フューエルカット運転の終了後において「貴金属が還元されていないために触媒の浄化能力が低下すること」を回避することができる。
【００４５】
同様な理由から、前記気筒別混合気供給手段が前記フューエルカット手段を含み、且つ、前記ガス当り度合い判定手段が前記ガス当り最良気筒特定手段を含む場合、前記気筒別空燃比制御手段は、
（１）前記フューエルカット運転の終了時点以降に前記下流側空燃比センサの出力値に基いて前記三元触媒の下流に未燃物が流出し始めたか否かを判定するとともに、
（２）前記フューエルカット運転の終了時点から前記三元触媒の下流に未燃物が流出し始めたと判定される時点までのフューエルカット終了後期間において、「前記特定されたガス当り最良気筒の気筒別空燃比」が「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比」よりも大きく且つ理論空燃比よりは小さい空燃比になるように、前記気筒別空燃比を補正するフューエルカット終了後制御を実行する気筒別空燃比補正手段を含むことが好適である。
【００４６】
これによっても、フューエルカット終了後におけるガス当り最良気筒の空燃比が理論空燃比へと近づけられるので、フューエルカット終了後期間の終了時点（即ち、前記三元触媒の下流に未燃物が流出し始めたと判定される時点）を遅らせることができる。その結果、フューエルカット終了後期間において触媒の貴金属を還元させるのに十分な未燃物を触媒に流入させることができるので、フューエルカット運転の終了後において「貴金属が還元されていないために触媒の浄化能力が低下すること」を回避することができる。
【００４７】
更に、前記気筒別混合気供給手段が前記フューエルカット手段を含む場合、前記気筒別空燃比補正手段は、「前記フューエルカット終了後期間における前記複数の気筒の気筒別空燃比の平均値」が「前記フューエルカット終了後期間の経過後において、前記リッチ要求が発生している場合における前記複数の気筒の気筒別空燃比の平均値」よりも小さくなる（よりリッチな空燃比となる）ように、前記気筒別空燃比を補正するように構成されることが好適である。
【００４８】
これによれば、フューエルカット終了後期間において触媒に十分な未燃物を供給することができるとともに、フューエルカット終了後から短時間内に触媒を通常の状態へと移行させることができる。
【００４９】
更に、第１発明装置において、前記ガス当り度合い判定手段が前記気筒別影響度指標値取得手段を含む場合、前記気筒別空燃比制御手段は、
前記三元触媒の最大酸素吸蔵量を取得する最大酸素吸蔵量取得手段と、
前記リッチ要求が発生している期間において、
「前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合い」が「第１の値」である気筒の気筒別空燃比が、
（１）「前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合い」が「前記第１の値よりも小さい第２の値」である気筒の気筒別空燃比よりも大きく、且つ、
（２）理論空燃比よりも小さい空燃比であって、更に、
（３）前記取得された最大酸素吸蔵量が小さくなるほど理論空燃比により近い空燃比、
になるように、
前記複数の気筒の気筒別空燃比のそれぞれを補正する制御ハンチング防止制御を実行する気筒別空燃比補正手段と、
を含むことができる。
【００５０】
これによれば、リッチ要求が発生している期間において、「ガス当りが相対的に強い気筒の空燃比」が「ガス当りの相対的に弱い気筒の空燃比」よりも「よりリーンな（大きい）空燃比」に設定される。しかも、「ガス当りが相対的に強い気筒の空燃比」は、理論空燃比よりはリッチな（小さい）空燃比であり、且つ、触媒の最大酸素吸蔵量が小さくなるほど理論空燃比により近い空燃比となる。
【００５１】
触媒の最大酸素吸蔵量が小さくなると、上述した下流側空燃比センサの出力値の変動周期（換言すると、空燃比のフィードバック周期）が短くなり、場合により、機関の空燃比（互いに等しい気筒別空燃比）が激しく振動する（ハンチング）するためにエミッションが悪化する。これに対し、リッチ要求が発生している期間における「ガス当りが相対的に強い気筒の空燃比」を上記のように設定すれば、下流側空燃比センサの出力値が理論空燃比よりもリッチな空燃比に相当する値へと変化する時期が遅れるので、下流側空燃比センサの出力値の変動周期（換言すると、空燃比のフィードバック周期）を長くすることができる。この結果、最大酸素吸蔵量が小さくなった場合にエミッションが悪化することを回避することができる。
【００５２】
同様に、第１発明装置において、前記ガス当り度合い判定手段が前記気筒別影響度指標値取得手段を含む場合、前記気筒別空燃比制御手段は、
前記三元触媒の最大酸素吸蔵量を取得する最大酸素吸蔵量取得手段と、
前記リーン要求が発生している期間において、
「前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合い」が「第１の値」である気筒の気筒別空燃比が、
（１）「前記気筒別影響度指標値により示される前記下流側空燃比センサの出力値への影響度合い」が「前記第１の値よりも小さい第２の値」である気筒の気筒別空燃比よりも小さく、且つ、
（２）理論空燃比よりも大きい空燃比であって、更に、
（３）前記取得された最大酸素吸蔵量が小さくなるほど理論空燃比により近い空燃比、
になるように、
前記複数の気筒の気筒別空燃比のそれぞれを補正する制御ハンチング防止制御を実行する気筒別空燃比補正手段と、
を含むことができる。
【００５３】
これによれば、リーン要求が発生している期間において、「ガス当りが相対的に強い気筒の空燃比」が「ガス当りの相対的に弱い気筒の空燃比」よりも「よりリッチな（小さい）空燃比」に設定される。しかも、「ガス当りが相対的に強い気筒の空燃比」は、理論空燃比よりはリーン（大きい）空燃比であり、且つ、触媒の最大酸素吸蔵量が小さくなるほど理論空燃比により近い空燃比となる。
【００５４】
上述したように、触媒の最大酸素吸蔵量が小さくなると、気筒別空燃比が激しく振動する（ハンチング）するためにエミッションが悪化する場合がある。これに対し、リーン要求が発生している期間における「ガス当りが相対的に強い気筒の空燃比」を上記のように設定すれば、下流側空燃比センサの出力値が理論空燃比よりもリーンな空燃比に相当する値へと変化する時期が遅れるので、下流側空燃比センサの出力値の変動周期（換言すると、空燃比のフィードバック周期）を長くすることができる。この結果、最大酸素吸蔵量が小さくなった場合にエミッションが悪化することを回避することができる。
【００５５】
更に、第１発明装置において、前記ガス当り度合い判定手段が前記最良気筒特定手段を含む場合、前記気筒別空燃比制御手段は、
前記三元触媒の最大酸素吸蔵量を取得する最大酸素吸蔵量取得手段と、
前記リッチ要求が発生している期間において、
前記特定されたガス当り最良気筒の気筒別空燃比が、
（１）「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒」の気筒別空燃比よりも大きく、且つ、
（２）理論空燃比よりも小さい空燃比であって、更に、
（３）前記取得された最大酸素吸蔵量が小さくなるほど理論空燃比により近い空燃比になるように、
前記複数の気筒の気筒別空燃比のそれぞれを補正する制御ハンチング防止制御を実行する気筒別空燃比補正手段と、
を含むことができる。
【００５６】
これによれば、リッチ要求が発生している期間において、ガス当り最良気筒の空燃比が相対的に「よりリーンな（大きい）空燃比」に設定される。しかも、ガス当り最良気筒の空燃比は、理論空燃比よりはリッチな（小さい）空燃比であり、且つ、触媒の最大酸素吸蔵量が小さくなるほど理論空燃比により近い空燃比となる。
【００５７】
上述したように、触媒の最大酸素吸蔵量が小さくなると、気筒別空燃比が激しく振動する（ハンチング）するためにエミッションが悪化する場合がある。これに対し、上記のように、リッチ要求が発生している期間におけるガス当り最良気筒の空燃比を設定すれば、下流側空燃比センサの出力値が理論空燃比よりもリッチな空燃比に相当する値へと変化する時期が遅れるので、下流側空燃比センサの出力値の変動周期（換言すると、空燃比のフィードバック周期）を長くすることができる。この結果、最大酸素吸蔵量が小さくなった場合にエミッションが悪化することを回避することができる。
【００５８】
更に、第１発明装置において、前記ガス当り度合い判定手段が前記最良気筒特定手段を含む場合、前記気筒別空燃比制御手段は、
前記三元触媒の最大酸素吸蔵量を取得する最大酸素吸蔵量取得手段と、
前記リーン要求が発生している期間において、
前記特定されたガス当り最良気筒の気筒別空燃比が、
（１）「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒」の気筒別空燃比よりも小さく、且つ、
（２）理論空燃比よりも大きい空燃比であって、更に、
（３）前記取得された最大酸素吸蔵量が小さくなるほど理論空燃比により近い空燃比になるように、
記複数の気筒の気筒別空燃比のそれぞれを補正する制御ハンチング防止制御を実行する気筒別空燃比補正手段と、
を含むことができる。
【００５９】
これによれば、リーン要求が発生している期間において、ガス当り最良気筒の空燃比が相対的に「よりリッチな（小さい）空燃比」に設定される。しかも、ガス当り最良気筒の空燃比は、理論空燃比よりはリーンな（大きい）空燃比であり、且つ、触媒の最大酸素吸蔵量が小さくなるほど理論空燃比により近い空燃比となる。
【００６０】
上述したように、触媒の最大酸素吸蔵量が小さくなると、気筒別空燃比が激しく振動する（ハンチング）するためにエミッションが悪化する場合がある。これに対し、上記のように、リーン要求が発生している期間におけるガス当り最良気筒の空燃比を設定すれば、下流側空燃比センサの出力値が理論空燃比よりもリーンな空燃比に相当する値へと変化する時期が遅れるので、下流側空燃比センサの出力値の変動周期（換言すると、空燃比のフィードバック周期）を長くすることができる。この結果、最大酸素吸蔵量が小さくなった場合にエミッションが悪化することを回避することができる。
【００６１】
ところで、前記変動周期相関値取得手段は、以下に述べる少なくとも何れか一つのパラメータを基本パラメータとして取得し、その取得された基本パラメータに相関する値を前記変動周期相関値として取得するように構成され得る。
【００６２】
・前記下流側空燃比センサの出力値の軌跡長。
・前記下流側空燃比センサの出力値が理論空燃比よりもリッチな空燃比に相当する値へと変化した時点から理論空燃比よりもリーンな空燃比に相当する値へと変化し更にその後再び理論空燃比よりもリッチな空燃比に相当する値へと変化する時点までの時間に対応する反転周期。
・前記下流側空燃比センサの出力値が理論空燃比よりもリッチな空燃比に相当する値となってから理論空燃比よりもリーンな空燃比に相当する値となるまでの期間における前記三元触媒に流入する過剰な酸素の総量に応じた同三元触媒の吸蔵酸素量。
・前記下流側空燃比センサの出力値が理論空燃比よりもリーンな空燃比に相当する値となってから理論空燃比よりもリッチな空燃比に相当する値となるまでの期間における前記三元触媒に流入する過剰な未燃物の総量に応じた同三元触媒の放出酸素量。
【００６３】
本発明による内燃機関の空燃比制御装置の第２の態様（以下、単に「第２発明装置」とも称呼する。）も、第１発明装置の種々の態様と同様、各気筒から排出される排ガスの「下流側空燃比センサの出力値への影響度合い」を考慮した気筒別空燃比制御を行う。
【００６４】
ところで、第１発明装置は、変動周期相関値取得手段と、ガス当り度合い判定手段と、を備え、各気筒から排出される排ガスの「下流側空燃比センサの出力値への影響度合い」を判定（決定）している。しかしながら、各気筒から排出される排ガス又は排ガスの空燃比の「下流側空燃比センサの出力値への影響度合い」は、例えば、エキゾーストマニホールドの形状、触媒の配設位置、及び、下流側空燃比センサの配設位置等が決まれば、実験等により予め取得され得る。そこで、第２発明装置は、予め取得しておいた「各気筒から排出される排ガスの、下流側空燃比センサの出力値への影響度合い」に基いて、気筒別空燃比を制御する。
【００６５】
具体的に述べると、第２発明装置は、第１発明装置と同様の「三元触媒と、下流側空燃比センサと、気筒別混合気供給手段と、気筒別空燃比制御手段と」を備え、前記複数の気筒のそれぞれから排出された排ガスの前記下流側空燃比センサへの当り方の程度が同複数の気筒間において均一でなく同複数の気筒のそれぞれから排出された排ガスの同下流側空燃比センサの出力値への影響度合いが同複数の気筒間において相違する内燃機関の空燃比制御装置であって、
前記気筒別空燃比制御手段は、
前記機関の運転状態が所定の気筒別空燃比制御条件を満たしているか否かを判定するとともに同機関の運転状態が同気筒別空燃比制御条件を満たしていると判定している場合、「前記複数の気筒のうちで前記下流側空燃比センサの出力値に最も大きい影響を与える排ガスを排出している気筒」である「ガス当り最良気筒」の気筒別空燃比が、「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒」の気筒別空燃比と相違するように（「ガス当り最良気筒」の気筒別空燃比が「ガス当り最良気筒以外の気筒」の気筒別空燃比と常に相違するように、換言すると、全気筒に共通の空燃比フィードバック補正量を用いる場合、その空燃比フィードバック補正量に対して、ガス当り最良気筒の気筒別空燃比とガス当り最良気筒以外の気筒の気筒別空燃比とが相違するように）、前記複数の気筒の気筒別空燃比のそれぞれを補正する気筒別空燃比補正手段を含む。
【００６６】
これによれば、各気筒から排出される排ガス（排ガスの空燃比）に対する下流側空燃比センサの感度（即ち、各気筒からの排ガスの「下流側空燃比センサへのガス当りの程度」であり、且つ、各気筒からの排ガスの下流側空燃比センサの出力値への影響度合い）を積極的に利用して、例えば、上記フィードバック周期短縮化制御、上記フューエルカット終了後制御（フューエルカット運転後の触媒の貴金属の還元）、及び、上記制御ハンチング防止制御等を実現することができる。その結果、第２発明装置も、エミッションを改善することができる。
【００６７】
第２発明装置において、前記気筒別空燃比補正手段は、
前記機関の吸入空気量が第１閾値吸入空気量以上である場合、及び、前記機関の吸入空気量が前記第１閾値吸入空気量よりも小さい第２閾値吸入空気量以下である場合、の少なくとも一方の場合に、前記気筒別空燃比制御条件が満たされていると判定するように構成される。
【００６８】
更に、前記気筒別空燃比補正手段は、
前記リッチ要求が発生している期間において、「前記ガス当り最良気筒の気筒別空燃比」が「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比」よりも（常に）小さくなるように、前記複数の気筒の気筒別空燃比のそれぞれを補正するフィードバック周期短縮化制御を実行するように構成される。
【００６９】
この構成によれば、ガス当り最良気筒からの排ガスに対する感度が高い下流側空燃比センサの出力値は、理論空燃比よりもリッチな空燃比に相当する値へと早期に変化する。従って、排ガスの流量が大量であるためにリーン要求が発生したことを迅速に判定しなければならない場合（換言すると、下流側空燃比センサ自体の空燃比変化に対する応答遅れ時間が空燃比制御上無視できないようになる場合）、及び／又は、排ガスの流量が微量であるために排ガスの輸送遅れ時間が大きい場合において、リーン要求が発生したとの判定を早期に行うことができる。この結果、触媒に多量の未燃物が流入しないように触媒流入ガスの空燃比を適切に制御することができる。従って、エミッションを改善することができる。
【００７０】
或いは、第２発明装置において、前記気筒別空燃比補正手段は、
前記機関の吸入空気量が第１閾値吸入空気量以上である場合、及び、前記機関の吸入空気量が前記第１閾値吸入空気量よりも小さい第２閾値吸入空気量以下である場合、の少なくとも一方の場合に、前記気筒別空燃比制御条件が満たされていると判定するように構成され、且つ、
前記リーン要求が発生している期間において、「前記ガス当り最良気筒の気筒別空燃比」が「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒」の気筒別空燃比よりも（常に）大きくなるように、前記複数の気筒の気筒別空燃比のそれぞれを補正するフィードバック周期短縮化制御を実行するように構成される。
【００７１】
この構成によれば、ガス当り最良気筒からの排ガスに対する感度が高い下流側空燃比センサの出力値は、理論空燃比よりもリーンな空燃比に相当する値へと早期に変化する。従って、排ガスの流量が大量であるためにリッチ要求が発生したことを迅速に判定しなければならない場合（換言すると、下流側空燃比センサ自体の空燃比変化に対する応答遅れ時間が空燃比制御上無視できないようになる場合）、及び／又は、排ガスの流量が微量であるために排ガスの輸送遅れ時間が大きい場合において、リッチ要求が発生したとの判定を早期に行うことができる。この結果、触媒に多量のＮＯｘが流入しないように触媒流入ガスの空燃比を適切に制御することができる。従って、エミッションを改善することができる。
【００７２】
更に、第２発明装置において、
前記気筒別混合気供給手段が前記フューエルカット手段を含む場合、
前記気筒別空燃比制御手段は、
前記フューエルカット運転の終了時点以降に前記下流側空燃比センサの出力値に基いて前記三元触媒の下流に未燃物が流出し始めたか否かを判定するとともに、前記フューエルカット運転の終了時点から前記三元触媒の下流に未燃物が流出し始めたと判定される時点までの「フューエルカット終了後期間」において前記気筒別空燃比制御条件が満たされていると判定するように構成され、且つ、
前記フューエルカット終了後期間において、「前記ガス当り最良気筒の気筒別空燃比」が「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比」よりも（常に）大きく且つ理論空燃比よりは小さい空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正するフューエルカット終了後制御を実行するように構成される。
【００７３】
この構成によれば、フューエルカット終了後において、ガス当り最良気筒の空燃比が理論空燃比へと近づけられるので、フューエルカット終了後期間の終了時点（三元触媒の下流に未燃物が流出し始めたと判定される時点）を遅らせることができる。その結果、フューエルカット終了後期間において触媒の貴金属を還元させるのに十分な未燃物を触媒に流入させることができるので、フューエルカット運転の終了後において「貴金属が還元されていないために触媒の浄化能力が低下すること」を回避することができる。
【００７４】
更に、第２発明装置において、前記気筒別空燃比補正手段は、
前記三元触媒の最大酸素吸蔵量を取得するとともに、前記取得された最大酸素吸蔵量が所定の閾値最大酸素吸蔵量よりも小さいか否かを判定し、前記取得された最大酸素吸蔵量が所定の閾値最大酸素吸蔵量よりも小さいと判定した場合に前記気筒別空燃比制御条件が満たされていると判定するように構成され、且つ、
前記リッチ要求が発生している期間において、「前記ガス当り最良気筒の気筒別空燃比」が「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比」よりも（常に）大きく且つ理論空燃比よりも小さい空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する制御ハンチング防止制御を実行するように構成される。
【００７５】
これによれば、触媒が劣化して最大酸素吸蔵量が所定の閾値最大酸素吸蔵量よりも小さくなっている場合であって、リッチ要求が発生している期間において、「ガス当り最良気筒の空燃比」が「ガス当り最良気筒以外の気筒の空燃比」よりも「よりリーンであり且つ理論空燃比により近い空燃比」に設定される。
【００７６】
前述したように、触媒の最大酸素吸蔵量が小さくなると、下流側空燃比センサの出力値の変動周期（換言すると、空燃比のフィードバック周期）が短くなり、場合により、気筒別空燃比が激しく振動する（ハンチング）する。これに対し、上記構成によれば、ガス当り最良気筒からの排ガスに対する感度が高い下流側空燃比センサの出力値が「理論空燃比よりもリッチな空燃比に相当する値」へと変化する時期が遅れるので、下流側空燃比センサの出力値の反転周期（換言すると、空燃比のフィードバック周期）を長くすることができる。この結果、最大酸素吸蔵量が小さくなった場合にエミッションが悪化することを回避することができる。
【００７７】
更に、第２発明装置において、前記気筒別空燃比補正手段は、
前記三元触媒の最大酸素吸蔵量を取得するとともに前記取得された最大酸素吸蔵量が所定の閾値最大酸素吸蔵量よりも小さいか否かを判定し、前記取得された最大酸素吸蔵量が所定の閾値最大酸素吸蔵量よりも小さいと判定した場合に前記気筒別空燃比制御条件が満たされていると判定するように構成され、且つ、
前記リーン要求が発生している期間において、「前記ガス当り最良気筒の気筒別空燃比」が「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比」よりも（常に）小さく且つ理論空燃比よりも大きい空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する制御ハンチング防止制御を実行するように構成される。
【００７８】
これによれば、触媒が劣化して最大酸素吸蔵量が所定の閾値最大酸素吸蔵量よりも小さくなっている場合であって、リーン要求が発生している期間において、「ガス当り最良気筒の空燃比」が「ガス当り最良気筒以外の気筒の空燃比」よりも「よりリッチであり且つ理論空燃比により近い空燃比」に設定される。
【００７９】
前述したように、触媒の最大酸素吸蔵量が小さくなると、下流側空燃比センサの出力値の変動周期（換言すると、空燃比のフィードバック周期）が短くなり、場合により、気筒別空燃比が激しく振動する（ハンチング）する。これに対し、上記構成によれば、ガス当り最良気筒からの排ガスに対する感度が高い下流側空燃比センサの出力値が「理論空燃比よりもリーンな空燃比に相当する値」へと変化する時期が遅れるので、下流側空燃比センサの出力値の反転周期（換言すると、空燃比のフィードバック周期）を長くすることができる。この結果、最大酸素吸蔵量が小さくなった場合にエミッションが悪化することを回避することができる。
【００８０】
本発明の他の目的、他の特徴及び付随する利点は、以下の図面を参照しつつ記述される本発明の各実施形態についての説明から容易に理解されるであろう。
【図面の簡単な説明】
【００８１】
【図１】図１は、本発明の実施形態に係る空燃比制御装置（本制御装置）が適用される内燃機関の排気系統の概略斜視図である。
【図２】図２は、本制御装置を適用した内燃機関の概略図である。
【図３】図３は、図２に示した上流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図４】図４は、図２に示した下流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図５】図５は、本発明の第１実施形態に係る空燃比制御装置（第１制御装置）のＣＰＵが実行するルーチンを示した概略フローチャートである。
【図６】図６は、下流側空燃比センサの出力値と、リッチ要求フラグと、触媒流入ガスの空燃比と、の関係を示したタイムチャートである。
【図７】図７は、第１制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図８】図８は、第１制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図９】図９は、第１制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１０】図１０は、第１制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１１】図１１は、第１制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１２】図１２は、第１制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１３】図１３は、第１制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１４】図１４は、第１制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１５】図１５は、本発明の第２実施形態に係る空燃比制御装置（第２制御装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図１６】図１６は、本発明の第３実施形態に係る空燃比制御装置（第３制御装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図１７】図１７は、本発明の第４実施形態に係る空燃比制御装置（第４制御装置）のＣＰＵが実行するルーチンを示した概略フローチャートである。
【図１８】図１８は、本発明の第３変形例に係る空燃比制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１９】図１９は、本発明の第５変形例に係る空燃比制御装置のＣＰＵが空燃比要求を判定する際の作動を説明するためのタイムチャートである。
【発明を実施するための形態】
【００８２】
以下、本発明の実施形態に係る内燃機関の空燃比制御装置について図面を参照しながら説明する。
【００８３】
＜第１実施形態＞
（構成）
図２は、本発明の第１実施形態に係る空燃比制御装置（以下、「第１制御装置」とも称呼する。）が適用される内燃機関１０の概略構成を示している。機関１０は、４サイクル・火花点火式・多気筒（本例において４気筒）・ガソリン燃料機関である。機関１０は、本体部２０、吸気系統３０及び排気系統４０を備えている。
【００８４】
本体部２０は、シリンダブロック部とシリンダヘッド部とを備えている。本体部２０は、ピストン頂面、シリンダ壁面及びシリンダヘッド部の下面により構成される複数（４個）の燃焼室（第１気筒＃１乃至第４気筒＃４）２１を備えている。
【００８５】
シリンダヘッド部には、各燃焼室（各気筒）２１に「空気及び燃料からなる混合気」を供給するための吸気ポート２２と、各燃焼室２１から排ガス（既燃ガス）を排出するための排気ポート２３と、が形成されている。吸気ポート２２は図示しない吸気弁により開閉され、排気ポート２３は図示しない排気弁により開閉されるようになっている。
【００８６】
シリンダヘッド部には複数（４個）の点火プラグ２４が固定されている。各点火プラグ２４は、その火花発生部が各燃焼室２１の中央部であってシリンダヘッド部の下面近傍位置に露呈するように配設されている。各点火プラグ２４は、点火信号に応答して火花発生部から点火用火花を発生するようになっている。
【００８７】
シリンダヘッド部には更に複数（４個）の燃料噴射弁（インジェクタ）２５が固定されている。燃料噴射弁２５は、各吸気ポート２２に一つずつ（即ち、一つの気筒に対して一つ）設けられている。燃料噴射弁２５は、噴射指示信号に応答し、「その噴射指示信号に含まれる指示噴射量の燃料」を対応する吸気ポート２２内に噴射するようになっている。
【００８８】
更に、シリンダヘッド部には、吸気弁制御装置２６が設けられている。この吸気弁制御装置２６は、インテークカムシャフト（図示せず）とインテークカム（図示せず）との相対回転角度（位相角度）を油圧により調整・制御する周知の構成を備えている。吸気弁制御装置２６は、指示信号（駆動信号）に基いて作動し、吸気弁の開弁タイミング（吸気弁開弁タイミング）を変更することができるようになっている。
【００８９】
吸気系統３０は、インテークマニホールド３１、吸気管３２、エアフィルタ３３、スロットル弁３４及びスロットル弁アクチュエータ３４ａを備えている。
【００９０】
インテークマニホールド３１は、各吸気ポート２２に接続された複数の枝部と、それらの枝部が集合したサージタンク部と、を備えている。吸気管３２はサージタンク部に接続されている。インテークマニホールド３１、吸気管３２及び複数の吸気ポート２２は、吸気通路を構成している。エアフィルタ３３は吸気管３２の端部に設けられている。スロットル弁３４はエアフィルタ３３とインテークマニホールド３１との間の位置において吸気管３２に回動可能に取り付けられている。スロットル弁３４は、回動することにより吸気管３２が形成する吸気通路の開口断面積を変更するようになっている。スロットル弁アクチュエータ３４ａは、ＤＣモータからなり、指示信号（駆動信号）に応答してスロットル弁３４を回動させるようになっている。
【００９１】
排気系統４０は、エキゾーストマニホールド４１、エキゾーストパイプ（排気管）４２、上流側触媒４３及び下流側触媒４４を備えている。
【００９２】
エキゾーストマニホールド４１は、各排気ポート２３に接続された複数の枝部４１ａと、それらの枝部４１ａが集合した集合部（排気集合部）４１ｂと、からなっている。エキゾーストパイプ４２は、エキゾーストマニホールド４１の集合部４１ｂに接続されている。エキゾーストマニホールド４１、エキゾーストパイプ４２及び複数の排気ポート２３は、排ガスが通過する通路を構成している。なお、本明細書において、エキゾーストマニホールド４１の集合部４１ｂ及びエキゾーストパイプ４２により形成される通路を、便宜上、「排気通路」と称呼する。
【００９３】
上流側触媒４３は、セラミックからなる担持体に「触媒物質である貴金属（パラジウムＰｄ及び白金Ｐｔ、ロジウムＲｄ等）」及び「酸素吸蔵材であるセリア（CeO2)」を担持していて、酸素吸蔵・放出機能（酸素吸蔵機能）を有する三元触媒である。上流側触媒４３はエキゾーストパイプ４２に配設（介装）されている。上流側触媒４３は所定の活性温度に到達すると、「未燃物（ＨＣ、ＣＯ及びＨ２等）と窒素酸化物（ＮＯｘ）とを同時に浄化する触媒機能」及び「酸素吸蔵機能」を発揮する。上流側触媒４３は、スタート・キャタリティック・コンバータ（ＳＣ）又は第１触媒とも称呼される。
【００９４】
下流側触媒４４は、上流側触媒４３と同様の三元触媒である。下流側触媒４４は、上流側触媒４３よりも下流においてエキゾーストパイプ４２に配設（介装）されている。下流側触媒４４は、車両のフロア下方に配設されているため、アンダ・フロア・キャタリティック・コンバータ（ＵＦＣ）又は第２触媒とも称呼される。なお、本明細書において、単に「触媒」と言うとき、その「触媒」は上流側触媒４３を意味する。
【００９５】
第１制御装置は、熱線式エアフローメータ５１、スロットルポジションセンサ５２、機関回転速度センサ５３、水温センサ５４、上流側空燃比センサ５５、下流側空燃比センサ５６及びアクセル開度センサ５７を備えている。
【００９６】
熱線式エアフローメータ５１は、吸気管３２内を流れる吸入空気の質量流量を検出し、その質量流量（機関１０の単位時間あたりの吸入空気量）Ｇａを表す信号を出力するようになっている。
【００９７】
スロットルポジションセンサ５２は、スロットル弁３４の開度を検出し、スロットル弁開度ＴＡを表す信号を出力するようになっている。
【００９８】
機関回転速度センサ５３は、インテークカムシャフトが５°回転する毎に幅狭のパルスを有するとともにインテークカムシャフトが３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。機関回転速度センサ５３から出力される信号は後述する電気制御装置６０により機関回転速度ＮＥを表す信号に変換されるようになっている。更に、電気制御装置６０は、機関回転速度センサ５３及び図示しないクランク角センサからの信号に基いて、機関１０のクランク角度（絶対クランク角）を取得するようになっている。
【００９９】
水温センサ５４は、内燃機関１０の冷却水の温度を検出し、冷却水温ＴＨＷを表す信号を出力するようになっている。
【０１００】
上流側空燃比センサ５５は、エキゾーストマニホールド４１の集合部４１ｂと上流側触媒４３との間の位置においてエキゾーストマニホールド４１及びエキゾーストパイプ４２の何れか（即ち、排気通路）に配設されている。上流側空燃比センサ５５は、例えば、特開平１１−７２４７３号公報、特開２０００−６５７８２号公報及び特開２００４−６９５４７号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
【０１０１】
上流側空燃比センサ５５は、図３に示したように、上流側空燃比センサ５５の配設位置を流れる排ガスの空燃比（触媒４３に流入するガスである「触媒流入ガス」の空燃比、検出上流側空燃比abyfs）に応じた出力値Vabyfsを出力する。出力値Vabyfsは触媒流入ガスの空燃比が大きくなるほど（即ち、触媒流入ガスの空燃比がリーン側の空燃比になるほど）増大する。
【０１０２】
電気制御装置６０は、図３に示した空燃比変換テーブル（マップ）Mapabyfsを記憶している。電気制御装置６０は、出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより、実際の上流側空燃比abyfsを検出する（検出上流側空燃比abyfsを取得する）ようになっている。
【０１０３】
再び、図２を参照すると、下流側空燃比センサ５６は、上流側触媒４３と下流側触媒４４との間の位置においてエキゾーストパイプ４２（即ち、排気通路）に配設されている。下流側空燃比センサ５６は、図１に示したように、上流側触媒４３の近傍に設けられている。下流側空燃比センサ５６は、周知の濃淡電池型の酸素濃度センサ（Ｏ２センサ）である。下流側空燃比センサ５６は、下流側空燃比センサ５６の配設位置を流れる排ガス（即ち、触媒４３から流出するガスである「触媒流出ガス」）の空燃比（下流側空燃比afdown）に応じた出力値Voxsを出力するようになっている。
【０１０４】
下流側空燃比センサ５６の出力値Voxsは、図４に示したように、触媒流出ガス（被検出ガス）の空燃比が理論空燃比よりもリッチ側の空燃比であって、触媒流出ガスの酸化平衡後のガスの酸素分圧が小さいとき最大出力値max（例えば、約０．９〜１．０Ｖ）となる。即ち、下流側空燃比センサ５６は、触媒流出ガスに過剰の酸素が含まれていないときに最大出力値maxを出力する。
【０１０５】
また、出力値Voxsは、触媒流出ガスの空燃比が理論空燃比よりもリーン側の空燃比であって、触媒流出ガスの酸化平衡後のガスの酸素分圧が大きいとき最小出力値min（例えば、約０〜０．１Ｖ）となる。即ち、下流側空燃比センサ５６は触媒流出ガスに過剰の酸素が含まれているとき最小出力値minを出力する
【０１０６】
更に、この出力値Voxsは、触媒流出ガスの空燃比が理論空燃比よりもリッチ側の空燃比からリーン側の空燃比へと変化する際に最大出力値maxから最小出力値minへと急激に減少する。逆に、出力値Voxsは、触媒流出ガスの空燃比が理論空燃比よりもリーン側の空燃比からリッチ側の空燃比へと変化する際に最小出力値minから最大出力値maxへと急激に増大する。なお、最小出力値minと最大出力値maxとの平均値は中央値Vmid（＝（Vmax＋Vmin）／２）又は理論空燃比相当電圧Ｖstと称呼される。
【０１０７】
図２に示したアクセル開度センサ５７は、運転者によって操作されるアクセルペダルＡＰの操作量を検出し、アクセルペダルＡＰの操作量Accpを表す信号を出力するようになっている。
【０１０８】
電気制御装置６０は、「ＣＰＵ、ＲＯＭ、ＲＡＭ、バックアップＲＡＭ、並びに、ＡＤコンバータを含むインターフェース等」からなる「周知のマイクロコンピュータ」を含む電子回路である。
【０１０９】
電気制御装置６０が備えるバックアップＲＡＭは、機関１０を搭載した車両の図示しないイグニッション・キー・スイッチの位置（オフ位置、始動位置及びオン位置等の何れか）に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップＲＡＭは、バッテリから電力の供給を受けている場合、ＣＰＵの指示に応じてデータを格納する（データが書き込まれる）とともに、そのデータを読み出し可能となるように保持（記憶）する。バックアップＲＡＭは、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。即ち、それまでに保持していたデータが消失（破壊）される。
【０１１０】
電気制御装置６０のインターフェースは、前記センサ５１〜５７と接続され、ＣＰＵにセンサ５１〜５７からの信号を供給するようになっている。更に、そのインターフェースは、ＣＰＵの指示に応じて、各気筒の点火プラグ２４、各気筒の燃料噴射弁２５、吸気弁制御装置２６及びスロットル弁アクチュエータ３４ａ等に指示信号（駆動信号）等を送出するようになっている。なお、電気制御装置６０は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度ＴＡが大きくなるように、スロットル弁アクチュエータ３４ａに指示信号を送出するようになっている。
【０１１１】
（第１制御装置による空燃比制御の概要）
第１制御装置は、下流側空燃比センサ５６の出力値Voxsに基いて触媒流入ガスの空燃比をリーン空燃比（理論空燃比stoichよりも大きい空燃比）に設定すべきリーン要求が発生していると判定しているとき、機関の空燃比（気筒別空燃比）をリーン空燃比に設定する。第１制御装置は、下流側空燃比センサ５６の出力値Voxsに基いて触媒流入ガスの空燃比をリッチ空燃比（理論空燃比stoichよりも小さい空燃比）に設定すべきリッチ要求が発生していると判定しているとき、機関の空燃比（気筒別空燃比）をリッチ空燃比に設定する。この空燃比制御は、下流側空燃比センサ５６の出力値Voxsに基づく空燃比のフィードバック制御である。
【０１１２】
更に、第１制御装置は、図５の概略フローチャートに作動の概要を示したように、特定の一つの気筒（選択気筒（第Ｎ気筒））の燃焼室２１に供給される混合気の空燃比（選択気筒の空燃比）を、選択気筒以外の気筒（非選択気筒）の燃焼室２１に供給される混合気の空燃比（非選択気筒の空燃比）と「（常に）相違」させる。実際には、第１制御装置は、選択気筒の空燃比を非選択気筒の空燃比と「相違」させるに当り、空燃比要求としてリッチ要求が発生している期間において、選択気筒の空燃比を非選択気筒の空燃比よりも「より小さい（よりリッチな）空燃比」に設定する。
【０１１３】
そして、第１制御装置は、その場合（選択気筒の空燃比を非選択気筒の空燃比よりも小さい空燃比に設定している場合）の平均酸素吸蔵量ＯＳＡ（Ｎ）を取得し、その平均酸素吸蔵量ＯＳＡ（Ｎ）を選択気筒（第Ｎ気筒）に対応させながら記憶する（ステップ５０５乃至ステップ５４５を参照。）。後述するように、この平均酸素吸蔵量ＯＳＡ（Ｎ）は、下流側空燃比センサ５６の出力値Voxsの「周期的変動の態様を示す値」の一つであり、「変動周期相関値」とも称呼される。換言すると、平均酸素吸蔵量ＯＳＡ（Ｎ）は、「出力値Voxsの反転周期」に応じて変化する値であるので、出力値Voxsの反転周期に相関する値である。
【０１１４】
より具体的に述べると、第１制御装置は、フィードバック制御条件が成立している場合、下流側空燃比センサ５６の出力値Voxsが理論空燃比相当電圧Ｖstよりも大きいときに触媒４３の状態がリッチ状態（触媒流入ガスの空燃比をリーン空燃比にすべきリーン要求が発生している状態）であると判定し、各気筒の空燃比を「理論空燃比よりも所定値だけ大きい（リーンの）空燃比」に設定する。
【０１１５】
更に、第１制御装置は、下流側空燃比センサ５６の出力値Voxsが理論空燃比相当電圧Ｖstよりも小さいときに触媒４３の状態がリーン状態（触媒流入ガスの空燃比をリッチ空燃比にすべきリッチ要求が発生している状態）であると判定し、各気筒の空燃比を「理論空燃比よりも所定値だけ小さい（リッチの）空燃比」に設定する。即ち、第１制御装置は、下流側空燃比センサ５６の出力値Voxsに基づいて各気筒の空燃比（気筒別空燃比）をフィードバック制御する。
【０１１６】
この状態において、第１制御装置は図５のステップ５０５に進んだとき、「各気筒から排出される排ガスの下流側空燃比センサ５６への当たり方の程度（即ち、各気筒から排出される排ガスの下流側空燃比センサ５６の出力値Voxsへの影響度）」の判定（決定）を完了しているか否かを判定する。以下、「ある気筒から排出される排ガスの下流側空燃比センサ５６への当たり方の程度」を、単に「ある気筒のガス当りの程度」とも称呼する。
【０１１７】
このとき、各気筒のガス当りの程度の判定が完了されていなければ、第１制御装置はステップ５１０にて第１気筒の空燃比のみをリッチ補正する。即ち、下流側空燃比センサ５６の出力値Voxsが理論空燃比相当電圧Ｖstよりも小さく、従って、リッチ要求が発生しているとき、第１気筒以外の気筒の空燃比を「理論空燃比よりも所定値だけリッチな（小さい）空燃比」に設定するとともに、第１気筒の空燃比を「第１気筒以外の気筒の空燃比よりも更にリッチな（より小さい）空燃比」に設定する。換言すると、第１制御装置は、触媒流入ガスの空燃比をリッチ空燃比に設定する場合において、「第１気筒に対応する燃料噴射弁２５から噴射される燃料噴射量」を「他の気筒の燃料噴射弁２５から噴射される燃料噴射量」に比較して所定比率だけ増大させる。
【０１１８】
更に、第１制御装置は、下流側空燃比センサ５６の出力値Voxsが理論空燃比相当電圧Ｖstよりも大きく、従って、リーン要求が発生しているとき、総ての気筒の空燃比を「理論空燃比よりも所定値だけリーンな（大きい）空燃比」に設定する。即ち、リーン要求が発生しているとき、第１制御装置は、「第１気筒に対応する燃料噴射弁２５から噴射される燃料噴射量」と「他の気筒の燃料噴射弁２５から噴射される燃料噴射量」とを等しい値に設定する。
【０１１９】
第１制御装置は、この状態において空燃比のフィードバック制御を継続し、触媒４３の吸蔵酸素量ＯＳＡｋｚと、放出酸素量ＯＳＡｈｓと、を周知の手法に基いて算出する。
【０１２０】
例えば、吸蔵酸素量ＯＳＡｋｚは、下記の（１）式により示される単位時間あたりの吸蔵酸素増大量ΔＯＳＡｋｚを、下流側空燃比センサ５６の出力値Voxsが理論空燃比相当電圧Ｖstよりも大きくなっている期間（図６の時刻ｔ１−時刻ｔ２を参照。）積算することにより算出される。（１）式において、値「０．２３」は大気中に含まれる酸素の重量割合である。ＳＦｉは前記単位時間内に噴射された燃料噴射量の合計である。abyfsは、上流側空燃比センサ５５の出力値Vabyfsを図３に示した空燃比変換テーブルMapabyfs(Vabyfs)に適用することにより求められた上流側空燃比abyfs（即ち、触媒４３に流入するガスの空燃比）である。stoichは理論空燃比（例えば、１４．６）である。
ΔＯＳＡｋｚ＝０．２３・ＳＦｉ・（abyfs−stoich）  …（１）
【０１２１】
例えば、放出酸素量ＯＳＡｈｓは、下記の（２）式により示される単位時間あたりの放出酸素増大量ΔＯＳＡｈｓを、下流側空燃比センサ５６の出力値Voxsが理論空燃比相当電圧Ｖstよりも小さくなっている期間（図６の時刻ｔ２−時刻ｔ３を参照。）積算することにより算出される。
ΔＯＳＡｈｓ＝０．２３・ＳＦｉ・（stoich−abyfs）  …（２）
【０１２２】
第１制御装置は、吸蔵酸素量ＯＳＡｋｚ及び放出酸素量ＯＳＡｈｓが取得されると、それらの平均値ＯＳＡ（１）を算出する。この平均値ＯＳＡ（１）が、上述した平均酸素吸蔵量ＯＳＡ（Ｎ）（Ｎ＝１）である。平均酸素吸蔵量ＯＳＡ（１）は第１気筒の変動周期相関値としてＲＡＭに記憶される。
【０１２３】
次いで、第１制御装置は、図５のステップ５１０及びステップ５１５と同様に、ステップ５２０及びステップ５２５にて第２気筒の空燃比のみをリッチ補正し、その状態において吸蔵酸素量ＯＳＡｋｚ及び放出酸素量ＯＳＡｈｓを取得する。そして、第１制御装置は、これらの平均値である平均酸素吸蔵量ＯＳＡ（２）を第２気筒の変動周期相関値としてＲＡＭに記憶する。
【０１２４】
次いで、第１制御装置は、ステップ５１０及びステップ５１５と同様に、ステップ５３０及びステップ５３５にて第３気筒の空燃比のみをリッチ補正し、その状態において吸蔵酸素量ＯＳＡｋｚ及び放出酸素量ＯＳＡｈｓを取得する。そして、第１制御装置は、これらの平均値である平均酸素吸蔵量ＯＳＡ（３）を第３気筒の変動周期相関値としてＲＡＭに記憶する。
【０１２５】
次いで、第１制御装置は、ステップ５１０及びステップ５１５と同様に、ステップ５４０及びステップ５４５にて第４気筒の空燃比のみをリッチ補正し、その状態において吸蔵酸素量ＯＳＡｋｚ及び放出酸素量ＯＳＡｈｓを取得する。そして、第１制御装置は、これらの平均値である平均酸素吸蔵量ＯＳＡ（４）を第４気筒の変動周期相関値としてＲＡＭに記憶する。
【０１２６】
次いで、第１制御装置は、ステップ５５０に進み、変動周期相関値である平均酸素吸蔵量ＯＳＡ（Ｎ）（Ｎは１〜４の整数）に基いて、各気筒のガス当りの程度を判定（決定）する。
【０１２７】
ところで、図６の曲線Ｃ１に示したように、ガス当りの程度が弱い気筒のみをリッチ補正した場合、下流側空燃比センサ５６の出力値Voxsは「そのリッチ補正された気筒の排ガス」に対して変化し難い。よって、下流側空燃比センサ５６の出力値Voxsは、理論空燃比相当電圧Ｖstよりも小さい値から大きい値へと変化し難い。その結果、下流側空燃比センサ５６の出力値Voxsの反転周期は比較的長くなる（時刻ｔ１−時刻ｔ３を参照。）。それ故、触媒流入ガスの空燃比を示す線Ｃ３と理論空燃比stoichを示す破線の直線とにより囲まれる領域の面積（ハッチングが付与された部分の面積）から理解されるように、平均酸素吸蔵量ＯＳＡ（Ｎ）（＝吸蔵酸素量ＯＳＡｋｚ及び放出酸素量ＯＳＡｈｓの平均値）は、ガス当りの程度が弱い気筒をリッチ補正した場合には比較的大きくなる。
【０１２８】
なお、出力値Voxsの反転周期とは、「下流側空燃比センサ５６の出力値Voxsが理論空燃比よりもリッチな空燃比に相当する値（理論空燃比相当電圧Ｖstよりも大きい値）へと変化した時点から理論空燃比よりもリーンな空燃比に相当する値（理論空燃比相当電圧Ｖstよりも小さい値）へと変化し、更にその後、再び理論空燃比よりもリッチな空燃比に相当する値へと変化する時点までの時間（図６の時刻ｔ１−時刻ｔ３、及び、時刻ｔ１０−時刻ｔ３０等に相当する時間）である。
【０１２９】
一方、図６の曲線Ｃ４に示したように、ガス当りの程度が強い気筒のみをリッチ補正した場合、下流側空燃比センサ５６の出力値Voxsは「そのリッチ補正された気筒の排ガス」に対して変化し易い。よって、下流側空燃比センサ５６の出力値Voxsは、理論空燃比相当電圧Ｖstよりも小さい値から大きい値へと変化し易い。その結果、下流側空燃比センサ５６の出力値Voxsの反転周期は比較的短くなる（時刻ｔ１０−時刻ｔ３０、時刻ｔ３０−時刻ｔ５０を参照。）。それ故、触媒流入ガスの空燃比を示す線Ｃ６と理論空燃比stoichを示す破線の直線とにより囲まれる領域の面積（ハッチングが付与された部分の面積）から理解されるように、平均酸素吸蔵量ＯＳＡ（Ｎ）（＝吸蔵酸素量ＯＳＡｋｚ及び放出酸素量ＯＳＡｈｓの平均値）は、ガス当りの程度が強い気筒のみをリッチ補正した場合、ガス当りの程度が弱い気筒のみをリッチ補正した場合に比較して、小さくなる。
【０１３０】
そこで、第１制御装置は、平均酸素吸蔵量ＯＳＡ（Ｎ）が小さいほど「ガス当たりの程度がより強い」気筒であると判定する。即ち、例えば、下記の表１に示したような平均酸素吸蔵量ＯＳＡ（Ｎ）が得られたとすると、第１制御装置は、第１気筒が「ガス当りが最も強い気筒（ガス当たり最良気筒）」であり、第４気筒が「ガス当りが最も弱い気筒（ガス当たり最低気筒）」であり、残りの第２及び第３気筒が「ガス当たりが標準的な気筒（ガス当り標準気筒）」であると判定する。
【表１】
2012039064.tif 000003
【０１３１】
なお、第１制御装置は、上記表１に示したように、平均酸素吸蔵量ＯＳＡ（Ｎ）（Ｎは１〜４の整数）の平均値ＯＳＡave（＝｛ＯＳＡ（１）＋ＯＳＡ（２）＋ＯＳＡ（３）＋ＯＳＡ（４）｝／４）を算出し、平均値ＯＳＡaveから各平均酸素吸蔵量ＯＳＡ（Ｎ）を減じた値（ＯＳＡaveとＯＳＡ（Ｎ）との差）を、前記複数の気筒のそれぞれ（第Ｎ気筒）から排出される排ガスの下流側空燃比センサ５６の出力値Voxsへの影響度合いを表す値ＥＦ（以下、「気筒別影響度指標値ＥＦ（Ｎ）」とも称呼する。）として取得する。即ち、気筒別影響度指標値ＥＦ（Ｎ）＝ＳＯＡave−ＯＳＡ（Ｎ）であるので、気筒別影響度指標値ＥＦ（Ｎ）が大きいほどガス当り程度が強いことを示す。
【０１３２】
その後、第１制御装置は図５のステップ５５５に進み、各気筒のガス当たりの程度（例えば、気筒別影響度指標値ＥＦ（Ｎ））に基いて、後述する気筒別空燃比制御（気筒別燃料噴射量制御）を実行する。即ち、機関１０の運転状態等に基づいて、空燃比フィードバック制御中の各気筒の空燃比を相違させる。以上が、第１制御装置の作動の概要である。
【０１３３】
（作動）
次に、本制御装置の実際の作動の詳細について説明する。
【０１３４】
＜燃料噴射制御＞
ＣＰＵは、図７にフローチャートにより示した最終燃料噴射量Ｆｉ（Ｎ）の計算及び噴射指示を行うルーチンを所定時間が経過する毎に繰り返し実行するようになっている。
【０１３５】
従って、所定のタイミングになると、ＣＰＵはステップ７００から処理を開始してステップ７０５に進み、フューエルカットフラグＸＦＣの値が「０」であるか否かを判定する。フューエルカットフラグＸＦＣの値は、後述する図１１に示したフューエルカット条件判定ルーチンにより、フューエルカットフラグＸＦＣの値が「０」である場合にフューエルカット開始条件が成立したとき「１」に設定され、フューエルカットフラグＸＦＣの値が「１」である場合にフューエルカット終了条件が成立したとき「０」に設定される。なお、フューエルカットフラグＸＦＣの値はイニシャルルーチンにおいて「０」に設定される。イニシャルルーチンは、機関１０が搭載された車両のイグニッション・キー・スイッチがオフからオンに変更されたときにＣＰＵにより実行されるルーチンである。
【０１３６】
いま、フューエルカットフラグＸＦＣの値が「０」であると仮定すると、ＣＰＵはステップ７０５にて「Ｙｅｓ」と判定してステップ７１０に進み、任意の気筒（第Ｎ気筒、Ｎは１〜４の整数）のクランク角がその気筒の吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ１８０°ＣＡ）であるか否かを判定する。
【０１３７】
このとき、吸気上死点前の所定クランク角度になっている気筒がなければ、ＣＰＵはステップ７１０にて「Ｎｏ」と判定し、ステップ７９５に直接進んで本ルーチンを一旦終了する。
【０１３８】
これに対し、何れかの気筒（第Ｎ気筒）のクランク角度がその気筒（第Ｎ気筒）の吸気上死点前の所定クランク角度になっていると、ＣＰＵはステップ７１０にて「Ｙｅｓ」と判定してステップ７１５に進み、テーブルMapMc（Ｇａ，ＮＥ）に実際の吸入空気量Ｇａ及び機関回転速度ＮＥを適用することによって「第Ｎ気筒に吸入される筒内吸入空気量Ｍｃ（Ｎ）」を取得（推定・決定）する。第Ｎ気筒は「今回の吸気行程を迎える気筒」であり、「燃料噴射気筒」とも称呼される。Ｇａは、エアフローメータ５１が計測している吸入空気量である。ＮＥは、別途求められている機関回転速度である。なお、ＣＰＵは周知の「空気モデル」を用いて筒内吸入空気量Ｍｃ（Ｎ）を推定してもよい。
【０１３９】
次に、ＣＰＵはステップ７２０に進み、筒内吸入空気量Ｍｃ（Ｎ）を理論空燃比stoichで除することにより、第Ｎ気筒の空燃比を理論空燃比stoichに一致させるための基本燃料噴射量Ｆｂ（Ｎ）を求める。基本燃料噴射量Ｆｂ（Ｎ）は機関の空燃比を理論空燃比stoichに一致させるためのフィードフォワード量である。
【０１４０】
次に、ＣＰＵはステップ７２５に進み、フィードバック制御（サブフィードバック制御）実行許可フラグＸＳＦＢの値が「１」であるか否かを判定する。フィードバック制御実行許可フラグＸＳＦＢの値は上述したイニシャルルーチンにおいて「０」に設定されるようになっている。更に、フィードバック制御実行許可フラグＸＳＦＢの値は、空燃比のフィードバック制御条件が成立しているときに「１」に設定され、空燃比のフィードバック制御条件が成立していないとき「０」に設定される。
【０１４１】
空燃比のフィードバック制御条件は、例えば、以下の総ての条件が成立したときに成立する。
（条件１）冷却水温ＴＨＷが閾値冷却水温ＴＨＷｔｈ以上である。
（条件２）下流側空燃比センサ５６が活性化している。
【０１４２】
いま、フィードバック制御実行許可フラグＸＳＦＢの値が「０」であると仮定する。この場合、ＣＰＵはステップ７２５にて「Ｎｏ」と判定してステップ７３０に進み、補正後基本燃料噴射量Ｆｂｈ（Ｎ）に基本燃料噴射量Ｆｂ（Ｎ）を設定する。即ち、補正後基本燃料噴射量Ｆｂｈ（Ｎ）が基本燃料噴射量Ｆｂ（Ｎ）に一致させられる。その後、ＣＰＵは以下に述べるステップ７３５及びステップ７４０の処理を順に行い、ステップ７９５に進んで本ルーチンを一旦終了する。
【０１４３】
ステップ７３５：ＣＰＵは、フューエルカット復帰後増量係数ＫＦＣＦＫを補正後基本燃料噴射量Ｆｂｈ（Ｎ）に乗じることにより、最終燃料噴射量（指示噴射量）Ｆｉ（Ｎ）を算出する。フューエルカット復帰後増量係数ＫＦＣＦＫは、上述したイニシャルルーチンにおいて「１」に設定され、且つ、通常運転時において「１」に設定される。フューエルカット復帰後増量係数ＫＦＣＦＫは、フューエルカット運転が終了する時点において「１」よりも大きい値（１＋ＦＫ）に設定される（後述する図１１のステップ１１７０を参照。）。フューエルカット復帰後増量係数ＫＦＣＦＫは、その値が「１＋ＦＫ」である場合において、後述するリッチ要求フラグＸRichreqの値が「１」から「０」に変化したとき（本例においては、下流側空燃比センサ５６の出力値Voxsが理論空燃比相当電圧Ｖstよりも小さい値から大きい値へと変化したとき）「１」に戻される（後述する図１３のルーチンを参照。）。
【０１４４】
ステップ７４０：ＣＰＵは、最終燃料噴射量Ｆｉ（Ｎ）の燃料が第Ｎ気筒に対する燃料噴射弁２５から噴射されるように、その燃料噴射弁２５に対して噴射指示を行う。この結果、フィードバック制御実行許可フラグＸＳＦＢの値が「０」である場合、特定の気筒の燃料噴射量が増大又は減少させられないので、気筒別空燃比は総ての気筒において等しい値に維持される。
【０１４５】
一方、ＣＰＵがステップ７２５の処理を行う時点において、フィードバック制御実行許可フラグＸＳＦＢの値が「１」であると、ＣＰＵはステップ７２５にて「Ｙｅｓ」と判定してステップ７４５に進み、リッチ要求フラグＸRichreqの値が「１」であるか否かを判定する。
【０１４６】
リッチ要求フラグＸRichreqの値は上述したイニシャルルーチンにおいて「１」に設定されるようになっている。更に、リッチ要求フラグＸRichreqの値は、図８のルーチンにより設定される。即ち、ＣＰＵは、所定時間が経過する毎に図８にフローチャートにより示した「触媒状態判定ルーチン」を実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図８のステップ８００から処理を開始してステップ８１０に進み、下流側空燃比センサ５６の出力値Voxsが理論空燃比相当電圧Ｖstよりも小さいか否かを判定する。換言すると、ＣＰＵは出力値Voxsにより示される空燃比（下流側空燃比）が理論空燃比stoichよりも大きい（リーンな）空燃比であるか否かを判定する。
【０１４７】
そして、ＣＰＵは、出力値Voxsが理論空燃比相当電圧Ｖstよりも小さい場合にはステップ８１０にて「Ｙｅｓ」と判定してステップ８２０に進み、リッチ要求フラグＸRichreqの値を「１」に設定し、その後、ステップ８９５に進んで本ルーチンを一旦終了する。これに対し、出力値Voxsが理論空燃比相当電圧Ｖst以上である場合には、ＣＰＵはステップ８１０にて「Ｎｏ」と判定してステップ８３０に進み、リッチ要求フラグＸRichreqの値を「０」に設定し、その後、ステップ８９５に進んで本ルーチンを一旦終了する。
【０１４８】
即ち、リッチ要求フラグＸRichreqの値は、触媒４３の状態がリーンである（触媒４３にリッチ空燃比の排ガスを流入すべき状態にある）ときに「１」に設定され、触媒４３の状態がリッチである（触媒４３にリーン空燃比の排ガスを流入すべき状態にある）とき「０」に設定される。
【０１４９】
リッチ要求フラグＸRichreqの値が「１」に設定されている場合、ＣＰＵは図７のステップ７４５にて「Ｙｅｓ」と判定してステップ７５０に進み、基本燃料噴射量Ｆｂ（Ｎ）に第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を乗じることにより補正後基本燃料噴射量Ｆｂｈ（Ｎ）を算出する。
【０１５０】
第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）は通常時は「１」よりも正の所定値Ａだけ大きい値「１＋Ａ」に設定される（図９のステップ９１５を参照。）。値「１＋Ａ」は「１」よりも大きい値であり、「増量係数基準値」又は「リッチ側基準ゲイン」とも称呼される。従って、ステップ７５０にて算出される補正後基本燃料噴射量Ｆｂｈ（Ｎ）は、第Ｎ気筒の空燃比を理論空燃比stoichよりも小さい（リッチな）空燃比に設定する燃料噴射量となる。即ち、第Ｎ気筒の空燃比は、理論空燃比stoichを第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）にて除した値となる。
【０１５１】
その後、ＣＰＵは上述したステップ７３５及びステップ７４０の処理を行い、ステップ７９５に進んで本ルーチンを一旦終了する。この結果、リッチ要求フラグＸRichreqの値が「１」であるとき、第Ｎ気筒の空燃比がリッチ空燃比となるので、触媒４３にはリッチ空燃比の排ガスが流入する。
【０１５２】
これに対し、ＣＰＵがステップ７４５の処理を実行する時点において、リッチ要求フラグＸRichreqの値が「０」に設定されている場合、ＣＰＵはステップ７４５にて「Ｎｏ」と判定してステップ７５５に進み、基本燃料噴射量Ｆｂ（Ｎ）に第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）を乗じることにより補正後基本燃料噴射量Ｆｂｈ（Ｎ）を算出する。
【０１５３】
第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）は通常時は「１」よりも正の所定値Ａだけ小さい値「１−Ａ」に設定される（図９のステップ９１５を参照。）。値「１−Ａ」は、「０」よりも大きく、「減量係数基準値」又は「リーン側基準ゲイン」とも称呼される。従って、ステップ７５５にて算出される補正後基本燃料噴射量Ｆｂｈ（Ｎ）は、第Ｎ気筒の空燃比を理論空燃比stoichよりも大きい（リーンな）空燃比に設定する燃料噴射量となる。即ち、第Ｎ気筒の空燃比は、理論空燃比stoichを第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）にて除した値となる。
【０１５４】
その後、ＣＰＵは上述したステップ７３５及びステップ７４０の処理を行い、ステップ７９５に進んで本ルーチンを一旦終了する。この結果、リッチ要求フラグＸRichreqの値が「０」であるとき、第Ｎ気筒の空燃比がリーン空燃比となるので、触媒４３にはリーン空燃比の排ガスが流入する。
【０１５５】
更に、ＣＰＵがステップ７０５の処理を実行する時点において、フューエルカットフラグＸＦＣの値が「１」である場合、ＣＰＵはステップ７０５にて「Ｎｏ」と判定し、ステップ７９５に直接進んで本ルーチンを一旦終了する。この結果、ステップ７４０の処理が実行されないので、燃料噴射が停止させられる。即ち、フューエルカット運転が行われる。
【０１５６】
＜気筒別補正ゲインの設定、及び、平均酸素吸蔵量（変動周期相関値）の取得＞
次に、上述した第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）及び第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）」の設定と、「変動周期相関値である平均酸素吸蔵量ＯＳＡ（Ｎ）」の取得と、を行う際のＣＰＵの作動について説明する。ここでは、先ず、「各気筒から排出される排ガスの下流側空燃比センサ５６への当たり方の程度（即ち、下流側空燃比センサ５６の出力値Voxsへの影響度）」が、今回の機関１０の始動後において未だ判定（決定）されていないと仮定して説明を続ける。
【０１５７】
ＣＰＵは、所定時間が経過する毎に図９にフローチャートにより示した「気筒別補正ゲイン設定ルーチン」を実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図９のステップ９００から処理を開始してステップ９０５に進み、ガス当り程度判定終了フラグＸＦＩＮの値が「０」であるか否かを判定する。ガス当り程度判定終了フラグＸＦＩＮの値は、「各気筒から排出される排ガスの下流側空燃比センサ５６への当たり方の程度」が決定（判定）されたときに「１」に設定される（図１０のステップ１０９３を参照。）。ガス当り程度判定終了フラグＸＦＩＮは上述したイニシャルルーチンにおいて「０」に設定されるようになっている。
【０１５８】
前述した仮定に従えば、各気筒のガス当りの程度は判定されていないので、ガス当り程度判定終了フラグＸＦＩＮの値は「０」である。従って、ＣＰＵはステップ９０５にて「Ｙｅｓ」と判定してステップ９１０に進み、ガス当り程度判定条件が成立しているか否かを判定する。ガス当り程度判定条件は、例えば、以下の総ての条件が成立しているときに成立する。
（条件１）フィードバック制御実行許可フラグＸＳＦＢの値が「１」である。
（条件２）機関１０の運転状態が定常運転状態である（例えば、吸入空気量Ｇａの単位時間あたりの変化量ΔＧａの絶対値が閾値空気量変化量ΔＧａｔｈよりも小さい。）。
【０１５９】
このとき、ガス当り程度判定条件が成立していなければ、ＣＰＵはステップ９１０にて「Ｎｏ」と判定してステップ９１５に進み、第１気筒増量係数ｋＲｉｃｈ（１）乃至第４気筒増量係数ｋＲｉｃｈ（４）の各値を増量係数基準値「１＋Ａ」に設定するとともに、第１気筒減量係数ｋＬｅａｎ（１）乃至第４気筒減量係数ｋＬｅａｎ（４）の各値を減量係数基準値「１−Ａ」に設定する。ここで、値Ａは正の値であって「１」よりも小さい値（例えば、０．１５）である。その後、ＣＰＵはステップ９９５に直接進んで本ルーチンを一旦終了する。この結果、気筒別空燃比は総ての気筒において互いに等しい値に制御される。
【０１６０】
これに対し、ＣＰＵがステップ９１０の処理を実行する時点において、ガス当り程度判定条件が成立していると、ＣＰＵはステップ９１０にて「Ｙｅｓ」と判定してステップ９２０に進み、第１気筒リッチ化フラグＸ１の値が「１」であるか否かを判定する。
【０１６１】
ＣＰＵは上述したイニシャルルーチンにおいて、第１気筒リッチ化フラグＸ１の値を「１」に設定するとともに、第２気筒リッチ化フラグＸ２、第３気筒リッチ化フラグＸ３及び第４気筒リッチ化フラグＸ４の各値を「０」に設定するようになっている。従って、現時点が機関１０の始動後において初めてステップ９２０に進んだと仮定すると、第１気筒リッチ化フラグＸ１の値は「１」である。よって、ＣＰＵはステップ９２０にて「Ｙｅｓ」と判定してステップ９２５に進み、以下に述べる処理を行う。
【０１６２】
ＣＰＵは、第１気筒増量係数ｋＲｉｃｈ（１）の値を「１＋Ａ＋Ｂ」に設定する。値Ｂは正の値（例えば、「０．１」）である。
ＣＰＵは、第１気筒減量係数ｋＬｅａｎ（１）の値を減量係数基準値「１−Ａ」に設定する。
ＣＰＵは、第２気筒増量係数ｋＲｉｃｈ（２）、第３気筒増量係数ｋＲｉｃｈ（３）、及び、第４気筒増量係数ｋＲｉｃｈ（４）のそれぞれの値を増量係数基準値「１＋Ａ」に設定する。
ＣＰＵは、第２気筒減量係数ｋＬｅａｎ（２）、第３気筒減量係数ｋＬｅａｎ（３）、及び、第４気筒減量係数ｋＬｅａｎ（４）のそれぞれの値を減量係数基準値「１−Ａ」に設定する。
【０１６３】
その後、ＣＰＵはステップ９３０に進み、第２気筒リッチ化フラグＸ２の値が「１」であるか否かを判定する。この段階においては、第２気筒リッチ化フラグＸ２の値は「０」である。従って、ＣＰＵはステップ９３０にて「Ｎｏ」と判定してステップ９４０に直接進む。
【０１６４】
ＣＰＵはステップ９４０にて、第３気筒リッチ化フラグＸ３の値が「１」であるか否かを判定する。この段階においては、第３気筒リッチ化フラグＸ３の値は「０」である。従って、ＣＰＵはステップ９４０にて「Ｎｏ」と判定してステップ９５０に直接進む。
【０１６５】
ＣＰＵはステップ９５０にて、第４気筒リッチ化フラグＸ４の値が「１」であるか否かを判定する。この段階においては、第４気筒リッチ化フラグＸ４の値は「０」である。従って、ＣＰＵはステップ９５０にて「Ｎｏ」と判定し、ステップ９９５に直接進んで本ルーチンを一旦終了する。
【０１６６】
この結果、基本燃料噴射量Ｆｂ（Ｎ）が一定である場合、図７のステップ７５０の処理によって、第１気筒の補正後基本燃料噴射量Ｆｂｈ（１）が、第Ｍ気筒の補正後基本燃料噴射量Ｆｂｈ（Ｍ）（但し、Ｍは２、３、４）よりも大きくなる（「（１＋Ａ＋Ｂ）／「１＋Ａ」」倍になる）。よって、リッチ要求フラグＸRichreqの値が「１」である場合、第１気筒の気筒別空燃比のみが、残りの気筒の気筒別空燃比よりも小さい値に設定される。即ち、第１気筒の空燃比のみがリッチ補正される。
【０１６７】
なお、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）（但し、Ｎは１〜４の整数）は、減量係数基準値「１−Ａ」に設定されているから、図７のステップ７５５の処理により、第１気筒の補正後基本燃料噴射量Ｆｂｈ（Ｎ）は基本燃料噴射量Ｆｂ（Ｎ）が一定である限り互いに同じ値に設定される。よって、リッチ要求フラグＸRichreqの値が「０」である場合、気筒別空燃比は総ての気筒において互いに等しいリーン空燃比に設定される。
【０１６８】
更に、ＣＰＵは、所定時間が経過する毎に図１０にフローチャートにより示した「平均酸素吸蔵量取得ルーチン」を実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図１０のステップ１０００から処理を開始してステップ１００５に進み、ガス当り程度判定終了フラグＸＦＩＮの値が「０」であるか否かを判定する。このとき、ガス当り程度判定終了フラグＸＦＩＮの値が「１」であると、ＣＰＵはステップ１００５にて「Ｎｏ」と判定し、ステップ１０９５に直接進んで本ルーチンを一旦終了する。
【０１６９】
一方、ＣＰＵがステップ１００５の処理を行う時点において、ガス当り程度判定終了フラグＸＦＩＮの値が「０」であると、ＣＰＵはステップ１００５にて「Ｙｅｓ」と判定してステップ１０１０に進み、ガス当り程度判定条件が成立しているか否かを判定する。このとき、ガス当り程度判定条件が成立していなければ、ＣＰＵはステップ１０１０にて「Ｎｏ」と判定し、ステップ１０９５に直接進んで本ルーチンを一旦終了する。
【０１７０】
これに対し、ガス当り程度判定条件が成立していると、ＣＰＵはステップ１０１０にて「Ｙｅｓ」と判定してステップ１０１５に進み、第１気筒リッチ化フラグＸ１の値が「１」であるか否かを判定する。前述の仮定（現時点が機関１０の始動後において初めてステップ９２０に進んだとの仮定）に従えば、現時点において第１気筒リッチ化フラグＸ１の値は「１」である。
【０１７１】
従って、ＣＰＵはステップ１０１５にて「Ｙｅｓ」と判定してステップ１０２０に進み、上記（１）式及び上記（２）式に従って吸蔵酸素量ＯＳＡｋｚ及び放出酸素量ＯＳＡｈｓを算出するとともに、それらの平均値を「第１気筒に対する平均酸素吸蔵量ＯＳＡ（１）」として算出するための処理を行う。
【０１７２】
次いで、ＣＰＵはステップ１０２５に進み、吸蔵酸素量ＯＳＡｋｚ、放出酸素量ＯＳＡｈｓ、及び、平均酸素吸蔵量ＯＳＡ（１）の算出が完了したか否かを判定する。このとき、その算出が完了していなければ、ＣＰＵはステップ１０２５にて「Ｎｏ」と判定してステップ１０９５に直接進み、本ルーチンを一旦終了する。
【０１７３】
このような処理が繰り返されると、吸蔵酸素量ＯＳＡｋｚ、放出酸素量ＯＳＡｈｓ、及び、平均酸素吸蔵量ＯＳＡ（１）の算出が完了する。よって、ＣＰＵはステップ１０２５に進んだとき、そのステップ１０２５にて「Ｙｅｓ」と判定してステップ１０３０に進み、第２気筒リッチ化フラグＸ２の値を「１」に設定するとともに、第１気筒リッチ化フラグＸ１、第３気筒リッチ化フラグＸ３及び第４気筒リッチ化フラグＸ４の値を「０」に設定する。その後、ＣＰＵはステップ１０９５に進んで、本ルーチンを一旦終了する。
【０１７４】
この結果、第２気筒リッチ化フラグＸ２の値が「１」に設定されるから、ＣＰＵは図９のステップ９２０、ステップ９４０及びステップ９５０にて「Ｎｏ」と判定するようになるとともに、ステップ９３０にて「Ｙｅｓ」と判定してステップ９３５に進む。ＣＰＵは、ステップ９３５にて以下に述べる処理を行う。
【０１７５】
ＣＰＵは、第２気筒増量係数ｋＲｉｃｈ（２）の値を「１＋Ａ＋Ｂ」に設定する。
ＣＰＵは、第２気筒減量係数ｋＬｅａｎ（２）の値を減量係数基準値「１−Ａ」に設定する。
ＣＰＵは、第１気筒増量係数ｋＲｉｃｈ（１）、第３気筒増量係数ｋＲｉｃｈ（３）、及び、第４気筒増量係数ｋＲｉｃｈ（４）のそれぞれの値を増量係数基準値「１＋Ａ」に設定する。
ＣＰＵは、第１気筒減量係数ｋＬｅａｎ（１）、第３気筒減量係数ｋＬｅａｎ（３）、及び、第４気筒減量係数ｋＬｅａｎ（４）のそれぞれの値を減量係数基準値「１−Ａ」に設定する。
【０１７６】
この結果、基本燃料噴射量Ｆｂ（Ｎ）が一定である場合、図７のステップ７５０の処理により、第２気筒の補正後基本燃料噴射量Ｆｂｈ（２）が、第Ｍ気筒の補正後基本燃料噴射量Ｆｂｈ（Ｍ）（但し、Ｍは１、３、４）よりも大きくなる（「（１＋Ａ＋Ｂ）／「１＋Ａ」」倍になる）。よって、リッチ要求フラグＸRichreqの値が「１」である場合、第２気筒の気筒別空燃比のみが、残りの気筒の気筒別空燃比よりも小さい値に設定される。即ち、第２気筒の空燃比のみがリッチ補正される。
【０１７７】
なお、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）（但し、Ｎは１〜４の整数）は、減量係数基準値「１−Ａ」に設定されているから、図７のステップ７５５の処理により、第Ｎ気筒の補正後基本燃料噴射量Ｆｂｈ（Ｎ）は基本燃料噴射量Ｆｂ（Ｎ）が一定である限り互いに同じ値に設定される。よって、リッチ要求フラグＸRichreqの値が「０」である場合、気筒別空燃比は総ての気筒において互いに等しいリーン空燃比に設定される。
【０１７８】
この状態において、ＣＰＵが図１０のステップ１０００から処理を開始すると、ＣＰＵはステップ１００５及びステップ１０１０の両ステップにて「Ｙｅｓ」と判定するとともにステップ１０１５にて「Ｎｏ」と判定し、ステップ１０３５に進んで第２気筒リッチ化フラグＸ２の値が「１」であるか否かを判定する。現時点において、第２気筒リッチ化フラグＸ２の値は「１」である。
【０１７９】
従って、ＣＰＵはステップ１０３５にて「Ｙｅｓ」と判定してステップ１０４０に進み、上記（１）式及び上記（２）式に従って吸蔵酸素量ＯＳＡｋｚ及び放出酸素量ＯＳＡｈｓを算出するとともに、それらの平均値を「第２気筒に対する平均酸素吸蔵量ＯＳＡ（２）」として算出するための処理を行う。
【０１８０】
次いで、ＣＰＵはステップ１０４５に進み、吸蔵酸素量ＯＳＡｋｚ、放出酸素量ＯＳＡｈｓ、及び、平均酸素吸蔵量ＯＳＡ（２）の算出が完了したか否かを判定する。このとき、その算出が完了していなければ、ＣＰＵはステップ１０４５にて「Ｎｏ」と判定してステップ１０９５に直接進み、本ルーチンを一旦終了する。
【０１８１】
このような処理が繰り返されると、吸蔵酸素量ＯＳＡｋｚ、放出酸素量ＯＳＡｈｓ、及び平均酸素吸蔵量ＯＳＡ（２）の算出が完了する。よって、ＣＰＵはステップ１０４５に進んだとき、そのステップ１０４５にて「Ｙｅｓ」と判定してステップ１０５０に進み、第３気筒リッチ化フラグＸ３の値を「１」に設定するとともに、第１気筒リッチ化フラグＸ１、第２気筒リッチ化フラグＸ２及び第４気筒リッチ化フラグＸ４の値を「０」に設定する。その後、ＣＰＵはステップ１０９５に進んで、本ルーチンを一旦終了する。
【０１８２】
この結果、第３気筒リッチ化フラグＸ３の値が「１」に設定されるから、ＣＰＵは図９のステップ９２０、ステップ９３０及びステップ９５０にて「Ｎｏ」と判定するようになるとともに、ステップ９４０にて「Ｙｅｓ」と判定してステップ９４５に進む。ＣＰＵは、ステップ９４５にて以下に述べる処理を行う。
【０１８３】
ＣＰＵは、第３気筒増量係数ｋＲｉｃｈ（３）の値を「１＋Ａ＋Ｂ」に設定する。
ＣＰＵは、第３気筒減量係数ｋＬｅａｎ（３）の値を減量係数基準値「１−Ａ」に設定する。
ＣＰＵは、第１気筒増量係数ｋＲｉｃｈ（１）、第２気筒増量係数ｋＲｉｃｈ（２）、及び、第４気筒増量係数ｋＲｉｃｈ（４）のそれぞれの値を増量係数基準値「１＋Ａ」に設定する。
ＣＰＵは、第１気筒減量係数ｋＬｅａｎ（１）、第２気筒減量係数ｋＬｅａｎ（２）、及び、第４気筒減量係数ｋＬｅａｎ（４）のそれぞれの値を減量係数基準値「１−Ａ」に設定する。
【０１８４】
この結果、基本燃料噴射量Ｆｂ（Ｎ）が一定である場合、図７のステップ７５０の処理によって、第３気筒の補正後基本燃料噴射量Ｆｂｈ（３）が、第Ｍ気筒の補正後基本燃料噴射量Ｆｂｈ（Ｍ）（但し、Ｍは１、２、４）よりも大きくなる（「（１＋Ａ＋Ｂ）／「１＋Ａ」」倍になる）。よって、リッチ要求フラグＸRichreqの値が「１」である場合、第３気筒の気筒別空燃比のみが、残りの気筒の気筒別空燃比よりも小さい値に設定される。即ち、第３気筒の空燃比のみがリッチ補正される。
【０１８５】
なお、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）（但し、Ｎは１〜４の整数）は、減量係数基準値「１−Ａ」に設定されているから、図７のステップ７５５の処理により、第Ｎ気筒の補正後基本燃料噴射量Ｆｂｈ（Ｎ）は基本燃料噴射量Ｆｂ（Ｎ）が一定である限り互いに同じ値に設定される。よって、リッチ要求フラグＸRichreqの値が「０」である場合、気筒別空燃比は総ての気筒において互いに等しいリーン空燃比に設定される。
【０１８６】
この状態において、ＣＰＵが図１０のステップ１０００から処理を開始すると、ＣＰＵはステップ１００５及びステップ１０１０の両ステップにて「Ｙｅｓ」と判定するとともに、ステップ１０１５及びステップ１０３５の両ステップにて「Ｎｏ」と判定し、ステップ１０５５に進んで第３気筒リッチ化フラグＸ３の値が「１」であるか否かを判定する。現時点において、第３気筒リッチ化フラグＸ３の値は「１」である。
【０１８７】
従って、ＣＰＵはステップ１０５５にて「Ｙｅｓ」と判定してステップ１０６０に進み、上記（１）式及び上記（２）式に従って吸蔵酸素量ＯＳＡｋｚ及び放出酸素量ＯＳＡｈｓを算出するとともに、それらの平均値を「第３気筒に対する平均酸素吸蔵量ＯＳＡ（３）」として算出するための処理を行う。
【０１８８】
次いで、ＣＰＵはステップ１０６５に進み、吸蔵酸素量ＯＳＡｋｚ、放出酸素量ＯＳＡｈｓ、及び、平均酸素吸蔵量ＯＳＡ（３）の算出が完了したか否かを判定する。このとき、その算出が完了していなければ、ＣＰＵはステップ１０６５にて「Ｎｏ」と判定してステップ１０９５に直接進み、本ルーチンを一旦終了する。
【０１８９】
このような処理が繰り返されると、吸蔵酸素量ＯＳＡｋｚ、放出酸素量ＯＳＡｈｓ、及び、平均酸素吸蔵量ＯＳＡ（３）の算出が完了する。よって、ＣＰＵはステップ１０６５に進んだとき、そのステップ１０６５にて「Ｙｅｓ」と判定してステップ１０７０に進み、第４気筒リッチ化フラグＸ４の値を「１」に設定するとともに、第１気筒リッチ化フラグＸ１、第２気筒リッチ化フラグＸ２及び第３気筒リッチ化フラグＸ３の値を「０」に設定する。その後、ＣＰＵはステップ１０９５に進んで、本ルーチンを一旦終了する。
【０１９０】
この結果、第４気筒リッチ化フラグＸ４の値が「１」に設定されるから、ＣＰＵは図９のステップ９２０、ステップ９３０及びステップ９４０にて「Ｎｏ」と判定するようになるとともに、ステップ９５０にて「Ｙｅｓ」と判定してステップ９５５に進む。ＣＰＵは、ステップ９５５にて以下に述べる処理を行う。
【０１９１】
ＣＰＵは、第４気筒増量係数ｋＲｉｃｈ（４）の値を「１＋Ａ＋Ｂ」に設定する。
ＣＰＵは、第４気筒減量係数ｋＬｅａｎ（４）の値を減量係数基準値「１−Ａ」に設定する。
ＣＰＵは、第１気筒増量係数ｋＲｉｃｈ（１）、第２気筒増量係数ｋＲｉｃｈ（２）、及び、第３気筒増量係数ｋＲｉｃｈ（３）のそれぞれの値を増量係数基準値「１＋Ａ」に設定する。
ＣＰＵは、第１気筒減量係数ｋＬｅａｎ（１）、第２気筒減量係数ｋＬｅａｎ（２）、及び、第３気筒減量係数ｋＬｅａｎ（３）のそれぞれの値を減量係数基準値「１−Ａ」に設定する。
【０１９２】
この結果、基本燃料噴射量Ｆｂ（Ｎ）が一定である場合、図７のステップ７５０の処理により、第４気筒の補正後基本燃料噴射量Ｆｂｈ（４）が、第Ｍ気筒の補正後基本燃料噴射量Ｆｂｈ（Ｍ）（但し、Ｍは１、２、３）よりも大きくなる（「（１＋Ａ＋Ｂ）／「１＋Ａ」」倍になる）。よって、リッチ要求フラグＸRichreqの値が「１」である場合、第４気筒の気筒別空燃比のみが、残りの気筒の気筒別空燃比よりも小さい値に設定される。即ち、第４気筒の空燃比のみがリッチ補正される。
【０１９３】
なお、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）（但し、Ｎは１〜４の整数）は、減量係数基準値「１−Ａ」に設定されているから、図７のステップ７５５の処理により、第Ｎ気筒の補正後基本燃料噴射量Ｆｂｈ（Ｎ）は基本燃料噴射量Ｆｂ（Ｎ）が一定である限り互いに同じ値に設定される。よって、リッチ要求フラグＸRichreqの値が「０」である場合、気筒別空燃比は総ての気筒において互いに等しいリーン空燃比に設定される。
【０１９４】
この状態において、ＣＰＵが図１０のステップ１０００から処理を開始すると、ＣＰＵはステップ１００５及びステップ１０１０の両ステップにて「Ｙｅｓ」と判定するとともに、ステップ１０１５、ステップ１０３５及びステップ１０５５の各ステップにて「Ｎｏ」と判定する。そして、ＣＰＵはステップ１０７５に進んで、上記（１）式及び上記（２）式に従って吸蔵酸素量ＯＳＡｋｚ及び放出酸素量ＯＳＡｈｓを算出するとともに、それらの平均値を「第４気筒に対する平均酸素吸蔵量ＯＳＡ（４）」として算出するための処理を行う。
【０１９５】
次いで、ＣＰＵはステップ１０８０に進み、吸蔵酸素量ＯＳＡｋｚ、放出酸素量ＯＳＡｈｓ、及び平均酸素吸蔵量ＯＳＡ（４）の算出が完了したか否かを判定する。このとき、その算出が完了していなければ、ＣＰＵはステップ１０８０にて「Ｎｏ」と判定してステップ１０９５に直接進み、本ルーチンを一旦終了する。
【０１９６】
このような処理が繰り返されると、吸蔵酸素量ＯＳＡｋｚ、放出酸素量ＯＳＡｈｓ、及び、平均酸素吸蔵量ＯＳＡ（４）の算出が完了する。よって、ＣＰＵはステップ１０８０に進んだとき、そのステップ１０８０にて「Ｙｅｓ」と判定してステップ１０８５に進み、第１気筒リッチ化フラグＸ１乃至第４気筒リッチ化フラグＸ４の各値を「０」に設定する。次いで、ＣＰＵはステップ１０９０に進み、各気筒のガス当りの程度を、平均酸素吸蔵量ＯＳＡ（Ｌ）（但し、Ｌは、１，２，３，４）に基づいて判定する。このガス当りの判定は、上記表１を例にしながら説明したように、以下のように行われる。
【０１９７】
ＣＰＵは、平均酸素吸蔵量ＯＳＡ（１）、平均酸素吸蔵量ＯＳＡ（２）、平均酸素吸蔵量ＯＳＡ（３）及び平均酸素吸蔵量ＯＳＡ（４）の平均値ＯＳＡaveを下記の（３）に従って算出する。
ＯＳＡave＝{ＯＳＡ（１）＋ＯＳＡ（２）＋ＯＳＡ（３）＋ＯＳＡ（４）}／４…（３）
【０１９８】
ＣＰＵは、平均値ＯＳＡaveから平均酸素吸蔵量ＯＳＡ（Ｌ）（但し、Ｌは、１，２，３，４）のそれぞれを減じた値を各気筒（Ｌ）に対応付けながら算出する。算出された値（乖離度）は、各気筒の排ガスの下流側空燃比センサ５６の出力値Voxsへの影響度合いを表す値（即ち、気筒別影響度指標値ＥＦ（Ｌ））である。
【０１９９】
ＣＰＵは、この算出された値（乖離度、気筒別影響度指標値ＥＦ（Ｌ））が大きい気筒ほど、ガス当りの程度が強いと判定する。即ち、気筒別影響度指標値ＥＦ（Ｌ）が最も大きい気筒が「ガス当りが最も強い気筒（ガス当たり最良気筒）」として特定され、気筒別影響度指標値ＥＦが最も小さい気筒が「ガス当りが最も弱い気筒（ガス当たり最低気筒）」として特定される。
【０２００】
その後、ＣＰＵはステップ１０９３に進み、ガス当り程度判定終了フラグＸＦＩＮの値を「１」に設定し、ステップ１０９５に進んで本ルーチンを一旦終了する。以上により、変動周期相関値としての平均酸素吸蔵量ＯＳＡ（Ｌ）、及び、各気筒から排出される排ガスの下流側空燃比センサ５６の出力値Voxsへのガス当りの程度を示す気筒別影響度指標値ＥＦ（Ｌ）が取得される。
【０２０１】
なお、ＣＰＵは、変動周期相関値としての平均酸素吸蔵量ＯＳＡ（Ｌ）（Ｌは１〜４の整数）のうち最も小さい平均酸素吸蔵量ＯＳＡ（Ｍ）（Ｍは１〜４の整数の一つ）に対応する第Ｍ気筒を「ガス当り最良気筒」として特定することができる。同様に、ＣＰＵは、変動周期相関値としての平均酸素吸蔵量ＯＳＡ（Ｌ）（Ｌは１〜４の整数）のうち最も大きい平均酸素吸蔵量ＯＳＡ（Ｐ）（Ｐは１〜４の整数の一つ）に対応する第Ｐ気筒を「ガス当り最低気筒」として特定することができる
【０２０２】
＜ガス当り程度及び機関の運転状態に応じた気筒別補正ゲインの設定＞
図１０のステップ１０９３にて、ガス当り程度判定終了フラグＸＦＩＮの値が「１」に設定されると、ＣＰＵは図９のステップ９０５にて「Ｎｏ」と判定してステップ９６０に進む。このステップ９６０において、ＣＰＵは上述のようにして求められた気筒別影響度指標値ＥＦ（Ｎ）に基づいて気筒別補正ゲイン（第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）及び第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）、Ｎは１〜４の整数）を設定する。
【０２０３】
＜＜１．フューエルカット復帰後リッチ制御中の気筒別空燃比制御＞＞
第１制御装置は、フューエルカット運転の終了後において、気筒別補正ゲインを調整する。より具体的に述べると、第１制御装置は、気筒別影響度指標値ＥＦ（Ｌ）により示される「ある気筒Ｌの排ガスの下流側空燃比センサ５６の出力値Voxsへの影響度合い」が強いほど（換言すると、気筒別影響度指標値ＥＦ（Ｌ）が大きいほど）、第Ｌ気筒増量係数ｋＲｉｃｈ（Ｌ）を減少させる。
【０２０４】
例えば、上述した表１に示したように、第１気筒がガス当り最良気筒であり、第２及び第３気筒がガス当り標準気筒であり、第４気筒がガス当り最低気筒であるとすると、第１制御装置は、「ガス当り標準気筒である第２気筒の第２気筒増量係数ｋＲｉｃｈ（２）及びガス当り標準気筒である第３気筒の第３気筒増量係数ｋＲｉｃｈ（３）」を増量係数基準値「１＋Ａ」に設定する（図１２のステップ１２２０内のグラフを参照。）。
【０２０５】
第１制御装置は、ガス当り最良気筒である第１気筒の第１気筒増量係数ｋＲｉｃｈ（１）を増量係数基準値「１＋Ａ」よりも正の値Ｃだけ小さい値「１＋Ａ−Ｃ」に設定する。値Ｃは、気筒別影響度指標値ＥＦ（Ｎ）が大きいほど大きくなる値であり、且つ、値「１＋Ａ−Ｃ」が「１」よりも大きくなるように定められている。従って、第１気筒増量係数ｋＲｉｃｈ（１）は、気筒別影響度指標値ＥＦ（１）が大きいほど、「１」と増量係数基準値「１＋Ａ」との間において小さくなる。
【０２０６】
加えて、第１制御装置は、ガス当り最低気筒である第４気筒の第４気筒増量係数ｋＲｉｃｈ（４）を増量係数基準値「１＋Ａ」に設定する。
【０２０７】
一方、第１制御装置は、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）（Ｎは１〜４の整数）を減量係数基準値「１−Ａ」に設定する（図１２のステップ１２３０を参照。）。
【０２０８】
フューエルカット運転中、触媒４３には大量の酸素が流入する。従って、触媒４３の酸素吸蔵量は最大酸素吸蔵量Ｃmaxに到達する。この状態を早期に脱するために、フューエルカット運転が終了した時点から、フューエルカット復帰後増量係数ＫＦＣＦＫが「１」よりも大きい値（１＋ＦＫ）に設定される。よって、最終燃料噴射量Ｆｉ（Ｎ）は増量されるので、触媒流入ガスの空燃比はリッチ空燃比に設定される。このように、フューエルカット終了後において機関の空燃比（触媒流入ガスの空燃比）がリッチ空燃比に設定される空燃比制御は、「フューエルカット復帰後リッチ制御、又は、フューエルカット復帰後増量制御」とも称呼される。
【０２０９】
このフューエルカット復帰後リッチ制御により、触媒４３の酸素吸蔵量は減少する。よって、フューエルカット運転の終了後から所定の期間が経過すると、未燃物の一部が触媒４３によって浄化されないまま触媒４３の下流に排出され始める。即ち、未燃物の吹き抜け現象が生じる。
【０２１０】
これにより、下流側空燃比センサ５６の出力値Voxsは理論空燃比相当電圧Ｖstよりも小さい値から大きい値へと変化する。この時点（フューエルカット運転終了後のリーン・リッチ反転時点）においては、触媒４３に担持されている酸素吸蔵材は酸素を放出していて、還元状態となっている。よって、従来装置は、このフューエルカット運転終了後のリーン・リッチ反転時点において触媒流入ガスの空燃比をリーン空燃比に設定している。
【０２１１】
しかしながら、このフューエルカット運転終了後のリーン・リッチ反転時点において、触媒４３に担持されている「触媒物質である貴金属（特に、ロジウム等）」は充分に還元状態に至っていない。即ち、貴金属はフューエルカット運転中の多量の酸素によって酸化されるので、貴金属がこの酸化状態を脱するためには、酸素吸蔵材から「フューエルカット運転中に吸蔵した過剰な酸素」を放出させるのに必要な未燃物よりも「より多くの未燃物（還元剤）」が必要である。従って、仮に、通常の「フューエルカット運転終了後のリーン・リッチ反転時点」にて触媒流入ガスの空燃比をリーン空燃比に切り替えてしまうと、貴金属が充分に還元できていない（酸素被毒状態である）ので、その後の触媒浄化効率が低下する可能性がある。
【０２１２】
そこで、第１制御装置のＣＰＵは、上述したように、フューエルカット復帰後リッチ制御が実行されるとき、ガス当り最良気筒（及び、必要に応じ、ガス当りの程度が標準よりも強い気筒）の増量係数ｋＲｉｃｈ（Ｎ）を増量係数基準値「１＋Ａ」よりも小さい値「１＋Ａ−Ｃ」に設定する。換言すると、第１制御装置は、ガス当り最良気筒が第Ｘ気筒であるとすると、「第Ｘ気筒増量係数ｋＲｉｃｈ（Ｘ）」を「他の気筒である第Ｙ気筒増量係数ｋＲｉｃｈ（Ｙ）（Ｙは１〜４の整数のうちのＸ以外の値）」よりも、小さくする。
【０２１３】
この結果、総ての気筒の増量係数ｋＲｉｃｈを増量係数基準値「１＋Ａ」に設定している場合に比較して、ガス当り最良気筒の排ガスの空燃比が「リッチ空燃比ではあるが他の気筒の空燃比に比べ理論空燃比に近い値」へと変更されるので、ガス当り最良気筒から排出される排ガスの「下流側空燃比センサ５６の出力値Voxsを理論空燃比よりもリッチな空燃比に相当する値へ変化させる能力」が抑制される。従って、フューエルカット復帰後リッチ制御が実行されている場合に未燃物の吹き抜け現象が生じたとしても、下流側空燃比センサ５６の出力値Voxsの「理論空燃比相当電圧Ｖstよりも小さい値から大きい値への変化（フューエルカット運転終了後のリーン・リッチ反転時点）」が遅れる。
【０２１４】
この結果、フューエルカット運転終了後のリーン・リッチ反転時点が到来するまで、触媒４３には「より多くの」未燃物が流入するので、触媒４３が担持する貴金属の還元が十分になされる。よって、第１制御装置は、フューエルカット運転の終了後において、触媒４３の浄化能力が低下することを回避することができる。
【０２１５】
更に、第１制御装置は、フューエルカット復帰後リッチ制御期間中において、更に、ガス当りの程度が標準よりも低い気筒Ｚの第Ｚ気筒増量係数ｋＲｉｃｈ（Ｚ）を、ガス当り標準気筒（表１に示した例における第２気筒及び第３気筒）の増量係数基準値「１＋Ａ」よりも大きい値「１＋Ａ＋Ｄ」に設定してもよい。この場合、値Ｄは正の値であり、気筒別影響度指標値ＥＦ（Ｚ）が小さくなるほど大きくなる値であることが好ましい。
【０２１６】
ガス当りの程度が低い（或いは、最も低い）第Ｚ気筒の第Ｚ気筒増量係数ｋＲｉｃｈ（Ｚ）が増量係数基準値「１＋Ａ」よりも大きい値に設定されたとしても、それによりフューエルカット運転終了後のリーン・リッチ反転時点が早くなる可能性は小さい。従って、このようにすれば、フューエルカット復帰後リッチ制御期間中において、触媒４３に「より多くの未燃物（還元剤）」を流入させることができる。その結果、触媒４３が担持する貴金属の還元をより確実に行うことができる。
【０２１７】
次に、図１１乃至図１３を参照しながら、ＣＰＵが、フューエルカットフラグＸＦＣ、フューエルカット復帰後増量係数ＫＦＣＦＫ、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）及び第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）等をどのように設定するかについて説明する。
【０２１８】
ＣＰＵは、所定時間が経過する毎に図１１にフローチャートにより示した「フューエルカット条件判定ルーチン」を実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図１１のステップ１１００から処理を開始してステップ１１１０に進み、現時点におけるフューエルカットフラグＸＦＣの値が「０」であるか否かを判定する。即ち、ＣＰＵは、現時点がフューエルカット運転中でないか否かを判定する。なお、フューエルカットフラグＸＦＣの値は、上述したイニシャルルーチンにおいて「０」に設定されるようになっている。
【０２１９】
いま、フューエルカットフラグＸＦＣの値が「０」であると仮定する。この場合、ＣＰＵはステップ１１１０にて「Ｙｅｓ」と判定してステップ１１２０に進み、フューエルカット条件（フューエルカット開始条件）が成立しているか否かを判定する。
【０２２０】
より具体的に述べると、フューエルカット条件は、アクセルペダル操作量Accp又はスロットル弁開度ＴＡが「０」であり、且つ、機関回転速度ＮＥがフューエルカット回転速度ＮＥＦＣｔｈ以上であるときに成立する。
【０２２１】
そして、フューエルカット条件が成立していなければ、ＣＰＵはステップ１１２０にて「Ｎｏ」と判定し、ステップ１１９５に直接進んで本ルーチンを一旦終了する。これに対し、フューエルカット条件が成立していると、ＣＰＵはステップ１１２０にて「Ｙｅｓ」と判定してステップ１１３０に進み、フューエルカットフラグＸＦＣの値を「１」に設定する。その後、ＣＰＵはステップ１１９５に進んで本ルーチンを一旦終了する。これにより、ＣＰＵは図７のステップ７０５にて「Ｎｏ」と判定してステップ７９５に直接進むようになるので、フューエルカット運転が開始する。
【０２２２】
このような状態（フューエルカットフラグＸＦＣの値が「１」に設定された状態）において、再び、ＣＰＵがステップ１１００から処理を開始すると、ＣＰＵはステップ１１１０にて「Ｎｏ」と判定する。そして、ＣＰＵはステップ１１４０に進み、フューエルカット終了条件が成立しているか否かを判定する。
【０２２３】
より具体的に述べると、フューエルカット終了条件は、フューエルカットフラグＸＦＣの値が「１」であるときに（フューエルカット運転中）において、アクセルペダル操作量Accp又はスロットル弁開度ＴＡが「０」でなくなるか、若しくは、機関回転速度ＮＥがフューエルカット復帰回転速度ＮＥｒｔ以下となったときに成立する。フューエルカット復帰回転速度ＮＥｒｔはフューエルカット回転速度ＮＥＦＣｔｈよりも正の所定回転数ΔＮＥだけ小さい（ＮＥｒｔ＝ＮＥＦＣｔｈ−ΔＮＥ、ΔＮＥ＞０）。
【０２２４】
このとき、フューエルカット終了条件が成立していなければ、ＣＰＵはステップ１１４０にて「Ｎｏ」と判定し、ステップ１１９５に直接進んで本ルーチンを一旦終了する。
【０２２５】
これに対し、フューエルカット終了条件が成立していると、ＣＰＵはステップ１１４０にて「Ｙｅｓ」と判定してステップ１１５０に進み、フューエルカットフラグＸＦＣの値を「０」に設定する。これにより、ＣＰＵは図７のステップ７０５にて「Ｙｅｓ」と判定するようになるので、フューエルカット運転が終了され、燃料噴射（機関１０への燃料供給）が再開される。
【０２２６】
次に、ＣＰＵはステップ１１６０に進み、フューエルカット運転終了フラグＸＦＣＦＫの値を「１」に設定する。フューエルカット運転終了フラグＸＦＣＦＫの値は上述したイニシャルルーチンにおいて「０」に設定されるようになっている。フューエルカット運転終了フラグＸＦＣＦＫは、その値が「１」であるとき、フューエルカット運転が終了し、その後のフューエルカット復帰後リッチ制御が実行されていることを示す。
【０２２７】
次いで、ＣＰＵはステップ１１７０に進み、フューエルカット復帰後増量係数ＫＦＣＦＫの値を値「１＋ＦＫ」に設定する。値ＦＫは正の値（例えば、０．２）である。なお、値ＦＫは「０」であってもよい。その後、ＣＰＵはステップ１１９５に進み、本ルーチンを一旦終了する。
【０２２８】
更に、ＣＰＵは、図９のステップ９６０に進んだとき、図１２にフローチャートにより示した「フューエルカット復帰後リッチ制御の気筒別空燃比制御ルーチン」の処理をステップ１２００から開始するようになっている。
【０２２９】
即ち、ＣＰＵは、ガス当り程度判定終了フラグＸＦＩＮの値が「１」に設定されている場合、図９のステップ９０５にて「Ｎｏ」と判定してステップ９６０に進み、図１２のステップ１２００に進む。次いで、ＣＰＵはステップ１２１０に進み、フューエルカット運転終了フラグＸＦＣＦＫの値が「１」であるか否かを判定する。
【０２３０】
このとき、フューエルカット運転終了フラグＸＦＣＦＫの値が「０」であると、ＣＰＵはステップ１２１０にて「Ｎｏ」と判定し、ステップ１２９５に直接進んで本ルーチンを一旦終了する。
【０２３１】
これに対し、ＣＰＵがステップ１２１０の処理を実行する時点において、フューエルカット運転終了フラグＸＦＣＦＫの値が「１」であると、ＣＰＵはそのステップ１２１０にて「Ｙｅｓ」と判定してステップ１２２０に進み、上述したように、気筒別影響度指標値ＥＦ（Ｎ）に基いて第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を設定する。
【０２３２】
より具体的に述べると、ＣＰＵは、ステップ１２２０内のグラフにおける実線により示したように、第Ｎ気筒の気筒別影響度指標値ＥＦ（Ｎ）（即ち、第Ｎ気筒のガス当り程度）が大きいほど、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）が「１」と「１＋Ａ」との間において次第に小さくなるように、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を決定する。但し、ＣＰＵは、第Ｎ気筒の気筒別影響度指標値ＥＦ（Ｎ）が「０」以下である場合（即ち、第Ｎ気筒のガス当り程度が標準的であるか又は標準よりも低い場合）、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を増量係数基準値「１＋Ａ」に設定する。
【０２３３】
次に、ＣＰＵはステップ１２３０に進み、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）（Ｎは１〜４の整数）を減量係数基準値「１−Ａ」に設定する。その後、ＣＰＵはステップ１２９５に進んで本ルーチンを一旦終了する。
【０２３４】
更に、ＣＰＵは、図１２のルーチンの処理を終了すると、図１３にフローチャートにより示した「フューエルカット復帰後増量係数リセットルーチン」の処理をステップ１３００から開始する。次に、ＣＰＵはステップ１３１０に進み、フューエルカット運転終了フラグＸＦＣＦＫの値が「１」であるか否かを判定する。
【０２３５】
このとき、フューエルカット運転終了フラグＸＦＣＦＫの値が「１」であると、ＣＰＵはステップ１３１０にて「Ｙｅｓ」と判定してステップ１３２０に進み、リッチ要求フラグＸRichreqの値が「１」から「０」へ変化した直後であるか否か（即ち、出力値Voxsがリッチ反転したか否か、フューエルカット運転終了後のリーン・リッチ反転が発生した直後であるか否か）を判定する。そして、リッチ要求フラグＸRichreqの値が「１」から「０」へ変化した直後であると、ＣＰＵはステップ１３２０にて「Ｙｅｓ」と判定し、以下に述べるステップ１３３０乃至ステップ１３６０の処理を順に行い、ステップ１３９５に進んで本ルーチンを一旦終了する。
【０２３６】
ステップ１３３０：ＣＰＵは、フューエルカット復帰後増量係数ＫＦＣＦＫの値を「１」に戻す。これにより、フューエルカット復帰後リッチ制御が終了する。
ステップ１３４０：ＣＰＵは、フューエルカット運転終了フラグＸＦＣＦＫの値を「０」に設定する。
ステップ１３５０：ＣＰＵは、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）（Ｎは１〜４の整数）を増量係数基準値「１＋Ａ」に設定する。
ステップ１３６０：ＣＰＵは、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）（Ｎは１〜４の整数）を減量係数基準値「１−Ａ」に設定する。但し、このステップ１３５０は省略され得る。
【０２３７】
なお、ＣＰＵがステップ１３１０の処理を実行する時点において、フューエルカット運転終了フラグＸＦＣＦＫの値が「１」でない場合（「０」である場合）、ＣＰＵはそのステップ１３１０にて「Ｎｏ」と判定し、ステップ１３９５に直接進んで本ルーチンを一旦終了する。また、ＣＰＵは、ガス当り程度判定終了フラグＸＦＩＮの値が「０」である場合であっても、フューエルカット運転終了後のリーン・リッチ反転が発生した場合、フューエルカット復帰後増量係数ＫＦＣＦＫの値を「１」に戻し、且つ、フューエルカット運転終了フラグＸＦＣＦＫの値を「０」に設定する。
【０２３８】
更に、ＣＰＵがステップ１３２０の処理を実行する時点において、リッチ要求フラグＸRichreqの値が「１」から「０」に変化した直後でなければ、ＣＰＵはステップ１３２０にて「Ｎｏ」と判定し、ステップ１３９５に直接進んで本ルーチンを一旦終了する。以上のように、フューエルカットフラグＸＦＣ、フューエルカット復帰後増量係数ＫＦＣＦＫ、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）及び第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）等が設定される。
【０２３９】
＜＜２．空燃比フィードバック制御の遅れを補償するための気筒別空燃比制御＞＞
ところで、吸入空気量Ｇａが極めて大きい場合（即ち、吸入空気量Ｇａが高側（第１）閾値吸入空気量ＧａＨｉｔｈ以上である場合）、触媒流入ガスの空燃比がリーン空燃比であると多量の酸素が触媒４３に流入し、触媒流入ガスの空燃比がリッチ空燃比であると多量の未燃物が触媒４３に流入する。従って、触媒４３から酸素が流出し始めたときに触媒流入ガスの空燃比を迅速にリッチ空燃比に設定できないと、多量のＮＯｘが排出される虞がある。同様に、触媒４３から未燃物が流出し始めたときに触媒流入ガスの空燃比を迅速にリーン空燃比に設定できないと、多量の未燃物が排出される虞がある。
【０２４０】
一方、下流側空燃比センサ５６が備える空燃比検出素子は「空燃比の変化に対する不可避的な応答遅れ」を有する。換言すると、下流側空燃比センサ５６の出力値Voxsは、下流側空燃比センサ５６の周囲に到達している排ガスの空燃比がリーン空燃比からリッチ空燃比へと、又はその逆へと」変化した場合であっても、変化後の空燃比に対応した値に直ちには変化しない。
【０２４１】
この結果、下流側空燃比センサ５６自体の空燃比変化に対する応答遅れ時間が、空燃比のフィードバック制御上無視できない程度にまで相対的に大きくなる。従って、エミッションが悪化する場合がある。
【０２４２】
逆に、吸入空気量Ｇａが極めて小さい場合（即ち、吸入空気量Ｇａが低側（第２）閾値吸入空気量ＧａＬｏｔｈ以下である場合）、触媒４３の酸素吸蔵量が最大酸素吸蔵量Ｃmax又は「０」に到達するまでには比較的長い時間を要する。従って、空燃比のフィードバック制御における「制御上の無駄時間」が長くなるので、結果として、機関の空燃比が精度良くフィードバック制御できず、特に、その状態において加速運転に移行して吸入空気量Ｇａが増大した場合、エミッションが悪化する虞がある。
【０２４３】
そこで、第１制御装置は、吸入空気量Ｇａが「極めて大きい高側（第１）閾値吸入空気量ＧａＨｉｔｈ」以上であるか否か、及び、吸入空気量Ｇａが「高側（第１）閾値吸入空気量ＧａＨｉｔｈに比べて極めて小さい低側（第２）閾値吸入空気量ＧａＬｏｔｈ」以下であるか否か、を判定する。
【０２４４】
そして、第１制御装置は、吸入空気量Ｇａが高側閾値吸入空気量ＧａＨｉｔｈ以上であるか、又は、吸入空気量Ｇａが低側閾値吸入空気量ＧａＬｏｔｈ以下であると判定した場合、気筒別補正ゲイン（第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）及び第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）、Ｎは１〜４の整数）を調整する。この制御は、「フィードバック周期短縮化制御（フィードバック周期短縮化のための気筒別空燃比制御）」又は「空燃比フィードバック制御の遅れを補償するための気筒別空燃比制御」とも称呼される。
【０２４５】
より具体的に述べると、第１制御装置は、気筒別影響度指標値ＥＦ（Ｌ）により示される「ある気筒Ｌの排ガスの下流側空燃比センサ５６の出力値Voxsへの影響度合い」が強いほど（換言すると、気筒別影響度指標値ＥＦ（Ｌ）が大きいほど）、第Ｌ気筒増量係数ｋＲｉｃｈ（Ｌ）を大きくし、且つ、第Ｌ気筒減量係数ｋＬｅａｎ（Ｌ）を小さくする。
【０２４６】
例えば、上述した表１に示したように、第１気筒が「ガス当り最良気筒」であり、第２及び第３気筒が「ガス当り標準気筒（気筒別影響度指標値ＥＦ（Ｌ）が「０」である気筒）」であり、第４気筒が「ガス当り最低気筒」であるとすると、第１制御装置は、図１４のステップ１４３０内のグラフに実線により示したように、「ガス当り標準気筒である第２気筒の第２気筒増量係数ｋＲｉｃｈ（２）及びガス当り標準気筒である第３気筒の第３気筒増量係数ｋＲｉｃｈ（３）」を増量係数基準値「１＋Ａ」に設定する。
【０２４７】
第１制御装置は、図１４のステップ１４３０内のグラフに実線により示したように、ガス当り最良気筒である第１気筒の第１気筒増量係数ｋＲｉｃｈ（１）を増量係数基準値「１＋Ａ」よりも正の値Ｃ１だけ大きい値「１＋Ａ＋Ｃ１」に設定する。値Ｃ１は、気筒別影響度指標値ＥＦ（Ｎ）が大きいほど大きくなる値であり、従って、第１気筒増量係数ｋＲｉｃｈ（１）は気筒別影響度指標値ＥＦ（１）が大きいほど増量係数基準値「１＋Ａ」よりも大きい範囲において大きくなる。
【０２４８】
第１制御装置は、図１４のステップ１４３０内のグラフに実線により示したように、ガス当り最低気筒である第４気筒の第４気筒増量係数ｋＲｉｃｈ（４）を増量係数基準値「１＋Ａ」よりも正の値Ｄ１だけ小さい値「１＋Ａ−Ｄ１」に設定する。値Ｄ１は、気筒別影響度指標値ＥＦ（Ｎ）が小さいほど大きくなる値であり、且つ、値「１＋Ａ−Ｄ１」が「１」よりも大きくなるように定められている。従って、第４気筒増量係数ｋＲｉｃｈ（４）は、気筒別影響度指標値ＥＦ（４）が小さいほど、「１」と増量係数基準値「１＋Ａ」との間において小さくなる。
【０２４９】
加えて、第１制御装置は、図１４のステップ１４４０内のグラフに実線により示したように、「ガス当り標準気筒である第２気筒の第２気筒減量係数ｋＬｅａｎ（２）及びガス当り標準気筒である第３気筒の第３気筒減量係数ｋＬｅａｎ（３）」を減量係数基準値「１−Ａ」に設定する。
【０２５０】
第１制御装置は、図１４のステップ１４４０内のグラフに実線により示したように、ガス当り最良気筒である第１気筒の第１気筒減量係数ｋＬｅａｎ（１）を減量係数基準値「１−Ａ」よりも正の値Ｃ２だけ小さい値「１−Ａ−Ｃ２」に設定する。値Ｃ２は、気筒別影響度指標値ＥＦ（Ｎ）が大きいほど大きくなる値であり、値「１−Ａ−Ｃ２」が「０」よりも大きくなるように定められている。従って、第１気筒減量係数ｋＬｅａｎ（１）は気筒別影響度指標値ＥＦ（１）が大きいほど、「０」と減量係数基準値「１−Ａ」との間において小さくなる。
【０２５１】
第１制御装置は、図１４のステップ１４４０内のグラフに実線により示したように、ガス当り最低気筒である第４気筒の第４気筒減量係数ｋＬｅａｎ（４）を減量係数基準値「１−Ａ」よりも正の値Ｄ２だけ大きい値「１−Ａ＋Ｄ２」に設定する。値Ｄ２は、気筒別影響度指標値ＥＦ（Ｎ）が小さいほど大きくなる値であり、且つ、値「１−Ａ＋Ｄ２」が「１」よりも小さくなるように定められている。従って、第４気筒減量係数ｋＬｅａｎ（４）は、気筒別影響度指標値ＥＦ（４）が小さいほど、「１」と減量係数基準値「１−Ａ」との間において大きくなる。
【０２５２】
これによれば、リッチ要求が発生している場合、「ガス当りが相対的に強い気筒の空燃比」が「ガス当りの相対的に弱い気筒の空燃比」よりも「よりリッチな（小さい）空燃比」に設定される。更に、リーン要求が発生している場合、「ガス当りが相対的に強い気筒の空燃比」が「ガス当りの相対的に弱い気筒の空燃比」よりも「よりリーンな（大きい）空燃比」に設定される。
【０２５３】
従って、リッチ要求が発生している場合には下流側空燃比センサ５６の出力値Voxsが「理論空燃比よりもリッチな空燃比に相当する値」へと早期に変化し、リーン要求が発生している場合には下流側空燃比センサ５６の出力値Voxsが「理論空燃比よりもリーンな空燃比に相当する値」へと早期に変化する。
【０２５４】
この結果、排ガスの流量が相当に大きいためにリッチ要求及びリーン要求が発生したことを迅速に判定しなければならない場合（換言すると、下流側空燃比センサ５６自体の空燃比変化に対する応答遅れ時間が空燃比のフィードバック制御上、無視できないようになる場合）、及び、排ガスの流量が微量であって「排ガスが燃焼室２１から下流側空燃比センサ５６まで移動する時間（排ガスの輸送遅れ時間）」が大きい場合、等において、リッチ要求又はリーン要求が発生したとの判定を早期に行うことができる。この結果、リーン要求及びリーン要求の何れかが発生したことを遅滞なく判定することができ、及び／又は、下流側空燃比センサ５６の出力値Voxsの変動周期（即ち、上述した反転周期に応じた周期であり、空燃比のフィードバック周期とも言える時間）を短くすることができる。よって、第１制御装置は、触媒流入ガスの空燃比を適切に制御することができので、エミッションを改善することができる。
【０２５５】
なお、第１制御装置は、図１４のステップ１４３０内のグラフに破線により示したように、ガス当りが「ガス当り標準気筒」よりも弱い気筒Ｓの第Ｓ気筒増量係数ｋＲｉｃｈ（Ｓ）を増量係数基準値「１＋Ａ」に設定してもよい。同様に、第１制御装置は、図１４のステップ１４４０内のグラフに破線により示したように、ガス当りが「ガス当り標準気筒」よりも弱い気筒Ｓの第Ｓ気筒減量係数ｋＬｅａｎ（Ｓ）を減量係数基準値「１−Ａ」に設定してもよい。
【０２５６】
更に、第１制御装置は、ガス当り最良気筒（第Ｘ気筒、Ｘは１〜４の整数のうちの一つ）の第Ｘ気筒増量係数ｋＲｉｃｈ（Ｘ）を値「１＋Ａ＋Ｃ１」に設定し、残りの総ての気筒（第Ｙ気筒、Ｙは１〜４の整数のうちのＸ以外の整数）の第Ｙ気筒増量係数ｋＲｉｃｈ（Ｙ）を増量係数基準値「１＋Ａ」に設定してもよい。加えて、第１制御装置は、ガス当り最良気筒（第Ｘ気筒）の第Ｘ気筒減量係数ｋＬｅａｎ（Ｘ）を値「１−Ａ−Ｃ２」に設定し、残りの総ての気筒Ｙの第Ｙ気筒減量係数ｋＬｅａｎ（Ｙ）を減量係数基準値「１−Ａ」に設定してもよい。更に、第１制御装置は、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）（Ｎは１〜４の整数）を増量係数基準値「１＋Ａ」に設定するか、又は、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）（Ｎは１〜４の整数）減量係数基準値「１−Ａ」に設定してもよい。
【０２５７】
次に、図１４を参照しながら、第１制御装置のＣＰＵが上記フィードバック周期短縮化制御を行う際の作動について説明する。ＣＰＵは、図９のステップ９６０に進んだとき、図１２及び図１３のルーチンの処理を終了すると、図１４にフローチャートにより示した「フィードバック周期短縮化のための気筒別空燃比制御」を実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図１４のステップ１４００から処理を開始してステップ１４１０に進み、フューエルカット運転終了フラグＸＦＣＦＫの値が「０」であるか否かを判定する。
【０２５８】
このとき、フューエルカット運転終了フラグＸＦＣＦＫの値が「１」であると、ＣＰＵはステップ１４１０にて「Ｎｏ」と判定し、ステップ１４９５に直接進んで本ルーチンを一旦終了する。
【０２５９】
一方、ＣＰＵがステップ１４１０の処理を行う時点において、フューエルカット運転終了フラグＸＦＣＦＫの値が「０」であると、ＣＰＵはそのステップ１４１０にて「Ｙｅｓ」と判定してステップ１４２０に進み、吸入空気量Ｇａが高側閾値吸入空気量（第１閾値吸入空気量）ＧａＨｉｔｈ以上であるか否かを判定する。高側閾値吸入空気量ＧａＨｉｔｈは、機関１０の負荷ＫＬが高負荷にある場合の吸入空気量Ｇａに相当する。
【０２６０】
いま、吸入空気量Ｇａが高側閾値吸入空気量（第１閾値吸入空気量）ＧａＨｉｔｈ以上であると仮定する。この場合、ＣＰＵは、ステップ１４２０にて「Ｙｅｓ」と判定してステップ１４３０に進み、気筒別影響度指標値ＥＦ（Ｎ）に基いて第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を設定する。
【０２６１】
より具体的に述べると、ＣＰＵは、ステップ１４３０内のグラフにおける実線により示したように、第Ｎ気筒（Ｎは１〜４の整数）の気筒別影響度指標値ＥＦ（Ｎ）（即ち、第Ｎ気筒のガス当り程度）が大きいほど、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）が「１」よりも大きい範囲において次第に大きくなるように第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を決定する。但し、ＣＰＵは、第Ｎ気筒の気筒別影響度指標値ＥＦ（Ｎ）が「０」である場合（即ち、第Ｎ気筒のガス当り程度が標準的である場合）、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を増量係数基準値「１＋Ａ」に設定する。
【０２６２】
次に、ＣＰＵはステップ１４４０に進み、そのステップ１４４０内のグラフにおける実線により示したように、第Ｎ気筒（Ｎは１〜４の整数）の気筒別影響度指標値ＥＦ（Ｎ）（即ち、第Ｎ気筒のガス当り程度）が大きいほど、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）が「１」よりも小さく且つ「０」よりも大きい範囲において次第に小さくなるように第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）を決定する。但し、ＣＰＵは、第Ｎ気筒の気筒別影響度指標値ＥＦ（Ｎ）が「０」である場合（即ち、第Ｎ気筒のガス当り程度が標準的である場合）、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）を減量係数基準値「１−Ａ」に設定する。その後、ＣＰＵは本ルーチンを一旦終了する。
【０２６３】
一方、ＣＰＵがステップ１４２０の処理を行う時点において、吸入空気量Ｇａが高側閾値吸入空気量ＧａＨｉｔｈ以上でなければ、ＣＰＵはそのステップ１４２０にて「Ｎｏ」と判定してステップ１４５０に進み、吸入空気量Ｇａが低側閾値吸入空気量（第２閾値吸入空気量）ＧａＬｏｔｈ以下であるか否かを判定する。低側閾値吸入空気量ＧａＬｏｔｈは、機関１０の負荷ＫＬが極低負荷にある場合の吸入空気量Ｇａに相当する。よって、低側閾値吸入空気量ＧａＬｏｔｈは、高側閾値吸入空気量ＧａＨｉｔｈよりも十分に小さい。
【０２６４】
このとき、吸入空気量Ｇａが低側閾値吸入空気量ＧａＬｏｔｈ以下であると、ＣＰＵはステップ１４５０にて「Ｙｅｓ」と判定し、上述したステップ１４３０及びステップ１４２０の処理を順に行い、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０２６５】
これに対し、ＣＰＵがステップ１４３０の処理を行う時点において、吸入空気量Ｇａが低側閾値吸入空気量ＧａＬｏｔｈ以下でなければ（即ち、吸入空気量Ｇａが低側閾値吸入空気量よりも大きく且つ高側閾値吸入空気量ＧａＨｉｔｈよりも小さい場合）、ＣＰＵはステップ１４５０にて「Ｎｏ」と判定し、以下に述べるステップ１４６０及びステップ１４７０の処理を順に行い、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０２６６】
ステップ１４６０：ＣＰＵは、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）（Ｎは１〜４の整数）を増量係数基準値「１＋Ａ」に設定する。
ステップ１４７０：ＣＰＵは、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）（Ｎは１〜４の整数）を減量係数基準値「１−Ａ」に設定する。
【０２６７】
以上、説明したように、第１制御装置は、
複数の気筒のそれぞれの燃焼室（２１）に混合気を供給するとともに同それぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比を前記複数の気筒間において互いに独立して調整することが可能に構成された気筒別混合気供給手段（燃料噴射弁２５、図７の特にステップ７４０を参照。）と、
触媒４３に流入する排ガスである触媒流入ガスの空燃比を理論空燃比よりも小さいリッチ空燃比に設定する要求であるリッチ要求と前記触媒流入ガスの空燃比を理論空燃比よりも大きいリーン空燃比に設定する要求であるリーン要求との何れの空燃比要求が発生しているかを下流側空燃比センサ５６の出力値Voxsに基いて決定するとともに（図８を参照。）、前記複数の気筒の気筒別空燃比のそれぞれが前記決定された空燃比要求に応じた空燃比となるように同複数の気筒の気筒別空燃比を制御する気筒別空燃比制御手段（図７の特にステップ７３５、ステップ７４５乃至ステップ７５５、及び、図９等を参照。）
を備える。
【０２６８】
更に、第１制御装置において、
前記気筒別空燃比制御手段は、
前記複数の気筒のうちの一つの気筒を選択気筒として選択し且つ前記選択気筒の気筒別空燃比が前記複数の気筒のうちの残りの気筒である非選択気筒の気筒別空燃比と相違するように前記複数の気筒のそれぞれの気筒別空燃比を変更するとともに前記下流側空燃比センサの出力値の変動周期に相関を有する値（平均酸素吸蔵量ＯＳＡ（Ｎ））を前記選択気筒に対応する変動周期相関値として取得する動作を、総ての気筒のそれぞれが前記選択気筒として選択されるまで繰り返し実行する変動周期相関値取得手段（図５、図９及び図１０等を参照。）と、
前記複数の気筒のそれぞれに対応する前記取得された変動周期相関値（平均酸素吸蔵量ＯＳＡ（Ｎ））に基づいて、前記複数の気筒のそれぞれから排出される排ガスの前記下流側空燃比センサの出力値への影響度合いを判定するガス当り度合い判定手段（図５のステップ５５０、図１０のステップ１０９０及び表１等を参照。）と、
を含む。
【０２６９】
従って、第１制御装置は、各気筒からの排ガスの下流側空燃比センサ５６の出力値Voxsへの影響度合いを判定（取得）することができる。よって、各気筒からの排ガスの下流側空燃比センサ５６の出力値Voxsへの影響度合い（気筒別影響度指標値ＥＦ（Ｎ））を利用して気筒別空燃比を制御することが可能になるから、エミッションを改善することが可能である。
【０２７０】
前記ガス当り度合い判定手段は、
前記複数の気筒のそれぞれに対応する前記取得された変動周期相関値（平均酸素吸蔵量ＯＳＡ（Ｎ））に基づいて、前記複数の気筒のそれぞれから排出される排ガスの前記下流側空燃比センサの出力値への影響度合いを示す気筒別影響度指標値ＥＦ（Ｎ）を前記複数の気筒のそれぞれに対して取得する気筒別影響度指標値取得手段を含み（図１０のステップ１０９０、及び、表１を参照。）、
前記気筒別空燃比制御手段は、
前記リッチ要求が発生している期間において、「気筒別影響度指標値ＥＦ（Ｎ）により示される前記下流側空燃比センサの出力値への影響度合いが第１の値である気筒」の気筒別空燃比が、「気筒別影響度指標値ＥＦ（Ｎ）により示される前記下流側空燃比センサの出力値への影響度合いが前記第１の値よりも小さい第２の値である気筒」の気筒別空燃比よりも小さくなるように、前記複数の気筒の気筒別空燃比のそれぞれを補正するフィードバック周期短縮化制御を実行する気筒別空燃比補正手段を含む（図１４の特にステップ１４３０及び図７のステップ７５０を参照。）。
【０２７１】
なお、この気筒別空燃比補正手段は、
前記リッチ要求が発生している期間において「変動周期相関値（平均酸素吸蔵量ＯＳＡ（Ｎ））に基づいて特定されるガス当り最良気筒（気筒別影響度指標値ＥＦ（Ｎ）が複数の気筒のうちで最大の気筒）」の気筒別空燃比が、前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比よりも小さい空燃比（よりリッチな空燃比）となるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する手段でもある。
【０２７２】
これによれば、下流側空燃比センサ５６の出力値Voxsが、理論空燃比よりもリッチな空燃比に相当する値へと早期に変化する。この結果、触媒４３に多量で且つ浄化されない未燃物が流入しないように触媒流入ガスの空燃比を適切に制御することができる。従って、エミッションを改善することができる。
【０２７３】
更に、前記気筒別空燃比制御手段は、
前記リーン要求が発生している期間において、「気筒別影響度指標値ＥＦ（Ｎ）により示される前記下流側空燃比センサの出力値への影響度合いが第１の値である気筒」の気筒別空燃比が、「気筒別影響度指標値ＥＦ（Ｎ）により示される前記下流側空燃比センサの出力値への影響度合いが前記第１の値よりも小さい第２の値である気筒」の気筒別空燃比よりも大きくなるように、前記複数の気筒の気筒別空燃比のそれぞれを補正するフィードバック周期短縮化制御を実行する気筒別空燃比補正手段を含む（図１４の特にステップ１４４０及び図７のステップ７５５を参照。）。
【０２７４】
なお、この気筒別空燃比制御手段は、
前記リーン要求が発生している期間において前記特定されたガス当り最良気筒（気筒別影響度指標値ＥＦ（Ｎ）が複数の気筒のうちで最大の気筒）の気筒別空燃比が前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒の気筒別空燃比よりも大きい空燃比（よりリーンな空燃比）となるように前記複数の気筒の気筒別空燃比のそれぞれを補正する手段でもある。
【０２７５】
これによれば、下流側空燃比センサ５６の出力値Voxsが、理論空燃比よりもリーンな空燃比に相当する値へと早期に変化する。この結果、触媒４３に多量で且つ浄化されないＮＯｘが流入しないように触媒流入ガスの空燃比を適切に制御することができる。従って、エミッションを改善することができる。
【０２７６】
加えて、第１制御装置はフューエルカット運転を行うフューエルカット手段を含む（図１１及び図７のステップ７０５での「Ｎｏ」との判定を参照。）。
【０２７７】
更に、前記気筒別空燃比制御手段は、
前記フューエルカット運転の終了時点以降に前記下流側空燃比センサの出力値に基いて前記三元触媒の下流に未燃物が流出し始めたか否かを判定する（図１３のステップ１３１０及びステップ１３２０を参照。）とともに、前記フューエルカット運転の終了時点から前記三元触媒の下流に未燃物が流出し始めたと判定される時点までのフューエルカット終了後期間（即ち、フューエルカット運転終了フラグＸＦＣＦＫの値が「１」である期間）において、「気筒別影響度指標値ＥＦ（Ｎ）により示される下流側空燃比センサ５６の出力値Voxsへの影響度合いが第１の値である気筒」の気筒別空燃比が、「気筒別影響度指標値ＥＦ（Ｎ）により示される下流側空燃比センサ５６の出力値Voxsへの影響度合いが前記第１の値よりも小さい第２の値である気筒」の気筒別空燃比よりも大きく且つ理論空燃比よりは小さい空燃比になるように、前記気筒別空燃比を補正するフューエルカット終了後制御を実行する気筒別空燃比補正手段を含む（図１２の特にステップ１２２０と、図７のステップ７５０と、を参照。）。
【０２７８】
この気筒別空燃比補正手段は、「ガス当り最良気筒（気筒別影響度指標値ＥＦ（Ｎ）が複数の気筒のうちで最大の気筒）」の気筒別空燃比が、「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒」の気筒別空燃比よりも大きく且つ理論空燃比よりは小さい空燃比になるように、前記気筒別空燃比を補正する手段でもある。
【０２７９】
これにより、フューエルカット運転が終了した後に下流側空燃比センサ５６の出力値Voxsが理論空燃比よりもリーンな空燃比に相当する値からリッチな空燃比に相当する値へと変化するタイミング（リーン要求の発生タイミング）を従来装置よりも遅らせることができるので、フューエルカット終了後期間において触媒４３の貴金属を還元させるのに十分な未燃物を触媒４３に流入させることができる。この結果、フューエルカット運転の終了後において「貴金属が還元されていないために触媒４３の浄化能力が低下すること」を回避することができる。
【０２８０】
なお、第１制御装置のＣＰＵは、気筒別影響度指標値ＥＦ（Ｎ）（Ｎは１〜４の整数）をバックアップＲＡＭに格納し、次回の機関１０の始動後において新たに気筒別影響度指標値ＥＦ（Ｎ）が得られるまで、バックアップＲＡＭに格納された気筒別影響度指標値ＥＦに基いて気筒別空燃比制御を実行してもよい。
【０２８１】
（第１制御装置の変形例）
次に、第１制御装置の変形例について説明する。この変形例は、フューエルカット復帰後増量係数ＫＦＣＦＫを常に「１」に維持する。換言すると、この変形例においてフューエルカット復帰後増量係数ＫＦＣＦＫは使用されない。
【０２８２】
前述したように、フューエルカット運転中において触媒４３の酸素吸蔵量は最大酸素吸蔵量Ｃmaxに達するので、フューエルカット運転が終了した直後における出力値Voxsは理論空燃比相当電圧Ｖstよりも小さい。従って、リッチ要求フラグＸRichreqの値は図８のステップ８１０にて「１」に設定されるから、ＣＰＵは図７のステップ７４５にて「Ｙｅｓ」と判定してステップ７５０に進む。よって、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）により基本燃料噴射量Ｆｂ（Ｎ）が増量されるので、触媒流入ガスの空燃比はフューエルカット復帰後増量係数ＫＦＣＦＫの値が「１」であってもリッチ空燃比に設定される。その他の点は、第１制御装置と同様である。
【０２８３】
即ち、上述した第１制御装置の気筒別空燃比補正手段は、「フューエルカット終了後期間における複数の気筒の気筒別空燃比の平均値」が「フューエルカット終了後期間の経過後において、リッチ要求が発生している場合における複数の気筒の気筒別空燃比の平均値」よりも小さくなる（よりリッチな空燃比となる）ように、気筒別空燃比を補正するように構成されている。
【０２８４】
これによれば、フューエルカット終了後期間において触媒４３に十分な未燃物（還元剤）を供給することができるとともに、フューエルカット終了後から短時間内に触媒４３を通常の状態へと移行させることができる。
【０２８５】
これに対し、第１制御装置の変形例に係る気筒別空燃比補正手段は、「フューエルカット終了後期間における複数の気筒の気筒別空燃比の平均値」が「フューエルカット終了後期間の経過後において、リッチ要求が発生している場合における複数の気筒の気筒別空燃比の平均値」と等しいリッチ空燃比となるように、気筒別空燃比を補正するように構成されている。
【０２８６】
＜第２実施形態＞
次に、本発明の第２実施形態に係る空燃比制御装置（以下、単に「第２制御装置」と称呼する。）について説明する。第２制御装置は、第１制御装置と同様に気筒別影響度指標値ＥＦ（Ｎ）を取得する。但し、第２制御装置は、気筒別影響度指標値ＥＦ（Ｎ）に基いて「空燃比フィードバック制御のハンチング防止のための気筒別空燃比制御（制御ハンチング防止制御）」を実行する点において第１制御装置と相違している。従って、以下、この相違点を中心として説明する。
【０２８７】
上流側触媒４３が劣化することに伴い上流側触媒４３の最大酸素吸蔵量Ｃmaxが小さくなると、下流側空燃比センサ５６の出力値Voxsの変動周期（上述した反転周期に応じた周期であり、空燃比のフィードバック周期とも言える時間）が短くなる。このため、気筒別空燃比を気筒間において同じ値に設定していると、下流側空燃比センサ５６の出力値Voxsがガス当り最良気筒の排ガスの空燃比に過剰に反応し、その結果、機関１０の空燃比が激しく振動する（ハンチング）するためにエミッションが悪化する。
【０２８８】
そこで、第２制御装置は、触媒４３の最大酸素吸蔵量Ｃmaxを取得し、その最大酸素吸蔵量Ｃmaxが閾値最大酸素吸蔵量Ｃmaxthよりも小さいか否かを判定し、最大酸素吸蔵量Ｃmaxが閾値最大酸素吸蔵量Ｃmaxthよりも小さいと判定した場合、気筒別影響度指標値ＥＦ（Ｌ）により示される「ある気筒Ｌ（Ｌは１〜４の整数）の排ガスの下流側空燃比センサ５６の出力値Voxsへの影響度合い」が強いほど（換言すると、気筒別影響度指標値ＥＦ（Ｌ）が大きいほど）、第Ｌ気筒増量係数ｋＲｉｃｈ（Ｌ）を減少させ、第Ｌ気筒減量係数ｋＬｅａｎ（Ｌ）を増大させる。
【０２８９】
例えば、上述した表１に示したように、第１気筒がガス当り最良気筒であり、第２及び第３気筒がガス当り標準気筒であり、第４気筒がガス当り最低気筒であるとすると、第２制御装置は、図１５のステップ１５４０内のグラフに実線により示したように、「ガス当り標準気筒である第２気筒の第２気筒増量係数ｋＲｉｃｈ（２）及びガス当り標準気筒である第３気筒の第３気筒増量係数ｋＲｉｃｈ（３）」を増量係数基準値「１＋Ａ」に設定する。
【０２９０】
第２制御装置は、図１５のステップ１５４０内のグラフに実線により示したように、ガス当り最良気筒である第１気筒の第１気筒増量係数ｋＲｉｃｈ（１）を増量係数基準値「１＋Ａ」よりも正の値Ｃ３だけ小さい値「１＋Ａ−Ｃ３」に設定する。値Ｃ３は、気筒別影響度指標値ＥＦ（Ｎ）が大きいほど大きくなる値であり、且つ、値「１＋Ａ−Ｃ３」が「１」よりも大きくなるように定められている。従って、第１気筒増量係数ｋＲｉｃｈ（１）は気筒別影響度指標値ＥＦ（１）が大きいほど、「１」と増量係数基準値「１＋Ａ」との間において小さくなる。
【０２９１】
第２制御装置は、図１５のステップ１５４０内のグラフに実線により示したように、ガス当り最低気筒である第４気筒の第４気筒増量係数ｋＲｉｃｈ（４）を増量係数基準値「１＋Ａ」よりも正の値Ｄ３だけ大きい値「１＋Ａ＋Ｄ３」に設定する。値Ｄ３は、気筒別影響度指標値ＥＦ（Ｎ）が小さいほど大きくなる値であり、従って、第４気筒増量係数ｋＲｉｃｈ（４）は気筒別影響度指標値ＥＦ（４）が小さいほど増量係数基準値「１＋Ａ」よりも大きい範囲において大きくなる。
【０２９２】
加えて、第２制御装置は、図１５のステップ１５５０内のグラフに実線により示したように、ガス当り標準気筒である「第２気筒の第２気筒減量係数ｋＬｅａｎ（２）及びガス当り標準気筒である第３気筒の第３気筒減量係数ｋＬｅａｎ（３）」を減量係数基準値「１−Ａ」に設定する。
【０２９３】
第２制御装置は、図１５のステップ１５５０内のグラフに実線により示したように、、ガス当り最良気筒である第１気筒の第１気筒減量係数ｋＬｅａｎ（１）を減量係数基準値「１−Ａ」よりも正の値Ｃ４だけ大きい値「１−Ａ＋Ｃ４」に設定する。値Ｃ４は、気筒別影響度指標値ＥＦ（Ｎ）が大きいほど大きくなる値であり、且つ、値「１−Ａ＋Ｃ４」が「１」よりも小さくなるように定められている。従って、第１気筒減量係数ｋＬｅａｎ（１）は、気筒別影響度指標値ＥＦ（１）が大きいほど、「１」と減量係数基準値「１−Ａ」との間において大きくなる。
【０２９４】
第２制御装置は、図１５のステップ１５５０内のグラフに実線により示したように、、ガス当り最低気筒である第４気筒の第４気筒減量係数ｋＬｅａｎ（４）を減量係数基準値「１−Ａ」よりも正の値Ｄ４だけ小さい値「１−Ａ−Ｄ４」に設定する。値Ｄ４は、気筒別影響度指標値ＥＦ（Ｎ）が小さいほど大きくなる値であり、且つ、値「１−Ａ−Ｄ４」が「０」よりも大きくなるように定められている。従って、第４気筒減量係数ｋＬｅａｎ（４）は、気筒別影響度指標値ＥＦ（４）が小さいほど、「０」と減量係数基準値「１−Ａ」との間において小さくなる。
【０２９５】
この結果、第２制御装置は、「ガス当りが相対的に強い気筒の空燃比」を理論空燃比に近づけ、「ガス当りが相対的に弱い気筒の空燃比」を理論空燃比から遠ざけることができる。
【０２９６】
これにより、各気筒から排出される排ガスの下流側空燃比センサ５６の出力値Voxsへの影響度合いが気筒間において均一化される。その結果、リッチ要求が発生して触媒４３にリッチ空燃比の排ガスが流入している場合に、下流側空燃比センサ５６の出力値Voxsがガス当り最良気筒の排ガスの空燃比に過剰に反応しないので、下流側空燃比センサ５６の出力値Voxsが「理論空燃比よりもリーンな空燃比に相当する値から理論空燃比よりもリッチな空燃比に相当する値へ」と変化する時期が遅れる。よって、下流側空燃比センサ５６の出力値Voxsの変動周期（換言すると、空燃比のフィードバック周期）を長くすることができる。
【０２９７】
更に、リーン要求が発生して触媒４３にリーン空燃比の排ガスが流入している場合に、下流側空燃比センサ５６の出力値Voxsがガス当り最良気筒の排ガスの空燃比に過剰に反応しないので、下流側空燃比センサ５６の出力値Voxsが「理論空燃比よりもリッチな空燃比に相当する値から理論空燃比よりもリーンな空燃比に相当する値へ」と変化する時期が遅れる。よって、下流側空燃比センサ５６の出力値Voxsの変動周期（換言すると、空燃比のフィードバック周期）を長くすることができる。
【０２９８】
この結果、触媒４３の最大酸素吸蔵量Ｃmaxが小さくなった場合であっても、気筒別空燃比が激しく振動する（ハンチング）することを回避することができるので、エミッションが悪化することを回避することができる。
【０２９９】
（実際の作動）
第２制御装置のＣＰＵは、図７乃至図１３に示したルーチンを実行する。更に、ＣＰＵは、図１３のルーチンの処理を終了すると、図１５に示した「制御ハンチング防止のための気筒別空燃比制御ルーチン」を実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図１５のステップ１５００から処理を開始してステップ１５１０に進み、フューエルカット運転終了フラグＸＦＣＦＫの値が「０」であるか否かを判定する。
【０３００】
このとき、フューエルカット運転終了フラグＸＦＣＦＫの値が「１」であると、ＣＰＵはステップ１５１０にて「Ｎｏ」と判定し、ステップ１５９５に直接進んで本ルーチンを一旦終了する。
【０３０１】
一方、ＣＰＵがステップ１５１０の処理を行う時点において、フューエルカット運転終了フラグＸＦＣＦＫの値が「０」であると、ＣＰＵはステップ１５１０にて「Ｙｅｓ」と判定してステップ１５２０に進み、最大酸素吸蔵量Ｃmaxを読み込む。
【０３０２】
最大酸素吸蔵量Ｃmaxは、上流側触媒４３が吸蔵し得る酸素の量の最大値であり、所謂「アクティブ空燃比制御」によって別途取得されている。最大酸素吸蔵量Ｃmaxは、上流側触媒４３の劣化が進むほど小さくなる。アクティブ空燃比制御は、例えば、特開平５−１３３２６４号公報等に記載された周知の制御である。例えば、最大酸素吸蔵量Ｃmaxは、次のようにして取得される。
【０３０３】
・上流側触媒４３の温度が所定の温度であるとき、ＣＰＵは、上流側触媒４３に理論空燃比stoichよりもリッチな空燃比の排ガスを流入し続け、上流側触媒４３の酸素吸蔵量を「０」に一致させる。このとき、下流側空燃比センサ５６の出力値Voxsは最大出力値maxとなる。
【０３０４】
・ＣＰＵは、その時点から上流側触媒４３に理論空燃比stoichよりもリーンな空燃比の排ガスを流入し続け、その時点から下流側空燃比センサ５６の出力値Voxsが理論空燃比相当相当電圧Vstよりも小さい値となる時点までの期間において「上流側空燃比センサ５５の出力値Vabyfsと燃料量とに基いて推定される三元触媒４３に吸蔵される酸素量（即ち、単位時間あたりの酸素吸蔵量変化量ΔＯＳＡ）を算出し、その酸素吸蔵量変化量ΔＯＳＡを積算することにより最大酸素吸蔵量Ｃmaxを求める。酸素吸蔵量変化量ΔＯＳＡは、（単位時間あたりの燃料量）・０．２３・（abyfs−stoich）により算出される。最大酸素吸蔵量Ｃmaxは、取得される毎に、最大酸素吸蔵量Ｃmaxを取得した期間における触媒の温度とともに、バックアップＲＡＭに記憶・更新される。
【０３０５】
次に、ＣＰＵは図１５のステップ１５３０に進み、最大酸素吸蔵量Ｃmaxが閾値最大酸素吸蔵量Ｃmaxthよりも小さいか否かを判定する。このとき、最大酸素吸蔵量Ｃmaxが閾値最大酸素吸蔵量Ｃmaxthよりも小さいと、ＣＰＵはステップ１５３０にて「Ｙｅｓ」と判定し、以下に述べるステップ１５４０及びステップ１５５０の処理を順に行い、ステップ１５９５に進んで本ルーチンを一旦終了する。
【０３０６】
ステップ１５４０：ＣＰＵは、気筒別影響度指標値ＥＦ（Ｎ）に基いて第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を設定する。より具体的に述べると、ＣＰＵは、ステップ１５４０内のグラフに実線により示したように、第Ｎ気筒の気筒別影響度指標値ＥＦ（Ｎ）（即ち、第Ｎ気筒のガス当り程度）が大きいほど、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）が「１」よりも大きい範囲において次第に小さくなるように第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を決定する。但し、ＣＰＵは、第Ｎ気筒の気筒別影響度指標値ＥＦ（Ｎ）が「０」である場合（即ち、第Ｎ気筒のガス当り程度が標準的である場合）、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を増量係数基準値「１＋Ａ」に設定する。
【０３０７】
ステップ１５５０：ＣＰＵは、気筒別影響度指標値ＥＦ（Ｎ）に基いて第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）を設定する。より具体的に述べると、ＣＰＵは、ステップ１５５０内のグラフに実線により示したように、第Ｎ気筒の気筒別影響度指標値ＥＦ（Ｎ）（即ち、第Ｎ気筒のガス当り程度）が大きいほど、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）が「１」よりも小さい範囲において次第に大きくなるように第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）を決定する。但し、ＣＰＵは、第Ｎ気筒の気筒別影響度指標値ＥＦ（Ｎ）が「０」である場合（即ち、第Ｎ気筒のガス当り程度が標準的である場合）、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）を減量係数基準値「１−Ａ」に設定する。
【０３０８】
一方、ＣＰＵがステップ１５３０の処理を行う時点において、最大酸素吸蔵量Ｃmaxが閾値最大酸素吸蔵量Ｃmaxth以上であると、ＣＰＵはそのステップ１５３０にて「Ｎｏ」と判定し、以下に述べるステップ１５６０及びステップ１５７０の処理を順に行い、ステップ１５９５に進んで本ルーチンを一旦終了する。
【０３０９】
ステップ１５６０：ＣＰＵは、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）（Ｎは１〜４の整数）を増量係数基準値「１＋Ａ」に設定する。
ステップ１５７０：ＣＰＵは、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）（Ｎは１〜４の整数）を減量係数基準値「１−Ａ」に設定する。
【０３１０】
なお、第２制御装置は、最大酸素吸蔵量Ｃmaxが小さいほど、ガス当り標準気筒よりもガス当りの程度が高い「第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）及び第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）」を、より一層「１」に近づけてもよい（ステップ１５４０及びステップ１５５０に図示した値Ｃ３、値Ｄ３、値Ｃ４及び値Ｄ４を大きくしてもよい）。即ち、第２制御装置は、最大酸素吸蔵量Ｃmaxが小さいほど、ガス当りの最良気筒の気筒別空燃比を理論空燃比に一層近づけ、ガス当りの最低気筒の気筒別空燃比を理論空燃比から一層遠ざけるように、気筒別空燃比を制御してもよい。
【０３１１】
以上、説明したように、第２制御装置の気筒別空燃比制御手段は、
触媒４３の最大酸素吸蔵量Ｃmaxを取得する最大酸素吸蔵量取得手段と（図１５のステップ１５２０を参照。）、
前記リッチ要求が発生している期間において、「気筒別影響度指標値ＥＦ（Ｎ）により示される下流側空燃比センサの出力値への影響度合いが第１の値である気筒」の気筒別空燃比が、気筒別影響度指標値ＥＦ（Ｎ）により示される下流側空燃比センサの出力値への影響度合いが前記第１の値よりも小さい第２の値である気筒」の気筒別空燃比よりも大きく且つ理論空燃比よりも小さい空燃比であって、更に、前記取得された最大酸素吸蔵量Ｃmaxが小さくなるほど理論空燃比により近い空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する（制御ハンチング防止制御を実行する）気筒別空燃比補正手段と（図１５のステップ１５３０及びステップ１５４０等を参照。）、
を含む。
【０３１２】
この気筒別空燃比補正手段は、前記リッチ要求が発生している期間において、「ガス当り最良気筒（気筒別影響度指標値ＥＦ（Ｎ）が複数の気筒のうちで最大の気筒）」の気筒別空燃比が「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒」の気筒別空燃比よりも大きく且つ理論空燃比よりも小さい空燃比であって更に前記取得された最大酸素吸蔵量Ｃmaxが小さくなるほど理論空燃比により近い空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する手段でもある。
【０３１３】
更に、第２制御装置の気筒別空燃比補正手段は、
前記リーン要求が発生している期間において、「気筒別影響度指標値ＥＦ（Ｎ）により示される前記下流側空燃比センサの出力値への影響度合いが第１の値である気筒」の気筒別空燃比が、「気筒別影響度指標値ＥＦ（Ｎ）により示される前記下流側空燃比センサの出力値への影響度合いが前記第１の値よりも小さい第２の値である気筒」の気筒別空燃比よりも小さく且つ理論空燃比よりも大きい空燃比であって、更に、前記取得された最大酸素吸蔵量Ｃmaxが小さくなるほど理論空燃比により近い空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する（制御ハンチング防止制御を実行する）ようになっている（図１５のステップ１５３０及びステップ１５５０等を参照。）。
【０３１４】
この気筒別空燃比補正手段は、前記リーン要求が発生している期間において、「ガス当り最良気筒（気筒別影響度指標値ＥＦ（Ｎ）が複数の気筒のうちで最大の気筒）」の気筒別空燃比が、「前記複数の気筒のうちの前記ガス当り最良気筒以外の気筒」の気筒別空燃比よりも小さく且つ理論空燃比よりも大きい空燃比であって、更に、取得された最大酸素吸蔵量Ｃmaxが小さくなるほど理論空燃比により近い空燃比になるように、前記複数の気筒の気筒別空燃比のそれぞれを補正する手段でもある。
【０３１５】
この第２制御装置は、触媒４３が劣化して最大酸素吸蔵量Ｃmaxが小さくなった場合に、下流側空燃比センサ５６の出力値Voxsが「理論空燃比よりもリーンな空燃比に相当する値へと変化する時期、及び、理論空燃比よりもリッチな空燃比に相当する値へと変化する時期」を遅らすことができる。よって、下流側空燃比センサの出力値の変動周期（換言すると、空燃比のフィードバック周期）を長くする（気筒別空燃比のハンチングを防止する）ことができる。この結果、触媒４３が劣化して最大酸素吸蔵量Ｃmaxが小さくなった場合にエミッションが悪化することを回避することができる。
【０３１６】
＜第３実施形態＞
次に、本発明の第３実施形態に係る空燃比制御装置（以下、単に「第３制御装置」と称呼する。）について説明する。第３制御装置は、第１制御装置と同様に気筒別影響度指標値ＥＦ（Ｎ）を取得する。但し、第３制御装置は、気筒別影響度指標値ＥＦ（Ｎ）に基いて「触媒の異常診断用パラメータ取得のための気筒別空燃比制御」を実行する点において第１制御装置と相違している。従って、以下、この相違点を中心として説明する。
【０３１７】
第３制御装置は、触媒４３の異常診断用パラメータ（最大酸素吸蔵量Ｃmax）を取得している期間、第２制御装置と同様、「ガス当りが相対的に強い気筒の空燃比」を理論空燃比に近づけ、「ガス当りが相対的に弱い気筒の空燃比」を理論空燃比から遠ざけるように、気筒別空燃比制御を行う。
【０３１８】
即ち、第３制御装置は、触媒４３の異常診断用パラメータ（最大酸素吸蔵量Ｃmax）を取得している期間、気筒別影響度指標値ＥＦ（Ｎ）が大きいほど第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を「１」より大きい範囲において次第に小さくなる値に設定する。但し、第３制御装置は、気筒別影響度指標値ＥＦ（Ｎ）が「０」であるとき、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を増量係数基準値「１＋Ａ」に設定する。
【０３１９】
更に、第３制御装置は、触媒４３の異常診断用パラメータ（最大酸素吸蔵量Ｃmax）を取得している期間、気筒別影響度指標値ＥＦ（Ｎ）が大きいほど第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）を「１」より小さい範囲において次第に大きくなる値に設定する。但し、第３制御装置は、気筒別影響度指標値ＥＦ（Ｎ）が「０」であるとき、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）を減量係数基準値「１−Ａ」に設定する。
【０３２０】
これによれば、ガス当りの強い気筒とガス当りの弱い気筒とが、下流側空燃比センサ５６の出力値に対して同程度の影響度を有する排ガスを排出することになるので、特定の気筒のガス当りが強い場合に比較して、触媒４３の異常診断用パラメータ（最大酸素吸蔵量Ｃmax）を精度良く取得することができる。
【０３２１】
（実際の作動）
第３制御装置のＣＰＵは、図７乃至図１３に示したルーチンを実行する。更に、ＣＰＵは、図１３のルーチンの処理を終了すると、図１６に示した「触媒の異常診断用パラメータ取得のための気筒別空燃比制御ルーチン」を実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図１６のステップ１６００から処理を開始してステップ１６１０に進み、フューエルカット運転終了フラグＸＦＣＦＫの値が「０」であるか否かを判定する。
【０３２２】
このとき、フューエルカット運転終了フラグＸＦＣＦＫの値が「１」であると、ＣＰＵはステップ１６１０にて「Ｎｏ」と判定し、ステップ１６９５に直接進んで本ルーチンを一旦終了する。
【０３２３】
一方、ＣＰＵがステップ１６１０の処理を行う時点において、フューエルカット運転終了フラグＸＦＣＦＫの値が「０」であると、ＣＰＵはステップ１６１０にて「Ｙｅｓ」と判定してステップ１６２０に進み、現時点が触媒の異常診断用パラメータ（即ち、最大酸素吸蔵量Ｃmax）を取得している最中であるか否かを判定する。
【０３２４】
なお、上述したように、最大酸素吸蔵量Ｃmaxは、所謂「アクティブ空燃比制御」によって別途取得される。更に、触媒の異常診断用パラメータとしての最大酸素吸蔵量Ｃmaxは、所定の診断条件（例えば、冷却水温ＴＨＷが冷却水温閾値Ｔｔｈ以上であり、吸入空気量Ｇａが所定の範囲内であり、推定される触媒４３の温度が所定温度領域内の温度であり、且つ、吸入空気量Ｇａの単位時間当たりの変化量ΔＧａが所定値以下であること等）が成立したときに取得される。
【０３２５】
現時点が触媒の異常診断用パラメータ（即ち、最大酸素吸蔵量Ｃmax）を取得している最中であると、ＣＰＵはステップ１６２０にて「Ｙｅｓ」と判定し、以下に述べるステップ１６３０及びステップ１６４０の処理を順に行い、ステップ１６９５に進んで本ルーチンを一旦終了する。
【０３２６】
ステップ１６３０：ＣＰＵは、気筒別影響度指標値ＥＦ（Ｎ）に基いて第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を設定する。より具体的に述べると、ＣＰＵは、ステップ１６３０内のグラフに実線により示したように、第Ｎ気筒の気筒別影響度指標値ＥＦ（Ｎ）（即ち、第Ｎ気筒のガス当り程度）が大きいほど、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）が「１」よりも大きい範囲において次第に小さくなるように第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を決定する。但し、ＣＰＵは、第Ｎ気筒の気筒別影響度指標値ＥＦ（Ｎ）が「０」である場合（即ち、第Ｎ気筒のガス当り程度が標準的である場合）、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を増量係数基準値（リッチ側基準ゲイン）「１＋Ａ」に設定する。
【０３２７】
ステップ１６４０：ＣＰＵは、気筒別影響度指標値ＥＦ（Ｎ）に基いて第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）を設定する。より具体的に述べると、ＣＰＵは、ステップ１６４０内のグラフに実線により示したように、第Ｎ気筒の気筒別影響度指標値ＥＦ（Ｎ）（即ち、第Ｎ気筒のガス当り程度）が大きいほど、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）が「１」よりも小さい範囲において次第に大きくなるように第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）を決定する。但し、ＣＰＵは、第Ｎ気筒の気筒別影響度指標値ＥＦ（Ｎ）が「０」である場合（即ち、第Ｎ気筒のガス当り程度が標準的である場合）、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）を減量係数基準値（リーン側基準ゲイン）「１−Ａ」に設定する。
【０３２８】
一方、ＣＰＵがステップ１６２０の処理を行う時点において、その時点が触媒の異常診断用パラメータを取得している最中でなければ、ＣＰＵはそのステップ１６２０にて「Ｎｏ」と判定し、以下に述べるステップ１６５０及びステップ１６６０の処理を順に行い、ステップ１６９５に進んで本ルーチンを一旦終了する。
【０３２９】
ステップ１６５０：ＣＰＵは、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）（Ｎは１〜４の整数）を増量係数基準値「１＋Ａ」に設定する。
ステップ１６６０：ＣＰＵは、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）（Ｎは１〜４の整数）を減量係数基準値「１−Ａ」に設定する。
【０３３０】
以上、説明したように、第３制御装置は、触媒４３の異常診断用パラメータ（最大酸素吸蔵量Ｃmax）を取得している期間、第２制御装置と同様、「ガス当りが相対的に強い気筒の空燃比」を理論空燃比に近づけ、「ガス当りが相対的に弱い気筒の空燃比」を理論空燃比から遠ざけるように、気筒別空燃比制御を行う（図１６を参照。）。従って、各気筒が、下流側空燃比センサ５６の出力値に対して同程度の影響度を有する排ガスを排出することと同等になるので、特定の気筒のガス当りが強い場合に比較して、触媒４３の異常診断用パラメータ（最大酸素吸蔵量Ｃmax）を精度良く取得することができる。
【０３３１】
＜第４実施形態＞
次に、本発明の第４実施形態に係る空燃比制御装置（以下、単に「第４制御装置」と称呼する。）について説明する。第４制御装置は、第１制御装置と同様に気筒別影響度指標値ＥＦ（Ｎ）を取得する。但し、第４制御装置は、第１乃至第３制御装置が採用した気筒別空燃比制御に加え、機関１０の運転状態が特定の運転状態にあるとき（より具体的には、下流側触媒４４が排ガス浄化を行う能力が高い場合）に気筒別空燃比制御を行わない。
【０３３２】
第４制御装置のＣＰＵは、図１７の概略フローチャートに従って作動する。即ち、ＣＰＵは、所定時間が経過する毎にステップ１７０５に進み、第１制御装置等と同様に気筒別影響度指標値ＥＦ（Ｎ）を取得する（図５、図９及び図１０等を参照。）。なお、機関１０の今回の運転開始後において、気筒別影響度指標値ＥＦ（Ｎ）が一旦取得されると、それ以降、機関１０の運転が停止されるまで、ＣＰＵはステップ１７０５をスキップしてステップ１７１０に進む。
【０３３３】
ＣＰＵは、気筒別影響度指標値ＥＦ（Ｎ）を取得するとステップ１７１０に進み、フューエルカット運転終了フラグＸＦＣＦＫの値が「０」であるか否かを判定する。このとき、フューエルカット運転終了フラグＸＦＣＦＫの値が「１」であると、ＣＰＵはステップ１７１０にて「Ｎｏ」と判定してステップ１７２０に進み、上述した「フューエルカット復帰後リッチ制御のための気筒別空燃比制御」を実行する（図１２等を参照。）。その後、ＣＰＵはステップ１７９５に進む。
【０３３４】
ＣＰＵがステップ１７１０の処理を実行する時点において、フューエルカット運転終了フラグＸＦＣＦＫの値が「０」である場合、ＣＰＵはそのステップ１７１０にて「Ｙｅｓ」と判定してステップ１７３０に進み、現時点が触媒の異常診断用パラメータ（即ち、最大酸素吸蔵量Ｃmax）を取得している最中でないか否かを判定する。
【０３３５】
現時点が触媒の異常診断用パラメータを取得している最中であると、ＣＰＵはステップ１７３０にて「Ｎｏ」と判定してステップ１７４０に進み、「触媒の異常診断用パラメータ取得のための気筒別空燃比制御」を実行する（図１６等を参照。）。その後、ＣＰＵはステップ１７９５に進む。
【０３３６】
ＣＰＵがステップ１７３０の処理を実行する時点において、現時点が触媒の異常診断用パラメータを取得している最中でない場合、ＣＰＵはそのステップ１７３０にて「Ｙｅｓ」と判定してステップ１７５０に進み、下流側触媒４４が排ガスを浄化する余力がないか否かを判定する。
【０３３７】
より具体的に述べると、ＣＰＵは、下流側空燃比センサ５６の出力値Voxsが理論空燃比よりもリッチな空燃比に相当する値を示している期間における吸入空気量Ｇａの積算値ＳＧａrichを更新するとともに、下流側空燃比センサ５６の出力値Voxsが理論空燃比よりもリーンな空燃比に相当する値を示している期間における吸入空気量Ｇａの積算値ＳＧａleanを更新し、その差（＝ＳＧａlean−ＳＧａrich、即ち、下流側触媒４４の酸素吸蔵量相当値）が下流側触媒４４の予め定められた最大酸素吸蔵量Ｃufmaxの２０％（第１閾値）以下となるか又は最大酸素吸蔵量Ｃufmaxの８０％（第１閾値よりも大きい第２閾値）以上となっているとき、下流側触媒４４が排ガスを浄化する余力がないと判定する。なお、積算値ＳＧａleanは、機関１０の始動時において最大酸素吸蔵量Ｃufmaxに設定される。また、下流側空燃比センサ５６の近傍に「上流側空燃比センサ５５と同様の限界電流式広域空燃比センサ」を配設するとともに、下流側触媒４４の下流に「下流側空燃比センサ５６と同様の濃淡電池型の酸素濃度センサ（Ｏ２センサ）」を配設し、これらのセンサを用い且つ上流側触媒４３の最大酸素吸蔵量Ｃmaxを取得する場合と同様の手法により、下流側触媒４４の酸素吸蔵量相当値を算出してもよい。
【０３３８】
ＣＰＵがステップ１７５０の処理を実行する時点において、下流側触媒４４が排ガスを浄化する余力があると、ＣＰＵはステップ１７５０にて「Ｎｏ」と判定してステップ１７６０に進み、「気筒別空燃比制御」を禁止（停止）する。即ち、ＣＰＵは、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）（Ｎは１〜４の整数）を総て増量係数基準値「１＋Ａ」に設定するとともに、第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）（Ｎは１〜４の整数）を総て減量係数基準値「１−Ａ」に設定する。その後、ＣＰＵはステップ１７９５に進む。
【０３３９】
一方、ＣＰＵがステップ１７５０の処理を実行する時点において、下流側触媒４４が排ガスを浄化する余力がない場合、ＣＰＵはそのステップ１７５０にて「Ｙｅｓ」と判定してステップ１７７０に進み、上流側触媒４３の最大酸素吸蔵量Ｃmaxが閾値最大酸素吸蔵量Ｃmaxth以上であるか否かを判定する。
【０３４０】
このとき、上流側触媒４３の最大酸素吸蔵量Ｃmaxが閾値最大酸素吸蔵量Ｃmaxth以上でなければ、ＣＰＵはステップ１７７０にて「Ｎｏ」と判定してステップ１７８０に進み、上述した「制御ハンチング防止のための気筒別空燃比制御」を実行する（図１５等を参照。）。その後、ＣＰＵはステップ１７９５に進む。
【０３４１】
ＣＰＵがステップ１７７０の処理を実行する時点において、上流側触媒４３の最大酸素吸蔵量Ｃmaxが閾値最大酸素吸蔵量Ｃmaxth以上である場合、ＣＰＵはそのステップ１７７０にて「Ｙｅｓ」と判定してステップ１７９０に進み、上述した「フィードバック周期短縮化のための気筒別空燃比制御」を実行する（図１４等を参照。）。その後、ＣＰＵはステップ１７９５に進む。
【０３４２】
以上、説明したように、第４制御装置は、第１乃至第３制御装置が行う各種の気筒別空燃比制御に加え、下流側触媒４４が排ガスを浄化する余力がある場合、気筒別空燃比を停止するようになっている（図１７のステップ１７５０及びステップ１７６０を参照。）。
【０３４３】
従って、ＣＰＵが、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）及び第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）を常に計算している場合に比較して、ＣＰＵの計算負荷を低減することができる。その結果、計算エラーが生じないので、より確実な空燃比制御を行うことができる。
【０３４４】
以上の説明から理解されるように、本発明による空燃比制御装置の各実施形態は、複数の気筒のそれぞれ（第Ｎ気筒）から排出される排ガスの下流側空燃比センサ５６の出力値Voxsへの影響度合いを表す気筒別影響度指標値ＥＦ（Ｎ）を取得するとともに、その気筒別影響度指標値ＥＦ（Ｎ）と機関１０の運転状態等に基づいて気筒別空燃比（実際には、第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）及び第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ））を制御する。その結果、エミッションをより改善することができる。
【０３４５】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において以下に述べる種々の変形例を採用することができる。
【０３４６】
（第１変形例）
上記第１乃至第４制御装置は、第Ｎ気筒（Ｎは１〜４の整数）から排出される排ガスの空燃比の「下流側空燃比センサの出力値への影響度合い」を示す気筒別影響度指標値ＥＦ（Ｎ）を取得し、その取得した気筒別影響度指標値ＥＦ（Ｎ）に基いて第Ｎ気筒の空燃比（気筒別空燃比）を制御している。
【０３４７】
しかしながら、第Ｎ気筒（Ｎは１〜４の整数）から排出される排ガスの空燃比の「下流側空燃比センサの出力値への影響度合い」は、機関１０の構造（例えば、エキゾーストマニホールド４１の形状、触媒４３の配設位置・角度、及び、下流側空燃比センサ５６の配設位置・角度等）が決まれば、実験等により予め取得され得る。
【０３４８】
そこで、第１変形例は、予め取得しておいた各気筒から排出される排ガスの「下流側空燃比センサの出力値への影響度合い」に基いて、気筒別空燃比を制御する。換言すると、第１変形例のＣＰＵは、気筒別影響度指標値ＥＦ（Ｎ）を予めＲＯＭ内に記憶していて、その記憶されている気筒別影響度指標値ＥＦ（Ｎ）に基いて上記各実施形態と同様に気筒別空燃比制御を実行する。
【０３４９】
これによれば、気筒別影響度指標値ＥＦ（Ｎ）を実際に取得する必要がないので、常に望ましい気筒別空燃比制御を実行することができる。更に、気筒別影響度指標値ＥＦ（Ｎ）を取得するためにエミッションを犠牲にする必要がない。
【０３５０】
（第２変形例）
上記第１乃至第４制御装置は、気筒別影響度指標値ＥＦ（Ｎ）を取得するために、吸蔵酸素量ＯＳＡｋｚ及び放出酸素量ＯＳＡｈｓを算出するとともに、それらの平均値である平均酸素吸蔵量ＯＳＡを、変動周期相関値（下流側空燃比センサ５６の出力値Voxsの周期的変動の態様（様子）を示す値）として取得している。
【０３５１】
しかしながら、変動周期相関値は、少なくとも以下に述べる何れか一つのパラメータに基いて取得され得る。
【０３５２】
・下流側空燃比センサ５６の出力値Voxsの所定時間における軌跡長。なお、軌跡長は一定のサンプリング時間が経過する毎に、その時点の出力値Voxsと、その時点からサンプリング時間前の出力値Voxsである前回出力値Voxsoldとの差の絶対値｜Voxs−Voxsold｜を前記所定時間に渡り積算することにより算出される。
【０３５３】
・下流側空燃比センサ５６の出力値Voxsの反転周期（又は、反転周波数）。下流側空燃比センサ５６の出力値Voxsの反転周期とは、上述したように、下流側空燃比センサ５６の出力値Voxsが理論空燃比よりもリッチな空燃比に相当する値へと変化した時点から理論空燃比よりもリーンな空燃比に相当する値へと変化し更にその後再び理論空燃比よりもリッチな空燃比に相当する値へと変化する時点までの時間に対応する時間である。なお、反転周期は、下流側空燃比センサ５６の出力値Voxsが理論空燃比よりもリーンな空燃比に相当する値へと変化した時点から理論空燃比よりもリッチな空燃比に相当する値へと変化し更にその後再び理論空燃比よりもリーンな空燃比に相当する値へと変化する時点までの時間に対応する時間でもある。
【０３５４】
・吸蔵酸素量ＯＳＡｋｚそのもの。
・放出酸素量ＯＳＡｈｓそのもの。
【０３５５】
（第３変形例）
上記第１乃至第４制御装置は、気筒別空燃比を制御するために、補正ゲイン（第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）及び第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ））を変更していた。これに対し、第３変形例は、各気筒に対する気筒別目標空燃比を変更することによって、気筒別空燃比を制御する。
【０３５６】
より具体的に述べると、第３変形例のＣＰＵは図１８にフローチャートにより示した燃料噴射制御ルーチンを所定時間が経過する毎に実行するようになっている。図１８において、既に説明したステップと同じ処理を行うステップには、既に説明したステップと同じ符号が付されている。以下において、そのようなステップの詳細な説明は適宜省略される。
【０３５７】
このルーチンによれば、フューエルカットフラグＸＦＣの値が「０」であり（ステップ７０５を参照。）、現時点が任意の第Ｎ気筒（Ｎは１〜４の整数）のクランク角が第Ｎ気筒の吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ１８０°ＣＡ）である場合（ステップ７１０を参照。）、ステップ７１５にて第Ｎ気筒の筒内吸入空気量Ｍｃ（Ｎ）が求められる。
【０３５８】
更に、フィードバック制御実行許可フラグＸＳＦＢの値が「１」であり（ステップ７２５を参照。）、且つ、リッチ要求フラグＸRichreqの値が「１」である場合（ステップ７４５を参照。）、ＣＰＵはステップ１８１０に進み、第Ｎ気筒の筒内吸入空気量Ｍｃ（Ｎ）を第Ｎ気筒のリッチ側目標空燃比afrRich（Ｎ）で除することにより、第Ｎ気筒の基本燃料噴射量Ｆｂ（Ｎ）を算出する（Ｆｂ（Ｎ）＝Ｍｃ（Ｎ）／afrRich（Ｎ））。
【０３５９】
このリッチ側目標空燃比afrRich（Ｎ）は、理論空燃比stoichを上述した第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）で除した値に等しい（afrRich（Ｎ）＝stoich／ｋＲｉｃｈ（Ｎ））。換言すると、第３変形例のＣＰＵは、上記第１乃至第４制御装置のＣＰＵが第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）を設定することに代え、その第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）に応じたリッチ側目標空燃比afrRich（Ｎ）を設定する。
【０３６０】
一方、フィードバック制御実行許可フラグＸＳＦＢの値が「１」であり（ステップ７２５を参照。）、且つ、リッチ要求フラグＸRichreqの値が「０」である場合（ステップ７４５を参照。）、ＣＰＵはステップ１８２０に進み、第Ｎ気筒の筒内吸入空気量Ｍｃ（Ｎ）を第Ｎ気筒のリーン側目標空燃比afrLean（Ｎ）で除することにより、第Ｎ気筒の基本燃料噴射量Ｆｂ（Ｎ）を算出する（Ｆｂ（Ｎ）＝Ｍｃ（Ｎ）／afrLean（Ｎ））。
【０３６１】
このリーン側目標空燃比afrLean（Ｎ）は、理論空燃比stoichを上述した第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）で除した値に等しい（afrLean（Ｎ）＝stoich／ｋＬｅａｎ（Ｎ））。換言すると、第３変形例のＣＰＵは、上記第１乃至第４制御装置のＣＰＵが第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）を設定することに代え、その第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）に応じたリッチ側目標空燃比afrRich（Ｎ）を設定する。
【０３６２】
更に、フィードバック制御実行許可フラグＸＳＦＢの値が「０」である場合（ステップ７２５を参照。）、ＣＰＵはステップ１８３０に進み、第Ｎ気筒の筒内吸入空気量Ｍｃ（Ｎ）を理論空燃比stoichで除することにより、第Ｎ気筒の基本燃料噴射量Ｆｂ（Ｎ）を算出する（Ｆｂ（Ｎ）＝Ｍｃ（Ｎ）／stoich）。
【０３６３】
そして、ＣＰＵは、ステップ１８１０、ステップ１８２０及びステップ１８３０の何れかのステップから、ステップ１８４０に進み、メインフィードバック係数ＫＦmainを基本燃料噴射量Ｆｂ（Ｎ）に乗じることにより、最終燃料噴射量（指示噴射量）Ｆｉ（Ｎ）を算出する。メインフィードバック係数ＫＦmainについては後述する。但し、メインフィードバック係数ＫＦmainは「１」に固定されていてもよい。
【０３６４】
次いで、ＣＰＵは７４０に進み、最終燃料噴射量Ｆｉ（Ｎ）の燃料が第Ｎ気筒に対する燃料噴射弁２５から噴射されるように、その燃料噴射弁２５に対して噴射指示を行う。その後、ＣＰＵはステップ１８９５に進んで本ルーチンを一旦終了する。
【０３６５】
ＣＰＵは、メインフィードバック係数ＫＦmainを、例えば、以下に述べるようにして算出する。
【０３６６】
ＣＰＵは、上流側空燃比センサ５５の出力値Vabyfsを図３に示したテーブルMapabyfsに適用することにより、検出上流側空燃比abyfsを取得する。
【０３６７】
ＣＰＵは、「現時点よりもＮサイクル前の時点において燃焼室２１に実際に供給された燃料の量」である「筒内燃料供給量Ｆｃ（ｋ−ｎ）」を求める。即ち、ＣＰＵは、「現時点よりもｎサイクル（即ち、Ｎ・７２０°クランク角）前の時点における筒内吸入空気量Ｍｃ（ｋ−ｎ）」を「検出上流側空燃比abyfs」にて除すことにより、筒内燃料供給量Ｆｃ（ｋ−ｎ）を求める。このように、筒内燃料供給量Ｆｃ（ｋ−ｎ）を求めるために、現時点からｎストローク前の筒内吸入空気量Ｍｃ（ｋ−ｎ）を検出上流側空燃比abyfsで除すのは、「燃焼室２１内での混合気の燃焼により生成された排ガス」が上流側空燃比センサ５５に到達するまでに「ｎストロークに相当する時間」を要しているからである。
【０３６８】
ＣＰＵは、現時点からｎストローク前の筒内吸入空気量Ｍｃ（ｋ−ｎ）を現時点からｎストローク前の上流側目標空燃比abyfr（ｋ−ｎ）で除すことにより、目標筒内燃料供給量Ｆｃｒ（ｋ−ｎ）を求める。上流側目標空燃比abyfr（ｋ−ｎ）は、現時点からｎストローク前の時点において、基本燃料噴射量Ｆｂ（Ｎ）を求める際に用いられた気筒別目標空燃比（afrRich（Ｎ）、afrLean（Ｎ）及びstoichのうちの何れか）である。従って、目標筒内燃料供給量Ｆｃｒ（ｋ−ｎ）は、現時点よりもｎサイクル前の時点において燃焼室２１に供給されるべきであった燃料の量である。
【０３６９】
ＣＰＵは、目標筒内燃料供給量Ｆｃｒ（ｋ−ｎ）から筒内燃料供給量Ｆｃ（ｋ−ｎ）を減じることにより、筒内燃料供給量偏差ＤＦｃを求める。この筒内燃料供給量偏差ＤＦｃは、ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
【０３７０】
ＣＰＵは、「筒内燃料供給量偏差ＤＦｃの積分値ＳＤＦｃに積分ゲインＧｉを乗じた積分項Ｇｉ・ＳＤＦｃ」を「比例項であるＧｐ・ＤＦｃ」に加えることにより、メインフィードバック量ＤＦmainを求める。更に、ＣＰＵは、そのメインフィードバック量ＤＦmainを、現時点よりもｎサイクル前の時点の基本燃料噴射量Ｆｂ（Ｎ）で除することによりメインフィードバック係数ＫＦmainを算出する。
【０３７１】
なお、このような態様によっても、気筒別空燃比を順次変更することにより、気筒別影響度指標値ＥＦ（Ｎ）を求めることができる。
【０３７２】
（第４変形例）
上記第１乃至第４制御装置は、気筒別空燃比を制御するために、下流側空燃比センサ５６の出力値Voxsが理論空燃比相当電圧Ｖstよりも小さい場合にはリッチ要求が発生していると判定し、下流側空燃比センサ５６の出力値Voxsが理論空燃比相当電圧Ｖst以上である場合にはリーン要求が発生していると判定する。更に、上記第１乃至第４制御装置は、リッチ要求及びリーン要求のうちの何れの空燃比要求が発生しているのか、に基いて、燃料噴射量の計算に使用する補正ゲイン（第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）及び第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ））を選択し、更に、その補正ゲインを気筒別影響度指標値ＥＦ（Ｎ）に基いて変更していた。
【０３７３】
これに対し、第４変形例は、下流側空燃比センサ５６の出力値Voxsを下流側目標値Voxsref（通常、理論空燃比相当電圧Ｖst）に一致させるための周知のサブフィードバック制御を行う。即ち、下流側空燃比センサ５６の出力値Voxsと下流側目標値Voxsrefとの偏差をＰＩＤ制御によって小さくするようにサブフィードバック量ＫＳＦＢを決定する。第４変形例は、理論空燃比stoichからサブフィードバック量ＫＳＦＢを減じた値を基準目標空燃比abyfrstdとして設定する。
【０３７４】
この場合、出力値Voxsが下流側目標値Voxsrefよりも小さければサブフィードバック量ＫＳＦＢは増大させられる。その結果、基準目標空燃比abyfrstdは理論空燃比stoichよりも小さくなる（リッチ空燃比に設定される）。そして、メインフィードバック係数ＫＦmainにより気筒別空燃比はリッチ空燃比に制御される。一方、出力値Voxsが下流側目標値Voxsrefよりも大きければサブフィードバック量ＫＳＦＢは減少させられ、負の値になる。その結果、基準目標空燃比abyfrstdは理論空燃比stoichよりも大きくなる（リーン空燃比に設定される）。そして、メインフィードバック係数ＫＦmainにより気筒別空燃比はリーン空燃比に制御される。
【０３７５】
加えて、第４変形例は、第Ｎ気筒の燃料噴射時期を迎えたとき（第Ｎ気筒のクランク角が第Ｎ気筒の吸気上死点前の所定クランク角度となったとき）、基準目標空燃比abyfrstdが理論空燃比stoichよりも大きければ（リーン空燃比であれば）、リーン要求が発生していると見做し、その基準目標空燃比abyfrstdを第Ｎ気筒減量係数ｋＬｅａｎ（Ｎ）にて除した値を第Ｎ気筒の目標空燃比（afrLean(N)）に設定する。更に、第Ｎ気筒の燃料噴射時期を迎えたとき、基準目標空燃比abyfrstdが理論空燃比stoichよりも小さければ（リッチ空燃比であれば）、リッチ要求が発生していると見做し、その基準目標空燃比abyfrstdを第Ｎ気筒増量係数ｋＲｉｃｈ（Ｎ）にて除した値を第Ｎ気筒の目標空燃比（afrRich(N)）に設定する。
【０３７６】
なお、このような態様によっても、気筒別空燃比を順次変更することにより、気筒別影響度指標値ＥＦ（Ｎ）を求めることができる。
【０３７７】
（第５変形例）
上記第１乃至第４制御装置は、下流側空燃比センサ５６の出力値Voxsが理論空燃比相当電圧Ｖstよりも小さいときリッチ要求が発生していると判定し、出力値Voxsが理論空燃比相当電圧Ｖstよりも大きいときリーン要求が発生していると判定している。
【０３７８】
ところで、触媒流入ガスの空燃比がリーン空燃比である場合、触媒４３の酸素吸蔵量がある程度の値まで増大したとき、触媒４３から酸素が流出し始める。この段階で、機関１０の空燃比をリッチ空燃比に切り替えれば、過剰な酸素及びＮＯｘが浄化できなくなるまで触媒４３の酸素吸蔵量が増大してしまう前に、触媒流入ガスの空燃比をリッチ空燃比に設定することができる。
【０３７９】
同様に、触媒流入ガスの空燃比がリッチ空燃比である場合、触媒４３の酸素吸蔵量がある程度にまで減少したとき、触媒４３から未燃物が流出し始める。この段階で、機関１０の空燃比をリーン空燃比に切り替えれば、多量の未燃物が浄化できなくなるまで触媒４３の酸素吸蔵量が減少してしまう前に、触媒流入ガスの空燃比をリーン空燃比に設定することができる。
【０３８０】
そこで、第５変形例のＣＰＵは、複数（本例において二つ）の閾値（高側判定値VH、低側判定値VL）と下流側空燃比センサ５６の出力値Voxsとの比較に基いてリッチ要求及びリーン要求の何れの空燃比要求が発生しているかを判定する。
【０３８１】
より具体的に述べると、第５変形例のＣＰＵは、図１９に示したように、現時点においてリーン要求が発生していると判定している場合（リッチ要求フラグＸRichreq＝０）、下流側空燃比センサ５６の出力値Voxsが「高側（第１）判定値VHよりも大きい値から高側判定値VHよりも小さい値へ」と変化した時点において、リッチ要求が発生したと判定し、リッチ要求フラグＸRichreqを「１」に設定する。高側（第１）判定値VHは理論空燃比相当電圧Ｖstよりも大きい。
【０３８２】
更に、第５変形例のＣＰＵは、現時点においてリッチ要求が発生していると判定している場合（リッチ要求フラグＸRichreq＝１）、下流側空燃比センサ５６の出力値Voxsが「低側（第２）判定値VLよりも小さい値から低側判定値VLよりも大きい値へ」と変化した時点において、リーン要求が発生したと判定し、リッチ要求フラグＸRichreqを「０」に設定する。低側（第２）判定値VLは理論空燃比相当電圧Ｖstよりも小さく、従って、高側（第１）判定値VHよりも小さい。
【０３８３】
この第５変形例によれば、リッチ要求及びリーン要求のうちの何れの空燃比要求が発生したかを適切なタイミングにて判定することができる。
【０３８４】
（第６変形例）
第６変形例は、第５変形例と同様の理由から、リッチ要求及びリーン要求の判定タイミングを早めることができる装置である。より具体的に述べると、第６変形例のＣＰＵは、以下に述べるように、リッチ要求及びリーン要求のうちの何れの空燃比要求が発生したかを判定する。
【０３８５】
ＣＰＵは、下流側空燃比センサ５６の出力値Voxsが理論空燃比相当電圧Ｖstよりも大きい場合において、出力値Voxsの時間微分値d(Voxs)/dtが負の値であって且つその絶対値（｜d(Voxs)/dt｜）が閾値Ｄｔｈ以上となったとき、リッチ要求が発生したと判定する。
【０３８６】
ＣＰＵは、下流側空燃比センサ５６の出力値Voxsが理論空燃比相当電圧Ｖstよりも小さい場合において、出力値Voxsの時間微分値d(Voxs)/dtが正の値であって且つその絶対値（｜d(Voxs)/dt｜）が閾値Ｄｔｈ以上となったとき、リーン要求が発生したと判定する。
【図１】
2012039064.tif 000004
【図２】
2012039064.tif 000005
【図３】
2012039064.tif 000006
【図４】
2012039064.tif 000007
【図５】
2012039064.tif 000008
【図６】
2012039064.tif 000009
【図７】
2012039064.tif 000010
【図８】
2012039064.tif 000011
【図９】
2012039064.tif 000012
【図１０】
2012039064.tif 000013
【図１１】
2012039064.tif 000014
【図１２】
2012039064.tif 000015
【図１３】
2012039064.tif 000016
【図１４】
2012039064.tif 000017
【図１５】
2012039064.tif 000018
【図１６】
2012039064.tif 000019
【図１７】
2012039064.tif 000020
【図１８】
2012039064.tif 000021
【図１９】
2012039064.tif 000022
【国際調査報告】
2012039064.tif 000023
2012039064.tif 000024