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