(57)【要約】【課題】最も大きい空燃比ずれを起こしている１つの気筒を特定する。【解決手段】本発明に係る装置は、空燃比センサの出力変動度合いに相関するパラメータに基づいて気筒間空燃比ばらつき異常を検出するように構成された制御装置を備える。制御装置は、１エンジンサイクル中の空燃比センサの出力波形に基づき、空燃比ずれを起こしていると推定される２つの気筒＃１，＃４を特定するステップと、２つの気筒のうちの一方および他方の気筒に対し、それぞれ空燃比ずれを減少するような減少制御を実行し、一方および他方のパラメータを算出するステップと、一方および他方のパラメータに基づき、最も大きい空燃比ずれを起こしている１つの気筒を２つの気筒の中から特定するステップと、を実行するように構成されている。【選択図】図６
2015110942.tif 000002
【特許請求の範囲】
【請求項１】
多気筒内燃機関の複数の気筒に共通の排気通路に設置された空燃比センサと、
前記空燃比センサの出力変動度合いに相関するパラメータを算出し、該算出されたパラメータに基づいて気筒間空燃比ばらつき異常を検出するように構成された制御装置と、を備え、
前記制御装置は、
（Ａ）前記内燃機関の１サイクル中における前記空燃比センサの出力波形に基づき、空燃比ずれを起こしていると推定される２つの気筒を特定するステップと、
（Ｂ）前記２つの気筒のうちの一方の気筒に対し、その空燃比ずれを減少するような減少制御を実行するステップと、
（Ｃ）前記ステップ（Ｂ）の前記減少制御の実行中に、前記一方の気筒に対応した一方の前記パラメータを算出するステップと、
（Ｄ）前記２つの気筒のうちの他方の気筒に対し、その空燃比ずれを減少するような減少制御を実行するステップと、
（Ｅ）前記ステップ（Ｄ）の前記減少制御の実行中に、前記他方の気筒に対応した他方の前記パラメータを算出するステップと、
（Ｆ）前記一方のパラメータと前記他方のパラメータに基づき、最も大きい空燃比ずれを起こしている１つの気筒を、前記２つの気筒の中から特定するステップと、
を実行するように構成されたことを特徴とする気筒間空燃比ばらつき異常検出装置。
【請求項２】
前記制御装置は、前記ステップ（Ｆ）において、前記一方のパラメータと前記他方のパラメータのうち、より正常側の値を有している前記パラメータに対応した気筒を、前記１つの気筒として特定する
ことを特徴とする請求項１に記載の気筒間空燃比ばらつき異常検出装置。
【請求項３】
前記２つの気筒のうちの一方の気筒は、空燃比のリーンずれおよびリッチずれの一方を起こしていると推定される気筒であり、前記２つの気筒のうちの他方の気筒は、空燃比のリーンずれおよびリッチずれの他方を起こしていると推定される気筒である
ことを特徴とする請求項１または２に記載の気筒間空燃比ばらつき異常検出装置。
【請求項４】
前記制御装置は、前記ステップ（Ｆ）において、前記一方のパラメータと前記他方のパラメータのうち、より正常側の値を有している前記パラメータに対応した気筒を、最も大きい空燃比のリーンずれまたはリッチずれを起こしている前記１つの気筒として特定する
ことを特徴とする請求項３に記載の気筒間空燃比ばらつき異常検出装置。
【請求項５】
前記一方の気筒と前記他方の気筒が、前記内燃機関の１／２サイクルだけ燃焼間隔が離れた対向気筒をなす
ことを特徴とする請求項１〜４のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【請求項６】
前記空燃比センサの出力波形は、前記内燃機関の１サイクルに等しい周期を有する周期的波形である
ことを特徴とする請求項１〜５のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【請求項７】
前記制御装置は、前記ステップ（Ａ）において、前記空燃比センサの出力波形のリーン側ピーク位相とリッチ側ピーク位相に基づき、前記２つの気筒を特定する
ことを特徴とする請求項１〜６のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【請求項８】
前記制御装置は、前記ステップ（Ａ）において、前記リーン側ピーク位相の時点で前記空燃比センサに検出されている排ガスの出所気筒を、空燃比のリーンずれを起こしていると推定される気筒として特定し、前記リッチ側ピーク位相の時点で前記空燃比センサに検出されている排ガスの出所気筒を、空燃比のリッチずれを起こしていると推定される気筒として特定する
ことを特徴とする請求項７に記載の気筒間空燃比ばらつき異常検出装置。
【請求項９】
前記制御装置は、ばらつき異常検出を実行するとき、
（Ｇ）前記パラメータを算出するステップと、
（Ｈ）算出された前記パラメータが、所定の一次判定上限値および一次判定下限値の間の値であるか否かを判定するステップと、
（Ｉ）算出された前記パラメータが前記一次判定上限値および前記一次判定下限値の間の値であると判定されたとき、最も大きい空燃比ずれを起こしている１気筒に対し、その空燃比ずれを減少するような減少制御を実行するステップと、
（Ｊ）前記減少制御の実行中に前記パラメータを算出するステップと、
（Ｋ）前記減少制御の実行中に算出された前記パラメータを、所定の二次判定値と比較して、ばらつき異常の有無を判定するステップと、
を実行するように構成され、
前記制御装置は、前記ステップ（Ｉ）において最も大きい空燃比ずれを起こしている１気筒を特定するとき、前記ステップ（Ａ）〜（Ｆ）を実行する
ことを特徴とする請求項１〜８のいずれか一項記載の気筒間空燃比ばらつき異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置に係り、特に、一部の気筒の空燃比が残部気筒の空燃比に対し比較的大きくずれる異常（インバランス異常）を検出するための装置に関する。
【背景技術】
【０００２】
一般に、触媒を利用した排気浄化システムを備える内燃機関では、排気中有害成分の触媒による浄化を高効率で行うため、内燃機関で燃焼される混合気の空気と燃料との混合割合、すなわち空燃比のコントロールが欠かせない。こうした空燃比の制御を行うため、内燃機関の排気通路に空燃比センサを設け、これによって検出された空燃比を所定の目標空燃比に一致させるようフィードバック制御を実施している。
【０００３】
一方、多気筒内燃機関においては、通常全気筒に対し同一の制御量を用いて空燃比制御を行うため、空燃比制御を実行したとしても実際の空燃比が気筒間でばらつくことがある。このときばらつきの程度が小さければ、空燃比フィードバック制御で吸収可能であり、また触媒でも排気中有害成分を浄化処理可能なので、排気エミッションにそれ程影響を与えず、特に問題とならない。
【０００４】
しかし、例えば一部の気筒の燃料噴射系の故障が原因で、気筒間の空燃比が大きくばらつくと、排気エミッションを悪化させてしまい、問題となる。このような排気エミッションを悪化させる程の大きな空燃比ばらつきは異常として検出するのが望ましい。特に自動車用内燃機関の場合、排気エミッションが悪化した車両の走行を未然に防止するため、気筒間空燃比ばらつき異常を車載状態（オンボード）で検出することが要請されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２０１９８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、気筒間空燃比ばらつき異常を検出する場合、空燃比センサの出力変動度合いに相関するパラメータを算出し、この算出されたパラメータに基づいてばらつき異常を検出することが考えられる。
【０００７】
また、ばらつき異常の原因となり得るような、最も大きい空燃比ずれを起こしている１つの気筒を特定できることが望ましい。
【０００８】
この気筒特定に関して、例えば特許文献１には、変動する空燃比センサ出力のリッチ側またはリーン側ピーク位相を検出し、このピーク位相に基づいて、空燃比センサの出力値がずれていると推定される１つの気筒を特定することが開示されている。この気筒の燃料量は補正され、これにより各気筒の空燃比の均一化が図られる。
【０００９】
しかし、空燃比センサ出力のピーク位相に基づくと、ピーク位相にはリッチ側ピーク位相とリーン側ピーク位相の２つがあるため、２つの気筒を特定せざるを得ず、１つの気筒を特定するのが困難である。
【００１０】
そこで本発明は、上記事情に鑑みて創案され、その目的は、最も大きい空燃比ずれを起こしている１つの気筒を特定可能な気筒間空燃比ばらつき異常検出装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の一の態様によれば、
多気筒内燃機関の複数の気筒に共通の排気通路に設置された空燃比センサと、
前記空燃比センサの出力変動度合いに相関するパラメータを算出し、該算出されたパラメータに基づいて気筒間空燃比ばらつき異常を検出するように構成された制御装置と、を備え、
前記制御装置は、
（Ａ）前記内燃機関の１サイクル中における前記空燃比センサの出力波形に基づき、空燃比ずれを起こしていると推定される２つの気筒を特定するステップと、
（Ｂ）前記２つの気筒のうちの一方の気筒に対し、その空燃比ずれを減少するような減少制御を実行するステップと、
（Ｃ）前記ステップ（Ｂ）の前記減少制御の実行中に、前記一方の気筒に対応した一方の前記パラメータを算出するステップと、
（Ｄ）前記２つの気筒のうちの他方の気筒に対し、その空燃比ずれを減少するような減少制御を実行するステップと、
（Ｅ）前記ステップ（Ｄ）の前記減少制御の実行中に、前記他方の気筒に対応した他方の前記パラメータを算出するステップと、
（Ｆ）前記一方のパラメータと前記他方のパラメータに基づき、最も大きい空燃比ずれを起こしている１つの気筒を、前記２つの気筒の中から特定するステップと、
を実行するように構成されたことを特徴とする気筒間空燃比ばらつき異常検出装置が提供される。
【００１２】
好ましくは、前記制御装置は、前記ステップ（Ｆ）において、前記一方のパラメータと前記他方のパラメータのうち、より正常側の値を有している前記パラメータに対応した気筒を、前記１つの気筒として特定する。
【００１３】
好ましくは、前記２つの気筒のうちの一方の気筒は、空燃比のリーンずれおよびリッチずれの一方を起こしていると推定される気筒であり、前記２つの気筒のうちの他方の気筒は、空燃比のリーンずれおよびリッチずれの他方を起こしていると推定される気筒である。
【００１４】
好ましくは、前記制御装置は、前記ステップ（Ｆ）において、前記一方のパラメータと前記他方のパラメータのうち、より正常側の値を有している前記パラメータに対応した気筒を、最も大きい空燃比のリーンずれまたはリッチずれを起こしている前記１つの気筒として特定する。
【００１５】
好ましくは、前記一方の気筒と前記他方の気筒が、前記内燃機関の１／２サイクルだけ燃焼間隔が離れた対向気筒をなす。
【００１６】
好ましくは、前記空燃比センサの出力波形は、前記内燃機関の１サイクルに等しい周期を有する周期的波形である。
【００１７】
好ましくは、前記制御装置は、前記ステップ（Ａ）において、前記空燃比センサの出力波形のリーン側ピーク位相とリッチ側ピーク位相に基づき、前記２つの気筒を特定する。
【００１８】
好ましくは、前記制御装置は、前記ステップ（Ａ）において、前記リーン側ピーク位相の時点で前記空燃比センサに検出されている排ガスの出所気筒を、空燃比のリーンずれを起こしていると推定される気筒として特定し、前記リッチ側ピーク位相の時点で前記空燃比センサに検出されている排ガスの出所気筒を、空燃比のリッチずれを起こしていると推定される気筒として特定する。
【００１９】
好ましくは、前記制御装置は、ばらつき異常検出を実行するとき、
（Ｇ）前記パラメータを算出するステップと、
（Ｈ）算出された前記パラメータが、所定の一次判定上限値および一次判定下限値の間の値であるか否かを判定するステップと、
（Ｉ）算出された前記パラメータが前記一次判定上限値および前記一次判定下限値の間の値であると判定されたとき、最も大きい空燃比ずれを起こしている１気筒に対し、その空燃比ずれを減少するような減少制御を実行するステップと、
（Ｊ）前記減少制御の実行中に前記パラメータを算出するステップと、
（Ｋ）前記減少制御の実行中に算出された前記パラメータを、所定の二次判定値と比較して、ばらつき異常の有無を判定するステップと、
を実行するように構成され、
前記制御装置は、前記ステップ（Ｉ）において最も大きい空燃比ずれを起こしている１気筒を特定するとき、前記ステップ（Ａ）〜（Ｆ）を実行する。
【発明の効果】
【００２０】
本発明によれば、最も大きい空燃比ずれを起こしている１つの気筒を特定することができるという、優れた効果が発揮される。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係る内燃機関の概略図である。
【図２】触媒前センサおよび触媒後センサの出力特性を示すグラフである。
【図３】気筒間空燃比ばらつき度合いに応じた排気空燃比の変動を示すグラフである。
【図４】触媒前センサの出力波形を示すグラフである。
【図５】インバランス率と出力変動パラメータの関係を示すグラフである。
【図６】本実施形態の特定方法の第１の例を示す図である。
【図７】本実施形態の特定方法の第２の例を示す図である。
【図８】Ｖ型６気筒エンジンの構成を示す概略図である。
【図９】Ｖ型６気筒エンジンにおける触媒前センサの出力波形を示すグラフである。
【図１０】本実施形態の特定方法の第３の例を示す図である。
【図１１】本実施形態の特定方法の第４の例を示す図である。
【図１２】本実施形態の特定処理のフローチャートである。
【図１３】インバランス率の要求値について説明するためのグラフである。
【図１４】比較例において、触媒前センサが公差上限品および公差下限品であるときの特性線を示すグラフである。
【図１５】比較例において、検出要求インバランス率Ｂｚが６０（％）の場合を示すグラフである。
【図１６】比較例において、検出要求インバランス率Ｂｚが４０（％）の場合を示すグラフである。
【図１７】図１６の場合の対策を説明するためのグラフである。
【図１８】本実施形態において、一次判定上限値、一次判定下限値および二次判定値の設定方法を説明するためのグラフである。
【図１９】減少制御（強制アクティブ制御）を実行していないときと実行したときとでインバランス率を比較するための表である。
【図２０】ばらつき異常検出処理のフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を添付図面に基づき説明する。
【００２３】
図１は、本実施形態に係る内燃機関の概略図である。図示されるように、内燃機関（エンジン）１は、シリンダブロック２に形成された燃焼室３の内部で燃料および空気の混合気を燃焼させ、燃焼室３内でピストンを往復移動させることにより動力を発生する。本実施形態の内燃機関１は自動車に搭載された多気筒内燃機関であり、より具体的には直列４気筒火花点火式内燃機関（ガソリンエンジン）である。内燃機関１は＃１〜＃４気筒を備える。但し内燃機関１の気筒数、形式等は特に限定されない。
【００２４】
図示しないが、内燃機関１のシリンダヘッドには吸気ポートを開閉する吸気弁と、排気ポートを開閉する排気弁とが気筒毎に配設されており、各吸気弁および各排気弁はカムシャフトによって開閉させられる。シリンダヘッドの頂部には、燃焼室３内の混合気に点火するための点火プラグ７が気筒毎に取り付けられている。
【００２５】
各気筒の吸気ポートは気筒毎の枝管４を介して吸気集合室であるサージタンク８に接続されている。サージタンク８の上流側には吸気管１３が接続されており、吸気管１３の上流端にはエアクリーナ９が設けられている。そして吸気管１３には、上流側から順に、吸入空気量を検出するためのエアフローメータ５（吸入空気量検出装置）と、電子制御式のスロットルバルブ１０とが組み込まれている。吸気ポート、枝管４、サージタンク８及び吸気管１３により吸気通路が形成される。
【００２６】
吸気通路、特に吸気ポート内に燃料を噴射するインジェクタ（燃料噴射弁）１２が気筒毎に配設されている。インジェクタ１２から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁の開弁時に燃焼室３に吸入され、ピストンで圧縮され、点火プラグ７で点火燃焼させられる。なおインジェクタは燃焼室３内に燃料を直接噴射するものであってもよい。
【００２７】
一方、各気筒の排気ポートは排気マニフォールド１４に接続される。排気マニフォールド１４は、その上流部をなす気筒毎の枝管１４ａと、その下流部をなす排気集合部１４ｂとからなる。排気集合部１４ｂの下流側には排気管６が接続されている。排気ポート、排気マニフォールド１４及び排気管６により排気通路が形成される。
【００２８】
また、排気マニフォールド１４の排気集合部１４ｂから下流側の排気通路は、複数の気筒である＃１〜＃４気筒に共通の排気通路を形成する。
【００２９】
排気管６の上流側と下流側にはそれぞれ三元触媒からなる触媒、すなわち上流触媒１１と下流触媒１９が直列に取り付けられている。これら触媒１１，１９は酸素吸蔵能（Ｏ２ストレージ能）を有する。すなわち、触媒１１，１９は、排気ガスの空燃比がストイキ（理論空燃比、例えばＡ／Ｆ＝１４．５）より大きい（リーンな）ときに排気ガス中の過剰酸素を吸蔵し、ＮＯｘを還元する。また触媒１１，１９は、排気ガスの空燃比がストイキより小さい（リッチな）ときに吸蔵酸素を放出し、排気ガス中のＨＣ，ＣＯを酸化する。
【００３０】
上流触媒１１の上流側及び下流側にそれぞれ排気ガスの空燃比を検出するための第１及び第２の空燃比センサ、即ち触媒前センサ１７及び触媒後センサ１８が設置されている。これら触媒前センサ１７及び触媒後センサ１８は、上流触媒１１の直前及び直後の位置に設置され、排気中の酸素濃度に基づいて空燃比を検出する。触媒前センサ１７が本発明にいう「空燃比センサ」に該当する。
【００３１】
上述の点火プラグ７、スロットルバルブ１０及びインジェクタ１２等は、制御装置または制御ユニットとしての電子制御ユニット（以下ＥＣＵと称す）２０に電気的に接続されている。ＥＣＵ２０は、何れも図示されないＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポート、および記憶装置等を含むものである。またＥＣＵ２０には、図示されるように、前述のエアフローメータ５、触媒前センサ１７、触媒後センサ１８のほか、内燃機関１のクランク角を検出するクランク角センサ１６、アクセル開度を検出するアクセル開度センサ１５、その他の各種センサが図示されないＡ／Ｄ変換器等を介して電気的に接続されている。ＥＣＵ２０は、各種センサの検出値等に基づいて、所望のエンジン出力が得られるように、ＲＯＭに格納された各種プログラムに従い、点火プラグ７、スロットルバルブ１０、インジェクタ１２等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。
【００３２】
スロットルバルブ１０にはスロットル開度センサ（図示せず）が設けられ、スロットル開度センサからの信号がＥＣＵ２０に送られる。ＥＣＵ２０は、通常、アクセル開度に応じて定まる目標スロットル開度に、実際のスロットル開度が一致するよう、スロットル開度をフィードバック制御する。
【００３３】
ＥＣＵ２０は、エアフローメータ５からの信号に基づき、単位時間当たりの吸入空気の量である吸入空気量すなわち吸気流量を検出する。そしてＥＣＵ２０は、検出したアクセル開度、スロットル開度および吸入空気量の少なくとも一つに基づき、エンジン１の負荷を検出する。
【００３４】
ＥＣＵ２０は、クランク角センサ１６からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン１の回転数を検出する。ここで「回転数」とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では１分間当たりの回転数ｒｐｍのことをいう。
【００３５】
触媒前センサ１７は所謂広域Ａ／Ｆセンサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図２に触媒前センサ１７の出力特性を示す。図示するように、触媒前センサ１７は、排気空燃比に比例した大きさの電圧信号Ｖｆを出力する。排気空燃比がストイキであるときの出力電圧はＶｒｅｆｆ（例えば約３．３Ｖ）である。
【００３６】
他方、触媒後センサ１８は所謂Ｏ2センサもしくは酸素センサからなり、ストイキを境に出力値が急変するＺ特性を持つ。図２に触媒後センサ１８の出力特性を示す。図示するように、排気空燃比がストイキであるときの出力電圧、すなわちストイキ相当値はＶｒｅｆｒ（例えば０．４５Ｖ）である。触媒後センサ１８の出力電圧は所定の範囲（例えば０〜１Ｖ）内で変化する。排気空燃比がストイキよりリーンのとき、触媒後センサの出力電圧はストイキ相当値Ｖｒｅｆｒより低くなり、排気空燃比がストイキよりリッチのとき、触媒後センサの出力電圧はストイキ相当値Ｖｒｅｆｒより高くなる。
【００３７】
上流触媒１１及び下流触媒１９は、それぞれに流入する排気ガスの空燃比Ａ／Ｆがストイキ近傍のときに排気中の有害成分であるＮＯｘ，ＨＣおよびＣＯを同時に浄化する。この三者を同時に高効率で浄化できる空燃比の幅（ウィンドウ）は比較的狭い。
【００３８】
そこで通常運転時、燃焼室３から排出され上流触媒１１に供給される排気ガスの空燃比がストイキ近傍に制御されるように、空燃比フィードバック制御がＥＣＵ２０により実行される。この空燃比フィードバック制御は、触媒前センサ１７によって検出された排気空燃比を所定の目標空燃比であるストイキに一致させるように混合気の空燃比、具体的には燃料噴射量を制御する空燃比メインフィードバック制御と、触媒後センサ１８によって検出された排気空燃比をストイキに一致させるように混合気の空燃比、具体的には燃料噴射量を制御する空燃比サブフィードバック制御とからなる。
【００３９】
このような目標空燃比をストイキとする空燃比フィードバック制御をストイキ制御という。ストイキは基準空燃比をなす。
【００４０】
さて、例えば全気筒のうちの一部の気筒、特に１気筒に故障が発生し、気筒間に空燃比のばらつき（インバランス：imbalance）が発生する場合がある。例えば、＃１気筒のインジェクタ１２が故障し、＃１気筒の燃料噴射量が残部の＃２〜＃４気筒の燃料噴射量よりも多くなり、＃１気筒の空燃比が＃２〜＃４気筒の空燃比より大きくリッチ側にずれる場合等である。このときでも前述のストイキ制御により比較的大きな補正量を与えれば、触媒前センサ１７に供給されるトータルガスの空燃比、すなわち各気筒の空燃比の平均値をストイキに制御できる場合がある。しかし、気筒別に見ると、＃１気筒がストイキより大きくリッチ、＃２、＃３及び＃４気筒がストイキより若干リーンであり、全体のバランスとしてストイキとなっているに過ぎず、エミッション上好ましくないことは明らかである。そこで本実施形態では、かかる気筒間空燃比ばらつき異常を検出する装置が装備されている。
【００４１】
以下、本実施形態におけるばらつき異常検出の一態様を説明する。
【００４２】
図３に示すように、気筒間空燃比ばらつきが発生すると、排気空燃比の変動が大きくなる。（Ｂ）の空燃比線図ａ，ｂ，ｃはそれぞればらつき無し、１気筒のみ２０％のインバランス率でリッチずれ、及び１気筒のみ５０％のインバランス率でリッチずれの場合の、触媒前センサ１７による検出空燃比すなわち触媒前センサ出力Ａ／Ｆを示す。見られるように、ばらつき度合いが大きくなるほど空燃比変動の振幅が大きくなる。
【００４３】
ここでインバランス率とは、気筒間空燃比のばらつき度合いに相関する一つのパラメータである。即ち、インバランス率とは、全気筒のうちある１気筒のみが残部気筒に対し空燃比ずれを起こしている場合に、その空燃比ずれを起こしている気筒（インバランス気筒）の空燃比がどれくらいの割合で、空燃比ずれを起こしていない気筒（バランス気筒）の空燃比からずれているかを示す値である。本実施形態の場合、インバランス率Ｂは次式（１）で表される。インバランス率Ｂが１から離れるほど、インバランス気筒のバランス気筒に対する空燃比ずれが大きく、空燃比ばらつき度合いは大きい。
【００４４】
【数１】
2015110942.tif 000003
【００４５】
Ａ／Ｆｂはバランス気筒の空燃比、Ａ／Ｆｉｂはインバランス気筒の空燃比である。インバランス率は一般的にはパーセンテージで表示され、この場合、インバランス率Ｂ（％）は次式（１）’で表される。インバランス率Ｂ（％）の絶対値が大きいほど、インバランス気筒のバランス気筒に対する空燃比ずれが大きく、空燃比ばらつき度合いは大きい。以下、特に言及しない限り、パーセンテージ表示のインバランス率を用いる。
【００４６】
【数２】
2015110942.tif 000004
【００４７】
図３から理解されるように、インバランス率Ｂ（％）の絶対値が大きいほど、すなわち空燃比ばらつき度合いが大きいほど、触媒前センサ１７の出力変動が大きくなる。
【００４８】
よってこの特性を利用し、本実施形態では、触媒前センサ１７の出力変動度合いに相関するパラメータである出力変動パラメータＸを算出もしくは検出し、この算出された出力変動パラメータＸに基づいてばらつき異常を検出する。
【００４９】
以下に出力変動パラメータＸの算出方法を説明する。図４には、触媒前センサ出力のクランク角に対する推移を示す。なおクランク角をクランク位相または単に位相ともいう。触媒前センサ出力としては、触媒前センサ１７の出力電圧Ｖｆを空燃比Ａ／Ｆに換算した値を用いる。但し触媒前センサ１７の出力電圧Ｖｆを直接用いることも可能である。
【００５０】
図示するように、触媒前センサ出力Ａ／Ｆは、エンジンの１サイクル（＝７２０°ＣＡ、１エンジンサイクルともいう）を１周期として周期的に変動する。すなわち触媒前センサ１７の出力波形は、エンジンの１サイクルに等しい周期を有する周期的波形である。またストイキ制御の実行中であることから、触媒前センサ１７の出力波形はストイキをほぼ中心として変動する波形である。
【００５１】
図４に示すように、ＥＣＵ２０は、１エンジンサイクル内において、所定のサンプル周期τ毎に、触媒前センサ出力値Ａ／Ｆを取得する。そして今回（ｎ）のタイミングで取得した値Ａ／Ｆｎと、前回（ｎ−１）のタイミングで取得した値Ａ／Ｆｎ−１との差の絶対値（出力差という）ΔＡ／Ｆｎを次式（２）により求める。この出力差ΔＡ／Ｆｎは今回のタイミングにおける微分値あるいは傾きの絶対値と言い換えることができる。
【００５２】
【数３】
2015110942.tif 000005
【００５３】
最も単純には、この出力差ΔＡ／Ｆｎが触媒前センサ出力の変動の大きさを表す。変動度合いが大きくなるほど空燃比線図の傾きが大きくなり、出力差ΔＡ／Ｆｎが大きくなるからである。そこで所定の１タイミングにおける出力差ΔＡ／Ｆｎの値を出力変動パラメータとすることができる。
【００５４】
但し、本実施形態では精度向上のため、複数の出力差ΔＡ／Ｆｎの平均値を出力変動パラメータとする。本実施形態では、Ｍエンジンサイクルの間（Ｍは２以上の整数。例えばＭ＝１００）、出力差ΔＡ／Ｆｎをサンプル周期τ毎に積算し、最終積算値をサンプル数で除して出力変動パラメータＸを求める。触媒前センサ出力の変動度合いが大きくなるほど出力変動パラメータＸは大きくなる。
【００５５】
なお、触媒前センサ出力の変動度合いに相関する如何なる値をも出力変動パラメータとすることができる。例えば、１エンジンサイクル内における触媒前センサ出力のリーン側（最大）ピークとリッチ側（最小）ピークの差（所謂ピークトゥピーク; peak to peak）、または２階微分値の最大ピークまたは最小ピークの絶対値に基づいて、出力変動パラメータを算出することもできる。触媒前センサ出力の変動度合いが大きいほど、触媒前センサ出力のリーン側およびリッチ側ピークの差は大きくなり、また２階微分値の最大ピークまたは最小ピークの絶対値も大きくなるからである。
【００５６】
図５には、インバランス率Ｂ（％）と出力変動パラメータＸの関係を示す。図示されるように、インバランス率ＩＢと出力変動パラメータＸの間には強い相関関係があり、インバランス率Ｂの絶対値が増加するほど出力変動パラメータＸも増加する傾向にある。
【００５７】
算出された出力変動パラメータＸを、所定の判定値αと比較して、ばらつき異常の有無を判定することが可能である。例えば、算出された出力変動パラメータＸが判定値α以上であればばらつき異常あり（異常）、算出された出力変動パラメータＸが判定値αより小さければばらつき異常なし（正常）と判定することができる。なお後に説明するように、判定値αは排気エミッションに関するＯＢＤ（On-Board Diagnosis）規制値を考慮して設定される。
【００５８】
ところで、上記のばらつき異常検出装置において、ばらつき異常の原因となり得るような、全気筒のうちで最も大きい空燃比ずれを起こしている１つの気筒を特定できることが望ましい。例えば、当該１つの気筒の情報をその後の修理等に利用できるし、あるいは、当該１つの気筒に対して何等かの制御を行うことによりエミッション抑制等を図れるからである。この最も大きい空燃比ずれを起こしている１つの気筒を、以下、便宜上「異常気筒」という。
【００５９】
この異常気筒の特定に関して、図４に示したような触媒前センサ出力波形のピークに対応したクランク角（「ピーク位相」という）に基づいて、異常気筒を特定する方法が考えられる。
【００６０】
しかし、ピーク位相に基づく方法だと、ピーク位相にリーン側ピーク位相とリッチ側ピーク位相の２つがあるため、２つの気筒を特定せざるを得ず、１つの異常気筒を特定するのが困難である。
【００６１】
そこで本実施形態では、１つの異常気筒を特定するため、ピーク位相に基づく方法に改良を加えている。以下に本実施形態の特定方法を説明するが、その前にまず、理解容易のため、ピーク位相に基づく比較例の特定方法を説明する。
【００６２】
図４に示すように、エンジンは０°ＣＡから７２０°ＣＡまでの１サイクルを有する。本実施形態の場合、０°ＣＡの時に＃１気筒の圧縮上死点（圧縮ＴＤＣ）、１８０°ＣＡの時に＃３気筒の圧縮上死点、３６０°ＣＡの時に＃４気筒の圧縮上死点、５４０°ＣＡの時に＃２気筒の圧縮上死点となっている。つまり点火順序は＃１，＃３，＃４，＃２気筒の順である。
【００６３】
この場合、０〜１８０°ＣＡの間が＃２気筒の排気行程、１８０〜３６０°ＣＡの間が＃１気筒の排気行程、３６０〜５４０°ＣＡの間が＃３気筒の排気行程、５４０〜７２０°ＣＡの間が＃４気筒の排気行程となる。
【００６４】
燃焼室３から排出された排ガスが触媒前センサ１７に実際に検出されるようになるまでに、輸送遅れや応答遅れ等に起因する時間的な遅れが存在する。この遅れ時間をＴｄとする。図示例では便宜上、Ｔｄ＝３６０°ＣＡとしているが、遅れ時間Ｔｄの長さはエンジン個体やエンジン運転状態等に応じて様々に変化する。
【００６５】
Ｔｄ＝３６０°ＣＡの場合、各クランク角において触媒前センサ１７に検出されている排ガスの出所気筒は図示の通りとなる。例えば０〜１８０°ＣＡのクランク角期間では、出所気筒は＃３であり、＃３気筒から排出された排ガスが触媒前センサ１７によって検出されている。
【００６６】
ところで、図示例の触媒前センサ出力波形において、リーン側ピーク位相θｐＬでの出所気筒は＃２であり、リッチ側ピーク位相θｐＲでの出所気筒は＃３である。リーン側ピーク位相θｐＬとリッチ側ピーク位相θｐＲの間隔は概ね１／２エンジンサイクル（＝３６０°ＣＡ）である。従って比較例の方法では、＃２および＃３気筒の２つの気筒が、空燃比ずれを起こしていると推定される２つの気筒として特定される。以下、これら２つの気筒を便宜上「推定異常気筒」という。特に、＃２気筒が空燃比のリーンずれを起こしているか、または＃３気筒が空燃比のリッチずれを起こしている可能性が高い。よって＃２気筒が、空燃比のリーンずれを起こしていると推定されるリーン推定異常気筒として特定され、＃３気筒が、空燃比のリッチずれを起こしていると推定されるリッチ推定異常気筒として特定される。このように、ここではセンサ出力波形の２つのピークに対応させて２つの気筒が推定異常気筒として特定される。
【００６７】
しかし、この比較例の方法だと次のような問題がある。すなわち、リーン推定異常気筒とリッチ推定異常気筒という、異常気筒の候補となる２つの推定異常気筒が特定されるものの、それ以上の特定、限定もしくは絞り込みは困難である。前述したように、触媒前センサ１７の出力波形はエンジンの１サイクルに等しい周期を有することから、一方のリーン推定異常気筒と他方のリッチ推定異常気筒とは、エンジンの１／２サイクル（＝３６０°ＣＡ）だけ燃焼間隔もしくは圧縮上死点間隔が離れた対向気筒をなす傾向にある。すると、上述したように、リーン推定異常気筒としての＃２気筒（以下、「＃２リーン」などとも称する）と、リッチ推定異常気筒としての＃３気筒（＃３リッチ）との区別が行えず、これらのうちいずれが異常気筒であるかを特定することが困難である。このほか、特定困難な推定異常気筒の組み合わせとして、＃１リッチと＃４リーンの組み合わせ、＃２リッチと＃３リーンの組み合わせ、および＃１リーンと＃４リッチの組み合わせがある。これら４パターンのうちいずれか１パターンまでは特定することができるが、その１パターンの中からいずれかの気筒を特定するのは困難である。
【００６８】
そこで、本実施形態の特定方法においては、４パターンの中から１パターンを特定した後、この１パターンの中にある２つの推定異常気筒に対しそれぞれ空燃比ずれを減少するような減少制御（以下、便宜上「強制アクティブ制御」という）を実行し、２つの出力変動パラメータＸを算出する。そしてこの２つの出力変動パラメータＸに基づき、１つの異常気筒を、２つの推定異常気筒の中から特定する。
【００６９】
以下に、本実施形態の特定方法を概略的に説明する。当該特定方法はＥＣＵ２０によって実施される。図６は第１の例を示し、特に、比較例の方法により＃１リッチと＃４リーンの組み合わせが既に特定された場合の例を示す。図６（Ａ）に示すように、実際には、＃１気筒が最大のリッチずれを起こしている異常気筒であり、＃４気筒は異常気筒ではない。しかしながら比較例の方法だと、＃１気筒に加え、＃４気筒も異常気筒の候補として挙げられてしまう。
【００７０】
図６（Ａ）は強制アクティブ制御前の状態、すなわちストイキ制御が実行されている成り行き状態を示している。＃１気筒の異常に起因して、＃１気筒が比較的大きい３０％のインバランス率（厳密にはその絶対値）のリッチずれを起こしている。他の＃３，＃４，＃２気筒は見掛け上、１０％のインバランス率でリーンずれを起こしているが、これは異常によるものではなくストイキ制御の結果による。すなわちトータルガスの空燃比をストイキにするようストイキ制御が働いた結果、＃１気筒の３０％のインバランス率のリッチずれを補償するよう、＃３，＃４，＃２気筒の空燃比が１０％のインバランス率でリーン側にずらされている。
【００７１】
この図６（Ａ）の状態から、＃１気筒のリッチずれを減少するような強制アクティブ制御が実行される。具体的には、＃１気筒の燃料噴射量が４％のインバランス率相当だけ、強制的もしくはアクティブに減量される。すると各気筒の空燃比は図６（Ｂ）に示すような状態に変化させられる。強制アクティブ制御の実行中にもストイキ制御が実行されるので、＃１気筒は２７％のインバランス率でリッチずれ、＃３，＃４，＃２気筒は９％のインバランス率でリーンずれとなる。
【００７２】
この図６（Ｂ）に示す強制アクティブ制御実行中の状態で、出力変動パラメータＸが算出される。算出方法は前記同様である。こうして、＃１気筒に対応した一方の出力変動パラメータＸ（１）が算出される。この算出終了後、強制アクティブ制御が終了される。
【００７３】
一方、図６（Ｃ）に示す各気筒の空燃比の状態は、図６（Ａ）に示す各気筒の空燃比の状態と同じである。この図６（Ｃ）の状態から、今度は＃４気筒のリーンずれを減少するような強制アクティブ制御が実行される。具体的には、＃４気筒の燃料噴射量が、４％のインバランス率相当だけ、強制的もしくはアクティブに増量される。このように増量されれる燃料噴射量は減量される燃料噴射量と等しいのが好ましい。
【００７４】
すると各気筒の空燃比は図６（Ｄ）に示すような状態に変化させられる。強制アクティブ制御の実行中にもストイキ制御が実行されるので、＃１気筒は２９％のインバランス率でリッチずれ、＃３，＃２気筒は１１％のインバランス率でリーンずれ、＃４気筒は７％のインバランス率でリーンずれとなる。
【００７５】
この図６（Ｄ）の状態でも出力変動パラメータＸが算出される。こうして＃４気筒に対応した他方の出力変動パラメータＸ（４）が算出される。この算出終了後、強制アクティブ制御が終了される。
【００７６】
次に、一方の出力変動パラメータＸ（１）と他方の出力変動パラメータＸ（４）に基づき異常気筒が特定される。具体的には、一方の出力変動パラメータＸ（１）と他方の出力変動パラメータＸ（４）のうち、より正常側の値すなわち小さい値を有している出力変動パラメータに対応した気筒が、リーンずれまたはリッチずれを起こしている異常気筒として特定される。
【００７７】
図６（Ｂ）と図６（Ｄ）を比較すると、図６（Ｂ）の方が図６（Ｄ）よりも小さい出力変動パラメータＸの値が算出される。その理由は、（１）全気筒中のインバランス率の最大値（図６（Ｂ）では２７％、図６（Ｄ）では２９％）が、図６（Ｄ）よりも図６（Ｂ）の方が小さい、（２）全気筒のインバランス率の合計値（図６（Ｂ）では５４％、図６（Ｄ）では５８％）が、図６（Ｄ）よりも図６（Ｂ）の方が小さい、（３）全気筒中のインバランス率のリッチ側最大値（図６（Ｂ）では２７％、図６（Ｄ）では２９％）とリーン側最大値（図６（Ｂ）では９％、図６（Ｄ）では１１％）との和（図６（Ｂ）では３６％、図６（Ｄ）では４０％）が、図６（Ｄ）よりも図６（Ｂ）の方が小さい、の少なくとも一つが該当するからである。
【００７８】
従ってこの例ではＸ（１）＜Ｘ（４）であり、Ｘ（１）に対応した＃１気筒が、リッチずれを起こしている異常気筒として特定される。
【００７９】
このように、２つの推定異常気筒に対しそれぞれ強制アクティブ制御を実行した結果、より小さい出力変動パラメータＸが得られた方の推定異常気筒が、異常気筒として特定される。なお、他方の推定異常気筒は異常気筒でないことが間接的に特定されることとなる。これにより、２つの推定異常気筒の中からさらに絞り込みをかけて１つの異常気筒を特定することが可能となる。また異常気筒の空燃比ずれの種類（リーンずれもしくはリッチずれ）も併せて特定することが可能となる。
【００８０】
ここで、強制アクティブ制御の実行中における燃料噴射量の制御方法を補足的に説明する。
【００８１】
前述したように、インバランス率Ｂ（％）は次式（１）’で表される。
【００８２】
【数４】
2015110942.tif 000006
【００８３】
この場合、バランス気筒の空燃比Ａ／Ｆｂに対し、インバランス気筒の空燃比Ａ／Ｆｉｂがリーン側にずれているときにはインバランス率Ｂ（％）はマイナスとなり、インバランス気筒の空燃比Ａ／Ｆｉｂがリッチ側にずれているときにはインバランス率Ｂ（％）はプラスとなる。
【００８４】
仮にある１気筒について、燃料噴射量を４％のインバランス率相当だけ強制的に減量することにより、空燃比ずれを起こしていない状態（バランス気筒状態）から、空燃比ずれを起こしている状態（インバランス気筒状態）に変化させた場合、次式が成立する。
【００８５】
【数５】
2015110942.tif 000007
右辺の１４．５はストイキを表し、ｘはインバランス気筒状態における空燃比を表す。これを解くと次の通りとなる。
【００８６】
【数６】
2015110942.tif 000008
減量前の燃料噴射量をＱ、減量後の燃料噴射量をＱ’とした場合、次式が成立する。
【００８７】
【数７】
2015110942.tif 000009
左辺の１４．５Ｑは、減量後の吸入空気量を表す。これは減量前の吸入空気量と同じである。これを解くと次の通りとなる。
【００８８】
【数８】
2015110942.tif 000010
つまり、減量前の燃料噴射量Ｑをその４％だけ減少すれば、減量後の燃料噴射量Ｑ’が得られる。すなわち、燃料噴射量を４％のインバランス率相当だけ減量することは、減量前の燃料噴射量Ｑをその４％だけ減量することに相当する。
【００８９】
ここで、減量前の通常状態、すなわちストイキ制御中における燃料噴射量Ｑは次式で表される。
【００９０】
【数９】
2015110942.tif 000011
Ｑｂはエンジン運転状態（特に回転数と負荷）に基づいて定まる基本噴射量、Ｋ１は空燃比メインフィードバック制御によるメインフィードバック補正係数、Ｋ２は空燃比サブフィードバック制御によるサブフィードバック補正量である。
【００９１】
一方、強制アクティブ制御による補正係数をＫ３＝０．９６とすると、減量後の燃料噴射量Ｑ’は次式で表される。
【００９２】
【数１０】
2015110942.tif 000012
よって強制アクティブ制御の実行中、ＥＣＵ２０は、この式に基づいて燃料噴射量Ｑ’を算出し、算出した燃料噴射量Ｑ’に対応した噴射指示信号をインジェクタ１２に送出する。
【００９３】
なお、ここでは４％という値を用いたが、４％はあくまで例示であり、任意の値を用いることが可能である。後述する類似の例においても、また燃料噴射量を強制的に増量する場合にも、同様の方法で燃料噴射量を制御することが可能である。
【００９４】
図７は第２の例を示し、第１の例と同様、比較例の方法により＃１リッチと＃４リーンの組み合わせが既に特定された場合の例を示す。図７（Ａ）に示すように、＃１気筒が実際に最大のリッチずれを起こしている異常気筒である。しかしリッチずれの大きさはインバランス率で４．５％であり、第１の例（３０％）より少ない。
【００９５】
このように異常気筒における空燃比ずれには、第１の例のような比較的重度の空燃比ずれの他、第２の例のような比較的軽度の空燃比ずれも含まれる。比較的重度の空燃比ずれが起きている場合には、ばらつき異常検出においてばらつき異常ありと判定するのが望ましい。一方、比較的軽度の空燃比ずれしか起きていない場合には、ＯＢＤ規制値との関係で、必ずしもばらつき異常ありと判定する必要はない場合がある。この場合、本実施形態の特定方法で特定される異常気筒は必ずしも異常でないが、「異常気筒」という用語がここで便宜上用いられている用語である点に留意されたい。
【００９６】
図７（Ａ）に示す強制アクティブ制御前の状態において、＃１気筒は比較的小さい４．５％のインバランス率のリッチずれを起こしている。他の＃３，＃４，＃２気筒は見掛け上、１．５％のインバランス率でリーンずれを起こしているが、これは前述したようにストイキ制御の結果による。
【００９７】
この図７（Ａ）の状態から、＃１気筒のリッチずれを減少するような強制アクティブ制御が実行される。具体的には、＃１気筒の燃料噴射量が３％のインバランス率相当だけ、強制的もしくはアクティブに減量される。すると各気筒の空燃比は図７（Ｂ）に示すような状態に変化させられる。強制アクティブ制御の実行中にもストイキ制御が実行されるので、＃１気筒は２．２５％のインバランス率でリッチずれ、＃３，＃４，＃２気筒の空燃比は０．７５％のインバランス率でリーンずれとなる。
【００９８】
この図７（Ｂ）に示す強制アクティブ制御実行中の状態で、出力変動パラメータＸが算出される。こうして、＃１気筒に対応した一方の出力変動パラメータＸ（１）が算出される。この算出終了後、強制アクティブ制御が終了される。
【００９９】
一方、図７（Ｃ）に示す各気筒の空燃比の状態は、図７（Ａ）に示す各気筒の空燃比の状態と同じである。この図７（Ｃ）の状態から、今度は＃４気筒のリーンずれを減少するような強制アクティブ制御が実行される。具体的には、＃４気筒の燃料噴射量が、３％のインバランス率相当だけ、強制的もしくはアクティブに増量される。すると各気筒の空燃比は図７（Ｄ）に示すような状態に変化させられる。強制アクティブ制御の実行中にもストイキ制御が実行されるので、＃１気筒は３．７５％のインバランス率でリッチずれ、＃３，＃２気筒の空燃比は２．２５％のインバランス率でリーンずれ、＃４気筒の空燃比は０．７５％のインバランス率でリーンずれとなる。
【０１００】
この図７（Ｄ）の状態でも出力変動パラメータＸが算出され、＃４気筒に対応した他方の出力変動パラメータＸ（４）が算出される。この算出終了後、強制アクティブ制御が終了される。
【０１０１】
次に、一方の出力変動パラメータＸ（１）と他方の出力変動パラメータＸ（４）が比較され、より小さい値を有している出力変動パラメータに対応した気筒が、リーンずれまたはリッチずれを起こしている異常気筒として特定される。
【０１０２】
図７（Ｂ）と図７（Ｄ）を比較すると、図７（Ｂ）の方が図７（Ｄ）よりも小さい出力変動パラメータＸの値が算出される。従ってこの例ではＸ（１）＜Ｘ（４）であり、Ｘ（１）に対応した＃１気筒が、リッチずれを起こしている異常気筒として特定される。
【０１０３】
次に、第３の例を説明する。この第３の例は本実施形態の特定方法をＶ型６気筒エンジンに適用した例である。エンジンの構成は図８に示す通りである。エンジン１は第１バンク（例えば右バンク）Ｂ１と第２バンク（例えば左バンク）Ｂ２を有し、第１バンクＢ１には＃１，＃３，＃５気筒が設けられ、第２バンクＢ２には＃２，＃４，＃６気筒が設けられている。各バンク毎に排気マニフォールド１４、排気管６、上流触媒１１、触媒前センサ１７および触媒後センサ１８が設けられ、各バンクの排気管６は図外の下流側で集合され、この集合位置の下流側に各バンクに共通の下流触媒１９が設けられている。図示省略するが、その他の構成は図１に示した直列４気筒エンジンと同じであり、詳細な説明は割愛する。このＶ６エンジン１では、第１バンクＢ１側において、＃１，＃３，＃５の３つの気筒に共通の排気通路に空燃比センサすなわち触媒前センサ１７が設置され、同様に、第２バンクＢ２側において、＃２，＃４，＃６の３つの気筒に共通の排気通路に空燃比センサすなわち触媒前センサ１７が設置されている。
【０１０４】
このエンジンでは、各バンク毎に独立して、前述の空燃比制御、ばらつき異常検出および異常気筒特定処理が行われる。すなわち、各バンク毎に、前述の４気筒エンジンと同様の制御や処理が行われる。従って、例えば第１バンクＢ１側について言えば、＃１，＃３，＃５の３つの気筒があたかも１つの３気筒エンジンを構成するように扱われ、この３気筒エンジンに対し、前述の４気筒エンジンと同様の制御や処理が行われる。第２バンクＢ２側についても同様である。
【０１０５】
この場合、例えば第１バンクＢ１側について、点火順序は＃１，＃３，＃５気筒の順であり、＃１，＃３，＃５気筒の燃焼間隔もしくは圧縮上死点間隔は２４０°ＣＡである。よってこれら＃１，＃３，＃５気筒は、どのような組み合わせにおいても対向気筒を構成しない。
【０１０６】
また、触媒前センサ１７の出力波形は図９に示す通りである。出力波形は前記同様、１エンジンサイクルに等しい周期を有する周期的波形であるが、そのリーン側ピーク位相とリッチ側ピーク位相の間隔は概ね３６０°ＣＡではなく、概ね２４０°ＣＡまたは４８０°ＣＡである。つまり出力波形はあるクランク角を境に対称とならない。図示するように、下記の６パターンの出力波形のうちいずれか１つが出現し得る。
（１）＃１出所気筒の位相区間にリッチ側ピーク位相θｐＲ１が存在し、＃３出所気筒の位相区間にリーン側ピーク位相θｐＬ３が存在する波形ａ（＃１リッチと＃３リーンのパターン）。
（２）＃１出所気筒の位相区間にリッチ側ピーク位相θｐＲ１が存在し、＃５出所気筒の位相区間にリーン側ピーク位相θｐＬ５が存在する波形ｂ（＃１リッチと＃５リーンのパターン）。
（３）＃３出所気筒の位相区間にリッチ側ピーク位相θｐＲ３が存在し、＃１出所気筒の位相区間にリーン側ピーク位相θｐＬ１が存在する波形ｃ（＃３リッチと＃１リーンのパターン）。
（４）＃３出所気筒の位相区間にリッチ側ピーク位相θｐＲ３が存在し、＃５出所気筒の位相区間にリーン側ピーク位相θｐＬ５が存在する波形ｄ（＃３リッチと＃５リーンのパターン）。
（５）＃５出所気筒の位相区間にリッチ側ピーク位相θｐＲ５が存在し、＃１出所気筒の位相区間にリーン側ピーク位相θｐＬ１が存在する波形ｅ（＃５リッチと＃１リーンのパターン）。
（６）＃５出所気筒の位相区間にリッチ側ピーク位相θｐＲ５が存在し、＃３出所気筒の位相区間にリーン側ピーク位相θｐＬ３が存在する波形ｆ（＃５リッチと＃３リーンのパターン）。
【０１０７】
この場合、比較例の方法により２つの推定異常気筒を特定することが可能である。以下、波形ａに起因して、リッチ推定異常気筒として＃１気筒（＃１リッチ）が特定され、リーン推定異常気筒として＃３気筒（＃３リーン）が特定された場合を例にとって説明する。
【０１０８】
図１０は、実際に、＃１気筒が重度かつ最大のリッチずれを起こしている異常気筒である例を示す。図１０（Ａ）に示すように、強制アクティブ制御前、＃１気筒の異常に起因して、＃１気筒が比較的大きい２０％のインバランス率のリッチずれを起こしている。他の＃３，＃５気筒は見掛け上、１０％のインバランス率でリーンずれを起こしているが、これは異常によるものではなくストイキ制御の結果による。
【０１０９】
この図１０（Ａ）の状態から、＃１気筒のリッチずれを減少するような強制アクティブ制御が実行される。具体的には、＃１気筒の燃料噴射量が３％のインバランス率相当だけ、強制的もしくはアクティブに減量される。すると各気筒の空燃比は図１０（Ｂ）に示すような状態に変化させられる。強制アクティブ制御の実行中にもストイキ制御が実行されるので、＃１気筒は１８％のインバランス率でリッチずれ、＃３，＃５気筒は９％のインバランス率でリーンずれとなる。
【０１１０】
この図１０（Ｂ）に示す強制アクティブ制御実行中の状態で、出力変動パラメータＸが算出される。こうして、＃１気筒に対応した一方の出力変動パラメータＸ（１）が算出される。この算出終了後、強制アクティブ制御が終了される。
【０１１１】
一方、図１０（Ｃ）に示す各気筒の空燃比の状態は、図１０（Ａ）に示す各気筒の空燃比の状態と同じである。この図１０（Ｃ）の状態から、今度は＃３気筒のリーンずれを減少するような強制アクティブ制御が実行される。具体的には、＃３気筒の燃料噴射量が、３％のインバランス率相当だけ、強制的もしくはアクティブに増量される。すると各気筒の空燃比は図１０（Ｄ）に示すような状態に変化させられる。強制アクティブ制御の実行中にもストイキ制御が実行されるので、＃１気筒は１９％のインバランス率でリッチずれ、＃３気筒は８％のインバランス率でリーンずれ、＃５気筒は１１％のインバランス率でリーンずれとなる。
【０１１２】
この図１０（Ｄ）の状態でも出力変動パラメータＸが算出される。こうして＃３気筒に対応した他方の出力変動パラメータＸ（３）が算出される。この算出終了後、強制アクティブ制御が終了される。
【０１１３】
次に、一方の出力変動パラメータＸ（１）と他方の出力変動パラメータＸ（３）に基づき異常気筒が特定される。具体的には、一方の出力変動パラメータＸ（１）と他方の出力変動パラメータＸ（３）のうち、より小さい値を有している出力変動パラメータに対応した気筒が、リーンずれまたはリッチずれを起こしている異常気筒として特定される。
【０１１４】
図１０（Ｂ）と図１０（Ｄ）を比較すると、図１０（Ｂ）の方が図１０（Ｄ）よりも小さい出力変動パラメータＸの値が算出される。従ってこの例ではＸ（１）＜Ｘ（３）であり、Ｘ（１）に対応した＃１気筒が、リッチずれを起こしている異常気筒として特定される。
【０１１５】
次に第４の例を説明する。この第４の例は第３の例と同様、Ｖ型６気筒エンジンへの適用例であるが、図１１（Ａ）に示すように、＃１気筒が重度ではなく軽度のリッチずれを起こしている異常気筒である点で、第３の例と相違する。以下、第３の例と同様、＃１リッチと＃３リーンが既に特定済みであるとして説明を進める。
【０１１６】
図１１（Ａ）に示すように、強制アクティブ制御前、＃１気筒の異常に起因して、＃１気筒が比較的小さい４％のインバランス率のリッチずれを起こしている。他の＃３，＃５気筒は見掛け上、２％のインバランス率でリーンずれを起こしているが、これは異常によるものではなくストイキ制御の結果による。
【０１１７】
この図１１（Ａ）の状態から、＃１気筒のリッチずれを減少するような強制アクティブ制御が実行される。具体的には、＃１気筒の燃料噴射量が３％のインバランス率相当だけ、強制的もしくはアクティブに減量される。すると各気筒の空燃比は図１１（Ｂ）に示すような状態に変化させられる。強制アクティブ制御の実行中にもストイキ制御が実行されるので、＃１気筒は２％のインバランス率でリッチずれ、＃３，＃５気筒は１％のインバランス率でリーンずれとなる。
【０１１８】
この図１１（Ｂ）に示す強制アクティブ制御実行中の状態で、出力変動パラメータＸが算出される。こうして、＃１気筒に対応した一方の出力変動パラメータＸ（１）が算出される。この算出終了後、強制アクティブ制御が終了される。
【０１１９】
一方、図１１（Ｃ）に示す各気筒の空燃比の状態は、図１１（Ａ）に示す各気筒の空燃比の状態と同じである。この図１１（Ｃ）の状態から、今度は＃３気筒のリーンずれを減少するような強制アクティブ制御が実行される。具体的には、＃３気筒の燃料噴射量が、３％のインバランス率相当だけ、強制的もしくはアクティブに増量される。すると各気筒の空燃比は図１１（Ｄ）に示すような状態に変化させられる。強制アクティブ制御の実行中にもストイキ制御が実行されるので、＃１気筒は３％のインバランス率でリッチずれ、＃３気筒は空燃比ずれなし（０％のインバランス率）、＃５気筒は３％のインバランス率でリーンずれとなる。
【０１２０】
この図１１（Ｄ）の状態でも出力変動パラメータＸが算出される。こうして＃３気筒に対応した他方の出力変動パラメータＸ（３）が算出される。この算出終了後、強制アクティブ制御が終了される。
【０１２１】
次に、一方の出力変動パラメータＸ（１）と他方の出力変動パラメータＸ（３）が比較され、より小さい値を有している出力変動パラメータに対応した気筒が、リーンずれまたはリッチずれを起こしている異常気筒として特定される。
【０１２２】
図１１（Ｂ）と図１１（Ｄ）を比較すると、図１１（Ｂ）の方が図１１（Ｄ）よりも小さい出力変動パラメータＸの値が算出される。従ってこの例ではＸ（１）＜Ｘ（３）であり、Ｘ（１）に対応した＃１気筒が、リッチずれを起こしている異常気筒として特定される。
【０１２３】
以上、本実施形態の特定方法に関する幾つかの例を説明した。しかしながら本実施形態の特定方法は上記の例に限らず、例えば他の気筒数、形式、種類等のエンジンにも適用可能である。引き続き、図１に示した直列４気筒エンジンを例に挙げて本実施形態の説明を進める。
【０１２４】
以下、本実施形態のより具体的な異常気筒特定処理を説明する。当該特定処理はＥＣＵ２０により、図１２のフローチャートに表されるようなアルゴリズムに従って実行される。なお当該特定処理は、後述するばらつき異常検出処理の前提条件（図２０のステップＳ２０１）が成立している場合に限って実行されるのが好ましい。理解容易のため、図４も適宜参照されたい。
【０１２５】
まずステップＳ１０１において、図４に示したような１エンジンサイクル中の触媒前センサ１７の出力波形（センサ出力波形という）に基づき、２つの推定異常気筒＃ｉ，＃ｊが特定される（ｉ，ｊ＝１，２，３，４、ｉ≠ｊ）。
【０１２６】
具体的には、ＥＣＵ２０は、図４に示すようなクランク角と出所気筒の関係、すなわちあるクランク角の時に触媒前センサ１７に検出されている排ガスがどの気筒に由来するものであるかを、常時演算している。この際、エンジン運転状態（例えば回転数と負荷）に基づいて遅れ時間Ｔｄを算出し、この遅れ時間Ｔｄに基づいてあるクランク角の時点での出所気筒を決定してもよい。例えば現時点より遅れ時間Ｔｄだけ前の時点で排気行程にある気筒を出所気筒と決定してもよい。あるいは代替的に、４つの出所気筒にそれぞれ対応する１エンジンサイクル内の４つの位相区間を、エンジン運転状態に基づいて、エンジンサイクル毎に定めてもよい。例えば図４に示されるような、＃３出所気筒に対応する０〜１８０°ＣＡの位相区間は、そのような４つの位相区間のうちの一つである。この場合、あるクランク角の時点がどの位相区間に属するかによって出所気筒を決定することができる。
【０１２７】
そしてＥＣＵ２０は、センサ出力波形からリーン側ピーク位相θｐＬとリッチ側ピーク位相θｐＲを求め、リーン側ピーク位相θｐＬに対応した出所気筒をリーン推定異常気筒＃ｉとして特定し、リッチ側ピーク位相θｐＲに対応した出所気筒をリッチ推定異常気筒＃ｊとして特定する。
【０１２８】
次に、ステップＳ１０２において、一方の推定異常気筒であるリーン推定異常気筒＃ｉに対し、その空燃比ずれを減少するような強制アクティブ制御が実行される。このとき、リーン推定異常気筒＃ｉの燃料噴射量が所定量増量される。
【０１２９】
次に、ステップＳ１０３において、出力変動パラメータＸ（ｉ）が算出される。すなわち、ステップＳ１０２の強制アクティブ制御の実行中に出力変動パラメータＸ（ｉ）が算出される。このときＥＣＵ２０は、Ｍエンジンサイクルの間（例えばＭ＝１００）、前述の出力差ΔＡ／Ｆｎをサンプル周期τ毎に積算し、最終積算値をサンプル数で除して出力変動パラメータＸ（ｉ）を算出する。
【０１３０】
こうして出力変動パラメータＸ（ｉ）が算出されたならば、＃ｉ気筒に対する強制アクティブ制御が終了され、今度はステップＳ１０４において、他方の推定異常気筒であるリッチ推定異常気筒＃ｊに対し、その空燃比ずれを減少するような強制アクティブ制御が実行される。つまり強制アクティブ制御の対象気筒が変更される。このとき、リッチ推定異常気筒＃ｊの燃料噴射量が所定量減量される。
【０１３１】
次に、ステップＳ１０５において、ステップＳ１０３と同様、出力変動パラメータＸ（ｊ）が算出される。
【０１３２】
出力変動パラメータＸ（ｊ）が算出されたら、＃ｊ気筒に対する強制アクティブ制御が終了され、次にステップＳ１０６において、出力変動パラメータＸ（ｉ）およびＸ（ｊ）に基づき異常気筒が特定される。
【０１３３】
具体的には、ＥＣＵ２０は、出力変動パラメータＸ（ｉ）およびＸ（ｊ）を比較し、より小さい値を有する一方を選択すると共に、その選択した出力変動パラメータに対応した推定異常気筒を、異常気筒として最終的に特定する。このとき同時に、異常気筒の空燃比ずれの種類（リーンずれまたはリッチずれ）も同時に特定する。例えばリーン推定異常気筒＃ｉを異常気筒として特定した場合、空燃比ずれの種類をリーンずれとして特定する。これら異常気筒に関する情報はＥＣＵ２０のメモリ（ＲＡＭ等）に保存され、後の修理等に利用される。
【０１３４】
以上で異常気筒特定処理が終了される。上記の例ではリーン推定異常気筒＃ｉ、リッチ推定異常気筒＃ｊの順で出力変動パラメータＸが算出されたが、この順番は逆でもよい。
【０１３５】
本実施形態の異常気筒特定処理および方法は、ばらつき異常検出において様々な用途、段階および方法で使用もしくは適用されることができる。最も一般的には、前述したように、出力変動パラメータＸと判定値αとの比較によりばらつき異常が検出されたとき（ばらつき異常ありと判定されたとき）、ばらつき異常の原因となっている異常気筒を特定するために使用される。この他、下記のような好適な適用例がある。以下、この好適な適用例について説明する。
【０１３６】
一般に、エンジンに実際に設置されている空燃比センサの出力特性（ゲイン、応答性等）は、その製造ばらつき等に起因して、公差上限品と公差下限品との間でばらつく。よって、同一の空燃比ばらつき度合い、すなわちインバランス率Ｂに対応する出力変動パラメータＸの算出値も、触媒前センサ１７に応じてばらつく。
【０１３７】
一方、異常と検出しなければならないインバランス率Ｂの要求値が法規上定められている場合があり、この場合、当該要求値を考慮して前記判定値αが定められる。
【０１３８】
ところが、触媒前センサ１７のばらつきに起因して、必ずしも全ての触媒前センサ１７で前記要求値を満足できる訳ではないことが判明した。すなわち、公差上限品では、出力変動パラメータＸが要求値相当未満のときに異常と検出できるものの、公差下限品では出力変動パラメータＸが要求値相当を超えないと異常と検出できないことがあることが判明した。以下、この点についてより具体的に説明する。
【０１３９】
図１３は、インバランス率Ｂの要求値について説明するためのグラフである。横軸はインバランス率Ｂ（％）を示し、縦軸は特定のエミッション成分、ここではＮＯｘの排出量Ｍを示す。Ｍ１はＮＯｘ排出量に関して法規上定められたエミッション規制値であり、Ｍ２は法規上定められたＯＢＤ規制値である。ＯＢＤ規制値Ｍ２は例えばエミッション規制値Ｍ１の１．５倍に定められる。
【０１４０】
図示するように、インバランス率Ｂ（％）が０に対し増加するほど、すなわちリッチ側の空燃比ずれ（リッチ側インバランス）を起こしている１気筒の空燃比ずれ量が増加するほど、ＮＯｘ排出量Ｍは増加する。そしてＯＢＤ規制値Ｍ２に対応するインバランス率Ｂｚ（％）が前記要求値である。この要求値を検出要求インバランス率と称する。
【０１４１】
実際のインバランス率Ｂ（％）が検出要求インバランス率Ｂｚ（％）を超えているときには、必ず異常と検出しなければならない。そうしなければＮＯｘ排出量ＭがＯＢＤ規制値Ｍ２を超えてしまうからである。言い換えれば、検出要求インバランス率Ｂｚ（％）は、異常と検出しなければならないインバランス率Ｂ（％）の下限値を意味する。
【０１４２】
検出要求インバランス率Ｂｚ（％）の値は、車種やエンジン１によって異なるが、例えば４０〜６０（％）の範囲内の値をとる。
【０１４３】
図１４は、触媒前センサ１７が公差上限品および公差下限品であるときの、インバランス率Ｂ（％）と出力変動パラメータＸの間の関係を表す特性もしくは特性線をそれぞれ示す。図中、ＬＸＨは公差上限品であるときの特性もしくは特性線、ＬＸＬは公差下限品であるときの特性もしくは特性線を示す。周知のように、公差上限品とは公差範囲内で応答が最も早いものをいい、公差下限品とは公差範囲内で応答が最も遅いものをいう。なお本実施形態は、実際にエンジン１に設置されている触媒前センサ１７は公差範囲内の正常なセンサであることを前提とする。
【０１４４】
図１４に示すように、インバランス率Ｂ（％）と出力変動パラメータＸとの間には線形且つ一次比例的な関係もしくは特性が存在する。但しこの関係は触媒前センサ１７の出力特性（以下、単にセンサ出力特性ともいう）に応じて変化し、例えば公差上限品の特性線ＬＸＨの傾きは公差下限品の特性線ＬＸＬの傾きより大きくなる。実際に設置されているセンサに応じて、特性線の傾きがＬＸＨとＬＸＬとの間で変化することとなる。
【０１４５】
ここで、比較例としての判定値αの設定方法もしくは適合方法を述べる。図１４に示すように、まず、センサ出力特性に因らず異常と検出するのが不適切な（異常と検出したくない）インバランス率Ｂ（％）の範囲ａを決定する。図示例ではこれを１０（％）以下とする。この範囲ａは、確実な正常状態におけるインバランス率Ｂ（％）のばらつき範囲に相当する。この範囲ａの上限値を規定するインバランス率ＢＬ（＝１０（％））を下限目標インバランス率と称す。
【０１４６】
次に、公差上限品の特性線ＬＸＨ上において、下限目標インバランス率ＢＬ（％）に対応する出力変動パラメータＸの値を求め、これを判定値αとして決定する。公差上限品の特性線ＬＸＨ上における値とする理由は、公差上限品が最も異常側の出力変動パラメータＸの値をもたらすからである。
【０１４７】
一方、公差下限品の特性線ＬＸＬ上において、判定値αに対応するインバランス率は５０（％）である。つまりこの異常検出装置は、実際のインバランス率が５０（％）を超えなければ、センサ出力特性に因らず正確に異常と検出することができない。言い換えれば、実際に設置された触媒前センサ１７が公差下限品であるときに、実際のインバランス率が５０（％）を超えていなければ、正確に異常と検出することができない。公差下限品のときに正確に異常と検出できるインバランス率の実力は５０（％）である。このような正確に異常と検出できるインバランス率の範囲をｃで示す。また公差下限品の特性線ＬＸＬ上において判定値αに対応するインバランス率Ｂｙ（＝５０（％））を下限品検出可能インバランス率と称す。
【０１４８】
範囲ａと範囲ｃの間の範囲ｂは、実際に設置されている触媒前センサ１７が公差上限品であるときには異常と検出してもよい範囲である。
【０１４９】
図１５は、図１４に示した比較例において、検出要求インバランス率Ｂｚ（％）が６０（％）の場合を示す。この場合、検出要求インバランス率Ｂｚ（％）が下限品検出可能インバランス率Ｂｙ（％）より大きいので、比較例による異常検出装置でも問題なく、システム上成立する。
【０１５０】
一方、図１６は、図１４に示した比較例において、検出要求インバランス率Ｂｚ（％）が４０（％）の場合を示す。この場合だと、検出要求インバランス率Ｂｚ（％）が下限品検出可能インバランス率Ｂｙ（％）より小さいので、実際に設置されている触媒前センサ１７が公差下限品であるときに正確に異常と検出できないことがある。すなわち、Ｂｚ（％）からＢｙ（％）までの範囲ｄでは、本来異常と検出しなければならないのに、実際の出力変動パラメータＸの値が判定値αを超えないために正常と誤検出してしまう。よって比較例による異常検出装置では問題があり、システム上も成立しない。
【０１５１】
この図１６の場合に次のような対策が考えられる。すなわち、図１７に示すように、まず検出要求インバランス率Ｂｚ＝４０（％）に対し所定のマージンだけ小さい上限目標インバランス率ＢＨ（％）を定める。図示例ではこれを３５（％）とし、マージンを５（％）としている。
【０１５２】
そして、公差下限品の特性線ＬＸＬ上において、上限目標インバランス率ＢＨ（％）に対応する出力変動パラメータＸの値を求め、これを判定値α’とする。つまり公差下限品の特性線ＬＸＬに基づいて判定値をより小さい値α’に変更する。こうすれば、実際に設置されている触媒前センサ１７が公差下限品のとき、実際のインバランス率が検出要求インバランス率Ｂｚ（％）に達する前に確実に異常と検出できる。また上記のような誤検出を未然に防止できる。
【０１５３】
しかし、こうすると、実際に設置されている触媒前センサ１７が公差上限品のとき、実際のインバランス率が下限目標インバランス率ＢＬ（＝１０（％））より小さいのに異常と検出してしまうことがある。図示例では、６〜１０（％）の間の範囲ｅにおいて異常と検出してしまう。つまり下限目標インバランス率ＢＬが実質的に低下してしまう。すると、本来異常と検出するのが不適切な範囲ａ内で異常と検出してしまい、上記の前提に反する。
【０１５４】
このように、公差上限品の特性線ＬＸＨと公差下限品の特性線ＬＸＬとの二本の特性線のみに基づいて単一の判定値を定めようとしても、検出要求インバランス率Ｂｚ（％）が下限品検出可能インバランス率Ｂｙ（％）より小さい場合には、それを適切に定めるのが困難である。
【０１５５】
そこで、本実施形態では、これら特性線以外の別の特性線に基づいて別の判定値を付加的に定め、これら判定値に基づいてばらつき異常を検出する。そしてこれにより、センサ出力特性に因らず、特に公差下限品の触媒前センサ１７が実際に設置されている場合でも、好適且つ的確にばらつき異常を検出することを可能としている。
【０１５６】
以下に、本実施形態におけるばらつき異常検出方法を詳細に説明する。まず本実施形態のばらつき異常検出は、概してＥＣＵ２０が次のステップ（Ａ）〜（Ｅ）を実行することにより実行される。
【０１５７】
（Ａ）出力変動パラメータＸを算出するステップ。
（Ｂ）算出された出力変動パラメータＸが、所定の一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であるか否かを判定するステップ。
（Ｃ）算出された出力変動パラメータＸが一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であると判定されたとき、最も大きい空燃比ずれを起こしている１気筒（前述の異常気筒）に対し、その空燃比ずれを減少するような強制アクティブ制御を実行するステップ。
（Ｄ）強制アクティブ制御の実行中に出力変動パラメータＸを算出するステップ。
（Ｅ）強制アクティブ制御の実行中に算出された出力変動パラメータＸを、所定の二次判定値α２と比較して、ばらつき異常の有無を判定するステップ。
【０１５８】
ここで、一次判定上限値α１Ｈ、一次判定下限値α１Ｌおよび二次判定値α２の設定方法を図１８を参照して説明する。この設定は適合段階においてなされ、設定された各判定値はＥＣＵ２０に予め記憶される。
【０１５９】
図１８は、インバランス率Ｂ（％）と出力変動パラメータＸの間の関係を表す各特性もしくは特性線を示す。特に横軸のインバランス率Ｂ（％）は、成行状態、すなわち通常制御としてのストイキ制御が実行されている状態でのインバランス率Ｂ（％）をいい、強制アクティブ制御が実行されていないときのインバランス率Ｂ（％）をいう。なお強制アクティブ制御が実行されているときには、ベースとなるストイキ制御が実行されている上でさらに強制アクティブ制御が実行される。
【０１６０】
前記同様、ＬＸＨは触媒前センサ１７が公差上限品であるときの特性線、ＬＸＬは触媒前センサ１７が公差下限品であるときの特性線であり、これらはいずれも強制アクティブ制御が実行されてないときの特性線である。
【０１６１】
ＬＸＨＡは、触媒前センサ１７が公差上限品であり、且つ強制アクティブ制御が実行されているときの特性線である。またＬＸＬＡは、触媒前センサ１７が公差下限品であり、且つ強制アクティブ制御が実行されているときの特性線である。なお詳しくは後述するが、図示例は、所定の強制アクティブ制御量Ｂｆで強制アクティブ制御が実行されたときの特性線を示す。
【０１６２】
図から理解されるように、強制アクティブ制御が実行されると各特性線ＬＸＨ，ＬＸＬは出力変動パラメータＸの減少側（ばらつき小側）にシフトし、また両特性線ＬＸＨ，ＬＸＬの特性差は小さくなる。強制アクティブ制御は、最も大きい空燃比ずれを起こしている１気筒の空燃比ずれを減少するような制御だからである。
【０１６３】
（１）まず前記同様、センサ出力特性に因らず異常と検出するのが不適切な（異常と検出したくない）インバランス率Ｂ（％）の範囲ａを決定する。図示例ではこれを２０（％）以下とする。すなわち、この範囲ａの上限値を規定する下限目標インバランス率ＢＬは２０（％）である。
（２）次に、公差上限品の特性線ＬＸＨ上において、下限目標インバランス率ＢＬ（％）に対応する出力変動パラメータＸの値を求め、これを一次判定上限値α１Ｈとして決定する。図示例ではα１Ｈ＝約０．１９である。
（３）次に、公差上限品且つ強制アクティブ制御実行時の特性線ＬＸＨＡ上において、下限目標インバランス率ＢＬ（％）に対応する出力変動パラメータＸの値を求め、これを二次判定値α２として決定する。図示例ではα２＝約０．１である。
（４）次に、公差下限品且つ強制アクティブ制御実行時の特性線ＬＸＬＡ上において、二次判定値α２に対応するインバランス率の値Ｂ１（％）を求める。そしてこの値Ｂ１（％）が、検出要求インバランス率Ｂｚ（％）以下か否かを確認する。図示例ではＢ１＝約３５（％）、Ｂｚ＝４０（％）なので、Ｂ１（％）がＢｚ（％）より小さい。よってこのＢ１（％）を上限目標インバランス率ＢＨ（％）として決定する。
（５）最後に、公差下限品の特性線ＬＸＬ上において、上限目標インバランス率ＢＨ（％）に対応する出力変動パラメータＸの値を求め、これを一次判定下限値α１Ｌとして決定する。図示例ではα１Ｌ＝約０．１４である。
【０１６４】
図示例において、検出要求インバランス率Ｂｚ（＝４０％）が下限品検出可能インバランス率Ｂｙ（＝約４８％）より小さいので、前述したように、一次判定上限値α１Ｈだけだと、実際に公差下限品が設置されているときに範囲ｄ内で正常と誤検出してしまう。
【０１６５】
しかし、本実施形態では、まず、実際に算出された出力変動パラメータＸが一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であるか否か、すなわち、実際に公差下限品が設置されているときに正常と誤検出する可能性があるグレーゾーンにあるか否かを判定する。そして判定がイエスの場合、強制アクティブ制御を実行し、その実行中に算出された出力変動パラメータＸを二次判定値α２と比較してばらつき異常の有無を判定する。つまり、実際に算出された出力変動パラメータＸがグレーゾーンにある場合、強制アクティブ制御を実行して特性線をより特性差の小さいＬＸＨＡ，ＬＸＬＡに変更し、検出要求インバランス率Ｂｚより小さい上限目標インバランス率ＢＨを確保した上で、ばらつき異常の有無を判定する。
【０１６６】
結果的に、強制アクティブ制御の実行によって範囲ｄ内の値は範囲ｄ’内の値にシフトし、これが二次判定値α２より大きいことから、ばらつき異常有りと判定することができる。これによって誤検出を回避し、公差下限品の触媒前センサ１７が実際に設置されている場合においても、好適且つ的確にばらつき異常を検出することができる。
【０１６７】
また本実施形態によれば、成行状態においてＢｚ〜Ｂｙの範囲にまで至らないＢＨ〜Ｂｚの範囲内のばらつき異常も好適且つ的確に検出できる。従って、実際のインバランス率Ｂ（％）が検出要求インバランス率Ｂｚ（％）を超えているときには必ず異常と検出しなければならないという法規上の要件も十分満足することができる。
【０１６８】
上記において、Ｂ１（％）が検出要求インバランス率Ｂｚ（％）以下か否かを確認する理由は次の通りである。強制アクティブ制御実行時の特性線ＬＸＨＡ，ＬＸＬＡは、どの程度の量の強制アクティブ制御を実行するか、言い換えれば強制アクティブ制御量をどのような値に設定するかによって変化する。よって場合によってはＢ１（％）が検出要求インバランス率Ｂｚ（％）より大きくなることもあり得る。しかしこうなるとシステム上成立しない。よってＢ１（％）が検出要求インバランス率Ｂｚ（％）以下の場合に限って、Ｂ１（％）を上限目標インバランス率ＢＨ（％）として決定する。逆にＢ１（％）が検出要求インバランス率Ｂｚ（％）より大きければ、強制アクティブ制御量を変更する等、適合作業をやり直すことになる。
【０１６９】
なお、ここでは上限目標インバランス率ＢＨ（％）を検出要求インバランス率Ｂｚ（％）より小さい値に設定したが、検出要求インバランス率Ｂｚ（％）に等しい値に設定してもよい。
【０１７０】
なお、出力変動パラメータＸを「第１パラメータ」、インバランス率Ｂ（％）を「第２パラメータ」、特性線ＬＸＬＡを「第１特性線」、上限目標インバランス率ＢＨ（％）を「第２パラメータの上限目標値」、特性線ＬＸＬを「第２特性線」、特性線ＬＸＨを「第３特性線」、下限目標インバランス率ＢＬ（％）を「第２パラメータの下限目標値」と称することができる。
【０１７１】
次に、前記ステップ（Ｃ）で実行される強制アクティブ制御について説明する。強制アクティブ制御は、最も大きい空燃比ずれを起こしている１気筒（異常気筒）の空燃比ずれを減少するような制御、所謂逆アクティブ制御である。
【０１７２】
図１９は、強制アクティブ制御を実行していないとき（実行前）と実行したとき（実行後）とで、インバランス率を比較するための表である。ここで（Ａ）、（Ｂ）に示される燃料量と空燃比の値は全て、ストイキ制御の結果、トータルガスの空燃比がストイキ（１４．５）に収束した後の値である。
【０１７３】
図１９（Ａ）は、成行状態においてインバランスがあり且つ強制アクティブ制御実行前の状態を示す。図から分かるように、燃料量は全気筒共に１であるが、＃１気筒の空気系異常に起因して空気量に違いが生じており、＃１気筒のみ１３、他の気筒は１５となっている。よって空燃比も＃１気筒のみ１３、他の気筒は１５となっている。よってインバランス率は１５／１３＝１．１５＝１５％である。＃１気筒に空燃比のリッチずれが生じている。
【０１７４】
なおこの状態は、例えば＃１気筒において気筒別吸気通路（枝管４、吸気ポート）にデポジット等による詰まりが生じたり、吸気弁の開弁不良が生じたりしたときなどに起こり得る。
【０１７５】
図１９（Ｂ）は、図１９（Ａ）の状態から強制アクティブ制御を実行したときの状態を示す。このとき、＃１気筒のリッチずれを減少するよう、＃１気筒のみの燃料量が強制的に減量される。こうした減量とストイキ制御の結果、燃料量は＃１気筒のみ０．９１、他の気筒は１．０３となり、空燃比は＃１気筒のみ１４．２８、他の気筒は１４．５６となる。よってインバランス率は１４．５６／１４．２８＝１．０２＝２％となる。
【０１７６】
燃料量に着目すると、燃料量のインバランス率は１．０３／０．９１＝１．１３＝１３％である。これに対し図１９（Ａ）に示した強制アクティブ制御実行前だと、燃料量のインバランス率は１／１＝１＝０％である。強制アクティブ制御の実行により、燃料量のインバランス率で１３％分だけ、リッチずれを起こしている＃１気筒の燃料量が強制的に減量されたこととなる。
【０１７７】
そこでこの燃料量のインバランス率＝１３％を、本実施形態における強制アクティブ制御による空燃比ずれの減少量、すなわち強制アクティブ制御量Ｂｆとする。つまりある１気筒にリッチずれが生じている場合、その１気筒のみに対し、燃料量のインバランス率で１３％分だけ、燃料量の強制減量がなされる。なお１３％という値は例示であり適宜変更可能である。
【０１７８】
かかる強制アクティブ制御量Ｂｆは一定値として予めＥＣＵ２０に記憶される。また、図１８に示した強制アクティブ制御実行時の特性線ＬＸＨＡ，ＬＸＬＡは、同一の強制アクティブ制御量Ｂｆで強制アクティブ制御を実行したときの特性線である。
【０１７９】
ところで、強制アクティブ制御を実行するには、全気筒のうち最も大きい空燃比ずれを起こしている１気筒、すなわち異常気筒を特定する必要がある。そこで上述したような本実施形態の異常気筒特定処理および方法が、ここで好適に使用される。
【０１８０】
次に、本実施形態のばらつき異常検出処理について説明する。当該検出処理はＥＣＵ２０により、図２０のフローチャートに表されるようなアルゴリズムに従って実行される。
【０１８１】
まずステップＳ２０１において、ばらつき異常検出を実行するのに適した所定の前提条件が成立したか否かが判断される。例えば次の各条件が成立した場合に前提条件が成立する。
（１）エンジンの暖機が終了している。
（２）触媒前センサ１７および触媒後センサ１８が活性化している。
（３）上流触媒１１および下流触媒１９が活性化している。
（４）エンジンの回転数Ｎｅと負荷ＫＬが所定範囲内にある。例えば回転数Ｎｅが１２００〜２０００（ｒｐｍ）の範囲内にあり、且つ負荷ＫＬが４０〜６０（％）の範囲内にある。
（５）ストイキ制御中である。
【０１８２】
なお前提条件については他の例も可能である。例えば、（６）エンジンが定常運転中である、という条件を加えてもよい。
【０１８３】
前提条件が成立してなければ待機し、前提条件が成立したならばステップＳ２０２に進む。なおここでは、Ｓ２０２以降の各ステップは前提条件が成立している場合に限って実行されるものとする。
【０１８４】
ステップＳ２０２では、強制アクティブ制御を実行していないときの成行状態での出力変動パラメータＸ１の値が算出される。このときの算出方法は図１２のステップＳ１０３と同様である。
【０１８５】
ステップＳ２０３においては、算出された出力変動パラメータＸ１の値が一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であるか否か、すなわちα１Ｌ＜Ｘ１≦α１Ｈの範囲内にあるか否かが判断される。このような判断もしくは判定を一次判定という。
【０１８６】
α１Ｌ＜Ｘ１≦α１Ｈの範囲内にある場合、いずれかの１気筒で上記のグレーゾーンにあるような比較的軽度の空燃比ずれが起きていると予想される。従ってこの場合、ステップＳ２０４において、強制アクティブ制御の対象気筒である異常気筒が特定される。このとき、上述したような本実施形態の異常気筒特定処理および方法が好適に使用される。異常気筒の特定は図１２に示したような特定処理に従って実行される。
【０１８７】
次に、ステップＳ２０５において、強制アクティブ制御が実行される。すなわち異常気筒に対して、その空燃比ずれを減少するよう、燃料噴射量が所定量減量または増量される。
【０１８８】
ステップＳ２０６において、強制アクティブ制御の実行中における出力変動パラメータＸ２の値が算出される。このときの算出方法も図１２のステップＳ１０３と同様である。
【０１８９】
ステップＳ２０７においては、算出された出力変動パラメータＸ２の値が二次判定値α２と比較され、その大小が判断される。このような判断もしくは判定を二次判定という。
【０１９０】
出力変動パラメータＸ２の値が二次判定値α２以下の場合、ステップＳ２０８においてばらつき異常なし、すなわち正常と判定される。ステップＳ２０４で特定された異常気筒は、最終的に異常でないことが確定する。
【０１９１】
他方、出力変動パラメータＸ２の値が二次判定値α２より大きい場合、ステップＳ２０９においてばらつき異常あり、すなわち異常と判定される。ステップＳ２０４で特定された異常気筒は、最終的に異常であることが確定する。このときにはチェックランプ等の警告装置が起動され、異常の事実がユーザに知らされ、ユーザに対し修理が促される。また異常気筒に関する情報がＥＣＵ２０に記憶される。
【０１９２】
ところで、ステップＳ２０３において、成行状態の出力変動パラメータＸ１の値がα１Ｌ＜Ｘ１≦α１Ｈの範囲内にない場合、明らかな正常状態または異常状態であることが予想される。従ってこの場合、ステップＳ２１０において、出力変動パラメータＸ１の値が一次判定下限値α１Ｌと比較され、正常または異常が直接判定される。
【０１９３】
すなわち、出力変動パラメータＸ１の値が一次判定下限値α１Ｌ以下の場合、ステップＳ２１０においてばらつき異常なし、すなわち正常と判定される。
【０１９４】
他方、出力変動パラメータＸ１の値が一次判定下限値α１Ｌより大きい場合、これは、出力変動パラメータＸ１の値が一次判定上限値α１Ｈより大きいことを意味するから、ステップＳ２１２においてばらつき異常あり、すなわち異常と判定される。この場合、いずれかの１気筒で比較的重度の空燃比ずれが起きていると予想される。
【０１９５】
なお、正常または異常を直接判定する際の判定方法は、ここで述べたような一次判定下限値α１Ｌのみと比較する方法のほか、一次判定上限値α１Ｈのみと比較する方法、一次判定下限値α１Ｌおよび一次判定上限値α１Ｈの両方と比較する方法等が可能である。
【０１９６】
このように本実施形態では、ＥＣＵ２０が次のステップ（Ｆ）をも実行する。
（Ｆ）ステップ（Ｂ）において出力変動パラメータＸ１が一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値でないと判定されたとき、当該出力変動パラメータＸ１を一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの少なくとも一方と比較して、ばらつき異常の有無を判定するステップ。
【０１９７】
以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。例えば上記の数値は例示であり、種々の変更が可能である。また上記の説明において、リッチ側とリーン側の一方についてしか説明していない箇所がある場合、一方への説明が他方へも適用可能であることが、当業者によって容易に理解されるであろう。
【０１９８】
センサ出力波形から２つの推定異常気筒を特定するとき、必ずしも、２つのピーク位相θｐＬ，θｐＲに基づいて特定しなくてもよい。他にも様々な特定方法が考えられる。リーン側とリッチ側で同様の処理を行う場合、その順番は任意である。
【０１９９】
本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。
【符号の説明】
【０２００】
１  内燃機関（エンジン）
６  排気管
１１  上流触媒
１２  インジェクタ
１４  排気マニフォールド
１７  触媒前センサ
１８  触媒後センサ
１９  下流触媒
２０  電子制御ユニット（制御装置）
【図１】
2015110942.tif 000013
【図２】
2015110942.tif 000014
【図３】
2015110942.tif 000015
【図４】
2015110942.tif 000016
【図５】
2015110942.tif 000017
【図６】
2015110942.tif 000018
【図７】
2015110942.tif 000019
【図８】
2015110942.tif 000020
【図９】
2015110942.tif 000021
【図１０】
2015110942.tif 000022
【図１１】
2015110942.tif 000023
【図１２】
2015110942.tif 000024
【図１３】
2015110942.tif 000025
【図１４】
2015110942.tif 000026
【図１５】
2015110942.tif 000027
【図１６】
2015110942.tif 000028
【図１７】
2015110942.tif 000029
【図１８】
2015110942.tif 000030
【図１９】
2015110942.tif 000031
【図２０】
2015110942.tif 000032