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