(57)【特許請求の範囲】
【請求項１】
多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、
前記排気通路の前記排気集合部と前記三元触媒との間の位置に配設される上流側空燃比センサと、
複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、
前記三元触媒に流入する排ガスの空燃比が目標空燃比に一致するように前記燃料噴射弁から噴射される燃料の量を前記上流側空燃比センサの出力値に基いてフィードバック補正することにより前記複数の燃料噴射弁のそれぞれから噴射される燃料の量の指示値である指示燃料噴射量を決定する指示燃料噴射量決定手段と、
前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、
を備える内燃機関の燃料噴射量制御装置であって、
前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる補正前空燃比不均衡指標値を少なくとも前記上流側空燃比センサの出力値に相関する値に基いて取得する補正前指標値取得手段と、
前記取得された補正前空燃比不均衡指標値が取得される期間である指標値取得期間における前記機関の吸入空気量が大きくなるほど大きくなる吸入空気量相関値を取得するとともに、前記取得された補正前空燃比不均衡指標値を前記取得された吸入空気量相関値に基いて補正することにより補正後空燃比不均衡指標値を取得する補正後指標値取得手段と、
を備えた燃料噴射量制御装置。
【請求項２】
請求項１に記載の内燃機関の燃料噴射量制御装置において、
前記指示燃料噴射量によって決まる空燃比である指示空燃比が前記取得された補正後空燃比不均衡指標値が大きいほど小さくなるように同補正後空燃比不均衡指標値に基づいて前記指示燃料噴射量を増大補正する燃料増量手段を備えた燃料噴射量制御装置。
【請求項３】
請求項１又は請求項２に記載の内燃機関の燃料噴射量制御装置において、
前記補正後指標値取得手段は、
前記指標値取得期間における前記機関の機関回転速度が大きくなるほど大きくなる機関回転速度相関値を取得するとともに、前記取得された補正前空燃比不均衡指標値を前記取得された機関回転速度相関値にも基いて補正することにより前記補正後空燃比不均衡指標値を取得するように構成された燃料噴射量制御装置。
【請求項４】
請求項１乃至請求項３の何れか一項に記載の内燃機関の燃料噴射量制御装置において、
前記補正前指標値取得手段は、
前記補正前空燃比不均衡指標値として、前記上流側空燃比センサの出力値の変動が大きいほど大きくなる空燃比変動指標量を同出力値に相関する値に基づいて取得するように構成され、
前記補正後指標値取得手段は、
前記吸入空気量相関値が大きくなるほど前記取得された補正前空燃比不均衡指標値をより小さい値へと補正することにより前記補正後空燃比不均衡指標値を取得するように構成された燃料噴射量制御装置。
【請求項５】
請求項４に記載の内燃機関の燃料噴射量制御装置において、
前記補正前指標値取得手段は、
前記上流側空燃比センサの出力値Vabyfsの時間についての微分値d(Vabyfs)/dtに相関する値、
前記上流側空燃比センサの出力値Vabyfsにより表される検出空燃比abyfsの時間についての微分値d(abyfs)/dtに相関する値、
前記上流側空燃比センサの出力値Vabyfsの時間についての二階微分値d2(Vabyfs)/dt2に相関する値、及び、
前記上流側空燃比センサの出力値Vabyfsにより表される前記検出空燃比abyfsの時間についての二階微分値d2(abyfs)/dt2に相関する値、
のうちの一つを基本パラメータとして取得するとともに、同取得した基本パラメータに相関する値を前記補正前空燃比不均衡指標値として取得するように構成された燃料噴射量制御装置。
【請求項６】
請求項４に記載の内燃機関の燃料噴射量制御装置において、
前記補正前指標値取得手段は、
前記上流側空燃比センサの出力値Vabyfsの所定期間における最大値と最小値の差に相関する値、又は、前記上流側空燃比センサの出力値Vabyfsにより表される検出空燃比abyfsの所定期間における最大値と最小値の差に相関する値を、前記補正前空燃比不均衡指標値として取得するように構成された燃料噴射量制御装置。
【請求項７】
請求項４に記載の内燃機関の燃料噴射量制御装置において、
前記補正前指標値取得手段は、
前記上流側空燃比センサの出力値Vabyfsの所定期間おける軌跡長に相関する値、又は、前記上流側空燃比センサの出力値により表される検出空燃比abyfsの所定期間における軌跡長に相関する値を、前記補正前空燃比不均衡指標値として取得するように構成された燃料噴射量制御装置。
【請求項８】
請求項１乃至請求項３の何れか一項に記載の内燃機関の燃料噴射量制御装置であって、
前記排気通路の前記三元触媒の下流側の位置に配設される下流側空燃比センサを備え、
前記指示燃料噴射量決定手段は、
前記上流側空燃比センサの出力値により表される空燃比が前記目標空燃比に一致するように前記指示燃料噴射量をフィードバック補正するためのメインフィードバック量を算出し、前記下流側空燃比センサの出力値が所定の下流側目標値に一致するように前記指示燃料噴射量をフィードバック補正するためのサブフィードバック量を算出し、且つ、前記メインフィードバック量及び前記サブフィードバック量に基いて前記指示燃料噴射量を決定するように構成され、
前記補正前指標値取得手段は、
前記サブフィードバック量が大きくなるほど大きくなる値を前記補正前空燃比不均衡指標値として取得するように構成された、
燃料噴射量制御装置。
【請求項９】
多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、
前記排気通路の前記排気集合部と前記三元触媒との間の位置に配設される上流側空燃比センサと、
複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、
前記三元触媒に流入する排ガスの空燃比が目標空燃比に一致するように前記燃料噴射弁から噴射される燃料の量を前記上流側空燃比センサの出力値に基いてフィードバック補正することにより前記複数の燃料噴射弁のそれぞれから噴射される燃料の量の指示値である指示燃料噴射量を決定する指示燃料噴射量決定手段と、
前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、
を備える内燃機関の燃料噴射量制御装置において、
前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる補正前空燃比不均衡指標値を少なくとも前記上流側空燃比センサの出力値に相関する値に基いて取得する補正前指標値取得手段と、
前記取得された補正前空燃比不均衡指標値が取得される期間である指標値取得期間における前記機関の吸入空気量が大きくなるほど大きくなる吸入空気量相関値を取得する相関値取得手段と、
前記機関の実際の吸入空気量を取得する手段と、
前記取得された補正前空燃比不均衡指標値と、前記取得された吸入空気量相関値と、前記取得された実際の吸入空気量と、に基いて前記目標空燃比を決定する目標空燃比決定手段と、
を備える燃料噴射量制御装置。
【請求項１０】
請求項９に記載の内燃機関の燃料噴射量制御装置において、
前記相関値取得手段は、
前記指標値取得期間における前記機関の回転速度が大きくなるほど大きくなる機関回転速度相関値を取得するように構成され、
前記目標空燃比決定手段は、
更に、前記取得された機関回転速度相関値にも基いて前記目標空燃比を決定するように構成された燃料噴射量制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒内燃機関の燃料噴射量制御装置に関する。
【背景技術】
【０００２】
従来から、図１に示したように、多気筒内燃機関１０の排気通路に配設された三元触媒４３と、その三元触媒４３の上流に配置された上流側空燃比センサ５６と、を備えた空燃比制御装置が広く知られている。
【０００３】
この空燃比制御装置は、機関１０に供給される混合気の空燃比（機関の空燃比、従って、排ガスの空燃比）が目標空燃比と一致するように、上流側空燃比センサ５６の出力値に基いて空燃比フィードバック量（メインフィードバック量）を算出し、そのメインフィードバック量により機関の空燃比をフィードバック制御するようになっている。このフィードバック量は、全気筒に対して共通する制御量である。目標空燃比は、三元触媒４３のウインドウ内の所定の基準空燃比に設定される。基準空燃比は、一般に、理論空燃比である。基準空燃比は、機関の吸入空気量及び三元触媒４３の劣化度等に応じて理論空燃比の近傍の値に変更され得る。
【０００４】
ところで、一般に、このような空燃比制御装置は電子制御式燃料噴射装置を採用した内燃機関に適用される。その内燃機関は、各気筒又は各気筒に連通した吸気ポートに少なくとも一つの燃料噴射弁３３を備えている。従って、ある特定の気筒の燃料噴射弁の特性が「指示された燃料噴射量（指示燃料噴射量）よりも過大な量の燃料を噴射する特性」となると、その特定の気筒に供給される混合気の空燃比（その特定気筒の空燃比）のみが大きくリッチ側に変化する。即ち、気筒間における空燃比の不均一性（空燃比気筒間ばらつき、空燃比の気筒間インバランス割合）が大きくなる。換言すると、各気筒に供給される混合気の空燃比である「気筒別空燃比」の間に著しい不均衡が生じる。
【０００５】
なお、以下において、「指示燃料噴射量よりも過大又は過小な量の燃料を噴射する特性を有する燃料噴射弁」に対応する気筒を「インバランス気筒」とも称呼し、残りの気筒（「指示燃料噴射量の燃料を噴射する燃料噴射弁」に対応する気筒）を非インバランス気筒（又は正常気筒）とも称呼する。
【０００６】
ある特定の気筒の燃料噴射弁の特性が「指示燃料噴射量よりも過大な量の燃料を噴射する特性」となると、機関全体に供給される混合気の空燃比の平均は、基準空燃比に設定された目標空燃比よりもリッチ側の空燃比となる。従って、全気筒に対して共通する空燃比のフィードバック量により、上記特定の気筒の空燃比は基準空燃比に近づけられるようにリーン側へと変更させられ、同時に、他の気筒の空燃比は基準空燃比から遠ざけられるようにリーン側へと変更させられる。この結果、機関全体に供給される混合気の空燃比の平均（排ガスの平均空燃比）は基準空燃比の近傍の空燃比に一致する。
【０００７】
しかしながら、上記特定の気筒の空燃比は依然として基準空燃比よりもリッチ側の空燃比となり、残りの気筒の空燃比は基準空燃比よりもリーン側の空燃比となる。この結果、各気筒の空燃比が基準空燃比である場合に比べ、各気筒から排出されるエミッションの量（未燃物の量及び／又は窒素酸化物の量）が増大する。このため、機関に供給される混合気の空燃比の平均が基準空燃比であったとしても、増大したエミッションを三元触媒が浄化しきれず、結果として、エミッションが悪化する虞がある。
【０００８】
従って、気筒別空燃比の気筒間における不均一性が過大になっていること（気筒間における空燃比の不均一性が過大になっていること、即ち、空燃比気筒間インバランス状態が発生していること）を検出し、何らかの対策を講じさせるようにすることは、エミッションを悪化させないために重要である。なお、空燃比気筒間インバランスは、特定の気筒の燃料噴射弁の特性が「指示燃料噴射量よりも過小な量の燃料を噴射する特性」となった場合等にも発生する。
【０００９】
従来の燃料噴射量制御装置の一つは、三元触媒４３の上流に配置された起電力式の酸素濃度センサの出力値（出力信号）の軌跡長を取得する。更に、この制御装置は、その軌跡長と「機関回転速度に応じて変化する参照値」とを比較し、その比較結果に基いて空燃比気筒間インバランス状態が発生したか否かを判定する（例えば、特許文献１を参照。）。
【００１０】
ところで、気筒別空燃比の気筒間における不均一性が生じると、機関の真の平均空燃比は、上流側空燃比センサ５６の出力値により表される空燃比を「理論空燃比等の基準空燃比に設定された目標空燃比」に一致させるためのメインフィードバック制御により、「基準空燃比よりも大きい空燃比（基準空燃比よりもリーン側の空燃比）」に制御される。以下、この理由について説明する。
【００１１】
機関に供給される燃料は炭素と水素との化合物である。従って、燃焼に供される混合気の空燃比が理論空燃比よりもリッチ側の空燃比であると、「炭化水素ＨＣ、一酸化炭素ＣＯ及び水素Ｈ２等」の未燃物が中間生成物として生成される。この場合、燃焼に供される混合気の空燃比が理論空燃比よりもリッチ側の空燃比であって理論空燃比から遠ざかるほど、燃焼期間中に中間生成物が酸素と出合って結合する確率が急激に小さくなる。この結果、未燃物（ＨＣ、ＣＯ及びＨ２）の量は、図２に示したように、気筒に供給される混合気の空燃比がリッチ側の空燃比になるほど急激に（例えば、二次関数的に）増大する。
【００１２】
いま、特定気筒の空燃比のみが大きくリッチ側にずれる「気筒別空燃比の不均一性」が生じたと仮定する。この場合、その特定気筒に供給される混合気の空燃比（特定気筒の空燃比）は、残りの気筒に供給される混合気の空燃比（残りの気筒の空燃比）に比較して、大きくリッチ側の空燃比（小さい空燃比）へと変化する。このとき、その特定気筒から極めて多量の未燃物（ＨＣ，ＣＯ，Ｈ２）が排出される。従って、機関に供給される混合気の平均空燃比が「ある特定の値」であったとしても、気筒別空燃比の不均一性の程度が大きくなった場合に機関から排出される水素の総量は、気筒別空燃比の不均一性が生じていない場合に発生する水素の総量よりも格段に多くなる。
【００１３】
一方、上流側空燃比センサ５６は、未燃物と酸素とが化学的に平衡した状態のガス（酸素平衡後ガス）を空燃比検出素子へと到達させるための多孔質層（例えば、拡散抵抗層或いは保護層）を備える。上流側空燃比センサ５６は、その拡散抵抗層を通過して上流側空燃比センサ５６の排ガス側電極層（空燃比検出素子の表面）に到達した「酸素の量（酸素分圧・酸素濃度）及び未燃物の量（未燃物の分圧・未燃物濃度）」に応じた値を出力する。
【００１４】
他方、水素Ｈ２は、炭化水素ＨＣ及び一酸化炭素ＣＯ等に比べて小さい分子である。従って、水素Ｈ２は他の未燃物（ＨＣ，ＣＯ）に比較して、上流側空燃比センサ５６の多孔質層を迅速に拡散する。即ち、多孔質層において水素Ｈ２の選択的拡散（優先的な拡散）が発生する。
【００１５】
従って、気筒別空燃比が気筒間において不均一になると（気筒間における空燃比の不均一性が生じると）、この水素の選択的拡散に起因して、上流側空燃比センサ５６の出力値はリッチ側の値へと移行する。即ち、上流側空燃比センサ５６の出力値により表される空燃比は、機関の真の空燃比よりも「リッチ側の空燃比」となる。この結果、メインフィードバック制御により、機関の真の平均空燃比は「基準空燃比よりも大きい空燃比（基準空燃比よりもリーン側の空燃比）」に制御される。
【００１６】
これに対し、三元触媒４３の下流に配置された下流側空燃比センサ５７には、三元触媒４３を通過した排ガスが到達する。水素は三元触媒４３においてある程度まで浄化される。従って、下流側空燃比センサの出力値は、気筒別空燃比の不均一性の程度が大きくなった場合であっても、機関の真の平均空燃比に近しい値を出力する。
【００１７】
そこで、従来の燃料噴射量制御装置の他の一つは、上流側空燃比センサ５６に基いて検出される空燃比と、下流側空燃比センサ５７に基いて検出される空燃比と、の乖離の状態を表すパラメータに基いて、気筒別空燃比の不均一性が大きくなったか否かを判定するようになっている（特許文献２を参照。）。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】米国特許第７，１５２，５９４号明細書
【特許文献２】特開２００９−３０４５５号
【発明の概要】
【００１９】
上述した「水素の選択的拡散及びメインフィードバック制御に起因する空燃比のリーン側への移行」は、単に、「リーン誤補正」とも称呼される。「リーン誤補正」は、インバランス気筒の空燃比が、非インバランス気筒の空燃比よりもリーン側に偏移した場合においても、同様に発生する。更に、リーン誤補正による空燃比のリーン側への移行量は、水素の選択的拡散の程度が大きいほど大きくなるので、気筒別空燃比の不均一性の程度が大きくなるほど大きくなる。
【００２０】
リーン誤補正が発生すると、機関の真の平均空燃比（従って、排ガスの真の空燃比の平均）が「三元触媒のウインドウ」よりもリーン側（大きい）空燃比となる場合が生じる。従って、三元触媒４３のＮＯｘ（窒素酸化物）の浄化効率が低下し、ＮＯｘの排出量が増大する場合がある。
【００２１】
前述したように、下流側空燃比センサ５７の出力値は、気筒別空燃比の不均一性の程度が大きくなった場合であっても、機関の真の平均空燃比に近しい値を出力する。従って、下流側空燃比センサの出力値を「理論空燃比近傍の空燃比に相当する下流側目標値」に一致させるための「周知のサブフィードバック制御」が実行されれば、リーン誤補正が発生することを回避することができる。
【００２２】
しかしながら、サブフィードバック量には上限値及び下限値が設けられることが多く、サブフィードバック量がその上限値又は下限値に一致してしまうと、サブフィードバック量によっても機関の空燃比を十分に制御できないので、ＮＯｘの排出量が増大する場合がある。更に、サブフィードバック量は比較的緩慢に変化するように構成される。従って、サブフィードバック量に上限値及び下限値が設けられていない場合、或いは、サブフィードバック量がその上限値又は下限値に一致していない場合であっても、例えば、機関の始動後等においてサブフィードバック量が不適切な値となっている期間が生じると、その期間においてＮＯｘの排出量が増大する場合がある。
【００２３】
上述した問題に対処するため、気筒別空燃比の不均一性が大きくなった場合、機関の空燃比をリッチ側の空燃比へと移行させる（結果として、理論空燃比近傍の空燃比へと移行させる）ことが考えられる。より具体的に述べると、制御装置は、気筒別空燃比の不均一性の程度が大きくなるほど大きくなる空燃比不均衡指標値を少なくとも上流側空燃比センサの出力値に相関する値に基いて取得する。この空燃比不均衡指標値は、後述する補正がなされていない値であるので、便宜上「補正前空燃比不均衡指標値」とも称呼される。更に、制御装置は、その補正前空燃比不均衡指標値が大きくなるほど機関の空燃比がよりリッチ側の空燃比へと移行するように指示燃料噴射量を制御する。即ち、制御装置は、補正前空燃比不均衡指標値が大きくなるほど、「指示燃料噴射量によって決まる空燃比である指示空燃比（＝筒内吸入空気量／指示燃料噴射量）」が「よりリッチな（小さい）空燃比」となるように、指示燃料噴射量を増量する。これによれば、リーン誤補正を補償することができる。
【００２４】
しかしながら、補正前空燃比不均衡指標値に基いて「指示空燃比」を設定すると、指示燃料噴射量の増加量が過小又は過大となる場合が存在し、エミッションを良好に維持できない場合がある。この理由につき発明者が検討したところ、発明者は、「その理由は、気筒別空燃比の不均一性の程度が特定の値である場合であっても、補正前空燃比不均衡指標値を取得した期間（指標値取得期間）の吸入空気量Ｇａが相違すると、補正前空燃比不均衡指標値が必ずしも一定の値にならない場合があるからである。」との知見を得た。このように、補正前空燃比不均衡指標値が吸入空気量Ｇａの影響を受ける理由は後に詳述される。
【００２５】
更に、補正前空燃比不均衡指標値に基いて「指示空燃比」を設定しない場合であっても、補正前空燃比不均衡指標値に基いて気筒別空燃比の不均一性が過大になっているか否か（即ち、空燃比気筒間インバランス状態が発生しているか否か）を判定すると、補正前空燃比不均衡指標値が指標値取得期間における吸入空気量Ｇａの影響を受けていることから、誤った判定がなされる虞もある。
【００２６】
本発明は上述した知見に基いてなされたものである。従って、本発明の目的の一つは、補正前空燃比不均衡指標値を少なくとも吸入空気量に基いて補正することにより、気筒別空燃比の不均一性の程度を精度良く表す空燃比不均衡指標値（即ち、補正後空燃比不均衡指標値）を取得することができる燃料噴射量制御装置を提供することにある。
【００２７】
本発明に係る内燃機関の燃料噴射量制御装置（以下、単に「本発明装置」と称呼する。）は、三元触媒と、上流側空燃比センサと、複数の燃料噴射弁と、指示燃料噴射量決定手段と、噴射指示信号送出手段と、を備える内燃機関の燃料噴射量制御装置であって、更に、補正前指標値取得手段と、補正後指標値取得手段と、を備える。
【００２８】
前記三元触媒は、前記内燃機関が有する複数の気筒から排出された排ガスが集合する「前記機関の排気通路の排気集合部」よりも下流側の位置に配設される。
【００２９】
前記上流側空燃比センサは、前記排気通路の前記排気集合部と前記三元触媒との間の位置に配設される。この上流側空燃比センサは、限界電流式の空燃比センサであってもよく、起電力式（濃淡電池型）の酸素濃度センサであってもよい。
【００３０】
前記複数の燃料噴射弁のそれぞれは、前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成されている。
【００３１】
前記指示燃料噴射量決定手段は、前記三元触媒に流入する排ガスの空燃比が目標空燃比に一致するように、「前記燃料噴射弁から噴射される燃料の量」を「少なくとも前記上流側空燃比センサの出力値に基いてフィードバック補正すること」により「前記複数の燃料噴射弁のそれぞれから噴射される燃料の量の指示値（即ち、指示燃料噴射量）」を決定する。
【００３２】
前記噴射指示信号送出手段は、前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する。
【００３３】
前記補正前指標値取得手段は、「前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比（即ち、気筒別空燃比）」の「前記複数の気筒間における不均一性の程度」が大きいほど大きくなる補正前空燃比不均衡指標値を「少なくとも前記上流側空燃比センサの出力値に相関する値」に基いて取得する。上流側空燃比センサの出力値に相関する値は、後述するように、上流側空燃比センサの出力値（又は、上流側空燃比センサの出力値に対してハイパスフィルタ処理を施したハイパスフィルタ処理後出力値）の「微分値及び二階微分値」、並びに、上流側空燃比センサの出力値（又はハイパスフィルタ処理後出力値）により表される空燃比の「微分値及び二階微分値」等、種々の値を含む。更に、上流側空燃比センサの出力値に相関する値は、後述するサブフィードバック量に応じた値（サブフィードバック量の定常成分等）を含む。
【００３４】
前記補正後指標値取得手段は、「前記取得された補正前空燃比不均衡指標値が取得される期間（即ち、指標値取得期間）における前記機関の吸入空気量」が大きくなるほど大きくなる「吸入空気量相関値」を取得する。更に、前記補正後指標値取得手段は、前記取得された補正前空燃比不均衡指標値を前記取得された吸入空気量相関値に基いて補正することにより補正後空燃比不均衡指標値を取得する。補正前空燃比不均衡指標値は、その補正前空燃比不均衡指標値がどのようなパラメータに基いて取得されたかに依存して、吸入空気量相関値が大きくなるほど大きくなったり小さくなったりする。
【００３５】
これによれば、補正後空燃比不均衡指標値は、指標値取得期間における吸入空気量に依存して変化することのない値となる。換言すると、補正前空燃比不均衡指標値は「指標値取得期間における吸入空気量相関値」が「特定の値」であるときに得られた値へと正規化される。その結果、気筒別空燃比の不均一性の程度を精度良く表す補正後空燃比不均衡指標値が提供される。従って、補正後空燃比不均衡指標値を用いた空燃比制御を適切に行うことができ、及び／又は、補正後空燃比不均衡指標値を用いることによりインバランス判定を精度良く行うことができる。
【００３６】
本発明装置は、更に、燃料増量手段を備えていてもよい。
この燃料増量手段は、前記指示燃料噴射量によって決まる空燃比（即ち、指示空燃比）が、前記取得された補正後空燃比不均衡指標値が大きいほど小さくなる（よりリッチな空燃比となる）ように、同補正後空燃比不均衡指標値に基づいて前記指示燃料噴射量を増大補正する。
【００３７】
上記補正後空燃比不均衡指標値は、指標値取得期間における吸入空気量に依存して変化することのない値であって、気筒別空燃比の不均一性の程度を精度良く表す値になっている。従って、その補正後空燃比不均衡指標値に基いて指示燃料噴射量が増量補正されることにより、前述したリーン誤補正を適切に補償することができる。更に、補正後空燃比不均衡指標値が気筒別空燃比の不均一性の程度を精度良く表すので、燃料が過度に増量されることを回避することができる。その結果、ＮＯｘ及び未燃物の排出量を低減することができる。
【００３８】
前記補正後指標値取得手段は、
前記指標値取得期間における前記機関の機関回転速度が大きくなるほど大きくなる機関回転速度相関値を取得するとともに、前記取得された補正前空燃比不均衡指標値を前記取得された機関回転速度相関値にも基いて補正することにより前記補正後空燃比不均衡指標値を取得するように構成されることが好適である。
【００３９】
補正前空燃比不均衡指標値は、補正前空燃比不均衡指標値の指標値取得期間における機関回転速度にも依存して変化する。従って、上記構成によれば、補正前空燃比不均衡指標値の指標値取得期間における機関回転速度の影響を受けない空燃比不均衡指標値（補正後空燃比不均衡指標値）を取得することができる。この結果、補正後空燃比不均衡指標値に基いて指示燃料噴射量が増量補正されることにより、前述したリーン誤補正を一層精度良く補償することができ、且つ、燃料が過度に増量されることを一層確実に回避することができる。
【００４０】
更に、前記補正前指標値取得手段は、
前記補正前空燃比不均衡指標値として、前記上流側空燃比センサの出力値の変動が大きいほど大きくなる空燃比変動指標量を同出力値に相関する値に基づいて取得するように構成され、
前記補正後指標値取得手段は、
前記吸入空気量相関値が大きくなるほど前記取得された補正前空燃比不均衡指標値をより小さい値へと補正することにより前記補正後空燃比不均衡指標値を取得するように構成されることが好適である。
【００４１】
上流側空燃比センサの出力値に相関する値は、上流側空燃比センサの出力値そのものでもよく、上流側空燃比センサの出力値から機関１０の空燃比平均（中心空燃比、ベース空燃比）の変動成分が除去されるように、上流側空燃比センサ出力値に対してハイパスフィルタ処理を施した値であってもよい。更に、上流側空燃比センサの出力値に相関する値は、上流側空燃比センサの出力値により表される上流側空燃比であってもよい。
【００４２】
上流側空燃比センサの出力値の「検出しようとする排ガスの空燃比の変化」に対する変化の応答性は、一般に、吸入空気量が大きいほど（即ち、排ガスの流量が大きいほど）大きくなる。従って、補正前空燃比不均衡指標値が、上流側空燃比センサの出力値の変動が大きいほど大きくなる値として取得される場合、その補正前空燃比不均衡指標値は「指標値取得期間における吸入空気量」が大きいほど大きくなる。従って、上記構成のように、吸入空気量相関値が大きくなるほど補正前空燃比不均衡指標値をより小さい値へと補正することにより、「指標値取得期間における吸入空気量」に依存することなく気筒別空燃比の不均一性の程度を精度良く表す補正後空燃比不均衡指標値を取得することができる。
【００４３】
前記上流側空燃比センサの出力値の変動が大きいほど大きくなる空燃比変動指標量を補正前空燃比不均衡指標値として取得する補正前指標値取得手段は、
前記上流側空燃比センサの出力値Vabyfsの時間についての微分値d(Vabyfs)/dtに相関する値、
前記上流側空燃比センサの出力値Vabyfsにより表される検出空燃比abyfsの時間についての微分値d(abyfs)/dtに相関する値、
前記上流側空燃比センサの出力値Vabyfsの時間についての二階微分値d2(Vabyfs)/dt2に相関する値、及び、
前記上流側空燃比センサの出力値Vabyfsにより表される前記検出空燃比abyfsの時間についての二階微分値d2(abyfs)/dt2に相関する値、
のうちの一つを基本パラメータとして取得するとともに、同取得した基本パラメータに相関する値を前記補正前空燃比不均衡指標値として取得するように構成され得る。
【００４４】
代替として、前記上流側空燃比センサの出力値の変動が大きいほど大きくなる空燃比変動指標量を補正前空燃比不均衡指標値として取得する補正前指標値取得手段は、
前記上流側空燃比センサの出力値Vabyfsの所定期間における最大値と最小値の差に相関する値、又は、前記上流側空燃比センサの出力値Vabyfsにより表される検出空燃比abyfsの所定期間における最大値と最小値の差に相関する値を、前記補正前空燃比不均衡指標値として取得するように構成されてもよく、
前記上流側空燃比センサの出力値Vabyfsの所定期間おける軌跡長に相関する値、又は、前記上流側空燃比センサの出力値により表される検出空燃比abyfsの所定期間における軌跡長に相関する値を、前記補正前空燃比不均衡指標値として取得するように構成されてもよい。
【００４５】
本発明に係る燃料噴射量制御装置は、前記排気通路の前記三元触媒の下流側の位置に配設される下流側空燃比センサを備えることができる。
この場合、前記指示燃料噴射量決定手段は、
前記上流側空燃比センサの出力値により表される空燃比が前記目標空燃比に一致するように前記指示燃料噴射量をフィードバック補正するためのメインフィードバック量を算出し、前記下流側空燃比センサの出力値が所定の下流側目標値に一致するように前記指示燃料噴射量をフィードバック補正するためのサブフィードバック量を算出し、且つ、前記メインフィードバック量及び前記サブフィードバック量に基いて前記指示燃料噴射量を決定するように構成され、
前記補正前指標値取得手段は、
前記サブフィードバック量（例えば、サブフィードバック量の定常成分）が大きくなるほど大きくなる値を前記補正前空燃比不均衡指標値として取得するように構成され得る。
【００４６】
気筒別空燃比の不均一性の程度が大きくなるほど上述したメインフィードバック制御によるリーン誤補正の程度が大きくなる。一方、下流側空燃比センサには、三元触媒によって水素が浄化された排ガスが到達する。従って、下流側空燃比センサの出力値は、気筒別空燃比の不均一性の程度が大きくなった場合であっても、機関の真の平均空燃比に近しい値となる。
【００４７】
その結果、サブフィードバック量は、気筒別空燃比の不均一性の程度が大きくなるほど（即ち、メインフィードバックによるリーン誤補正の程度が大きくなるほど）、機関の空燃比を「よりリッチ側の空燃比」に移行する値となる。よって、サブフィードバック量に基いて、気筒別空燃比の不均一性の程度を示す空燃比不均衡指標値（即ち、補正前空燃比不均衡指標値）を取得することができる（図１９を参照。）。なお、前述したように、サブフィードバック量は、上流側空燃比センサの出力値に基くフィードバック制御（メインフィードバック制御）の結果を表すので、前記「上流側空燃比センサの出力値に相関する値」であると言うことができる
【００４８】
しかしながら、この補正前空燃比不均衡指標値も、指標値取得期間における吸入空気量及び／又は機関回転速度に依存して変化する（図２０を参照。）。従って、このように取得される補正前空燃比不均衡指標値を指標値取得期間における吸入空気量等により補正することによって、適切な補正後空燃比不均衡指標値を得ることができる。
【００４９】
本発明装置の他の目的、他の特徴及び付随する利点は、以下の図面を参照しつつ記述される本発明装置の各実施形態についての説明から容易に理解されるであろう。
【図面の簡単な説明】
【００５０】
【図１】図１は、本発明の各実施形態に係る燃料噴射量制御装置が適用される内燃機関の概略図である。
【図２】図２は、気筒に供給された混合気の空燃比と、その気筒から排出される未燃成分の量と、の関係を示したグラフである。
【図３】図３は、図１に示した上流側空燃比センサの部分概略斜視図（透視図）である。
【図４】図４は、図１に示した上流側空燃比センサの部分断面図である。
【図５】図５の（Ａ）〜（Ｃ）のそれぞれは、図１に示した上流側空燃比センサが備える空燃比検出部の概略断面図である。
【図６】図６は、排ガスの空燃比と空燃比センサの限界電流値との関係を示したグラフである。
【図７】図７は、排ガスの空燃比と空燃比センサの出力値との関係を示したグラフである。
【図８】図８は、排ガスの空燃比と図１に示した下流側空燃比センサの出力値との関係を示したグラフである。
【図９】図９は、空燃比気筒間インバランス状態が発生した場合（気筒別空燃比の不均一性の程度が大きい場合）及び空燃比気筒間インバランス状態が発生していない場合（気筒別空燃比の不均一性が生じていない場合）の「空燃比不均衡指標値に関連する各値の挙動」を示したタイムチャートである。
【図１０】図１０は、実際のインバランス割合と、上流側空燃比センサの出力値の変化率に相関する空燃比不均衡指標値と、の関係を示したグラフである。
【図１１】図１１は、上流側空燃比センサの出力値の変化率に基いて取得される補正前空燃比不均衡指標値と、吸入空気量と、の関係を示したグラフである。
【図１２】図１２は、上流側空燃比センサの出力値の変化率に基いて取得される補正前空燃比不均衡指標値と、機関回転速度と、の関係を示したグラフである。
【図１３】図１３は、本発明の第１実施形態に係る燃料噴射量制御装置（第１制御装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図１４】図１４は、第１制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１５】図１５は、第１制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１６】図１６は、第１制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１７】図１７は、第１制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１８】図１８は、第１制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１９】図１９は、実際のインバランス割合（気筒別空燃比の不均一性の程度）と、サブフィードバック量に応じた値に基いて得られる補正前空燃比不均衡指標値と、の関係を示したグラフである。
【図２０】図２０は、サブフィードバック量に応じた値に基いて得られる補正前空燃比不均衡指標値と、吸入空気量及び機関回転速度と、の関係を示したグラフである。
【図２１】図２１は、本発明の第２実施形態に係る燃料噴射量制御装置（第２制御装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図２２】図２２は、第２制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図２３】図２３は、三元触媒に流入する排ガスの空燃比と、三元触媒の上流に配設された「起電力式の酸素濃度センサ」である空燃比センサの出力値と、の関係を示したグラフである。
【発明を実施するための形態】
【００５１】
以下、本発明の各実施形態に係る内燃機関の燃料噴射量制御装置（以下、単に「制御装置」とも称呼する。）について図面を参照しながら説明する。この制御装置は、内燃機関に供給される混合気の空燃比（機関の空燃比）を制御する空燃比制御装置の一部でもある。
【００５２】
＜第１実施形態＞
（構成）
図１は、第１実施形態に係る制御装置（以下、「第１制御装置」とも称呼する。）を、４サイクル・火花点火式・多気筒（直列４気筒）・内燃機関１０に適用したシステムの概略構成を示している。
【００５３】
内燃機関１０は、機関本体部２０と、吸気系統３０と、排気系統４０と、を含む。
【００５４】
機関本体部２０は、シリンダブロック部及びシリンダヘッド部を含む。機関本体部２０は、複数の気筒（燃焼室）２１を備えている。各気筒は、図示しない「吸気ポート及び排気ポート」と連通している。吸気ポートと燃焼室２１との連通部は図示しない吸気弁により開閉される。排気ポートと燃焼室２１との連通部は図示しない排気弁により開閉される。各燃焼室２１には図示しない点火プラグが配設されている。
【００５５】
吸気系統３０は、インテークマニホールド３１、吸気管３２、複数の燃料噴射弁３３、及び、スロットル弁３４を備えている。
【００５６】
インテークマニホールド３１は、複数の枝部３１ａとサージタンク３１ｂとを備えている。複数の枝部３１ａのそれぞれの一端は、複数の吸気ポートのそれぞれに接続されている。複数の枝部３１ａの他端はサージタンク３１ｂに接続されている。
【００５７】
吸気管３２の一端はサージタンク３１ｂに接続されている。吸気管３２の他端には図示しないエアフィルタが配設されている。
【００５８】
燃料噴射弁３３は、一つの気筒（燃焼室）２１に対して一つずつ配設されている。燃料噴射弁３３は吸気ポートに設けられている。即ち、複数の気筒のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁３３を備えている。燃料噴射弁３３は、噴射指示信号に応答し、正常である場合に「その噴射指示信号に含まれる指示燃料噴射量の燃料」を吸気ポート（従って、燃料噴射弁３３に対応する気筒）内に噴射するようになっている。
【００５９】
より具体的に述べると、燃料噴射弁３３は、指示燃料噴射量に応じた時間だけ開弁する。燃料噴射弁３３に供給されている燃料の圧力は、その燃料の圧力と吸気ポート内の圧力との差圧が一定になるように図示しないプレッシャレギュレータにより制御されている。従って、燃料噴射弁３３が正常であれば、燃料噴射弁３３は指示燃料噴射量と等量の燃料を噴射する。しかしながら、燃料噴射弁３３に異常が発生すると、燃料噴射弁３３は指示燃料噴射量とは相違する量の燃料を噴射するようになる。これにより、気筒別空燃比の気筒間における不均一性が発生する。
【００６０】
スロットル弁３４は、吸気管３２内に回動可能に配設されている。スロットル弁３４は、吸気通路の開口断面積を可変とするようになっている。スロットル弁３４は、図示しないスロットル弁アクチュエータにより吸気管３２内で回転駆動されるようになっている。
【００６１】
排気系統４０は、エキゾーストマニホールド４１、エキゾーストパイプ４２、エキゾーストパイプ４２に配設された上流側触媒４３、及び、上流側触媒４３よりも下流においてエキゾーストパイプ４２に配設された「図示しない下流側触媒」を備えている。
【００６２】
エキゾーストマニホールド４１は、複数の枝部４１ａと集合部４１ｂとを備えている。複数の枝部４１ａのそれぞれの一端は、複数の排気ポートのそれぞれに接続されている。複数の枝部４１ａのそれぞれの他端は集合部４１ｂに集合している。この集合部４１ｂは、複数（２以上であり、本例では４つ）の気筒から排出された排ガスが集合する部分であるから、排気集合部ＨＫとも称呼される。
【００６３】
エキゾーストパイプ４２は集合部４１ｂに接続されている。排気ポート、エキゾーストマニホールド４１及びエキゾーストパイプ４２は、排気通路を構成している。
【００６４】
上流側触媒４３及び下流側触媒のそれぞれは、所謂、白金、ロジウム及びパラジウム等の貴金属（触媒物質）からなる活性成分を担持する三元触媒装置（排気浄化用の触媒）である。各触媒は、各触媒に流入するガスの空燃比が「三元触媒のウインドウ内の空燃比（例えば、理論空燃比）」であるとき、ＨＣ，ＣＯ，Ｈ２などの未燃成分を酸化するとともに窒素酸化物（ＮＯｘ）を還元する機能を有する。この機能は触媒機能とも称呼される。更に、各触媒は、酸素を吸蔵（貯蔵）する酸素吸蔵機能を有する。各触媒は、酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。つまり、酸素吸蔵機能により、ウインドウの幅が拡大する。酸素吸蔵機能は、触媒に担持されているセリア（ＣｅＯ２）等の酸素吸蔵材によってもたらされる。
【００６５】
このシステムは、熱線式エアフローメータ５１、スロットルポジションセンサ５２、水温センサ５３、クランクポジションセンサ５４、インテークカムポジションセンサ５５、上流側空燃比センサ５６、下流側空燃比センサ５７、及び、アクセル開度センサ５８を備えている。
【００６６】
エアフローメータ５１は、吸気管３２内を流れる吸入空気の質量流量（吸入空気流量）Ｇａに応じた信号を出力するようになっている。即ち、吸入空気量Ｇａは、単位時間あたりに機関１０に吸入される吸入空気量を表す。
【００６７】
スロットルポジションセンサ５２は、スロットル弁３４の開度（スロットル弁開度）を検出し、スロットル弁開度ＴＡを表す信号を出力するようになっている。
【００６８】
水温センサ５３は、内燃機関１０の冷却水の温度を検出し、冷却水温ＴＨＷを表す信号を出力するようになっている。冷却水温ＴＨＷは、機関１０の暖機状態（機関１０の温度）を表すパラメータである。
【００６９】
クランクポジションセンサ５４は、クランク軸が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置７０によって機関回転速度ＮＥに変換される。
【００７０】
インテークカムポジションセンサ５５は、インテークカムシャフトが所定角度から９０度、次いで９０度、更に１８０度回転する毎に一つのパルスを出力するようになっている。後述する電気制御装置７０は、クランクポジションセンサ５４及びインテークカムポジションセンサ５５からの信号に基づいて、基準気筒（例えば第１気筒）の圧縮上死点を基準とした絶対クランク角度ＣＡを取得するようになっている。この絶対クランク角度ＣＡは、基準気筒の圧縮上死点において「０°クランク角度」に設定され、クランク軸の回転角度に応じて７２０°クランク角度まで増大し、その時点にて再び０°クランク角度に設定される。
【００７１】
上流側空燃比センサ５６は、エキゾーストマニホールド４１の集合部４１ｂ（排気集合部ＨＫ）と上流側触媒４３との間の位置において「エキゾーストマニホールド４１及びエキゾーストパイプ４２の何れか」に配設されている。上流側空燃比センサ５６は、単に「空燃比センサ」とも称呼される。
【００７２】
上流側空燃比センサ５６は、例えば、特開平１１−７２４７３号公報、特開２０００−６５７８２号公報及び特開２００４−６９５４７号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
【００７３】
上流側空燃比センサ５６は、図３及び図４に示したように、空燃比検出部５６ａと、外側保護カバー５６ｂと、内側保護カバー５６ｃと、を有している。
【００７４】
外側保護カバー５６ｂは金属からなる中空円筒体である。外側保護カバー５６ｂは内側保護カバー５６ｃを覆うように、内側保護カバー５６ｃを内部に収容している。外側保護カバー５６ｂは、流入孔５６ｂ１をその側面に複数備えている。流入孔５６ｂ１は、排気通路を流れる排ガス（外側保護カバー５６ｂの外部の排ガス）ＥＸを外側保護カバー５６ｂの内部に流入させるための貫通孔である。更に、外側保護カバー５６ｂは、外側保護カバー５６ｂの内部の排ガスを外部（排気通路）に流出させるための流出孔５６ｂ２をその底面に有している。
【００７５】
内側保護カバー５６ｃは、金属からなり、外側保護カバー５６ｂの直径よりも小さい直径を有する中空円筒体である。内側保護カバー５６ｃは、空燃比検出部５６ａを覆うように空燃比検出部５６ａを内部に収容している。内側保護カバー５６ｃは流入孔５６ｃ１をその側面に複数備えている。この流入孔５６ｃ１は、外側保護カバー５６ｂの流入孔５６ｂ１を通して「外側保護カバー５６ｂと内側保護カバー５６ｃとの間の空間」に流入した排ガスを、内側保護カバー５６ｃの内部に流入させるための貫通孔である。更に、内側保護カバー５６ｃは、内側保護カバー５６ｃの内部の排ガスを外部に流出させるための流出孔５６ｃ２をその底面に有している。
【００７６】
図５の（Ａ）〜（Ｃ）に示したように、空燃比検出部５６ａは、固体電解質層５６１と、排ガス側電極層５６２と、大気側電極層５６３と、拡散抵抗層５６４と、第一壁部５６５と、触媒部５６６と、第二壁部５６７と、ヒータ５６８と、を含んでいる。
【００７７】
固体電解質層５６１は酸素イオン導電性酸化物焼結体である。本例において、固体電解質層５６１は、ＺｒＯ２（ジルコニア）にＣａＯを安定剤として固溶させた「安定化ジルコニア素子」である。固体電解質層５６１は、その温度が活性温度以上であるとき、周知の「酸素電池特性」及び「酸素ポンプ特性」を発揮する。
【００７８】
排ガス側電極層５６２は、白金（Ｐｔ）等の触媒活性の高い貴金属からなる。排ガス側電極層５６２は、固体電解質層５６１の一つの面上に形成されている。排ガス側電極層５６２は、化学メッキ等により浸透性を十分に有するように（即ち、多孔質状に）形成されている。
【００７９】
大気側電極層５６３は、白金（Ｐｔ）等の触媒活性の高い貴金属からなる。大気側電極層５６３は、固体電解質層５６１の他の面上であって、固体電解質層５６１を挟んで排ガス側電極層５６２に対向するように形成されている。大気側電極層５６３は、化学メッキ等により浸透性を十分に有するように（即ち、多孔質状に）形成されている。
【００８０】
拡散抵抗層（拡散律速層）５６４は、多孔質セラミック（耐熱性無機物質）からなる。拡散抵抗層５６４は、排ガス側電極層５６２の外側表面を覆うように、例えば、プラズマ溶射法等により形成されている。
【００８１】
第一壁部５６５は、緻密であってガスを透過させないアルミナセラミックスからなる。第一壁部５６５は拡散抵抗層５６４の角部（一部）を除いて拡散抵抗層５６４を覆うように形成されている。即ち、第一壁部５６５は拡散抵抗層５６４の一部を外部に露呈させる貫通部を備えている。
【００８２】
触媒部５６６は、第一壁部５６５の貫通部を閉じるように貫通部に形成されている。触媒部５６６は、上流側触媒４３と同様、酸化還元反応を促進する触媒物質及び酸素吸蔵機能を発揮する酸素吸蔵材を担持している。触媒部５６６は多孔質体である。従って、図５の（Ｂ）及び図５の（Ｃ）に白抜きの矢印により示したように、排ガス（前述した内側保護カバー５６ｃの内部に流入した排ガス）は、触媒部５６６を通過して拡散抵抗層５６４に到達し、その排ガスは更に拡散抵抗層５６４を通過して排ガス側電極層５６２に到達する。
【００８３】
第二壁部５６７は、緻密であってガスを透過させないアルミナセラミックスからなる。第二壁部５６７は大気側電極層５６３を収容する空間である「大気室５６Ａ」を形成するように構成されている。大気室５６Ａには大気が導入されている。
【００８４】
上流側空燃比センサ５６には電源５６９が接続されている。電源５６９は、大気側電極層５６３側が高電位となり、排ガス側電極層５６２が低電位となるように、電圧Ｖ（＝Ｖｐ）を印加する。
【００８５】
ヒータ５６８は第二壁部５６７に埋設されている。ヒータ５６８は後述する電気制御装置７０によって通電されたときに発熱し、固体電解質層５６１、排ガス側電極層５６２及び大気側電極層５６３を加熱し、それらの温度を調整するようになっている。
【００８６】
このような構造を有する上流側空燃比センサ５６は、図５の（Ｂ）に示したように、排ガスの空燃比が理論空燃比よりもリーン側の空燃比であるとき、拡散抵抗層５６４を通って排ガス側電極層５６２に到達した酸素をイオン化して大気側電極層５６３へと通過させる。この結果、電源５６９の正極から負極へと電流Ｉが流れる。この電流Ｉの大きさは、図６に示したように、電圧Ｖを所定値Ｖｐ以上に設定すると、排ガス側電極層５６２に到達した酸素の濃度（酸素分圧、排ガスの空燃比）に比例した一定値となる。上流側空燃比センサ５６は、この電流（即ち、限界電流Ｉｐ）を電圧に変換した値を出力値Vabyfsとして出力する。
【００８７】
これに対し、図５の（Ｃ）に示したように、排ガスの空燃比が理論空燃比よりもリッチ側の空燃比であるとき、上流側空燃比センサ５６は、大気室５６Ａに存在する酸素をイオン化して排ガス側電極層５６２へと導き、拡散抵抗層５６４を通って排ガス側電極層５６２に到達する未燃物（ＨＣ，ＣＯ及びＨ２等）を酸化する。この結果、電源５６９の負極から正極へと電流Ｉが流れる。この電流Ｉの大きさも、図６に示したように、電圧Ｖを所定値Ｖｐ以上に設定すると、排ガス側電極層５６２に到達した未燃物の濃度（即ち、排ガスの空燃比）に比例した一定値となる。上流側空燃比センサ５６は、この電流（即ち、限界電流Ｉｐ）を電圧に変換した値を出力値Vabyfsとして出力する。
【００８８】
即ち、空燃比検出部５６ａは、上流側空燃比センサ５６の配設位置を流れ、且つ、外側保護カバー５６ｂの流入孔５６ｂ１及び内側保護カバー５６ｃの流入孔５６ｃ１を通って空燃比検出部５６ａに到達しているガスの空燃比に応じた出力値Vabyfsを「空燃比センサ出力」として出力する。出力値Vabyfsは、空燃比検出部５６ａに到達しているガスの空燃比が大きくなるほど（リーンとなるほど）増大する。即ち、出力値Vabyfsは、図７に示したように、空燃比検出部５６ａに到達している排ガスの空燃比に実質的に比例する。なお、出力値Vabyfsは、空燃比検出部５６ａに到達しているガスの空燃比が理論空燃比であるとき、理論空燃比相当値Ｖstoichに一致する。
【００８９】
このように、上流側空燃比センサ５６は、「機関１０の排気通路であって排気集合部ＨＫと三元触媒４３との間の位置に配設されるとともに、空燃比検出素子（固体電解質層）５６１と、前記空燃比検出素子５６１を挟んで対向するように配設された排ガス側電極層５６２及び基準ガス側電極層５６３と、前記排ガス側電極層５６２を覆う多孔質層（拡散抵抗層）５６４と、を有する空燃比センサであって、前記空燃比センサが配設された位置を通過する排ガスのうち前記多孔質層５６４を通って前記排ガス側電極層５６２に到達した排ガスに含まれる酸素の量（酸素の濃度、酸素分圧）及び未燃物の量（未燃物の濃度、未燃物の分圧）に応じた出力値を出力する空燃比センサである。」と言うことができる。
【００９０】
電気制御装置７０は、図７に示した空燃比変換テーブル（マップ）Mapabyfsを記憶している。電気制御装置７０は、上流側空燃比センサ５６の出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより、実際の上流側空燃比abyfsを検出する（即ち、検出空燃比abyfsを取得する）。
【００９１】
ところで、排ガスに含まれる水素を含む未燃物は、触媒部５６６においてある程度まで浄化される。しかし、排ガスに多量の未燃物が含まれる場合、その未燃物を触媒部５６６において完全に浄化することはできない。その結果、拡散抵抗層５６４の外表面には、「酸素、及び、その酸素に対して過剰な未燃物」が到達する場合が生じる。更に、前述したように、水素は他の未燃物よりも分子径が小さいので、水素は他の未燃物と比較して拡散抵抗層５６４を優先的に拡散する。
【００９２】
加えて、上流側空燃比センサ５６は、前述したように、排気集合部ＨＫと上流側触媒４３との間の位置に配設されている。更に、上流側空燃比センサ５６は、エキゾーストマニホールド４１の内部及びエキゾーストパイプ４２の内部の何れかに外側保護カバー５６ｂが露呈するように配設されている。
【００９３】
より具体的には、上流側空燃比センサ５６は、図３及び図４に示したように、保護カバー（５６ｂ、５６ｃ）の底面が排ガスＥＸの流れと平行であり、保護カバー（５６ｂ、５６ｃ）の中心軸線ＣＣが排ガスＥＸの流れと直交するように排気通路内に配設される。これにより、外側保護カバー５６ｂの流入孔５６ｂ１に到達した排気通路内の排ガスＥＸは、外側保護カバー５６ｂの流出孔５６ｂ２近傍を流れる排気通路内の排ガスＥＸの流れにより、外側保護カバー５６ｂ及び内側保護カバー５６ｃの内部へと吸い込まれる。
【００９４】
従って、排気通路を流れる排ガスＥＸは、図３及び図４において矢印Ａｒ１により示したように外側保護カバー５６ｂの流入孔５６ｂ１を通って外側保護カバー５６ｂと内側保護カバー５６ｃとの間に流入する。次いで、その排ガスは、矢印Ａｒ２に示したように「内側保護カバー５６ｃの流入孔５６ｃ１」を通って「内側保護カバー５６ｃの内部」に流入した後に、空燃比検出部５６ａに到達する。その後、その排ガスは、矢印Ａｒ３に示したように「内側保護カバー５６ｃの流出孔５６ｃ２及び外側の保護カバー５６ｂの流出孔５６ｂ２」を通って排気通路に流出する。
【００９５】
このため、「外側保護カバー５６ｂ及び内側保護カバー５６ｃ」の内部における排ガスの流速は、外側保護カバー５６ｂの流出孔５６ｂ２近傍を流れる排ガスＥＸの流速（従って、単位時間あたりの吸入空気量である吸入空気量Ｇａ）に応じて変化する。換言すると、「ある空燃比の排ガス（第１排ガス）が流入孔５６ｂ１に到達した時点」から「その第１排ガスが空燃比検出部５６ａに到達する時点」までの時間は、吸入空気量Ｇａに依存するが機関回転速度ＮＥには依存しない。従って、上流側空燃比センサ５６の「排気通路を流れる排ガスの空燃比」に対する出力応答性（応答性）は、上流側空燃比センサ５６の外側保護カバー５６ｂの近傍を流れる排ガスの流量（流速）が大きいほど、即ち、吸入空気量Ｇａが大きいほど、良好になる。このことは、上流側空燃比センサ５６が内側保護カバー５６ｃのみを有する場合にも成立する。
【００９６】
再び、図１を参照すると、下流側空燃比センサ５７は、エキゾーストパイプ４２内に配設されている。下流側空燃比センサ５７の配設位置は、上流側触媒４３よりも下流側であり、且つ、下流側触媒よりも上流側（即ち、上流側触媒４３と下流側触媒との間の排気通路）である。下流側空燃比センサ５７は、周知の起電力式の酸素濃度センサ（安定化ジルコニア等の固体電解質を用いた周知の濃淡電池型の酸素濃度センサ）である。下流側空燃比センサ５７は、排気通路であって下流側空燃比センサ５７が配設されている部位を通過するガスである被検出ガスの空燃比に応じた出力値Voxsを発生するようになっている。換言すると、出力値Voxsは、上流側触媒４３から流出し且つ下流側触媒に流入するガスの空燃比に応じた値である。
【００９７】
この出力値Voxsは、図８に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値max（例えば、約０．９Ｖ〜１．０Ｖ）となる。出力値Vabyfsは、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min（例えば、約０．１Ｖ〜０Ｖ）となる。更に、出力値Voxsは、被検出ガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の電圧Ｖst（中間電圧Ｖst、例えば、約０．５Ｖ）となる。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変する。同様に、出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。
【００９８】
なお、下流側空燃比センサ５７も、固体電解質層と、固体電解質層を挟んで対向するように固体電解質層の両面に配設された「排ガス側電極層及び大気側（基準ガス側）電極層」とを備え、且つ、排ガス側電極層は多孔質層（保護層）により覆われている。従って、被検出ガスは、多孔質層を通過する際に酸素平衡後ガス（酸素及び未燃物が化合した後のガス）へと変化し、排ガス側電極層に到達する。水素は、他の未燃物よりも、その多孔質層を容易に通過する。但し、上流側触媒４３により、「気筒別空燃比の不均一性が生じた際に発生する過剰な水素」は特別な場合を除き浄化される。従って、下流側空燃比センサ５７の出力値Voxsは、特別な場合を除き、気筒別空燃比の不均一性の程度によって変化しない。
【００９９】
図１に示したアクセル開度センサ５８は、運転者によって操作されるアクセルペダルＡＰの操作量Accp（アクセルペダル操作量、アクセルペダルＡＰの開度）を表す信号を出力するようになっている。アクセルペダル操作量Accpは、アクセルペダルＡＰの操作量が大きくなるとともに大きくなる。
【０１００】
電気制御装置７０は、「ＣＰＵ、ＣＰＵが実行するプログラム、テーブル（マップ、関数）及び定数等を予め記憶したＲＯＭ、ＣＰＵが必要に応じてデータを一時的に格納するＲＡＭ、バックアップＲＡＭ、並びに、ＡＤコンバータを含むインターフェース等」からなる周知のマイクロコンピュータである。
【０１０１】
バックアップＲＡＭは、機関１０を搭載した車両の図示しないイグニッション・キー・スイッチの位置（オフ位置、始動位置及びオン位置等の何れか）に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップＲＡＭは、バッテリから電力の供給を受けている場合、ＣＰＵの指示に応じてデータを格納する（データが書き込まれる）とともに、そのデータを読み出し可能となるように保持（記憶）する。従って、バックアップＲＡＭは、機関１０の運転停止中においてもデータを保持することができる。
【０１０２】
バックアップＲＡＭは、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。そこで、ＣＰＵは、バックアップＲＡＭへの電力供給が再開されたとき、バックアップＲＡＭに保持されるべきデータを初期化（デフォルト値に設定）するようになっている。なお、バックアップＲＡＭは、ＥＥＰＲＯＭ等の読み書き可能な不揮発性メモリであってもよい。
【０１０３】
電気制御装置７０は、上述したセンサ等と接続され、ＣＰＵにそれらのセンサからの信号を供給するようになっている。更に、電気制御装置７０は、ＣＰＵの指示に応じて、各気筒に対応して設けられた点火プラグ（実際にはイグナイタ）、各気筒に対応して設けられた燃料噴射弁３３、及び、スロットル弁アクチュエータ等に駆動信号（指示信号）を送出するようになっている。
【０１０４】
なお、電気制御装置７０は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度ＴＡが大きくなるように、スロットル弁アクチュエータに指示信号を送出するようになっている。即ち、電気制御装置７０は、運転者により変更される機関１０の加速操作量（アクセルペダル操作量Accp）に応じて「機関１０の吸気通路に配設されたスロットル弁３４」の開度を変更するスロットル弁駆動手段を備えている。
【０１０５】
（水素の選択的拡散及びメインフィードバック制御に起因する空燃比のリーン側への移行（リーン誤補正）について）
インバランス気筒の空燃比が非インバランス気筒の空燃比よりもリッチ側に偏移した場合、上流側空燃比センサ５６の出力値Vabyfsに基く空燃比のフィードバック制御（メインフィードバック制御）により、機関の空燃比がリーン側に偏移する理由については上述した。
【０１０６】
即ち、排ガス中の未燃物（ＨＣ、ＣＯ及びＨ２）の量は、図２に示したように、気筒に供給される混合気の空燃比がリッチ側の空燃比になるほど急激に増大する。このため、「特定気筒に対して供給される燃料の量のみが４０％だけ過剰な量となった場合」に排ガスに含まれる水素Ｈ２の総量ＳＨ１は、図２によれば、ＳＨ１＝Ｈ３＋Ｈ０＋Ｈ０＋Ｈ０＝Ｈ３＋３・Ｈ０となる。
【０１０７】
ここで、機関１０の各気筒に吸入される空気量（重量）はＡ０であると仮定する。更に、各気筒に供給される燃料量（重量）がＦ０であるとき、空燃比Ａ０／Ｆ０は理論空燃比に一致すると仮定する。この仮定によれば、「特定気筒に対して供給される燃料の量のみが４０％だけ過剰な量となった場合」に４気筒に供給される燃料の総量（各気筒がそれぞれ一回の燃焼行程を終了する間に機関全体に供給される燃料の量）は４．４・Ｆ０（＝１．４・Ｆ０＋１・Ｆ０＋１・Ｆ０＋１・Ｆ０）である。よって、機関の真の平均空燃比は、４・Ａ０／（４．４・Ｆ０）＝Ａ０／（１．１・Ｆ０）となる。
【０１０８】
これに対し、「各気筒に対して供給される燃料の量が均等に１０％だけ過剰となった場合」に排ガスに含まれる水素Ｈ２の総量ＳＨ２は、図２によれば、ＳＨ２＝Ｈ１＋Ｈ１＋Ｈ１＋Ｈ１＝４・Ｈ１となる。この場合の機関１０に供給される燃料の総量は４．４・Ｆ０（＝１．１・Ｆ０＋１．１・Ｆ０＋１．１・Ｆ０＋１．１・Ｆ０）である。よって、機関の真の平均空燃比も、４・Ａ０／（４．４・Ｆ０）＝Ａ０／（１．１・Ｆ０）となる。量Ｈ１は量Ｈ０よりも僅かに大きいが、量Ｈ１及び量Ｈ０は共に極めて微量である。即ち、量Ｈ１と量Ｈ０とは、量Ｈ３に比べた場合、互いに略等しいと言える。従って、水素総量ＳＨ１は水素総量ＳＨ２よりも極めて大きくなる（ＳＨ１＞＞ＳＨ２）。
【０１０９】
このように、機関１０全体に供給される混合気の空燃比の真の平均値が同一であっても、空燃比気筒間インバランスが発生した場合に排ガスに含まれる水素の総量ＳＨ１は、空燃比気筒間インバランスが発生していない場合に排ガスに含まれる水素の総量ＳＨ２よりも、顕著に大きくなる。
【０１１０】
従って、特定気筒に対して供給される燃料の量のみが４０％だけ過剰な量となった場合、拡散抵抗層５６４における「水素Ｈ２の選択的拡散」に起因して、上流側空燃比センサの出力値Vabyfsにより表される検出空燃比abyfsは「機関１０全体に供給される混合気の空燃比の真の平均値（Ａ０／（１．１・Ｆ０））」よりもリッチ側の空燃比（小さい空燃比）となる。
【０１１１】
つまり、排ガスの空燃比の平均値が同じであっても、空燃比気筒間インバランスが発生している場合には、空燃比気筒間インバランスが発生していない場合よりも、上流側空燃比センサ５６の排ガス側電極層５６２における水素Ｈ２の濃度が高くなるから、上流側空燃比センサ５６の出力値Vabyfsは「空燃比の真の平均値」よりもリッチ側の空燃比を示す値となるのである。その結果、メインフィードバック制御により、機関１０全体に供給される混合気の空燃比の真の平均は、目標空燃比（理論空燃比）よりもリーン側に制御されてしまう。第１制御装置及び本発明の他の実施形態に係る制御装置は、このようなリーン側への補正を補償することにより、窒素酸化物の排出量を低減する。
【０１１２】
インバランス気筒の空燃比が、非インバランス気筒の空燃比よりもリーン側に偏移した場合においても、「水素の選択的拡散に起因する空燃比のリーン側への移行」が発生する。このような状況は、例えば、特定気筒に対して備えられている燃料噴射弁３３の噴射特性が「指示燃料噴射量よりも相当に少ない量の燃料を噴射する特性」になった場合に生じる。
【０１１３】
いま、ある一つの特定気筒（便宜上、第１気筒とする。）に対して供給される燃料の量が４０％だけ過小な量（即ち、０．６・Ｆ０）であり、残りの３気筒（第２、第３及び第４気筒）に対して供給される燃料の量はそれらの気筒の空燃比が理論空燃比と一致するような燃料の量（即ち、Ｆ０）となった場合を想定する。なお、この場合、失火は発生しないものと仮定している。
【０１１４】
この場合、メインフィードバック制御により、第１気筒乃至第４気筒に供給される燃料の量は同じ所定量（１０％）だけ増大されたと仮定する。このとき、第１気筒に供給される燃料の量は０．７・Ｆ０となり、第２乃至第４気筒のそれぞれに供給される燃料の量は１．１・Ｆ０となる。
【０１１５】
係る状態においては、４気筒エンジンである機関１０に供給される空気量の総量（各気筒がそれぞれ一回の燃焼行程を終了する間に機関１０全体に供給される空気量）は４・Ａ０である。また、メインフィードバック制御の結果、機関１０に供給される燃料量の総量（各気筒がそれぞれ一回の燃焼行程を終了する間に機関１０全体に供給される燃料の量）は４・Ｆ０（＝０．７・Ｆ０＋１．１・Ｆ０＋１．１・Ｆ０＋１．１・Ｆ０）となる。よって、機関１０全体に供給される混合気の空燃比の真の平均値は、４・Ａ０／（４・Ｆ０）＝Ａ０／Ｆ０、即ち、理論空燃比となる。
【０１１６】
しかしながら、実際には、この状態における「排ガスに含まれる水素Ｈ２の総量ＳＨ３」は、ＳＨ３＝Ｈ４＋Ｈ１＋Ｈ１＋Ｈ１＝Ｈ４＋３・Ｈ１となる（図２を参照。）。Ｈ４は、空燃比がＡ０／（０．７・Ｆ０）であるときに発生する水素量であり、値Ｈ０（空燃比が理論空燃比であるときに発生する水素量）と略等しい。
【０１１７】
これに対し、空燃比気筒間インバランスが発生しておらず、各気筒の空燃比が理論空燃比である場合、「排ガスに含まれる水素Ｈ２の総量ＳＨ４」は、ＳＨ４＝Ｈ０＋Ｈ０＋Ｈ０＋Ｈ０＝４・Ｈ０となる。以上から、総量ＳＨ３（＝Ｈ４＋３・Ｈ１）＝Ｈ０＋３・Ｈ１＞総量ＳＨ４（＝４・Ｈ０）が成立する。
【０１１８】
従って、「インバランス気筒の空燃比が、非インバランス気筒の空燃比よりもリーン側に偏移した場合」においても、水素の選択的拡散の影響が上流側空燃比センサ５６の出力値Vabyfsに現れる。即ち、出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより得られる検出空燃比abyfsは、上流側目標空燃比abyfrである理論空燃比よりも「リッチ側の空燃比（理論空燃比よりも小さい空燃比）」となる。その結果、メインフィードバック制御が更に実行され、機関１０全体に供給される混合気の空燃比の真の平均値は、理論空燃比よりもリーン側に補正されてしまう。第１制御装置及び本発明の他の実施形態に係る制御装置は、このようなリーン側への補正を補償することにより、窒素酸化物の排出量を低減する。
【０１１９】
（補正前空燃比不均衡指標値の取得）
次に、第１制御装置が採用した「補正前空燃比不均衡指標値及び補正後空燃比不均衡指標値の取得方法」について説明する。補正後空燃比不均衡指標値は、燃料噴射弁３３の特性が変化すること等に起因する「気筒間における空燃比の不均一性（不均衡・インバランス）の程度」を表すパラメータである。第１制御装置は、この補正後空燃比不均衡指標値に基づいて、指示燃料噴射量Ｆｉを増量する（指示空燃比を小さくする）。第１制御装置は、先ず、補正前空燃比不均衡指標値を取得し、次いで、その補正前空燃比不均衡指標値を「吸入空気量Ｇａ及び機関回転速度ＮＥ」に基いて補正することにより補正後空燃比不均衡指標値を取得する。
【０１２０】
第１制御装置は、補正前空燃比不均衡指標値を次のようにして取得する。
（１）第１制御装置は、所定のパラメータ取得条件（空燃比不均衡指標値取得条件）が成立している場合、所定時間（一定のサンプリング時間ｔｓ）が経過する毎に「上流側空燃比センサ５６の出力値Vabyfs（又は、前述したハイパスフィルタ処理後出力値）」の「所定の単位時間当たりの変化量」を取得する。
【０１２１】
この「出力値Vabyfsの単位時間当たりの変化量」は、その単位時間が例えば４ｍ秒程度の極めて短い時間であるとき、出力値Vabyfsの時間についての微分値（時間微分値d(Vabyfs)/dt、一階微分値d(Vabyfs)/dt）であると言うこともできる。従って、「出力値Vabyfsの単位時間当たりの変化量」は「変化率ΔＡＦ」又は「傾きΔＡＦ」とも称呼される。更に、変化率ΔＡＦは「基本指標量」又は「基本パラメータ」とも称呼される。
【０１２２】
（２）第１制御装置は、一つの単位燃焼サイクル期間において取得された複数の変化率ΔＡＦの絶対値｜ΔＡＦ｜の平均値ＡｖｅΔＡＦを求める。単位燃焼サイクル期間は、一つの上流側空燃比センサ５６に到達する排ガスを排出している気筒の総てにおいて、各一回の燃焼行程が終了するのに要するクランク角度が経過する期間である。本例の機関１０は、直列４気筒・４サイクル・エンジンであり、且つ、一つの上流側空燃比センサ５６には第１〜第４気筒からの排ガスが到達する。よって、単位燃焼サイクル期間は７２０°クランク角度が経過する期間である。
【０１２３】
（３）第１制御装置は、複数の単位燃焼サイクル期間のそれぞれに対して求めた平均値ＡｖｅΔＡＦの平均値を求め、その値を補正前空燃比不均衡指標値ＲＩＭＢとして採用する。なお、補正前空燃比不均衡指標値ＲＩＭＢは、このように求められる値に限定されることはなく、後述する種々の方法により取得され得る。
【０１２４】
上述したように求められる補正前空燃比不均衡指標値ＲＩＭＢ（変化率ΔＡＦに相関する値）は、吸入空気量Ｇａ及び機関回転速度ＮＥが一定であれば、「気筒間における空燃比の不均一性（不均衡）の程度、即ち、気筒別空燃比差」が大きくなるほど大きくなる値である。換言すると、補正前空燃比不均衡指標値ＲＩＭＢは、上流側空燃比センサ５６の出力値Vabyfsの変動が大きいほど大きくなる空燃比変動指標量ＡＦＤと言うこともできる。この補正前空燃比不均衡指標値ＲＩＭＢは、複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比の気筒間における差（気筒別空燃比差）が大きいほど大きくなる値である。以下、この理由について説明する。
【０１２５】
上流側空燃比センサ５６には、各気筒からの排ガスが点火順（故に、排気順）に到達する。気筒別空燃比差がない場合（気筒別空燃比の不均一性が発生していない場合）、各気筒から排出され且つ上流側空燃比センサ５６に到達する排ガスの空燃比は互いに略同一である。従って、気筒別空燃比差がない場合の出力値Vabyfsは、例えば、図９の（Ｂ）において破線Ｃ１により示したように変化する。即ち、気筒間における空燃比の不均一性がない場合、上流側空燃比センサ５６の出力値Vabyfsの波形は略平坦である。このため、図９の（Ｃ）において破線Ｃ３により示したように、気筒別空燃比差がない場合、変化率ΔＡＦ（微分値d(Vabyfs)/dt）の絶対値は小さい。
【０１２６】
一方、「特定気筒（例えば、第１気筒）に対して燃料を噴射する燃料噴射弁３３」の特性が「指示燃料噴射量よりも多い燃料を噴射する特性」となると、気筒別空燃比差が大きくなる。即ち、その特定気筒の排ガスの空燃比（インバランス気筒の空燃比）と、その特定気筒以外の気筒の排ガスの空燃比（非インバランス気筒の空燃比）と、は大きく相違する。
【０１２７】
従って、空燃比気筒間インバランス状態が発生している場合の出力値Vabyfsは、例えば図９の（Ｂ）の実線Ｃ２により示したように、単位燃焼サイクル期間毎に大きく変動する。このため、図９の（Ｃ）において実線Ｃ４により示したように、空燃比気筒間インバランス状態が発生している場合、変化率ΔＡＦ（微分値d(Vabyfs)/dt）の絶対値は大きくなる。
【０１２８】
しかも、変化率ΔＡＦの絶対値｜ΔＡＦ｜は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど大きく変動する。例えば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが第１の値であるときの出力値Vabyfsが図９（Ｂ）の実線Ｃ２のように変化するとすれば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが「第１の値の値よりも大きい第２の値」であるときの出力値Vabyfsは図９（Ｂ）の一点鎖線Ｃ２ａのように変化する。
【０１２９】
従って、図１０に示したように、変化率ΔＡＦの絶対値｜ΔＡＦ｜の「複数の単位燃焼サイクル期間」における平均値ＡｖｅΔＡＦ（補正前空燃比不均衡指標値ＲＩＭＢ）は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど（実際のインバランス割合が大きくなるほど）大きくなる。即ち、補正前空燃比不均衡指標値ＲＩＭＢは、実際の気筒別空燃比差が大きくなるにつれて（気筒別空燃比の不均一性の程度が大きくなるほど）大きくなる。
【０１３０】
第１制御装置は、補正前空燃比不均衡指標値ＲＩＭＢを取得すると、その補正前空燃比不均衡指標値ＲＩＭＢを「吸入空気量Ｇａ及び機関回転速度ＮＥ」に基いて補正することにより補正後空燃比不均衡指標値ＲＩＭＢｈを取得する。
【０１３１】
（補正後空燃比不均衡指標値の取得）
ところで、補正前空燃比不均衡指標値ＲＩＭＢは、図１１に示したように、気筒別空燃比の不均一性の程度（インバランス割合）が「ある一定の値」であっても、機関１０の吸入空気量Ｇａが大きくなるほど大きくなる。
【０１３２】
この理由の一つは、前述したように、上流側空燃比センサ５６の「排気通路を流れる排ガスの空燃比」に対する出力応答性（応答性）が、外側保護カバー５６ｂ及び内側保護カバー５６ｃの存在により、排ガスの流量（流速）が大きいほど（即ち、吸入空気量Ｇａが大きいほど）良好になるからである。この理由の他の一つは、上流側空燃比センサ５６の出力応答性が排ガスの圧力に依存するからである。
【０１３３】
更に、補正前空燃比不均衡指標値ＲＩＭＢは、図１２に示したように、気筒別空燃比の不均一性の程度（インバランス割合）が「ある一定の値」であっても、機関回転速度ＮＥの影響を受けて変化する。例えば、図１２に示したように、補正前空燃比不均衡指標値ＲＩＭＢは、機関回転速度ＮＥが所定回転速度以上の高速回転域において機関回転速度ＮＥが高くなるほど小さくなる。
【０１３４】
この理由は、インバランス気筒の排ガスが上流側空燃比センサ５６に到達することにより、上流側空燃比センサ５６の出力値Vabyfsがそのインバランス気筒の排ガスの空燃比を示す値にまで低下する前に、非インバランス気筒の排ガスが上流側空燃比センサ５６に到達してしまい、その結果、出力値Vabyfsがインバランス気筒の排ガスの空燃比に応じた値にまで十分に変化しないためであると推定される。
【０１３５】
そこで、第１制御装置は、補正前空燃比不均衡指標値ＲＩＭＢを取得する期間（指標値取得期間）における吸入空気量Ｇａに相関する値（吸入空気量相関値）を取得するとともに、指標値取得期間における機関回転速度ＮＥに相関する値（機関回転速度関値）を取得する。吸入空気量相関値は、例えば、指標値取得期間の吸入空気量Ｇａの平均値ＧａＡｖｅである。機関回転速度相関値は、例えば、指標値取得期間の機関回転速度ＮＥの平均値ＮＥＡｖｅである。
【０１３６】
そして、第１制御装置は、補正前空燃比不均衡指標値ＲＩＭＢが取得されると、吸入空気量相関値及び機関回転速度相関値に基づいてその補正前空燃比不均衡指標値ＲＩＭＢを補正することにより、補正後空燃比不均衡指標値ＲＩＭＢｈを取得する。これにより、指標値取得期間における吸入空気量及び機関回転速度に関わらず、気筒別空燃比の不均一性の程度を精度良く表す補正後空燃比不均衡指標値ＲＩＭＢｈを得ることができる。換言すると、補正前空燃比不均衡指標値ＲＩＭＢを「特定の吸入空気量及び特定の機関回転速度」にて得られた値へと正規化した値が補正後空燃比不均衡指標値ＲＩＭＢｈである。
【０１３７】
但し、図１１及び図１２からも理解されるように、補正前空燃比不均衡指標値ＲＩＭＢの機関回転速度ＮＥに対する依存性（相関性）は、補正前空燃比不均衡指標値ＲＩＭＢの吸入空気量Ｇａについての依存性（相関性）に比べ小さい。従って、第１制御装置は、補正前空燃比不均衡指標値ＲＩＭＢを吸入空気量相関値のみに基いて補正することにより、補正後空燃比不均衡指標値ＲＩＭＢｈを取得してもよい。
【０１３８】
（燃料噴射量制御の概要）
次に、第１制御装置が実行する燃料噴射量制御の概要について説明する。
第１制御装置は、上流側空燃比センサ５６の出力値Vabyfsにより表される検出空燃比abyfsが「目標空燃比（上流側目標空燃比）abyfr」に一致するように、指示燃料噴射量をフィードバック補正（増減）している。即ち、第１制御装置は、メインフィードバック制御を実行する。
【０１３９】
更に、第１制御装置は、取得した補正後空燃比不均衡指標値ＲＩＭＢｈが大きいほど、より多くの燃料が噴射されるように、指示燃料噴射量を増大させる。即ち、第１制御装置は、取得された補正後空燃比不均衡指標値ＲＩＭＢｈが大きいほど、「指示燃料噴射量によって決まる空燃比（即ち、指示空燃比）」が「よりリッチな空燃比（より小さい空燃比）」となるように、その指示燃料噴射量を増大補正する燃料増量制御を行う。
【０１４０】
より詳細には、第１制御装置は、補正後空燃比不均衡指標値ＲＩＭＢｈが「０」であるとき（即ち、気筒別空燃比差がないとき）、上流側目標空燃比abyfrを基準空燃比である理論空燃比stoichに設定する。更に、第１制御装置は、空燃比不均衡指標値ＲＩＭＢが大きくなるほど、上流側目標空燃比abyfrを、理論空燃比stoichよりも小さい範囲において、より小さくする。これにより、メインフィードバック制御によって得られる機関の空燃比は理論空燃比に近づく。即ち、上述した「水素の選択的拡散に起因する空燃比のリーン側への移行」を防止することができる。その結果、第１制御装置は、ＮＯｘの排出量が増大することを回避することができる。
【０１４１】
（実際の作動）
次に、第１制御装置の実際の作動について説明する。
【０１４２】
＜燃料噴射制御＞
第１制御装置のＣＰＵは、図１３に示した燃料噴射制御ルーチンを、任意の気筒のクランク角度が吸気上死点前の所定クランク角度となる毎に、その気筒に対して繰り返し実行するようになっている。前記所定クランク角度は、例えば、ＢＴＤＣ９０°ＣＡ（吸気上死点前９０°クランク角度）である。クランク角度が前記所定クランク角度に一致した気筒は「燃料噴射気筒」とも称呼される。ＣＰＵは、この燃料噴射制御ルーチンにより、指示燃料噴射量Ｆｉの計算及び燃料噴射の指示を行う。
【０１４３】
任意の気筒のクランク角度が吸気上死点前の所定クランク角度と一致すると、ＣＰＵはステップ１３００から処理を開始し、ステップ１３１０にてフューエルカット条件（以下、「ＦＣ条件」と表記する。）が成立しているか否かを判定する。
【０１４４】
いま、ＦＣ条件が成立してないと仮定する。この場合、ＣＰＵは、ステップ１３１０にて「Ｎｏ」と判定し、以下に述べるステップ１３２０乃至ステップ１３６０の処理を順に行い、ステップ１３９５に進んで本ルーチンを一旦終了する。
【０１４５】
ステップ１３２０：ＣＰＵは、後述する図１８のルーチンにより決定されている目標空燃比abyfrを読み込む。目標空燃比abyfrは、基本的には、後述するサブフィードバック量ＫＳＦＢが「０」である場合、補正後空燃比不均衡指標値ＲＩＭＢｈが大きくなるほど理論空燃比stoich以下の範囲において次第に小さくなるように決定される。
【０１４６】
ステップ１３３０：ＣＰＵは、「エアフローメータ５１により計測された吸入空気量Ｇａ、クランクポジションセンサ５４の信号に基いて取得された機関回転速度ＮＥ、及び、ルックアップテーブルMapMc」に基いて「燃料噴射気筒の１回の吸気行程において、その燃料噴射気筒に吸入される空気量」である「筒内吸入空気量Ｍｃ（ｋ）」を取得する。筒内吸入空気量Ｍｃ（ｋ）は、各吸気行程に対応されながらＲＡＭ内に記憶される。筒内吸入空気量Ｍｃ（ｋ）は、周知の空気量推定モデル（吸気通路における空気の挙動を模した物理法則に従って構築されたモデル）により算出されてもよい。
【０１４７】
ステップ１３４０：ＣＰＵは、筒内吸入空気量Ｍｃ（ｋ）を目標空燃比abyfrで除することにより基本燃料噴射量Ｆｂａｓｅを求める。従って、基本燃料噴射量Ｆｂａｓｅは、目標空燃比abyfrを得るために計算上必要な燃料噴射量のフィードフォワード量である。このステップ１３４０は、機関に供給される混合気の空燃比を目標空燃比abyfrに一致させるためのフィードフォワード制御手段（空燃比制御手段）を構成している。
【０１４８】
ステップ１３５０：ＣＰＵは、基本燃料噴射量Ｆｂａｓｅをメインフィードバック量ＤＦｉにより補正する。より具体的には、ＣＰＵは、基本燃料噴射量Ｆｂａｓｅにメインフィードバック量ＤＦｉを加えることにより、指示燃料噴射量（最終燃料噴射量）Ｆｉを算出する。メインフィードバック量ＤＦｉは、機関の空燃比（従って、上流側触媒４３に流入する排ガスの空燃比）を目標空燃比abyfrに一致させるための空燃比フィードバック量であり、上流側空燃比センサ５６の出力値Vabyfsに基いて求められる空燃比のフィードバック量である。メインフィードバック量ＤＦｉの算出方法については後述する。
【０１４９】
ステップ１３６０：ＣＰＵは、「指示燃料噴射量Ｆｉの燃料」を「燃料噴射気筒に対応して設けられている燃料噴射弁３３」から噴射させるための噴射指示信号を、その燃料噴射弁３３に送出する。
【０１５０】
この結果、機関の空燃比を目標空燃比abyfrに一致させるために計算上必要な量（必要と推定される量）の燃料が燃料噴射気筒の燃料噴射弁３３から噴射させられる。即ち、ステップ１３３０乃至ステップ１３６０は、「上流側空燃比センサ５６に到達する排ガスを排出している２以上の気筒（本例においては総ての気筒）の燃焼室２１に供給される混合気の空燃比」が目標空燃比abyfrとなるように指示燃料噴射量Ｆｉを制御する指示燃料噴射量制御手段を構成している。
【０１５１】
このルーチンによれば、補正後空燃比不均衡指標値ＲＩＭＢｈが大きくなるほど目標空燃比abyfrが小さくなるので、ステップ１３４０にて求められる基本燃料噴射量Ｆｂａｓｅは補正後空燃比不均衡指標値ＲＩＭＢｈが大きいほど大きくなるように増大させられる。更に、後述するメインフィードバック量ＤＦｉは、検出空燃比abyfsが目標空燃比abyfrに一致するように変更される。従って、ステップ１３５０にて求められる指示燃料噴射量Ｆｉは、補正後空燃比不均衡指標値ＲＩＭＢｈが大きいほどより大きくなるように増大させられる。即ち、このルーチンは、取得された補正後空燃比不均衡指標値ＲＩＭＢｈが大きいほど「指示燃料噴射量Ｆｉによって決まる空燃比（指示空燃比＝Ｍｃ（ｋ）／Ｆｉ）」がよりリッチな空燃比（より小さい空燃比）」となるように、指示燃料噴射量Ｆｉを増大補正する燃料増量手段を構成している。
【０１５２】
なお、ＣＰＵがステップ１３１０の処理を実行する時点において、ＦＣ条件が成立していると、ＣＰＵはそのステップ１３１０にて「Ｙｅｓ」と判定し、ステップ１３９５に直接進んで本ルーチンを一旦終了する。この場合、ステップ１３６０の処理による燃料噴射が実行されないので、フューエルカット制御（燃料供給停止制御）が実行される。
【０１５３】
＜メインフィードバック量の算出＞
ＣＰＵは図１４にフローチャートにより示した「メインフィードバック量算出ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵはステップ１４００から処理を開始し、ステップ１４０５に進んで「メインフィードバック制御条件（上流側空燃比フィードバック制御条件）」が成立しているか否かを判定する。
【０１５４】
メインフィードバック制御条件は以下の総ての条件が成立したときに成立する。
（Ａ１）上流側空燃比センサ５６が活性化している。
（Ａ２）機関の負荷ＫＬが閾値ＫＬｔｈ以下である。
（Ａ３）フューエルカット制御中でない。
【０１５５】
なお、負荷ＫＬは、ここでは下記の（１）式により求められる負荷率である。この負荷ＫＬに代え、アクセルペダル操作量Ａｃｃｐが用いられても良い。（１）式において、Ｍｃは筒内吸入空気量であり、ρは空気密度（単位は（ｇ／ｌ））、Ｌは機関１０の排気量（単位は（ｌ））、「４」は機関１０の気筒数である。
ＫＬ＝（Ｍｃ／（ρ・Ｌ／４））・１００％  …（１）
【０１５６】
いま、メインフィードバック制御条件が成立しているものとして説明を続ける。この場合、ＣＰＵはステップ１４０５にて「Ｙｅｓ」と判定して以下に述べるステップ１４１０乃至ステップ１４４０の処理を順に行い、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０１５７】
ステップ１４１０：ＣＰＵは、図１８に示したルーチンにより別途算出されている目標空燃比abyfrを読み込む。
【０１５８】
ステップ１４１５：ＣＰＵは、下記（２）式に示したように、上流側空燃比センサ５６の出力値Vabyfsを図７に示したテーブルMapabyfsに適用することにより、検出空燃比abyfsを得る。
abyfs＝Mapabyfs（Vabyfs）    …（２）
【０１５９】
ステップ１４２０：ＣＰＵは、下記（３）式に従って、「現時点よりもＮサイクル前の時点において燃焼室２１に実際に供給された燃料の量」である「筒内燃料供給量Ｆｃ（ｋ−Ｎ）」を求める。即ち、ＣＰＵは、「現時点よりもＮサイクル（即ち、Ｎ・７２０°クランク角度）前の時点における筒内吸入空気量Ｍｃ（ｋ−Ｎ）」を「検出空燃比abyfs」により除すことにより、筒内燃料供給量Ｆｃ（ｋ−Ｎ）を求める。
Ｆｃ（ｋ−Ｎ）＝Ｍｃ（ｋ−Ｎ）／abyfs    …（３）
【０１６０】
このように、筒内燃料供給量Ｆｃ（ｋ−Ｎ）を求めるために、現時点からＮサイクル前の筒内吸入空気量Ｍｃ（ｋ−Ｎ）を検出空燃比abyfsで除すのは、「燃焼室２１内での混合気の燃焼により生成された排ガス」が上流側空燃比センサ５６に到達するまでに「Ｎサイクルに相当する時間」を要しているからである。
【０１６１】
ステップ１４２５：ＣＰＵは、下記（４）式に従って、「現時点よりもＮサイクル前の時点において燃焼室２１に供給されるべきであった燃料の量」である「目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）」を求める。即ち、ＣＰＵは、現時点からＮサイクル前の筒内吸入空気量Ｍｃ（ｋ−Ｎ）を現時点からＮサイクル前の目標空燃比abyfr（ｋ−Ｎ）で除すことにより、目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）を求める。
Ｆｃｒ（ｋ−Ｎ）＝Ｍｃ（ｋ−Ｎ）／abyfr（ｋ−Ｎ）    …（４）
【０１６２】
ステップ１４３０：ＣＰＵは、下記（５）式に従って、筒内燃料供給量偏差ＤＦｃを取得する。即ち、ＣＰＵは、目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）から筒内燃料供給量Ｆｃ（ｋ−Ｎ）を減じることにより、筒内燃料供給量偏差ＤＦｃを求める。この筒内燃料供給量偏差ＤＦｃは、Ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
ＤＦｃ＝Ｆｃｒ（ｋ−Ｎ）−Ｆｃ（ｋ−Ｎ）    …（５）
【０１６３】
ステップ１４３５：ＣＰＵは、下記（６）式に従って、メインフィードバック量ＤＦｉを求める。この（６）式において、Ｇｐは予め設定された比例ゲイン、Ｇｉは予め設定された積分ゲインである。更に、（６）式の「値ＳＤＦｃ」は「筒内燃料供給量偏差ＤＦｃの積分値」である。つまり、ＣＰＵは、検出空燃比abyfsを目標空燃比abyfrに一致させるための比例積分制御により「メインフィードバック量ＤＦｉ」を算出する。
ＤＦｉ＝Ｇｐ・ＤＦｃ＋Ｇｉ・ＳＤＦｃ    …（６）
【０１６４】
ステップ１４４０：ＣＰＵは、その時点における筒内燃料供給量偏差ＤＦｃの積分値ＳＤＦｃに上記ステップ１４３０にて求められた筒内燃料供給量偏差ＤＦｃを加えることにより、新たな筒内燃料供給量偏差の積分値ＳＤＦｃを取得する。
【０１６５】
以上により、メインフィードバック量ＤＦｉが比例積分制御により算出され、このメインフィードバック量ＤＦｉが前述した図１３のステップ１３５０の処理により指示燃料噴射量Ｆｉに反映される。
【０１６６】
一方、図１４のステップ１４０５の判定時において、メインフィードバック制御条件が不成立であると、ＣＰＵはそのステップ１４０５にて「Ｎｏ」と判定してステップ１４４５に進み、メインフィードバック量ＤＦｉの値を「０」に設定する。次いで、ＣＰＵは、ステップ１４５０にて筒内燃料供給量偏差の積分値ＳＤＦｃに「０」を格納する。その後、ＣＰＵは、ステップ１４９５に進んで本ルーチンを一旦終了する。このように、メインフィードバック制御条件が不成立であるとき、メインフィードバック量ＤＦｉは「０」に設定される。従って、基本燃料噴射量Ｆｂａｓｅのメインフィードバック量ＤＦｉによる補正は行われない。
【０１６７】
＜サブフィードバック量ＫＳＦＢ及びサブＦＢ学習値ＫＳＦＢｇの算出＞
ＣＰＵは図１５にフローチャートにより示した「サブフィードバック量ＫＳＦＢ及びサブＦＢ学習値ＫＳＦＢｇの算出ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵはステップ１５００から処理を開始してステップ１５０５に進み、サブフィードバック制御条件が成立しているか否かを判定する。
【０１６８】
サブフィードバック制御条件は以下の総ての条件が成立したときに成立する。
（Ｂ１）メインフィードバック制御条件が成立している。
（Ｂ２）下流側空燃比センサ５７が活性化している。
【０１６９】
いま、サブフィードバック制御条件が成立していると仮定して説明を続ける。この場合、ＣＰＵはステップ１５０５にて「Ｙｅｓ」と判定し、以下に述べるステップ１５１０乃至ステップ１５３０の処理（サブフィードバック量算出処理）を実行し、その後、ステップ１５３５に進む。
【０１７０】
ステップ１５１０：ＣＰＵは、下記（７）式に従って、「下流側目標値Voxsref」と「下流側空燃比センサ５７の出力値Voxs」との差である「出力偏差量DVoxs」を取得する。即ち、ＣＰＵは、「下流側目標値Voxsref」から「現時点の下流側空燃比センサ５７の出力値Voxs」を減じることにより「出力偏差量DVoxs」を求める。下流側目標値Voxsrefは、三元触媒４３のウインドウ内の基準空燃比abyfr0に対応した値（例えば、理論空燃比）に相当する値に設定されている。
DVoxs＝Voxsref−Voxs    …（７）
【０１７１】
ステップ１５１５：ＣＰＵは、下記（８）式に従って、「その時点における出力偏差量の積分値SDVoxs（＝SDVoxs（ｎ−１））」に「上記ステップ１５１０にて求めた出力偏差量DVoxsとゲインＫとの積」を加えることにより、新たな出力偏差量の積分値SDVoxs（＝SDVoxs（ｎ））を求める。なお、ゲインＫはここでは「１」に設定されている。積分値SDVoxsは「時間積分値SDVoxs又は積分処理値SDVoxs」とも称呼される。
SDVoxs（ｎ）＝SDVoxs（ｎ−１）＋Ｋ・DVoxs    …（８）
【０１７２】
ステップ１５２０：ＣＰＵは、「上記ステップ１５１０にて算出した出力偏差量DVoxs」から「本ルーチンを前回実行した際に算出された出力偏差量である前回出力偏差量DVoxsold」を減じることにより、新たな出力偏差量の微分値DDVoxsを求める。
【０１７３】
ステップ１５２５：ＣＰＵは、下記（９）式に従って、サブフィードバック量ＫＳＦＢを求める。この（９）式において、Kpは予め設定された比例ゲイン（比例定数）、Kiは予め設定された積分ゲイン（積分定数）、Kdは予め設定された微分ゲイン（微分定数）である。即ち、Kp・DVoxsは比例項、Ki・SDVoxsは積分項、Kd・DDVoxsは微分項である。積分項Ki・SDVoxsは、サブフィードバック量ＫＳＦＢの定常成分でもある。
ＫＳＦＢ＝Kp・DVoxs＋Ki・SDVoxs＋Kd・DDVoxs    …（９）
【０１７４】
ステップ１５３０：ＣＰＵは、「上記ステップ１５１０にて算出した出力偏差量DVoxs」を「前回出力偏差量DVoxsold」として格納する。
【０１７５】
このように、ＣＰＵは、下流側空燃比センサ５７の出力値Voxsを下流側目標値Voxsrefに一致させるための比例・積分・微分（ＰＩＤ）制御により「サブフィードバック量ＫＳＦＢ」を算出する。このサブフィードバック量ＫＳＦＢは、後述するように、目標空燃比abyfrを算出するために使用される（abyfr＝stoich−ＫＳＦＢ−kacc・daf）。
【０１７６】
即ち、出力値Voxsが下流側目標値Voxsrefよりも小さいとき（リーンであるとき）、サブフィードバック量ＫＳＦＢは次第に大きくなる。サブフィードバック量ＫＳＦＢが大きくなるほど目標空燃比abyfrは小さくなる（リッチ側の空燃比になる）ように修正される。その結果、機関１０の真の平均空燃比は小さくなる（リッチ側の空燃比になる）ので、出力値Voxsが下流側目標値Voxsrefに一致するように増大する。
【０１７７】
逆に、出力値Voxsが下流側目標値Voxsrefよりも大きいとき（リッチであるとき）、サブフィードバック量ＫＳＦＢは次第に小さくなる。サブフィードバック量ＫＳＦＢが小さくなるほど目標空燃比abyfrは大きくなる（リーン側の空燃比となる）ように修正される。その結果、機関１０の真の平均空燃比は大きくなる（リーン側の空燃比になる）ので、出力値Voxsが下流側目標値Voxsrefに一致するように減少する。
【０１７８】
ＣＰＵは、ステップ１５３５に進むと、前回のサブフィードバック量の学習値（サブＦＢ学習値）ＫＳＦＢｇの更新時点から学習間隔時間Ｔｔｈが経過しているか否かを判定する。このとき、前回のサブＦＢ学習値ＫＳＦＢｇの更新時点から学習間隔時間Ｔｔｈが経過していなければ、ＣＰＵはステップ１５３５にて「Ｎｏ」と判定し、ステップ１５９５に直接進んで本ルーチンを一旦終了する。
【０１７９】
これに対し、ＣＰＵがステップ１５３５の処理を実行する時点において、前回のサブＦＢ学習値ＫＳＦＢｇの更新時点から学習間隔時間Ｔｔｈが経過していると、ＣＰＵはステップ１５３５にて「Ｙｅｓ」と判定してステップ１５４０に進み、その時点の積分値SDVoxsと積分ゲインKiとの積（Ki・SDVoxs）をサブＦＢ学習値ＫＳＦＢｇとしてバックアップＲＡＭに格納する。その後、ＣＰＵはステップ１５９５に進んで本ルーチンを一旦終了する。
【０１８０】
このように、ＣＰＵは、サブフィードバック量ＫＳＦＢが更新される期間よりも長い期間（学習間隔時間Ｔｔｈ）が経過した時点におけるサブフィードバック量ＫＳＦＢの定常項Ki・SDVoxsを、サブＦＢ学習値ＫＳＦＢｇとして取り込む。
【０１８１】
一方、ＣＰＵがステップ１５０５の処理を実行する時点においてサブフィードバック制御条件が成立していない場合、ＣＰＵはステップ１５０５にて「Ｎｏ」と判定し、ステップ１５４５に進んでサブＦＢ学習値ＫＳＦＢｇをサブフィードバック量ＫＳＦＢとして設定する。即ち、ＣＰＵは、サブフィードバック量ＫＳＦＢの更新を停止する。次いで、ＣＰＵはステップ１５５０に進み、サブＦＢ学習値ＫＳＦＢｇを積分ゲインKiで除した値（サブＦＢ学習値ＫＳＦＢｇ／積分ゲインKi）を、積分値SDVoxsとしてバックアップＲＡＭに格納する。その後、ＣＰＵはステップ１５９５に進み、本ルーチンを一旦終了する。
【０１８２】
下流側空燃比センサ５７の出力値Voxsは、機関１０の真の平均空燃比（従って、メインフィードバック制御によって「過度にリーン側に補正された空燃比」）を反映する値となる。これは、気筒間における空燃比の不均一性が生じた際に発生する多量の水素が、上流側触媒４３において浄化されるからである。従って、出力値Voxsを下流側目標値Voxsrefに一致させるためのサブフィードバック量を用いたサブフィードバック制御により、機関１０の真の平均空燃比は「三元触媒４３のウインドウ内の基準空燃比abyfr0に対応した値（例えば、理論空燃比）」へと修正される。従って、サブフィードバック量が適切な値に収束していれば、ＮＯｘ排出量が多量になることを回避することができる。
【０１８３】
しかしながら、サブフィードバック制御は「機関の空燃比の平均」を徐々に変化させる制御である。よって、一般に、サブフィードバック量ＫＳＦＢは目標空燃比abyfrを緩慢に変化するように更新される。従って、例えば、機関の始動後等において、サブフィードバック量が適値になっていない期間が発生する。加えて、「リーン誤補正」の程度は、気筒別空燃比の不均一性の程度が「ある特定の値」であっても、機関１０の運転状態に応じて変化する。例えば、リーン誤補正の程度は、吸入空気量Ｇａが大きくなるほど大きくなる。
【０１８４】
従って、気筒間における空燃比の不均一性が存在している場合であって、機関の始動後及び吸入空気量が急激に変化（特に、増大）するような過渡運転時等においては、サブフィードバック量が不適切な値となっている期間が長くなり、機関１０の真の平均空燃比は基準空燃比abyfr0へと修正されない場合が生じる。
【０１８５】
これに対し、第１制御装置は、補正後空燃比不均衡指標値ＲＩＭＢｈに基づいて目標空燃比abyfrを変更する。従って、機関１０の真の平均空燃比を基準空燃比abyfr0へと一致させることができる。
【０１８６】
＜補正前空燃比不均衡指標値ＲＩＭＢの取得＞
次に、空燃比不均衡指標値を取得するための処理について説明する。ＣＰＵは、４ｍｓ（所定の一定サンプリング時間ｔｓ）が経過する毎に、図１６にフローチャートにより示したルーチンを実行するようになっている。
【０１８７】
従って、所定のタイミングになると、ＣＰＵはステップ１６００から処理を開始してステップ１６０５に進み、パラメータ取得許可フラグＸkyokaの値が「１」であるか否かを判定する。
【０１８８】
このパラメータ取得許可フラグＸkyokaの値は、絶対クランク角度ＣＡが０°クランク角度になった時点において後述するパラメータ取得条件（空燃比不均衡指標値取得許可条件）が成立しているときに「１」に設定され、パラメータ取得条件が不成立になった時点において直ちに「０」に設定される。
【０１８９】
パラメータ取得条件は、以下の総ての条件（条件Ｃ１乃至条件Ｃ５）が成立したときに成立する。従って、パラメータ取得条件は、以下の総ての条件（条件Ｃ１乃至条件Ｃ５）のうちの少なくとも一つが不成立であるとき、成立しない。勿論、パラメータ取得条件を構成する条件は、以下の条件Ｃ１乃至条件Ｃ５に限定されることはない。
【０１９０】
（条件Ｃ１）エアフローメータ５１により取得される吸入空気量Ｇａが、所定範囲内である。即ち、吸入空気量Ｇａが、低側閾値空気流量ＧａＬｏｔｈ以上であり且つ高側閾値空気流量ＧａＨｉｔｈ以下である。
（条件Ｃ２）機関回転速度ＮＥが所定範囲内である。即ち、機関回転速度ＮＥが、低側閾値回転速度ＮＥＬｏｔｈ以上であり且つ高側閾値回転速度ＮＥＨｉｔｈ以下である。
（条件Ｃ３）冷却水温ＴＨＷが閾値冷却水温ＴＨＷｔｈ以上である。
（条件Ｃ４）メインフィードバック制御条件が成立している。
（条件Ｃ５）フューエルカット制御中でない。
【０１９１】
いま、パラメータ取得許可フラグＸkyokaの値が「１」であると仮定する。この場合、ＣＰＵはステップ１６０５にて「Ｙｅｓ」と判定してステップ１６１０に進み、「その時点の上流側空燃比センサ５６の出力値Vabyfs」を取得する。なお、ＣＰＵは、ステップ１６１０の処理の前に、本ルーチンを前回実行したときに取得した出力値Vabyfsを前回の出力値Vabyfsoldとして記憶する。即ち、前回の出力値Vabyfsoldは、現時点から４ｍｓ（サンプリング時間ｔｓ）前の時点における出力値Vabyfsである。前回の出力値Vabyfsの初期値は、イニシャルルーチンにおいて理論空燃比に相当する値に設定されている。イニシャルルーチンは、機関１０が搭載された車両のイグニッション・キー・スイッチがオフからオンに変更されたときにＣＰＵにより実行されるルーチンである。
【０１９２】
次に、ＣＰＵはステップ１６１５に進んで、
（Ａ）出力値Vabyfsの変化率ΔＡＦ（微分値d(Vabyfs)/dt）を取得し、
（Ｂ）変化率ΔＡＦの絶対値｜ΔＡＦ｜の積算値ＳＡＦＤを更新し、且つ、
（Ｃ）変化率ΔＡＦの絶対値｜ΔＡＦ｜の、積算値ＳＡＦＤへの積算回数カウンタＣｎを更新する。
以下、これらの更新方法について具体的に説明する。
【０１９３】
（Ａ）変化率ΔＡＦの取得。
出力値Vabyfsの変化率ΔＡＦ（微分値d(Vabyfs)/dt）は、補正前空燃比不均衡指標値ＲＩＭＢの元データとなるデータ（基本指標量、基本パラメータ）である。ＣＰＵは、この変化率ΔＡＦを、今回の出力値Vabyfsから前回の出力値Vabyfsoldを減じることによって取得する。即ち、今回の出力値VabyfsをVabyfs（ｎ）、前回の出力値VabyfsoldをVabyfs（ｎ−１）と表記すると、ＣＰＵはステップ１６１５にて「今回の変化率ΔＡＦ（ｎ）」を下記の（１０）式に従って求める。
ΔＡＦ（ｎ）＝Vabyfs（ｎ）−Vabyfs（ｎ−１）  …（１０）
【０１９４】
なお、ＣＰＵは、上流側空燃比センサ５６の出力値Vabyfsに含まれる機関１０の中心空燃比の変動成分を出力値Vabyfsから除去するために、出力値Vabyfsにハイパスフィルタ処理を施した値（ハイパスフィルタ処理後出力値ＶＨＰＦ）を求め、そのハイパスフィルタ処理後出力値ＶＨＰＦのサンプリング時間ｔｓにおける変化量を変化率ΔＡＦとして取得してもよい。
【０１９５】
（Ｂ）変化率ΔＡＦの絶対値｜ΔＡＦ｜の積算値ＳＡＦＤの更新。
ＣＰＵは今回の積算値ＳＡＦＤ（ｎ）を下記の（１１）式に従って求める。即ち、ＣＰＵは、ステップ１６１５に進んだ時点における前回の積算値ＳＡＦＤ（ｎ−１）に上記算出した今回の変化率ΔＡＦ（ｎ）の絶対値｜ΔＡＦ（ｎ）｜を加えることにより、積算値ＳＡＦＤを更新する。
ＳＡＦＤ（ｎ）＝ＳＡＦＤ（ｎ−１）＋｜ΔＡＦ（ｎ）｜  …（１１）
【０１９６】
積算値ＳＡＦＤに「今回の変化率ΔＡＦ（ｎ）の絶対値｜ΔＡＦ（ｎ）｜」を積算する理由は、図９の（Ｂ）及び（Ｃ）からも理解されるように、変化率ΔＡＦ（ｎ）は正の値にも負の値にもなるからである。なお、積算値ＳＡＦＤも、上述したイニシャルルーチンにおいて「０」に設定されるようになっている。
【０１９７】
（Ｃ）変化率ΔＡＦの絶対値｜ΔＡＦ｜の、積算値ＳＡＦＤへの積算回数カウンタＣｎの更新。
ＣＰＵは、下記の（１２）式に従って、カウンタＣｎの値を「１」だけ増大する。Ｃｎ（ｎ）は更新後のカウンタＣｎであり、Ｃｎ（ｎ−１）は更新前のカウンタＣｎである。このカウンタＣｎの値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、後述するステップ１６６０及びステップ１６６５にても「０」に設定される。従って、カウンタＣｎの値は、積算値ＳＡＦＤに積算された変化率ΔＡＦの絶対値｜ΔＡＦ｜のデータ数を示す。
Ｃｎ（ｎ）＝Ｃｎ（ｎ−１）＋１  …（１２）
【０１９８】
次に、ＣＰＵはステップ１６２０に進み、基準気筒（本例では第１気筒）の圧縮上死点を基準としたクランク角度ＣＡ（絶対クランク角度ＣＡ）が７２０°クランク角度になっているか否かを判定する。このとき、絶対クランク角度ＣＡが７２０°クランク角度未満であると、ＣＰＵはステップ１６２０にて「Ｎｏ」と判定してステップ１６９５に直接進み、本ルーチンを一旦終了する。
【０１９９】
なお、ステップ１６２０は、変化率ΔＡＦの絶対値｜ΔＡＦ｜の平均値を求めるための最小単位の期間を定めるステップであり、ここでは「単位燃焼サイクル期間である７２０°クランク角度」がその最小期間に相当する。勿論、この最小期間は７２０°クランク角度よりも短くてもよいが、サンプリング時間ｔｓの複数倍の長さ以上の期間であることが望ましい。更に、最小期間は、単位燃焼サイクル期間の自然数倍の期間であることが望ましい。
【０２００】
一方、ＣＰＵがステップ１６２０の処理を行う時点において、絶対クランク角度ＣＡが７２０°クランク角度になっていると、ＣＰＵはそのステップ１６２０にて「Ｙｅｓ」と判定してステップ１６２５に進む。ＣＰＵはステップ１６２５にて、その時点の「吸入空気量Ｇａと機関回転速度ＮＥ」を取得する。次いで、ＣＰＵはステップ１６３０に進む。
【０２０１】
ＣＰＵは、ステップ１６３０にて、
（Ｄ）変化率ΔＡＦの絶対値｜ΔＡＦ｜の平均値ＡｖｅΔＡＦを算出し、
（Ｅ）平均値ＡｖｅΔＡＦの積算値Ｓａｖｅを更新し、
（Ｆ）吸入空気量Ｇａの積算値ＳＧａを更新し、
（Ｇ）機関回転速度ＮＥの積算値ＳＮＥを更新し、且つ、
（Ｈ）積算回数カウンタＣｓを更新する。
以下、これらの更新方法について具体的に説明する。
【０２０２】
（Ｄ）変化率ΔＡＦの絶対値｜ΔＡＦ｜の平均値ＡｖｅΔＡＦの算出。
ＣＰＵは、下記の（１３）式に示したように、積算値ＳＡＦＤをカウンタＣｎの値により除することにより、変化率ΔＡＦの絶対値｜ΔＡＦ｜の平均値ＡｖｅΔＡＦを算出する。この後、ＣＰＵは積算値ＳＡＦＤ及びカウンタＣｎの値を「０」に設定する。
ＡｖｅΔＡＦ＝ＳＡＦＤ／Ｃｎ    …（１３）
【０２０３】
（Ｅ）平均値ＡｖｅΔＡＦの積算値Ｓａｖｅの更新。
ＣＰＵは今回の積算値Ｓａｖｅ（ｎ）を下記の（１４）式に従って求める。即ち、ＣＰＵは、ステップ１６３０に進んだ時点における前回の積算値Ｓａｖｅ（ｎ−１）に上記算出した今回の平均値ＡｖｅΔＡＦを加えることにより、積算値Ｓａｖｅを更新する。この積算値Ｓａｖｅ（ｎ）の値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、後述するステップ１６６０にても「０」に設定される。
Ｓａｖｅ（ｎ）＝Ｓａｖｅ（ｎ−１）＋ＡｖｅΔＡＦ    …（１４）
【０２０４】
（Ｆ）吸入空気量Ｇａの積算値ＳＧａの更新。
ＣＰＵは今回の積算値ＳＧａ（ｎ）を下記の（１５）式に従って求める。即ち、ＣＰＵは、ステップ１６３０に進んだ時点における前回の積算値ＳＧａ（ｎ−１）に、上記ステップ１６２５にて取得した今回の吸入空気量Ｇａを加えることにより、積算値ＳＧａを更新する。この積算値ＳＧａ（ｎ）の値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、後述するステップ１６６０にても「０」に設定される。
ＳＧａ（ｎ）＝ＳＧａ（ｎ−１）＋Ｇａ    …（１５）
【０２０５】
（Ｇ）機関回転速度ＮＥの積算値ＳＮＥの更新。
ＣＰＵは今回の積算値ＳＮＥ（ｎ）を下記の（１６）式に従って求める。即ち、ＣＰＵは、ステップ１６３０に進んだ時点における前回の積算値ＳＮＥ（ｎ−１）に、上記ステップ１６２５にて取得した今回の機関回転速度ＮＥを加えることにより、積算値ＳＮＥを更新する。この積算値ＳＮＥ（ｎ）の値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、後述するステップ１６６０にても「０」に設定される。
ＳＮＥ（ｎ）＝ＳＮＥ（ｎ−１）＋ＮＥ    …（１６）
【０２０６】
（Ｈ）積算回数カウンタＣｓの更新。
ＣＰＵは、下記の（１７）式に従って、カウンタＣｓの値を「１」だけ増大する。Ｃｓ（ｎ）は更新後のカウンタＣｓであり、Ｃｓ（ｎ−１）は更新前のカウンタＣｓである。このカウンタＣｓの値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、後述するステップ１６６０にても「０」に設定される。従って、カウンタＣｓの値は、積算値Ｓａｖｅに積算された平均値ＡｖｅΔＡＦのデータ数、積算値ＳＧａに積算された吸入空気量Ｇａのデータ数、及び、積算値ＳＮＥに積算された機関回転速度ＮＥのデータ数を示す。
Ｃｓ（ｎ）＝Ｃｓ（ｎ−１）＋１  …（１７）
【０２０７】
次に、ＣＰＵはステップ１６３５に進み、カウンタＣｓの値が閾値Ｃｓｔｈ以上であるか否かを判定する。このとき、カウンタＣｓの値が閾値Ｃｓｔｈ未満であると、ＣＰＵはそのステップ１６３５にて「Ｎｏ」と判定し、ステップ１６９５に直接進んで本ルーチンを一旦終了する。なお、閾値Ｃｓｔｈは自然数であり、２以上であることが望ましい。
【０２０８】
一方、ＣＰＵがステップ１６３５の処理を行う時点において、カウンタＣｓの値が閾値Ｃｓｔｈ以上であると、ＣＰＵはそのステップ１６３５にて「Ｙｅｓ」と判定してステップ１６４０に進む。ＣＰＵは、そのステップ１６４０にて、下記（１８）式に従って積算値ＳａｖｅをカウンタＣｓの値（＝Ｃｓｔｈ）によって除することにより、補正前空燃比不均衡指標値ＲＩＭＢを取得する。補正前空燃比不均衡指標値ＲＩＭＢは、変化率ΔＡＦ（微分値d(Vabyfs)/dt）の絶対値｜ΔＡＦ｜の各単位燃焼サイクル期間における平均値ＡｖｅΔＡＦを、複数（Ｃｓｔｈ個）の単位燃焼サイクル期間について平均した値である。
ＲＩＭＢ＝Ｓａｖｅ／Ｃｓｔｈ    …（１８）
【０２０９】
次に、ＣＰＵはステップ１６４５に進み、下記（１９）式に従って積算値ＳＧａをカウンタＣｓの値（＝Ｃｓｔｈ）によって除することにより、吸入空気量Ｇａの平均値である「吸入空気量相関値ＧａＡｖｅ」を取得する。吸入空気量相関値ＧａＡｖｅは、補正前空燃比不均衡指標値ＲＩＭＢが取得される期間（以下、「指標値取得期間」と称呼される。）における吸入空気量Ｇａが大きくなるほど大きくなる値である。
ＧａＡｖｅ＝ＳＧａ／Ｃｓｔｈ    …（１９）
【０２１０】
次に、ＣＰＵはステップ１６５０に進み、下記（２０）式に従って積算値ＳＮＥをカウンタＣｓの値（＝Ｃｓｔｈ）によって除することにより、機関回転速度ＮＥの平均値である「機関回転速度相関値ＮＥＡｖｅ」を取得する。機関回転速度相関値ＮＥＡｖｅは、指標値取得期間における機関回転速度ＮＥが大きくなるほど大きくなる値である。
ＮＥＡｖｅ＝ＳＮＥ／Ｃｓｔｈ    …（２０）
【０２１１】
次にＣＰＵはステップ１６５５に進み、補正前空燃比不均衡指標値ＲＩＭＢを「吸入空気量相関値ＧａＡｖｅ及び機関回転速度相関値ＮＥＡｖｅ」に基いて補正することにより、補正後空燃比不均衡指標値ＲＩＭＢｈを取得する。より具体的に述べると、ＣＰＵは、ステップ１６５５にて後述する図１７に示した「補正後空燃比不均衡指標値取得ルーチン」を実行する。補正後空燃比不均衡指標値ＲＩＭＢｈは、吸入空気量相関値ＧａＡｖｅと、機関回転速度相関値ＮＥＡｖｅと、補正前空燃比不均衡指標値ＲＩＭＢと、の関数ｆ（ＧａＡｖｅ，ＮＥＡｖｅ，ＲＩＭＢ）により表すことができる。補正後空燃比不均衡指標値ＲＩＭＢｈは、バックアップＲＡＭ内に学習値ＲＩＭＢgakuとして格納（記憶）される。
【０２１２】
次いで、ＣＰＵはステップ１６６０に進み、「補正前空燃比不均衡指標値ＲＩＭＢ及び補正後空燃比不均衡指標値ＲＩＭＢｈ」を算出するために用いられる各値（ΔＡＦ，ＳＡＦＤ，Ｃｎ，ＡｖｅΔＡＦ，Ｓａｖｅ，ＳＧａ，ＳＮＥ、及び、Ｃｓ等）」を「０」に設定（クリア）する。その後、ＣＰＵはステップ１６９５に進んで本ルーチンを一旦終了する。
【０２１３】
一方、ＣＰＵがステップ１６０５に進んだ際にパラメータ取得許可フラグＸkyokaの値が「１」でなければ、ＣＰＵはそのステップ１６０５にて「Ｎｏ」と判定してステップ１６６５に進む。ＣＰＵは、そのステップ１６６５にて「平均値ＡｖｅΔＡＦを算出するために用いられる各値（ΔＡＦ，ＳＡＦＤ，及び，Ｃｎ等）」を「０」に設定（クリア）する。次いで、ＣＰＵはステップ１６９５に進んで本ルーチンを一旦終了する。
【０２１４】
このように求められる補正後空燃比不均衡指標値ＲＩＭＢｈは、気筒別空燃比の不均一性が生じていないとき（即ち、総ての気筒の空燃比が同一であるとき）には変化率ΔＡＦが「０」となるから、基準値「０」となる。
【０２１５】
＜補正後空燃比不均衡指標値ＲＩＭＢｈの取得＞
次に、補正後空燃比不均衡指標値ＲＩＭＢｈを取得するための処理について説明する。ＣＰＵは、図１６のステップ１６５５に進むと（即ち、補正前空燃比不均衡指標値ＲＩＭＢが取得されると）、図１７のステップ１７００から処理を開始してステップ１７１０に進む。ＣＰＵはステップ１７１０にて、補正係数Ｋgnを決定する。
【０２１６】
電気制御装置７０はＲＯＭ内に「機関回転速度ＮＥ、吸入空気量Ｇａ及び補正前空燃比不均衡指標値ＲＩＭＢ」と「補正係数Ｋgn」との関係を規定したルックアップテーブルを格納している。このテーブルに格納されるデータは予め実験等により取得されている。補正係数Ｋgnは、気筒別空燃比の不均一性の程度がある値（インバランス割合が特定値）であれば、一つの補正後空燃比不均衡指標値ＲＩＭＢｈが得られるように、補正前空燃比不均衡指標値ＲＩＭＢを補正する係数である。
【０２１７】
より具体的に述べると、ＣＰＵは、図１６のステップ１６５０にて取得された機関回転速度相関値ＮＥＡｖｅに最も近い機関回転速度に対して定められている「吸入空気量Ｇａ及び補正前空燃比不均衡指標値ＲＩＭＢ」と「補正係数Ｋgn」との関係を規定したルックアップテーブルを選択する。例えば、図１６のステップ１６５０にて取得された機関回転速度相関値ＮＥＡｖｅが２０００ｒｐｍであったとすると、ＣＰＵは図１７のステップ１７１０にてテーブルＢを選択する。
【０２１８】
そして、ＣＰＵはその選択したテーブルから、図１６のステップ１６４５にて取得された吸入空気量相関値ＧａＡｖｅと図１６のステップ１６４０にて取得された補正前空燃比不均衡指標値ＲＩＭＢとに対応する補正係数Ｋgnを読み出す。例えば、機関回転速度相関値ＮＥＡｖｅが２０００ｒｐｍであり、吸入空気量相関値ＧａＡｖｅが３０（ｇ／ｓ）であり、補正前空燃比不均衡指標値ＲＩＭＢが０．４８であるとすると、補正係数Ｋgnは０．９３９０となる。補正係数Ｋgnは、一般に、吸入空気量相関値ＧａＡｖｅが大きいほど小さくなり、従って、吸入空気量相関値ＧａＡｖｅが小さいほど大きくなる。また、補正係数Ｋgnは、一般に、機関回転速度相関値ＮＥＡｖｅが大きいほど大きくなり、従って、機関回転速度相関値ＮＥＡｖｅが小さいほど小さくなる。
【０２１９】
次に、ＣＰＵはステップ１７２０に進み、下記（２１）式に従って、補正前空燃比不均衡指標値ＲＩＭＢに補正係数Ｋgnを乗じることにより補正後空燃比不均衡指標値ＲＩＭＢｈを求める。補正係数Ｋgnは、吸入空気量相関値ＧａＡｖｅ及び機関回転速度相関値ＮＥＡｖｅに基いて決まる値であるから、補正後空燃比不均衡指標値ＲＩＭＢｈは補正前空燃比不均衡指標値ＲＩＭＢを「吸入空気量相関値ＧａＡｖｅ及び機関回転速度相関値ＮＥＡｖｅ」に基いて補正した値である。その後、ＣＰＵはステップ１７９５を経由して図１６のステップ１６６０へと進む。
ＲＩＭＢｈ＝Ｋgn・ＲＩＭＢ  …（２１）
【０２２０】
＜目標空燃比abyfrの決定＞
次に、目標空燃比abyfrを決定するための処理について説明する。ＣＰＵは図１８にフローチャートにより示した「目標空燃比決定ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵはステップ１８００から処理を開始してステップ１８１０に進み、目標空燃比補正量dafを「補正後空燃比不均衡指標値ＲＩＭＢｈ及び吸入空気量Ｇａ」に基づいて決定する。目標空燃比補正量dafは、図１８のステップ１８１０内に記載された目標空燃比補正量テーブルＭａｐdaf（ＲＩＭＢｈ，Ｇａ）に従って求められる。
【０２２１】
この目標空燃比補正量テーブルＭａｐdaf（ＲＩＭＢｈ，Ｇａ）によれば、目標空燃比補正量dafは次のように決定される。
・目標空燃比補正量dafは、吸入空気量Ｇａが大きくなるほど、大きくなる。
・目標空燃比補正量dafは、補正後空燃比不均衡指標値ＲＩＭＢｈが大きくなるほど、大きくなる。
【０２２２】
次に、ＣＰＵはステップ１８２０に進み、機関１０の加速の程度を示す加速指標量ｄＧａを取得する。具体的には、ＣＰＵは、現時点の吸入空気量Ｇａから一定時間前（例えば、１６ｍｓ）前の過去の吸入空気量Ｇａoldを減じることにより、吸入空気量Ｇａの単位時間あたりの変化量を加速指標量ｄＧａとして取得する。なお、加速指標量ｄＧａは、スロットル弁開度ＴＡの単位時間あたりの変化量ｄＴＡ、負荷ＫＬの単位時間あたりの変化量ｄＫＬ、及び、アクセルペダル操作量Accpの単位時間あたりの変化量ｄAccp等のうちの何れであってもよい。
【０２２３】
次に、ＣＰＵはステップ１８３０に進み、加速指標量ｄＧａに基いて加速補正値kaccを取得する。即ち、ＣＰＵは、加速補正値kaccをステップ１８３０内に記載された加速補正値テーブルＭａｐkacc（ｄＧａ）に従って求める。この加速補正値テーブルＭａｐkacc（ｄＧａ）によれば、加速補正値kaccは、加速指標量ｄＧａが大きいほど「１よりも大きな範囲において次第に大きくなる」ように決定される。
【０２２４】
次いで、ＣＰＵはステップ１８４０に進み、下記の（２２）式に従って、目標空燃比abyfrを決定する。即ち、ＣＰＵは、理論空燃比stoichから、サブフィードバック量ＫＳＦＢを減じ、更に、「加速補正値kaccと目標空燃比補正量dafとの積（kacc・daf）」を減じた値を、目標空燃比abyfrとして採用する。その後、ＣＰＵはステップ１８９５に進んで本ルーチンを一旦終了する。なお、ＣＰＵは、加速補正値kaccを常に「１」に設定してもよい。即ち、ＣＰＵは加速指標量ｄＧａを求めることなく、目標空燃比補正量dafを（stoich−ＫＳＦＢ）から減じることにより、目標空燃比abyfrを決定してもよい。
abyfr＝stoich−ＫＳＦＢ−kacc・daf  …（２２）
【０２２５】
この結果、目標空燃比abyfrは、補正後空燃比不均衡指標値ＲＩＭＢｈが大きくなるほど、吸入空気量Ｇａが大きくなるほど、加速指標量ｄＧａが大きくなるほど、理論空燃比stoichとの差の絶対値の大きさがより大きくなるように、小さくなる（よりリッチ側の空燃比に設定される。）。
【０２２６】
従って、指示燃料噴射量Ｆｉは、補正後空燃比不均衡指標値ＲＩＭＢｈが大きくなるほど大きくなり、且つ、吸入空気量Ｇａが増大するほど吸入空気量Ｇａの増大に見合う分（目標空燃比abyfrが一定である場合に吸入空気量Ｇａの増加に基いて増加する指示燃料噴射量Ｆｉの増加量）よりも更に大きい増加量だけ大きくなり、且つ、加速指標量ｄＧａが大きくなるほど大きくなるように、増大補正される。
【０２２７】
この結果、吸入空気量Ｇａ、気筒別空燃比の不均一性の程度、及び、加速状態等に応じて、指示燃料噴射量Ｆｉが適切に制御されるので、指示燃料噴射量Ｆｉが適切な値となる。よって、気筒別空燃比の不均一性の程度が大きくなった場合においても窒素酸化物の排出量を低減することができる。
【０２２８】
更に、図１８のステップ１８１０内に記載された目標空燃比補正量テーブルＭａｐdaf（ＲＩＭＢｈ，Ｇａ）からも明らかなように、目標空燃比abyfrは、吸入空気量Ｇａと補正後空燃比不均衡指標値ＲＩＭＢｈとにより定まる運転状態が、所定の運転状態にある場合にのみ、理論空燃比stoich（実際には、stoich−ＫＳＦＢ）よりも小さい値へと変更される。つまり、目標空燃比補正量テーブルＭａｐdaf（ＲＩＭＢｈ，Ｇａ）の「０」以外の数値が記入されている運転領域（高吸入空気量領域且つ高インバランス割合状態）において、指示空燃比のリッチ側への修正がなされる。換言すると、「吸入空気量Ｇａが、補正後空燃比不均衡指標値ＲＩＭＢｈが大きいほど小さくなる吸入空気量の閾値Ｇａｖｔｈより大きい場合」、指示燃料噴射量Ｆｉは増大補正され、指示空燃比はリッチ側の空燃比に設定される。従って、無駄な指示燃料噴射量Ｆｉの増大補正を行うことなく、窒素酸化物の排出量を低減することができる。
【０２２９】
以上、説明したように、第１制御装置は、
三元触媒４３に流入する排ガスの空燃比が目標空燃比に一致するように燃料噴射弁３３から噴射される燃料の量を「上流側空燃比センサ５６の出力値Vabyfs」に基いてフィードバック補正することにより、複数の燃料噴射弁３３のそれぞれから噴射される燃料の量の指示値（指示燃料噴射量Ｆｉ）を決定する指示燃料噴射量決定手段（図１３のステップ１３２０乃至ステップ１３５０、及び、図１４等を参照。）と、
指示燃料噴射量Ｆｉに応じた量の燃料が複数の燃料噴射弁３３のそれぞれから噴射されるように複数の燃料噴射弁３３に噴射指示信号を送出する噴射指示信号送出手段（図１３のステップ１３６０を参照。）と、
を備える内燃機関の燃料噴射量制御装置であって、
「複数の気筒のそれぞれの燃焼室２１に供給される混合気の空燃比（気筒別空燃比）のその複数の気筒間における不均一性の程度」が大きいほど大きくなる補正前空燃比不均衡指標値ＲＩＭＢを「少なくとも上流側空燃比センサ５６の出力値Vabyfsに相関する値（微分値d(Vabyfs)/dt）」に基いて取得する補正前指標値取得手段（図１６のステップ１６０５乃至ステップ１６４０を参照。）と、
前記取得された補正前空燃比不均衡指標値ＲＩＭＢが取得される期間（指標値取得期間）における吸入空気量Ｇａが大きくなるほど大きくなる吸入空気量相関値ＧａＡｖｅを取得するとともに（図１６のステップ１６２５乃至ステップ１６３５、並びに、ステップ１６４５）、前記補正前空燃比不均衡指標値ＲＩＭＢを前記吸入空気量相関値ＧａＡｖｅに基いて補正することにより補正後空燃比不均衡指標値ＲＩＭＢｈを取得する補正後指標値取得手段（図１６のステップ１６５５及び図１７を参照。）と、
前記指示燃料噴射量Ｆｉによって決まる空燃比（指示空燃比）が、前記取得された補正後空燃比不均衡指標値ＲＩＭＢｈが大きいほど小さくなるように、その補正後空燃比不均衡指標値ＲＩＭＢｈに基づいて前記指示燃料噴射量Ｆｉを増大補正する燃料増量手段（図１８、図１３のステップ１３２０、及び、図１４のステップ１４２５等を参照。）と、
を含む。
【０２３０】
更に、第１制御装置は、前記指標値取得期間における機関回転速度ＮＥが大きくなるほど大きくなる機関回転速度相関値ＮＥＡｖｅを取得するとともに（図１６のステップ１６２５乃至ステップ１６３５、並びに、ステップ１６５０）、前記取得された補正前空燃比不均衡指標値ＲＩＭＢを前記取得された機関回転速度相関値ＮＥＡｖｅにも基いて補正することにより前記補正後空燃比不均衡指標値ＲＩＭＢｈを取得するように構成されている（図１６のステップ１６５５及び図１７を参照。）。
【０２３１】
従って、第１制御装置によれば、補正後空燃比不均衡指標値ＲＩＭＢｈは、指標値取得期間における「吸入空気量及び機関回転速度」に依存して変化することのない値であって、気筒別空燃比の不均一性の程度を表す値になる。従って、補正後空燃比不均衡指標値ＲＩＭＢｈに基いて指示燃料噴射量Ｆｉが増量補正されることにより、前述したリーン誤補正を補償することができ、且つ、燃料が過度に増量されることを回避することができる。従って、ＮＯｘ及び未燃物の排出量を低減することができる。
【０２３２】
＜第２実施形態＞
次に、本発明の第２実施形態に係る制御装置（以下、単に「第２制御装置」と称呼する。）について説明する。第２制御装置は、補正前空燃比不均衡指標値ＲＩＭＢを、サブフィードバック量ＫＳＦＢに応じた値（実際には、サブＦＢ学習値ＫＳＦＢｇ）に基づいて算出する（例えば、特開２００９−３０４５５号公報を参照。）。
【０２３３】
即ち、気筒別空燃比の不均一性の程度が大きくなるほど上述したメインフィードバック制御によるリーン誤補正の程度が大きくなる。一方、下流側空燃比センサ５７の出力値Voxsは、上述したように、気筒別空燃比の不均一性の程度が大きくなった場合であっても、機関１０の真の平均空燃比に近しい値を出力する。
【０２３４】
その結果、サブフィードバック量ＫＳＦＢ（又は、サブＦＢ学習値ＫＳＦＢｇ）は、気筒別空燃比の不均一性の程度が大きくなるほど、機関の空燃比（目標空燃比abyfr）を「よりリッチ側の空燃比」に移行する値となる。よって、サブフィードバック量ＫＳＦＢ（又は、サブＦＢ学習値ＫＳＦＢｇ）に基いて、気筒別空燃比の不均一性の程度を示す空燃比不均衡指標値（即ち、補正前空燃比不均衡指標値ＲＩＭＢ）を取得することができる（図１９を参照。）。
【０２３５】
しかしながら、発明者の実験によれば、図２０に示したように、サブフィードバック量ＫＳＦＢに応じた値に基いて取得される補正前空燃比不均衡指標値ＲＩＭＢは、気筒別空燃比の不均一性の程度（インバランス割合）が「ある特定の値」であっても、その補正前空燃比不均衡指標値ＲＩＭＢを取得する際の「吸入空気量Ｇａ及び機関回転速度ＮＥ」に依存して変化する。更に、気筒別空燃比の不均一性の程度が第１の値である場合と第２の値である場合において、補正前空燃比不均衡指標値ＲＩＭＢに対する「吸入空気量Ｇａ及び機関回転速度ＮＥ」の影響の仕方が互いに相違する。
【０２３６】
このため、サブフィードバック量ＫＳＦＢに応じた値に基いて取得される補正前空燃比不均衡指標値ＲＩＭＢを、その補正前空燃比不均衡指標値ＲＩＭＢを取得する際の「吸入空気量Ｇａ及び機関回転速度ＮＥ」に基いて補正しないと、補正前空燃比不均衡指標値ＲＩＭＢは気筒別空燃比の不均一性の程度を適切に示さない。よって、その補正前空燃比不均衡指標値ＲＩＭＢに基いて指示空燃比を変化させると、適切な空燃比制御が実行できない。
【０２３７】
そこで、第２制御装置は、サブフィードバック量ＫＳＦＢに応じた値に基いて取得される補正前空燃比不均衡指標値ＲＩＭＢを、その補正前空燃比不均衡指標値ＲＩＭＢを取得する際の「吸入空気量Ｇａ及び機関回転速度ＮＥ」に基いて補正することにより、補正後空燃比不均衡指標値ＲＩＭＢｈを取得する。更に、第２制御装置は、その補正後空燃比不均衡指標値ＲＩＭＢｈに基づいて機関の空燃比を制御する。
【０２３８】
（実際の作動）
第２制御装置のＣＰＵは、第１制御装置のＣＰＵと同様なルーチンを実行する。但し、第２制御装置のＣＰＵは、図１６に代わる図２１に示したルーチンを所定時間の経過毎に実行するとともに、図１７に代わる図２２に示したルーチンを実行する。
【０２３９】
所定のタイミングになると、ＣＰＵはステップ２１００から処理を開始してステップ２１０５に進み、現時点が「サブＦＢ学習値ＫＳＦＢｇが更新された直後の時点（サブＦＢ学習値更新直後時点）」であるか否かを判定する。このとき、現時点がサブＦＢ学習値更新直後の時点でなければ、ＣＰＵはステップ２１９５に直接進んで本ルーチンを一旦終了する。
【０２４０】
これに対し、現時点がサブＦＢ学習値更新直後の時点であれば、ＣＰＵはステップ２１０５にて「Ｙｅｓ」と判定し、以下に述べるステップ２１１０乃至ステップ２１４０の処理を順に行ってから、ステップ２１４５に進む。
【０２４１】
ステップ２１１０：ＣＰＵは学習値積算カウンタＣexeの値を「１」だけ増大する。
ステップ２１１５：ＣＰＵは図１５のステップ１５４０にて更新されたサブＦＢ学習値ＫＳＦＢｇを読み込む。
【０２４２】
ステップ２１２０：ＣＰＵは、サブＦＢ学習値ＫＳＦＢｇの積算値ＳＫＳＦＢｇを更新する。即ち、ＣＰＵは「その時点の積算値ＳＫＳＦＢｇ」に「ステップ２１１５にて読み込んだサブＦＢ学習値ＫＳＦＢｇ」を加えることにより、新たな積算値ＳＫＳＦＢｇを得る。この積算値ＳＫＳＦＢｇは、上述したイニシャルルーチンにより「０」に設定される。更に、積算値ＳＫＳＦＢｇは、後述するステップ２１７０の処理によっても「０」に設定される。
【０２４３】
ステップ２１２５：ＣＰＵは、その時点の吸入空気量Ｇａを取得する。
ステップ２１３０：ＣＰＵは、上記（１５）式と同様、前回の吸入空気量の積算値ＳＧａにステップ２１２５にて取得した吸入空気量Ｇａを加えることにより、今回の吸入空気量の積算値ＳＧａを取得する（積算値ＳＧａを更新する）。この積算値ＳＧａは、上述したイニシャルルーチンにより「０」に設定される。更に、積算値ＳＧａは、後述するステップ２１７０の処理によっても「０」に設定される。
【０２４４】
ステップ２１３５：ＣＰＵは、その時点の機関回転速度ＮＥを取得する。
ステップ２１４０：ＣＰＵは、上記（１６）式と同様、前回の機関回転速度の積算値ＳＮＥにステップ２１３５にて取得した機関回転速度ＮＥを加えることにより、今回の機関回転速度の積算値ＳＮＥを取得する（積算値ＳＮＥを更新する）。この積算値ＳＮＥは、上述したイニシャルルーチンにより「０」に設定される。更に、積算値ＳＮＥは、後述するステップ２１７０の処理によっても「０」に設定される。
【０２４５】
次に、ＣＰＵはステップ２１４５に進み、学習値積算カウンタＣexeの値がカウンタ閾値Ｃth以上であるか否かを判定する。ＣＰＵは、学習値積算カウンタＣexeの値がカウンタ閾値Ｃthよりも小さいと、ステップ２１４５にて「Ｎｏ」と判定してステップ２１９５に直接進み、本ルーチンを一旦終了する。これに対し、ＣＰＵは、学習値積算カウンタＣexeの値がカウンタ閾値Ｃth以上であると、ステップ２１４５にて「Ｙｅｓ」と判定し、以下に述べるステップ２１５０乃至ステップ２１７０の処理を順に行い、ステップ２１９５に進んで本ルーチンを一旦終了する。
【０２４６】
ステップ２１５０：ＣＰＵは、「サブＦＢ学習値ＫＳＦＢｇの積算値ＳＫＳＦＢｇ」を「学習値積算カウンタＣexe（＝Ｃth）」で除することにより、補正前空燃比不均衡指標値ＲＩＭＢを取得する。即ち、補正前空燃比不均衡指標値ＲＩＭＢは、サブＦＢ学習値ＫＳＦＢｇのカウンタ閾値Ｃth分の平均値である。
【０２４７】
ステップ２１５５：ＣＰＵは、「吸入空気量の積算値ＳＧａ」を「学習値積算カウンタＣexe（＝Ｃth）」で除することにより、補正前空燃比不均衡指標値ＲＩＭＢが取得される期間（指標値取得期間）における吸入空気量Ｇａの平均値である「吸入空気量相関値ＧａＡｖｅ」を取得する。
【０２４８】
ステップ２１６０：ＣＰＵは、「機関回転速度の積算値ＳＮＥ」を「学習値積算カウンタＣexe（＝Ｃth）」で除することにより、指標値取得期間における機関回転速度ＮＥの平均値である「機関回転速度相関値ＮＥＡｖｅ」を取得する。
【０２４９】
ステップ２１６５：ＣＰＵは、ステップ２１５０にて取得された補正前空燃比不均衡指標値ＲＩＭＢを「吸入空気量相関値ＧａＡｖｅ及び機関回転速度相関値ＮＥＡｖｅ」に基いて補正することにより、補正後空燃比不均衡指標値ＲＩＭＢｈを取得する。より具体的に述べると、ＣＰＵは、ステップ２１６５にて後述する図２２に示した「補正後空燃比不均衡指標値取得ルーチン」を実行する。補正後空燃比不均衡指標値ＲＩＭＢｈは、吸入空気量相関値ＧａＡｖｅと、機関回転速度相関値ＮＥＡｖｅと、補正前空燃比不均衡指標値ＲＩＭＢと、の関数ｇ（ＧａＡｖｅ，ＮＥＡｖｅ，ＲＩＭＢ）により表すことができる。補正後空燃比不均衡指標値ＲＩＭＢｈは、バックアップＲＡＭ内に学習値ＲＩＭＢgakuとして格納（記憶）される。
【０２５０】
ステップ２１７０：ＣＰＵは、「補正前空燃比不均衡指標値ＲＩＭＢ及び補正後空燃比不均衡指標値ＲＩＭＢｈ」を算出するために用いられる各値（Ｃexe，ＳＫＳＦＢｇ，ＳＧａ，ＳＮＥ）を「０」に設定（クリア）する。その後、ＣＰＵはステップ２１９５に進んで本ルーチンを一旦終了する。
【０２５１】
次に、補正後空燃比不均衡指標値ＲＩＭＢｈを取得するための処理について説明する。ＣＰＵは、図２１のステップ２１６５に進むと（即ち、補正前空燃比不均衡指標値ＲＩＭＢが取得されると）、図２２のステップ２２００から処理を開始してステップ２２１０に進む。ＣＰＵはステップ２２１０にて、図１７のステップ１７１０と同様な手法に基いて補正係数Ｋgnを決定する。
【０２５２】
即ち、電気制御装置７０はＲＯＭ内に「機関回転速度ＮＥ、吸入空気量Ｇａ及び補正前空燃比不均衡指標値ＲＩＭＢ」と「補正係数Ｋgnsb」との関係を規定したルックアップテーブルを格納している。このテーブルに格納されるデータは予め実験等により取得されている。補正係数Ｋgnsbは、気筒別空燃比の不均一性の程度がある値（インバランス割合が特定値）であれば、一つの補正後空燃比不均衡指標値ＲＩＭＢｈが得られるように、補正前空燃比不均衡指標値ＲＩＭＢを補正する係数である。
【０２５３】
ＣＰＵは、そのテーブルに、図２１のステップ２１５０乃至ステップ２１６０にて取得された「補正前空燃比不均衡指標値ＲＩＭＢ、吸入空気量相関値ＧａＡｖｅ及び機関回転速度相関値ＮＥＡｖｅ」を適用することにより、補正係数Ｋgnsbを取得する。
【０２５４】
次に、ＣＰＵはステップ２２２０に進み、上記（２１）式と同様、補正前空燃比不均衡指標値ＲＩＭＢに補正係数Ｋgnsbを乗じることにより補正後空燃比不均衡指標値ＲＩＭＢｈを求める。補正係数Ｋgnsbは、吸入空気量相関値ＧａＡｖｅ及び機関回転速度相関値ＮＥＡｖｅに基いて決まる値であるから、補正後空燃比不均衡指標値ＲＩＭＢｈは補正前空燃比不均衡指標値ＲＩＭＢを「吸入空気量相関値ＧａＡｖｅ及び機関回転速度相関値ＮＥＡｖｅ」に基いて補正した値である。その後、ＣＰＵはステップ２２９５を経由して図１７のステップ２１７０へと進む。
【０２５５】
ＣＰＵは、このようにして取得された補正後空燃比不均衡指標値ＲＩＭＢｈを用いて目標空燃比abyfrを決定する。即ち、ＣＰＵは図１８に示したルーチンにより目標空燃比abyfrを決定する。
【０２５６】
以上、説明したように、第２制御装置は、
上流側空燃比センサ５６の出力値Vabyfsにより表される空燃比（検出空燃比abyfs）が目標空燃比abyfrに一致するように指示燃料噴射量Ｆｉをフィードバック補正するためのメインフィードバック量ＤＦｉを算出し（図１４を参照。）、
下流側空燃比センサ５７の出力値Voxsが下流側目標値Voxsrefに一致するように前記指示燃料噴射量Ｆｉをフィードバック補正するためのサブフィードバック量ＫＳＦＢを算出し（図１５を参照。）、且つ、
前記メインフィードバック量ＤＦｉ及び前記サブフィードバック量ＫＳＦＢに基いて指示燃料噴射量Ｆｉを決定する（図１３のステップ１３２０乃至ステップ１３５０、図１８のステップ１８４０等を参照。）、
指示燃料噴射量決定手段を備える。
【０２５７】
更に、第２制御装置の補正前指標値取得手段は、サブフィードバック量の定常成分（サブＦＢ学習値ＫＳＦＢｇ又は時間積分値SDVoxs）が大きくなるほど大きくなる値を補正前空燃比不均衡指標値ＲＩＭＢとして取得するように構成されている（図２１のステップ２１１０乃至ステップ２１２０、ステップ２１４５及びステップ２１５０を参照。）。
【０２５８】
加えて、第２制御装置の補正後指標値取得手段は、
指標値取得期間における「吸入空気量相関値ＧａＡｖｅ及び機関回転速度相関値ＮＥＡｖｅ」を取得するとともに、前記取得された補正前空燃比不均衡指標値ＲＩＭＢを前記取得された「吸入空気量相関値ＧａＡｖｅ及び機関回転速度相関値ＮＥＡｖｅ」に基いて補正することにより、補正後空燃比不均衡指標値ＲＩＭＢｈを取得するように構成されている（図２１のステップ２１２５乃至ステップ２１４５、ステップ２１５５乃至ステップ２１６５及び図２２等を参照。）。
【０２５９】
従って、補正後空燃比不均衡指標値ＲＩＭＢｈは、指標値取得期間における「吸入空気量及び機関回転速度」に依存して変化することのない値であって、気筒別空燃比の不均一性の程度を表す値になる。この結果、補正後空燃比不均衡指標値ＲＩＭＢｈに基いて指示燃料噴射量Ｆｉが増量補正されることにより、前述したリーン誤補正を補償することができ、且つ、燃料が過度に増量されることを回避することができる。従って、ＮＯｘ及び未燃物の排出量を低減することができる。
【０２６０】
以上、説明したように、本発明の各実施形態に係る燃料噴射量制御装置は、指標値取得期間における「吸入空気量Ｇａ及び機関回転速度ＮＥ」に依存することなく、気筒別空燃比の不均一性の程度を精度良く表す値（補正後空燃比不均衡指標値ＲＩＭＢｈ）を取得し、その補正後空燃比不均衡指標値ＲＩＭＢｈに基いて指示燃料噴射量（従って、指示空燃比）を制御する。その結果、気筒別空燃比の不均一性の程度にかかわらず、ＮＯｘの排出量等を低減することができる。
【０２６１】
換言すると、本発明の各実施形態に係る燃料噴射量制御装置は、結局のところ、関数ｆ（ＧａＡｖｅ，ＮＥＡｖｅ，ＲＩＭＢ）又は関数ｇ（ＧａＡｖｅ，ＮＥＡｖｅ，ＲＩＭＢ）により表される補正後空燃比不均衡指標値ＲＩＭＢｈと、実際の吸入空気量Ｇａ、に基いて目標空燃比abyfr（従って、指示空燃比）を設定している（図１６のステップ１６５５、図２１のステップ２１６５、及び、図１８のステップ１８１０並びにステップ１８４０、を参照。）。
【０２６２】
この場合、補正後空燃比不均衡指標値ＲＩＭＢｈそのものを求めることなく（即ち、補正後空燃比不均衡指標値ＲＩＭＢｈを介するすることなく）、上記関数ｆと実際の吸入空気量Ｇａと目標空燃比abyfrとの関係を定める関数ｆ１（ｆ，Ｇａ）＝ｆ１（ＧａＡｖｅ，ＮＥＡｖｅ，ＲＩＭＢ，Ｇａ）＝abyfr）により、目標空燃比abyfrを求めてもよい。同様に、上記関数ｇと実際の吸入空気量Ｇａと目標空燃比abyfrとの関係を定める関数ｇ１（ｇ，Ｇａ）＝ｇ１（ＧａＡｖｅ，ＮＥＡｖｅ，ＲＩＭＢ，Ｇａ）＝abyfr）により、目標空燃比abyfrを求めてもよい。
【０２６３】
加えて、補正前空燃比不均衡指標値ＲＩＭＢの機関回転速度相関値に対する依存性は、補正前空燃比不均衡指標値ＲＩＭＢの吸入空気量相関値に対する依存性よりも小さいので、補正前空燃比不均衡指標値ＲＩＭＢを吸入空気量相関値のみにより補正することにより補正後空燃比不均衡指標値ＲＩＭＢｈを取得してもよい。この場合、上記燃料噴射量制御装置は、関数ｆ２（ＧａＡｖｅ，ＲＩＭＢ）又は関数ｇ２（ＧａＡｖｅ，ＲＩＭＢ）により表される補正後空燃比不均衡指標値ＲＩＭＢｈと、実際の吸入空気量Ｇａと、に基いて目標空燃比abyfr（従って、指示空燃比）を設定している。
【０２６４】
以上から、上記燃料噴射量制御装置は、
前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる補正前空燃比不均衡指標値を少なくとも前記上流側空燃比センサの出力値に相関する値に基いて取得する補正前指標値取得手段と、
前記取得された補正前空燃比不均衡指標値が取得される期間である指標値取得期間における前記機関の吸入空気量が大きくなるほど大きくなる吸入空気量相関値を取得する相関値取得手段と、
前記機関の実際の吸入空気量を取得する手段と、
前記取得された補正前空燃比不均衡指標値と、前記取得された吸入空気量相関値と、前記取得された実際の吸入空気量と、に基いて目標空燃比を決定する目標空燃比決定手段と、
を備えると言うこともできる。
【０２６５】
更に、この燃料噴射量制御装置において、
前記相関値取得手段は、
前記指標値取得期間における前記機関の回転速度が大きくなるほど大きくなる機関回転速度相関値を取得するように構成され、
前記目標空燃比決定手段は、
更に、前記取得された機関回転速度相関値にも基いて前記目標空燃比を決定するように構成されている、と言うこともできる。
【０２６６】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、補正前空燃比不均衡指標値ＲＩＭＢを取得する補正前指標値取得手段は、次に述べるような方法により、「上流側空燃比センサ５６の出力値Vabyfsの変動が大きいほど大きくなる空燃比変動指標量ＡＦＤ」を補正前空燃比不均衡指標値ＲＩＭＢとして取得してもよい。なお、以下に述べる上流側空燃比センサ５６の出力値Vabyfsは、上流側空燃比センサ５６の出力値Vabyfsに相関する値を意味する。即ち、以下に述べる上流側空燃比センサ５６の出力値Vabyfsは、上流側空燃比センサ５６の出力値Vabyfsそのものでもよく、上流側空燃比センサ５６の出力値Vabyfsから機関１０の空燃比平均（中心空燃比、ベース空燃比）の変動成分が除去されるように、上流側空燃比センサ５６の出力値Vabyfsに対してハイパスフィルタ処理を施した値であってもよい。
【０２６７】
（Ａ−１）
前記補正前指標値取得手段は、上述したように、
上流側空燃比センサ５６の出力値Vabyfsの時間についての微分値d(Vabyfs)/dt（変化率ΔＡＦ）を取得するとともに、取得した微分値d(Vabyfs)/dtに相関する値を補正前空燃比不均衡指標値ＲＩＭＢとして取得するように構成され得る。
【０２６８】
取得した微分値d(Vabyfs)/dtに相関する値の一例は、上述したように、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された微分値d(Vabyfs)/dtの絶対値の平均値である。取得した微分値d(Vabyfs)/dtに相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された微分値d(Vabyfs)/dtの絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
【０２６９】
取得した微分値d(Vabyfs)/dtに相関する値の更に別の一例は、次のように取得してもよい。
・単位燃焼サイクル期間において、正の値を有する微分値d(Vabyfs)/dtの絶対値を所定サンプル時間の経過毎に取得し、それらの平均値ΔＡＦＰＬを求める。
・単位燃焼サイクル期間において、負の値を有する微分値d(Vabyfs)/dtの絶対値を所定サンプル時間の経過毎に取得し、それらの平均値ΔＡＦＭＮを求める。
・一つの単位燃焼サイクル期間において、平均値ΔＡＦＰＬと平均値ΔＡＦＭＮのうちの大きい方を、その単位燃焼サイクル期間における変化率ΔＡＦとして採用する。
・複数の単位燃焼サイクル期間のそれぞれにおいて上記のようにして取得したΔＡＦの平均値を補正前空燃比不均衡指標値ＲＩＭＢとして採用する。
【０２７０】
（Ａ−２）
前記補正前指標値取得手段は、
上流側空燃比センサ５６の出力値Vabyfsにより表される検出空燃比abyfsの時間についての微分値d(abyfs)/dtを取得するとともに、その取得した微分値d(abyfs)/dt値に相関する値を補正前空燃比不均衡指標値ＲＩＭＢとして取得するように構成され得る。
【０２７１】
取得した微分値d(abyfs)/dt値に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された微分値d(abyfs)/dtの絶対値の平均値である。取得した微分値d(abyfs)/dtに相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された微分値d(abyfs)/dtの絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
【０２７２】
（Ａ−３）
前記補正前指標値取得手段は、
上流側空燃比センサ５６の出力値Vabyfsの時間についての二階微分値d2(Vabyfs)/dt2を取得するとともに、その取得した二階微分値d2(Vabyfs)/dt2に相関する値を補正前空燃比不均衡指標値ＲＩＭＢとして取得するように構成され得る。二階微分値d2(Vabyfs)/dt2は、気筒別空燃比差が小さい場合には図９の（Ｄ）の破線Ｃ５に示したように相対的に小さい値となり、気筒別空燃比差が大きい場合には図９の（Ｄ）の実線Ｃ６に示したように相対的に大きい値となる。
【０２７３】
なお、二階微分値d2(Vabyfs)/dt2は、現時点の出力値Vabyfsから一定のサンプリング時間前の出力値Vabyfsを減じることにより、一定のサンプリング時間毎の微分値d(Vabyfs)/dtを求め、新たに求められた微分値d(Vabyfs)/dtから一定のサンプリング時間前の微分値d(Vabyfs)/dtを減じることにより求めることができる。
【０２７４】
取得した二階微分値d2(Vabyfs)/dt2値に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された二階微分値d2(Vabyfs)/dt2の絶対値の平均値である。取得した二階微分値d2(Vabyfs)/dt2値に相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された二階微分値d2(Vabyfs)/dt2値の絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
【０２７５】
（Ａ−４）
前記補正前指標値取得手段は、
上流側空燃比センサ５６の出力値Vabyfsにより表される検出空燃比abyfsの時間についての二階微分値d2(abyfs)/dt2を取得するとともに、その取得した二階微分値d2(abyfs)/dt2に相関する値を補正前空燃比不均衡指標値ＲＩＭＢとして取得するように構成され得る。出力値Vabyfsと検出空燃比abyfsとは実質的に比例関係にあるので（図７を参照。）、二階微分値d2(abyfs)/dt2は、出力値Vabyfsの二階微分値d2(abyfs)/dt2と同様の傾向を示す。
【０２７６】
取得した二階微分値d2(abyfs)/dt2値に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された二階微分値d2(abyfs)/dt2の絶対値の平均値である。取得した二階微分値d2(abyfs)/dt2に相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された二階微分値d2(abyfs)/dt2の絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
【０２７７】
（Ａ−５）
前記補正前指標値取得手段は、
上流側空燃比センサ５６の出力値Vabyfsの所定期間（例えば、単位燃焼サイクル期間の自然数倍の期間）における最大値と最小値との差ΔＸに相関する値、又は、上流側空燃比センサ５６の出力値Vabyfsにより表される検出空燃比abyfsの所定期間における最大値と最小値との差ΔＹに相関する値を、補正前空燃比不均衡指標値ＲＩＭＢとして取得するように構成され得る。図９の（Ｂ）に示した実線Ｃ２及び破線Ｃ１から明らかなように、この差ΔＸ（ΔＸの絶対値）は、気筒別空燃比差が大きいほど大きくなる。従って、差ΔＸ（ΔＸの絶対値）は、気筒別空燃比差が大きいほど大きくなる。差ΔＸ（又は差ΔＹ）に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された差ΔＸ（又はΔＹ）の絶対値の平均値である。
【０２７８】
（Ａ−６）
前記補正前指標値取得手段は、
補正前空燃比不均衡指標値ＲＩＭＢとして、上流側空燃比センサ５６の出力値Vabyfsの所定期間おける軌跡長に相関する値、又は、上流側空燃比センサ５６の出力値Vabyfsにより表される検出空燃比abyfsの前記所定期間における軌跡長に相関する値を取得するように構成され得る。これらの軌跡長は、図９の（Ｂ）からも明らかなように、気筒別空燃比差が大きいほど大きくなる。軌跡長に相関する値は、例えば、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された軌跡長の絶対値の平均値である。
【０２７９】
なお、例えば、検出空燃比abyfsの軌跡長は、一定サンプリング時間ｔｓが経過する毎に出力値Vabyfsを取得するとともに、その出力値Vabyfsを検出空燃比abyfsへと変換し、その検出空燃比abyfsと、一定サンプリング時間ｔｓ前に取得した検出空燃比abyfsと、の差の絶対値を積算することによって求めることができる。
【０２８０】
加えて、上記各制御装置は、Ｖ型エンジンにも適用することができる。その場合、Ｖ型エンジンは右バンクに属する２以上の気筒の排気集合部よりも下流に右バンク上流側触媒を備える。更に、そのＶ型エンジンは、左バンクに属する２以上の気筒の排気集合部よりも下流に左バンク上流側触媒を備える。
【０２８１】
加えて、そのＶ型エンジンは、右バンク上流側触媒の上流及び下流に右バンク用の上流側空燃比センサ及び下流側空燃比センサをそれぞれ備え、左バンク上流側触媒の上流及び下流に左バンク用の上流側空燃比センサ及び下流側空燃比センサをそれぞれ備えることができる。各上流側空燃比センサは、上記上流側空燃比センサ５６と同様、各バンクの排気集合部と各バンクの上流側触媒との間に配設される。この場合、右バンク用のメインフィードバック制御及びサブフィードバック制御が実行され、それとは独立して左バンク用のメインフィードバック制御及びサブフィードバック制御が実行される。
【０２８２】
更に、この場合、制御装置は、右バンク用の上流側空燃比センサの出力値に基いて「右バンク用の補正後空燃比不均衡指標値ＲＩＭＢｈ」を求め、それを用いて右バンクに属する気筒に対するメインフィードバック制御の目標空燃比abyfrを修正する。同様に、制御装置は、左バンク用の上流側空燃比センサの出力値に基いて「左バンク用の補正後空燃比不均衡指標値ＲＩＭＢｈ」を求め、それを用いて左バンクに属する気筒に対するメインフィードバック制御の目標空燃比abyfrを修正する。
【０２８３】
加えて、上記第１制御装置は、上述した関数ｆ又は関数ｇとして、下記（２３）式のようなモデル式を用いることにより、補正係数Ｋgnを求めてもよい。（２３）式における値ａ１、ａ２、ａ３及びａ４は定数である。
Ｋgn＝ａ１／ＧａＡｖｅ＋ａ２・ＮＥＡｖｅ＋ａ３・ＲＩＭＢ＋ａ４  …（２３）
【０２８４】
上記第１制御装置は、補正係数Ｋgnを図１７のステップ１７１０に記載したテーブルにより求め、その補正係数Ｋgnと補正前空燃比不均衡指標値ＲＩＭＢとの積を補正後空燃比不均衡指標値ＲＩＭＢｈとして取得しているが、ステップ１７１０に記載したテーブル内のデータを「補正係数Ｋgnと補正前空燃比不均衡指標値ＲＩＭＢとの積」とすることにより、図１７のステップ１７２０を省略してもよい。
【０２８５】
更に、第１制御装置は、上流側空燃比センサ５６として「下流側空燃比センサ５７と同じ起電力式の酸素濃度センサ（安定化ジルコニア等の固体電解質を用いた周知の濃淡電池型の酸素濃度センサ）」を使用することにより、メインフィードバック制御を実行してもよい。
【０２８６】
前述したように、起電力式の酸素濃度センサも多孔質層を備える。従って、起電力式の酸素濃度センサが「排気集合部ＨＫと上流側触媒４３との間」に配設されると、起電力式の酸素濃度センサの出力値（下流側空燃比センサ５７の出力値Voxsと区別するために出力値Voxsupと記載する）は、水素の選択的拡散の影響を受ける。このため、図２３に示したように、上流側触媒４３に流入する排ガスの真の空燃比に対する出力値Voxsupは、気筒別空燃比の不均一性の程度に応じて変化する。
【０２８７】
一般に、起電力式の酸素濃度センサが「メインフィードバック制御のための上流側空燃比センサ」として使用される場合、出力値Voxsupが「目標空燃比である理論空燃比に対応した値Ｖst」に設定された上流側目標値Vrefに一致するように空燃比のフィードバック制御が実行される。従って、気筒別空燃比の不均一性の程度が大きくなるに従ってメインフィードバック制御の結果として得られる排ガスの真の空燃比の平均は、理論空燃比よりもリーン側の空燃比へと移行してしまう。即ち、リーン誤補正が発生する。
【０２８８】
更に、出力値Voxsupは吸入空気量Ｇａ及び／又は機関回転速度ＮＥに応じて変動する。従って、出力値Voxsupの変動が大きくなるほど大きくなる「出力値Voxsupに基く補正前空燃比不均衡指標値ＲＩＭＢ（例えば、微分値d(Voxsup)/dtに相関する値）」は、指標値取得期間における「吸入空気量Ｇａ及び機関回転速度ＮＥ」に依存して変化する。
【０２８９】
そこで、起電力式の酸素濃度センサが「メインフィードバック制御のための上流側空燃比センサ」として使用される場合においても、第１制御装置のように、その出力値Voxsupに基く補正前空燃比不均衡指標値ＲＩＭＢを指標値取得期間における「吸入空気量相関値及び機関回転速度相関値」に基いて補正することによって補正後空燃比不均衡指標値ＲＩＭＢｈを取得し、その補正後空燃比不均衡指標値ＲＩＭＢｈに基いて「上流側目標値Vref」をリッチ側の空燃比に対応した値（値Ｖｓｔよりも大きい値）へと修正することが好ましい。これにより、リーン誤補正の影響を抑制するとともに、過度な燃料の増量を回避することができる。
【０２９０】
更に、上記第１制御装置及び上記第２制御装置において、サブフィードバック量ＫＳＦＢは目標空燃比abyfrを直接的に修正する値であった。これに代え、「サブフィードバック量ＫＳＦＢと同様に算出されるサブフィードバック量Vafsfb」を下記の（２４）式のように上流側空燃比センサ５６の出力値Vabyfsに加えることによりフィードバック制御用出力値Vabyfcを取得してもよい。
Vabyfc＝Vabyfs＋Vafsfb    …（２４）
【０２９１】
そして、下記（２５）式に示したように、そのフィードバック制御用出力値Vabyfcを図７に示したテーブルMapabyfsに適用することによりフィードバック制御用空燃比abyfscを取得し、そのフィードバック制御用空燃比abyfscが「補正後空燃比不均衡指標値ＲＩＭＢｈに基いて修正された目標空燃比abyfr」に一致するように、メインフィードバック量ＤＦｉを求めてもよい。即ち、この形態は、目標空燃比abyfrをサブフィードバック量により直接的に修正するのではなく、上流側空燃比センサ５６の出力値Vabyfsをサブフィードバック量により補正することによって目標空燃比abyfrを実質的に補正する。
abyfsc＝Mapabyfs（Vabyfc）    …（２５）
【０２９２】
更に、上記第１制御装置により算出される吸入空気量相関値ＧａＡｖｅは変化率ΔＡＦと同じタイミングにて取得された吸入空気量Ｇａの平均値に応じた値であってもよい。同様に、上記第１制御装置により算出される機関回転速度相関値ＮＥＡｖｅは変化率ΔＡＦと同じタイミングにて取得された機関回転速度ＮＥの平均値に応じた値であってもよい。また、吸入空気量相関値ＧａＡｖｅは、吸入空気量Ｇａを実質的に表す他のパラメータ（例えば、負荷ＫＬ、排ガスの流量及びスロットル弁開度ＴＡ等）に基いて求められてもよい。
【０２９３】
更に、上記第１制御装置は、補正後空燃比不均衡指標値ＲＩＭＢｈに基づいて気筒別空燃比の不均一性の程度が過大になったか否か（空燃比気筒間インバランス状態が発生したか否か）を判定する装置であってもよい。
【符号の説明】
【０２９４】
１０…多気筒内燃機関、２１…燃焼室、３３…燃料噴射弁、４１…エキゾーストマニホールド、４１ａ…枝部、４１ｂ…集合部（排気集合部）、４２…エキゾーストパイプ、４３…三元触媒（上流側触媒）、５６…上流側空燃比センサ、５７…下流側空燃比センサ、７０…電気制御装置。
【図１】
0005522392.tif 000002
【図２】
0005522392.tif 000003
【図３】
0005522392.tif 000004
【図４】
0005522392.tif 000005
【図５】
0005522392.tif 000006
【図６】
0005522392.tif 000007
【図７】
0005522392.tif 000008
【図８】
0005522392.tif 000009
【図９】
0005522392.tif 000010
【図１０】
0005522392.tif 000011
【図１１】
0005522392.tif 000012
【図１２】
0005522392.tif 000013
【図１３】
0005522392.tif 000014
【図１４】
0005522392.tif 000015
【図１５】
0005522392.tif 000016
【図１６】
0005522392.tif 000017
【図１７】
0005522392.tif 000018
【図１８】
0005522392.tif 000019
【図１９】
0005522392.tif 000020
【図２０】
0005522392.tif 000021
【図２１】
0005522392.tif 000022
【図２２】
0005522392.tif 000023
【図２３】
0005522392.tif 000024